JP2014224879A - 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム - Google Patents

乱数生成装置、暗号処理装置、記憶装置及び情報処理システム Download PDF

Info

Publication number
JP2014224879A
JP2014224879A JP2013103613A JP2013103613A JP2014224879A JP 2014224879 A JP2014224879 A JP 2014224879A JP 2013103613 A JP2013103613 A JP 2013103613A JP 2013103613 A JP2013103613 A JP 2013103613A JP 2014224879 A JP2014224879 A JP 2014224879A
Authority
JP
Japan
Prior art keywords
key
random number
data
cryptographic
cryptographic processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013103613A
Other languages
English (en)
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 JP2013103613A priority Critical patent/JP2014224879A/ja
Priority to US14/265,588 priority patent/US9537655B2/en
Publication of JP2014224879A publication Critical patent/JP2014224879A/ja
Priority to US15/350,701 priority patent/US10148434B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

【課題】簡単な構成で、つまり低コストで処理を行うことが可能な技術を提供する。
【解決手段】乱数生成装置1は、不確定なデータ100を出力する不確定回路10と、暗号処理装置11とを備えている。暗号処理装置11は、自身の暗号機能を使用して入力データ300を暗号化するとともに、自身の暗号機能と不確定回路10から出力されるデータ100とを使用して、当該データ100よりも一様性を有する乱数310を生成する。
【選択図】図1

Description

本発明は、暗号処理に関する。
特許文献1に記載されているように、従来から暗号処理に関して様々な技術が提案されている。また特許文献2には、乱数生成技術が開示されている。
特開2004−234153号公報 特開2003−173254号公報
特許文献1に記載されているように、乱数生成と暗号処理とが同じ装置で行われることがある。このような装置や他の装置等においては、簡単な構成で、つまり低コストで処理が行えることが望まれる。
そこで、本発明は上述の点に鑑みて成されたものであり、簡単な構成で、つまり低コストで処理を行うことが可能な技術を提供することを目的とする。
上記課題を解決するため、本発明に係る乱数生成装置の一態様は、不確定なデータを出力する不確定回路と、暗号処理装置とを備え、前記暗号処理装置は、自身の暗号機能を使用して入力データを暗号化するとともに、自身の暗号機能と前記不確定回路から出力されるデータとを使用して、当該データよりも一様性の高い乱数を生成する。
また、本発明に係る乱数生成装置の一態様では、前記乱数は、暗号で用いられる鍵として、あるいは認証で用いられる認証コードとして使用される。
また、本発明に係る乱数生成装置の一態様では、前記乱数は鍵として前記暗号処理装置に入力される。
また、本発明に係る記憶装置の一態様は、上記の乱数生成装置と、記憶部とを備え、前記暗号処理装置は、前記記憶部から読み出されたデータを暗号化する。
また、本発明に係る情報処理システムの一態様は、上記の記憶装置と、前記記憶装置を制御するホスト装置とを備える。
また、本発明に係る暗号処理装置の一態様は、暗号機能を有し、当該暗号機能を使用して鍵を生成する鍵生成部を備え、前記鍵生成部は、データと自身の暗号機能とを使用して第1の鍵を生成し、前記第1の鍵と自身の暗号機能とを使用して第2の鍵を生成する。
また、本発明に係る暗号処理装置の一態様では、前記データは、不確定回路から出力される不確定なデータである。
また、本発明に係る暗号処理装置の一態様では、暗号機能を有する暗号処理部がさらに設けられ、前記暗号処理部は、自身の鍵として、前記鍵生成部で生成される前記第1及び第2の鍵のどちらか一方を使用する。
また、本発明に係る暗号処理装置の一態様では、前記暗号処理部は、自身の鍵として、前記鍵生成部で生成される前記第2の鍵を使用する。
また、本発明に係る情報処理システムの一態様は、互いに暗号化通信を行う記憶装置及びホスト装置を備える情報処理システムであって、前記記憶装置は、不確定なデータを出力する不確定回路と、データを暗号化する暗号処理装置とを有し、前記暗号処理装置は、自身の暗号機能と前記不確定回路から出力されるデータとを使用して第1の鍵を生成し、前記記憶装置は、前記暗号処理装置で生成された前記第1の鍵を前記ホスト装置に出力し、前記ホスト装置は、第2の鍵を生成し、当該第2の鍵を前記記憶装置に出力し、前記暗号処理装置は、自身が生成した前記第1の鍵及び前記ホスト装置からの前記第2の鍵を共通鍵として使用し、前記ホスト装置は、自身が生成した前記第2の鍵及び前記記憶装置からの前記第1の鍵を共通鍵として使用する。
また、本発明に係る情報処理システムの一態様では、前記記憶装置は、前記暗号処理装置で暗号化された前記第1の鍵を前記ホスト装置に出力する。
また、本発明に係る情報処理システムの一態様では、前記ホスト装置は、前記第2の鍵を暗号化して前記半導体メモリに出力する。
本発明によれば、簡単な構成で、つまり低コストで処理を行うことができる。
乱数生成装置の構成を示す図である。 メモリシステムの構成を示す図である。 半導体メモリの動作を示すフローチャートである。
図1は実施の形態に係る乱数生成装置1の構成を示す図である。本実施の形態に係る乱数生成装置1は、一様性の高い乱数を生成して出力するとともに、入力データを暗号化する暗号機能を有している。図2に示されるように、乱数生成装置1は、不確定回路10と暗号処理装置11とを備えている。
不確定回路10は、不確定なデータ100を生成して出力する。データ100はデジタルデータである。不確定回路10は、例えば、抵抗あるいはダイオードの熱雑音を利用して不確定なデータ100を生成することができる。また不確定回路10は、例えば、水晶発振器の揺らぎを利用して不確定なデータ100を生成することができる。また不確定回路10は、特許文献2に記載されているように、例えば、RSフリップフロップ等の論理回路を利用して不確定なデータ100を生成することができる。論理回路を利用して不確定なデータを生成する不確定回路10は「不確定論路回路」とも呼ばれる。不確定回路10から出力されるデータ100は、再現不可能性を有する、一様性の低い乱数であると見ることができる。一様性の低い乱数については、そのエントロピー(乱雑性)は低くく、エントロピーの低い乱数は真性度が低いことから、データ100は真性度の低い乱数と言える。
暗号処理装置11は、暗号機能を有しており、当該暗号機能を使用して、入力データ300を暗号化し、暗号化後の入力データ300を暗号データ310として出力する。さらに、暗号処理装置11は、自身の暗号機能と不確定回路10から出力されるデータ100とを使用して、当該データ100よりも一様性の高い乱数200を生成して出力する。つまり、暗号処理装置11は、自身の暗号機能とデータ100とを使用して、当該データ100よりも“1”と“0”の出現頻度(出現確率)の差が小さい乱数200(当該データ100よりも値の偏りが少ない乱数200)を生成して出力する。暗号処理装置11は、データの一様性を高める一様化回路の機能を有していると言える。暗号処理装置11で生成される乱数200は、再現不可能性を有する、一様性の高いデジタルデータである。一様性の高い乱数については、そのエントロピーは高く、エントロピーの高い乱数は真性度が高いことから、乱数200は、真性度の高い乱数と言える。なお、暗号処理装置11は、自身の暗号機能を使用して、暗号化されたデータを復号化しても良い。
このような乱数生成装置1で生成される真性度の高い乱数200は、例えば、機密性の高い情報として使用することができる。機密性の高い情報としては、例えば、暗号で用いられる鍵や、認証で用いられる認証コードがある。乱数200は、DES(Data Encryption Standard)あるいはAES(Advanced Encryption Standard)等の暗号アルゴリズムで使用される鍵として使用することができる。また、乱数200は、例えば、複数の装置間での相互認証において当該複数の装置間で使用される認証コードとして使用することができる。
以上のように、本実施の形態に係る乱数生成装置1では、暗号処理装置11の暗号機能と不確定回路10から出力されるデータ100とが使用されて一様性の高い乱数200が生成されることから、不確定回路10から出力されるデータ100のエントロピーを高めるために当該データ100を一様化する一様化回路を暗号処理装置11とは別に設ける必要がなくなる。よって、暗号処理と、真性度の高い乱数の生成とを簡単な構成で実現することができる。その結果、暗号処理と乱数生成とを行う装置の低コスト化が可能となる。なお、一様化回路は、特許文献1に記載されているように「平滑回路」とも呼ばれる。また、本実施の形態のように、乱数200の一様性を暗号処理装置11の一部を使って担保することによって、回路規模のオーバーヘッドを最小限に抑えることができる。
<乱数生成装置の使用例>
次に乱数生成装置1の使用例と暗号処理装置11の構成例について説明する。図2は、乱数生成装置1を搭載した半導体メモリ20を備えるメモリシステム50を示すブロック図である。
図2に示されるように、情報処理システムの一種であるメモリシステム50は、乱数生成装置1を有する半導体メモリ20と、当該半導体メモリ20を制御するホスト装置30とを備えている。記憶装置の一種である半導体メモリ20とホスト装置30とは互いに暗号化通信を行う。
メモリシステム50は、例えば、ゲーム装置に実装されるコンピュータシステムである。当該ゲーム装置は、ゲーム装置本体と、それに着脱可能なゲームカートリッジとを備えている。半導体メモリ20はゲームカートリッジに内蔵され、ホスト装置30はゲーム装置本体に内蔵される。ホスト装置30は、一種のコンピュータである。ユーザは、ゲーム装置本体に装着するゲームカードリッジを交換することによって、様々な種類のゲームを楽しむことができる。メモリシステム50では、ホスト装置30と半導体メモリ20との間において、暗号で使用される鍵の交換が行われる。
半導体メモリ20は、例えばマスクROM(Read Only Memory)である。半導体メモリ20は、乱数生成装置1を構成する不確定回路10及び暗号処理装置11と、コマンドデコーダ12と、記憶部であるメモリアレイ13とを備えている。本例では、暗号処理装置11が使用されて半導体メモリ20のセキュリティが実現されている。また、乱数生成装置1で生成された乱数200は、暗号処理装置11に対して鍵として入力される。
図2に示される暗号処理装置11は、例えば、共通鍵暗号方式の一種であるストリーム暗号方式を使用して、データを暗号化及び復号化する。なお、暗号処理装置11は、共通鍵暗号方式の一種であるブロック暗号方式を使用してデータを暗号化及び復号化しても良い。また暗号処理装置11は、公開鍵暗号方式を使用してデータを暗号化及び復号化しても良い。
暗号処理装置11は、複数の暗号処理部110,111と、演算回路112と、第1選択回路113と、第2選択回路114と、第3選択回路115とを備えている。暗号処理部110,111のそれぞれは暗号機能を有している。暗号処理部110,111では、使用される暗号アルゴリズムは互いに同じであっても良いし、互いに異なっても良い。暗号処理部110,111で使用される暗号アルゴリズムとしては、例えば、DESあるいはAESなどが考えられる。本例に係る暗号処理装置11では、暗号処理部110が、自身の暗号機能(自身の暗号アルゴリズム)と不確定回路10から出力されるデータ100とを使用して、一様性の高い乱数200を生成する。
第1選択回路113は、入力される第1制御信号に基づいて、入力される3つのデータのうちのいずれか一つのデータを選択し、選択したデータをデータ550aとして暗号処理部110に出力する。また第2選択回路114は、入力される第2制御信号に基づいて、入力される3つのデータのうちのいずれか一つのデータを選択し、選択したデータをデータ550bとして暗号処理部110に出力する。
本実施の形態では、第1選択回路113から出力されるデータ550aと、第2選択回路114から出力されるデータ550bとで、暗号処理部110で使用される共通鍵550が構成される。暗号処理部110は、この共通鍵550に基づいて、自身の初期化(自身の暗号アルゴリズムの初期化)を行う。以後、共通鍵550を構成するデータ550a,550bを、それぞれ「第1共通鍵550a」及び「第2共通鍵550b」と呼ぶ。第1共通鍵550aは、例えば、共通鍵550の上位データであって、第2共通鍵550bは、例えば、共通鍵550の下位データである。なお、第1共通鍵550aは、共通鍵550の一部であれば良く、共通鍵550の上位データでなくても良い。また、第2共通鍵550bは、共通鍵550における、第1共通鍵550a以外の部分であれば良く、共通鍵550の下位データでなくても良い。
第1選択回路113には、暗号処理装置11に予め記憶された固定鍵500の一部である第1固定鍵500aと、不確定回路10から出力されるデータ100の一部である第1データ100aと、暗号処理装置11で生成される乱数200との3つのデータが入力される。第1選択回路113において、例えば第1固定鍵500aが選択される際には、第1固定鍵500aが第1共通鍵550aとして暗号処理部110に入力される。
第2選択回路114には、固定鍵500における、第1固定鍵500a以外の部分である第2固定鍵500bと、不確定回路10から出力されるデータ100における、第1データ100a以外の部分である第2データ100bと、ホスト装置30から送られてくる乱数600との3つのデータが入力される。第2選択回路114において、例えば乱数600が選択される際には、乱数600が第2共通鍵550bとして暗号処理部110に入力される。乱数600は、後述するように、コマンドデコーダ12から出力される。以後、乱数200を「メモリ乱数200」と呼び、乱数600を「ホスト乱数600」と呼ぶことがある。
第3選択回路115は、入力される第3制御信号に基づいて、入力される2つのデータのうちのいずれか一つのデータを選択し、選択したデータを出力データ560として演算回路112に出力する。第3選択回路115には、メモリ乱数200と、メモリアレイ13から出力されるデータ400(以後、「メモリデータ400」と呼ぶ)との2つのデータが入力される。第3選択回路115が、例えばメモリデータ400を選択する場合には、メモリデータ400が出力データ560となる。なお、第1選択回路113〜第3選択回路115を制御するための第1〜第3制御信号は、例えば、半導体メモリ20内で生成される。
暗号処理部111は、暗号処理部110から出力される後述のセッション鍵SKに基づいて自身の初期化(自身の暗号アルゴリズムの初期化)を行う。初期化後の暗号処理部111は、自身の暗号機能(自身の暗号アルゴリズム)を使用してキーストリームKSを生成して出力する。言い換えれば、初期化後の暗号処理部111は、暗号処理を行ってキーストリームKSを生成して出力する。
演算回路112は、暗号処理部111から出力されるキーストリームKSと、ホスト装置30から出力される、暗号化されたコマンド350(以後、「暗号コマンド350」と呼ぶことがある)との排他的論路和を演算して出力する。これにより、ホスト装置30からの暗号コマンド350が復号化される。復号化された暗号コマンド350は、平文コマンド360としてコマンドデコーダ12に入力される。
また、演算回路112は、暗号処理部111から出力されるキーストリームKSと、第3選択回路115からの出力データ560との排他的論理和を演算して出力する。これにより、出力データ560が暗号化される。暗号化された出力データ560は、暗号データ570としてホスト装置30に出力される。
このように、演算回路112は、暗号処理部111から出力されるデータをキーストリームKSとして使用して、入力されるデータを暗号化あるいは復号化する。
コマンドデコーダ12は、入力される平文コマンド360をデコードして、当該平文コマンド360を解析する。コマンドデコーダ12は、入力される平文コマンド360を解析した結果、当該平文コマンド360がメモリアレイ13からデータを読み出すことを指示する読み出しコマンドである場合には、アドレス信号及びリード信号等の制御信号をメモリアレイ13に出力する。これにより、メモリアレイ13からメモリデータ400が出力される。メモリアレイ13には、例えば、複数のゲームプログラムや、各ゲームプログラムで使用される各種データなどが記憶されている。第3選択回路115からメモリデータ400が出力されると、演算回路112においてメモリデータ400が暗号化され、暗号化後のメモリデータ400がホスト装置30に入力される。ホスト装置30は、入力されるメモリデータ400にゲームプログラムが含まれている場合には、当該ゲームプログラムを実行する。
またコマンドデコーダ12は、入力される平文コマンド360をデコードして、当該平文コマンド360に含まれる、ホスト装置30が生成したホスト乱数600を抽出する。コマンドデコーダ12は、抽出したホスト乱数600を第2選択回路114に出力する。
ホスト装置30には、半導体メモリ20の乱数生成装置1と同様の乱数生成装置が(以後、「ホスト側乱数生成装置」と呼ぶ)が設けられている。ホスト側乱数生成装置は、不確定回路10と同様の不確定回路(以後、「ホスト側不確定回路」と呼ぶ)と、暗号処理装置11と同様の暗号処理装置(「以後、ホスト側暗号処理装置」と呼ぶ)とを有している。ホスト装置30は、ホスト側暗号処理装置を使用してコマンドを暗号化し、暗号化後のコマンド(暗号コマンド350)を半導体メモリ20に出力する。また、ホスト装置30は、ホスト側暗号処理装置を使用して、半導体メモリ20からの暗号データ570を復号化する。
またホスト側乱数生成装置では、乱数生成装置1と同様にして、ホスト側暗号処理装置が、自身の暗号機能とホスト側不確定回路から出力されるデータとを使用して一様性の高いホスト乱数600を生成する。ホスト装置30は、生成したホスト乱数600を含む所定のコマンドを半導体メモリ20に出力する。なお、ホスト側乱数生成装置は、半導体メモリ20の乱数生成装置1とは異なる方法でホスト乱数600を生成しても良い。
本実施の形態に係るメモリシステム50では、ホスト乱数600及びメモリ乱数200が鍵として使用される。ホスト装置30と半導体メモリ20との間で、ホスト乱数600及びメモリ乱数200の交換が行われることによって、鍵交換が行われる。
<メモリシステムでの鍵交換について>
次に、ホスト装置30と半導体メモリ20との間で鍵交換が行われる際のメモリシステム50の動作について説明する。図3は、ホスト装置30と半導体メモリ20との間で鍵交換が行われる際の当該半導体メモリ20の動作を示すフローチャートである。
図3に示されるように、ステップs1において、半導体メモリ20では固定鍵500が使用されて暗号処理装置11についての初期化処理が行われる。この初期化処理は、ホスト装置30と半導体メモリ20との間で鍵交換を行うために必要な処理である。
ステップs1においては、第1選択回路113が第1固定鍵500aを選択して出力し、第2選択回路114が第2固定鍵500bを選択して出力する。これにより、暗号処理部110には、固定鍵500が共通鍵550として入力される。暗号処理部110は、入力された固定鍵500(共通鍵550)に基づいて、自身の初期化(自身の暗号アルゴリズムを初期化)を行う。そして、初期化後の暗号処理部110は、自身の暗号機能を使用してセッション鍵SKを生成して暗号処理部111に出力する。言い換えれば、初期化後の暗号処理部110は、暗号処理を行ってセッション鍵SKを生成して出力する。ステップs1では、暗号処理部110における、固定鍵500に基づいて初期化された暗号アルゴリズムの出力がセッション鍵SKとなる。
またステップs1では、暗号処理部111が、入力されたセッション鍵SKに基づいて、自身の初期化(自身の暗号アルゴリズムを初期化)を行う。そして、初期化後の暗号処理部111は、自身の暗号機能を使用してキーストリームKSを生成して演算回路112に出力する。ステップs1では、暗号処理部111における、セッション鍵SKで初期化された暗号アルゴリズムの出力がキーストリームKSとなる。以後、このキーストリームKSを特に「鍵交換用キーストリームKS」と呼ぶ。
ホスト装置30でも、同様にして、固定鍵500と同じ固定鍵が使用されてホスト側暗号処理装置についての初期化処理が行われる。これにより、ホスト側暗号処理装置においても、鍵交換用キーストリームKSと同じキーストリーム(以後、「ホスト側鍵交換用キーストリーム」と呼ぶ)が生成される。
ホスト装置30は、ホスト側鍵交換用キーストリームを生成すると、当該ホスト側鍵交換用キーストリームを使用して乱数生成コマンドを暗号化する。乱数生成コマンドは、半導体メモリ20に対してメモリ乱数200を生成することを命令するコマンドである。ホスト装置30は、暗号化された乱数生成コマンドを半導体メモリ20に出力する。
ステップs2において、半導体メモリ20が暗号化された乱数生成コマンドを受信すると、ステップs3において、演算回路112は、鍵交換用キーストリームKSを使用して当該乱数生成コマンドを復号化する。復号化された乱数生成コマンドはコマンドデコーダ12に入力される。
コマンドデコーダ12において乱数生成コマンドが解析されると、ステップs4において、第1選択回路113が第1データ100aを選択して出力し、第2選択回路114が第2データ100bを選択して出力する。これにより、不確定回路10から出力されるデータ100が乱数生成用の共通鍵550(暫定の共通鍵550)として暗号処理部110に入力される。
次にステップs5において、鍵を生成する鍵生成部として機能する暗号処理部110は、自身の暗号機能(自身の暗号アルゴリズム)と、入力されたデータ100(乱数生成用の共通鍵550)とを使用して、当該データ100よりも一様性の高いメモリ乱数200を生成して出力する。具体的には、暗号処理部110は、データ100に基づいて自身の初期化を行う。そして、初期化後の暗号処理部110は、自身の暗号機能を使用してメモリ乱数200を生成して出力する。ステップs5では、暗号処理部110における、データ100(一様性の低い乱数)に基づいて初期化された暗号アルゴリズムの出力が、一様性の高いメモリ乱数200となる。暗号アルゴリズムの出力については、暗号アルゴリズムの本質から予測不可能性を有することから、暗号アルゴリズムの出力では、“0”と“1”の出現確率の差が小さい。したがって、暗号処理部110において一様性の高いメモリ乱数200を生成することができる。
暗号処理部110でメモリ乱数200が生成されると、ステップs6において、第1選択回路113がメモリ乱数200を選択して出力する。これにより、メモリ乱数200が、鍵交換後に使用される正式な第1共通鍵550aとして暗号処理部110に入力される。
次にステップs7において、半導体メモリ20は、ステップs5で生成された、鍵としてのメモリ乱数200をホスト装置30に出力する。ステップs7では、第3選択回路115がメモリ乱数200を選択して出力する。これにより、演算回路112には、出力データ560としてメモリ乱数200が入力される。演算回路112は、入力されたメモリ乱数200と鍵交換用キーストリームKSとの排他的論理和を演算して出力する。これにより、鍵交換用キーストリームKSで暗号化されたメモリ乱数200が暗号データ570としてホスト装置30に入力される。
ホスト装置30に対して暗号化されたメモリ乱数200が入力されると、ホスト側暗号処理装置は、ホスト側鍵交換用キーストリームを使用して、当該メモリ乱数200を復号化する。また、ホスト装置30では、半導体メモリ20と同様にして、鍵として扱われるホスト乱数600が生成される。そして、ホスト装置30は、生成したホスト乱数600を含むホスト乱数コマンドを生成する。このホスト乱数コマンドは、ホスト側暗号処理装置において、ホスト側鍵交換用キーストリームに基づいて暗号化される。暗号化されたホスト乱数コマンドは半導体メモリ20に入力される。
ステップs8において、半導体メモリ20が暗号化されたホスト乱数コマンドを受信すると、ステップs9において、暗号処理装置11は、鍵交換用キーストリームKSを使用して当該ホスト乱数コマンドを復号化する。復号化されたホスト乱数コマンドはコマンドデコーダ12に入力される。
次にステップs10において、コマンドデコーダ12は、ホスト乱数コマンドをデコードして、当該ホスト乱数コマンドからホスト乱数600を抽出する。ホスト乱数600が取得されると、ステップs11において、第2選択回路114は当該ホスト乱数600を選択して出力する。これにより、ホスト乱数600が、鍵交換後に使用される正式な第2共通鍵550bとして暗号処理部110に入力される。暗号処理部110には、メモリ乱数200及びホスト乱数600から成る正式な共通鍵550が入力される。
ホスト装置30においても、半導体メモリ20と同様に、ホスト側暗号処理装置における、暗号処理部110に相当する暗号処理部に対して、半導体メモリ20からのメモリ乱数200とホスト乱数600から成る正式な共通鍵が入力される。
ホスト装置30は、半導体メモリ20に対して、正式な共通鍵550を使用して暗号処理装置11についての初期化処理を行うことを命令する初期化コマンドを生成する。そして、ホスト装置30では、ホスト側暗号処理装置が、ホスト側鍵交換用キーストリームを使用して初期化コマンドを暗号化する。暗号化された初期化コマンドは半導体メモリ20に入力される。
ステップs12において、半導体メモリ20が暗号化された初期化コマンドを受信すると、ステップs13において、演算回路112は、鍵交換用キーストリームKSを使用して当該初期化コマンドを復号化する。復号化された初期化コマンドは、コマンドデコーダ12に入力される。
コマンドデコーダ12において初期化コマンドが解析されると、ステップs14において、正式な共通鍵550(メモリ乱数200及びホスト乱数600)が使用されて暗号処理装置11についての初期化処理が行われる。具体的には、暗号処理部110は、入力された正式な共通鍵550に基づいて、つまりホスト乱数600及びメモリ乱数200に基づいて、自身の初期化を行う。そして、初期化後の暗号処理部110は、自身の暗号機能を使用してセッション鍵SKを生成して出力する。暗号処理部111は、暗号処理部110で生成されたセッション鍵SKに基づいて、自身の初期化を行う。そして、初期化後の暗号処理部111は、自身の暗号機能を使用してキーストリームKSを生成して出力する。以後、暗号処理装置11では、ホスト装置30からのコマンドが、暗号処理部111から出力されるキーストリームKSで復号化される。また、メモリアレイ13からのメモリデータ400が暗号処理部111から出力されるキーストリームKSで暗号化される。
ホスト装置30では、半導体メモリ20と同様にして、ホスト乱数600とメモリ乱数200とから成る正式な共通鍵が使用されてホスト側暗号処理装置についての初期化処理が行われる。初期化処理後のホスト側暗号処理装置では、半導体メモリ20に送信されるコマンドがキーストリームで暗号化されるとともに、半導体メモリ20からの暗号データ570(暗号化されたメモリデータ400)がキーストリームで復号化される。
このように、ホスト装置30と半導体メモリ20との間で鍵交換(本例では乱数の交換)を行うことによって、ホスト装置30と半導体メモリ20との間での相互認証を実現することができる。
また、本例のように、暗号処理装置11の一部(暗号処理部110)を使って生成された一様性の高い乱数200をセキュリティおける機密性の高い情報として使用することによって、セキュリティにおける機密性の高い情報を低コストで生成することができる。
また、本例のように、暗号処理装置11の一部を使って生成された一様性の高い乱数200を鍵として使用することによって、生成される鍵や交換される鍵のセキュリティを確保でき、その結果、暗号通信のセキュリティの確保を低コストで実現できる。
また、鍵生成部として機能する暗号処理部110は、ステップs5において、データ100と自身の暗号機能とを使用して第1の鍵であるメモリ乱数200を生成している。そして、暗号処理部110は、ステップs14において、第1の鍵と自身の暗号機能とを使用して、第2の鍵であるセッション鍵SKを生成している。このように、暗号処理部110が自分で生成した第1の鍵を使用して第2の鍵を生成することによって、簡単な構成でセキュリティの高い鍵を生成することができる。つまり、低コストでセキュリティの高い鍵を生成することができる。また、暗号処理部110では、不確定回路10から出力されるデータ100が使用されて第1の鍵が生成されているため、当該第1の鍵のセキュリティを高めることができる。上記の例では、第1の鍵(メモリ乱数200)は、暗号処理部111では使用されていなかったが、メモリシステム50で鍵交換が行われない場合等においては、暗号処理部111は、自身の鍵として第1の鍵を使用しても良い。
なお、上記の例では、暗号処理部装置11で生成されたメモリ乱数200が当該暗号処理装置11で使用されているが、他の装置で使用されても良い。また、上記の例では、暗号処理装置11に複数の暗号処理部を設けていたが、1つの暗号処理部だけを設けても良い。また、上記の例では、ホスト装置30と半導体メモリ20との間で鍵交換が行われているが、鍵交換を行わなくても良い。この場合には、半導体メモリ20では、暗号処理装置11で生成されたメモリ乱数200だけで正式な共通鍵550が構成されることになる。また、ホスト装置30においても、半導体メモリ20から送られてくるメモリ乱数200だけで、ホスト側暗号処理装置での正式な共通鍵が構成されることになる。また、本例のように記憶領域(記憶素子)に半導体素子が使用された半導体メモリ20に不確定回路10及び暗号処理装置11等を設ける代わりに、記憶領域に半導体素子が使用されない記憶装置に不確定回路10及び暗号処理装置11等を設けても良い。
以上のように、乱数生成装置1、半導体メモリ20及びメモリシステム50は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 乱数生成装置
10 不確定回路
11 暗号処理装置
20 半導体メモリ
30 ホスト装置
50 メモリシステム

Claims (12)

  1. 不確定なデータを出力する不確定回路と、
    暗号処理装置と
    を備え、
    前記暗号処理装置は、自身の暗号機能を使用して入力データを暗号化するとともに、自身の暗号機能と前記不確定回路から出力されるデータとを使用して、当該データよりも一様性の高い乱数を生成する、乱数生成装置。
  2. 請求項1に記載の乱数生成装置であって、
    前記乱数は、暗号で用いられる鍵として、あるいは認証で用いられる認証コードとして使用される、乱数生成装置。
  3. 請求項2に記載の乱数生成装置であって、
    前記乱数は鍵として前記暗号処理装置に入力される、乱数生成装置。
  4. 請求項1乃至請求項3のいずれか一つに記載の乱数生成装置と、
    記憶部と
    を備え、
    前記暗号処理装置は、前記記憶部から読み出されたデータを暗号化する、記憶装置。
  5. 請求項4に記載の記憶装置と、
    前記記憶装置を制御するホスト装置と
    を備える、情報処理システム。
  6. 暗号機能を有し、当該暗号機能を使用して鍵を生成する鍵生成部を備え、
    前記鍵生成部は、
    データと自身の暗号機能とを使用して第1の鍵を生成し、
    前記第1の鍵と自身の暗号機能とを使用して第2の鍵を生成する、暗号処理装置。
  7. 請求項6に記載の暗号処理装置であって、
    前記データは、不確定回路から出力される不確定なデータである、暗号処理装置。
  8. 請求項6及び請求項7のいずれか一つに記載の暗号処理装置であって、
    暗号機能を有する暗号処理部をさらに備え、
    前記暗号処理部は、自身の鍵として、前記鍵生成部で生成される前記第1及び第2の鍵のどちらか一方を使用する、暗号処理装置。
  9. 請求項8に記載の暗号処理装置であって、
    前記暗号処理部は、自身の鍵として、前記鍵生成部で生成される前記第2の鍵を使用する、暗号処理装置。
  10. 互いに暗号化通信を行う記憶装置及びホスト装置を備える情報処理システムであって、
    前記記憶装置は、
    不確定なデータを出力する不確定回路と、
    データを暗号化する暗号処理装置と
    を有し、
    前記暗号処理装置は、自身の暗号機能と前記不確定回路から出力されるデータとを使用して第1の鍵を生成し、
    前記記憶装置は、前記暗号処理装置で生成された前記第1の鍵を前記ホスト装置に出力し、
    前記ホスト装置は、第2の鍵を生成し、当該第2の鍵を前記記憶装置に出力し、
    前記暗号処理装置は、自身が生成した前記第1の鍵及び前記ホスト装置からの前記第2の鍵を共通鍵として使用し、
    前記ホスト装置は、自身が生成した前記第2の鍵及び前記記憶装置からの前記第1の鍵を共通鍵として使用する、情報処理システム。
  11. 請求項10に記載の情報処理システムであって、
    前記記憶装置は、前記暗号処理装置で暗号化された前記第1の鍵を前記ホスト装置に出力する、情報処理システム。
  12. 請求項10及び請求項11のいずれか一つに記載の情報処理システムであって、
    前記ホスト装置は、前記第2の鍵を暗号化して前記記憶装置に出力する、情報処理システム。
