図面 (/)

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

出願人 株式会社メガチップス
発明者 菅原崇彦
出願日 2013年5月10日 (6年6ヶ月経過) 出願番号 2013-099902
公開日 2014年11月20日 (4年11ヶ月経過) 公開番号 2014-220729
状態 特許登録済
技術分野 暗号化・復号化装置及び秘密通信
主要キーワード 初期化レジスタ 零データ 入力鍵 マスクROM 初期化フラグ ストリーム暗号方式 キーストリーム セキュリティ構成
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年11月20日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供する。

解決手段

暗号処理装置1は、暗号処理部群20と使用態様制御部5とを備えている。暗号処理部群20は、それぞれが暗号機能を有する複数の暗号処理部2で構成されている。使用態様制御部5は、暗号処理装置1での複数の暗号処理部2の使用態様を制御する。使用態様制御部5は、複数の暗号処理部2の使用態様を変化させる。

概要

背景

従来から暗号処理に関して様々な技術が提案されている。例えば特許文献1には、半導体メモリにおいて暗号処理を行う技術が開示されている。

概要

暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供する。暗号処理装置1は、暗号処理部群20と使用態様制御部5とを備えている。暗号処理部群20は、それぞれが暗号機能を有する複数の暗号処理部2で構成されている。使用態様制御部5は、暗号処理装置1での複数の暗号処理部2の使用態様を制御する。使用態様制御部5は、複数の暗号処理部2の使用態様を変化させる。

目的

本発明は上述の点に鑑みて成されたものであり、暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供する

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

暗号処理装置であって、それぞれが暗号機能を有する複数の暗号処理部から成る暗号処理部群と、前記暗号処理装置での前記複数の暗号処理部の使用態様を制御する制御部とを備え、前記制御部は、前記複数の暗号処理部の使用態様を変化させる、暗号処理装置。

請求項2

請求項1に記載の暗号処理装置であって、前記暗号処理部群は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部を含む、暗号処理装置。

請求項3

請求項1及び請求項2のいずれか一つに記載の暗号処理装置であって、前記暗号処理部群は、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部を含む、暗号処理装置。

請求項4

請求項1乃至請求項3のいずれか一つに記載の暗号処理装置であって、前記暗号処理部群は、使用する鍵が互いに異なる少なくとも2つの暗号処理部を含む、暗号処理装置。

請求項5

請求項1乃至請求項4のいずれか一つに記載の暗号処理装置であって、前記暗号処理部群は、使用する鍵が互いに同じである少なくとも2つの暗号処理部を含む、暗号処理装置。

請求項6

請求項1乃至請求項5のいずれか一つに記載の暗号処理装置であって、前記制御部は、前記複数の暗号処理部の使用態様を複数種類の使用態様から決定し、前記複数種類の使用態様は、前記複数の暗号処理部の少なくとも2つを組み合わせて使用する態様を含む、暗号処理装置。

請求項7

請求項6に記載の暗号処理装置であって、前記複数種類の使用態様は、前記複数の暗号処理部のうちの一つだけを使用する態様を含む、暗号処理装置。

請求項8

請求項6及び請求項7のいずれか一つに記載の暗号処理装置であって、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力される第1態様と、前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力される第2態様とを含む、暗号処理装置。

請求項9

請求項6及び請求項7のいずれか一つに記載の暗号処理装置であって、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、データを暗号化するためのデータとして使用される態様を含む、暗号処理装置。

請求項10

請求項1乃至請求項9のいずれか一つに記載の暗号処理装置と、記憶部とを備え、前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される、半導体メモリ

請求項11

請求項10に記載の半導体メモリと、前記半導体メモリを制御するホスト装置とを備える、メモリシステム

請求項12

請求項11に記載のメモリシステムであって、前記暗号処理装置の前記制御部は、前記メモリシステムの電源オンされると、前記複数の暗号処理部の使用態様を変化させる、メモリシステム。

請求項13

