ISO/IEC 20060:2010 情報技術—オープンターミナルアーキテクチャ(OTA)—仮想マシン | ページ 6

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

3 用語と定義

このドキュメントでは、次の用語と定義が適用されます。

3.1

アラインされたアドレス

文字またはセルにアクセスできるメモリ位置のアドレス

注記 1: OTA 仮想マシンでは、アラインされたアドレスが正確に 4 の倍数である必要があります。

3.2

ANSフォート

American National Standard X3.215, 1994 で定義されたプログラミング言語

3.3

ビッグエンディアン

セルの最上位バイトが最下位アドレスにある (つまり、データ ストリームの最初に現れる) バイト順序システム。

注記 1: OTA 仮想マシンは、トークン モジュールとカード通信でビッグ エンディアンのバイト順を使用します。

3.4

バイナリ

符号なし整数として解釈される数値のデータ要素

3.5

バイナリ

ビット文字列

3.6

C

C プログラミング言語

3.7

カード選択サービス

CSS

端末トランザクションをサポートする機能を提供するカード常駐コード。通常、端末で選択されたサービス アプリケーションの一部として使用されるサービス機能。

3.8

細胞

オープン ターミナル アーキテクチャ システムのアーキテクチャにおける情報ストレージの主要ユニット。

注記 1: OTA 仮想マシンのセルの標準サイズは 4 バイトです。

3.9

コンパイル

ソフトウェアおよび/またはデータの上位レベルの仕様を実行可能な形式に変換する

注記 1: OTA 仮想マシンの実行形式は OTA トークンです。

3.10

圧縮数値

バイナリ コード化された 10 進数形式で表された数値。左寄せされ、末尾に 16 進数の F が埋め込まれます。

3.11

カウントされた文字列

長さを含む 1 文字とそれに続く 0 ~ 255 のデータ文字で構成されるデータ構造

3.12

データスペース

Open Terminal Architecture トークンでアクセスできる仮想マシンの論理領域

3.13

データスタック

関数間でパラメータを渡すために使用できるスタック

注記1:混同のおそれがない場合、データスタックを「スタック」と呼ぶ。

3.14

EMC

決済システム向け集積回路カード仕様 (参考文献 [1] - [4] を参照)

注記 1: EMV は、American Express, JCB International, MasterCard Worldwide, および Visa Incorporated のコンソーシアムである EMVCo によって管理、維持、強化されています (参考文献 [1] - [4] を参照)

3.15

例外フレーム

仮想マシンで使用される階層化された例外処理に必要な現在の実行状態を記録する、実装に依存する一連の情報

3.16

例外スタック

例外フレームのネストに使用されるスタック

注記 1:戻りスタックを使用して実装することもできますが、実装する必要はありません。

3.17

実行ポインタ

関数の実行セマンティクスを識別する値

3.18

実装適合宣言1)

特定の仕様に準拠していると主張されている実装またはシステムのより効率的なものによって作成されたステートメントで、どの機能が実装されているかを述べています。

3.19

インスタンス化する

データ構造のローカル インスタンスを仮想マシンに登録する

注記 1:端末の起動時に、初期化されたデータ項目とカーネル データベースがインスタンス化されます。モジュールがロードされると、追加のデータ、データベース、および TLV 定義がインスタンス化される場合があります。

3.20

解釈

実行時に、コード内のトークン値に関連付けられた関数を識別して実行します

3.21

カーネル

オープン ターミナル アーキテクチャ仮想マシンを実装するために、すべてのターミナルに存在することが義務付けられている標準化された一連の機能

注記 1:各 CPU タイプのカーネル実装は、そのプロセッサ用に最適化されています。

3.22

ライブラリ モジュール

公開されたインターフェイスを備えたオープン ターミナル アーキテクチャ トークン コードのソフトウェア機能のセットで、ターミナル プログラムおよび/またはアプリケーションの一般的なサポートを提供します。

3.23

舌足らずの発音

1960 年代後半から開発されたプログラミング言語のファミリーであり、1986 年から、American National Standard ワーキング グループ X3J13 によって Common Lisp として標準化されました。

3.24

モジュール

