MULTOSの特徴

共通プラットホーム

 ICカードやICカード用チップを開発している半導体メーカーはいくつかあります.半導体メーカーによってCPUの違うICチップであっても,MULTOSは共通なバーチャルマシンとAPI(Application Programming Interface)をもつことにより,ICチップの違いを吸収しています.このことによりMULTOSアプリケーションは,異なるCPUをもつMULTOSカードでも共通に利用が可能になります(図1).

〔図1〕MULTOSの特徴

 また,アプリケーションは,通常ICカードの不揮発性メモリ(EEPROM)上に搭載されるため,搭載アプリケーションをICカードの発行後に追加,または削除できます.さらに,アプリケーション間はファイアウォールで分離されていて,アプリケーションの追加や削除のときにはディジタル証明書が必要なため,高いセキュリティが保持されています.

従来型のICカードOSとの相違

 MULTOSと従来型のICカードOSとでは,アプリケーションコマンド部の格納場所が大きな相違になります.従来型のICカードOSはほとんどが専用OSであり,アプリケーションを実行する処理コマンドと一緒にROMに書き込まれていて,データ部のみが書き換え可能な不揮発性メモリに格納されます.ROMにアプリケーションのコマンド部が格納されるということは,ICチップ製造時にのみアプリケーションを書き込めるということであり,後からアプリケーションを追加または削除することはできません(図2).

〔図2〕従来のOSとの相違

 MULTOSの場合は,アプリケーションごとにコマンド部とデータ部が一緒に不揮発性メモリに格納されるので,アプリケーションの書き換えが可能になります.

MULTOSの実行可能言語

 MULTOSの実行可能言語(MEL:MULTOS Executable Language)はアセンブリ言語で,MULTOSアプリケーションの開発に利用されます.MELおよびMULTOS-APIは,ICカードでの使用に最適化された構造言語であり,限られたリソース(CPU,メモリなど)を最大限に利用することを焦点に当てて開発されました.アセンブリ言語という特徴から,アプリケーション開発者にとって効率のよいアプリケーション開発が可能になります.さらにC,Java 注2,VBなどの汎用的な言語でのアプリケーション開発も,MELコードへコンパイルすることによって可能になります(図3).MEL言語仕様は,MAOSCOの公式サイトでアプリケーション開発者ライセンス登録(無料)をすることにより,誰でも入手することができます.

〔図3〕高級言語によるアプリケーション開発

アプリケーションの追加と削除

 MULTOSのアプリケーションの追加/削除は,第三者に悪用されないように,MULTOS鍵管理局(MULTOS Key Management Authority)が発行するデジタル証明書を利用します(図4).MULTOSアプリケーションを追加する際にはロード証明書(ALC:Application Load Certificate),削除する際にはデリート証明書(ADC:Application Delete Certificate)が必要で,証明書の照合が行われた後に追加/削除が実行されます.

〔図4〕アプリケーションの追加と削除

通信回線やインターネットによるアプリケーションの追加

 MULTOS上へのアプリケーション追加は,通常の発行環境に限定されず,公衆回線やインターネットに接続されたICカードリーダ/ライタ(端末)を通じて行うことができます(図5).また,アプリケーション追加時にアプリケーションを暗号化することができるので,通信手段そのもののセキュリティへの配慮は最小限にすることができます.また,ロード証明書が必要なので,アプリケーションを追加してもよいMULTOSカードであるかを確実に識別することができます.

〔図5〕通信を利用したアプリケーションの追加

各種暗号鍵や証明書の生成

 MULTOSカードは,その製造/発行過程でさまざまな暗号鍵を使い,セキュリティの確保を図っています.

 MULTOSカードにアプリケーションを追加して発行する際に使用する暗号鍵と証明書の概略を図6に示します.チップメーカーからカードメーカーへのICチップ運搬中の安全を確保するために利用するチップ個別のトランスポート鍵,MULTOSカードを初期化するためにはカード個別秘密鍵や公開鍵を使い,カード発行者が鍵管理局と“会話”するためにはまた別の暗号鍵を使います.

〔図6〕各種鍵と証明書

 アプリケーションをMULTOSカードに追加するためには,ロード証明書が必要になります.これらMULTOSセキュリティの核となる暗号鍵や証明書は,MULTOS KMAで管理しています.日本を含む全世界に向けサービスを提供する鍵管理局は英国にあり,“Global KMA”と呼ばれ,日本国内専用には(株)日本スマートカードソリューションズ(http://www.jssco.net/)が,日本語で鍵管理局のサービスを提供しています.



注2:JavaおよびすべてのJava関連の商標およびロゴは,米国およびその他の国における米国Sun Microsystems, Incの登録商標.
また,そのほかの会社名および製品名は,それぞれ各社の登録商標または商品名称.

以降の内容は本誌を参照ください

インデックス
プロローグ カード社会とICカードの必要性
第1章 ICカードOS「MULTOS」によるカードアプリケーションの作成
 ◆MULTOSの概要
 ◆MULTOSの特徴

今月号特集トップページへ戻る


Copyright 2003 宇田川真理/進藤雄介