JPH11191149A - Icカード用lsiおよびその使用方法 - Google Patents

Icカード用lsiおよびその使用方法

Info

Publication number
JPH11191149A
JPH11191149A JP9358977A JP35897797A JPH11191149A JP H11191149 A JPH11191149 A JP H11191149A JP 9358977 A JP9358977 A JP 9358977A JP 35897797 A JP35897797 A JP 35897797A JP H11191149 A JPH11191149 A JP H11191149A
Authority
JP
Japan
Prior art keywords
data
unit
bit
processing
authentication
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.)
Pending
Application number
JP9358977A
Other languages
English (en)
Inventor
Yoshihiro Masana
芳弘 正名
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP9358977A priority Critical patent/JPH11191149A/ja
Priority to EP98118154A priority patent/EP0926624B1/en
Priority to DE69833902T priority patent/DE69833902T2/de
Priority to US09/210,458 priority patent/US6299069B1/en
Publication of JPH11191149A publication Critical patent/JPH11191149A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor

Abstract

(57)【要約】 【課題】 認証データ生成アルゴリズムを容易に変更で
き、セキュリティを向上させることができる。 【解決手段】 EEPROM16には認証データ生成用
ファイル16bが記憶されており、コマンド処理集積部
13の認証データ生成部13aは、論理回路により構成
された制御ロジック部と、乱数データを格納するレジス
タと、乱数データに単位処理を施すデータ処理部とを有
する。上位装置からインターフェイス部10に認証デー
タ生成処理コマンドが送られ、このコマンドがコマンド
レジスタ11に格納されると、コマンドデコーダ12は
認証データ生成部13aを起動する。認証データ生成部
13aは、制御ロジック部によりデータ処理部およびE
EPROM16を制御し、認証データ生成用ファイル1
6bの命令コードを順次ロードし、各命令コードに対応
する単位処理を順次実行し、認証データを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ICカードまたは
上位装置の正当性を証明する認証データを生成する機能
を備えたICカード用LSIおよびその使用方法に関す
るものであり、特に認証データ生成のアルゴリズムをフ
レキシブルに変更でき、セキュリティを向上できるIC
カード用LSIに関するものである。
【0002】
【従来の技術】従来、この種のICカード用LSIは、
特開平3−224083号公報に開示されているよう
に、CPUからなる制御部と、書き換え可能な不揮発性
メモリからなるデータメモリと、マスクROMからなる
プログラムメモリとで構成され、認証データ生成処理を
含む各種コマンド処理を実行するものであり、データメ
モリの認証用キーデータをパラメータとして用いるプロ
グラムメモリの固定の認証データ生成プログラムに従っ
て、制御部において乱数データに認証データ生成処理を
施すことにより、上位装置との相互認証における認証デ
ータを生成するものである。また、CPUではなく論理
回路を用いて制御部を構成し、この制御部において固定
のアルゴリズムにより認証データを生成するICカード
用LSIもある。
【0003】
【発明が解決しようとする課題】しかしながら、CPU
を備えた上記従来のICカード用LSIには、LSIの
サイズが大きく、価格が高くなるという欠点がある。ま
た、固定の論理回路により制御部を構成した上記従来の
ICカード用LSIには、低コストの反面、高度な暗号
処理ができないという欠点がある。従って、第三者に解
読されるとシステム全体のセキュリティを脅かす危険性
がある。また、上記いずれのICカード用LSIにおい
ても、認証データ生成処理にマスクROMまたは論理回
路が用いられるため、認証データ生成処理のアルゴリズ
ムを変更するには、LSIを作成するフォトマスクを変
更しなければならず、変更にコストも時間もかかる。こ
のため、容易に認証データ生成処理のアルゴリズムを変
更できないという問題があった。
【0004】本発明はこのような従来の問題を解決する
ためになされたものであり、認証データ生成のアルゴリ
ズムをフレキシブルに変更でき、セキュリティを向上で
きるICカード用LSIを提供することを目的とするも
のである。
【0005】
【課題を解決するための手段】上記の目的を達成するた
めに本発明のICカード用LSIは、外部とデータの授
受を行うインターフェイス手段と、外部から入力された
または内部で生成された乱数データに、認証データ生成
用ファイルによる認証データ生成処理を施すことによ
り、認証データを生成する認証データ生成手段と、前記
認証データ生成用ファイルを記憶している不揮発性記憶
手段とを備え、前記認証データ生成手段が、論理回路に
より構成された、前記認証データ生成用ファイルに従っ
て前記認証データ生成処理を制御する制御ロジック部を
有する、または/および前記認証データ生成用ファイル
を記憶している不揮発性記憶手段が、電気的にデータの
書き込みが可能な不揮発性記憶手段であることを特徴と
する。
【0006】
【発明の実施の形態】実施の形態1 図1は本発明の実施の形態1のICカード用LSI1の
全体ブロック図である。ICカード用LSI1は、イン
ターフェイス部10(インターフェイス手段)と、コマ
ンドレジスタ11と、コマンドデコーダ12と、コマン
ド処理集積部13と、アドレスレジスタ&カウンタ15
と、電気的に書き換えが可能な不揮発性メモリ(EEP
ROM)16(不揮発性記憶手段)と、8ビットのデー
タバスL1と、電源端子VDDと、接地端子GNDと、
リセット入力端子RSTと、動作クロックが入力される
クロック入力端子CLKと、データ入出端子SIOとを
有する。
【0007】電源端子VDDは外部の正電源に接続さ
れ、接地端子GNDは外部の接地電源に接続される。リ
セット端子RSTにはICカード用LSI1をリセット
するためのリセット信号が外部から入力され、クロック
入力端子CLKにはICカード用LSI1の動作クロッ
クが外部から入力される。データ入出端子SIOは、図
示しない上位装置に接続されている。また、インターフ
ェイス部10とコマンド処理集積部13とEEPROM
16とは、8ビットのデータバスL1により接続されて
いる。
【0008】インターフェイス部10は、電源端子VD
D、接地端子GND、リセット入力端子RST、クロッ
ク入力端子CLK、およびデータ入出端子SIOに接続
されており、データ入出端子SIOを介して、各種コマ
ンド処理のコマンドコード等のデータを上位装置から受
け取り、また必要に応じて上位装置にデータを送る。ま
た、コマンドレジスタ11は、インターフェイス部10
を通じて上位装置から送られてきた各種コマンドコード
を格納する。また、コマンドデコーダ12は、上位装置
により指定されたコマンド処理を、コマンドレジスタ1
1に格納されたコマンドコードにより判定する。
【0009】コマンド処理集積部13は、ランダムロジ
ック回路により構成され、認証データ生成処理のコマン
ドコードが上位装置から入力されたときに認証データ生
成処理を実行する認証データ生成部13a(認証データ
生成手段)等の、各コマンド処理をそれぞれ実行する各
種のコマンド処理部(認証データ生成部13a以外は図
示省略)と、コマンド処理部からの命令に従ってEEP
ROM16を制御するEEPROMコントローラ13b
とを有する。各種のコマンド処理部は、コマンドデコー
ダ12により起動される。また、EEPROM16は、
認証用キーデータ16aおよび認証データ生成用ファイ
ル16bを記憶している。EEPROM16は、コマン
ド処理集積部13のEEPROMコントローラ13bか
らの命令に従い、アドレスレジスタ&カウンタ15によ
り指定されたアドレスのデータをデータバスL2上に読
み出しまたは指定されたアドレスにデータバスL2上の
データを書き込む。また、アドレスレジスタ&カウンタ
15は、コマンド処理集積部13のコマンド処理部から
の命令に従ってEEPROM16のアドレスデータを生
成する。なお、アドレスレジスタ&カウンタ15は、E
EPROM16に度数データを書き込む場合等に、コマ
ンドレジスタ11に格納されたデータに基づいてアドレ
スデータを生成することもある。
【0010】ICカードと上位装置との相互認証の手順
は、上位装置がICカードの正当性を認証する手順と、
逆にICカードが上位装置の正当性を認証する手順から
なる。上位装置がICカードの正当性を認証する手順に
おいては、ICカードは、上位装置から転送されてきた
ICカード認証用の乱数データを用いてICカード認証
用の認証データを生成し、これを上位装置に返送する。
上位装置は、ICカードとは別に、上記のICカード認
証用の乱数データを用いてICカード認証用の認証デー
タを生成し、この認証データとICカードから返送され
てきた認証データとが一致するか否かにより、ICカー
ドの正当性を判定する。また、ICカードが上位装置の
正当性を認証する手順においては、ICカードは、上位
装置認証用の乱数データを発生し、この乱数データを上
位装置に転送するとともに、この乱数データを用いて上
位装置認証用の認証データを生成する。上位装置は、I
Cカードから転送された上位装置認証用の乱数データを
用いて上位装置認証用の認証データを生成し、この認証
データをICカードに返送する。ICカードは、自身で
生成した上位装置認証用の認証データと、上位装置から
返送されてきた認証データとが一致するか否かにより、
上位装置の正当性を判定する。
【0011】認証データ生成部13aによる認証データ
生成処理は、開始処理、各種の単位処理、および終了処
理を順次実行することにより、認証データを生成する処
理である。また、認証データ生成用ファイル16bは、
複数の命令コードを羅列したものである。この命令コー
ドは、各種の単位処理のいずれかの実行コードである
か、終了処理の実行コードである。すなわち、認証デー
タ生成用ファイル16bは、単位処理および終了処理の
実行コードを羅列したものであり、認証データ生成処理
において、どのような単位処理をどのような順番で実行
するかを示すものである。認証データ生成用ファイル1
6bには、同一単位処理の実行コードが複数含まれてい
ても良い。なお、この実施の形態1においては、命令コ
ードは、単位処理または終了処理の実行コードであるも
のとしたが、認証データ生成用ファイル16bに、単位
処理および終了処理の実行コードのいずれにも該当しな
い命令コードが含まれていても良い。
【0012】図2は認証データ生成部13aのブロック
図である。図2において、認証データ生成部13aは、
KEYレジスタ131(認証用キー格納部)と、RAN
レジスタ132(乱数/認証データ格納部)と、シフト
レジスタ133(データ格納/ビットシフト部)と、セ
レクタ134と、ビット置換部135と、ビット反転部
136と、XOR部137と、INSレジスタ138
(命令コード格納部)と、論理回路により構成された制
御ロジック部139と、16ビットのローカルデータバ
スL2とを有する。なお、シフトレジスタ133と、セ
レクタ134と、ビット置換部135と、ビット反転部
136と、XOR部137と、ローカルデータバスL2
とは、データ処理部を構成している。この実施の形態1
における単位処理は、RANレジスタ132−シフトレ
ジスタ133間でデータを転送するRAN−シフト転送
処理(乱数/認証データ転送処理)、ビットシフト処
理、ビット置換処理、ビット反転処理、およびXOR処
理である。
【0013】KEYレジスタ131とRANレジスタ1
32とINSレジスタ138とは、データバスL1に接
続されている。また、RANレジスタ132とシフトレ
ジスタ133とビット置換部135とビット反転部13
6とXOR部137とは、ローカルデータバスL2に接
続されている。なお、ここでは、認証用キーデータ16
aおよび乱数データが6バイトのデータであるものとす
る。乱数データは、認証データの生成処理において、上
位装置から入力されるデータもしくはICカード内部で
生成されるデータである。また、認証データ生成部13
a内のデータ処理は、全て16ビット単位の処理である
ものとする。
【0014】KEYレジスタ131は、各1バイトのレ
ジスタKEY0〜KEY5からなる計6バイトのレジス
タであり、EEPROM16から読み出され、データバ
スL1を介して入力された認証用キーデータ16aを格
納し、この認証用キーデータ16aをセレクタ134に
出力する。また、RANレジスタ132は、各1バイト
のレジスタRAN0〜RAN5からなる計6バイトのレ
ジスタであり、インターフェイス部10およびデータバ
スL1を介して上位装置から入力された乱数データ、あ
るいはICカード用LSI1において図示しない乱数デ
ータ発生部により発生させた乱数データを格納し、この
乱数データをローカルデータバスL2に出力するととも
に、レジスタRAN0およびRAN1に格納された乱数
データをセレクタ134に出力する。RAN0およびR
AN1には、乱数データの下位16ビットデータが格納
される。
【0015】シフトレジスタ133は、シフトキャリア
(最終段のビットレジスタの出力)をラインL3により
初段のビットレジスタの入力に接続した16ビットのシ
フトレジスタであり、ローカルデータバスL2から入力
された16ビットのデータを各ビットレジスタに格納
し、またこのデータの各ビットを循環シフトさせること
によりビットシフトデータを生成する(ビットシフト処
理)。すなわち、ビットシフト処理において、シフトキ
ャリアとしてあふれたビットは、ラインL3により下位
ビットとしてシフトレジスタ133に入力される。ま
た、セレクタ134は、KEYレジスタ131のレジス
タKEY0およびKEY1に格納された認証用キーデー
タ16aの16ビットデータ、レジスタKEY2および
KEY3に格納された認証用キーデータ16aの16ビ
ットデータ、レジスタKEY4およびKEY5に格納さ
れた認証用キーデータ16aの16ビットデータ、ある
いはRANレジスタ132のレジスタRAN0およびR
AN1に格納された乱数データの下位16ビットデータ
のいずれかを選択し、選択した16ビットデータをXO
R部137に出力する。
【0016】ビット置換部135は、ビット置換テーブ
ルを記憶しており、このビット置換テーブルに基づい
て、シフトレジスタ133から入力された16ビットデ
ータの特定ビットを特定値に置換することによりビット
置換データを生成し(ビット置換処理)、このビット置
換データをローカルデータバスL2に出力する。上記ロ
ーカルデータバスL2に出力されたビット置換データ
は、再びシフトレジスタ133に格納される(シフトレ
ジスタ133のデータはビット置換データに更新され
る)。また、ビット反転部136は、ビット反転テーブ
ルを記憶しており、このビット反転テーブルに基づい
て、シフトレジスタ133から入力された16ビットデ
ータの特定ビットを反転することによりビット反転デー
タを生成し(ビット反転処理)、このビット反転データ
をローカルデータバスL2に出力する。上記ローカルデ
ータバスL2に出力されたビット反転データも、再びシ
フトレジスタ133に格納される(シフトレジスタ13
3のデータはビット反転データに更新される)。また、
XOR部137は、セレクタ134から入力された16
ビットデータ(KEYレジスタ131に格納された認証
用キーデータ16aの16ビットデータまたはRANレ
ジスタ132に格納された乱数データの下位16ビット
データのいずれか制御ロジック部139により指定され
たデータ)とシフトレジスタ133から入力された16
ビットデータとの対応するビットの排他的論理和からな
る排他的論理和データを生成し(XOR処理)、この排
他的論理和データをローカルデータバスL2に出力す
る。上記ローカルデータバスL2に出力されたXORデ
ータも、再びシフトレジスタ133に格納される(シフ
トレジスタ133のデータは排他的論理和データに更新
される)。
【0017】INSレジスタ138は、8ビットのレジ
スタであり、EEPROM16から読み出され、データ
バスL1を介して入力された認証データ生成用ファイル
16bの8ビットの命令コードを格納し、このEEPR
OM16からロードされた命令コードを制御ロジック部
139に出力する。
【0018】論理回路により構成される制御ロジック部
139は、開始処理制御部139xと、終了処理制御部
139fとを有し、また各単位処理に対応して複数設け
られた単位処理制御部として、RAN−シフト転送処理
制御部139aと、ビットシフト処理制御部139b
と、ビット置換処理制御部139cと、ビット反転処理
制御部139dと、XOR処理制御部139eとを有す
る。
【0019】開始処理制御部139xは、認証データ生
成処理の開始時に起動され、KEYレジスタ131、R
ANレジスタ132、INSレジスタ138、EEPR
OMコントローラ13b、およびアドレスレジスタ&カ
ウンタ15を制御し、乱数データをRANレジスタ13
2に格納するとともに、EEPROM16の認証用キー
データ14aをデータバスL1を介してKEYレジスタ
131に格納し、コード番号の初期値をロードコード番
号に設定し、このロードコード番号に該当するコード番
号の命令コード(コード番号が初期値の命令コード)を
INSレジスタ138にロードする。認証データ生成用
ファイル16bの命令コードはどのような順番でロード
されるかが決まっている。上記のコード番号は、それぞ
れの命令コードに対応する番号であるとともに、対応す
る命令コードのロード順を示す番号である。また、上記
のロードアドレス番号は、どのコード番号の命令コード
をINSレジスタ138にロードするかあるいはロード
してあるかを示す番号であり、コード番号のいずれかに
設定される変数である。
【0020】また、単位処理制御部は、ロードされた命
令コードが対応する単位処理の実行コードであるときに
選択的に起動され、対応する単位処理を実行させ、次に
EEPROMコントローラ13b、アドレスレジスタ&
カウンタ15、およびINSレジスタ138を制御する
ことにより(EEPROM16はPROMコントローラ
13bおよびアドレスレジスタ&カウンタ15により制
御される)、ロードコード番号を1つインクリメント
し、このロードコード番号に該当するコード番号の命令
コードをロードする。RAN−シフト転送処理制御部1
39aは、RAN−シフト転送処理に対応する単位処理
制御部であり、RANレジスタ132およびシフトレジ
スタ133を制御し、RAN−シフト転送処理を実行さ
せる。また、ビットシフト処理制御部139bは、ビッ
トシフト処理に対応する単位処理制御部であり、シフト
レジスタ133を制御し、ビットシフト処理を実行させ
る。また、ビット置換処理制御部139cは、ビット置
換処理に対応する単位処理制御部であり、シフトレジス
タ133およびビット置換部135を制御し、ビット置
換処理を実行させる。また、ビット反転処理制御部13
9dは、ビット反転処理に対応する単位処理制御部であ
り、シフトレジスタ133およびビット反転部136を
制御し、ビット反転処理を実行させる。また、XOR処
理制御部139eは、XOR処理に対応する単位処理制
御部であり、KEYレジスタ131、RANレジスタ1
32、シフトレジスタ133、セレクタ134、および
XOR部137を制御し、XOR処理を実行させる。ま
た、終了処理部139fは、ロードされた命令コードが
終了処理の実行コードであるときに起動される。終了処
理制御部139fが起動されたときには、生成した認証
データはRANレジスタ132に格納されている。終了
処理制御部139fは、RANレジスタ132を制御
し、RANレジスタ132に格納されたデータを認証デ
ータとして、認証データ生成処理を終了させる。認証デ
ータは、その後データバスL1を通じて、上位装置に送
られ、あるいはコマンド処理集積部の図示しない認証デ
ータ判定部に送られ、あるいはEEPROM16に書き
込まれる。
【0021】例えば、命令コードの個数が20であり、
最初にロードされる命令コードにコード番号1を対応さ
せ、最後にロードされる命令コードにコード番号20を
対応させることにより、1〜20のコード番号をロード
される順番に20個の命令コードにそれぞれ対応させる
ものとすると、開始処理において、ロードコード番号は
1に設定され、コード番号1の命令コードがロードされ
る。また、ロードされたコード番号k(kは1〜20の
いずれかの整数)の命令コードが、例えばビットシフト
処理の実行コードであれば、ビットシフト処理制御部1
39bが起動される。ビットシフト処理制御部139b
は、ビットシフト処理を実行させ、ロードコード番号を
kからk+1にインクリメントし、コード番号k+1の
命令コードをロードする。あまた、コード番号またはロ
ードコード番号とEEPROM16における各命令コー
ドのアドレスとを対応させても良い。
【0022】次に、本発明の実施の形態1のICカード
用LSI1の動作を説明する。まず、図示しない上位装
置からICカード用LSI1のインターフェイス部10
に入力された、EEPROM16のデータ読み出し/書
き込み処理、認証データ作成処理等のコマンド処理を示
す各種コマンドコードは、インターフェイス部10から
コマンドレジスタ11に転送され、コマンドレジスタ1
1に格納される。さらに、このコマンドコードは、コマ
ンドデコーダ12に転送される。
【0023】コマンドデコーダ12は、コマンドレジス
タ11から転送されてきたコマンドコードがどのような
コマンド処理を示すものであるかを判定し、判定したコ
マンド処理を実行するコマンド処理集積部13のコマン
ド処理部を起動する。そして、コマンドデコーダ12に
より起動されたコマンド処理部によりコマンドコードに
対応するコマンド処理が実行される。例えば、上位装置
から入力されたコマンドコードがEEPROM16にア
クセスするコマンド処理である場合には、このコマンド
処理を実行するコマンド処理部は、EEPROMコント
ローラ13bとアドレスレジスタ&カウンタ15により
EEPROM16を制御し、データバスL1を介してと
上位装置の間のデータ転送を実行させる。また、上位装
置から入力されたコマンドコードが認証データ生成処理
である場合には、コマンドデコーダ12により認証デー
タ生成部13aが起動され、認証データ生成部13a
は、EEPROMコントローラ13bとアドレスレジス
タ&カウンタ15によりEEPROM16を制御し、乱
数データに対し認証データ生成用ファイル16bの命令
コードによる単位処理を順次実行することにより、上記
の乱数データから認証データを生成する。このとき、認
証用キーデータ16aは、所定の単位処理においてパラ
メータとして用いられる。
【0024】図3は本発明の実施の形態1の認証データ
生成処理における命令コードと処理内容を示す図であ
る。命令コードの上位4ビットが各単位処理の実行コー
ドである。図3においては、”0001”がRAN−シ
フト転送処理の実行コードであり、”0010”がビッ
トシフト処理の実行コードであり、”0011”がビッ
ト置換処理の実行コードであり、”0100”がビット
反転処理の実行コードであり、”0101”がXOR処
理の実行コードである。また、”1111”が終了処理
の実行コードである。
【0025】INSレジスタ138にロードされた命令
コードの上位4ビットが”0001”である場合は、R
AN−シフト転送処理制御部139aが起動され、RA
N−シフト転送処理が実行される。このとき、命令コー
ドの下位4ビットの内、上位の2ビットにより転送先が
指定され、また下位2ビットにより転送元が指定され
る。転送先または転送元の2ビットが”00”の場合は
シフトレジスタ133を示し、”01”の場合はRAN
レジスタ132のレジスタRAN0およびRAN1を示
し、”10”の場合はレジスタRAN2およびRAN3
を示し、また”11”の場合はRAN4および5を示
す。例えば、命令コードが”0001 1000”の場
合には、レジスタRAN0およびRAN1の16ビット
データがシフトレジスタ133に転送される。
【0026】また、ロードされた命令コードの上位4ビ
ットが”0010”である場合は、ビットシフト処理制
御部139bが起動され、シフトレジスタ133により
ビットシフト処理が実行される。このとき、命令コード
の下位4ビットの値は、ビットシフト数を示す。例えば
下位4ビットの値が”0011”の場合は3ビットシフ
トを示し、また”0101”の場合は5ビットシフトを
示す。
【0027】また、命令コードの上位4ビットが”00
11”の場合は、ビット置換処理部139cが起動さ
れ、ビット置換部135によりビット置換テーブルに従
ってシフトレジスタ133のデータのビット置換処理が
実行され、生成されたビット置換データがシフトレジス
タ133に格納される。このとき、命令コードの下位4
ビットは任意である。
【0028】また、ロードされた命令コードの上位4ビ
ットが”0100”の場合は、ビット反転処理制御部1
39cが起動され、ビット反転部136によりビット反
転テーブルに従ってシフトレジスタ133のデータのビ
ット置換処理が実行され、生成されたビット置換データ
がシフトレジスタ133に格納される。このとき、命令
コードの下位4ビットは任意である。
【0029】また、ロードされた命令コードの上位4ビ
ットが”0100”の場合は、ビット反転処理制御部1
39dが起動され、ビット反転部136により、ビット
反転テーブルに従ってシフトレジスタ133のデータの
特定ビットを反転させるビット反転処理が実行され、生
成されたビット反転データがシフトレジスタ133に格
納される。このとき、INSレジスタ138の下位4ビ
ットの値は任意である。
【0030】また、ロードされた命令コードの上位4ビ
ットが”0101”の場合は、XOR処理制御部139
eが起動され、XOR部137によりシフトレジスタ1
33のデータと指定されたデータ(セレクタ134によ
る選択データ)とのXOR処理が実行され、生成された
XORデータがシフトレジスタ133に格納される。こ
のとき、命令コードの下位4ビットによりセレクタ13
4の選択データが指定される。下位4ビットが”000
1”の場合はRANレジスタ132のレジスタRAN0
およびRAN1のデータが選択され、”0010”の場
合はKEYレジスタ131のレジスタKEY0およびK
EY1のデータが選択され、”0100”の場合はレジ
スタKEY2およびKEY3のデータが選択され、ま
た”1000”の場合はレジスタKEY4およびKEY
5のデータが選択される。
【0031】また、ロードされた命令コードの上位4ビ
ットが”1111”の場合は、終了処理制御部139f
が起動される。終了処理制御部139fが起動されたと
きに、RANレジスタ132に格納されているデータ
が、生成された認証データとなる。終了処理制御部13
9fは、上位装置、図示しない認証データ判定部、また
はEEPROM16に転送し、一連の認証データ生成処
理を終了する。このとき、命令コードの下位4ビットは
任意である。
【0032】図4は本発明の実施の形態1の認証データ
生成処理の手順を示すフローチャートである。図4にお
いて、kは上記のロードコード番号である。まず、認証
データ生成部13aの開始処理制御部139xは、ステ
ップS1でEEPROM16の認証用キーデータ16a
をデータバスL1を介してKEYレジスタ131に格納
するとともに、乱数データをRANレジスタ132に格
納し、ステップS2でアドレスレジスタ&カウンタ15
に認証データ生成用ファイル16bのコード番号1の命
令コードのEEPROM16におけるアドレスをセット
し(このステップS2はロードコード番号kを1に設定
することに該当する)、ステップS3で認証データ生成
用ファイル16bのコード番号1の命令コードをデータ
バスL1を介してINSレジスタ138にロードする。
【0033】次に、ロードされた命令コードに従って、
RAN−シフト転送処理、ビットシフト処理、ビット置
換処理、ビット反転処理、XOR処理、または終了処理
のいずれかの単位処理が実行される。すなわち、ステッ
プS4で上記ロードされた命令コードがRAN−シフト
転送処理の実行コードである場合には、RAN−シフト
転送処理制御部139aが起動される。RAN−シフト
転送処理制御部139aは、ステップS5でRAN−シ
フト転送処理を実行させ、ステップS14でアドレスレ
ジスタ&カウンタ15を1回インクリメントすることに
よりアドレスレジスタ&カウンタ15にコード番号2の
命令コードのアドレスをセットし(このステップS2は
ロードコード番号kを1つインクリメントすることに該
当する)、ステップS15でINSレジスタ138にコ
ード番号2の命令コードをロードし(INSレジスタ1
38の値をコード番号2の命令コードの値に更新し)、
ステップS4に戻る。また、ステップS4で上記ロード
されたコード番号1の命令コードがRAN−シフト転送
処理の実行コードでない場合にはステップS6に進む。
【0034】ステップS6で上記ロードされたコード番
号1の命令コードがビットシフト処理の実行コードであ
る場合には、ビットシフト処理制御部139bが起動さ
れる。ビットシフト処理制御部139bは、ステップS
7でビットシフト処理を実行させ、ステップS14でア
ドレスレジスタ&カウンタ15にコード番号2の命令コ
ードのアドレスをセットし、S15でINSレジスタ1
38にコード番号2の命令コードをロードし、ステップ
S4に戻る。また、ステップS6で上記ロードされたコ
ード番号1の命令コードがビットシフト処理の実行コー
ドでない場合にはステップS8に進む。
【0035】ステップS8で上記ロードされたコード番
号1の命令コードがビット置換処理の実行コードである
場合には、ビット置換処理制御部139cが起動され
る。ビット置換処理制御部139cは、ステップS9で
ビット置換処理を実行し、ステップS14およびS15
でINSレジスタ138にコード番号2の命令コードを
ロードし、ステップS4に戻る。また、ステップS8で
上記ロードされたコード番号1の命令コードがビット置
換処理の実行コードでない場合にはステップS10に進
む。
【0036】ステップS10で上記ロードされたコード
番号1の命令コードがビット反転処理の実行コードであ
る場合には、ビット反転処理制御部139dが起動され
る。ビット反転処理制御部139dは、ステップS11
でビット反転処理を実行させ、ステップS14およびS
15でINSレジスタ138にコード番号2の命令コー
ドをロードし、ステップS4に戻る。また、ステップS
10で上記ロードされたコード番号1の命令コードがビ
ット反転処理の実行コードでない場合にはステップS1
2に進む。
【0037】ステップS12で上記ロードされたコード
番号1の命令コードがXOR処理を示すものである場合
には、XOR処理制御部139eが起動される。XOR
処理制御部139eは、ステップS13でXOR処理を
実行させ、ステップS14およびS15でINSレジス
タ138にコード番号2の命令コードをロードし、ステ
ップS4に戻る。このように、上記ロードされたコード
番号1の命令コードに従って、ステップS5、S7、S
9、S11、またはS13でいずれかの単位処理を実行
し、ステップS14およびS15でINSレジスタ13
8にコード番号2の命令コードをロードし、ステップS
4に戻る。
【0038】次に上記コード番号1の命令コードに対す
る手順と同様にして、ステップS4、S6、S8、S1
0、S12のいずれかで、上記ロードされたコード番号
2の命令コードに対応する139a〜139eのいずれ
かの単位処理制御部が起動される。起動された単位処理
制御部は、単位処理を実行させ、ステップS14および
S15でINSレジスタ138にコード番号3の命令コ
ードをロードし、再びステップS4に戻る。このよう
に、INSレジスタ138にロードされる命令コード
が、単位処理の実行コードであり、終了処理の実行コー
ドでない間は、命令コードにより指定された単位処理を
順次実行していく。
【0039】次にステップS12でロードされた命令コ
ードがXOR処理の実行コードでない場合にはステップ
S16に進む。ステップS16で上記ロードされた命令
コードが終了処理の実行コードであるので、終了処理制
御部139fが起動される。このとき、RANレジスタ
132に格納されているデータが認証データとなる。終
了処理制御部139fは、ステップS16で終了処理を
実行させ、一連の認証データ生成処理を終了させる。
【0040】図5は本発明の実施の形態1における認証
データ生成用ファイル16bのデータ例を示す図であ
る。図5の認証データ生成用ファイル16bによる認証
データ生成処理においては、まず、コード番号1〜7の
命令コードに従い、RANレジスタ132のレジスタR
AN0およびRAN1の乱数データの下位16ビットデ
ータをシフトレジスタ133にRAN−シフト転送処理
し(コード番号1)、レジスタRAN2およびRAN3
の乱数データの中位16ビットデータをレジスタRAN
0およびRAN1にRAN−シフト転送処理し(コード
番号2)、シフトレジスタ133の上記下位16ビット
データを3ビットシフト処理し(コード番号3)、この
ビットシフトデータをビット置換処理し(コード番号
4)、このビット置換データをビット反転処理し(コー
ド番号5)、このビット反転データをレジスタKEY4
およびKEY5の認証用キーデータとXOR処理し(コ
ード番号6)、このXORデータをレジスタRAN2お
よびRAN3に転送する(コード番号7)。
【0041】次にコード番号8〜14の各命令コードに
従い、レジスタRAN0およびRAN1の上記中位16
ビットデータをシフトレジスタ133に転送し(コード
番号8)、レジスタRAN4およびRAN5の乱数デー
タの上位16ビットデータをレジスタRAN0およびR
AN1に転送し(コード番号9)、シフトレジスタ13
3の上記中位16ビットデータを5ビットシフト処理し
(コード番号10)、このビットシフトデータをビット
置換処理し(コード番号11)、このビット置換データ
をビット反転処理し(コード番号12)、このビット反
転データをレジスタKEY4およびKEY5の認証用キ
ーデータとXOR処理し(コード番号13)、このXO
RデータをレジスタRAN4およびRAN5に転送する
(コード番号14)。
【0042】次にコード番号15〜21の各命令コード
に従い、レジスタRAN0およびRAN1の上記上位1
6ビットデータをシフトレジスタ133に転送し(コー
ド番号15)、この上位16ビットデータを7ビットシ
フト処理し(コード番号16)、このビットシフトデー
タをビット置換処理し(コード番号17)、このビット
置換データをビット反転処理し(コード番号18)、こ
のビット反転データをレジスタKEY0およびKEY1
の認証用キーデータとXOR処理し(コード番号1
9)、このXORデータをレジスタRAN0およびRA
N1に転送し(コード番号20)、一連の認証データ生
成処理を終了する(コード番号21)。
【0043】すなわち、図5の認証データ生成処理にお
いては、開始処理でレジスタR0およびR1に格納され
た乱数データの下位16ビットデータに各種の単位処理
を施し、認証データの中位16ビットデータとしてレジ
スタR2およびR3に戻し、次に開始処理でレジスタR
2およびR3に格納された乱数データの中位16ビット
データに各種の単位処理を施し、認証データの上位16
ビットデータとしてレジスタR4およびR5に戻し、次
に開始処理でレジスタR4およびR5に格納された乱数
データの上位16ビットデータに各種の単位処理を施
し、認証データの下位16ビットデータとしてレジスタ
R0およびR1に戻し、認証データ生成処理を終了す
る。なお、図5の認証データ生成用ファイル16bは、
21バイトの容量であり、20の単位処理を順次実行さ
せるものであるが、EEPROM16に100〜200
バイトの認証データ生成用ファイル16bの記憶エリア
を用意すれば、かなり複雑な認証データ生成処理が可能
である。
【0044】この実施の形態1のICカード用LSI1
は、認証データ生成用ファイル16bの内容を変えるだ
けで異なる認証データ生成アルゴリズムのICカード用
LSIとなる。この認証データ生成アルゴリズムが互い
に異なるICカード用LSIにより認証データ生成アル
ゴリズムが異なるICカードを作成し、ICカードのI
D番号と認証データ生成アルゴリズムとの対応を上位装
置に登録しておき、カードを発行したあとの相互認証時
に、上位装置側において、ICカードのID番号を読み
出し、このID番号に対応する認証データ生成アルゴリ
ズムで認証データを生成するようにすれば、認証データ
生成アルゴリズムが互いに異なるICカードによりIC
カードシステムを構成することが可能となる。
【0045】このように実施の形態1のICカード用L
SI1によれば、認証データ生成アルゴリズムを決める
認証データ生成ファイル16bを、電気的にデータの書
き込みが可能なEEPROM16に記憶させたことによ
り、認証データ生成用ファイル16bの内容を変更する
だけで製造過程(ICカードの発行前)あるいはICカ
ードの発行後において認証データ生成アルゴリズムを容
易に変更できる。また、ICカード用LSI全体を制御
するCPUを設けず、認証データ生成部13aに論理回
路(ランダムロジック)で構成した制御ロジック部13
9を設け、この制御ロジック部139により、認証デー
タ生成用ファイル16bの各種単位処理の実行コードに
従って各種単位処理を順次実行し、終了処理の実行コー
ドに従って認証データ生成処理を終了する一連の認証デ
ータ生成処理を制御するようにしたことにより、CPU
を備えた従来のICカード用LSIよりもチップサイズ
を小さくできできるとともに価格を下げることができ、
またCPUを備えない従来のICカード用LSIより
も、認証データ生成アルゴリズムの自由度が大きくな
り、複雑な認証データ生成処理ができる。
【0046】また、実施の形態1のICカード用LSI
1を用いてICカードを作成することにより、CPUを
備えた従来のICカード用LSIを用いてICカードを
作成する場合よりも、製造コストを下げることができ
る。また、認証データ生成アルゴリズムが互いに異なる
ICカードを作成することができ、また認証データ生成
アルゴリズムを解読されてしまった場合等に製造過程あ
るいはICカード発行後において認証データ生成アルゴ
リズムを容易に変更することができるので、CPUを備
えない従来のICカード用LSIを用いてICカードを
作成する場合よりも、ICカードシステムのセキュリテ
ィを向上させることができる。
【0047】実施の形態2 本発明の実施の形態2のICカード用LSIは、上記実
施の形態1のICカード用LSI(図1参照)におい
て、コマンド処理集積部13の認証データ生成部13a
を認証データ生成部14aとしたものである。図6は本
発明の実施の形態2の認証データ生成部14aのブロッ
ク図である。なお、図6において、図2と同じものには
同じ符号を付けてある。図6において、認証データ生成
部14aは、KEYレジスタ131と、RANレジスタ
132と、シフトレジスタ133と、セレクタ134
と、ビット置換部135と、ビット反転部136と、X
OR部137と、INSレジスタ138と、退避レジス
タ140(退避データ格納部)と、ロジック回路により
構成された制御ロジック部141と、16ビットのロー
カルデータバスL2とを有する。すなわち、認証データ
生成部14aは、図2の認証データ生成部13aにおい
て、退避レジスタ140を追加し、制御ロジック部13
9を制御ロジック部141としたものである。
【0048】この実施の形態2における一連の認証デー
タ生成処理は、開始処理、単位処理、ダミー処理、およ
び終了処理である。すなわち、実施の形態2の認証デー
タ生成処理は、上記第1の実施形態の認証データ生成処
理に、ダミー処理を追加したものである。認証データ生
成部14aによる認証データ生成処理は、最初に開始処
理を実行し、次に各種の単位処理およびダミー処理を順
次実行し、最後に終了処理を実行することにより、認証
データを生成する処理である。また、この実施の形態2
においていは、認証データ生成用ファイル16bに、単
位処理および終了処理の実行コードのいずれにも該当し
ない命令コードが含まれているものとする。単位処理お
よび終了処理の実行コードのいずれにも該当しない命令
コードがINSレジスタ138にロードされた場合に
は、ダミー処理が実行される。ダミー処理は、ロードコ
ード番号を1つインクリメントし、このロードコード番
号に該当するコード番号命令コードをロードする処理で
ある。
【0049】また、この実施の形態2における単位処理
は、RAN−シフト転送処理、ビットシフト処理、ビッ
ト置換処理、ビット反転処理、XOR処理、退避レジス
タ140−シフトレジスタ133間でデータを転送する
退避−シフト転送処理(退避データ転送処理)、ビット
判定ジャンプ処理(分岐ジャンプ処理)、およびジャン
プ処理である。すなわち、実施の形態2の単位処理は、
上記実施の形態1の単位処理に、退避−シフト転送処理
と、ビット判定ジャンプ処理と、ジャンプ処理とを追加
したものである。ビット判定ジャンプ処理は、RANレ
ジスタ132のデータまたはシフトレジスタ133のデ
ータのいずれかを指定し、この指定したデータの特定ビ
ットの値が”0”ならば何もせず、また”1”ならばロ
ードコード番号を所定数ジャンプさせる単位処理であ
る。また、ジャンプ処理は、ロードコード番号を所定数
ジャンプさせる単位処理である。
【0050】退避レジスタ140は、16ビットのレジ
スタであり、ローカルデータバスL2を通じてシフトレ
ジスタ133から転送された16ビットのデータを格納
し、また格納したデータをローカルデータバスL2を通
じてシフトレジスタ133に転送する。
【0051】論理回路により構成される制御ロジック部
141は、開始処理制御部139xと、終了処理制御部
139fと、ダミー処理制御部141jとを有し、また
各単位処理に対応して複数設けられた単位処理制御部と
して、RAN−シフト転送処理制御部139aと、ビッ
トシフト処理制御部139bと、ビット置換処理制御部
139cと、ビット反転処理制御部139dと、XOR
処理制御部139eと、ビット判定ジャンプ処理制御部
141gと、ジャンプ処理制御部141hと、退避−シ
フト転送処理制御部141iとを有する。すなわち、制
御ロジック部141は、上記実施の形態1の制御ロジッ
ク部139に、ダミー処理制御部141jと、ビット判
定ジャンプ処理制御部141gと、ジャンプ処理制御部
141hと、退避−シフト転送処理制御部141iとを
追加したものである。
【0052】ダミー処理制御部141jは、ロードされ
た命令コードが単位処理および終了処理の実行コードの
いずれにも該当しないものである場合に起動され、IN
Sレジスタ138、EEPROMコントローラ13b、
およびアドレスレジスタ&カウンタ15を制御し、ロー
ドコード番号を1つインクリメントし、このロードコー
ド番号に該当するコード番号命令コードをロードするダ
ミー処理を実行させる。また、ビット判定ジャンプ処理
制御部141gは、ビット判定ジャンプ処理に対応する
単位処理制御部であり、RANレジスタ132、シフト
レジスタ133、およびアドレスレジスタ&カウンタ1
5を制御し、ビット判定ジャンプ処理を実行させる。ま
た、ジャンプ処理制御部141hは、ジャンプ処理に対
応する単位処理制御部であり、アドレスレジスタ&カウ
ンタ15を制御し、ジャンプ処理を実行させる。また、
退避−シフト転送処理制御部141iは、退避−シフト
転送処理に対応する単位処理制御部であり、シフトレジ
スタ133および退避レジスタ140を制御し、退避−
シフト転送処理を実行させる。これら141g〜141
jの単位処理制御部も、139a〜139eの単位処理
制御部と同様に、単位処理を実行させたあとに、EEP
ROMコントローラ13b、アドレスレジスタ&カウン
タ15、およびINSレジスタ138を制御することに
より、ロードコード番号を1つインクリメントし、この
ロードコード番号に該当するコード番号の命令コードを
ロードする。139a〜139e、141g〜141i
の各単位処理制御部のロードコード番号のインクリメン
トと命令コードのロードを制御する部分、およびダミー
処理制御部141jとして、1つの論理回路を共有する
構成であっても良い。
【0053】次に、本発明の実施の形態2のICカード
用LSIの動作を説明する。なお、実施の形態2のIC
カード用LSIにおける、制御ロジック部141が起動
されるまでの動作と、開始処理、終了処理、RAN−シ
フト転送処理、ビットシフト処理、ビット置換処理、ビ
ット反転処理、およびXOR処理の動作は、上記実施の
形態1と同じである。
【0054】図7は本発明の実施の形態2の認証データ
生成処理において追加した命令コードと処理内容を示す
図である(実施の形態2の認証データ生成処理における
命令コードと処理内容の内、図3の命令コードと処理内
容を省略した図である)。図7においては、”011
0”がビット判定ジャンプ処理の実行コードであり、”
0111”がジャンプ処理の実行コードであり、”10
00”が退避−シフト転送処理の実行コードである。な
お、上記の”0110”、”0111”、”1000”
および図3の”0001”、”0010”、”001
1”、”0100”、”0101”以外がダミー処理の
実行コードとなる。
【0055】INSレジスタ138にロードされた命令
コードの上位4ビットが”0110”の場合は、ビット
判定ジャンプ処理部141gが起動され、ビット判定ジ
ャンプ処理が実行される。ここでは、指定したレジスタ
のデータの特定ビットの値が”0”ならば何もせず、”
1”ならばアドレスレジスタ&カウンタ15を2回イン
クリメントする(ロードコード番号を2つジャンプさせ
る)ものとする。このとき、命令コードの下位2ビット
によりレジスタが指定される。下位2ビットが”00”
の場合はシフトレジスタ133を示し、”01”の場合
はRANレジスタ132のレジスタRAN0を示し、”
10”の場合はレジスタRAN2を示し、また”11”
の場合はRAN4を示す。このビット判定ジャンプ処理
のあとに、ビット判定ジャンプ処理制御部141gはア
ドレスレジスタ&カウンタ15を1回インクリメントす
るので、ロードされたコード番号kの命令コードでビッ
ト判定ジャンプ処理制御部141gが起動されたときに
は、ビット判定ジャンプ処理制御部141gは、指定し
たレジスタのデータの特定ビットの値に従ってコード番
号k1またはk+3の命令コードをロードする。
【0056】また、ロードされた命令コードの上位4ビ
ットが”0111”の場合は、ジャンプ処理制御部14
1hが起動され、ジャンプ処理が実行される。ここで
は、アドレスレジスタ&カウンタ15を1回インクリメ
ントする(ロードコード番号を1つジャンプさせる)も
のとする。このとき、命令コードの下位4ビットは任意
である。このジャンプ処理のあとに、ジャンプ処理部1
41gはアドレスレジスタ&カウンタ15をさらに1回
インクリメントするので、ロードされたコード番号kの
命令コードでジャンプ処理制御部141hが起動された
ときには、ジャンプ処理制御部141hは、コード番号
k+2の命令コードをロードする。従って、コード番号
を2つ(認証データ生成用ファイル16bを2バイト)
ジャンプしたことになる。
【0057】また、ロードされた命令コードの上位4ビ
ットが”1000”の場合は、退避−シフト転送処理部
141iが起動され、退避−シフト転送処理が実行され
る。このとき、命令コードの下位4ビットによりデータ
転送の向きが指定される。すなわち、下位4ビットの
内、上位の2ビットにより転送先が指定され、また下位
2ビットにより転送元が指定される。転送先または転送
元の2ビットの値が”00”の場合はシフトレジスタ1
33を示し、”01”の場合は退避レジスタ140を示
す。例えば、命令コードが”1000 0001”の場
合には、シフトレジスタ133の16ビットデータが退
避レジスタ140に転送される。
【0058】図8は本発明の実施の形態2の認証データ
生成処理の手順を示すフローチャートである。なお、図
8において、図4と同じものには同じ符号を付けてあ
る。図7の認証データ生成処理は、図4の認証データ生
成処理において、ステップS21〜ステップS27を追
加したものである。
【0059】ステップS3でINSレジスタ138にロ
ードされたコード番号の命令コードが、ステップS4、
S6、S8、S10、およびS12で各単位処理の実行
コードでない場合には、ステップS21に進む。ステッ
プS21で上記ロードされたコード番号1の命令コード
がビット判定ジャンプ処理の実行コードである場合に
は、ビット判定ジャンプ処理制御部141gが起動され
る。ビット判定ジャンプ処理制御部141gは、ステッ
プS22でビット判定ジャンプ処理を実行し、ステップ
S14およびS15でINSレジスタ138にコード番
号2の命令コードをロードし、ステップS4に戻る。ま
た、ステップS21で上記ロードされたコード番号1の
命令コードがビット判定ジャンプ処理の実行コードでな
い場合にはステップS23に進む。
【0060】ステップS23で上記ロードされたコード
番号1の命令コードがジャンプ処理の実行コードである
場合には、ジャンプ処理制御部141hが起動される。
ジャンプ処理制御部141hは、ステップS24でジャ
ンプ処理を実行し、ステップS14およびS15でIN
Sレジスタ138にコード番号2の命令コードをロード
し、ステップS4に戻る。また、ステップS23で上記
ロードされたコード番号1の命令コードがジャンプ処理
の実行コードでない場合にはステップS25に進む。
【0061】ステップS25で上記ロードされたコード
番号1の命令コードが退避−シフト転送処理の実行コー
ドである場合には、退避−シフト転送処理制御部141
iが起動される。退避−シフト転送処理制御部141i
は、ステップS26で退避−シフト転送処理を実行し、
ステップS14およびS15でINSレジスタ138に
コード番号2の命令コードをロードし、ステップS4に
戻る。また、ステップS25で上記ロードされたコード
番号1の命令コードが退避−シフト転送処理の実行コー
ドでない場合にはステップS27に進む。
【0062】ステップS27で上記ロードされたコード
番号1の命令コードが終了処理の実行コードでない場合
には、ダミー処理制御部141jが起動される。ダミー
処理制御部141jは、ステップS14およびS15で
INSレジスタ138にコード番号2の命令コードをロ
ードし、ステップS4に戻る。このように、上記ロード
されたコード番号1の命令コードに従って、ステップS
5、S7、S9、S11、S13、S22、S24、ま
たはS26でいずれかの単位処理を実行し、ステップS
14およびS15でINSレジスタ138にコード番号
2の命令コードをロードするか、あるいはステップS1
4およびS15のコード番号2の命令コードのロードの
みであるダミー処理を実行し、ステップS4に戻る。
【0063】次に上記コード番号1の命令コードに対す
る手順と同様にして、ステップS4、S6、S8、S1
0、S12、S21、S23、S25、S27のいずれ
かで、上記ロードされたコード番号2の命令コードに対
応する139a〜139e、141g〜141iのいず
れかの単位処理制御部あるいはダミー処理制御部141
jが起動される。起動された単位処理制御部は、単位処
理を実行させ、ステップS14およびS15でINSレ
ジスタ138にコード番号3の命令コードをロードし、
再びステップS4に戻る。また、起動されたダミー処理
制御部141jは、ステップS14およびS15でIN
Sレジスタ138にコード番号3の命令コードをロード
し、再びステップS4に戻る。このように、INSレジ
スタ138にロードされる命令コードが、終了処理以外
の実行コードである間は、命令コードにより指定された
単位処理またはダミー処理を順次実行していく。
【0064】次にステップS27でロードされた命令コ
ードが終了処理の実行コードである場合にはステップS
16に進み、終了処理制御部139fが起動される。こ
のとき、RANレジスタ132に格納されているデータ
が認証データとなる。終了処理制御部139fは、ステ
ップS16で終了処理を実行させ、一連の認証データ生
成処理を終了させる。
【0065】図9および図10は本発明の実施の形態2
における認証データ生成用ファイル16bのデータ例を
示す図である。図9はコード番号kの命令コードがビッ
ト判定ジャンプ処理の実行コードであり、コード番号k
+2の命令コードがジャンプ処理の実行コードである例
であり、また、図10はコード番号k+1およびk+6
の命令コードが退避−シフト転送処理の実行コードであ
る例である。
【0066】図9の認証データ生成用ファイル16bに
よる認証データ生成処理においては、シフトレジスタ1
33の特定ビット(bit0)が”1”であるときに
は、コード番号k+1およびk+2の命令コードをジャ
ンプし(コード番号k)、シフトレジスタ133のデー
タを8ビットシフト処理し(コード番号k+3)、この
8ビットシフトデータをレジスタKEY0およびKEY
1の認証用キーデータとXOR処理する(コード番号k
+4)。また、シフトレジスタ133の特定ビットが”
0”であるときには、コード番号k+1およびk+2の
命令コードをジャンプせず(コード番号k)、シフトレ
ジスタ133のデータを3ビットシフト処理し(コード
番号k+1)、コード番号k+3の命令コードをジャン
プし(コード番号k+2)、上記の3ビットシフトデー
タをレジスタKEY0およびKEY1の認証用キーデー
タとXOR処理する(コード番号k+4)。すなわち、
図9の認証データ生成処理においては、シフトレジスタ
133の特定ビットの値に従って、異なるビット数(3
ビットまたは8ビット)のビットシフト処理をしたあ
と、XOR処理する。
【0067】また、図10の認証データ生成用ファイル
16bによる認証データ生成処理においては、レジスタ
RAN0およびRAN1のデータをシフトレジスタ13
3に転送し(コード番号k)、シフトレジスタ133の
データを退避レジスタ140に退避させ(コード番号k
+1)、シフトレジスタ133のデータをレジスタRA
N0およびRAN1のデータとXOR処理する(コード
番号k+2)。このとき、XOR処理される両データは
同じデータなので、XORデータは全ビットが”0”と
なり、この全ビット”0”のデータがシフトレジスタ1
33に格納される。次に上記の全ビット”0”のシフト
レジスタ133のデータをレジスタKEY0およびKE
Y1の認証用キーデータとXOR処理する(コード番号
k+3)。このとき、XOR処理される一方のデータが
全ビット”0”なので、XORデータは、他方のデータ
であるレジスタKEY0およびKEY1の認証用キーデ
ータと同じになり、KEY0およびKEY1の認証用キ
ーデータがシフトレジスタ133に格納される。次にシ
フトレジスタ133に格納された上記認証キーデータを
ビット置換処理し(コード番号k+4)、このビット置
換処理された認証キーデータをレジスタRAN0および
RAN1に転送し(コード番号k+5)、退避レジスタ
140のデータをシフトレジスタ133に戻し(コード
番号k+6)、シフトレジスタ133のデータをレジス
タRAN0およびRAN1のXOR処理された認証キー
データとXOR処理する(コード番号k+7)。すなわ
ち、図10の認証データ生成処理においては、この退避
レジスタ140と部139iの追加により、KEYレジ
スタ131の認証用キーデータをビット置換処理し、こ
のビット置換処理された認証用キーデータをXOR処理
に用いている。この他に、認証用キーデータにビット反
転処理またはビットシフト処理を施すことにより認証用
キーデータを加工し、この加工した認証キーデータをX
OR処理に用いることもできる。上記の認証用キーデー
タの加工は、退避レジスタ140および退避−シフト転
送処理制御部141iを追加したことにより可能となっ
た。
【0068】この実施の形態2のICカード用LSI
は、単位処理の間にダミー処理を挿入することができ、
認証用データ生成用ファイル16bに各種単位処理およ
び終了処理の実行コードでない命令コード(ダミー処理
の実行コードとなる命令コード)を挿入することによ
り、何もせずに、次の命令コードをロードすることがで
きる。この実施の形態2のICカード用LSIによりI
Cカードごとに認証データ生成アルゴリズムを変える場
合に、最長のアルゴリズムの認証用データ生成用ファイ
ル16bの命令コード数に合わせ、他の認証用データ生
成用ファイル16bにダミー処理の実行コードを所定数
挿入することにより、互いに認証データ生成アルゴリズ
ムが異なり、かつ認証データの生成処理時間が一定のI
Cカードを作成することができ、認証データの生成処理
時間が認証データ生成アルゴリズム解読のヒントになる
ことがない。
【0069】このように実施の形態2のICカード用L
SIによれば、認証データの生成アルゴリズムを製造過
程において容易に変更することができ、チップサイズを
小さくできできるとともに価格を下げることができるこ
とに加え、ビット判定ジャンプ処理制御部141gおよ
びジャンプ処理部141hを設けたことにより分岐ジャ
ンプ処理およびジャンプ処理が可能となり、また退避レ
ジスタ140および退避−シフト転送処理制御部141
iを設けたことによりKEYレジスタ131の認証用キ
ーデータを加工して用いることが可能となるので、認証
データ生成アルゴリズムの自由度が上記第1の実施形態
よりもさらに大きくなり、認証データ生成処理をさらに
複雑化することができる。また、ダミー処理制御部14
1jを設けたことにより、認証データの生成処理時間を
調整することができる。
【0070】また、実施の形態2のICカード用LSI
を用いてICカードを作成することにより、製造コスト
を下げられることに加え、認証データ生成アルゴリズム
が互いに異なり、それぞれの認証データ生成アルゴリズ
ムが上記第1の実施形態よりもさらに複雑であり、かつ
認証データの生成処理時間が一定なICカードを作成す
ることができ、また製造過程およびICカード発行後に
おいて認証データ生成アルゴリズムを容易に変更するこ
とができるので、ICカードシステムのセキュリティを
さらに向上させることができる。
【0071】なお、上記実施の形態1および2では、認
証用キーデータ、乱数データ、認証データを6バイトと
し、データ処理およびデータ転送を16ビット単位とし
て説明したが、データサイズおよびデータ処理/データ
転送の単位はこれらに限定されるものではない。
【0072】また、上記実施の形態1および2では、ビ
ット置換部135のビット置換テーブルおよびビット反
転部136のビット反転テーブルをそれぞれ1つとして
説明しているが、複数のテーブルを用意し、命令コード
の下位4ビットでテーブルを指定するようにしても良
い。これにより、認証データ生成処理がさらに複雑にな
り、よりセキュリティを向上させることができる。
【0073】さらに、上記実施の形態1および2では、
EEPROM16に認証用キーデータ16aと認証デー
タ生成用ファイル16bとをそれぞれ1つずつ記憶させ
ているが、複数の認証用キーデータ16aまたは/およ
び複数の認証データ生成用ファイル16bを記憶させる
ようにしても良い。そして例えば、ICカードの正当性
を確認するための認証データ生成処理と、上位装置の正
当性を確認するための認証データ生成処理とで別々の認
証用キーデータおよび認証データ生成用ファイルを用い
るようにすれば、ICカードシステムのセキュリティを
さらに向上させることができる。
【0074】
【発明の効果】以上説明したように本発明のICカード
用LSIによれば、電気的にデータの書き込みが可能な
不揮発性記憶手段に認証データ生成ファイルを記憶さ
せ、論理回路により構成された制御ロジック部により認
証データ生成ファイルに従って認証データ生成処理を制
御することにより、認証データ生成用ファイルの内容を
変更するだけで認証データ生成アルゴリズムを容易に変
更でき、チップサイズを小さくできできるとともに価格
を下げることができ、複雑な認証データ生成処理ができ
るという効果がある。
【0075】また、本発明のICカード用LSIを用い
てICカードを作成することにより、ICカードの製造
コストを下げることができ、ICカードシステムのセキ
ュリティを向上させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1のICカード用LSIの
全体ブロック図である。
【図2】本発明の実施の形態1のICカード用LSIに
おける認証データ生成部のブロック図である。
【図3】本発明の実施の形態1の認証データ生成処理に
おける命令コードと処理内容を示す図である。
【図4】本発明の実施の形態1の認証データ生成処理の
手順を示すフローチャートである。
【図5】本発明の実施の形態1における認証データ生成
用ファイルのデータ例を示す図である。
【図6】本発明の実施の形態2のICカード用LSIに
おける認証データ生成部のブロック図である。
【図7】本発明の実施の形態2の認証データ生成処理に
おいて追加した命令コードと処理内容を示す図である
【図8】本発明の実施の形態2の認証データ生成処理の
手順を示すフローチャートである。
【図9】本発明の実施の形態2における認証データ生成
用ファイルのデータ例(1)を示す図である。
【図10】本発明の実施の形態2における認証データ生
成用ファイルのデータ例(2)を示す図である。
【符号の説明】
1 ICカード用LSI、 10 インターフェイス
部、 13a,14a認証データ生成部、 16 不揮
発性メモリ(EEPROM)、 16a 認証用キーデ
ータ、 16b 認証データ生成用ファイル、 131
KEYレジスタ、 132 RANレジスタ、 13
3 シフトレジスタ、 135 ビット置換部、 13
6 ビット反転部、 137 XOR部、 138 I
NSレジスタ、 139 制御ロジック部、 139a
RAN−シフト転送処理制御部、 139b ビット
シフト処理制御部、 139c ビット置換処理制御
部、139d ビット反転処理制御部、 139e X
OR処理制御部、 139f 終了処理制御部、 13
9x 開始処理制御部、 140 退避レジスタ、14
1g ビット判定ジャンプ処理制御部、 141h ジ
ャンプ処理制御部、 141i 退避−シフト転送処理
制御部、 141j ダミー処理制御部。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 外部とデータの授受を行うインターフェ
    イス手段と、 外部から入力されたまたは内部で生成された乱数データ
    に、認証データ生成用ファイルによる認証データ生成処
    理を施すことにより、認証データを生成する認証データ
    生成手段と、 前記認証データ生成用ファイルを記憶している不揮発性
    記憶手段とを備え、 前記認証データ生成手段が、論理回路により構成され
    た、前記認証データ生成用ファイルに従って前記認証デ
    ータ生成処理を制御する制御ロジック部を有することを
    特徴とするICカード用LSI。
  2. 【請求項2】 外部とデータの授受を行うインターフェ
    イス手段と、 外部から入力されたまたは内部で生成された乱数データ
    に、認証データ生成用ファイルによる認証データ生成処
    理を施すことにより、認証データを生成する認証データ
    生成手段と、 前記認証データ生成用ファイルを記憶している不揮発性
    記憶手段とを備え、 前記不揮発性記憶手段が、電気的にデータの書き込みが
    可能な不揮発性記憶手段であることを特徴とするICカ
    ード用LSI。
  3. 【請求項3】 前記認証データ生成手段が、論理回路に
    より構成された、前記認証データ生成用ファイルに従っ
    て前記認証データ生成処理を制御する制御ロジック部を
    有することを特徴とする請求項2記載のICカード用L
    SI。
  4. 【請求項4】 前記不揮発性記憶手段は、複数の認証デ
    ータ生成用プログラムを記憶しており、 前記認証データ生成手段は、外部から入力されたまたは
    内部で生成された乱数データに、外部から指定された認
    証データ生成用ファイルによる認証データ生成処理を施
    すことにより、認証データを生成するものであることを
    特徴とする請求項1ないし3のいずれかに記載のICカ
    ード用LSI。
  5. 【請求項5】 前記認証データ生成用ファイルは、命令
    コードを羅列したものであり、 前記命令コードは、相異なる複数の単位処理のいずれか
    の実行コードであるか、終了処理の実行コードである
    か、あるいはこれらの実行コードのいずれにも該当しな
    いコードであり、 前記認証データ生成手段は、さらに、 前記認証データ生成用ファイルの命令コードが順次ロー
    ドされる命令コード格納部と、 前記乱数データおよび生成された認証データが格納され
    る乱数/認証データ格納部と、 前記制御ロジック部により制御され、前記単位処理によ
    り指定されたデータ処理を前記乱数データに順次施すこ
    とにより認証データを生成するデータ処理部とを有し、 前記制御ロジック部は、 認証データ生成処理の開始時に起動され、前記乱数デー
    タを前記乱数/認証データ格納部に格納し、各命令コー
    ドに対応するとともに各命令コードのロード順を示すコ
    ード番号の初期値をロードコード番号に設定し、このロ
    ードコード番号に該当するコード番号の命令コードをロ
    ードする開始処理制御部と、 前記単位処理にそれぞれ対応して複数設けられ、ロード
    された命令コードが対応する単位処理の実行コードであ
    るときに選択的に起動され、対応する単位処理を実行さ
    せ、ロードコード番号を1つインクリメントし、このロ
    ードコード番号に該当するコード番号の命令コードをロ
    ードする単位処理制御部と、 ロードされた命令コードが終了処理の実行コードである
    ときに起動され、認証データ生成処理を終了させる終了
    処理制御部とを有することを特徴とする請求項1ないし
    3のいずれかに記載のICカード用LSI。
  6. 【請求項6】 前記制御ロジック部は、さらに、ロード
    された命令コードが前記単位処理および前記終了処理の
    実行コードのいずれにも該当しないものである場合に起
    動され、ロードコード番号を1つインクリメントし、こ
    のロードコード番号に該当するコード番号命令コードを
    ロードするダミー処理を実行させるダミー処理制御部を
    有することを特徴とする請求項5記載のICカード用L
    SI。
  7. 【請求項7】 前記データ処理部は、 入力されたデータを格納し、また前記格納したデータの
    各ビットを循環シフトさせるデータ格納/ビットシフト
    部と、 ビット置換テーブルを備え、このビット置換テーブルに
    基づいて、入力されたデータの特定ビットを特定値に置
    換するビット置換部と、 ビット反転テーブルを備え、このビット反転テーブルに
    基づいて、入力されたデータの特定ビットを反転するビ
    ット反転部と、 前記データ格納/ビットシフト部から入力されたデータ
    と指定されたデータの対応するビットの排他的論理和か
    らなる排他的論理和データを生成するXOR部とを有
    し、 前記複数の単位処理は、 前記乱数/認証データ格納部と前記データ格納/ビット
    シフト部との間でデータを転送する乱数/認証データ転
    送処理と、 前記データ格納/ビットシフト部のデータの各ビットを
    循環シフトさせるビットシフト処理と、 前記データ格納/ビットシフト部のデータを前記ビット
    置換部に入力し、このデータの特定ビットを特定値に置
    換し、このビット置換データを前記データ格納/ビット
    シフト部に格納するビット置換処理と、 前記データ格納/ビットシフト部のデータを前記ビット
    反転部に入力し、このデータの特定ビットを反転し、こ
    のビット反転データを前記データ格納/ビットシフト部
    に格納するビット反転処理と、 前記データ格納/ビットシフト部のデータを前記XOR
    部に入力し、このデータと前記指定されたデータによる
    排他的論理和データを生成し、この排他的論理和データ
    を前記データ格納/ビットシフト部に格納するXOR処
    理とを含み、 前記複数の単位処理制御部は、 前記乱数/認証データ転送処理に対応する乱数/認証デ
    ータ転送処理制御部と、 前記ビットシフト処理に対応するビットシフト処理制御
    部と、 前記ビット置換処理に対応するビット置換処理制御部
    と、 前記ビット反転処理に対応するビット反転処理制御部
    と、 前記XOR処理に対応するXOR処理制御部とを含むこ
    とを特徴とする請求項5記載のICカード用LSI。
  8. 【請求項8】 前記ビット置換部は、複数のビット置換
    テーブルを備え、前記ビット置換処理制御部により選択
    されたビット置換テーブルに基づいて、入力されたデー
    タの特定ビットを特定値に置換するものであり、 前記ビット置換処理は、複数のビット反転テーブルを備
    え、前記ビット反転処理制御部により選択されたビット
    反転テーブルに基づいて、入力されたデータの特定ビッ
    トを反転するものであることを特徴とする請求項7記載
    のICカード用LSI。
  9. 【請求項9】 前記不揮発性記憶手段は、さらに、認証
    用キーデータを記憶しており、 前記認証データ生成手段は、さらに、認証用キーデータ
    を格納する認証キー格納部を有し、 前記開始処理制御部は、さらに、前記認証用キーデータ
    を前記認証キー格納部に格納し、 前記XOR処理は、前記認証キー格納部のデータまたは
    前記乱数/認証データ格納部のデータを前記指定された
    データとして前記XOR部に入力することを特徴とする
    請求項7記載のICカード用LSI。
  10. 【請求項10】 前記不揮発性記憶手段は、複数の認証
    データ生成用プログラムおよび複数の認証用キーデータ
    を記憶しており、 前記認証データ生成手段は、外部から入力されたまたは
    内部で生成された乱数データに、外部から指定された認
    証データ生成用ファイルによる認証データ生成処理を施
    すことにより、認証データを生成するものであり、 前記開始処理制御部は、外部から指定された前記認証用
    キーデータを前記認証キー格納部に格納するものである
    ことを特徴とする請求項9記載のICカード用LSI。
  11. 【請求項11】 前記データ処理部は、さらに、前記乱
    数/認証データ格納部または前記データ格納/ビットシ
    フト部から入力されたデータを格納する分岐データ格納
    部を有し、 前記複数の単位処理は、さらに、 前記乱数/認証データ格納部のデータまたは前記データ
    格納/ビットシフト部のデータのいずれか指定したデー
    タの内容が第1の分岐条件に適合していれば何もせず、
    また第2の分岐条件に適合していれば前記ロードコード
    番号を所定数ジャンプさせる分岐ジャンプ処理と、 前記ロードコード番号を所定数ジャンプさせるジャンプ
    処理とを含み前記複数の単位処理制御部は、さらに、 前記分岐処理に対応する分岐処理制御部と、 前記ジャンプ処理に対応するジャンプ処理制御部とを含
    むことを特徴とする請求項7記載のICカード用LS
    I。
  12. 【請求項12】 前記データ処理部は、さらに、前記デ
    ータ格納/ビットシフト部から入力されたデータを格納
    する退避データ格納部を有し、 前記複数の単位処理は、さらに、前記データ格納/ビッ
    トシフト部と前記退避データ格納部との間でデータを転
    送する退避データ転送処理を含み、 前記複数の単位処理制御部は、さらに、前記退避データ
    転送処理に対応する退避データ転送処理制御部を含むこ
    とを特徴とする請求項11記載のICカード用LSI。
  13. 【請求項13】 前記認証データ生成用ファイルの内容
    が互いに異なる請求項1ないし3のいずれかに記載のI
    Cカード用LSIをそれぞれ用いて複数のICカードを
    作成することにより、各ICカードの認証データ生成ア
    ルゴリズムが互いに異なるようにしたことを特徴とする
    ICカード用LSIの使用方法。
  14. 【請求項14】 請求項10記載のICカード用LSI
    を用いてICカードを作成することにより、前記ICカ
    ードと上位装置とが前記ICカードの相互認証における
    前記ICカード側での認証データ生成処理において、前
    記上位装置が前記ICカードを認証するための認証デー
    タを生成するアルゴリズムと、ICカードが前記上位装
    置を認証するための認証データを生成するアルゴリズム
    が異なるようにしたことを特徴とするICカード用LS
    Iの使用方法。
  15. 【請求項15】 前記認証データ生成用ファイルの内容
    が互いに異なり、前記ダミー処理のコード数を相互に調
    整した請求項6記載のICカード用LSIをそれぞれ用
    いて複数のICカードを作成することにより、各ICカ
    ードの認証データ生成アルゴリズムが互いに異なるよう
    にするとともに、各ICカードの認証データ生成処理時
    間を一定にしたことを特徴とするICカード用LSIの
    使用方法。
