知っておきたいICカードの知識

BA0202-03 02.6.14 4:59 PM ページ 47 (1,1)
BA0202-03
知っておきたいICカードの知識
第2回 ICカードのソフトウエア
大日本印刷
森山明子
ICカードのソフトウエア
ンがあるように、I Cカードにもそれぞれに相当するソ
フトウエアが存在している。
前回の講座では、主にI Cカードのハードウエアにつ
いて説明した。今回はI Cカード上で動くソフトウエア
にどのようなものがあるかについて説明する。I Cカー
ドは一般的にCPUやCo-Processorといった演算処理装置
や、ROM、RAM、EEPROMといったメモリを搭載して
いることは前回ご紹介した通りである。ソフトウエア
の格納方法としては、データ書き換えのできないROM
にソフトウエアを焼きこんでいる場合と、書き換え可
能なEEPROMに記録している場合の2種の方法があり、
両タイプのICカードが利用されている。
OSとアプリケーション
I Cカードを利用したシステムは何種類かのソフトウ
エアで構築される。ホストコンピュータ上のソフトウ
エアや、ネットワークPC上で動くソフトウエア、ICカ
第1図 ICカードシステムとソフトウエア
ードリーダライタを制御するためのドライバーソフト
などの他に、I Cカード自体の中にもソフトウエアが存
専用OSとマルチアプリケーションOS
在する。ICカードも小さなコンピュータなのである。
ICカード内部にはまず「ICカードOS」がある。これ
基本処理を行う役目のICカードOSであるが、現在 IC
はデータの入出力やファイルの生成、アクセス権の設
カードのOSには2種類ある。専用OS(NativeOS)とマ
定や管理などといった基本的な作業を行うためのソフ
ルチアプリケーションOSである。両者の大きな違いは、
トウエアである。
I C カードアプリケーションが R O Mに格納されている
また、それに加えて「 I Cカードアプリケーション」
か、EEPROMに格納されているかという点である。
が必要になる。I Cカードは外部端末からの命令を受け
専用OSと呼ばれるICカードOSは、ICカード開発初期
て処理を実行する装置であるため、カード内部に処理
の頃から使われている実装スタイルであり、OSとアプ
プログラムを持っている。特定のアプリケーションに
リケーションが一体化した形でROMに格納されている。
必要となる処理プログラム1つ1つの集まりがコマン
ROMは書き換えができないメモリなので、専用OSを搭
ドセットとしてICカードに格納されている。
載した I Cカードの場合、カード発行後にアプリケーシ
I Cカードアプリケーションは、I Cカード内部のデー
ョンを追加したり削除したりということはできない。
タや、外部端末装置に格納しているデータを基にして
比較的安価なものが多いのも特徴の1つである。以前
様々な処理を行う。パソコンにもOSとアプリケーショ
は1枚のカードに1つのアプリケーションを搭載して
バーコード 2002.4.
47
BA0202-03 02.6.14 4:59 PM ページ 48 (1,1)
いたが、最近では複数のアプリケーシ
ョンをROMに焼きこんだ形の専用OSが
多い。
専用OSはOSとアプリケーションが一
体化しているので、別のアプリケーシ
ョンを I Cカードアプリケーションとし
て採用したい場合には、新しいアプリ
ケーションをROMに焼き付けた新しい
I Cチップを別途製造することになる 。
この点を考えるとカスタム仕様の I Cカ
ードOSとも言えるが、通常専用 OSには
汎用性の高いアプリケーション、ある
いは大量に採用される可能性の高いア
プリケーションが搭載される。特定の
発行者だけが使うアプリケーションを
第2図 専用OSとマルチアプリケーションOS
専用O Sに搭載しても、その特徴である
安価なカードにはならないからである。
マルチアプリケーションOS上のアプリケーション開
専用OSのEEPROMはユーザデータの格納用のメモリ
発は、チップ固有のアセンブラは使わず、専用の言語
として使われるが、稀にプログラム格納のために利用
を利用する。同一のマルチアプリケーションOS上で動
されることがある。ROMに格納したプログラムにどう
くことを目的としたアプリケーションであるならば 、
しても一部修正を加えなければならない場合の手段で
どれも同じ言語で開発できるため、アプリケーション
ある。マルチアプリケーションOSと呼ばれる ICカード
開発者が I Cチップの違いを意識しなくてよいという利
O S は、専用 O S の後に出てきたタイプの O S である。
点がある。
ROMに基本処理を行うICカードOSを持ち、アプリケー
マルチアプリケーションO Sを搭載したI Cカードは、
ションを EEPROMに格納するためのプラットフォーム
代表的なものとして現在2種類ある。 MULTOS と
の役割を果たしている。書き換え可能なメモリである
JavaCardである。MULTOSは電子マネーアプリケーシ
EEPROMにアプリケーションが搭載できるということ
ョンを載せるためのプラットフォームとして開発され
は、カード発行後に不要アプリケーションを削除して
たため、チップ製造からカード化、発行、アプリケー
空きメモリを増やしたり、I Cカードアプリケーション
ションの追加や削除に関して高セキュリティなスキー
を追加搭載することが可能である。新しいアプリケー
ムが整えられており、金融用途のI Cカードを発行する
ションを追加したいと思えば、カード自体はそのまま
のに適していると言われている。J a v a C a r dは、アプリ
で、I Cカードアプリケーションにあたるソフトウエア
ケーションの開発にJava言語を利用できるため、アプリ
だけを追加すればよい。この点では、マルチアプリケ
ケーションを開発できる技術者が豊富にいるという点
ーションOSは、パソコンでのソフトウエア構成に良く
で期待されている。J a v a C a r dではアプリケーションの
似たICカードOSであると言える。
追加削除の仕組みが整っていなかったが、現在では両
専用 O Sとマルチアプリケーション O Sの違いとして
OSの機能差は無くなりつつある。
は、アプリケーション開発言語の違いが挙げられる。
その他、専用 OS内のアプリケーションは、そのICチ
セキュリティ
ップが持つ固有のアセンブラ言語でプログラミングす
る必要があるので、開発者が新しいチップを採用する
I Cカードのソフトウエアと切り離せないのが暗号処
場合には、新しい言語を習得する必要がある。A社製の
理である。I Cカードが従来の磁気カードと異なる点は
ICチップを使うならA社のアセンブラで、B社製チップ
C P Uを持って演算ができることだけでなく、そのC P U
ならB社のアセンブラで開発しなければならない。開発
やCo-Processorを使って暗号処理ができる点でもある。
者が慣れない I Cチップの仕様を調べ、新たなアセンブ
ICカードOSではデータの入出力などを行うが、基本
ラ言語を習得し、ICカードOSやアプリケーションを開
的な暗号処理も OSの仕事の1つである。ICカードが処
発するというのはかなり骨の折れる仕事である。
理する暗号アルゴリズムとしては、共通鍵暗号アルゴ
48 バーコード 2002.4.
BA0202-03 02.6.14 4:59 PM ページ 49 (1,1)
リズムと公開鍵暗号アルゴリズムがある。共通鍵暗号
み出せない状態にしてしまうことができる。ここが磁
が、暗号と復号の過程において共通の暗号鍵を利用す
気カードとは全く異なる点である。I Cカードの中には
るのに対して、公開鍵暗号は、暗号と復号の過程で利
外部に読み出すことのできるデータ領域と、読み出せ
用される暗号鍵が別々で、「秘密鍵」と「公開鍵」と呼
ない領域を作ることができる。暗号処理に利用する鍵
ばれる鍵ペアが利用される方式である。
はこの読み出せない領域に保存されて暗号処理時に利
I Cカードがなぜ暗号処理に適しているのだろうか。
I Cカードの中に格納した暗号鍵は、論理的に外部に読
用される。例えば、公開鍵暗号方式を使った暗号復号
の仕組みでは、「秘密鍵は他人に絶対教えるな」といわ
第3図 共通鍵暗号方式について
第4図 公開鍵暗号方式について
バーコード 2002.4.
49
BA0202-03 02.6.14 4:59 PM ページ 50 (1,1)
れている。成りすましや否認、盗聴、改ざんといった
化されている仕様は、I Cクレジットカードの仕様では
ものを排除する上での鉄則であるが、弊社のI Cカード
あるが、アプリケーション選択の手続きを定めている
を例にとれば、I Cカードは公開鍵暗号アルゴリズムを
点に特徴がある。I Cカード側にも端末側にも何種類か
実行できるだけでなく秘密鍵をI Cカードの内部で生成
のアプリケーションが搭載されている時に、どの様に
することができる。たとえI Cカードを持っている本人
実行すべきアプリケーションを選択決定すればよいの
でさえも I Cカードに格納されている秘密鍵の値を知る
か。その手続きを共通化し、EMV対応ICカードならば、
ことなく利用できるわけだ。I Cカードのソフトウエア
どのEMV対応端末でも動かすことができるようになる
による工夫の他にも、各チップメーカによる様々なハ
ことを狙ったものである。
ードウエアの工夫も盛り込まれている。
公開鍵暗号はPKI(Public Key Infrastructure)の世界
で利用されている方式であるが、I Cカードがこの公開
またクレジットカードとしてのICカードの特徴には 、
カードリスク管理がある。I Cカードは自らリスクを分
析して取引の承認・却下などを判断している。
鍵暗号を実用に耐えうる速度で処理するには、現在の
日本の金融機関が発行するキャッシュカードは、長
ところICカード用チップにCo-Processorと呼ばれる演算
い間磁気カードが使われてきたが、昨年I Cキャッシュ
処理装置が必要である。Co-Processor付きのICチップを
カードの標準仕様が策定された。この仕様では、キャ
I Cカードに採用するかどうかの選択がI Cカードのコス
ッシュカード機能のほかに、オンラインデビット機能
トに影響するため、I Cカードの発行者は目的に応じて
やオフラインデビッド機能をI Cカードに持たせること
ICカード用チップを選択する必要がある。Co-Processor
ができる。特にオフラインデビッドは電子マネーと同
の付いていないI Cカードチップでも公開鍵暗号が処理
じような使い方ができる。I Cカードや端末のもつセキ
できるように、新しいアルゴリズムを持った公開鍵暗
ュリティ機能を活用し、安全に利用できる工夫がなさ
号が現在検討されている。この方式がI Cカードの一般
れたサービスといえるだろう。
的な暗号として利用されるようになると更にI Cカード
金融用途のI Cカードには接触型I Cカードが用いられ
が安く高機能になり、消費者の身近なツールになる日
ているが、最近になって非接触のI Cカードを利用した
も近付きそうだ。
ものも見られるようになった。電子マネーをI Cカード
に格納し、リーダライタにかざすだけで支払いが可能
金融業界でのICカードアプリケーション
な利便性の高い I Cカードである。今後の動向が注目さ
れる。
もともとは1 9 7 0年代の後半にフランスで発明された
I Cカードであるが、日本でのI Cカード化が目立ち始め
さまざまな分野で
たのはここ数年のことである。
比較的早い時期にI Cカード化が行われた分野は金融
金融用途向け以外のI Cカードアプリケーションには
業界であり、従来磁気カードが利用されてきたクレジ
どんなものがあるかを簡単にご紹介すると、交通・通
ットカード・キャッシュカードは、特にI Cカード化の
信・流通・認証といった分野でのI Cカード化の動きが
動きが活発である。
目立ってきている。
クレジットカード業界がI Cカードを採用した理由の
交通系では、E T Cシステム(有料道路自動料金支払
1つには、偽造カード対策があった。欧米で策定され
いシステム)において、I Cカードが利用されている。
たICクレジットカード仕様はEMV仕様と呼ばれ、金融
高速道路の料金所で車を止めずに自動的に料金を支払
向けI Cカード仕様のデファクトスタンダードとなって
うことができる便利なシステムである。すでにご利用
いる。EMV仕様策定の背景には、クレジットカード会
の読者の方も多いのではないだろうか。また電車の定
社が各加盟店に設置するクレジット端末を共有化する
期券としてI Cカードが採用されたのも記憶に新しい話
目的もあったため、I Cカードと端末間のインターフェ
題である。
イスを統一する仕様となった。ここで示されているイ
ンターフェイス仕様は、金融業界のみならず、様々な
業界の I Cカード・端末間インターフェイスに取り入れ
られつつある。
I Cカード・端末間インターフェイスの1つとして、
アプリケーションの選択方法がある。EMV仕様で共通
50 バーコード 2002.4.
通信の分野では、次世代携帯電話に組み込まれる加
入者識別のツールとしてICカードが採用され始めた。
流通分野では、I CクレジットカードにI Cポイントア
プリケーションが搭載される傾向にある。従来の磁気
カードでのクレジットカードにポイントシステムが導
入されていたことを考えると自然な動きともいえる。
BA0202-03 02.6.14 4:59 PM ページ 51 (1,1)
第5図 ICカードの利用分野
また認証カードとしてのI Cカードにも大きな期待が
持たれている。昨年4月に施行された電子署名法によ
次回は…これからのI Cカードはどのような傾向にあ
るのか、次世代ICカードについて説明したい。
り、公開鍵暗号によるデジタル署名が法的な効力を持
つようになった。いわゆる電子印鑑である。I Cカード
によりインターネット上の様々な文書に電子印鑑を捺
印し、取引を安全・確実に行うことができる。近い将
来電子政府が立ち上がる頃には、I Cカードは私達の生
活に密着した電子ツールになっていることだろう。
【筆者紹介】
森山明子
大日本印刷㈱
ビジネスフォーム事業部 ICカード営業開発部
〒162-8472 東京都新宿区榎町7
TEL:03-3513-2727 FAX:03-3513-2729
E-MAIL:[email protected]
URL:http://www.dnp.co.jp
※MULTOSはMondex International Limitedの登録商標です。
※Javaおよび全てのJavaに関わる商標は、米国およびその他の国において米国Sun Microsystems, Inc.の商標または登録商標です。
バーコード 2002.4.
51