請求項11及び請求項12のいずれか一つに記載のメモリシステムであって、前記制御部は、定期的に、前記複数の暗号処理部の使用態様を変化させる、メモリシステム。

請求項14

請求項11乃至請求項13のいずれか一つに記載のメモリシステムであって、前記記憶部は、前記複数の暗号処理部の使用態様を制御するための制御データを予め記憶し、前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記複数の暗号処理部の使用態様を制御する、メモリシステム。

技術分野

0001

本発明は、暗号処理技術に関する。

背景技術

0002

従来から暗号処理に関して様々な技術が提案されている。例えば特許文献1には、半導体メモリにおいて暗号処理を行う技術が開示されている。

先行技術

0003

特開平7−219852号公報

発明が解決しようとする課題

0004

暗号処理装置では、それが行う暗号処理の内容が容易に特定されないことが望まれる。

0005

そこで、本発明は上述の点に鑑みて成されたものであり、暗号処理装置での暗号処理の内容が特定されにくくなる技術を提供することを目的とする。

課題を解決するための手段

0006

上記課題を解決するため、本発明に係る暗号処理装置の一態様は、それぞれが暗号機能を有する複数の暗号処理部から成る暗号処理部群と、前記暗号処理装置での前記複数の暗号処理部の使用態様を制御する制御部とを備え、前記制御部は、前記複数の暗号処理部の使用態様を変化させる。

0007

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部を含む。

0008

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部を含む。

0009

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する鍵が互いに異なる少なくとも2つの暗号処理部を含む。

0010

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、使用する鍵が互いに同じである少なくとも2つの暗号処理部を含む。

0011

また、本発明に係る暗号処理装置の一態様では、前記制御部は、前記複数の暗号処理部の使用態様を複数種類の使用態様から決定し、前記複数種類の使用態様は、前記複数の暗号処理部の少なくとも2つを組み合わせて使用する態様を含む。

0012

また、本発明に係る暗号処理装置の一態様では、前記複数種類の使用態様は、前記複数の暗号処理部のうちの一つだけを使用する態様を含む。

0013

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータがセッション鍵として前記第2暗号処理部に入力される第1態様と、前記第2暗号処理部から出力されるデータがセッション鍵として前記第1暗号処理部に入力される第2態様とを含む。

0014

また、本発明に係る暗号処理装置の一態様では、前記暗号処理部群は、第1及び第2暗号処理部を含み、前記複数種類の使用態様は、前記第1暗号処理部から出力されるデータと、前記第2暗号処理部から出力されるデータとの両方が、データを暗号化するためのデータとして使用される態様を含む。

0015

また、本発明に係る半導体メモリの一態様は、上記の暗号処理装置と、記憶部とを備え、前記記憶部から読み出されたデータが前記暗号処理装置で暗号化される。

0016

また、本発明に係るメモリシステムの一態様は、上記の半導体メモリと、前記半導体メモリを制御するホスト装置とを備える。

0017

また、本発明に係るメモリシステムの一態様では、前記暗号処理装置の前記制御部は、前記メモリシステムの電源オンされると、前記複数の暗号処理部の使用態様を変化させる。

0018

また、本発明に係るメモリシステムの一態様では、前記制御部は、定期的に、前記複数の暗号処理部の使用態様を変化させる。

0019

また、本発明に係るメモリシステムの一態様では、前記記憶部は、前記複数の暗号処理部の使用態様を制御するための制御データを予め記憶し、前記制御部は、前記記憶部が記憶する前記制御データに基づいて前記複数の暗号処理部の使用態様を制御する。

発明の効果

0020

本発明によれば、暗号処理装置での暗号処理の内容が特定されにくくなる。

図面の簡単な説明

0021

暗号処理装置の構成を示す図である。
複数の暗号処理部の第1の使用態様を示す図である。
複数の暗号処理部の第2の使用態様を示す図である。
複数の暗号処理部の第3の使用態様を示す図である。
複数の暗号処理部の第4の使用態様を示す図である。
複数の暗号処理部の第5の使用態様を示す図である。
複数の暗号処理部の第5の使用態様を示す図である。
メモリシステムの構成を示す図である。
メモリシステムの動作を示すフローチャートである。

実施例

0022

図1は実施の形態に係る暗号処理装置1の構成を示す図である。本実施の形態に係る暗号処理装置1は、例えば、共通鍵暗号方式一種であるストリーム暗号方式を使用して、データを暗号化及び復号化する。なお、暗号処理装置1は、共通鍵暗号方式の一種であるブロック暗号方式を使用してデータを暗号化及び復号化しても良い。また暗号処理装置1は、公開鍵暗号方式を使用してデータを暗号化及び復号化しても良い。本実施の形態では、データと言えば、説明の便宜上、少なくとも1ビットで構成されたデジタルデータを意味するものとする。また、説明の便宜上、データの値は十進数表記での値であるとする。

0023

図1に示されるように、暗号処理装置1は、複数の暗号処理部2から成る暗号処理部群20を備えている。各暗号処理部2は暗号機能を有している。各暗号処理部2には固定のマスタ鍵9が入力される。複数の暗号処理部2では、使用される暗号アルゴリズムは互いに同じであっても良いし、互いに異なっても良い。暗号処理部2で使用される暗号アルゴリズムとしては、例えば、DES(Data Encryption Standard)あるいはAES(Advanced Encryption Standard)などが考えられる。また、複数の暗号処理部2では、使用されるマスタ鍵9は互いに同じであっても良いし、互いに異なっても良い。

0024

本実施の形態では、暗号処理装置1は、例えば2つの暗号処理部2を備えている。以後、当該2つの暗号処理部2の一方及び他方を、それぞれ「第1暗号処理部2a」及び「第2暗号処理部2b」と呼ぶことがある。また、第1暗号処理部2aに入力されるマスタ鍵9及び第2暗号処理部2bに入力されるマスタ鍵9を、それぞれ「第1マスタ鍵9a」及び「第2マスタ鍵9b」と呼ぶことがある。

0025

暗号処理装置1には、暗号処理部群20以外にも、第1演算回路3と、第2演算回路4と、使用態様制御部5とが設けられている。第1演算回路3及び第2演算回路4のそれぞれは、入力される2つのデータの排他的論理和(XOR)を演算して出力する。

0026

使用態様制御部5は、暗号処理装置1の外部から入力される制御信号10に基づいて、複数の暗号処理部2の使用態様を制御する。つまり、複数の暗号処理部2の使用態様は、制御信号10に基づいて決定される。本実施の形態では、制御信号10は、第1制御データ11、第2制御データ12及び第3制御データ13で構成されている。使用態様制御部5は、複数種類の使用態様から、複数の暗号処理部2の使用態様を決定する。本実施の形態では、例えば第1〜第5の使用態様が定められている。第1〜第5の使用態様には、複数の暗号処理部2のうちの一つだけを使用する態様や、複数の暗号処理部2のうちの2つを組み合わせて使用する態様が含まれる。これらの使用態様については後で詳細に説明する。

0027

使用態様制御部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から零データが入力される場合には、当該零データの入力を無視する。

0028

第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から零データが入力される場合には、当該零データの入力を無視する。

0029

第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から出力されるデータを選択して出力する。

0030

第1演算回路3は、第1暗号処理部2a及び第2暗号処理部2bから出力されるデータの排他的論理和を演算して第3選択回路8に出力する。第2演算回路4は、第3選択回路8から出力されるデータと、暗号化を行う対象のデータ(暗号化対象データ)との排他的論理和を演算して出力する。これにより、暗号化対象データが暗号化される。また、第2演算回路4は、第3選択回路8から出力されるデータと、暗号化されたデータ(暗号データ)との排他的論理和を演算して出力する。これにより、暗号データが復号化される。このように、第2演算回路4は、第3選択回路8から出力されるデータをキーストリーム(データを暗号化するためのデータ)として使用して、入力されるデータを暗号化あるいは復号化する。

0031

<複数の暗号処理部の使用態様について>
次に複数の暗号処理部2に関する複数種類の使用態様の一例について説明する。以後、第1制御データ11の値をa、第2制御データ12の値をb、第3制御データ13の値をcとすると、第1制御データ11、第2制御データ12及び第3制御データ13の値を(a,b,c)で表す。

0032

<第1の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,1,2)である場合には、複数の暗号処理部2の使用態様は第1の使用態様となる。図2は複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。

0033

複数の暗号処理部2の使用態様が第1の使用態様である場合には、図2に示されるように、第1暗号処理部2aの出力データが第2暗号処理部2bに入力される。そして、第2暗号処理部2bの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第1の使用態様である場合の暗号処理装置1の構成を「第1の構成」と呼ぶことがある。

0034

図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では、入力された暗号データが復号化されて出力される。

0035

<第2の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(1,0,0)である場合には、複数の暗号処理部2の使用態様は第2の使用態様となる。図3は複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。

0036

複数の暗号処理部2の使用態様が第2の使用態様である場合には、図3に示されるように、第2暗号処理部2bの出力データが第1暗号処理部2aに入力される。そして、第1暗号処理部2aの出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第2の使用態様である場合の暗号処理装置1の構成を「第2の構成」と呼ぶことがある。

0037

図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では、入力された暗号データが復号化されて出力される。

0038

なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第1の構成の暗号処理装置1と、第2の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。

0039

<第3の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,2)あるいは(1,0,2)である場合には、複数の暗号処理部2の使用態様は第3の使用態様となる。図4は複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。

0040

複数の暗号処理部2の使用態様が第3の使用態様である場合には、図4に示されるように、第2暗号処理部2bの出力データが第2演算回路4に入力される。このとき、第1暗号処理部2aは使用されない。つまり、複数の暗号処理部2の使用態様が第3の使用態様である場合には、複数の暗号処理部2のうち第2暗号処理部2bだけが使用される。複数の暗号処理部2の使用態様が第3の使用態様である場合の暗号処理装置1の構成を「第3の構成」と呼ぶことがある。

0041

図4に示されるような第3の構成を有する暗号処理装置1では、第2暗号処理部2bが第2マスタ鍵9bに基づいて自身の初期化を行う。そして、初期化後の第2暗号処理部2bは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第2暗号処理部2bから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。

0042

<第4の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,0)あるいは(0,1,0)である場合には、複数の暗号処理部2の使用態様は第4の使用態様となる。図5は複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。

0043

複数の暗号処理部2の使用態様が第4の使用態様である場合には、図5に示されるように、第1暗号処理部2aの出力データが第2演算回路4に入力される。このとき、第2暗号処理部2bは使用されない。つまり、複数の暗号処理部2の使用態様が第4の使用態様である場合には、複数の暗号処理部2のうち第1暗号処理部2aだけが使用される。複数の暗号処理部2の使用態様が第4の使用態様である場合の暗号処理装置1の構成を「第4の構成」と呼ぶことがある。

0044

図5に示されるような第4の構成を有する暗号処理装置1では、第1暗号処理部2aが第1マスタ鍵9aに基づいて自身の初期化を行う。そして、初期化後の第1暗号処理部2aは、自身の暗号機能を使用してキーストリームKSを生成して出力する。第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号化対象データとの排他的論路和を演算して出力する。また、第2演算回路4は、第1暗号処理部2aから出力されるキーストリームKSと、暗号データとの排他的論路和を演算して出力する。

0045

なお、第1暗号処理部2a及び第2暗号処理部2bにおいて、使用される暗号アルゴリズムが互いに同じであって、かつ使用されるマスタ鍵9が互いに同じである場合には、第3の構成の暗号処理装置1と、第4の構成の暗号処理装置1とは、互いに同じ動作を行うことになる。

