JP2014222420A - 半導体記憶装置及びデータ処理システム - Google Patents

半導体記憶装置及びデータ処理システム Download PDF

Info

Publication number
JP2014222420A
JP2014222420A JP2013101704A JP2013101704A JP2014222420A JP 2014222420 A JP2014222420 A JP 2014222420A JP 2013101704 A JP2013101704 A JP 2013101704A JP 2013101704 A JP2013101704 A JP 2013101704A JP 2014222420 A JP2014222420 A JP 2014222420A
Authority
JP
Japan
Prior art keywords
random number
key
data
generation data
number generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013101704A
Other languages
English (en)
Other versions
JP6203532B2 (ja
Inventor
崇彦 菅原
Takahiko Sugawara
崇彦 菅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013101704A priority Critical patent/JP6203532B2/ja
Publication of JP2014222420A publication Critical patent/JP2014222420A/ja
Application granted granted Critical
Publication of JP6203532B2 publication Critical patent/JP6203532B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】再現不可能性を有する乱数を簡易に生成することが可能な半導体記憶装置を得る。【解決手段】データ更新部15Aは、メモリアレイ17から読み出した第1の乱数生成用データX1を更新することにより、第1の乱数生成用データX1に基づいて生成される第1の乱数より後に使用される第2の乱数を生成するための第2の乱数生成用データX2を生成する。制御部13は、第2の乱数生成用データX2をメモリアレイ17に書き込む。【選択図】図2

Description

本発明は、半導体記憶装置及びデータ処理システムに関する。
乱数は、暗号アルゴリズムにおける鍵の生成等に用いられる。真性乱数に近い乱数を得るための手法の一つとして、抵抗又はダイオードにおいて発生する雑音を利用して乱数を生成する方式が実用化されている。しかしながら、この方式では、低レベルの雑音をアナログ増幅回路によって増幅する必要があるため、アナログ増幅回路の回路規模が大きくなり、結果として乱数生成回路の回路規模が全体として増大する。また、アナログ回路を用いて乱数生成回路を構成する場合には、回路設計の難易度が高くなる。従って、回路規模の増大及び回路設計の複雑化を回避するためには、計算によって生成可能なディジタル乱数の使用が望まれる。
ディジタル乱数としては、擬似乱数が広く用いられている。擬似乱数は、乱数生成回路において、シードを用いた所定のアルゴリズムによって生成される。
なお、下記特許文献1には、不確定論理回路と、不確定論理回路から出力されるディジタル値における「0」及び「1」の出現頻度を均等にするための一様化回路とを備える乱数生成回路が開示されている。
特許第3604674号公報
擬似乱数は計算によって生成されるため、シード及びアルゴリズムが同一であれば、生成される擬似乱数の値も同一となる。そのため、同一のシード及びアルゴリズムを用いて生成した擬似乱数を相互認証等の認証コードとして使用する場合には、第三者にシード及びアルゴリズムを見破られることにより、セキュリティを破られる可能性がある。従って、セキュリティの堅牢性を向上するためには、再現不可能性を有する乱数を簡易に生成することが望まれる。
また、共通鍵暗号方式等を用いた暗号化通信では、第三者による鍵の解読を困難にすべく、通信毎に更新されるセッション鍵が共通鍵(又はその一部)として使用される。そして、セッション鍵としては、擬似乱数生成器によって生成した擬似乱数が使用されることが一般的である。擬似乱数生成器において同一のシード及びアルゴリズムを用いて擬似乱数を生成すると、生成される擬似乱数は周期性を持つことになる。従って、その周期性が利用されて第三者にセッション鍵が解読されることを回避するためには、再現不可能性を有する乱数を用いたセッション鍵を簡易に生成することが望まれる。
本発明はかかる事情に鑑みて成されたものであり、再現不可能性を有する乱数を簡易に生成することが可能な半導体記憶装置を得ることを目的とする。また、ホスト装置と半導体記憶装置との間で鍵を交換するセキュリティ方式において、再現不可能性を有する乱数を用いたセッション鍵を簡易に生成することが可能で、かつセキュリティ強度が向上されたデータ処理システム及び半導体記憶装置を得ることを目的とする。
本発明の第1の態様に係る半導体記憶装置は、乱数の生成に用いる乱数生成用データが記憶されたメモリアレイと、乱数生成用データを更新するデータ更新部と、制御部と、を備え、前記データ更新部は、前記メモリアレイから読み出した第1の乱数生成用データを更新することにより、当該第1の乱数生成用データに基づいて生成される第1の乱数より後に使用される第2の乱数を生成するための第2の乱数生成用データを生成し、前記制御部は、前記第2の乱数生成用データを前記メモリアレイに書き込むことを特徴とするものである。
第1の態様に係る半導体記憶装置によれば、データ更新部は、メモリアレイから読み出した第1の乱数生成用データを更新することにより、第1の乱数より後に使用される第2の乱数を生成するための第2の乱数生成用データを生成し、制御部は、第2の乱数生成用データをメモリアレイに書き込む。従って、メモリアレイに記憶されている乱数生成用データが新たな乱数生成用データに更新されるため、更新される乱数生成用データに基づいて乱数を生成することができる。その結果、再現不可能性を有する乱数を簡易に生成することが可能となる。
本発明の第2の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記データ更新部は、前記第1の乱数生成用データとは異なる前記第2の乱数生成用データを生成することを特徴とするものである。
第2の態様に係る半導体記憶装置によれば、データ更新部は、第1の乱数生成用データとは異なる第2の乱数生成用データを生成する。従って、第1の乱数生成用データに基づいて生成される第1の乱数と、第2の乱数生成用データに基づいて生成される第2の乱数とを、互いに異ならせることができるため、再現不可能性を有する乱数を生成することが可能となる。
本発明の第3の態様に係る半導体記憶装置は、第1又は第2の態様に係る半導体記憶装置において特に、前記メモリアレイから読み出した乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成する乱数生成部をさらに備えることを特徴とするものである。
第3の態様に係る半導体記憶装置によれば、乱数生成部は、メモリアレイから読み出した乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成する。このように、更新される乱数生成用データをシードとして用いた乱数生成アルゴリズムによって乱数を生成することにより、乱数の真性度を担保することが可能となる。しかも、メモリアレイから読み出した乱数生成用データをそのまま乱数として使用するのではなく、当該乱数生成用データを用いた乱数生成アルゴリズムによって乱数を生成するため、メモリアレイに記憶されている乱数生成用データの一部が破損又は欠損している場合等であっても、生成される乱数の真性度を担保することが可能となる。
本発明の第4の態様に係る半導体記憶装置は、第3の態様に係る半導体記憶装置において特に、前記乱数生成部による乱数の生成処理と、前記データ更新部による乱数生成用データの更新処理及び前記制御部による乱数生成用データの書き込み処理とは、並行して実行されることを特徴とするものである。
第4の態様に係る半導体記憶装置によれば、乱数生成部による乱数の生成処理と、データ更新部による乱数生成用データの更新処理及び制御部による乱数生成用データの書き込み処理とは、並行して実行される。従って、乱数の生成処理が完了した後に乱数生成用データの更新処理を開始する場合や、乱数生成用データの書き込み処理が完了した後に乱数の生成処理を開始する場合と比較すると、処理全体の所要時間を短縮することが可能となる。
本発明の第5の態様に係る半導体記憶装置は、第1又は第2の態様に係る半導体記憶装置において特に、前記メモリアレイには、前記乱数生成用データとして乱数が記憶されていることを特徴とするものである。
第5の態様に係る半導体記憶装置によれば、メモリアレイには、乱数生成用データとして乱数が記憶されている。従って、更新される乱数生成用データを乱数として使用することにより、乱数の真性度を担保することが可能となる。しかも、メモリアレイから読み出した乱数生成用データをそのまま乱数として使用することができ、当該乱数生成用データをシードとして用いた乱数生成処理が不要であるため、乱数を生成するための所要時間を短縮することが可能となる。
本発明の第6の態様に係る半導体記憶装置は、第5の態様に係る半導体記憶装置において特に、前記データ更新部は、前記第1の乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の乱数生成用データを生成する乱数生成器を有することを特徴とするものである。
第6の態様に係る半導体記憶装置によれば、乱数生成器は、第1の乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、第2の乱数生成用データを生成する。このように、第1の乱数生成用データをシードとして用いた乱数生成アルゴリズムによって第2の乱数生成用データを生成することにより、乱数として使用される乱数生成用データの真性度を担保することが可能となる。
本発明の第7の態様に係る半導体記憶装置は、第1〜第6のいずれか一つの態様に係る半導体記憶装置において特に、前記制御部は、前記第2の乱数生成用データが前記メモリアレイに正しく書き込まれるまで、乱数生成用データの書き込み処理を繰り返し実行することを特徴とするものである。
第7の態様に係る半導体記憶装置によれば、制御部は、第2の乱数生成用データがメモリアレイに正しく書き込まれるまで、乱数生成用データの書き込み処理を繰り返し実行する。従って、意図しない電源断によって乱数生成用データの書き込み処理が未完了のまま中断した場合等であっても、電源の再投入後に乱数生成用データの書き込み処理を再開することにより、第2の乱数生成用データをメモリアレイに正しく書き込むことができる。その結果、次に乱数を生成する場合には乱数生成部は第2の乱数生成用データに基づいて乱数を生成することができるため、乱数の再現不可能性を担保することが可能となる。
本発明の第8の態様に係る半導体記憶装置は、第1〜第7のいずれか一つの態様に係る半導体記憶装置において特に、前記メモリアレイには、乱数生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されていることを特徴とするものである。
第8の態様に係る半導体記憶装置によれば、メモリアレイには、乱数生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されている。従って、初回の乱数生成においても、半導体記憶装置毎に異なる乱数を乱数生成部によって生成することが可能となる。
本発明の第9の態様に係る半導体記憶装置は、第1〜第8のいずれか一つの態様に係る半導体記憶装置において特に、乱数生成用データは、前記メモリアレイの記憶領域のうち、ホスト装置からのアクセスが禁止されている領域に記憶されることを特徴とするものである。
第9の態様に係る半導体記憶装置によれば、乱数生成用データは、メモリアレイの記憶領域のうち、ホスト装置からのアクセスが禁止されている領域に記憶される。従って、攻撃者がホスト装置を介してメモリアレイから乱数生成用データを読み出すことや、メモリアレイに記憶されている乱数生成用データを無効なデータによって上書きすることはできないため、セキュリティ性を向上することが可能となる。
本発明の第10の態様に係る半導体記憶装置は、第1〜第9のいずれか一つの態様に係る半導体記憶装置において特に、前記半導体記憶装置の電源が投入されると、前記データ更新部による乱数生成用データの更新処理と前記制御部による乱数生成用データの書き込み処理とが自動的に実行されることを特徴とするものである。
第10の態様に係る半導体記憶装置によれば、半導体記憶装置の電源が投入されると、データ更新部による乱数生成用データの更新処理と制御部による乱数生成用データの書き込み処理とが自動的に実行される。従って、電源投入後の最初の乱数生成においては、自動更新によって書き込まれた新たな乱数生成用データに基づいて乱数を生成することが可能となる。
本発明の第11の態様に係る半導体記憶装置は、第1〜第10のいずれか一つの態様に係る半導体記憶装置において特に、前記半導体記憶装置の電源遮断が要求されると、前記データ更新部による乱数生成用データの更新処理と前記制御部による乱数生成用データの書き込み処理とが自動的に実行されることを特徴とするものである。
第11の態様に係る半導体記憶装置によれば、半導体記憶装置の電源遮断が要求されると、データ更新部による乱数生成用データの更新処理と制御部による乱数生成用データの書き込み処理とが自動的に実行される。従って、半導体記憶装置の電源が再投入された後の最初の乱数生成においては、電源遮断前の自動更新によって書き込まれた新たな乱数生成用データに基づいて乱数を生成することが可能となる。
本発明の第12の態様に係るデータ処理システムは、ホスト装置と、前記ホスト装置との間で鍵を交換することにより、前記ホスト装置から受信したコマンドを当該鍵を用いて復号し、前記ホスト装置に送信するデータを当該鍵を用いて暗号化する半導体記憶装置と、を備え、前記半導体記憶装置は、前記ホスト装置との間で送受信するデータと、鍵の生成に用いる鍵生成用データとが記憶されたメモリアレイと、鍵を生成する鍵生成部と、鍵生成用データを更新するデータ更新部と、制御部と、を有し、前記半導体記憶装置が前記ホスト装置から鍵要求を受けた場合、前記鍵生成部は、その時点で前記メモリアレイに記憶されている第1の鍵生成用データに基づいて、今回の鍵要求に対応して前記ホスト装置に送信する鍵を生成し、前記制御部は、前記鍵生成部によって生成された鍵を暗号化して前記ホスト装置に送信し、前記データ更新部は、前記第1の鍵生成用データを更新することにより、今回より後の鍵要求に対応して前記ホスト装置に送信する鍵を生成するための第2の鍵生成用データを生成し、前記制御部は、前記第2の鍵生成用データを前記メモリアレイに書き込むことを特徴とするものである。
第12の態様に係るデータ処理システムによれば、半導体記憶装置がホスト装置から鍵要求を受けた場合、データ更新部は、第1の鍵生成用データを更新することにより、今回より後の鍵要求に対応してホスト装置に送信する鍵を生成するための第2の鍵生成用データを生成し、制御部は、データ更新部によって生成された第2の鍵生成用データをメモリアレイに書き込む。従って、半導体記憶装置がホスト装置から鍵要求を受ける度に、メモリアレイに記憶されている鍵生成用データが新たな鍵生成用データに更新され、鍵生成部は、毎回更新される鍵生成用データに基づいて鍵を生成する。その結果、ホスト装置と半導体記憶装置との間で共通鍵を交換するセキュリティ方式において、再現不可能性を有する乱数を用いた共通鍵を簡易に生成でき、しかもセキュリティ強度を向上することが可能となる。
本発明の第13の態様に係るデータ処理システムは、第12の態様に係るデータ処理システムにおいて特に、前記データ更新部は、前記第1の鍵生成用データとは異なる前記第2の鍵生成用データを生成することを特徴とするものである。
第13の態様に係るデータ処理システムによれば、データ更新部は、第1の鍵生成用データとは異なる第2の鍵生成用データを生成する。従って、第1の鍵生成用データに基づいて生成される第1の鍵と、第2の鍵生成用データに基づいて生成される第2の鍵とを、互いに異ならせることができるため、再現不可能性を有する乱数を用いた共通鍵を生成することが可能となる。
本発明の第14の態様に係るデータ処理システムは、第12又は第13の態様に係るデータ処理システムにおいて特に、前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、今回の鍵要求に対応して前記ホスト装置に送信する鍵を生成する乱数生成器を有することを特徴とするものである。
第14の態様に係るデータ処理システムによれば、乱数生成器は、メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、今回の鍵要求に対応してホスト装置に送信する鍵を生成する。このように、毎回更新される鍵生成用データをシードとして用いた乱数生成アルゴリズムによって生成した乱数を共通鍵として使用することにより、共通鍵の真性度を担保することが可能となる。しかも、メモリアレイから読み出した鍵生成用データをそのまま共通鍵として使用するのではなく、当該鍵生成用データを用いた乱数生成アルゴリズムによって生成した乱数を共通鍵として使用するため、メモリアレイに記憶されている鍵生成用データの一部が破損又は欠損している場合等であっても、生成される共通鍵の真性度を担保することが可能となる。
本発明の第15の態様に係るデータ処理システムは、第14の態様に係るデータ処理システムにおいて特に、前記鍵生成部による鍵の生成処理及び前記制御部による鍵の送信処理と、前記データ更新部による鍵生成用データの更新処理及び前記制御部による鍵生成用データの書き込み処理とは、並行して実行されることを特徴とするものである。
第15の態様に係るデータ処理システムによれば、鍵生成部による鍵の生成処理及び制御部による鍵の送信処理と、データ更新部による鍵生成用データの更新処理及び制御部による鍵生成用データの書き込み処理とは、並行して実行される。従って、鍵の送信処理が完了した後に鍵生成用データの更新処理を開始する場合や、鍵生成用データの書き込み処理が完了した後に鍵の生成処理を開始する場合と比較すると、処理全体の所要時間を短縮することが可能となる。
本発明の第16の態様に係るデータ処理システムは、第12又は第13の態様に係るデータ処理システムにおいて特に、前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データを、今回の鍵要求に対応して前記ホスト装置に送信する鍵として生成することを特徴とするものである。
第16の態様に係るデータ処理システムによれば、鍵生成部は、メモリアレイから読み出した鍵生成用データを、今回の鍵要求に対応してホスト装置に送信する鍵として生成する。このように、毎回更新される鍵生成用データを共通鍵として使用することにより、共通鍵の真性度を担保することが可能となる。しかも、メモリアレイから読み出した鍵生成用データをそのまま共通鍵として使用することができ、当該鍵生成用データをシードとして用いた乱数生成処理が不要であるため、ホスト装置から鍵要求を受けてからホスト装置に共通鍵を送信するまでの所要時間を短縮することが可能となる。
本発明の第17の態様に係るデータ処理システムは、第16の態様に係るデータ処理システムにおいて特に、前記データ更新部は、前記メモリアレイから読み出した前記第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の鍵生成用データを生成する乱数生成器を有することを特徴とするものである。
第17の態様に係るデータ処理システムによれば、乱数生成器は、メモリアレイから読み出した第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、第2の鍵生成用データを生成する。このように、第1の鍵生成用データをシードとして用いた乱数生成アルゴリズムによって第2の鍵生成用データを生成することにより、共通鍵として使用される鍵生成用データの真性度を担保することが可能となる。
本発明の第18の態様に係るデータ処理システムは、第12〜第17のいずれか一つの態様に係るデータ処理システムにおいて特に、前記制御部は、前記第2の鍵生成用データが前記メモリアレイに正しく書き込まれるまで、鍵生成用データの書き込み処理を繰り返し実行することを特徴とするものである。
第18の態様に係るデータ処理システムによれば、制御部は、第2の鍵生成用データがメモリアレイに正しく書き込まれるまで、鍵生成用データの書き込み処理を繰り返し実行する。従って、意図しない電源断によって鍵生成用データの書き込み処理が未完了のまま中断した場合等であっても、電源の再投入後に鍵生成用データの書き込み処理を再開することにより、第2の鍵生成用データをメモリアレイに正しく書き込むことができる。その結果、ホスト装置からの次回の鍵要求に対して鍵生成部は第2の鍵生成用データに基づいて鍵を生成することができるため、鍵の再現不可能性を担保することが可能となる。
本発明の第19の態様に係るデータ処理システムは、第12〜第18のいずれか一つの態様に係るデータ処理システムにおいて特に、前記メモリアレイには、鍵生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されていることを特徴とするものである。
第19の態様に係るデータ処理システムによれば、メモリアレイには、鍵生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されている。従って、ホスト装置からの初回の鍵要求に対しても、半導体記憶装置毎に異なる鍵を鍵生成部によって生成することが可能となる。
本発明の第20の態様に係るデータ処理システムは、第12〜第19のいずれか一つの態様に係るデータ処理システムにおいて特に、鍵生成用データは、前記メモリアレイの記憶領域のうち、前記ホスト装置からのアクセスが禁止されている領域に記憶されることを特徴とするものである。
第20の態様に係るデータ処理システムによれば、鍵生成用データは、メモリアレイの記憶領域のうち、ホスト装置からのアクセスが禁止されている領域に記憶される。従って、攻撃者がホスト装置を介してメモリアレイから鍵生成用データを読み出すことや、メモリアレイに記憶されている鍵生成用データを無効なデータによって上書きすることはできないため、セキュリティ性を向上することが可能となる。
本発明の第21の態様に係るデータ処理システムは、第12〜第20のいずれか一つの態様に係るデータ処理システムにおいて特に、前記半導体記憶装置の電源が投入されると、前記データ更新部による鍵生成用データの更新処理と前記制御部による鍵生成用データの書き込み処理とが自動的に実行されることを特徴とするものである。
第21の態様に係るデータ処理システムによれば、半導体記憶装置の電源が投入されると、データ更新部による鍵生成用データの更新処理と制御部による鍵生成用データの書き込み処理とが自動的に実行される。従って、電源投入後の最初の鍵要求に対しては、自動更新によって書き込まれた新たな鍵生成用データに基づいて生成された鍵を、ホスト装置に送信することが可能となる。
本発明の第22の態様に係るデータ処理システムは、第12〜第21のいずれか一つの態様に係るデータ処理システムにおいて特に、前記半導体記憶装置の電源遮断が要求されると、前記データ更新部による鍵生成用データの更新処理と前記制御部による鍵生成用データの書き込み処理とが自動的に実行されることを特徴とするものである。
第22の態様に係るデータ処理システムによれば、半導体記憶装置の電源遮断が要求されると、データ更新部による鍵生成用データの更新処理と制御部による鍵生成用データの書き込み処理とが自動的に実行される。従って、半導体記憶装置の電源が再投入された後の最初の鍵要求に対しては、電源遮断前の自動更新によって書き込まれた新たな鍵生成用データに基づいて生成された鍵を、ホスト装置に送信することが可能となる。
本発明の第23の態様に係る半導体記憶装置は、鍵の生成に用いる鍵生成用データが記憶されたメモリアレイと、鍵を生成する鍵生成部と、鍵生成用データを更新するデータ更新部と、制御部と、を備え、前記鍵生成部は、前記メモリアレイに記憶されている第1の鍵生成用データに基づいて第1の鍵を生成し、前記データ更新部は、前記第1の鍵生成用データを更新することにより、前記第1の鍵より後に使用される第2の鍵を生成するための第2の鍵生成用データを生成し、前記制御部は、前記第2の鍵生成用データを前記メモリアレイに書き込むことを特徴とするものである。
第23の態様に係る半導体記憶装置によれば、データ更新部は、第1の鍵生成用データを更新することにより、第1の鍵より後に使用される第2の鍵を生成するための第2の鍵生成用データを生成し、制御部は、データ更新部によって生成された第2の鍵生成用データをメモリアレイに書き込む。従って、メモリアレイに記憶されている鍵生成用データが新たな鍵生成用データに更新され、次回の鍵生成において鍵生成部は、更新された鍵生成用データに基づいて鍵を生成する。その結果、再現不可能性を有する乱数を用いた鍵を簡易に生成でき、しかもセキュリティ強度を向上することが可能となる。
本発明の第24の態様に係る半導体記憶装置は、第23の態様に係る半導体記憶装置において特に、前記データ更新部は、前記第1の鍵生成用データとは異なる前記第2の鍵生成用データを生成することを特徴とするものである。
第24の態様に係る半導体記憶装置によれば、データ更新部は、第1の鍵生成用データとは異なる第2の鍵生成用データを生成する。従って、第1の鍵生成用データに基づいて生成される第1の鍵と、第2の鍵生成用データに基づいて生成される第2の鍵とを、互いに異ならせることができるため、再現不可能性を有する乱数を用いた鍵を生成することが可能となる。
本発明の第25の態様に係る半導体記憶装置は、第23又は第24の態様に係る半導体記憶装置において特に、前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、鍵を生成する乱数生成器をさらに備えることを特徴とするものである。
第25の態様に係る半導体記憶装置によれば、乱数生成器は、メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、鍵を生成する。このように、更新された鍵生成用データをシードとして用いた乱数生成アルゴリズムによって生成した乱数を鍵として使用することにより、鍵の真性度を担保することが可能となる。しかも、メモリアレイから読み出した鍵生成用データをそのまま鍵として使用するのではなく、当該鍵生成用データを用いた乱数生成アルゴリズムによって生成した乱数を鍵として使用するため、メモリアレイに記憶されている鍵生成用データの一部が破損又は欠損している場合等であっても、生成される鍵の真性度を担保することが可能となる。
本発明の第26の態様に係る半導体記憶装置は、第25の態様に係る半導体記憶装置において特に、前記鍵生成部による鍵の生成処理と、前記データ更新部による鍵生成用データの更新処理及び前記制御部による鍵生成用データの書き込み処理とは、並行して実行されることを特徴とするものである。
第26の態様に係る半導体記憶装置によれば、鍵生成部による鍵の生成処理と、データ更新部による鍵生成用データの更新処理及び制御部による鍵生成用データの書き込み処理とは、並行して実行される。従って、鍵の送信処理が完了した後に鍵生成用データの更新処理を開始する場合や、鍵生成用データの書き込み処理が完了した後に鍵の生成処理を開始する場合と比較すると、処理全体の所要時間を短縮することが可能となる。
本発明の第27の態様に係る半導体記憶装置は、第23又は第24の態様に係る半導体記憶装置において特に、前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データを、鍵として生成することを特徴とするものである。
第27の態様に係る半導体記憶装置によれば、鍵生成部は、メモリアレイから読み出した鍵生成用データを、鍵として生成する。このように、更新された鍵生成用データを鍵として使用することにより、鍵の真性度を担保することが可能となる。しかも、メモリアレイから読み出した鍵生成用データをそのまま鍵として使用することができ、当該鍵生成用データをシードとして用いた乱数生成処理が不要であるため、鍵の生成に要する所要時間を短縮することが可能となる。
本発明の第28の態様に係る半導体記憶装置は、第27の態様に係る半導体記憶装置において特に、前記データ更新部は、前記メモリアレイから読み出した前記第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の鍵生成用データを生成する乱数生成器を有することを特徴とするものである。
第28の態様に係る半導体記憶装置によれば、乱数生成器は、メモリアレイから読み出した第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、第2の鍵生成用データを生成する。このように、第1の鍵生成用データをシードとして用いた乱数生成アルゴリズムによって第2の鍵生成用データを生成することにより、鍵として使用される鍵生成用データの真性度を担保することが可能となる。
本発明によれば、再現不可能性を有する乱数を簡易に生成することが可能な半導体記憶装置を得ることができる。また、ホスト装置と半導体記憶装置との間で鍵を交換するセキュリティ方式において、再現不可能性を有する乱数を用いた鍵を簡易に生成することが可能で、かつセキュリティ強度が向上されたデータ処理システム及び半導体記憶装置を得ることができる。
本発明の実施の形態に係るデータ処理システムの構成を概略的に示す図である。 本発明の実施の形態1に係る半導体記憶装置の構成を示す図である。 乱数生成部の構成を示す図である。 データ更新部の構成を示す図である。 本発明の実施の形態2に係る半導体記憶装置の構成を示す図である。 データ更新部の構成を示す図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るデータ処理システム100の構成を概略的に示す図である。データ処理システム100は、ホスト装置1と半導体記憶装置2とを備えて構成されている。半導体記憶装置2は、例えば、ホスト装置1に着脱自在に接続可能なメモリカードである。データ処理システム100は、ホスト装置1と半導体記憶装置2との間でセッション鍵としての共通鍵を交換することにより、両者間で送受信されるコマンドやデータの暗号化及び復号を行うセキュリティ方式(共通鍵暗号方式)を採用する。
<実施の形態1>
図2は、本発明の実施の形態1に係る半導体記憶装置2Aの構成を示す図である。図2の接続関係で示すように、半導体記憶装置2Aは、ホストインタフェース11、暗号化・復号部12、制御部13、乱数生成部14A、データ更新部15A、メモリインタフェース16、及びメモリアレイ17を備えて構成されている。本実施の形態1では、乱数生成部14Aが鍵生成部として機能する。メモリアレイ17は、例えばNAND型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ17はNOR型フラッシュメモリ等を用いて構成されていても良い。
メモリアレイ17は、全記憶領域の一部に、ホスト装置1からのアクセスが禁止されている禁止領域20を含んでいる。つまり、ホスト装置1は、メモリアレイ17に対するデータの読み出し及び書き込みを行う際に、データの読み出し先及び書き込み先として禁止領域20のアドレスを指定することができない。禁止領域20には、乱数生成用データX(本実施の形態1ではシード)が記憶されている。メモリアレイ17の全記憶領域のうち、禁止領域20以外の領域には、ホスト装置1と半導体記憶装置2Aとの間で送受信される任意のデータ(画像、音声、テキスト、コード、管理情報等)が記憶されている。
図3は、乱数生成部14Aの構成を示す図である。図3に示すように、乱数生成部14Aは乱数生成器21を有している。乱数生成器21は、禁止領域20から読み出された乱数生成用データをシードとして用いて、擬似乱数生成アルゴリズム、ハッシュ関数、共通鍵方式の暗号化アルゴリズム、又は公開鍵方式の暗号化アルゴリズム等の任意の乱数生成アルゴリズム(又はその組合せ)によって、ディジタル乱数であるセッション鍵(共通鍵)を生成する。
図4は、データ更新部15Aの構成を示す図である。図4に示すように、データ更新部15Aはカウンタ22を有している。カウンタ22は、禁止領域20から読み出された乱数生成用データをインクリメント又はデクリメントすることにより、更新後の乱数生成用データを生成する。図4に示した構成によると、カウンタ22を用いた簡易な構成によって、乱数生成用データの更新処理を実現することが可能となる。なお、乱数生成部14Aと同様の乱数生成器を用いてデータ更新部15Aを構成しても良い。またこの場合には、乱数生成部14Aとデータ更新部15Aとで同一の乱数生成器を共用しても良い。
以下、図2〜4を参照して、本実施の形態1に係る半導体記憶装置2Aの動作について説明する。
システムの電源が投入されると、まず制御部13は、予め実装されている鍵K0を暗号化・復号部12に設定(初期化)する。また、ホスト装置1においても、半導体記憶装置2Aと共通の鍵K0が設定される。禁止領域20には、システムの電源が前回遮断された際に禁止領域20に記憶されていた最新の乱数生成用データX1が記憶されている。なお、半導体記憶装置2Aの工場出荷時点では、乱数生成用データXの初期値として、半導体記憶装置2A毎に異なる固有値が禁止領域20に記憶されている。
例えばメモリアレイ17に記憶されているデータをホスト装置1が読み出す前に、ホスト装置1は、共通鍵を更新するために半導体記憶装置2Aに対して鍵要求を送信する。具体的にホスト装置1は、鍵の更新を要求するための乱数生成コマンドC0Aを生成した後、当該乱数生成コマンドC0Aを鍵K0を用いて暗号化することにより、暗号化乱数生成コマンドC0Aを生成する。そして、当該暗号化乱数生成コマンドC0Aを、半導体記憶装置2Aに送信する。
暗号化乱数生成コマンドC0Aは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化乱数生成コマンドC0Aを鍵K0を用いて復号し、復号後の乱数生成コマンドC0Aを制御部13に入力する。
次に制御部13は、乱数生成コマンドC0Aに基づいて、禁止領域20から乱数生成用データX1を読み出すための読み出し要求R1を生成する。
読み出し要求R1はメモリインタフェース16を介してメモリアレイ17に入力され、その時点で禁止領域20に記憶されている乱数生成用データX1がメモリアレイ17から読み出される。
乱数生成用データX1は、メモリインタフェース16を介して乱数生成部14A及びデータ更新部15Aに入力される。
次に乱数生成部14Aは、乱数生成用データX1に基づいて、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K1を生成する。具体的に、乱数生成器21は、乱数生成用データX1をシードとして用いて、上記擬似乱数生成アルゴリズム等の乱数生成アルゴリズムによって乱数を生成することにより、セッション鍵K1を生成する。乱数生成部14Aは、乱数生成用データX1に基づいて生成したセッション鍵K1を、制御部13に入力する。次に制御部13は、セッション鍵K1を暗号化・復号部12に入力する。次に暗号化・復号部12は、セッション鍵K1を鍵K0を用いて暗号化する。次に制御部13は、暗号化・復号部12によって生成された暗号化セッション鍵K1を、ホストインタフェース11を介してホスト装置1に送信する。
また、データ更新部15Aは、乱数生成用データX1を更新することにより、次回(又はそれ以降。以下同様)の鍵要求に対応してホスト装置1に送信するセッション鍵K2を生成するための乱数生成用データX2を生成する。具体的に、カウンタ22は、乱数生成用データX1をインクリメント又はデクリメントすることにより、乱数生成用データX1とは異なる乱数生成用データX2を生成する。データ更新部15Aは、更新後の乱数生成用データX2を、制御部13に入力する。次に制御部13は、禁止領域20に乱数生成用データX2を書き込むための書き込み要求W2を生成する。書き込み要求W2はメモリインタフェース16を介してメモリアレイ17に入力され、禁止領域20に記憶されている乱数生成用データX1が、更新後の乱数生成用データX2によって上書きされる。ここで制御部13は、禁止領域20に記憶されている乱数生成用データX1が乱数生成用データX2によって正しく上書きされるまで、乱数生成用データX2の上書き処理を繰り返し実行する。具体的に制御部13は、上書き処理の完了後に乱数生成用データX2を禁止領域20から読み出し、当該乱数生成用データX2の内容が、データ更新部15Aから入力された乱数生成用データX2の内容と同一であるか否かを判定(ベリファイ)する。そして、両データの内容が同一となるまで乱数生成用データX2の上書き処理を繰り返し実行する。なお、データ更新部15Aによって更新される乱数生成用データの値としては、過去に使用された値を回避して常に未使用の値を採用するのが望ましいが、カウンタ値に上限がある場合等には過去に使用された値を採用しても良い。また、メモリアレイ17の同一領域に対するアクセス集中に起因する不良発生を回避すべく、更新後の乱数生成用データを書き込むための領域を禁止領域20内に複数箇所設けても良い。
なお、乱数生成部14Aによるセッション鍵K1の生成処理及び制御部13によるホスト装置1へのセッション鍵K1の送信処理と、データ更新部15Aによる乱数生成用データX2の更新処理及び制御部13による乱数生成用データX2の上書き処理とは、並行して実行される。つまり、セッション鍵K1の生成処理及び乱数生成用データX2の更新処理は、同時に実行が開始される。従って、例えば乱数生成用データX2の上書き処理に伴う書き込みレイテンシ期間が長い場合には、セッション鍵K1の生成処理及びセッション鍵K1の送信処理は当該書き込みレイテンシ期間内に実行されることとなる。
次にホスト装置1は、暗号化セッション鍵K1を鍵K0を用いて復号することにより、更新後のセッション鍵K1を取得する。
次にホスト装置1は、セッション鍵K1の設定(初期化)を要求するための初期化コマンドC0Bを生成した後、当該初期化コマンドC0Bを鍵K0を用いて暗号化することにより、暗号化初期化コマンドC0Bを生成する。そして、当該暗号化初期化コマンドC0Bを、半導体記憶装置2Aに送信する。
暗号化初期化コマンドC0Bは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化初期化コマンドC0Bを鍵K0を用いて復号し、復号後の初期化コマンドC0Bを制御部13に入力する。
次に制御部13は、初期化コマンドC0Bに基づく設定信号D1によって、暗号化・復号部12にセッション鍵K1を設定する。また、ホスト装置1においても、半導体記憶装置2Aと共通のセッション鍵K1が設定される。以上の処理により、ホスト装置1及び半導体記憶装置2Aの共通鍵が鍵K0からセッション鍵K1に更新される。その後、セッション鍵K1を用いて、ホスト装置1と半導体記憶装置2Aとの間でコマンド及びデータの暗号化通信が実行される。
その後、セッション鍵を再更新して暗号化通信を行う場合には、ホスト装置1は、共通鍵を更新するために半導体記憶装置2Aに対して鍵要求を送信する。具体的にホスト装置1は、暗号化乱数生成コマンドC1Aを半導体記憶装置2Aに送信する。
暗号化乱数生成コマンドC1Aは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化乱数生成コマンドC1Aをセッション鍵K1を用いて復号し、復号後の乱数生成コマンドC1Aを制御部13に入力する。
次に制御部13は、乱数生成コマンドC1Aに基づいて、禁止領域20から乱数生成用データX2を読み出すための読み出し要求R2を生成する。
読み出し要求R2はメモリインタフェース16を介してメモリアレイ17に入力され、その時点で禁止領域20に記憶されている乱数生成用データX2がメモリアレイ17から読み出される。
乱数生成用データX2は、メモリインタフェース16を介して乱数生成部14A及びデータ更新部15Aに入力される。
次に乱数生成部14Aは、乱数生成用データX2に基づいて、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K2を生成する。乱数生成部14Aは、乱数生成用データX2に基づいて生成したセッション鍵K2を、制御部13に入力する。次に制御部13は、セッション鍵K2を暗号化・復号部12に入力する。次に暗号化・復号部12は、セッション鍵K2をセッション鍵K1を用いて暗号化する。次に制御部13は、暗号化・復号部12によって生成された暗号化セッション鍵K2を、ホストインタフェース11を介してホスト装置1に送信する。
また、データ更新部15Aは、乱数生成用データX2を更新することにより、次回の鍵要求に対応してホスト装置1に送信するセッション鍵K3を生成するための乱数生成用データX3を生成する。データ更新部15Aは、更新後の乱数生成用データX3を、制御部13に入力する。次に制御部13は、禁止領域20に乱数生成用データX3を書き込むための書き込み要求W3を生成する。書き込み要求W3はメモリインタフェース16を介してメモリアレイ17に入力され、禁止領域20に記憶されている乱数生成用データX2が、更新後の乱数生成用データX3によって上書きされる。ここで制御部13は、禁止領域20に記憶されている乱数生成用データX2が乱数生成用データX3によって正しく上書きされるまで、乱数生成用データX3の上書き処理を繰り返し実行する。
次にホスト装置1は、暗号化セッション鍵K2をセッション鍵K1を用いて復号することにより、更新後のセッション鍵K2を取得する。
次にホスト装置1は、セッション鍵K2の設定(初期化)を要求するための初期化コマンドC1Bを生成した後、当該初期化コマンドC1Bをセッション鍵K1を用いて暗号化することにより、暗号化初期化コマンドC1Bを生成する。そして、当該暗号化初期化コマンドC1Bを、半導体記憶装置2Aに送信する。
暗号化初期化コマンドC1Bは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化初期化コマンドC1Bをセッション鍵K1を用いて復号し、復号後の初期化コマンドC1Bを制御部13に入力する。
次に制御部13は、初期化コマンドC1Bに基づく設定信号D2によって、暗号化・復号部12にセッション鍵K2を設定する。また、ホスト装置1においても、半導体記憶装置2Aと共通のセッション鍵K2が設定される。以上の処理により、ホスト装置1及び半導体記憶装置2Aの共通鍵がセッション鍵K1からセッション鍵K2に更新される。その後、セッション鍵K2を用いて、ホスト装置1と半導体記憶装置2Aとの間でコマンド及びデータの暗号化通信が実行される。
以降は同様に、ホスト装置1から半導体記憶装置2Aに鍵要求が送信される度に、ホスト装置1及び半導体記憶装置2Aにおいて共通鍵が更新される。
<実施の形態2>
図5は、本発明の実施の形態2に係る半導体記憶装置2Bの構成を示す図である。図5の接続関係で示すように、半導体記憶装置2Bは、ホストインタフェース11、暗号化・復号部12、制御部13、データ更新部15B、メモリインタフェース16、及びメモリアレイ17を備えて構成されている。本実施の形態2では、データ更新部15Bが鍵生成部として機能する。メモリアレイ17の禁止領域20には、乱数生成用データY(本実施の形態2では乱数)が記憶されている。
図6は、データ更新部15Bの構成を示す図である。図6に示すように、データ更新部15Bは乱数生成器23を有している。乱数生成器23は、禁止領域20から読み出された乱数生成用データをシードとして用いて、擬似乱数生成アルゴリズム、ハッシュ関数、共通鍵方式の暗号化アルゴリズム、又は公開鍵方式の暗号化アルゴリズム等の任意の乱数生成アルゴリズム(又はその組合せ)によって、ディジタル乱数である新たな乱数生成用データを生成する。また、データ更新部15Bは、禁止領域20から読み出された乱数生成用データを、そのままセッション鍵として出力する。
以下、図5,6を参照して、本実施の形態2に係る半導体記憶装置2Bの動作について説明する。
システムの電源が投入されると、まず制御部13は、予め実装されている鍵K0を暗号化・復号部12に設定(初期化)する。また、ホスト装置1においても、半導体記憶装置2Bと共通の鍵K0が設定される。禁止領域20には、システムの電源が前回遮断された際に禁止領域20に記憶されていた最新の乱数生成用データY1が記憶されている。なお、半導体記憶装置2Bの工場出荷時点では、乱数生成用データYの初期値として、半導体記憶装置2B毎に異なる固有値が禁止領域20に記憶されている。
例えばメモリアレイ17に記憶されているデータをホスト装置1が読み出す前に、ホスト装置1は、共通鍵を更新するために半導体記憶装置2Bに対して鍵要求を送信する。具体的にホスト装置1は、鍵の更新を要求するための乱数生成コマンドC0Aを生成した後、当該乱数生成コマンドC0Aを鍵K0を用いて暗号化することにより、暗号化乱数生成コマンドC0Aを生成する。そして、当該暗号化乱数生成コマンドC0Aを、半導体記憶装置2Bに送信する。
暗号化乱数生成コマンドC0Aは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化乱数生成コマンドC0Aを鍵K0を用いて復号し、復号後の乱数生成コマンドC0Aを制御部13に入力する。
次に制御部13は、乱数生成コマンドC0Aに基づいて、禁止領域20から乱数生成用データY1を読み出すための読み出し要求R1を生成する。
読み出し要求R1はメモリインタフェース16を介してメモリアレイ17に入力され、その時点で禁止領域20に記憶されている乱数生成用データY1がメモリアレイ17から読み出される。
乱数生成用データY1は、メモリインタフェース16を介してデータ更新部15Bに入力される。
次にデータ更新部15Bは、乱数生成用データY1に基づいて、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K1を生成する。本実施の形態2では乱数生成用データY1自身が乱数であるため、データ更新部15Bは、メモリアレイ17から読み出した乱数生成用データY1をそのまま、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K1として出力する。データ更新部15Bは、乱数生成用データY1をセッション鍵K1として、制御部13に入力する。次に制御部13は、セッション鍵K1を暗号化・復号部12に入力する。次に暗号化・復号部12は、セッション鍵K1を鍵K0を用いて暗号化する。次に制御部13は、暗号化・復号部12によって生成された暗号化セッション鍵K1を、ホストインタフェース11を介してホスト装置1に送信する。
また、データ更新部15Bは、乱数生成用データY1を更新することにより、次回の鍵要求に対応してホスト装置1に送信するセッション鍵K2を生成するための乱数生成用データY2を生成する。具体的に、乱数生成器23は、乱数生成用データY1をシードとして用いて、上記擬似乱数生成アルゴリズム等の乱数生成アルゴリズムによって新たな乱数生成用データY2を生成する。データ更新部15Bは、更新後の乱数生成用データY2を、制御部13に入力する。次に制御部13は、禁止領域20に乱数生成用データY2を書き込むための書き込み要求W2を生成する。書き込み要求W2はメモリインタフェース16を介してメモリアレイ17に入力され、禁止領域20に記憶されている乱数生成用データY1が、更新後の乱数生成用データY2によって上書きされる。ここで制御部13は、禁止領域20に記憶されている乱数生成用データY1が乱数生成用データY2によって正しく上書きされるまで、乱数生成用データY2の上書き処理を繰り返し実行する。
次にホスト装置1は、暗号化セッション鍵K1を鍵K0を用いて復号することにより、更新後のセッション鍵K1を取得する。
次にホスト装置1は、セッション鍵K1の設定(初期化)を要求するための初期化コマンドC0Bを生成した後、当該初期化コマンドC0Bを鍵K0を用いて暗号化することにより、暗号化初期化コマンドC0Bを生成する。そして、当該暗号化初期化コマンドC0Bを、半導体記憶装置2Bに送信する。
暗号化初期化コマンドC0Bは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化初期化コマンドC0Bを鍵K0を用いて復号し、復号後の初期化コマンドC0Bを制御部13に入力する。
次に制御部13は、初期化コマンドC0Bに基づく設定信号D1によって、暗号化・復号部12にセッション鍵K1を設定する。また、ホスト装置1においても、半導体記憶装置2Bと共通のセッション鍵K1が設定される。以上の処理により、ホスト装置1及び半導体記憶装置2Bの共通鍵が鍵K0からセッション鍵K1に更新される。その後、セッション鍵K1を用いて、ホスト装置1と半導体記憶装置2Bとの間でコマンド及びデータの暗号化通信が実行される。
その後、セッション鍵を再更新して暗号化通信を行う場合には、ホスト装置1は、共通鍵を更新するために半導体記憶装置2Bに対して鍵要求を送信する。具体的にホスト装置1は、暗号化乱数生成コマンドC1Aを半導体記憶装置2Bに送信する。
暗号化乱数生成コマンドC1Aは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化乱数生成コマンドC1Aをセッション鍵K1を用いて復号し、復号後の乱数生成コマンドC1Aを制御部13に入力する。
次に制御部13は、乱数生成コマンドC1Aに基づいて、禁止領域20から乱数生成用データY2を読み出すための読み出し要求R2を生成する。
読み出し要求R2はメモリインタフェース16を介してメモリアレイ17に入力され、その時点で禁止領域20に記憶されている乱数生成用データY2がメモリアレイ17から読み出される。
乱数生成用データY2は、メモリインタフェース16を介してデータ更新部15Bに入力される。
次にデータ更新部15Bは、乱数生成用データY2に基づいて、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K2を生成する。データ更新部15Bは、乱数生成用データY2に基づいて生成したセッション鍵K2を、制御部13に入力する。次に制御部13は、セッション鍵K2を暗号化・復号部12に入力する。次に暗号化・復号部12は、セッション鍵K2をセッション鍵K1を用いて暗号化する。次に制御部13は、暗号化・復号部12によって生成された暗号化セッション鍵K2を、ホストインタフェース11を介してホスト装置1に送信する。
また、データ更新部15Bは、乱数生成用データY2を更新することにより、次回の鍵要求に対応してホスト装置1に送信するセッション鍵K3を生成するための乱数生成用データY3を生成する。データ更新部15Bは、更新後の乱数生成用データY3を、制御部13に入力する。次に制御部13は、禁止領域20に乱数生成用データY3を書き込むための書き込み要求W3を生成する。書き込み要求W3はメモリインタフェース16を介してメモリアレイ17に入力され、禁止領域20に記憶されている乱数生成用データY2が、更新後の乱数生成用データY3によって上書きされる。ここで制御部13は、禁止領域20に記憶されている乱数生成用データY2が乱数生成用データY3によって正しく上書きされるまで、乱数生成用データY3の上書き処理を繰り返し実行する。
次にホスト装置1は、暗号化セッション鍵K2をセッション鍵K1を用いて復号することにより、更新後のセッション鍵K2を取得する。
次にホスト装置1は、セッション鍵K2の設定(初期化)を要求するための初期化コマンドC1Bを生成した後、当該初期化コマンドC1Bをセッション鍵K1を用いて暗号化することにより、暗号化初期化コマンドC1Bを生成する。そして、当該暗号化初期化コマンドC1Bを、半導体記憶装置2Bに送信する。
暗号化初期化コマンドC1Bは、ホストインタフェース11を介して暗号化・復号部12に入力される。次に暗号化・復号部12は、暗号化初期化コマンドC1Bをセッション鍵K1を用いて復号し、復号後の初期化コマンドC1Bを制御部13に入力する。
次に制御部13は、初期化コマンドC1Bに基づく設定信号D2によって、暗号化・復号部12にセッション鍵K2を設定する。また、ホスト装置1においても、半導体記憶装置2Bと共通のセッション鍵K2が設定される。以上の処理により、ホスト装置1及び半導体記憶装置2Bの共通鍵がセッション鍵K1からセッション鍵K2に更新される。その後、セッション鍵K2を用いて、ホスト装置1と半導体記憶装置2Bとの間でコマンド及びデータの暗号化通信が実行される。
以降は同様に、ホスト装置1から半導体記憶装置2Bに鍵要求が送信される度に、ホスト装置1及び半導体記憶装置2Bにおいて共通鍵が更新される。
<変形例>
上記実施の形態1,2では、半導体記憶装置2A,2Bは、ホスト装置1から鍵要求を受けた時に、データ更新部15A,15Bによる乱数生成用データの更新処理と制御部13による乱数生成用データの上書き処理とを実行した。
これに加えて、システムの電源が投入されると、電源投入の直後に乱数生成用データの更新処理及び上書き処理を自動的に(つまりホスト装置1からの乱数生成コマンドの受信を待つことなく)実行しても良い。
また、これに加えて、システムの電源遮断が要求されると、電源遮断の直前に乱数生成用データの更新処理及び上書き処理を自動的に実行しても良い。
<まとめ>
上記実施の形態1,2に係る半導体記憶装置2A,2Bによれば、データ更新部15A,15Bは、メモリアレイ17から読み出した第1の乱数生成用データX1,Y1を更新することにより、第1の乱数(セッション鍵K1)より後に使用される第2の乱数(セッション鍵K2)を生成するための第2の乱数生成用データX2,Y2を生成する。また、制御部13は、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1を、第2の乱数生成用データX2,Y2によって上書きする。従って、メモリアレイ17に記憶されている乱数生成用データX1,Y1が新たな乱数生成用データX2,Y2に更新されるため、更新される乱数生成用データに基づいて乱数を生成することができる。その結果、再現不可能性を有する乱数を簡易に生成することが可能となる。
同様に上記実施の形態1,2に係るデータ処理システム100によれば、半導体記憶装置2A,2Bがホスト装置1から鍵要求を受けた場合、データ更新部15A,15Bは、第1の乱数生成用データ(鍵生成用データ)X1,Y1を更新することにより、今回より後の鍵要求に対応してホスト装置1に送信するセッション鍵K2を生成するための第2の乱数生成用データX2,Y2を生成する。また、制御部13は、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1を、データ更新部15A,15Bによって生成された第2の乱数生成用データX2,Y2によって上書きする。従って、半導体記憶装置2A,2Bがホスト装置1から鍵要求を受ける度に、メモリアレイ17に記憶されている乱数生成用データが新たな乱数生成用データに更新され、乱数生成部(鍵生成部)14A,14Bは、毎回更新される乱数生成用データに基づいてセッション鍵を生成する。その結果、ホスト装置1と半導体記憶装置2A,2Bとの間で共通鍵を交換するセキュリティ方式において、再現不可能性を有する乱数を用いた共通鍵を簡易に生成でき、しかもセキュリティ強度を向上することが可能となる。
また、上記実施の形態1,2に係る半導体記憶装置2A,2B及びデータ処理システム100によれば、データ更新部15A,15Bは、第1の乱数生成用データX1,Y1とは異なる第2の乱数生成用データX2,Y2を生成する。従って、第1の乱数生成用データX1,Y1に基づいて生成される第1の乱数と、第2の乱数生成用データX2,Y2に基づいて生成される第2の乱数とを、互いに異ならせることができるため、再現不可能性を有する乱数を生成することが可能となる。
また、上記実施の形態1に係る半導体記憶装置2Aによれば、乱数生成器21は、メモリアレイ17から読み出した乱数生成用データX1,X2をシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成する。このように、更新される乱数生成用データX1,X2をシードとして用いた乱数生成アルゴリズムによって乱数を生成することにより、乱数の真性度を担保することが可能となる。しかも、メモリアレイ17から読み出した乱数生成用データX1,X2をそのまま乱数として使用するのではなく、当該乱数生成用データX1,X2を用いた乱数生成アルゴリズムによって乱数を生成するため、メモリアレイ17に記憶されている乱数生成用データX1,X2の一部が破損又は欠損している場合等であっても、生成される乱数の真性度を担保することが可能となる。
同様に上記実施の形態1に係るデータ処理システム100によれば、乱数生成器21は、メモリアレイ17から読み出した乱数生成用データX1,X2をシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K1,K2を生成する。このように、毎回更新される乱数生成用データX1,X2をシードとして用いた乱数生成アルゴリズムによって生成した乱数を共通鍵として使用することにより、共通鍵の真性度を担保することが可能となる。しかも、メモリアレイ17から読み出した乱数生成用データX1,X2をそのまま共通鍵として使用するのではなく、当該乱数生成用データX1,X2を用いた乱数生成アルゴリズムによって生成した乱数を共通鍵として使用するため、メモリアレイ17に記憶されている乱数生成用データX1,X2の一部が破損又は欠損している場合等であっても、生成される共通鍵の真性度を担保することが可能となる。
また、上記実施の形態1,2に係る半導体記憶装置2A,2Bによれば、乱数生成部14A,14Bによる乱数の生成処理と、データ更新部15A,15Bによる乱数生成用データの更新処理及び制御部13による乱数生成用データの上書き処理とは、並行して実行される。従って、乱数の生成処理が完了した後に乱数生成用データの更新処理を開始する場合や、乱数生成用データの上書き処理が完了した後に乱数の生成処理を開始する場合と比較すると、処理全体の所要時間を短縮することが可能となる。
同様に上記実施の形態1,2に係るデータ処理システム100によれば、乱数生成部14A,14Bによるセッション鍵の生成処理及び制御部13によるセッション鍵の送信処理と、データ更新部15A,15Bによる乱数生成用データの更新処理及び制御部13による乱数生成用データの上書き処理とは、並行して実行される。従って、セッション鍵の送信処理が完了した後に乱数生成用データの更新処理を開始する場合や、乱数生成用データの上書き処理が完了した後にセッション鍵の生成処理を開始する場合と比較すると、処理全体の所要時間を短縮することが可能となる。
また、上記実施の形態2に係る半導体記憶装置2Bによれば、メモリアレイ17には、乱数生成用データY1,Y2として乱数が記憶されている。従って、更新される乱数生成用データY1,Y2を乱数として使用することにより、乱数の真性度を担保することが可能となる。しかも、メモリアレイ17から読み出した乱数生成用データY1,Y2をそのまま乱数として使用することができ、当該乱数生成用データY1,Y2をシードとして用いた乱数生成処理が不要であるため、乱数を生成するための所要時間を短縮することが可能となる。
同様に上記実施の形態2に係るデータ処理システム100によれば、データ更新部15B(鍵生成部)は、メモリアレイ17から読み出した鍵生成用データY1,Y2を、今回の鍵要求に対応してホスト装置1に送信するセッション鍵K1,K2として生成する。このように、毎回更新される乱数生成用データY1,Y2を共通鍵として使用することにより、共通鍵の真性度を担保することが可能となる。しかも、メモリアレイ17から読み出した乱数生成用データY1,Y2をそのまま共通鍵として使用することができ、当該乱数生成用データY1,Y2をシードとして用いた乱数生成処理が不要であるため、ホスト装置1から鍵要求を受けてからホスト装置1に共通鍵を送信するまでの所要時間を短縮することが可能となる。
また、上記実施の形態2に係る半導体記憶装置2B及びデータ処理システム100によれば、乱数生成器23は、メモリアレイ17から読み出した第1の乱数生成用データY1,Y2をシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、第2の乱数生成用データY2,Y3を生成する。このように、第1の乱数生成用データY1,Y2をシードとして用いた乱数生成アルゴリズムによって第2の乱数生成用データY2,Y3を生成することにより、乱数及び共通鍵として使用される乱数生成用データの真性度を担保することが可能となる。
また、上記実施の形態1,2に係る半導体記憶装置2A,2Bによれば、制御部13は、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1が第2の乱数生成用データX2,Y2によって正しく上書きされるまで、乱数生成用データの上書き処理を繰り返し実行する。従って、意図しない電源断によって乱数生成用データの上書き処理が未完了のまま中断した場合等であっても、電源の再投入後に乱数生成用データの上書き処理を再開することにより、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1を第2の乱数生成用データX2,Y2によって正しく上書きすることができる。その結果、次に乱数を生成する場合には乱数生成部14A,14Bは第2の乱数生成用データX2,Y2に基づいて乱数を生成することができるため、乱数の再現不可能性を担保することが可能となる。
同様に上記実施の形態1,2に係るデータ処理システム100によれば、制御部13は、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1が第2の乱数生成用データX2,Y2によって正しく上書きされるまで、乱数生成用データの上書き処理を繰り返し実行する。従って、意図しない電源断によって乱数生成用データの上書き処理が未完了のまま中断した場合等であっても、電源の再投入後に乱数生成用データの上書き処理を再開することにより、メモリアレイ17に記憶されている第1の乱数生成用データX1,Y1を第2の乱数生成用データX2,Y2によって正しく上書きすることができる。その結果、ホスト装置1からの次回の鍵要求に対して乱数生成部14A,14Bは第2の乱数生成用データX2,Y2に基づいてセッション鍵K2を生成することができるため、鍵の再現不可能性を担保することが可能となる。
また、上記実施の形態1,2に係る半導体記憶装置2A,2Bによれば、メモリアレイ17には、乱数生成用データの初期値として、半導体記憶装置2A,2B毎に異なる固有値が記憶されている。従って、初回の乱数生成においても、半導体記憶装置2A,2B毎に異なる乱数を乱数生成部14A,14Bによって生成することが可能となる。
同様に上記実施の形態1,2に係るデータ処理システム100によれば、メモリアレイ17には、乱数生成用データの初期値として、半導体記憶装置2A,2B毎に異なる固有値が記憶されている。従って、ホスト装置1からの初回の鍵要求に対しても、半導体記憶装置2A,2B毎に異なるセッション鍵を乱数生成部14A,14Bによって生成することが可能となる。
また、上記実施の形態1,2に係る半導体記憶装置2A,2B及びデータ処理システム100によれば、乱数生成用データは、メモリアレイ17の記憶領域のうち、ホスト装置1からのアクセスが禁止されている禁止領域20に記憶される。従って、攻撃者がホスト装置1を介してメモリアレイ17から乱数生成用データを読み出すことや、メモリアレイ17に記憶されている乱数生成用データを無効なデータによって上書きすることはできないため、セキュリティ性を向上することが可能となる。
また、上記変形例に係る半導体記憶装置2A,2Bによれば、半導体記憶装置2A,2Bの電源が投入されると、データ更新部15A,15Bによる乱数生成用データの更新処理と制御部13による乱数生成用データの上書き処理とが自動的に実行される。従って、電源投入後の最初の乱数生成においては、自動更新によって上書きされた新たな乱数生成用データに基づいて乱数を生成することが可能となる。
同様に上記変形例に係るデータ処理システム100によれば、半導体記憶装置2A,2Bの電源が投入されると、データ更新部15A,15Bによる乱数生成用データの更新処理と制御部13による乱数生成用データの上書き処理とが自動的に実行される。従って、電源投入後の最初の鍵要求に対しては、自動更新によって上書きされた新たな乱数生成用データに基づいて生成されたセッション鍵を、ホスト装置1に送信することが可能となる。
また、上記変形例に係る半導体記憶装置2A,2Bによれば、半導体記憶装置2A,2Bの電源遮断が要求されると、データ更新部15A,15Bによる乱数生成用データの更新処理と制御部13による乱数生成用データの上書き処理とが自動的に実行される。従って、半導体記憶装置2A,2Bの電源が再投入された後の最初の乱数生成においては、電源遮断前の自動更新によって上書きされた新たな乱数生成用データに基づいて乱数を生成することが可能となる。
同様に上記変形例に係るデータ処理システム100によれば、半導体記憶装置2A,2Bの電源遮断が要求されると、データ更新部15A,15Bによる乱数生成用データの更新処理と制御部13による乱数生成用データの上書き処理とが自動的に実行される。従って、半導体記憶装置2A,2Bの電源が再投入された後の最初の鍵要求に対しては、電源遮断前の自動更新によって上書きされた新たな乱数生成用データに基づいて生成されたセッション鍵を、ホスト装置1に送信することが可能となる。
2,2A,2B 半導体記憶装置
13 制御部
14A 乱数生成部
15A,15B データ更新部
17 メモリアレイ
20 禁止領域
21,23 乱数生成器
22 カウンタ
100 データ処理システム

Claims (28)

  1. 乱数の生成に用いる乱数生成用データが記憶されたメモリアレイと、
    乱数生成用データを更新するデータ更新部と、
    制御部と、
    を備え、
    前記データ更新部は、前記メモリアレイから読み出した第1の乱数生成用データを更新することにより、当該第1の乱数生成用データに基づいて生成される第1の乱数より後に使用される第2の乱数を生成するための第2の乱数生成用データを生成し、
    前記制御部は、前記第2の乱数生成用データを前記メモリアレイに書き込む、半導体記憶装置。
  2. 前記データ更新部は、前記第1の乱数生成用データとは異なる前記第2の乱数生成用データを生成する、請求項1に記載の半導体記憶装置。
  3. 前記メモリアレイから読み出した乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成する乱数生成部をさらに備える、請求項1又は2に記載の半導体記憶装置。
  4. 前記乱数生成部による乱数の生成処理と、前記データ更新部による乱数生成用データの更新処理及び前記制御部による乱数生成用データの書き込み処理とは、並行して実行される、請求項3に記載の半導体記憶装置。
  5. 前記メモリアレイには、前記乱数生成用データとして乱数が記憶されている、請求項1又は2に記載の半導体記憶装置。
  6. 前記データ更新部は、前記第1の乱数生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の乱数生成用データを生成する乱数生成器を有する、請求項5に記載の半導体記憶装置。
  7. 前記制御部は、前記第2の乱数生成用データが前記メモリアレイに正しく書き込まれるまで、乱数生成用データの書き込み処理を繰り返し実行する、請求項1〜6のいずれか一つに記載の半導体記憶装置。
  8. 前記メモリアレイには、乱数生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されている、請求項1〜7のいずれか一つに記載の半導体記憶装置。
  9. 乱数生成用データは、前記メモリアレイの記憶領域のうち、ホスト装置からのアクセスが禁止されている領域に記憶される、請求項1〜8のいずれか一つに記載の半導体記憶装置。
  10. 前記半導体記憶装置の電源が投入されると、前記データ更新部による乱数生成用データの更新処理と前記制御部による乱数生成用データの書き込み処理とが自動的に実行される、請求項1〜9のいずれか一つに記載の半導体記憶装置。
  11. 前記半導体記憶装置の電源遮断が要求されると、前記データ更新部による乱数生成用データの更新処理と前記制御部による乱数生成用データの書き込み処理とが自動的に実行される、請求項1〜10のいずれか一つに記載の半導体記憶装置。
  12. ホスト装置と、
    前記ホスト装置との間で鍵を交換することにより、前記ホスト装置から受信したコマンドを当該鍵を用いて復号し、前記ホスト装置に送信するデータを当該鍵を用いて暗号化する半導体記憶装置と、
    を備え、
    前記半導体記憶装置は、
    前記ホスト装置との間で送受信するデータと、鍵の生成に用いる鍵生成用データとが記憶されたメモリアレイと、
    鍵を生成する鍵生成部と、
    鍵生成用データを更新するデータ更新部と、
    制御部と、
    を有し、
    前記半導体記憶装置が前記ホスト装置から鍵要求を受けた場合、
    前記鍵生成部は、その時点で前記メモリアレイに記憶されている第1の鍵生成用データに基づいて、今回の鍵要求に対応して前記ホスト装置に送信する鍵を生成し、
    前記制御部は、前記鍵生成部によって生成された鍵を暗号化して前記ホスト装置に送信し、
    前記データ更新部は、前記第1の鍵生成用データを更新することにより、今回より後の鍵要求に対応して前記ホスト装置に送信する鍵を生成するための第2の鍵生成用データを生成し、
    前記制御部は、前記第2の鍵生成用データを前記メモリアレイに書き込む、データ処理システム。
  13. 前記データ更新部は、前記第1の鍵生成用データとは異なる前記第2の鍵生成用データを生成する、請求項12に記載のデータ処理システム。
  14. 前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、今回の鍵要求に対応して前記ホスト装置に送信する鍵を生成する乱数生成器を有する、請求項12又は13に記載のデータ処理システム。
  15. 前記鍵生成部による鍵の生成処理及び前記制御部による鍵の送信処理と、前記データ更新部による鍵生成用データの更新処理及び前記制御部による鍵生成用データの書き込み処理とは、並行して実行される、請求項14に記載のデータ処理システム。
  16. 前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データを、今回の鍵要求に対応して前記ホスト装置に送信する鍵として生成する、請求項12又は13に記載のデータ処理システム。
  17. 前記データ更新部は、前記メモリアレイから読み出した前記第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の鍵生成用データを生成する乱数生成器を有する、請求項16に記載のデータ処理システム。
  18. 前記制御部は、前記第2の鍵生成用データが前記メモリアレイに正しく書き込まれるまで、鍵生成用データの書き込み処理を繰り返し実行する、請求項12〜17のいずれか一つに記載のデータ処理システム。
  19. 前記メモリアレイには、鍵生成用データの初期値として、半導体記憶装置毎に異なる固有値が記憶されている、請求項12〜18のいずれか一つに記載のデータ処理システム。
  20. 鍵生成用データは、前記メモリアレイの記憶領域のうち、前記ホスト装置からのアクセスが禁止されている領域に記憶される、請求項12〜19のいずれか一つに記載のデータ処理システム。
  21. 前記半導体記憶装置の電源が投入されると、前記データ更新部による鍵生成用データの更新処理と前記制御部による鍵生成用データの書き込み処理とが自動的に実行される、請求項12〜20のいずれか一つに記載のデータ処理システム。
  22. 前記半導体記憶装置の電源遮断が要求されると、前記データ更新部による鍵生成用データの更新処理と前記制御部による鍵生成用データの書き込み処理とが自動的に実行される、請求項12〜21のいずれか一つに記載のデータ処理システム。
  23. 鍵の生成に用いる鍵生成用データが記憶されたメモリアレイと、
    鍵を生成する鍵生成部と、
    鍵生成用データを更新するデータ更新部と、
    制御部と、
    を備え、
    前記鍵生成部は、前記メモリアレイに記憶されている第1の鍵生成用データに基づいて第1の鍵を生成し、
    前記データ更新部は、前記第1の鍵生成用データを更新することにより、前記第1の鍵より後に使用される第2の鍵を生成するための第2の鍵生成用データを生成し、
    前記制御部は、前記第2の鍵生成用データを前記メモリアレイに書き込む、半導体記憶装置。
  24. 前記データ更新部は、前記第1の鍵生成用データとは異なる前記第2の鍵生成用データを生成する、請求項23に記載の半導体記憶装置。
  25. 前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、鍵を生成する乱数生成器をさらに備える、請求項23又は24に記載の半導体記憶装置。
  26. 前記鍵生成部による鍵の生成処理と、前記データ更新部による鍵生成用データの更新処理及び前記制御部による鍵生成用データの書き込み処理とは、並行して実行される、請求項25に記載の半導体記憶装置。
  27. 前記鍵生成部は、前記メモリアレイから読み出した鍵生成用データを、鍵として生成する、請求項23又は24に記載の半導体記憶装置。
  28. 前記データ更新部は、前記メモリアレイから読み出した前記第1の鍵生成用データをシードとして用いて、所定の乱数生成アルゴリズムによって乱数を生成することにより、前記第2の鍵生成用データを生成する乱数生成器を有する、請求項27に記載の半導体記憶装置。
JP2013101704A 2013-05-13 2013-05-13 半導体記憶装置及びデータ処理システム Active JP6203532B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013101704A JP6203532B2 (ja) 2013-05-13 2013-05-13 半導体記憶装置及びデータ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013101704A JP6203532B2 (ja) 2013-05-13 2013-05-13 半導体記憶装置及びデータ処理システム

Publications (2)

Publication Number Publication Date
JP2014222420A true JP2014222420A (ja) 2014-11-27
JP6203532B2 JP6203532B2 (ja) 2017-09-27

Family

ID=52121919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013101704A Active JP6203532B2 (ja) 2013-05-13 2013-05-13 半導体記憶装置及びデータ処理システム

Country Status (1)

Country Link
JP (1) JP6203532B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018042203A (ja) * 2016-09-09 2018-03-15 株式会社東芝 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
WO2021038769A1 (ja) * 2019-08-28 2021-03-04 ウルトラメモリ株式会社 通信装置、メモリモジュール、及びプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302915A (ja) * 2003-03-31 2004-10-28 Nec Micro Systems Ltd 擬似乱数発生回路
JP2005534235A (ja) * 2002-07-19 2005-11-10 サイバーソース コーポレイション 暗号用シード値生成方法およびシステム
JP2006235995A (ja) * 2005-02-24 2006-09-07 Sony Corp 信号処理装置
JP2008165008A (ja) * 2006-12-28 2008-07-17 Megachips Lsi Solutions Inc データ処理装置及びデータ処理方法
JP2010039838A (ja) * 2008-08-06 2010-02-18 Mega Chips Corp 乱数生成回路及びコンピュータシステム
US20100070549A1 (en) * 2006-06-20 2010-03-18 Nxp B.V. Random number generator system, method for generating random numbers
JP2010140419A (ja) * 2008-12-15 2010-06-24 Toshiba Corp 乱数発生器および擬似乱数発生器
JP2012014591A (ja) * 2010-07-02 2012-01-19 Mizuho Dl Financial Technology Co Ltd モンテカルロ法の効率的な並列処理手法
JP2013064898A (ja) * 2011-09-19 2013-04-11 Nec Engineering Ltd 擬似乱数生成装置、および、擬似乱数生成方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534235A (ja) * 2002-07-19 2005-11-10 サイバーソース コーポレイション 暗号用シード値生成方法およびシステム
JP2004302915A (ja) * 2003-03-31 2004-10-28 Nec Micro Systems Ltd 擬似乱数発生回路
JP2006235995A (ja) * 2005-02-24 2006-09-07 Sony Corp 信号処理装置
US20100070549A1 (en) * 2006-06-20 2010-03-18 Nxp B.V. Random number generator system, method for generating random numbers
JP2008165008A (ja) * 2006-12-28 2008-07-17 Megachips Lsi Solutions Inc データ処理装置及びデータ処理方法
JP2010039838A (ja) * 2008-08-06 2010-02-18 Mega Chips Corp 乱数生成回路及びコンピュータシステム
JP2010140419A (ja) * 2008-12-15 2010-06-24 Toshiba Corp 乱数発生器および擬似乱数発生器
JP2012014591A (ja) * 2010-07-02 2012-01-19 Mizuho Dl Financial Technology Co Ltd モンテカルロ法の効率的な並列処理手法
JP2013064898A (ja) * 2011-09-19 2013-04-11 Nec Engineering Ltd 擬似乱数生成装置、および、擬似乱数生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018042203A (ja) * 2016-09-09 2018-03-15 株式会社東芝 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
WO2021038769A1 (ja) * 2019-08-28 2021-03-04 ウルトラメモリ株式会社 通信装置、メモリモジュール、及びプログラム

Also Published As

Publication number Publication date
JP6203532B2 (ja) 2017-09-27

Similar Documents

Publication Publication Date Title
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
US20180041341A1 (en) Counterfeit prevention
JP5275432B2 (ja) ストレージメディア、ホスト装置、メモリ装置、及びシステム
TW202009778A (zh) 韌體升級方法及裝置
JP5275482B2 (ja) ストレージメディア、ホスト装置、メモリ装置、及びシステム
US20190384938A1 (en) Storage apparatus and method for address scrambling
CN101231622B (zh) 基于闪存的数据存储方法和设备、及数据读取方法和设备
US10061927B2 (en) Storage medium having stored therein boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and storage medium having stored therein program
CN106411504B (zh) 数据加密系统、方法及装置
JP7147024B2 (ja) 乱数生成装置および乱数生成方法
WO2023274011A1 (zh) 一种otp存储器内数据保护方法、装置、设备及存储介质
JP2015170952A (ja) 暗号化/復号化システム及びその制御方法、並びにプログラム
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN113890728A (zh) 基于fpga加密卡的密钥处理方法、系统、设备及介质
CN114024711A (zh) 一种数据传输方法、装置及计算机可读存储介质
JP6203532B2 (ja) 半導体記憶装置及びデータ処理システム
JP6348273B2 (ja) 情報処理システム
JP2019121955A (ja) 半導体装置及び暗号鍵の生成方法
US20150310230A1 (en) Cryptographic processing apparatus, cryptographic processing system, and cryptographic processing method
JP2016103217A (ja) 情報処理端末および情報処理端末の制御プログラム
CN109543367B (zh) 基于量子加密的软件授权方法、装置及存储介质
KR20220000537A (ko) 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법
JP4902846B2 (ja) 情報処理装置及び暗号化方法及びプログラム
CN104580181A (zh) 加密数据的方法、装置及加密加速引擎
CN109542340A (zh) 带有隐藏分区的存储方法、装置及主机端设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170531

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170725

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: 20170802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170830

R150 Certificate of patent or registration of utility model

Ref document number: 6203532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250