一緒にコンパイルされ、配布形式がこの国際規格の箇条 9 で指定されているパッケージとしてトークン形式で提示されるソフトウェア機能および/またはデータの集まり

3.25

モジュールリポジトリ

端末内に Open Terminal Architecture モジュールを格納するための不揮発性媒体

3.26

不揮発性

モジュールのロードまたは端末の電源切断と再起動の前後で保持されることを保証

3.27

数値

単一セルのバイナリ符号付き整数

注記 1数値という用語は、数値が BCD 形式で表され、右寄せされ、先頭に 16 進数のゼロが埋め込まれていることを指定します。

3.28

リターンスタック

プログラム実行のネスティング、do-loop 実行、一時ストレージ、およびその他の目的に使用できるスタック

3.29

スタック

項目の後入れ先出しリストを含むメモリ内の領域

注記 1: OTA 仮想マシンのスタックについては、6.2.4 で説明されています。

3.30

ターミナル

PO, 自動販売機など。

3.31

端末プログラム

端末を実行し、1 つまたは複数のアプリケーションから選択するコードを含む全体的な監視プログラム

3.32

ターミナル常駐サービス

TRS

端末固有の機能、プログラム読み込み機能、および端末の動作を定義するメイン端末プログラム ループを含む端末内のソフトウェア

注記 1: TRS は通常、端末の製造元によって提供されます。

3.33

端末選択サービス

TSS

アプリケーションおよびライブラリとも呼ばれる、サービス機能を実装する端末に依存しないコード

注記 1: TRS メイン プログラム ループは、特定のアプリケーションの必要に応じて TSS 機能を選択して呼び出します。

3.34

トークン

オープン ターミナル アーキテクチャ仮想マシンの CPU に依存しない命令を表す 1 バイトまたは 2 バイトのコード

3.35

トークンコンパイラ

Open Terminal Architecture トークン モジュールを生成するコンパイラ

3.36

トークンローダー/インタープリター

その端末の CPU で実行するためにダウンロードされたトークンを処理する端末上のソフトウェア コンポーネント

3.37

仮想マシン

理論上のマイクロプロセッサ アーキテクチャ

注記 1単一の標準カーネル インターフェイスを提供するために、すべての OTA 端末は、この仕様でパラメータが指定されている共通の仮想マシンをエミュレートするようにコーディングされています。

参考文献

[1]EMV Integrated Circuit Card Specifications for Payment Systems, Book 1 — Application Independent ICC to Terminal Interface Requirements .バージョン 4.2, 2008 年 6 月、EMVCO 3)
[2]EMV Integrated Circuit Card Specifications for Payment Systems, Book 2 — Security and Key Management .バージョン 4.2, 2008 年 6 月、EMVCO 4)
[3]EMV Integrated Circuit Card Specifications for Payment Systems, Book 3 — Application Specification .バージョン 4.2, 2008 年 6 月、EMVCO 5)
[4]EMV Integrated Circuit Card Specifications for Payment Systems, 第 4 巻 — カード所有者、アテンダント、アクワイアラー インターフェイス要件.バージョン 4.2, 2008 年 6 月、EMVCO 6)
[5]Open Terminal Architecture (OTA) Specification Volume 2: Forth Language Programming Interface 。バージョン 3.0 ドラフト 2, 1998 年 7 月 3 日
[6]Open Terminal Architecture (OTA) 仕様、第 3 巻: C 言語プログラミング インターフェイス。バージョン 1.3 — 1997 年 7 月 17 日
[7]Open Terminal Architecture (OTA) 仕様、第 4 巻: 混合言語プログラミング。バージョン 1.1 — 1997 年 7 月 1 日
[8]OTA 端末カーネル テスト プログラム (TKTP) リファレンス マニュアル。バージョン 4.5, 10 月1999年12月12日
[9]ANSI X9.30-2, 金融サービス業界向けの不可逆アルゴリズムを使用した公開鍵暗号 — 2: セキュア ハッシュ アルゴリズム (SHA)
[10]ANSI X9.31, 金融サービス業界向けの可逆公開鍵暗号方式を使用したデジタル署名 (rDSA)
[11]FIPS PUB 180-1, セキュア ハッシュ標準
[12]ISO 639-1, 言語名の表現のためのコード— 1: アルファ 2 コード
[13]ISO 3166-1, 国とその下位区分の名前を表すためのコード — 1: 国コード
[14]ISO 4217, 通貨および資金の表現のためのコード
[15]ISO/IEC 7813, 情報技術 - ID カード - 金融取引カード
[16]ISO/IEC 7816-4, 識別カード — 集積回路カード — 4: 交流のための組織、セキュリティ、コマンド
[17]ISO/IEC 8825-1, 情報技術 — ASN.1 エンコーディング規則: Basic Encoding Rule, Canonical Encoding Rule, および Distinguished Encoding Rules (DER) の仕様
[18]ISO/IEC 964, 情報技術 — オープン システム相互接続 — コンフォーマンス テストの方法論とフレームワーク
[19]ISO/IEC 15145, 情報技術 — プログラミング言語 — FORTH

3 Terms and definitions

For the purposes of this document, the following terms and definitions apply.

3.1

aligned address

address of a memory location at which a character or cell can be accessed

Note 1 to entry: The OTA virtual machine requires that aligned addresses be exact multiples of 4.

3.2

ANS Forth

programming language as defined by the American National Standard X3.215, 1994

3.3

big-endian

byte ordering system in which the highest-order byte of a cell is at the lowest address (i.e. appears first in a data stream)

Note 1 to entry: The OTA virtual machine uses big-endian byte order in token modules and card communication.

3.4

binary

data element that is a number, to be interpreted as an unsigned integer

3.5

binary

bit string

3.6

C

C programming language

3.7

card selected services

CSS

card-resident code providing functions supporting terminal transactions, usually service functions that are used as part of a terminal selected services application

3.8

cell

primary unit of information storage in the architecture of an Open Terminal Architecture system

Note 1 to entry: The standard size of a cell in the OTA virtual machine is four bytes.

3.9

compile

transform higher-level specifications of software and/or data into executable form

Note 1 to entry: The executable form for the OTA virtual machine is OTA tokens.

3.10

compressed numeric

number represented in binary-coded decimal format, left justified and padded with trailing hexadecimal F's

3.11

counted string

data structure consisting of one character containing the length followed by zero to 255 data characters

3.12

data space

logical area of the virtual machine that can be accessed by Open Terminal Architecture tokens

3.13

data stack

stack that may be used for passing parameters between functions

Note 1 to entry: When there is no possibility of confusion, the data stack is referred to as “the stack”.

3.14

EMV

Integrated Circuit Card Specification for Payment Systems (see Bibliography [1] - [4])

Note 1 to entry: EMV is managed, maintained and enhanced by EMVCo, a consortium of American Express, JCB International, MasterCard Worldwide and Visa Incorporated (see Bibliography [1] - [4]).

3.15

exception frame

implementation-dependent set of information recording the current execution state necessary for the layered exception processing used in the virtual machine

3.16

exception stack

stack used for the nesting of exception frames

Note 1 to entry: It may be, but need not be, implemented using the return stack.

3.17

execution pointer

value that identifies the execution semantics of a function

3.18

implementation conformance statement 1)

statement made by the supplier of an implementation or system claimed to conform to a given specification, stating which capabilities have been implemented

3.19

instantiate

register a local instance of a data structure with the virtual machine

Note 1 to entry: At power-up in a terminal, initialised data items and kernel databases are instantiated. Further data, databases and TLV definitions may be instantiated when a module is loaded.

3.20

interpret

at run-time identify the function associated with a token value in the code and execute it

3.21

kernel

standardised set of functions mandated to be present on every terminal to implement the Open Terminal Architecture virtual machine

Note 1 to entry: The kernel implementation for each CPU type is optimised for that processor.

3.22

library module

set of software functions in Open Terminal Architecture token code with a published interface, providing general support for Terminal Programs and/or Applications

3.23

LISP

family of programming languages, developed since the late 1960s, which the American National Standard working group X3J13 standardised as Common Lisp, starting 1986

3.24

module

