(57)【要約】【課題】ストリーム暗号及びブロック暗号を併用することにより、処理速度の向上と攻撃耐性の向上とを両立することが可能な記憶装置を得る。【解決手段】半導体記憶装置３は、入力データＤＩ及び出力データＤＯの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定可能な暗号モード制御回路４２を備える。暗号モード制御回路４２が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれる。【選択図】図３
2015061182.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータが記憶された記憶部と、
外部の通信装置から入力された、暗号化された入力データを復号する復号部と、
前記復号部によって復号された入力データに基づいて前記記憶部から読み出されたコンテンツデータを暗号化することにより、暗号化された出力データを出力する暗号化部と、
入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定可能な暗号モード制御部と、
を備え、
前記暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれる、記憶装置。
【請求項２】
前記暗号モード制御部は、一のアクセスに関する出力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する、請求項１に記載の記憶装置。
【請求項３】
前記暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する、請求項２に記載の記憶装置。
【請求項４】
前記暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する、請求項２又は３に記載の記憶装置。
【請求項５】
前記暗号モード制御部は、一のアクセスに関する入力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する、請求項１〜４のいずれか一つに記載の記憶装置。
【請求項６】
前記暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する、請求項５に記載の記憶装置。
【請求項７】
前記暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する、請求項５又は６に記載の記憶装置。
【請求項８】
前記暗号モード制御部は、複数のアクセスに関する複数の出力データに対して、ストリーム暗号を適用する出力データとブロック暗号を適用する出力データとを設定する、請求項１に記載の記憶装置。
【請求項９】
前記暗号モード制御部は、複数のアクセスに関する複数の入力データに対して、ストリーム暗号を適用する入力データとブロック暗号を適用する入力データとを設定する、請求項１又は８に記載の記憶装置。
【請求項１０】
ストリーム暗号及びブロック暗号の適用は、要求される通信速度及び要求される攻撃耐性に基づいて選択される、請求項１〜９のいずれか一つに記載の記憶装置。
【請求項１１】
前記暗号化部は、ブロック暗号を行う暗号化回路を有し、
前記暗号化回路の動作モードとして、ストリーム暗号を実現する暗号モードと、ブロック暗号を実現する暗号モードとを切り替える、請求項１〜１０のいずれか一つに記載の記憶装置。
【請求項１２】
前記暗号化部は、
ストリーム暗号を行う第１の暗号化回路と、
ブロック暗号を行う第２の暗号化回路と、
を有する、請求項１〜１０のいずれか一つに記載の記憶装置。
【請求項１３】
通信装置と、
前記通信装置に接続される記憶装置と、
を備え、
前記記憶装置は、
コンテンツデータが記憶された記憶部と、
前記通信装置から入力された、暗号化された入力データを復号する復号部と、
前記復号部によって復号された入力データに基づいて前記記憶部から読み出されたコンテンツデータを暗号化することにより、暗号化された出力データを出力する暗号化部と、
入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定可能な暗号モード制御部と、
を有し、
前記暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれる、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置等の記憶装置、及びそれを備える情報処理システムに関する。
【背景技術】
【０００２】
通信装置とそれに接続される半導体記憶装置とを備える情報処理システムにおいては、半導体記憶装置に記憶されたコンテンツデータが攻撃者によって不正に読み出されることを防止すべく、通信装置と半導体記憶装置との間でのデータ通信をセキュア通信によって行う技術が実用化されている。
【０００３】
セキュア通信を実現するための暗号技術の一つである共通鍵暗号方式としては、平文をビット単位（又はバイト単位）で暗号化するストリーム暗号と、平文を固定長のブロック単位で暗号化するブロック暗号とが知られている。
【０００４】
なお、下記特許文献１には、半導体記憶装置に記憶されたコンテンツデータを暗号化する際に、ストリーム暗号とブロック暗号とを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ブロック単位で暗号処理及び復号処理が行われるブロック暗号では、ブロックが確定するまで暗号処理及び復号処理を開始できないため、暗号処理及び復号処理をリアルタイムに実行することができない。
【０００７】
一方、ビット単位で暗号処理及び復号処理が行われるストリーム暗号では、ストリームデータと平文との排他的論理和演算によってリアルタイムに暗号処理が行われ、また、ストリームデータと暗号文との排他的論理和演算によってリアルタイムに復号処理が行われる。そのため、ストリーム暗号の暗号処理及び復号処理の処理速度は、ブロック暗号のそれよりも速い。従って、処理速度だけを重視するのであれば、常にストリーム暗号を用いれば足りる。
【０００８】
しかし、ストリーム暗号によると、共通鍵（秘密鍵）の機密性が担保されていても、ストリームデータを抽出することによって攻撃者は暗号文を復号できる。そのため、処理速度だけを重視して常にストリーム暗号を用いたのでは、攻撃耐性が不十分である。
【０００９】
本発明はかかる事情に鑑みて成されたものであり、ストリーム暗号及びブロック暗号を併用することにより、処理速度の向上と攻撃耐性の向上とを両立することが可能な、記憶装置及びそれを備える情報処理システムを得ることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様に係る記憶装置は、コンテンツデータが記憶された記憶部と、外部の通信装置から入力された、暗号化された入力データを復号する復号部と、前記復号部によって復号された入力データに基づいて前記記憶部から読み出されたコンテンツデータを暗号化することにより、暗号化された出力データを出力する暗号化部と、入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定可能な暗号モード制御部と、を備え、前記暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれることを特徴とするものである。
【００１１】
第１の態様に係る記憶装置によれば、暗号モード制御部は、入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定する。複数のパターンの中から最適なパターンを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号を適用するパターンを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号を適用するパターンを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。しかも、暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれる。入力データと出力データとで暗号モードが異なることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【００１２】
本発明の第２の態様に係る記憶装置は、第１の態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する出力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定することを特徴とするものである。
【００１３】
第２の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する出力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する。ストリーム暗号を適用する部分とブロック暗号を適用する部分とを出力データ内に混在させることにより、攻撃者による出力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００１４】
本発明の第３の態様に係る記憶装置は、第２の態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定することを特徴とするものである。
【００１５】
第３の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する。出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置をアクセス毎に異ならせることにより、攻撃者による出力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００１６】
本発明の第４の態様に係る記憶装置は、第２又は第３の態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定することを特徴とするものである。
【００１７】
第４の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する。出力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズをアクセス毎に異ならせることにより、攻撃者による出力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００１８】
本発明の第５の態様に係る記憶装置は、第１〜第４のいずれか一つの態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する入力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定することを特徴とするものである。
【００１９】
第５の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する入力データに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する。ストリーム暗号を適用する部分とブロック暗号を適用する部分とを入力データ内に混在させることにより、攻撃者による入力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２０】
本発明の第６の態様に係る記憶装置は、第５の態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定することを特徴とするものである。
【００２１】
第６の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する。入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置をアクセス毎に異ならせることにより、攻撃者による入力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２２】
本発明の第７の態様に係る記憶装置は、第５又は第６の態様に係る記憶装置において特に、前記暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定することを特徴とするものである。
【００２３】
第７の態様に係る記憶装置によれば、暗号モード制御部は、一のアクセスに関する入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する。入力データのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズをアクセス毎に異ならせることにより、攻撃者による入力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２４】
本発明の第８の態様に係る記憶装置は、第１の態様に係る記憶装置において特に、前記暗号モード制御部は、複数のアクセスに関する複数の出力データに対して、ストリーム暗号を適用する出力データとブロック暗号を適用する出力データとを設定することを特徴とするものである。
【００２５】
第８の態様に係る記憶装置によれば、暗号モード制御部は、複数のアクセスに関する複数の出力データに対して、ストリーム暗号を適用する出力データとブロック暗号を適用する出力データとを設定する。ストリーム暗号を適用する出力データとブロック暗号を適用する出力データとを併用することにより、攻撃者による出力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２６】
本発明の第９の態様に係る記憶装置は、第１又は第８の態様に係る記憶装置において特に、前記暗号モード制御部は、複数のアクセスに関する複数の入力データに対して、ストリーム暗号を適用する入力データとブロック暗号を適用する入力データとを設定することを特徴とするものである。
【００２７】
第９の態様に係る記憶装置によれば、暗号モード制御部は、複数のアクセスに関する複数の入力データに対して、ストリーム暗号を適用する入力データとブロック暗号を適用する入力データとを設定する。ストリーム暗号を適用する入力データとブロック暗号を適用する入力データとを併用することにより、攻撃者による入力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００２８】
本発明の第１０の態様に係る記憶装置は、第１〜第９のいずれか一つの態様に係る記憶装置において特に、ストリーム暗号及びブロック暗号の適用は、要求される通信速度及び要求される攻撃耐性に基づいて選択されることを特徴とするものである。
【００２９】
第１０の態様に係る記憶装置によれば、ストリーム暗号及びブロック暗号の適用は、要求される通信速度及び要求される攻撃耐性に基づいて選択される。速い通信速度が要求される場合には、ストリーム暗号を選択することにより、速い通信速度を実現することができる。また、高い攻撃耐性が要求される場合には、ブロック暗号を選択することにより、高い攻撃耐性を実現することができる。
【００３０】
本発明の第１１の態様に係る記憶装置は、第１〜第１０のいずれか一つの態様に係る記憶装置において特に、前記暗号化部は、ブロック暗号を行う暗号化回路を有し、前記暗号化回路の動作モードとして、ストリーム暗号を実現する暗号モードと、ブロック暗号を実現する暗号モードとを切り替えることを特徴とするものである。
【００３１】
第１１の態様に係る記憶装置によれば、暗号化回路の動作モードを、ストリーム暗号を実現する暗号モードと、ブロック暗号を実現する暗号モードとで切り替えることにより、ストリーム暗号及びブロック暗号を行う。従って、ストリーム暗号を行う暗号化回路とブロック暗号を行う暗号化回路とを個別に実装する必要がないため、回路規模を縮小できるとともに、コストを削減することが可能となる。
【００３２】
本発明の第１２の態様に係る記憶装置は、第１〜第１０のいずれか一つの態様に係る記憶装置において特に、前記暗号化部は、ストリーム暗号を行う第１の暗号化回路と、ブロック暗号を行う第２の暗号化回路と、を有することを特徴とするものである。
【００３３】
第１２の態様に係る記憶装置によれば、暗号化部は、ストリーム暗号を行う第１の暗号化回路とブロック暗号を行う第２の暗号化回路とを有する。ストリーム暗号を行う第１の暗号化回路とブロック暗号を行う第２の暗号化回路とを個別に実装することにより、ストリーム暗号とブロック暗号とで別個の暗号アルゴリズムが適用されるため、攻撃耐性をさらに向上できるとともに、セキュリティ強度を向上することが可能となる。
【００３４】
本発明の第１３の態様に係る情報処理システムは、通信装置と、前記通信装置に接続される記憶装置と、を備え、前記記憶装置は、コンテンツデータが記憶された記憶部と、前記通信装置から入力された、暗号化された入力データを復号する復号部と、前記復号部によって復号された入力データに基づいて前記記憶部から読み出されたコンテンツデータを暗号化することにより、暗号化された出力データを出力する暗号化部と、入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定可能な暗号モード制御部と、を有し、前記暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれることを特徴とするものである。
【００３５】
第１３の態様に係る情報処理システムによれば、暗号モード制御部は、入力データ及び出力データの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンを設定する。複数のパターンの中から最適なパターンを選択することにより、状況や目的に応じて適切な暗号処理を行うことが可能となる。しかも、暗号モード制御部が設定する複数のパターンには、一のアクセスに関する入力データと出力データとで暗号モードが異なるパターンが含まれる。入力データと出力データとで暗号モードが異なることにより、攻撃者による解析が困難となるため、攻撃耐性を向上することが可能となる。
【発明の効果】
【００３６】
本発明によれば、ストリーム暗号及びブロック暗号を併用することにより、処理速度の向上と攻撃耐性の向上とを両立することが可能な、記憶装置及びそれを備える情報処理システムを得ることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態に係る情報処理システムの全体構成を示す図である。
【図２】通信装置の構成を簡略化して示す図である。
【図３】セキュリティ制御回路の構成を簡略化して示す図である。
【図４】暗号化・復号回路の構成を簡略化して示す図である。
【図５】暗号モード制御パターンを示す図である。
【図６】暗号モード制御パターンを示す図である。
【図７】暗号モード制御パターンを示す図である。
【図８】暗号モード制御パターンを示す図である。
【図９】暗号モード制御パターンを示す図である。
【図１０】暗号モード制御パターンを示す図である。
【図１１】暗号モード制御パターンを示す図である。
【図１２】暗号化・復号回路の他の構成を示す図である。
【発明を実施するための形態】
【００３８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３９】
図１は、本発明の実施の形態に係る情報処理システム１の全体構成を示す図である。情報処理システム１は、通信装置２と半導体記憶装置３とを備えて構成されている。通信装置２は、例えばパーソナルコンピュータである。半導体記憶装置３は、例えば、通信装置２に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置３に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
【００４０】
通信装置２は、マイクロプロセッサ１１とセキュリティ制御回路１２とを備えて構成されている。半導体記憶装置３は、セキュリティ制御回路２１とメモリアレイ２２とを備えて構成されている。セキュリティ制御回路１２，２１は、後述する暗号処理によって、相互にセキュア通信を行う。メモリアレイ２２には、画像、音声、テキスト、コード、管理情報等の任意のコンテンツデータが記憶されている。メモリアレイ２２は、例えばＮＡＮＤ型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ２２はＮＯＲ型フラッシュメモリ等を用いて構成されていても良い。
【００４１】
図２は、通信装置２の構成を簡略化して示す図である。マイクロプロセッサ１１は、バス３０を介して相互に接続された、ＣＰＵ３１、演算器３２、ＲＡＭ３３、及びＲＯＭ３４を備えて構成されている。セキュリティ制御回路１２は、バス３０を介してマイクロプロセッサ１１に接続されている。
【００４２】
図３は、セキュリティ制御回路２１の構成を簡略化して示す図である。図３の接続関係で示すように、セキュリティ制御回路２１は、ホストインタフェース４１、暗号モード制御回路４２、暗号化・復号回路４３、シーケンサ４４、及びメモリインタフェース４５を備えて構成されている。暗号化・復号回路４３は、暗号モードとして、平文をビット単位で暗号化するストリーム暗号と、平文を固定長（例えば１６バイト長）のブロック単位で暗号化するブロック暗号とを切り替えて適用可能である。暗号モード制御回路４２は、暗号化・復号回路４３に対してストリーム暗号又はブロック暗号の暗号モードを設定する。
【００４３】
本実施の形態の例では、暗号化・復号回路４３には、ブロック暗号の構成法の一種であるＳＰＮ構造（SPN：Substitution Permutation Network）を持つ暗号アルゴリズムが実装されている。暗号アルゴリズムとしては、例えばＡＥＳ（Advanced Encryption Standard）が使用される。ＡＥＳのＣＢＣモード（CBC：Cipher Block Chaining）によってブロック暗号が実現され、ＡＥＳのＣＴＲモード（カウンタモード）によってストリーム暗号が実現される。
【００４４】
図４は、暗号化・復号回路４３の構成を簡略化して示す図である。図４の接続関係で示すように、暗号化・復号回路４３は、復号回路５１、暗号化回路５２、演算回路５３、カウンタ５４、及びセレクタ５５〜５７を備えて構成されている。なお、図示は省略するが、通信装置２のセキュリティ制御回路１２も、図４に示した暗号化・復号回路４３と同様の構成及び機能を備えている。
【００４５】
以下、図１〜４を参照して、本実施の形態に係る情報処理システム１の動作について説明する。以下の例では、通信装置２がメモリアレイ２２にアクセスするためのアクセスコマンドとして、リードコマンドを使用する場合について説明する。
【００４６】
図１を参照して、まずマイクロプロセッサ１１は、後述する暗号パターンを設定するための暗号制御コマンドを発行する。暗号制御コマンドは、それが暗号制御コマンドであることを識別するための特定のコマンドＩＤと、複数の暗号パターンの中から所望の暗号パターンを選択するための選択情報とを含む。マイクロプロセッサ１１は、暗号制御コマンドを、セキュリティ制御回路１２を介してセキュリティ制御回路２１に送信する。図３を参照して、セキュリティ制御回路２１が受信した暗号制御コマンドは、ホストインタフェース４１及び暗号化・復号回路４３を介してシーケンサ４４に入力される。なお、暗号制御コマンドは暗号化されていないため、暗号化・復号回路４３は、ホストインタフェース４１から入力された暗号制御コマンドをそのままスルーしてシーケンサ４４に入力する。
【００４７】
次にシーケンサ４４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路４２に転送する。
【００４８】
図５〜１１は、暗号パターンの例を示す図である。入力データＤＩは、通信装置２から半導体記憶装置３に入力されるリードコマンドであり、出力データＤＯは、半導体記憶装置３から通信装置２に向けて出力されるコンテンツデータである。ハッチングを施した部分にはブロック暗号が適用されることを意味し、ハッチングを施していない部分にはストリーム暗号が適用されることを意味する。これらの暗号パターンは、セキュリティ制御回路１２，２１によって共有され、メモリアレイ２２内に格納されている。但し、暗号パターンは、セキュリティ制御回路１２，２１が参照可能な他の不揮発性メモリ内に格納されていてもよい。なお、図５〜１１に示した暗号パターンは一例であり、他の任意の暗号パターンを含めてもよい。
【００４９】
パターンＰ１では、入力データＤＩの全体及び出力データＤＯの全体にブロック暗号が適用される。
【００５０】
パターンＰ２では、入力データＤＩの全体及び出力データＤＯの全体にストリーム暗号が適用される。
【００５１】
パターンＰ３では、入力データＤＩの全体にブロック暗号が適用され、出力データＤＯの全体にストリーム暗号が適用される。
【００５２】
パターンＰ４では、入力データＤＩの全体にストリーム暗号が適用され、出力データＤＯの全体にブロック暗号が適用される。
【００５３】
パターンＰ５〜Ｐ７では、入力データＤＩの全体にブロック暗号が適用され、出力データＤＯには、ストリーム暗号が適用される部分とブロック暗号が適用される部分とが混在している。なお、パターンＰ５〜Ｐ７において、入力データＤＩに対しては他の任意の暗号パターンが適用されてもよい。
【００５４】
パターンＰ５では、出力データＤＯにおいて、ブロック暗号が適用される部分のデータサイズは、ブロック暗号の処理単位である１ブロック（１６バイト）であり、ブロック暗号が適用される部分の位置が、アクセス毎に異なっている。また、ブロック暗号が適用される部分の位置が異なることに伴って、ストリーム暗号が適用される部分の位置も異なる。つまり、出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置が、アクセス毎に再設定される。例えば、１回目のリードアクセスに対する出力データＤＯでは、１番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。また、２回目のリードアクセスに対する出力データＤＯでは、２番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。なお、ブロック暗号が適用される部分のデータサイズは、１ブロックに限らず、２ブロック以上であってもよい。
【００５５】
パターンＰ６では、出力データＤＯにおいて、ブロック暗号が適用される部分のデータサイズが、アクセス毎に異なっている。また、ブロック暗号が適用される部分のデータサイズが異なることに伴って、ストリーム暗号が適用される部分のデータサイズも異なる。つまり、出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各データサイズが、アクセス毎に再設定される。例えば、１回目のリードアクセスに対する出力データＤＯでは、１番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。また、２回目のリードアクセスに対する出力データＤＯでは、１番目及び２番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。
【００５６】
パターンＰ７は、パターンＰ５，Ｐ６を組み合わせたものである。出力データＤＯにおいて、ストリーム暗号が適用される部分及びブロック暗号が適用される部分の各位置及び各データサイズが、アクセス毎に異なっている。
【００５７】
パターンＰ８〜Ｐ１０では、出力データＤＯの全体にストリーム暗号が適用され、入力データＤＩには、ストリーム暗号が適用される部分とブロック暗号が適用される部分とが混在している。なお、パターンＰ８〜Ｐ１０において、出力データＤＯに対しては他の任意の暗号パターンが適用されてもよい。
【００５８】
パターンＰ８では、入力データＤＩにおいて、ブロック暗号が適用される部分のデータサイズは、ブロック暗号の処理単位である１ブロック（１６バイト）であり、ブロック暗号が適用される部分の位置が、アクセス毎に異なっている。また、ブロック暗号が適用される部分の位置が異なることに伴って、ストリーム暗号が適用される部分の位置も異なる。つまり、入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置が、アクセス毎に再設定される。例えば、１回目のリードアクセスにおける入力データＤＩでは、１番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。また、２回目のリードアクセスにおける入力データＤＩでは、２番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。なお、ブロック暗号が適用される部分のデータサイズは、１ブロックに限らず、２ブロック以上であってもよい。
【００５９】
パターンＰ９では、入力データＤＩにおいて、ブロック暗号が適用される部分のデータサイズが、アクセス毎に異なっている。また、ブロック暗号が適用される部分のデータサイズが異なることに伴って、ストリーム暗号が適用される部分のデータサイズも異なる。つまり、入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各データサイズが、アクセス毎に再設定される。例えば、１回目のリードアクセスにおける入力データＤＩでは、１番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。また、２回目のリードアクセスにおける入力データＤＩでは、１番目及び２番目のブロックに対してブロック暗号が適用され、残りのブロックに対してストリーム暗号が適用される。
【００６０】
パターンＰ１０は、パターンＰ８，Ｐ９を組み合わせたものである。入力データＤＩにおいて、ストリーム暗号が適用される部分及びブロック暗号が適用される部分の各位置及び各データサイズが、アクセス毎に異なっている。
【００６１】
パターンＰ１〜Ｐ１０の選択は、図１に示したマイクロプロセッサ１１によってアクセス毎に行われる。マイクロプロセッサ１１は、要求される通信速度及び要求される攻撃耐性に基づいて、パターンＰ１〜Ｐ１０の中から最適なパターンを選択する。
【００６２】
例えば、画像や音声等のサイズの大きいデータを読み出す場合には、速い通信速度が要求されるため、出力データＤＯに関してストリーム暗号が適用されるパターンＰ２，Ｐ３を選択する。また、コードや管理情報等のサイズの小さいデータを読み出す場合には、遅い通信速度で足りるため、出力データＤＯに関してブロック暗号が適用されるパターンＰ１，Ｐ４を選択することにより攻撃耐性を向上する。
【００６３】
また、出力データＤＯに関して高い攻撃耐性が要求される場合には、出力データＤＯに関してブロック暗号が適用されるパターンＰ１，Ｐ４を選択する。あるいは、出力データＤＯに関してストリーム暗号とブロック暗号とが混在するパターンＰ５〜Ｐ７を選択する。
【００６４】
また、入力データＤＩのデータサイズが大きい場合には、速い通信速度が要求されるため、入力データＤＩに関してストリーム暗号が適用されるパターンＰ２，Ｐ４を選択する。また、入力データＤＩのデータサイズが小さい場合には、遅い通信速度で足りるため、入力データＤＩに関してブロック暗号が適用されるパターンＰ１，Ｐ３を選択することにより攻撃耐性を向上する。
【００６５】
また、入力データＤＩに関して高い攻撃耐性が要求される場合には、入力データＤＩに関してブロック暗号が適用されるパターンＰ１，Ｐ３を選択する。あるいは、入力データＤＩに関してストリーム暗号とブロック暗号とが混在するパターンＰ８〜Ｐ１０を選択する。
【００６６】
図３を参照して、上記の通りシーケンサ４４は、暗号制御コマンドに含まれる選択情報を抽出し、その選択情報を暗号モード制御回路４２に転送する。
【００６７】
図３，４を参照して、次に暗号モード制御回路４２は、選択情報で示される暗号パターンに準拠して、セレクタ５５〜５７を制御する。ストリーム暗号を適用する場合には、セレクタ５５〜５７のフラグを「１」に設定し、ブロック暗号を適用する場合には、セレクタ５５〜５７のフラグを「０」に設定する。パターンＰ５〜Ｐ１０のようにストリーム暗号とブロック暗号とが混在する場合には、ストリーム暗号が適用される部分の位置、及びブロック暗号が適用される部分の位置に応じて、セレクタ５５〜５７の設定を順次切り替える。
【００６８】
図１を参照して、次にマイクロプロセッサ１１は、リードコマンドを発行する。リードコマンドは、それがリードコマンドであることを識別するための特定のコマンドＩＤと、読み出し対象のコンテンツデータの所在を示すアドレス情報とを含む。
【００６９】
次にセキュリティ制御回路１２は、選択された暗号パターンに準拠してリードコマンドを暗号化する。例えば、パターンＰ１が選択されている場合にはリードコマンドの全体に対してブロック暗号を適用し、パターンＰ２が選択されている場合にはリードコマンドの全体に対してストリーム暗号を適用する。セキュリティ制御回路１２は、暗号化済みリードコマンドをセキュリティ制御回路２１に送信する。図３を参照して、セキュリティ制御回路２１が受信した暗号化済みリードコマンドは、ホストインタフェース４１を介して暗号化・復号回路４３に入力される。
【００７０】
図４を参照して、暗号化済みリードコマンドは、入力データＤＩとして復号回路５１及び演算回路５３に入力される。
【００７１】
通信装置２から受信した暗号化済みリードコマンドにストリーム暗号が適用されている場合には、上記の暗号モード制御回路４２の制御によってセレクタ５５〜５７のフラグは「１」に設定されている。この場合、演算回路５３は、ホストインタフェース４１から入力された入力データＤＩと、カウンタ５４から出力されるカウントデータＤ１に基づいて生成されたストリームデータＤ２とに基づいて、排他的論理和演算を行う。そして、この演算によって復号された復号済みリードコマンドＤ３を、セレクタ５５を介してシーケンサ４４に入力する。
【００７２】
図３を参照して、次にシーケンサ４４は、復号済みリードコマンドＤ３に基づいてメモリアレイ２２から所望のコンテンツデータＤ５を読み出す。
【００７３】
図４を参照して、上記の暗号モード制御回路４２の制御によってセレクタ５５〜５７のフラグは「１」に設定されている。この場合、コンテンツデータＤ５は演算回路５３に入力される。演算回路５３は、コンテンツデータＤ５と、カウンタ５４から出力されるカウントデータＤ１に基づいて生成されたストリームデータＤ２とに基づいて、排他的論理和演算を行う。そして、この演算によって暗号化された暗号化済みコンテンツデータを、出力データＤＯとして、セレクタ５７を介してホストインタフェース４１に入力する。ホストインタフェース４１は、出力データＤＯをセキュリティ制御回路１２に送信する。
【００７４】
図１を参照して、セキュリティ制御回路１２は、受信した出力データＤＯをストリーム暗号によって復号し、復号済みコンテンツデータをマイクロプロセッサ１１に入力する。
【００７５】
再び図４を参照して、上記の通り暗号化済みリードコマンドは、入力データＤＩとして復号回路５１及び演算回路５３に入力される。
【００７６】
通信装置２から受信した暗号化済みリードコマンドにブロック暗号が適用されている場合には、上記の暗号モード制御回路４２の制御によってセレクタ５５〜５７のフラグは「０」に設定されている。この場合、復号回路５１は、ブロック暗号アルゴリズムによって入力データＤＩを復号し、復号済みリードコマンドＤ４を、セレクタ５５を介してシーケンサ４４に入力する。
【００７７】
図３を参照して、次にシーケンサ４４は、復号済みリードコマンドＤ３に基づいてメモリアレイ２２から所望のコンテンツデータＤ５を読み出す。
【００７８】
図４を参照して、上記の暗号モード制御回路４２の制御によってセレクタ５５〜５７のフラグは「０」に設定されている。この場合、コンテンツデータＤ５はセレクタ５６を介して暗号化回路５２に入力される。暗号化回路５２は、ブロック暗号アルゴリズムによってコンテンツデータＤ５を暗号化し、暗号化済みコンテンツデータを、出力データＤＯとして、セレクタ５７を介してホストインタフェース４１に入力する。ホストインタフェース４１は、出力データＤＯをセキュリティ制御回路１２に送信する。
【００７９】
図１を参照して、セキュリティ制御回路１２は、受信した出力データＤＯをブロック暗号によって復号し、復号済みコンテンツデータをマイクロプロセッサ１１に入力する。
【００８０】
＜変形例＞
図１２は、暗号化・復号回路４３の他の構成を簡略化して示す図である。図１２の接続関係で示すように、暗号化・復号回路４３は、復号回路６１，６２、暗号化回路６３，６４、及びセレクタ６５，６６を備えて構成されている。復号回路６１は、ストリーム暗号アルゴリズムによって入力データＤＩを復号する。復号回路６２は、ブロック暗号アルゴリズムによって入力データＤＩを復号する。暗号化回路６３は、ストリーム暗号アルゴリズムによってコンテンツデータを暗号化する。暗号化回路６４は、ブロック暗号アルゴリズムによってコンテンツデータを暗号化する。復号回路６１及び暗号化回路６３におけるストリーム暗号アルゴリズムとしては、ＫＣｉｐｈｅｒ−２又はＥｎｏｃｏｒｏ等が使用される。
【００８１】
暗号モード制御回路４２は、選択情報で示される暗号パターンに準拠して、セレクタ６５，６６を制御する。ストリーム暗号を適用する場合には、セレクタ６５，６６のフラグを「１」に設定し、ブロック暗号を適用する場合には、セレクタ６５，６６のフラグを「０」に設定する。パターンＰ５〜Ｐ１０のようにストリーム暗号とブロック暗号とが混在する場合には、ストリーム暗号が適用される部分の位置、及びブロック暗号が適用される部分の位置に応じて、セレクタ６５，６６の設定を順次切り替える。
【００８２】
＜まとめ＞
上記実施の形態に係る半導体記憶装置３によれば、暗号モード制御回路４２（暗号モード制御部）は、入力データＤＩ及び出力データＤＯの暗号モードとして、ストリーム暗号及びブロック暗号を組み合わせた複数のパターンＰ１〜Ｐ１０を設定する。複数のパターンＰ１〜Ｐ１０の中から最適なパターンを選択することにより、状況や目的に応じて適切な暗号処理を行うことができる。例えば、速い処理速度が要求される状況では、ストリーム暗号を適用するパターンを選択することによって高速処理を実現でき、また、高い攻撃耐性が要求される状況では、ブロック暗号を適用するパターンを選択することによって高い攻撃耐性を実現できる。その結果、処理速度の向上と攻撃耐性の向上とを両立することが可能となる。しかも、暗号モード制御回路４２が設定する複数のパターンＰ１〜Ｐ１０には、一のアクセスに関する入力データＤＩと出力データＤＯとで暗号モードが異なるパターンＰ３〜Ｐ１０が含まれる。入力データＤＩと出力データＤＯとで暗号モードが異なることにより、攻撃者による解析が困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８３】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ５〜Ｐ７を選択した場合、暗号モード制御回路４２は、一のアクセスに関する出力データＤＯに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する。ストリーム暗号を適用する部分とブロック暗号を適用する部分とを出力データＤＯ内に混在させることにより、攻撃者による出力データの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８４】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ５，Ｐ７を選択した場合、暗号モード制御回路４２は、一のアクセスに関する出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する。出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置をアクセス毎に異ならせることにより、攻撃者による出力データＤＯの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８５】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ６，Ｐ７を選択した場合、暗号モード制御回路４２は、一のアクセスに関する出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する。出力データＤＯのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズをアクセス毎に異ならせることにより、攻撃者による出力データＤＯの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８６】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ８〜Ｐ１０を選択した場合、暗号モード制御回路４２は、一のアクセスに関する入力データＤＩに対して、ストリーム暗号を適用する部分とブロック暗号を適用する部分とを設定する。ストリーム暗号を適用する部分とブロック暗号を適用する部分とを入力データＤＩ内に混在させることにより、攻撃者による入力データＤＩの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８７】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ８，Ｐ１０を選択した場合、暗号モード制御回路４２は、一のアクセスに関する入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置を、アクセス毎に再設定する。入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各位置をアクセス毎に異ならせることにより、攻撃者による入力データＤＩの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８８】
また、上記実施の形態に係る半導体記憶装置３によれば、パターンＰ９，Ｐ１０を選択した場合、暗号モード制御回路４２は、一のアクセスに関する入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズを、アクセス毎に再設定する。入力データＤＩのうちストリーム暗号を適用する部分及びブロック暗号を適用する部分の各サイズをアクセス毎に異ならせることにより、攻撃者による入力データＤＩの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００８９】
また、上記実施の形態に係る半導体記憶装置３によれば、暗号モード制御回路４２は、複数のアクセスに関する複数の出力データＤＯに対して、ストリーム暗号を適用する出力データＤＯとブロック暗号を適用する出力データＤＯとを設定する。例えば、あるリードアクセスにおいてはパターンＰ１を選択することによって出力データＤＯにブロック暗号を適用し、別のアクセスにおいてはパターンＰ２を選択することによって出力データＤＯにストリーム暗号を適用する。ストリーム暗号を適用する出力データＤＯとブロック暗号を適用する出力データＤＯとを併用することにより、攻撃者による出力データＤＯの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００９０】
また、上記実施の形態に係る半導体記憶装置３によれば、暗号モード制御回路４２は、複数のアクセスに関する複数の入力データＤＩに対して、ストリーム暗号を適用する入力データＤＩとブロック暗号を適用する入力データＤＩとを設定する。例えば、あるリードアクセスにおいてはパターンＰ１を選択することによって入力データＤＩにブロック暗号を適用し、別のアクセスにおいてはパターンＰ２を選択することによって入力データＤＩにストリーム暗号を適用する。ストリーム暗号を適用する入力データＤＩとブロック暗号を適用する入力データＤＩとを併用することにより、攻撃者による入力データＤＩの解析がさらに困難となるため、攻撃耐性をさらに向上することが可能となる。
【００９１】
また、上記実施の形態に係る半導体記憶装置３によれば、ストリーム暗号及びブロック暗号の適用は、要求される通信速度及び要求される攻撃耐性に基づいて選択される。速い通信速度が要求される場合には、ストリーム暗号を選択することにより、速い通信速度を実現することができる。また、高い攻撃耐性が要求される場合には、ブロック暗号を選択することにより、高い攻撃耐性を実現することができる。
【００９２】
また、上記実施の形態に係る半導体記憶装置３によれば、暗号化回路５２の動作モードを、ストリーム暗号を実現する暗号モードと、ブロック暗号を実現する暗号モードとで切り替えることにより、ストリーム暗号及びブロック暗号を行う。従って、ストリーム暗号を行う暗号化回路とブロック暗号を行う暗号化回路とを個別に実装する必要がないため、回路規模を縮小できるとともに、コストを削減することが可能となる。
【００９３】
また、上記変形例に係る半導体記憶装置３によれば、暗号化・復号回路４３（暗号化部）は、ストリーム暗号を行う第１の暗号化回路６３とブロック暗号を行う第２の暗号化回路６４とを有する。ストリーム暗号を行う第１の暗号化回路６３とブロック暗号を行う第２の暗号化回路６４とを個別に実装することにより、ストリーム暗号とブロック暗号とで別個の暗号アルゴリズムが適用されるため、攻撃耐性をさらに向上できるとともに、セキュリティ強度を向上することが可能となる。
【符号の説明】
【００９４】
１  情報処理システム
２  通信装置
３  半導体記憶装置
１２，２１  セキュリティ制御回路
２２  メモリアレイ
４２  暗号モード制御回路
４３  暗号化・復号回路
４４  シーケンサ
５１，６１，６２  復号回路
５２，６３，６４  暗号化回路
５３  演算回路
【図１】
2015061182.tif 000003
【図２】
2015061182.tif 000004
【図３】
2015061182.tif 000005
【図４】
2015061182.tif 000006
【図５】
2015061182.tif 000007
【図６】
2015061182.tif 000008
【図７】
2015061182.tif 000009
【図８】
2015061182.tif 000010
【図９】
2015061182.tif 000011
【図１０】
2015061182.tif 000012
【図１１】
2015061182.tif 000013
【図１２】
2015061182.tif 000014