(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5945313
(24)【登録日】2016年6月3日
(45)【発行日】2016年7月5日
(54)【発明の名称】構造体を生成する方法および対応する構造体
(51)【国際特許分類】
G06F 21/14 20130101AFI20160621BHJP
【FI】
G06F21/14
【請求項の数】14
【外国語出願】
【全頁数】11
(21)【出願番号】特願2014-232087(P2014-232087)
(22)【出願日】2014年11月14日
(65)【公開番号】特開2015-103253(P2015-103253A)
(43)【公開日】2015年6月4日
【審査請求日】2014年12月9日
(31)【優先権主張番号】13290290.9
(32)【優先日】2013年11月21日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】507219491
【氏名又は名称】エヌエックスピー ビー ヴィ
【氏名又は名称原語表記】NXP B.V.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100164471
【弁理士】
【氏名又は名称】岡野 大和
(74)【代理人】
【識別番号】100188307
【弁理士】
【氏名又は名称】太田 昌宏
(72)【発明者】
【氏名】ヴィンセント セドリック コルノット
(72)【発明者】
【氏名】ピーター マリア フランシスカス ロンボウツ
(72)【発明者】
【氏名】フィリップ トイヴェン
(72)【発明者】
【氏名】フランク ミショー
【審査官】
岸野 徹
(56)【参考文献】
【文献】
欧州特許出願公開第02482184(EP,A1)
【文献】
特開平02−138622(JP,A)
【文献】
米国特許第06598166(US,B1)
【文献】
特開2011−204105(JP,A)
【文献】
特開2009−223638(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/14
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスにより少なくとも一つの仮想マシンを含む構造体を生成する方法であって、
第1仮想マシンソースコードを難読化して、第1OVM(難読化仮想マシン)ソースコードを生成するステップと、
プロセッサ識別子を前記第1OVMソースコードと関連付けて、プロセッサ固有の第1OVMソースコードを生成するステップと、
前記プロセッサ固有の第1OVMソースコードをコンパイルして、プロセッサ固有の第1OVMを生成するステップと
第2仮想マシンソースコードを難読化して、第2OVMソースコードを生成するステップと、
前記プロセッサ固有の第1OVMの秘密識別子を前記第2OVMソースコードと関連付けて、プロセッサ固有の第2OVMソースコードを生成するステップと、
前記プロセッサ固有の第2OVMソースコードをコンパイルして、プロセッサ固有の第2OVMを生成するステップと
を含む方法。
【請求項2】
前記プロセッサ固有の第1OVMソースコードをコンパイルする際に、前記秘密識別子を乱数発生器によって生成する、請求項1に記載の方法。
【請求項3】
前記秘密識別子をデータベースのエントリに格納し、該エントリに、前記秘密識別子の検索を容易にするために、前記プロセッサ固有の第1OVMのパブリック識別子も格納する、請求項2に記載の方法。
【請求項4】
前記プロセッサ固有の第1OVMの秘密識別子を前記第2OVMソースコードと関連付けるステップに加え、ユーザ識別子を前記第2OVMソースコードと関連付けて、プロセッサおよびユーザ固有の第2OVMソースコードを生成するステップと、
前記プロセッサおよびユーザ固有の第2OVMソースコードをコンパイルして、プロセッサおよびユーザ固有の第2OVMを生成するステップと
をさらに含む、請求項1乃至請求項3のいずれか一項に記載の方法。
【請求項5】
前記ユーザ識別子は個人識別番号を含む、請求項4に記載の方法。
【請求項6】
前記ユーザ識別子は前記ユーザの生体特徴を含む、請求項4または請求項5に記載の方法。
【請求項7】
オペレーティングシステムコンポーネントを前記第2OVMに組み込むステップをさらに含む、請求項1乃至請求項6のいずれか一項に記載の方法。
【請求項8】
生成される各々のOVMに、プロセッサ固有のOVMのツリーを構築するステップと、
プロセッサ固有の既存のOVMの秘密識別子を、生成される次のOVMのOVMソースコードに関連付け、プロセッサ固有の次のOVMソースコードを生成するステップであって、前記プロセッサ固有の既存のOVMは、前記ツリー内において次の生成OVMよりも1レベル高い、ステップと、
前記プロセッサ固有の次のOVMソースコードをコンパイルして、プロセッサ固有の次のOVMを生成するステップと
をさらに含む、請求項1乃至請求項7のいずれか一項に記載の方法。
【請求項9】
モノトニックカウンタを構造体に組み込むステップをさらに含む、請求項1乃至請求項8のいずれか一項に記載の方法。
【請求項10】
前記プロセッサ識別子は、前記コンピューティングデバイスに含まれる読み取り専用メモリマスクまたは前記コンピューティングデバイスに含まれるワンタイムプログラマブルビットから検索され、前記コンピューティングデバイスは前記プロセッサ識別子によって識別されるプロセッサを含む、請求項1乃至請求項9のいずれか一項に記載の方法。
【請求項11】
請求項1乃至請求項10のいずれか一項に記載の方法によって生成される構造体。
【請求項12】
少なくとも一つの仮想マシンがセキュア素子に割り当てられる、請求項11に記載の構造体。
【請求項13】
請求項11または請求項12に記載の構造体を含む、支払い処理をサポートするコンピューティングデバイス、特にモバイルデバイス。
【請求項14】
前記プロセッサ固有の第1OVMの格納された読み取り専用メモリを含む、請求項13に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は少なくとも一つの仮想マシンを含む構造体を生成する方法に関する。さらに、本発明は対応する構造体に関する。
【背景技術】
【0002】
今日、セキュリティは多くの電子デバイスおよびコンピューティング環境において重要な役割を果たしている。例えば、従来のモバイル電子デバイスは、ユーザ認証情報などの機密の支払関連データを電子デバイスに入力および/または格納する必要のある支払い処理に使用することができる。このようなモバイル電子デバイスには、販売時点(POS)で支払関連データを端末デバイスとやりとりするために、例えば、無線周波数(RF)技術に基づく近距離通信(NFC)インターフェースを搭載することができる。
【0003】
従来、機密の支払関連データは、データが比較的安心な環境に本質的に閉じ込められた、スマートカードなどの専用のセキュリティトークンに組み込まれている。しかしながら、特に、いわゆるセキュア素子(SE)のモバイルデバイスへの統合などの統合的なソリューションの出現により、支払関連データはしばしば潜在的に好ましくない環境にさらされるため、これらのデータの機密性は問題となる可能性がある。
【0004】
セキュア素子は、内蔵チップとして、より具体的には所定の機能および所定のセキュリティレベルを有する、例えば支払いアプリケーションなどのスマートカードグレードのアプリケーションが(プレ)インストールされた改竄防止集積回路として、しばしば実装される。このようなセキュア素子の例には、NXPセミコンダクターズによって製造されるICの、いわゆる「SmartMX」または「SmartMX2」シリーズの集積回路がある。あるいは、いわゆる加入者識別モジュール(Subscriber Identity Modules:SIM)または汎用加入者識別モジュール(Universal Subscriber Identity Modules:USIM)をセキュア素子として使用することができる。さらに、従来のSDカードまたはマイクロSDカードなどのセキュアデジタル(SD)カードをセキュア素子として使用することもできる。
【0005】
しかしながらそれらの耐タンパ性にかかわらず、多機能モバイルデバイスに組み込まれたセキュア素子は、例えば専用のスマートカードよりも本質的に安全性が低いため、それらのセキュリティレベルを上げるための継続的な努力が行われている。この問題は、いわゆるソフトウェアベースのセキュア素子が使用されると悪化する。一般的にハードウェアベースのセキュア素子と称され、データが格納され、計算の行われる可能性のある、比較的保護された環境を提供する上述のセキュア素子とは対照的に、ソフトウェアベースのセキュア素子は、典型的に、モバイルデバイスの汎用記憶装置(例えば主記憶装置)に機密データを格納するように配置される。通常この記憶装置は安全性が証明されていない。従って、ソフトウェアベースのセキュア素子の開発者は、これらのセキュア素子に適切なセキュリティ手段を内蔵させるという課題に直面している。
【0006】
これらのセキュリティ手段のいくつかは有望な結果を示している。例えば、いわゆる難読化仮想マシン(OVM)を使用すると、リバースエンジニアリング攻撃に対して容認可能なレベルの保護を提供するように思われる。非特許文献1に記載されているように、いわゆる構造中心の攻撃、すなわち、コンピュータプログラムの機能を明らかにすることを目的とする攻撃に対して実行できる防御は、ネイティブの命令セットから仮想アーキテクチャを実現させる仮想マシンロジックの使用に基づくものである。このような防御をさらに強化させるために、仮想マシン(VM)を難読化させることができる。従って、難読化仮想マシン(OVM)を含むソフトウェアベースのセキュア素子は、適切なセキュリティレベルを提供するように思われる。特許文献1は適応難読化仮想マシンについて記載している。より具体的には、適応VM実行環境における実行のための難読化バイトコードの生成について記載している。VMコンパイラはバイトコードを取得するために高レベルのコードをコンパイルし、仮想命令セットアーキテクチャ(V−ISA)定義を適用して、2つ以上の個々の命令をバイトコードに組み合わせ、最適化された命令を生成する。VM実行環境は最適化命令を解釈して実行するために適合される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】欧州特許出願公開第2482184号明細書
【非特許文献】
【0008】
【非特許文献1】Dube, T.E.ら、「Hindering Reverse Engineering: Thinking Outside the Box」、Security & Privacy, IEEE(Volume:6、Issue:2)、2008年3月−4月
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、OVMに基づくソフトウェアベースのセキュア素子は、クローニングの影響をまだ受けやすい。特に、暗号キーまたはその他のユーザ認証情報の格納されたOVMは、複写されて、例えば権限のないモバイルデバイスによって使用される可能性がある。この場合、権限のないモバイルデバイスは、本来権限のあるモバイルデバイスとして同じ処理を有効化させ、これは明らかに受け入れられない。従って、この種類のソフトウェアベースのセキュア素子によって提供されるセキュリティレベルを改善させる必要がまだある。
【課題を解決するための手段】
【0010】
少なくとも一つの仮想マシンを含む構造体を生成する方法を提供する。この方法は、第1仮想マシンソースコードを難読化して、第1OVMソースコードを生成するステップと、プロセッサ識別子を第1OVMソースコードと関連付けて、プロセッサ固有の第1OVMソースコードを生成するステップと、プロセッサ固有の第1OVMソースコードをコンパイルして、プロセッサ固有の第1OVMを生成するステップとを含む。
【0011】
例示的実施形態によれば、本方法は、第2仮想マシンソースコードを難読化して、第2OVMソースコードを生成するステップと、プロセッサ固有の第1OVMの秘密識別子を第2OVMソースコードと関連付けて、プロセッサ固有の第2OVMソースコードを生成するステップと、プロセッサ固有の第2OVMソースコードをコンパイルして、プロセッサ固有の第2OVMを生成するステップとをさらに含む。
【0012】
別の例示的実施形態によれば、プロセッサ固有の第1OVMソースコードをコンパイルする場合、秘密識別子を乱数発生器によって生成する。
【0013】
さらなる例示的実施形態によれば、秘密識別子をデータベースのエントリに格納し、この秘密識別子の検索を容易にするために、このエントリにプロセッサ固有の第1OVMのパブリック識別子も格納する。
【0014】
さらなる例示的実施形態によれば、本方法は、プロセッサ固有の第1OVMの秘密識別子を第2OVMソースコードと関連付けるステップに加え、ユーザ識別子を第2OVMソースコードと関連付けて、プロセッサおよびユーザ固有の第2OVMソースコードを生成するステップと、プロセッサおよびユーザ固有の第2OVMソースコードをコンパイルして、プロセッサおよびユーザ固有の第2OVMを生成するステップとをさらに含む。
【0015】
さらなる例示的実施形態によれば、ユーザ識別子は個人識別番号を含む。
【0016】
さらなる例示的実施形態によれば、ユーザ識別子はユーザの生体特徴を含む。
【0017】
さらなる例示的実施形態によれば、本方法は、オペレーティングシステムコンポーネントを第2OVMに組み込むステップをさらに含む。
【0018】
さらなる例示的実施形態によれば、本方法は、生成される各々のOVMにプロセッサ固有のOVMのツリーを構築するステップと、プロセッサ固有の既存のOVMの秘密識別子を、生成される次のOVMのOVMソースコードと関連付けて、プロセッサ固有の次のOVMソースコードを生成するステップであって、プロセッサ固有の既存のOVMは、生成する次のOVMよりもツリーにおいて1レベル高いステップと、プロセッサ固有の次のOVMソースコードをコンパイルして、プロセッサ固有の次のOVMを生成するステップとをさらに含む。
【0019】
さらなる例示的実施形態によれば、本方法はモノトニックカウンタを構造体に組み込むステップをさらに含む。
【0020】
さらなる実施形態によれば、プロセッサ識別子は、コンピューティングデバイスに含まれる読み取り専用メモリマスク、または当該コンピューティングデバイスに含まれるワンタイムプログラマブルビットから検索され、当該コンピューティングデバイスは当該プロセッサ識別子によって識別されるプロセッサを含む。
【0021】
さらに、上述の方法によって生成する構造体を提供する。
【0022】
さらなる例示的実施形態によれば、構造体の少なくとも一つの仮想マシンはセキュア素子に割り当てられる。
【0023】
さらなる例示的実施形態によれば、上述の種類の構造体を含むコンピューティングデバイス、特に支払い処理をサポートするモバイルデバイスが提供される。
【0024】
さらなる例示的実施形態によれば、コンピューティングデバイスはプロセッサ固有の第1OVMが格納された読み取り専用メモリを含む。
【0025】
下記の添付の図面を参照して、実施形態をさらに詳述する。
【図面の簡単な説明】
【0026】
【
図1】難読化仮想マシンを含む構造体の第1の例示的実施形態である。
【
図2】難読化仮想マシンを含む構造体の第2の例示的実施形態である。
【
図3】難読化仮想マシンを含む構造体の第3の例示的実施形態である。
【発明を実施するための形態】
【0027】
図1は難読化仮想マシンを含む構造体の第1の例示的実施形態を示す。この構造体は、本明細書に開示する方法によって生成される。本例示的実施形態において、構造体は「トラストツリー(tree of trust)」として編成されるいくつかの難読化仮想マシン、OVM0、OVM01、OVM011、OVM012およびOVM02を含み、これは構造体が内蔵されたコンピューティングデバイスに結合される。このようにして、コンピューティングデバイスのセキュアブート、および難読化仮想マシンに内蔵される任意のアプリケーションの安全なローディングが達成され得る。
【0028】
典型的に、コンピューティングデバイスは、プロセッサCPU、読み取り専用ROMおよびランダムアクセスメモリRAMなどのオンチップコンポーネントと、不揮発性メモリFLASHなどのプロセッサCPUを含むチップの外付けコンポーネントとを統合する。この例において、読み取り専用メモリROMは、本明細書に開示する方法に従ってコンパイルされた初期難読化仮想マシンを含む。初期難読化仮想マシンOVM0のコンパイルは、プロセッサ固有の、すなわちプロセッサCPUの識別子CIDと関連付けられるソースコードで行われているので、仮想マシンOVM0それ自身もプロセッサ固有となる。換言すれば、仮想マシンOVM0はそれが実行されるハードウェア、特にプロセッサに効果的に結合される。
【0029】
読み取り専用ROMは、プロセッサ識別子CIDでコンパイルされたOVMのみを実行することができるOVMインタプリタをさらに含む。プロセッサ識別子CIDは、コンピューティングデバイスのROMマスクまたはOTPビットの何れかに格納されるパブリックまたは秘密識別子であり得る。プロセッサ識別子CIDは、コンピューティングデバイスの製造業者によって、デバイス、ウエハまたはロット単位に固有のものとして選択され得る。読み取り専用メモリROMに実装する代わりに、初期難読化仮想マシンOVM0のOVMインタプリタを、ネイティブコードおよび/またはOVMコードを実行することのできる専用処理装置(図示せず)内のハードウェアにも実装してもよい。
【0030】
初期難読化仮想マシンOVM0はプロセッサ識別子CIDでコンパイルされているので、読み取り専用メモリROM内のOVMインタプリタのみがそれを実行することができる。動作において、初期難読化仮想マシンOVM0は、例えば、コンピューティングデバイスレジスタ、メモリ、周辺機器およびインターフェースを安全に初期化する。さらに初期難読化仮想マシンOVM0は、モニタと、初期難読化仮想マシンOVM0の秘密識別子でコンパイルされたさらなる難読化仮想マシンOVM01およびOVM02をそれぞれ起動して実行することのできる、OVMインタプリタとを含み得る。また、さらなる難読化仮想マシンOVM01は、モニタと、構造体において1レベル高い、難読化仮想マシンOVM01およびOVM02の秘密識別子でコンパイルされたさらなる難読化仮想マシンOVM011およびOVM012をそれぞれ起動し、実行することのできる、さらなるOVMインタプリタとを含み得る。このプロセスは、プロセッサ固有の難読化仮想マシンのトラストツリーを構築することができるように反復され得る。
【0031】
典型的に、OVMは秘密データをそのコードに埋め込むことができる。本明細書に記載する方法の例示的実施形態によれば、初期難読化仮想マシンOVM0を除くあらゆるOVMは、構造体において1レベル高いOVMの秘密識別子SID0およびSID1と関連付けられた仮想マシンソースコードをコンパイルすることによって生成する。さらに、OVMのコンパイルにより、OVMコンパイラに内蔵された乱数発生器に基づき、パブリック識別子PID0およびPID1と、秘密識別子SID0およびSID1とを生成し得る。OVMコンパイラは、一対のパブリック識別子と秘密識別子とが格納されたエントリを含むデバイス製造業者のデータベースにアクセスすることができる。OVMコンパイラは、対応する秘密識別子を検索するために、コンピューティングデバイスの所定のOVMからパブリック識別子を受け取り、それをデータベースにマップすることができる。その結果、コンパイルプロセスは下記の関数に基づくことができる:
OVMxy=コンパイル[PIDx、VMSy、マップ(PIDx、SIDx)]
この関数において、PIDxは、その秘密識別子が現在のOVMをコンパイルするために使用されるOVMのパブリック識別子を表し、VMSyは現在のOVMのソースコードを表し、SIDxは秘密識別子を表す。
【0032】
この関数によれば、OVMは、後者が前者の秘密識別子でコンパイルされているのであれば、別のOVMを起動および実行することができる。OVMが正しいOVM、またはより正確には、正しいOVMのOVMインタプリタによって実行されない場合、実行は失敗する。典型的に、所定のOVMのOVMインタプリタは、OVM自身内において実行させることができる。あるいは、所定のOVMのOVMインタプリタを、プロセッサCPUによってネイティブコードで実行するために、ランダムアクセスメモリRAMにロードしてもよい。
【0033】
例えばOVMの旧バージョンを不揮発性メモリFLASHにロードすることにより、いわゆるロールバック攻撃を防止するために、構造体にモノトニックカウンタを設けてもよい。モノトニックカウンタとは、その値が一旦インクリメントされると前の値に戻ることのできない耐タンパ埋め込みカウンタである。モノトニックカウンタは、コンピューティングデバイスに組み込まれたEEPROMなどの別の不揮発性メモリに保持することができる。モノトニックカウンタはブート、OVMの実行または処理毎にインクリメントすることができる。カウンタの値はOVMコンパイラに送信され、OVMコンパイラはその値をOVMに埋め込む。
【0034】
図2は難読化仮想マシンを含む構造体の第2の例示的実施形態を示す。セキュリティレベルをさらに上げるために、OVMをユーザに結合することもできる。本例において、難読化仮想マシンOVM01は、ユーザが正しい個人識別番号PINを入力する、および/またはスキャンした指紋がユーザの指紋テンプレートと一致する場合に限り、難読化仮想マシンOVM011または難読化仮想マシンOVM012を実行する。OVM021など、例に示すその他の難読化仮想マシンは、ユーザ識別子を必要としない。
【0035】
OVMをユーザに結合するために、OVMコンパイラはユーザ識別子をコンパイルプロセスに組み込む。ユーザ識別子は、例えば個人識別番号などの、ユーザのみが知っている秘密か、または例えばスキャンされた指紋などの、ユーザ固有の生体特徴の何れかとすることができる。その場合、OVM(インタプリタ)は、ユーザがユーザ識別子を提供している場合に限り、構造体の中で下位のOVMを実行し、そうでばければ実行は失敗する。ユーザ識別子が個人識別番号PINを含む場合、コンパイルプロセスは下記の関数に基づくことができる:
OVMxy=コンパイル[PIDx、VMSy、PIN、マップ(PIDx、SIDx)]
【0036】
典型的に、スキャンした指紋はテンプレートFPTの形態の指紋センサによって送信される。このように、ユーザ識別子がスキャンした指紋を含む場合、コンパイルプロセスは下記の関数に基づくことができる:
OVMxy=コンパイル[PIDx、VMSy、FPT、マップ(PIDx、SIDx)]
【0037】
個人識別番号PINまたは指紋テンプレートFPTを暗号化してOVMコンパイラに送信することができる。さらに、ユーザが自分の個人識別番号PINを変更した場合、例えば、コンピューティングデバイスはバックエンドシステムに新しい個人識別番号用の新しいOVMをコンパイルするように要求することができる。
【0038】
図3は難読化仮想マシンを含む構造体の第3の例示的実施形態を示す。本例において、難読化仮想マシンOVM03、OVM031、OVM032の構造体のサブセットは、例えば支払いアプリケーションなどの特定のアプリケーションを実行するためのセキュア素子SEに割り当てられるコンピューティング環境を構成する。難読化仮想マシンOVM01、OVM1x、OVM02、OVM02xの構造体の別のサブセットは、コンピューティングデバイスのオペレーティングシステムに割り当てられるコンピューティング環境を構成する。より具体的には、後者のサブセットにおいて、2つの異なるオペレーティングシステムOS1およびOS2のカーネルとコンポーネントとを、難読化仮想マシンOVM01、OVM1x、OVM02およびOVM02xに埋め込む。このようにして、コンピューティングデバイスのオペレーティングシステムも、それらが実行されるハードウェアに結合させることができる。難読化仮想マシンOVM01およびOVM02は、OVM01およびOVM02のためにコンパイルされた難読化仮想マシンOVM01xおよびOVM02xを起動および実行することのできる、OVMインタプリタを含むオペレーティングシステムカーネルOS1およびOS2を内蔵している。難読化仮想マシンに内蔵されたOSカーネルは、ネイティブライブラリおよびアプリケーションを起動するか、またはそれらのOVMインタプリタを使って、それら、すなわち「カーネルOVM」のためにコンパイルされたさらなる難読化仮想マシンを起動および実行する。
【0039】
尚、図面は概略図である。種々の図面において、同様または同一の要素には同じ参照符号を付している。さらに、例示的実施形態の簡潔な説明を提供するために、当業者の慣習に該当する実行の詳細は記載しない。また、このような実装の開発において、任意のエンジニアリングまたは設計プロジェクトのように、実装によって異なるシステム関係およびビジネス関係の制約へのコンプライアンスなどのデベロッパの特定の目標を達成するために、多くの実装固有の決定を行わなければならないことを理解されたい。さらに、このような開発努力は複雑で時間のかかるものであるが、当業者にとって、設計、製作および製造を行う上でのルーチンであることを理解されたい。
【0040】
最後に、当業者であれば、添付する請求項の範囲から逸脱せずに、多くの代替的実施形態を構成することができるであろう。請求項の範囲において、括弧内の参照符号は請求項を制限するものではないと解釈されたい。「含む」という用語は、請求項に記載された要素以外の要素の存在を除外するものではない。要素の前に置かれる「一つ」という用語は、このような要素が複数個存在することを除外するものではない。請求項の範囲に記載される手段は、いくつかの個別の要素を含むハードウェアおよび/または適切にプログラムされたプロセッサによって実行することができる。いくつかの手段を列挙するデバイスの請求項において、これらの手段のうちのいくつかは全く同じハードウェアアイテムによって具現化することができる。特定の手段が相互に異なる従属請求項に記載されているだけで、これらの手段の組み合わせを有利に使用することができないことを示すものではない。
【符号の説明】
【0041】
CPU プロセッサ
CID プロセッサ識別子
OVM0 難読化仮想マシン
OVM01 難読化仮想マシン
OVM02 難読化仮想マシン
OVM011 難読化仮想マシン
OVM012 難読化仮想マシン
OVM021 難読化仮想マシン
OVM01x 難読化仮想マシン
OVM02x 難読化仮想マシン
PID0 パブリック識別子
PID1 パブリック識別子
PID2 パブリック識別子
SID0 秘密識別子
SID1 秘密識別子
SID2 秘密識別子
FLASH 不揮発性メモリ
ROM 読み取り専用メモリ
RAM ランダムアクセスメモリ
PIN 個人識別番号
OS1 オペレーティングシステム
OS2 オペレーティングシステム
SE セキュア素子