[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6521499B2 - 暗号処理装置、半導体メモリ及びメモリシステム - Google Patents

暗号処理装置、半導体メモリ及びメモリシステム Download PDF

Info

Publication number
JP6521499B2
JP6521499B2 JP2013099902A JP2013099902A JP6521499B2 JP 6521499 B2 JP6521499 B2 JP 6521499B2 JP 2013099902 A JP2013099902 A JP 2013099902A JP 2013099902 A JP2013099902 A JP 2013099902A JP 6521499 B2 JP6521499 B2 JP 6521499B2
Authority
JP
Japan
Prior art keywords
data
cryptographic
cryptographic processing
encryption
encryption 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.)
Active
Application number
JP2013099902A
Other languages
English (en)
Other versions
JP2014220729A (ja
Inventor
崇彦 菅原
崇彦 菅原
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 JP2013099902A priority Critical patent/JP6521499B2/ja
Publication of JP2014220729A publication Critical patent/JP2014220729A/ja
Application granted granted Critical
Publication of JP6521499B2 publication Critical patent/JP6521499B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号処理技術に関する。
従来から暗号処理に関して様々な技術が提案されている。例えば特許文献1には、半導体メモリにおいて暗号処理を行う技術が開示されている。
特開平7−219852号公報
暗号処理装置では、それが行う暗号処理の内容が容易に特定されないことが望まれる。
そこで、本発明は上述の点に鑑みて成されたものであり、暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供することを目的とする。
上記課題を解決するため、本発明に係る暗号処理装置の一態様は、それぞれが暗号機能を有する複数の暗号処理部から成り、当該複数の暗号処理部の少なくとも一つの暗号処理部の出力データが使用されて、当該複数の暗号処理部の出力データとは別の暗号化対象のデータが暗号化される暗号処理部群と、前記暗号処理部群について、使用する暗号処理部をどのように組み合わせて使用するかを変化させる処理を実行する制御部とを備え、前記制御部は、使用する暗号処理部をどのように組み合わせて使用するかを、複数種類の組み合わせから決定し、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の組み合わせは、前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力され、前記第2暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第1の組み合わせと、前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力され、前記第1暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第2の組み合わせと、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第3の組み合わせとを含む。
また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに異なる。
また、本発明に係る暗号処理装置の一態様では、第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに同じである。
また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する鍵が互いに異なる。
また、本発明に係る暗号処理装置の一態様では、前記第1及び第2暗号処理部は、使用する鍵が互いに同じである。
また、本発明に係る半導体メモリの一態様は、上記の暗号処理装置と、記憶部とを備え、前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される。
また、本発明に係るメモリシステムの一態様は、上記の半導体メモリと、前記半導体メモリを制御するホスト装置とを備える。
また、本発明に係るメモリシステムの一態様では、前記暗号処理装置の前記制御部は、前記メモリシステムの電源がオンされると、前記処理を実行する。
また、本発明に係るメモリシステムの一態様では、前記制御部は、定期的に、前記処理を実行する。
また、本発明に係るメモリシステムの一態様では、前記記憶部は、前記処理を実行するための制御データを予め記憶し、前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記処理を実行する。
本発明によれば、暗号処理装置での暗号処理の内容が特定されにくくなる。
暗号処理装置の構成を示す図である。 複数の暗号処理部の第1の使用態様を示す図である。 複数の暗号処理部の第2の使用態様を示す図である。 複数の暗号処理部の第3の使用態様を示す図である。 複数の暗号処理部の第4の使用態様を示す図である。 複数の暗号処理部の第5の使用態様を示す図である。 複数の暗号処理部の第5の使用態様を示す図である。 メモリシステムの構成を示す図である。 メモリシステムの動作を示すフローチャートである。
図1は実施の形態に係る暗号処理装置1の構成を示す図である。本実施の形態に係る暗号処理装置1は、例えば、共通鍵暗号方式の一種であるストリーム暗号方式を使用して、データを暗号化及び復号化する。なお、暗号処理装置1は、共通鍵暗号方式の一種であるブロック暗号方式を使用してデータを暗号化及び復号化しても良い。また暗号処理装置1は、公開鍵暗号方式を使用してデータを暗号化及び復号化しても良い。本実施の形態では、データと言えば、説明の便宜上、少なくとも1ビットで構成されたデジタルデータを意味するものとする。また、説明の便宜上、データの値は十進数表記での値であるとする。
図1に示されるように、暗号処理装置1は、複数の暗号処理部2から成る暗号処理部群20を備えている。各暗号処理部2は暗号機能を有している。各暗号処理部2には固定のマスタ鍵9が入力される。複数の暗号処理部2では、使用される暗号アルゴリズムは互いに同じであっても良いし、互いに異なっても良い。暗号処理部2で使用される暗号アルゴリズムとしては、例えば、DES(Data Encryption Standard)あるいはAES(Advanced Encryption Standard)などが考えられる。また、複数の暗号処理部2では、使用されるマスタ鍵9は互いに同じであっても良いし、互いに異なっても良い。
本実施の形態では、暗号処理装置1は、例えば2つの暗号処理部2を備えている。以後、当該2つの暗号処理部2の一方及び他方を、それぞれ「第1暗号処理部2a」及び「第2暗号処理部2b」と呼ぶことがある。また、第1暗号処理部2aに入力されるマスタ鍵9及び第2暗号処理部2bに入力されるマスタ鍵9を、それぞれ「第1マスタ鍵9a」及び「第2マスタ鍵9b」と呼ぶことがある。
暗号処理装置1には、暗号処理部群20以外にも、第1演算回路3と、第2演算回路4と、使用態様制御部5とが設けられている。第1演算回路3及び第2演算回路4のそれぞれは、入力される2つのデータの排他的論理和(XOR)を演算して出力する。
使用態様制御部5は、暗号処理装置1の外部から入力される制御信号10に基づいて、複数の暗号処理部2の使用態様を制御する。つまり、複数の暗号処理部2の使用態様は、制御信号10に基づいて決定される。本実施の形態では、制御信号10は、第1制御データ11、第2制御データ12及び第3制御データ13で構成されている。使用態様制御部5は、複数種類の使用態様から、複数の暗号処理部2の使用態様を決定する。本実施の形態では、例えば第1〜第5の使用態様が定められている。第1〜第5の使用態様には、複数の暗号処理部2のうちの一つだけを使用する態様や、複数の暗号処理部2のうちの2つを組み合わせて使用する態様が含まれる。これらの使用態様については後で詳細に説明する。
使用態様制御部5は、第1選択回路6と、第2選択回路7と、第3選択回路8とを備えている。第1選択回路6は、第1制御データ11に基づいて、入力される2つのデータの一方を選択して第1暗号処理部2aに出力する。第1選択回路6には、第2暗号処理部2bから出力されるデータと、全ビットが零であるデータ(以後、「零データ」と呼ぶ)とが入力される。第1選択回路6は、1ビットで構成された第1制御データ11が“1”を示す場合には、第2暗号処理部2bから出力されるデータを選択して出力する。一方で、第1選択回路6は、第1制御データ11が“0”を示す場合には、零データを選択して出力する。第1暗号処理部2aは、第1選択回路6から零データが入力される場合には、当該零データの入力を無視する。
第2選択回路7は、第2制御データ12に基づいて、入力される2つのデータの一方を選択して第2暗号処理部2bに出力する。第2選択回路7には、第1暗号処理部2aから出力されるデータと零データとが入力される。第2選択回路7は、1ビットで構成された第2制御データ12が“1”を示す場合には、第1暗号処理部2aから出力されるデータを選択して出力する。一方で、第2選択回路7は、第2制御データ12が“0”を示す場合には、零データを選択して出力する。第2暗号処理部2bは、第2選択回路7から零データが入力される場合には、当該零データの入力を無視する。
第3選択回路8は、第3制御データ13に基づいて、入力される3つのデータのうちの一つを選択して第2演算回路4に出力する。第3選択回路8には、第1暗号処理部2aから出力されるデータと、第2暗号処理部2bから出力されるデータと、第1演算回路3から出力されるデータとが入力される。第3選択回路8は、2ビットで構成された第3制御データ13が“0”を示す場合には、第1暗号処理部2aから出力されるデータを選択して出力する。また、第3選択回路8は、第3制御データ13が“1”を示す場合には、第1演算回路3から出力されるデータを選択して出力する。そして、第3選択回路8は、第3制御データ13が“2”を示す場合には、第2暗号処理部2bから出力されるデータを選択して出力する。
第1演算回路3は、第1暗号処理部2a及び第2暗号処理部2bから出力されるデータの排他的論理和を演算して第3選択回路8に出力する。第2演算回路4は、第3選択回路8から出力されるデータと、暗号化を行う対象のデータ(暗号化対象データ)との排他的論理和を演算して出力する。これにより、暗号化対象データが暗号化される。また、第2演算回路4は、第3選択回路8から出力されるデータと、暗号化されたデータ(暗号データ)との排他的論理和を演算して出力する。これにより、暗号データが復号化される。このように、第2演算回路4は、第3選択回路8から出力されるデータをキーストリーム(データを暗号化するためのデータ)として使用して、入力されるデータを暗号化あるいは復号化する。
<複数の暗号処理部の使用態様について>
次に複数の暗号処理部2に関する複数種類の使用態様の一例について説明する。以後、第1制御データ11の値をa、第2制御データ12の値をb、第3制御データ13の値をcとすると、第1制御データ11、第2制御データ12及び第3制御データ13の値を(a,b,c)で表す。
<第1の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,1,2)である場合には、複数の暗号処理部2の使用態様は第1の使用態様となる。図2は複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
複数の暗号処理部2の使用態様が第1の使用態様である場合には、図2に示されるように、第1暗号処理部2aの出力データが第2暗号処理部2bに入力される。そして、第2暗号処理部2bの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の構成を「第1の構成」と呼ぶことがある。
図2に示されるような第1の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化(自身の暗号アルゴリズムの初期化)を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用してセッション鍵SKを生成して出力する。言い換えれば、初期化後の第1暗号処理部2aは、暗号処理を行ってセッション鍵SKを生成して出力する。第2暗号処理部2bは、第1暗号処理部2aからのセッション鍵SKと第2マスタ鍵9bとで構成される入力鍵に基づいて自身の初期化(自身の暗号アルゴリズムの初期化)を行う。初期化後の第2暗号処理部2bは、自身の暗号機能を使用してキーストリームKSを生成して出力する。言い換えれば、初期化後の第2暗号処理部2bは、暗号処理を行ってキーストリームKSを生成して出力する。第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号化対象データが暗号化されて出力される。また、第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号データが復号化されて出力される。
<第2の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(1,0,0)である場合には、複数の暗号処理部2の使用態様は第2の使用態様となる。図3は複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
複数の暗号処理部2の使用態様が第2の使用態様である場合には、図3に示されるように、第2暗号処理部2bの出力データが第1暗号処理部2aに入力される。そして、第1暗号処理部2aの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の構成を「第2の構成」と呼ぶことがある。
図3に示されるような第2の構成を有する暗号処理装置1では、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用してセッション鍵SKを生成して出力する。第1暗号処理部2aは、第2暗号処理部2bからのセッション鍵SKと第1マスタ鍵9aとで構成される入力鍵に基づいて自身の初期化を行う。初期化後の第1暗号処理部2aは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号化対象データが暗号化されて出力される。また、第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。これにより、第2演算回路4では、入力された暗号データが復号化されて出力される。
なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第1の構成の暗号処理装置1と、第2の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。
<第3の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,2)あるいは(1,0,2)である場合には、複数の暗号処理部2の使用態様は第3の使用態様となる。図4は複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
複数の暗号処理部2の使用態様が第3の使用態様である場合には、図4に示されるように、第2暗号処理部2bの出力データが第2演算回路4に入力される。このとき、第1暗号処理部2aは使用されない。つまり、複数の暗号処理部2の使用態様が第3の使用態様である場合には、複数の暗号処理部2のうち第2暗号処理部2bだけが使用される。複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の構成を「第3の構成」と呼ぶことがある。
図4に示されるような第3の構成を有する暗号処理装置1では、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。
<第4の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,0)あるいは(0,1,0)である場合には、複数の暗号処理部2の使用態様は第4の使用態様となる。図5は複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
複数の暗号処理部2の使用態様が第4の使用態様である場合には、図5に示されるように、第1暗号処理部2aの出力データが第2演算回路4に入力される。このとき、第2暗号処理部2bは使用されない。つまり、複数の暗号処理部2の使用態様が第4の使用態様である場合には、複数の暗号処理部2のうち第1暗号処理部2aだけが使用される。複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の構成を「第4の構成」と呼ぶことがある。
図5に示されるような第4の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。
なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第3の構成の暗号処理装置1と、第4の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。
<第5の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,1)である場合には、複数の暗号処理部2の使用態様は第5の使用態様となる。図6は複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。
複数の暗号処理部2の使用態様が第5の使用態様である場合には、図6に示されるように、第1暗号処理部2aの出力データ及び第2暗号処理部2bの出力データが第1演算回路3に入力される。そして、第1演算回路3の出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の構成を「第5の構成」と呼ぶことがある。
図6に示されるような第5の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用して第1キーストリームKS1を生成して出力する。また、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用して第2キーストリームKS2を生成して出力する。第1演算回路3は、第1暗号処理部2aからの第1キーストリームKS1と、第2暗号処理部2bからの第2キーストリームKS2との排他的論理和を演算し、その演算結果を第3キーストリームKS3として出力する。第2演算回路4は、第1演算回路3から出力される第3キーストリームKS3と、暗号対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第3キーストリームKS3と、暗号データとの排他的論路和を演算して出力する。
ここで、第1キーストリームKS1と第2キーストリームKS2との排他的論理和の演算結果と暗号対象データ(あるいは暗号データ)との排他的論路和を演算する場合と、第1キーストリームKS1と、第2キーストリームKS2と、暗号対象データ(あるいは暗号データ)との3つのデータの排他的論理和を演算する場合とでは、得られる演算結果は互いに同じである。したがって、第1演算回路3と第2演算回路4を一つの演算回路34にまとめると、図6に示される構成は、図7に示される、当該演算回路34を使用した構成と等価である。図7に示される構成では、演算回路34は、第1キーストリームKS1と、第2キーストリームKS2と、暗号対象データとの排他的論路和を演算することによって、当該暗号対象データを暗号化する。また、演算回路34は、第1キーストリームKS1と、第2キーストリームKS2と、暗号データとの排他的論路和を演算することによって、当該暗号データを復号化する。
本実施の形態では、使用態様制御部5は、制御信号10(第1制御データ11、第2制御データ12及び第3制御データ13)に応じて、暗号処理装置1での複数の暗号処理部2の使用態様を、第1〜第5の使用態様の間で変化させる。例えば、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(0,1,2)から(1,0,0)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第1の使用態様から第2の使用態様に変化させる。また、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(0,1,2)から(0,0,1)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第1の使用態様から第5の使用態様に変化させる。また、使用態様制御部5は、第1制御データ11、第2制御データ12及び第3制御データの値が(1,0,0)から(0,0,2)あるいは(1,0,2)に変化した場合には、暗号処理装置1での複数の暗号処理部2の使用態様を、第2の使用態様から第3の使用態様に変化させる。制御信号10が動的に変化すると、使用態様制御部5は、複数の暗号処理部2の使用態様を動的に変化させる。
このように、本実施の形態に係る使用態様制御部5は、暗号処理装置1での複数の暗号処理部2の使用態様を変化させるため、暗号処理装置1での暗号処理の内容が特定されにくくなる。言い換えれば、本実施の形態では、暗号処理装置1の構成が変化するため、暗号処理装置1での暗号処理の内容が特定されにくくなる。よって、本実施の形態に係る暗号処理装置1を使用して、半導体メモリ等の装置についてのセキュリティを実現することによって、その装置でのセキュリティ強度を向上させることができる。
<暗号処理装置を使用したセキュリティの実現例>
次に本実施の形態に係る暗号処理装置1を使用したセキュリティの実現例について説明する。ここでは、一例として、半導体メモリのセキュリティを暗号処理装置1を使用して実現する場合について説明する。
図8は暗号処理装置1が使用されてセキュリティが実現された半導体メモリ200を有するメモリシステム100の構成を示す図である。メモリシステム100は、暗号処理装置1を有する半導体メモリ200と、当該半導体メモリ200を制御するホスト装置300とを備えている。メモリシステム100は、例えば、ゲーム装置に実装されるコンピュータシステムである。当該ゲーム装置は、ゲーム装置本体と、それに着脱可能なゲームカートリッジとを備えている。半導体メモリ200はゲームカートリッジに内蔵され、ホスト装置300はゲーム装置本体に内蔵される。ホスト装置300は、一種のコンピュータである。ユーザは、ゲーム装置本体に装着するゲームカードリッジを交換することによって、様々な種類のゲームを楽しむことができる。
半導体メモリ200は、例えばマスクROM(Read Only Memory)である。半導体メモリ200は、暗号処理装置1以外にも、ホストIF(インターフェース)210と、コマンドデコーダ220と、メモリIF(インターフェース)230と、記憶部であるメモリアレイ240と、制御レジスタ250とを備えている。
暗号処理装置1は、ホスト装置300からのコマンドをホストIF210を通じて受け取る。ホスト装置300には、暗号処理装置1と同様の暗号処理装置が設けられている。ホスト装置300は、自身の暗号処理装置を使用して、コマンドを暗号化し、暗号化後のコマンドを半導体メモリ200に出力する。暗号処理装置1は、ホスト装置300からの暗号化後のコマンドを上述のように第2演算回路4で復号化し、復号化後のコマンドをコマンドデコーダ220に出力する。以後、ホスト装置300が有する暗号処理装置を「ホスト側暗号処理装置」と呼ぶことがある。
コマンドデコーダ220は、入力されたコマンドをデコードして、当該コマンドを解析する。コマンドデコーダ220は、入力されたコマンドを解析した結果、当該コマンドがメモリアレイ240からデータを読み出すことを指示する読み出しコマンドである場合には、アドレス信号及びリード信号等の制御信号をメモリIF230を通じてメモリアレイ240に出力する。これにより、メモリアレイ240からデータが出力される。メモリアレイ240から出力されたデータは暗号処理装置1に入力される。メモリアレイ240には、例えば、複数のゲームプログラムや、各ゲームプログラムで使用される各種データなどが記憶されている。またコマンドデコーダ220は、入力されたコマンドに含まれる制御データを抽出し、抽出した制御データを制御レジスタ250に書き込む。
制御レジスタ250は、第1レジスタ251、第2レジスタ252、第3レジスタ253及び初期化レジスタ254を備えている。第1レジスタ251は、暗号処理装置1の第1選択回路6を制御するための第1制御データ11を記憶する。第2レジスタ252は、暗号処理装置1の第2選択回路7を制御するための第2制御データ12を記憶する。第3レジスタ253は、暗号処理装置1の第3選択回路8を制御するための第3制御データ13を記憶する。初期化レジスタ254は、暗号処理装置1の初期化を指示する制御データである初期化フラグ14を記憶する。第1制御データ11、第2制御データ12、第3制御データ13及び初期化フラグ14は、ホスト装置300から出力される。
暗号処理装置1は、メモリアレイ240から出力されるデータを、上述のように第2演算回路4で暗号化する。暗号処理装置1で暗号化されたデータは、ホストIF210を通じてホスト装置300に入力される。ホスト装置300は、ホスト側暗号処理装置を使用して、半導体メモリ200からの暗号データを復号化する。ホスト装置300は、半導体メモリ200からメモリアレイ240内のゲームプログラムが入力されると、当該ゲームプログラムを実行する。
本実施の形態に係るメモリシステム100では、ホスト装置300が、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様を決定し、決定した使用態様に応じた制御信号10(第1制御データ11、第2制御データ12及び第3制御データ13)を半導体メモリ200に出力する。暗号処理装置1では、使用態様制御部5が、ホスト装置300からの制御信号10に基づいて、複数の暗号処理部2の使用態様を設定する。ここで、暗号処理装置1での複数の暗号処理部2の使用態様によって、暗号処理装置1での暗号処理の内容が決定されることから、当該使用態様によって、半導体メモリ200でのセキュリティ構成が決定されると言える。つまり、本実施の形態に係る半導体メモリ200は、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、セキュリティ構成を変化させている。以後、複数の暗号処理部2の使用態様を決定するための制御信号10、つまり半導体メモリ200でのセキュリティ構成を決定するための制御信号10を「セキュリティ構成フラグ10」と呼ぶことがある。
次に、暗号処理装置1での複数の暗号処理部2の使用態様が変化する場合のメモリシステム100の動作について説明する。図9は当該動作を示すフローチャートである。以下の説明では、例えば、暗号処理装置1での複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化する場合のメモリシステム100の動作について説明する。
図9に示されるように、ステップs1において、ホスト装置300はセキュリティ再構成コマンドを発行する。このとき、ホスト装置300は、ホスト側暗号処理装置でセキュリティ再構成コマンドを暗号化した上で出力する。ホスト装置300から出力されたセキュリティ再構成コマンドは、ホストIF210を通じて暗号処理装置1に入力される。
セキュリティ再構成コマンドは、半導体メモリ200でのセキュリティ構成を変化させるためのコマンド、つまり複数の暗号処理部2の使用態様を変化させるためのコマンドである。セキュリティ再構成コマンドには、セキュリティ構成フラグ10と初期化フラグ14が含まれている。本例では、複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化することから、セキュリティ再構成コマンドには、第2の使用態様に対応するセキュリティ構成フラグ10が含まれている。つまり、セキュリティ再構成フラグに含まれるセキュリティ構成フラグ10を構成する第1制御データ11、第2制御データ12及び第3制御データ13の値は、第2に使用態様に対応する(1,0,0)となる。
次にステップs2において、暗号処理装置1は、入力された、暗号化されているセキュリティ再構成コマンドを復号化する。ここでは、暗号処理装置1での複数の暗号処理部2の使用態様は第1の使用態様(図2参照)であることから、暗号処理装置1では、第2演算回路4が、第2暗号処理部2bから出力されるキーストリームKSとセキュリティ再構成コマンドとの排他的論路和を演算することによって、当該セキュリティ再構成コマンドが復号化される。復号化されたセキュリティ再構成コマンドはコマンドデコーダ220に入力される。
次にステップs3において、コマンドデコーダ220は、入力されたセキュリティ再構成コマンドをデコードして、当該セキュリティ再構成コマンドからセキュリティ構成フラグ10及び初期化フラグ14を抽出する。そしてステップs4において、コマンドデコーダ220は、抽出したセキュリティ構成フラグ10を制御レジスタ250に転送する。制御レジスタ250は、転送されてきたセキュリティ構成フラグ10を構成する第1制御データ11、第2制御データ12及び第3制御データ13を、第1レジスタ251、第2レジスタ252及び第3レジスタ253にそれぞれ記憶する。第1レジスタ251、第2レジスタ252及び第3レジスタ253に記憶された第1制御データ11、第2制御データ12及び第3制御データ13は暗号処理装置1に入力される。
次にステップs5において、暗号処理装置1では、使用態様制御部5が、制御レジスタ250から出力されたセキュリティ構成フラグ10(制御信号10)に応じて、複数の暗号処理部2の使用態様を変化させる。ここでは、第1制御データ11、第2制御データ12及び第3制御データ13の値は(1,0,0)となっていることから、使用態様制御部5は、複数の暗号処理部2の使用態様を第2の使用態様に変化させる。これにより、暗号処理装置1の構成が、図2に示される構成から図3に示される構成に変化する。
次にステップs6において、コマンドデコーダ220は、抽出した初期化フラグ14を制御レジスタ250に転送する。制御レジスタ250は、転送されてきた初期化フラグ14を初期化レジスタ254に記憶する。初期化レジスタ254に記憶された初期化フラグ14は暗号処理装置1に入力される。
次にステップs7において、初期化フラグ14を受け取った暗号処理装置1では、各暗号処理部2の初期化が行われる。ここで、複数の暗号処理部2の使用態様は第2の使用態様であることから、第2暗号処理部2bは第2マスタ鍵9bに基づいて初期化される。また第1暗号処理部2aは、初期化後の第2暗号処理部2bから出力されるセッション鍵SKと第1マスタ鍵9aとから成る入力鍵に基づいて初期化される。以後、暗号処理装置1では、ホスト装置300からのコマンドが、第1暗号処理部2aから出力されるキーストリームKSで復号化される。また、メモリアレイ240からのデータが第1暗号処理部2aから出力されるキーストリームKSで暗号化される。
なお、ホスト装置300は、セキュリティ再構成コマンドを発行して半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様を変化させる場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も同じように変化させる。例えば、暗号処理装置1での複数の暗号処理部2の使用態様が第3の使用態様から第5の使用態様に変化する場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も第3の使用態様から第5の使用態様に変化する。これにより、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化した場合であっても、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。
以上のようにメモリシステム100が動作することによって、半導体メモリ200でのセキュリティ構成が変化する。よって、半導体メモリ200のセキュリティ強度が向上する。したがって、メモリアレイ240内のゲームプログラム等のデータの内容が特定されにくくなる。よって、ゲームカートリッジが違法複製されることを抑制することができる。
本実施の形態では、ホスト装置300は、例えば、メモリシステム100の電源がオンされるたびにセキュリティ再構成コマンドを発行する。これにより、メモリシステム100の電源がオンされるたびに、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化するようになる。この場合には、暗号処理装置1では、使用態様制御部5が、メモリシステム100の電源がオンされると、複数の暗号処理部2の使用態様を変化させる。
またホスト装置300は、定期的に、セキュリティ再構成コマンドを発行しても良い。これにより、暗号処理装置1での複数の暗号処理部2の使用態様が定期的に変化する。この場合には、暗号処理装置1では、使用態様制御部5が、定期的に、複数の暗号処理部2の使用態様を変化させる。
複数の暗号処理部2の使用態様は、第1〜第5の使用態様の間において、どのような順番で変化しても良い。例えば、複数の暗号処理部2の使用態様は、第1の使用態様、第2の使用態様、第3の使用態様、第4の使用態様、第5の使用態様の順で変化しても良い。また、複数の暗号処理部2の使用態様は、第1の使用態様、第3の使用態様、第5の使用態様、第2の使用態様、第4の使用態様の順で変化しても良い。
上記の例では、複数の暗号処理部2の使用態様を制御するためのセキュリティ構成フラグ10(制御信号10)は、セキュリティ再構成コマンドに含まれていたが、メモリアレイ240に予め記憶されていても良い。この場合には、第1〜第5の使用態様にそれぞれ対応する複数のセキュリティ構成フラグ10がメモリアレイ240に予め記憶される。そして、半導体メモリ200では、ホスト装置300からセキュリティ再構成コマンドを受信すると、複数のセキュリティ構成フラグ10のうちの一つがメモリアレイ240から読み出されて、制御レジスタ250に記憶される。メモリアレイ240から制御レジスタ250に書き込まれるセキュリティ構成フラグ10が変更されることによって、複数の暗号処理部2の使用態様が変化する。
半導体メモリ200は、メモリアレイ240から制御レジスタ250に書き込まれたセキュリティ構成フラグ10、つまり複数の暗号処理部2の使用態様の制御に使用されるセキュリティ構成フラグ10をホスト装置300に通知する。ホスト装置300は、ホスト側暗号処理装置での複数の暗号処理部の使用態様を、通知されたセキュリティ構成フラグ10に対応する使用態様に設定する。これにより、半導体メモリ200が、暗号処理装置1での複数の暗号処理部2の使用態様を自ら変化させた場合であっても、半導体メモリ200での複数の暗号処理部2の使用態様と、ホスト装置300での複数の暗号処理部の使用態様とが一致するようになる。よって、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。
また上記の例では、暗号処理装置1での複数の暗号処理部2の使用態様として、第1〜第5の使用態様が定められているが、第1〜第5の使用態様のうちの少なくとも2つの使用態様だけが定められていても良い。また、第1〜第5の使用態様以外の使用態様が定められていても良い。
また上記の例では、暗号処理装置1の暗号処理部群20は、2つの暗号処理部2で構成されていたが、3つ以上の暗号処理部2で構成されても良い。
暗号処理部群20が第1〜第3暗号処理部で構成されている場合には、当該第1〜第3暗号処理部2の使用態様として様々な使用態様が考えられる。
例えば、第1暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第3暗号処理部2に出力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。
また、第3暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第1暗号処理部2に出力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。
また、第1暗号処理部2の出力データと第2暗号処理部2の出力データとがセッション鍵として第3暗号処理部2に入力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。
また、第2暗号処理部2の出力データと第3暗号処理部2の出力データとがセッション鍵として第1暗号処理部2に入力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。
また、第1暗号処理部2の出力データと、第2暗号処理部2の出力データと、第3暗号処理部2の出力データとが、キーストリームとして使用される態様が考えられる。
また、暗号処理部群20は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。
例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。
また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用される暗号アルゴリズムを互いに異なるようにし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。
また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。そして、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3及び第4暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。
暗号処理部群20が、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。
また、暗号処理部群20は、使用するマスタ鍵9が互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用するマスタ鍵9が互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。
例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。
また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用されるマスタ鍵9を互いに異なるようにし、第1及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。
また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第3及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。そして、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3及び第4暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。
暗号処理部群20が、使用する鍵が互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。
また、上記の例では、暗号処理部2は、セッション鍵、キーストリーム等の鍵を生成して出力していたが、入力されるデータを暗号化し、暗号化したデータを出力できるようにしても良い。この場合には、例えば、複数の暗号処理部2の使用態様が図2に示されるような第1の使用態様である場合には、第2暗号処理部2bは、第1暗号処理部2aから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。また、例えば、複数の暗号処理部2の使用態様が図3に示されるような第2の使用態様である場合には、第1暗号処理部2aは、第2暗号処理部2bから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。
以上のように、暗号処理装置1、半導体メモリ200及びメモリシステム100は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 暗号処理装置
2 暗号処理部
5 使用態様制御部
9 マスタ鍵
100 メモリシステム
200 半導体メモリ
240 メモリアレイ
300 ホスト装置

Claims (10)

  1. 暗号処理装置であって、
    それぞれが暗号機能を有する複数の暗号処理部から成り、当該複数の暗号処理部の少なくとも一つの暗号処理部の出力データが使用されて、当該複数の暗号処理部の出力データとは別の暗号化対象のデータが暗号化される暗号処理部群と、
    前記暗号処理部群について、使用する暗号処理部をどのように組み合わせて使用するかを変化させる処理を実行する制御部と
    を備え、
    記制御部は、使用する暗号処理部をどのように組み合わせて使用するかを、複数種類の組み合わせから決定し、
    前記暗号処理部群は、第1及び第2暗号処理部を含み、
    前記複数種類の組み合わせは、
    前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力され、前記第2暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第1の組み合わせと、
    前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力され、前記第1暗号処理部から出力されるデータが、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第2の組み合わせと、
    前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、前記暗号化対象のデータを暗号化するためのデータとして使用されるような第3の組み合わせと
    を含む、暗号処理装置。
  2. 請求項1に記載の暗号処理装置であって、
    前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに異なる、暗号処理装置。
  3. 請求項1に記載の暗号処理装置であって、
    前記第1及び第2暗号処理部は、使用する暗号アルゴリズムが互いに同じである、暗号処理装置。
  4. 請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、
    前記第1及び第2暗号処理部は、使用する鍵が互いに異なる、暗号処理装置。
  5. 請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、
    前記第1及び第2暗号処理部は、使用する鍵が互いに同じである、暗号処理装置。
  6. 請求項1乃至請求項のいずれか一つに記載の暗号処理装置と、
    記憶部と
    を備え、
    前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される、半導体メモリ。
  7. 請求項に記載の半導体メモリと、
    前記半導体メモリを制御するホスト装置と
    を備える、メモリシステム。
  8. 請求項に記載のメモリシステムであって、
    前記暗号処理装置の前記制御部は、前記メモリシステムの電源がオンされると、前記処理を実行する、メモリシステム。
  9. 請求項及び請求項のいずれか一つに記載のメモリシステムであって、
    前記制御部は、定期的に、前記処理を実行する、メモリシステム。
  10. 請求項乃至請求項のいずれか一つに記載のメモリシステムであって、
    前記記憶部は、前記処理を実行するための制御データを予め記憶し、
    前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記処理を実行する、メモリシステム。