JP9358977A 1997-12-26 1997-12-26 Icカード用lsiおよびその使用方法 Pending JPH11191149A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9358977A JPH11191149A (ja) 1997-12-26 1997-12-26 Icカード用lsiおよびその使用方法
EP98118154A EP0926624B1 (en) 1997-12-26 1998-09-24 Intergrated circuit for embeddding in smart cards, and method of issuing smart cards
DE69833902T DE69833902T2 (de) 1997-12-26 1998-09-24 Integrierte Schaltung für Einbettung in Chipkarten, und Verfahren zur Herstellung von Chipkarten
US09/210,458 US6299069B1 (en) 1997-12-26 1998-12-14 Integrated circuit for embedding in smart cards, and method of issuing smart cards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9358977A JPH11191149A (ja) 1997-12-26 1997-12-26 Icカード用lsiおよびその使用方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006336935A Division JP4489068B2 (ja) 2006-12-14 2006-12-14 Icカード用lsi

Publications (1)

Publication Number Publication Date
JPH11191149A true JPH11191149A (ja) 1999-07-13

Family

ID=18462097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9358977A Pending JPH11191149A (ja) 1997-12-26 1997-12-26 Icカード用lsiおよびその使用方法

Country Status (4)

Country Link
US (1) US6299069B1 (ja)
EP (1) EP0926624B1 (ja)
JP (1) JPH11191149A (ja)
DE (1) DE69833902T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157609A (ja) * 2003-11-25 2005-06-16 Dainippon Printing Co Ltd 携帯型情報記憶媒体及びそのプログラム
JP2008502283A (ja) * 2004-06-08 2008-01-24 エイチアールエル ラボラトリーズ,エルエルシー 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ
JP2017506455A (ja) * 2014-01-28 2017-03-02 西安西▲電▼捷通▲無▼綫▲網▼絡通信股▲分▼有限公司China Iwncomm Co., Ltd. エンティティの識別方法、装置及びシステム

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
DE19911049C2 (de) * 1999-03-12 2003-06-26 Audi Ag Verfahren zur Kodierung eines Steuergerätes für ein Kraftfahrzeug
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
DE10000502A1 (de) 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
FR2808947B1 (fr) * 2000-05-09 2002-10-18 Bull Cp8 Procede pour authentifier un objet portatif, objet portatif correspondant, et appareil pour mettre en oeuvre le procede
JP2001344570A (ja) * 2000-06-05 2001-12-14 Japan Servo Co Ltd 近接型非接触icカード発行装置
EP1213656A1 (fr) * 2000-12-05 2002-06-12 Koninklijke Philips Electronics N.V. Circuit d'inversion pour les conventions directes et indirectes d'un module electronique
JP2002305250A (ja) * 2001-02-02 2002-10-18 Matsushita Electric Ind Co Ltd 半導体集積回路および半導体集積回路に関するビジネス方法
FR2823398B1 (fr) * 2001-04-04 2003-08-15 St Microelectronics Sa Extraction d'une donnee privee pour authentification d'un circuit integre
FR2825873A1 (fr) * 2001-06-11 2002-12-13 St Microelectronics Sa Stockage protege d'une donnee dans un circuit integre
DE10130099B4 (de) * 2001-06-21 2004-04-08 Infineon Technologies Ag Challenge-Response-Vorrichtung, Authentifikationssystem, Verfahren zum Erzeugen eines Response-Signals aus einem Challenge-Signal und Verfahren zur Authentifikation
FR2829645A1 (fr) * 2001-09-10 2003-03-14 St Microelectronics Sa Protocole d'authentification a verification d'integrite de memoire
US6641050B2 (en) * 2001-11-06 2003-11-04 International Business Machines Corporation Secure credit card
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7836310B1 (en) * 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US20090249085A1 (en) * 2004-06-29 2009-10-01 Nagracard S.A. Security module and personalization method for such a security module
US7818264B2 (en) 2006-06-19 2010-10-19 Visa U.S.A. Inc. Track data encryption
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
FR2924243B1 (fr) * 2007-11-27 2013-03-22 Commissariat Energie Atomique Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication
DE102008023912A1 (de) * 2008-05-16 2009-11-19 Siemens Aktiengesellschaft Verfahren und Speichervorrichtung zum Bereitstellen eines kryptografischen Schlüssels
EP3267354A1 (en) * 2016-07-04 2018-01-10 Gemalto Sa Secure loading of secret data to non-protected hardware registers
CN106933536B (zh) * 2017-03-01 2019-08-27 天地融科技股份有限公司 一种智能卡的应用加载运行方法及智能卡

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5120939A (en) * 1989-11-09 1992-06-09 At&T Bell Laboratories Databaseless security system
EP0440158B1 (en) * 1990-01-30 1997-09-10 Kabushiki Kaisha Toshiba Mutual authentication system
JPH03224083A (ja) 1990-01-30 1991-10-03 Toshiba Corp 携帯可能電子装置
JPH03240127A (ja) * 1990-02-17 1991-10-25 Hitachi Maxell Ltd プログラム制御システム
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
FR2696854A1 (fr) * 1992-10-09 1994-04-15 Kudelski Sa Fabrique Enreg Nag Système de traitement d'information utilisant un ensemble de cartes à mémoire.
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
FR2698195B1 (fr) * 1992-11-19 1994-12-16 Gemplus Card Int Procédé et circuit de cryptage et d'authentification pour carte à mémoire synchrone.
US5914471A (en) * 1993-07-20 1999-06-22 Koninklijke Ptt Nederland N.V. Method and apparatus for recording usage data of card operated devices
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157609A (ja) * 2003-11-25 2005-06-16 Dainippon Printing Co Ltd 携帯型情報記憶媒体及びそのプログラム
JP2008502283A (ja) * 2004-06-08 2008-01-24 エイチアールエル ラボラトリーズ,エルエルシー 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ
JP2011239461A (ja) * 2004-06-08 2011-11-24 Hrl Laboratories Llc 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ
US8095993B2 (en) 2004-06-08 2012-01-10 Hrl Laboratories, Llc Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis
JP2012095345A (ja) * 2004-06-08 2012-05-17 Hrl Lab Llc 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ
US8296577B2 (en) 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
JP2013141323A (ja) * 2004-06-08 2013-07-18 Hrl Lab Llc 差分電力解析を妨害する命令マスクや他の手法を備えた暗号アーキテクチャ
JP2017506455A (ja) * 2014-01-28 2017-03-02 西安西▲電▼捷通▲無▼綫▲網▼絡通信股▲分▼有限公司China Iwncomm Co., Ltd. エンティティの識別方法、装置及びシステム