0046

<第5の使用態様について>
第1制御データ11、第2制御データ12及び第3制御データ13の値が(0,0,1)である場合には、複数の暗号処理部2の使用態様は第5の使用態様となる。図6は複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の等価ブロック図を示す図である。

0047

複数の暗号処理部2の使用態様が第5の使用態様である場合には、図6に示されるように、第1暗号処理部2aの出力データ及び第2暗号処理部2bの出力データが第1演算回路3に入力される。そして、第1演算回路3の出力データが第2演算回路4に入力される。複数の暗号処理部2の使用態様が第5の使用態様である場合の暗号処理装置1の構成を「第5の構成」と呼ぶことがある。

0048

図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と、暗号データとの排他的論路和を演算して出力する。

0049

ここで、第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と、暗号データとの排他的論路和を演算することによって、当該暗号データを復号化する。

0050

本実施の形態では、使用態様制御部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の使用態様を動的に変化させる。

0051

このように、本実施の形態に係る使用態様制御部5は、暗号処理装置1での複数の暗号処理部2の使用態様を変化させるため、暗号処理装置1での暗号処理の内容が特定されにくくなる。言い換えれば、本実施の形態では、暗号処理装置1の構成が変化するため、暗号処理装置1での暗号処理の内容が特定されにくくなる。よって、本実施の形態に係る暗号処理装置1を使用して、半導体メモリ等の装置についてのセキュリティを実現することによって、その装置でのセキュリティ強度を向上させることができる。

0052

<暗号処理装置を使用したセキュリティの実現例>
次に本実施の形態に係る暗号処理装置1を使用したセキュリティの実現例について説明する。ここでは、一例として、半導体メモリのセキュリティを暗号処理装置1を使用して実現する場合について説明する。

0053

図8は暗号処理装置1が使用されてセキュリティが実現された半導体メモリ200を有するメモリシステム100の構成を示す図である。メモリシステム100は、暗号処理装置1を有する半導体メモリ200と、当該半導体メモリ200を制御するホスト装置300とを備えている。メモリシステム100は、例えば、ゲーム装置実装されるコンピュータシステムである。当該ゲーム装置は、ゲーム装置本体と、それに着脱可能なゲームカートリッジとを備えている。半導体メモリ200はゲームカートリッジに内蔵され、ホスト装置300はゲーム装置本体に内蔵される。ホスト装置300は、一種のコンピュータである。ユーザは、ゲーム装置本体に装着するゲームカードリッジ交換することによって、様々な種類のゲームを楽しむことができる。

0054

半導体メモリ200は、例えばマスクROM(Read Only Memory)である。半導体メモリ200は、暗号処理装置1以外にも、ホストIF(インターフェース)210と、コマンドデコーダ220と、メモリIF(インターフェース)230と、記憶部であるメモリアレイ240と、制御レジスタ250とを備えている。

0055

暗号処理装置1は、ホスト装置300からのコマンドをホストIF210を通じて受け取る。ホスト装置300には、暗号処理装置1と同様の暗号処理装置が設けられている。ホスト装置300は、自身の暗号処理装置を使用して、コマンドを暗号化し、暗号化後のコマンドを半導体メモリ200に出力する。暗号処理装置1は、ホスト装置300からの暗号化後のコマンドを上述のように第2演算回路4で復号化し、復号化後のコマンドをコマンドデコーダ220に出力する。以後、ホスト装置300が有する暗号処理装置を「ホスト側暗号処理装置」と呼ぶことがある。

0056

コマンドデコーダ220は、入力されたコマンドをデコードして、当該コマンドを解析する。コマンドデコーダ220は、入力されたコマンドを解析した結果、当該コマンドがメモリアレイ240からデータを読み出すことを指示する読み出しコマンドである場合には、アドレス信号及びリード信号等の制御信号をメモリIF230を通じてメモリアレイ240に出力する。これにより、メモリアレイ240からデータが出力される。メモリアレイ240から出力されたデータは暗号処理装置1に入力される。メモリアレイ240には、例えば、複数のゲームプログラムや、各ゲームプログラムで使用される各種データなどが記憶されている。またコマンドデコーダ220は、入力されたコマンドに含まれる制御データを抽出し、抽出した制御データを制御レジスタ250に書き込む。