JP2013103613A 2013-05-16 2013-05-16 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム Pending JP2014224879A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013103613A JP2014224879A (ja) 2013-05-16 2013-05-16 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム
US14/265,588 US9537655B2 (en) 2013-05-16 2014-04-30 Random number generating device, cipher processing device, storage device, and information processing system
US15/350,701 US10148434B2 (en) 2013-05-16 2016-11-14 Random number generating device, cipher processing device, storage device, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013103613A JP2014224879A (ja) 2013-05-16 2013-05-16 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017246427A Division JP2018092174A (ja) 2017-12-22 2017-12-22 乱数生成装置、記憶装置及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2014224879A true JP2014224879A (ja) 2014-12-04

Family

ID=51895790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013103613A Pending JP2014224879A (ja) 2013-05-16 2013-05-16 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム

Country Status (2)

Country Link
US (2) US9537655B2 (ja)
JP (1) JP2014224879A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085774A (ja) * 2014-10-24 2016-05-19 株式会社メガチップス 記憶装置、及び記憶装置の信頼性テスト方法
JP2017028505A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055127A (zh) * 2017-12-14 2018-05-18 吉旗(成都)科技有限公司 计算与数据分离支持热更新加密算法和密钥数据加密方法
US11368295B2 (en) * 2019-07-19 2022-06-21 Shing Kwong Fung Communication system using a random code as an encryption code

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63135035A (ja) * 1986-11-11 1988-06-07 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 暗号化/復号方法および装置
JPS6410750A (en) * 1987-07-02 1989-01-13 Mitsubishi Electric Corp Block encipherment device
JPH11500849A (ja) * 1995-11-27 1999-01-19 ベル コミュニケーションズ リサーチ,インコーポレイテッド 改良した疑似乱数発生器
JP2002232410A (ja) * 2001-01-30 2002-08-16 Nippon Telegr & Teleph Corp <Ntt> 暗号化データの通信装置および通信方法
JP2003078517A (ja) * 2001-08-29 2003-03-14 Matsushita Electric Ind Co Ltd 暗号復号システム、暗号装置、復号装置及び鍵管理装置
JP2003173254A (ja) * 2001-09-26 2003-06-20 Toshiba Corp 乱数生成回路
JP2003330366A (ja) * 2002-05-09 2003-11-19 Fdk Corp 暗号生成装置および復号装置および暗号/復号装置
JP2004117429A (ja) * 2002-09-24 2004-04-15 Fdk Corp 暗号/復号器およびこれを用いた暗号化/復号化装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414771A (en) * 1993-07-13 1995-05-09 Mrj, Inc. System and method for the creation of random sequences and for the cryptographic protection of communications
US7991697B2 (en) * 2002-12-16 2011-08-02 Irdeto Usa, Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
FR2810480B1 (fr) * 2000-06-20 2002-11-15 Gemplus Card Int Traitement de donnees avec une cle
JP3696209B2 (ja) 2003-01-29 2005-09-14 株式会社東芝 シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
US20070208936A1 (en) * 2003-12-29 2007-09-06 Luis Ramos Robles Means and Method for Single Sign-On Access to a Service Network Through an Access Network
JP2005316284A (ja) * 2004-04-30 2005-11-10 Hitachi Ltd 携帯端末とデータ保護システム
WO2007062689A1 (en) * 2005-12-01 2007-06-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for distributing keying information
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
DE102009001718B4 (de) * 2009-03-20 2010-12-30 Compugroup Holding Ag Verfahren zur Bereitstellung von kryptografischen Schlüsselpaaren
TWI435328B (zh) * 2009-07-20 2014-04-21 Silicon Motion Inc 針對一快閃記憶體的控制器所存取之資料來進行資料型樣管理之方法以及相關之記憶裝置及其控制器
US8681976B2 (en) * 2011-05-12 2014-03-25 Apple Inc. System and method for device dependent and rate limited key generation
US9311051B2 (en) * 2013-01-10 2016-04-12 Advanced Micro Devices, Inc. Hardware random number generator
US20150160924A1 (en) * 2013-12-06 2015-06-11 Sonic Ip, Inc. Methods, Systems, and Media for Generating Random Numbers

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63135035A (ja) * 1986-11-11 1988-06-07 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 暗号化/復号方法および装置
JPS6410750A (en) * 1987-07-02 1989-01-13 Mitsubishi Electric Corp Block encipherment device
JPH11500849A (ja) * 1995-11-27 1999-01-19 ベル コミュニケーションズ リサーチ,インコーポレイテッド 改良した疑似乱数発生器
JP2002232410A (ja) * 2001-01-30 2002-08-16 Nippon Telegr & Teleph Corp <Ntt> 暗号化データの通信装置および通信方法
JP2003078517A (ja) * 2001-08-29 2003-03-14 Matsushita Electric Ind Co Ltd 暗号復号システム、暗号装置、復号装置及び鍵管理装置
JP2003173254A (ja) * 2001-09-26 2003-06-20 Toshiba Corp 乱数生成回路
JP2003330366A (ja) * 2002-05-09 2003-11-19 Fdk Corp 暗号生成装置および復号装置および暗号/復号装置
JP2004117429A (ja) * 2002-09-24 2004-04-15 Fdk Corp 暗号/復号器およびこれを用いた暗号化/復号化装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085774A (ja) * 2014-10-24 2016-05-19 株式会社メガチップス 記憶装置、及び記憶装置の信頼性テスト方法
JP2017028505A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
US10615959B2 (en) 2015-07-22 2020-04-07 Megachips Corporation Memory device, host device, and memory system
US11115181B2 (en) 2015-07-22 2021-09-07 Megachips Corporation Memory device, host device, and memory system