collection of software functions and/or data compiled together and presented in token form as a package whose delivery format is specified in Clause 9 of this International Standard

3.25

module repository

non-volatile medium for storing Open Terminal Architecture modules within a terminal

3.26

non-volatile

guaranteed to be preserved across module loading or terminal power-down and rebooting

3.27

numeric

single-cell binary signed integer

Note 1 to entry: The term numeric specifies that a number is represented in BCD format, right justified and padded with leading hexadecimal zeroes.

3.28

return stack

stack that may be used for program execution nesting, do-loop execution, temporary storage, and other purposes

3.29

stack

area in memory containing a Last In, First Out list of items

Note 1 to entry: Stacks in the OTA virtual machine are discussed in 6.2.4.

3.30

terminal

any POS (Point of Sale) machine, ATM (Automated Teller Machine), vending machine, etc.

3.31

terminal program

overall supervisory program that a terminal executes and which contains code to select among one or more applications

3.32

terminal resident services

TRS

software in a terminal that includes terminal-specific functions, program loading functions, and the main terminal program loop defining the terminal's behaviour

Note 1 to entry: TRS are usually provided by a terminal's manufacturer.

3.33

terminal selected services

TSS

terminal-independent code which implements service functions, also known as applications and libraries

Note 1 to entry: The TRS main program loop selects and calls TSS functions as needed by a particular application.

3.34

token

one- or two-byte code representing a CPU-independent instruction for the Open Terminal Architecture virtual machine

3.35

token compiler

compiler that produces Open Terminal Architecture token modules

3.36

token loader/interpreter

software component on the terminal that processes downloaded tokens for execution on that terminal's CPU

3.37

virtual machine

theoretical microprocessor architecture

Note 1 to entry: In order to provide a single standard kernel interface, all OTA terminals are coded to emulate a common virtual machine whose parameters are given in this specification.

Bibliography

[1]EMV Integrated Circuit Card Specifications for Payment Systems, Book 1 — Application Independent ICC to Terminal Interface Requirements. Version 4.2, June 2008, EMVCO 3)
[2]EMV Integrated Circuit Card Specifications for Payment Systems, Book 2 — Security and Key Management. Version 4.2, June 2008, EMVCO 4)
[3]EMV Integrated Circuit Card Specifications for Payment Systems, Book 3 — Application Specification. Version 4.2, June 2008, EMVCO 5)
[4]EMV Integrated Circuit Card Specifications for Payment Systems, Book 4 — Cardholder, Attendant, and Acquirer Interface Requirements. Version 4.2, June 2008, EMVCO 6)
[5]Open Terminal Architecture (OTA) Specification Volume 2: Forth Language Programming Interface. Version 3.0 Draft 2, July 3, 1998
[6]Open Terminal Architecture (OTA) Specification, Volume 3: C Language Programming Interface. Version 1.3 — July 17, 1997
[7]Open Terminal Architecture (OTA) Specification, Volume 4: Mixed Language Programming. Version 1.1 — July 1, 1997
[8]OTA Terminal Kernel Test Program (TKTP) Reference Manual. Version 4.5, Oct. 12, 1999
[9]ANSI X9.30-2, Public key cryptography using irreversible algorithms for the financial services industry — 2: The Secure Hash Algorithm (SHA)
[10]ANSI X9.31, Digital Signatures Using Reversible Public Key Cryptography for the Financial Services Industry (rDSA)
[11]FIPS PUB 180-1, Secure Hash Standard
[12]ISO 639-1, Codes for the representation of names of languages — 1: Alpha-2 code
[13]ISO 3166-1, Codes for the representation of names of countries and their subdivisions — 1: Country codes
[14]ISO 4217, Codes for the representation of currencies and funds
[15]ISO/IEC 7813, Information technology — Identification cards — Financial transaction cards
[16]ISO/IEC 7816-4, Identification cards — Integrated circuit cards — 4: Organization, security and commands for interchange
[17]ISO/IEC 8825-1, Information technology — ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)
[18]ISO/IEC 9646 (all parts), Information technology — Open Systems Interconnection — Conformance testing methodology and framework
[19]ISO/IEC 15145, Information technology — Programming languages — FORTH