JP5591964B2 - Authentication method, device to be authenticated, and authentication device - Google Patents
Authentication method, device to be authenticated, and authentication device Download PDFInfo
- Publication number
- JP5591964B2 JP5591964B2 JP2013032349A JP2013032349A JP5591964B2 JP 5591964 B2 JP5591964 B2 JP 5591964B2 JP 2013032349 A JP2013032349 A JP 2013032349A JP 2013032349 A JP2013032349 A JP 2013032349A JP 5591964 B2 JP5591964 B2 JP 5591964B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- authentication
- data
- key
- authenticated
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 100
- 238000006243 chemical reaction Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 46
- 230000000694 effects Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004907 flux Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 206010067482 No adverse event Diseases 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Description
認証装置、被認証装置、およびその認証方法に関するものである。 The present invention relates to an authentication apparatus, an apparatus to be authenticated, and an authentication method thereof.
一般に、情報セキュリティを要する分野において、自己の正当性を証明する手段として互いに共有した秘密情報と暗号器を用いた手法が採られている。 In general, in a field requiring information security, a method using secret information and an encryptor shared with each other is adopted as a means for proving its validity.
例えば、電子決済に用いるICカード(SmartCard)等では、カード内のICには当該ICカードを個別化するためのID及び秘密情報が保持されており、更にICカードは、ID及び秘密情報に基づく認証を行うための暗号処理機能を有している。別の例では、コンテンツの著作権保護において、SD(登録商標)カードの正当性を証明する手段としてはContent Protection for Recordable Media(CPRM)において認証方式が規定されている。 For example, in an IC card (SmartCard) used for electronic payment, an ID in the card and secret information for individualizing the IC card are held, and the IC card is based on the ID and secret information. It has a cryptographic processing function for performing authentication. In another example, an authentication method is defined in Content Protection for Recordable Media (CPRM) as means for proving the validity of an SD (registered trademark) card in protecting the copyright of content.
認証などのセキュリティシステムを構築する場合には、当該認証処理を行う装置が攻撃されて秘匿されている情報が抜き出されるといったことも想定しておく必要があり、抜き出された秘匿情報を無効化(Revoke)する方法も重要である。前述のCPRMやBlu-ray Discに記録されたコンテンツを保護するために規定されている保護技術であるAdvanced Access Content System(AACS)などでは、秘匿情報であるデバイス鍵の無効化にはMedia Key Block(MKB)という技術を利用しており、公開鍵暗号ベースのプロトコルを採用している方式では漏洩した秘密鍵情報と対になった公開鍵証明書のリスト(Revocation List)を利用している。 When building a security system such as authentication, it is also necessary to assume that the device that performs the authentication process is attacked and secret information is extracted, and the extracted confidential information is invalidated. The method of revoking is also important. In Advanced Access Content System (AACS), which is a protection technology defined for protecting content recorded on the aforementioned CPRM and Blu-ray Disc, Media Key Block is used to invalidate device keys that are confidential information. (MKB) is used, and a method employing a public key cryptosystem-based protocol uses a public key certificate list (Revocation List) paired with leaked private key information.
SD(登録商標)カードに記録されたビデオデータをPCにインストールされたビデオ再生ソフトで再生するシステムを例に挙げると、SD(登録商標)カード内のCPRM処理はハードウェアで実装されているために秘匿された情報を不正に取り出すことは非常に困難であるが、それに比べて再生ソフトウェアから秘匿情報を抜き出す方が攻撃としては容易である場合が多い。現実にも、保護されたDVDやBlu-rayビデオコンテンツを不正に復号するソフトウェアも多く出回っており、当該不正ソフトウェアでは正規のソフトウェアプレーヤから抜き出した秘匿情報が利用されている。 Taking as an example a system that plays video data recorded on an SD (registered trademark) card with video playback software installed on a PC, the CPRM processing in the SD (registered trademark) card is implemented in hardware. It is very difficult to illegally extract information that is concealed in secret information, but it is often easier for an attack to extract confidential information from reproduction software. In reality, there are many softwares that illegally decrypt protected DVD and Blu-ray video content, and the unauthorized software uses confidential information extracted from legitimate software players.
加えて、ソフトウェアから抜き出した秘匿情報を使って、SD(登録商標)カードに成り済まして正規のソフトウェアプレーヤを騙すといったカードの模倣ソフトウェアや模倣SDカードを防ぐための対策が必要な場合もある。例えば、模倣SD(登録商標)カードからはコンテンツ暗号化に使われた暗号化鍵を容易に読み出せるように作っておくことで、正規のビデオ録画機器を使って模倣SD(登録商標)カードに録画したビデオコンテンツを後から容易に復号できるようになる。 In addition, it may be necessary to take measures for preventing counterfeit software or counterfeit SD cards, such as using a secret information extracted from software to impersonate an SD (registered trademark) card and tricking a legitimate software player. For example, by making it possible to easily read the encryption key used for content encryption from a counterfeit SD (registered trademark) card, it is possible to convert it to a counterfeit SD (registered trademark) card using a regular video recording device. The recorded video content can be easily decoded later.
ここで、認証装置は、民生機器の様な専用ハードウェア装置だけでなく、例えば、PC(パーソナルコンピュータ)などで実行可能なプログラム(ソフトウェア)として提供され、当該ソフトウェアが実質的な認証装置となる場合もある。一方、被認証装置は、例えば、記録メディア等であり、記録メディアを構成するハードウェアの動作にはファームウェアと呼ばれるプログラムが介在する場合であっても、重要な処理や情報はセルアレイ中のハードウェア内に秘匿された状態で記憶される。そのため、現実的には、例えば、PC上で実行されるソフトウェアが認証装置の場合では、記録メディア等の被認証装置に比べて耐タンパー性能(攻撃に対する耐性)が低くなってしまうことが懸念される。 Here, the authentication device is provided not only as a dedicated hardware device such as a consumer device but also as a program (software) that can be executed by a PC (personal computer), for example, and the software becomes a substantial authentication device. In some cases. On the other hand, the device to be authenticated is, for example, a recording medium or the like, and even if a program called firmware is interposed in the operation of the hardware constituting the recording medium, important processing and information are stored in the hardware in the cell array. It is stored in a concealed state. Therefore, in reality, for example, when the software executed on the PC is an authentication device, there is a concern that the tamper resistance (resistance to attack) may be lower than the authentication target device such as a recording medium. The
そのため、耐タンパー性能の低い認証装置を攻撃することで、耐タンパー性の高い被認証装置に秘匿された秘密情報をも暴露され、耐タンパー性の高い装置に成りすまされることが懸念されている。このように、秘密情報の不正利用の防止が要求される傾向にある。 For this reason, there is a concern that by attacking an authentication device with low tamper resistance, secret information that is concealed by an authentication target device with high tamper resistance will be exposed and impersonated as a high tamper resistance device. . In this way, prevention of unauthorized use of secret information tends to be required.
また、近年では、比較的大きな回路規模を要求される公開鍵暗号処理やMKB処理のハードウェア実装が困難である等の回路規模上の制約が同時に課せられる環境下においても、上記要求が強くなる傾向もある。 In recent years, the above requirements have been strengthened even in an environment where restrictions on circuit scale are imposed simultaneously, such as hardware implementation of public key encryption processing and MKB processing requiring a relatively large circuit scale. There is also a trend.
秘密情報の不正利用の防止に有利なメモリ装置、ストレージメディア、ホスト装置、及びシステムを提供する。 Provided are a memory device, a storage medium, a host device, and a system that are advantageous for preventing unauthorized use of confidential information.
実施形態の認証方法は、被認証装置を認証装置が認証する認証方法であって、前記被認証装置は、秘匿された第1鍵情報と前記被認証装置の識別情報を保持し、前記認証装置は、元情報と秘匿された第2鍵情報を保持し、前記被認証装置が、前記元情報と前記第1鍵情報に基づいて、第3鍵情報を生成するステップと、前記被認証装置が、前記第3鍵情報と乱数情報とに基づいて、第1セッション鍵を生成するステップと、前記認証装置が、秘匿された前記第2鍵情報と乱数情報に基づいて、第2セッション鍵を生成するステップと、前記被認証装置が、前記第1セッション鍵を用いて前記識別情報を一方向性関数で変換することにより、一方向性変換識別情報を生成するステップと、前記認証装置が、前記一方向性変換識別情報を用いて認証するステップとを具備する。 An authentication method according to an embodiment is an authentication method in which an authentication device authenticates a device to be authenticated, and the device to be authenticated holds confidential first key information and identification information of the device to be authenticated , and the authentication device Holds the second key information concealed with the original information, the authenticated device generates third key information based on the original information and the first key information, and the authenticated device Generating a first session key based on the third key information and the random number information; and generating a second session key based on the second key information and the random number information that are concealed by the authentication device. A step of generating unidirectional conversion identification information by converting the identification information with a unidirectional function using the first session key, and the authentication device comprising: Recognition using unidirectional conversion identification information And a step of.
以下、実施形態について図面を参照して説明する。この説明においては、認証装置、被認証装置、およびその認証方法として、メモリシステムを一例に挙げるが、これに限られることはない。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。 Hereinafter, embodiments will be described with reference to the drawings. In this description, a memory system is given as an example of the authentication device, the device to be authenticated, and the authentication method thereof, but the present invention is not limited to this. In this description, common parts are denoted by common reference symbols throughout the drawings.
[第1の実施形態]
第1の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。
[First Embodiment]
An authentication device, a device to be authenticated, and an authentication method thereof according to the first embodiment will be described.
<1.構成例(メモリシステム)>
まず、図1を用い、第1の実施形態に係るメモリシステムの構成例について説明する。
<1. Configuration example (memory system)>
First, a configuration example of the memory system according to the first embodiment will be described with reference to FIG.
図示するように、第1の実施形態に係るメモリシステムは、被認証装置であるNAND型フラッシュメモリ10、認証装置であるホスト装置20、および両者を仲介するコントローラ19を備える。ホスト装置20は、コントローラ19により、NAND型フラッシュメモリ10にアクセスする。
As shown in the figure, the memory system according to the first embodiment includes a
ここで、NAND型フラッシュメモリ10等の半導体製品の製造工程について、簡単に説明する。半導体製品の製造工程は、主に基盤ウエハー上に回路を形成する前工程と、前期ウエハーを個片に切り分けた後、配線や樹脂パッケージ封入などを行う後工程に分けられる。ここで、コントローラ19は、前工程においてNAND型フラッシュメモリ10内に包含されるよう構成される場合、前工程においては包含されないが後工程において同一パッケージに包含されるように構成される場合、NAND型フラッシュメモリ10とは異なるチップの形態をとる場合、など様々な場合がある。図1を含め、以下では、コントローラ19は、NAND型フラッシュメモリ10とは異なるチップの形態を採る場合を例にとっている。以下、特に断りのない限り、ホスト装置20とNAND型フラッシュメモリ10間のデータや命令のやり取りにおいては、多くの場合コントローラ19が仲介するものである。この場合でもコントローラ19は、前述のデータや命令の本質的内容を変えることはないため、詳細については、省略して説明する場合がある。なお、NAND型フラッシュメモリ10およびコントローラ19の構成例の詳細な説明については、後述する。
Here, a manufacturing process of a semiconductor product such as the
なお、ホスト装置20は、民生機器のように専用ハードウェアで構成される場合、専用ハードウェアとそれを動作させるファームウェアの組み合わせで構成される場合だけでなく、装置の機能がPC上で動作するソフトウェアプログラムで構成される場合も考えられる。
In addition, when the
以下において、図1に示す各コンポーネント、データ処理について、以下で説明する。本例では、被認証装置であるNAND型フラッシュメモリ10に記録されているChipIDやLotIDといった識別情報を第3者から秘匿した状態で読み出すと共に、前述の被認証装置10から読み出されたデータであることを確実に確認する方法、及び同方法をNAND型フラッシュメモリ10に適用する場合の構成例を示すものである。
In the following, each component and data processing shown in FIG. 1 will be described below. In this example, the identification information such as ChipID and LotID recorded in the
1−1.NAND型フラッシュメモリ
次に、被認証装置であるNAND型フラッシュメモリ10について説明する。
本例に係るNAND型フラッシュメモリ10は、セルアレイ11、及びセルアレイ11の周辺領域に配置されるデータキャッシュ12、データ生成回路(Generate)13、16、データ結合回路(Concatenate)14、乱数生成器(RNG)15、排他的論理和回路(EXOR)17、暗号化器(Encrypt)18等を備える。
1-1. NAND flash memory
Next, the
A
セルアレイ(Cell array)11には、図示しないビット線およびワード線の交差位置にマトリックス状に複数のメモリセルが配置される。メモリセルは、半導体基板上に順次、トンネル絶縁膜、浮遊ゲート、層間絶縁膜、及びワード線と接続される制御ゲートを各々備える。ビット線方向のメモリセルの電流経路は直列接続され、セルユニットを形成する。セルユニットは、ビット線、ソース線に接続される選択トランジスタにより選択される。ワード線方向の複数メモリセルは、データ読み出し及びデータ書き込みの単位である1ページ(Page)を形成する。また、複数のページはデータ消去の単位であるブロック(Block)を形成する。詳細については、後述する。
In the
また、セルアレイ11は、一般領域(User area)11−1、秘匿領域(Hidden area)11−2、ROM領域(ROM area)11−3等を備える。
The
一般領域(User area)11−1は、データ記録及びデータ読み出しのいずれも自由に可能な領域である。一般領域11−1には、暗号化LotID束であるSELID(Set of Encrypted LotID)が記録される。その他として、一般領域11−1には、例えば、写真、ビデオ、音楽或いは電子書籍といったコンテンツデータ等が記録される。なお、本例のSELIDの構成例については、図3において後述する。 The general area (User area) 11-1 is an area where both data recording and data reading are freely possible. In the general area 11-1, SELID (Set of Encrypted LotID) which is a bundle of encrypted LotIDs is recorded. In addition, content data such as photographs, videos, music, or electronic books are recorded in the general area 11-1. A configuration example of the SELID in this example will be described later with reference to FIG.
秘匿領域(Hidden area)11−2は、NAND型フラッシュメモリ10の外に対してはデータ記録だけでなく、データ読み出しも禁止される領域である(Read/Program inhibit)。本例に係る秘匿領域11−2には、上記認証においてNAND型フラッシュメモリ10が用いる秘密情報であるNKey(第1鍵情報)が記録される。後述するように、この第1鍵情報(NKey)からは、第2鍵情報(HKey)を生成する。一方、第2鍵情報(HKey)からは、第1鍵情報(NKey)を生成しないように構成される。
The hidden area 11-2 is an area where not only data recording but also data reading is prohibited outside the NAND flash memory 10 (Read / Program inhibit). In the secret area 11-2 according to this example, NKey (first key information) that is secret information used by the
ROM領域11−3は、外部からのデータ記録が禁止され、データ読み出しが許可される領域である。本例に係るROM領域11−3には、識別情報であるチップID(ChipID)とロットID(LotID)とが記録される。これらのChipIDやLotIDを記録する際にはデータに誤りが生じてしまった場合でも正しい識別情報が読み出せるようにするために一般的には誤り訂正符号化された状態で記録されるが、誤り訂正符号化/復号処理については特に図示していない。ここで、チップID(ChipID)とは、NAND型フラッシュメモリ10の1チップ毎に付されるユニークなIDを言う。ロットID(LotID)とは、NAND型フラッシュメモリ10の製造工程である程度の数毎に異なって付されるIDである。例えば、LotIDは、予め決められた100万個といった数量毎に変更される場合や、1ヶ月や半年など製造時期毎に変更される場合などが考えられる。また、これらのChipIDやLotIDを外部から常に秘匿しておきたい場合などではROM領域の代わりに、前記秘匿領域に記録しても良い。
The ROM area 11-3 is an area where data recording from outside is prohibited and data reading is permitted. In the ROM area 11-3 according to this example, a chip ID (ChipID) and a lot ID (LotID), which are identification information, are recorded. When these ChipID and LotID are recorded, it is generally recorded in an error correction encoded state so that correct identification information can be read even if an error occurs in the data. The correction encoding / decoding process is not particularly illustrated. Here, the chip ID (ChipID) refers to a unique ID assigned to each chip of the
尚、上記におけるROM領域11−3、秘匿領域11−2、一般領域11−2は、物理的構成を異ならせることで実現しても良いし、物理的構成は同一であるがNAND型フラッシュメモリ10内の論理的制御で実現しても良い。ここで、論理的制御とは、領域毎にNAND型フラッシュメモリ10外からのアクセスを制御する識別子を設け、これを保持し、NAND型フラッシュメモリ10が外部から当該領域へのアクセスを受容した際に、同識別子によってアクセス制御を行う、などの方法がある。
Note that the ROM area 11-3, the secret area 11-2, and the general area 11-2 in the above may be realized by different physical configurations, or the physical configuration is the same, but the NAND flash memory. It may be realized by the logical control within 10. Here, logical control refers to a case where an identifier for controlling access from outside the
また、セルアレイ(Cell array)11を構成する個々のメモリセルは、複数ビットを記憶するもの(MLC: Multi Level Cell)であっても良いし、1ビットを記録するもの(SLC: Single Level Cell)であってもよい。更に、ROM領域11−3及び秘匿領域11−2についてはSLCで利用する構成とし、一般領域11−1についてはMLCで利用する構成としてもよい。この時、SLC領域とMLC領域とはセルアレイの物理的構成が異なっていても良いし、MLCとして利用可能なメモリセルの一部のビットのみを使用して、擬似的なSLC領域として利用しても良い。
Further, each memory cell constituting the
データキャッシュ(Data Cache)12は、セルアレイ11から読み出したデータを一時的に記憶する。
A
データ生成回路(Generate)13、16は、複数の入力データから予め定められた演算によって出力データを生成する回路である。データ生成回路13は、ホスト装置20から受信した情報(HCj)を前述の第1秘密情報NKeyを用いて変換することで、HKeyj(第2鍵情報)を生成する。このように、NAND型フラッシュメモリ10側では、第1鍵情報(NKey)から、第2鍵情報(HKey j)を生成することができる。
The data generation circuits (Generate) 13 and 16 are circuits that generate output data from a plurality of input data by a predetermined calculation. The
データ生成回路16は、ホスト装置20から受信した乱数RNhと当該NAND型フラッシュメモリ10自身が生成した乱数RNcを結合したデータを前記HKeyjを用いて変換することで、セッション鍵SKeyjを生成する。例えば、データ生成回路13、16は、AES(Advanced Encryption Standard)暗号化器などを用いることも可能である。
The
尚、データ生成回路(Generate)13、16は、複数の入力情報から新たなデータを出力する回路である。全体の回路規模を小さくするために、暗号化器18と同じ或いは暗号化器18を流用した回路で構成することも可能である。同様にデータ処理手順を分かり易くするために異なる構成要素として図示されている2つのデータ生成回路13、16は、同じ回路を繰り返し利用することが可能である。
The data generation circuits (Generate) 13 and 16 are circuits for outputting new data from a plurality of input information. In order to reduce the overall circuit scale, it is also possible to configure with the same circuit as the
データ結合回路(Concatenate)14は、2つの入力データ(乱数RNh、乱数RNc)を結合し、結合されたデータをデータ生成回路16に出力する。
The data combination circuit (Concatenate) 14 combines two input data (random number RN h and random number RN c ) and outputs the combined data to the
乱数生成器(RNG: Random Number Generator)15は、認証に用いる乱数RNcを生成する。 Random number generator (RNG: Random Number Generator) 15 generates a random number RN c used for authentication.
排他的論理和回路(EXOR)17は、ROM領域11−3から読み出される2つの識別情報(ChipID, LotID)を入力として、この2つの入力データの排他的論理和を計算し、その結果を出力する。なお、前記記載の通り当該識別情報がROM領域の代わりに秘匿領域に記録されている場合には、当該排他的論理和回路の入力データである当該識別情報は秘匿領域から読み出される。 The exclusive OR circuit (EXOR) 17 inputs two pieces of identification information (ChipID, LotID) read from the ROM area 11-3, calculates the exclusive OR of these two input data, and outputs the result. To do. When the identification information is recorded in the secret area instead of the ROM area as described above, the identification information that is input data of the exclusive OR circuit is read from the secret area.
暗号化器(Encrypt)18は、入力されたデータを別途入力された鍵データで暗号化し、暗号化された入力データを出力する回路である。本実施例では、ROM領域11−3から読み出した2つの識別情報(ChipID, LotID)の排他的論理和回路17による演算した結果を、データ生成回路16によって生成された鍵データSKeyjを用いて暗号化し、暗号化識別情報Enc-ID = Enc(SKeyj、 ChipID (+) LotID)を生成する。なお、前述の通り、全体のハードウェア回路規模を小さくするために当該暗号化器18を、データ生成回路としても使用することも可能である。ここで、(+)は、排他的論理和を表す。
The encryptor (Encrypt) 18 is a circuit that encrypts input data with separately input key data and outputs the encrypted input data. In the present embodiment, the result of the calculation by the exclusive OR
また、ここでは図示しないが、例えば、コントローラ19を介してホスト装置20に送付されるデータを出力する出力部なども実際には構成要素として配置される。
Although not shown here, for example, an output unit that outputs data sent to the
なお、上記セルアレイ11以外のデータキャッシュ12等の構成要素は、例えば、メモリコントローラ(Controller)19に配置することも同様に可能である。
It should be noted that the constituent elements such as the
1−2.ホスト装置
次に、本例に係るホスト装置(Host)20について説明する。
ホスト装置20は、メモリ(Memory)23、乱数生成部(RNG)25、データ結合部(Concatenate)26、排他的論理和部(EXOR)24、29、データ選択部(Select)21、データ生成部(Generate)27、及び復号部(Decrypt)22、28等を備える。
1-2. Host device
Next, the host device (Host) 20 according to this example will be described.
The
メモリ(Memory)23は、本実施形態の認証処理を実行するために必要となる秘密情報HKeyj及びホスト定数HCjを記憶する。特に秘密情報HKeyjは外部に露呈しないような手段を用いて記憶しておく必要がある。そのため、例えば、専用ハードウェアを用いて構成される民生機器のようなホスト装置の場合には、完全に外部から遮断された専用メモリに記録する、或いは図示しないがホスト装置独自に用意した暗号処理を用いて暗号化された上でメモリに記録するなどの手段を用いることが望ましい。例えば、PC上で動作するプログラムソフトウェアの場合には、耐タンパーソフトウェア技術を用いてプログラム自体を保護しておくことで当該秘密情報HKeyjも厳重に保護することが可能である。
The
乱数生成部(RNG: Random Number Generator)25は、認証に用いるRNhを生成する。 A random number generator (RNG: Random Number Generator) 25 generates an RN h used for authentication.
データ結合部(Concatenate)26は、乱数生成部15、25から生成される2つの入力乱数データ(RNh、RNc)結合し、結合されたデータを出力する。
The data combination unit (Concatenate) 26 combines the two input random number data (RN h , RN c ) generated from the random
排他的論理和部(EXOR)24、29は、入力された2つのデータの排他的論理和を計算し、その結果を出力する。 The exclusive OR units (EXOR) 24 and 29 calculate the exclusive OR of the two input data and output the result.
データ選択部(Select)21は、NAND型フラッシュメモリ10から読み出した暗号化LotID束(SELID)から当該ホスト装置20が秘匿している秘密情報HKeyjを用いて復号可能な暗号化LotIDデータを、秘密情報HKeyjのインデックス情報jを用いて、選択する。例えば、前記秘密情報HKeyjは、民生機器であれば内部の専用メモリにメーカ独自の方法で暗号化した上で記録されていたり、ソフトウェアプログラムであればタンパーレジスタントソフトウェア(TRS)技術によって不正な解析から保護できる状態で保持していたり、或いはセキュリティモジュールを内蔵している場合には当該セキュリティモジュールの機能を利用して秘匿するなどの対策を採った上で秘匿される。
The data selection unit (Select) 21 receives encrypted LotID data that can be decrypted from the encrypted LotID bundle (SELID) read from the
データ生成部(Generate)27は、複数の入力データから予め定められた演算によって出力データを生成する演算部であり、NAND型フラッシュメモリに具備されたデータ生成回路16と同じ演算処理を行う。本例のデータ生成部27は、当該ホスト装置20自身が生成した乱数RNhとNAND型フラッシュメモリ10から受信した乱数RNcを結合したデータを、当該ホスト装置20が秘匿している秘密情報HKeyjを用いて変換することで、セッション鍵SKeyjを生成する。尚、データ生成部27は、AES暗号化演算などを用いることも可能である。
The data generation unit (Generate) 27 is a calculation unit that generates output data from a plurality of input data by a predetermined calculation, and performs the same calculation process as the
復号部(Decrypt)22、28は、入力されたデータを別途入力された鍵データで復号し、復号された入力データを出力する。本実施例では、復号部22は、ホスト装置が秘匿している秘密情報HKeyjと必要に応じて当該秘密情報HKeyjを識別するためのインデックス情報jを排他的論理和部で演算した結果を鍵情報として前記データ選択部21において選択された暗号化LotIDデータを復号し、LotIDを得るために用いられる。
復号部28は、NAND型フラッシュメモリ10から受信した暗号化識別情報Enc-IDを前記データ生成部27から出力されたSKeyjを用いて復号し、排他的論理和29に出力する。これらの復号処理の結果、ホスト装置20は、ChipIDとLotIDの2つの識別情報のデータを得ることが可能である。
Decryption units (Decrypt) 22 and 28 decrypt input data with separately input key data, and output the decrypted input data. In this embodiment, the
The
上記のように、ホスト装置20は、第1段目の復号部22によりLotIDを得る。さらに、得られたLotIDと第2段目の復号部28の出力データとについて、排他的論理和29による演算結果によりChipIDも得ることができる。さらに、前記暗号化識別情報Enc-IDが共有した鍵データSKeyjを用いて暗号化されることで、ホスト装置20が認証したNAND型フラッシュメモリ10から当該識別情報(ChipID、LotID)が正しく読み出されたことを確認するものである。
As described above, the
尚、この他に図示しない誤り訂正処理部なども必要に応じて構成要素として備える。 In addition, an error correction processing unit (not shown) is also provided as a component as necessary.
<2.認証フロー>
次に、図2に沿って、図1に示した構成におけるメモリシステムの認証フローについて説明する。
<2. Authentication flow>
Next, an authentication flow of the memory system in the configuration shown in FIG. 1 will be described with reference to FIG.
まず、認証を開始(Start)すると、ホスト装置20は、NAND型フラッシュメモリ10から暗号化LotID束(SELID: Set of Encrypted LotID)を読み出す(Step S11)。
First, when authentication is started (Start), the
続いて、ホスト装置20は、読み出したSELIDから選択部21により選択処理を行い、当該ホスト装置20が復号可能な暗号化LotIDデータを読み出す。さらに、秘匿している秘密情報HKeyjを用いて復号部22により上記復号処理を行い、LotIDを得る(Step S12)。
Subsequently, the
続いて、ホスト装置20は、認証要求時に必要となる乱数RNhを生成する。認証処理に乱数RNhを用いることにより、以下の処理で、NAND型フラッシュメモリ10との間で毎回異なる共有鍵を利用することが可能となる(Step S13)。
Subsequently, the
続いて、ホスト装置20は、認証要求(Request authentication)と共に、予め保持しているホスト定数(HCj)と前記乱数RNhをNAND型フラッシュメモリ10に送信する(Step S14)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、認証要求を受け、秘匿領域11−2に秘匿するNKeyをロードし、データキャッシュ12に保持する(Step S15)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、乱数生成器15により認証に必要となる乱数RNcを生成し、ホスト装置に送出する(Step S16)。
Then, NAND-
ここで、Step S16の処理と平行して、ホスト装置20は、Step S13で生成した乱数RNhとStep S15で受信した乱数RNcを用い、結合部26による上記データ結合処理の結果、結合データRNh || RNcを生成する。さらに、予め秘匿していた秘密情報HKeyjと前記結合データRNh || RNcを用い、生成部27による上記データ生成処理により、SKeyj (=Generate(HKeyj、 RNh || RNc))を生成する(Step S17)。
Here, in parallel with the processing in Step S16, the
続いて、NAND型フラッシュメモリ10は、ロードしたNKeyとStep S14において受信したホスト定数HCjを用いて、上記データ生成処理回路13により、HKeyjを生成する。さらに、Step S14で受信した乱数RNh及びStep S15で生成した乱数RNcから上記データ結合処理回路14により結合データRNh || RNcを生成する。さらに、前記HKeyjと前記結合データRNh || RNcを用いて、データ生成回路16の上記データ生成処理により鍵データSKeyj(= Generate(HKeyj、 RNh || RNc))を生成する(Step S18)。
Subsequently, the
続いて、ホスト装置20は、ID要求(Request ID)をNAND型フラッシュメモリ10に送る(Step S19)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ChipIDとLotIDをROM領域11−3から読み出す(Step S21)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、排他的論理和回路17によりChipIDとLotIDの排他的論理和(ChipID (+) LotID)を計算する。さらに、暗号化器18により、これらをStep S18で生成した鍵データSKeyjで暗号化し、暗号化識別情報Enc-ID (=Enc (SKeyj、 ChipID (+) LotID))を生成し、生成された暗号化識別情報Enc-IDをホスト装置20に送出する(Step S22)。
Subsequently, the
続いて、ホスト装置20は、復号部28により、受信した暗号化識別情報Enc-IDをStep S17で生成した鍵データSKeyjを用いて復号し、ID = ChipID (+) LotIDを得る(StepS11)。
Subsequently, the
続いて、ホスト装置20は、排他的論理和部29により、前記IDとStep S12で得られたLotIDの排他的論理和を求めることにより、ChipIDを得る(Step S24)。
Subsequently, the
以上の動作により、第1の実施形態に係る認証フローを終了する(End)。 With the above operation, the authentication flow according to the first embodiment is ended (End).
<3.SELIDについて>
次に、図3を用い、本例に係るSELIDについて説明する。
LotIDが記録されているNAND型フラッシュメモリに適合したSELIDを生成するためには、予め用意された秘密情報である第2鍵情報束(HKeyj (j=1,…,n)(Set of HKeys)の1つ1つの第2鍵情報HKeyjを用いて、LotIDを1つ1つ暗号化する。つまり、SELIDは、暗号化LotIDj(E-LotIDj) = Encrypt(HKeyj, LotID)の集合であり、この暗号化LotIDの集合を暗号化LotID束と呼んでいる。
<3. About SELID>
Next, the SELID according to this example will be described with reference to FIG.
In order to generate a SELID suitable for a NAND flash memory in which LotID is recorded, a second key information bundle (HKey j (j = 1,..., N) (Set of HKeys), which is secret information prepared in advance, is used. The LotID is encrypted one by one using the second key information HKey j of each), that is, the SELID is encrypted LotID j (E-LotID j ) = Encrypt (HKey j , LotID) A set of encrypted LotIDs is called an encrypted LotID bundle.
暗号化時には、必要に応じて各第2鍵情報HKeyjは、各々のインデックス情報jと排他的論理和演算を行った結果を暗号化鍵として用い、その際の暗号化LotIDjは次のように計算される:E-LotIDj = Encrypt(HKeyj (+) j, LotID)。 At the time of encryption, each second key information HKey j uses the result of performing an exclusive OR operation with each index information j as an encryption key as necessary. The encryption LotID j at that time is as follows: E-LotID j = Encrypt (HKey j (+) j, LotID).
ここで、上記の例は、HKeyj (+) jを暗号化鍵として用いる例であるが、これに限らず、例えば、巡回シフト演算を用いても良い。巡回シフト演算とは、ビットを移動し、桁を超えてしまったものを反対側に繰り上げて移動することである。左巡回シフト演算を例にとると、2進法で11010101を左に3回巡回シフトすると10101110となる。以下に示す式を用いて暗号化鍵を計算しても良い:E-LotIDj = Encrypt(CyclicLeftShift(HKeyj , j), LotID)。ここで、CyclicLeftShift(HKeyj , j)はHKeyjを左にj回巡回シフトすることを表す。この場合、図1の排他的論理和部24は左巡回シフト演算を行う左巡回シフト部に置き換えれば良い。これらの事柄は、後述する他の実施形態においても同様である。
Here, the above example is an example in which HKey j (+) j is used as the encryption key. However, the present invention is not limited to this, and for example, a cyclic shift operation may be used. The cyclic shift operation is to move a bit and move a bit that exceeds a digit to the opposite side. Taking the left cyclic shift operation as an example, 11010101 is binary-shifted three times to the left, and 10101110 is obtained. The encryption key may be calculated using the following formula: E-LotID j = Encrypt (CyclicLeftShift (HKey j , j), LotID). Here, CyclicLeftShift (HKey j , j) represents a cyclic shift of HKey j to the left by j times. In this case, the exclusive OR
尚、SELIDの構成については、本例に限られない。例えば、特定のHKeyjが露呈してしまった場合、当該HKeyjを保持しているホスト装置20では暗号化LotID束からLotIDを復号することができないようにするために、当該秘密情報HKeyjで復号可能な暗号化LotIDをSELIDから削除することにより新たに構成されたSELIDを記録したNAND型フラッシュメモリ10を使用した場合には、当該ホスト装置では正しいLotID及びChipIDを得る(復号する)ことができないようにすることも可能である。このようにすることで、当該秘密情報HKeyjを保持したホスト装置20を無効化する機能を提供することも可能である。
Note that the configuration of the SELID is not limited to this example. For example, when a specific HKey j is exposed, the
<4.作用効果>
第1の実施形態に係る認証装置、被認証装置、およびその認証方法によれば、少なくとも下記(1)乃至(2)の効果が得られる。
<4. Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the first embodiment, at least the following effects (1) to (2) can be obtained.
(1)ホスト装置20から秘密情報が漏洩した場合であっても、漏洩した情報を用いたNAND型フラッシュメモリ10の秘密情報の不正利用を防止することができる。
ここで、認証装置であるホスト装置20は、民生機器の様な専用ハードウェア装置だけでなく、例えば、PC(パーソナルコンピュータ)などで実行可能なプログラム(ソフトウェア)として提供され当該ソフトウェアが実質的なホスト装置となる場合もある。一方、被認証装置であるNAND型フラッシュメモリ10は、記録メディアであり、ファームウェアと呼ばれるプログラムが介在する場合であっても、重要な処理や情報はセルアレイ11中のハードウェア内に秘匿された状態で記憶される。そのため、現実的には、例えば、PC上で実行されるソフトウェアは、記録メディアに比べて耐タンパー性能(攻撃に対する耐性)が低くなってしまうことが懸念される。そのため、耐タンパー性能の低いホスト装置(認証装置)20を攻撃することで、耐タンパー性の高いNAND型フラッシュメモリ10(被認証装置)に秘匿された秘密情報をも暴露され、耐タンパー性の高い装置に成りすまされることが懸念される。
(1) Even if secret information is leaked from the
Here, the
そこで、第1の実施形態に係る構成及びその認証方式では、上記のように、比較的耐タンパー性の高いNAND型フラッシュメモリ10は、第1鍵情報(NKey)から第2鍵情報(HKey)を生成する第1鍵情報(NKey)をセルアレイ11に秘匿する。一方、比較的耐タンパー性が低くなってしまうホスト装置20は、第2鍵情報(HKey)からは第1鍵情報(NKey)を生成しない第2鍵情報(HKey)のみをメモリ23に秘匿する。
Therefore, in the configuration and the authentication method according to the first embodiment, as described above, the
そのため、NAND型フラッシュメモリ10は、ホスト装置20から受領した元情報(HC)と自身が秘匿する第1鍵情報(NKey)を用いて、認証装置が秘匿している第2鍵情報(HKey)を生成する。NAND型フラッシュメモリ10は、第2鍵情報(HKey)と乱数情報(RNh、RNc)とからセッション鍵(SKey)を生成する。
For this reason, the
ホスト装置20は、秘匿する第2鍵情報(HKey)と乱数情報(RNh、RNc)とからセッション鍵(SKey’)を生成する。その結果、NAND型フラッシュメモリ10とホスト装置20とは、共にその値が同じセッション鍵を共有する。
The
このように、本例では、NAND型フラッシュメモリ(被認証装置)10が秘匿する情報の秘密レベルと、ホスト装置(認証装置)20が秘匿する情報の秘密レベルとを非対称とすることができる。例えば、本例では、比較的耐タンパー性の高いNAND型フラッシュメモリ10が秘匿する情報の秘密レベルを、比較的耐タンパー性の低いホスト装置20が秘匿する情報の秘密レベルよりも、より高く設定することができる。
Thus, in this example, the secret level of information concealed by the NAND flash memory (authenticated device) 10 and the secret level of information concealed by the host device (authentication device) 20 can be asymmetric. For example, in this example, the secret level of information concealed by the
そのため、仮にホスト装置20が秘匿する情報が漏洩した場合であっても、比較的耐タンパー性の高いNAND型フラッシュメモリ10が秘匿する情報の秘密レベルがさらに高いため、漏洩した情報を用いてNAND型フラッシュメモリ10に”成りすますこと”ができない。従って、漏洩した情報を用いたNAND型フラッシュメモリ10の秘密情報の不正利用を防止することができる点で有利である。その結果、例えば、認証装置から読み出されたID情報が、目的の被認証装置から読み出した情報であることを確実に確認し、その相手方の不正利用の無効化等が可能となる。
Therefore, even if information concealed by the
(2)実装化において有利である。
本例のような構成では、比較的大きな回路規模を要求される公開鍵暗号処理やMKB処理のハードウェア実装が困難である等の回路規模上の制約が同時に課せられる環境下である。
(2) It is advantageous in mounting.
In the configuration as in this example, there is an environment in which restrictions on circuit scale are imposed simultaneously, such as hardware implementation of public key encryption processing and MKB processing requiring a relatively large circuit scale.
しかしながら、本例によれば、鍵情報が非対称であるものの比較的大きな回路規模を必要とする公開鍵暗号処理を用いる必要がない。さらに、上記のように、ホスト装置(認証装置)20とNAND型フラッシュメモリ(被認証装置)10とが秘匿する情報の秘密レベルを非対称とすることにより、片方の装置から漏れた情報だけではもう一方の装置に成りすますことができない認証手段を行い、認証装置と被認証装置間で秘密情報であるセッション鍵(SKey)を共有する。 However, according to this example, it is not necessary to use public key encryption processing that requires a relatively large circuit scale although the key information is asymmetric. Furthermore, as described above, by making the secret level of the information concealed between the host device (authentication device) 20 and the NAND flash memory (authenticated device) 10 asymmetrical, only information leaked from one device is already present. Authentication means that cannot be impersonated by one device is performed, and a session key (SKey) that is secret information is shared between the authentication device and the device to be authenticated.
そのため、上記制約が課される厳しい環境下であっても、実装化において有利であると言える。 Therefore, it can be said that it is advantageous in mounting even in a severe environment where the above restrictions are imposed.
さらに、上記のように、メモリシステムを構成するデータ生成回路や暗号化器を同じ処理とすることにより、回路規模を比較的小さくすることも可能である。 Furthermore, as described above, the circuit scale can be made relatively small by making the data generation circuit and the encryptor constituting the memory system the same processing.
[第2実施形態(複数のNKeyを備える一例)]
次に、第2の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、複数のNKey(第1鍵情報)を備える一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Second Embodiment (an example including a plurality of NKeys)]
Next, an authentication device, a device to be authenticated, and an authentication method thereof according to the second embodiment will be described. This embodiment relates to an example including a plurality of NKeys (first key information). In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
まず、図4を用い、第2の実施形態に係る構成例について説明する。
図示するように、第2の実施形態に係る構成例では、NAND型フラッシュメモリ10のセルアレイ(Cell array)11内の秘匿領域(Hidden area)11−2に、秘密情報NKeyを複数NKeyi (i=1、…、m)秘匿する点で、上記第1の実施形態と相違する。さらに、ホスト装置(認証装置)から受信した当該インデックス情報iに応じて、秘匿している秘密情報NKeyi(i=1、…、m)からNKeyiを選択する選択部31を更に備える。
<Configuration example (memory system)>
First, a configuration example according to the second embodiment will be described with reference to FIG.
As shown in the figure, in the configuration example according to the second embodiment, a plurality of secret information NKey is stored in a secret area 11-2 in a
さらに、ホスト装置20では、メモリ23が、NAND型フラッシュメモリ10内のどの秘密情報NKeyiの対応した秘密情報HKeyi、jを秘匿しているかを示すインデックス情報iが秘匿される。
Further, in the
上記構成において、ホスト装置20は、認証処理実行時に、選択部21により、秘密情報を指定するための当該インデックス情報iを、インデックス情報jと共に利用してSELIDから当該ホスト装置自身が復号可能な暗号化LotIDを選択する。
In the above configuration, the
合わせて、ホスト装置20は、当該インデックス情報iを、NAND型フラッシュメモリ10に送信する。
In addition, the
NAND型フラッシュメモリ10は、選択部31により、秘匿している秘密情報NKeyi(i=1、…、m)から受信した当該インデックス情報iに対応したNKeyiを選択する。
NAND-
<認証フロー>
次に、図5に沿って、第2の実施形態に係る認証フローについて説明する。
図示するように、本例では、ステップS14の認証要求(Request authentication)の際に、NAND型フラッシュメモリに秘匿された秘密情報NKeyiを選択するために必要なインデックス情報iが、ホスト装置20からNAND型フラッシュメモリ10に更に送信される。
<Authentication flow>
Next, an authentication flow according to the second embodiment will be described with reference to FIG.
As shown in the figure, in this example, the index information i necessary for selecting the secret information NKey i concealed in the NAND flash memory is received from the
さらに、ステップS18の際、NAND型フラッシュメモリ10では、第2鍵情報HKeyi、jを生成するために前記インデックス情報iを使用する。
Furthermore, in step S18, the
その他の認証フローは、上記第1の実施形態と実質的に同様であるため、詳細な説明は省略する。 The other authentication flows are substantially the same as those in the first embodiment, and a detailed description thereof will be omitted.
<SELIDについて>
次に、図6を用い、第2の実施形態に係るSELIDについて説明する。
(a)や(c)に示すように、第2の実施形態では、NKeyやHKeyを指定するためのインデックス情報が、iとjの2つになっているため、2次元のマトリックス状である。
<About SELID>
Next, the SELID according to the second embodiment will be described with reference to FIG.
As shown in (a) and (c), in the second embodiment, the index information for designating NKey and HKey is two, i and j, so that it is a two-dimensional matrix. .
その他は、上記第1の実施形態と実質的に同様であるため、詳細な説明は省略する。 The rest is substantially the same as in the first embodiment, and a detailed description thereof will be omitted.
<作用効果>
第2の実施形態に係る認証装置、被認証装置及びその認証方法によれば、上記(1)、(2)の第1の実施形態と同様の作用効果を得ることが可能である。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method thereof according to the second embodiment, it is possible to obtain the same functions and effects as in the first embodiment of the above (1) and (2).
さらに、第2の実施形態では、NAND型フラッシュメモリ10のセルアレイ(Cell array)11内の秘匿領域(Hidden area)11−2に、複数のNKeyi (i=1、…、m)秘匿する。
Furthermore, in the second embodiment, a plurality of NKey i (i = 1,..., M) is concealed in a concealed area (Hidden area) 11-2 in the
そのため、これに対応するホスト装置20も、用途毎に異なる秘密情報HKeyを秘匿することになるため、特定の用途に向けて配布したHKeyやNKeyが露呈してしまった場合でも、他の用途には悪影響を与えることがなくなる点で更に有利である。
Therefore, the
例えば、ビデオプレーヤ用に1番、電子書籍用に2番の秘密情報NKeyを割り当てた場合、ビデオプレーヤ用に割り当てられた秘密情報HKey1、j/NKey1が露呈してしまった場合でも、露呈した当該秘密情報HKey1、j/NKey1を用いても電子書籍リーダを構成することはできない。或いは、ホスト装置メーカ毎に異なるHKey/NKeyを割り当てた場合、メーカAのホスト装置から秘密情報が露呈してしまった場合でも、メーカBのホスト装置を構成することはできない。従って、秘密情報が露呈してしまった特定のメーカAのみが正しくLotID及びChipIDを読み出せないようなNAND型フラッシュメモリ10を新たに製造・提供することが可能となる。
For example, when the secret information NKey No. 1 is assigned for the video player and the secret information NKey is assigned for the electronic book, even if the secret information HKey 1, j / NKey 1 assigned for the video player is exposed Even if the secret information HKey 1, j / NKey 1 is used, an electronic book reader cannot be configured. Alternatively, when a different HKey / NKey is assigned for each host device manufacturer, even if the secret information is exposed from the host device of manufacturer A, the host device of manufacturer B cannot be configured. Accordingly, it is possible to newly manufacture and provide a
[第3実施形態(Lot毎に複数のNKeyを備える一例)]
次に、第3の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、Lot毎(NANDメーカ毎)に複数のNKey(第1鍵情報)を備える一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Third embodiment (an example in which a plurality of NKeys are provided for each lot)]
Next, an authentication device, a device to be authenticated, and an authentication method thereof according to the third embodiment will be described. This embodiment relates to an example in which a plurality of NKeys (first key information) are provided for each lot (each NAND manufacturer). In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
まず、図7を用い、第3の実施形態に係る構成例について説明する。
図示するように、第3の実施形態に係る構成例では、NAND型フラッシュメモリ10の秘匿領域(Hidden area)11−2に、複数のNKeyi (i=1、…、m)から選択された1つの秘密情報NKeyiが記録される。さらに、ROM領域11−3に、当該秘密情報NKeyiを特定するためのインデックス情報iが記録される点で、上記第1の実施形態と相違する。
<Configuration example (memory system)>
First, a configuration example according to the third embodiment will be described with reference to FIG.
As shown in the figure, in the configuration example according to the third embodiment, the secret area (Hidden area) 11-2 of the
さらに、ホスト装置20は、m個の秘密情報NKeyi (i=1、…、m)の中のどのNKeyiを秘匿したNAND型フラッシュメモリ10とでも認証処理が実行できるように、m個の秘密情報HKeyi (i=1、…、m)を全て秘匿する。
Further, the
上記構成において、ホスト装置20は、認証処理実行時に、NAND型フラッシュメモリ10からインデックス情報iを読み出し、秘匿しているHKeyi (i=1、…、m)の中から対応するHKeyiを選択する。さらに、同様にNAND型フラッシュメモリ10から読み出した暗号化LotID束(SELID)から、当該ホスト装置20自身が復号可能な暗号化LotIDを選択する。
In the above configuration, the
<認証フロー>
次に、図8に沿って、第3の実施形態に係る認証フローについて説明する。
本例では、NAND型フラッシュメモリ10は、ステップS32の際に、ROM領域11−3に、当該秘密情報NKeyiを特定するためのインデックス情報iを更にロードする。
<Authentication flow>
Next, an authentication flow according to the third embodiment will be described with reference to FIG.
In this example, the
ホスト装置20は、ステップS33の際に、NAND型フラッシュメモリ10から暗号化LotID束(SELID)を読み出すと共に、当該NAND型フラッシュメモリに秘匿されている秘密情報NKeyiを特定するためのインデックス情報iを更に読み出す。
In step S33, the
続いて、ホスト装置20は、ステップS17の際に、読み出したインデックスiに従って、秘匿している複数の秘密情報HKeyi (i=1、…、m)から対応するHKeyiを利用して、SELIDからLotIDを復号する。
Subsequently, in step S17, the
さらに、ホスト装置20は、上記処理で受信したインデックス情報iを用いて秘密情報セットHKeyi、j (i=1、…、m)から鍵データSKeyi、jを生成するために必要なHKeyi、jを選択する。
Further, the
なお、図示する処理フローでは、インデックスi、SELIDの順番に読み出しているが、読み出し順は特に限定されるものではない。 In the illustrated processing flow, reading is performed in the order of the index i and SELID, but the reading order is not particularly limited.
<SELIDについて>
本実施例でも、HKeyを指定するためのインデックス情報がiとjの2つとなっている。そのため、SELIDは、上記図6に示した第2の実施形態と同様である。
<About SELID>
Also in this embodiment, there are two index information i and j for specifying the HKey. Therefore, the SELID is the same as that of the second embodiment shown in FIG.
その他は、上記第1の実施形態と実質的に同様であるため、詳細な説明は省略する。 The rest is substantially the same as in the first embodiment, and a detailed description thereof will be omitted.
<作用効果>
第3の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the third embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第3の実施形態では、NAND型フラッシュメモリ10の秘匿領域11−2に、Lot毎(NANDメーカ毎)に複数のNKey(第1鍵情報)を記憶する。さらに、ROM領域11−3に、当該秘密情報NKeyiを特定するためのインデックス情報iを記録する。
Furthermore, in the third embodiment, a plurality of NKeys (first key information) are stored for each lot (each NAND manufacturer) in the secret area 11-2 of the
このように、NAND型フラッシュメモリのメーカ毎に、秘匿するNKeyを変えることで、特定のNAND型フラッシュメモリメーカの情報管理が不十分であったために、特に重要な秘密情報であるNKeyが漏れてしまった場合や、販売したNAND型フラッシュメモリ内の情報秘匿方法が不十分であったために秘密情報NKeyが漏れてしまった場合などでも、他のNAND型フラッシュメモリメーカが製造したNAND型フラッシュメモリは引き続き変わりなく利用可能となる点で、有利である。 In this way, by changing the NKey to be concealed for each NAND flash memory maker, information management of a specific NAND flash memory maker was insufficient, so the NKey, which is particularly important secret information, leaked NAND flash memory manufactured by other NAND flash memory manufacturers can be used even if the secret information NKey is leaked due to insufficient information concealment methods in the NAND flash memory sold. This is advantageous in that it can be used without change.
[第4実施形態(SELIDをProtected areaに記録する一例)]
次に、第4の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、SELIDを保護領域(Protected area)に記録する一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Fourth embodiment (an example of recording a SELID in a protected area)]
Next, an authentication device, a device to be authenticated, and an authentication method thereof according to the fourth embodiment will be described. This embodiment relates to an example of recording a SELID in a protected area. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
まず、図9を用い、第4の実施形態に係る構成例について説明する。
図示するように、第4の実施形態では、NAND型フラッシュメモリ10のセルアレイ(Cell array)11の保護領域(Protected area)11−4に暗号化LotID束(SELID)が記録される点で、上記実施形態と相違する。保護領域(Protected area)11−4とは、外部からのアクセスにはコントローラ19に別途実装される認証処理が成功した場合に限ってデータの書込み/読み出し処理が許可される領域である。
<Configuration example (memory system)>
First, a configuration example according to the fourth embodiment will be described with reference to FIG.
As shown in the figure, in the fourth embodiment, the encrypted LotID bundle (SELID) is recorded in the protected area 11-4 of the
このような保護領域11−4は、現在流通している、例えば、SD(登録商標)カード等でも備わっている領域であり、当該保護領域11−4に記録されたデータは、コントローラ19との認証処理を実行できる正規のホスト装置20以外からは秘匿できるだけでなく、ユーザが間違ってデータを書き換え/削除してしまうことも避けられる。そのため、データ再生処理に必要不可欠な情報を保存しておくための領域にもなっている。
Such a protection area 11-4 is an area that is currently distributed, for example, an SD (registered trademark) card or the like, and the data recorded in the protection area 11-4 is exchanged with the
そのため、本例に係るSELIDは、コントローラ19との間で別途用意される認証処理が実行されたセキュアチャネル33を確立した上で、ホスト装置20に送信される。
Therefore, the SELID according to the present example is transmitted to the
<認証フロー>
次に、図10に沿って、第4の実施形態に係る認証フローについて説明する。
<Authentication flow>
Next, an authentication flow according to the fourth embodiment will be described with reference to FIG.
図示するように、ホスト装置20は、ステップS35の際、コントローラ19との間で別途用意される認証処理を実行することでセキュアチャネルを確立させる。
As shown in the figure, the
そのため、ホスト装置20は、ステップS35の際、保護領域(Protected area)11−4へのアクセス許可を得て、確立したセキュアチャネルを通じ、暗号化LotID束(SELID)を読み出す。
Therefore, in step S35, the
第4の実施形態に係るSELIDについては、上記図3に示したものと同様である。 The SELID according to the fourth embodiment is the same as that shown in FIG.
その他の構成等は、第1の実施形態と同様であるため、詳細な説明は省略する。 Other configurations and the like are the same as those in the first embodiment, and thus detailed description thereof is omitted.
<作用効果>
第4の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the fourth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第4の実施形態では、暗号化LotID束(SELID)が、セルアレイ11の保護領域(Protected area)11−4に記録されている。そのため、ユーザが間違ってSELIDを書き換え/削除してしまうことによって生じる、ChipIDやLotIDの読み出しができなくなるというトラブル等を防止することが可能となる。
Furthermore, in the fourth embodiment, an encrypted LotID bundle (SELID) is recorded in a protected area 11-4 of the
[第5実施形態(NANDに乱数生成器を備えない一例)]
次に、第5の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、NAND型フラッシュメモリ10に、上記乱数生成器15を備えない一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Fifth Embodiment (an example in which a NAND does not include a random number generator)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method thereof according to the fifth embodiment will be described. This embodiment relates to an example in which the
<構成例(メモリシステム)>
図11を用いて、第5の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the fifth embodiment will be described with reference to FIG.
図示するように、第5の実施形態に係る構成例では、NAND型フラッシュメモリ10に、上記乱数生成器(RNG)15を備えていない。
As shown in the figure, in the configuration example according to the fifth embodiment, the
その代わりに、当該NAND型フラッシュメモリ10毎に予め用意された固定値インデックス情報(i-NAND)をセルアレイ(Cell array)内のROM領域11−3に保持している。このi-NANDは、第1の実施形態における乱数RNcの代わりに鍵データSKeyjを生成する際に使用される値であり、NAND型フラッシュメモリ製造時に予め生成された乱数値、ChipIDやLotIDのハッシュ値、ChipIDやLotIDを特定の値で暗号化した値など、様々な生成手段で生成した値が使用できる。
Instead, fixed value index information (i-NAND) prepared for each
そのため、NAND型フラッシュメモリ10は、データキャッシュ12Bを更に備える。
Therefore, the
<認証フロー>
次に、図12に沿って、第5の実施形態に係る認証フローについて説明する。
図示するように、NAND型フラッシュメモリ10は、ステップS16の際、ホスト装置20からの認証要求(Request authentication)を受けると、乱数生成器で乱数を生成する代わりに、ROM領域11−3から固定値インデックス情報(i-NAND)を読み出し、ホスト装置20に送出する。
<Authentication flow>
Next, an authentication flow according to the fifth embodiment will be described with reference to FIG.
As shown in the figure, when the
ホスト装置20およびNAND型フラッシュメモリ10は、鍵データSKeyjを生成する際に、ホスト装置が生成した乱数RNhと前記i-NANDの結合データRNh || i-NANDとHKeyjを用いて上記データ生成処理を行う (SKeyj = Generate(HKeyj、 RNh || i-NAND))。
The
第5の実施形態に係るSELIDについては、上記図3に示したものと同様である。 The SELID according to the fifth embodiment is the same as that shown in FIG.
その他は第1の実施形態と実質的に同様であるため、詳細な説明は省略する。 The rest is substantially the same as in the first embodiment, and a detailed description thereof will be omitted.
<作用効果>
第5の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the fifth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第5の実施形態では、NAND型フラッシュメモリ10に、図1における上記乱数生成器(RNG)15を備えていない。そのため、NAND型フラッシュメモリ10の実装回路規模をより小さくすることが可能となり、微細化に対してより有利である。
Furthermore, in the fifth embodiment, the
[第6の実施形態(Tokenを生成する一例)]
次に、第6の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、検証データ(Token)を生成する一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Sixth embodiment (an example of generating a token)]
Next, an authentication device, a device to be authenticated, and an authentication method according to the sixth embodiment will be described. This embodiment relates to an example of generating verification data (Token). In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図13を用いて、第6の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the sixth embodiment will be described with reference to FIG.
図示するように、第6の実施形態に係る構成例では、NAND型フラッシュメモリ10側、およびホスト装置20側のいずれも、データ生成回路(Generate)16、26を用い、秘密情報HKeyjと2つの乱数の結合データRNh || RNcから鍵データSKeyjを生成すると共に、ホスト装置とNAND型フラッシュメモリ間で同じ鍵データSKeyjが生成できていることを確認するための検証データ(Token)を生成する点で、上記実施形態と相違する。
As shown in the figure, in the configuration example according to the sixth embodiment, both the
検証データ(Token)とは、セッション鍵SKeyj及びホスト装置20とNAND型フラッシュメモリ10が互いに共有している値に基づいて計算するデータであれば良い。本実施例では、2つの乱数の結合順番を入れ替えた値RNc || RNhを用いて求められるToken (= Generate(SKeyj、 RNc||RNh))を一例として用いている。なお、図中では記載スペースの都合で、Generate()をG()と記載している。
The verification data (Token) may be data calculated based on the session key SKey j and values shared by the
なお、セッション鍵SKeyj生成に用いるデータ生成回路とToken生成に用いるデータ生成回路は、同じ回路として図示している。しかし、ホスト装置20とNAND型フラッシュメモリ10で同じデータを生成することが目的であるため、前記の2つのデータ生成回路は必ずしも同じデータ生成回路である必要はなく、異なる回路で構成してもよい。
The data generation circuit used for generating the session key SKey j and the data generation circuit used for generating the token are illustrated as the same circuit. However, since the purpose is to generate the same data in the
生成された前記検証データTokenは、NAND型フラッシュメモリからホスト装置に送出される。 The generated verification data Token is sent from the NAND flash memory to the host device.
ホスト装置20は、比較器35において、受信した前記検証データTokenとホスト装置自身が計算した検証データとが一致するか否かを判定する。検証データToken値が同じ場合(Yes)、ゲート部36はセッション鍵SKeyjを復号部(Decrypt)28に出力し、第1の実施形態と同様に以降の処理を継続する。一方、検証データToken値が異なっている場合(No)、以降の処理を中止する(Abort)。
The
<認証フロー>
次に、図14に沿って、第6の実施形態に係る認証フローについて説明する。
第6の実施形態では、第1の実施形態において鍵データSKeyjを生成した後に、以下の処理が追加される。
<Authentication flow>
Next, an authentication flow according to the sixth embodiment will be described with reference to FIG.
In the sixth embodiment, the following processing is added after the key data SKey j is generated in the first embodiment.
ホスト装置20は、ステップS36の際に、生成した鍵データSKeyjと2つの乱数RNhとRNcから検証データToken = Generate(SKeyj、RNc||RNh)を計算する。
The
同様に、NAND型フラッシュメモリも、ステップS37の際に、生成した鍵データSKeyjと2つの乱数RNhとRNcから検証データToken = Generate(SKeyj、 RNc||RNh)を計算し、当該Tokenをホスト装置に送出する。 Similarly, the NAND flash memory also calculates verification data Token = Generate (SKey j , RN c || RN h ) from the generated key data SKey j and the two random numbers RN h and RN c at the step S37. The token is sent to the host device.
続いて、ホスト装置は、ステップS39の際に、受信したTokenとホスト装置自身が生成したTokenが一致するかどうかを確認し、一致した場合には以降の認証処理を継続し、不一致の場合には以降の認証処理を中止する。 Subsequently, in step S39, the host device checks whether or not the received Token matches the Token generated by the host device itself. If they match, the subsequent authentication processing is continued. Cancels the subsequent authentication process.
第6の実施形態に係るSELIDについては、上記図3に示したものと同様である。 The SELID according to the sixth embodiment is the same as that shown in FIG.
その他については、第1の実施形態と同様であるため、詳細な説明は省略する。 Since others are the same as those in the first embodiment, a detailed description thereof will be omitted.
<作用効果>
第6の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the sixth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第6の実施形態では、ホスト装置とNAND型フラッシュメモリ間で同じ鍵データSKeyjが生成できていることを確認するための検証データ(Token)を生成し、この一致を判定する。 Furthermore, in the sixth embodiment, verification data (Token) for confirming that the same key data SKey j can be generated between the host device and the NAND flash memory is generated, and this match is determined.
そのため、認証による鍵共有処理が両者間で正しく行われていることが確認でき、不正な認証相手や認証処理の中間経路においてデータに誤り或いは改ざんが発生したことなどを容易に確認することが可能となる点で、更に有利である。 Therefore, it is possible to confirm that the key sharing process by authentication is correctly performed between the two, and it is possible to easily confirm that the data is incorrect or falsified in the unauthorized authentication partner or the intermediate path of the authentication process. This is further advantageous.
[第7の実施形態(SELID暗号化に別セットのIDKeyを利用する一例)]
次に、第7の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、SELID暗号化に別セットのIDKeyを利用する一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Seventh embodiment (an example of using another set of IDKey for SELID encryption)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method thereof according to the seventh embodiment will be described. This embodiment relates to an example of using another set of IDKeys for SELID encryption. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図15を用いて、第7の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the seventh embodiment will be described with reference to FIG.
図示するように、第7の実施形態に係る構成例では、暗号化LotID束(SELID)生成に使用される暗号化鍵をNKey由来のHKeyとは異なる暗号化鍵IDKeyに変更する点で、上記実施形態と相違する。但し、本例に係るNAND型フラッシュメモリ10の構成要素には、実質的な変更はない。
As shown in the drawing, in the configuration example according to the seventh embodiment, the encryption key used for generating the encrypted LotID bundle (SELID) is changed to an encryption key IDKey different from the HKey derived from NKey. It is different from the embodiment. However, the components of the
本例に係るホスト装置20は、メモリ23に、新たな秘密情報IDKeykを秘匿しており、NAND型フラッシュメモリ10から読み出したSELIDの復号処理に当該IDKeykを使用する点が相違する。しかし、復号処理自体には変更はない。
The
<認証フロー>
次に、図16に沿って、第7の実施形態に係る認証フローについて説明する。
図示するように、ホスト装置20は、ステップS12の際に、秘密情報IDKeyk及びインデックス情報kを使用して、NAND型フラッシュメモリ10から読み出した暗号化LotID束(SELID)を復号する点で、上記実施形態と相違する。
<Authentication flow>
Next, an authentication flow according to the seventh embodiment will be described with reference to FIG.
As shown in the figure, the
また、前述の通りLotIDの暗号化に用いる鍵データが変更になっているため、本例のSELIDの構成例は、図17のように示される。 Further, since the key data used for the LotID encryption has been changed as described above, a configuration example of the SELID in this example is as shown in FIG.
その他については、第1の実施形態と実質的に同様であるため、詳細な説明は省略する。 Others are substantially the same as those of the first embodiment, and thus detailed description thereof is omitted.
<作用効果>
第7の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the seventh embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第7の実施形態では、NAND型フラッシュメモリに秘匿されている秘密情報NKeyを使用してもSELIDを復号してLotIDを得ることができなくなる。そのため、仮にNAND型フラッシュメモリ10から秘密情報NKeyが露呈、或いは当該NAND型フラッシュメモリ10の製造メーカから秘密情報NKeyが漏れてしまった場合でも、SELIDを利用してLotIDやChipIDを復号できる不正なホスト装置を排除することができる点で、更に有利である。
Furthermore, in the seventh embodiment, even if the secret information NKey concealed in the NAND flash memory is used, the SELID cannot be decrypted to obtain the LotID. Therefore, even if the secret information NKey is exposed from the
[第8の実施形態(ChipID伝送を一方向性関数とする一例)]
次に、第8の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、ChipID伝送時の演算を一方向性関数とする一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Eighth embodiment (an example in which ChipID transmission is a one-way function)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method according to an eighth embodiment will be described. This embodiment relates to an example in which computation at the time of ChipID transmission is a one-way function. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図18を用いて、第8の実施形態に係る構成例について説明する。
図示するように、第8の実施形態に係る構成例では、NAND型フラッシュメモリ10のセルアレイ(Cell array)11内の一般領域(User area)11−1に、LotIDではなく、ChipIDを暗号化して構成される暗号化ChipID束(SECID)が記録され、ROM領域11−3にはChipIDのみが記録されている点で、上記実施形態と相違する。
<Configuration example (memory system)>
A configuration example according to the eighth embodiment will be described with reference to FIG.
As shown in the figure, in the configuration example according to the eighth embodiment, not the LotID but the ChipID is encrypted in the general area (User area) 11-1 in the
また、NAND型フラッシュメモリ10およびホスト装置20は、セッション鍵SKeyjによってIDを暗号化する代わりに、一方向性演算を行うための一方向性変換器(Oneway)38、39を備える。
The
ホスト装置20は、NAND型フラッシュメモリ10からSECIDを読み出し、HKeyj及びインデックス情報jを用いて、SECIDからChipIDを得るための、第1の実施形態と同様の復号部22を備える。
The
ホスト装置20は、NAND型フラッシュメモリ10から受信したChipIDを一方向性変換した結果の値(Oneway(SKeyj、 ChipID))とホスト装置20自身が計算したChipIDの一方向性変換値のベリファイ検証結果を判定するデータ検証部40を備える。
The
<認証フロー>
次に、図19に沿って、第8の実施形態に係る認証フローについて説明する。
図示するように、まず、認証開始(Start)すると、ホスト装置20は、NAND型フラッシュメモリ10から暗号化ChipID束(SECID: Set of Encrypted ChipID)を読み出す(Step S11)。
<Authentication flow>
Next, an authentication flow according to the eighth embodiment will be described with reference to FIG.
As shown in the figure, first, when authentication is started (Start), the
続いて、ホスト装置20は、読み出したSECIDから上記選択処理を行い、当該ホスト装置が復号可能な暗号化ChipIDデータを読み出すと共に、秘匿している秘密情報HKeyjを用いて上記復号処理により復号することによりChipIDを得る(Step S12)。
Subsequently, the
続いて、ホスト装置20は、認証要求時に必要となる乱数RNhを生成する。認証処理に乱数を用いることにより、以下の処理でNAND型フラッシュメモリとの間で毎回異なる共有鍵が利用される(Step S13)。
Subsequently, the
続いて、ホスト装置20は、認証要求(Request authentication)と共に予め保持しているホスト定数(HCj)と前記乱数RNhとをNAND型フラッシュメモリ10に送出する(Step S14)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、認証に必要となる乱数RNcを生成し、ホスト装置に送出する(Step S15)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、秘匿しているNKeyとStep S14において受信したHCjを用いて上記データ生成処理によりHKeyjを生成すると共に、 Step S14で受信した乱数RNh及びStep S15で生成した乱数RNcから上記データ結合処理により結合データRNh || RNcを生成し、前記HKeyjと前記結合データRNh || RNcを用いて上記データ生成処理により鍵データSKeyj(= Generate(HKeyj、 RNh || RNc))を生成する(Step S16)
ステップS16の処理と並行して、ホスト装置20は、生成した乱数RNhと受信した乱数RNcから上記データ結合処理により結合データRNh || RNcを生成し、予め秘匿していた秘密情報HKeyjと前記結合データRNh || RNcを用いて上記データ生成処理によりSKeyj(= Generate(HKeyj、 RNh || RNc))を生成する(Step S17)。
Subsequently, the
In parallel with the process of step S16, the
続いて、ホスト装置20は、ID要求(Request ID)をNAND型フラッシュメモリに送る(Step S19)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ChipIDをROM領域から読み出す(Step S21)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ChipIDを生成した鍵データSKeyjを用いて一方向性変換を行い、一方向性変換データ Oneway-ID (=Oneway(SKeyj、 ChipID))を生成すると共に、生成された一方向性変換データOneway-IDをホスト装置に送出する(StepS38)。
Subsequently, the
続いて、ホスト装置20は、ChipIDを生成した鍵データSKeyjを用いて一方向性変換を行い、一方向性変換データOneway-IDを求める(Step S39)。
Subsequently, the
続いて、ホスト装置20は、受信した一方向性変換データOneway-IDと求めた一方向性変換データと一致することを確認し、一致した場合には前記ChipIDが正しいChipIDであると判定し、不一致の場合には前記ChipIDが不正なIDであると判定する(Step S40)
以上の動作により、第8の実施形態に係る認証フローを終了する(End)。
Subsequently, the
With the above operation, the authentication flow according to the eighth embodiment is ended (End).
なお、暗号化ChipID束であるSECIDの構成例は、同様に、図20のように示される。 Note that a configuration example of SECID which is an encrypted ChipID bundle is similarly shown in FIG.
その他については、上記第1の実施形態と実質的に同様である。 Others are substantially the same as those in the first embodiment.
<作用効果>
第8の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the eighth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第8の実施形態では、NAND型フラッシュメモリ10のセルアレイ(Cell array)11内の一般領域(User area)11−1に、LotIDではなく、ChipIDを暗号化して構成される暗号化ChipID束(SECID)が記録され、ROM領域11−3にはChipIDのみが記録される。
Further, in the eighth embodiment, an encrypted ChipID bundle configured by encrypting ChipID instead of LotID in the general area (User area) 11-1 in the
そのため、NAND型フラッシュメモリ10が保持しなければならないID情報の量を減らすことができる。
Therefore, the amount of ID information that the
[第9の実施形態(第7、第8の実施形態の組み合わせの一例)]
次に、第9の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、第7、第8の実施形態の組み合わせ一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Ninth Embodiment (an example of a combination of the seventh and eighth embodiments)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method thereof according to the ninth embodiment will be described. This embodiment relates to an example of a combination of the seventh and eighth embodiments. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図21を用いて、第9の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the ninth embodiment will be described with reference to FIG.
図示するように、本実施形態は、上記第7の実施形態と第8の実施形態とにおいて、第1の実施形態に加えた両方の変更を備えるものである。つまり、IDKeyの導入及びSELIDをSECIDへ変更した点が、第1の実施形態からの主な相違点である。 As shown in the figure, the present embodiment includes both of the modifications of the seventh embodiment and the eighth embodiment added to the first embodiment. In other words, the introduction of IDKey and the change of SELID to SECID are the main differences from the first embodiment.
<認証フロー>
図22に、第9の実施形態に係る認証フローを示している。
<Authentication flow>
FIG. 22 shows an authentication flow according to the ninth embodiment.
図示するように、認証フローについても、第7の実施形態の認証フローと第8の実施形態の認証フローとを合わせた認証フローとなっている。 As shown in the figure, the authentication flow is also an authentication flow that combines the authentication flow of the seventh embodiment and the authentication flow of the eighth embodiment.
なお、暗号化ChipID束であるSECIDの構成例は、同様に、図23のように示される。 A configuration example of the SECID that is an encrypted ChipID bundle is similarly shown in FIG.
その他については、上記第1の実施形態と実質的に同様である。 Others are substantially the same as those in the first embodiment.
<作用効果>
第9の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the ninth embodiment, the same operational effects (1) and (2) as those in the first embodiment can be obtained.
さらに、第9の実施形態では、第7の実施形態及び第8の実施形態で加わった両方の作用効果を得ることが可能である。 Furthermore, in the ninth embodiment, it is possible to obtain both functions and effects added in the seventh embodiment and the eighth embodiment.
[第10実施形態(第3、第7、第8の実施形態の組み合わせの一例)]
次に、第10の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、第3、第7、第8の実施形態を組み合わせの一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Tenth embodiment (an example of a combination of the third, seventh, and eighth embodiments)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method according to the tenth embodiment will be described. This embodiment relates to an example of a combination of the third, seventh, and eighth embodiments. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図24を用いて、第10の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the tenth embodiment will be described with reference to FIG.
図示するように、本実施形態は、第3、第7、第8の実施形態に加えた相違点を備える。つまり、IDKeyの導入、SELIDからSECIDへの変更及びホスト装置が複数の秘密情報HKeyを秘匿する点が、第1の実施例からの主な相違点となっている。 As shown in the figure, the present embodiment includes differences added to the third, seventh, and eighth embodiments. That is, the introduction of IDKey, the change from SELID to SECID, and the fact that the host device conceals a plurality of secret information HKey are the main differences from the first embodiment.
<認証フロー>
次に、図25に沿って、第10の実施形態に係る認証フローを説明する。
<Authentication flow>
Next, an authentication flow according to the tenth embodiment will be described with reference to FIG.
図示するように、認証フローについても、第9の実施形態の認証フローにおいて、以下の処理フローが追加される点で、相違する。 As shown in the figure, the authentication flow is also different in that the following processing flow is added to the authentication flow of the ninth embodiment.
まず、ホスト装置20は、ステップS14の際、認証要求(Request authentication)を行う。
First, the
続いて、ホスト装置20は、ステップS33の際、乱数RNhとホスト定数HCjを送出後、NAND型フラッシュメモリに秘匿されているNKeyiのインデックス情報iをNAND型フラッシュメモリのROM領域から読み出す。さらに、ホスト装置は、NAND型フラッシュメモリから乱数RNcを受信後に、上記処理で受信したインデックス情報iを用いて秘密情報セットHKeyi、j (i=1、…、m)から鍵データSKeyi、jを生成するために必要なHKeyi、jを選択する。
Subsequently, in step S33, the
但し、図25に示す処理フローは一例であり、インデックス情報iの読み出しやHKeyi、j選択処理などは、各処理に必要なデータが事前に得られるようになっていれば、この処理フローに限定されるものではない。 However, the processing flow shown in FIG. 25 is an example, and reading of the index information i and HKey i, j selection processing, etc. are performed in this processing flow if data necessary for each processing can be obtained in advance. It is not limited.
なお、暗号化ChipID束であるSECIDの構成例は、同様に、図23のように示される。 A configuration example of the SECID that is an encrypted ChipID bundle is similarly shown in FIG.
その他については、上記第1の実施形態と実質的に同様である。 Others are substantially the same as those in the first embodiment.
<作用効果>
第10の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the tenth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第10の実施形態によれば、上記第3、第7、第8の実施形態の作用効果を得ることが可能である。 Furthermore, according to the tenth embodiment, it is possible to obtain the effects of the third, seventh, and eighth embodiments.
[第11の実施形態(乱数生成器を備えない一例)]
次に、第11の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、上記第10の実施形態において、NAND型フラッシュメモリ1が乱数生成器15を備えない一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Eleventh embodiment (an example not including a random number generator)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method according to the eleventh embodiment will be described. This embodiment relates to an example in which the
<構成例(メモリシステム)>
図26を用いて、第11の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the eleventh embodiment will be described with reference to FIG.
図示するように、本実施形態では、第10の実施形態ではNAND型フラッシュメモリに備わっていた乱数生成器(RNG)15を備えていない点で、第10の実施形態と相違する。 As shown in the figure, this embodiment is different from the tenth embodiment in that the random number generator (RNG) 15 provided in the NAND flash memory is not provided in the tenth embodiment.
第10の実施形態では、2つの乱数RNhとRNcを結合したデータと秘密データHKeyi、jとからセッション鍵データSKeyi、jを生成していたが、本実施形態では乱数RNhと秘密データHKeyi、jとからセッション鍵データSKeyi、jを生成する。 In the tenth embodiment, two random numbers RN h and RN c the combined data and secret data HKey i, j and the session key data SKey i, had generated a j, in this embodiment a random number RN h Session key data SKey i, j is generated from the secret data HKey i, j .
以下、第11の実施形態に係る構成例の詳細について説明する。
実施例では、被認証装置であるNAND型フラッシュメモリに記録されている識別情報ChipIDを第3者から秘匿した状態で読み出すと共に、前述の被認証装置から読み出されたデータであることを確実に確認する方法、及び同方法をNAND型フラッシュメモリに適用する場合の構成を示す。
Details of the configuration example according to the eleventh embodiment will be described below.
In the embodiment, the identification information ChipID recorded in the NAND flash memory as the device to be authenticated is read in a concealed manner from a third party, and the data read from the device to be authenticated is surely confirmed. A confirmation method and a configuration when the method is applied to a NAND flash memory are shown.
NAND型フラッシュメモリ
NAND型フラッシュメモリ10は、上記のように、被認証装置である。
NAND flash memory
As described above, the
図示するように、本例に係るNAND型フラッシュメモリ10は、セルアレイ11、及びセルアレイに周辺領域に配置されるデータキャッシュ12A、12B、データ生成回路(Generate)13、16、乱数生成器(RNG)15、一方向性変換器(Oneway)38等を備える。
As shown in the figure, a
セルアレイ(Cell array)11は、ROM領域(ROM area)11−3、秘匿領域(Hidden area)11−2、一般領域(User area)11−1等を備える。
ROM領域11−3は、外部からのデータ記録が禁止され、データ読み出しが許可される領域である。本例に係るROM領域11−3には、識別情報であるChipID、秘匿領域(Hidden area)に記録される秘密情報NKeyiを示すためのインデックス情報i(index of NKey)が記録される。しかしながら、ChipIDやインデックスiを記録する際にはデータに誤りが生じてしまった場合でも、正しい識別情報が読み出せるようにするために一般的には誤り訂正符号化された状態で記録されるが、ここでは、誤り訂正符号化/復号処理については特に図示していない。
秘匿領域(Hidden area)11−2は、NAND型フラッシュメモリ10の外部に対してはデータ記録だけでなく、データ読み出しも禁止される領域である(Read/Program inhibit)。本例に係る秘匿領域11−2には、上記認証においてNAND型フラッシュメモリ10が用いる秘密情報であるNKeyiが記録される。また、前記ChipIDを外部から常に秘匿しておきたい場合などではROM領域の代わりに、秘匿領域に記録しても良い。
一般領域(User area)11−1は、データ記録及びデータ読み出しのいずれも自由に可能な領域である。一般領域11−1には、暗号化ChipID束であるSECID(Set of Encrypted ChipID)が記録され、その他には例えば、写真、ビデオ、音楽或いは電子書籍といったコンテンツデータ等が記録される。なお、暗号化ChipIDであるSECIDの構成例は、上記図23に示したものと同様である。
The
The ROM area 11-3 is an area where data recording from outside is prohibited and data reading is permitted. In the ROM area 11-3 according to the present example, Chip information as identification information and index information i (index of NKey) for indicating secret information NKey i recorded in the hidden area are recorded. However, when the ChipID or index i is recorded, even if an error occurs in the data, it is generally recorded in an error correction encoded state so that correct identification information can be read out. Here, the error correction encoding / decoding process is not particularly illustrated.
The hidden area 11-2 is an area in which not only data recording but also data reading is prohibited outside the NAND flash memory 10 (Read / Program inhibit). In the secret area 11-2 according to this example, NKey i that is secret information used by the
The general area (User area) 11-1 is an area where both data recording and data reading are freely possible. In the general area 11-1, an SECID (Set of Encrypted ChipID) that is an encrypted ChipID bundle is recorded, and in addition, content data such as a photo, video, music, or an electronic book is recorded. The configuration example of the SECID that is the encrypted ChipID is the same as that shown in FIG.
データキャッシュ(Data Cache)12A、12Bは、セルアレイ11から読み出したデータを一時的に記憶する。
データ生成回路13、16は、複数の入力情報から新たなデータを出力する回路であり、全体の回路規模を小さくするために前述の一方向性変換器と同じ或いは一方向性変換器を流用した回路で構成することも可能である。同様にデータ処理手順を分かり易くするために異なる構成要素として図示されている2つのデータ生成回路は同じ回路を繰り返し利用することが可能である。
The
データ生成回路(Generate)13、16は、複数の入力データから予め定められた演算によって出力データを生成する回路であり、ホスト装置20から受信した情報(HCj)を前述の秘密情報NKeyiを用いて変換することでHKeyi、jを生成すること、及びホスト装置から受信した乱数RNhを前期HKeyjを用いて変換することでSKeyi、jを生成するために用いられ、AES(Advanced Encryption Standard)暗号化器などを用いることも可能である。
The data generation circuits (Generate) 13 and 16 are circuits that generate output data from a plurality of input data by a predetermined calculation. The information (HC j ) received from the
一方向性変換器(Oneway)38は、入力されたデータと別途入力された鍵データに一方向性の変換を施し、一方向性変換された入力データを出力する回路である。本実施例ではROM領域から読み出した識別情報ChipIDを前記データ生成回路によって生成された鍵データSKeyi、jを用いて一方向性関数により変換し、一方向性変換識別情報Oneway-ID (= Oneway(SKeyi、j、 ChipID))を生成する。なお,第1の実施形態と同様に、当該識別情報ChipIDがROM領域の代わりに秘匿領域に記録されている場合には、当該一方向性変換器の入力データである当該識別情報ChipIDは秘匿領域から読み出される。 The one-way converter (Oneway) 38 is a circuit that performs one-way conversion on input data and key data that is input separately, and outputs the input data that has been subjected to the one-way conversion. In this embodiment, the identification information ChipID read from the ROM area is converted by a one-way function using the key data SKey i, j generated by the data generation circuit, and the one-way conversion identification information Oneway-ID (= Oneway (SKey i, j , ChipID)). As in the first embodiment, when the identification information ChipID is recorded in the secret area instead of the ROM area, the identification information ChipID that is input data of the one-way converter is the secret area. Read from.
また、前述の通り、全体のハードウェア回路規模を小さくするために当該一方向性変換器38を前記データ生成回路としても使用することが可能である。
As described above, the one-
また、図示しないが、コントローラ19を介してホスト装置20に送付されるデータを出力する出力部なども実際には構成要素として配置されても良い。
Although not shown, an output unit for outputting data sent to the
ホスト装置
図示するように、本例に係るホスト装置(Host)20は、乱数生成部(RNG)25、排他的論理和部(EXOR)24、データ選択部(Select)21−1、21−2、復号部(Decrypt)22、データ生成部(Generate)27、一方向性変換部(Oneway)39、及びデータ検証部(Verify)40等を備える。この他に図示しない誤り訂正処理部なども必要に応じて構成要素として備えることが可能である。
Host device
As shown in the figure, a host device (Host) 20 according to this example includes a random number generation unit (RNG) 25, an exclusive OR unit (EXOR) 24, data selection units (Select) 21-1, 21-2, and decryption. Unit (Decrypt) 22, data generation unit (Generate) 27, unidirectional conversion unit (Oneway) 39, data verification unit (Verify) 40, and the like. In addition, an error correction processing unit (not shown) or the like can be provided as a component as necessary.
乱数生成部(RNG: Random Number Generator)25は、認証に用いるRNhを生成する。 A random number generator (RNG: Random Number Generator) 25 generates an RN h used for authentication.
排他的論理和部(EXOR)24は、入力された2つのデータの排他的論理和を計算し、その結果を出力する。 The exclusive OR unit (EXOR) 24 calculates the exclusive OR of the two input data and outputs the result.
データ選択部(Select)21−1、21−2は、2つ配置される。第1段目のデータ選択部(Select1)21−1は、NAND型フラッシュメモリ10から読み出した暗号化ChipID束(SECID)から当該ホストが秘匿している秘密情報IDKeykを用いて復号可能な暗号化ChipIDデータを、秘密情報HKeyjのインデックス情報kを用いて、選択する。 Two data selection units (Select) 21-1 and 21-2 are arranged. Data selecting unit of the first stage (Select1) 21-1 is, NAND-type flash memory read from 10 encrypted ChipID bundle (SECID) the host is concealed from the secret information IDKey k decrypted cryptographic using The selected ChipID data is selected using the index information k of the secret information HKey j .
第2段目のデータ選択部(Select2)21−2では、NAND型フラッシュメモリ10から読み出した秘密情報NKeyiのインデックス情報iを用いて、当該ホスト装置20が秘匿している秘密情報セットHKeyi、j (i=1、…、m。尚、jは当該HKeyi、jにおいては固定の値である)から、前記NAND型フラッシュメモリ10との認証処理に必要な秘密情報HKeyi、jを選択する。
The second-stage data selection unit (Select2) 21-2 uses the index information i of the secret information NKey i read from the
前記秘密情報IDKeyk、HKeyi、jは、民生機器であれば内部の専用メモリにメーカ独自の方法で暗号化した上で記録されていたり、ソフトウェアプログラムであればタンパーレジスタントソフトウェア(TRS)技術によって不正な解析から保護できる状態で保持していたり、或いはセキュリティモジュールを内蔵している場合には当該セキュリティモジュールの機能を利用して秘匿するなどの対策を採った上で秘匿される。 The secret information IDKey k , HKey i, j is recorded in an internal dedicated memory after being encrypted by a manufacturer's original method for consumer devices, or tamper resistant software (TRS) technology for software programs. If the security module is stored in a state where it can be protected from unauthorized analysis, or if a security module is incorporated, it is concealed after taking measures such as concealing using the function of the security module.
復号部(Decrypt)22は、入力されたデータを別途入力された鍵データで復号し、復号された入力データを出力する。本実施例では、ホスト装置が秘匿している秘密情報IDKeykと必要に応じて当該秘密情報IDKeykを識別するためのインデックス情報kを排他的論理和部で演算した結果を鍵情報として前記第1のデータ選択部において選択された暗号化ChipIDデータを復号し、ChipIDを得るために用いられる。
The decryption unit (Decrypt) 22 decrypts the input data with the separately input key data, and outputs the decrypted input data. In this embodiment, the results of host device is calculated by the exclusive OR unit index information k for identifying the confidential information IDKey k optionally the secret information IDKey k being secret as the key information the It is used to obtain the ChipID by decrypting the encrypted ChipID data selected by the
データ生成部(Generate)27は、複数の入力データから予め定められた演算によって出力データを生成する演算部であり、当該ホスト装置20自身が生成した乱数RNhを当該ホスト装置が秘匿している秘密情報HKeyi、jを用いて変換することでSKeyi、jを生成するために用いられ、AES暗号化演算などを用いることも可能である。
The data generation unit (Generate) 27 is a calculation unit that generates output data by a predetermined calculation from a plurality of input data, and the
一方向変換部(Oneway)39は、前記復号部から出力されたChipIDを前記データ生成部から出力されたSKeyi、jを用いて一方向性関数により変換し、一方向性変換識別情報Oneway-IDを生成する。 The one-way conversion unit (Oneway) 39 converts the ChipID output from the decoding unit by a one-way function using SKey i, j output from the data generation unit, and generates one-way conversion identification information Oneway- Generate an ID.
データ検証部(Verify)40は、NAND型フラッシュメモリ10から受信した一方向性変換識別情報Oneway-IDと当該ホスト装置内の前記一方向性変換部から得られた一方向性変換識別情報を比較し、両方の値が一致した場合には復号部で得られた前記ChipIDが正しいChipIDであると判定し、不一致の場合には前記ChipIDが不正なIDであると判定する。
The data verification unit (Verify) 40 compares the one-way conversion identification information Oneway-ID received from the
その他、同様に、この他に図示しない誤り訂正処理部なども必要に応じて構成要素として備えることが可能である。 In addition, similarly, an error correction processing unit (not shown) or the like can be provided as a component as necessary.
<2.認証フロー>
次に、図27に沿って、第11の実施形態に係るメモリシステムの認証フローについて説明する。
<2. Authentication flow>
Next, an authentication flow of the memory system according to the eleventh embodiment will be described with reference to FIG.
図示するように、認証開始(Start)すると、ホスト装置20は、NAND型フラッシュメモリ10から暗号化ChipID束(SECID: Set of Encrypted ChipID)を読み出す(Step S11)。
As illustrated, when authentication is started (Start), the
続いて、ホスト装置20は、読み出したSECIDから上記データ選択部(Select1)21−1によりデータ選択処理を行い、ホスト装置20が復号可能な暗号化ChipIDデータを読み出すと共に、秘匿している秘密情報IDKeykを用いて上記復号処理部22により復号することによりChipIDを得る(Step S12)。
Subsequently, the
続いて、ホスト装置20は、認証要求時に必要となる乱数RNhを生成する(Step S13)。認証処理に乱数を用いることにより、以下の処理でNAND型フラッシュメモリとの間で毎回異なる共有鍵が利用される。
Subsequently, the
続いて、ホスト装置は、認証要求(Request authentication)と共に予め保持しているホスト定数(HCj)と前記乱数RNhをNAND型フラッシュメモリに送出する(Step S14)。 Subsequently, the host device sends the host constant (HC j ) and the random number RN h held in advance together with an authentication request (Request authentication) to the NAND flash memory (Step S14).
続いて、NAND型フラッシュメモリ10は、ホスト装置20が秘密情報セットHKeyi、j (i=1、…、m)からNAND型フラッシュメモリとの認証に必要となるHKeyi、jを選択するために必要なNKeyのインデックス情報iを読み出し、ホスト装置20に送出する(Step S15、S33)。
Subsequently, in the
続いて、NAND型フラッシュメモリ10は、秘匿しているNKeyiと受信したHCjを用いて上記データ生成回路におけるデータ生成処理によりHKeyi、jを生成すると共に、受信した乱数RNhを用いて上記データ生成回路におけるデータ生成処理により鍵データSKeyi、j (= Generate(HKeyi、j、 RNh))を生成する(Step S18)。
Subsequently, the
上記Step S32の処理と並行して、ホスト装置20は、受信したインデックス情報iを用いて、予め秘匿していた秘密情報セットHKeyi、j (i=1、…、m)から当該NAND型フラッシュメモリ10との認証処理に必要な秘密情報HKeyi、jを選択する(Step S33)。
In parallel with the processing of Step S32, the
続いて、ホスト装置20は、選択した秘密情報HKeyi、jと生成した乱数RNhと用いて上記データ生成部27におけるデータ生成処理により、セッション鍵SKeyi、j (= Generate (HKeyi、j、 RNh))を生成する(Step S17)。
Subsequently, the
続いて、ホスト装置20は、ID要求(Request ID)をNAND型フラッシュメモリ10に送る(Step S19)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ChipIDをROM領域から読み出す(Step S21)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ChipIDを生成した鍵データSKeyi、jを用いて上記一方向性変換器38における一方向性変換処理を行い、一方向性変換データ Oneway-ID (=Oneway(SKeyi、j、 ChipID))を生成すると共に、生成された一方向性変換データOneway-IDをホスト装置に送出する(Step S38)。
Subsequently, the
続いて、ホスト装置20は、ChipIDを生成した鍵データSKeyi、jを用いて一方向性変換部39における一方向性変換処理を行い、一方向性変換データOneway-IDを求める(StepS39)。
Subsequently, the
続いて、ホスト装置20は、受信した一方向性変換データOneway-IDと求めた一方向性変換データが一致することを確認し、一致した場合には前記ChipIDが正しいChipIDであると判定し、不一致の場合には前記ChipIDが不正なIDであると判定する(Step S40)。
Subsequently, the
以上の動作により、第11の実施形態に係る認証フローを終了する(End)。 With the above operation, the authentication flow according to the eleventh embodiment is ended (End).
<作用効果>
第11の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the eleventh embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第11の実施形態では、NAND型フラッシュメモリ11内に乱数生成器15の実装が必要なくなる。そのため、第1の実施形態の作用効果及び第10の実施形態で加わった作用効果を同様に実現すると共に、NAND型フラッシュメモリの実装回路規模をより小さくすることが可能となる点で、有利である。
Further, in the eleventh embodiment, it is not necessary to mount the
[第12の実施形態(ID-indexが書き込まれる一例)]
次に、第12の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。この実施形態は、ChipIDを特定するために必要となるインデックス情報ID-indexが書き込まれる一例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
[Twelfth embodiment (an example in which ID-index is written)]
Next, an authentication apparatus, an apparatus to be authenticated, and an authentication method thereof according to a twelfth embodiment will be described. This embodiment relates to an example in which index information ID-index necessary for specifying ChipID is written. In this description, detailed description of the same parts as those in the first embodiment is omitted.
<構成例(メモリシステム)>
図28を用いて、第12の実施形態に係る構成例について説明する。
<Configuration example (memory system)>
A configuration example according to the twelfth embodiment will be described with reference to FIG.
図23で示すように、本例では、NAND型フラッシュメモリ10のROM領域11−3に、ChipIDを特定するために必要となるインデックス情報ID-indexが書き込まれ、ChipIDは秘匿領域(Hidden area)11−2に記録され、当該ChipID読み出し用に必要に応じてデータキャッシュ(Data Cache)12B等を備えている点で、上記第11の実施形態と相違する。
As shown in FIG. 23, in this example, index information ID-index necessary for specifying ChipID is written in the ROM area 11-3 of the
なお、暗号化ChipIDであるSECIDの構成例は、上記図23に示したものと同様である。 The configuration example of the SECID that is the encrypted ChipID is the same as that shown in FIG.
<認証フロー>
NAND型フラッシュメモリ10は、秘匿領域からChipIDを読み出す際に、必要に応じてデータキャッシュを介して読み出すが、それ以外の処理フローは第11の実施形態と実質的に同様である。
<Authentication flow>
The
<SECIDの書き込みについて>
図29を用い、暗号化ChipID束(SECID)の書き込みについて、説明する。
<SECID writing>
The writing of the encrypted ChipID bundle (SECID) will be described with reference to FIG.
ここで、暗号化ChipID束(SECID)がNAND型フラッシュメモリ10の製造時に書き込まれる場合等には、特に必要のない処理である。しかし、NAND型フラッシュメモリ10とコントローラ19などが結合されて、例えば、SD(登録商標)カードなどのストレージメディア製品として一般ユーザ入手し、カード利用時に市場において後から書き込まれる場合などには、SECIDの書き込み処理が必要となる。
Here, when the encrypted ChipID bundle (SECID) is written at the time of manufacturing the
図29では、上記のようにSECIDが未記録の状態のストレージメディアに記録されたデータの場合を示している。 FIG. 29 shows the case of data recorded on a storage medium in which the SECID is not recorded as described above.
図示するように、NAND型フラッシュメモリ10は、秘密情報NKeyiと識別情報ChipIDとが秘匿領域11−2に記録され、前記秘密情報NKeyiを特定するために必要なインデックス情報iと前記識別情報ChipIDを特定するために必要となるインデックス情報ID-indexとがROM領域11−3に書き込まれた状態である。しかしながら、SECIDは、NAND型フラッシュメモリ10に、まだ書き込まれていない。
As shown in the figure, in the
このように、SECIDが未記録状態のストレージメディア10に、サーバからSECIDをダウンロードして記録する場合について、図30を用いて説明する。
A case where the SECID is downloaded and recorded from the server to the
図示するように、この場合には、NAND型フラッシュメモリ10に、必要に応じてデータキャッシュ12が配置される。
As shown in the figure, in this case, a
本例に係るサーバ60は、ID-indexからChipIDを生成するためのChipID生成部(Generate ChipID)62、暗号化部(Encrypt)63、及びIDKeyデータベース(Set of IDKeyi s (i=1、…、x) )61を備える。
ID-indexからChipIDを生成する方法としては、様々な変換を利用することができるが、その一例を以下に示す。
(変換例)
まず、予めNAND型フラッシュメモリ10の製造者毎に配布される変換鍵Kmを用いて、暗号化によってChipIDを暗号化した値をID-indexとする。ID-indexは、以下のように示される。
As a method for generating ChipID from ID-index, various conversions can be used. An example is shown below.
(Conversion example)
First, in advance using the conversion key K m, which is distributed to each manufacturer of the
ID-index = Encrypt (Km、 ChipID)
ID-indexは、インターネット50を介して、サーバ60に送信される。
ID-index = Encrypt (K m , ChipID)
The ID-index is transmitted to the
サーバ60は、生成部62により、受信したID-indexを、変換鍵Kmを用いて復号することでChipIDを得る。ChipIDは、以下のように示される。
The
ChipID = Decrypt(Km、 ID-index)
なお、変換鍵Kmは、全てのNAND型フラッシュメモリ10の製造者で共通にするだけでなく、NAND型フラッシュメモリ10の製造者毎に異なる値にすることも可能である。
ChipID = Decrypt (K m , ID-index)
Note that the conversion key K m is not only common to all
なお、ホスト装置20は、SECIDの新規書き込みが必要かどうかを判定し、必要に応じてSECIDをサーバに要求する機能を備える。
The
<SECID書き込みフロー>
次に、図31に沿って、暗号化ChipID束(SECID)をサーバ60からダウンロードしてNAND型フラッシュメモリ10に書き込むフローについて説明する。
<SECID write flow>
Next, a flow of downloading an encrypted ChipID bundle (SECID) from the
図示するように、まず、ホスト装置20が、SECIDダウンロードが必要と判定したことにより、SECID書き込みが開始(Start)され、ホスト装置20はサーバ60に対してSECID要求を出す(Step S55)。
As shown in the figure, first, when the
続いて、サーバ60は、NAND型フラッシュメモリ10に対して、ChipIDを特定するために必要となるインデックス情報ID-indexを要求する(Step S60)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、ROM領域11−3からID-indexを読み出し、ID-indexをサーバに送出する(Step S61)。
Subsequently, the
続いて、サーバ60は、ChipID生成部62において受信したID-indexを用いて、ChipIDを生成する(Step S62)。
Subsequently, the
続いて、サーバ60は、秘匿しているIDKeyi (i=1、…、x) を読み出し、当該各IDKeyi61を用いて生成されたChipIDを暗号化し、暗号化ChipID束(SECID)を生成する(StepS63)。
Subsequently, the
続いて、サーバ60は、成した暗号化ChipID束(SECID)をNAND型フラッシュメモリに送出する(Step S64)。
Subsequently, the
続いて、NAND型フラッシュメモリ10は、受信した暗号化ChipID束(SECID)を一般領域11−1に書き込み、記録する(Step S65)。
Subsequently, the
以上の動作により、第12の実施形態に係る暗号化ChipID束(SECID)ダウンロードフローを終了する(End)。 With the above operation, the encrypted ChipID bundle (SECID) download flow according to the twelfth embodiment is ended (End).
その他の構成、動作等に関しては、上記第11の実施形態と実質的に同様である。 Other configurations and operations are substantially the same as those in the eleventh embodiment.
<作用効果>
第12の実施形態に係る認証装置、被認証装置及び認証方法によれば、第1の実施形態と同様の作用効果(1)、(2)を得ることができる。
<Effect>
According to the authentication device, the device to be authenticated, and the authentication method according to the twelfth embodiment, the same operational effects (1) and (2) as in the first embodiment can be obtained.
さらに、第12の実施形態のように、後からSECIDを書き込む場合においても、適用することが可能である。 Further, the present invention can be applied to the case where the SECID is written later as in the twelfth embodiment.
[第13の実施形態(メモリ、コントローラ、ホストの一例)]
次に、図32を用い、第13の実施形態について説明する。第13の実施形態は、上記実施形態に適用可能な上記NAND型フラッシュメモリ10、コントローラ19、およびホスト装置20の一例に関するものである。本例では、メモリカードとしてSD(登録商標)カードを一例に挙げる。
[Thirteenth embodiment (an example of a memory, a controller, and a host)]
Next, a thirteenth embodiment will be described with reference to FIG. The thirteenth embodiment relates to an example of the
図示するように、本例では、メモリカードと接続されるホスト装置の機能ブロックも示されている。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれる。 As shown in the figure, in this example, functional blocks of the host device connected to the memory card are also shown. Each functional block can be realized as hardware, computer software, or a combination of both. Therefore, in order to make it clear that each block is any of these, it will be described below in terms of their functions in general. Whether such functionality is implemented as hardware or software depends upon the specific implementation or design constraints imposed on the overall system. Those skilled in the art can implement these functions in various ways for each specific embodiment, and any implementation technique is included in the scope of the present invention.
ホスト装置20は、アプリケーション、オペレーティング・システム等のソフトウェア211を備えている。ソフトウェア211は、ユーザから、メモリカードへのデータの書き込み、メモリカードからのデータの読み出しを指示される。ソフトウェア211は、データの書き込みおよび読み出しをファイルシステム212に指示する。ファイルシステム212は、管理対象の記憶媒体に記録されているファイルデータを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルデータを管理する。
The
ホスト装置20は、SDインターフェース213を有する。SDインターフェース213は、ホスト装置20とメモリカードとの間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト装置20は、SDインターフェース213を介してメモリカードと通信を行う。SDインターフェース213は、ホスト装置20とメモリカードとが通信するのに必要な様々な取り決めを規定し、後述のメモリカードのSDインターフェース231と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース213は、メモリカードのSDインターフェース231と接続可能なハードウェア上の構成(ピンの配置、数等)も含む。
The
メモリカードは、NAND型フラッシュメモリ10、メモリ10を制御するためのコントローラ19を有する。メモリカードは、ホスト装置20に接続されたとき、およびオフ状態のホスト装置20に挿入された状態でホスト装置20がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。
The memory card has a
NAND型メモリ10は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ10は、複数のページからなる物理ブロック(消去ブロック)と呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
The
コントローラ19は、メモリ10によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ(または物理ブロック)が、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ(または物理ブロック)が消去状態(何も書き込まれていない、または無効なデータを保持している状態)であるかを管理することを含んでいる。
The
コントローラ19は、SDインターフェース31、MPU(micro processing unit)32、ROM(read only memory)33、RAM(random access memory)34、NANDインターフェース35を含んでいる。
The
SDインターフェース131は、ホスト装置20とコントローラ19との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなり、SDインターフェース13と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成(ピンの配置、数等)も含む。メモリカード(コントローラ22)は、SDインターフェース131を介してとホスト1と通信を行う。SDインターフェース131は、レジスタ136を含んでいる。
The
MPU132は、メモリカード全体の動作を司る。MPU132は、例えば、メモリカードが電源供給を受けた際に、ROM133内に格納されているファームウェア(制御プログラム)をRAM134上に読み出して所定の処理を実行する。MPU132は、制御プログラムに従って各種のテーブルをRAM134上で作成したり、ホスト20から受けたコマンドに従ってメモリに対する所定の処理を実行したりする。
The
ROM133は、MPU132により制御される制御プログラムなどを格納する。RAM134は、MPU132の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム212によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル(論物テーブル)が含まれる。NANDインターフェース135は、コントローラ19とメモリ10とのインターフェース処理を行う。
The
NAND型フラッシュメモリ10内の記憶領域は、保存されるデータの種類に応じて、上記のように、例えば、一般領域(User area)、秘匿領域(Hidden area)、保護領域(Protected area)、ROM領域(ROM area)等を含んでいる。なお、コントローラ19は、一般領域の一部を確保し、自身の動作に必要な制御データ(論物テーブル等)を保存する。
As described above, the storage area in the
[第14の実施形態(NAND型フラッシュメモリの構成例)]
次に、上記NAND型フラッシュメモリ10の具体的構成例として、第14の実施形態として説明する。
[Fourteenth Embodiment (Configuration Example of NAND Flash Memory)]
Next, a specific configuration example of the
<全体構成例>
上記NAND型フラッシュメモリ10の具体的な全体構成例は、図33のように示される。
<Example of overall configuration>
A specific overall configuration example of the
図示するように、本例に係るNAND型フラッシュメモリ10は、メモリセルアレイ11、制御回路19、認証回路151、ビット線制御回路152、カラムデコーダ153、データ入出力バッファ154、データ入出力端子155、ワード線駆動回路156、制御信号入力端子158、電源発生回路159を備える。
As shown in the figure, the
メモリセルアレイ11は、複数のブロック(BLOCK1〜BLOCKn)により構成される。複数のブロック(BLOCK1〜BLOCKn)のそれぞれは、ワード線およびビット線の交差位置に配置される複数のメモリセルを備える。例えば、BLOCK1は、上記ROM領域11−3である。例えば、BLOCK2は、上記秘匿領域11−2である。その他のブロックは、ホスト装置20から利用可能な一般領域(User area)11−1等である。
The
ROM領域11−3は例えばOTP(One Time Program)ブロックであり、1回の書き込みのみ許容される。書き込み後は電気フューズ、レーザフューズ、ROMフューズ等の手段を用いてブロックデコーダを制御し消去動作を禁止する。秘匿領域11−2は、例えば外部アドレスのデコードでは選択できない状態とし、NAND型フラッシュメモリ内部の制御回路19のみが読み出し可能な領域とする。
The ROM area 11-3 is an OTP (One Time Program) block, for example, and only one write is permitted. After writing, the block decoder is controlled using means such as an electric fuse, a laser fuse, and a ROM fuse to prohibit the erase operation. The secret area 11-2 cannot be selected by, for example, decoding of an external address, and is an area that can be read only by the
認証回路151は、例えば、上記データキャッシュ12、発生回路13、16、結合回路14、乱数生成回路15、排他的論理和回路17、暗号器18等を備え、制御回路19により制御される。
The
ビット線制御回路152は、ビット線を介してメモリセルアレイ11中のメモリセルのデータを読み出し、ビット線を介してメモリセルアレイ11中のメモリセルの状態を検出する。また、ビット線制御回路152は、ビット線を介してメモリセルアレイ11中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。
The bit
ビット線制御回路152内には、図示しない上記ページバッファ等のデータ記憶回路等が設けられ、このデータ記憶回路は、カラムデコーダ153によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ154を介してデータ入出力端子155から外部へ出力される。
In the bit
データ入出力端子155は、例えば、外部のホスト装置20等に接続される。データ入出力端子155は、例えば8ビット、または16ビットのバス幅を有している。NAND型フラッシュメモリ10は、トグルモードインターフェース(toggle mode interface)などの高速インターフェース規格をサポートしてもよい。トグルモードインターフェースでは、例えば、データストローブ信号(DQS)の立ち上がり、立ち下がり両エッジに同期してデータ入出力端子155を介したデータ転送が行われる。
The data input /
ホスト装置20は、例えば、マイクロコンピュータ等であって、データ入出力端子155から出力されたデータを受ける。ホスト装置20は、NAND型フラッシュメモリ10の動作を制御する各種コマンドCMD(書き込みコマンド、読み出しコマンド、消去コマンド、ステータスリードコマンド等)、アドレスADD、およびデータDTを出力する。ホスト装置20からデータ入出力端子155に入力された書き込みデータDTは、データ入出力バッファ154を介して、カラムデコーダ153によって選択された上記データ記憶回路(図示せず)に供給される。一方、コマンドCMDおよびアドレスADDは、制御回路19に供給される。
The
ワード線駆動回路156は、制御回路19の制御に従い、メモリセルアレイ11中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
The word
電圧発生回路159は、制御回路19の制御に従い、図示中の接続された上記構成回路の動作に必要な電圧を供給する。例えば、電圧発生回路159は、ホスト装置から供給される外部電圧を昇圧して、読み出し、書き込みあるいは消去時にワード線に印加される電圧を生成する。
The
制御回路(Controller)19は、NAND型フラッシュメモリ10の全体の動作を制御するために、接続される各回路に必要な制御信号および制御電圧を与える。制御回路19は、メモリセルアレイ11、認証回路151、ビット線制御回路152、カラムデコーダ153、データ入出力バッファ154、ワード線駆動回路156、電圧発生回路159に接続される。接続された上記構成回路は、制御回路19によって制御される。
The control circuit (Controller) 19 gives necessary control signals and control voltages to each connected circuit in order to control the entire operation of the
制御回路19は、制御信号入力端子158に接続され、ホスト装置20から制御信号入力端子158を介して入力されるWE(ライト・イネーブル)信号、RE(リード・イネーブル)信号、ALE(アドレス・ラッチ・イネーブル)信号、CLE(コマンド・ラッチ・イネーブル)信号等の制御信号の組み合わせによって制御される。
The
ここで、機能的に表現すれば、上記ワード線駆動回路156、ビット線制御回路152、カラムデコーダ153、制御回路19は、データ書き込み回路、データ読み出し回路、およびデータ消去回路を構成する。ホスト装置20は、NAND型フラッシュメモリ10が書き込み、読み出し、消去などの内部動作を実行中であるか否かを、図示せぬRY/BY(レディー/ビジー)信号出力端子をモニタすることで検知する。制御回路19は、RY/BY信号出力端子を介して、RY/BY信号を出力する。
Here, in terms of function, the word
<ブロック(BLOCK)の構成例>
次に、図34を用い、メモリセルアレイを構成するブロック(BLOCK)の構成例について説明する。ここでは、図33中のBLOCK1を一例に挙げて説明する。ここで、このブロックBLOCK1中のメモリセルは、一括してデータ消去されるため、ブロックはデータ消去単位である。
<Configuration example of block (BLOCK)>
Next, a configuration example of a block (BLOCK) included in the memory cell array will be described with reference to FIG. Here, BLOCK1 in FIG. 33 will be described as an example. Here, since the memory cells in the block BLOCK1 are erased collectively, the block is a data erase unit.
ブロックBLOCK1は、ワード線方向(WL方向)に配置される複数のメモリセルユニットMUから構成される。メモリセルユニットMUは、WL方向と交差するビット線方向(BL方向)に配置され、電流経路が直列接続される8個のメモリセルMC0〜MC7からなるNANDストリング(メモリセルストリング)と、NANDストリングの電流経路の一端に接続されるソース側の選択トランジスタS1と、NANDストリングの電流経路の他端に接続されるドレイン側の選択トランジスタS2とから構成される。 The block BLOCK1 is composed of a plurality of memory cell units MU arranged in the word line direction (WL direction). The memory cell unit MU is arranged in a bit line direction (BL direction) intersecting the WL direction, and a NAND string (memory cell string) including eight memory cells MC0 to MC7 whose current paths are connected in series, and a NAND string The source-side selection transistor S1 connected to one end of the current path of the current and the drain-side selection transistor S2 connected to the other end of the current path of the NAND string.
尚、本例では、メモリセルユニットMUは、8個のメモリセルMC0〜MC7から構成されるが、2つ以上のメモリセル、例えば、56個、32個等から構成されていればよく、8個に限定されるというものではない。 In this example, the memory cell unit MU is composed of eight memory cells MC0 to MC7, but may be composed of two or more memory cells, for example, 56, 32, etc. It is not limited to individuals.
ソース側の選択トランジスタS1の電流経路の他端はソース線SLに接続される。ドレイン側の選択トランジスタS2の電流経路の他端は、各メモリセルユニットMUに対応してメモリセルユニットMUの上方に設けられ、BL方向に延出するビット線BLm−1に接続される。 The other end of the current path of the source side select transistor S1 is connected to the source line SL. The other end of the current path of the drain-side selection transistor S2 is provided above the memory cell unit MU corresponding to each memory cell unit MU, and is connected to the bit line BLm-1 extending in the BL direction.
ワード線WL0〜WL7は、WL方向に延び、WL方向の複数のメモリセルの制御ゲート電極に共通に接続される。選択ゲート線SGSは、WL方向に延び、WL方向の複数の選択トランジスタS1に共通に接続される。選択ゲート線SGDも、WL方向に延び、WL方向の複数の選択トランジスタS2に共通に接続される。 Word lines WL0 to WL7 extend in the WL direction and are commonly connected to control gate electrodes of a plurality of memory cells in the WL direction. The selection gate line SGS extends in the WL direction and is commonly connected to a plurality of selection transistors S1 in the WL direction. The selection gate line SGD also extends in the WL direction and is commonly connected to a plurality of selection transistors S2 in the WL direction.
また、ワード線WL0〜WL7ごとにページ(PAGE)が存在する。例えば、図中の破線で囲って示すように、ワード線WL7には、ページ7(PAGE7)が存在する。このページ(PAGE)ごとに、後述するデータ読み出し動作、データ書き込み動作が行われるため、ページ(PAGE)はデータ読み出し単位であり、データ書き込み単位である。 A page (PAGE) exists for each of the word lines WL0 to WL7. For example, as indicated by being surrounded by a broken line in the figure, the page 7 (PAGE 7) exists in the word line WL7. Since a data read operation and a data write operation which will be described later are performed for each page (PAGE), the page (PAGE) is a data read unit and a data write unit.
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の出願当初における特許請求の範囲を付記する。
[1]被認証装置を認証装置が認証する認証方法であって、
前記被認証装置は、秘匿された第1鍵情報(NKey)を保持し、
前記認証装置は、元情報(HC)と秘匿された第2鍵情報(HKey)を保持し、
前記被認証装置が、前記元情報(HC)と第1鍵情報(NKey)に基づいて、第3鍵情報(HKey’)を生成するステップと、
前記被認証装置が、前記第3鍵情報(HKey’)と乱数情報とに基づいて、第1セッション鍵(SKey)を生成するステップと、
前記認証装置が、秘匿された第2鍵情報(HKey)と乱数情報に基づいて、第2セッション鍵(SKey’)を生成するステップとを具備する認証方法。
[2]前記被認証装置は、前記第1セッション鍵を用いて保有するID情報を暗号化し、暗号化された前記ID情報を前記認証装置へ送信するステップを更に具備する[1]に記載の認証方法。
[3]前記認証装置が、予め暗号化された前記ID情報の全体(ChipIDおよびLotID)或いはその一部である部分ID情報(LotIDまたはChipID)を記録領域に記録し、
前記認証装置が、前記予め暗号化されたID情報或いは前記予め暗号化された部分ID情報を前記被認証装置の前記記録領域から読み出すと共に、当該予め暗号化されたID情報或いは当該予め暗号化された部分ID情報を秘匿する前記第2鍵情報(HKey)を用いて復号することによりID情報或いは部分ID情報を取得し、当該復号されたID情報或いは部分ID情報が前記被認証装置から前記ID情報の全体或いは一部であることを確認するステップとを更に具備する[2]に記載の認証方法。
[4]前記認証装置は、前記被認証装置から送信される前記第1セッション鍵で暗号化された前記ID情報を、前記第2セッション鍵により復号して前記ID情報を得るステップと、
前記認証装置は、前記第2鍵情報を用いて復号して取られた前記ID情報の一部と前記第2セッション鍵を用いて復号して得られた前記ID情報とを用い、前記被認証装置の識別情報(ChipID)を取得するステップとを更に具備する[3]に記載の認証方法。
[5]秘匿される第1鍵情報(NKey)を記憶するセルアレイと、
認証装置の元情報(HC)と前記第1鍵情報(NKey)とを用いて、第2鍵情報(HKey)を生成する第1データ生成回路と、
生成した前記第2鍵情報(HKey)と乱数情報とを用いて、セッション鍵(SKey)を生成する第2データ生成回路とを具備する被認証装置であって、
前記第1鍵情報(NKey)からは前記第2鍵情報(HKey)を生成するが、前記第2鍵情報(HKey)からは前記第1鍵情報(NKey)を生成しないように構成される。
[6]前記セルアレイは、前記被認証装置の識別情報(ChipID)を更に記憶し、
前記識別情報(ChipID)を前記セッション鍵(SKey)を用いて一方向性関数により変換する一方向性変換器を更に具備する[5]に記載の被認証装置。
[7]秘匿される第1鍵情報(NKey)を保持する被認証装置を認証する認証装置であって、前記認証装置は、
秘匿される第2鍵情報(HKey)を記憶するメモリと、
乱数情報を発生する乱数発生器と、
前記第2鍵情報(HKey)と前記乱数情報とを用いてセッション鍵(SKey)を生成するデータ生成回路とを具備し、
前記第1鍵情報(NKey)からは前記第2鍵情報(HKey)を生成するが、前記第2鍵情報(HKey)からは前記第1鍵情報(NKey)を生成しないように構成される。
[8]前記被認証装置から受信する識別情報(ChipID)を前記セッション鍵(SKey)を用いて一方向性関数により変換する一方向性変換器を更に具備する[7]に記載の認証装置。
[9]前記認証装置は、前記予め暗号化されたID情報の全体(ChipIDおよびLotID)或いはその一部である前記予め暗号化された部分ID情報(LotIDまたはChipID)を、前記被認証装置から読み出し、
前記認証装置は、前記予め暗号化されたID情報或いは前記予め暗号化された部分ID情報を復号するために必要な、前記第2鍵情報(HKey)とは異なる第3鍵情報(IDKey)を前記メモリに更に記憶し、
前記認証装置は、前記予め暗号化されたID情報或いは前記予め暗号化された部分ID情報を前記第3鍵情報(IDKey)により復号することにより、前記ID情報或いは前記部分ID情報を取得する[7]または[8]に記載の認証装置。
As mentioned above, although several embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
The claims appended at the beginning of the filing of the present application will be appended below.
[1] An authentication method in which an authentication device authenticates a device to be authenticated,
The device to be authenticated holds secret first key information (NKey),
The authentication device retains original information (HC) and concealed second key information (HKey),
The authenticated device generating third key information (HKey ′) based on the original information (HC) and first key information (NKey);
The authenticated device generating a first session key (SKey) based on the third key information (HKey ′) and random number information;
An authentication method comprising: a step of generating a second session key (SKey ′) based on the second key information (HKey) and the random number information which are kept secret.
[2] The authentication target device further includes a step of encrypting the ID information held using the first session key and transmitting the encrypted ID information to the authentication device. Authentication method.
[3] The authentication device records the whole ID information (ChipID and LotID) encrypted in advance or partial ID information (LotID or ChipID) that is a part thereof in a recording area,
The authentication device reads the pre-encrypted ID information or the pre-encrypted partial ID information from the recording area of the device to be authenticated, and the pre-encrypted ID information or the pre-encrypted ID information or partial ID information is obtained by decoding using the second key information (HKey) concealing the partial ID information, and the decrypted ID information or partial ID information is sent from the authenticated device to the ID The authentication method according to [2], further comprising a step of confirming that the information is all or part of the information.
[4] The authentication device obtains the ID information by decrypting the ID information encrypted with the first session key transmitted from the device to be authenticated with the second session key;
The authentication device uses the part of the ID information obtained by decryption using the second key information and the ID information obtained by decryption using the second session key. The authentication method according to [3], further comprising a step of acquiring device identification information (ChipID).
[5] a cell array for storing the first key information (NKey) to be concealed;
A first data generation circuit that generates second key information (HKey) using original information (HC) of the authentication device and the first key information (NKey);
A device to be authenticated comprising a second data generation circuit that generates a session key (SKey) using the generated second key information (HKey) and random number information;
The second key information (HKey) is generated from the first key information (NKey), but the first key information (NKey) is not generated from the second key information (HKey).
[6] The cell array further stores identification information (ChipID) of the device to be authenticated,
The authenticated device according to [5], further comprising a one-way converter that converts the identification information (ChipID) by a one-way function using the session key (SKey).
[7] An authentication device for authenticating a device to be authenticated that holds confidential first key information (NKey), wherein the authentication device includes:
A memory for storing second key information (HKey) to be concealed;
A random number generator for generating random number information;
A data generation circuit that generates a session key (SKey) using the second key information (HKey) and the random number information;
The second key information (HKey) is generated from the first key information (NKey), but the first key information (NKey) is not generated from the second key information (HKey).
[8] The authentication device according to [7], further comprising a one-way converter that converts identification information (ChipID) received from the device to be authenticated by a one-way function using the session key (SKey).
[9] The authentication device transmits the pre-encrypted partial ID information (LotID or ChipID), which is the entire pre-encrypted ID information (ChipID and LotID) or a part thereof, from the authenticated device. reading,
The authentication device receives third key information (IDKey) different from the second key information (HKey) necessary for decrypting the pre-encrypted ID information or the pre-encrypted partial ID information. Further storing in the memory;
The authentication device acquires the ID information or the partial ID information by decrypting the pre-encrypted ID information or the pre-encrypted partial ID information with the third key information (IDKey). The authentication device according to [7] or [8].
10…被認証装置(NAND型フラッシュメモリ)、19…コントローラ、20…認証装置(ホスト装置)、11…セルアレイ、23…メモリ、NKey…第1鍵情報、HKey…第2鍵情報、SKey…セッション鍵情報。
DESCRIPTION OF
Claims (4)
前記被認証装置は、秘匿された第1鍵情報と前記被認証装置の識別情報を保持し、
前記認証装置は、元情報と秘匿された第2鍵情報を保持し、
前記被認証装置が、前記元情報と前記第1鍵情報に基づいて、第3鍵情報を生成するステップと、
前記被認証装置が、前記第3鍵情報と乱数情報とに基づいて、第1セッション鍵を生成するステップと、
前記認証装置が、秘匿された前記第2鍵情報と乱数情報に基づいて、第2セッション鍵を生成するステップと、
前記被認証装置が、前記第1セッション鍵を用いて前記識別情報を一方向性関数で変換することにより、一方向性変換識別情報を生成するステップと、
前記認証装置が、前記一方向性変換識別情報を用いて認証するステップとを
具備する認証方法。 An authentication method in which an authentication device authenticates a device to be authenticated,
The device to be authenticated holds confidential first key information and identification information of the device to be authenticated ,
The authentication device holds the original information and the second key information concealed,
The authenticated device generating third key information based on the original information and the first key information;
The device to be authenticated generates a first session key based on the third key information and random number information;
The authentication device generating a second session key based on the second key information and random number information concealed ;
The authenticated device generates unidirectional conversion identification information by converting the identification information with a unidirectional function using the first session key;
An authentication method comprising: authenticating the authentication apparatus using the one-way conversion identification information .
認証装置の元情報と前記第1鍵情報とを用いて、第2鍵情報を生成する第1データ生成回路と、
生成した前記第2鍵情報と乱数情報とを用いて、セッション鍵を生成する第2データ生成回路と、
前記セッション鍵を用いて前記識別情報を一方向性関数で変換することにより、一方向性変換識別情報を生成し、前記認証装置で認証されるように前記一方向性変換識別情報を前記認証装置に送信する一方向性変換器とを具備する被認証装置であって、
前記第1鍵情報からは前記第2鍵情報を生成するが、前記第2鍵情報からは前記第1鍵情報を生成しないように構成される
ことを特徴とする被認証装置。 A cell array for storing the first key information to be concealed and the identification information of the device to be authenticated ;
A first data generation circuit for generating second key information using the original information of the authentication device and the first key information;
A second data generation circuit for generating a session key using the generated second key information and random number information ;
By converting the identification information with a one-way function using the session key, the one-way conversion identification information is generated, and the one-way conversion identification information is authenticated by the authentication device. A to-be-authenticated device comprising a unidirectional converter for transmitting to
An apparatus to be authenticated, configured to generate the second key information from the first key information, but not to generate the first key information from the second key information.
秘匿される第2鍵情報を記憶するメモリと、
乱数情報を発生する乱数発生器と、
前記第2鍵情報と前記乱数情報とを用いてセッション鍵を生成するデータ生成回路と、
前記セッション鍵を用いて前記被認証装置から受信する第1識別情報を一方向性関数で変換することにより、一方向性変換識別情報を生成する一方向性変換器と、
前記一方向性変換識別情報と前記被認証装置から受信する第2識別情報とが一致するかを検証する検証部とを具備し、
前記被認証装置で前記第1鍵情報からは前記第2鍵情報を生成するが、前記第2鍵情報からは前記第1鍵情報を生成しないように構成される
ことを特徴とする認証装置。 An authentication device for authenticating a device to be authenticated that holds confidential first key information, wherein the authentication device includes:
A memory for storing secret second key information;
A random number generator for generating random number information;
A data generation circuit for generating a session key using the second key information and the random number information ;
A unidirectional converter that generates unidirectional conversion identification information by converting the first identification information received from the device to be authenticated using the session key with a unidirectional function;
A verification unit that verifies whether the one-way conversion identification information matches the second identification information received from the device to be authenticated ;
The authentication apparatus is configured to generate the second key information from the first key information in the authenticated apparatus, but not to generate the first key information from the second key information.
前記認証装置は、前記予め暗号化されたID情報を復号するために必要な、前記第2鍵情報とは異なる第3鍵情報を前記メモリに更に記憶し、
前記認証装置は、前記予め暗号化されたID情報を前記第3鍵情報により復号することにより、前記第1識別情報を取得する
請求項3に記載の認証装置。 The authentication apparatus, the pre-encrypted ID information, read out from said apparatus to be authenticated,
The authentication device further stores necessary for decoding the ID information of the pre encrypted, the third key information that is different from the second key information in said memory,
The authentication device, the by decoding by the pre-encrypted ID information and the third key information, the authentication device according to claim 3 for obtaining the first identification information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013032349A JP5591964B2 (en) | 2013-02-21 | 2013-02-21 | Authentication method, device to be authenticated, and authentication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013032349A JP5591964B2 (en) | 2013-02-21 | 2013-02-21 | Authentication method, device to be authenticated, and authentication device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011189979A Division JP5214782B2 (en) | 2011-08-31 | 2011-08-31 | Memory device, storage medium, host device, and system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013138491A JP2013138491A (en) | 2013-07-11 |
JP2013138491A5 JP2013138491A5 (en) | 2013-08-22 |
JP5591964B2 true JP5591964B2 (en) | 2014-09-17 |
Family
ID=48913789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013032349A Expired - Fee Related JP5591964B2 (en) | 2013-02-21 | 2013-02-21 | Authentication method, device to be authenticated, and authentication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5591964B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013118616A (en) * | 2012-09-24 | 2013-06-13 | Toshiba Corp | Memory device |
US11271731B2 (en) * | 2019-11-07 | 2022-03-08 | Micron Technology, Inc. | Single-use password generation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2606827B2 (en) * | 1986-07-24 | 1997-05-07 | 株式会社東芝 | Encryption device using IC card |
JPS6370634A (en) * | 1986-09-12 | 1988-03-30 | Toshiba Corp | Cryptographic key sharing system |
JP2003143128A (en) * | 2001-11-05 | 2003-05-16 | Open Loop:Kk | Communication system and communication method |
JP2009100394A (en) * | 2007-10-19 | 2009-05-07 | Sony Corp | Information processing apparatus and method, recording medium, program, and information processing system |
-
2013
- 2013-02-21 JP JP2013032349A patent/JP5591964B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013138491A (en) | 2013-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5214782B2 (en) | Memory device, storage medium, host device, and system | |
US10361851B2 (en) | Authenticator, authenticatee and authentication method | |
JP5275432B2 (en) | Storage medium, host device, memory device, and system | |
JP5100884B1 (en) | Memory device | |
JP5204291B1 (en) | Host device, device, system | |
JP5112555B1 (en) | Memory card, storage media, and controller | |
JP5855243B2 (en) | Memory device and memory system | |
US20140033325A1 (en) | Non-volatile memory for anti-cloning and authentication method for the same | |
WO2013175640A1 (en) | Host device and authentication method for host device | |
JP4991971B1 (en) | Device to be authenticated and authentication method thereof | |
WO2013175641A2 (en) | Security system | |
JP5204290B1 (en) | Host device, system, and device | |
JP5591964B2 (en) | Authentication method, device to be authenticated, and authentication device | |
JP5433757B2 (en) | Memory device, host device, and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130614 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140609 |
|
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: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140730 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5591964 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |