JP2010258630A - セキュリティトークン及びスクランブル鍵の派生方法 - Google Patents

セキュリティトークン及びスクランブル鍵の派生方法 Download PDF

Info

Publication number
JP2010258630A
JP2010258630A JP2009104561A JP2009104561A JP2010258630A JP 2010258630 A JP2010258630 A JP 2010258630A JP 2009104561 A JP2009104561 A JP 2009104561A JP 2009104561 A JP2009104561 A JP 2009104561A JP 2010258630 A JP2010258630 A JP 2010258630A
Authority
JP
Japan
Prior art keywords
data
scramble
key
scramble key
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009104561A
Other languages
English (en)
Other versions
JP5447790B2 (ja
Inventor
Masaki Yoshikawa
雅起 吉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2009104561A priority Critical patent/JP5447790B2/ja
Publication of JP2010258630A publication Critical patent/JP2010258630A/ja
Application granted granted Critical
Publication of JP5447790B2 publication Critical patent/JP5447790B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】セキュリティデータを暗号化するときに利用したスクランブル鍵の漏洩を防止できるセキュリティトークンを提供する。
【解決手段】ICカード1は,外部へのデータ読み出しが禁止されたROM22と,電気的に書換え可能なEEPROM23を備えたICチップ2が実装され,ROM22には,スクランブル鍵を派生するための暗号鍵シード12が記憶され,EEPROM23には,暗号鍵シード12から派生されるスクランブル鍵の中から,一つのスクランブル鍵を定義する定義情報13が記憶されている。ICカード1のROM22に実装された暗号モジュール10は,EEPROM23にデータを暗号化して書き込む処理を実行するとき,所定の派生アルゴリズムに従い,定義情報13で定義される一つのスクランブル鍵を暗号鍵シード12から派生させ,該スクランブル鍵を該データの暗号化に利用する。
【選択図】図2

Description

本発明は,高いセキュリティを要する用途に利用されるセキュリティトークンの技術分野に関し,更に詳しくは,該セキュリティトークン内部で利用されるスクランブル鍵を派生させるための技術に関する。
半導体集積回路(以下,ICチップ)が実装されたセキュリティトークンは高いセキュリティを要する用途に利用され,例えば,セキュリティトークンの一つであるICカードは,既に,金融用途においてキャッシュカードやクレジットカードに実用化されている。また,セキュリティトークンの一つであるチェーン付きのUSBキーは,ユーザ認証に利用するワンタイムパスワードを生成する装置としての利用が検討されている。
高いセキュリティを要する用途に利用されるセキュリティトークン内には,セキュリティトークンの用途に合わせて,外部への漏洩が許されないセキュリティデータ(例えば,暗証番号や暗号鍵)が記憶されるが,セキュリティデータの取得を目的とした様々なセキュリティ攻撃法が考案され,セキュリティトークンには該セキュリティ攻撃法に対する耐タンパ性が求められている。
新しく考案されたセキュリティ攻撃法の一つにレーザー攻撃法があり,これは,セキュリティトークン内のICチップ内の電気的に書換え可能な不揮発性メモリに対してレーザーを照射し,該不揮発性メモリの状態を一時的に高エネルギー状態にすることにより,該不揮発性メモリに記録されているデータの値を意図的に変え,レーザーを照射した時のセキュリティトークンから得られる出力とレーザーを照射しない時のセキュリティトークンから得られる出力を比較するなどして,該不揮発性メモリに記憶されたセキュリティデータを得ようとするセキュリティ攻撃方法である。
図10は,レーザー攻撃法による脅威の説明に利用する図である。図10では,セキュリティトークンのICチップに設けられた電気的に書き換え可能な不揮発性メモリ3内のデータ構造を図示し,図10に図示しているように,該不揮発性メモリ3内には,タグ部,レングス部及びバリュー部から構成され,ICカードが利用するデータが該バリュー部に埋め込まれるデータオブジェクトとして,データAが埋め込まれるデータオブジェクト30a,データBが埋め込まれるデータオブジェクト30b,及び,データCが埋め込まれるデータオブジェクト30cの3つが記憶され,図10では,データAを読み出し対象となるデータとし,データCをセキュリティデータとしている。
また,不揮発性メモリ3内には,データオブジェクトに加え,データオブジェクトを操作するときに参照される管理データがデータオブジェクト毎に記憶され,一つの管理データには,データオブジェクトの開始アドレス及びデータオブジェクトを識別するオブジェクトIDが含まれる。なお,図10では,データオブジェクト30a〜cの3つが記憶されているため,それぞれに対応する管理データ31a〜cが不揮発性メモリ3に記憶されている。
データオブジェクト30aを読み出すことを考えた場合,図10において,レーザーが書換え可能メモリに照射されていなければ,データオブジェクト30aの管理データ31aを参照することで,データオブジェクト30aを正しく読み出すことができる。
しかし,データオブジェクト30aを読み出すときに,データオブジェクト30aの管理データ31aが記憶されている箇所にレーザーが照射され,管理データ31aに含まれる開始アドレスが変化してしまうと,データオブジェクト30aが記憶されている以外の場所のデータが不正に読み出されてしまう可能性がある。
また,データオブジェクト30aに埋め込まれたデータを読み出すときに,データオブジェクト30aのレングス部が記憶されている箇所にのみレーザーが照射され,データオブジェクト30b及びデータオブジェクト30cを含む長さに該レングス部が変化してしまうと,読み出されるデータオブジェクト30aに,データオブジェクト30b及びデータオブジェクト30cも含まれてしまう可能性がある。
このようなレーザー攻撃法の危険性は以前から指摘されていたが,例えば,データオブジェクトの管理データの一部の範囲のように,電気的に書き換え可能な不揮発性メモリの極小範囲のみにレーザーを照射することは技術的に難しく,該不揮発性メモリの極小範囲にレーザーを照射すると,その近辺に記憶されているデータの値も変わってしまうため,レーザー攻撃法の実効性は低く対策は不要と考えられていた。
しかし,近年,レーザーの照射技術が飛躍的に向上したことで,セキュリティトークンのICチップに実装された電気的に書き換え可能な不揮発性メモリの極小範囲のみを破壊することが可能となったことに伴い,レーザー攻撃法も現実味が出てきたため,レーザー攻撃法への対策も要求されるようになった。
このように,セキュリティトークンの電気的に書き換え可能な不揮発性メモリにセキュリティデータを平文で記憶しておくと,セキュリティトークンがレーザー攻撃法を受けることで,セキュリティデータが不正に読み出されてしまう可能性があり,これを防ぐためには,特許文献1のように,該不揮発性メモリ内に記憶されたデータは暗号化しておくと,セキュリティトークンがレーザー攻撃法を受けることで,セキュリティデータが不正に読み出されてしまうリスクを低減できると考えられる。
しかしながら,レーザー攻撃法によって,セキュリティトークンの電気的に書き換え可能な不揮発性メモリに記憶されたセキュリティデータを暗号化する暗号鍵が漏洩してしまうと,セキュリティトークンの該不揮発性メモリから得られる暗号データを復号できてしまうため,該不揮発性メモリ内に暗号化した状態でセキュリティデータを記憶していても,レーザー攻撃法によって,セキュリティデータが漏洩してしまう危険性があった。
特開2009―15375号公報
そこで,本発明は,レーザー攻撃法対策として,セキュリティトークンの電気的に書き換え可能な不揮発性メモリに記憶するセキュリティデータを暗号化するケースであっても,セキュリティデータを暗号化するときに利用したスクランブル鍵の漏洩を防止できるセキュリティトークン及びスクランブル鍵の派生方法を提供することを目的とする。
上述した課題を解決する第1の発明は,外部へのデータ読み出しが禁止された第1の不揮発性メモリと,電気的に書換え可能な第2の不揮発性メモリを備えたセキュリティトークンであって,前記第1の不揮発性メモリには,前記第2の不揮発性メモリに書き込むデータを暗号化するスクランブル鍵を派生するための暗号鍵シードが記憶され,前記第2の不揮発性メモリには,前記暗号鍵シードから派生される前記スクランブル鍵の中から,一つの前記スクランブル鍵を定義する定義情報が記憶され,前記第2の不揮発性メモリにデータを暗号化して書き込む処理を実行するとき,所定の派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させ,該スクランブル鍵を該データの暗号化に利用するように構成されていることを特徴とするセキュリティトークンである。
更に,第2の発明は,第1の発明に記載のセキュリティトークンであって,前記第2の不揮発性メモリに暗号化して記憶されたデータを利用する処理を実行するとき,該データを暗号化した時と同じ前記派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させ,該スクランブル鍵を該データの復号に利用するように構成されていることを特徴とするセキュリティトークンである。
更に,第3の発明は,第2の発明に記載のセキュリティトークンであって,前記暗号鍵シードは複数の前記スクランブル鍵で構成され,前記定義情報は,前記暗号鍵シードに含まれる一つの前記スクランブル鍵を指定する情報であって,前記派生アルゴリズムは,前記定義情報で指定された前記スクランブル鍵を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークンである。
更に,第4の発明は,第1の発明または第2の発明に記載のセキュリティトークンであって,前記暗号鍵シードは,前記スクランブル鍵の長さよりも長い乱数テーブルで構成され,前記定義情報は,前記乱数テーブルのオフセット値であって,前記派生アルゴリズムは,前記乱数テーブルを参照し,前記定義情報で指定されたオフセット値から開始位置とし前記スクランブル鍵の長さの乱数列を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークンである。
更に,第5の発明は,第4の発明に記載のセキュリティトークンであって,前記第1の不揮発性メモリには,前記乱数列を暗号化するためのマスター鍵が記憶され,前記派生アルゴリズムは,前記乱数テーブルから得られる前記乱数列を前記マスター鍵で暗号化した暗号文を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークンである。
更に,第6の発明は,セキュリティトークンに書き込むデータの暗号化に利用するスクランブル鍵を派生させる方法であって,外部へのデータ読み出しが禁止された第1の不揮発性メモリに,前記スクランブル鍵を派生するための暗号鍵シードを記憶させ,更に,電気的に書き換え可能な第2の不揮発性メモリに,前記暗号鍵シードから派生される前記スクランブル鍵の中から,一つの前記スクランブル鍵を定義する定義情報を記憶させておき,前記第2の不揮発性メモリにデータを暗号化して書き込む処理を実行するとき,該データの暗号化に利用する前記スクランブル鍵を,所定の派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させることを特徴とするスクランブル鍵の派生方法である。
更に,第7の発明は,第6の発明に記載のスクランブル鍵の派生方法であって,前記暗号鍵シードは複数の前記スクランブル鍵で構成され,前記定義情報は,前記暗号鍵シードに含まれる一つの前記スクランブル鍵を指定する情報であって,前記定義情報で指定された前記スクランブル鍵を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法である。
更に,第8の発明は,第6の発明に記載のスクランブル鍵の派生方法であって,前記暗号鍵シードは,前記スクランブル鍵の長さよりも長い乱数テーブルで構成され,前記定義情報は,前記乱数テーブルのオフセット値であって,前記乱数テーブルを参照し,前記定義情報で指定されたオフセット値から開始位置とし前記スクランブル鍵の長さの乱数列を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法である。
更に,第9の発明は,第8の発明に記載のスクランブル鍵の派生方法であって,前記第1の不揮発性メモリには,前記乱数列を暗号化するためのマスター鍵が記憶され,前記乱数テーブルから得られる前記乱数列を前記マスター鍵で暗号化した暗号文を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法である。
上述した本発明によれば,レーザー攻撃法対策として,セキュリティトークンの電気的に書き換え可能な不揮発性メモリに記憶するセキュリティデータを暗号化するケースであっても,セキュリティデータを暗号化するときに利用したスクランブル鍵の漏洩を防止できるセキュリティトークン及びスクランブル鍵の派生方法を提供できる。
ICカードの外観を説明する図。 ICカードに実装されるICチップの構成を説明する図。 暗号モジュールの処理の手順を示したフロー図。 復号モジュールの処理の手順を示したフロー図。 平文データオブジェクトのフォーマットを説明する図。 暗号データオブジェクトのフォーマットを説明する図。 実施例1における暗号鍵シード及び定義情報を説明する図。 実施例2における暗号鍵シード及び定義情報を説明する図。 実施例3における暗号鍵シード及び定義情報を説明する図。 レーザー攻撃法による脅威の説明に利用する図。
ここから,本発明が属する技術分野における当業者が本発明を実施することができる程度に,本発明のセキュリティトークンをICカードとしたときの実施形態について説明する。
図1は,本発明のセキュリティトークンとして機能するICカード1の外観を説明する図である。
図1に図示したように,ICカード1とはキャッシュカードのサイズの媒体に,ICチップ2がモールドされたICモジュール1aがエンベットされたカードで,図1では,ICカード1を接触型で記載しているが,本発明に係わる内容は,ICカード1にエンベットされたICチップ2内部で実行されるため,ICカード1は,アンテナが内蔵された非接触型であってもよい。
また,ICカード1の形状はキャッシュカードの形状でなくともよく,SIM(Subscriber Identity Module Card)やUSIM(Universal Identity Module Card)のような形状であってもよい。
図2は,ICカード1に実装されるICチップ2の構成を説明する図である。図2に図示したように,ICカード1にエンベットされるICチップ2はCPU20(Central Processing Unit)が実装されたマイクロコントローラで,ICチップ2には,メモリとして,揮発性メモリであるRAM21(Random Access Memory)と,読み出し専用の第1の不揮発性メモリであるROM22(ReadOnly Memory)と,電気的に書換え可能な第2のメモリであるEEPROM23(Electrically Erasable and Programmable Read Only Memory)を備えている。
更に,ICカード1にエンベットされるICチップ2は,CPU20の周辺回路として,乱数を生成する乱数生成器24(Random Number Generator)と,所定の暗号アルゴリズム(例えば,DES)の演算機能に特化した暗号演算コプロセッサ25(Cryptographic Co-processer)と,所定の伝送プロトコルを実行するUART26(Universal Asynchronous Receiver Transmitter)と,外部装置とのデータの送受信に利用するI/Oポート27とを備えている。
図2で図示したICチップ2の構成は一例に過ぎず,図2で図示していない回路(例えば,WDT: Watched Dog Timer)もICチップ2に備えていてもよく,また,電気的に書換え可能な第2のメモリはFRAMであってもよい。
図2で図示したICチップ2のROM22には,各ICカード1で共通のプログラムコードがICカード1の製造時に実装され,ICチップ2のセキュリティを高めるために,ROM22に記憶されたプログラムコードを外部に読み出すことを禁止するプロテクト機能がICカード1に備えられている。
ROMに記憶されたプログラムコードを外部に読み出すことを禁止するプロテクト機能は,データを外部に読み出すプログラムコード(例えば,Read Commandのプログラムコード)に,読み出すデータのアドレスをチェックする機能を入れることでソフトウェア的に実現できる。また,ICチップ2のCPU20が,メモリ管理ユニット(MMU: Memory Management Unit)の機能を備えている場合は,メモリ管理の機能を利用し該プロテクト機能をハードウェア的に実現することも可能である。
本実施形態において,ICカード1にエンベットされたICチップ2のROM22には,ICカード1用のオペレーティングやアプリケーションのプログラムコードが記憶され,該プログラムコードには,EEPROM23にデータ(ここでは,セキュリティデータ)を暗号化して記憶する処理を実行するときに,セキュリティデータを暗号化する暗号モジュール10と,EEPROM23に暗号化して記憶されたセキュリティデータを利用する処理を実行するときに,暗号化されたセキュリティデータを復号する復号モジュール11と,セキュリティデータの暗号化に利用するスクランブル鍵を派生するための暗号鍵シード12が含まれている。
また,ICカード1のICチップ2のEEPROM23には,ROM22に記憶された暗号鍵シード12から派生することのできるスクランブル鍵の中から,暗号モジュール10及び復号モジュール11が利用するスクランブル鍵を定義する定義情報13が記憶されている。
ICカード1を上述した構成とすることで,ICチップ2のEEPROM22に記憶するセキュリティデータを暗号化するスクランブル鍵を派生するときに利用する暗号鍵シード12は,プロテクト機能が備えられたROM22内に記憶されるために,本発明の「背景技術」に記載しているように該データの管理データがレーザー攻撃を受けた場合であっても,暗号鍵シード12が不正に読み出されることを防止でき,暗号鍵シード12が不正に読み出されることを防止できることはスクランブル鍵が不正に読み出されることを防止できることを意味する。
本発明では,ICカード1にエンベットされたICチップ2のROM22に記憶する暗号鍵シード12からスクランブル鍵を派生させる派生アルゴリズム及びEEPROM23に記憶される定義情報13の具体的内容は,ROM22に記憶される暗号鍵シード12の形態に依存する。
ここから,本発明をより理解できるように,まず,セキュリティデータを暗号化してEEPROM23に記憶させる処理,及び,EEPROM23に暗号化して記憶したセキュリティデータを復号する処理の一連の手順について説明した後,ROM22に記憶される暗号鍵シード12の幾つかの形態について説明する。
図3は,暗号モジュール10の処理の手順を示したフロー図で,図4は,復号モジュール11の処理の手順を示したフロー図である。
図3を参照しながら,暗号モジュール10の処理の手順について説明する。ICカード1は,セキュリティデータの平文を暗号化してEEPROM23に書き込むコマンドメッセージを受信すると,セキュリティデータの平文を暗号化してEEPROM23に書き込む処理を開始する(S1)。
ICカード1が受信するコマンドメッセージのコマンド識別子およびパラメータによって,コマンドメッセージのデータ部を暗号化してEEPROM23に暗号化して書き込む処理と,データ部を書き込むファイルのファイルIDが示され,更に,コマンドメッセージのデータ部には,セキュリティデータの平文データオブジェクトが含まれている。
図5は,平文データオブジェクトのフォーマットを説明する図で,図5に図示したように,セキュリティデータの平文データオブジェクトのタグ部は,データオブジェクトのバリュー部が平文であることを示すTpで,レングス部は,セキュリティデータの平文のデータ長を示すLpで,バリュー部には平文(ここでは,セキュリティデータ)が記述されている。
コマンドメッセージによって,データを暗号化してEEPROM23に書き込む処理を実行することが示されるとき,まず,ICカード1の暗号モジュール10が起動し,暗号モジュール10は,該コマンドメッセージのデータ部に含まれるセキュリティデータの平文データオブジェクトを暗号化する処理を開始する。
暗号モジュール10は起動すると,セキュリティデータの平文データオブジェクトの暗号化に利用するスクランブル鍵を派生するために,EEPROM23から定義情報13を読み取り,定められた派生アルゴリズムに従い,定義情報13で定義される一つのスクランブル鍵をROM22に記憶された暗号鍵シード12から派生し,派生したスクラブル鍵をRAM21にこの処理が終了するまで記憶する(S3)。
そして,暗号モジュール10は,セキュリティデータの平文データオブジェクトの暗号化に利用するスクランブル鍵を派生すると,タグ部及びレングス部を含む平文データオブジェクトのデータ長が,平文データオブジェクトを暗号化する暗号アルゴリズムで規定される長さに合うように,該平文データオブジェクトに所定値をパディングした後,パディング後の該平文データオブジェクトと該スクランブル鍵を暗号演算コプロセッサ25に引き渡して,パディング後の該平文データオブジェクトの暗号処理を暗号演算コプロセッサ25に指示する(S4)。
暗号モジュール10は,パディング後のセキュリティデータの平文データオブジェクトを暗号化した暗号文を暗号演算コプロセッサから引き渡されると,該暗号文の暗号データオブジェクトを生成する(S5)。
図6は,暗号データオブジェクトのフォーマットを説明する図で,図6に図示したように,該暗号データオブジェクトのタグ部は,バリュー部が暗号化されていることを示すTcで,レングス部は,パディング後のセキュリティデータの平文データオブジェクトを暗号化した暗号文のデータ長を示すLpで,バリュー部には該暗号文(ここで,はパディング後のセキュリティデータの平文データオブジェクトの暗号文)が記述されている。
そして,暗号モジュール10は,暗号データオブジェクトを生成すると,データをEEPROM23に書き込む書き込みモジュールを起動させ,書き込みモジュールは,該暗号データオブジェクトをEEPROM23に書き込みした後,コマンドメッセージで示されるファイルID,EEPROM23に書き込み開始した開始アドレス,タグ部及びレングス部を含む暗号データオブジェクトのデータ長を含む管理情報を生成し,該管理情報をEEPROM23に書き込む処理を実行し(S6),図3で図示した手順は終了する。
次に,図4を参照しながら,復号モジュール11の処理の手順について説明する。ICカード1は,セキュリティデータを利用するコマンドメッセージ(例えば,PINを照合するコマンドメッセージ)を受信すると(S10),暗号化された状態でEEPROM23に書き込まれたセキュリティデータを復号する処理を開始する。
ICカード1が受信するコマンドメッセージのコマンド識別子或いはパラメータによって,セキュリティデータを利用する処理と,セキュリティデータのファイルIDが示され,セキュリティデータを利用する処理を実行するモジュールは,コマンドメッセージで示されるファイルIDを含む管理情報の開始アドレスから記憶されているデータオブジェクのタグ部から,該データオブジェクトが暗号データオブジェクトであるか否かを判断し,ここでは,セキュリティデータのデータオブジェクトは暗号化オブジェクトであるため該モジュールは,復号モジュール11を起動させ,セキュリティデータの暗号データオブジェクトのバリュー部を復号する処理を行う(S11)。
復号モジュール11は起動すると,まず,セキュリティデータの暗号データオブジェクトのバリュー部を復号するスクランブル鍵を派生するために,EEPROM23に記憶された定義情報13を読み取り,セキュリティデータの平文データオブジェクトを暗号化したときと同じ派生アルゴリズムに従い,定義情報13で定義される一つのスクランブル鍵をROM22に記憶された暗号鍵シード12から派生し,派生したスクラブル鍵をRAM21にこの処理が終了するまで記憶する(S12)。
復号モジュール11は,バリュー部の復号に利用するスクランブル鍵を特定すると,バリュー部のデータとスクランブル鍵を暗号演算コプロセッサ25に引き渡して,暗号データオブジェクトのバリュー部の復号処理を暗号演算コプロセッサ25に指示する(S13)。
復号モジュール11は,暗号データオブジェクトのバリュー部を復号したデータ,ここでは,パディング後のセキュリティデータの平文データオブジェクトが暗号演算コプロセッサ25から引き渡されると,パディングを除く処理を実行し,セキュリティデータを利用する処理をセキュリティデータの平文データオブジェクトのみを実行するモジュールに引き渡し,該モジュールは,平文データオブジェクトのバリュー部を利用して,セキュリティデータを利用する処理を実行し,この手順を終了する(S14)。
上述したように,本発明では,ICカード1にエンベットされたICチップ2のROM22に記憶する暗号鍵シード12からスクランブル鍵を派生させる派生アルゴリズム及びEEPROM23に記憶される定義情報13の具体的内容は,ROM22に記憶される暗号鍵シード12の形態に依存するため,ここから,幾つかの暗号鍵シード12の形態について,暗号鍵シード12の形態,定義情報13及び派生アルゴリズムの具体的内容について説明する。
実施例1は,ICカード1にエンベットされたICチップのROM22に記憶する暗号鍵シード12を複数のスクランブル鍵で構成したときの実施例である。
図7は,実施例1におけるICチップの暗号鍵シード12及び定義情報13を説明する図である。図7で図示したように,実施例1におけるICチップのROM22には,複数(ここでは,3つ)のスクランブル鍵120a〜cが暗号鍵シード12として記憶され,暗号鍵シード120に含まれるスクランブル鍵120a〜cそれぞれには,スクランブル鍵を識別するためのIDが付与されている。図7では,スクランブル鍵120aのIDは「01」,スクランブル鍵120bのIDは「02」,そして,スクランブル鍵120cのIDは「03」である。
また,図7で図示したように,実施例1におけるICチップ2のEEPROM23には,IC1カードが発行されるときに,セキュリティデータの暗号化に利用するスクランブル鍵を定義する定義情報13には,ICチップのROM22に記憶されるスクランブル鍵120a〜cにそれぞれ付与されたIDの中から,一つのIDが記述される。当然のことながら,EEPROM23に記憶する定義情報10をICカード1毎に変更すれば,セキュリティデータの暗号化に利用するスクランブル鍵を変更することができる。
実施例1においては,図3のS3及び図4のS12において,暗号モジュール10及び復号モジュール11は,それぞれ,ROM22に記憶された3つのスクランブル鍵120a〜cの中から,EEPROM23から読み取った定義情報13と同じIDを有するスクランブル鍵を暗号化に利用するスクランブル鍵として派生させる処理を実行する。
例えば,EEPROM23から読み取った定義情報13が「02」であるときは,ROM22に記憶された3つのスクランブル鍵120a〜cの中から,「02」がIDとして付与されたスクランブル鍵120bが派生される。
このように,実施例1によれば,暗号鍵シード12として複数のスクランブル鍵を用意し,定義情報で指し示される一つのスクランブル鍵をセキュリティデータの暗号化に利用することで,該定義情報がレーザー攻撃を受けて変化しても,セキュリティデータの暗号化に利用したスクランブル鍵とは異なるスクランブル鍵が利用され,セキュリティデータは正常に復号されることがなく,セキュリティデータが不正に利用されることを防止できる。
実施例2は,ICチップ2のROM22に記憶する暗号鍵シード12を乱数テーブルとしたときの実施例である。
図8は,実施例2における暗号鍵シード12及び定義情報13を説明する図である。図8で図示したように,実施例2におけるICチップのROM22には,複数のスクランブル鍵を派生できるように,1バイトの乱数が所定の数だけ並べられた乱数テーブル121が暗号鍵シードして記憶される。
また,図8で図示したように,実施例2におけるICチップのEEPROM23には,ICカードが発行されるときに,セキュリティデータの暗号化に利用するスクランブル鍵を定義する定義情報13として,ICチップのROM22に記憶される乱数テーブル121のオフセット値が記憶されている。
実施例2においては,図3のS3及び図4のS12において,暗号モジュール10及び復号モジュール11は,それぞれ,ROM22に記憶された乱数テーブル121の中から,該オフセット値を開始地点とし,スクランブル鍵の長さに対応する乱数列をスクランブル鍵として派生する処理を実行する。
なお,ICチップのROM22に記憶される乱数テーブルの長さは,スクランブル鍵の長さよりも長くないと,乱数テーブルから複数のスクランブル鍵を派生することができないため,乱数テーブルから派生させることのできるスクランブル鍵の数に応じて,ROM22に記憶される乱数テーブル121の長さは決定される。
このように,実施例2によれば,暗号鍵シード12として乱数テーブルを用意し,定義情報13で指し示されるオフセット値から一意に決定される乱数テーブルの一部をセキュリティデータの暗号化に利用することで,実施例1と同様の効果が得られると共に,実施例1と比較して,暗号鍵シード12の容量を小さくすることができるようになる。
実施例3は,実施例2と同様に,セキュリティデータの暗号化に利用するスクランブル鍵を得るために利用する一つの乱数テーブルをICチップのROM22に記憶させ,更に,該乱数テーブルから取得したスクランブル鍵の長さの乱数列の暗号化に利用するマスター鍵を暗号鍵シードとしてROM22に記憶させた実施例である。
図9は,実施例3における暗号鍵シード12及び定義情報13を説明する図である。図9で図示したように,実施例3におけるICチップ2のROM22には,複数のスクランブル鍵を生成するために利用され,1バイトの乱数が所定の数だけ並べられた乱数テーブル122に加え,乱数テーブル122から取得されるスクランブル鍵の長さの乱数を暗号化するためのマスター鍵123が記憶されている。
また,図9で図示したように,実施例3におけるICチップのEEPROM23には,実施例2と同様に,ICカード1が発行されるときに,セキュリティデータの暗号化に利用するスクランブル鍵を指定する定義情報13として,ICチップのROM22に記憶される乱数テーブル122のオフセット値が記憶されている。
実施例3においては,図3のS3及び図4のS12において,暗号モジュール10及び復号モジュール11は,それぞれ,スクランブル鍵を派生するために,ROM22に記憶された乱数テーブル122から,該オフセット値を開始地点とし,スクランブル鍵の長さに対応する乱数列を取得した後,該乱数列とROM22に記憶されたマスター鍵を暗号演算コプロセッサ25に引き渡して,該乱数列の暗号処理を暗号演算コプロセッサ25に指示し,該乱数列の暗号文をスクランブル鍵として派生する処理を実行する。
このように,実施例3によれば,暗号鍵シード12として乱数テーブルを用意し,定義情報13で指し示されるオフセット値から一意に決定される乱数テーブルの一部をマスター鍵で暗号化した暗号文をセキュリティデータの暗号化に利用することで,乱数テーブルそのものがスクランブル鍵の派生に利用されないため,他の用途で利用する乱数テーブルをスクランブル鍵の派生に使い回すことができるようになる。
1 ICカード
10 暗号モジュール
11 復号モジュール
12 暗号鍵シード
13 定義情報
2 ICチップ
20 CPU
21 RAM
22 ROM
23 EEPROM
24 乱数生成回路
25 暗号演算コプロセッサ

Claims (9)

  1. 外部へのデータ読み出しが禁止された第1の不揮発性メモリと,電気的に書換え可能な第2の不揮発性メモリを備えたセキュリティトークンであって,
    前記第1の不揮発性メモリには,前記第2の不揮発性メモリに書き込むデータを暗号化するスクランブル鍵を派生するための暗号鍵シードが記憶され,前記第2の不揮発性メモリには,前記暗号鍵シードから派生される前記スクランブル鍵の中から,一つの前記スクランブル鍵を定義する定義情報が記憶され,前記第2の不揮発性メモリにデータを暗号化して書き込む処理を実行するとき,所定の派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させ,該スクランブル鍵を該データの暗号化に利用するように構成されていることを特徴とするセキュリティトークン。
  2. 請求項1に記載のセキュリティトークンであって,前記第2の不揮発性メモリに暗号化して記憶されたデータを利用する処理を実行するとき,該データを暗号化した時と同じ前記派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させ,該スクランブル鍵を該データの復号に利用するように構成されていることを特徴とするセキュリティトークン。
  3. 請求項2に記載のセキュリティトークンであって,前記暗号鍵シードは複数の前記スクランブル鍵で構成され,前記定義情報は,前記暗号鍵シードに含まれる一つの前記スクランブル鍵を指定する情報であって,前記派生アルゴリズムは,前記定義情報で指定された前記スクランブル鍵を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークン。
  4. 請求項1または請求項2に記載のセキュリティトークンであって,前記暗号鍵シードは,前記スクランブル鍵の長さよりも長い乱数テーブルで構成され,前記定義情報は,前記乱数テーブルのオフセット値であって,前記派生アルゴリズムは,前記乱数テーブルを参照し,前記定義情報で指定されたオフセット値から開始位置とし前記スクランブル鍵の長さの乱数列を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークン。
  5. 請求項4に記載のセキュリティトークンであって,前記第1の不揮発性メモリには,前記乱数列を暗号化するためのマスター鍵が記憶され,前記派生アルゴリズムは,前記乱数テーブルから得られる前記乱数列を前記マスター鍵で暗号化した暗号文を,データの暗号化/復号に利用する前記スクランブル鍵として派生させるアルゴリズムであることを特徴とするセキュリティトークン。
  6. セキュリティトークンに書き込むデータの暗号化に利用するスクランブル鍵を派生させる方法であって,
    外部へのデータ読み出しが禁止された第1の不揮発性メモリに,前記スクランブル鍵を派生するための暗号鍵シードを記憶させ,更に,電気的に書き換え可能な第2の不揮発性メモリに,前記暗号鍵シードから派生される前記スクランブル鍵の中から,一つの前記スクランブル鍵を定義する定義情報を記憶させておき,前記第2の不揮発性メモリにデータを暗号化して書き込む処理を実行するとき,該データの暗号化に利用する前記スクランブル鍵を,所定の派生アルゴリズムに従い,前記定義情報で定義される一つの前記スクランブル鍵を前記暗号鍵シードから派生させることを特徴とするスクランブル鍵の派生方法。
  7. 請求項6に記載のスクランブル鍵の派生方法であって,前記暗号鍵シードは複数の前記スクランブル鍵で構成され,前記定義情報は,前記暗号鍵シードに含まれる一つの前記スクランブル鍵を指定する情報であって,前記定義情報で指定された前記スクランブル鍵を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法。
  8. 請求項6に記載のスクランブル鍵の派生方法であって,前記暗号鍵シードは,前記スクランブル鍵の長さよりも長い乱数テーブルで構成され,前記定義情報は,前記乱数テーブルのオフセット値であって,前記乱数テーブルを参照し,前記定義情報で指定されたオフセット値から開始位置とし前記スクランブル鍵の長さの乱数列を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法。
  9. 請求項8に記載のスクランブル鍵の派生方法であって,前記第1の不揮発性メモリには,前記乱数列を暗号化するためのマスター鍵が記憶され,前記乱数テーブルから得られる前記乱数列を前記マスター鍵で暗号化した暗号文を,データの暗号化/復号に利用する前記スクランブル鍵として派生させることを特徴とするスクランブル鍵の派生方法。
JP2009104561A 2009-04-22 2009-04-22 セキュリティトークン及びスクランブル鍵の派生方法 Expired - Fee Related JP5447790B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009104561A JP5447790B2 (ja) 2009-04-22 2009-04-22 セキュリティトークン及びスクランブル鍵の派生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009104561A JP5447790B2 (ja) 2009-04-22 2009-04-22 セキュリティトークン及びスクランブル鍵の派生方法

Publications (2)

Publication Number Publication Date
JP2010258630A true JP2010258630A (ja) 2010-11-11
JP5447790B2 JP5447790B2 (ja) 2014-03-19

Family

ID=43319074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009104561A Expired - Fee Related JP5447790B2 (ja) 2009-04-22 2009-04-22 セキュリティトークン及びスクランブル鍵の派生方法

Country Status (1)

Country Link
JP (1) JP5447790B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101442A (ja) * 2011-11-08 2013-05-23 Renesas Electronics Corp マイクロコンピュータおよびデータ処理装置
WO2015115074A1 (ja) * 2014-01-30 2015-08-06 株式会社モフィリア 撮像システム及び撮像装置
CN112422279A (zh) * 2020-11-11 2021-02-26 深圳市中易通安全芯科技有限公司 一种智能终端密钥管理方法和分层管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049640A (ja) * 1996-08-01 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Icカード認証システムおよび認証方法
JP2003051820A (ja) * 2001-06-11 2003-02-21 Stmicroelectronics Sa 集積回路におけるデータの保護蓄積
JP2003198529A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 集積回路識別子からの秘密量の再生
JP2003198528A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 単一の集積回路識別子の多様化
JP2005510095A (ja) * 2001-11-14 2005-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報漏洩が低減される装置および方法
JP2009505521A (ja) * 2005-08-18 2009-02-05 エントロピック テクノロジーズ ピーティーワイ エルティーディー コード生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049640A (ja) * 1996-08-01 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Icカード認証システムおよび認証方法
JP2003051820A (ja) * 2001-06-11 2003-02-21 Stmicroelectronics Sa 集積回路におけるデータの保護蓄積
JP2005510095A (ja) * 2001-11-14 2005-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報漏洩が低減される装置および方法
JP2003198529A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 集積回路識別子からの秘密量の再生
JP2003198528A (ja) * 2001-11-30 2003-07-11 Stmicroelectronics Sa 単一の集積回路識別子の多様化
JP2009505521A (ja) * 2005-08-18 2009-02-05 エントロピック テクノロジーズ ピーティーワイ エルティーディー コード生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柴田陽一,中村逸一,曽我正和,田窪昭夫,西垣正勝: ""メカニズムベースPKI"", コンピュータセキュリティシンポジウム2003, vol. 第2003巻,第15号, JPN6013030793, 29 October 2003 (2003-10-29), JP, pages 181 - 186, ISSN: 0002691483 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101442A (ja) * 2011-11-08 2013-05-23 Renesas Electronics Corp マイクロコンピュータおよびデータ処理装置
WO2015115074A1 (ja) * 2014-01-30 2015-08-06 株式会社モフィリア 撮像システム及び撮像装置
JPWO2015115074A1 (ja) * 2014-01-30 2017-03-23 株式会社モフィリア 撮像システム及び撮像装置
CN112422279A (zh) * 2020-11-11 2021-02-26 深圳市中易通安全芯科技有限公司 一种智能终端密钥管理方法和分层管理系统
CN112422279B (zh) * 2020-11-11 2023-02-03 深圳市中易通安全芯科技有限公司 一种智能终端密钥管理方法和分层管理系统

Also Published As

Publication number Publication date
JP5447790B2 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
JP5984625B2 (ja) 半導体装置及び暗号鍵書き込み方法
CN105144626B (zh) 提供安全性的方法和设备
TWI717907B (zh) 用於安全記憶體的方法與系統
CN102084313B (zh) 用于数据安全的系统和方法
CN107004083B (zh) 设备密钥保护
US20150186679A1 (en) Secure processor system without need for manufacturer and user to know encryption information of each other
EP2506488B1 (en) Secure dynamic on-chip key programming
CA2780717C (en) A method of assigning a secret to a security token, a method of operating a security token, storage medium and security token
CN110490008B (zh) 安全装置及安全芯片
CN103782538A (zh) 认证器
US9042553B2 (en) Communicating device and communicating method
CN101770559A (zh) 数据保护装置和方法
JP2013251609A (ja) 情報処理装置、icチップ及び情報処理方法
JP5447790B2 (ja) セキュリティトークン及びスクランブル鍵の派生方法
CN105608775B (zh) 一种鉴权的方法、终端、门禁卡及sam卡
CN114785503A (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN102662874A (zh) 双界面加密存储卡及其中的数据管理方法和系统
US8413906B2 (en) Countermeasures to secure smart cards
JP3567615B2 (ja) 情報記録システム
JP2010092117A (ja) データ処理装置及びデータ処理方法
CN116090031B (zh) 一种基于芯片uuid的固件加密方法
CN113395156B (zh) 逻辑加密卡及其认证方法、计算机可读存储介质
IDPrime FIPS 140-2 Cryptographic Module Security Policy Level 3
EVANGELISTA Security Target SOMA-c003 Electronic Passport
Brych et al. FIPS 140-2 Level 3 Non-Proprietary Security Policy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130820

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131217

R150 Certificate of patent or registration of utility model

Ref document number: 5447790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees