ICカード
ICカードの概要
- IC カードの利用
IC カードは,金融・決済関係,交通関係,サービス・流通関係(ポイントカード,メンバカード等),企業セキュリティ(身分証明,入退出管理等)など幅広く普及してきている. また,クレジットカードやキャッシュカードのスキミング被害の急増,個人情報保護法(個人情報の保護に関する法律)の施行などの影響もあり,セキュリティの観点から磁気カードに代わりICカード化のニーズが高まっている.
- ICカードの種類
- 接触型
ICカードとカードリーダ端子が接触した状態で通信を行う.強固なセキュリティが要求される決済や認証の分野で使われている.
- 非接触型
カード内部にアンテナ機能が内蔵されており,カードリーダから発生している磁界にカードをかざすと無線通信でデータのやりとりができる.通信距離や通信方式の違いにより,密着型(~2mm),近接型(~10cm),近傍型(~70cm),遠隔型(70cm以上)に分類されている.
鉄道改札や入退室管理などより利便性を求められる分野で利用されている.
- その他
接触・非接触の双方のインターフェイスを持つハイブリッド型やデュアルインターフェイス型と呼ばれるカードなどが存在する.
- IC カードの特徴
ICカードを使う利点は以下である.
- 認証機能
ICチップ内に格納されている秘密情報で本人認証を行う. ICカードは従来の磁気カードに比べてデータの不正取得や改ざんが難しいため,セキュリティが向上する.
- 情報保管機能
交通カード,電子マネー,医療カードなど情報をカード内に蓄積して持ち歩くことでより高い利便性を実現できる.また,カード内にデータを保持できるので,磁気カードのようなオンラインによるデータ通信の必要性が減る.
ICカードの安全性
ICカードでは情報がICチップ内のメモリに記録され,その情報に対するアクセスをICカード内のCPUが制御している.そのため,外部からの不正アクセスや情報の改ざん操作が非常に困難である(耐タンパ性). 書き込まれたデータが第三者から簡単に読み取られてしまう磁気カードに比べ,ICチップへ情報を書き込むICカードは安全性が格段に高い.
しかし,ICカードといえども内部情報を完全に守れるわけではなく,ICカード内部の情報を不正に読み出す手段もゼロではない.こうした攻撃に対して内部情報を高度に暗号化するなどの対策を立て,用途に応じて必要なセキュリティ対策を行うことが必要になってくる.
ICカードなどの暗号モジュール搭載デバイス認定規格である FIPS140 は,暗号モジュールのセキュリティ要件に関する規格として実装方法を含めた暗号モジュール全体の安全性を規定している(日本では,JIS X 19790). ICカードなどのデバイスが内部情報をどのように暗号化して高い耐タンパ性を保つかを客観的に評価・認定する規格になっており,ICカードの安全性の目安になっている.
- ICカード発行時対策
ICカードに格納された秘密情報は容易に読み出せない耐タンパ性があるが,ICカードに格納する前の 情報管理や発行システム自体の信頼性を確保する必要がある.そのため,カードを発行する環境にも次のようなセキュリティ対策が必要である.
- 発行システムは,入退出を管理し特定の人しか操作できないようにする.
- ICカードに搭載する秘密情報を格納したバックアップ媒体は厳重に管理する.
- カードの盗難やすり替えを防ぐため,不特定の人に発行作業や配送作業をさせない.
- 発行に失敗したカードは悪用されないように管理し,速やかに廃棄する.
- ICカードに対する攻撃対策
- 破壊型解析法
ICカードを物理的に開封し,ICチップ内のバスなどに直接測定器のプローブを当てたり,顕微鏡で観察したりして,バスやメモリの内容を読み取る攻撃である.これに対しては,ICチップを物理的に開封した場合は,チップの回路が破壊される構造にするなどの対策が採られている.
- 非破壊型解析法
非破壊型の攻撃として次のような方法がある.
- サイドチャネル攻撃
演算実行中の消費電流の変化や実行時間の変化を観察して鍵情報などを推定する.
- 故障利用解析
演算実行時に異常電圧をかけるなどして誤作動させ,この結果から演算内容を推論する.
これらに対しては,演算時の消費電流を一定にする回路構成にする,演算結果によらず実行時間が一定になるようにプログラムを組む,異常電圧など異常状態を検出するセンサをICチップに搭載する,などの対策が採られている.
ICカードシステムのセキュリティ
非接触ICカードの無線通信時に通信情報が傍受される危険等に対応するため,無線通信は乱数を使って鍵を変化させるなど暗号化され,データの漏えいや改ざんを防ぐ仕組みになっている.
ICカードにおけるセキュリティの要件は次の3つである.
- ICカード内の情報の不正取得や情報の改ざんができないこと.
- ICカードとカードリーダ,ICカードとサービスの間の通信が傍受されたりなりずましできないこと.
- ICカードが所有者以外の他人に不正使用されないこと.
- 認証
ICカード,カード所有者,処理システム(リーダ/ライタ・端末装置,リモートシステム上のアプリケーション)間で次のような認証を行う.
- 所有者認証
ICカードがカード所有者の真正性を確認する. PIN やバイオメトリクス情報(身体・行動的特徴)等が利用される.
- 相互認証
ICカードと処理システム(リーダ/ライタ・端末装置またはモートシステム上のアプリケーション)間で互いの真正性を確認する.ICカードが自己真正性を証明する処理(内部認証)と,ICカードが処理システムの 真正性を確認する処理(外部認証)がある.
認証方式としては,ICカードの用途ごとに異なる方式が採用されている.一般に,セキュリティの堅牢性よりもICカード認証レスポンスの利便性を優先する場合は共通鍵暗号方式を,金融系ICカードなど安全性が優先される場合は公開鍵暗号方式が用いられる. なお,公開鍵暗号方式を使う場合,RSA 暗号処理などを高速化するコプロセッサを持つICカードを選ぶ必要がある.
- 暗号化
ICカードの基本動作は,外部装置からICカードへコマンドが送られ,ICカード内ではそのコマンドが処理されてコマンドの応答として処理結果を返す.このとき,外部装置とICカードでやり取りされるデータ(コマンドやレスポンス)を暗号化して盗聴を防ぐとともに,各データにメッセージ認証コードを付加して,データの完全性と送信者の正当性を確認している.SSL/TLS と同様な仕組みで外部装置とICカード間のセキュアな通信が実現されている. このとき使用する暗号アルゴリズムや暗号化用の鍵,認証用の鍵などは定義情報(セキュリティ環境)としてカード内に設定されている.
また,セキュリティ関連コマンドがあり,これは PKI(公開鍵認証基盤)で利用するためのセキュリティ機能であり,署名の検証や鍵生成といったコマンド群で構成される.この機能によりユーザー認証や電子文書への署名などがICカードを利用して実現できる.