JP2013099902A 2013-05-10 2013-05-10 暗号処理装置、半導体メモリ及びメモリシステム Active JP6521499B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013099902A JP6521499B2 (ja) 2013-05-10 2013-05-10 暗号処理装置、半導体メモリ及びメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013099902A JP6521499B2 (ja) 2013-05-10 2013-05-10 暗号処理装置、半導体メモリ及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2014220729A JP2014220729A (ja) 2014-11-20
JP6521499B2 true JP6521499B2 (ja) 2019-05-29

Family

ID=51938791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013099902A Active JP6521499B2 (ja) 2013-05-10 2013-05-10 暗号処理装置、半導体メモリ及びメモリシステム

Country Status (1)

Country Link
JP (1) JP6521499B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6473874B2 (ja) * 2015-07-22 2019-02-27 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410750A (en) * 1987-07-02 1989-01-13 Mitsubishi Electric Corp Block encipherment device
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
JP2003324423A (ja) * 2002-05-01 2003-11-14 Nec Electronics Corp データ処理方法、暗号化方法、復号化方法、認証方法及びこれらの装置
JP4911452B2 (ja) * 2006-06-27 2012-04-04 株式会社メガチップス 半導体メモリ及びデータ授受システム
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules

Also Published As

Publication number Publication date
JP2014220729A (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
TWI399663B (zh) 密碼系統及密碼方法
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
US8150031B2 (en) Method and apparatus to perform redundant array of independent disks (RAID) operations
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
JP2009245227A (ja) 情報記憶装置
JP2008283672A (ja) 複数モードでのaes暗号化または復号の単一命令での実行
US10148434B2 (en) Random number generating device, cipher processing device, storage device, and information processing system
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
JP2008306395A (ja) 情報処理装置、情報処理方法
JP2008294666A (ja) 量子プログラム秘匿化装置及び量子プログラム秘匿化方法
US10411880B2 (en) Apparatus and method for encryption
JP4758904B2 (ja) 機密情報処理方法
JP6521499B2 (ja) 暗号処理装置、半導体メモリ及びメモリシステム
JP6348273B2 (ja) 情報処理システム
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP6203387B2 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
JP4853026B2 (ja) 情報処理装置及びプログラム
JP2005309148A (ja) データ変換装置およびデータ変換方法
JP6452910B1 (ja) 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
JP6162556B2 (ja) 記憶装置及び情報処理システム
KR20210015403A (ko) 안티-인버전 함수를 이용한 화이트박스 암호 인코딩 장치 및 방법
JP7063628B2 (ja) 暗号化装置、暗号化方法およびプログラム
JP6732698B2 (ja) 追加データ付き認証暗号システム、暗号化装置、復号装置、追加データ付き認証暗号方法、およびプログラム
JP4708914B2 (ja) 解読化方法
JP7215245B2 (ja) 情報処理装置、情報処理方法及びプログラム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180116

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6521499

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