Also Published As

Publication number Publication date
EP0926624A2 (en) 1999-06-30
US6299069B1 (en) 2001-10-09
DE69833902T2 (de) 2006-12-28
EP0926624A3 (en) 2000-09-06
EP0926624B1 (en) 2006-03-22
DE69833902D1 (de) 2006-05-11

Similar Documents

Publication Publication Date Title
JPH11191149A (ja) Icカード用lsiおよびその使用方法
TWI610188B (zh) 具有共用處理邏輯之數位貨幣採礦電路
US7602920B2 (en) Method for making secure the pre-initialising phase of a silicon chip integrated system, in particular a smart card and integrated system therefor
JP3638770B2 (ja) テスト機能を備える記憶装置
US20120204034A1 (en) Data transmission method using an acknowledgement code comprising hidden authentication bits
JP4074620B2 (ja) メモリ管理ユニット
JP6471130B2 (ja) 半導体装置およびセキュリティシステム
JP4257824B2 (ja) 半導体記憶装置
JP6991493B2 (ja) データセキュリティを提供するメモリデバイス
KR20050086347A (ko) 인증을 위한 시스템과 방법
US20080086781A1 (en) Method and system for glitch protection in a secure system
JP4489068B2 (ja) Icカード用lsi
JP2002222084A (ja) 半導体記憶装置、セクタアドレス変換回路、アドレス変換方法及び半導体記憶装置の使用方法
JP5179834B2 (ja) 半導体装置及びデータ処理システム
JP2000235523A (ja) 電子式データ処理用回路装置
TWI743715B (zh) 用來針對非揮發性記憶體進行資訊保護的方法及設備
CN116635859A (zh) 基于硬件的安全认证
JPH0935018A (ja) 携帯可能情報記録媒体およびそのアクセス方法
JPH10143441A (ja) 機密保持機能を備えた半導体装置、符号処理方法及びそのソフトウエアを記憶した記憶媒体
KR100511684B1 (ko) 유사 난수 발생기
JP7211472B2 (ja) データ書き込み方法
US20070022288A1 (en) Checking of a digital quantity stored in a memory area
JP2856415B2 (ja) 携帯可能電子装置
CN113468518A (zh) 用于针对非易失性存储器进行信息保护的方法和设备
JPH1040165A (ja) データ読み出し方法およびリードバッファ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061214

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070109

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090123

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090123