0057

制御レジスタ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から出力される。

0058

暗号処理装置1は、メモリアレイ240から出力されるデータを、上述のように第2演算回路4で暗号化する。暗号処理装置1で暗号化されたデータは、ホストIF210を通じてホスト装置300に入力される。ホスト装置300は、ホスト側暗号処理装置を使用して、半導体メモリ200からの暗号データを復号化する。ホスト装置300は、半導体メモリ200からメモリアレイ240内のゲームプログラムが入力されると、当該ゲームプログラムを実行する。

0059

本実施の形態に係るメモリシステム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」と呼ぶことがある。

0060

次に、暗号処理装置1での複数の暗号処理部2の使用態様が変化する場合のメモリシステム100の動作について説明する。図9は当該動作を示すフローチャートである。以下の説明では、例えば、暗号処理装置1での複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化する場合のメモリシステム100の動作について説明する。

0061

図9に示されるように、ステップs1において、ホスト装置300はセキュリティ再構成コマンドを発行する。このとき、ホスト装置300は、ホスト側暗号処理装置でセキュリティ再構成コマンドを暗号化した上で出力する。ホスト装置300から出力されたセキュリティ再構成コマンドは、ホストIF210を通じて暗号処理装置1に入力される。

0062

セキュリティ再構成コマンドは、半導体メモリ200でのセキュリティ構成を変化させるためのコマンド、つまり複数の暗号処理部2の使用態様を変化させるためのコマンドである。セキュリティ再構成コマンドには、セキュリティ構成フラグ10と初期化フラグ14が含まれている。本例では、複数の暗号処理部2の使用態様が、第1の使用態様から第2の使用態様に変化することから、セキュリティ再構成コマンドには、第2の使用態様に対応するセキュリティ構成フラグ10が含まれている。つまり、セキュリティ再構成フラグに含まれるセキュリティ構成フラグ10を構成する第1制御データ11、第2制御データ12及び第3制御データ13の値は、第2に使用態様に対応する(1,0,0)となる。

0063

次にステップs2において、暗号処理装置1は、入力された、暗号化されているセキュリティ再構成コマンドを復号化する。ここでは、暗号処理装置1での複数の暗号処理部2の使用態様は第1の使用態様(図2参照)であることから、暗号処理装置1では、第2演算回路4が、第2暗号処理部2bから出力されるキーストリームKSとセキュリティ再構成コマンドとの排他的論路和を演算することによって、当該セキュリティ再構成コマンドが復号化される。復号化されたセキュリティ再構成コマンドはコマンドデコーダ220に入力される。

0064

次にステップ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に入力される。

0065

次にステップs5において、暗号処理装置1では、使用態様制御部5が、制御レジスタ250から出力されたセキュリティ構成フラグ10(制御信号10)に応じて、複数の暗号処理部2の使用態様を変化させる。ここでは、第1制御データ11、第2制御データ12及び第3制御データ13の値は(1,0,0)となっていることから、使用態様制御部5は、複数の暗号処理部2の使用態様を第2の使用態様に変化させる。これにより、暗号処理装置1の構成が、図2に示される構成から図3に示される構成に変化する。

0066

次にステップs6において、コマンドデコーダ220は、抽出した初期化フラグ14を制御レジスタ250に転送する。制御レジスタ250は、転送されてきた初期化フラグ14を初期化レジスタ254に記憶する。初期化レジスタ254に記憶された初期化フラグ14は暗号処理装置1に入力される。

0067

次にステップ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で暗号化される。

0068

