上述した背景技術に係る情報処理システムによると、通信装置及び半導体記憶装置のそれぞれに擬似乱数生成器を実装する必要がある。そのため、システム全体の実装コストが高くなるという問題がある。
また、上記特許文献1に開示された暗号鍵更新システムによると、各装置が使用できる暗号鍵は、予め暗号鍵リストに記されている暗号鍵に限定される。従って、使用できる暗号鍵の数が限定されていることによって、攻撃耐性が低いという問題がある。
本発明はかかる問題を解決するために成されたものであり、通信装置と記憶装置とを備える情報処理システムにおいて、実装コストの削減及び攻撃耐性の向上を実現しつつ、セッション鍵を用いた暗号通信を行うことが可能な、情報処理システムを得ることを目的とするものである。
本発明の第1の態様に係る情報処理システムは、マイクロプロセッサと第1のセキュリティ回路とを有する通信装置と、データ記憶部と第2のセキュリティ回路とを有する記憶装置と、を備え、前記第1のセキュリティ回路は、セッション鍵生成部と、第1のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第1の暗号化・復号部とを含み、前記第2のセキュリティ回路は、第2のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第2の暗号化・復号部とを含み、前記データ記憶部には、コンテンツデータと、所定の初期セッション鍵と、第1暗号アルゴリズムとは異なる第2暗号アルゴリズムで初期セッション鍵が暗号化された暗号化初期セッション鍵とが記憶されており、データ通信を開始する前の初期化処理において、前記マイクロプロセッサは、前記記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を前記第1のキーストリーム生成部に設定し、前記記憶装置は、前記データ記憶部から読み出した初期セッション鍵を前記第2のキーストリーム生成部に設定することを特徴とするものである。
第1の態様に係る情報処理システムによれば、通信装置が有する第1のセキュリティ回路が、セッション鍵生成部、第1のキーストリーム生成部、及び第1の暗号化・復号部を含むのに対し、記憶装置が有する第2のセキュリティ回路は、第2のキーストリーム生成部及び第2の暗号化・復号部を含む。つまり、第2のセキュリティ回路はセッション鍵生成部を含まない。このように、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装を省略することにより、記憶装置の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサは、記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を第1のキーストリーム生成部に設定する。また、記憶装置は、データ記憶部から読み出した初期セッション鍵を、第2のキーストリーム生成部に設定する。これにより、初期化処理において、第1のキーストリーム生成部と第2のキーストリーム生成部とに、共通の初期セッション鍵を設定することができる。
また、初期セッション鍵から暗号化初期セッション鍵を得るための暗号アルゴリズムとしては、第1の暗号化・復号部及び第2の暗号化・復号部が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用される。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵から初期セッション鍵を復号できないため、攻撃耐性を向上することが可能となる。
本発明の第2の態様に係る情報処理システムは、第1の態様に係る情報処理システムにおいて特に、初期化処理が完了した後の鍵確立処理において、前記第1のキーストリーム生成部は、前記マイクロプロセッサによって設定された初期セッション鍵に基づいて、第1ストリームキーを生成し、前記セッション鍵生成部は、初期セッション鍵の次に使用する第1セッション鍵を生成し、前記第1の暗号化・復号部は、鍵確立コマンドと、前記セッション鍵生成部が生成した第1セッション鍵とを、前記第1のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化鍵確立コマンドを生成し、前記第2のキーストリーム生成部は、前記データ記憶部から読み出した初期セッション鍵に基づいて、第1ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化鍵確立コマンドを、前記第2のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、鍵確立コマンドと第1セッション鍵とを取得し、前記通信装置は、前記セッション鍵生成部が生成した第1セッション鍵を前記第1のキーストリーム生成部に設定し、前記記憶装置は、前記第2の暗号化・復号部が取得した第1セッション鍵を前記第2のキーストリーム生成部に設定することを特徴とするものである。
第2の態様に係る情報処理システムによれば、初期化処理が完了した後の鍵確立処理において、第1の暗号化・復号部は、鍵確立コマンドと、セッション鍵生成部が生成した第1セッション鍵とを、第1ストリームキーを用いて暗号化することによって、暗号化鍵確立コマンドを生成する。また、第2の暗号化・復号部は、通信装置から受信した暗号化鍵確立コマンドを、第1ストリームキーを用いて復号することによって、鍵確立コマンドと第1セッション鍵とを取得する。これにより、記憶装置は、通信装置のセッション鍵生成部が生成した第1セッション鍵と同一の第1セッション鍵を取得することができる。その結果、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。
本発明の第3の態様に係る情報処理システムは、第2の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記第1のキーストリーム生成部は、前記セッション鍵生成部が生成した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記セッション鍵生成部は、第1セッション鍵の次に使用する第2セッション鍵を生成し、前記第1の暗号化・復号部は、前記データ記憶部にアクセスするためのアクセスコマンドと、前記セッション鍵生成部が生成した第2セッション鍵とを、前記第1のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化アクセスコマンドを生成し、前記第2のキーストリーム生成部は、前記第2の暗号化・復号部が取得した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化アクセスコマンドを、前記第2のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、アクセスコマンドと第2セッション鍵とを取得することを特徴とするものである。
第3の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第1の暗号化・復号部は、アクセスコマンドと、セッション鍵生成部が生成した第2セッション鍵とを、第2ストリームキーを用いて暗号化することによって、暗号化アクセスコマンドを生成する。また、第2の暗号化・復号部は、通信装置から受信した暗号化アクセスコマンドを、第2ストリームキーを用いて復号することによって、アクセスコマンドと第2セッション鍵とを取得する。これにより、記憶装置は、通信装置が生成したアクセスコマンドを適切に取得できるとともに、通信装置のセッション鍵生成部が生成した第2セッション鍵と同一の第2セッション鍵を取得することができる。その結果、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。しかも、第2セッション鍵は、アクセスコマンドに付加されて通信装置から記憶装置に送信されるため、第2セッション鍵とアクセスコマンドとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
本発明の第4の態様に係る情報処理システムは、第3の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記第2のキーストリーム生成部は、前記第2の暗号化・復号部が取得した第2セッション鍵に基づいて、第3ストリームキーを生成し、前記第2の暗号化・復号部は、前記データ記憶部から読み出したコンテンツデータを、前記第2のキーストリーム生成部が第2セッション鍵に基づいて生成した第3ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化コンテンツデータを生成し、前記第1のキーストリーム生成部は、前記セッション鍵生成部が生成した第2セッション鍵に基づいて、第3ストリームキーを生成し、前記第1の暗号化・復号部は、前記記憶装置から受信した暗号化コンテンツデータを、前記第1のキーストリーム生成部が第2セッション鍵に基づいて生成した第3ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、コンテンツデータを取得することを特徴とするものである。
第4の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第2の暗号化・復号部は、データ記憶部から読み出したコンテンツデータを、第3ストリームキーを用いて暗号化することによって、暗号化コンテンツデータを生成する。また、第1の暗号化・復号部は、記憶装置から受信した暗号化コンテンツデータを、第3ストリームキーを用いて復号することによって、コンテンツデータを取得する。このように、コンテンツデータの暗号化及び復号に使用される第3ストリームキーは、アクセスコマンドの暗号化及び復号に使用される第2ストリームキーとは異なるため、攻撃耐性を向上することが可能となる。
本発明の第5の態様に係る情報処理システムは、マイクロプロセッサと第1のセキュリティ回路とを有する通信装置と、データ記憶部と第2のセキュリティ回路とを有する記憶装置と、を備え、前記第1のセキュリティ回路は、第1のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第1の暗号化・復号部とを含み、前記第2のセキュリティ回路は、セッション鍵生成部と、第2のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第2の暗号化・復号部とを含み、前記データ記憶部には、コンテンツデータと、所定の初期セッション鍵と、第1暗号アルゴリズムとは異なる第2暗号アルゴリズムで初期セッション鍵が暗号化された暗号化初期セッション鍵とが記憶されており、データ通信を開始する前の初期化処理において、前記マイクロプロセッサは、前記記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を前記第1のキーストリーム生成部に設定し、前記記憶装置は、前記データ記憶部から読み出した初期セッション鍵を前記第2のキーストリーム生成部に設定することを特徴とするものである。
第5の態様に係る情報処理システムによれば、記憶装置が有する第2のセキュリティ回路が、セッション鍵生成部、第2のキーストリーム生成部、及び第2の暗号化・復号部を含むのに対し、通信装置が有する第1のセキュリティ回路は、第1のキーストリーム生成部及び第1の暗号化・復号部を含む。つまり、第1のセキュリティ回路はセッション鍵生成部を含まない。このように、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することにより、通信装置の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサは、記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を第1のキーストリーム生成部に設定する。また、記憶装置は、データ記憶部から読み出した初期セッション鍵を、第2のキーストリーム生成部に設定する。これにより、初期化処理において、第1のキーストリーム生成部と第2のキーストリーム生成部とに、共通の初期セッション鍵を設定することができる。
また、記憶装置毎にセッション鍵の生成アルゴリズムを異ならせることにより、攻撃者は記憶装置毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。
さらに、初期セッション鍵から暗号化初期セッション鍵を得るための暗号アルゴリズムとしては、第1の暗号化・復号部及び第2の暗号化・復号部が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用されている。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵から初期セッション鍵を復号できないため、攻撃耐性を向上することが可能となる。
本発明の第6の態様に係る情報処理システムは、第5の態様に係る情報処理システムにおいて特に、初期化処理が完了した後の鍵確立処理において、前記第1のキーストリーム生成部は、前記マイクロプロセッサによって設定された初期セッション鍵に基づいて、第1ストリームキーを生成し、前記第1の暗号化・復号部は、鍵確立コマンドを、前記第1のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化鍵確立コマンドを生成し、前記第2のキーストリーム生成部は、前記データ記憶部から読み出した初期セッション鍵に基づいて、第1ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化鍵確立コマンドを、前記第2のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、鍵確立コマンドを取得し、前記セッション鍵生成部は、初期セッション鍵の次に使用する第1セッション鍵を生成し、前記第2の暗号化・復号部は、前記セッション鍵生成部が生成した第1セッション鍵を、前記第2のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化第1セッション鍵を生成し、前記第1の暗号化・復号部は、前記記憶装置から受信した暗号化第1セッション鍵を、前記第1のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、第1セッション鍵を取得し、前記記憶装置は、前記セッション鍵生成部が生成した第1セッション鍵を前記第2のキーストリーム生成部に設定し、前記通信装置は、前記第1の暗号化・復号部が取得した第1セッション鍵を前記第1のキーストリーム生成部に設定することを特徴とするものである。
第6の態様に係る情報処理システムによれば、初期化処理が完了した後の鍵確立処理において、第2の暗号化・復号部は、セッション鍵生成部が生成した第1セッション鍵を、第1ストリームキーを用いて暗号化することによって、暗号化第1セッション鍵を生成する。また、第1の暗号化・復号部は、通信装置から受信した暗号化第1セッション鍵を、第1ストリームキーを用いて復号することによって、第1セッション鍵を取得する。これにより、通信装置は、記憶装置のセッション鍵生成部が生成した第1セッション鍵と同一の第1セッション鍵を取得することができる。その結果、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。
本発明の第7の態様に係る情報処理システムは、第6の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記第1のキーストリーム生成部は、前記第1の暗号化・復号部が取得した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記第1の暗号化・復号部は、前記データ記憶部にアクセスするためのアクセスコマンドを、前記第1のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化アクセスコマンドを生成し、前記第2のキーストリーム生成部は、前記セッション鍵生成部が生成した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化アクセスコマンドを、前記第2のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、アクセスコマンドを取得することを特徴とするものである。
第7の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第1の暗号化・復号部は、アクセスコマンドを、第2ストリームキーを用いて暗号化することによって、暗号化アクセスコマンドを生成する。また、第2の暗号化・復号部は、通信装置から受信した暗号化アクセスコマンドを、第2ストリームキーを用いて復号することによって、アクセスコマンドを取得する。これにより、記憶装置は、通信装置が生成したアクセスコマンドを適切に取得することができる。
本発明の第8の態様に係る情報処理システムは、第7の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記セッション鍵生成部は、第1セッション鍵の次に使用する第2セッション鍵を生成し、前記第2の暗号化・復号部は、前記データ記憶部から読み出したコンテンツデータと、前記セッション鍵生成部が生成した第2セッション鍵とを、前記第2のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化コンテンツデータを生成し、前記第1の暗号化・復号部は、前記記憶装置から受信した暗号化コンテンツデータを、前記第1のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、コンテンツデータと第2セッション鍵とを取得し、前記記憶装置は、前記セッション鍵生成部が生成した第2セッション鍵を前記第2のキーストリーム生成部に設定し、前記通信装置は、前記第1の暗号化・復号部が取得した第2セッション鍵を前記第1のキーストリーム生成部に設定することを特徴とするものである。
第8の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第2の暗号化・復号部は、データ記憶部から読み出したコンテンツデータと、セッション鍵生成部が生成した第2セッション鍵とを、第2ストリームキーを用いて暗号化することによって、暗号化コンテンツデータを生成する。また、第1の暗号化・復号部は、記憶装置から受信した暗号化コンテンツデータを、第2ストリームキーを用いて復号することによって、コンテンツデータと第2セッション鍵とを取得する。これにより、通信装置は、記憶装置のセッション鍵生成部が生成した第2セッション鍵と同一の第2セッション鍵を取得することができる。その結果、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。しかも、第2セッション鍵は、コンテンツデータに付加されて記憶装置から通信装置に送信されるため、第2セッション鍵とコンテンツデータとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
本発明の第9の態様に係る情報処理システムは、第5〜8のいずれか一つの態様に係る情報処理システムにおいて特に、セッション鍵の生成アルゴリズムは、記憶装置毎に異なることを特徴とするものである。
第9の態様に係る情報処理システムによれば、セッション鍵の生成アルゴリズムは、記憶装置毎に異なる。これにより、攻撃者は記憶装置毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。
本発明の第10の態様に係る情報処理システムは、マイクロプロセッサと第1のセキュリティ回路とを有する通信装置と、データ記憶部と第2のセキュリティ回路とを有する記憶装置と、を備え、前記第1のセキュリティ回路は、第1のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第1の暗号化・復号部とを含み、前記第2のセキュリティ回路は、第2のキーストリーム生成部と、第1暗号アルゴリズムで暗号化及び復号を行う第2の暗号化・復号部とを含み、前記データ記憶部には、コンテンツデータと、所定の初期セッション鍵と、第1暗号アルゴリズムとは異なる第2暗号アルゴリズムで初期セッション鍵が暗号化された暗号化初期セッション鍵とが記憶されており、データ通信を開始する前の初期化処理において、前記マイクロプロセッサは、前記記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を前記第1のキーストリーム生成部に設定し、前記記憶装置は、前記データ記憶部から読み出した初期セッション鍵を前記第2のキーストリーム生成部に設定することを特徴とするものである。
第10の態様に係る情報処理システムによれば、第2のセキュリティ回路及び第1のセキュリティ回路はいずれも、セッション鍵生成部を含まない。このように、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装、及び、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することにより、記憶装置及び通信装置の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサは、記憶装置から受信した暗号化初期セッション鍵を第2暗号アルゴリズムで復号することによって初期セッション鍵を取得し、当該初期セッション鍵を第1のキーストリーム生成部に設定する。また、記憶装置は、データ記憶部から読み出した初期セッション鍵を、第2のキーストリーム生成部に設定する。これにより、初期化処理において、第1のキーストリーム生成部と第2のキーストリーム生成部とに、共通の初期セッション鍵を設定することができる。
また、初期セッション鍵から暗号化初期セッション鍵を得るための暗号アルゴリズムとしては、第1の暗号化・復号部及び第2の暗号化・復号部が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用される。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵から初期セッション鍵を復号できないため、攻撃耐性を向上することが可能となる。
本発明の第11の態様に係る情報処理システムは、第10の態様に係る情報処理システムにおいて特に、初期化処理が完了した後の鍵確立処理において、前記第1のキーストリーム生成部は、前記マイクロプロセッサによって設定された初期セッション鍵に基づいて、第1ストリームキーを生成し、前記マイクロプロセッサは、初期セッション鍵の次に使用する第1セッション鍵を生成し、前記第1の暗号化・復号部は、鍵確立コマンドと、前記マイクロプロセッサが生成した第1セッション鍵とを、前記第1のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化鍵確立コマンドを生成し、前記第2のキーストリーム生成部は、前記データ記憶部から読み出した初期セッション鍵に基づいて、第1ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化鍵確立コマンドを、前記第2のキーストリーム生成部が初期セッション鍵に基づいて生成した第1ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、鍵確立コマンドと第1セッション鍵とを取得し、前記通信装置は、前記マイクロプロセッサが生成した第1セッション鍵を前記第1のキーストリーム生成部に設定し、前記記憶装置は、前記第2の暗号化・復号部が取得した第1セッション鍵を前記第2のキーストリーム生成部に設定することを特徴とするものである。
第11の態様に係る情報処理システムによれば、初期化処理が完了した後の鍵確立処理において、第1の暗号化・復号部は、鍵確立コマンドと、マイクロプロセッサが生成した第1セッション鍵とを、第1ストリームキーを用いて暗号化することによって、暗号化鍵確立コマンドを生成する。このように、マイクロプロセッサが第1セッション鍵を生成することにより、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。また、第2の暗号化・復号部は、通信装置から受信した暗号化鍵確立コマンドを、第1ストリームキーを用いて復号することによって、鍵確立コマンドと第1セッション鍵とを取得する。これにより、記憶装置は、通信装置のマイクロプロセッサが生成した第1セッション鍵と同一の第1セッション鍵を取得することができる。その結果、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。
本発明の第12の態様に係る情報処理システムは、第11の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記第1のキーストリーム生成部は、前記マイクロプロセッサが生成した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記マイクロプロセッサは、第1セッション鍵の次に使用する第2セッション鍵を生成し、前記第1の暗号化・復号部は、前記データ記憶部にアクセスするためのアクセスコマンドと、前記マイクロプロセッサが生成した第2セッション鍵とを、前記第1のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化アクセスコマンドを生成し、前記第2のキーストリーム生成部は、前記第2の暗号化・復号部が取得した第1セッション鍵に基づいて、第2ストリームキーを生成し、前記第2の暗号化・復号部は、前記通信装置から受信した暗号化アクセスコマンドを、前記第2のキーストリーム生成部が第1セッション鍵に基づいて生成した第2ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、アクセスコマンドと第2セッション鍵とを取得することを特徴とするものである。
第12の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第1の暗号化・復号部は、アクセスコマンドと、マイクロプロセッサが生成した第2セッション鍵とを、第2ストリームキーを用いて暗号化することによって、暗号化アクセスコマンドを生成する。このように、マイクロプロセッサが第2セッション鍵を生成することにより、通信装置が有する第1のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。また、第2の暗号化・復号部は、通信装置から受信した暗号化アクセスコマンドを、第2ストリームキーを用いて復号することによって、アクセスコマンドと第2セッション鍵とを取得する。これにより、記憶装置は、通信装置が生成したアクセスコマンドを適切に取得できるとともに、通信装置のマイクロプロセッサが生成した第2セッション鍵と同一の第2セッション鍵を取得することができる。その結果、記憶装置が有する第2のセキュリティ回路へのセッション鍵生成部の実装を省略することが可能となる。しかも、第2セッション鍵は、アクセスコマンドに付加されて通信装置から記憶装置に送信されるため、第2セッション鍵とアクセスコマンドとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
本発明の第13の態様に係る情報処理システムは、第12の態様に係る情報処理システムにおいて特に、鍵確立処理が完了した後のデータ通信において、前記第2のキーストリーム生成部は、前記第2の暗号化・復号部が取得した第2セッション鍵に基づいて、第3ストリームキーを生成し、前記第2の暗号化・復号部は、前記データ記憶部から読み出したコンテンツデータを、前記第2のキーストリーム生成部が第2セッション鍵に基づいて生成した第3ストリームキーを用いて、第1暗号アルゴリズムで暗号化することによって、暗号化コンテンツデータを生成し、前記第1のキーストリーム生成部は、前記マイクロプロセッサが生成した第2セッション鍵に基づいて、第3ストリームキーを生成し、前記第1の暗号化・復号部は、前記記憶装置から受信した暗号化コンテンツデータを、前記第1のキーストリーム生成部が第2セッション鍵に基づいて生成した第3ストリームキーを用いて、第1暗号アルゴリズムで復号することによって、コンテンツデータを取得することを特徴とするものである。
第13の態様に係る情報処理システムによれば、鍵確立処理が完了した後のデータ通信において、第2の暗号化・復号部は、データ記憶部から読み出したコンテンツデータを、第3ストリームキーを用いて暗号化することによって、暗号化コンテンツデータを生成する。また、第1の暗号化・復号部は、記憶装置から受信した暗号化コンテンツデータを、第3ストリームキーを用いて復号することによって、コンテンツデータを取得する。このように、コンテンツデータの暗号化及び復号に使用される第3ストリームキーは、アクセスコマンドの暗号化及び復号に使用される第2ストリームキーとは異なるため、攻撃耐性を向上することが可能となる。
本発明の第14の態様に係る情報処理システムは、第10〜13のいずれか一つの態様に係る情報処理システムにおいて特に、前記マイクロプロセッサは、外部命令に従ってセッション鍵の生成アルゴリズムを変更可能であることを特徴とするものである。
第14の態様に係る情報処理システムによれば、マイクロプロセッサは、外部命令に従ってセッション鍵の生成アルゴリズムを変更可能である。セッション鍵の生成アルゴリズムを定期的に又は任意のタイミングで変更することによって、攻撃耐性を向上することが可能となる。
本発明の第15の態様に係る情報処理システムは、第1〜14のいずれか一つの態様に係る情報処理システムにおいて特に、前記マイクロプロセッサは、外部命令に従って第2暗号アルゴリズムを変更可能であることを特徴とするものである。
第15の態様に係る情報処理システムによれば、マイクロプロセッサは、外部命令に従って第2暗号アルゴリズムを変更可能である。第2アルゴリズムを定期的に又は任意のタイミングで変更することによって、攻撃耐性を向上することが可能となる。
本発明の第16の態様に係る情報処理システムは、第1〜15のいずれか一つの態様に係る情報処理システムにおいて特に、前記データ記憶部に記憶されている初期セッション鍵及び暗号化初期セッション鍵は、記憶装置毎に異なることを特徴とするものである。
第16の態様に係る情報処理システムによれば、データ記憶部に記憶されている初期セッション鍵及び暗号化初期セッション鍵は、記憶装置毎に異なる。これにより、攻撃者は記憶装置毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。
本発明によれば、実装コストの削減及び攻撃耐性の向上を実現しつつ、セッション鍵を用いた暗号通信を行うことが可能な、情報処理システムを得ることができる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明に係る情報処理システム1の全体構成を示す図である。情報処理システム1は、通信装置2と半導体記憶装置3とを備えて構成されている。通信装置2は、例えばパーソナルコンピュータである。半導体記憶装置3は、例えば、通信装置2に着脱自在に接続可能なメモリカードである。あるいは、半導体記憶装置3に代えて、光ディスクや磁気ディスク等の任意の記憶装置を用いることもできる。
通信装置2は、ソフトウェア処理を行うマイクロプロセッサ11と、ハードウェア処理を行うセキュリティ回路12とを備えて構成されている。半導体記憶装置3は、セキュリティ回路21、シーケンサ22、及びメモリアレイ23を備えて構成されている。セキュリティ回路12,21は、相互に暗号通信を行う。メモリアレイ23は、例えばNAND型フラッシュメモリを用いて構成されている。但し、この例に限定されるものではなく、メモリアレイ23はNOR型フラッシュメモリ等を用いて構成されていても良い。
図2は、メモリアレイ23の記憶領域を示す図である。領域R1には、所定の初期セッション鍵K0が記憶されている。領域R2には、AES又はRSA等の暗号アルゴリズムによって初期セッション鍵が暗号化された、暗号化初期セッション鍵K0’が記憶されている。領域R3には、画像、音声、テキスト、コード、及び管理情報等の任意のコンテンツデータDが記憶されている。領域R1は、ユーザによるアクセスが禁止されたアクセス禁止領域である。領域R3は、ユーザによるアクセスが許可されたアクセス許可領域である。領域R2は、アクセス禁止領域であってもよいし、アクセス許可領域であってもよい。
図3は、通信装置2の構成を簡略化して示す図である。マイクロプロセッサ11は、バス30を介して相互に接続された、CPU31、演算器32、及びRAMやROM等の記憶部33を備えて構成されている。記憶部33のアクセス禁止領域には、CPU31を動作させるための所定のプログラムが格納されている。
<実施の形態1>
図4は、本発明の実施の形態1に係るセキュリティ回路12(12A)の構成を示す図である。図4の接続関係で示すように、セキュリティ回路12Aは、暗号化・復号回路41、キーストリーム生成回路42、セレクタ43、及びセッション鍵生成回路44を備えて構成されている。セッション鍵生成回路44には、例えば擬似乱数生成器が用いられる。
図5は、本発明の実施の形態1に係るセキュリティ回路21(21A)の構成を示す図である。図5の接続関係で示すように、セキュリティ回路21Aは、暗号化・復号回路51及びキーストリーム生成回路52を備えて構成されている。本実施の形態では、セキュリティ回路21Aにはセッション鍵生成回路が実装されていない。
暗号化・復号回路41,51は、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための上記の暗号アルゴリズムとは異なる、ストリーム暗号の暗号アルゴリズムによって、通信データの暗号化及び復号を行う。本明細書では、暗号化・復号回路41,51が使用する暗号アルゴリズムを「第1暗号アルゴリズム」と称し、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための暗号アルゴリズムを「第2暗号アルゴリズム」と称す。
以下、本実施の形態に係る情報処理システム1の動作について説明する。
(初期化処理)
情報処理システム1の電源が投入されると、まず、キーストリーム生成回路42,52の初期化処理が実行される。初期化処理において、暗号化・復号回路41,51の動作モードは、通信データの暗号化及び復号を実行しないセキュリティオフモードに設定されている。
図6は、初期化処理におけるセキュリティ回路12A,21A間の通信データを示す図である。
まずマイクロプロセッサ11は、所定の初期化コマンドXを発行する。初期化コマンドXは、マイクロプロセッサ11からセキュリティ回路12Aに入力される。セキュリティ回路12Aは、初期化コマンドXを半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から初期化コマンドXを受信する。初期化コマンドXは、セキュリティ回路21Aを介してシーケンサ22に入力される。
次にシーケンサ22は、メモリアレイ23の領域R1,R2から初期セッション鍵K0及び暗号化初期セッション鍵K0’をそれぞれ読み出す。そして、読み出した暗号化初期セッション鍵K0’をセキュリティ回路21Aに入力する。
次にセキュリティ回路21Aは、暗号化初期セッション鍵K0’を通信装置2に送信する。
次に通信装置2は、半導体記憶装置3から暗号化初期セッション鍵K0’を受信する。暗号化初期セッション鍵K0’は、セキュリティ回路12Aを介してマイクロプロセッサ11に入力される。
次にマイクロプロセッサ11は、暗号化初期セッション鍵K0’を第2暗号アルゴリズムで復号することにより、初期セッション鍵K0を取得する。
次にマイクロプロセッサ11は、セレクタ43の入力を、マイクロプロセッサ11側のパスに切り替える。
次にマイクロプロセッサ11は、復号によって取得した初期セッション鍵K0を、セレクタ43を介してキーストリーム生成回路42に入力することにより、初期セッション鍵K0をキーストリーム生成回路42に設定(初期化)する。キーストリーム生成回路42は、初期セッション鍵K0に基づいて生成したストリームキーS0を、暗号化・復号回路41に入力する。
キーストリーム生成回路42の初期化が完了すると、マイクロプロセッサ11は、暗号化・復号回路41の動作モードを、通信データの暗号化及び復号を実行するセキュリティオンモードに設定する。また、マイクロプロセッサ11は、セレクタ43の入力を、セッション鍵生成回路44側のパスに切り替える。
またシーケンサ22は、メモリアレイ23から読み出した初期セッション鍵K0をキーストリーム生成回路52に入力することにより、初期セッション鍵K0をキーストリーム生成回路52に設定(初期化)する。これにより、キーストリーム生成回路42,52は同一の初期セッション鍵K0によって初期化される。キーストリーム生成回路52は、初期セッション鍵K0に基づいて生成したストリームキーS0を、暗号化・復号回路51に入力する。キーストリーム生成回路52の初期化が完了すると、シーケンサ22は、暗号化・復号回路51の動作モードをセキュリティオンモードに設定する。
(鍵確立処理)
初期化処理が完了すると、初期セッション鍵K0をセッション鍵生成回路44によって生成された次のセッション鍵K1に更新するための鍵確立処理が実行される。
図7は、鍵確立処理におけるセキュリティ回路12A,21A間の通信データを示す図である。
まずマイクロプロセッサ11は、所定の鍵確立コマンドYを発行する。鍵確立コマンドYは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次にセッション鍵生成回路44は、セッション鍵K1を生成する。セッション鍵K1は、セッション鍵生成回路44から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、鍵確立コマンドYの末尾にセッション鍵K1を付加し、それらをストリームキーS0を用いて第1暗号アルゴリズムで暗号化することにより、暗号化鍵確立コマンドY’を生成する。セキュリティ回路12Aは、暗号化鍵確立コマンドY’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化鍵確立コマンドY’を受信する。暗号化鍵確立コマンドY’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化鍵確立コマンドY’をストリームキーS0を用いて第1暗号アルゴリズムで復号することにより、鍵確立コマンドY及びセッション鍵K1を取得する。そして、取得した鍵確立コマンドY及びセッション鍵K1をシーケンサ22に入力する。
次にセキュリティ回路12Aは、セッション鍵生成回路44が生成したセッション鍵K1を、セレクタ43を介してキーストリーム生成回路42に入力することにより、セッション鍵K1をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路42は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路41に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力されたセッション鍵K1を、セキュリティ回路21Aに入力する。
次にセキュリティ回路21Aは、シーケンサ22から入力されたセッション鍵K1をキーストリーム生成回路52に入力することにより、セッション鍵K1をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路52は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路51に入力する。
(データ通信処理)
鍵確立処理が完了すると、メモリアレイ23の領域R3に記憶されているコンテンツデータDへのアクセスを伴うデータ通信処理が実行される。
図8は、データ通信処理におけるセキュリティ回路12A,21A間の通信データを示す図である。
まずマイクロプロセッサ11は、所定の読み出しコマンドZを発行する。読み出しコマンドZは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次にセッション鍵生成回路44は、セッション鍵K1の次のセッション鍵K2を生成する。セッション鍵K2は、セッション鍵生成回路44から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、読み出しコマンドZの末尾にセッション鍵K2を付加し、それらをストリームキーS1を用いて第1暗号アルゴリズムで暗号化することにより、暗号化読み出しコマンドZ’を生成する。セキュリティ回路12Aは、暗号化読み出しコマンドZ’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化読み出しコマンドZ’を受信する。暗号化読み出しコマンドZ’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化読み出しコマンドZ’をストリームキーS1を用いて第1暗号アルゴリズムで復号することにより、読み出しコマンドZ及びセッション鍵K2を取得する。そして、取得した読み出しコマンドZ及びセッション鍵K2をシーケンサ22に入力する。
次にセキュリティ回路12Aは、セッション鍵生成回路44が生成したセッション鍵K2を、セレクタ43を介してキーストリーム生成回路42に入力することにより、セッション鍵K2をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路42は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路41に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力されたセッション鍵K2を、セキュリティ回路21Aに入力する。
次にセキュリティ回路21Aは、シーケンサ22から入力されたセッション鍵K2をキーストリーム生成回路52に入力することにより、セッション鍵K2をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路52は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路51に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力された読み出しコマンドZに基づいて、メモリアレイ23から所望のコンテンツデータDを読み出す。そして、読み出したコンテンツデータDを暗号化・復号回路51に入力する。
次に暗号化・復号回路51は、コンテンツデータDをストリームキーS2を用いて第1暗号アルゴリズムで暗号化することにより、暗号化コンテンツデータD’を生成する。セキュリティ回路21Aは、暗号化コンテンツデータD’を通信装置2に送信する。
次に通信装置2は、半導体記憶装置3から暗号化コンテンツデータD’を受信する。暗号化コンテンツデータD’は、暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、暗号化コンテンツデータD’をストリームキーS2を用いて第1暗号アルゴリズムで復号することにより、コンテンツデータDを取得する。そして、取得したコンテンツデータDをマイクロプロセッサ11に入力する。
以降は、マイクロプロセッサ11からアクセスコマンドが発行される度にセッション鍵を更新しながら、上記と同様のデータ通信処理が繰り返される。
このように本実施の形態に係る情報処理システム1によれば、通信装置2が有するセキュリティ回路12A(第1のセキュリティ回路)が、セッション鍵生成回路44(セッション鍵生成部)、キーストリーム生成回路42(第1のキーストリーム生成部)、及び暗号化・復号回路41(第1の暗号化・復号部)を含むのに対し、半導体記憶装置3が有するセキュリティ回路21A(第2のセキュリティ回路)は、キーストリーム生成回路52(第2のキーストリーム生成部)及び暗号化・復号回路51(第2の暗号化・復号部)を含む。つまり、セキュリティ回路21Aはセッション鍵生成回路を含まない。このように、半導体記憶装置3が有するセキュリティ回路21Aへのセッション鍵生成回路の実装を省略することにより、半導体記憶装置3の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサ11は、半導体記憶装置3から受信した暗号化初期セッション鍵K0’を第2暗号アルゴリズムで復号することによって初期セッション鍵K0を取得し、当該初期セッション鍵K0をキーストリーム生成回路42に設定する。また、半導体記憶装置3は、メモリアレイ23(データ記憶部)から読み出した初期セッション鍵K0を、キーストリーム生成回路52に設定する。これにより、初期化処理において、キーストリーム生成回路42とキーストリーム生成回路52とに、共通の初期セッション鍵K0を設定することができる。
また、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための暗号アルゴリズムとしては、暗号化・復号回路41及び暗号化・復号回路51が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用される。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵K0’から初期セッション鍵K0を復号できないため、攻撃耐性を向上することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、初期化処理が完了した後の鍵確立処理において、暗号化・復号回路41は、鍵確立コマンドYと、セッション鍵生成回路44が生成したセッション鍵K1(第1セッション鍵)とを、ストリームキーS0(第1ストリームキー)を用いて暗号化することによって、暗号化鍵確立コマンドY’を生成する。また、暗号化・復号回路51は、通信装置2から受信した暗号化鍵確立コマンドY’を、ストリームキーS0を用いて復号することによって、鍵確立コマンドYと第1セッション鍵K1とを取得する。これにより、半導体記憶装置3は、通信装置2のセッション鍵生成回路44が生成したセッション鍵K1(第1セッション鍵)と同一のセッション鍵K1を取得することができる。その結果、半導体記憶装置3が有するセキュリティ回路21Aへのセッション鍵生成回路の実装を省略することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路41は、読み出しコマンドZ(アクセスコマンド)と、セッション鍵生成回路44が生成したセッション鍵K2(第2セッション鍵)とを、ストリームキーS1(第2ストリームキー)を用いて暗号化することによって、暗号化読み出しコマンドZ’(暗号化アクセスコマンド)を生成する。また、暗号化・復号回路51は、通信装置2から受信した暗号化読み出しコマンドZ’を、ストリームキーS1を用いて復号することによって、アクセスコマンドZとセッション鍵K2とを取得する。これにより、半導体記憶装置3は、通信装置2が生成したアクセスコマンドZを適切に取得できるとともに、通信装置2のセッション鍵生成回路44が生成したセッション鍵K2と同一のセッション鍵K2を取得することができる。その結果、半導体記憶装置3が有するセキュリティ回路21Aへのセッション鍵生成回路の実装を省略することが可能となる。しかも、セッション鍵K2は、読み出しコマンドZに付加されて通信装置2から半導体記憶装置3に送信されるため、セッション鍵K2と読み出しコマンドとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路51は、メモリアレイ23から読み出したコンテンツデータDを、ストリームキーS2(第3ストリームキー)を用いて暗号化することによって、暗号化コンテンツデータD’を生成する。また、暗号化・復号回路41は、半導体記憶装置3から受信した暗号化コンテンツデータD’を、ストリームキーS2を用いて復号することによって、コンテンツデータDを取得する。このように、コンテンツデータDの暗号化及び復号に使用されるストリームキーS2は、読み出しコマンドZの暗号化及び復号に使用されるストリームキーS1とは異なるため、攻撃耐性を向上することが可能となる。
<実施の形態2>
図9は、本発明の実施の形態2に係るセキュリティ回路12(12B)の構成を示す図である。図9の接続関係で示すように、セキュリティ回路12Bは、暗号化・復号回路41、キーストリーム生成回路42、セレクタ43、及びレジスタ45を備えて構成されている。本実施の形態では、セキュリティ回路12Bにはセッション鍵生成回路が実装されていない。
図10は、本発明の実施の形態2に係るセキュリティ回路21(21B)の構成を示す図である。図10の接続関係で示すように、セキュリティ回路21Bは、暗号化・復号回路51、キーストリーム生成回路52、及びセッション鍵生成回路53を備えて構成されている。セッション鍵生成回路53には、例えば擬似乱数生成器が用いられる。
以下、本実施の形態に係る情報処理システム1の動作について説明する。
(初期化処理)
情報処理システム1の電源が投入されると、まず、キーストリーム生成回路42,52の初期化処理が実行される。初期化処理の手順は上記実施の形態1と同様であるため、ここでの説明は省略する。
(鍵確立処理)
初期化処理が完了すると、初期セッション鍵K0をセッション鍵生成回路53によって生成された次のセッション鍵K1に更新するための鍵確立処理が実行される。
図11は、鍵確立処理におけるセキュリティ回路12B,21B間の通信データを示す図である。
まずマイクロプロセッサ11は、所定の鍵確立コマンドYを発行する。鍵確立コマンドYは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、鍵確立コマンドYをストリームキーS0を用いて第1暗号アルゴリズムで暗号化することにより、暗号化鍵確立コマンドY’を生成する。セキュリティ回路12Bは、暗号化鍵確立コマンドY’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化鍵確立コマンドY’を受信する。暗号化鍵確立コマンドY’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化鍵確立コマンドY’をストリームキーS0を用いて第1暗号アルゴリズムで復号することにより、鍵確立コマンドYを取得する。そして、取得した鍵確立コマンドYをシーケンサ22に入力する。
次にセッション鍵生成回路53は、初期セッション鍵K0の次のセッション鍵K1を生成する。セッション鍵K1は、セッション鍵生成回路53からシーケンサ22に入力される。
次にシーケンサ22は、セッション鍵生成回路53から入力されたセッション鍵K1を、暗号化・復号回路51に入力する。
次に暗号化・復号回路51は、セッション鍵K1をストリームキーS0を用いて第1暗号アルゴリズムで暗号化することにより、暗号化セッション鍵K1’を生成する。セキュリティ回路21Bは、暗号化セッション鍵K1’を通信装置2に送信する。
次に通信装置2は、半導体記憶装置3から暗号化セッション鍵K1’を受信する。暗号化セッション鍵K1’は、暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、暗号化セッション鍵K1’をストリームキーS0を用いて第1暗号アルゴリズムで復号することにより、セッション鍵K1を取得する。
次にセキュリティ回路12Bは、復号によって取得したセッション鍵K1をレジスタ45に格納するとともに、レジスタ45からセレクタ43を介してキーストリーム生成回路42に入力することにより、セッション鍵K1をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路42は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路41に入力する。
次にシーケンサ22は、セッション鍵生成回路53から入力されたセッション鍵K1を、セキュリティ回路21Bに入力する。
次にセキュリティ回路21Bは、シーケンサ22から入力されたセッション鍵K1をキーストリーム生成回路52に入力することにより、セッション鍵K1をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路52は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路51に入力する。
(データ通信処理)
鍵確立処理が完了すると、メモリアレイ23の領域R3に記憶されているコンテンツデータDへのアクセスを伴うデータ通信処理が実行される。
図12は、データ通信処理におけるセキュリティ回路12B,21B間の通信データを示す図である。
まずマイクロプロセッサ11は、所定の読み出しコマンドZを発行する。読み出しコマンドZは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、読み出しコマンドZをストリームキーS1を用いて第1暗号アルゴリズムで暗号化することにより、暗号化読み出しコマンドZ’を生成する。セキュリティ回路12Bは、暗号化読み出しコマンドZ’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化読み出しコマンドZ’を受信する。暗号化読み出しコマンドZ’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化読み出しコマンドZ’をストリームキーS1を用いて第1暗号アルゴリズムで復号することにより、読み出しコマンドZを取得する。そして、取得した読み出しコマンドZをシーケンサ22に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力された読み出しコマンドZに基づいて、メモリアレイ23から所望のコンテンツデータDを読み出す。そして、読み出したコンテンツデータDを暗号化・復号回路51に入力する。
次にセッション鍵生成回路53は、セッション鍵K1の次のセッション鍵K2を生成する。セッション鍵K2は、セッション鍵生成回路53からシーケンサ22に入力される。
次にシーケンサ22は、セッション鍵生成回路53から入力されたセッション鍵K2を、暗号化・復号回路51に入力する。
次に暗号化・復号回路51は、コンテンツデータDの末尾にセッション鍵K2を付加し、それらをストリームキーS1を用いて第1暗号アルゴリズムで暗号化することにより、暗号化コンテンツデータD’を生成する。セキュリティ回路21Bは、暗号化コンテンツデータD’を通信装置2に送信する。
次に通信装置2は、半導体記憶装置3から暗号化コンテンツデータD’を受信する。暗号化コンテンツデータD’は、暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、暗号化コンテンツデータD’をストリームキーS1を用いて第1暗号アルゴリズムで復号することにより、コンテンツデータD及びセッション鍵K2を取得する。そして、取得したコンテンツデータDをマイクロプロセッサ11に入力するとともに、取得したセッション鍵K2をレジスタ45に格納する。
次にセキュリティ回路12Bは、復号によって取得したセッション鍵K2を、レジスタ45からセレクタ43を介してキーストリーム生成回路42に入力することにより、セッション鍵K2をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路42は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路41に入力する。
次にセキュリティ回路21Bは、セッション鍵生成回路53が生成したセッション鍵K2をキーストリーム生成回路52に入力することにより、セッション鍵K2をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路52は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路51に入力する。
以降は、マイクロプロセッサ11からアクセスコマンドが発行される度にセッション鍵を更新しながら、上記と同様のデータ通信処理が繰り返される。
このように本実施の形態に係る情報処理システム1によれば、半導体記憶装置3が有するセキュリティ回路21B(第2のセキュリティ回路)が、セッション鍵生成回路53(セッション鍵生成部)、キーストリーム生成回路52(第2のキーストリーム生成部)、及び暗号化・復号回路51(第2の暗号化・復号部)を含むのに対し、通信装置2が有するセキュリティ回路12B(第1のセキュリティ回路)は、キーストリーム生成回路42(第1のキーストリーム生成部)及び暗号化・復号回路41(第1の暗号化・復号部)を含む。つまり、セキュリティ回路12Bはセッション鍵生成回路を含まない。このように、通信装置2が有するセキュリティ回路12Bへのセッション鍵生成回路の実装を省略することにより、通信装置2の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサ11は、半導体記憶装置3から受信した暗号化初期セッション鍵K0’を第2暗号アルゴリズムで復号することによって初期セッション鍵K0を取得し、当該初期セッション鍵K0をキーストリーム生成回路42に設定する。また、半導体記憶装置3は、メモリアレイ23(データ記憶部)から読み出した初期セッション鍵K0を、キーストリーム生成回路52に設定する。これにより、初期化処理において、キーストリーム生成回路42とキーストリーム生成回路52とに、共通の初期セッション鍵K0を設定することができる。
また、半導体記憶装置3毎にセッション鍵の生成アルゴリズムを異ならせることにより、攻撃者は半導体記憶装置3毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。
さらに、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための暗号アルゴリズムとしては、暗号化・復号回路41及び暗号化・復号回路51が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用されている。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵K0’から初期セッション鍵K0を復号できないため、攻撃耐性を向上することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、初期化処理が完了した後の鍵確立処理において、暗号化・復号回路51は、セッション鍵生成回路53が生成したセッション鍵K1(第1セッション鍵)を、ストリームキーS0(第1ストリームキー)を用いて暗号化することによって、暗号化セッション鍵K1’(暗号化第1セッション鍵)を生成する。また、暗号化・復号回路41は、通信装置2から受信した暗号化セッション鍵K1’を、ストリームキーS0を用いて復号することによって、セッション鍵K1を取得する。これにより、通信装置2は、半導体記憶装置3のセッション鍵生成回路53が生成したセッション鍵K1と同一の第1セッション鍵K1を取得することができる。その結果、通信装置2が有するセキュリティ回路12Bへのセッション鍵生成回路の実装を省略することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路41は、読み出しコマンドZ(アクセスコマンド)を、ストリームキーS2(第2ストリームキー)を用いて暗号化することによって、暗号化読み出しコマンドZ’(暗号化アクセスコマンド)を生成する。また、暗号化・復号回路51は、通信装置2から受信した暗号化読み出しコマンドZ’を、ストリームキーS2を用いて復号することによって、読み出しコマンドZを取得する。これにより、半導体記憶装置3は、通信装置2が生成した読み出しコマンドZを適切に取得することができる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路51は、メモリアレイ23から読み出したコンテンツデータDと、セッション鍵生成回路53が生成したセッション鍵K2(第2セッション鍵)とを、ストリームキーS2を用いて暗号化することによって、暗号化コンテンツデータD’を生成する。また、暗号化・復号回路41は、半導体記憶装置3から受信した暗号化コンテンツデータD’を、ストリームキーS2を用いて復号することによって、コンテンツデータDとセッション鍵K2とを取得する。これにより、通信装置2は、半導体記憶装置3のセッション鍵生成回路53が生成したセッション鍵K2と同一のセッション鍵K2を取得することができる。その結果、通信装置2が有するセキュリティ回路12Bへのセッション鍵生成回路の実装を省略することが可能となる。しかも、セッション鍵K2は、コンテンツデータDに付加されて半導体記憶装置3から通信装置2に送信されるため、セッション鍵K2とコンテンツデータDとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
<実施の形態3>
図13は、本発明の実施の形態3に係るセキュリティ回路12(12C)の構成を示す図である。図13の接続関係で示すように、セキュリティ回路12Cは、暗号化・復号回路41及びキーストリーム生成回路42を備えて構成されている。本実施の形態では、セキュリティ回路12Cにはセッション鍵生成回路が実装されていない。
図14は、本発明の実施の形態3に係るセキュリティ回路21(21C)の構成を示す図である。図14の接続関係で示すように、セキュリティ回路21Cは、暗号化・復号回路51及びキーストリーム生成回路52を備えて構成されている。本実施の形態では、セキュリティ回路21Cにはセッション鍵生成回路が実装されていない。
以下、本実施の形態に係る情報処理システム1の動作について説明する。
(初期化処理)
情報処理システム1の電源が投入されると、まず、キーストリーム生成回路42,52の初期化処理が実行される。初期化処理の手順は上記実施の形態1と同様であるため、ここでの説明は省略する。
(鍵確立処理)
初期化処理が完了すると、初期セッション鍵K0を次のセッション鍵K1に更新するための鍵確立処理が実行される。
まずマイクロプロセッサ11は、所定の鍵確立コマンドYを発行する。鍵確立コマンドYは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次にマイクロプロセッサ11は、所定の鍵生成アルゴリズムによってセッション鍵K1を生成する。セッション鍵K1は、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、鍵確立コマンドYの末尾にセッション鍵K1を付加し、それらをストリームキーS0を用いて第1暗号アルゴリズムで暗号化することにより、暗号化鍵確立コマンドY’(図7参照)を生成する。セキュリティ回路12Cは、暗号化鍵確立コマンドY’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化鍵確立コマンドY’を受信する。暗号化鍵確立コマンドY’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化鍵確立コマンドY’をストリームキーS0を用いて第1暗号アルゴリズムで復号することにより、鍵確立コマンドY及びセッション鍵K1を取得する。そして、取得した鍵確立コマンドY及びセッション鍵K1をシーケンサ22に入力する。
次にセキュリティ回路12Cは、マイクロプロセッサ11が生成したセッション鍵K1をキーストリーム生成回路42に入力することにより、セッション鍵K1をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路42は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路41に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力されたセッション鍵K1を、セキュリティ回路21Cに入力する。
次にセキュリティ回路21Cは、シーケンサ22から入力されたセッション鍵K1をキーストリーム生成回路52に入力することにより、セッション鍵K1をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、初期セッション鍵K0から次のセッション鍵K1に更新される。キーストリーム生成回路52は、セッション鍵K1に基づいて生成したストリームキーS1を、暗号化・復号回路51に入力する。
(データ通信処理)
鍵確立処理が完了すると、メモリアレイ23の領域R3に記憶されているコンテンツデータDへのアクセスを伴うデータ通信処理が実行される。
まずマイクロプロセッサ11は、所定の読み出しコマンドZを発行する。読み出しコマンドZは、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次にマイクロプロセッサ11は、セッション鍵K1の次のセッション鍵K2を生成する。セッション鍵K2は、マイクロプロセッサ11から暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、読み出しコマンドZの末尾にセッション鍵K2を付加し、それらをストリームキーS1を用いて第1暗号アルゴリズムで暗号化することにより、暗号化読み出しコマンドZ’(図8参照)を生成する。セキュリティ回路12Cは、暗号化読み出しコマンドZ’を半導体記憶装置3に送信する。
次に半導体記憶装置3は、通信装置2から暗号化読み出しコマンドZ’を受信する。暗号化読み出しコマンドZ’は、暗号化・復号回路51に入力される。
次に暗号化・復号回路51は、暗号化読み出しコマンドZ’をストリームキーS1を用いて第1暗号アルゴリズムで復号することにより、読み出しコマンドZ及びセッション鍵K2を取得する。そして、取得した読み出しコマンドZ及びセッション鍵K2をシーケンサ22に入力する。
次にセキュリティ回路12Cは、マイクロプロセッサ11が生成したセッション鍵K2をキーストリーム生成回路42に入力することにより、セッション鍵K2をキーストリーム生成回路42に設定する。これにより、キーストリーム生成回路42のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路42は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路41に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力されたセッション鍵K2を、セキュリティ回路21Cに入力する。
次にセキュリティ回路21Cは、シーケンサ22から入力されたセッション鍵K2をキーストリーム生成回路52に入力することにより、セッション鍵K2をキーストリーム生成回路52に設定する。これにより、キーストリーム生成回路52のセッション鍵が、セッション鍵K1から次のセッション鍵K2に更新される。キーストリーム生成回路52は、セッション鍵K2に基づいて生成したストリームキーS2を、暗号化・復号回路51に入力する。
次にシーケンサ22は、暗号化・復号回路51から入力された読み出しコマンドZに基づいて、メモリアレイ23から所望のコンテンツデータDを読み出す。そして、読み出したコンテンツデータDを暗号化・復号回路51に入力する。
次に暗号化・復号回路51は、コンテンツデータDをストリームキーS2を用いて第1暗号アルゴリズムで暗号化することにより、暗号化コンテンツデータD’を生成する。セキュリティ回路21Aは、暗号化コンテンツデータD’を通信装置2に送信する。
次に通信装置2は、半導体記憶装置3から暗号化コンテンツデータD’を受信する。暗号化コンテンツデータD’は、暗号化・復号回路41に入力される。
次に暗号化・復号回路41は、暗号化コンテンツデータD’をストリームキーS2を用いて第1暗号アルゴリズムで復号することにより、コンテンツデータDを取得する。そして、取得したコンテンツデータDをマイクロプロセッサ11に入力する。
以降は、マイクロプロセッサ11からアクセスコマンドが発行される度にセッション鍵を更新しながら、上記と同様のデータ通信処理が繰り返される。
このように本実施の形態に係る情報処理システム1によれば、セキュリティ回路21C(第2のセキュリティ回路)及びセキュリティ回路12C(第1のセキュリティ回路)はいずれも、セッション鍵生成回路を含まない。このように、半導体記憶装置3が有するセキュリティ回路21Cへのセッション鍵生成回路の実装、及び、通信装置2が有するセキュリティ回路12Cへのセッション鍵生成回路の実装を省略することにより、半導体記憶装置3及び通信装置2の実装コストを削減することが可能となる。
また、データ通信を開始する前の初期化処理において、マイクロプロセッサ11は、半導体記憶装置3から受信した暗号化初期セッション鍵K0’を第2暗号アルゴリズムで復号することによって初期セッション鍵K0を取得し、当該初期セッション鍵K0をキーストリーム生成回路42(第1のキーストリーム生成部)に設定する。また、半導体記憶装置3は、メモリアレイ23(データ記憶部)から読み出した初期セッション鍵K0を、キーストリーム生成回路52(第2のキーストリーム生成部)に設定する。これにより、初期化処理において、キーストリーム生成回路42とキーストリーム生成回路52とに、共通の初期セッション鍵K0を設定することができる。
また、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための暗号アルゴリズムとしては、暗号化・復号回路41(第1の暗号化・復号部)及び暗号化・復号回路51(第2の暗号化・復号部)が使用する第1暗号アルゴリズムとは異なる第2暗号アルゴリズムが使用される。その結果、第1暗号アルゴリズムによっては暗号化初期セッション鍵K0’から初期セッション鍵K0を復号できないため、攻撃耐性を向上することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、初期化処理が完了した後の鍵確立処理において、暗号化・復号回路41は、鍵確立コマンドYと、マイクロプロセッサ11が生成したセッション鍵K1(第1セッション鍵)とを、ストリームキーS0(第1ストリームキー)を用いて暗号化することによって、暗号化鍵確立コマンドY’を生成する。このように、マイクロプロセッサ11がセッション鍵K1を生成することにより、通信装置2が有するセキュリティ回路12Cへのセッション鍵生成回路の実装を省略することが可能となる。また、暗号化・復号回路51は、通信装置2から受信した暗号化鍵確立コマンドY’を、ストリームキーS0を用いて復号することによって、鍵確立コマンドYとセッション鍵K1とを取得する。これにより、半導体記憶装置3は、通信装置2のマイクロプロセッサ11が生成したセッション鍵K1と同一のセッション鍵K1を取得することができる。その結果、半導体記憶装置3が有するセキュリティ回路21Cへのセッション鍵生成回路の実装を省略することが可能となる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路41は、読み出しコマンドZ(アクセスコマンド)と、マイクロプロセッサ11が生成したセッション鍵K2(第2セッション鍵)とを、ストリームキーS1(第2ストリームキー)を用いて暗号化することによって、暗号化読み出しコマンドZ’(暗号化アクセスコマンド)を生成する。このように、マイクロプロセッサ11がセッション鍵K2を生成することにより、通信装置2が有するセキュリティ回路12Cへのセッション鍵生成回路の実装を省略することが可能となる。また、暗号化・復号回路51は、通信装置2から受信した暗号化読み出しコマンドZ’を、ストリームキーS1を用いて復号することによって、アクセスコマンドZとセッション鍵K2とを取得する。これにより、半導体記憶装置3は、通信装置2が生成したアクセスコマンドZを適切に取得できるとともに、通信装置2のマイクロプロセッサ11が生成したセッション鍵K2と同一のセッション鍵K2を取得することができる。その結果、半導体記憶装置3が有するセキュリティ回路21Cへのセッション鍵生成回路の実装を省略することが可能となる。しかも、セッション鍵K2は、読み出しコマンドZに付加されて通信装置2から半導体記憶装置3に送信されるため、セッション鍵K2と読み出しコマンドとを個別に送信する場合と比較すると、通信の効率化を図ることが可能となる。
また、本実施の形態に係る情報処理システム1によれば、鍵確立処理が完了した後のデータ通信において、暗号化・復号回路51は、メモリアレイ23から読み出したコンテンツデータDを、ストリームキーS2(第3ストリームキー)を用いて暗号化することによって、暗号化コンテンツデータD’を生成する。また、暗号化・復号回路41は、半導体記憶装置3から受信した暗号化コンテンツデータD’を、ストリームキーS2を用いて復号することによって、コンテンツデータDを取得する。このように、コンテンツデータDの暗号化及び復号に使用されるストリームキーS2は、読み出しコマンドZの暗号化及び復号に使用されるストリームキーS1とは異なるため、攻撃耐性を向上することが可能となる。
<変形例1>
上記実施の形態2では、半導体記憶装置3にセッション鍵生成回路53を実装し、セッション鍵生成回路53は、所定の鍵生成アルゴリズムによってセッション鍵を生成する。上記実施の形態2の変形例として、通信装置2によって使用可能な半導体記憶装置3が複数存在する場合には、セッション鍵生成回路53の鍵生成アルゴリズムを、半導体記憶装置3毎に異ならせてもよい。
本変形例に係る情報処理システム1によれば、セッション鍵の生成アルゴリズムは、半導体記憶装置3毎に異なる。これにより、攻撃者は半導体記憶装置3毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。
<変形例2>
上記実施の形態3では、通信装置2及び半導体記憶装置3の双方ともにセッション鍵生成回路の実装が省略されており、セッション鍵の生成はマイクロプロセッサ11のソフトウェア処理によって行われる。上記実施の形態3の変形例として、通信装置2をインターネット等の通信網を介して外部サーバに接続し、外部サーバから通信装置2に更新プログラムを送信することにより、マイクロプロセッサ11が外部命令に従ってセッション鍵の生成アルゴリズムを更新してもよい。
本変形例に係る情報処理システム1によれば、マイクロプロセッサ11は、外部命令に従ってセッション鍵の生成アルゴリズムを変更可能である。セッション鍵の生成アルゴリズムを定期的に又は任意のタイミングで変更することによって、攻撃耐性を向上することが可能となる。
<変形例3>
上記実施の形態1〜3では、第2暗号アルゴリズムによって初期セッション鍵K0が暗号化されることにより、暗号化初期セッション鍵K0’が得られた。上記実施の形態1〜3の変形例として、通信装置2をインターネット等の通信網を介して外部サーバに接続し、外部サーバから通信装置2に更新プログラムを送信することにより、マイクロプロセッサ11が外部命令に従って、初期セッション鍵K0から暗号化初期セッション鍵K0’を得るための第2暗号アルゴリズムを更新してもよい。
本変形例に係る情報処理システム1によれば、マイクロプロセッサ11は、外部命令に従って第2暗号アルゴリズムを変更可能である。第2アルゴリズムを定期的に又は任意のタイミングで変更することによって、攻撃耐性を向上することが可能となる。
<変形例4>
上記実施の形態1〜3では、メモリアレイ23には初期セッション鍵K0及び暗号化初期セッション鍵K0’が記憶されている。上記実施の形態1〜3の変形例として、通信装置2によって使用可能な半導体記憶装置3が複数存在する場合には、メモリアレイ23に記憶する初期セッション鍵K0及び暗号化初期セッション鍵K0’を、半導体記憶装置3毎に異ならせてもよい。
本変形例に係る情報処理システム1によれば、メモリアレイ23に記憶されている初期セッション鍵K0及び暗号化初期セッション鍵K0’は、半導体記憶装置3毎に異なる。これにより、攻撃者は半導体記憶装置3毎に暗号解析を行う必要があるため、攻撃耐性を向上することが可能となる。