Also Published As

Publication number Publication date
US10148434B2 (en) 2018-12-04
US20140341375A1 (en) 2014-11-20
US20170063545A1 (en) 2017-03-02
US9537655B2 (en) 2017-01-03

Similar Documents

Publication Publication Date Title
CN113765657B (zh) 一种密钥数据处理方法、装置及服务器
US10785019B2 (en) Data transmission method and apparatus
KR101744748B1 (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
US10148434B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
US9015218B2 (en) Random number generator, encryption device, and authentication device
US10721059B2 (en) Apparatus and method for data encryption, apparatus and method for data decryption
KR20200027527A (ko) 디바이스들 사이에 안전하게 통신하기 위한 방법 및 디바이스
JP4835831B2 (ja) 多数の入力から関数を計算する方法および装置
JP2007173999A (ja) 認証システム及び認証対象装置
JP6930053B2 (ja) 装置認証キーを利用したデータ暗号化方法およびシステム
JP5105408B2 (ja) 量子プログラム秘匿化装置及び量子プログラム秘匿化方法
JP6348273B2 (ja) 情報処理システム
CN107278357B (zh) 密码系统和方法
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
JP6246516B2 (ja) 情報処理システム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
CN108093680B (zh) 基于纯随机加密通信方法
JP2018092174A (ja) 乱数生成装置、記憶装置及び情報処理システム
JP5586758B1 (ja) 動的暗号化鍵生成システム
KR101428665B1 (ko) Aes-otp기반의 보안 시스템 및 방법
JP2005309148A (ja) データ変換装置およびデータ変換方法
JPWO2021009860A5 (ja)
JP6521499B2 (ja) 暗号処理装置、半導体メモリ及びメモリシステム
JPWO2015173905A1 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
CN116028969B (en) Privacy calculation method based on data encryption technology

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171222

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180109

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190227