なお、ホスト装置300は、セキュリティ再構成コマンドを発行して半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様を変化させる場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も同じように変化させる。例えば、暗号処理装置1での複数の暗号処理部2の使用態様が第3の使用態様から第5の使用態様に変化する場合には、ホスト側暗号処理装置での複数の暗号処理部の使用態様も第3の使用態様から第5の使用態様に変化する。これにより、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化した場合であっても、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。

0069

以上のようにメモリシステム100が動作することによって、半導体メモリ200でのセキュリティ構成が変化する。よって、半導体メモリ200のセキュリティ強度が向上する。したがって、メモリアレイ240内のゲームプログラム等のデータの内容が特定されにくくなる。よって、ゲームカートリッジが違法複製されることを抑制することができる。

0070

本実施の形態では、ホスト装置300は、例えば、メモリシステム100の電源がオンされるたびにセキュリティ再構成コマンドを発行する。これにより、メモリシステム100の電源がオンされるたびに、半導体メモリ200の暗号処理装置1での複数の暗号処理部2の使用態様が変化するようになる。この場合には、暗号処理装置1では、使用態様制御部5が、メモリシステム100の電源がオンされると、複数の暗号処理部2の使用態様を変化させる。

0071

またホスト装置300は、定期的に、セキュリティ再構成コマンドを発行しても良い。これにより、暗号処理装置1での複数の暗号処理部2の使用態様が定期的に変化する。この場合には、暗号処理装置1では、使用態様制御部5が、定期的に、複数の暗号処理部2の使用態様を変化させる。

0072

複数の暗号処理部2の使用態様は、第1〜第5の使用態様の間において、どのような順番で変化しても良い。例えば、複数の暗号処理部2の使用態様は、第1の使用態様、第2の使用態様、第3の使用態様、第4の使用態様、第5の使用態様の順で変化しても良い。また、複数の暗号処理部2の使用態様は、第1の使用態様、第3の使用態様、第5の使用態様、第2の使用態様、第4の使用態様の順で変化しても良い。

0073

上記の例では、複数の暗号処理部2の使用態様を制御するためのセキュリティ構成フラグ10(制御信号10)は、セキュリティ再構成コマンドに含まれていたが、メモリアレイ240に予め記憶されていても良い。この場合には、第1〜第5の使用態様にそれぞれ対応する複数のセキュリティ構成フラグ10がメモリアレイ240に予め記憶される。そして、半導体メモリ200では、ホスト装置300からセキュリティ再構成コマンドを受信すると、複数のセキュリティ構成フラグ10のうちの一つがメモリアレイ240から読み出されて、制御レジスタ250に記憶される。メモリアレイ240から制御レジスタ250に書き込まれるセキュリティ構成フラグ10が変更されることによって、複数の暗号処理部2の使用態様が変化する。

0074

半導体メモリ200は、メモリアレイ240から制御レジスタ250に書き込まれたセキュリティ構成フラグ10、つまり複数の暗号処理部2の使用態様の制御に使用されるセキュリティ構成フラグ10をホスト装置300に通知する。ホスト装置300は、ホスト側暗号処理装置での複数の暗号処理部の使用態様を、通知されたセキュリティ構成フラグ10に対応する使用態様に設定する。これにより、半導体メモリ200が、暗号処理装置1での複数の暗号処理部2の使用態様を自ら変化させた場合であっても、半導体メモリ200での複数の暗号処理部2の使用態様と、ホスト装置300での複数の暗号処理部の使用態様とが一致するようになる。よって、ホスト装置300は半導体メモリ200からのデータを適切に復号化できる。また、半導体メモリ200はホスト装置300からのコマンドを適切に復号化できる。

0075

また上記の例では、暗号処理装置1での複数の暗号処理部2の使用態様として、第1〜第5の使用態様が定められているが、第1〜第5の使用態様のうちの少なくとも2つの使用態様だけが定められていても良い。また、第1〜第5の使用態様以外の使用態様が定められていても良い。

0076

また上記の例では、暗号処理装置1の暗号処理部群20は、2つの暗号処理部2で構成されていたが、3つ以上の暗号処理部2で構成されても良い。

0077

暗号処理部群20が第1〜第3暗号処理部で構成されている場合には、当該第1〜第3暗号処理部2の使用態様として様々な使用態様が考えられる。

0078

例えば、第1暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第3暗号処理部2に出力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。

0079

また、第3暗号処理部2の出力データが第1セッション鍵として第2暗号処理部2に入力され、第2暗号処理部2の出力データが第2セッション鍵として第1暗号処理部2に出力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。

0080

また、第1暗号処理部2の出力データと第2暗号処理部2の出力データとがセッション鍵として第3暗号処理部2に入力され、第3暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。

0081

また、第2暗号処理部2の出力データと第3暗号処理部2の出力データとがセッション鍵として第1暗号処理部2に入力され、第1暗号処理部2の出力データがキーストリームとして使用される態様が考えられる。

0082

また、第1暗号処理部2の出力データと、第2暗号処理部2の出力データと、第3暗号処理部2の出力データとが、キーストリームとして使用される態様が考えられる。

0083

また、暗号処理部群20は、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用する暗号アルゴリズムが互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。

0084

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。

0085

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用される暗号アルゴリズムを互いに異なるようにし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。

0086

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムを互いに同じとし、第3及び第4暗号処理部2で使用される暗号アルゴリズムを互いに同じとする。そして、例えば、第1及び第2暗号処理部2で使用される暗号アルゴリズムと、第3及び第4暗号処理部2で使用される暗号アルゴリズムとを互いに異なるようにする。

0087

暗号処理部群20が、使用する暗号アルゴリズムが互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。

0088

また、暗号処理部群20は、使用するマスタ鍵9が互いに異なる少なくとも2つの暗号処理部2を含んでいても良いし、使用するマスタ鍵9が互いに同じである少なくとも2つの暗号処理部2を含んでいても良い。

0089

例えば、暗号処理部群20が第1〜第3暗号処理部2で構成されている場合には、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。

0090

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1乃至第3暗号処理部2で使用されるマスタ鍵9を互いに異なるようにし、第1及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。

0091

また、暗号処理部群20が第1〜第4暗号処理部2で構成されている場合には、例えば、第1及び第2暗号処理部2で使用されるマスタ鍵9を互いに同じとし、第3及び第4暗号処理部2で使用されるマスタ鍵9を互いに同じとする。そして、第1及び第2暗号処理部2で使用されるマスタ鍵9と、第3及び第4暗号処理部2で使用されるマスタ鍵9とを互いに異なるようにする。

0092

暗号処理部群20が、使用する鍵が互いに異なる少なくとも2つの暗号処理部2を含んでいる場合には、暗号処理装置1での複数の暗号処理部2の使用態様を変化させることによって、暗号処理装置1での暗号処理の内容がさらに特定されにくくなる。よって、当該暗号処理装置1を半導体メモリ200等のセキュリティで使用することによって、セキュリティ強度をさらに向上させることができる。

0093

また、上記の例では、暗号処理部2は、セッション鍵、キーストリーム等の鍵を生成して出力していたが、入力されるデータを暗号化し、暗号化したデータを出力できるようにしても良い。この場合には、例えば、複数の暗号処理部2の使用態様が図2に示されるような第1の使用態様である場合には、第2暗号処理部2bは、第1暗号処理部2aから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。また、例えば、複数の暗号処理部2の使用態様が図3に示されるような第2の使用態様である場合には、第1暗号処理部2aは、第2暗号処理部2bから出力されるセッション鍵SKを使用して、入力されるデータ(平文)を暗号化し、暗号化したデータを出力する。

0094

以上のように、暗号処理装置1、半導体メモリ200及びメモリシステム100は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。

0095

1暗号処理装置
2暗号処理部
5使用態様制御部
9マスタ鍵
100メモリシステム
200半導体メモリ
240メモリアレイ
300 ホスト装置

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