JPWO2005099168A1 - 暗号化方式のアップデートシステム - Google Patents

暗号化方式のアップデートシステム Download PDF

Info

Publication number
JPWO2005099168A1
JPWO2005099168A1 JP2006511923A JP2006511923A JPWO2005099168A1 JP WO2005099168 A1 JPWO2005099168 A1 JP WO2005099168A1 JP 2006511923 A JP2006511923 A JP 2006511923A JP 2006511923 A JP2006511923 A JP 2006511923A JP WO2005099168 A1 JPWO2005099168 A1 JP WO2005099168A1
Authority
JP
Japan
Prior art keywords
encryption
key
unit
encryption method
program
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.)
Withdrawn
Application number
JP2006511923A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005099168A1 publication Critical patent/JPWO2005099168A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】暗号技術を利用して情報を扱う装置において、安全かつ簡単に暗号方式を更新するシステムの要望があった。【解決手段】複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、前記複数の暗号方式のうちの1の暗号方式を選択し、選択された基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入する情報セキュリティ装置を提供する。

Description

本発明は、暗号化方式の変更技術に関する。
映像及び音声からなるデジタルコンテンツを記録媒体に記録して販売したり、ネットワークを介して配信する際に、改竄や盗聴といった不正なコンテンツの利用を防止するために、暗号化技術が用いられることが一般的になっている。
このような暗号処理を行う暗号処理システムにおいて、書き換え可能な回路を備えており、処理のたびに、処理対象のデータに応じた暗号回路を形成する技術が、特許文献1に開示されている。
特願H10−132755号公報 特願2000−600352号公報 現代暗号論(池野信一、小山謙二 著 昭和61年 社団法人電子通信学会による出版)
しかしながら、処理対象のデータに対応する暗号方式自体が解読された場合、システムは、前記暗号回路により、当該処理対象のデータを安全に処理することができなくなるという問題点がある。
本発明は、上記の問題に鑑みてなされたものであり、暗号回路の備える暗号方式が解読された場合に、安全に新たな暗号方式を導入することができる情報セキュリティ装置、情報セキュリティシステム、制御方法及びコンピュータプログラムを提供することを目的とする。
上記の要望に対応するために、本発明は、複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、前記複数の暗号方式のうちの1の暗号方式を選択し、選択された基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入することを特徴とする。
上記の構成によると、前記情報セキュリティ装置は、適切に前記基軸暗号方式を選択することで、前記複数の暗号方式のうち何れかが解読された場合においても、前記基軸暗号方式に基づいて、安全に前記他の暗号方式を導入することができる。
また、本発明の前記情報セキュリティ装置は、前記他の暗号方式の導入の指示を取得する取得手段と、前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段と、を備えることを特徴とする。
この構成によると、前記選択手段は、前記複数の暗号方式から前記基軸暗号方式を選択し、前記導入手段は、前記基軸暗号方式に基づいて前記他の暗号方式を導入し、前記暗号処理手段は、前記複数の暗号方式及び前記他の暗号方式に基づいて、前記情報を安全に扱う。従って、前記多数の暗号方式のうち何れかが安全に使用できなくなった場合、前記選択手段は、安全に使用できる暗号方式を前記基軸暗号方式として選択することで、前記導入手段は前記他の暗号方式を安全に導入することができる。また、前記暗号処理手段は、前記多数の暗号方式のうち安全に使用できなくなったものに代えて前記他の暗号方式に基づいて、安全かつ正確に前記情報を扱うことができる。
また、前記情報セキュリティ装置を構成する前記選択手段は、前記複数の暗号方式のうち、当該情報セキュリティ装置に最後に導入されたものを、前記基軸暗号方式として選択することを特徴とする。
当該情報セキュリティ装置は、前記取得手段が導入の指示を受け取る度に、既に情報セキュリティ装置自身が備えている複数の暗号方式以外の新たな暗号方式を導入する。新たに導入された暗号方式は、前記複数の暗号方式よりも後に開発され、より高度な暗号技術に基づき、その安全性が高いと考えられる。
従って、上記のように、前記選択手段が、導入日の新しい暗号方式を前記基軸暗号方式として選択することで、より安全に前記他の暗号方式を導入することができる。
また、前記情報セキュリティ装置を構成する、前記選択手段は、前記複数の暗号方式のうち、暗号強度の最も高いものを、前記基軸暗号方式として選択する。
この構成では、前記選択手段は、最も暗号強度の強い暗号方式を前記基軸暗号方式として選択する。従って、当該導入手段は最も安全性の高い方法で前記他の暗号方式を導入することができる。
また、情報セキュリティ装置を構成する前記前記選択手段は、前記複数の暗号方式のうち、外部からいずれか1つを示す選択指示を取得する指示取得部と、取得した選択指示に従って前記基軸暗号方式を選択する選択部とを含むことを特徴とする。
この構成では、前記選択手段は、外部からの選択指示に従って、前記基軸暗号方式を選択する。ここで、外部からの選択指示とは、例えば、当該情報セキュリティ装置に装着される記録媒体である。記録媒体には、当該情報セキュリティ装置の扱う情報、前記情報に最も適した暗号方式を示す情報及び前記情報に最も適した暗号方式を導入するために最も適した選択指示が記録されている。このようにすることで、前記情報の取り扱いにおいて、記録媒体の発売元の意思を反映した他の暗号方式及び基軸暗号方式の決定をすることができる。
また、外部からの指示とは、利用者によるキー操作による指示であると考えられる。この場合、前記選択手段は、前記指示情報の示す暗号方式を前記基軸暗号方式に選択するため、利用者は、暗号方式の導入に係る安全性、時間などを考慮し、自由に前記基軸暗号方式を選択することができる。
前記情報セキュリティ装置を構成する前記取得手段は、前記導入の指示として、前記複数の暗号方式のうち何れかの解読された暗号方式を識別する識別情報を取得し、前記選択手段は、前記複数の暗号方式のうち、前記識別情報の示すもの以外の暗号方式を前記基軸暗号方式として選択することを特徴とする。
これによると、前記導入手段は、前記複数の暗号方式のうち何れかが解読された際に、前記他の暗号方式を導入する。従って、前記暗号処理手段は、前記解読された暗号方式の代わりに、前記他の暗号手段を使用することが可能となり、前記情報を引き続き安全かつ確実に扱うことができる。この際、前記選択手段は、前記識別情報の示す暗号方式、つまり、解読された暗号方式以外の暗号方式を前記基軸暗号方式として選択する。よって、前記導入手段は、解読されていない前記基軸暗号方式に基づいて、安全に前記他の暗号方式を導入することができる。
また、前記情報セキュリティ装置を構成する前記暗号処理手段は、前記識別情報により示される暗号方式以外の暗号方式に基づいて、前記情報を安全に扱うことを特徴とする。
この構成では、前記暗号処理手段は、前記識別情報の示す暗号方式以外の暗号方式により前記情報を扱う。つまり、前記情報セキュリティ装置は、解読され安全性に問題のある暗号方式は用いないため、常に前記情報を安全かつ確実に扱うことができる。
また、前記情報セキュリティ装置を構成する前記暗号処理手段は、前記識別情報により示される前記暗号方式を、暗号文の復号にのみ用いることを特徴とする。
この構成では、前記暗号処理手段は、前記識別情報の示す暗号方式を暗号文の復号にのみ用いるので、前記識別情報の示す暗号方式が解読される前に生成された暗号文を復号して利用することができる。具体的には、当該暗号方式に基づいて生成された暗号化コンテンツを記録している記録媒体が、前記識別情報の示す暗号方式の解読前に、製造販売された場合、当該情報セキュリティ装置では、前記暗号化コンテンツを復号し、前記コンテンツを生成することができる。従って、既に購入済みの記録媒体に、記録されているコンテンツをいつでも利用することができる。
また、前記暗号処理手段は、前記識別情報の示す暗号方式を暗号文の復号以外には用いることがない。このように、解読された暗号方式の用途を限定することで、当該情報セキュリティ装置は、利用者にとっての利便性を保ちつつ、前記情報を安全に扱うことができる。
本発明は、前記情報セキュリティ装置は、さらに、前記識別情報により示される前記暗号方式を削除する削除手段を含むことを特徴とする。
この構成では、削除手段が、前記識別情報の示す暗号方式を削除するため、前記情報セキュリティ装置において、安全性に問題の発生した暗号方式を使用することはない。
本発明の情報セキュリティ装置を構成する前記暗号処理手段は、鍵記憶部と演算実行部とを備え、前記鍵記憶部は、前記複数の暗号方式のそれぞれに対応する複数の鍵情報を記憶しており、前記演算実行部は、前記複数の暗号方式による暗号回路と、少なくともその一部が書き換え可能な論理回路とから構成されており、前記導入手段は、前記論理回路上において前記他の暗号方式による暗号回路を構築する手順を示す手順情報を取得する手順取得部と、前記基軸暗号方式を用いて、秘密の鍵情報を安全に取得し、取得した前記鍵情報を前記鍵記憶部に書き込む鍵取得手段と、取得した手順情報により示される手順に従って、前記論理回路上に前記他の暗号方式による暗号回路を構築する構築部とを含むことを特徴とする。
この構成によると、前記演算部は、書き換え可能な論理回路を備え、前記構築部は、前記他の暗号方式による暗号回路を前記論理回路上に構築する。これにより、前記演算部は、前記論理回路上に、新たな暗号回路を構築し直すことで、自身の備える暗号方式を追加、削除、変更することが可能である。また、演算部は、暗号回路を備えているため、この暗号回路により、前記複数の暗号方式及び前記他の暗号方式に基づく処理を高速に実行することができる。
また、前記情報セキュリティ装置を構成する前記手順取得部は、ネットワークを介してサーバ装置から、前記手順情報を取得することを特徴とする。
ここで、サーバ装置は、前記セキュリティ管理装置の発売元、前記セキュリティ装置において利用可能な情報(一例としてデジタルコンテンツなど)を提供する事業者によって、管理されており、前記複数の暗号方式の安全性に係る最新の情報、または、その時点で最も適切な前記他の暗号方式に対応する手順情報を保持していると考えられる。
従って、この構成では、前記手順取得部は、前記サーバ装置からネットワークを介して前記手順情報を取得するため、当該情報セキュリティ装置は、その時点で最も適切な暗号方式を他の暗号方式として導入することができる。
また、前記ネットワークは、デジタル放送の放送ネットワークであり、前記サーバ装置は、前記手順情報を放送波に乗せて送信し、前記情報取得手段は、前記放送波を受信し、受信した前記放送波から前記手順情報を抽出するとしてもよい。
この構成によると、前記情報取得手段は、前記放送波を受信することで前記手順情報前記情報を、簡単に取得することができる。
本発明は、複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置と、前記複数の暗号方式以外の他の暗号方式を供給するサーバ装置とから構成される情報セキュリティシステムであって、前記サーバ装置は、前記他の暗号方式を供給する供給手段を備え、前記情報セキュリティ装置は、前記他の暗号方式の導入の指示を取得する取得手段と、前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段とを備えることを特徴とする。
前記サーバ装置は、前記セキュリティ管理装置の発売元、前記セキュリティ装置において利用可能な情報(一例としてデジタルコンテンツなど)を提供する事業者によって、管理されており、前記複数の暗号方式の安全性に係る最新の情報を保持し、その時点で最も適切な前記他の暗号方式を供給する事ができると考えられる。
従って、この情報セキュリティシステムでは、前記情報セキュリティ装置は、前記サーバ装置から前記他の暗号方式を取得するため、その時点で最も適切な暗号方式を他の暗号方式として導入し、前記他の暗号方式と前記複数の暗号方式に基づいて前記情報を安全に扱うことができる。
アップデートシステム10の構成を示す構成図である。 DVD500a、500b及び500cに記憶されているプログラム及びデータの構成を示す構成図である。 セキュリティ管理装置600の構成を示すブロック図である。 無効暗号方式一覧621の詳細を示す。 SD鍵リストの詳細を示す。 プログラムファイルEii 641及びプログラムファイルPii 651に含まれる情報の詳細を示す。 プログラムファイルEII 661及びプログラムファイルPII 671に含まれる情報の詳細を示している。 暗号化制御プログラムOE2による処理内容を示したフローチャートである。 暗号化アプリプログラムAE2による処理内容を示したフローチャートである。 復号制御プログラムOD2による処理内容を示したフローチャートである。 復号アプリプログラムAD2による処理内容を示したフローチャートである。 暗号化アプリプログラムAPE2による処理内容を示したフローチャートである。 復号アプリプログラムAPD2による処理内容を示したフローチャートである。 携帯電話700の表示部に表示される緊急画面の一例を示す。 ホームサーバ装置100の構成を示すブロック図である。 記憶部110に記憶されている情報の一例を示す。 メモリカード300の構成を示すブロック図である。 セキュア領域320に記憶されている情報の一例を示す。 プログラムメモリ311に記憶されている情報の一例を示す。 暗号方式更新後のプログラムメモリ311に記憶されている情報の一例を示す。 暗号化制御プログラムOE1による処理内容を示したフローチャートである。 暗号化アプリプログラムAE1による処理内容を示したフローチャートである。 復号制御プログラムOD1による処理内容を示したフローチャートである。 復号アプリプログラムAD1による処理内容を示したフローチャートである。 暗号化アプリプログラムAPE1による処理内容を示したフローチャートである。 復号アプリプログラムAPD1による処理内容を示したフローチャートである。 携帯電話700の構成を示すブロック図である。 ホームサーバ装置100とメモリカード300の緊急鍵共有の動作を示したフローチャートである。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 携帯電話700でのコンテンツ再生の動作を示すフローチャートである。 ホームサーバ装置100による共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置100による公開鍵暗号方式の更新の動作を示すフローチャートである。 メモリカード300による暗号方式更新の動作を示すフローチャートである。 セキュリティ管理装置600及びメモリカード300による特別処理の動作を示すフローチャートである。 セキュリティ管理装置600による安全通知処理の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式の更新の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式のプログラム導入の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式のプログラム導入の動作を示したフローチャートである。図40から続く。 メモリカード300によるデバイス鍵取得の動作を示したフローチャートである。 メモリカード300によるデバイス鍵の転送の動作を示したフローチャートである。 メモリカード300によるデバイス鍵の転送の動作を示したフローチャートである。図43から続く。 メモリカード300による公開鍵暗号方式の更新の動作を示したフローチャートである。 メモリカード300による公開鍵暗号方式のプログラム導入の動作を示したフローチャートである。 メモリカード300による公開鍵暗号方式のプログラム導入の動作を示したフローチャートである。図46から続く。 メモリカード300による秘密鍵及び公開鍵証明書の取得の動作を示したフローチャートである。 メモリカード300による秘密鍵及び公開鍵証明書の取得の動作を示したフローチャートである。図48から続く。 メモリカード300による秘密鍵及び公開鍵証明書の転送の動作を示すフローチャートである。 メモリカード300による秘密鍵及び公開鍵証明書の転送の動作を示すフローチャートである。図50から続く。 二つの機器間のSAC確立の動作を示すフローチャートである。 二つの機器間のSAC確立の動作を示すフローチャートである。図52から続く。 アップデートシステム11の構成を示す構成図である。 セキュリティ管理装置1600の構成を示すブロック図である。 HS無効暗号方式一覧1621の詳細を示す。 NW緊急鍵リスト1691の詳細を示す。 プログラムファイルBii 1681に含まれる情報を示す。 ホームサーバ装置1100の構成を示すブロック図である。 記憶部1110に記憶されている情報の一例を示す。 暗号方式の更新前の暗号方式リスト1133(a)及び更新後の暗号方式リスト1133(b)の詳細を示す。 ホームサーバ装置1100による、インターネット経由の暗号方式の更新開始の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の共通鍵暗号方式の更新の動作を示すフローチャートである。図63から続く。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。図65から続く。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。図65から続く。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。図68から続く。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。図68から続く。 ホームサーバ装置1100の、放送による共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100の、放送による公開鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100の、放送による放送用暗号方式の更新の動作を示すフローチャートである。
符号の説明
10 アップデートシステム
20 インターネット
50 パーソナルコンピュータ
70 放送局
100 ホームサーバ装置
101 受信部
101 送受信部
102 入出力部
103 認証部
106 更新部
107 制御部
108 暗号部
109 復号部
110 記憶部
112 表示部
113 入力部
114 アンテナ
115 入出力部
124 緊急鍵リスト
300 メモリカード
302 入出力部
303 認証部
306 更新部
307 制御部
308 暗号部
309 復号部
310 情報記憶部
500a DVD
500b DVD
600 セキュリティ管理装置
601 送受信部
603 認証部
607 制御部
610 情報記憶部
621 無効暗号方式一覧
612 入力部
612 表示部
613 入力部
700 携帯電話
1071 セキュリティ管理装置
1100 ホームサーバ装置
1600 セキュリティ管理装置
1.実施の形態1
本発明に係る1個の実施の形態としてのアップデートシステム10について説明する。
1.1 アップデートシステム10の構成
アップデートシステム10は、図1に示すようにホームサーバ装置100、携帯電話700、セキュリティ管理装置600及び放送局70から構成される。携帯電話700、セキュリティ管理装置600及び放送局70は、インターネット20に接続されている。また、耐タンパ性を有するメモリカード300は、ホームサーバ装置100及び携帯電話700に装着可能であり、携帯電話700を介してセキュリティ管理装置600と通信する。
ホームサーバ装置100にはDVD(Digital Versatile Disk)が装着される。このDVDには、暗号化コンテンツと暗号化コンテンツ鍵とが記録されている。暗号化コンテンツは、映像と音声からなるコンテンツを共通鍵暗号方式により暗号化したものであり、暗号化コンテンツ鍵は、前記暗号化コンテンツの生成に用いられたコンテンツ鍵を、ホームサーバ装置100に固有のデバイス鍵を用いて、共通鍵暗号方式に基づいて暗号化したものである。ここで用いられる共通鍵暗号方式は一例としてDES(Data Encryption Standard)暗号方式である。DES暗号方式については、公知の技術であるので説明を省略する。
ここで、暗号方式とは、暗号化及び復号のアルゴリズムと、そのアルゴリズムに基づいた演算処理に適した鍵とからなる。また、本発明における暗号方式は、例えば、楕円曲線上の離散対数問題の困難性、桁数の大きい合成数の素因数分解の困難性を安全性の根拠とする暗号基礎技術及び、これらの暗号基礎技術を用いた秘密通信、鍵共有、デジタル署名などの応用技術とを含む。本明細書では、説明の簡略化のため、「暗号化及び復号のアルゴリズム」を単に「暗号方式」と表現し、アルゴリズムに基づく演算処理に適した鍵を、単に鍵、暗号鍵、復号鍵などと表現する。
ホームサーバ装置100は、DES暗号方式により暗号化及び復号を行う機能を備えている。ホームサーバ装置100は、DVDから暗号化コンテンツ鍵を読み出し、読み出した暗号化コンテンツ鍵を、DES暗号方式に基づく復号処理を施し、コンテンツ鍵を生成する。
利用者の操作により、コンテンツの再生を指示されると、ホームサーバ装置100は、DVDから前記暗号化コンテンツを読み出し、読み出した暗号化コンテンツを生成したコンテンツ鍵を用いて、DES暗号方式に基づく復号処理を施し、コンテンツを生成する。ホームサーバ装置100は、パーソナルコンピュータといったコンテンツ再生機能を持つ外部装置と接続されており、生成した前記コンテンツを外部装置へ出力する。
また、ホームサーバ装置100は、メモリカード300を装着される。利用者の操作により、DVDに記憶されている暗号化コンテンツをメモリカード300へコピーすることを指示されると、公開鍵暗号方式を用いてメモリカード300と共通の鍵を共有し、SAC(Secure Authentication Channel)を確立する。
ここで用いられる共通鍵暗号方式は、一例として、RSA暗号方式などであり、ホームサーバ装置100は、RSA暗号方式により暗号化及び復号を行う機能を備えている。RSA暗号方式については、公知の技術であるので説明を省略する。
次に、生成した鍵を用いて、DES暗号方式に従う暗号方式プログラムによりコンテンツ鍵を暗号化し、暗号化コンテンツ鍵を生成する。次に、DVDから暗号化コンテンツを読み出し、読み出した暗号化コンテンツと生成した暗号化コンテンツ鍵とをメモリカード300に書き込む。
メモリカード300は、DES暗号方式に基づく暗号化方式プログラムと復号方式プログラム及びRSA暗号方式に基づく暗号化方式プログラムと復号方式プログラムとを記憶している。
ホームサーバ装置100から、暗号化コンテンツ鍵と暗号化コンテンツを受け取ると、暗号化コンテンツ鍵をDES暗号方式に基づく復号方式プログラムにより復号し、コンテンツ鍵を生成する。
メモリカード300が、携帯電話700に装着された状態で、利用者の操作によりコンテンツの再生を指示されると、メモリカード300は、DES暗号方式に基づく復号方式プログラムの示す手順に従って、コンテンツ鍵とコンテンツを生成し、生成したコンテンツを、携帯電話700に出力する。
上記のようにして、共通鍵暗号方式と公開鍵暗号方式とを併用して、ホームサーバ装置100は、DVDからコンテンツを取得し、メモリカード300との間で安全にコンテンツの送受信を行う。
また、放送局70は、映像、音声からなるコンテンツ及び各種情報を放送波に乗せて送信する。
ここで、不正な利用者がDES鍵暗号方式又はRSA鍵暗号方式を解析し、解読方法が発見された場合を想定する。
セキュリティ管理装置600は、解読方法が発見され安全性に問題が発生した暗号方式に変わる新しい暗号方式に基づくプログラムを記憶している。
セキュリティ管理装置600は、前記新しい暗号方式に基づくプログラムのうちホームサーバ装置100用のプログラムをインターネット20を介して放送局70へ送信する。
放送局70は、受信したホームサーバ装置100用のプログラムを放送波に載せて送信する。
メモリカード300は、セキュリティ管理装置600に、自身が使用しているDES暗号方式及びRSA暗号方式が解読されているか否かを問い合わせ、前記暗号化方式のいずれかが解読されている場合には、暗号化方式の更新の開始を要求する。
DES暗号方式が解読された場合、ホームサーバ装置100は、放送局70からホームサーバ装置100用の新しい共通鍵暗号方式のプログラムを受信し、受信したプログラムを基に自身の備える共通鍵暗号方式を更新する。
メモリカード300は、セキュリティ管理装置600からインターネットを介して、メモリカード用の新しい共通鍵暗号方式のプログラム及び新しい共通鍵暗号方式に対応したデバイス鍵を取得し、取得したデバイス鍵をホームサーバ装置100に安全に転送する。
RSA暗号方式が解読された場合、ホームサーバ装置100は、放送局70からホームサーバ装置100用の新しい公開鍵暗号方式のプログラムを取得し、取得したプログラムを基に自身の備える共通鍵暗号方式を更新する。
メモリカード300は、セキュリティ管理装置600から新しい暗号方式のプログラム、秘密鍵と秘密鍵と対になる公開鍵の公開鍵証明書を取得し、取得した新しい秘密鍵と公開鍵証明書とをホームサーバ装置100に転送し、安全な通信路を再構築する。
1.2 DVD500a及びDVD500b
DVD500a及び500bは、ホームサーバ装置100に装着される可搬型の光ディスク媒体である。
DVD500aは、暗号方式プログラムEnc1により暗号化された情報を記憶している。暗号方式プログラムEnc1は、一例としてDES暗号方式に従う暗号化演算手順を含むプログラムである。DVD500bは、DES暗号方式が解読された後に作成、発売されたものであり、暗号方式プログラムEnc2により暗号化された情報を記憶している。暗号化方式プログラムEnc2は、一例としてラインデール暗号方式に従う暗号化演算手順を含むプログラムである。
DVD500aには、図2に示すように、鍵ファイル510aとコンテンツファイル515aとが記録されている。鍵ファイル510aは、暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aと方式識別子512a「E_1」とを含んでいる。
暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aは、デバイス鍵Dev_1を用いて暗号化方式プログラムEnc1に示す手順にしたがってコンテンツ鍵KEYaを暗号化して生成されたものである。
デバイス鍵とは、機器に固有の鍵値である。そのため、暗号化コンテンツ鍵は、DVD500aの読み取り可能な機器の数だけ存在することになるが、ここでは、説明を容易にするため、ホームサーバ装置100に固有のデバイス鍵で復号可能な暗号化コンテンツ鍵が記憶されているものとする。DVD500bについても同様である。
方式識別子512a「E_1」は、暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aの生成に用いられた暗号化方式プログラムEnc1の暗号方式を示す識別子であり、ここでは、一例としてDES暗号方式を示す。
本明細書において、鍵Aを用いて、方式識別子「E_1」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEnc1(A,C)と表現する。
コンテンツファイル515aは、暗号化コンテンツEnc1(KEYa,Cona)516aと方式識別子517a「E_1」とを含んでいる。暗号化コンテンツEnc1(KEYa,Cona)516aは、一例として映画などの映像コンテンツConaを、コンテンツ鍵KEYaを用いて暗号方式プログラムEnc1の示す手順に従って暗号化したものである。方式識別子517a「E_1」は、暗号化コンテンツEnc1(KEYa,Cona)516aの生成に用いられた暗号化方式プログラムEnc1の暗号方式を示す識別子である。
DVD500bには、図2に示すように、鍵ファイル510bとコンテンツファイル515bとが記録されている。鍵ファイル510bは、暗号化コンテンツ鍵Enc2(Dev_2,KEYb)511bと方式識別子512b「E_2」とを含んでいる。
暗号化コンテンツ鍵Enc2(Dev_2,KEYb)511bは、デバイス鍵Dev_2を用いて暗号化方式プログラムEnc2に示す手順にしたがってコンテンツ鍵KEYbを暗号化して生成されたものである。方式識別子512b「E_2」は、暗号化コンテンツ鍵511bの生成に用いられた暗号化方式プログラムEnc2の暗号方式を示す識別子であり、一例としてラインデール暗号方式を示す。
本明細書において、鍵Aを用いて、方式識別子「E_2」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEnc2(A,C)と表現する。
コンテンツファイル515bは、暗号化コンテンツEnc2(KEYb,Conb)516bと方式識別子517b「E_2」とを含んでいる。暗号化コンテンツEnc2(KEYb,Conb)516bは、コンテンツConbを、コンテンツ鍵KEYbを用いて暗号方式プログラムEnc2の示す手順に従って暗号化したものである。方式識別子517b「E_2」は暗号化コンテンツEnc2(KEYb,Conb)516bの生成に用いられた暗号化方式プログラムEnc2の暗号方式を示す識別子である。
1.3 セキュリティ管理装置600
セキュリティ管理装置600は、図3に示すように、送受信部601、認証部603、制御部607、情報記憶部610、表示部612および入力部613から構成される。
セキュリティ管理装置600は、具体的には図示されていないマイクロプロセッサ及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、セキュリティ管理装置600はその機能を果たす。
(1)情報記憶部610
情報記憶部610は、ハードディスクユニットから構成され、一例として、無効暗号方式一覧621、SD鍵リスト631、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルEII 661及びプログラムファイルPII 671を記憶している。
(A)無効暗号方式一覧621
無効暗号方式一覧621は、図4に示すように、複数の暗号方式情報622、623、624、625・・・から構成される。各暗号方式情報は、既に解読されている暗号方式と対応しており、方式識別子とプログラムファイル名とを含んでものと、方式識別子とプログラムファイル名とデバイス鍵とを含んでいるものがある。
方式識別子は、暗号方式を示す識別子であり、プログラムファイル名は、方式識別子の示す暗号方式に変わる新たな暗号方式に基づき、メモリカード300により実行される暗号方式プログラムを含むプログラムファイルのファイル名である。デバイス鍵は、方式識別子の示す暗号方式に変わる新たな暗号方式に対応したDVDに記憶される暗号化コンテンツ鍵の復号に用いられる鍵値である。
(B)SD鍵リスト631
SD鍵リスト631は、図5に示すように複数のSD鍵情報632、633・・・を記憶している。各SD鍵情報は、カードIDとSD鍵とを含んでおり、カードIDは、メモリカード固有の識別情報であり、SD鍵は、各メモリカードと緊急時に通信を行うためのメモリカード固有の鍵値である。ここで緊急時とは、公開鍵暗号方式を変更するときである。
(C)プログラムファイルEii 641
プログラムファイルEii 641は、図6に示すように、方式識別子642「E_2」、暗号部更新プログラム645及び復号部更新プログラム646を含む。方式識別子642「E_2」は、一例としてラインデール暗号方式を示す識別情報である。
暗号部更新プログラム645及び復号部更新プログラム646は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、ホームサーバ装置100の更新部106(後述する)により、実行される形式である。ここで、ハードウェア記述言語には、一例としてVHDL(VHSIC Hardware Description Language)を用いる。
暗号部更新プログラム645は、ホームサーバ装置100の暗号部108(後述する)を構成するFPGA(Field Programable Gate Array)を書き換え、方式識別子「E_1」及び「E_2」の示す暗号方式に基づき平文を暗号化する機能を備える回路を構築する手順を含んでいる。
復号部更新プログラム646は、ホームサーバ装置100の復号部109(後述する)を構成するFPGAを書き換え、方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に基づき暗号文を復号する機能を備える回路を構築する手順を含んでいる。
(D)プログラムファイルPii 651
プログラムファイルPii 651は図6に示すように、方式識別子652「P_2」と認証部更新プログラム655とを含んでいる。方式識別子652「P_2」は、一例として楕円暗号方式を示す識別情報である。
認証部更新プログラム655は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、ホームサーバ装置100の更新部106により実行される形式である。認証部更新プログラム655は、ホームサーバ装置100の認証部103を構成するFPGAを書き換え、方式識別子「P_2」の示す暗号方式を用いてSAC確立(後述する)を行う機能を備える回路を構築する手順を含んでいる。
(E)プログラムファイルEII 661
プログラムファイルEII 661は、図7に示すように、暗号化制御プログラムOE2 662、復号制御プログラムOD2 663、暗号化アプリプログラムAE2 664、復号アプリプログラムAD2 665、方式識別子666「E_2」、暗号化方式プログラムEnc2 667、復号方式プログラムDec2 668及び鍵長669「128」から構成される。
暗号化制御プログラムOE2 662は、暗号化の手順を含むプログラムであり、暗号化アプリプログラムAE2 664は、平文を適切な長さごとに読み出し暗号化方式プログラムEnc2 667に演算を指示するプログラムである。暗号化方式プログラムEnc2 667は、暗号化演算の手順を含むプログラムである。
復号制御プログラムOD2 663は復号処理の手順を含むプログラムであり、復号アプリプログラムAD2 665は、暗号文を適切な長さごとに読み出し、復号方式プログラムDec2 668に読み出した暗号文の演算を指示するプログラムである。復号方式プログラムDec2 668は、暗号化方式プログラムEnc2により暗号化された暗号文を復号する演算手順を含むプログラムである。
方式識別子666「E_2」は、暗号化方式プログラムEnc2 667及び復号方式プログラムDec2 668の基になる暗号方式を示す識別子であり、一例としてラインデール暗号方式を示す。鍵長669「128」は、暗号化方式プログラムEnc2 667及び復号方式プログラムDec2 668に示す手順により暗号化又は復号を行う際に必要となる鍵値のビット長を示している。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の暗号部308(後述する)、復号部309(後述する)により実行される形式である。
暗号化制御プログラムOE2 662、暗号化アプリプログラムAE2 664及び暗号化方式プログラムEnc2 667は、メモリカード300の暗号部308により用いられ、復号制御プログラムOD2 663、復号アプリプログラムAD2 665及び復号方式プログラムDec2 668は、メモリカード300の復号部309により用いられる。
以下において、上記の各コンピュータプログラムの内容を説明するが、各コンピュータプログラムの内容の理解を容易にするために、機械語形式の命令を用いた表現ではなく、フローチャートにより各コンピュータプログラムを表現し、フローチャートを用いて、各コンピュータプログラムを説明する。
(暗号化制御プログラムOE2 662)
暗号化制御プログラムOE2による暗号化処理を図8に示すフローチャートを用いて説明する。
暗号化制御プログラムOE2は、鍵と平文を読み出す(ステップS131)。ここで、暗号化制御プログラムOE2が読み出す鍵と平文の組み合わせは、一例として、緊急鍵K_EMRと秘密鍵SK_L2の組み合わせと、緊急鍵K_EMRと公開鍵証明書Cert_L2の組み合わせである。
次に、読み出した鍵を暗号鍵として出力し、暗号化アプリプログラムAE2に平文の暗号化を指示する(ステップS132)。暗号化アプリプログラムAE2により暗号文が生成され、生成された暗号文を受け取る(ステップS133)。次に、プログラムメモリ311から方式識別子346「E_2」を読み出し(ステップS136)、暗号文と読み出した方式識別子346「E_2」とを出力する(ステップS137)。
(暗号化アプリプログラムAE2 664)
暗号化アプリプログラムAE2について、図9に示すフローチャートを用いて説明する。
暗号化アプリプログラムAE2は、暗号鍵と、平文の暗号化の指示を受け取る(ステップS140)。次に、プログラムメモリ311から鍵長349「128」を読み出し(ステップS141)、次に、受け取った暗号鍵の鍵長を検出する(ステップS142)。検出した鍵長と読み出した鍵長349「128」を比較し(ステップS143)、検出した鍵長が128ビットであると判断すると(ステップS143のYES)、そのままステップS146へ処理を移す。検出した鍵長が128ビットでないと判断すると(ステップS143のNO)、受け取った暗号鍵の先頭から128ビットを抽出し、これを暗号鍵とする(ステップS144)。
次に、平文を128ビットのブロックごとに読み出し(ステップS146)、暗号鍵と読み出したブロックとを出力し、暗号化方式プログラムEnc2に出力したブロックの暗号化演算を指示する(ステップS147)。
次に、暗号化アプリプログラムAE2は、暗号化方式プログラムEnc2から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS148)、次に、平文を構成するブロックのうち、暗号化されていないブロックが存在するか否かを判断し(ステップS149)、暗号化されていないブロックが存在すれば(ステップS149のNO)、ステップS146に戻り、ステップS146からステップS149を繰り返し、暗号文を生成する。全てのブロックを暗号化し終わっていれば(ステップS149のYES)、生成した暗号文を出力して処理を終了する。
(復号制御プログラムOD2 663)
復号制御プログラムOD2について、図10のフローチャートを用いて説明する。
復号制御プログラムOD2は、鍵と暗号文と暗号文の生成に用いられた暗号方式を示す方式識別子とを受け取る(ステップS201)。ここで、復号制御プログラムOD2が受け取る鍵と暗号文の組み合わせは、一例として、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)の組み合わせ、SD鍵Kmiと暗号化デバイス鍵Enc1(Kmi,Dev_2)の組み合わせなどである。
次に、受け取った方式識別子を判定し(ステップS202)、方式識別子が「E_1」であると判断すると(ステップS202)、方式識別子「E_1」により示される復号方式プログラムDec1がプログラムメモリ311内に存在するか否かを判断し(ステップS207)、存在しないと判断すると、ステップS215へ処理を移す。
方式識別子「E_1」により示される復号方式プログラムDec1がプログラムメモリ311内に存在すると判断すると(ステップS207のYES)、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD1に暗号文の復号を指示する(ステップS208)。次に、復号アプリプログラムAD1から復号文を受け取り(ステップS209)、受け取った復号文を出力し、処理を終了する(ステップS216)。暗号化アプリプログラムAD1については後述する。
方式識別子が「E_2」であると判断すると(ステップS202)、次に、方式識別子「E_2」により示される復号方式プログラムDec2がプログラムメモリ311内に存在するか否かを判断し(ステップS211)、存在しないと判断すると、ステップS215へ処理を移す。
方式識別子「E_2」により示される復号方式プログラムDec2がプログラムメモリ311内に存在すると判断すると(ステップS211のYES)、復号制御プログラムOD2は、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD2に暗号文の復号を指示する(ステップS212)。次に、復号アプリプログラムAD2から復号文を受け取り(ステップS213)、ステップS216へ処理を移す。
方式識別子が、その他であると判断すると(ステップS202)、暗号文の復号ができないことを示すエラー信号を出力し(ステップS215)、処理を終了する。
(復号アプリプログラムAD2 665)
復号アプリプログラムAD2について、図11に示すフローチャートを用いて説明する。
復号アプリプログラムAD2は、復号鍵と暗号文の復号の指示を受け取り(ステップS230)、プログラムメモリ311から鍵長349「128」を読み出し(ステップS231)、受け取った鍵の鍵長を検出する(ステップS232)。検出した鍵長と読み出した鍵長349「128」とを比較し(ステップS233)、128ビットであると判断すると(ステップS233のYES)、そのままステップS236へ処理を移す。検出した鍵長が128ビットでないと判断すると(ステップS233のNO)、受け取った復号鍵の先頭から128ビットを抽出し、これを復号鍵とする(ステップS234)。
次に、暗号文を128ビットのブロックごとに読み出し(ステップS236)、復号鍵と読み出したブロックとを出力し、復号方式プログラムDec2に出力したブロックの復号演算を指示する(ステップS237)。
次に、復号方式プログラムDec2から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS238)。次に、暗号文を構成するブロックのうち、全てのブロックを復号し終わっているか否かを判断し(ステップS239)、復号していないブロックが存在すれば(ステップS239のNO)、ステップS236に戻りステップS236からステップS239の処理を繰り返し、復号文を生成する。全てのブロックを復号し終わっていれば(ステップS239のYES)、生成した復号文を出力し処理を終了する。
(D)プログラムファイルPII 671
プログラムファイルPII 671は、図7に示すように、暗号化アプリプログラムAPE2673、復号アプリプログラムAPD2 674、方式識別子675「P_2」、暗号化方式プログラムPec2 676及び復号方式プログラムPdc2 677から構成される。
暗号化アプリプログラムAPE2 673は、平文を適切な長さごとに読み出し、暗号化方式プログラムPec2 676に読み出した平文の暗号化の演算を指示するプログラムである。暗号化方式プログラムPec2 676は、方式識別子675「P_2」の示す暗号方式に基づく暗号化の演算手順を含むプログラムである。方式識別子675「P_2」は、一例として、楕円曲線暗号方式を示す識別子である。
復号アプリプログラムAPD2 674は、暗号文を適切な長さごとに読み出し、復号方式プログラムPdc2 677に復号の演算を指示するプログラムである。復号方式プログラムPdc2 657は、暗号化方式プログラム「Pec2」により暗号化された暗号文を復号する演算手順を含むプログラムである。なお、楕円曲線暗号方式は、公知の技術であるので説明を省略する。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の認証部303(後述する)より実行される形式である。
以下において、上記の各コンピュータプログラムの内容を説明するが、各コンピュータプログラムの内容の理解を容易にするために、機械語形式の命令を用いた表現ではなく、フローチャートにより各コンピュータプログラムを表現し、フローチャートを用いて、各コンピュータプログラムを説明する。
(暗号化アプリプログラムAPE2 673)
暗号化アプリプログラムAPE2は、後述するSAC制御プログラムにより呼び出されるプログラムである。図12に示すフローチャートを用いて暗号化アプリプログラムAPE2について説明する。
SAC制御プログラムから暗号鍵と平文の暗号化の指示を受け取る(ステップS241)。次に、平文を160ビットのブロックごとに読み出し(ステップS242)、読み出したブロックと暗号鍵とを出力し、暗号化方式プログラムPec2に出力したブロックの暗号化演算を指示する(ステップS243)。次に暗号化方式プログラムPec2から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS244)。次に、平文を構成するブロックを全て暗号化し終わったか否かを判断し(ステップS245)、暗号化していないブロックが存在すれば(ステップS245のNO)、ステップS242に戻って、ステップS242からステップS245の処理を繰り返し、暗号文を生成する。暗号化していないブロックが存在しなければ(ステップS245のYES)、生成した暗号文を出力し、SAC制御プログラムへ処理を移す。
(復号アプリプログラムAPD2 674)
復号アプリプログラムAPD2は、後述するSAC制御プログラムにより呼び出されるプログラムである。図13に示すフローチャートを用いて復号アプリプログラムAPD2について説明する。
SAC制御プログラムから、復号鍵と暗号文の復号の指示とを受け取る(ステップS251)。次に、暗号文を160ビットのブロックごとに読み出す(ステップS252)。次に、受け取った復号鍵と読み出したブロックとを出力し、復号方式プログラムPdc2に出力したブロックの復号演算を指示する(ステップS253)。次に、復号アプリプログラムAPD2は、復号方式プログラムPdc2から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS254)。次に、暗号文を構成するブロックのうち、復号していないブロックが存在するか否かを判断し(ステップS255)、復号していないブロックが存在すると判断すると(ステップS255のNO)、ステップS252に戻り、ステップS252からステップS255までの処理を繰り返し、復号文を生成する。復号していないブロックが存在しないと判断すると(ステップS255のYES)、生成した復号文を出力し、SAC制御プログラムへ処理を移す。
(2)送受信部601
送受信部601は、インターネット20と接続されており、インターネット20に接続されている外部装置と制御部607又は認証部603との間で、情報の送受信を行う。ここで、前記外部装置は、具体的には、携帯電話700及び携帯電話700に装着されたメモリカード300である。
(3)認証部603
認証部603は、セキュリティ管理装置600が外部装置と通信を行うに先だって、外部装置との間に共通のセッション鍵を共有し安全な通信路SAC(Secure Authentication Channel)を確立する。
(4)制御部607
方式識別子「E_1」の示す暗号方式が解読された場合、制御部607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルEii 641をインターネット20を介して放送局70へ送信する。
方式識別子「P_1」の示す暗号方式が解読された場合、制御部607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルPii 671をインターネット20を介して放送局70へ送信する。
また、制御部607は、定期的に認証局から最新のCRL(Certificate Revocation List)を取得し、取得したCRLをインターネット20を介して、放送局70へ送信する。認証局及びCRLについては、後述する。
また、制御部607は、インターネット20及び送受信部601を介してメモリカード300からメモリカード300の使用している暗号方式を示す方式識別子を受信し、受信した方式識別子の示す暗号方式の安全性の確認要求を受け付ける。
メモリカード300から、メモリカード300の使用している暗号方式を示す方式識別子「E_1」と方式識別子「P_1」と方式識別子「E_1」及び方式識別子「P_1」の示す暗号方式の安全性の確認を受け取ると、無効暗号方式一覧621内で受信した方式識別子「E_1」及び「P_1」を含む暗号方式情報を検索する。検索の結果、方式識別子「E_1」、方式識別子「P_1」ともに検出された場合、以下の(i)の処理を行う。方式識別子「E_1」のみ検出された場合、以下の(ii)の処理を行う。方式識別子「P_1」のみ検出された場合、以下の(iii)の処理を行う。方式識別子「E_1」、方式識別子「P_1」ともに検出されなかった場合、以下の(iv)の処理を行う。
以下に(i)〜(iv)の詳細を説明する。
(i)方式識別子「E_1」、方式識別子「P_1」ともに検出された場合
制御部607は、緊急画面データを生成し、送受信部601を介して、生成した緊急画面データをメモリカード300に送信する。図14は、緊急画面データから生成される画面の一例である。
(ii)方式識別子「E_1」のみ検出された場合
制御部607は、以下の
(ii−a)プログラムファイルの送信
(ii−b)デバイス鍵の送信
の手順で方式識別子「E_1」の示す暗号方式の更新処理をする。
以下に(ii−a)と(ii−b)とを説明する。
(ii−a)プログラムファイルの送信
制御部607は、送受信部601を介して、メモリカード300に、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、メモリカード300に生成した更新指示命令を送信する。
次に、メモリカード300から、方式識別子「E_1」と更新開始要求を受信する。
制御部607は、情報記憶部610内の無効暗号方式一覧621から受信した方式識別子「E_1」を含む暗号方式情報623を選択し、選択した暗号方式情報623に含まれるプログラムファイル名を基に、プログラムファイルEII 661を読み出し、送受信部601を介して、読み出したプログラムファイルEII 661をホームサーバ装置100に送信する。
(ii−b)デバイス鍵の送信
次に、制御部607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Kcを受け取ると、受け取ったセッション鍵Kcの先頭から128ビットを抽出し、これを共通鍵K_E2Cとする。
次に、無効暗号方式一覧621内で、メモリカード300から受け取った方式識別子「E_1」を含む暗号方式情報623を選択し、選択した暗号方式情報623からデバイス鍵Dev_2を抽出し、共通鍵K_E2Cを用いて、抽出したデバイス鍵Dev_2を方式識別子「E_2」の示す暗号方式により暗号化し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)を生成する。次に、送受信部601を介して、生成した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と、暗号化デバイス鍵の生成に用いた暗号方式を示す方式識別子「E_2」とをメモリカード300に送信する。
(iii)方式識別子「P_1」のみ検出された場合
制御部607は、以下の
(iii−a)プログラムファイルの送信
(iii−b)鍵の生成及び公開鍵証明書の送信
の手順で「P_1」の示す暗号方式の更新をする。
以下に(iii−a)と(iii−b)とについて説明する。
(iii−a)プログラムファイルの送信
制御部607は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、メモリカード300に生成した更新指示命令を送信する。
次に、制御部607は、メモリカード300から、方式識別子「P_1」と更新開始要求を受信し、情報記憶部610内の無効暗号方式一覧621から方式識別子「P_1」を含む暗号方式情報615を選択し、選択した暗号方式情報615に含まれるプログラムファイル名を基に、プログラムファイルPII 671を読み出し、送受信部601を介して、読み出したプログラムファイルPII 671をメモリカード300に送信する。
(iii−b)鍵の生成及び公開鍵証明書の送信
次に、制御部607は、秘密鍵SK_X2と公開鍵PK_X2の鍵ペアと、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアとを生成し、生成した公開鍵PK_X2及び公開鍵PK_L2の公開鍵証明書Cert_X2と公開鍵証明書Cert_L2とを認証局から取得する。これらの公開鍵証明書は、公開鍵証明書に固有に割り当てられるID番号、公開鍵証明書により証明される公開鍵の鍵値、発行元である認証局による署名データを含んでいる。
これらの鍵ペアは、方式識別子「P_2」で示される暗号方式による暗号化及び復号に用いられる鍵である。方式識別子「P_2」で示される暗号方式は、一例として楕円曲線暗号方式であり、前記鍵ペアの生成方法は、公知であるのでここでは説明をしない。
次に、制御部607は、送受信部601を介してメモリカード300にカードIDを要求する。メモリカード300からカードID「I5000D」を受信すると、受信したカードID「I5000D」を基に、SD鍵リスト631からSD鍵情報632を選択し、選択したSD鍵情報632に含まれるSD鍵Kmiを読み出す。
次に、読み出したSD鍵Kmiを用いて、前記の秘密鍵及び公開鍵証明書を方式識別子「E_1」の示す暗号方式により暗号化し、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を生成する。この際、SD鍵Kmiのビット長が、方式識別子「E_1」の示す暗号方式に適した鍵長56ビットより大きい場合、先頭から56ビットを抽出したものを用いて暗号化する。
次に、送受信部601を介して、生成した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)をメモリカード300へ送信する。
(iv)方式識別子「E_1」、方式識別子「P_1」ともに検出されなかった場合
制御部607は、方式識別子「E_1」の示す暗号方式と方式識別子「P_1」の示す暗号方式とがいずれも安全であることを示す安全通知信号を生成し、送受信部601を介して、生成した安全通知信号をメモリカード300に送信する。
(5)入力部613及び表示部612
入力部613は、セキュリティ管理装置600の操作者による情報又は指示の入力を受け付け、受け付けた情報及び指示を制御部607へ出力する。
表示部612は、制御部607の指示により各種画面を表示する。
1.4 放送局70
放送局70は、インターネット20を介して、セキュリティ管理装置600からCRL、プログラムEii又はプログラムファイルPiiを受信する。
放送局70は、増幅器、変調機、アンテナなどを備え、受信したCRL、プログラムEii又はプログラムファイルPiiを放送波に変換して送信する。
1.5 ホームサーバ装置100
ホームサーバ装置100は、図15に示すように、受信部101、入出力部102、認証部103、更新部106、制御部107、暗号部108、復号部109、記憶部110、表示部112、入力部113、アンテナ114及び入出力部115から構成される。
ホームサーバ装置100は、具体的には図示していないマイクロプロセッサ、RAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、ハードディスク及び記憶部110には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ホームサーバ装置100は、その機能を達成する。
また、ホームサーバ装置100には、DVD500a又は500b及びメモリカード300が装着される。
(1)受信部101及びアンテナ114
送受信部101及びアンテナ114は、放送波を介して、放送局70から送信された情報を受信する。
受信部101は、増幅器、復調機などから構成され、アンテナ114が受信した放送波を増幅し、復調する。
(2)入出力部102及び入出力部115
メモリカード300が装着されると、入出力部102は、メモリカード検出を示すカード検出信号を制御部107へ出力する。
また、入出力部102は、認証部103、更新部106及び制御部107の制御により、メモリカード300へ情報の書き込み及びメモリカード300から情報の読み出しを行う。
入出力部115は、DVD500a又はDVD500bが装着されると、DVD検出を示すディスク検出御信号を制御部107へ出力する。
また、入出力部115は、制御部107の指示により、DVD500a又は500bに記録されている情報の読み出しを行う。
(3)記憶部110
記憶部110は、ハードディスクユニットから構成され、一例として図16に示すように、デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、緊急鍵リスト124、CRL129、第1更新フラグ181、第2更新フラグ182、方式識別子183「E_1」及び方式識別子184「P_1」を記憶している。
公開鍵証明書Cert_L1 123は、秘密鍵SK_L1 122と対になる公開鍵を証明するものであり、ID番号、公開鍵の鍵値及び認証局による署名データを含んでいる。認証局による署名データは、秘密鍵SK_L1 122と対になる公開鍵に、認証局の秘密鍵を用いて、署名生成アルゴリズムSを施して生成したものである。ここで、認証局は、第三者機関であり、アップデートシステム10に属する各機器の公開鍵の正当性を証明する公開鍵証明書を発行する機関である。なお、署名生成アルゴリズムSは一例として、有限体上のElgamal署名である。Elgamal署名については、公知であるので説明を省略する。
緊急鍵リスト124は、複数の緊急鍵情報125、126・・・から構成され、各緊急鍵情報は、カードIDと緊急鍵を含む。カードIDは、ホームサーバ装置100に装着されるメモリカードを識別する各メモリカード固有の情報であり、緊急鍵はカードIDにより識別されるメモリカードと緊急時に通信する場合に使用される暗号鍵値である。ここで、前記緊急時とは、ホームサーバ装置100とメモリカード300との通信に用いられている公開鍵暗号方式を変更するときである。
CRL129は、公開鍵証明書の発行元である認証局により作成され、失効した公開鍵証明書のID番号を含む。
第1更新フラグ181は、共通鍵暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値であり、「0」は、暗号部108及び復号部109の更新は完了しているが、新しいデバイス鍵は、未だ取得していないことを示す。「1」は、暗号部108と復号部109の更新及び新しいデバイス鍵の取得が完了していることを示す。
第2更新フラグ182は、公開鍵暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値であり、「0」は、認証部103の更新は完了しているが、新しい秘密鍵と公開鍵証明書は、未だ取得していないことを示す。「1」は、認証部103の更新及び新しい秘密鍵と公開鍵証明書の取得が完了していることを示す。暗号部108、復号部109及び認証部103の更新については、後述する。)
方式識別子183「E_1」及び方式識別子184「P_1」は、それぞれホームサーバ装置100が備えている共通鍵暗号方式及び公開鍵暗号方式を示す識別子である。
(6)制御部107
制御部107は、入出力部102からカード検出信号を受け取り、入出力部115からディスク検出信号を受け取る。また、アンテナ114及び受信部101を介して、CRLを受信する。
制御部107は、CRLの更新、緊急鍵の生成、コンテンツの再生又はコピーを行う。
以下に、これらの処理について説明する。
(i)CRLの更新
制御部107は、受信部101及びアンテナ114を介して、放送局70から最新のCRLを取得すると、記憶部110のCRL129を取得した最新のCRLに書き換える。
(ii)緊急鍵の生成
制御部107は、入出力部102からカード検出信号を受け取ると、入出力部102を介してメモリカード300に、カードIDを要求し、入出力部102を介して、メモリカード300からカードID「I5000D」を受信する。
カードID「I5000D」を受信すると、記憶部110に記憶されている緊急鍵リスト124内で受信したカードID「I5000D」を検索し、緊急鍵リスト124に受信したカードID「I5000D」が記憶されていると判断すると、緊急鍵の生成処理を終了する。
緊急鍵リスト124に受信したカードID「I5000D」が記憶されていないと判断すると、256ビット長の乱数を生成し、生成した乱数と、受け取ったカードID「I5000D」に含まれるアルファベットに対応する文字コード及び数字の各桁を4ビットの2進数に変換して32ビットのIDコードを生成し、48ビットの現在日時情報を取得し、生成した乱数の先頭から16ビットずつ、IDコードの先頭の2ビットずつ、現在日時情報を先頭から3ビットずつ交互に並べて結合し、336ビット長の緊急鍵K_EMRを生成する。
次に、認証部103にSAC確立を指示する。認証部103によりSACが確立されセッション鍵Kaを受け取ると、受け取ったセッション鍵Kaを暗号鍵として出力し、生成した緊急鍵K_EMRを平文として出力し、暗号部108へ平文の暗号化を指示する。暗号部108から、暗号文として、暗号化緊急鍵Enc1(K_E1A,K_EMR)と暗号化に用いた暗号方式を示す方式識別子「E_1」とを受け取ると、入出力部102を介して、受け取った暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」とをメモリカード300に送信する。
次に、受け取ったカードID「I5000D」と生成した緊急鍵K_EMRとを含む緊急鍵情報とを緊急鍵リスト124に追加して書き込む。
(iii)コンテンツの再生又はコピー
以下に、ホームサーバ装置100にDVD500aが装着された場合についてのみ説明するが、DVD500bが装着された場合も同様であるので、説明を省略する。
制御部107は、入出力部115からディスク検出信号を受け取ると、入出力部115を介してDVD500aから鍵ファイル510aを読み出す。読み出した鍵ファイル510aから方式識別子512a「E_1」と暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aとを抽出し、記憶部110からデバイス鍵Dev_1 121を読み出し、抽出した方式識別子512a「E_1」を出力し、暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aを暗号文として出力し、読み出したデバイス鍵Dev_1 121を復号鍵として出力し、復号部109に暗号文の復号を指示する。
復号部109から、暗号文の復号ができないことを示すエラー信号を受け取ると、DVD500aの内容が読み取れないことを表示するエラー画面を生成し、生成したエラー画面を表示部112に出力する。
エラー信号を受け取らない場合、復号部109から、復号文として、コンテンツ鍵KEYaを受け取り、受け取ったコンテンツ鍵KEYaを記憶部110に書き込む。
次に、入力部113から、利用者によるボタン操作に対応した操作指示情報を受け取る。
入力部113から、コンテンツの再生を示す操作指示情報を受け取ると、制御部107は、DVD500aからコンテンツファイル515aを読み出す。次に、読み出したコンテンツファイル515aから、暗号化コンテンツEnc1(KEYa,Cona)516aと方式識別子517a「E_1」とを抽出し、記憶部110からコンテンツ鍵KEYaを読み出し、抽出した暗号化コンテンツEnc1(KEYa,Cona)516aを暗号文として出力し、読み出したコンテンツ鍵KEYaを復号鍵として出力し、方式識別子517a「E_1」を出力して、復号部109へ暗号文の復号を指示する。
復号部109から、暗号文の復号ができないことを示すエラー信号を受け取ると、DVD500aの内容が読み取れないことを示すエラー画面を生成し、生成したエラー画面を表示部112へ出力する。
復号部109が正常に復号処理を行い、復号部109から、コンテンツConaを受け取ると、受け取ったコンテンツConaをパーソナルコンピュータ50へ出力する。
また、入力部113からコンテンツのコピーを示す操作指示情報を受け取ると、制御部107は、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し、入出力部102を介して、読み出した方式識別子517a「E_1」をメモリカード300へ送信し、方式識別子「E_1」の示す暗号方式により生成された暗号文の復号が可能であるか否かを問い合わせる。入出力部102を介してメモリカード300から、方式識別子「E_1」の示す復号方式プログラムの有無を示す判定結果を受け取る。受け取った判定結果が「0」であれば、メモリカード300へのコピーができないことを示すエラー画面を生成し、生成したエラー画面を表示部112へ出力する。
メモリカード300から受け取った判定結果が「1」であれば、DVD500aからコンテンツファイル515aを読み出す。次に認証部103へSAC確立を指示し、認証部103によりSACが確立され、認証部103からセッション鍵Kbを受け取る。制御部107は、記憶部110からコンテンツ鍵KEYaを読み出し、読み出したコンテンツ鍵KEYaを平文として出力し、受け取ったセッション鍵Kbを暗号鍵として出力し、暗号部108へ平文の暗号化を指示する。
暗号部108から暗号文として、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の生成に用いた暗号方式を示す方式識別子「E_1」とを受け取り、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」と読み出したコンテンツファイル515aとを入出力部102を介してメモリカード300へ出力する。
また、入力部113を介してその他の処理を示す操作指示情報を受け取ると、その他の処理を行う。
(6)更新部106
更新部106は、FPGA書き込み装置を備える(FPGAについては後述する)。
更新部106は、受信部101を介して、放送局70からプログラムファイルEii又はPiiを受信する。
更新部106は、プログラムファイルEiiを受信すると、共通鍵暗号方式の更新を開始し、プログラムファイルPiiを受信すると公開鍵暗号方式の更新を開始する。以下に、これらの処理を説明する。
(i)共通鍵暗号方式の更新
更新部106は、プログラムファイルEiiを受信すると、
(i−a)暗号部108及び復号部109の更新
(i−b)デバイス鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(i−a)及び(i−b)について説明する。
(i−a)暗号部108及び復号部109の更新
更新部106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出し、抽出した方式識別子「E_2」を、記憶部110内で検索する。記憶部110に、方式識別子「E_2」が存在すれば、(i−b)へ処理を移す。
記憶部110内に方式識別子「E_2」が存在しなければ、受信した方式識別子「P_2」を記憶部110に書き込む。
次に、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し、抽出した暗号部更新プログラムに示される手順に従って、暗号部108を構成するFPGAを書き換え、方式識別子「E_2」の示す暗号方式に従う暗号化の機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLB(Configuration Logic Block)を、これらのCLB上に任意の論理関数回路を生成し、生成した論理関数回路を各CLB間に存在する結線リソースにより結線することにより回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した暗号部更新プログラムを書き込む。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し、抽出した復号部更新プログラムに示される手順に従って、復号部109を構成するFPGAを書き換え、方式識別子「E_1」及び「E_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、記憶部110の第1更新フラグ181を「0」に設定する。
(i−b)デバイス鍵の取得
次に、ホームサーバ装置100にメモリカード300が装着された状態で、メモリカード300から第1更新フラグの要求を受け付けると、更新部106は、記憶部110から更新フラグ181「0」を読み出し、読み出した第1更新フラグ181「0」を、入出力部102を介してメモリカード300へ送信する。
次に、メモリカード300から公開鍵証明書Cert_X1を受け取ると、受け取った公開鍵証明書Cert_X1を出力し認証部103にSAC確立を指示する。
次に、認証部103によりSACが確立され、セッション鍵Kd’を受け取り、入出力部102を介して、メモリカード300から暗号化デバイス鍵Enc2(K_E2D,Dev_2)と方式識別子「E_2」とを受け取る。受け取った方式識別子「E_2」を出力し、受け取った暗号化デバイス鍵Enc2(K_E2D,Dev_2)を暗号文として出力し、セッション鍵Kd’を復号鍵として出力し、復号部109へ暗号文の復号を指示する。復号部109から復号文としてデバイス鍵Dev_2を受け取ると、受け取ったデバイス鍵Dev_2を、記憶部110に書き込む。
次に、更新部106は、記憶部110の第1更新フラグ181を「1」に設定する。これにより、共通鍵暗号方式の更新処理を完了する。
以降、メモリカード300から第1更新フラグの要求を受信すると、記憶部110から第1更新フラグ181「1」を読み出し、メモリカード300へ読み出した第1更新フラグ181「1」を送信する。
(ii)公開鍵暗号方式の更新
受信部101を介して、プログラムファイルPiiを受信すると、
(ii−a)認証部103の更新
(ii−b)秘密鍵及び公開鍵証明書取得
の手順で共通鍵暗号方式の更新を行う。以下に、(ii−a)と(ii−b)について説明する。
(ii−a)認証部103の更新
更新部106は、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し、記憶部110内で方式識別子「P_2」を検索する。記憶部110に方式識別子「P_2」が存在すると判断すると、(ii−b)へ処理を移す。
記憶部110に方式識別子「P_2」が存在しないと判断すると、受信した方式識別子「P_2」を記憶部110に書き込み、記憶部110から方式識別子184「P_1」を削除する。
次に、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し、抽出した認証部更新プログラムに示す手順に従って認証部103を構成するFPGAを書き換え、方式識別子「P_2」を用いたSAC確立を実行する機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLBを、これらのCLB間に存在する結線リソースにより結線し、回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した認証部更新プログラムを書き込む。
次に、記憶部110の第2更新フラグ182を「0」に設定する。
(ii−b)秘密鍵及び公開鍵証明書の取得
次に、ホームサーバ装置100にメモリカード300が装着された状態で、入出力部102を介して、メモリカード300から、第2更新フラグの要求を受け付けると、更新部106は、記憶部110から第2更新フラグ182「0」を読み出し、読み出した第2更新フラグ182「0」を、入出力部102を介してメモリカード300へ送信する。
メモリカード300から、カードID「I5000D」と暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とを受け取ると、受け取ったカードID「I5000D」を基に記憶部110に記憶されている緊急鍵リスト124から緊急鍵情報125を選択し、選択した緊急鍵情報125に含まれる緊急鍵K_EMRを読み出す。次に、読み出した緊急鍵K_EMRと受け取った暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子E_1を復号部109へ出力し、緊急鍵K_EMRを復号鍵として暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)の復号を指示する。更新部106は、復号部109から、秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部110に書き込む。次に、秘密鍵SK_L1 122と公開鍵証明書Cert_L1 123とを記憶部110から削除する。
次に、記憶部110の第2更新フラグを「1」に設定する。これにより、公開鍵暗号方式の更新を完了する。
以降、メモリカード300から、第2更新フラグの要求を受け付けると、記憶部110から第2更新フラグ182「1」をメモリカード300へ送信する。
(7)暗号部108
暗号部108は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。FPGAは、アレイ状に配置された多数のCLBとCLB間に配置された配線リソース及び接続スイッチから構成される。各CLBは、ファンクションジェネレータとフリップフロップ回路から構成され、任意の論理関数を生成できる回路を備えている。コンフィグROMは、EEPROMを備えており、このEEPROMに、FPGA上に回路を構築するためのプログラムを記憶しており、ホームサーバ装置100に電源供給が開始されると、このEEPROMに記憶されているプログラムをFPGAにコンフィグレーションする。
暗号部108は、FPGA上に方式識別子「E_1」の示す暗号方式に基づき暗号化処理する機能を備えている。また、更新部106により共通鍵暗号方式の更新が行われると、FPGA上に方式識別子「E_2」の示す暗号方式に基づき暗号化処理を行う機能を備える。
暗号部108は、制御部107から暗号鍵を出力され、平文の暗号化の処理を指示受け取る。ここで、暗号部108が、制御部107から受け取る暗号鍵及び平文の組み合わせは、一例としてセッション鍵Kaと緊急鍵K_EMRの組み合わせ、セッション鍵Kbとコンテンツ鍵KEYaの組み合わせなどである。
以下に、共通鍵暗号方式の更新前後の暗号部108の行う処理について、それぞれ説明する。
(i)共通鍵暗号方式の更新前
暗号部108は、制御部107から暗号鍵と平文の暗号化の指示を受け取る。
次に、受け取った暗号鍵の鍵長を検出し、検出した鍵長が54ビットであるか否かを判断する。検出した鍵長が54ビットでないと判断すると、受け取った暗号鍵の先頭から54ビット抽出し、これを暗号鍵とする。検出した鍵長が54ビットであれば、上記の暗号鍵の抽出を省略する。
次に、暗号部108は、平文を64ビット長のブロックごとに読み出し、読み出したブロックに暗号鍵を用いて、方式識別子「E_1」の示す暗号方式に基づく暗号化の演算を施し、暗号化ブロックを生成する。生成した暗号化ブロックを記憶部110へ書き込む。
以下、平文を構成する全てのブロックを暗号化し終わるまで、ブロックの読み出し、暗号化、暗号化ブロックの書き込みの処理を繰り返して、暗号文を生成する。
全てのブロックを暗号化し終えると、生成した暗号文と暗号化に使用した暗号方式を示す方式識別子「E_1」とを出力する。
(ii)共通鍵暗号方式の更新後
暗号部108は、制御部107から暗号鍵と平文の暗号化の指示を受け取る。
次に、受け取った暗号鍵の鍵長を検出し、検出した鍵長が128ビットであるか否かを判断する。検出した鍵長が128ビットでないと判断すると、受け取った暗号鍵の先頭から128ビット抽出し、これを暗号鍵とする。検出した鍵長が128ビットであれば、上記の暗号鍵の抽出を省略する。
次に、暗号部108は、平文を128ビット長のブロックごとに読み出し、読み出したブロックに暗号鍵を用いて、方式識別子「E_2」の示す暗号方式に基づく暗号化の演算を施し、暗号化ブロックを生成する。生成した暗号化ブロックを記憶部110へ書き込む。
以下、平文を構成する全てのブロックを暗号化し終わるまで、ブロックの読み出し、暗号化、書き込みの処理を繰り返し、暗号文を生成する。
全てのブロックを暗号化し終えると、生成した暗号文と暗号化に使用した暗号方式を示す方式識別子「E_2」とを出力する。
(8)復号部109
復号部109は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。
復号部109は、FPGA上に方式識別子「E_1」の示す暗号方式に基づき復号の処理を行う機能を備えている。また、更新部106により共通鍵暗号方式の更新が行われると、FPGA上に方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に基づき復号処理を行う機能を備える。
復号部109は、制御部107又は更新部106から復号鍵と暗号文の生成に用いられた暗号方式を示す方式識別子とを受け取り、暗号文の復号の指示を受け取る。
ここで、復号部109が、制御部107から受け取る復号鍵と暗号文の組み合わせは、一例として、デバイス鍵Dev_1と暗号化コンテンツ鍵Enc1(Dev_1,KEYa)との組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)との組み合わせ、デバイス鍵Dev_2と暗号化コンテンツ鍵Enc2(Dev_2,KEYb)の組み合わせ及びコンテンツ鍵KEYbと暗号化コンテンツEnc2(KEYb,Conb)との組み合わせである。
また、復号部109が更新部106から受け取る復号鍵と暗号文の組み合わせは、一例として、セッション鍵Kd’と暗号化デバイス鍵Enc2(K_E2D,Dev_2)との組み合わせ、緊急鍵K_EMRと暗号化秘密鍵Enc1(K_EMR,SK_L2)との組み合わせ及び緊急鍵K_EMRと暗号化公開鍵証明書Enc(K_EMR,Cert_L2)との組み合わせである。
以下に、共通鍵暗号方式の更新前後の復号部109の行う処理について、それぞれ説明する。
(i)共通鍵暗号方式の更新前
復号部109は、復号鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子と暗号文の復号の指示を受け取り、受け取った方式識別子を識別する。
受け取った方式識別子が「E_1」以外であると判断すると、暗号文の復号ができないことを示すエラー信号を出力する。
受け取った方式識別子が「E_1」であると判断すると、復号部109は、受け取った復号鍵の鍵長を検出し、検出した鍵長が54ビットであるか否かを判断する。検出した鍵長が、54ビットでないと判断すると、受け取った復号鍵の先頭から54ビットを抽出し、これを復号鍵とする。検出した鍵長が54ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、復号部109は、暗号文を64ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「E_1」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。
全てのブロックを復号し終えると、生成した復号文を出力する。
(ii)共通鍵暗号方式の更新後
復号部109は、復号鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子と暗号文の復号の指示を受け取り、受け取った方式識別子を識別する。
受け取った方式識別子が「E_1」及び方式識別子「E_2」以外であると判断すると、暗号文の復号ができないことを示すエラー信号を出力する。
受け取った方式識別子が「E_1」であると判断すると、上記の(i)と同様にして、復号鍵の抽出、方式識別子「E_1」の示す暗号方式に基づく復号処理及び復号文の出力を行う。
受け取った方式識別子が「E_2」であると判断すると、復号部109は、受け取った復号鍵の鍵長を検出し、検出した鍵長が128ビットであるか否かを判断する。検出した鍵長が、128ビットでないと判断すると、受け取った復号鍵の先頭から128ビットを抽出し、これを復号鍵とする。検出した鍵長が128ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、暗号文を128ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「E_2」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。
全てのブロックを復号し終えると、生成した復号文を出力する。
(9)認証部103
認証部103は、暗号部108及び復号部109と同様にFPGA素子により構成される。
認証部103は、FPGA上に方式識別子「P_1」の示す暗号方式を用いてSACを確立する機能を備えている。また、更新部106により公開鍵暗号方式の更新が行われると、FPGA上に方式識別子「P_2」の示す暗号方式を用いてSAC確立を行う機能を備える。
認証部103は、制御部107又は更新部106からSAC確立の指示又は、相手機器の公開鍵証明書と、SAC確立の指示を受け付ける。ここで、相手機器とは、メモリカード300である。
以下に、公開鍵暗号方式の更新前後の認証部103の行う処理について、それぞれ説明する。
(i)公開鍵暗号方式更新前
認証部103は、制御部107又は更新部106からSAC確立の指示のみを受け取ると、以下の(i−a)に示す処理を行い、制御部107又は更新部106からSAC確立の指示と相手機器の公開鍵証明書とを受け取ると、以下の(i−b)に示す処理を行いSACを確立する。(i−a)及び(i−b)について、以下に説明する。
なお、以下の説明において、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(X,Gen(z,Y))=Gen(z,Gen(X,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献1にディフィーヘルマン型公開鍵配送方法が開示されている。
(i−a)認証部103は、記憶部110から公開鍵証明書Cert_L1 123を読み出し、読み出した公開鍵証明書Cert_L1 123を入出力部102を介して、メモリカード300に出力する。
次にメモリカード300から公開鍵証明書Cert_X1を受け取り、認証局の公開鍵PK_CAを用いて、受け取った公開鍵証明書Cert_X1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
署名検証アルゴリズムVは、署名生成アルゴリズムSにより生成された署名データを検証するアルゴリズムである。
検証結果が成功の場合、記憶部110からCRL129を読み出し、受け取った公開鍵証明書Cert_X1に含まれるID番号が読み出したCRL129に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。登録されていないと判断した場合、次の処理に移る。
次に、認証部103は、入出力部102を介して、メモリカード300から乱数Cha_Bを受信する。記憶部110から秘密鍵SK_L1 122を読み出し、受信した乱数Cha_Bを128ビットのブロックごとに読み出し、秘密鍵SK_L1を用いて、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。次に、生成した暗号化ブロックを記憶部110に書き込む。以降、乱数Cha_Bを構成する全てのブロックを暗号化するまで、ブロックの読み出し、暗号化演算、暗号化ブロックの書き込みを繰り返し、暗号文を生成する。
全てのブロックを暗号化し終わると、生成した暗号文を署名データSig_Aとして、入出力部102を介してメモリカード300に送信する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部102を介して、メモリカード300へ送信する。
次に、認証部103は、入出力部102を介してメモリカード300から署名データSig_Bを受信し、受信した署名データSig_Bを、128ビットのブロックごとに読み出し、受信した公開鍵証明書Cert_X1に含まれる公開鍵PK_X1を用いて、読み出したブロックに、方式識別子「P_1」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。次に、生成した復号ブロックを記憶部110に書き込む。以降、署名データSig_Bを構成する全てのブロックを復号し終わるまで、ブロックの読み出し、復号演算、復号ブロックの書き込みを繰り返し、復号文を生成する。
次に、認証部103は、生成した復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
生成した復号文と乱数Cha_Aとが一致すると、署名検証成功と判断し、次に、乱数「a」を生成する。生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成し、生成したKey_Aを、入出力部102を介してメモリカード300へ出力する。
次に、メモリカード300から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、生成したセッション鍵を、制御部107又は更新部106へ出力する。
(i−b)認証部103は、受け取ったメモリカード300の公開鍵証明書Cert_X1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、記憶部110からCRL129を読み出し、受け取った公開鍵証明書Cert_X1に含まれるID番号が読み出したCRL129に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。
登録されていないと判断した場合、記憶部110から公開鍵証明書Cert_L1 123を読み出し、読み出した公開鍵証明書Cert_L1 123を入出力部102を介して、メモリカード300に出力する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部102を介して、メモリカード300へ出力する。
次に、メモリカード300から署名データSig_Bを受信すると、認証部103は、受信した署名データSig_Bを128ビットのブロックごとに読み出し、メモリカード300の公開鍵証明書Cert_X1に含まれる公開鍵PK_X1を用いて、読み出したブロックに、方式識別子「P_1」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。次に、生成した復号ブロックを記憶部110に書き込む。以降、署名データSig_Bを構成する全てのブロックを復号し終わるまで、ブロックの読み出し、復号演算、復号ブロックの書き込みを繰り返し、復号文を生成する。
次に、認証部103は、生成した復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
生成した復号文と乱数Cha_Aとが一致すると、署名検証成功と判断し、処理を続ける。
次に、入出力部102を介して、メモリカード300から乱数Cha_Bを受信する。記憶部110から秘密鍵SK_L1 122を読み出し、受信した乱数Cha_Bを128ビットのブロックごとに読み出し、読み出した秘密鍵SK_L1を用いて、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。次に、生成した暗号化ブロックを記憶部110に書き込む。以降、乱数Cha_Bを構成する全てのブロックを暗号化するまで、ブロックの読み出し、暗号化演算、暗号化ブロックの書き込みを繰り返し、暗号文を生成する。
全てのブロックを暗号化し終わると、生成した暗号文を署名データSig_Aとして、入出力部102を介してメモリカード300に送信する。
次に、メモリカード300から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取ると、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部102を介してメモリカード300へ出力する。
次に受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、生成したセッション鍵を制御部107又は更新部106へ出力する。
(i)公開鍵暗号方式更新後
公開鍵暗号方式更新後の認証部103の行う処理は、更新前とほぼ同一であるが、受信した署名データSig_Bを128ビットのブロックごとに読み出し、読み出したブロックを、方式識別子「P_1」の示す暗号方式に基づく復号演算を施す代わりに、受信した署名データSig_Bを160ビットのブロックごとに読み出し、読み出したブロックを、方式識別子「P_2」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。
また、乱数Cha_Bを128ビットのブロックごとに読み出し、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施す代わりに、乱数Cha_Bを160ビットのブロックごとに読み出し、読み出したブロックに方式識別子「P_2」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。その他の処理は、公開鍵暗号方式更新前と同一であるので説明を省略する。
1.6 メモリカード300
メモリカード300は、図17に示すように、入出力部302、認証部303、更新部306、制御部307、暗号部308、復号部309及び情報記憶部310から構成される。
メモリカード300は、一例として、ICチップを搭載したICメモリカードであり、機器認証、暗号処理などの機能を備える。これらの機能により、正当な機器以外からの、データの読み出し及び書き込みを受け付けない。ここで、正当な機器とは、ホームサーバ装置100及び携帯電話700である。
ICチップは、具体的には、マイクロプロセッサ、ROM、RAM、などから構成される。前記ROM及びRAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、メモリカード300は、その機能を達成する。
メモリカード300は、外部の装置に装着され、外部の装置から情報を受け取り、受け取った情報を内部に記憶し、又は内部から情報を読み出し、読み出した情報を外部の装置へ出力する。
ここで、前記外部の装置は、ホームサーバ装置100及び携帯電話700である。
(1)情報記憶部310
情報記憶部310は、セキュア領域320と一般領域312とから構成される。
セキュア領域320は、耐タンパ性を有し、図18に示すように、一例として秘密鍵SK_X1 322、カードID327「I5000D」、緊急鍵K_EMR 328及びSD鍵Kmi 330を記憶している。
秘密鍵SK_X1 322は、公開鍵暗号方式に用いられるメモリカード300の秘密鍵である。カードID327「I5000D」は、メモリカード300固有の識別番号である。
緊急鍵K_EMR 328は、公開鍵暗号方式が解明された場合に、ホームサーバ装置100との間で緊急通信を行うための鍵値である。これは、ホームサーバ装置100の記憶している緊急鍵リスト124に記憶されている緊急鍵K_EMRと同一のものである。
SD鍵Kmi 330は、メモリカード300の製造時に、生産メーカーにより設定されたメモリカード300に固有の鍵値である。これは、セキュリティ管理装置600の記憶しているSD鍵リスト631のSD鍵情報632に含まれるSD鍵Kmiと同一のものである。
一般領域312は、一例として、図17に示すように、公開鍵証明書Cert_X1 323、CRL329及びプログラムメモリ311を記憶している。
公開鍵証明書Cert_X1 323は、秘密鍵SK_X1 322と対になる公開鍵を証明する鍵証明書である。公開鍵証明書Cert_X1 323は、公開鍵証明書Cert_X1 323に固有のID番号と秘密鍵SK_X1と対になる公開鍵の鍵値と認証局の署名データとを含む。
CRL129は、認証局により作成及び配布されるものであり、無効になった公開鍵証明書のID番号を含む。
プログラムメモリ311は、一例として図19に示すように、暗号化制御プログラムOE1 331、復号制御プログラムOD1 332、暗号化アプリプログラムAE1 335、復号アプリプログラムAD1 336、方式識別子341「E_1」、暗号化方式プログラムEnc1 342、復号方式プログラムDec1 343、鍵長344「54」、SAC制御プログラム351、暗号化アプリプログラムAPE1 352、復号アプリプログラムAPD1 353、方式識別子355「P_1」、暗号化方式プログラムPec1 356及び復号方式プログラムPdc1 357を記憶している。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の暗号部308、復号部309及び認証部303により実行される形式である。
暗号化制御プログラムOE1 331、暗号化アプリプログラムAE1 335及び暗号化方式プログラムEnc1 342は、暗号部308により用いられる。
復号制御プログラムOD1 332、復号アプリプログラムAD1 336及び復号方式プログラムDec1 343は復号部309により用いられる。
SAC制御プログラム351、暗号化アプリプログラムAPE1 352、復号アプリプログラムAPD1 353、暗号化方式プログラムPec1 356及び復号方式プログラムPdc1 357は認証部303により用いられる。
各コンピュータプログラムの詳細は後述する。
方式識別子341「E_1」は、暗号化方式プログラムEnc1 342及び復号方式プログラムDec1 343の基になる暗号方式を示す識別子であり、一例としてDES暗号方式を示す。
方式識別子355「P_1」は、暗号化方式プログラムPen1 356及び復号方式プログラムPdc1 357の基になる暗号方式を示す識別子であり、一例としてRSA暗号方式を示す。
また、プログラムメモリ311は、更新部306により、共通鍵暗号方式の更新及び公開鍵暗号方式の更新が実行されると、その内容を書き換えられる。共通鍵暗号方式の更新及び公開鍵暗号方式の更新後のプログラムメモリ311は、図20に示すように、暗号化制御プログラムOE2 333、復号制御プログラムOD2 334、復号アプリプログラムAD1 336、暗号化アプリプログラムAE2 337、復号アプリプログラムAD2 338、方式識別子341「E_1」、復号方式プログラムDec1 343、鍵長344「54」、方式識別子346「E_2」、暗号化方式プログラムEnc2 347、復号方式プログラムDec2 348、鍵長349「128」、SAC制御プログラム351、暗号化アプリプログラムAPE2 362、復号アプリプログラムAPD2 363、方式識別子365「P_2」、暗号化方式プログラムPec2 366及び、復号方式プログラムPdc2 367を記憶している。
暗号化制御プログラムOE2 333、復号制御プログラムOD2 334、暗号化アプリプログラムAE2 337、復号アプリプログラムAD2 338、方式識別子346「E_2」、暗号化方式プログラムEnc2 347、復号方式プログラムDec2 348及び鍵長349「128」は、セキュリティ管理装置600に記憶されているプログラムファイルEII 661に含まれる暗号化制御プログラムOE2、復号制御プログラムOD2、暗号化アプリプログラムAE2、復号アプリプログラムAD2、方式識別子「E_2」、暗号化方式プログラムEnc2、復号方式プログラムDec2及び鍵長「128」と同一であるので、説明を省略する。
暗号化アプリプログラムAPE2 362、復号アプリプログラムAPD2 363、方式識別子365「P_2」、暗号化方式プログラムPec2 366及び、復号方式プログラムPdc2 367は、セキュリティ管理装置600の記憶しているプログラムファイルPII 671に含まれる暗号化アプリプログラムAPE2、復号アプリプログラムAPD2、方式識別子「P_2」、暗号化方式プログラムPec2及び復号方式プログラムPdc2と同一であるので説明を省略する。
以下に、上記のコンピュータプログラムの詳細について説明する。
(A)暗号化制御プログラムOE1 331
暗号化制御プログラムOE1 331について、図21に示すフローチャートを用いて説明する。
暗号化制御プログラムOE1は、鍵と平文を読み出す(ステップS101)。
ここで、暗号化制御プログラムOE1が読み出す鍵と平文の組み合わせは、一例として、セッション鍵Kdとデバイス鍵Dev_2との組み合わせ、緊急鍵K_EMRと秘密鍵SK_L2との組み合わせ、緊急鍵K_EMRと公開鍵証明書Cert_L2との組み合わせなどである。
次に、読み出した鍵を暗号鍵として出力し、暗号化アプリプログラムAE1に平文の暗号化を指示する(ステップS102)。
次に、暗号化アプリプログラムAE1から暗号文を受け取る(ステップS103)。次に、プログラムメモリ311から方式識別子141「E_1」を読み出し(ステップS106)、暗号文と読み出した方式識別子141「E_1」とを出力する(ステップS107)。
(B)暗号化アプリプログラムAE1 335
暗号化アプリプログラムAE1について、図22に示すフローチャートを用いて説明する。
暗号化アプリプログラムAE1は、暗号鍵と、平文の暗号化の指示を受け取る(ステップS110)。次に、プログラムメモリ311から、鍵長144「54」を読み出し(ステップS111)、受け取った暗号鍵の鍵長を検出する(ステップS112)。次に、検出した鍵長が54ビットであるか否かを判断し(ステップS113)、54ビットであれば、そのままステップS115へ処理を移す。検出した鍵長が54ビットでなければ(ステップS113のNO)、受け取った暗号鍵の先頭から54ビット抽出し、暗号鍵とする(ステップS114)。次に、平文を64bビット長のブロックごとに読み出す(ステップS115)。次に、暗号鍵をと読み出したブロックとを出力し、暗号化方式プログラムEnc1に出力したブロックの暗号化演算を指示する(ステップS116)。暗号化方式プログラムEnc1から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS117)。次に、平文を構成するブロック全てを暗号化し終わっているか否かを判断し(ステップS118)、まだ暗号化していないブロックが存在すると判断すると(ステップS118のNO)、ステップS115に戻ってステップS115からステップS118の処理を繰り返し、暗号文を生成する。既に全てのブロックを暗号化し終わっていると判断すると(ステップS118のYES)、生成した暗号文を出力し、処理を終了する。
(C)復号制御プログラムOD1 132
復号制御プログラムOD1 132について、図23のフローチャートを用いて説明する。
復号制御プログラム132は、鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子とを受け取る(ステップS161)。ここで、復号制御プログラム132が読み出す鍵と暗号文の組み合わせは、一例として、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)との組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)との組み合わせ、セッション鍵Kc’と暗号化デバイス鍵Enc2(K_E2C,Dev_2)との組み合わせなどである。
次に、受け取った方式識別子を判別し(ステップS162)、受け取った方式識別子が「E_1」であると判断すると(ステップS162)、方式識別子「E_1」の示す暗号方式に基づく復号方式プログラムDec1が、プログラムメモリ311内に存在するか否かを判断し(ステップS169)、存在しないと判断すると(ステップS169のNO)、ステップS174へ処理を移す。方式識別子「E_1」の示す暗号方式に基づく復号方式プログラムDec1が、プログラムメモリ311内に存在すると判断すると(ステップS169のYES)、次に、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD1に暗号文の復号を指示する(ステップS170)。
次に、復号アプリプログラムAD1へ処理を移し、復号アプリプログラムAD1から復号文を受け取る(ステップS171)。次に、受け取った復号文を出力し(ステップS173)、処理を終了する。
方式識別子が「E_1」以外であると判断すると(ステップS162)、エラー信号を出力し(ステップS174)、処理を終了する。
(D)復号アプリプログラムAD1 336
復号アプリプログラムAD1について、図24のフローチャートを用いて説明する。
復号アプリプログラムAD1は、復号鍵と暗号文の復号の指示を受け取り(ステップS180)、プログラムメモリ311から、鍵長344「54」を読み出し(ステップS181)、次に、受け取った復号鍵の鍵長を検出する(ステップS182)。
検出した鍵長が54ビットであるか否かを判断する(ステップS183)。検出した鍵長が54ビットであれば(ステップS183のYES)、そのまま、ステップS186へ処理を移す。検出した鍵長が、54ビットでないと判断すると(ステップS183のNO)、受け取った復号鍵の先頭から54ビットを抽出し、復号鍵とする(ステップS184)。
次に、暗号文を64ビット長のブロックごとに読み出し(ステップS186)、復号鍵と読み出したブロックとを出力し、復号方式プログラムDec1に出力したブロックの復号演算を指示する(ステップS187)。
次に、復号方式プログラムDec1から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS188)。次に、暗号文を構成するブロックのうち、全てのブロックを復号し終わっているか否かを判断し(ステップS189)、復号していないブロックが存在すれば(ステップS189のNO)、ステップS186に戻りステップS186からステップS189を繰り返し、復号文を生成する。全てのブロックを復号し終わっていれば(ステップS189のYES)、生成した復号文を出力し処理を終了する。
(E)SAC制御プログラム351
は、SACを確立する相手機器の公開鍵証明書を受信済みであるか否かを判断し、相手機器の公開鍵証明書を受信していないと判断すると、以下の(E−1)のようにしてSACを確立する。相手機器の公開鍵証明書を受信していると判断すると、以下の(E−2)のようにしてSACを確立する。ここでは、相手側機器がホームサーバ装置100である場合について説明する。
なお、以下の説明において、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献1にディフィーヘルマン型公開鍵配送方法が開示されている。
以下に(E−1)及び(E−2)の詳細を説明する。
(E−1)ホームサーバ装置100の公開鍵証明書を受信していないと判断すると、SAC制御プログラムは、情報記憶部310から公開鍵証明書Cert_X1 323を読み出し、読み出した公開鍵証明書Cert_X1 323を入出力部302を介して、ホームサーバ装置100に出力する。
次に、ホームサーバ装置100から公開鍵証明書Cert_L1を受け取り、認証局の公開鍵PK_CAを用いて、受け取った公開鍵証明書Cert_L1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、情報記憶部310からCRL329を読み出し、受け取った公開鍵証明書Cert_L1に含まれるID番号が読み出したCRL329に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。登録されていないと判断した場合、次の処理に移る。
次に、入出力部302を介して、ホームサーバ装置100から乱数Cha_Bを受信する。情報記憶部310から秘密鍵SK_X1 322を読み出し、読み出した秘密鍵SK_X1 322を暗号鍵として出力し、受信した乱数Cha_Bを平文として出力し、暗号化アプリプログラムに暗号化を指示する。
次に、暗号化アプリプログラムから暗号文を受け取り、受け取った暗号文を署名データSig_Aとして、入出力部302を介してホームサーバ装置100に送信する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部302を介して、ホームサーバ装置100へ送信する。
次に、入出力部302を介してホームサーバ装置100から署名データSig_Bを受信し、受信した署名データSig_Bを暗号文として出力し、受信した公開鍵証明書Cert_L1に含まれる公開鍵を復号鍵として出力し、復号アプリプログラムに復号を指示する。
次に、復号アプリプログラムから復号文を受け取り、受け取った復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
受け取った復号文と乱数Cha_Aとが一致すると、署名検証成功と判断する。
次に、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部302を介してホームサーバ装置100へ出力する。
次に、ホームサーバ装置100から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、処理を終了する。
(E−2)SAC制御プログラムは、ホームサーバ装置100の公開鍵証明書Cert_L1を受信していると判断すると、受信した公開鍵証明書Cert_L1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、情報記憶部310からCRL329を読み出し、受け取った公開鍵証明書Cert_L1に含まれるID番号が読み出したCRL329に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。
登録されていないと判断した場合、情報記憶部310から公開鍵証明書Cert_X1 323を読み出し、読み出した公開鍵証明書Cert_X1 323を入出力部302を介して、ホームサーバ装置100に出力する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部302を介して、ホームサーバ装置100へ出力する。
次に、ホームサーバ装置100から署名データSig_Bを受信すると、受信した署名データSig_Bを暗号文として出力し、受信した公開鍵証明書Cert_L1に含まれる公開鍵を復号鍵として出力し、復号アプリプログラムに暗号文の復号を指示する。
次に、復号アプリプログラムから復号文を受け取り、受け取った復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。受け取った復号文と生成した乱数Cha_Aとが一致すると、署名検証成功と判断し、処理を続ける。
次に、入出力部302を介して、ホームサーバ装置100から乱数Cha_Bを受信する。情報記憶部310から秘密鍵SK_X1 322を読み出し、読み出した秘密鍵SK_X1 322を暗号鍵として出力し、受信した乱数Cha_Bを平文として出力し、暗号化アプリプログラムに平文の暗号化を指示する。
次に、SAC制御プログラムは、暗号化アプリプログラムから暗号文を受け取り、受け取った暗号文を署名データSig_Aとしてホームサーバ装置100に出力する。
次に、ホームサーバ装置100から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。SAC制御プログラムは、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部302を介してホームサーバ装置100へ出力する。
次に、受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し処理を終了する。
(F)暗号化アプリプログラムAPE1 352による暗号化処理
暗号化アプリプログラムAPE1について、図25に示すフローチャートを用いて説明する。
暗号化アプリプログラムAPE1は、暗号鍵と平文の暗号化の指示とを受け取る(ステップS261)。次に、平文を128ビットのブロックごとに読み出し(ステップS262)、読み出したブロックと暗号鍵とを出力し、暗号化方式プログラムPec1にブロックの暗号化演算を指示する(ステップS263)。次に、暗号化方式プログラムPec1から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS264)。次に、平文を構成するブロックすべてを暗号化し終わったか否かを判断し(ステップS265)、暗号化していないブロックが存在すれば(ステップS265のNO)、ステップS262に戻って、ステップS262からステップS265の処理を繰り返し、暗号文を生成する。読み出していないブロックが存在しなければ(ステップS265のYES)、生成した暗号文を出力し処理を終了する。
(G)復号アプリプログラムAPD1 353による復号処理
復号アプリプログラムAPD1について、図26を用いて説明する。
復号アプリプログラムAPD1は、復号鍵と暗号文の復号の指示とを受け取る(ステップS271)。次に、暗号文を128ビット長のブロックごとに読み出し(ステップS272)、受け取った復号鍵と読み出したブロックとを出力し、復号方式プログラムPdc1にブロックの復号演算を指示する(ステップS273)。次に、復号アプリプログラムAPD1は、復号方式プログラムPdc1から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS274)。
次に、暗号文を構成する全てのブロックを復号し終わったか否かを判断し(ステップS275)、復号し終わっていないブロックが存在すると判断すると(ステップS275のNO)、ステップS272に戻り、ステップS272からステップS275の処理を繰り返して復号文を生成する。
暗号文を構成する全てのブロックを読み出し終わっていると判断すると(ステップS275)、生成した復号文を出力し処理を終了する。
(2)入出力部302
入出力部302は、制御部307及び更新部306と外部装置の間で情報の送受信を行う。
また、携帯電話700へメモリカード300が装着されたことを検出し、携帯検出信号を制御部307へ出力する。ホームサーバ装置100へメモリカード300が装着されたことを検出すると、HS検出信号を更新部306へ出力する。
(3)制御部307
制御部307は、メモリカード300がホームサーバ装置100に装着された状態で、入出力部302を介して、ホームサーバ装置100からカードIDの要求を受け取る。
また、ホームサーバ装置100から、方式識別子を受信し、受信した暗号方式により生成された暗号文の復号が可能であるか否かの問合せを受け付ける。
メモリカード300が携帯電話700に装着された状態で、入出力部302から携帯検出信号を受け取る。また、入出力部302を介して、携帯電話700からコンテンツの出力要求を受け取る。
制御部307は、緊急鍵の生成、CRLの更新、更新部306への暗号化方式の更新処理の開始の指示、コンテンツの受信及びコンテンツの出力を行う。以下に、これらの処理の説明をする。
(i)緊急鍵の生成
メモリカード300が、ホームサーバ装置100に装着された状態で、ホームサーバ装置100からカードIDの要求を受信すると、制御部307は、情報記憶部310からカードID327「I5000D」を読み出し、入出力部302を介して、読み出したカードIDをホームサーバ装置100へ送信する。
次に、制御部307は、ホームサーバ装置100から公開鍵証明書Cert_L1を受信し、受信した公開鍵証明書Cert_L1を認証部303へ出力し、SAC確立を指示する。認証部303によるSAC確立が完了すると、認証部303からセッション鍵Ka’を受け取る。
次に、入出力部302を介して、ホームサーバ装置100から暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」とを受信すると、制御部307は、受信した暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」と受け取ったセッション鍵Ka’とを復号部309に出力し、暗号化緊急鍵Enc1(K_E1A,K_EMR)の復号を指示する。
復号部309から緊急鍵K_EMRを受け取り、受け取った緊急鍵K_EMRを情報記憶部310のセキュア領域320へ書き込む。
(ii)CRLの更新
入出力部302から、携帯検出信号を受け取ると、制御部307は、入出力部302、携帯電話700及びインターネット20を介して認証局より、最新のCRLを取得し、情報記憶部310のCRL329を取得した最新のCRLに書き換える。
(iii)更新部306への暗号方式更新の開始の指示
制御部307は、上記の(ii)のようにしてCRLの更新が終了すると、更新部306へ暗号方式の更新の開始を指示する。
(iv)コンテンツの受信
入出力部302を介して、ホームサーバ装置100から方式識別子「E_1」を受信し、受信した暗号方式「E_1」により生成された暗号文の復号が可能であるか否かの問合せを受け取ると、制御部307は、プログラムメモリ311内で、受信した方式識別子「E_1」の示す暗号方式の復号方式プログラムDec1の有無を確認する。
復号方式プログラムDec1がプログラムメモリ311に記憶されていると判断すると判定結果「1」を生成する。復号方式プログラムDec1がプログラムメモリ311に記憶されていないと判断すると、判定結果「0」を生成する。次に、入出力部302を介して、生成した判定結果をホームサーバ装置100へ送信する。
次に、ホームサーバ装置100から公開鍵証明書Cert_L1を受信すると、制御部307は、受信した公開鍵証明書Cert_L1を認証部303へ出力し、SAC確立を指示する。認証部303によるSAC確立が完了し、認証部303からセッション鍵Kb’を受け取る。
次に、ホームサーバ装置100から、コンテンツファイルと暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とを受信し、受信したコンテンツファイルを一般領域312へ書き込む。次に、制御部307は、受信した暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」と認証部から受け取ったセッション鍵Kb’とを復号部309に出力し、セッション鍵Kb’を鍵として暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の復号を指示する。復号部309から、コンテンツ鍵KEYaを受け取ると、受け取ったコンテンツ鍵KEYaをセキュア領域320へ書き込む。
(v)コンテンツの出力
メモリカード300が携帯電話700に装着された状態で、携帯電話700からコンテンツの出力要求を受信すると、制御部307は、セキュア領域320からコンテンツ鍵KEYaを読み出し、一般領域312に記憶されているコンテンツファイルから暗号化コンテンツEnc1(KEYa,Cona)と方式識別子「E_1」とを読み出し、読み出したコンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)と方式識別子「E_1」とを復号部309へ出力し、暗号化コンテンツEnc1(KEYa,Cona)の復号を指示する。
復号部309により生成されたコンテンツConaを受け取ると、制御部307は、受け取ったコンテンツConaを入出力部302を介して携帯電話700へ出力する。
具体的には、映像及び音声からなるコンテンツConaのように容量の大きな情報を出力する場合、復号部309は、暗号文を順次復号し復号文を生成し、制御部307は、生成された復号文を順次携帯電話700へ出力する。
(4)更新部306
更新部106は、制御部307から、暗号方式更新の開始の指示を受け取る。また、入出力部302からHS検出信号を受け取る。
制御部307から、暗号方式更新の開始の指示を受け取ると、プログラムメモリ311から方式識別子341「E_1」と方式識別子355「P_1」とを読み出し、入出力部302及び携帯電話700を介して、読み出した方式識別子341「E_1」と方式識別子355「P_1」とをセキュリティ管理装置600へ送信し、暗号方式の安全性の確認を要求する。
更新部306は、セキュリティ管理装置600から(i)緊急画面データ、(ii)安全通知信号、(iii)方式識別子「E_1」の示す暗号方式の更新命令又は(iv)方式識別子「P_1」の示す暗号方式の更新命令を受信する。更新部306は、それぞれの場合において、以下に説明するような処理を行う。
なお、ホームサーバ装置100はインターネット20に常時接続されており頻繁に、上述したような暗号方式の更新処理を行っているため、メモリカード300よりも先に新しい共通鍵暗号方式のプログラム導入及び新しい公開鍵暗号方式のプログラム導入を終えているものとする。
(i)緊急画面データの場合
携帯電話700を介して、セキュリティ管理装置600から、緊急画面データを受信すると、更新部306は、受信した緊急画面データを、携帯電話700に出力し緊急画面の表示を要求する。
(ii)安全通知信号の場合
携帯電話700を介してセキュリティ管理装置600から安全通知信号を受信すると、更新部306は、メモリカード300自身の記憶している暗号方式が安全であると判断し、暗号方式の更新処理を終了する。
(iii)方式識別子「E_1」の示す暗号方式の更新命令の場合
携帯電話700を介して、セキュリティ管理装置600から方式識別子「E_1」の示す暗号方式の更新命令を受信すると、更新部306は、プログラムメモリ311から、方式識別子341「E_1」を読み出し、入出力部302を介して読み出した方式識別子341「E_1」をセキュリティ管理装置600へ送信し、更新開始を要求する。
次に、携帯電話700を介して、セキュリティ管理装置600からプログラムファイルEIIを受信すると、更新部306は、受信したプログラムファイルEIIから暗号化制御プログラムOE2と復号制御プログラムOD2とを抽出し、抽出した暗号化制御プログラムOE2と復号制御プログラムOD2とをインストールする。次にプログラムメモリ311から暗号化制御プログラムOE1 331と復号制御プログラムOD1 332とを削除する。
次に、受信したプログラムファイルEIIから、暗号化アプリプログラムAE2と復号アプリプログラムAD2とを抽出しインストールし、プログラムメモリ311から暗号化アプリプログラムAE1 335を削除する。
次に、更新部106は、受信したプログラムファイルEIIから暗号化方式プログラムEnc2と復号方式プログラムDec2とを抽出し、抽出した暗号化方式プログラムEnc2と復号方式プログラムDec2とをインストールし、プログラムメモリ311から暗号化方式プログラムEnc1 342を削除する。
次に、受信したプログラムファイルEIIから方式識別子「E_2」と鍵長「128」とを抽出し、抽出した方式識別子「E_2」と鍵長「128」とをプログラムメモリ311に書き込む。
次に、携帯電話700を介して、セキュリティ管理装置600から、セキュリティ管理装置600の公開鍵証明書を受信すると、更新部306は、受信した公開鍵証明書を認証部303へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部306は、認証部303からセッション鍵Kc’を受け取る。
次に、携帯電話700を介して、セキュリティ管理装置600から、暗号化デバイス鍵Enc2(K_E2C,Dev_2)と方式識別子「E_2」とを受信する。更新部306は、受信した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と方式識別子「E_2」と認証部303から受け取ったセッション鍵Kc’とを、復号部309へ出力し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)の復号を指示する。
復号部309から、デバイス鍵Dev_2を受け取ると、受け取ったデバイス鍵Dev_2を、セキュア領域320へ書き込む。
次に、入出力部302を介して、入出力部302からHS検出信号を受け取ると、更新部106は、入出力部302を介してホームサーバ装置100に第1更新フラグを要求する。次に、ホームサーバ装置100から第1更新フラグを受信し、受信した第1更新フラグが「1」であると識別すると、更新部306は、デバイス鍵Dev_2の転送の必要がないと判断し、セキュア領域320に記憶しているデバイス鍵Dev_2を削除し、共通鍵暗号方式の更新処理を終了する。
受信した第1更新フラグが「0」であると識別すると、更新部306は、認証部303にSAC確立を指示する。認証部303によりSACが確立され、セッション鍵Kdを受け取ると、セキュア領域320からデバイス鍵Dev_2を読み出し、読み出したデバイス鍵Dev_2と、受け取ったセッション鍵Kdを暗号部308に出力し、デバイス鍵Dev_2の暗号化を指示する。
暗号部308から、暗号化デバイス鍵Enc2(K_E2D,Dev_2)と暗号化デバイス鍵Enc2(K_E2D,Dev_2)の生成に用いた暗号化方式を示す方式識別子「E_2」とを受け取ると、入出力部302を介して受け取った暗号化デバイス鍵Enc2(K_E2D,Dev_2)と方式識別子「E_2」とを、ホームサーバ装置100へ送信し、共通鍵暗号方式の更新処理を終了する。
(iv)方式識別子「P_1」の示す暗号方式の更新命令の場合
携帯電話700を介して、セキュリティ管理装置600から方式識別子「P_1」の示す暗号方式の変更命令を受信すると、更新部306は、プログラムメモリ311から方式識別子355「P_1」を読み出し、携帯電話700を介して、セキュリティ管理装置600へ読み出した方式識別子「P_1」を送信し、暗号方式の更新開始を要求する。
次に、携帯電話700を介して、セキュリティ管理装置600から、プログラムファイルPIIを受信する。更新部106は、受信したプログラムファイルPIIから暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とを抽出し、抽出した暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とをインストールする。次に、プログラムメモリ311から暗号化アプリプログラムAPE1 352と復号アプリプログラムAPD1 353とを削除することで、暗号化アプリプログラムAPD1と暗号化アプリプログラムAPD2とを入れ替え、復号アプリプログラムAPD1と復号アプリプログラムAPD2とを入れ替える。
次に、プログラムファイルPIIから暗号化方式プログラムPec2と復号方式プログラムPdc2とを抽出し、抽出した暗号化方式プログラムPec2と復号方式プログラムPdc2とをインストールする。次に、プログラムメモリ311から暗号化アプリプログラムAPE1 352と復号アプリプログラムAPD1 353とを削除する。
次に、更新部306は、受信したプログラムファイルPIIから方式識別子「P_2」を抽出し、抽出した方式識別子「P_2」をプログラムメモリ311に書き込み、プログラムメモリ311から方式識別子355「P_1」を削除する。
次に、携帯電話700を介して、セキュリティ管理装置600からカードIDの要求を受信すると、セキュア領域320からカードID327「I5000D」を読み出し、読み出したカードID327「I5000D」を携帯電話700を介して、セキュリティ管理装置600へ送信する。
次に、更新部306は、携帯電話700及び送受信部302を介して、セキュリティ管理装置600から暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)及び方式識別子「E_1」を受信する。セキュア領域から320からSD鍵Kmi 330を読み出し、読み出したSD鍵Kmi 330と受信した暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)及び方式識別子「E_1」とを復号部309へ出力し、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_X2)の復号を指示する。復号部309から秘密鍵SK_L2、秘密鍵SK_K2、公開鍵証明書Cert_L2及び公開鍵証明書Cert_X2を受け取ると、受け取った秘密鍵SK_L2と秘密鍵SK_X2とをセキュア領域320へ書き込み、受け取った公開鍵証明書Cert_L2と公開鍵証明書Cert_X2とを一般領域312へ書き込む。
次に、秘密鍵SK_X1 322と公開鍵証明書Cert_X1 323とを削除する。
次に、入出力部302からHS検出信号を受け取ると、更新部306は、入出力部302を介してホームサーバ装置100へ第2更新フラグを要求する。
ホームサーバ装置100から第2更新フラグを受け取り、受け取った第2更新フラグが「1」であると判断すると、秘密鍵SK_L2及び公開鍵証明書Cert_L2の転送の必要がないと判断し、情報記憶部310から秘密鍵SK_L2及び公開鍵証明書Cert_L2を削除する。
受信した第2更新フラグが「0」であると判断すると、セキュア領域320から緊急鍵K_EMR 328と秘密鍵SK_L2とを読み出し、一般領域312から公開鍵証明書Cert_L2を読み出す。次に、読み出した緊急鍵K_EMR 328と秘密鍵SK_L2と公開鍵証明書Cert_L2とを暗号部308へ出力し、秘密鍵SK_L2と公開鍵証明書Cert_L2の暗号化を指示する。
更新部306は、暗号部308から、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とを受け取り、入出力部302を介して、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とをホームサーバ装置100へ送信し、公開鍵暗号方式の更新処理を終了する。
(5)暗号部308
暗号部308は、更新部306から、緊急鍵K_EMRと秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、秘密鍵SK_L2と公開鍵証明書Cert_L2の暗号化を指示される。
更新部306の暗号化の指示を受け取ると、プログラムメモリ311から暗号化制御プログラムOE1 331を読み出し、暗号部308は、受け取った緊急鍵K_EMRを鍵として、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを平文して、暗号化制御プログラムOE1 331を実行する。具体的には、読み出した暗号化制御プログラムOE1 331から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以降、命令のフェッチ、解読、実行を繰り返すことにより、受け取った平文を暗号化し暗号文を生成する。
次に、生成した暗号文である暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と、暗号文の生成に用いた暗号方式を示す方式識別子「E_1」を更新部306へ出力する。
また、暗号部308は、更新部306による共通鍵暗号方式の更新後には、暗号化制御プログラムOE1 331に代わって、暗号化制御プログラムOE2 333を実行する。
(6)復号部309
復号部309は、制御部307から、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とを受け取り、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の復号を指示され、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KYEa,Cona)と方式識別子「E_1」とを受け取り、暗号化コンテンツEnc1(KYEa,Cona)の復号を指示される。
また、復号部309は、更新部306から、SD鍵Kmiと暗号化秘密鍵Enc1(Kmi,SK_L2)と暗号化秘密鍵Enc1(Kmi,SK_X2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と方式識別子「E_2」を受け取り、暗号化秘密鍵Enc1(Kmi,SK_L2)と暗号化秘密鍵Enc1(Kmi,SK_X2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)の復号を指示される。
制御部307又は更新部306から復号の指示を受け取ると、復号部309は、プログラムメモリ311から、復号制御プログラムOD1 332又は復号制御プログラムOD2 334を読み出す。
ここで、復号部309は、更新部106による共通鍵暗号方式の更新の前には、復号制御プログラムOD1 332を読み出し、共通鍵暗号方式の更新の後には復号制御プログラムOD2 334を読み出す。
受け取ったセッション鍵Kb’、コンテンツ鍵KEYa及びSD鍵Kmiを鍵として、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)、暗号化コンテンツEnc1(KYEa,Cona)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を暗号文として、復号制御プログラムOD1 332又は復号制御プログラムOD2 334を実行し、復号文を生成する。具体的には、読み出した復号制御プログラムOD1 332又は復号制御プログラムOD2 334から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以降命令のフェッチ、解読、実行を繰り返すことにより、復号処理を行う。
次に、復号文として生成したコンテンツ鍵KEYa、コンテンツConaを制御部307へ出力する。
また、復号文として生成した秘密鍵SK_L2、秘密鍵SK_X2、公開鍵証明書Cert_L2、公開鍵証明書Cert_L2を更新部306へ出力する。
(7)認証部303
認証部303は、制御部307又は更新部306からSAC確立を指示されると、プログラムメモリ311からSAC制御プログラム351を読み出し、読み出したSAC制御プログラム351から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以下、命令のフェッチ、解読、実行を繰り返すことにより、SACを確立し生成したセッション鍵を制御部307又は更新部306へ出力する。
1.7 携帯電話700
携帯電話700は、図27に示すように、無線通信部701、入出力部702、スピーカー705、マイク706、制御部707、無線制御部708、記憶部710、表示部712、入力部713及びアンテナ714から構成される。
(1)記憶部710
記憶部710は、ハードディスク、RAM及びROMから構成され、各種情報を記憶している。
(2)アンテナ714、無線通信部701及び無線制御部708
アンテナ714、無線通信部701及び無線通信制御部708は、基地局30及び携帯電話網40を介して、接続された外部装置との間で、音声又は情報の送受信を行う。
無線通信部701は、受信部と送信部とから構成されている。受信部は、高周波増幅器、受信ミキサ、IF増幅器、復調器などから構成され、アンテナ714により受信した信号を増幅し、復調する。送信部は、送信電力増幅器、送信ミキサ、変調器などから構成され、ベースバンド信号により高周波信号を変調し、無線周波数に変換し、増幅し、アンテナ714により出力する。無線通信制御部708は、ベースバンド部を含み、無線通信部701との間で入出力する各種の信号の処理を行う。
(3)入出力部702
入出力部702は、制御部707とメモリカード300との間で情報の送受信を行う。
(4)制御部707
制御部707は、入力部712から、各種操作指示情報を受け取り、入出力部702を介して、メモリカード300から、緊急画面データと緊急画面の表示の要求を受け取る。
携帯電話700にメモリカード300が装着された状態で、入力部712からコンテンツ再生を示す操作指示情報を受け取ると、制御部707は、メモリカード300にコンテンツの出力を要求する。
次に、メモリカード300からコンテンツを構成するデータを順次受け取り、受け取ったデータを伸長し、伸長したデータから画面と音声を生成する。生成した画面を表示部712へ出力し、生成した音声をスピーカー705へ順次出力する。以下、データの受信、伸長、画面及び音声の生成、出力を繰り返すことにより、コンテンツを再生する。
また、制御部707は、メモリカード300から、緊急画面データと緊急画面の表示の要求を受け取ると、受け取った緊急画面データから緊急画面を生成し、生成した画面を表示部712へ出力する。
また、制御部707は、入出力部702、無線制御部708、無線通信部701及びアンテナ714を介して、メモリカード300とセキュリティ管理装置600との間の情報の送受信を制御する。
(6)表示部712、入力部713、スピーカー705及びマイク706
表示部712は、制御部707の制御により各種の情報を表示する。
入力部713は、テンキー、決定キー、選択キーなど各種のキーを備え、利用者によるボタン操作を受け付け、受け付けたボタン操作に応じた操作指示情報を制御部707へ出力する。
スピーカー705は、制御部707又は無線制御部708の制御により音声を出力する。
マイク706は、無線制御部708の制御により、音声を検出する。
1.8 アップデートシステム10の動作
アップデートシステム10の動作について説明する。
(1)ホームサーバ装置100及びメモリカード300の緊急鍵共有
ホームサーバ装置100にメモリカード300が装着されると、両者の間で緊急鍵を共有する。以下に図28のフローチャートを用いて、緊急鍵共有について説明する。
ホームサーバ装置100は、入出力部102を介してメモリカード300の装着を検出すると(ステップS361)、メモリカード300にカードIDを要求する(ステップS362)。メモリカード300は、カードIDの要求を受け付けると、情報記憶部310のセキュア領域320からカードID327「I5000D」を読み出し(ステップS363)、読み出したカードID327「I5000D」をホームサーバ装置100へ送信する(ステップS364)。ホームサーバ装置100は、メモリカード300から、カードID「I5000D」を受け取り、受け取ったカードID「I5000D」が記憶部110に記憶されている緊急鍵リスト124に含まれるか否かを判断する(ステップS365)。緊急鍵リスト124に含まれていれば(ステップS365のYES)、緊急鍵共有の処理を終了する。
緊急鍵リスト124に含まれていなければ(ステップS365のNO)、乱数を生成し、生成した乱数と日付情報とカードID「I5000D」とを基に、336ビット長の緊急鍵K_EMRを生成する(ステップS366)。
次に、メモリカード300との間にSACを確立し、ホームサーバ装置100はセッション鍵Kaを生成する(ステップS367)。次に、生成したセッション鍵Kaの先頭から54ビットを抽出し、共通鍵K_E1Aを生成する(ステップS368)。生成した共通鍵K_E1Aを用いて、方式識別子「E_1」の示す暗号方式により暗号化緊急鍵Enc1(Ka,K_EMR)を生成する(ステップS369)。生成した暗号化緊急鍵Enc1(Ka,K_EMR)と方式識別子「E_1」とをメモリカード300へ送信し(ステップS371)、カードID「I5000D」と緊急鍵K_EMRとを緊急鍵リスト124へ書き込む(ステップS372)。
メモリカード300は、ホームサーバ装置100から暗号化緊急鍵Enc1(Ka,K_EMR)と方式識別子「E_1」を受け取り、SAC確立により生成したセッション鍵Ka’から先頭の54ビットを抽出して共通鍵K_E1A’を生成する(ステップS375)。生成した共通鍵K_E1A’を用いて、受け取った暗号化緊急鍵Enc1(K_E1A,K_EMR)を、受け取った方式識別子「E_1」の示す暗号方式により復号する(ステップS376)。次に、生成した緊急鍵K_EMRをセキュア領域320へ書き込む(ステップS377)。
(2)メモリカード300へのコンテンツ書き込み動作
メモリカード300へコンテンツを書き込む動作について、図29〜図32のフローチャートを用いて説明する。このとき、上記の(1)において説明したホームサーバ装置100とメモリカード300との緊急鍵共有は終了しているものとする。
入出力部115を介してDVD500aの装着を検出すると、ホームサーバ装置100は、DVD500aから鍵ファイル510aを読み出し(ステップS301)、読み出した鍵ファイル510aから方式識別子512a「E_1」を抽出する(ステップS302)。次に、記憶部110内において、抽出した方式識別子512a「E_1」を検索する(ステップS303)。方式識別子「E_1」が存在しないと判断すると(ステップS304のNO)、ホームサーバ装置100は、表示部112へDVD500aの読み取りができないことを示すエラー画面を表示し(ステップS305)、処理を終了する。
記憶部110内に、方式識別子「E_1」が存在すると判断すると(ステップS304のYES)、記憶部110からデバイス鍵Dev_1 121を読み出し(ステップS310)、鍵ファイル510aから暗号化コンテンツ鍵Enc1(Dev_1,KEYa)511aを抽出し(ステップS311)、抽出した暗号化コンテンツ鍵Enc1(Dev_1,KEYa)を読み出したデバイス鍵Dev_1 121を用いて、方式識別子512a「E_1」の示す復号方式に基づいて復号する(ステップS312)。
次に、入力部113を介して、利用者のボタン操作を受け付ける(ステップS313)。ボタン操作により、コンテンツの再生を指示されると、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し(ステップS316)、記憶部110内において、読み出した方式識別子517a「E_1」を検索する(ステップS317)。方式識別子517a「E_1」が存在しないと判断すると(ステップS321のNO)、表示部112へコンテンツの生成ができないことを示すエラー画面を表示する(ステップS322)。
方式識別子517a「E_1」が存在すると判断すると(ステップS321のYES)、DVD500aのコンテンツファイル515aから暗号化コンテンツEnc1(KYEa,Cona)516aを読み出し(ステップS323)、コンテンツ鍵KEYaを読み出し、暗号化コンテンツEnc1(KYEa,Cona)516aをコンテンツ鍵KEYaを用いて、方式識別子517a「E_1」の示す復号方式に基づき復号し、コンテンツを生成する(ステップS324)。
次に、生成したコンテンツをパーソナルコンピュータ50へ出力する(ステップS325)。
利用者のボタン操作により、メモリカードへのコンテンツのコピーを指示されると(ステップS314)、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し(ステップS331)、読み出した方式識別子517a「E_1」をメモリカード300へ出力し、出力した方式識別子の示す暗号方式により暗号化された暗号文の復号が可能か否かを問い合わせる(ステップS332)。
メモリカード300は、ホームサーバ装置100から、方式識別子「E_1」を受け取り、受け取った方式識別子「E_1」の示す暗号方式により暗号化された暗号文の復号か可能か否かの問い合わせを受け付け、プログラムメモリ311内において、受けとった方式識別子「E_1」の示す復号方式プログラムDec1を検索する(ステップS333)。方式識別子「E_1」の示す復号方式プログラムDec1が存在すると判断すると(ステップS334のYES)、判定結果「1」を生成する(ステップS336)。方式識別子「E_1」の示す復号方式プログラムDec1が存在しないと判断すると(ステップS334のNO)判定結果「0」を生成する(ステップS335)。
次に、メモリカード300は、生成した判定結果をホームサーバ装置100へ出力する(ステップS337)。
ホームサーバ装置100は、メモリカード300から判定結果受け取り、受け取った判定結果が「0」であれば(ステップS341の「0」)、メモリカード300にコピーできないことを示すエラー画面を表示部112へ表示する(ステップS342)。
受け取った判定結果が「1」であれば(ステップS341の「1」)、ホームサーバ装置100は、DVD500aからコンテンツファイル515aを読み出し(ステップS343)、次に、メモリカード300との間にSACを確立し、セッション鍵Kbを生成する(ステップS344)。次に、ホームサーバ装置100は、生成したセッション鍵Kbの先頭から54ビットを抽出し、共通鍵K_E1Bを生成する(ステップS345)。次に、コンテンツ鍵KEYaを読み出し、生成した共通鍵K_E1Bを用いてコンテンツ鍵KEYaを、方式識別子「E_1」の示す暗号方式により暗号化して暗号化コンテンツ鍵Enc1(K_E1B,KEYa)を生成し、暗号化方式プログラムEnc1の暗号方式を示す方式識別子「E_1」を付加する(ステップS346)。次に、生成した暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とDVD500aから読み出したコンテンツファイル515aとをメモリカード300へ出力する(ステップS347)。
メモリカード300は、ホームサーバ装置100から、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とコンテンツファイルとを受け取り、SAC確立により生成したセッション鍵Kb’から先頭の54ビットを抽出して共通鍵K_E1B’を生成する(ステップS351)。次に、生成した共通鍵K_E1B’を用いて、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)を受信した方式識別子「E_1」の示す復号方式プログラムDec1により復号し、コンテンツ鍵KEYaを生成する(ステップS352)。次に、生成したコンテンツ鍵KEYaをセキュア領域320に書き込み(ステップS353)、コンテンツファイルを一般領域312へ書き込む(ステップS354)。
利用者のボタン操作により、その他の処理を指示されると(ステップS314)、その他の処理を行う(ステップS315)。
(3)携帯電話700によるコンテンツの再生
携帯電話700によるコンテンツの再生の動作を、図33に示すフローチャートを用いて説明する。
ホームサーバ装置100により、コンテンツのコピーが終了したメモリカード300が携帯電話700に装着された状態で、携帯電話700は、利用者のボタン操作を受け付け(ステップS401)、ボタン操作により再生を示す操作指示情報を受けると、携帯電話700は、メモリカード300へコンテンツの出力要求をする(ステップS403)。
利用者のボタン操作により、その他の処理を示す操作指示情報を受け取ると(ステップS401)、その他の処理を行う(ステップS402)。
メモリカード300は、携帯電話700からコンテンツの出力要求を受けると、セキュア領域320からコンテンツ鍵KEYaを読み出す(ステップS404)。次に、一般領域312からコンテンツファイルを読み出し、読み出したコンテンツファイルに含まれる暗号化コンテンツEnc1(KEYa,Cona)を、読み出したコンテンツ鍵KEYaを用いて、コンテンツファイルに含まれる方式識別子「E_1」の示す復号方式プログラムDec1により復号し、コンテンツConaを生成する(ステップS405)。次に、生成したコンテンツConaを携帯電話700へ出力する(ステップS406)。
携帯電話700は、メモリカード300からコンテンツConaを受け取り、受け取ったコンテンツConaを伸長し(ステップS407)、伸長したコンテンツを再生する(ステップS408)。
(4)ホームサーバ装置100による共通鍵暗号方式の更新
ホームサーバ装置100の共通鍵暗号方式更新の動作を、図34に示すフローチャートを用いて説明する。
放送局70は、セキュリティ管理装置600から受信したプログラムファイルEiiを読み出し(ステップS411)、読み出したプログラムファイルEiiを放送波に載せて送信する(ステップS412)。
ホームサーバ装置100は、プログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出し(ステップS413)、記憶部110内で、方式識別子「E_2」を検索する。記憶部110内に、方式識別子「E_2」が存在すると判断すると(ステップS415のYES)、そのまま、処理を終了する。
記憶部110内に、方式識別子「E_2」が存在しないと判断すると、記憶部110に方式識別子「E_2」を書き込む(ステップS416)。
次に、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し(ステップS417)、抽出した暗号部更新プログラムの示す手順に従って、暗号部108を書き換える(ステップS418)。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し(ステップS419)、抽出した復号部更新プログラムの示す手順に従って、復号部109を書き換える(ステップS421)。
次に、記憶部110の第1更新フラグ181を「0」に設定する306(ステップS422)。
(5)ホームサーバ装置100による公開鍵暗号方式の更新
ホームサーバ装置100の公開鍵暗号方式更新の動作を、図35に示すフローチャートを用いて説明する。
放送局70は、セキュリティ管理装置600から受信したプログラムファイルPiiを読み出し(ステップS451)、読み出したプログラムファイルPiiを放送波に載せて送信する(ステップS452)。
ホームサーバ装置100は、プログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し(ステップS453)、記憶部110内で、方式識別子「P_2」を検索する。記憶部110内に、方式識別子「P_2」が存在すると判断すると(ステップS454のYES)、そのまま、処理を終了する。
記憶部110内に、方式識別子「P_2」が存在しないと判断すると(ステップS454のNO)、記憶部110に方式識別子「P_2」を書き込む(ステップS455)。
次に、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し(ステップS456)、抽出した認証部更新プログラムの示す手順に従って、認証部103を書き換える(ステップS457)。次に、記憶部110の第2更新フラグ182を「0」に設定し(ステップS458)、処理を終了する。
(6)メモリカード300による暗号方式更新処理の開始
メモリカード300による暗号方式の更新処理について、図36に示すフローチャートを用いて説明する。
メモリカード300は、携帯端末700への装着を検出すると、プログラムメモリ311から方式識別子341「E_1」と方式識別子355「P_1」とを読み出し(ステップS491)、読み出した方式識別子341「E_1」と方式識別子355「P_1」と携帯電話700を介してセキュリティ管理装置600へ送信し(ステップS492)、安全性の確認を要求する。
セキュリティ管理装置600は、メモリカード300から、方式識別子「E_1」及び方式識別子「P_1」を受信し、情報記憶部610に記憶している無効暗号方式一覧621内で、受信した方式識別子「E_1」及び方式識別子「P_1」を検索する(ステップS493)。
無効暗号方式一覧621内に、方式識別子「E_1」が存在すると判断し(ステップS495のYES)、さらに、無効暗号方式一覧621内に、方式識別子「P_1」が存在すると判断すると(ステップS496のYES)、特別処理を実行し、メモリカード300の暗号方式更新の処理を終了する(ステップS497)。
ステップS496において、無効暗号方式一覧621内に、方式識別子「P_1」が存在しないと判断すると、共通鍵暗号方式の更新へ処理を移す(ステップS498)。
ステップS495において、無効暗号方式一覧621内に、方式識別子「E_1」が存在しないと判断し、さらに、無効暗号方式一覧621内に方式識別子「P_1」が存在すると判断すると(ステップS500のYES)、公開鍵暗号方式の更新へ処理を移す(ステップS501)。
ステップS500において、無効暗号方式一覧621内に、方式識別子「P_1」が存在しないと判断すると、安全通知処理を行い、メモリカード300の暗号方式更新の処理を終了する(ステップS502)。
(7)特別処理
特別処理について、図37に示すフローチャートを用いて説明する。これは、図36のステップS497の詳細である。
セキュリティ管理装置600は、緊急画面データを生成し(ステップS430)、生成した緊急画面データをインターネット20及び携帯電話700を介してメモリカード300へ送信する(ステップS431)。
メモリカード300は、セキュリティ管理装置600から緊急画面データを受信すると、携帯電話700に緊急画面表示を要求し、緊急画面データを出力する(ステップS423)。携帯電話700は、メモリカード300から、緊急画面表示の要求と緊急画面データを受け取り、受け取った緊急画面データから緊急画面を生成する(ステップS433)。次に、表示部712に生成した緊急画面を表示し(ステップS434)、特別処理を終了する。
(8)安全通知処理
安全通知処理について、図38のフローチャートを用いて説明する。これは、図36のステップS502の詳細である。
セキュリティ管理装置600は、安全通知信号を生成し(ステップS441)、生成した安全通知信号をインターネット20及び携帯電話700を介してメモリカード300へ送信する(ステップS442)。
メモリカード300は、セキュリティ管理装置600から、安全通知信号を受信すると、そのまま処理を終了する。
(9)メモリカード300の共通鍵暗号方式の更新
メモリカード300による共通鍵暗号方式の更新処理について、図39に示すフローチャートを用いて説明する。なお、これは、図36のステップS498の詳細である。
メモリカード300は、携帯電話700を介してセキュリティ管理装置600から、新しい共通鍵暗号方式に基づくプログラムを取得し、取得したプログラムを導入する(ステップS507)。
次に、メモリカード300は、セキュリティ管理装置600から新しい共通鍵暗号方式に対応したデバイス鍵Dev_2を取得し(ステップS508)、取得したデバイス鍵Dev_2をホームサーバ装置100へ転送する(ステップS509)。
(10)共通鍵暗号方式のプログラム導入
メモリカード300の新しい共通鍵暗号方式のプログラム導入について、図40〜図41に示すフローチャートを用いて説明する。これは、図39のステップS507の詳細である。
セキュリティ管理装置600は、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS512)、生成した更新指示命令をインターネット20を介してメモリカード300へ送信する(ステップS513)。メモリカード300は、セキュリティ管理装置600から、方式識別子「E_1」の示す暗号方式の更新指示命令を受信すると、プログラムメモリ311から方式識別子341「E_1」を読み出し(ステップS514)、読み出した方式識別子341「E_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS516)。
セキュリティ管理装置600は、メモリカード300から、方式識別子「E_1」と更新開始要求を受信すると、無効暗号方式一覧621と受信した方式識別子「E_1」とを基に、プログラムファイルEII 641を読み出す(ステップS517)。次に、読み出したプログラムファイルEII 641を、メモリカード300へ送信する(ステップS518)。
メモリカード300は、セキュリティ管理装置600からプログラムファイルEIIを受信すると、プログラムファイルEIIに含んで受信した暗号化制御プログラムOE2と復号制御プログラムOD2とをインストールする(ステップS519)。次に、プログラムメモリ311から、暗号化制御プログラムOE1 331と復号制御プログラムOD1 332とを削除する。(ステップS521)
次に、プログラムファイルEIIに含んで受信した暗号化アプリプログラムAE2と復号アプリプログラムAD2とをインストールし(ステップS522)、プログラムメモリ311から、暗号化アプリプログラムAE1 335を削除する(ステップS523)。
次に、プログラムファイルEIIに含んで受信した暗号化方式プログラムEnc2と復号方式プログラムDec2とをインストールする(ステップS524)。次に、プログラムメモリ311から暗号化方式プログラムEnc1 342を削除する(ステップS526)。
次に、プログラムファイルEIIに含んで受信した方式識別子「E_2」と鍵長「128」とをプログラムメモリ311に書き込み(ステップS527)、共通鍵暗号方式のプログラム導入を終了する。
(11)デバイス鍵取得
メモリカード300のデバイス鍵取得の動作を、図42のフローチャートを用いて説明する。これは、図39のステップS508の詳細である。
セキュリティ管理装置600は、メモリカード300との間にSACを確立しセッション鍵Kcを生成する(ステップS531)。次に、セッション鍵Kcの先頭から128ビットを抽出し、共通鍵K_E2Cを生成する(ステップS532)。
次に、メモリカード300から、あらかじめ受け取っている方式識別子「E_1」を基に無効暗号方式一覧621からデバイス鍵Dev_2を読み出し(ステップS533)、読み出したデバイス鍵Dev_2を生成した共通鍵K_E2Cを用いて、方式識別子「E_2」の示す暗号方式により暗号化して、暗号化デバイス鍵Enc2(K_E2C,Dev_2)を生成する(ステップS534)。
次に、生成した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と暗号化デバイス鍵Enc2(K_E2C,Dev_2)の生成に用いた暗号方式を示す方式識別子「E_2」とを、メモリカード300へ送信する(ステップS536)。
メモリカード300は、セキュリティ管理装置600から方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2C,Dev_2)とを受信すると、SAC確立により生成したセッション鍵Kc’の先頭から128ビットを抽出し、共通鍵K_E2C’を生成する(ステップS538)。生成した共通鍵K_E2C’を用いて、受信した暗号化デバイス鍵Enc2(K_E2C,Dev_2)を復号する(ステップS539)。
(12)デバイス鍵転送
次に、メモリカード300からホームサーバ装置100へのデバイス鍵の転送の処理について、図43〜図44のフローチャートを用いて説明する。これは、図39のステップS509の詳細である。
メモリカード300は、ホームサーバ装置100へ装着されると、ホームサーバ装置100へ第1更新フラグの送信を要求する(ステップS551)。
ホームサーバ装置100は、メモリカード300から第1更新フラグの要求を受け取ると、記憶部110から第1更新フラグ181を読み出し(ステップS552)、読み出した第1更新フラグをメモリカード300へ送信する(ステップS553)。
メモリカード300は、ホームサーバ装置100から第1更新フラグを受信し、受信した第1更新フラグが「1」であると判断すると(ステップS556)、自身が記憶しているデバイス鍵Dev_2を削除し(ステップS557)、処理を終了する。
受信した第2更新フラグが「0」であると判断すると(ステップS556)、メモリカード300は、ホームサーバ装置100との間にSACを確立しセッション鍵Kdを生成する(ステップS558)。生成したセッション鍵Kdの先頭から128ビットを抽出し、共通鍵K_E2Dを生成する(ステップS559)。次に生成した共通鍵K_E2Dを用いてデバイス鍵Dev_2を暗号化し、暗号化デバイス鍵Enc2(K_E2D,Dev_2)を生成する(ステップS561)。生成した暗号化デバイス鍵Enc2(K_E2D,Dev_2)をホームサーバ装置100へ送信する(ステップS562)。
ホームサーバ装置100は、メモリカード300から暗号化デバイス鍵Enc2(K_E2D,Dev_2)を受信すると、SAC確立で生成したセッション鍵Kd’の先頭から128ビットを抽出し、共通鍵K_E2D’を生成し(ステップS563)、生成した共通鍵K_E2D’を用いて受信した暗号化デバイス鍵Enc2(K_E2D,Dev_2)を復号してデバイス鍵Dev_2を生成し(ステップS564)、生成したデバイス鍵Dev_2を記憶部110へ書き込む(ステップS566)。
次に、第1更新フラグ181に「1」を書き込み(ステップS567)、処理を終了する。
(13)メモリカード300の公開鍵暗号方式の更新
メモリカード300の公開鍵暗号方式の更新処理について、図45を用いて説明する。これは、図36のステップS501の詳細である。
メモリカード300は、携帯電話700を介して、セキュリティ管理装置600から、新しい公開鍵暗号方式のプログラムを取得し、取得したプログラムを導入する(ステップS580)。次に、セキュリティ管理装置600から、新しい秘密鍵及び公開鍵証明書を取得し(ステップS582)、取得した秘密鍵と公開鍵証明書とをホームサーバ装置100へ転送する(ステップS584)。
(14)公開鍵暗号方式のプログラム導入
メモリカード300の新しい公開鍵暗号方式のプログラム導入について、図46〜図47に示すフローチャートを用いて説明する。これは、図45のステップS580の詳細である。
セキュリティ管理装置600は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS591)、生成した更新指示命令をインターネット20を介してメモリカード300へ送信する(ステップS592)。メモリカード300は、セキュリティ管理装置600から、方式識別子「P_1」の示す暗号方式の更新指示命令を受信すると、プログラムメモリ311から方式識別子355「P_1」を読み出し(ステップS593)、読み出した方式識別子355「P_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS594)。
セキュリティ管理装置600は、メモリカード300から、方式識別子「P_1」と更新開始要求を受信すると、無効暗号方式一覧621と受信した方式識別子「P_1」とを基に、プログラムファイルPII 671を読み出す(ステップS596)。次に、読み出したプログラムファイルPII 671を、メモリカード300へ送信する(ステップS597)。
メモリカード300は、セキュリティ管理装置600からプログラムファイルPIIを受信すると、プログラムファイルPIIに含んで受信した暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とをインストールし(ステップS598)、プログラムメモリ311から、暗号化アプリプログラムAPE1 352及び復号アプリプログラムAPD1 353を削除する(ステップS601)。
次に、プログラムファイルPIIに含んで受信した暗号化方式プログラムPec2と復号方式プログラムPdn2とをインストールする(ステップS602)。次に、プログラムメモリ311から暗号化方式プログラムPec1 356と復号方式プログラムPdc1 357とを削除する(ステップS603)。
次に、プログラムファイルPIIに含んで受信した方式識別子「P_2」をプログラムメモリ311に書き込み(ステップS604)、プログラムメモリ311から方式識別子355「P_1」を削除し(ステップS605)、公開鍵暗号方式のプログラム導入を終了する。
(15)秘密鍵及び公開鍵証明書の取得
メモリカード300の秘密鍵及び、公開鍵証明書の取得の処理について、図48〜図49のフローチャートを用いて説明する。これは、図45のステップS582の詳細である。
セキュリティ管理装置600は、秘密鍵SK_X2と公開鍵PK_X2の鍵ペアを生成し(ステップS611)、認証局から公開鍵PK_X2の公開鍵証明書Cert_X2を取得する(ステップS612)。次に、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアを生成し(ステップS613)、認証局から公開鍵PK_L2の公開鍵証明書Cert_L2を取得する(ステップS614)。
次に、セキュリティ管理装置600はメモリカード300へカードIDを要求する(ステップS616)。
メモリカード300は、携帯電話700を介してセキュリティ管理装置600からカードIDの要求を受信し、情報記憶部310からカードID327「I5000D」を読み出し、読み出したカードID327「I5000D」をセキュリティ管理装置600へ送信する(ステップS618)。
セキュリティ管理装置600は、メモリカード300からカードID「I5000D」を受信し、受信したカードID「I5000D」を基にSD鍵リストからSD鍵情報を選択し、選択したSD鍵情報に含まれるSD鍵Kmiを読み出し(ステップS619)、読み出したSD鍵Kmiを用いて秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化し、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を生成する(ステップS621)。
次に、セキュリティ管理装置600は、生成した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と方式識別子「E_1」とをメモリカード300へ送信する(ステップS623)。
メモリカード300は携帯電話700を介して、セキュリティ管理装置600から暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び方式識別子「E_1」とを受信し、情報記憶部310からSD鍵Kmi 330を読み出し(ステップS624)、読み出したSD鍵Kmi 330を用いて、受信した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を復号し、秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を生成する(ステップS625)。次に、生成した秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を情報記憶部310に書き込み(ステップS627)、秘密鍵及び公開鍵証明書の取得の処理を終了する。
(16)秘密鍵及び公開鍵証明書の転送
メモリカード300からホームサーバ装置100への秘密鍵及び公開鍵証明書の転送の処理について、図50〜図51のフローチャートを用いて説明する。これは、図45のステップS584の詳細である。
メモリカード300は、ホームサーバ装置100への装着を検出すると、ホームサーバ装置100へ第2更新フラグを要求する(ステップS631)。ホームサーバ装置100は、メモリカード300から第2更新フラグの要求を受信し、記憶部110から第2更新フラグ182を読み出し(ステップS632)、読み出した第2更新フラグ182をメモリカード300へ送信する(ステップS633)。
メモリカード300は、ホームサーバ装置100から第2更新フラグを受信し、受信した第2更新フラグが「1」であると判断すると(ステップS636)、秘密鍵SK_L2と公開鍵証明書Cert_L2とを削除し(ステップS637)、処理を終了する。
受信した第2更新フラグが「0」であると判断すると(ステップS636)、情報記憶部310からカードID327「I5000D」を読み出す(ステップS638)。次に、情報記憶部310から緊急鍵K_EMR 328を読み出し(ステップS639)、読み出した緊急鍵K_EMR 328を用いて、秘密鍵SK_L2と公開鍵証明書Cert_L2とを暗号化し、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とを生成する(ステップS641)。次に、生成した暗号化秘密鍵Enc1(K_EMR,SK_L2)及び暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」と読み出したカードID327「I5000D」とをホームサーバ装置100へ送信する(ステップS642)。
ホームサーバ装置100は、メモリカード300から暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とカードID「I5000D」とを受信し、受信したカードID「I5000D」を基に緊急鍵リスト124から緊急鍵情報125を選択し、選択した緊急鍵情報125に含まれる緊急鍵K_EMRを読み出す(ステップS644)。次に、読み出した緊急鍵K_EMRを用いて暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とを復号し、秘密鍵SK_L2と公開鍵証明書Cert_L2とを生成する(ステップS646)。生成した秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部110へ書き込む(ステップS647)。
次に、記憶部110の第2更新フラグ182に「1」を書き込み(ステップS648)、処理を終了する。
(17)SAC確立
機器間でのSAC確立の動作について図52〜図53を用いて説明する。
なお、このSAC確立方法は一例であり、他の認証方法、鍵共有方法を用いてもよい。また、SAC確立は、ホームサーバ装置100とメモリカード300の間又はメモリカード300とセキュリティ管理装置600の間で行うため、ここでは双方の機器を、機器A及び機器Bとして説明する。
ここで、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。
機器Aは、公開鍵証明書Cert_Aを読み出し(ステップS801)、読み出した公開鍵証明書Cert_Aを機器Bへ送信する(ステップS802)。
公開鍵証明書Cert_Aを受信した機器Bは、認証局の公開鍵PK_CAを用いて、公開鍵証明書Cert_Aに含んで受信した認証局の署名データSig_CAに署名検証アルゴリズムVを施して署名検証する(ステップS803)。署名検証の結果が失敗であれば(ステップS804のNO)処理を終了する。
署名検証の結果が成功であれば(ステップS804のYES)、機器Bは、CRLを読み出し(ステップS805)、公開鍵証明書Cert_Aに含んで受信したID番号ID_Aが読み出したCRLに登録されているか否かを判断する(ステップS806)。登録されていると判断すると(ステップS806のYES)、処理を終了する。
登録されていないと判断すると(ステップS806のNO)、機器Bは、公開鍵証明書Cert_Bを読み出し(ステップS807)、読み出した公開鍵証明書Cert_Bを機器Aに送信する(ステップS808)。
公開鍵証明書Cert_Bを受信した機器Aは、認証局の公開鍵PK_CAを用いて、公開鍵証明書Cert_Bに含んで受信した認証局の署名データSig_CAに署名検証アルゴリズムVを施して署名検証する(ステップS809)。署名検証の結果が失敗であれば(ステップS810のNO)処理を終了する。
署名検証の結果が成功であれば(ステップS810のYES)、機器Aは、CRLを読み出し(ステップS811)、公開鍵証明書Cert_Bに含んで受信したID番号ID_Bが読み出したCRLに登録されているか否かを判断する(ステップS812)。登録されていると判断すると(ステップS812のYES)、処理を終了する。登録されていないと判断すると(ステップS812のNO)、処理を継続する。
機器Bは、乱数Cha_Bを生成し(ステップS813)、生成した乱数Cha_Bを機器Aに送信する(ステップS814)。
機器Aは、乱数Cha_Bを受信し、機器Aの秘密鍵SK_Aを用いて、受信した乱数Cha_Bに署名生成アルゴリズムSを施して署名データSig_Aを生成し(ステップS815)、生成した署名データSig_Aを機器Bへ送信する(ステップS816)。
機器Bは、署名データSig_Aを受信すると、公開鍵証明書Cert_Aに含んで受信した機器Aの公開鍵PK_Aを用いて、受信した署名データSig_Aに、署名検証アルゴリズムVを施して署名検証する(ステップS817)。署名検証の結果が失敗であると判断すると(ステップS818のNO)処理を終了する。署名検証の結果が成功であると判断すると(ステップS818のYES)、処理を続ける。
機器Aは、乱数Cha_Aを生成し(ステップS819)、生成した乱数Cha_Aを機器Aに送信する(ステップS820)。
機器Bは、乱数Cha_Aを受信し、機器Bの秘密鍵SK_Bを用いて、受信した乱数Cha_Aに署名生成アルゴリズムSを施して署名データSig_Bを生成し(ステップS821)、生成した署名データSig_Bを機器Aへ送信する(ステップS822)。
機器Aは、署名データSig_Bを受信すると、公開鍵証明書Cert_Bに含んで受信した機器Bの公開鍵PK_Bを用いて、受信した署名データSig_Bに、署名検証アルゴリズムVを施して署名検証する(ステップS823)。署名検証の結果が失敗であると判断すると(ステップS824のNO)処理を終了する。署名検証の結果が成功であると判断すると(ステップS824のYES)、次に、乱数「a」を生成し(ステップS825)、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成し(ステップS826)、生成したKey_Aを機器Bへ送信する(ステップS827)。
機器Bは、Key_Aを受信すると、乱数「b」を生成し(ステップS828)、生成した乱数「b」を用いてKey_B=Gen(b,Y)を生成し(ステップS829)、生成したKey_Bを機器Aへ送信する(ステップS830)。
また、生成した乱数「b」と受信したKey_Aとを用いて、Key_AB=Gen(b,Key_A)=Gen(b,Gen(a,Y))を生成し、これをセッション鍵とする(ステップS831)。
機器Aは、Key_Bを受信し、生成した乱数「a」と受信したKey_BとからKey_AB=Gen(a,Key_B)=Gen(a,Gen(b,Y))を生成し、これをセッション鍵とする(ステップS832)。
1.9 まとめ
以上、説明したように、本発明では、セキュリティ管理装置600が、各種の暗号方式が解読されたか否かについての情報及び解読された暗号方式に代わる暗号方式を導入するための更新用プログラムを記憶している。
ホームサーバ装置100で使用されている共通鍵暗号方式又は公開鍵暗号方式が解読された場合、セキュリティ管理装置600は、更新用プログラムを放送局70に送り、放送局70は受け取った更新用プログラムを放送波に乗せて送信する。
ホームサーバ装置100は、放送局70から更新用プログラムを取得し、取得したプログラムを基に自身の備えている暗号方式を更新する。
メモリカード300は、自身が使用している共通鍵暗号方式及び公開鍵暗号方式の安全性を、セキュリティ管理装置600に問い合わせる。
共通鍵暗号方式が解読された場合、メモリカード300は、セキュリティ管理装置600から解読された共通鍵暗号方式に代わる共通鍵暗号方式のプログラムを取得し、導入する。
次に、メモリカード300は、セキュリティ管理装置600から新しい共通鍵暗号方式に対応したデバイス鍵を安全に取得し、取得したデバイス鍵をホームサーバ装置100へ安全に転送する。
公開鍵暗号方式が解読された場合、メモリカード300は、セキュリティ管理装置600から解読された公開鍵暗号方式に代わる公開鍵暗号方式のプログラムを取得し、導入する。
メモリカード300は、さらに、セキュリティ管理装置600から、メモリカード300自身の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書と、ホームサーバ装置100の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書とを安全に取得し、ホームサーバ装置100の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書とをホームサーバ装置100へ安全に転送する。
このようにして、ホームサーバ装置100及びメモリカード300は、安全性に問題の発生した暗号方式を、安全かつ簡単に更新し常に安全な通信を確保することができる。
2.実施の形態2
本発明に係る1個の実施の形態としてのアップデートシステム11について説明する。
2.1 アップデートシステム11の構成
アップデートシステム11は、図54に示すようにホームサーバ装置1100、携帯電話700、セキュリティ管理装置1600及び放送局1070から構成される。
ここで、アップデートシステム11において、実施の形態1のアップデートシステム10と同一の部分の説明は省略し、相違点を中心に説明する。
ホームサーバ装置1100、携帯電話700、セキュリティ管理装置1600及び放送局1070は、インターネット20に接続されている。
ホームサーバ装置1100は、実施の形態1のホームサーバ装置100と同様に、DVD500aから取得したコンテンツをDES鍵暗号方式により復号する。また、RSA暗号方式を用いて、メモリカード300との共通の鍵を生成し、SACを確立する。
さらに、ホームサーバ装置1100は、放送局1070から各種の番組コンテンツを暗号化して生成された暗号化番組コンテンツを受信する。受信した暗号化番組コンテンツを前記共通鍵暗号方式及び前記公開鍵暗号方式とは異なる暗号方式(説明の便宜上、以下、放送用暗号方式と呼ぶ)により復号する。利用者の操作により、番組コンテンツをホームサーバ装置1100自身の備える内部メモリに記憶する。また、パーソナルコンピュータ50など再生機能を備える外部装置へ番組コンテンツを出力する。放送用暗号方式は、どのような暗号方式でもよいが、ここでは、一例として共通鍵暗号方式RC(Rivest’s Cipher)2であるとする。このようにして、放送局から正当な機器へ、番組コンテンツを安全に配布する。
ここで、DES暗号方式、RSA暗号方式及び放送用暗号方式のいずれかが解析され、解読方法が発見された場合を想定する。
ホームサーバ装置1100は、解読された暗号方式に変わる新しい暗号方式を導入するためのプログラム及び新しい暗号方式に用いる鍵などを取得し、取得したプログラムによって、解読された暗号方式を更新する。
この際、ホームサーバ装置1100は、以下の3つ取得手順のいずれかにより、上記のプログラム及び鍵を取得する。
A.インターネット経由でプログラム及び鍵を取得する。
B.放送によりプログラムを取得し、インターネット経由で鍵を取得する。
C.放送によりプログラムを取得し、鍵をメモリカードから取得する。
以下に、アップデートシステム11を構成する各機器について説明する。なお、DVD500a、DVD500b、携帯電話700及びメモリカード300は、実施の形態1と同様であるので説明を省略する。
2.2 セキュリティ管理装置1600
セキュリティ管理装置1600は、図55に示すように、送受信部601、認証部603、制御部1607、情報記憶部1610、表示部612および入力部613から構成される。
セキュリティ管理装置1600は、具体的には図示されていないマイクロプロセッサ及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、セキュリティ管理装置600はその機能を果たす。
以下に、セキュリティ管理装置1600を構成する各部について説明するが、送受信部601、認証部603、表示部612および入力部613は、実施の形態1のセキュリティ管理装置600を構成する送受信部601、認証部603、表示部612および入力部613と同様であるので説明を省略する。
(1)情報記憶部1610
情報記憶部1610は、ハードディスクユニットから構成され、一例として、図55に示すように、無効暗号方式一覧621、HS用無効暗号方式一覧1621、SD鍵リスト631、NW緊急鍵リスト1691、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルBii 1681、プログラムファイルEII 661及びプログラムファイルPII 671を記憶している。
無効暗号方式一覧621、SD鍵リスト631、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルEII 661及びプログラムファイルPII 671は、実施の形態1のセキュリティ管理装置600を構成する情報記憶部610の記憶しているものと同様である。
(A)HS用無効暗号方式一覧1621
HS用無効暗号方式一覧1621は、図56に示すように、複数の暗号方式情報1622、1623、1624、1625・・・から構成される。各暗号方式情報は、既に解読されている暗号方式と対応しており、方式識別子とプログラムファイル名とを含んでものと、方式識別子とプログラムファイル名と鍵とを含んでいるものがある。
方式識別子は、暗号方式を示す識別子であり、プログラムファイル名は、方式識別子の示す暗号方式に変わる新たな暗号方式をホームサーバ装置1100に導入する手順を示すプログラムを含むプログラムファイルのファイル名である。鍵は、方式識別子の示す暗号方式に変わる新たな暗号方式に対応したDVD500bに記憶されている暗号化コンテンツ又は暗号化番組コンテンツを復号するデバイス鍵である。
例えば、暗号方式情報1622は、方式識別子「E_0」とプログラムファイル名「Eii」とデバイス鍵Dev_2を含んでおり、デバイス鍵Dev_2は、方式識別子「E_0」の示す暗号方式に代わる暗号方式に対応しているDVDに記憶される暗号化コンテンツ鍵の復号に用いられる128ビットの鍵である。暗号方式情報1627は、方式識別子「B_1」とプログラムファイル名「Bii」と放送鍵BK_2とを含んでおり、放送鍵BK_2は、方式識別子「B_1」の示す暗号方式に代わる暗号方式によって生成された暗号化番組コンテンツを復号する256ビットの鍵である(以下、放送鍵と呼ぶ)。ここで、方式識別子「B_1」は、一例として、RC2を示す。
(B)NW緊急鍵リスト1691
NW緊急鍵リスト1691は、図57に示すように、複数のNW緊急鍵情報1692、1693、1694・・・から構成され、各NW緊急鍵情報は装置IDとNW緊急鍵とを含む。
装置IDは、正当な製造メーカにより、生産されたホームサーバ装置それぞれと対応している識別情報であり、NW緊急鍵は、装置IDの示すホームサーバ装置と緊急時に通信する際に用いられる鍵情報である。ここで、緊急時とは、ホームサーバ装置が用いる公開鍵暗号方式を更新するときである。
(C)プログラムファイルBii 1681
プログラムファイルBii 1681は、図58に示すように方式識別子1682「B_2」及び放送暗号処理部更新プログラム1683から構成される。「B_2」は、一例としてRC(Rivest’s Cipher)5と対応する識別情報である。放送暗号処理部更新プログラム1683は、ホームサーバ装置1100の放送暗号処理部1118(後述する)を構成するFPGAを書き換え、方式識別子方式識別子「B_2」の示す暗号方式に基づき暗号文を復号する機能を備える回路を構築する手順を含んでいる。
(2)制御部1607
制御部1607は、実施の形態1のセキュリティ管理装置600を構成する制御部607と同様に、方式識別子「E_1」の示す暗号方式が解読された場合、プログラムファイルEii 641をインターネット20を介して放送局1070へ送信し、方式識別子「P_1」の示す暗号方式が解読された場合、プログラムファイルPii 671をインターネット20を介して放送局1070へ送信する。
また、制御部1607は、CRLをインターネット20を介して、放送局1070へ送信する。
また、制御部1607は、インターネット20及び送受信部601を介してメモリカード300から暗号方式の安全性の確認を受け付け、必要に応じてメモリカード300へ、プログラムファイルEII 661、プログラムファイルPII 671、デバイス鍵Dev2、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を送信する。上記の処理の具体的な手順は、実施の形態1のセキュリティ管理装置600を構成する制御部607による処理手順と同一であるのでここでは説明を省略し、制御部607と異なる点について、以下に説明する。
方式識別子「B_1」の示す暗号方式が解読された場合、制御部1607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルBii 1681をインターネット20を介して放送局1070へ送信する。
制御部1607は、インターネット20及び送受信部601を介して、ホームサーバ装置1100から、ホームサーバ装置1100の使用している暗号方式を示す方式識別子を受信し、受信した方式識別子の示す暗号方式の安全性の確認の要求を受け付ける。
ホームサーバ装置1100から、ホームサーバ装置1100の使用している暗号方式を示す方式識別子「E_1」と方式識別子「P_1」と、方式識別子「B_1」、方式識別子「E_1」、方式識別子「P_1」及び方式識別子「B_1」の示す暗号方式の安全性の確認を受け取ると、HS用無効暗号方式一覧1621内で受信した方式識別子「E_1」、「P_1」及び「B_1」を含む暗号方式情報を検索する。検索の結果、方式識別子「E_1」、「P_1」及び「B_1」全てが検出された場合、以下の(i)の処理を行う。検索の結果、3つの方式識別子のうち、いずれも検出されなかった場合、以下の(ii)の処理を行う。方式識別子「E_1」が検出された場合、以下の(iii)の処理を行う。方式識別子「P_1」が検出された場合、以下の(iv)の処理を行う。方式識別子「B_1」が検出された場合、以下の(v)の処理を行う。
また、ホームサーバ装置1100から、方式識別子と鍵要求を受け取る。鍵要求は、方式識別子の示す暗号方式において用いられる鍵及び公開鍵証明書の送信を要求するものである。方式識別子と鍵要求とを受け取ると以下の(vi)の処理を行う。
以下に(i)〜(vi)の処理について、説明する。
(i)方式識別子「E_1」、「P_1」及び「B_1」が検出された場合
制御部1607は、緊急画面データを生成し、送受信部601を介して、生成した緊急画面データをホームサーバ装置1100に送信する。緊急画面データから生成される画面は、一例として、図14に示すように、利用者に緊急を知らせるもので。
(ii)いずれの方式識別子も検出されなかった場合
制御部1607は、方式識別子「E_1」の示す暗号方式、方式識別子「P_1」の示す暗号方式及び方式識別子「B_1」の示す暗号方式がいずれも安全であることを示す安全通知信号を生成し、送受信部601を介して、生成した安全通知信号をホームサーバ装置1100に送信する。
(iii)方式識別子「E_1」が検出された場合
制御部1607は、以下の
(iii−a)プログラムファイルの送信
(iii−b)デバイス鍵の送信
の手順で方式識別子「E_1」の示す暗号方式の更新処理をする。
以下に(iii−a)と(iii−b)とを説明する。
(iii−a)プログラムファイルの送信
制御部1607は、送受信部601を介して、ホームサーバ装置1100に、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、ホームサーバ装置1100から、方式識別子「E_1」と更新開始要求を受信する。
制御部1607は、情報記憶部610内のHS用無効暗号方式一覧1621から受信した方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623に含まれるプログラムファイル名を基に、プログラムファイルEii 641を読み出し、送受信部601を介して、読み出したプログラムファイルEii 641をホームサーバ装置100に送信する。
(iii−b)デバイス鍵の送信
次に、制御部1607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Keを受け取ると、受け取ったセッション鍵Keの先頭から128ビットを抽出し、これを共通鍵K_E2Eとする。
次に、HS用無効暗号方式一覧1621内で、ホームサーバ装置1100から受け取った方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623からデバイス鍵Dev_2を抽出し、共通鍵K_E2Eを用いて、抽出したデバイス鍵Dev_2を方式識別子「E_2」の示す暗号方式により暗号化し、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を生成する。次に、送受信部601を介して、生成した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と、暗号化デバイス鍵の生成に用いた暗号方式を示す方式識別子「E_2」とをホームサーバ装置1100に送信する。
(iv)方式識別子「P_1」が検出された場合
制御部1607は、以下の
(iv−a)プログラムファイルの送信
(iv−b)鍵の生成及び公開鍵証明書の送信
の手順でホームサーバ装置1100における「P_1」の示す暗号方式の更新をする。
以下に(iv−a)と(iv−b)とについて説明する。
(iv−a)プログラムファイルの送信
制御部1607は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、制御部1607は、ホームサーバ装置1100から、方式識別子「P_1」と更新開始要求を受信し、情報記憶部610内のHS用無効暗号方式一覧1621から方式識別子「P_1」を含む暗号方式情報1625を選択し、選択した暗号方式情報1625に含まれるプログラムファイル名を基に、プログラムファイルPii 651を読み出し、送受信部601を介して、読み出したプログラムファイルPii 651をホームサーバ装置1100に送信する。
(iv−b)秘密鍵の生成及び公開鍵証明書の送信
次に、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアとを生成し、生成した公開鍵PK_L2の公開鍵証明書Cert_L2を認証局から取得する。認証局については、実施の形態1において、説明したとおりであるので、ここでは、改めて説明はしない。
次に、制御部1607は、送受信部601を介してホームサーバ装置1100に装置IDを要求する。続いて、ホームサーバ装置1100から、装置ID「H001A」と更新用暗号識別子とを受信する。ここで受信する更新用暗号識別子は、方式識別子「E_1」又は「B_1」のいずれか一方である。
装置ID「H001A」と方式識別子とを受信すると、制御部1607は、受信した装置ID「H001A」を基に、NW緊急鍵リスト1691からNW緊急鍵情報1692を選択し、選択したNW緊急鍵情報1692に含まれるNW緊急鍵Ke001を読み出す。
次に、読み出したNW鍵Ke001を用いて、秘密鍵SK_L2及び公開鍵証明書Cert_L2を、受信した識別子の示す暗号方式により暗号化し、暗号化秘密鍵と暗号化公開鍵証明書を生成する。
次に、送受信部601を介して、生成した暗号化秘密鍵、暗号化公開鍵証明書及び受信した更新用暗号識別子をホームサーバ装置1100へ送信する。
(v)方式識別子「B_1」が検出された場合
制御部1607は、以下の
(v−a)プログラムファイルの送信
(v−b)放送鍵の送信
の手順で方式識別子「B_1」の示す暗号方式の更新処理をする。
以下に(v−a)と(v−b)とを説明する。
(v−a)プログラムファイルの送信
制御部1607は、送受信部601を介して、ホームサーバ装置1100に、方式識別子「B_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、ホームサーバ装置1100から、方式識別子「B_1」と更新開始要求を受信する。
制御部1607は、情報記憶部610内のHS用無効暗号方式一覧1621から受信した方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627に含まれるプログラムファイル名を基に、プログラムファイルBii 1681を読み出し、送受信部601を介して、読み出したプログラムファイルBii 1681をホームサーバ装置100に送信する。
(v−b)放送鍵の送信
次に、制御部607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Kfを受け取ると、受け取ったセッション鍵Kfの先頭から256ビットを抽出し、これを共通鍵K_B2Fとする。
次に、HS用無効暗号方式一覧1621内で、ホームサーバ装置1100から受け取った方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627から放送鍵BK_2を抽出し、共通鍵K_B2Fを用いて、抽出した放送鍵BK_2を方式識別子「B_2」の示す暗号方式により暗号化し、暗号化放送鍵EncB2(K_B2F,BK_2)を生成する。次に、送受信部601を介して、生成した暗号化放送鍵EncB2(K_B2F,BK_2)と、暗号化放送鍵の生成に用いた暗号方式を示す方式識別子「B_2」とをホームサーバ装置1100に送信する。
本明細書において、鍵Aを用いて、方式識別子「B_2」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEncB2(A,C)と表現する。
(vi)方式識別子と鍵要求とを受け取る場合
制御部1607は、方式識別子「E_2」、「P_2」及び「B_2」のいずれか一つと、鍵要求とを受け取る。
(vi−1)方式識別子「E_2」と鍵要求を受け取ると、制御部1607は、デバイス鍵Dev_2を暗号化して生成した暗号化デバイス鍵をホームサーバ装置1100へ送信するが、その手順は、上記の(iii−b)デバイス鍵の送信の手順と同一であるので、ここでは、説明を省略する。
(vi−2)方式識別子「P_2」と鍵要求を受け取ると、制御部1607は、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化して生成した、暗号化秘密鍵と暗号化公開鍵証明書とをホームサーバ装置1100へ送信するが、その手順は、上記の(iv−b)秘密鍵の生成及び公開鍵証明書の送信の手順と同一であるので、説明を省略する。
(vi−3)方式識別子「B_2」と鍵要求を受け取ると、制御部1607は、ホームサーバ装置に放送鍵BK_2を暗号化して生成した暗号化放送鍵をホームサーバ装置1100へ送信するが、その手順は、上記の(iv−b)放送鍵の送信の手順と同一であるので、ここでは、説明を省略する。
2.3 放送局1070
放送局1070は、インターネット20を介して、セキュリティ管理装置1600からCRL、プログラムEii、プログラムファイルPii又はプログラムBii
を受信する。
放送局1070は、増幅器、変調機、アンテナなどを備え、受信したCRL、プログラムEii、プログラムファイルPii又はプログラムBiiを放送波に変換して送信する。
また、放送局1070は、映像、音声などを含む番組コンテンツを放送鍵BK_1を用いて方式識別子「B_1」の示す暗号方式により暗号化して生成した暗号化番組コンテンツを放送する。
プログラムファイルBiiを受信した後は、放送鍵BK_2を用いて、番組コンテンツを方式識別子「B_2」の示す暗号方式により暗号化して生成した暗号化番組コンテンツを放送する。
2.4 ホームサーバ装置1100
ホームサーバ装置1100は、図59に示すように、受信部101、入出力部102、認証部103、更新部1106、制御部1107、暗号部108、復号部109、通信部1104、放送暗号処理部1118、記憶部1110、番組記憶部1120、表示部112、入力部113、アンテナ114及び入出力部115から構成される。
ホームサーバ装置1100は、具体的には図示していないマイクロプロセッサ、RAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、ハードディスク及び記憶部110には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ホームサーバ装置1100は、その機能を達成する。
また、ホームサーバ装置1100には、DVD500a又は500b及びメモリカード300が装着される。
以下に、ホームサーバ装置1100を構成する各部について説明するが、受信部101、入出力部102、認証部103、暗号部108、復号部109、表示部112、入力部113、アンテナ114及び入出力部115の構成及び動作は、実施の形態1のホームサーバ装置1100を構成する受信部101、入出力部102、認証部103、更新部106、暗号部108、復号部109、表示部112、入力部113、アンテナ114及び入出力部115と同一であるので説明を省略する。
(1)記憶部1110
記憶部1110は、ハードディスクユニットから構成され、一例として、図60に示すように、デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、放送鍵BK_1 1134、第1更新フラグ181、第2更新フラグ182、第3更新フラグ1183、CRL129、緊急鍵リスト124、装置ID1131「H001A」、NW緊急鍵Ke001 1132及び暗号方式リスト1133を記憶している。
デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、第1更新フラグ181、第2更新フラグ182、CRL129及び緊急鍵リスト124は、実施の形態1の記憶部110の記憶しているデバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、第1更新フラグ181、第2更新フラグ182、CRL129及び緊急鍵リスト124と同一であるので説明を省略する。
放送鍵BK_1 1134は、方式識別子「B_1」の示す暗号方式により暗号化され、放送局から放送される暗号化番組コンテンツの復号に用いられる64ビット長の鍵である。
第3更新フラグ1183は、放送用暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値である。「0」は、放送暗号処理部1118の更新は完了しているが、新しい放送鍵は、未だ取得していないことを示す。「1」は、放送暗号処理部1118の更新及び新しい放送鍵の取得が完了していることを示す。
装置ID1131「H001A」は、ホームサーバ装置1100に固有の識別情報である。
NW緊急鍵Ke001 1132は、ホームサーバ装置1100に固有の鍵情報であり、緊急時にセキュリティ管理装置1600と通信するためのみに使用される鍵である。ここで、緊急時とは、ホームサーバ装置1100の使用している共通鍵暗号方式が解読された場合である。
暗号方式リスト1133は、図61(a)に示すように、複数の暗号方式情報1141、1142、1144及び1146から構成され、各暗号方式情報は、方式識別子、導入日及び最新フラグを含む。
方式識別子は、ホームサーバ装置1100において、使用可能な暗号方式を示す。導入日は、ホームサーバ装置1100が、方式識別子の示す暗号方式を導入した日を示す。最新フラグは、方式識別子の示す暗号方式の安全性の確認をセキュリティ管理装置1600に問い合わせるか否かを示すフラグである。「0」は、問合せの対象にならないことを、「1」は、問合せの対象になることを示す。
暗号方式情報1142は、ホームサーバ装置1100において、使用可能な共通鍵暗号方式と対応しており、暗号方式情報1144は、ホームサーバ装置1100において、使用される公開鍵暗号方式と対応しており、暗号方式情報1146は、ホームサーバ装置1100において用いられる放送用暗号方式と対応している。
暗号方式リスト1133は、更新部1106による暗号方式の更新(詳細は後述する)に伴って、書き換えられる。図60(b)は、共通鍵暗号方式、公開鍵暗号方式及び放送用暗号方式が更新された後の暗号方式リスト1133の一例を示す。更新後の暗号方式リスト1133は、複数の暗号方式情報1142、1147、1148及び1149から構成される。
暗号方式情報1142及び1147は、ホームサーバ装置1100において、使用可能な共通鍵暗号方式と対応しており、暗号方式情報1144は、ホームサーバ装置1100において、使用される公開鍵暗号方式と対応しており、暗号方式情報1146は、ホームサーバ装置1100において用いられる放送用暗号方式と対応している。
(2)番組記憶部1120
番組記憶部1120は、一例として、ハードディスクユニットから構成され、複数の番組コンテンツを記憶している。
(3)通信部1104
通信部1104は、インターネット20に接続された外部機器と、更新部1106及び認証部103との間で各種の情報を送受信する。
(4)制御部1107
制御部1107は、実施の形態1のホームサーバ装置100を構成する制御部107と同様に、CRLの更新、緊急鍵の生成、コンテンツの再生又はコピーを行う。これらの処理については、制御部107の説明において述べたとおりであるので、ここでは、説明を省略する。
さらに、制御部1107は、利用者の操作によって、記憶部1110に記憶されている放送鍵を放送暗号処理部1118へ出力し、アンテナ114及び受信部101を介して受信した暗号化番組コンテンツの復号を指示し、放送暗号処理部1118によって生成された番組コンテンツを番組記憶部1120へ書き込む。また、番組記憶部1120に記憶されている番組コンテンツをパーソナルコンピュータ50へ出力する。
(5)更新部1106
更新部106は、FPGA書き込み装置を備える。
また、更新部106は、予め、チェック日時及び放送鍵問合間隔を記憶している。チェック日時は、ホームサーバ装置1100の使用している暗号方式を更新する必要の有無をセキュリティ管理装置1600に問い合わせる日時であり、ここでは、チェック日時「日曜 11:30」を記憶している。放送鍵問合せ間隔は、放送用暗号方式の更新に当たって、セキュリティ管理装置1600から新しい放送鍵を取得的なかった場合に、再度、取得を試みる時間間隔であり、ここでは、放送鍵問合せ間隔「24時間」を記憶している。
更新部1106は、現在日時を監視しており、現在日時が記憶しているチェック日時と一致すると、インターネット20を介して、セキュリティ管理装置1600へ、暗号方式の必要性の有無を問い合わせ、(A)インターネット経由でプログラム及び鍵を取得し、暗号方式を更新する。
また、更新部1106は、受信部101を介して、放送局1070からの放送波により、プログラムファイルEii、Pii又はBiiを受信する。これらのプログラムファイルを受信すると、(B)放送によりプログラムを取得し、インターネット経由で鍵を取得し、暗号方式を更新する。この際、ホームサーバ装置1100がインターネット20に接続されていない、ネットワーク上のトラブル等の理由により、インターネット通信ができない場合、(C)放送によりプログラムを取得し、鍵をメモリカードから取得し、暗号方式を更新する。
なお、共通鍵暗号方式及び公開鍵暗号方式は、手順A〜手順Cの何れかにより更新する。また、放送用暗号方式は、A又はBの手順で更新する。
以下に上記の手順(A)〜(C)について、詳細に説明する。
(A)インターネット経由でプログラム及び鍵を取得する場合
現在日時が記憶しているチェック日時と一致すると、更新部1106は、記憶部1110に記憶されている暗号方式リスト1133を構成する暗号方式情報のうち、最新フラグが「1」であるものを検索し、検出した暗号方式情報1142、1144及び1146から方式識別子「E_1」、「P_1」及び「B_1」を読み出す。
次に、更新部1106は、通信部1104及びインターネット20を介して、セキュリティ管理装置1600へ、読み出した方式識別子「E_1」、「P_1」及び「B_1」を送信し、暗号方式の安全性の確認を要求する。
次に、インターネット20及び通信部20を介してセキュリティ管理装置1600から、緊急画面データ、安全通知信号、方式識別子「E_1」の示す暗号方式の更新命令、方式識別子「P_1」の示す暗号方式の更新命令又は方式識別子「B_1」の示す暗号方式の更新命令を受信する。更新部306は、それぞれの場合において、以下に説明するような処理を行う。
(A−i)緊急画面データを受信した場合
セキュリティ管理装置600から、緊急画面データを受信すると、更新部1106は、受信した緊急画面データを、携帯電話700に出力し緊急画面の表示を要求する。ここで、表示する画面は、一例として、図14に示す緊急画面と同様のものである。
(A−ii)安全通知信号を受信した場合
セキュリティ管理装置600から安全通知信号を受信すると、更新部1106は、メモリカード300自身の記憶している暗号方式が安全であると判断し、暗号方式の更新処理を終了する。
(A−iii)インターネット経由の共通鍵暗号方式の更新
方式識別子「E_1」の示す暗号方式の更新命令を受信した場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「E_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「E_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルEiiを受信する。
プログラムファイルEiiを受信すると、更新部1106は、
(A−iii−a)暗号部108及び復号部109の更新
(A−iii−b)デバイス鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−iii−a)及び(A−iii−b)について説明する。
(A−iii−a)暗号部108及び復号部109の更新
更新部1106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「E_2」と導入日と最新フラグ「1」とを含む暗号方式情報1147を生成し、生成した暗号方式情報1147を暗号方式リスト1133に追加する。続いて、方式識別子「E_1」を含む暗号方式情報1142の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し、抽出した暗号部更新プログラムに示される手順に従って、暗号部108を構成するFPGAを書き換え、方式識別子「E_2」の示す暗号方式に従う暗号化の機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLB(Configuration Logic Block)を、これらのCLB上に任意の論理関数回路を生成し、生成した論理関数回路を各CLB間に存在する結線リソースにより結線することにより回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した暗号部更新プログラムを書き込む。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し、抽出した復号部更新プログラムに示される手順に従って、復号部109を構成するFPGAを書き換え、方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、記憶部110の第1更新フラグ181を「0」に設定する。
(A−iii−b)デバイス鍵の取得
次に、通信部1104を介して、セキュリティ管理装置1600から、セキュリティ管理装置1600の公開鍵証明書を受信すると、更新部1106は、更新部1106は、受信した公開鍵証明書を認証部103へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部1106は、認証部303からセッション鍵Ke’を受け取る。
続いて、更新部1106は、通信部1104を介して、セキュリティ管理装置1600から、暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」とを受信する。更新部1106は、受信した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」と認証部103から受け取ったセッション鍵Kc’とを、復号部109へ出力し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)の復号を指示する。
次に、更新部1106は、復号部109から、デバイス鍵Dev_2を受け取り、受け取ったデバイス鍵Dev_2を、記憶部1110へ書き込む。デバイス鍵Dev_2を書き込むと、続いて、第1更新フラグ181を「1」に設定する。
(A−iv)インターネット経由の共通鍵暗号方式の更新
方式識別子「P_1」の示す暗号方式の更新命令を受け取った場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「P_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「P_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20及び通信部1104を介して、セキュリティ管理装置1600からプログラムファイルPiiを受信する。
プログラムファイルPiiを受け取ると、更新部1106は、
(A−iv−a)認証部103の更新
(A−iv−b)秘密鍵及び公開鍵証明書の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−iv−a)及び(A−iv−b)について説明する。
(A−iv−a)認証部103の更新
更新部1106は、受信したプログラムファイルPiiから、方式識別子「P_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「P_2」と導入日と最新フラグ「1」とを含む暗号方式情報1148を生成し、生成した暗号方式情報1148を暗号方式リストに追加する。続いて、方式識別子「P_1」を含む暗号方式情報1144の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し、抽出した認証部更新プログラムに示す手順に従って認証部103を構成するFPGAを書き換え、方式識別子「P_2」を用いたSAC確立を実行する機能を備えた回路を構築する。
次に、更新部1106は、記憶部1110の第2更新フラグ182を「0」に設定する。
(A−iv−b)秘密鍵及び公開鍵証明書の取得
次に、更新部1106は、インターネット20及び通信部1104を介してセキュリティ管理装置1600から装置IDの要求を受信する。装置IDの要求を受信すると、記憶部1110から装置ID1131「H001A」を読み出す。
次に、更新部1106は、暗号方式リスト1133において、最新フラグ「1」の暗号方式情報のうち、現在更新の対象になっている暗号方式と対応する暗号方式情報(ここでは、方式識別子「P_2」を含む暗号方式情報)以外の暗号方式情報1142及び1146から、それぞれ、導入日「2004.02.26」と導入日「2004.06.09」とを読み出す。読み出した導入日を比較し、より新しい導入日と対応する方式識別子を更新用暗号識別子とする。ここで、更新用暗号識別子となるのは、方式識別子「E_1」又は「B_1」の何れかである。
次に、更新部1106は、読み出した装置ID1131「H001A」と更新用暗号識別子を通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信する。
暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信すると、更新部1106は、記憶部1110からNW緊急鍵Ke001を読み出す。受信した更新用識別子が「E_1」であれば、受信した更新用暗号識別子「E_1」と暗号化秘密鍵と暗号化公開鍵証明書と読み出したNW緊急鍵Ke001とを復号部109へ出力し、暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
受信した更新用識別子が「B_1」であれば、暗号化秘密鍵と暗号化公開鍵証明書と読み出したNW緊急鍵Ke001とを放送暗号処理部1118へ出力し、暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
次に、更新部1106は、復号部109又は放送暗号処理部1118から秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部1110へ書き込む。続いて、秘密鍵SK_L1 122と公開鍵証明書Cert_L1 123とを記憶部1110から削除する。
次に、更新部1106は、暗号方式リスト1133の方式識別子「P_1」を含む暗号方式情報1142を削除し、記憶部1110の記憶している第2更新フラグ182を「1」に設定する。
(A−v)インターネット経由の放送用暗号方式の更新
方式識別子「B_1」の示す暗号方式の更新命令を受け取った場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「B_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「B_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20及び通信部1104を介して、セキュリティ管理装置1600からプログラムファイルBiiを受信する。
プログラムファイルBiiを受信すると、更新部1106は、
(A−v−a)放送暗号処理部1118の更新
(A−v−b)放送鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−v−a)及び(A−v−b)について説明する。
(A−v−a)放送暗号処理部1118の更新
更新部1106は、受信したプログラムファイルBiiから、方式識別子「B_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「B_2」と導入日と最新フラグ「1」とを含む暗号方式情報1149を生成し、生成した暗号方式情報1149を暗号方式リストに追加する。続いて、方式識別子「B_1」を含む暗号方式情報1146の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルBiiから、放送暗号処理部更新プログラムを抽出し、抽出した放送暗号処理部更新プログラムに示される手順に従って、放送暗号処理部1118を構成するFPGAを書き換え、方式識別子「B_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、更新部1106は、記憶部110の第1更新フラグ181を「0」に設定する。
(A−v−b)放送鍵の取得
次に、通信部1104を介して、セキュリティ管理装置1600から、セキュリティ管理装置1600の公開鍵証明書を受信すると、更新部1106は、更新部1106は、受信した公開鍵証明書を認証部103へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部1106は、認証部303からセッション鍵Kf’を受け取る。
続いて、更新部1106は、通信部1104を介して、セキュリティ管理装置1600から、暗号化デバイス鍵EncB2(K_B2F,BK_2)と方式識別子「B_2」とを受信する。更新部1106は、受信した暗号化デバイス鍵EncB2(K_B2F,BK_2)と方式識別子「B_2」と認証部103から受け取ったセッション鍵Kf’とを、放送暗号処理部1118へ出力し、暗号化デバイス鍵EncB2(K_B2f,BK_2)の復号を指示する。
次に、更新部1106は、放送暗号処理部1118から、放送鍵BK_2を受け取り、受け取った放送鍵BK_2を、記憶部1110へ書き込む。放送鍵BK_2を書き込むと、暗号方式リスト1133の方式識別子「B_1」を含む暗号方式情報1142を削除し、第1更新フラグ181を「1」に設定する。
(B)放送によりプログラムを取得し、インターネット経由で鍵を取得する場合
アンテナ114及び受信部101を介して、放送局1070からプログラムファイルEii、Pii又はBiiを受信する。更新部306は、それぞれの場合において、以下に説明する(B−i)〜(B−iii)処理を行う。
(B−i)放送による共通鍵暗号方式の更新
プログラムファイルEiiを受信すると、更新部1106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「E_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、既に、方式識別子「E_2」が存在する場合、暗号部108及び復号部109の更新は既に終了しているため、共通鍵暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「E_2」が存在しなければ、受信したプログラムファイルEiiを基に、暗号部108及び復号部109を更新する。具体的な手順は、既に説明した(A−iii)インターネット経由の共通鍵暗号方式の更新における(A−iii−a)暗号部108及び復号部109の更新の手順と同一であるので、ここでは説明を省略する。
暗号部108及び復号部1119の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、以下の(C)の処理へ移る。
通信可能であれば、更新部1106は、抽出した方式識別子「E_2」と、方式識別子「E_2」の示す暗号方式において使用するデバイス鍵の送信を要求する鍵要求とを、通信部1104及びインターネット20を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「E_2」と対応するデバイス鍵Dev_2を安全に取得する。具体的な取得の手順は、既に説明した(A−iii)インターネット経由の共通鍵暗号方式の更新における(A−iii−b)デバイス鍵の取得の手順と同一であるので、ここでは説明を省略する。
(B−ii)放送による公開鍵暗号方式の更新
プログラムファイルPiiを受信すると、更新部1106は、受信したプログラムファイルPiiから、方式識別子「P_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「P_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、すでに、方式識別子「P_2」が存在する場合、認証部103の更新は既に終了しているため、公開鍵暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「P_2」が存在しなければ、受信したプログラムファイルPiiを基に認証部103を更新する。具体的な手順は、既に説明した(A−iv)インターネット経由の公開鍵暗号方式の更新における(A−iv−a)認証部103の更新の手順と同一であるので、ここでは説明を省略する。
認証部103の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、以下の(C)の処理へ移る。
通信可能であれば、更新部1106は、抽出した方式識別子「P_2」と、方式識別子「P_2」の示す暗号方式において使用する秘密鍵及び公開鍵証明書の送信を要求する鍵要求とを、通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「P_2」と対応する秘密鍵SK_L2及び公開鍵証明書Cert_L2を安全に取得する。具体的な取得の手順は、既に説明した(A−iv)インターネット経由の公開鍵暗号方式の更新における(A−iv−b)秘密鍵及び公開鍵証明書の取得の手順と同一であるので、ここでは説明を省略する。
(B−iii)放送による放送用暗号方式の更新
プログラムファイルBiiを受信すると、更新部1106は、受信したプログラムファイルBiiから、方式識別子「B_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「B_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、すでに、方式識別子「B_2」が存在する場合、認証部103の更新は既に終了しているため、放送用暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「B_2」が存在しなければ、受信したプログラムファイルBiiを基に認証部103を更新する。具体的な手順は、既に説明した(A−v)インターネット経由の公開鍵暗号方式の更新における(A−v−a)放送暗号処理部1118の更新の手順と同一であるので、ここでは説明を省略する。
放送暗号処理部1118の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、時間の計測を開始し、計測している時間が、放送鍵問合間隔「24時間」になると、再度、インターネット通信が可能であるか否かを確認する。
通信可能であれば、更新部1106は、抽出した方式識別子「B_2」と、方式識別子「B_2」の示す暗号方式において使用する放送鍵の送信を要求する鍵要求とを、通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「B_2」と対応する放送鍵BK_2を安全に取得する。具体的な取得の手順は、既に説明した(A−v)インターネット経由の放送用暗号方式の更新における(A−v−b)放送鍵取得の手順と同一であるので、ここでは説明を省略する。
(C)放送によりプログラムを取得し、鍵をメモリカードから取得する場合
上記の(B)において説明した(B−i)放送による共通鍵暗号方式の更新において、インターネット通信ができない場合、更新部1106は、方式識別子「E_2」に対応したデバイス鍵をメモリカード300を介して取得する。具体的な取得手段は、実施の形態1の更新部106による、(i−b)デバイス鍵の取得の手順と同様であるので、ここでは、説明を省略する。
また、(B−ii)放送による公開鍵暗号方式の更新において、インターネット通信ができない場合、更新部1106は、方式識別子「P_2」に対応した秘密鍵及び公開鍵証明書をメモリカード300を介して取得する。具体的な取得手段は、実施の形態1の更新部106による、(ii−b)秘密鍵及び公開鍵証明書取得の手順とほぼ同様であり、第2更新フラグを「1」に設定する前に、暗号方式リスト1133から、方式識別子「P_1」を含む暗号方式情報1144を削除すること意外は同一である。従って、ここでは、説明を省略する。
(6)放送暗号処理部1118
放送暗号処理部1118は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。
放送暗号処理部1118は、FPGA上に方式識別子「B_1」の示す暗号方式に基づき復号の処理を行う機能を備えている。また、更新部106により放送用暗号方式の更新が行われると、FPGA上に方式識別子「B_2」の示す暗号方式に基づき復号処理を行う機能を備える。
放送暗号処理部1118は、制御部1107又は更新部1106から復号鍵を受け取り、暗号文の復号の指示を受け取る。
ここで、放送暗号処理部1118が、制御部1107から受け取る復号鍵と暗号文の組み合わせは、一例として、放送鍵BK_1と暗号化番組コンテンツの組み合わせ又は、放送鍵BK_2と暗号化番組コンテンツの組み合わせである。
また、放送暗号処理部1118が、更新部1106から受け取る復号鍵と暗号文との組み合わせは、一例として、セッション鍵Kf’と暗号化放送鍵EncB2(K_B2F,BK_2)の組み合わせ、NW緊急鍵Ke001と暗号化秘密鍵EncB1(K_EMR,SK_L2)との組み合わせ及び緊急鍵K_EMRと暗号化公開鍵証明書EncB1(K_EMR,Cert_L2)との組み合わせである。
本明細書において、鍵Aを用いて、方式識別子「B_1」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEncB1(A,C)と表現する。
(i)放送用暗号方式の更新前
放送暗号処理部1118は、復号鍵と、暗号文の復号の指示とを受け取り、受け取った復号鍵の鍵長を検出し、検出した鍵長が64ビットであるか否かを判断する。検出した鍵長が、64ビットでないと判断すると、受け取った復号鍵の先頭から64ビットを抽出し、これを復号鍵とする。検出した鍵長が64ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、放送暗号処理部1118は、暗号文を64ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「B_1」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部1110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、平文を生成する。全てのブロックを復号し終えると、生成した復号文を出力する。
(ii)放送用暗号方式の更新後
放送暗号処理部1118は、復号鍵と、暗号文の復号の指示とを受け取り、受け取った復号鍵の鍵長を検出し、検出した鍵長が256ビットであるか否かを判断する。検出した鍵長が、256ビットでないと判断すると、受け取った復号鍵の先頭から256ビットを抽出し、これを復号鍵とする。検出した鍵長が256ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、放送暗号処理部1118は、暗号文を256ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「B_2」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部1110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。全てのブロックを復号し終えると、生成した復号文を出力する。
2.5アップデートシステム11の動作
アップデートシステム11の動作について説明する。
(1)ホームサーバ装置によるインターネット経由の暗号方式更新の開始
チェック日時「日曜11:30」になると、ホームサーバ装置1100は、インターネット20を介して、セキュリティ管理装置1600暗号方式の更新の必要性を問合せ、暗号方式の更新を行う。以下に、ホームサーバ装置1100による、インターネット20を経由した暗号方式の更新について、図62に示すフローチャートを用いて説明する。
ホームサーバ装置1100の更新部1106は、記憶部1110に記憶されている暗号方式リスト1133を構成する暗号方式情報のうち、最新フラグが「1」であるものから方式識別子「E_1」、「P_1」及び「B_1」を読み出す(ステップS1001)。読み出した方式識別子「E_1」、「P_1」及び「B_1」を通信部1104及びインターネット20を介してセキュリティ管理装置1600に送信し、暗号方式の安全性の確認を要求する(ステップS1002)。
セキュリティ管理装置1600の制御部1607は、方式識別子「E_1」、「P_1」及び「B_1」を受信し、HS用無効暗号方式一覧1621から、受信した方式識別子「E_1」、「P_1」及び「B_1」を検索する(ステップS1003)。
検索の結果、方式識別子「E_1」、「P_1」及び「B_1」の全てが、HS用無効暗号方式一覧1621上に存在する場合(ステップS1005の全て)、制御部1607は、特別処理を行う(ステップS1006)。ここで、特別処理とは、実施の形態1において、図37を用いて説明した特別処理と同様に、ホームサーバ装置1100へ緊急画面データを送信し、ホームサーバ装置1100は、緊急画面を表示することである。
検索の結果、方式識別子「E_1」、「P_1」及び「B_1」のいずれも、HS用無効暗号方式一覧1621上に存在しない場合(ステップS1005のなし)、制御部1607は、安全通知処理を行う(ステップS1012)。安全通知処理とは、実施の形態1において、図38を用いて説明した安全通知処理と同様にして、安全通知信号を送信することである。
検索の結果、方式識別子「E_1」が、検出された場合(ステップS1005のE_1)、制御部1607は、インターネット経由の暗号方式の更新を開始する(ステップS1007)。
方式識別子「P_1」が検出された場合、制御部1607は、インターネット経由の公開鍵暗号方式の更新を開始する(ステップS1009)。
方式識別子「B_1」が検出された場合、制御部1607は、インターネット経由の放送用鍵暗号方式の更新を開始する(ステップS1011)。
(2)ホームサーバ装置のインターネット経由の共通鍵暗号方式の更新
ホームサーバ装置1100の、インターネット20を経由した共通鍵暗号方式の更新について、図63〜64に示すフローチャートを用いて説明する。これは、図63のステップS1007の詳細である。
セキュリティ管理装置1600は、方式識別子「E_1」の示す暗号方式の更新命令を生成し(ステップS1021)、生成した更新命令をホームサーバ装置1100へ送信する(ステップS1022)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、方式識別子「E_1」の示す暗号方式の更新命令を受信する。更新命令を受信すると、更新部1106は、記憶部1110の記憶している暗号方式リスト1133から方式識別子「E_1」を読み出し(ステップS1023)、読み出した方式識別子「E_1」と更新開始要求とをインターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1026)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から方式識別子「E_1」及び更新開始要求を受信し、HS用無効暗号方式一覧1621内において、受信した方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623に含まれるプログラムファイル名を基に、プログラムファイルEii 641を読み出す(ステップS1027)。次に、制御部1607は、読み出したプログラムファイルEii 641を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1029)。
ホームサーバ装置1100の、更新部1106は、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出する(ステップS1031)。抽出した方式識別子「E_2」と、現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1032)。次に、暗号方式リスト1133において、方式識別子「E_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1033)。
次に、更新部1106は、受信したプログラムファイルEiiから暗号部更新プログラムを読み出し(ステップS1036)、読み出した暗号部更新プログラムに基づいて、暗号部108を構成するFPGAを書き換える(ステップS1037)。次に、受信したプログラムファイルEiiから復号部更新プログラムを読み出し(ステップS1039)、読み出した復号部更新プログラムに基づいて、復号部109を構成するFPGAを書き換える(ステップS1041)。
次に、記憶部1110の記憶している第1更新フラグ181を「0」に書き換える(ステップS1042)。
次に、更新部1106は、認証部103にSAC確立を指示し、認証部103は、セキュリティ管理装置1600との間にSACを確立する(ステップS1044)。なお、ステップS1044の詳細は、図52〜53に示すとおりである。
SAC確立が終了すると、セキュリティ管理装置1600の制御部1607は、認証部603からセッション鍵Keを受け取り、受け取ったセッション鍵Keの先頭から128ビットを抽出して、共通鍵K_E2Eを生成する(ステップS1046)。次に、情報記憶部1610のHS用無効暗号方式一覧1621からデバイス鍵Dev_2を読み出し(ステップS1048)、生成した共通鍵K_E2Eを用いて、読み出したデバイス鍵Dev_2を、方式識別子「E_2」の示す暗号方式により暗号化して、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を生成する(ステップS1049)。生成した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」とを、インターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1051)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2E,Dev_2)とを受信する。これらを受信すると、更新部1106は、認証部103により生成されたセッション鍵Ke’と、受信した方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2E,Dev_2)とを、復号部109へ出力し、暗号化デバイス鍵Enc2(K_E2E,Dev_2)の復号を指示する。
復号部109は、受け取った方式識別子「E_2」に基づいて、受け取ったセッション鍵Ke’の先頭から128ビットを抽出して、共通鍵共通鍵K_E2E’を生成し(ステップS1052)、生成した共通鍵K_E2E’を用いて、方式識別子「E_2」の示す暗号方式により、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を復号する(ステップS1053)。次に、生成したデバイス鍵Dev_2を更新部1106へ出力する。
更新部1106は、復号部1108からデバイス鍵Dev_2を受け取り、受け取ったデバイス鍵Dev_2を記憶部1110に書き込む(ステップS1054)。次に、更新部1106は、記憶部1110の記憶している第1更新フラグ181を「1」に書き換える(ステップS1056)。
(3)ホームサーバ装置によるインターネット経由の公開鍵暗号方式の更新
ホームサーバ装置1100による、インターネット20を経由した公開鍵暗号方式の更新について、図65〜66に示すフローチャートを用いて説明する。これは、図62のステップS1009の詳細である。
セキュリティ管理装置1071は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS1071)、生成した更新指示命令をインターネット20を介してホームサーバ装置1100へ送信する(ステップS1072)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、セキュリティ管理装置1600から、方式識別子「P_1」の示す暗号方式の更新指示命令を受信し、記憶部1110に記憶されている暗号方式リスト1133から方式識別子「P_1」を読み出し(ステップS1074)、読み出した方式識別子355「P_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS1076)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介してホームサーバ装置1100から、方式識別子「P_1」と更新開始要求を受信すると、HS用無効暗号方式一覧1621と受信した方式識別子「P_1」とを基に、プログラムファイルPii 651を読み出す(ステップS1077)。次に、読み出したプログラムファイルPII 651を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1078)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介してプログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し(ステップS1081)、抽出した方式識別子「P_2」と現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1082)。次に、暗号方式リスト1133において、方式識別子「P_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1084)。
次に、更新部1106は、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し(ステップS1086)、抽出した認証部更新プログラムの示す手順に従って、認証部103を書き換える(ステップS1087)。次に、記憶部1110の第2更新フラグ182を「0」に書き換える(ステップS1089)。
セキュリティ管理装置1600の制御部1107は、プログラムファイルPiiを送信し終えると、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアを生成し(ステップS1091)、認証局から公開鍵PK_L2の公開鍵証明書Cert_L2を取得する(ステップS1092)。続いて、インターネット20を介してホームサーバ装置1100に装置IDを要求する(ステップS1094)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から装置IDの要求を受信する。装置IDの要求を受信すると、記憶部1110から、装置ID1131「H001A」を読み出す(ステップS1096)。次に、更新部1106は、暗号方式リスト1133から、方式識別子「E_1」と対応する導入日と方式識別子「B_1」と対応する導入日とを読み出し、両者を比較する(ステップS1097)。「E_1」と対応する導入日のほうが新しい場合(ステップS1097のE_1>B_1)、方式識別子「E_1」を更新用暗号識別子とする(ステップS1098)。
「B_1」と対応する導入日のほうが新しい場合(ステップS1097のB_1>E_1)、更新部1106は、方式識別子「B_1」を更新用暗号方式とする(ステップS1101)。
次に、更新部1106は、更新用暗号識別子と読み出した装置ID1131「H001A」とを、インターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1103)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から、更新用暗号識別子と装置ID「H001A」とを受信し、受信した装置ID「H001A」を基に、情報記憶部1610に記憶されているNW緊急鍵リスト1691から、NW緊急鍵Ke001を読み出す(ステップS1104)。読み出したNW緊急鍵Ke001を用いて、受信した更新用暗号識別子の示す暗号方式により、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化して、暗号化秘密鍵と暗号化公開鍵証明書とを生成する(ステップS1106)。生成した暗号化秘密鍵と暗号化公開鍵証明書と受信した更新用暗号識別子とをインターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1108)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、セキュリティ管理装置1600から暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信し、記憶部1110からNW緊急鍵Ke001 1132を読み出す(ステップS1111)。
次に、更新部1106は、受信した更新用暗号識別子に応じて、復号部109又は放送暗号処理部1118へ、読み出したNW緊急鍵Ke001 1132を出力し、受信した暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
復号部109又は放送暗号処理部1118は、NW緊急鍵Ke001を用いて、暗号化秘密鍵と暗号化公開鍵証明書を復号して秘密鍵SK_L2と公開鍵証明書Cert_L2とを生成する(ステップS1112)。
更新部1106は、秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部1110に書き込み(ステップS1112)、暗号方式リスト1133から、方式識別子「P_1」を含む暗号方式情報1144を削除する(ステップS1116)。次に、更新部1106は、第2更新フラグ182を「1」に書き換える。
(4)ホームサーバ装置のインターネット経由の放送用暗号方式の更新
ホームサーバ装置1100の、インターネット20を経由した放送用暗号方式の更新について、図68〜70に示すフローチャートを用いて説明する。これは、図63のステップS1011の詳細である。
セキュリティ管理装置1600は、方式識別子「B_1」の示す暗号方式の更新命令を生成し(ステップS1131)、生成した更新命令をホームサーバ装置1100へ送信する(ステップS1132)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、方式識別子「B_1」の示す暗号方式の更新命令を受信する。更新命令を受信すると、更新部1106は、記憶部1110の記憶している暗号方式リスト1133から方式識別子「B_1」を読み出し(ステップS1133)、読み出した方式識別子「B_1」と更新開始要求とをインターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1134)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から方式識別子「B_1」及び更新開始要求を受信し、HS用無効暗号方式一覧1621内において、受信した方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627に含まれるプログラムファイル名を基に、プログラムファイルBii 1681を読み出す(ステップS1027)。次に、制御部1607は、読み出したプログラムファイルBii 1681を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1139)。
ホームサーバ装置1100の、更新部1106は、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルBiiを受信し、受信したプログラムファイルBiiから方式識別子「B_2」を抽出する(ステップS1141)。抽出した方式識別子「B_2」と、現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1142)。次に、暗号方式リスト1133において、方式識別子「B_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1144)。
次に、更新部1106は、受信したプログラムファイルBiiから放送暗号処理部更新プログラムを読み出し(ステップS1146)、読み出した放送暗号処理部更新プログラムに基づいて、放送暗号処理部1118を構成するFPGAを書き換える(ステップS1147)。次に、更新部1106は、記憶部1110の記憶している第3更新フラグ181を「0」に書き換える(ステップS1149)。
次に、更新部1106は、認証部103にSAC確立を指示し、認証部103は、セキュリティ管理装置1600との間にSACを確立する(ステップS1151)。なお、ステップS1151の詳細は、図52〜53に示すとおりである。
SAC確立が終了すると、セキュリティ管理装置1600の制御部1607は、認証部603からセッション鍵Kfを受け取り、受け取ったセッション鍵Kfの先頭から256ビットを抽出して、共通鍵K_B2Fを生成する(ステップS1152)。次に、情報記憶部1610のHS用無効暗号方式一覧1621から放送鍵BK_2を読み出し(ステップS1153)、生成した共通鍵K_B2Fを用いて、読み出した放送鍵BK_2を、方式識別子「B_2」の示す暗号方式により暗号化して、暗号化放送鍵EncB2(K_B2F,BK_2)を生成する(ステップS1156)。生成した暗号化放送鍵EncB2(K_B2E,BK_2)と方式識別子「B_2」とを、インターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1157)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から方式識別子「B_2」と暗号化放送鍵EncB2(K_B2E,BK_2)とを受信する。これらを受信すると、更新部1106は、認証部103により生成されたセッション鍵Kf’と、受信した暗号化放送鍵EncB2(K_B2E,BK_2)とを、放送暗号処理部へ出力し、暗号化放送鍵EncB2(K_B2E,BK_2)の復号を指示する。
放送暗号処理部1118は、受け取ったセッション鍵Kf’の先頭から256ビットを抽出して、共通鍵共通鍵K_B2F’を生成し(ステップS1159)、生成した共通鍵K_B2F’を用いて、方式識別子「B_2」の示す暗号方式により、暗号化放送鍵EncB2(K_B2E,BK_2)を復号する(ステップS1161)。次に、生成した放送鍵BK_2を更新部1106へ出力する。
更新部1106は、復号部1108から放送鍵BK_2を受け取り、受け取った放送鍵BK_2を記憶部1110に書き込む(ステップS1163)。次に、更新部1106は、暗号方式リスト1133から方式識別子「B_1」を含む暗号方式情報1146を削除し(ステップS1164)、記憶部1110の記憶している第3更新フラグ181を「1」に書き換える(ステップS1166)。
(5)放送によるホームサーバ装置の共通鍵暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図71に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルEiiを読み出し(ステップS1201)、読み出したプログラムファイルEiiを放送波に載せて送信する(ステップS1202)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出する(ステップS1204)、暗号方式リスト1133において、抽出した方式識別子「E_2」を検索し、方式識別子「E_2」が存在すると判断すると(ステップS1206のYES)、そのまま、処理を終了し、メモリカード300からの転送によりデバイス鍵を取得する。
暗号方式リスト1133上に、方式識別子「E_2」が存在しない判断すると(ステップS1206のNO)、受信したプログラムファイルEiiを基に暗号部108及び復号部109を更新する(ステップS1207)。なお、ステップS1207の詳細は、図63〜64のステップS1032〜ステップS1042と同様である。
次に、インターネット通信が可能であれば(ステップS1208のYES)、受信したプログラムファイルEiiに含まれる方式識別子「E_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1209)、ステップS1044へ処理を移す。
インターネット通信ができなければ(ステップS1208のNO)、メモリカード300からの転送によりデバイス鍵を取得する。なお、メモリカードからのデバイス鍵の転送は、実施の形態1において、図43〜43のフローチャートを用いて説明した通りであるので、ここでは、説明を省略する。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「E_2」及び鍵要求を受信し、ステップS1044へ処理を移す。
(6)放送によるホームサーバ装置の公開鍵暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図72に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルPiiを読み出し(ステップS1221)、読み出したプログラムファイルPiiを放送波に載せて送信する(ステップS1222)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出する(ステップS1224)、暗号方式リスト1133において、抽出した方式識別子「P_2」を検索し、方式識別子「P_2」が存在すると判断すると(ステップS1226のYES)、そのまま、処理を終了し、メモリカード300からの転送により秘密鍵及び公開鍵証明書を取得する。
暗号方式リスト1133上に、方式識別子「P_2」が存在しない判断すると(ステップS1226のNO)、受信したプログラムファイルPiiを基に認証部103を更新する(ステップS1228)。なお、ステップS1228の詳細は、図65〜66のステップS1082〜ステップS1089と同様である。
次に、インターネット通信が可能であれば(ステップS1229のYES)、受信したプログラムファイルPiiに含まれる方式識別子「P_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1231)、ステップS1094へ処理を移す。
インターネット通信ができなければ(ステップS1229のNO)、メモリカード300からの転送により秘密鍵及び公開鍵証明書を取得する。なお、メモリカード300からの秘密鍵及び公開鍵証明書の転送は、実施の形態1において、図50〜51のフローチャートを用いて説明した通りであるので、ここでは、説明を省略する。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「P_2」及び鍵要求を受信し、ステップS1091へ処理を移す。
(7)放送によるホームサーバ装置の放送用暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図73に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルBiiを読み出し(ステップS1241)、読み出したプログラムファイルBiiを放送波に載せて送信する(ステップS1242)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルBiiを受信し、受信したプログラムファイルBiiから方式識別子「B_2」を抽出する(ステップS1244)、暗号方式リスト1133において、抽出した方式識別子「B_2」を検索し、方式識別子「B_2」が存在すると判断すると(ステップS1246のYES)、そのまま、処理を終了する。
暗号方式リスト1133上に、方式識別子「B_2」が存在しない判断すると(ステップS1246のNO)、受信したプログラムファイルBiiを基に放送暗号処理部1118を更新する(ステップS1228)。なお、ステップS1248の詳細は、図68〜69のステップS1142〜ステップS1149と同様である。
次に、インターネット通信が可能であれば(ステップS1251のYES)、受信したプログラムファイルBiiに含まれる方式識別子「B_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1252)、ステップS1151へ処理を移す。
インターネット通信ができなければ(ステップS1251のNO)、更新部1106は、時間の計測を開始し(ステップS1254)、24時間経過すると(ステップS1256)、再度ステップS1251へ、処理を移す。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「B_2」及び鍵要求を受信し、ステップS1151へ処理を移す。
2.6 まとめ・効果
以上、説明してきたように、アップデートシステム11において、ホームサーバ装置1100は、共通鍵暗号方式、公開鍵暗号方式及び放送用暗号方式を使用している。
ホームサーバ装置1100は、放送又はインターネットを介して、これらの暗号方式を更新するためのプログラムを取得し、新しい暗号方式を導入する。インターネットを経由して、セキュリティ管理装置1600から更新用のプログラムを取得すると、続いて、インターネットを経由して、セキュリティ管理装置1600から、新しい暗号方式に使用する鍵を取得する。
放送を介して、放送局1070からプログラムを取得したとき、インターネット通信が可能であれば、インターネットを介して新しい暗号方式に使用する鍵を取得する。インターネット通信ができない場合、メモリカード300から、鍵を取得する。
このようにすることで、ホームサーバ装置1100がインターネットに接続されている場合には、ホームサーバ装置1100が自発的に、暗号方式の安全性を問合せ、暗号方式の更新を開始する。
また、ホームサーバ装置1100がインターネットに接続されていない場合、ネットワークに以上が発生し、インターネットに接続できない場合、放送及びメモリカード300を介してプログラム及び鍵を取得し、新たな暗号方式を導入することができる。
従って、ホームサーバ装置1100の設置されている場所の電波受信状況やネットワーク環境に応じて、最も適した方法により、暗号方式を更新することができる。
なお、上記の実施の形態では、特に説明していないが、共通鍵暗号方式、公開鍵暗号方式、放送用暗号方式のうち、2つが解読された場合、残る1つの暗号方式により、解読された2つの暗号方式を、順次更新する。
3.その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態において、DVD500a及びDVD500bに記憶されている暗号化コンテンツ鍵と暗号化コンテンツは、同一の共通鍵暗号方式により生成されているが、それぞれ、異なる暗号方式により生成されるとしてもよい。
(2)上記の実施の形態において、ホームサーバ装置100の暗号部108、復号部109及び認証部103は、FPGA素子により構成されるが、FPGA素子に代わって、CPLD(Complex Programable Logic Device、リコンフィギュアラブルLSIともいう)により構成されるとしてもよい。
(3)上記の実施の形態1及び2において、ホームサーバ装置における暗号化、復号及びSAC確立の処理は、FPGA上の回路により実行されるが、メモリカード300と同様に、暗号化、復号及びSAC確立の手順を含んだコンピュータプログラムを記憶しており、これらのプログラムを構成する命令をプロセッサが実行することにより、暗号化、復号及びSAC確立を実現してもよい。
(4)上記の変形例(3)において、暗号方式の更新により、新しい暗号方式に基づくプログラムを取得した後、更新の前から、記憶しているプログラムを必ずしも削除する必要はない。
この場合、記憶部には、実施の形態2において説明したような構成の暗号方式リストが記憶されている。暗号方式リストには、暗号方式の更新前からホームサーバ装置1100の記憶しているプログラムと対応する暗号方式情報及び、暗号方式の更新後により新たに取得したプログラムと対応する暗号方式情報が含まれている。ホームサーバ装置の制御部及び更新部は、暗号部又は放送暗号処理部へ暗号化を指示する際に、暗号方式リストの最新フラグ又は導入日に基づいて、最新の暗号方式と対応する方式識別子を暗号部又は放送暗号処理部へ出力し、暗号化には、解読された暗号方式を用いないように制御する。
(5)上記の実施の形態では、メモリカード300は、携帯電話700を介してセキュリティ管理装置600から新たな暗号方式による暗号化及び復号の手順を含んだコンピュータプログラムを取得し、導入している。また、セキュリティ管理装置600から新しい暗号方式に対応した鍵及び公開鍵証明書を受信している。
これらのコンピュータプログラム、鍵及び公開鍵証明書をセキュリティ管理装置600から受信する代わりに、メモリカード300の製造メーカーにより、これらのコンピュータプログラム、鍵及び公開鍵証明書が書き込まれ、配布又は販売されるとしてもよい。
(6)上記の実施の形態2において、ホームサーバ装置1100の更新部1106は、定期的に、セキュリティ管理装置1600へ、ホームサーバ装置1100の使用している暗号方式の安全性を確認し、セキュリティ管理装置1600から更新命令を受信した場合に、暗号方式の更新を開始しているが、更新開始の手順は、これに限るものではない。
例えば、ホームサーバ装置1100は、自身の使用している暗号方式が、解読されたか否かにかかわらず、定期的に、暗号方式の更新を試みるようにしても良い。
例えば、ホームサーバ装置1100は、1ヶ月おきに、共通鍵暗号方式の更新開始要求をセキュリティ管理装置1600に送信する。セキュリティ管理装置1600は、共通鍵暗号方式の更新開始要求を受け取ると、その時点で、最新の共通鍵暗号方式を導入するためのプログラムを含むプログラムファイルEiiをホームサーバ装置1100へ送信する。ホームサーバ装置1100は、セキュリティ管理装置1600から、プログラムファイルEiiを受信し、以下、実施の形態2において説明した手順で、方式識別子「E_2」の示す暗号方式を導入する。
公開鍵暗号方式、放送用暗号方式についても、同様に、解読されたか否かにかかわらず、定期的に、暗号方式の更新を試みる。
(7)また、実施の形態2において、ホームサーバ装置1100の更新部1106は、外部からの指示により、暗号方式の更新を開始しても良い。
例えば、DVDに、ホームサーバ装置1100が備えている必要のある暗号方式を示す情報が記録されており、ホームサーバ装置1100は、DVDに記録されている情報の示す暗号方式を、備えていない場合に、暗号方式の更新を開始する。
また、利用者の操作によって、暗号方式の更新を開始するとしても良い。
(8)実施の形態2において、公開鍵暗号方式を更新する際に、更新部1106は、この時点で、ホームサーバ装置1100の備えている共通鍵暗号方式と放送用暗号方式の導入日を比較し、導入日の新しい暗号方式を用いて、新たな公開鍵暗号方式に用いられる秘密鍵及び公開鍵証明書を取得している。
しかし、秘密鍵等を取得するために何れの暗号方式を用いるかを、決める方法は、これに限るものではなく、例えば、ホームサーバ装置1100は、各暗号方式の暗号強度を記憶しており、暗号強度のより強い暗号方式を用いるとしても良い。
各暗号方式の暗号強度は、その暗号方式を導入する際に、プログラムファイルに含んでセキュリティ管理装置1600又は放送局1070から取得する。
また、利用者の操作により、何れの暗号方式を用いるかを、選択しても良い。
(9)実施の形態1、実施の形態2及び上記の変形例において、ホームサーバ装置及びメモリカードは、平文のプログラムを含むプログラムファイルを取得しているが、これに代わって、各プログラムファイルに含まれるプログラム、方式識別子、鍵長を暗号化して生成された暗号化プログラム、暗号化方式識別子、暗号化鍵長及び暗号化に用いた暗号方式を示す方式識別子を含むプログラムファイルを取得するとしても良い。
例えば、方式識別子「P_1」の示す暗号方式が解読された場合、ホームサーバ装置は、暗号化認証部更新プログラム、暗号化方式識別子及びこれらの生成に用いられた暗号方式を示す方式識別子「E_1」を含むプログラムファイルを取得する。このとき、暗号化認証部更新プログラムなどの生成に用いられる暗号鍵は、一例として、NW緊急鍵を用いる。
(10)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(11)また、上記の実施の形態及び上記の変形例を組み合わせてもよい。
本発明は、暗号技術を利用してデジタルデータを利用者に提供する産業、暗号技術を利用した秘密通信によりデジタルデータの交換を行う産業及び前記デジタルデータを処理することができるコンピュータシステムを生産し販売する産業において、経営的に、また継続的かつ反覆的に利用することができる。
本発明は、暗号化方式の変更技術に関する。
映像及び音声からなるデジタルコンテンツを記録媒体に記録して販売したり、ネットワークを介して配信する際に、改竄や盗聴といった不正なコンテンツの利用を防止するために、暗号化技術が用いられることが一般的になっている。
このような暗号処理を行う暗号処理システムにおいて、書き換え可能な回路を備えており、処理のたびに、処理対象のデータに応じた暗号回路を形成する技術が、特許文献1に開示されている。
特願H10-132755 号公報 特願2000-600352 号公報 現代暗号論(池野信一、小山謙二 著 昭和61年 社団法人電子通信学会による出版)
しかしながら、処理対象のデータに対応する暗号方式自体が解読された場合、システムは、前記暗号回路により、当該処理対象のデータを安全に処理することができなくなるという問題点がある。
本発明は、上記の問題に鑑みてなされたものであり、暗号回路の備える暗号方式が解読された場合に、安全に新たな暗号方式を導入することができる情報セキュリティ装置、情報セキュリティシステム、制御方法及びコンピュータプログラムを提供することを目的とする。
上記の要望に対応するために、本発明は、複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、前記複数の暗号方式のうちの1の暗号方式を選択し、選択された基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入することを特徴とする。
上記の構成によると、前記情報セキュリティ装置は、適切に前記基軸暗号方式を選択することで、前記複数の暗号方式のうち何れかが解読された場合においても、前記基軸暗号方式に基づいて、安全に前記他の暗号方式を導入することができる。
また、本発明の前記情報セキュリティ装置は、前記他の暗号方式の導入の指示を取得する取得手段と、前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段と、を備えることを特徴とする。
この構成によると、前記選択手段は、前記複数の暗号方式から前記基軸暗号方式を選択し、前記導入手段は、前記基軸暗号方式に基づいて前記他の暗号方式を導入し、前記暗号処理手段は、前記複数の暗号方式及び前記他の暗号方式に基づいて、前記情報を安全に扱う。従って、前記多数の暗号方式のうち何れかが安全に使用できなくなった場合、前記選択手段は、安全に使用できる暗号方式を前記基軸暗号方式として選択することで、前記導入手段は前記他の暗号方式を安全に導入することができる。また、前記暗号処理手段は、前記多数の暗号方式のうち安全に使用できなくなったものに代えて前記他の暗号方式に基づいて、安全かつ正確に前記情報を扱うことができる。
また、前記情報セキュリティ装置を構成する前記選択手段は、前記複数の暗号方式のうち、当該情報セキュリティ装置に最後に導入されたものを、前記基軸暗号方式として選択することを特徴とする。
当該情報セキュリティ装置は、前記取得手段が導入の指示を受け取る度に、既に情報セキュリティ装置自身が備えている複数の暗号方式以外の新たな暗号方式を導入する。新たに導入された暗号方式は、前記複数の暗号方式よりも後に開発され、より高度な暗号技術に基づき、その安全性が高いと考えられる。
従って、上記のように、前記選択手段が、導入日の新しい暗号方式を前記基軸暗号方式として選択することで、より安全に前記他の暗号方式を導入することができる。
また、前記情報セキュリティ装置を構成する、前記選択手段は、前記複数の暗号方式のうち、暗号強度の最も高いものを、前記基軸暗号方式として選択する。
この構成では、前記選択手段は、最も暗号強度の強い暗号方式を前記基軸暗号方式として選択する。従って、当該導入手段は最も安全性の高い方法で前記他の暗号方式を導入することができる。
また、情報セキュリティ装置を構成する前記前記選択手段は、前記複数の暗号方式のうち、外部からいずれか1つを示す選択指示を取得する指示取得部と、取得した選択指示に従って前記基軸暗号方式を選択する選択部とを含むことを特徴とする。
この構成では、前記選択手段は、外部からの選択指示に従って、前記基軸暗号方式を選択する。ここで、外部からの選択指示とは、例えば、当該情報セキュリティ装置に装着される記録媒体である。記録媒体には、当該情報セキュリティ装置の扱う情報、前記情報に最も適した暗号方式を示す情報及び前記情報に最も適した暗号方式を導入するために最も適した選択指示が記録されている。このようにすることで、前記情報の取り扱いにおいて、記録媒体の発売元の意思を反映した他の暗号方式及び基軸暗号方式の決定をすることができる。
また、外部からの指示とは、利用者によるキー操作による指示であると考えられる。この場合、前記選択手段は、前記指示情報の示す暗号方式を前記基軸暗号方式に選択するため、利用者は、暗号方式の導入に係る安全性、時間などを考慮し、自由に前記基軸暗号方式を選択することができる。
前記情報セキュリティ装置を構成する前記取得手段は、前記導入の指示として、前記複数の暗号方式のうち何れかの解読された暗号方式を識別する識別情報を取得し、前記選択手段は、前記複数の暗号方式のうち、前記識別情報の示すもの以外の暗号方式を前記基軸暗号方式として選択することを特徴とする。
これによると、前記導入手段は、前記複数の暗号方式のうち何れかが解読された際に、前記他の暗号方式を導入する。従って、前記暗号処理手段は、前記解読された暗号方式の代わりに、前記他の暗号手段を使用することが可能となり、前記情報を引き続き安全かつ確実に扱うことができる。この際、前記選択手段は、前記識別情報の示す暗号方式、つまり、解読された暗号方式以外の暗号方式を前記基軸暗号方式として選択する。よって、前記導入手段は、解読されていない前記基軸暗号方式に基づいて、安全に前記他の暗号方式を導入することができる。
また、前記情報セキュリティ装置を構成する前記暗号処理手段は、前記識別情報により示される暗号方式以外の暗号方式に基づいて、前記情報を安全に扱うことを特徴とする。
この構成では、前記暗号処理手段は、前記識別情報の示す暗号方式以外の暗号方式により前記情報を扱う。つまり、前記情報セキュリティ装置は、解読され安全性に問題のある暗号方式は用いないため、常に前記情報を安全かつ確実に扱うことができる。
また、前記情報セキュリティ装置を構成する前記暗号処理手段は、前記識別情報により示される前記暗号方式を、暗号文の復号にのみ用いることを特徴とする。
この構成では、前記暗号処理手段は、前記識別情報の示す暗号方式を暗号文の復号にのみ用いるので、前記識別情報の示す暗号方式が解読される前に生成された暗号文を復号して利用することができる。具体的には、当該暗号方式に基づいて生成された暗号化コンテンツを記録している記録媒体が、前記識別情報の示す暗号方式の解読前に、製造販売された場合、当該情報セキュリティ装置では、前記暗号化コンテンツを復号し、前記コンテンツを生成することができる。従って、既に購入済みの記録媒体に、記録されているコンテンツをいつでも利用することができる。
また、前記暗号処理手段は、前記識別情報の示す暗号方式を暗号文の復号以外には用いることがない。このように、解読された暗号方式の用途を限定することで、当該情報セキュリティ装置は、利用者にとっての利便性を保ちつつ、前記情報を安全に扱うことができる。
本発明は、前記情報セキュリティ装置は、さらに、前記識別情報により示される前記暗号方式を削除する削除手段を含むことを特徴とする。
この構成では、削除手段が、前記識別情報の示す暗号方式を削除するため、前記情報セキュリティ装置において、安全性に問題の発生した暗号方式を使用することはない。
本発明の情報セキュリティ装置を構成する前記暗号処理手段は、鍵記憶部と演算実行部とを備え、前記鍵記憶部は、前記複数の暗号方式のそれぞれに対応する複数の鍵情報を記憶しており、前記演算実行部は、前記複数の暗号方式による暗号回路と、少なくともその一部が書き換え可能な論理回路とから構成されており、前記導入手段は、前記論理回路上において前記他の暗号方式による暗号回路を構築する手順を示す手順情報を取得する手順取得部と、前記基軸暗号方式を用いて、秘密の鍵情報を安全に取得し、取得した前記鍵情報を前記鍵記憶部に書き込む鍵取得手段と、取得した手順情報により示される手順に従って、前記論理回路上に前記他の暗号方式による暗号回路を構築する構築部とを含むことを特徴とする。
この構成によると、前記演算部は、書き換え可能な論理回路を備え、前記構築部は、前記他の暗号方式による暗号回路を前記論理回路上に構築する。これにより、前記演算部は、前記論理回路上に、新たな暗号回路を構築し直すことで、自身の備える暗号方式を追加、削除、変更することが可能である。また、演算部は、暗号回路を備えているため、この暗号回路により、前記複数の暗号方式及び前記他の暗号方式に基づく処理を高速に実行することができる。
また、前記情報セキュリティ装置を構成する前記手順取得部は、ネットワークを介してサーバ装置から、前記手順情報を取得することを特徴とする。
ここで、サーバ装置は、前記セキュリティ管理装置の発売元、前記セキュリティ装置において利用可能な情報(一例としてデジタルコンテンツなど)を提供する事業者によって、管理されており、前記複数の暗号方式の安全性に係る最新の情報、または、その時点で最も適切な前記他の暗号方式に対応する手順情報を保持していると考えられる。
従って、この構成では、前記手順取得部は、前記サーバ装置からネットワークを介して前記手順情報を取得するため、当該情報セキュリティ装置は、その時点で最も適切な暗号方式を他の暗号方式として導入することができる。
また、前記ネットワークは、デジタル放送の放送ネットワークであり、前記サーバ装置は、前記手順情報を放送波に乗せて送信し、前記情報取得手段は、前記放送波を受信し、受信した前記放送波から前記手順情報を抽出するとしてもよい。
この構成によると、前記情報取得手段は、前記放送波を受信することで前記手順情報前記情報を、簡単に取得することができる。
本発明は、複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置と、前記複数の暗号方式以外の他の暗号方式を供給するサーバ装置とから構成される情報セキュリティシステムであって、前記サーバ装置は、前記他の暗号方式を供給する供給手段を備え、前記情報セキュリティ装置は、前記他の暗号方式の導入の指示を取得する取得手段と、前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段とを備えることを特徴とする。
前記サーバ装置は、前記セキュリティ管理装置の発売元、前記セキュリティ装置において利用可能な情報(一例としてデジタルコンテンツなど)を提供する事業者によって、管理されており、前記複数の暗号方式の安全性に係る最新の情報を保持し、その時点で最も適切な前記他の暗号方式を供給する事ができると考えられる。
従って、この情報セキュリティシステムでは、前記情報セキュリティ装置は、前記サーバ装置から前記他の暗号方式を取得するため、その時点で最も適切な暗号方式を他の暗号方式として導入し、前記他の暗号方式と前記複数の暗号方式に基づいて前記情報を安全に扱うことができる。
1. 実施の形態1
本発明に係る1個の実施の形態としてのアップデートシステム10について説明する。
1.1 アップデートシステム10の構成
アップデートシステム10は、図1に示すようにホームサーバ装置100、携帯電話700、セキュリティ管理装置600及び放送局70から構成される。携帯電話700、セキュリティ管理装置600及び放送局70は、インターネット20に接続されている。また、耐タンパ性を有するメモリカード300は、ホームサーバ装置100及び携帯電話700に装着可能であり、携帯電話700を介してセキュリティ管理装置600と通信する。
ホームサーバ装置100にはDVD(Digital Versatile Disk)が装着される。このDVDには、暗号化コンテンツと暗号化コンテンツ鍵とが記録されている。暗号化コンテンツは、映像と音声からなるコンテンツを共通鍵暗号方式により暗号化したものであり、暗号化コンテンツ鍵は、前記暗号化コンテンツの生成に用いられたコンテンツ鍵を、ホームサーバ装置100に固有のデバイス鍵を用いて、共通鍵暗号方式に基づいて暗号化したものである。ここで用いられる共通鍵暗号方式は一例としてDES(Data Encryption Standard)暗号方式である。DES暗号方式については、公知の技術であるので説明を省略する。
ここで、暗号方式とは、暗号化及び復号のアルゴリズムと、そのアルゴリズムに基づいた演算処理に適した鍵とからなる。また、本発明における暗号方式は、例えば、楕円曲線上の離散対数問題の困難性、桁数の大きい合成数の素因数分解の困難性を安全性の根拠とする暗号基礎技術及び、これらの暗号基礎技術を用いた秘密通信、鍵共有、デジタル署名などの応用技術とを含む。本明細書では、説明の簡略化のため、「暗号化及び復号のアルゴリズム」を単に「暗号方式」と表現し、アルゴリズムに基づく演算処理に適した鍵を、単に鍵、暗号鍵、復号鍵などと表現する。
ホームサーバ装置100は、DES暗号方式により暗号化及び復号を行う機能を備えている。ホームサーバ装置100は、DVDから暗号化コンテンツ鍵を読み出し、読み出した暗号化コンテンツ鍵を、DES暗号方式に基づく復号処理を施し、コンテンツ鍵を生成する。
利用者の操作により、コンテンツの再生を指示されると、ホームサーバ装置100は、DVDから前記暗号化コンテンツを読み出し、読み出した暗号化コンテンツを生成したコンテンツ鍵を用いて、DES暗号方式に基づく復号処理を施し、コンテンツを生成する。ホームサーバ装置100は、パーソナルコンピュータといったコンテンツ再生機能を持つ外部装置と接続されており、生成した前記コンテンツを外部装置へ出力する。
また、ホームサーバ装置100は、メモリカード300を装着される。利用者の操作により、DVDに記憶されている暗号化コンテンツをメモリカード300へコピーすることを指示されると、公開鍵暗号方式を用いてメモリカード300と共通の鍵を共有し、SAC(Secure Authentication Channel)を確立する。
ここで用いられる共通鍵暗号方式は、一例として、RSA暗号方式などであり、ホームサーバ装置100は、RSA暗号方式により暗号化及び復号を行う機能を備えている。RSA暗号方式については、公知の技術であるので説明を省略する。
次に、生成した鍵を用いて、DES暗号方式に従う暗号方式プログラムによりコンテンツ鍵を暗号化し、暗号化コンテンツ鍵を生成する。次に、DVDから暗号化コンテンツを読み出し、読み出した暗号化コンテンツと生成した暗号化コンテンツ鍵とをメモリカード300に書き込む。
メモリカード300は、DES暗号方式に基づく暗号化方式プログラムと復号方式プログラム及びRSA暗号方式に基づく暗号化方式プログラムと復号方式プログラムとを記憶している。
ホームサーバ装置100から、暗号化コンテンツ鍵と暗号化コンテンツを受け取ると、暗号化コンテンツ鍵をDES暗号方式に基づく復号方式プログラムにより復号し、コンテンツ鍵を生成する。
メモリカード300が、携帯電話700に装着された状態で、利用者の操作によりコンテンツの再生を指示されると、メモリカード300は、DES暗号方式に基づく復号方式プログラムの示す手順に従って、コンテンツ鍵とコンテンツを生成し、生成したコンテンツを、携帯電話700に出力する。
上記のようにして、共通鍵暗号方式と公開鍵暗号方式とを併用して、ホームサーバ装置100は、DVDからコンテンツを取得し、メモリカード300との間で安全にコンテンツの送受信を行う。
また、放送局70は、映像、音声からなるコンテンツ及び各種情報を放送波に乗せて送信する。
ここで、不正な利用者がDES鍵暗号方式又はRSA鍵暗号方式を解析し、解読方法が発見された場合を想定する。
セキュリティ管理装置600は、解読方法が発見され安全性に問題が発生した暗号方式に変わる新しい暗号方式に基づくプログラムを記憶している。
セキュリティ管理装置600は、前記新しい暗号方式に基づくプログラムのうちホームサーバ装置100用のプログラムをインターネット20を介して放送局70へ送信する。
放送局70は、受信したホームサーバ装置100用のプログラムを放送波に載せて送信する。
メモリカード300は、セキュリティ管理装置600に、自身が使用しているDES暗号方式及びRSA暗号方式が解読されているか否かを問い合わせ、前記暗号化方式のいずれかが解読されている場合には、暗号化方式の更新の開始を要求する。
DES暗号方式が解読された場合、ホームサーバ装置100は、放送局70からホームサーバ装置100用の新しい共通鍵暗号方式のプログラムを受信し、受信したプログラムを基に自身の備える共通鍵暗号方式を更新する。
メモリカード300は、セキュリティ管理装置600からインターネットを介して、メモリカード用の新しい共通鍵暗号方式のプログラム及び新しい共通鍵暗号方式に対応したデバイス鍵を取得し、取得したデバイス鍵をホームサーバ装置100に安全に転送する。
RSA暗号方式が解読された場合、ホームサーバ装置100は、放送局70からホームサーバ装置100用の新しい公開鍵暗号方式のプログラムを取得し、取得したプログラムを基に自身の備える共通鍵暗号方式を更新する。
メモリカード300は、セキュリティ管理装置600から新しい暗号方式のプログラム、秘密鍵と秘密鍵と対になる公開鍵の公開鍵証明書を取得し、取得した新しい秘密鍵と公開鍵証明書とをホームサーバ装置100に転送し、安全な通信路を再構築する。
1.2 DVD500a及びDVD500b
DVD500a及び500bは、ホームサーバ装置100に装着される可搬型の光ディスク媒体である。
DVD500aは、暗号方式プログラムEnc1により暗号化された情報を記憶している。暗号方式プログラムEnc1は、一例としてDES暗号方式に従う暗号化演算手順を含むプログラムである。DVD500bは、DES暗号方式が解読された後に作成、発売されたものであり、暗号方式プログラムEnc2により暗号化された情報を記憶している。暗号化方式プログラムEnc2は、一例としてラインデール暗号方式に従う暗号化演算手順を含むプログラムである。
DVD500aには、図2に示すように、鍵ファイル510aとコンテンツファイル515aとが記録されている。鍵ファイル510aは、暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aと方式識別子512a「E_1」とを含んでいる。
暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aは、デバイス鍵Dev_1を用いて暗号化方式プログラムEnc1に示す手順にしたがってコンテンツ鍵KEYaを暗号化して生成されたものである。
デバイス鍵とは、機器に固有の鍵値である。そのため、暗号化コンテンツ鍵は、DVD500aの読み取り可能な機器の数だけ存在することになるが、ここでは、説明を容易にするため、ホームサーバ装置100に固有のデバイス鍵で復号可能な暗号化コンテンツ鍵が記憶されているものとする。DVD500bについても同様である。
方式識別子512a「E_1」は、暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aの生成に用いられた暗号化方式プログラムEnc1の暗号方式を示す識別子であり、ここでは、一例としてDES暗号方式を示す。
本明細書において、鍵Aを用いて、方式識別子「E_1」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEnc1(A,C)と表現する。
コンテンツファイル515aは、暗号化コンテンツEnc1(KEYa,Cona) 516aと方式識別子517a「E_1」とを含んでいる。暗号化コンテンツEnc1(KEYa,Cona) 516aは、一例として映画などの映像コンテンツConaを、コンテンツ鍵KEYaを用いて暗号方式プログラムEnc1の示す手順に従って暗号化したものである。方式識別子517a「E_1」は、暗号化コンテンツEnc1(KEYa,Cona) 516aの生成に用いられた暗号化方式プログラムEnc1の暗号方式を示す識別子である。
DVD500bには、図2に示すように、鍵ファイル510bとコンテンツファイル515bとが記録されている。鍵ファイル510bは、暗号化コンテンツ鍵Enc2(Dev_2,KEYb) 511bと方式識別子512b「E_2」とを含んでいる。
暗号化コンテンツ鍵Enc2(Dev_2,KEYb) 511bは、デバイス鍵Dev_2を用いて暗号化方式プログラムEnc2に示す手順にしたがってコンテンツ鍵KEYbを暗号化して生成されたものである。方式識別子512b「E_2」は、暗号化コンテンツ鍵511bの生成に用いられた暗号化方式プログラムEnc2の暗号方式を示す識別子であり、一例としてラインデール暗号方式を示す。
本明細書において、鍵Aを用いて、方式識別子「E_2」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEnc2(A,C)と表現する。
コンテンツファイル515bは、暗号化コンテンツEnc2(KEYb,Conb) 516bと方式識別子517b「E_2」とを含んでいる。暗号化コンテンツEnc2(KEYb,Conb) 516bは、コンテンツConbを、コンテンツ鍵KEYbを用いて暗号方式プログラムEnc2の示す手順に従って暗号化したものである。方式識別子517b「E_2」は暗号化コンテンツEnc2(KEYb,Conb) 516bの生成に用いられた暗号化方式プログラムEnc2の暗号方式を示す識別子である。
1.3 セキュリティ管理装置600
セキュリティ管理装置600は、図3に示すように、送受信部601、認証部603、制御部607、情報記憶部610、表示部612および入力部613から構成される。
セキュリティ管理装置600は、具体的には図示されていないマイクロプロセッサ及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、セキュリティ管理装置600はその機能を果たす。
(1)情報記憶部610
情報記憶部610は、ハードディスクユニットから構成され、一例として、無効暗号方式一覧621、SD鍵リスト631、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルEII 661及びプログラムファイルPII 671を記憶している。
(A)無効暗号方式一覧621
無効暗号方式一覧621は、図4に示すように、複数の暗号方式情報622、623、624、625・・・から構成される。各暗号方式情報は、既に解読されている暗号方式と対応しており、方式識別子とプログラムファイル名とを含んでものと、方式識別子とプログラムファイル名とデバイス鍵とを含んでいるものがある。
方式識別子は、暗号方式を示す識別子であり、プログラムファイル名は、方式識別子の示す暗号方式に変わる新たな暗号方式に基づき、メモリカード300により実行される暗号方式プログラムを含むプログラムファイルのファイル名である。デバイス鍵は、方式識別子の示す暗号方式に変わる新たな暗号方式に対応したDVDに記憶される暗号化コンテンツ鍵の復号に用いられる鍵値である。
(B)SD鍵リスト631
SD鍵リスト631は、図5に示すように複数のSD鍵情報632、633・・・を記憶している。各SD鍵情報は、カードIDとSD鍵とを含んでおり、カードIDは、メモリカード固有の識別情報であり、SD鍵は、各メモリカードと緊急時に通信を行うためのメモリカード固有の鍵値である。ここで緊急時とは、公開鍵暗号方式を変更するときである。
(C)プログラムファイルEii 641
プログラムファイルEii 641は、図6に示すように、方式識別子642「E_2」、暗号部更新プログラム645及び復号部更新プログラム646を含む。方式識別子642「E_2」は、一例としてラインデール暗号方式を示す識別情報である。
暗号部更新プログラム645及び復号部更新プログラム646は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、ホームサーバ装置100の更新部106(後述する)により、実行される形式である。ここで、ハードウェア記述言語には、一例としてVHDL(VHSIC Hardware Description Language)を用いる。
暗号部更新プログラム645は、ホームサーバ装置100の暗号部108(後述する)を構成するFPGA(Field Programable Gate Array)を書き換え、方式識別子「E_1」及び「E_2」の示す暗号方式に基づき平文を暗号化する機能を備える回路を構築する手順を含んでいる。
復号部更新プログラム646は、ホームサーバ装置100の復号部109(後述する)を構成するFPGAを書き換え、方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に基づき暗号文を復号する機能を備える回路を構築する手順を含んでいる。
(D)プログラムファイルPii 651
プログラムファイルPii 651は図6に示すように、方式識別子652「P_2」と認証部更新プログラム655とを含んでいる。方式識別子652「P_2」は、一例として楕円暗号方式を示す識別情報である。
認証部更新プログラム655は、ハードウェア記述言語をコンパイルして生成された複数の機械語形式の命令から構成される。これらの機械語形式は、ホームサーバ装置100の更新部106により実行される形式である。認証部更新プログラム655は、ホームサーバ装置100の認証部103を構成するFPGAを書き換え、方式識別子「P_2」の示す暗号方式を用いてSAC確立(後述する)を行う機能を備える回路を構築する手順を含んでいる。
(E)プログラムファイルEII 661
プログラムファイルEII 661は、図7に示すように、暗号化制御プログラムOE2 662、復号制御プログラムOD2 663、暗号化アプリプログラムAE2 664、復号アプリプログラムAD2 665、方式識別子666「E_2」、暗号化方式プログラムEnc2 667、復号方式プログラムDec2 668及び鍵長669「128」から構成される。
暗号化制御プログラムOE2 662は、暗号化の手順を含むプログラムであり、暗号化アプリプログラムAE2 664は、平文を適切な長さごとに読み出し暗号化方式プログラムEnc2 667に演算を指示するプログラムである。暗号化方式プログラムEnc2 667は、暗号化演算の手順を含むプログラムである。
復号制御プログラムOD2 663は復号処理の手順を含むプログラムであり、復号アプリプログラムAD2 665は、暗号文を適切な長さごとに読み出し、復号方式プログラムDec2 668に読み出した暗号文の演算を指示するプログラムである。復号方式プログラムDec2 668は、暗号化方式プログラムEnc2により暗号化された暗号文を復号する演算手順を含むプログラムである。
方式識別子666「E_2」は、暗号化方式プログラムEnc2 667及び復号方式プログラムDec2 668の基になる暗号方式を示す識別子であり、一例としてラインデール暗号方式を示す。鍵長669「128」は、暗号化方式プログラムEnc2 667及び復号方式プログラムDec2 668に示す手順により暗号化又は復号を行う際に必要となる鍵値のビット長を示している。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の暗号部308(後述する)、復号部309(後述する)により実行される形式である。
暗号化制御プログラムOE2 662、暗号化アプリプログラムAE2 664及び暗号化方式プログラムEnc2 667は、メモリカード300の暗号部308により用いられ、復号制御プログラムOD2 663、復号アプリプログラムAD2 665及び復号方式プログラムDec2 668は、メモリカード300の復号部309により用いられる。
以下において、上記の各コンピュータプログラムの内容を説明するが、各コンピュータプログラムの内容の理解を容易にするために、機械語形式の命令を用いた表現ではなく、フローチャートにより各コンピュータプログラムを表現し、フローチャートを用いて、各コンピュータプログラムを説明する。
(暗号化制御プログラムOE2 662)
暗号化制御プログラムOE2による暗号化処理を図8に示すフローチャートを用いて説明する。
暗号化制御プログラムOE2は、鍵と平文を読み出す(ステップS131)。ここで、暗号化制御プログラムOE2が読み出す鍵と平文の組み合わせは、一例として、緊急鍵K_EMRと秘密鍵SK_L2の組み合わせと、緊急鍵K_EMRと公開鍵証明書Cert_L2の組み合わせである。
次に、読み出した鍵を暗号鍵として出力し、暗号化アプリプログラムAE2に平文の暗号化を指示する(ステップS132)。暗号化アプリプログラムAE2により暗号文が生成され、生成された暗号文を受け取る(ステップS133)。次に、プログラムメモリ311から方式識別子346「E_2」を読み出し(ステップS136)、暗号文と読み出した方式識別子346「E_2」とを出力する(ステップS137)。
(暗号化アプリプログラムAE2 664)
暗号化アプリプログラムAE2について、図9に示すフローチャートを用いて説明する。
暗号化アプリプログラムAE2は、暗号鍵と、平文の暗号化の指示を受け取る(ステップS140)。次に、プログラムメモリ311から鍵長349「128」を読み出し(ステップS141)、次に、受け取った暗号鍵の鍵長を検出する(ステップS142)。検出した鍵長と読み出した鍵長349「128」を比較し(ステップS143)、検出した鍵長が128ビットであると判断すると(ステップS143のYES)、そのままステップS146へ処理を移す。検出した鍵長が128ビットでないと判断すると(ステップS143のNO)、受け取った暗号鍵の先頭から128ビットを抽出し、これを暗号鍵とする(ステップS144)。
次に、平文を128ビットのブロックごとに読み出し(ステップS146)、暗号鍵と読み出したブロックとを出力し、暗号化方式プログラムEnc2に出力したブロックの暗号化演算を指示する(ステップS147)。
次に、暗号化アプリプログラムAE2は、暗号化方式プログラムEnc2から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS148)、次に、平文を構成するブロックのうち、暗号化されていないブロックが存在するか否かを判断し(ステップS149)、暗号化されていないブロックが存在すれば(ステップS149のNO)、ステップS146に戻り、ステップS146からステップS149を繰り返し、暗号文を生成する。全てのブロックを暗号化し終わっていれば(ステップS149のYES)、生成した暗号文を出力して処理を終了する。
(復号制御プログラムOD2 663)
復号制御プログラムOD2について、図10のフローチャートを用いて説明する。
復号制御プログラムOD2は、鍵と暗号文と暗号文の生成に用いられた暗号方式を示す方式識別子とを受け取る(ステップS201)。ここで、復号制御プログラムOD2が受け取る鍵と暗号文の組み合わせは、一例として、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)の組み合わせ、SD鍵Kmiと暗号化デバイス鍵Enc1(Kmi,Dev_2)の組み合わせなどである。
次に、受け取った方式識別子を判定し(ステップS202)、方式識別子が「E_1」であると判断すると(ステップS202)、方式識別子「E_1」により示される復号方式プログラムDec1がプログラムメモリ311内に存在するか否かを判断し(ステップS207)、存在しないと判断すると、ステップS215へ処理を移す。
方式識別子「E_1」により示される復号方式プログラムDec1がプログラムメモリ311内に存在すると判断すると(ステップS207のYES)、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD1に暗号文の復号を指示する(ステップS208)。次に、復号アプリプログラムAD1から復号文を受け取り(ステップS209)、受け取った復号文を出力し、処理を終了する(ステップS216)。暗号化アプリプログラムAD1については後述する。
方式識別子が「E_2」であると判断すると(ステップS202)、次に、方式識別子「E_2」により示される復号方式プログラムDec2がプログラムメモリ311内に存在するか否かを判断し(ステップS211)、存在しないと判断すると、ステップS215へ処理を移す。
方式識別子「E_2」により示される復号方式プログラムDec2がプログラムメモリ311内に存在すると判断すると(ステップS211のYES)、復号制御プログラムOD2は、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD2に暗号文の復号を指示する(ステップS212)。次に、復号アプリプログラムAD2から復号文を受け取り(ステップS213)、ステップS216へ処理を移す。
方式識別子が、その他であると判断すると(ステップS202)、暗号文の復号ができないことを示すエラー信号を出力し(ステップS215)、処理を終了する。
(復号アプリプログラムAD2 665)
復号アプリプログラムAD2について、図11に示すフローチャートを用いて説明する。
復号アプリプログラムAD2は、復号鍵と暗号文の復号の指示を受け取り(ステップS230)、プログラムメモリ311から鍵長349「128」を読み出し(ステップS231)、受け取った鍵の鍵長を検出する(ステップS232)。検出した鍵長と読み出した鍵長349「128」とを比較し(ステップS233)、128ビットであると判断すると(ステップS233のYES)、そのままステップS236へ処理を移す。検出した鍵長が128ビットでないと判断すると(ステップS233のNO)、受け取った復号鍵の先頭から128ビットを抽出し、これを復号鍵とする(ステップS234)。
次に、暗号文を128ビットのブロックごとに読み出し(ステップS236)、復号鍵と読み出したブロックとを出力し、復号方式プログラムDec2に出力したブロックの復号演算を指示する(ステップS237)。
次に、復号方式プログラムDec2から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS238)。次に、暗号文を構成するブロックのうち、全てのブロックを復号し終わっているか否かを判断し(ステップS239)、復号していないブロックが存在すれば(ステップS239のNO)、ステップS236に戻りステップS236からステップS239の処理を繰り返し、復号文を生成する。全てのブロックを復号し終わっていれば(ステップS239のYES)、生成した復号文を出力し処理を終了する。
(D)プログラムファイルPII 671
プログラムファイルPII 671は、図7に示すように、暗号化アプリプログラムAPE2 673、復号アプリプログラムAPD2 674、方式識別子675「P_2」、暗号化方式プログラムPec2 676及び復号方式プログラムPdc2 677から構成される。
暗号化アプリプログラムAPE2 673は、平文を適切な長さごとに読み出し、暗号化方式プログラムPec2 676に読み出した平文の暗号化の演算を指示するプログラムである。暗号化方式プログラムPec2 676は、方式識別子675「P_2」の示す暗号方式に基づく暗号化の演算手順を含むプログラムである。方式識別子675「P_2」は、一例として、楕円曲線暗号方式を示す識別子である。
復号アプリプログラムAPD2 674は、暗号文を適切な長さごとに読み出し、復号方式プログラムPdc2 677に復号の演算を指示するプログラムである。復号方式プログラムPdc2 657は、暗号化方式プログラム「Pec2」により暗号化された暗号文を復号する演算手順を含むプログラムである。なお、楕円曲線暗号方式は、公知の技術であるので説明を省略する。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の認証部303(後述する)より実行される形式である。
以下において、上記の各コンピュータプログラムの内容を説明するが、各コンピュータプログラムの内容の理解を容易にするために、機械語形式の命令を用いた表現ではなく、フローチャートにより各コンピュータプログラムを表現し、フローチャートを用いて、各コンピュータプログラムを説明する。
(暗号化アプリプログラムAPE2 673)
暗号化アプリプログラムAPE2は、後述するSAC制御プログラムにより呼び出されるプログラムである。図12に示すフローチャートを用いて暗号化アプリプログラムAPE2について説明する。
SAC制御プログラムから暗号鍵と平文の暗号化の指示を受け取る(ステップS241)。次に、平文を160ビットのブロックごとに読み出し(ステップS242)、読み出したブロックと暗号鍵とを出力し、暗号化方式プログラムPec2に出力したブロックの暗号化演算を指示する(ステップS243)。次に暗号化方式プログラムPec2から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS244)。次に、平文を構成するブロックを全て暗号化し終わったか否かを判断し(ステップS245)、暗号化していないブロックが存在すれば(ステップS245のNO)、ステップS242に戻って、ステップS242からステップS245の処理を繰り返し、暗号文を生成する。暗号化していないブロックが存在しなければ(ステップS245のYES)、生成した暗号文を出力し、SAC制御プログラムへ処理を移す。
(復号アプリプログラムAPD2 674)
復号アプリプログラムAPD2は、後述するSAC制御プログラムにより呼び出されるプログラムである。図13に示すフローチャートを用いて復号アプリプログラムAPD2について説明する。
SAC制御プログラムから、復号鍵と暗号文の復号の指示とを受け取る(ステップS251)。次に、暗号文を160ビットのブロックごとに読み出す(ステップS252)。次に、受け取った復号鍵と読み出したブロックとを出力し、復号方式プログラムPdc2に出力したブロックの復号演算を指示する(ステップS253)。次に、復号アプリプログラムAPD2は、復号方式プログラムPdc2から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS254)。次に、暗号文を構成するブロックのうち、復号していないブロックが存在するか否かを判断し(ステップS255)、復号していないブロックが存在すると判断すると(ステップS255のNO)、ステップS252に戻り、ステップS252からステップS255までの処理を繰り返し、復号文を生成する。復号していないブロックが存在しないと判断すると(ステップS255のYES)、生成した復号文を出力し、SAC制御プログラムへ処理を移す。
(2)送受信部601
送受信部601は、インターネット20と接続されており、インターネット20に接続されている外部装置と制御部607又は認証部603との間で、情報の送受信を行う。ここで、前記外部装置は、具体的には、携帯電話700及び携帯電話700に装着されたメモリカード300である。
(3)認証部603
認証部603は、セキュリティ管理装置600が外部装置と通信を行うに先だって、外部装置との間に共通のセッション鍵を共有し安全な通信路SAC(Secure Authentication Channel)を確立する。
(4)制御部607
方式識別子「E_1」の示す暗号方式が解読された場合、制御部607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルEii 641をインターネット20を介して放送局70へ送信する。
方式識別子「P_1」の示す暗号方式が解読された場合、制御部607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルPii 671をインターネット20を介して放送局70へ送信する。
また、制御部607は、定期的に認証局から最新のCRL(Certificate Revocation List)を取得し、取得したCRLをインターネット20を介して、放送局70へ送信する。認証局及びCRLについては、後述する。
また、制御部607は、インターネット20及び送受信部601を介してメモリカード300からメモリカード300の使用している暗号方式を示す方式識別子を受信し、受信した方式識別子の示す暗号方式の安全性の確認要求を受け付ける。
メモリカード300から、メモリカード300の使用している暗号方式を示す方式識別子「E_1」と方式識別子「P_1」と方式識別子「E_1」及び方式識別子「P_1」の示す暗号方式の安全性の確認を受け取ると、無効暗号方式一覧621内で受信した方式識別子「E_1」及び「P_1」を含む暗号方式情報を検索する。検索の結果、方式識別子「E_1」、方式識別子「P_1」ともに検出された場合、以下の(i)の処理を行う。方式識別子「E_1」のみ検出された場合、以下の(ii)の処理を行う。方式識別子「P_1」のみ検出された場合、以下の(iii)の処理を行う。方式識別子「E_1」、方式識別子「P_1」ともに検出されなかった場合、以下の(iv)の処理を行う。
以下に(i)〜(iv)の詳細を説明する。
(i)方式識別子「E_1」、方式識別子「P_1」ともに検出された場合
制御部607は、緊急画面データを生成し、送受信部601を介して、生成した緊急画面データをメモリカード300に送信する。図14は、緊急画面データから生成される画面の一例である。
(ii)方式識別子「E_1」のみ検出された場合
制御部607は、以下の
(ii−a)プログラムファイルの送信
(ii−b)デバイス鍵の送信
の手順で方式識別子「E_1」の示す暗号方式の更新処理をする。
以下に(ii−a)と(ii−b)とを説明する。
(ii−a)プログラムファイルの送信
制御部607は、送受信部601を介して、メモリカード300に、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、メモリカード300に生成した更新指示命令を送信する。
次に、メモリカード300から、方式識別子「E_1」と更新開始要求を受信する。
制御部607は、情報記憶部610内の無効暗号方式一覧621から受信した方式識別子「E_1」を含む暗号方式情報623を選択し、選択した暗号方式情報623に含まれるプログラムファイル名を基に、プログラムファイルEII 661を読み出し、送受信部601を介して、読み出したプログラムファイルEII 661をホームサーバ装置100に送信する。
(ii−b)デバイス鍵の送信
次に、制御部607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Kcを受け取ると、受け取ったセッション鍵Kcの先頭から128ビットを抽出し、これを共通鍵K_E2Cとする。
次に、無効暗号方式一覧621内で、メモリカード300から受け取った方式識別子「E_1」を含む暗号方式情報623を選択し、選択した暗号方式情報623からデバイス鍵Dev_2を抽出し、共通鍵K_E2Cを用いて、抽出したデバイス鍵Dev_2を方式識別子「E_2」の示す暗号方式により暗号化し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)を生成する。次に、送受信部601を介して、生成した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と、暗号化デバイス鍵の生成に用いた暗号方式を示す方式識別子「E_2」とをメモリカード300に送信する。
(iii)方式識別子「P_1」のみ検出された場合
制御部607は、以下の
(iii−a)プログラムファイルの送信
(iii−b)鍵の生成及び公開鍵証明書の送信
の手順で「P_1」の示す暗号方式の更新をする。
以下に(iii−a)と(iii−b)とについて説明する。
(iii−a)プログラムファイルの送信
制御部607は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、メモリカード300に生成した更新指示命令を送信する。
次に、制御部607は、メモリカード300から、方式識別子「P_1」と更新開始要求を受信し、情報記憶部610内の無効暗号方式一覧621から方式識別子「P_1」を含む暗号方式情報615を選択し、選択した暗号方式情報615に含まれるプログラムファイル名を基に、プログラムファイルPII 671を読み出し、送受信部601を介して、読み出したプログラムファイルPII 671をメモリカード300に送信する。
(iii−b)鍵の生成及び公開鍵証明書の送信
次に、制御部607は、秘密鍵SK_X2と公開鍵PK_X2の鍵ペアと、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアとを生成し、生成した公開鍵PK_X2及び公開鍵PK_L2の公開鍵証明書Cert_X2と公開鍵証明書Cert_L2とを認証局から取得する。これらの公開鍵証明書は、公開鍵証明書に固有に割り当てられるID番号、公開鍵証明書により証明される公開鍵の鍵値、発行元である認証局による署名データを含んでいる。
これらの鍵ペアは、方式識別子「P_2」で示される暗号方式による暗号化及び復号に用いられる鍵である。方式識別子「P_2」で示される暗号方式は、一例として楕円曲線暗号方式であり、前記鍵ペアの生成方法は、公知であるのでここでは説明をしない。
次に、制御部607は、送受信部601を介してメモリカード300にカードIDを要求する。メモリカード300からカードID「I5000D」を受信すると、受信したカードID「I5000D」を基に、SD鍵リスト631からSD鍵情報632を選択し、選択したSD鍵情報632に含まれるSD鍵Kmiを読み出す。
次に、読み出したSD鍵Kmiを用いて、前記の秘密鍵及び公開鍵証明書を方式識別子「E_1」の示す暗号方式により暗号化し、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を生成する。この際、SD鍵Kmiのビット長が、方式識別子「E_1」の示す暗号方式に適した鍵長56ビットより大きい場合、先頭から56ビットを抽出したものを用いて暗号化する。
次に、送受信部601を介して、生成した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)をメモリカード300へ送信する。
(iv)方式識別子「E_1」、方式識別子「P_1」ともに検出されなかった場合
制御部607は、方式識別子「E_1」の示す暗号方式と方式識別子「P_1」の示す暗号方式とがいずれも安全であることを示す安全通知信号を生成し、送受信部601を介して、生成した安全通知信号をメモリカード300に送信する。
(5)入力部613及び表示部612
入力部613は、セキュリティ管理装置600の操作者による情報又は指示の入力を受け付け、受け付けた情報及び指示を制御部607へ出力する。
表示部612は、制御部607の指示により各種画面を表示する。
1.4 放送局70
放送局70は、インターネット20を介して、セキュリティ管理装置600からCRL、プログラムEii又はプログラムファイルPiiを受信する。
放送局70は、増幅器、変調機、アンテナなどを備え、受信したCRL、プログラムEii又はプログラムファイルPiiを放送波に変換して送信する。
1.5 ホームサーバ装置100
ホームサーバ装置100は、図15に示すように、受信部101、入出力部102、認証部103、更新部106、制御部107、暗号部108、復号部109、記憶部110、表示部112、入力部113、アンテナ114及び入出力部115から構成される。
ホームサーバ装置100は、具体的には図示していないマイクロプロセッサ、RAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、ハードディスク及び記憶部110には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ホームサーバ装置100は、その機能を達成する。
また、ホームサーバ装置100には、DVD500a又は500b及びメモリカード300が装着される。
(1)受信部101及びアンテナ114
送受信部101及びアンテナ114は、放送波を介して、放送局70から送信された情報を受信する。
受信部101は、増幅器、復調機などから構成され、アンテナ114が受信した放送波を増幅し、復調する。
(2)入出力部102及び入出力部115
メモリカード300が装着されると、入出力部102は、メモリカード検出を示すカード検出信号を制御部107へ出力する。
また、入出力部102は、認証部103、更新部106及び制御部107の制御により、メモリカード300へ情報の書き込み及びメモリカード300から情報の読み出しを行う。
入出力部115は、DVD500a又はDVD500bが装着されると、DVD検出を示すディスク検出御信号を制御部107へ出力する。
また、入出力部115は、制御部107の指示により、DVD500a又は500bに記録されている情報の読み出しを行う。
(3)記憶部110
記憶部110は、ハードディスクユニットから構成され、一例として図16に示すように、デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、緊急鍵リスト124、CRL129、第1更新フラグ181、第2更新フラグ182、方式識別子183「E_1」及び方式識別子184「P_1」を記憶している。
公開鍵証明書Cert_L1 123は、秘密鍵SK_L1 122と対になる公開鍵を証明するものであり、ID番号、公開鍵の鍵値及び認証局による署名データを含んでいる。認証局による署名データは、秘密鍵SK_L1 122と対になる公開鍵に、認証局の秘密鍵を用いて、署名生成アルゴリズムSを施して生成したものである。ここで、認証局は、第三者機関であり、アップデートシステム10に属する各機器の公開鍵の正当性を証明する公開鍵証明書を発行する機関である。なお、署名生成アルゴリズムSは一例として、有限体上のElgamal署名である。Elgamal署名については、公知であるので説明を省略する。
緊急鍵リスト124は、複数の緊急鍵情報125、126・・・から構成され、各緊急鍵情報は、カードIDと緊急鍵を含む。カードIDは、ホームサーバ装置100に装着されるメモリカードを識別する各メモリカード固有の情報であり、緊急鍵はカードIDにより識別されるメモリカードと緊急時に通信する場合に使用される暗号鍵値である。ここで、前記緊急時とは、ホームサーバ装置100とメモリカード300との通信に用いられている公開鍵暗号方式を変更するときである。
CRL129は、公開鍵証明書の発行元である認証局により作成され、失効した公開鍵証明書のID番号を含む。
第1更新フラグ181は、共通鍵暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値であり、「0」は、暗号部108及び復号部109の更新は完了しているが、新しいデバイス鍵は、未だ取得していないことを示す。「1」は、暗号部108と復号部109の更新及び新しいデバイス鍵の取得が完了していることを示す。
第2更新フラグ182は、公開鍵暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値であり、「0」は、認証部103の更新は完了しているが、新しい秘密鍵と公開鍵証明書は、未だ取得していないことを示す。「1」は、認証部103の更新及び新しい秘密鍵と公開鍵証明書の取得が完了していることを示す。暗号部108、復号部109及び認証部103の更新については、後述する。)
方式識別子183「E_1」及び方式識別子184「P_1」は、それぞれホームサーバ装置100が備えている共通鍵暗号方式及び公開鍵暗号方式を示す識別子である。
(6)制御部107
制御部107は、入出力部102からカード検出信号を受け取り、入出力部115からディスク検出信号を受け取る。また、アンテナ114及び受信部101を介して、CRLを受信する。
制御部107は、CRLの更新、緊急鍵の生成、コンテンツの再生又はコピーを行う。
以下に、これらの処理について説明する。
(i)CRLの更新
制御部107は、受信部101及びアンテナ114を介して、放送局70から最新のCRLを取得すると、記憶部110のCRL129を取得した最新のCRLに書き換える。
(ii)緊急鍵の生成
制御部107は、入出力部102からカード検出信号を受け取ると、入出力部102を介してメモリカード300に、カードIDを要求し、入出力部102を介して、メモリカード300からカードID「I5000D」を受信する。
カードID「I5000D」を受信すると、記憶部110に記憶されている緊急鍵リスト124内で受信したカードID「I5000D」を検索し、緊急鍵リスト124に受信したカードID「I5000D」が記憶されていると判断すると、緊急鍵の生成処理を終了する。
緊急鍵リスト124に受信したカードID「I5000D」が記憶されていないと判断すると、256ビット長の乱数を生成し、生成した乱数と、受け取ったカードID「I5000D」に含まれるアルファベットに対応する文字コード及び数字の各桁を4ビットの2進数に変換して32ビットのIDコードを生成し、48ビットの現在日時情報を取得し、生成した乱数の先頭から16ビットずつ、IDコードの先頭の2ビットずつ、現在日時情報を先頭から3ビットずつ交互に並べて結合し、336ビット長の緊急鍵K_EMRを生成する。
次に、認証部103にSAC確立を指示する。認証部103によりSACが確立されセッション鍵Kaを受け取ると、受け取ったセッション鍵Kaを暗号鍵として出力し、生成した緊急鍵K_EMRを平文として出力し、暗号部108へ平文の暗号化を指示する。暗号部108から、暗号文として、暗号化緊急鍵Enc1(K_E1A,K_EMR)と暗号化に用いた暗号方式を示す方式識別子「E_1」とを受け取ると、入出力部102を介して、受け取った暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」とをメモリカード300に送信する。
次に、受け取ったカードID「I5000D」と生成した緊急鍵K_EMR とを含む緊急鍵情報とを緊急鍵リスト124に追加して書き込む。
(iii)コンテンツの再生又はコピー
以下に、ホームサーバ装置100にDVD500aが装着された場合についてのみ説明するが、DVD500bが装着された場合も同様であるので、説明を省略する。
制御部107は、入出力部115からディスク検出信号を受け取ると、入出力部115を介してDVD500aから鍵ファイル510aを読み出す。読み出した鍵ファイル510aから方式識別子512a「E_1」と暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aとを抽出し、記憶部110からデバイス鍵Dev_1 121を読み出し、抽出した方式識別子512a「E_1」を出力し、暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aを暗号文として出力し、読み出したデバイス鍵Dev_1 121を復号鍵として出力し、復号部109に暗号文の復号を指示する。
復号部109から、暗号文の復号ができないことを示すエラー信号を受け取ると、DVD500aの内容が読み取れないことを表示するエラー画面を生成し、生成したエラー画面を表示部112に出力する。
エラー信号を受け取らない場合、復号部109から、復号文として、コンテンツ鍵KEYaを受け取り、受け取ったコンテンツ鍵KEYaを記憶部110に書き込む。
次に、入力部113から、利用者によるボタン操作に対応した操作指示情報を受け取る。
入力部113から、コンテンツの再生を示す操作指示情報を受け取ると、制御部107は、DVD500aからコンテンツファイル515aを読み出す。次に、読み出したコンテンツファイル515aから、暗号化コンテンツEnc1(KEYa,Cona) 516aと方式識別子517a「E_1」とを抽出し、記憶部110からコンテンツ鍵KEYaを読み出し、抽出した暗号化コンテンツEnc1(KEYa,Cona) 516aを暗号文として出力し、読み出したコンテンツ鍵KEYaを復号鍵として出力し、方式識別子517a「E_1」を出力して、復号部109へ暗号文の復号を指示する。
復号部109から、暗号文の復号ができないことを示すエラー信号を受け取ると、DVD500aの内容が読み取れないことを示すエラー画面を生成し、生成したエラー画面を表示部112へ出力する。
復号部109が正常に復号処理を行い、復号部109から、コンテンツConaを受け取ると、受け取ったコンテンツConaをパーソナルコンピュータ50へ出力する。
また、入力部113からコンテンツのコピーを示す操作指示情報を受け取ると、制御部107は、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し、入出力部102を介して、読み出した方式識別子517a「E_1」をメモリカード300へ送信し、方式識別子「E_1」の示す暗号方式により生成された暗号文の復号が可能であるか否かを問い合わせる。入出力部102を介してメモリカード300から、方式識別子「E_1」の示す復号方式プログラムの有無を示す判定結果を受け取る。受け取った判定結果が「0」であれば、メモリカード300へのコピーができないことを示すエラー画面を生成し、生成したエラー画面を表示部112へ出力する。
メモリカード300から受け取った判定結果が「1」であれば、DVD500aからコンテンツファイル515aを読み出す。次に認証部103へSAC確立を指示し、認証部103によりSACが確立され、認証部103からセッション鍵Kbを受け取る。制御部107は、記憶部110からコンテンツ鍵KEYaを読み出し、読み出したコンテンツ鍵KEYaを平文として出力し、受け取ったセッション鍵Kbを暗号鍵として出力し、暗号部108へ平文の暗号化を指示する。
暗号部108から暗号文として、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の生成に用いた暗号方式を示す方式識別子「E_1」とを受け取り、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」と読み出したコンテンツファイル515aとを入出力部102を介してメモリカード300へ出力する。
また、入力部113を介してその他の処理を示す操作指示情報を受け取ると、その他の処理を行う。
(6)更新部106
更新部106は、FPGA書き込み装置を備える(FPGAについては後述する)。
更新部106は、受信部101を介して、放送局70からプログラムファイルEii又はPiiを受信する。
更新部106は、プログラムファイルEiiを受信すると、共通鍵暗号方式の更新を開始し、プログラムファイルPiiを受信すると公開鍵暗号方式の更新を開始する。以下に、これらの処理を説明する。
(i)共通鍵暗号方式の更新
更新部106は、プログラムファイルEiiを受信すると、
(i−a)暗号部108及び復号部109の更新
(i−b)デバイス鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(i−a)及び(i−b)について説明する。
(i−a)暗号部108及び復号部109の更新
更新部106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出し、抽出した方式識別子「E_2」を、記憶部110内で検索する。記憶部110に、方式識別子「E_2」が存在すれば、(i−b)へ処理を移す。
記憶部110内に方式識別子「E_2」が存在しなければ、受信した方式識別子「P_2」を記憶部110に書き込む。
次に、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し、抽出した暗号部更新プログラムに示される手順に従って、暗号部108を構成するFPGAを書き換え、方式識別子「E_2」の示す暗号方式に従う暗号化の機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLB(Configuration Logic Block)を、これらのCLB上に任意の論理関数回路を生成し、生成した論理関数回路を各CLB間に存在する結線リソースにより結線することにより回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した暗号部更新プログラムを書き込む。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し、抽出した復号部更新プログラムに示される手順に従って、復号部109を構成するFPGAを書き換え、方式識別子「E_1」及び「E_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、記憶部110の第1更新フラグ181を「0」に設定する。
(i−b)デバイス鍵の取得
次に、ホームサーバ装置100にメモリカード300が装着された状態で、メモリカード300から第1更新フラグの要求を受け付けると、更新部106は、記憶部110から更新フラグ181「0」を読み出し、読み出した第1更新フラグ181「0」を、入出力部102を介してメモリカード300へ送信する。
次に、メモリカード300から公開鍵証明書Cert_X1を受け取ると、受け取った公開鍵証明書Cert_X1を出力し認証部103にSAC確立を指示する。
次に、認証部103によりSACが確立され、セッション鍵Kd’を受け取り、入出力部102を介して、メモリカード300から暗号化デバイス鍵Enc2(K_E2D,Dev_2)と方式識別子「E_2」とを受け取る。受け取った方式識別子「E_2」を出力し、受け取った暗号化デバイス鍵Enc2(K_E2D,Dev_2)を暗号文として出力し、セッション鍵Kd’を復号鍵として出力し、復号部109へ暗号文の復号を指示する。復号部109から復号文としてデバイス鍵Dev_2を受け取ると、受け取ったデバイス鍵Dev_2を、記憶部110に書き込む。
次に、更新部106は、記憶部110の第1更新フラグ181を「1」に設定する。これにより、共通鍵暗号方式の更新処理を完了する。
以降、メモリカード300から第1更新フラグの要求を受信すると、記憶部110から第1更新フラグ181「1」を読み出し、メモリカード300へ読み出した第1更新フラグ181「1」を送信する。
(ii)公開鍵暗号方式の更新
受信部101を介して、プログラムファイルPiiを受信すると、
(ii−a)認証部103の更新
(ii−b)秘密鍵及び公開鍵証明書取得
の手順で共通鍵暗号方式の更新を行う。以下に、(ii−a)と(ii−b)について説明する。
(ii−a)認証部103の更新
更新部106は、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し、記憶部110内で方式識別子「P_2」を検索する。記憶部110に方式識別子「P_2」が存在すると判断すると、(ii−b)へ処理を移す。
記憶部110に方式識別子「P_2」が存在しないと判断すると、受信した方式識別子「P_2」を記憶部110に書き込み、記憶部110から方式識別子184「P_1」を削除する。
次に、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し、抽出した認証部更新プログラムに示す手順に従って認証部103を構成するFPGAを書き換え、方式識別子「P_2」を用いたSAC確立を実行する機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLBを、これらのCLB間に存在する結線リソースにより結線し、回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した認証部更新プログラムを書き込む。
次に、記憶部110の第2更新フラグ182を「0」に設定する。
(ii−b)秘密鍵及び公開鍵証明書の取得
次に、ホームサーバ装置100にメモリカード300が装着された状態で、入出力部102を介して、メモリカード300から、第2更新フラグの要求を受け付けると、更新部106は、記憶部110から第2更新フラグ182「0」を読み出し、読み出した第2更新フラグ182「0」を、入出力部102を介してメモリカード300へ送信する。
メモリカード300から、カードID「I5000D」と暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とを受け取ると、受け取ったカードID「I5000D」を基に記憶部110に記憶されている緊急鍵リスト124から緊急鍵情報125を選択し、選択した緊急鍵情報125に含まれる緊急鍵K_EMRを読み出す。次に、読み出した緊急鍵K_EMRと受け取った暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子E_1を復号部109へ出力し、緊急鍵K_EMRを復号鍵として暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)の復号を指示する。更新部106は、復号部109から、秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部110に書き込む。次に、秘密鍵SK_L1 122と公開鍵証明書Cert_L1 123とを記憶部110から削除する。
次に、記憶部110の第2更新フラグを「1」に設定する。これにより、公開鍵暗号方式の更新を完了する。
以降、メモリカード300から、第2更新フラグの要求を受け付けると、記憶部110から第2更新フラグ182「1」をメモリカード300へ送信する。
(7)暗号部108
暗号部108は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。FPGAは、アレイ状に配置された多数のCLBとCLB間に配置された配線リソース及び接続スイッチから構成される。各CLBは、ファンクションジェネレータとフリップフロップ回路から構成され、任意の論理関数を生成できる回路を備えている。コンフィグROMは、EEPROMを備えており、このEEPROMに、FPGA上に回路を構築するためのプログラムを記憶しており、ホームサーバ装置100に電源供給が開始されると、このEEPROMに記憶されているプログラムをFPGAにコンフィグレーションする。
暗号部108は、FPGA上に方式識別子「E_1」の示す暗号方式に基づき暗号化処理する機能を備えている。また、更新部106により共通鍵暗号方式の更新が行われると、FPGA上に方式識別子「E_2」の示す暗号方式に基づき暗号化処理を行う機能を備える。
暗号部108は、制御部107から暗号鍵を出力され、平文の暗号化の処理を指示受け取る。ここで、暗号部108が、制御部107から受け取る暗号鍵及び平文の組み合わせは、一例としてセッション鍵Kaと緊急鍵K_EMRの組み合わせ、セッション鍵Kbとコンテンツ鍵KEYaの組み合わせなどである。
以下に、共通鍵暗号方式の更新前後の暗号部108の行う処理について、それぞれ説明する。
(i)共通鍵暗号方式の更新前
暗号部108は、制御部107から暗号鍵と平文の暗号化の指示を受け取る。
次に、受け取った暗号鍵の鍵長を検出し、検出した鍵長が54ビットであるか否かを判断する。検出した鍵長が54ビットでないと判断すると、受け取った暗号鍵の先頭から54ビット抽出し、これを暗号鍵とする。検出した鍵長が54ビットであれば、上記の暗号鍵の抽出を省略する。
次に、暗号部108は、平文を64ビット長のブロックごとに読み出し、読み出したブロックに暗号鍵を用いて、方式識別子「E_1」の示す暗号方式に基づく暗号化の演算を施し、暗号化ブロックを生成する。生成した暗号化ブロックを記憶部110へ書き込む。
以下、平文を構成する全てのブロックを暗号化し終わるまで、ブロックの読み出し、暗号化、暗号化ブロックの書き込みの処理を繰り返して、暗号文を生成する。
全てのブロックを暗号化し終えると、生成した暗号文と暗号化に使用した暗号方式を示す方式識別子「E_1」とを出力する。
(ii)共通鍵暗号方式の更新後
暗号部108は、制御部107から暗号鍵と平文の暗号化の指示を受け取る。
次に、受け取った暗号鍵の鍵長を検出し、検出した鍵長が128ビットであるか否かを判断する。検出した鍵長が128ビットでないと判断すると、受け取った暗号鍵の先頭から128ビット抽出し、これを暗号鍵とする。検出した鍵長が128ビットであれば、上記の暗号鍵の抽出を省略する。
次に、暗号部108は、平文を128ビット長のブロックごとに読み出し、読み出したブロックに暗号鍵を用いて、方式識別子「E_2」の示す暗号方式に基づく暗号化の演算を施し、暗号化ブロックを生成する。生成した暗号化ブロックを記憶部110へ書き込む。
以下、平文を構成する全てのブロックを暗号化し終わるまで、ブロックの読み出し、暗号化、書き込みの処理を繰り返し、暗号文を生成する。
全てのブロックを暗号化し終えると、生成した暗号文と暗号化に使用した暗号方式を示す方式識別子「E_2」とを出力する。
(8)復号部109
復号部109は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。
復号部109は、FPGA上に方式識別子「E_1」の示す暗号方式に基づき復号の処理を行う機能を備えている。また、更新部106により共通鍵暗号方式の更新が行われると、FPGA上に方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に基づき復号処理を行う機能を備える。
復号部109は、制御部107又は更新部106から復号鍵と暗号文の生成に用いられた暗号方式を示す方式識別子とを受け取り、暗号文の復号の指示を受け取る。
ここで、復号部109が、制御部107から受け取る復号鍵と暗号文の組み合わせは、一例として、デバイス鍵Dev_1と暗号化コンテンツ鍵Enc1(Dev_1,KEYa)との組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)との組み合わせ、デバイス鍵Dev_2と暗号化コンテンツ鍵Enc2(Dev_2,KEYb)の組み合わせ及びコンテンツ鍵KEYbと暗号化コンテンツEnc2(KEYb,Conb)との組み合わせである。
また、復号部109が更新部106から受け取る復号鍵と暗号文の組み合わせは、一例として、セッション鍵Kd’と暗号化デバイス鍵Enc2(K_E2D,Dev_2)との組み合わせ、緊急鍵K_EMRと暗号化秘密鍵Enc1(K_EMR,SK_L2)との組み合わせ及び緊急鍵K_EMRと暗号化公開鍵証明書Enc(K_EMR,Cert_L2)との組み合わせである。
以下に、共通鍵暗号方式の更新前後の復号部109の行う処理について、それぞれ説明する。
(i)共通鍵暗号方式の更新前
復号部109は、復号鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子と暗号文の復号の指示を受け取り、受け取った方式識別子を識別する。
受け取った方式識別子が「E_1」以外であると判断すると、暗号文の復号ができないことを示すエラー信号を出力する。
受け取った方式識別子が「E_1」であると判断すると、復号部109は、受け取った復号鍵の鍵長を検出し、検出した鍵長が54ビットであるか否かを判断する。検出した鍵長が、54ビットでないと判断すると、受け取った復号鍵の先頭から54ビットを抽出し、これを復号鍵とする。検出した鍵長が54ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、復号部109は、暗号文を64ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「E_1」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。
全てのブロックを復号し終えると、生成した復号文を出力する。
(ii)共通鍵暗号方式の更新後
復号部109は、復号鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子と暗号文の復号の指示を受け取り、受け取った方式識別子を識別する。
受け取った方式識別子が「E_1」及び方式識別子「E_2」以外であると判断すると、暗号文の復号ができないことを示すエラー信号を出力する。
受け取った方式識別子が「E_1」であると判断すると、上記の(i)と同様にして、復号鍵の抽出、方式識別子「E_1」の示す暗号方式に基づく復号処理及び復号文の出力を行う。
受け取った方式識別子が「E_2」であると判断すると、復号部109は、受け取った復号鍵の鍵長を検出し、検出した鍵長が128ビットであるか否かを判断する。検出した鍵長が、128ビットでないと判断すると、受け取った復号鍵の先頭から128ビットを抽出し、これを復号鍵とする。検出した鍵長が128ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、暗号文を128ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「E_2」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。
全てのブロックを復号し終えると、生成した復号文を出力する。
(9)認証部103
認証部103は、暗号部108及び復号部109と同様にFPGA素子により構成される。
認証部103は、FPGA上に方式識別子「P_1」の示す暗号方式を用いてSACを確立する機能を備えている。また、更新部106により公開鍵暗号方式の更新が行われると、FPGA上に方式識別子「P_2」の示す暗号方式を用いてSAC確立を行う機能を備える。
認証部103は、制御部107又は更新部106からSAC確立の指示又は、相手機器の公開鍵証明書と、SAC確立の指示を受け付ける。ここで、相手機器とは、メモリカード300である。
以下に、公開鍵暗号方式の更新前後の認証部103の行う処理について、それぞれ説明する。
(i)公開鍵暗号方式更新前
認証部103は、制御部107又は更新部106からSAC確立の指示のみを受け取ると、以下の(i−a)に示す処理を行い、制御部107又は更新部106からSAC確立の指示と相手機器の公開鍵証明書とを受け取ると、以下の(i−b)に示す処理を行いSACを確立する。(i−a)及び(i−b)について、以下に説明する。
なお、以下の説明において、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献1にディフィーへルマン型公開鍵配送方法が開示されている。
(i−a)認証部103は、記憶部110から公開鍵証明書Cert_L1 123を読み出し、読み出した公開鍵証明書Cert_L1 123を入出力部102を介して、メモリカード300に出力する。
次にメモリカード300から公開鍵証明書Cert_X1を受け取り、認証局の公開鍵PK_CAを用いて、受け取った公開鍵証明書Cert_X1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
署名検証アルゴリズムVは、署名生成アルゴリズムSにより生成された署名データを検証するアルゴリズムである。
検証結果が成功の場合、記憶部110からCRL129を読み出し、受け取った公開鍵証明書Cert_X1に含まれるID番号が読み出したCRL129に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。登録されていないと判断した場合、次の処理に移る。
次に、認証部103は、入出力部102を介して、メモリカード300から乱数Cha_Bを受信する。記憶部110から秘密鍵SK_L1 122を読み出し、受信した乱数Cha_Bを128ビットのブロックごとに読み出し、秘密鍵SK_L1を用いて、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。次に、生成した暗号化ブロックを記憶部110に書き込む。以降、乱数Cha_Bを構成する全てのブロックを暗号化するまで、ブロックの読み出し、暗号化演算、暗号化ブロックの書き込みを繰り返し、暗号文を生成する。
全てのブロックを暗号化し終わると、生成した暗号文を署名データSig_Aとして、入出力部102を介してメモリカード300に送信する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部102を介して、メモリカード300へ送信する。
次に、認証部103は、入出力部102を介してメモリカード300から署名データSig_Bを受信し、受信した署名データSig_Bを、128ビットのブロックごとに読み出し、受信した公開鍵証明書Cert_X1に含まれる公開鍵PK_X1を用いて、読み出したブロックに、方式識別子「P_1」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。次に、生成した復号ブロックを記憶部110に書き込む。以降、署名データSig_Bを構成する全てのブロックを復号し終わるまで、ブロックの読み出し、復号演算、復号ブロックの書き込みを繰り返し、復号文を生成する。
次に、認証部103は、生成した復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
生成した復号文と乱数Cha_Aとが一致すると、署名検証成功と判断し、次に、乱数「a」を生成する。生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成し、生成したKey_Aを、入出力部102を介してメモリカード300へ出力する。
次に、メモリカード300から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、生成したセッション鍵を、制御部107又は更新部106へ出力する。
(i−b) 認証部103は、受け取ったメモリカード300の公開鍵証明書Cert_X1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、記憶部110からCRL129を読み出し、受け取った公開鍵証明書Cert_X1に含まれるID番号が読み出したCRL129に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。
登録されていないと判断した場合、記憶部110から公開鍵証明書Cert_L1 123を読み出し、読み出した公開鍵証明書Cert_L1 123を入出力部102を介して、メモリカード300に出力する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部102を介して、メモリカード300へ出力する。
次に、メモリカード300から署名データSig_Bを受信すると、認証部103は、受信した署名データSig_Bを128ビットのブロックごとに読み出し、メモリカード300の公開鍵証明書Cert_X1に含まれる公開鍵PK_X1を用いて、読み出したブロックに、方式識別子「P_1」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。次に、生成した復号ブロックを記憶部110に書き込む。以降、署名データSig_Bを構成する全てのブロックを復号し終わるまで、ブロックの読み出し、復号演算、復号ブロックの書き込みを繰り返し、復号文を生成する。
次に、認証部103は、生成した復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
生成した復号文と乱数Cha_Aとが一致すると、署名検証成功と判断し、処理を続ける。
次に、入出力部102を介して、メモリカード300から乱数Cha_Bを受信する。記憶部110から秘密鍵SK_L1 122を読み出し、受信した乱数Cha_Bを128ビットのブロックごとに読み出し、読み出した秘密鍵SK_L1を用いて、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。次に、生成した暗号化ブロックを記憶部110に書き込む。以降、乱数Cha_Bを構成する全てのブロックを暗号化するまで、ブロックの読み出し、暗号化演算、暗号化ブロックの書き込みを繰り返し、暗号文を生成する。
全てのブロックを暗号化し終わると、生成した暗号文を署名データSig_Aとして、入出力部102を介してメモリカード300に送信する。
次に、メモリカード300から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取ると、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部102を介してメモリカード300へ出力する。
次に受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、生成したセッション鍵を制御部107又は更新部106へ出力する。
(i)公開鍵暗号方式更新後
公開鍵暗号方式更新後の認証部103の行う処理は、更新前とほぼ同一であるが、受信した署名データSig_Bを128ビットのブロックごとに読み出し、読み出したブロックを、方式識別子「P_1」の示す暗号方式に基づく復号演算を施す代わりに、受信した署名データSig_Bを160ビットのブロックごとに読み出し、読み出したブロックを、方式識別子「P_2」の示す暗号方式に基づく復号演算を施し、復号ブロックを生成する。
また、乱数Cha_Bを128ビットのブロックごとに読み出し、読み出したブロックに方式識別子「P_1」の示す暗号方式に基づく暗号化演算を施す代わりに、乱数Cha_Bを160ビットのブロックごとに読み出し、読み出したブロックに方式識別子「P_2」の示す暗号方式に基づく暗号化演算を施し、暗号化ブロックを生成する。その他の処理は、公開鍵暗号方式更新前と同一であるので説明を省略する。
1.6 メモリカード300
メモリカード300は、図17に示すように、入出力部302、認証部303、更新部306、制御部307、暗号部308、復号部309及び情報記憶部310から構成される。
メモリカード300は、一例として、ICチップを搭載したICメモリカードであり、機器認証、暗号処理などの機能を備える。これらの機能により、正当な機器以外からの、データの読み出し及び書き込みを受け付けない。ここで、正当な機器とは、ホームサーバ装置100及び携帯電話700である。
ICチップは、具体的には、マイクロプロセッサ、ROM、RAM、などから構成される。前記ROM及びRAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、メモリカード300は、その機能を達成する。
メモリカード300は、外部の装置に装着され、外部の装置から情報を受け取り、受け取った情報を内部に記憶し、又は内部から情報を読み出し、読み出した情報を外部の装置へ出力する。
ここで、前記外部の装置は、ホームサーバ装置100及び携帯電話700である。
(1)情報記憶部310
情報記憶部310は、セキュア領域320と一般領域312とから構成される。
セキュア領域320は、耐タンパ性を有し、図18に示すように、一例として秘密鍵SK_X1 322、カードID327「I5000D」、緊急鍵K_EMR 328及びSD鍵Kmi 330を記憶している。
秘密鍵SK_X1 322は、公開鍵暗号方式に用いられるメモリカード300の秘密鍵である。カードID327「I5000D」は、メモリカード300固有の識別番号である。
緊急鍵K_EMR 328は、公開鍵暗号方式が解明された場合に、ホームサーバ装置100との間で緊急通信を行うための鍵値である。これは、ホームサーバ装置100の記憶している緊急鍵リスト124に記憶されている緊急鍵K_EMRと同一のものである。
SD鍵Kmi 330は、メモリカード300の製造時に、生産メーカーにより設定されたメモリカード300に固有の鍵値である。これは、セキュリティ管理装置600の記憶しているSD鍵リスト631のSD鍵情報632に含まれるSD鍵Kmiと同一のものである。
一般領域312は、一例として、図17に示すように、公開鍵証明書Cert_X1 323、CRL329及びプログラムメモリ311を記憶している。
公開鍵証明書Cert_X1 323は、秘密鍵SK_X1 322と対になる公開鍵を証明する鍵証明書である。公開鍵証明書Cert_X1 323は、公開鍵証明書Cert_X1 323に固有のID番号と秘密鍵SK_X1と対になる公開鍵の鍵値と認証局の署名データとを含む。
CRL129は、認証局により作成及び配布されるものであり、無効になった公開鍵証明書のID番号を含む。
プログラムメモリ311は、一例として図19に示すように、暗号化制御プログラムOE1 331、復号制御プログラムOD1 332、暗号化アプリプログラムAE1 335、復号アプリプログラムAD1 336、方式識別子341「E_1」、暗号化方式プログラムEnc1 342、復号方式プログラムDec1 343、鍵長344「54」、SAC制御プログラム351、暗号化アプリプログラムAPE1 352、復号アプリプログラムAPD1 353、方式識別子355「P_1」、暗号化方式プログラムPec1 356及び復号方式プログラムPdc1 357を記憶している。
各コンピュータプログラムは、複数の機械語形式の命令から構成される。これらの機械語形式は、メモリカード300の暗号部308、復号部309及び認証部303により実行される形式である。
暗号化制御プログラムOE1 331、暗号化アプリプログラムAE1 335及び暗号化方式プログラムEnc1 342は、暗号部308により用いられる。
復号制御プログラムOD1 332、復号アプリプログラムAD1 336及び復号方式プログラムDec1 343は復号部309により用いられる。
SAC制御プログラム351、暗号化アプリプログラムAPE1 352、復号アプリプログラムAPD1 353、暗号化方式プログラムPec1 356及び復号方式プログラムPdc1 357は認証部303により用いられる。
各コンピュータプログラムの詳細は後述する。
方式識別子341「E_1」は、暗号化方式プログラムEnc1 342及び復号方式プログラムDec1 343の基になる暗号方式を示す識別子であり、一例としてDES暗号方式を示す。
方式識別子355「P_1」は、暗号化方式プログラムPen1 356及び復号方式プログラムPdc1 357の基になる暗号方式を示す識別子であり、一例としてRSA暗号方式を示す。
また、プログラムメモリ311は、更新部306により、共通鍵暗号方式の更新及び公開鍵暗号方式の更新が実行されると、その内容を書き換えられる。共通鍵暗号方式の更新及び公開鍵暗号方式の更新後のプログラムメモリ311は、図20に示すように、暗号化制御プログラムOE2 333、復号制御プログラムOD2 334、復号アプリプログラムAD1 336、暗号化アプリプログラムAE2 337、復号アプリプログラムAD2 338、方式識別子341「E_1」、復号方式プログラムDec1 343、鍵長344「54」、方式識別子346「E_2」、暗号化方式プログラムEnc2 347、復号方式プログラムDec2 348、鍵長349「128」、SAC制御プログラム351、暗号化アプリプログラムAPE2 362、復号アプリプログラムAPD2 363、方式識別子365「P_2」、暗号化方式プログラムPec2 366及び、復号方式プログラムPdc2 367を記憶している。
暗号化制御プログラムOE2 333、復号制御プログラムOD2 334、暗号化アプリプログラムAE2 337、復号アプリプログラムAD2 338、方式識別子346「E_2」、暗号化方式プログラムEnc2 347、復号方式プログラムDec2 348及び鍵長349「128」は、セキュリティ管理装置600に記憶されているプログラムファイルEII 661に含まれる暗号化制御プログラムOE2、復号制御プログラムOD2、暗号化アプリプログラムAE2、復号アプリプログラムAD2、方式識別子「E_2」、暗号化方式プログラムEnc2、復号方式プログラムDec2及び鍵長「128」と同一であるので、説明を省略する。
暗号化アプリプログラムAPE2 362、復号アプリプログラムAPD2 363、方式識別子365「P_2」、暗号化方式プログラムPec2 366及び、復号方式プログラムPdc2 367は、セキュリティ管理装置600の記憶しているプログラムファイルPII 671に含まれる暗号化アプリプログラムAPE2、復号アプリプログラムAPD2、方式識別子「P_2」、暗号化方式プログラムPec2及び復号方式プログラムPdc2と同一であるので説明を省略する。
以下に、上記のコンピュータプログラムの詳細について説明する。
(A)暗号化制御プログラムOE1 331
暗号化制御プログラムOE1 331について、図21に示すフローチャートを用いて説明する。
暗号化制御プログラムOE1は、鍵と平文を読み出す(ステップS101)。
ここで、暗号化制御プログラムOE1が読み出す鍵と平文の組み合わせは、一例として、セッション鍵Kdとデバイス鍵Dev_2との組み合わせ、緊急鍵K_EMRと秘密鍵SK_L2との組み合わせ、緊急鍵K_EMRと公開鍵証明書Cert_L2との組み合わせなどである。
次に、読み出した鍵を暗号鍵として出力し、暗号化アプリプログラムAE1に平文の暗号化を指示する(ステップS102)。
次に、暗号化アプリプログラムAE1から暗号文を受け取る(ステップS103)。次に、プログラムメモリ311から方式識別子141「E_1」を読み出し(ステップS106)、暗号文と読み出した方式識別子141「E_1」とを出力する(ステップS107)。
(B)暗号化アプリプログラムAE1 335
暗号化アプリプログラムAE1について、図22に示すフローチャートを用いて説明する。
暗号化アプリプログラムAE1は、暗号鍵と、平文の暗号化の指示を受け取る(ステップS110)。次に、プログラムメモリ311から、鍵長144「54」を読み出し(ステップS111)、受け取った暗号鍵の鍵長を検出する(ステップS112)。次に、検出した鍵長が54ビットであるか否かを判断し(ステップS113)、54ビットであれば、そのままステップS115へ処理を移す。検出した鍵長が54ビットでなければ(ステップS113のNO)、受け取った暗号鍵の先頭から54ビット抽出し、暗号鍵とする(ステップS114)。次に、平文を64bビット長のブロックごとに読み出す(ステップS115)。次に、暗号鍵をと読み出したブロックとを出力し、暗号化方式プログラムEnc1に出力したブロックの暗号化演算を指示する(ステップS116)。暗号化方式プログラムEnc1から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS117)。次に、平文を構成するブロック全てを暗号化し終わっているか否かを判断し(ステップS118)、まだ暗号化していないブロックが存在すると判断すると(ステップS118のNO)、ステップS115に戻ってステップS115からステップS118の処理を繰り返し、暗号文を生成する。既に全てのブロックを暗号化し終わっていると判断すると(ステップS118のYES)、生成した暗号文を出力し、処理を終了する。
(C)復号制御プログラムOD1 132
復号制御プログラムOD1 132について、図23のフローチャートを用いて説明する。
復号制御プログラム132は、鍵と暗号文と暗号文の生成に使われた暗号化方式を示す方式識別子とを受け取る(ステップS161)。ここで、復号制御プログラム132が読み出す鍵と暗号文の組み合わせは、一例として、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)との組み合わせ、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)との組み合わせ、セッション鍵Kc’と暗号化デバイス鍵Enc2(K_E2C,Dev_2)との組み合わせなどである。
次に、受け取った方式識別子を判別し(ステップS162)、受け取った方式識別子が「E_1」であると判断すると(ステップS162)、方式識別子「E_1」の示す暗号方式に基づく復号方式プログラムDec1が、プログラムメモリ311内に存在するか否かを判断し(ステップS169)、存在しないと判断すると(ステップS169のNO)、ステップS174へ処理を移す。方式識別子「E_1」の示す暗号方式に基づく復号方式プログラムDec1が、プログラムメモリ311内に存在すると判断すると(ステップS169のYES)、次に、受け取った鍵を復号鍵として出力し、復号アプリプログラムAD1に暗号文の復号を指示する(ステップS170)。
次に、復号アプリプログラムAD1へ処理を移し、復号アプリプログラムAD1から復号文を受け取る(ステップS171)。次に、受け取った復号文を出力し(ステップS173)、処理を終了する。
方式識別子が「E_1」以外であると判断すると(ステップS162)、エラー信号を出力し(ステップS174)、処理を終了する。
(D)復号アプリプログラムAD1 336
復号アプリプログラムAD1について、図24のフローチャートを用いて説明する。
復号アプリプログラムAD1は、復号鍵と暗号文の復号の指示を受け取り(ステップS180)、プログラムメモリ311から、鍵長344「54」を読み出し(ステップS181)、次に、受け取った復号鍵の鍵長を検出する(ステップS182)。
検出した鍵長が54ビットであるか否かを判断する(ステップS183)。検出した鍵長が54ビットであれば(ステップS183のYES)、そのまま、ステップS186へ処理を移す。検出した鍵長が、54ビットでないと判断すると(ステップS183のNO)、受け取った復号鍵の先頭から54ビットを抽出し、復号鍵とする(ステップS184)。
次に、暗号文を64ビット長のブロックごとに読み出し(ステップS186)、
復号鍵と読み出したブロックとを出力し、復号方式プログラムDec1に出力したブロックの復号演算を指示する(ステップS187)。
次に、復号方式プログラムDec1から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS188)。次に、暗号文を構成するブロックのうち、全てのブロックを復号し終わっているか否かを判断し(ステップS189)、復号していないブロックが存在すれば(ステップS189のNO)、ステップS186に戻りステップS186からステップS189を繰り返し、復号文を生成する。全てのブロックを復号し終わっていれば(ステップS189のYES)、生成した復号文を出力し処理を終了する。
(E)SAC制御プログラム 351
は、SACを確立する相手機器の公開鍵証明書を受信済みであるか否かを判断し、相手機器の公開鍵証明書を受信していないと判断すると、以下の(E−1)のようにしてSACを確立する。相手機器の公開鍵証明書を受信していると判断すると、以下の(E−2)のようにしてSACを確立する。ここでは、相手側機器がホームサーバ装置100である場合について説明する。
なお、以下の説明において、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献1にディフィーへルマン型公開鍵配送方法が開示されている。
以下に(E−1)及び(E−2)の詳細を説明する。
(E−1) ホームサーバ装置100の公開鍵証明書を受信していないと判断すると、SAC制御プログラムは、情報記憶部310から公開鍵証明書Cert_X1 323を読み出し、読み出した公開鍵証明書Cert_X1 323を入出力部302を介して、ホームサーバ装置100に出力する。
次に、ホームサーバ装置100から公開鍵証明書Cert_L1を受け取り、認証局の公開鍵PK_CAを用いて、受け取った公開鍵証明書Cert_L1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、情報記憶部310からCRL329を読み出し、受け取った公開鍵証明書Cert_L1に含まれるID番号が読み出したCRL329に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。登録されていないと判断した場合、次の処理に移る。
次に、入出力部302を介して、ホームサーバ装置100から乱数Cha_Bを受信する。情報記憶部310から秘密鍵SK_X1 322を読み出し、読み出した秘密鍵SK_X1 322を暗号鍵として出力し、受信した乱数Cha_Bを平文として出力し、暗号化アプリプログラムに暗号化を指示する。
次に、暗号化アプリプログラムから暗号文を受け取り、受け取った暗号文を署名データSig_Aとして、入出力部302を介してホームサーバ装置100に送信する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部302を介して、ホームサーバ装置100へ送信する。
次に、入出力部302を介してホームサーバ装置100から署名データSig_Bを受信し、受信した署名データSig_Bを暗号文として出力し、受信した公開鍵証明書Cert_L1に含まれる公開鍵を復号鍵として出力し、復号アプリプログラムに復号を指示する。
次に、復号アプリプログラムから復号文を受け取り、受け取った復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。
受け取った復号文と乱数Cha_Aとが一致すると、署名検証成功と判断する。
次に、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部302を介してホームサーバ装置100へ出力する。
次に、ホームサーバ装置100から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し、処理を終了する。
(E−2) SAC制御プログラムは、ホームサーバ装置100の公開鍵証明書Cert_L1を受信していると判断すると、受信した公開鍵証明書Cert_L1に含まれる認証局による署名Sig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、処理を終了する。
検証結果が成功の場合、情報記憶部310からCRL329を読み出し、受け取った公開鍵証明書Cert_L1に含まれるID番号が読み出したCRL329に登録されているか否かを判断する。登録されていると判断すると、処理を終了する。
登録されていないと判断した場合、情報記憶部310から公開鍵証明書Cert_X1 323を読み出し、読み出した公開鍵証明書Cert_X1 323を入出力部302を介して、ホームサーバ装置100に出力する。
次に、乱数Cha_Aを生成し、生成した乱数Cha_Aを入出力部302を介して、ホームサーバ装置100へ出力する。
次に、ホームサーバ装置100から署名データSig_Bを受信すると、受信した署名データSig_Bを暗号文として出力し、受信した公開鍵証明書Cert_L1に含まれる公開鍵を復号鍵として出力し、復号アプリプログラムに暗号文の復号を指示する。
次に、復号アプリプログラムから復号文を受け取り、受け取った復号文と生成した乱数Cha_Aとを比較し、一致しなければ、署名検証失敗と判断し、処理を終了する。受け取った復号文と生成した乱数Cha_Aとが一致すると、署名検証成功と判断し、処理を続ける。
次に、入出力部302を介して、ホームサーバ装置100から乱数Cha_Bを受信する。情報記憶部310から秘密鍵SK_X1 322を読み出し、読み出した秘密鍵SK_X1 322を暗号鍵として出力し、受信した乱数Cha_Bを平文として出力し、暗号化アプリプログラムに平文の暗号化を指示する。
次に、SAC制御プログラムは、暗号化アプリプログラムから暗号文を受け取り、受け取った暗号文を署名データSig_Aとしてホームサーバ装置100に出力する。
次に、ホームサーバ装置100から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。SAC制御プログラムは、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、入出力部302を介してホームサーバ装置100へ出力する。
次に、受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成し処理を終了する。
(F)暗号化アプリプログラムAPE1 352による暗号化処理
暗号化アプリプログラムAPE1について、図25に示すフローチャートを用いて説明する。
暗号化アプリプログラムAPE1は、暗号鍵と平文の暗号化の指示とを受け取る(ステップS261)。次に、平文を128ビットのブロックごとに読み出し(ステップS262)、読み出したブロックと暗号鍵とを出力し、暗号化方式プログラムPec1にブロックの暗号化演算を指示する(ステップS263)。次に、暗号化方式プログラムPec1から暗号化ブロックを受け取り、受け取った暗号化ブロックを情報記憶部310に書き込む(ステップS264)。次に、平文を構成するブロックすべてを暗号化し終わったか否かを判断し(ステップS265)、暗号化していないブロックが存在すれば(ステップS265のNO)、ステップS262に戻って、ステップS262からステップS265の処理を繰り返し、暗号文を生成する。読み出していないブロックが存在しなければ(ステップS265のYES)、生成した暗号文を出力し処理を終了する。
(G)復号アプリプログラムAPD1 353による復号処理
復号アプリプログラムAPD1について、図26を用いて説明する。
復号アプリプログラムAPD1は、復号鍵と暗号文の復号の指示とを受け取る(ステップS271)。次に、暗号文を128ビット長のブロックごとに読み出し(ステップS272)、受け取った復号鍵と読み出したブロックとを出力し、復号方式プログラムPdc1にブロックの復号演算を指示する(ステップS273)。次に、復号アプリプログラムAPD1は、復号方式プログラムPdc1から復号ブロックを受け取り、受け取った復号ブロックを情報記憶部310に書き込む(ステップS274)。
次に、暗号文を構成する全てのブロックを復号し終わったか否かを判断し(ステップS275)、復号し終わっていないブロックが存在すると判断すると(ステップS275のNO)、ステップS272に戻り、ステップS272からステップS275の処理を繰り返して復号文を生成する。
暗号文を構成する全てのブロックを読み出し終わっていると判断すると(ステップS275)、生成した復号文を出力し処理を終了する。
(2)入出力部302
入出力部302は、制御部307及び更新部306と外部装置の間で情報の送受信を行う。
また、携帯電話700へメモリカード300が装着されたことを検出し、携帯検出信号を制御部307へ出力する。ホームサーバ装置100へメモリカード300が装着されたことを検出すると、HS検出信号を更新部306へ出力する。
(3)制御部307
制御部307は、メモリカード300がホームサーバ装置100に装着された状態で、入出力部302を介して、ホームサーバ装置100からカードIDの要求を受け取る。
また、ホームサーバ装置100から、方式識別子を受信し、受信した暗号方式により生成された暗号文の復号が可能であるか否かの問合せを受け付ける。
メモリカード300が携帯電話700に装着された状態で、入出力部302から携帯検出信号を受け取る。また、入出力部302を介して、携帯電話700からコンテンツの出力要求を受け取る。
制御部307は、緊急鍵の生成、CRLの更新、更新部306への暗号化方式の更新処理の開始の指示、コンテンツの受信及びコンテンツの出力を行う。以下に、これらの処理の説明をする。
(i)緊急鍵の生成
メモリカード300が、ホームサーバ装置100に装着された状態で、ホームサーバ装置100からカードIDの要求を受信すると、制御部307は、情報記憶部310からカードID327「I5000D」を読み出し、入出力部302を介して、読み出したカードIDをホームサーバ装置100へ送信する。
次に、制御部307は、ホームサーバ装置100から公開鍵証明書Cert_L1を受信し、受信した公開鍵証明書Cert_L1を認証部303へ出力し、SAC確立を指示する。認証部303によるSAC確立が完了すると、認証部303からセッション鍵Ka’を受け取る。
次に、入出力部302を介して、ホームサーバ装置100から暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」とを受信すると、制御部307は、受信した暗号化緊急鍵Enc1(K_E1A,K_EMR)と方式識別子「E_1」と受け取ったセッション鍵Ka’とを復号部309に出力し、暗号化緊急鍵Enc1(K_E1A,K_EMR)の復号を指示する。
復号部309から緊急鍵K_EMRを受け取り、受け取った緊急鍵K_EMRを情報記憶部310のセキュア領域320へ書き込む。
(ii)CRLの更新
入出力部302から、携帯検出信号を受け取ると、制御部307は、入出力部302、携帯電話700及びインターネット20を介して認証局より、最新のCRLを取得し、情報記憶部310のCRL329を取得した最新のCRLに書き換える。
(iii)更新部306への暗号方式更新の開始の指示
制御部307は、上記の(ii)のようにしてCRLの更新が終了すると、更新部306へ暗号方式の更新の開始を指示する。
(iv)コンテンツの受信
入出力部302を介して、ホームサーバ装置100から方式識別子「E_1」を受信し、受信した暗号方式「E_1」により生成された暗号文の復号が可能であるか否かの問合せを受け取ると、制御部307は、プログラムメモリ311内で、受信した方式識別子「E_1」の示す暗号方式の復号方式プログラムDec1の有無を確認する。
復号方式プログラムDec1がプログラムメモリ311に記憶されていると判断すると判定結果「1」を生成する。復号方式プログラムDec1がプログラムメモリ311に記憶されていないと判断すると、判定結果「0」を生成する。次に、入出力部302を介して、生成した判定結果をホームサーバ装置100へ送信する。
次に、ホームサーバ装置100から公開鍵証明書Cert_L1を受信すると、制御部307は、受信した公開鍵証明書Cert_L1を認証部303へ出力し、SAC確立を指示する。認証部303によるSAC確立が完了し、認証部303からセッション鍵Kb’を受け取る。
次に、ホームサーバ装置100から、コンテンツファイルと暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とを受信し、受信したコンテンツファイルを一般領域312へ書き込む。次に、制御部307は、受信した暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」と認証部から受け取ったセッション鍵Kb’とを復号部309に出力し、セッション鍵Kb’を鍵として暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の復号を指示する。復号部309から、コンテンツ鍵KEYaを受け取ると、受け取ったコンテンツ鍵KEYaをセキュア領域320へ書き込む。
(v)コンテンツの出力
メモリカード300が携帯電話700に装着された状態で、携帯電話700からコンテンツの出力要求を受信すると、制御部307は、セキュア領域320からコンテンツ鍵KEYaを読み出し、一般領域312に記憶されているコンテンツファイルから暗号化コンテンツEnc1(KEYa,Cona)と方式識別子「E_1」とを読み出し、読み出したコンテンツ鍵KEYaと暗号化コンテンツEnc1(KEYa,Cona)と方式識別子「E_1」とを復号部309へ出力し、暗号化コンテンツEnc1(KEYa,Cona)の復号を指示する。
復号部309により生成されたコンテンツConaを受け取ると、制御部307は、受け取ったコンテンツConaを入出力部302を介して携帯電話700へ出力する。
具体的には、映像及び音声からなるコンテンツConaのように容量の大きな情報を出力する場合、復号部309は、暗号文を順次復号し復号文を生成し、制御部307は、生成された復号文を順次携帯電話700へ出力する。
(4)更新部306
更新部106は、制御部307から、暗号方式更新の開始の指示を受け取る。また、入出力部302からHS検出信号を受け取る。
制御部307から、暗号方式更新の開始の指示を受け取ると、プログラムメモリ311から方式識別子341「E_1」と方式識別子355「P_1」とを読み出し、入出力部302及び携帯電話700を介して、読み出した方式識別子341「E_1」と方式識別子355「P_1」とをセキュリティ管理装置600へ送信し、暗号方式の安全性の確認を要求する。
更新部306は、セキュリティ管理装置600から(i)緊急画面データ、(ii)安全通知信号、(iii)方式識別子「E_1」の示す暗号方式の更新命令又は(iv)方式識別子「P_1」の示す暗号方式の更新命令を受信する。更新部306は、それぞれの場合において、以下に説明するような処理を行う。
なお、ホームサーバ装置100はインターネット20に常時接続されており頻繁に、上述したような暗号方式の更新処理を行っているため、メモリカード300よりも先に新しい共通鍵暗号方式のプログラム導入及び新しい公開鍵暗号方式のプログラム導入を終えているものとする。
(i)緊急画面データの場合
携帯電話700を介して、セキュリティ管理装置600から、緊急画面データを受信すると、更新部306は、受信した緊急画面データを、携帯電話700に出力し緊急画面の表示を要求する。
(ii)安全通知信号の場合
携帯電話700を介してセキュリティ管理装置600から安全通知信号を受信すると、更新部306は、メモリカード300自身の記憶している暗号方式が安全であると判断し、暗号方式の更新処理を終了する。
(iii)方式識別子「E_1」の示す暗号方式の更新命令の場合
携帯電話700を介して、セキュリティ管理装置600から方式識別子「E_1」の示す暗号方式の更新命令を受信すると、更新部306は、プログラムメモリ311から、方式識別子341「E_1」を読み出し、入出力部302を介して読み出した方式識別子341「E_1」をセキュリティ管理装置600へ送信し、更新開始を要求する。
次に、携帯電話700を介して、セキュリティ管理装置600からプログラムファイルEIIを受信すると、更新部306は、受信したプログラムファイルEIIから暗号化制御プログラムOE2と復号制御プログラムOD2とを抽出し、抽出した暗号化制御プログラムOE2と復号制御プログラムOD2とをインストールする。次にプログラムメモリ311から暗号化制御プログラムOE1 331と復号制御プログラムOD1 332とを削除する。
次に、受信したプログラムファイルEIIから、暗号化アプリプログラムAE2と復号アプリプログラムAD2とを抽出しインストールし、プログラムメモリ311から暗号化アプリプログラムAE1 335を削除する。
次に、更新部106は、受信したプログラムファイルEIIから暗号化方式プログラムEnc2と復号方式プログラムDec2とを抽出し、抽出した暗号化方式プログラムEnc2と復号方式プログラムDec2とをインストールし、プログラムメモリ311から暗号化方式プログラムEnc1 342を削除する。
次に、受信したプログラムファイルEIIから方式識別子「E_2」と鍵長「128」とを抽出し、抽出した方式識別子「E_2」と鍵長「128」とをプログラムメモリ311に書き込む。
次に、携帯電話700を介して、セキュリティ管理装置600から、セキュリティ管理装置600の公開鍵証明書を受信すると、更新部306は、受信した公開鍵証明書を認証部303へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部306は、認証部303からセッション鍵Kc’を受け取る。
次に、携帯電話700を介して、セキュリティ管理装置600から、暗号化デバイス鍵Enc2(K_E2C,Dev_2)と方式識別子「E_2」とを受信する。更新部306は、受信した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と方式識別子「E_2」と認証部303から受け取ったセッション鍵Kc’とを、復号部309へ出力し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)の復号を指示する。
復号部309から、デバイス鍵Dev_2を受け取ると、受け取ったデバイス鍵Dev_2を、セキュア領域320へ書き込む。
次に、入出力部302を介して、入出力部302からHS検出信号を受け取ると、更新部106は、入出力部302を介してホームサーバ装置100に第1更新フラグを要求する。次に、ホームサーバ装置100から第1更新フラグを受信し、受信した第1更新フラグが「1」であると識別すると、更新部306は、デバイス鍵Dev_2の転送の必要がないと判断し、セキュア領域320に記憶しているデバイス鍵Dev_2を削除し、共通鍵暗号方式の更新処理を終了する。
受信した第1更新フラグが「0」であると識別すると、更新部306は、認証部303にSAC確立を指示する。認証部303によりSACが確立され、セッション鍵Kdを受け取ると、セキュア領域320からデバイス鍵Dev_2を読み出し、読み出したデバイス鍵Dev_2と、受け取ったセッション鍵Kdを暗号部308に出力し、デバイス鍵Dev_2の暗号化を指示する。
暗号部308から、暗号化デバイス鍵Enc2(K_E2D,Dev_2)と暗号化デバイス鍵Enc2(K_E2D,Dev_2)の生成に用いた暗号化方式を示す方式識別子「E_2」とを受け取ると、入出力部302を介して受け取った暗号化デバイス鍵Enc2(K_E2D,Dev_2)と方式識別子「E_2」とを、ホームサーバ装置100へ送信し、共通鍵暗号方式の更新処理を終了する。
(iv)方式識別子「P_1」の示す暗号方式の更新命令の場合
携帯電話700を介して、セキュリティ管理装置600から方式識別子「P_1」の示す暗号方式の変更命令を受信すると、更新部306は、プログラムメモリ311から方式識別子355「P_1」を読み出し、携帯電話700を介して、セキュリティ管理装置600へ読み出した方式識別子「P_1」を送信し、暗号方式の更新開始を要求する。
次に、携帯電話700を介して、セキュリティ管理装置600から、プログラムファイルPIIを受信する。更新部106は、受信したプログラムファイルPIIから暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とを抽出し、抽出した暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とをインストールする。次に、プログラムメモリ311から暗号化アプリプログラムAPE1 352と復号アプリプログラムAPD1 353とを削除することで、暗号化アプリプログラムAPD1と暗号化アプリプログラムAPD2とを入れ替え、復号アプリプログラムAPD1と復号アプリプログラムAPD2とを入れ替える。
次に、プログラムファイルPIIから暗号化方式プログラムPec2と復号方式プログラムPdc2とを抽出し、抽出した暗号化方式プログラムPec2と復号方式プログラムPdc2とをインストールする。次に、プログラムメモリ311から暗号化アプリプログラムAPE1 352と復号アプリプログラムAPD1 353とを削除する。
次に、更新部306は、受信したプログラムファイルPIIから方式識別子「P_2」を抽出し、抽出した方式識別子「P_2」をプログラムメモリ311に書き込み、プログラムメモリ311から方式識別子355「P_1」を削除する。
次に、携帯電話700を介して、セキュリティ管理装置600からカードIDの要求を受信すると、セキュア領域320からカードID327「I5000D」を読み出し、読み出したカードID327「I5000D」を携帯電話700を介して、セキュリティ管理装置600へ送信する。
次に、更新部306は、携帯電話700及び送受信部302を介して、セキュリティ管理装置600から暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)及び方式識別子「E_1」を受信する。セキュア領域から320からSD鍵Kmi 330を読み出し、読み出したSD鍵Kmi 330と受信した暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)及び方式識別子「E_1」とを復号部309へ出力し、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_X2)の復号を指示する。復号部309から秘密鍵SK_L2、秘密鍵SK_X2、公開鍵証明書Cert_L2及び公開鍵証明書Cert_X2を受け取ると、受け取った秘密鍵SK_L2と秘密鍵SK_X2とをセキュア領域320へ書き込み、受け取った公開鍵証明書Cert_L2と公開鍵証明書Cert_X2とを一般領域312へ書き込む。
次に、秘密鍵SK_X1 322と公開鍵証明書Cert_X1 323とを削除する。
次に、入出力部302からHS検出信号を受け取ると、更新部306は、入出力部302を介してホームサーバ装置100へ第2更新フラグを要求する。
ホームサーバ装置100から第2更新フラグを受け取り、受け取った第2更新フラグが「1」であると判断すると、秘密鍵SK_L2及び公開鍵証明書Cert_L2の転送の必要がないと判断し、情報記憶部310から秘密鍵SK_L2及び公開鍵証明書Cert_L2を削除する。
受信した第2更新フラグが「0」であると判断すると、セキュア領域320から緊急鍵K_EMR 328と秘密鍵SK_L2とを読み出し、一般領域312から公開鍵証明書Cert_L2を読み出す。次に、読み出した緊急鍵K_EMR 328と秘密鍵SK_L2と公開鍵証明書Cert_L2とを暗号部308へ出力し、秘密鍵SK_L2と公開鍵証明書Cert_L2の暗号化を指示する。
更新部306は、暗号部308から、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とを受け取り、入出力部302を介して、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とをホームサーバ装置100へ送信し、公開鍵暗号方式の更新処理を終了する。
(5)暗号部308
暗号部308は、更新部306から、緊急鍵K_EMRと秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、秘密鍵SK_L2と公開鍵証明書Cert_L2の暗号化を指示される。
更新部306の暗号化の指示を受け取ると、プログラムメモリ311から暗号化制御プログラムOE1 331を読み出し、暗号部308は、受け取った緊急鍵K_EMRを鍵として、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを平文して、暗号化制御プログラムOE1 331を実行する。具体的には、読み出した暗号化制御プログラムOE1 331から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以降、命令のフェッチ、解読、実行を繰り返すことにより、受け取った平文を暗号化し暗号文を生成する。
次に、生成した暗号文である暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と、暗号文の生成に用いた暗号方式を示す方式識別子「E_1」を更新部306へ出力する。
また、暗号部308は、更新部306による共通鍵暗号方式の更新後には、暗号化制御プログラムOE1 331に代わって、暗号化制御プログラムOE2 333を実行する。
(6)復号部309
復号部309は、制御部307から、セッション鍵Kb’と暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とを受け取り、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)の復号を指示され、コンテンツ鍵KEYaと暗号化コンテンツEnc1(KYEa,Cona)と方式識別子「E_1」とを受け取り、暗号化コンテンツEnc1(KYEa,Cona)の復号を指示される。
また、復号部309は、更新部306から、SD鍵Kmiと暗号化秘密鍵Enc1(Kmi,SK_L2)と暗号化秘密鍵Enc1(Kmi,SK_X2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と方式識別子「E_2」を受け取り、暗号化秘密鍵Enc1(Kmi,SK_L2)と暗号化秘密鍵Enc1(Kmi,SK_X2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と暗号化公開鍵証明書Enc1(Kmi,Cert_L2)の復号を指示される。
制御部307又は更新部306から復号の指示を受け取ると、復号部309は、プログラムメモリ311から、復号制御プログラムOD1 332又は復号制御プログラムOD2 334を読み出す。
ここで、復号部309は、更新部106による共通鍵暗号方式の更新の前には、復号制御プログラムOD1 332を読み出し、共通鍵暗号方式の更新の後には復号制御プログラムOD2 334を読み出す。
受け取ったセッション鍵Kb’、コンテンツ鍵KEYa及びSD鍵Kmiを鍵として、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)、暗号化コンテンツEnc1(KYEa,Cona)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を暗号文として、復号制御プログラムOD1 332又は復号制御プログラムOD2 334を実行し、復号文を生成する。具体的には、読み出した復号制御プログラムOD1 332又は復号制御プログラムOD2 334から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以降命令のフェッチ、解読、実行を繰り返すことにより、復号処理を行う。
次に、復号文として生成したコンテンツ鍵KEYa、コンテンツConaを制御部307へ出力する。
また、復号文として生成した秘密鍵SK_L2、秘密鍵SK_X2、公開鍵証明書Cert_L2、公開鍵証明書Cert_L2を更新部306へ出力する。
(7)認証部303
認証部303は、制御部307又は更新部306からSAC確立を指示されると、プログラムメモリ311からSAC制御プログラム351を読み出し、読み出したSAC制御プログラム351から命令を1個ずつフェッチし、フェッチした命令を解読し、解読した命令を実行する。以下、命令のフェッチ、解読、実行を繰り返すことにより、SACを確立し生成したセッション鍵を制御部307又は更新部306へ出力する。
1.7 携帯電話700
携帯電話700は、図27に示すように、無線通信部701、入出力部702、スピーカー705、マイク706、制御部707、無線制御部708、記憶部710、表示部712、入力部713及びアンテナ714から構成される。
(1)記憶部710
記憶部710は、ハードディスク、RAM及びROMから構成され、各種情報を記憶している。
(2)アンテナ714、無線通信部701及び無線制御部708
アンテナ714、無線通信部701及び無線通信制御部708は、基地局30及び携帯電話網40を介して、接続された外部装置との間で、音声又は情報の送受信を行う。
無線通信部701は、受信部と送信部とから構成されている。受信部は、高周波増幅器、受信ミキサ、IF増幅器、復調器などから構成され、アンテナ714により受信した信号を増幅し、復調する。送信部は、送信電力増幅器、送信ミキサ、変調器などから構成され、ベースバンド信号により高周波信号を変調し、無線周波数に変換し、増幅し、アンテナ714により出力する。無線通信制御部708は、ベースバンド部を含み、無線通信部701との間で入出力する各種の信号の処理を行う。
(3)入出力部702
入出力部702は、制御部707とメモリカード300との間で情報の送受信を行う。
(4)制御部707
制御部707は、入力部712から、各種操作指示情報を受け取り、入出力部702を介して、メモリカード300から、緊急画面データと緊急画面の表示の要求を受け取る。
携帯電話700にメモリカード300が装着された状態で、入力部712からコンテンツ再生を示す操作指示情報を受け取ると、制御部707は、メモリカード300にコンテンツの出力を要求する。
次に、メモリカード300からコンテンツを構成するデータを順次受け取り、受け取ったデータを伸長し、伸長したデータから画面と音声を生成する。生成した画面を表示部712へ出力し、生成した音声をスピーカー705へ順次出力する。以下、データの受信、伸長、画面及び音声の生成、出力を繰り返すことにより、コンテンツを再生する。
また、制御部707は、メモリカード300から、緊急画面データと緊急画面の表示の要求を受け取ると、受け取った緊急画面データから緊急画面を生成し、生成した画面を表示部712へ出力する。
また、制御部707は、入出力部702、無線制御部708、無線通信部701及びアンテナ714を介して、メモリカード300とセキュリティ管理装置600との間の情報の送受信を制御する。
(6)表示部712、入力部713、スピーカー705及びマイク706
表示部712は、制御部707の制御により各種の情報を表示する。
入力部713は、テンキー、決定キー、選択キーなど各種のキーを備え、利用者によるボタン操作を受け付け、受け付けたボタン操作に応じた操作指示情報を制御部707へ出力する。
スピーカー705は、制御部707又は無線制御部708の制御により音声を出力する。
マイク706は、無線制御部708の制御により、音声を検出する。
1.8 アップデートシステム10の動作
アップデートシステム10の動作について説明する。
(1)ホームサーバ装置100及びメモリカード300の緊急鍵共有
ホームサーバ装置100にメモリカード300が装着されると、両者の間で緊急鍵を共有する。以下に図28のフローチャートを用いて、緊急鍵共有について説明する。
ホームサーバ装置100は、入出力部102を介してメモリカード300の装着を検出すると(ステップS361)、メモリカード300にカードIDを要求する(ステップS362)。メモリカード300は、カードIDの要求を受け付けると、情報記憶部310のセキュア領域320からカードID327「I5000D」を読み出し(ステップS363)、読み出したカードID327「I5000D」をホームサーバ装置100へ送信する(ステップS364)。ホームサーバ装置100は、メモリカード300から、カードID「I5000D」を受け取り、受け取ったカードID「I5000D」が記憶部110に記憶されている緊急鍵リスト124に含まれるか否かを判断する(ステップS365)。緊急鍵リスト124に含まれていれば(ステップS365のYES)、緊急鍵共有の処理を終了する。
緊急鍵リスト124に含まれていなければ(ステップS365のNO)、乱数を生成し、生成した乱数と日付情報とカードID「I5000D」とを基に、336ビット長の緊急鍵K_EMRを生成する(ステップS366)。
次に、メモリカード300との間にSACを確立し、ホームサーバ装置100はセッション鍵Kaを生成する(ステップS367)。次に、生成したセッション鍵Kaの先頭から54ビットを抽出し、共通鍵K_E1Aを生成する(ステップS368)。生成した共通鍵K_E1Aを用いて、方式識別子「E_1」の示す暗号方式により暗号化緊急鍵Enc1(Ka,K_EMR)を生成する(ステップS369)。生成した暗号化緊急鍵Enc1(Ka,K_EMR)と方式識別子「E_1」とをメモリカード300へ送信し(ステップS371)、カードID「I5000D」と緊急鍵K_EMRとを緊急鍵リスト124へ書き込む(ステップS372)。
メモリカード300は、ホームサーバ装置100から暗号化緊急鍵Enc1(Ka,K_EMR)と方式識別子「E_1」を受け取り、SAC確立により生成したセッション鍵Ka’から先頭の54ビットを抽出して共通鍵K_E1A’を生成する(ステップS375)。生成した共通鍵K_E1A’を用いて、受け取った暗号化緊急鍵Enc1(K_E1A,K_EMR)を、受け取った方式識別子「E_1」の示す暗号方式により復号する(ステップS376)。次に、生成した緊急鍵K_EMRをセキュア領域320へ書き込む(ステップS377)。
(2)メモリカード300へのコンテンツ書き込み動作
メモリカード300へコンテンツを書き込む動作について、図29〜図32のフローチャートを用いて説明する。このとき、上記の(1)において説明したホームサーバ装置100とメモリカード300との緊急鍵共有は終了しているものとする。
入出力部115を介してDVD500aの装着を検出すると、ホームサーバ装置100は、DVD500aから鍵ファイル510aを読み出し(ステップS301)、読み出した鍵ファイル510aから方式識別子512a「E_1」を抽出する(ステップS302)。次に、記憶部110内において、抽出した方式識別子512a「E_1」を検索する(ステップS303)。方式識別子「E_1」が存在しないと判断すると(ステップS304のNO)、ホームサーバ装置100は、表示部112へDVD500aの読み取りができないことを示すエラー画面を表示し(ステップS305)、処理を終了する。
記憶部110内に、方式識別子「E_1」が存在すると判断すると(ステップS304のYES)、記憶部110からデバイス鍵Dev_1 121を読み出し(ステップS310)、鍵ファイル510aから暗号化コンテンツ鍵Enc1(Dev_1,KEYa) 511aを抽出し(ステップS311)、抽出した暗号化コンテンツ鍵Enc1(Dev_1,KEYa)を読み出したデバイス鍵Dev_1 121を用いて、方式識別子512a「E_1」の示す復号方式に基づいて復号する(ステップS312)。
次に、入力部113を介して、利用者のボタン操作を受け付ける(ステップS313)。ボタン操作により、コンテンツの再生を指示されると、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し(ステップS316)、記憶部110内において、読み出した方式識別子517a「E_1」を検索する(ステップS317)。方式識別子517a「E_1」が存在しないと判断すると(ステップS321のNO)、表示部112へコンテンツの生成ができないことを示すエラー画面を表示する(ステップS322)。
方式識別子517a「E_1」が存在すると判断すると(ステップS321のYES)、DVD500aのコンテンツファイル515aから暗号化コンテンツEnc1(KYEa,Cona) 516aを読み出し(ステップS323)、コンテンツ鍵KEYaを読み出し、暗号化コンテンツEnc1(KYEa,Cona) 516aをコンテンツ鍵KEYaを用いて、方式識別子517a「E_1」の示す復号方式に基づき復号し、コンテンツを生成する(ステップS324)。
次に、生成したコンテンツをパーソナルコンピュータ50へ出力する(ステップS325)。
利用者のボタン操作により、メモリカードへのコンテンツのコピーを指示されると(ステップS314)、DVD500aのコンテンツファイル515aから方式識別子517a「E_1」を読み出し(ステップS331)、読み出した方式識別子517a「E_1」をメモリカード300へ出力し、出力した方式識別子の示す暗号方式により暗号化された暗号文の復号が可能か否かを問い合わせる(ステップS332)。
メモリカード300は、ホームサーバ装置100から、方式識別子「E_1」を受け取り、受け取った方式識別子「E_1」の示す暗号方式により暗号化された暗号文の復号か可能か否かの問い合わせを受け付け、プログラムメモリ311内において、受けとった方式識別子「E_1」の示す復号方式プログラムDec1を検索する(ステップS333)。方式識別子「E_1」の示す復号方式プログラムDec1が存在すると判断すると(ステップS334のYES)、判定結果「1」を生成する(ステップS336)。方式識別子「E_1」の示す復号方式プログラムDec1が存在しないと判断すると(ステップS334のNO)判定結果「0」を生成する(ステップS335)。
次に、メモリカード300は、生成した判定結果をホームサーバ装置100へ出力する(ステップS337)。
ホームサーバ装置100は、メモリカード300から判定結果受け取り、受け取った判定結果が「0」であれば(ステップS341の「0」)、メモリカード300にコピーできないことを示すエラー画面を表示部112へ表示する(ステップS342)。
受け取った判定結果が「1」であれば(ステップS341の「1」)、ホームサーバ装置100は、DVD500aからコンテンツファイル515aを読み出し(ステップS343)、次に、メモリカード300との間にSACを確立し、セッション鍵Kbを生成する(ステップS344)。次に、ホームサーバ装置100は、生成したセッション鍵Kbの先頭から54ビットを抽出し、共通鍵K_E1Bを生成する(ステップS345)。次に、コンテンツ鍵KEYaを読み出し、生成した共通鍵K_E1Bを用いてコンテンツ鍵KEYaを、方式識別子「E_1」の示す暗号方式により暗号化して暗号化コンテンツ鍵Enc1(K_E1B,KEYa)を生成し、暗号化方式プログラムEnc1の暗号方式を示す方式識別子「E_1」を付加する(ステップS346)。次に、生成した暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とDVD500aから読み出したコンテンツファイル515aとをメモリカード300へ出力する(ステップS347)。
メモリカード300は、ホームサーバ装置100から、暗号化コンテンツ鍵Enc1(K_E1B,KEYa)と方式識別子「E_1」とコンテンツファイルとを受け取り、SAC確立により生成したセッション鍵Kb’から先頭の54ビットを抽出して共通鍵K_E1B’を生成する(ステップS351)。次に、生成した共通鍵K_E1B’を用いて、受け取った暗号化コンテンツ鍵Enc1(K_E1B,KEYa)を受信した方式識別子「E_1」の示す復号方式プログラムDec1により復号し、コンテンツ鍵KEYaを生成する(ステップS352)。次に、生成したコンテンツ鍵KEYaをセキュア領域320に書き込み(ステップS353)、コンテンツファイルを一般領域312へ書き込む(ステップS354)。
利用者のボタン操作により、その他の処理を指示されると(ステップS314)、その他の処理を行う(ステップS315)。
(3)携帯電話700によるコンテンツの再生
携帯電話700によるコンテンツの再生の動作を、図33に示すフローチャートを用いて説明する。
ホームサーバ装置100により、コンテンツのコピーが終了したメモリカード300が携帯電話700に装着された状態で、携帯電話700は、利用者のボタン操作を受け付け(ステップS401)、ボタン操作により再生を示す操作指示情報を受けると、携帯電話700は、メモリカード300へコンテンツの出力要求をする(ステップS403)。
利用者のボタン操作により、その他の処理を示す操作指示情報を受け取ると(ステップS401)、その他の処理を行う(ステップS402)。
メモリカード300は、携帯電話700からコンテンツの出力要求を受けると、セキュア領域320からコンテンツ鍵KEYaを読み出す(ステップS404)。次に、一般領域312からコンテンツファイルを読み出し、読み出したコンテンツファイルに含まれる暗号化コンテンツEnc1(KEYa,Cona)を、読み出したコンテンツ鍵KEYaを用いて、コンテンツファイルに含まれる方式識別子「E_1」の示す復号方式プログラムDec1により復号し、コンテンツConaを生成する(ステップS405)。次に、生成したコンテンツConaを携帯電話700へ出力する(ステップS406)。
携帯電話700は、メモリカード300からコンテンツConaを受け取り、受け取ったコンテンツConaを伸長し(ステップS407)、伸長したコンテンツを再生する(ステップS408)。
(4)ホームサーバ装置100による共通鍵暗号方式の更新
ホームサーバ装置100の共通鍵暗号方式更新の動作を、図34に示すフローチャートを用いて説明する。
放送局70は、セキュリティ管理装置600から受信したプログラムファイルEiiを読み出し(ステップS411)、読み出したプログラムファイルEiiを放送波に載せて送信する(ステップS412)。
ホームサーバ装置100は、プログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出し(ステップS413)、記憶部110内で、方式識別子「E_2」を検索する。記憶部110内に、方式識別子「E_2」が存在すると判断すると(ステップS415のYES)、そのまま、処理を終了する。
記憶部110内に、方式識別子「E_2」が存在しないと判断すると、記憶部110に方式識別子「E_2」を書き込む(ステップS416)。
次に、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し(ステップS417)、抽出した暗号部更新プログラムの示す手順に従って、暗号部108を書き換える(ステップS418)。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し(ステップS419)、抽出した復号部更新プログラムの示す手順に従って、復号部109を書き換える(ステップS421)。
次に、記憶部110の第1更新フラグ181を「0」に設定する306(ステップS422)。
(5)ホームサーバ装置100による公開鍵暗号方式の更新
ホームサーバ装置100の公開鍵暗号方式更新の動作を、図35に示すフローチャートを用いて説明する。
放送局70は、セキュリティ管理装置600から受信したプログラムファイルPiiを読み出し(ステップS451)、読み出したプログラムファイルPiiを放送波に載せて送信する(ステップS452)。
ホームサーバ装置100は、プログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し(ステップS453)、記憶部110内で、方式識別子「P_2」を検索する。記憶部110内に、方式識別子「P_2」が存在すると判断すると(ステップS454のYES)、そのまま、処理を終了する。
記憶部110内に、方式識別子「P_2」が存在しないと判断すると(ステップS454のNO)、記憶部110に方式識別子「P_2」を書き込む(ステップS455)。
次に、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し(ステップS456)、抽出した認証部更新プログラムの示す手順に従って、認証部103を書き換える(ステップS457)。次に、記憶部110の第2更新フラグ182を「0」に設定し(ステップS458)、処理を終了する。
(6)メモリカード300による暗号方式更新処理の開始
メモリカード300による暗号方式の更新処理について、図36に示すフローチャートを用いて説明する。
メモリカード300は、携帯端末700への装着を検出すると、プログラムメモリ311から方式識別子341「E_1」と方式識別子355「P_1」とを読み出し(ステップS491)、読み出した方式識別子341「E_1」と方式識別子355「P_1」と携帯電話700を介してセキュリティ管理装置600へ送信し(ステップS492)、安全性の確認を要求する。
セキュリティ管理装置600は、メモリカード300から、方式識別子「E_1」及び方式識別子「P_1」を受信し、情報記憶部610に記憶している無効暗号方式一覧621内で、受信した方式識別子「E_1」及び方式識別子「P_1」を検索する(ステップS493)。
無効暗号方式一覧621内に、方式識別子「E_1」が存在すると判断し(ステップS495のYES)、さらに、無効暗号方式一覧621内に、方式識別子「P_1」が存在すると判断すると(ステップS496のYES)、特別処理を実行し、メモリカード300の暗号方式更新の処理を終了する(ステップS497)。
ステップS496において、無効暗号方式一覧621内に、方式識別子「P_1」が存在しないと判断すると、共通鍵暗号方式の更新へ処理を移す(ステップS498)。
ステップS495において、無効暗号方式一覧621内に、方式識別子「E_1」が存在しないと判断し、さらに、無効暗号方式一覧621内に方式識別子「P_1」が存在すると判断すると(ステップS500のYES)、公開鍵暗号方式の更新へ処理を移す(ステップS501)。
ステップS500において、無効暗号方式一覧621内に、方式識別子「P_1」が存在しないと判断すると、安全通知処理を行い、メモリカード300の暗号方式更新の処理を終了する(ステップS502)。
(7)特別処理
特別処理について、図37に示すフローチャートを用いて説明する。これは、図36のステップS497の詳細である。
セキュリティ管理装置600は、緊急画面データを生成し(ステップS430)、生成した緊急画面データをインターネット20及び携帯電話700を介してメモリカード300へ送信する(ステップS431)。
メモリカード300は、セキュリティ管理装置600から緊急画面データを受信すると、携帯電話700に緊急画面表示を要求し、緊急画面データを出力する(ステップS423)。携帯電話700は、メモリカード300から、緊急画面表示の要求と緊急画面データを受け取り、受け取った緊急画面データから緊急画面を生成する(ステップS433)。次に、表示部712に生成した緊急画面を表示し(ステップS434)、特別処理を終了する。
(8)安全通知処理
安全通知処理について、図38のフローチャートを用いて説明する。これは、図36のステップS502の詳細である。
セキュリティ管理装置600は、安全通知信号を生成し(ステップS441)、生成した安全通知信号をインターネット20及び携帯電話700を介してメモリカード300へ送信する(ステップS442)。
メモリカード300は、セキュリティ管理装置600から、安全通知信号を受信すると、そのまま処理を終了する。
(9)メモリカード300の共通鍵暗号方式の更新
メモリカード300による共通鍵暗号方式の更新処理について、図39に示すフローチャートを用いて説明する。なお、これは、図36のステップS498の詳細である。
メモリカード300は、携帯電話700を介してセキュリティ管理装置600から、新しい共通鍵暗号方式に基づくプログラムを取得し、取得したプログラムを導入する(ステップS507)。
次に、メモリカード300は、セキュリティ管理装置600から新しい共通鍵暗号方式に対応したデバイス鍵Dev_2を取得し(ステップS508)、取得したデバイス鍵Dev_2をホームサーバ装置100へ転送する(ステップS509)。
(10)共通鍵暗号方式のプログラム導入
メモリカード300の新しい共通鍵暗号方式のプログラム導入について、図40〜図41に示すフローチャートを用いて説明する。これは、図39のステップS507の詳細である。
セキュリティ管理装置600は、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS512)、生成した更新指示命令をインターネット20を介してメモリカード300へ送信する(ステップS513)。メモリカード300は、セキュリティ管理装置600から、方式識別子「E_1」の示す暗号方式の更新指示命令を受信すると、プログラムメモリ311から方式識別子341「E_1」を読み出し(ステップS514)、読み出した方式識別子341「E_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS516)。
セキュリティ管理装置600は、メモリカード300から、方式識別子「E_1」と更新開始要求を受信すると、無効暗号方式一覧621と受信した方式識別子「E_1」とを基に、プログラムファイルEII 641を読み出す(ステップS517)。次に、読み出したプログラムファイルEII 641を、メモリカード300へ送信する(ステップS518)。
メモリカード300は、セキュリティ管理装置600からプログラムファイルEIIを受信すると、プログラムファイルEIIに含んで受信した暗号化制御プログラムOE2と復号制御プログラムOD2とをインストールする(ステップS519)。次に、プログラムメモリ311から、暗号化制御プログラムOE1 331と復号制御プログラムOD1 332とを削除する。(ステップS521)
次に、プログラムファイルEIIに含んで受信した暗号化アプリプログラムAE2と復号アプリプログラムAD2とをインストールし(ステップS522)、プログラムメモリ311から、暗号化アプリプログラムAE1 335を削除する(ステップS523)。
次に、プログラムファイルEIIに含んで受信した暗号化方式プログラムEnc2と復号方式プログラムDec2とをインストールする(ステップS524)。次に、プログラムメモリ311から暗号化方式プログラムEnc1 342を削除する(ステップS526)。
次に、プログラムファイルEIIに含んで受信した方式識別子「E_2」と鍵長「128」とをプログラムメモリ311に書き込み(ステップS527)、共通鍵暗号方式のプログラム導入を終了する。
(11)デバイス鍵取得
メモリカード300のデバイス鍵取得の動作を、図42のフローチャートを用いて説明する。これは、図39のステップS508の詳細である。
セキュリティ管理装置600は、メモリカード300との間にSACを確立しセッション鍵Kcを生成する(ステップS531)。次に、セッション鍵Kcの先頭から128ビットを抽出し、共通鍵K_E2Cを生成する(ステップS532)。
次に、メモリカード300から、あらかじめ受け取っている方式識別子「E_1」を基に無効暗号方式一覧621からデバイス鍵Dev_2を読み出し(ステップS533)、読み出したデバイス鍵Dev_2を生成した共通鍵K_E2Cを用いて、方式識別子「E_2」の示す暗号方式により暗号化して、暗号化デバイス鍵Enc2(K_E2C,Dev_2)を生成する(ステップS534)。
次に、生成した暗号化デバイス鍵Enc2(K_E2C,Dev_2)と暗号化デバイス鍵Enc2(K_E2C,Dev_2)の生成に用いた暗号方式を示す方式識別子「E_2」とを、メモリカード300へ送信する(ステップS536)。
メモリカード300は、セキュリティ管理装置600から方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2C,Dev_2)とを受信すると、SAC確立により生成したセッション鍵Kc’の先頭から128ビットを抽出し、共通鍵K_E2C’を生成する(ステップS538)。生成した共通鍵K_E2C’を用いて、受信した暗号化デバイス鍵Enc2(K_E2C,Dev_2)を復号する(ステップS539)。
(12)デバイス鍵転送
次に、メモリカード300からホームサーバ装置100へのデバイス鍵の転送の処理について、図43〜図44のフローチャートを用いて説明する。これは、図39のステップS509の詳細である。
メモリカード300は、ホームサーバ装置100へ装着されると、ホームサーバ装置100へ第1更新フラグの送信を要求する(ステップS551)。
ホームサーバ装置100は、メモリカード300から第1更新フラグの要求を受け取ると、記憶部110から第1更新フラグ181を読み出し(ステップS552)、読み出した第1更新フラグをメモリカード300へ送信する(ステップS553)。
メモリカード300は、ホームサーバ装置100から第1更新フラグを受信し、受信した第1更新フラグが「1」であると判断すると(ステップS556)、自身が記憶しているデバイス鍵Dev_2を削除し(ステップS557)、処理を終了する。
受信した第2更新フラグが「0」であると判断すると(ステップS556)、メモリカード300は、ホームサーバ装置100との間にSACを確立しセッション鍵Kdを生成する(ステップS558)。生成したセッション鍵Kdの先頭から128ビットを抽出し、共通鍵K_E2Dを生成する(ステップS559)。次に生成した共通鍵K_E2Dを用いてデバイス鍵Dev_2を暗号化し、暗号化デバイス鍵Enc2(K_E2D,Dev_2)を生成する(ステップS561)。生成した暗号化デバイス鍵Enc2(K_E2D,Dev_2)をホームサーバ装置100へ送信する(ステップS562)。
ホームサーバ装置100は、メモリカード300から暗号化デバイス鍵Enc2(K_E2D,Dev_2)を受信すると、SAC確立で生成したセッション鍵Kd’の先頭から128ビットを抽出し、共通鍵K_E2D’を生成し(ステップS563)、生成した共通鍵K_E2D’を用いて受信した暗号化デバイス鍵Enc2(K_E2D,Dev_2)を復号してデバイス鍵Dev_2を生成し(ステップS564)、生成したデバイス鍵Dev_2を記憶部110へ書き込む(ステップS566)。
次に、第1更新フラグ181に「1」を書き込み(ステップS567)、処理を終了する。
(13)メモリカード300の公開鍵暗号方式の更新
メモリカード300の公開鍵暗号方式の更新処理について、図45を用いて説明する。これは、図36のステップS501の詳細である。
メモリカード300は、携帯電話700を介して、セキュリティ管理装置600から、新しい公開鍵暗号方式のプログラムを取得し、取得したプログラムを導入する(ステップS580)。次に、セキュリティ管理装置600から、新しい秘密鍵及び公開鍵証明書を取得し(ステップS582)、取得した秘密鍵と公開鍵証明書とをホームサーバ装置100へ転送する(ステップS584)。
(14)公開鍵暗号方式のプログラム導入
メモリカード300の新しい公開鍵暗号方式のプログラム導入について、図46〜図47に示すフローチャートを用いて説明する。これは、図45のステップS580の詳細である。
セキュリティ管理装置600は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS591)、生成した更新指示命令をインターネット20を介してメモリカード300へ送信する(ステップS592)。メモリカード300は、セキュリティ管理装置600から、方式識別子「P_1」の示す暗号方式の更新指示命令を受信すると、プログラムメモリ311から方式識別子355「P_1」を読み出し(ステップS593)、読み出した方式識別子355「P_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS594)。
セキュリティ管理装置600は、メモリカード300から、方式識別子「P_1」と更新開始要求を受信すると、無効暗号方式一覧621と受信した方式識別子「P_1」とを基に、プログラムファイルPII 671を読み出す(ステップS596)。次に、読み出したプログラムファイルPII 671を、メモリカード300へ送信する(ステップS597)。
メモリカード300は、セキュリティ管理装置600からプログラムファイルPIIを受信すると、プログラムファイルPIIに含んで受信した暗号化アプリプログラムAPE2と復号アプリプログラムAPD2とをインストールし(ステップS598)、プログラムメモリ311から、暗号化アプリプログラムAPE1 352及び復号アプリプログラムAPD1 353を削除する(ステップS601)。
次に、プログラムファイルPIIに含んで受信した暗号化方式プログラムPec2と復号方式プログラムPdn2とをインストールする(ステップS602)。次に、プログラムメモリ311から暗号化方式プログラムPec1 356と復号方式プログラムPdc1 357とを削除する(ステップS603)。
次に、プログラムファイルPIIに含んで受信した方式識別子「P_2」をプログラムメモリ311に書き込み(ステップS604)、プログラムメモリ311から方式識別子355「P_1」を削除し(ステップS605)、公開鍵暗号方式のプログラム導入を終了する。
(15)秘密鍵及び公開鍵証明書の取得
メモリカード300の秘密鍵及び、公開鍵証明書の取得の処理について、図48〜図49のフローチャートを用いて説明する。これは、図45のステップS582の詳細である。
セキュリティ管理装置600は、秘密鍵SK_X2と公開鍵PK_X2の鍵ペアを生成し(ステップS611)、認証局から公開鍵PK_X2の公開鍵証明書Cert_X2を取得する(ステップS612)。次に、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアを生成し(ステップS613)、認証局から公開鍵PK_L2の公開鍵証明書Cert_L2を取得する(ステップS614)。
次に、セキュリティ管理装置600はメモリカード300へカードIDを要求する(ステップS616)。
メモリカード300は、携帯電話700を介してセキュリティ管理装置600からカードIDの要求を受信し、情報記憶部310からカードID327「I5000D」を読み出し、読み出したカードID327「I5000D」をセキュリティ管理装置600へ送信する(ステップS618)。
セキュリティ管理装置600は、メモリカード300からカードID「I5000D」を受信し、受信したカードID「I5000D」を基にSD鍵リストからSD鍵情報を選択し、選択したSD鍵情報に含まれるSD鍵Kmiを読み出し(ステップS619)、読み出したSD鍵Kmiを用いて秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化し、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を生成する(ステップS621)。
次に、セキュリティ管理装置600は、生成した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)と方式識別子「E_1」とをメモリカード300へ送信する(ステップS623)。
メモリカード300は携帯電話700を介して、セキュリティ管理装置600から暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)及び方式識別子「E_1」とを受信し、情報記憶部310からSD鍵Kmi 330を読み出し(ステップS624)、読み出したSD鍵Kmi 330を用いて、受信した暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)及び暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を復号し、秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を生成する(ステップS625)。次に、生成した秘密鍵SK_X2、公開鍵証明書Cert_X2、秘密鍵SK_L2及び公開鍵証明書Cert_L2を情報記憶部310に書き込み(ステップS627)、秘密鍵及び公開鍵証明書の取得の処理を終了する。
(16)秘密鍵及び公開鍵証明書の転送
メモリカード300からホームサーバ装置100への秘密鍵及び公開鍵証明書の転送の処理について、図50〜図51のフローチャートを用いて説明する。これは、図45のステップS584の詳細である。
メモリカード300は、ホームサーバ装置100への装着を検出すると、ホームサーバ装置100へ第2更新フラグを要求する(ステップS631)。ホームサーバ装置100は、メモリカード300から第2更新フラグの要求を受信し、記憶部110から第2更新フラグ182を読み出し(ステップS632)、読み出した第2更新フラグ182をメモリカード300へ送信する(ステップS633)。
メモリカード300は、ホームサーバ装置100から第2更新フラグを受信し、受信した第2更新フラグが「1」であると判断すると(ステップS636)、秘密鍵SK_L2と公開鍵証明書Cert_L2とを削除し(ステップS637)、処理を終了する。
受信した第2更新フラグが「0」であると判断すると(ステップS636)、情報記憶部310からカードID327「I5000D」を読み出す(ステップS638)。次に、情報記憶部310から緊急鍵K_EMR 328を読み出し(ステップS639)、読み出した緊急鍵K_EMR 328を用いて、秘密鍵SK_L2と公開鍵証明書Cert_L2とを暗号化し、暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とを生成する(ステップS641)。次に、生成した暗号化秘密鍵Enc1(K_EMR,SK_L2)及び暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」と読み出したカードID327「I5000D」とをホームサーバ装置100へ送信する(ステップS642)。
ホームサーバ装置100は、メモリカード300から暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)と方式識別子「E_1」とカードID「I5000D」とを受信し、受信したカードID「I5000D」を基に緊急鍵リスト124から緊急鍵情報125を選択し、選択した緊急鍵情報125に含まれる緊急鍵K_EMRを読み出す(ステップS644)。次に、読み出した緊急鍵K_EMRを用いて暗号化秘密鍵Enc1(K_EMR,SK_L2)と暗号化公開鍵証明書Enc1(K_EMR,Cert_L2)とを復号し、秘密鍵SK_L2と公開鍵証明書Cert_L2とを生成する(ステップS646)。生成した秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部110へ書き込む(ステップS647)。
次に、記憶部110の第2更新フラグ182に「1」を書き込み(ステップS648)、処理を終了する。
(17)SAC確立
機器間でのSAC確立の動作について図52〜図53を用いて説明する。
なお、このSAC確立方法は一例であり、他の認証方法、鍵共有方法を用いてもよい。また、SAC確立は、ホームサーバ装置100とメモリカード300の間又はメモリカード300とセキュリティ管理装置600の間で行うため、ここでは双方の機器を、機器A及び機器Bとして説明する。
ここで、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。
機器Aは、公開鍵証明書Cert_Aを読み出し(ステップS801)、読み出した公開鍵証明書Cert_Aを機器Bへ送信する(ステップS802)。
公開鍵証明書Cert_Aを受信した機器Bは、認証局の公開鍵PK_CAを用いて、公開鍵証明書Cert_Aに含んで受信した認証局の署名データSig_CAに署名検証アルゴリズムVを施して署名検証する(ステップS803)。署名検証の結果が失敗であれば(ステップS804のNO)処理を終了する。
署名検証の結果が成功であれば(ステップS804のYES)、機器Bは、CRLを読み出し(ステップS805)、公開鍵証明書Cert_Aに含んで受信したID番号ID_Aが読み出したCRLに登録されているか否かを判断する(ステップS806)。登録されていると判断すると(ステップS806のYES)、処理を終了する。
登録されていないと判断すると(ステップS806のNO)、機器Bは、公開鍵証明書Cert_Bを読み出し(ステップS807)、読み出した公開鍵証明書Cert_Bを機器Aに送信する(ステップS808)。
公開鍵証明書Cert_Bを受信した機器Aは、認証局の公開鍵PK_CAを用いて、公開鍵証明書Cert_Bに含んで受信した認証局の署名データSig_CAに署名検証アルゴリズムVを施して署名検証する(ステップS809)。署名検証の結果が失敗であれば(ステップS810のNO)処理を終了する。
署名検証の結果が成功であれば(ステップS810のYES)、機器Aは、CRLを読み出し(ステップS811)、公開鍵証明書Cert_Bに含んで受信したID番号ID_Bが読み出したCRLに登録されているか否かを判断する(ステップS812)。登録されていると判断すると(ステップS812のYES)、処理を終了する。登録されていないと判断すると(ステップS812のNO)、処理を継続する。
機器Bは、乱数Cha_Bを生成し(ステップS813)、生成した乱数Cha_Bを機器Aに送信する(ステップS814)。
機器Aは、乱数Cha_Bを受信し、機器Aの秘密鍵SK_Aを用いて、受信した乱数Cha_Bに署名生成アルゴリズムSを施して署名データSig_Aを生成し(ステップS815)、生成した署名データSig_Aを機器Bへ送信する(ステップS816)。
機器Bは、署名データSig_Aを受信すると、公開鍵証明書Cert_Aに含んで受信した機器Aの公開鍵PK_Aを用いて、受信した署名データSig_Aに、署名検証アルゴリズムVを施して署名検証する(ステップS817)。署名検証の結果が失敗であると判断すると(ステップS818のNO)処理を終了する。署名検証の結果が成功であると判断すると(ステップS818のYES)、処理を続ける。
機器Aは、乱数Cha_Aを生成し(ステップS819)、生成した乱数Cha_Aを機器Aに送信する(ステップS820)。
機器Bは、乱数Cha_Aを受信し、機器Bの秘密鍵SK_Bを用いて、受信した乱数Cha_Aに署名生成アルゴリズムSを施して署名データSig_Bを生成し(ステップS821)、生成した署名データSig_Bを機器Aへ送信する(ステップS822)。
機器Aは、署名データSig_Bを受信すると、公開鍵証明書Cert_Bに含んで受信した機器Bの公開鍵PK_Bを用いて、受信した署名データSig_Bに、署名検証アルゴリズムVを施して署名検証する(ステップS823)。署名検証の結果が失敗であると判断すると(ステップS824のNO)処理を終了する。署名検証の結果が成功であると判断すると(ステップS824のYES)、次に、乱数「a」を生成し(ステップS825)、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成し(ステップS826)、生成したKey_Aを機器Bへ送信する(ステップS827)。
機器Bは、Key_Aを受信すると、乱数「b」を生成し(ステップS828)、生成した乱数「b」を用いてKey_B=Gen(b,Y)を生成し(ステップS829)、生成したKey_Bを機器Aへ送信する(ステップS830)。
また、生成した乱数「b」と受信したKey_Aとを用いて、Key_AB=Gen(b,Key_A)=Gen(b,Gen(a,Y))を生成し、これをセッション鍵とする(ステップS831)。
機器Aは、Key_Bを受信し、生成した乱数「a」と受信したKey_BとからKey_AB=Gen(a,Key_B)=Gen(a,Gen(b,Y))を生成し、これをセッション鍵とする(ステップS832)。
1.9 まとめ
以上、説明したように、本発明では、セキュリティ管理装置600が、各種の暗号方式が解読されたか否かについての情報及び解読された暗号方式に代わる暗号方式を導入するための更新用プログラムを記憶している。
ホームサーバ装置100で使用されている共通鍵暗号方式又は公開鍵暗号方式が解読された場合、セキュリティ管理装置600は、更新用プログラムを放送局70に送り、放送局70は受け取った更新用プログラムを放送波に乗せて送信する。
ホームサーバ装置100は、放送局70から更新用プログラムを取得し、取得したプログラムを基に自身の備えている暗号方式を更新する。
メモリカード300は、自身が使用している共通鍵暗号方式及び公開鍵暗号方式の安全性を、セキュリティ管理装置600に問い合わせる。
共通鍵暗号方式が解読された場合、メモリカード300は、セキュリティ管理装置600から解読された共通鍵暗号方式に代わる共通鍵暗号方式のプログラムを取得し、導入する。
次に、メモリカード300は、セキュリティ管理装置600から新しい共通鍵暗号方式に対応したデバイス鍵を安全に取得し、取得したデバイス鍵をホームサーバ装置100へ安全に転送する。
公開鍵暗号方式が解読された場合、メモリカード300は、セキュリティ管理装置600から解読された公開鍵暗号方式に代わる公開鍵暗号方式のプログラムを取得し、導入する。
メモリカード300は、さらに、セキュリティ管理装置600から、メモリカード300自身の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書と、ホームサーバ装置100の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書とを安全に取得し、ホームサーバ装置100の新しい秘密鍵と前記秘密鍵と対になる公開鍵の公開鍵証明書とをホームサーバ装置100へ安全に転送する。
このようにして、ホームサーバ装置100及びメモリカード300は、安全性に問題の発生した暗号方式を、安全かつ簡単に更新し常に安全な通信を確保することができる。
2.実施の形態2
本発明に係る1個の実施の形態としてのアップデートシステム11について説明する。
2.1 アップデートシステム11の構成
アップデートシステム11は、図54に示すようにホームサーバ装置1100、携帯電話700、セキュリティ管理装置1600及び放送局1070から構成される。
ここで、アップデートシステム11において、実施の形態1のアップデートシステム10と同一の部分の説明は省略し、相違点を中心に説明する。
ホームサーバ装置1100、携帯電話700、セキュリティ管理装置1600及び放送局1070は、インターネット20に接続されている。
ホームサーバ装置1100は、実施の形態1のホームサーバ装置100と同様に、DVD500aから取得したコンテンツをDES鍵暗号方式により復号する。また、RSA暗号方式を用いて、メモリカード300との共通の鍵を生成し、SACを確立する。
さらに、ホームサーバ装置1100は、放送局1070から各種の番組コンテンツを暗号化して生成された暗号化番組コンテンツを受信する。受信した暗号化番組コンテンツを前記共通鍵暗号方式及び前記公開鍵暗号方式とは異なる暗号方式(説明の便宜上、以下、放送用暗号方式と呼ぶ)により復号する。利用者の操作により、番組コンテンツをホームサーバ装置1100自身の備える内部メモリに記憶する。また、パーソナルコンピュータ50など再生機能を備える外部装置へ番組コンテンツを出力する。放送用暗号方式は、どのような暗号方式でもよいが、ここでは、一例として共通鍵暗号方式RC(Rivest’s Cipher)2であるとする。このようにして、放送局から正当な機器へ、番組コンテンツを安全に配布する。
ここで、DES暗号方式、RSA暗号方式及び放送用暗号方式のいずれかが解析され、解読方法が発見された場合を想定する。
ホームサーバ装置1100は、解読された暗号方式に変わる新しい暗号方式を導入するためのプログラム及び新しい暗号方式に用いる鍵などを取得し、取得したプログラムによって、解読された暗号方式を更新する。
この際、ホームサーバ装置1100は、以下の3つ取得手順のいずれかにより、上記のプログラム及び鍵を取得する。
A.インターネット経由でプログラム及び鍵を取得する。
B.放送によりプログラムを取得し、インターネット経由で鍵を取得する。
C.放送によりプログラムを取得し、鍵をメモリカードから取得する。
以下に、アップデートシステム11を構成する各機器について説明する。なお、DVD500a、DVD500b、携帯電話700及びメモリカード300は、実施の形態1と同様であるので説明を省略する。
2.2 セキュリティ管理装置1600
セキュリティ管理装置1600は、図55に示すように、送受信部601、認証部603、制御部1607、情報記憶部1610、表示部612および入力部613から構成される。
セキュリティ管理装置1600は、具体的には図示されていないマイクロプロセッサ及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、セキュリティ管理装置600はその機能を果たす。
以下に、セキュリティ管理装置1600を構成する各部について説明するが、送受信部601、認証部603、表示部612および入力部613は、実施の形態1のセキュリティ管理装置600を構成する送受信部601、認証部603、表示部612および入力部613と同様であるので説明を省略する。
(1)情報記憶部1610
情報記憶部1610は、ハードディスクユニットから構成され、一例として、図55に示すように、無効暗号方式一覧621、HS用無効暗号方式一覧1621、SD鍵リスト631、NW緊急鍵リスト1691、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルBii 1681、プログラムファイルEII 661及びプログラムファイルPII 671を記憶している。
無効暗号方式一覧621、SD鍵リスト631、プログラムファイルEii 641、プログラムファイルPii 651、プログラムファイルEII 661及びプログラムファイルPII 671は、実施の形態1のセキュリティ管理装置600を構成する情報記憶部610の記憶しているものと同様である。
(A)HS用無効暗号方式一覧1621
HS用無効暗号方式一覧1621は、図56に示すように、複数の暗号方式情報1622、1623、1624、1625・・・から構成される。各暗号方式情報は、既に解読されている暗号方式と対応しており、方式識別子とプログラムファイル名とを含んでものと、方式識別子とプログラムファイル名と鍵とを含んでいるものがある。
方式識別子は、暗号方式を示す識別子であり、プログラムファイル名は、方式識別子の示す暗号方式に変わる新たな暗号方式をホームサーバ装置1100に導入する手順を示すプログラムを含むプログラムファイルのファイル名である。鍵は、方式識別子の示す暗号方式に変わる新たな暗号方式に対応したDVD500bに記憶されている暗号化コンテンツ又は暗号化番組コンテンツを復号するデバイス鍵である。
例えば、暗号方式情報1622は、方式識別子「E_0」とプログラムファイル名「Eii」とデバイス鍵Dev_2を含んでおり、デバイス鍵Dev_2は、方式識別子「E_0」の示す暗号方式に代わる暗号方式に対応しているDVDに記憶される暗号化コンテンツ鍵の復号に用いられる128ビットの鍵である。暗号方式情報1627は、方式識別子「B_1」とプログラムファイル名「Bii」と放送鍵BK_2とを含んでおり、放送鍵BK_2は、方式識別子「B_1」の示す暗号方式に代わる暗号方式によって生成された暗号化番組コンテンツを復号する256ビットの鍵である(以下、放送鍵と呼ぶ)。ここで、方式識別子「B_1」は、一例として、RC2を示す。
(B)NW緊急鍵リスト1691
NW緊急鍵リスト1691は、図57に示すように、複数のNW緊急鍵情報1692、1693、1694・・・から構成され、各NW緊急鍵情報は装置IDとNW緊急鍵とを含む。
装置IDは、正当な製造メーカにより、生産されたホームサーバ装置それぞれと対応している識別情報であり、NW緊急鍵は、装置IDの示すホームサーバ装置と緊急時に通信する際に用いられる鍵情報である。ここで、緊急時とは、ホームサーバ装置が用いる公開鍵暗号方式を更新するときである。
(C)プログラムファイルBii 1681
プログラムファイルBii 1681は、図58に示すように方式識別子1682「B_2」及び放送暗号処理部更新プログラム1683から構成される。「B_2」は、一例としてRC(Rivest’s Cipher)5と対応する識別情報である。放送暗号処理部更新プログラム1683は、ホームサーバ装置1100の放送暗号処理部1118(後述する)を構成するFPGAを書き換え、方式識別子方式識別子「B_2」の示す暗号方式に基づき暗号文を復号する機能を備える回路を構築する手順を含んでいる。
(2)制御部1607
制御部1607は、実施の形態1のセキュリティ管理装置600を構成する制御部607と同様に、方式識別子「E_1」の示す暗号方式が解読された場合、プログラムファイルEii 641をインターネット20を介して放送局1070へ送信し、方式識別子「P_1」の示す暗号方式が解読された場合、プログラムファイルPii 671をインターネット20を介して放送局1070へ送信する。
また、制御部1607は、CRLをインターネット20を介して、放送局1070へ送信する。
また、制御部1607は、インターネット20及び送受信部601を介してメモリカード300から暗号方式の安全性の確認を受け付け、必要に応じてメモリカード300へ、プログラムファイルEII 661、プログラムファイルPII 671、デバイス鍵Dev2、暗号化秘密鍵Enc1(Kmi,SK_X2)、暗号化公開鍵証明書Enc1(Kmi,Cert_X2)、暗号化秘密鍵Enc1(Kmi,SK_L2)、暗号化公開鍵証明書Enc1(Kmi,Cert_L2)を送信する。上記の処理の具体的な手順は、実施の形態1のセキュリティ管理装置600を構成する制御部607による処理手順と同一であるのでここでは説明を省略し、制御部607と異なる点について、以下に説明する。
方式識別子「B_1」の示す暗号方式が解読された場合、制御部1607は、入力部613を介して、操作者による指示を受け付け、受け付けた指示に従ってプログラムファイルBii 1681をインターネット20を介して放送局1070へ送信する。
制御部1607は、インターネット20及び送受信部601を介して、ホームサーバ装置1100から、ホームサーバ装置1100の使用している暗号方式を示す方式識別子を受信し、受信した方式識別子の示す暗号方式の安全性の確認の要求を受け付ける。
ホームサーバ装置1100から、ホームサーバ装置1100の使用している暗号方式を示す方式識別子「E_1」と方式識別子「P_1」と、方式識別子「B_1」、方式識別子「E_1」、方式識別子「P_1」及び方式識別子「B_1」の示す暗号方式の安全性の確認を受け取ると、HS用無効暗号方式一覧1621内で受信した方式識別子「E_1」、「P_1」及び「B_1」を含む暗号方式情報を検索する。検索の結果、方式識別子「E_1」、「P_1」及び「B_1」全てが検出された場合、以下の(i)の処理を行う。検索の結果、3つの方式識別子のうち、いずれも検出されなかった場合、以下の(ii)の処理を行う。方式識別子「E_1」が検出された場合、以下の(iii)の処理を行う。方式識別子「P_1」が検出された場合、以下の(iv)の処理を行う。方式識別子「B_1」が検出された場合、以下の(v)の処理を行う。
また、ホームサーバ装置1100から、方式識別子と鍵要求を受け取る。鍵要求は、方式識別子の示す暗号方式において用いられる鍵及び公開鍵証明書の送信を要求するものである。方式識別子と鍵要求とを受け取ると以下の(vi)の処理を行う。
以下に(i)〜(vi)の処理について、説明する。
(i)方式識別子「E_1」、「P_1」及び「B_1」が検出された場合
制御部1607は、緊急画面データを生成し、送受信部601を介して、生成した緊急画面データをホームサーバ装置1100に送信する。緊急画面データから生成される画面は、一例として、図14に示すように、利用者に緊急を知らせるもので。
(ii)いずれの方式識別子も検出されなかった場合
制御部1607は、方式識別子「E_1」の示す暗号方式、方式識別子「P_1」の示す暗号方式及び方式識別子「B_1」の示す暗号方式がいずれも安全であることを示す安全通知信号を生成し、送受信部601を介して、生成した安全通知信号をホームサーバ装置1100に送信する。
(iii)方式識別子「E_1」が検出された場合
制御部1607は、以下の
(iii−a)プログラムファイルの送信
(iii−b)デバイス鍵の送信
の手順で方式識別子「E_1」の示す暗号方式の更新処理をする。
以下に(iii−a)と(iii−b)とを説明する。
(iii−a)プログラムファイルの送信
制御部1607は、送受信部601を介して、ホームサーバ装置1100に、方式識別子「E_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、ホームサーバ装置1100から、方式識別子「E_1」と更新開始要求を受信する。
制御部1607は、情報記憶部610内のHS用無効暗号方式一覧1621から受信した方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623に含まれるプログラムファイル名を基に、プログラムファイルEii 641を読み出し、送受信部601を介して、読み出したプログラムファイルEii 641をホームサーバ装置100に送信する。
(iii−b)デバイス鍵の送信
次に、制御部1607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Keを受け取ると、受け取ったセッション鍵Keの先頭から128ビットを抽出し、これを共通鍵K_E2Eとする。
次に、HS用無効暗号方式一覧1621内で、ホームサーバ装置1100から受け取った方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623からデバイス鍵Dev_2を抽出し、共通鍵K_E2Eを用いて、抽出したデバイス鍵Dev_2を方式識別子「E_2」の示す暗号方式により暗号化し、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を生成する。次に、送受信部601を介して、生成した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と、暗号化デバイス鍵の生成に用いた暗号方式を示す方式識別子「E_2」とをホームサーバ装置1100に送信する。
(iv)方式識別子「P_1」が検出された場合
制御部1607は、以下の
(iv−a)プログラムファイルの送信
(iv−b)鍵の生成及び公開鍵証明書の送信
の手順でホームサーバ装置1100における「P_1」の示す暗号方式の更新をする。
以下に(iv−a)と(iv −b)とについて説明する。
(iv−a)プログラムファイルの送信
制御部1607は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、制御部1607は、ホームサーバ装置1100から、方式識別子「P_1」と更新開始要求を受信し、情報記憶部610内のHS用無効暗号方式一覧1621から方式識別子「P_1」を含む暗号方式情報1625を選択し、選択した暗号方式情報1625に含まれるプログラムファイル名を基に、プログラムファイルPii 651を読み出し、送受信部601を介して、読み出したプログラムファイルPii 651をホームサーバ装置1100に送信する。
(iv−b)秘密鍵の生成及び公開鍵証明書の送信
次に、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアとを生成し、生成した公開鍵PK_L2の公開鍵証明書Cert_L2を認証局から取得する。認証局については、実施の形態1において、説明したとおりであるので、ここでは、改めて説明はしない。
次に、制御部1607は、送受信部601を介してホームサーバ装置1100に装置IDを要求する。続いて、ホームサーバ装置1100から、装置ID「H001A」と更新用暗号識別子とを受信する。ここで受信する更新用暗号識別子は、方式識別子「E_1」又は「B_1」のいずれか一方である。
装置ID「H001A」と方式識別子とを受信すると、制御部1607は、受信した装置ID「H001A」を基に、NW緊急鍵リスト1691からNW緊急鍵情報1692を選択し、選択したNW緊急鍵情報1692に含まれるNW緊急鍵Ke001を読み出す。
次に、読み出したNW鍵Ke001を用いて、秘密鍵SK_L2及び公開鍵証明書Cert_L2を、受信した識別子の示す暗号方式により暗号化し、暗号化秘密鍵と暗号化公開鍵証明書を生成する。
次に、送受信部601を介して、生成した暗号化秘密鍵、暗号化公開鍵証明書及び受信した更新用暗号識別子をホームサーバ装置1100へ送信する。
(v)方式識別子「B_1」が検出された場合
制御部1607は、以下の
(v−a)プログラムファイルの送信
(v−b)放送鍵の送信
の手順で方式識別子「B_1」の示す暗号方式の更新処理をする。
以下に(v−a)と(v−b)とを説明する。
(v−a)プログラムファイルの送信
制御部1607は、送受信部601を介して、ホームサーバ装置1100に、方式識別子「B_1」の示す暗号方式の更新を指示する更新指示命令を生成し、送受信部601を介して、ホームサーバ装置1100に生成した更新指示命令を送信する。
次に、ホームサーバ装置1100から、方式識別子「B_1」と更新開始要求を受信する。
制御部1607は、情報記憶部610内のHS用無効暗号方式一覧1621から受信した方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627に含まれるプログラムファイル名を基に、プログラムファイルBii 1681を読み出し、送受信部601を介して、読み出したプログラムファイルBii 1681をホームサーバ装置100に送信する。
(v−b)放送鍵の送信
次に、制御部607は、認証部603にSAC確立を指示する。SAC確立が完了し、認証部603からセッション鍵Kfを受け取ると、受け取ったセッション鍵Kfの先頭から256ビットを抽出し、これを共通鍵K_B2Fとする。
次に、HS用無効暗号方式一覧1621内で、ホームサーバ装置1100から受け取った方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627から放送鍵BK_2を抽出し、共通鍵K_B2Fを用いて、抽出した放送鍵BK_2を方式識別子「B_2」の示す暗号方式により暗号化し、暗号化放送鍵EncB2(K_B2F,BK_2)を生成する。次に、送受信部601を介して、生成した暗号化放送鍵EncB2(K_B2F,BK_2)と、暗号化放送鍵の生成に用いた暗号方式を示す方式識別子「B_2」とをホームサーバ装置1100に送信する。
本明細書において、鍵Aを用いて、方式識別子「B_2」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEncB2(A,C)と表現する。
(vi)方式識別子と鍵要求とを受け取る場合
制御部1607は、方式識別子「E_2」、「P_2」及び「B_2」のいずれか一つと、鍵要求とを受け取る。
(vi−1)方式識別子「E_2」と鍵要求を受け取ると、制御部1607は、デバイス鍵Dev_2を暗号化して生成した暗号化デバイス鍵をホームサーバ装置1100へ送信するが、その手順は、上記の(iii−b)デバイス鍵の送信の手順と同一であるので、ここでは、説明を省略する。
(vi−2)方式識別子「P_2」と鍵要求を受け取ると、制御部1607は、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化して生成した、暗号化秘密鍵と暗号化公開鍵証明書とをホームサーバ装置1100へ送信するが、その手順は、上記の(iv−b)秘密鍵の生成及び公開鍵証明書の送信の手順と同一であるので、説明を省略する。
(vi−3)方式識別子「B_2」と鍵要求を受け取ると、制御部1607は、ホームサーバ装置に放送鍵BK_2を暗号化して生成した暗号化放送鍵をホームサーバ装置1100へ送信するが、その手順は、上記の(iv−b)放送鍵の送信の手順と同一であるので、ここでは、説明を省略する。
2.3 放送局1070
放送局1070は、インターネット20を介して、セキュリティ管理装置1600からCRL、プログラムEii、プログラムファイルPii又はプログラムBii
を受信する。
放送局1070は、増幅器、変調機、アンテナなどを備え、受信したCRL、プログラムEii、プログラムファイルPii又はプログラムBiiを放送波に変換して送信する。
また、放送局1070は、映像、音声などを含む番組コンテンツを放送鍵BK_1を用いて方式識別子「B_1」の示す暗号方式により暗号化して生成した暗号化番組コンテンツを放送する。
プログラムファイルBiiを受信した後は、放送鍵BK_2を用いて、番組コンテンツを方式識別子「B_2」の示す暗号方式により暗号化して生成した暗号化番組コンテンツを放送する。
2.4 ホームサーバ装置1100
ホームサーバ装置1100は、図59に示すように、受信部101、入出力部102、認証部103、更新部1106、制御部1107、暗号部108、復号部109、通信部1104、放送暗号処理部1118、記憶部1110、番組記憶部1120、表示部112、入力部113、アンテナ114及び入出力部115から構成される。
ホームサーバ装置1100は、具体的には図示していないマイクロプロセッサ、RAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、ハードディスク及び記憶部110には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ホームサーバ装置1100は、その機能を達成する。
また、ホームサーバ装置1100には、DVD500a又は500b及びメモリカード300が装着される。
以下に、ホームサーバ装置1100を構成する各部について説明するが、受信部101、入出力部102、認証部103、暗号部108、復号部109、表示部112、入力部113、アンテナ114及び入出力部115の構成及び動作は、実施の形態1のホームサーバ装置1100を構成する受信部101、入出力部102、認証部103、更新部106、暗号部108、復号部109、表示部112、入力部113、アンテナ114及び入出力部115と同一であるので説明を省略する。
(1)記憶部1110
記憶部1110は、ハードディスクユニットから構成され、一例として、図60に示すように、デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、放送鍵BK_1 1134、第1更新フラグ181、第2更新フラグ182、第3更新フラグ1183、CRL129、緊急鍵リスト124、装置ID1131「H001A」、NW緊急鍵Ke001 1132及び暗号方式リスト1133を記憶している。
デバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、第1更新フラグ181、第2更新フラグ182、CRL129及び緊急鍵リスト124は、実施の形態1の記憶部110の記憶しているデバイス鍵Dev_1 121、秘密鍵SK_L1 122、公開鍵証明書Cert_L1 123、第1更新フラグ181、第2更新フラグ182、CRL129及び緊急鍵リスト124と同一であるので説明を省略する。
放送鍵BK_1 1134は、方式識別子「B_1」の示す暗号方式により暗号化され、放送局から放送される暗号化番組コンテンツの復号に用いられる64ビット長の鍵である。
第3更新フラグ1183は、放送用暗号方式の更新処理が完了しているか否かを示すフラグであり、「0」又は「1」の何れかの値である。「0」は、放送暗号処理部1118の更新は完了しているが、新しい放送鍵は、未だ取得していないことを示す。「1」は、放送暗号処理部1118の更新及び新しい放送鍵の取得が完了していることを示す。
装置ID1131「H001A」は、ホームサーバ装置1100に固有の識別情報である。
NW緊急鍵Ke001 1132は、ホームサーバ装置1100に固有の鍵情報であり、緊急時にセキュリティ管理装置1600と通信するためのみに使用される鍵である。ここで、緊急時とは、ホームサーバ装置1100の使用している共通鍵暗号方式が解読された場合である。
暗号方式リスト1133は、図61(a)に示すように、複数の暗号方式情報1141、1142、1144及び1146から構成され、各暗号方式情報は、方式識別子、導入日及び最新フラグを含む。
方式識別子は、ホームサーバ装置1100において、使用可能な暗号方式を示す。導入日は、ホームサーバ装置1100が、方式識別子の示す暗号方式を導入した日を示す。最新フラグは、方式識別子の示す暗号方式の安全性の確認をセキュリティ管理装置1600に問い合わせるか否かを示すフラグである。「0」は、問合せの対象にならないことを、「1」は、問合せの対象になることを示す。
暗号方式情報1142は、ホームサーバ装置1100において、使用可能な共通鍵暗号方式と対応しており、暗号方式情報1144は、ホームサーバ装置1100において、使用される公開鍵暗号方式と対応しており、暗号方式情報1146は、ホームサーバ装置1100において用いられる放送用暗号方式と対応している。
暗号方式リスト1133は、更新部1106による暗号方式の更新(詳細は後述する)に伴って、書き換えられる。図60(b)は、共通鍵暗号方式、公開鍵暗号方式及び放送用暗号方式が更新された後の暗号方式リスト1133の一例を示す。更新後の暗号方式リスト1133は、複数の暗号方式情報1142、1147、1148及び1149から構成される。
暗号方式情報1142及び1147は、ホームサーバ装置1100において、使用可能な共通鍵暗号方式と対応しており、暗号方式情報1144は、ホームサーバ装置1100において、使用される公開鍵暗号方式と対応しており、暗号方式情報1146は、ホームサーバ装置1100において用いられる放送用暗号方式と対応している。
(2)番組記憶部1120
番組記憶部1120は、一例として、ハードディスクユニットから構成され、複数の番組コンテンツを記憶している。
(3)通信部1104
通信部1104は、インターネット20に接続された外部機器と、更新部1106及び認証部103との間で各種の情報を送受信する。
(4)制御部1107
制御部1107は、実施の形態1のホームサーバ装置100を構成する制御部107と同様に、CRLの更新、緊急鍵の生成、コンテンツの再生又はコピーを行う。これらの処理については、制御部107の説明において述べたとおりであるので、ここでは、説明を省略する。
さらに、制御部1107は、利用者の操作によって、記憶部1110に記憶されている放送鍵を放送暗号処理部1118へ出力し、アンテナ114及び受信部101を介して受信した暗号化番組コンテンツの復号を指示し、放送暗号処理部1118によって生成された番組コンテンツを番組記憶部1120へ書き込む。また、番組記憶部1120に記憶されている番組コンテンツをパーソナルコンピュータ50へ出力する。
(5)更新部1106
更新部106は、FPGA書き込み装置を備える。
また、更新部106は、予め、チェック日時及び放送鍵問合間隔を記憶している。チェック日時は、ホームサーバ装置1100の使用している暗号方式を更新する必要の有無をセキュリティ管理装置1600に問い合わせる日時であり、ここでは、チェック日時「日曜 11:30」を記憶している。放送鍵問合せ間隔は、放送用暗号方式の更新に当たって、セキュリティ管理装置1600から新しい放送鍵を取得的なかった場合に、再度、取得を試みる時間間隔であり、ここでは、放送鍵問合せ間隔「24時間」を記憶している。
更新部1106は、現在日時を監視しており、現在日時が記憶しているチェック日時と一致すると、インターネット20を介して、セキュリティ管理装置1600へ、暗号方式の必要性の有無を問い合わせ、(A)インターネット経由でプログラム及び鍵を取得し、暗号方式を更新する。
また、更新部1106は、受信部101を介して、放送局1070からの放送波により、プログラムファイルEii、Pii又はBiiを受信する。これらのプログラムファイルを受信すると、(B)放送によりプログラムを取得し、インターネット経由で鍵を取得し、暗号方式を更新する。この際、ホームサーバ装置1100がインターネット20に接続されていない、ネットワーク上のトラブル等の理由により、インターネット通信ができない場合、(C)放送によりプログラムを取得し、鍵をメモリカードから取得し、暗号方式を更新する。
なお、共通鍵暗号方式及び公開鍵暗号方式は、手順A〜手順Cの何れかにより更新する。また、放送用暗号方式は、A又はBの手順で更新する。
以下に上記の手順(A)〜(C)について、詳細に説明する。
(A)インターネット経由でプログラム及び鍵を取得する場合
現在日時が記憶しているチェック日時と一致すると、更新部1106は、記憶部1110に記憶されている暗号方式リスト1133を構成する暗号方式情報のうち、最新フラグが「1」であるものを検索し、検出した暗号方式情報1142、1144及び1146から方式識別子「E_1」、「P_1」及び「B_1」を読み出す。
次に、更新部1106は、通信部1104及びインターネット20を介して、セキュリティ管理装置1600へ、読み出した方式識別子「E_1」、「P_1」及び「B_1」を送信し、暗号方式の安全性の確認を要求する。
次に、インターネット20及び通信部20を介してセキュリティ管理装置1600から、緊急画面データ、安全通知信号、方式識別子「E_1」の示す暗号方式の更新命令、方式識別子「P_1」の示す暗号方式の更新命令又は方式識別子「B_1」の示す暗号方式の更新命令を受信する。更新部306は、それぞれの場合において、以下に説明するような処理を行う。
(A−i)緊急画面データを受信した場合
セキュリティ管理装置600から、緊急画面データを受信すると、更新部1106は、受信した緊急画面データを、携帯電話700に出力し緊急画面の表示を要求する。ここで、表示する画面は、一例として、図14に示す緊急画面と同様のものである。
(A−ii)安全通知信号を受信した場合
セキュリティ管理装置600から安全通知信号を受信すると、更新部1106は、メモリカード300自身の記憶している暗号方式が安全であると判断し、暗号方式の更新処理を終了する。
(A−iii)インターネット経由の共通鍵暗号方式の更新
方式識別子「E_1」の示す暗号方式の更新命令を受信した場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「E_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「E_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルEiiを受信する。
プログラムファイルEiiを受信すると、更新部1106は、
(A−iii−a)暗号部108及び復号部109の更新
(A−iii−b)デバイス鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−iii−a)及び(A−iii−b)について説明する。
(A−iii−a)暗号部108及び復号部109の更新
更新部1106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「E_2」と導入日と最新フラグ「1」とを含む暗号方式情報1147を生成し、生成した暗号方式情報1147を暗号方式リスト1133に追加する。続いて、方式識別子「E_1」を含む暗号方式情報1142の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルEiiから、暗号部更新プログラムを抽出し、抽出した暗号部更新プログラムに示される手順に従って、暗号部108を構成するFPGAを書き換え、方式識別子「E_2」の示す暗号方式に従う暗号化の機能を備えた回路を構築する。具体的には、FPGAを構成する複数のCLB(Configuration Logic Block)を、これらのCLB上に任意の論理関数回路を生成し、生成した論理関数回路を各CLB間に存在する結線リソースにより結線することにより回路を構築する。また、FPGA素子に付属するコンフィグROMに、受信した暗号部更新プログラムを書き込む。
次に、受信したプログラムファイルEiiから、復号部更新プログラムを抽出し、抽出した復号部更新プログラムに示される手順に従って、復号部109を構成するFPGAを書き換え、方式識別子「E_1」及び方式識別子「E_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、記憶部110の第1更新フラグ181を「0」に設定する。
(A−iii−b)デバイス鍵の取得
次に、通信部1104を介して、セキュリティ管理装置1600から、セキュリティ管理装置1600の公開鍵証明書を受信すると、更新部1106は、更新部1106は、受信した公開鍵証明書を認証部103へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部1106は、認証部303からセッション鍵Ke’を受け取る。
続いて、更新部1106は、通信部1104を介して、セキュリティ管理装置1600から、暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」とを受信する。更新部1106は、受信した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」と認証部103から受け取ったセッション鍵Kc’とを、復号部109へ出力し、暗号化デバイス鍵Enc2(K_E2C,Dev_2)の復号を指示する。
次に、更新部1106は、復号部109から、デバイス鍵Dev_2を受け取り、受け取ったデバイス鍵Dev_2を、記憶部1110へ書き込む。デバイス鍵Dev_2を書き込むと、続いて、第1更新フラグ181を「1」に設定する。
(A−iv)インターネット経由の共通鍵暗号方式の更新
方式識別子「P_1」の示す暗号方式の更新命令を受け取った場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「P_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「P_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20及び通信部1104を介して、セキュリティ管理装置1600からプログラムファイルPiiを受信する。
プログラムファイルPiiを受け取ると、更新部1106は、
(A−iv−a)認証部103の更新
(A−iv−b)秘密鍵及び公開鍵証明書の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−iv−a)及び(A−iv−b)について説明する。
(A−iv−a)認証部103の更新
更新部1106は、受信したプログラムファイルPiiから、方式識別子「P_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「P_2」と導入日と最新フラグ「1」とを含む暗号方式情報1148を生成し、生成した暗号方式情報1148を暗号方式リストに追加する。続いて、方式識別子「P_1」を含む暗号方式情報1144の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し、抽出した認証部更新プログラムに示す手順に従って認証部103を構成するFPGAを書き換え、方式識別子「P_2」を用いたSAC確立を実行する機能を備えた回路を構築する。
次に、更新部1106は、記憶部1110の第2更新フラグ182を「0」に設定する。
(A−iv−b)秘密鍵及び公開鍵証明書の取得
次に、更新部1106は、インターネット20及び通信部1104を介してセキュリティ管理装置1600から装置IDの要求を受信する。装置IDの要求を受信すると、記憶部1110から装置ID1131「H001A」を読み出す。
次に、更新部1106は、暗号方式リスト1133において、最新フラグ「1」の暗号方式情報のうち、現在更新の対象になっている暗号方式と対応する暗号方式情報(ここでは、方式識別子「P_2」を含む暗号方式情報)以外の暗号方式情報1142及び1146から、それぞれ、導入日「2004.02.26」と導入日「2004.06.09」とを読み出す。読み出した導入日を比較し、より新しい導入日と対応する方式識別子を更新用暗号識別子とする。ここで、更新用暗号識別子となるのは、方式識別子「E_1」又は「B_1」の何れかである。
次に、更新部1106は、読み出した装置ID1131「H001A」と更新用暗号識別子を通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信する。
暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信すると、更新部1106は、記憶部1110からNW緊急鍵Ke001を読み出す。受信した更新用識別子が「E_1」であれば、受信した更新用暗号識別子「E_1」と暗号化秘密鍵と暗号化公開鍵証明書と読み出したNW緊急鍵Ke001とを復号部109へ出力し、暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
受信した更新用識別子が「B_1」であれば、暗号化秘密鍵と暗号化公開鍵証明書と読み出したNW緊急鍵Ke001とを放送暗号処理部1118へ出力し、暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
次に、更新部1106は、復号部109又は放送暗号処理部1118から秘密鍵SK_L2と公開鍵証明書Cert_L2とを受け取り、受け取った秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部1110へ書き込む。続いて、秘密鍵SK_L1 122と公開鍵証明書Cert_L1 123とを記憶部1110から削除する。
次に、更新部1106は、暗号方式リスト1133の方式識別子「P_1」を含む暗号方式情報1142を削除し、記憶部1110の記憶している第2更新フラグ182を「1」に設定する。
(A−v)インターネット経由の放送用暗号方式の更新
方式識別子「B_1」の示す暗号方式の更新命令を受け取った場合、更新部1106は、記憶部1110の暗号方式リストから方式識別子「B_1」を読み出し、通信部1104とインターネット20を介して、読み出した方式識別子「B_1」をセキュリティ管理装置1600へ送信し、暗号方式の更新の開始を要求する。
次に、インターネット20及び通信部1104を介して、セキュリティ管理装置1600からプログラムファイルBiiを受信する。
プログラムファイルBiiを受信すると、更新部1106は、
(A−v−a)放送暗号処理部1118の更新
(A−v −b)放送鍵の取得
の手順で共通鍵暗号方式の更新を行う。以下に、(A−v−a)及び(A−v−b)について説明する。
(A−v−a)放送暗号処理部1118の更新
更新部1106は、受信したプログラムファイルBiiから、方式識別子「B_2」を抽出し、現在日時を取得する。取得した現在日時を導入日として、抽出した方式識別子「B_2」と導入日と最新フラグ「1」とを含む暗号方式情報1149を生成し、生成した暗号方式情報1149を暗号方式リストに追加する。続いて、方式識別子「B_1」を含む暗号方式情報1146の最新フラグを「0」に書き換える。
次に、更新部1106は、受信したプログラムファイルBiiから、放送暗号処理部更新プログラムを抽出し、抽出した放送暗号処理部更新プログラムに示される手順に従って、放送暗号処理部1118を構成するFPGAを書き換え、方式識別子「B_2」の示す暗号方式に従う復号の機能を備えた回路を構築する。
次に、更新部1106は、記憶部110の第1更新フラグ181を「0」に設定する。
(A−v−b)放送鍵の取得
次に、通信部1104を介して、セキュリティ管理装置1600から、セキュリティ管理装置1600の公開鍵証明書を受信すると、更新部1106は、更新部1106は、受信した公開鍵証明書を認証部103へ出力し、SAC確立を指示する。認証部303によりSACが確立され、更新部1106は、認証部303からセッション鍵Kf’を受け取る。
続いて、更新部1106は、通信部1104を介して、セキュリティ管理装置1600から、暗号化デバイス鍵EncB2(K_B2F,BK_2)と方式識別子「B_2」とを受信する。更新部1106は、受信した暗号化デバイス鍵EncB2(K_B2F,BK_2)と方式識別子「B_2」と認証部103から受け取ったセッション鍵Kf’とを、放送暗号処理部1118へ出力し、暗号化デバイス鍵EncB2(K_B2f,BK_2)の復号を指示する。
次に、更新部1106は、放送暗号処理部1118から、放送鍵BK_2を受け取り、受け取った放送鍵BK_2を、記憶部1110へ書き込む。放送鍵BK_2を書き込むと、暗号方式リスト1133の方式識別子「B_1」を含む暗号方式情報1142を削除し、第1更新フラグ181を「1」に設定する。
(B)放送によりプログラムを取得し、インターネット経由で鍵を取得する場合
アンテナ114及び受信部101を介して、放送局1070からプログラムファイルEii、Pii又はBiiを受信する。更新部306は、それぞれの場合において、以下に説明する(B−i)〜(B−iii)処理を行う。
(B−i)放送による共通鍵暗号方式の更新
プログラムファイルEiiを受信すると、更新部1106は、受信したプログラムファイルEiiから、方式識別子「E_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「E_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、既に、方式識別子「E_2」が存在する場合、暗号部108及び復号部109の更新は既に終了しているため、共通鍵暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「E_2」が存在しなければ、受信したプログラムファイルEiiを基に、暗号部108及び復号部109を更新する。具体的な手順は、既に説明した(A−iii)インターネット経由の共通鍵暗号方式の更新における(A−iii−a)暗号部108及び復号部109の更新の手順と同一であるので、ここでは説明を省略する。
暗号部108及び復号部1119の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、以下の(C)の処理へ移る。
通信可能であれば、更新部1106は、抽出した方式識別子「E_2」と、方式識別子「E_2」の示す暗号方式において使用するデバイス鍵の送信を要求する鍵要求とを、通信部1104及びインターネット20を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「E_2」と対応するデバイス鍵Dev_2を安全に取得する。具体的な取得の手順は、既に説明した(A−iii)インターネット経由の共通鍵暗号方式の更新における(A−iii−b)デバイス鍵の取得の手順と同一であるので、ここでは説明を省略する。
(B−ii)放送による公開鍵暗号方式の更新
プログラムファイルPiiを受信すると、更新部1106は、受信したプログラムファイルPiiから、方式識別子「P_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「P_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、すでに、方式識別子「P_2」が存在する場合、認証部103の更新は既に終了しているため、公開鍵暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「P_2」が存在しなければ、受信したプログラムファイルPiiを基に認証部103を更新する。具体的な手順は、既に説明した(A−iv)インターネット経由の公開鍵暗号方式の更新における(A−iv−a)認証部103の更新の手順と同一であるので、ここでは説明を省略する。
認証部103の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、以下の(C)の処理へ移る。
通信可能であれば、更新部1106は、抽出した方式識別子「P_2」と、方式識別子「P_2」の示す暗号方式において使用する秘密鍵及び公開鍵証明書の送信を要求する鍵要求とを、通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「P_2」と対応する秘密鍵SK_L2及び公開鍵証明書Cert_L2を安全に取得する。具体的な取得の手順は、既に説明した(A−iv)インターネット経由の公開鍵暗号方式の更新における(A−iv−b)秘密鍵及び公開鍵証明書の取得の手順と同一であるので、ここでは説明を省略する。
(B−iii)放送による放送用暗号方式の更新
プログラムファイルBiiを受信すると、更新部1106は、受信したプログラムファイルBiiから、方式識別子「B_2」を抽出する。記憶部1110に記憶されている暗号方式リスト1133内において、抽出した方式識別子「B_2」と一致する方式識別子を検索する。暗号方式リスト1133内に、すでに、方式識別子「B_2」が存在する場合、認証部103の更新は既に終了しているため、放送用暗号方式の更新処理を終了する。
暗号方式リスト1133内に、方式識別子「B_2」が存在しなければ、受信したプログラムファイルBiiを基に認証部103を更新する。具体的な手順は、既に説明した(A−v)インターネット経由の公開鍵暗号方式の更新における(A−v−a)放送暗号処理部1118の更新の手順と同一であるので、ここでは説明を省略する。
放送暗号処理部1118の更新が終了すると、更新部1106は、通信部1104を介して、インターネット通信が可能であるか否かを確認する。通信可能でなければ、時間の計測を開始し、計測している時間が、放送鍵問合間隔「24時間」になると、再度、インターネット通信が可能であるか否かを確認する。
通信可能であれば、更新部1106は、抽出した方式識別子「B_2」と、方式識別子「B_2」の示す暗号方式において使用する放送鍵の送信を要求する鍵要求とを、通信部1104を介して、セキュリティ管理装置1600へ送信する。
次に、セキュリティ管理装置1600との間でSACを確立し、方式識別子「B_2」と対応する放送鍵BK_2を安全に取得する。具体的な取得の手順は、既に説明した(A−v)インターネット経由の放送用暗号方式の更新における(A−v−b)放送鍵取得の手順と同一であるので、ここでは説明を省略する。
(C)放送によりプログラムを取得し、鍵をメモリカードから取得する場合
上記の(B)において説明した(B−i)放送による共通鍵暗号方式の更新において、インターネット通信ができない場合、更新部1106は、方式識別子「E_2」に対応したデバイス鍵をメモリカード300を介して取得する。具体的な取得手段は、実施の形態1の更新部106による、(i−b)デバイス鍵の取得の手順と同様であるので、ここでは、説明を省略する。
また、(B−ii)放送による公開鍵暗号方式の更新において、インターネット通信ができない場合、更新部1106は、方式識別子「P_2」に対応した秘密鍵及び公開鍵証明書をメモリカード300を介して取得する。具体的な取得手段は、実施の形態1の更新部106による、(ii−b)秘密鍵及び公開鍵証明書取得の手順とほぼ同様であり、第2更新フラグを「1」に設定する前に、暗号方式リスト1133から、方式識別子「P_1」を含む暗号方式情報1144を削除すること意外は同一である。従って、ここでは、説明を省略する。
(6)放送暗号処理部1118
放送暗号処理部1118は、FPGA素子により構成され、FPGA素子は、FPGAとコンフィグROMから構成される。
放送暗号処理部1118は、FPGA上に方式識別子「B_1」の示す暗号方式に基づき復号の処理を行う機能を備えている。また、更新部106により放送用暗号方式の更新が行われると、FPGA上に方式識別子「B_2」の示す暗号方式に基づき復号処理を行う機能を備える。
放送暗号処理部1118は、制御部1107又は更新部1106から復号鍵を受け取り、暗号文の復号の指示を受け取る。
ここで、放送暗号処理部1118が、制御部1107から受け取る復号鍵と暗号文の組み合わせは、一例として、放送鍵BK_1と暗号化番組コンテンツの組み合わせ又は、放送鍵BK_2と暗号化番組コンテンツの組み合わせである。
また、放送暗号処理部1118が、更新部1106から受け取る復号鍵と暗号文との組み合わせは、一例として、セッション鍵Kf’と暗号化放送鍵EncB2(K_B2F,BK_2)の組み合わせ、NW緊急鍵Ke001と暗号化秘密鍵EncB1(K_EMR,SK_L2)との組み合わせ及び緊急鍵K_EMRと暗号化公開鍵証明書EncB1(K_EMR,Cert_L2)との組み合わせである。
本明細書において、鍵Aを用いて、方式識別子「B_1」の示す暗号方式により、平文Cを暗号化して生成された暗号文をEncB1(A,C)と表現する。
(i)放送用暗号方式の更新前
放送暗号処理部1118は、復号鍵と、暗号文の復号の指示とを受け取り、受け取った復号鍵の鍵長を検出し、検出した鍵長が64ビットであるか否かを判断する。検出した鍵長が、64ビットでないと判断すると、受け取った復号鍵の先頭から64ビットを抽出し、これを復号鍵とする。検出した鍵長が64ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、放送暗号処理部1118は、暗号文を64ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「B_1」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部1110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、平文を生成する。全てのブロックを復号し終えると、生成した復号文を出力する。
(ii)放送用暗号方式の更新後
放送暗号処理部1118は、復号鍵と、暗号文の復号の指示とを受け取り、受け取った復号鍵の鍵長を検出し、検出した鍵長が256ビットであるか否かを判断する。検出した鍵長が、256ビットでないと判断すると、受け取った復号鍵の先頭から256ビットを抽出し、これを復号鍵とする。検出した鍵長が256ビットであれば、前記の抽出処理を省略し、次の処理へ移る。
次に、放送暗号処理部1118は、暗号文を256ビット長のブロックごとに読み出し、復号鍵を用いて、読み出したブロックに、方式識別子「B_2」の示す暗号方式に基づき復号演算を施し、復号ブロックを生成し、生成した復号ブロックを記憶部1110に書き込む。
以降、暗号文を構成する全てのブロックを復号し終えるまで、ブロックの読み出し、復号、書き込みを繰り返し、復号文を生成する。全てのブロックを復号し終えると、生成した復号文を出力する。
2.5アップデートシステム11の動作
アップデートシステム11の動作について説明する。
(1)ホームサーバ装置によるインターネット経由の暗号方式更新の開始
チェック日時「日曜 11:30」になると、ホームサーバ装置1100は、インターネット20を介して、セキュリティ管理装置1600暗号方式の更新の必要性を問合せ、暗号方式の更新を行う。以下に、ホームサーバ装置1100による、インターネット20を経由した暗号方式の更新について、図62に示すフローチャートを用いて説明する。
ホームサーバ装置1100の更新部1106は、記憶部1110に記憶されている暗号方式リスト1133を構成する暗号方式情報のうち、最新フラグが「1」であるものから方式識別子「E_1」、「P_1」及び「B_1」を読み出す(ステップS1001)。読み出した方式識別子「E_1」、「P_1」及び「B_1」を通信部1104及びインターネット20を介してセキュリティ管理装置1600に送信し、暗号方式の安全性の確認を要求する(ステップS1002)。
セキュリティ管理装置1600の制御部1607は、方式識別子「E_1」、「P_1」及び「B_1」を受信し、HS用無効暗号方式一覧1621から、受信した方式識別子「E_1」、「P_1」及び「B_1」を検索する(ステップS1003)。
検索の結果、方式識別子「E_1」、「P_1」及び「B_1」の全てが、HS用無効暗号方式一覧1621上に存在する場合(ステップS1005の全て)、制御部1607は、特別処理を行う(ステップS1006)。ここで、特別処理とは、実施の形態1において、図37を用いて説明した特別処理と同様に、ホームサーバ装置1100へ緊急画面データを送信し、ホームサーバ装置1100は、緊急画面を表示することである。
検索の結果、方式識別子「E_1」、「P_1」及び「B_1」のいずれも、HS用無効暗号方式一覧1621上に存在しない場合(ステップS1005のなし)、制御部1607は、安全通知処理を行う(ステップS1012)。安全通知処理とは、実施の形態1において、図38を用いて説明した安全通知処理と同様にして、安全通知信号を送信することである。
検索の結果、方式識別子「E_1」が、検出された場合(ステップS1005のE_1)、制御部1607は、インターネット経由の暗号方式の更新を開始する(ステップS1007)。
方式識別子「P_1」が検出された場合、制御部1607は、インターネット経由の公開鍵暗号方式の更新を開始する(ステップS1009)。
方式識別子「B_1」が検出された場合、制御部1607は、インターネット経由の放送用鍵暗号方式の更新を開始する(ステップS1011)。
(2)ホームサーバ装置のインターネット経由の共通鍵暗号方式の更新
ホームサーバ装置1100の、インターネット20を経由した共通鍵暗号方式の更新について、図63〜64に示すフローチャートを用いて説明する。これは、図63のステップS1007の詳細である。
セキュリティ管理装置1600は、方式識別子「E_1」の示す暗号方式の更新命令を生成し(ステップS1021)、生成した更新命令をホームサーバ装置1100へ送信する(ステップS1022)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、方式識別子「E_1」の示す暗号方式の更新命令を受信する。更新命令を受信すると、更新部1106は、記憶部1110の記憶している暗号方式リスト1133から方式識別子「E_1」を読み出し(ステップS1023)、読み出した方式識別子「E_1」と更新開始要求とをインターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1026)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から方式識別子「E_1」及び更新開始要求を受信し、HS用無効暗号方式一覧1621内において、受信した方式識別子「E_1」を含む暗号方式情報1623を選択し、選択した暗号方式情報1623に含まれるプログラムファイル名を基に、プログラムファイルEii 641を読み出す(ステップS1027)。次に、制御部1607は、読み出したプログラムファイルEii 641を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1029)。
ホームサーバ装置1100の、更新部1106は、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出する(ステップS1031)。抽出した方式識別子「E_2」と、現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1032)。次に、暗号方式リスト1133において、方式識別子「E_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1033)。
次に、更新部1106は、受信したプログラムファイルEiiから暗号部更新プログラムを読み出し(ステップS1036)、読み出した暗号部更新プログラムに基づいて、暗号部108を構成するFPGAを書き換える(ステップS1037)。次に、受信したプログラムファイルEiiから復号部更新プログラムを読み出し(ステップS1039)、読み出した復号部更新プログラムに基づいて、復号部109を構成するFPGAを書き換える(ステップS1041)。
次に、記憶部1110の記憶している第1更新フラグ181を「0」に書き換える(ステップS1042)。
次に、更新部1106は、認証部103にSAC確立を指示し、認証部103は、セキュリティ管理装置1600との間にSACを確立する(ステップS1044)。なお、ステップS1044の詳細は、図52〜53に示すとおりである。
SAC確立が終了すると、セキュリティ管理装置1600の制御部1607は、認証部603からセッション鍵Keを受け取り、受け取ったセッション鍵Keの先頭から128ビットを抽出して、共通鍵K_E2Eを生成する(ステップS1046)。次に、情報記憶部1610のHS用無効暗号方式一覧1621からデバイス鍵Dev_2を読み出し(ステップS1048)、生成した共通鍵K_E2Eを用いて、読み出したデバイス鍵Dev_2を、方式識別子「E_2」の示す暗号方式により暗号化して、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を生成する(ステップS1049)。生成した暗号化デバイス鍵Enc2(K_E2E,Dev_2)と方式識別子「E_2」とを、インターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1051)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2E,Dev_2)とを受信する。これらを受信すると、更新部1106は、認証部103により生成されたセッション鍵Ke’と、受信した方式識別子「E_2」と暗号化デバイス鍵Enc2(K_E2E,Dev_2)とを、復号部109へ出力し、暗号化デバイス鍵Enc2(K_E2E,Dev_2)の復号を指示する。
復号部109は、受け取った方式識別子「E_2」に基づいて、受け取ったセッション鍵Ke’の先頭から128ビットを抽出して、共通鍵共通鍵K_E2E’を生成し(ステップS1052)、生成した共通鍵K_E2E’を用いて、方式識別子「E_2」の示す暗号方式により、暗号化デバイス鍵Enc2(K_E2E,Dev_2)を復号する(ステップS1053)。次に、生成したデバイス鍵Dev_2を更新部1106へ出力する。
更新部1106は、復号部1108からデバイス鍵Dev_2を受け取り、受け取ったデバイス鍵Dev_2を記憶部1110に書き込む(ステップS1054)。次に、更新部1106は、記憶部1110の記憶している第1更新フラグ181を「1」に書き換える(ステップS1056)。
(3)ホームサーバ装置によるインターネット経由の公開鍵暗号方式の更新
ホームサーバ装置1100による、インターネット20を経由した公開鍵暗号方式の更新について、図65〜66に示すフローチャートを用いて説明する。これは、図62のステップS1009の詳細である。
セキュリティ管理装置1071は、方式識別子「P_1」の示す暗号方式の更新を指示する更新指示命令を生成し(ステップS1071)、生成した更新指示命令をインターネット20を介してホームサーバ装置1100へ送信する(ステップS1072)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、セキュリティ管理装置1600から、方式識別子「P_1」の示す暗号方式の更新指示命令を受信し、記憶部1110に記憶されている暗号方式リスト1133から方式識別子「P_1」を読み出し(ステップS1074)、読み出した方式識別子355「P_1」をセキュリティ管理装置600へ送信し、更新開始を要求する(ステップS1076)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介してホームサーバ装置1100から、方式識別子「P_1」と更新開始要求を受信すると、HS用無効暗号方式一覧1621と受信した方式識別子「P_1」とを基に、プログラムファイルPii 651を読み出す(ステップS1077)。次に、読み出したプログラムファイルPII 651を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1078)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介してプログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出し(ステップS1081)、抽出した方式識別子「P_2」と現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1082)。次に、暗号方式リスト1133において、方式識別子「P_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1084)。
次に、更新部1106は、受信したプログラムファイルPiiから、認証部更新プログラムを抽出し(ステップS1086)、抽出した認証部更新プログラムの示す手順に従って、認証部103を書き換える(ステップS1087)。次に、記憶部1110の第2更新フラグ182を「0」に書き換える(ステップS1089)。
セキュリティ管理装置1600の制御部1107は、プログラムファイルPiiを送信し終えると、秘密鍵SK_L2と公開鍵PK_L2の鍵ペアを生成し(ステップS1091)、認証局から公開鍵PK_L2の公開鍵証明書Cert_L2を取得する(ステップS1092)。続いて、インターネット20を介してホームサーバ装置1100に装置IDを要求する(ステップS1094)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から装置IDの要求を受信する。装置IDの要求を受信すると、記憶部1110から、装置ID1131「H001A」を読み出す(ステップS1096)。次に、更新部1106は、暗号方式リスト1133から、方式識別子「E_1」と対応する導入日と方式識別子「B_1」と対応する導入日とを読み出し、両者を比較する(ステップS1097)。「E_1」と対応する導入日のほうが新しい場合(ステップS1097のE_1>B_1)、方式識別子「E_1」を更新用暗号識別子とする(ステップS1098)。
「B_1」と対応する導入日のほうが新しい場合(ステップS1097のB_1>E_1)、更新部1106は、方式識別子「B_1」を更新用暗号方式とする(ステップS1101)。
次に、更新部1106は、更新用暗号識別子と読み出した装置ID1131「H001A」とを、インターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1103)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から、更新用暗号識別子と装置ID「H001A」とを受信し、受信した装置ID「H001A」を基に、情報記憶部1610に記憶されているNW緊急鍵リスト1691から、NW緊急鍵Ke001を読み出す(ステップS1104)。読み出したNW緊急鍵Ke001を用いて、受信した更新用暗号識別子の示す暗号方式により、秘密鍵SK_L2及び公開鍵証明書Cert_L2を暗号化して、暗号化秘密鍵と暗号化公開鍵証明書とを生成する(ステップS1106)。生成した暗号化秘密鍵と暗号化公開鍵証明書と受信した更新用暗号識別子とをインターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1108)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、セキュリティ管理装置1600から暗号化秘密鍵と暗号化公開鍵証明書と更新用暗号識別子とを受信し、記憶部1110からNW緊急鍵Ke001 1132を読み出す(ステップS1111)。
次に、更新部1106は、受信した更新用暗号識別子に応じて、復号部109又は放送暗号処理部1118へ、読み出したNW緊急鍵Ke001 1132を出力し、受信した暗号化秘密鍵と暗号化公開鍵証明書の復号を指示する。
復号部109又は放送暗号処理部1118は、NW緊急鍵Ke001を用いて、暗号化秘密鍵と暗号化公開鍵証明書を復号して秘密鍵SK_L2と公開鍵証明書Cert_L2とを生成する(ステップS1112)。
更新部1106は、秘密鍵SK_L2と公開鍵証明書Cert_L2とを記憶部1110に書き込み(ステップS1112)、暗号方式リスト1133から、方式識別子「P_1」を含む暗号方式情報1144を削除する(ステップS1116)。次に、更新部1106は、第2更新フラグ182を「1」に書き換える。
(4)ホームサーバ装置のインターネット経由の放送用暗号方式の更新
ホームサーバ装置1100の、インターネット20を経由した放送用暗号方式の更新について、図68〜70に示すフローチャートを用いて説明する。これは、図63のステップS1011の詳細である。
セキュリティ管理装置1600は、方式識別子「B_1」の示す暗号方式の更新命令を生成し(ステップS1131)、生成した更新命令をホームサーバ装置1100へ送信する(ステップS1132)。
ホームサーバ装置1100の更新部1106は、インターネット20を介して、方式識別子「B_1」の示す暗号方式の更新命令を受信する。更新命令を受信すると、更新部1106は、記憶部1110の記憶している暗号方式リスト1133から方式識別子「B_1」を読み出し(ステップS1133)、読み出した方式識別子「B_1」と更新開始要求とをインターネット20を介して、セキュリティ管理装置1600へ送信する(ステップS1134)。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、ホームサーバ装置1100から方式識別子「B_1」及び更新開始要求を受信し、HS用無効暗号方式一覧1621内において、受信した方式識別子「B_1」を含む暗号方式情報1627を選択し、選択した暗号方式情報1627に含まれるプログラムファイル名を基に、プログラムファイルBii 1681を読み出す(ステップS1027)。次に、制御部1607は、読み出したプログラムファイルBii 1681を、インターネット20を介してホームサーバ装置1100へ送信する(ステップS1139)。
ホームサーバ装置1100の、更新部1106は、インターネット20を介して、セキュリティ管理装置1600からプログラムファイルBiiを受信し、受信したプログラムファイルBiiから方式識別子「B_2」を抽出する(ステップS1141)。抽出した方式識別子「B_2」と、現在日時と最新フラグ「1」とを含む暗号方式情報を生成し、生成した暗号方式情報を暗号方式リスト1133に追加する(ステップS1142)。次に、暗号方式リスト1133において、方式識別子「B_1」を含む暗号方式情報の最新フラグを「0」に書き換える(ステップS1144)。
次に、更新部1106は、受信したプログラムファイルBiiから放送暗号処理部更新プログラムを読み出し(ステップS1146)、読み出した放送暗号処理部更新プログラムに基づいて、放送暗号処理部1118を構成するFPGAを書き換える(ステップS1147)。次に、更新部1106は、記憶部1110の記憶している第3更新フラグ181を「0」に書き換える(ステップS1149)。
次に、更新部1106は、認証部103にSAC確立を指示し、認証部103は、セキュリティ管理装置1600との間にSACを確立する(ステップS1151)。なお、ステップS1151の詳細は、図52〜53に示すとおりである。
SAC確立が終了すると、セキュリティ管理装置1600の制御部1607は、認証部603からセッション鍵Kfを受け取り、受け取ったセッション鍵Kfの先頭から256ビットを抽出して、共通鍵K_B2Fを生成する(ステップS1152)。次に、情報記憶部1610のHS用無効暗号方式一覧1621から放送鍵BK_2を読み出し(ステップS1153)、生成した共通鍵K_B2Fを用いて、読み出した放送鍵BK_2を、方式識別子「B_2」の示す暗号方式により暗号化して、暗号化放送鍵EncB2(K_B2F,BK_2)を生成する(ステップS1156)。生成した暗号化放送鍵EncB2(K_B2E,BK_2)と方式識別子「B_2」とを、インターネット20を介して、ホームサーバ装置1100へ送信する(ステップS1157)。
ホームサーバ装置1100の更新部1106は、インターネット20及び通信部1104を介して、セキュリティ管理装置1600から方式識別子「B_2」と暗号化放送鍵EncB2(K_B2E,BK_2)とを受信する。これらを受信すると、更新部1106は、認証部103により生成されたセッション鍵Kf’と、受信した暗号化放送鍵EncB2(K_B2E,BK_2)とを、放送暗号処理部へ出力し、暗号化放送鍵EncB2(K_B2E,BK_2)の復号を指示する。
放送暗号処理部1118は、受け取ったセッション鍵Kf’の先頭から256ビットを抽出して、共通鍵共通鍵K_B2F’を生成し(ステップS1159)、生成した共通鍵K_B2F’を用いて、方式識別子「B_2」の示す暗号方式により、暗号化放送鍵EncB2(K_B2E,BK_2)を復号する(ステップS1161)。次に、生成した放送鍵BK_2を更新部1106へ出力する。
更新部1106は、復号部1108から放送鍵BK_2を受け取り、受け取った放送鍵BK_2を記憶部1110に書き込む(ステップS1163)。次に、更新部1106は、暗号方式リスト1133から方式識別子「B_1」を含む暗号方式情報1146を削除し(ステップS1164)、記憶部1110の記憶している第3更新フラグ181を「1」に書き換える(ステップS1166)。
(5)放送によるホームサーバ装置の共通鍵暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図71に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルEiiを読み出し(ステップS1201)、読み出したプログラムファイルEiiを放送波に載せて送信する(ステップS1202)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルEiiを受信し、受信したプログラムファイルEiiから方式識別子「E_2」を抽出する(ステップS1204)、暗号方式リスト1133において、抽出した方式識別子「E_2」を検索し、方式識別子「E_2」が存在すると判断すると(ステップS1206のYES)、そのまま、処理を終了し、メモリカード300からの転送によりデバイス鍵を取得する。
暗号方式リスト1133上に、方式識別子「E_2」が存在しない判断すると(ステップS1206のNO)、受信したプログラムファイルEiiを基に暗号部108及び復号部109を更新する(ステップS1207)。なお、ステップS1207の詳細は、図63〜64のステップS1032〜ステップS1042と同様である。
次に、インターネット通信が可能であれば(ステップS1208のYES)、受信したプログラムファイルEiiに含まれる方式識別子「E_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1209)、ステップS1044へ処理を移す。
インターネット通信ができなければ(ステップS1208のNO)、メモリカード300からの転送によりデバイス鍵を取得する。なお、メモリカードからのデバイス鍵の転送は、実施の形態1において、図43〜43のフローチャートを用いて説明した通りであるので、ここでは、説明を省略する。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「E_2」及び鍵要求を受信し、ステップS1044へ処理を移す。
(6)放送によるホームサーバ装置の公開鍵暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図72に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルPiiを読み出し(ステップS1221)、読み出したプログラムファイルPiiを放送波に載せて送信する(ステップS1222)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルPiiを受信し、受信したプログラムファイルPiiから方式識別子「P_2」を抽出する(ステップS1224)、暗号方式リスト1133において、抽出した方式識別子「P_2」を検索し、方式識別子「P_2」が存在すると判断すると(ステップS1226のYES)、そのまま、処理を終了し、メモリカード300からの転送により秘密鍵及び公開鍵証明書を取得する。
暗号方式リスト1133上に、方式識別子「P_2」が存在しない判断すると(ステップS1226のNO)、受信したプログラムファイルPiiを基に認証部103を更新する(ステップS1228)。なお、ステップS1228の詳細は、図65〜66のステップS1082〜ステップS1089と同様である。
次に、インターネット通信が可能であれば(ステップS1229のYES)、受信したプログラムファイルPiiに含まれる方式識別子「P_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1231)、ステップS1094へ処理を移す。
インターネット通信ができなければ(ステップS1229のNO)、メモリカード300からの転送により秘密鍵及び公開鍵証明書を取得する。なお、メモリカード300からの秘密鍵及び公開鍵証明書の転送は、実施の形態1において、図50〜51のフローチャートを用いて説明した通りであるので、ここでは、説明を省略する。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「P_2」及び鍵要求を受信し、ステップS1091へ処理を移す。
(7)放送によるホームサーバ装置の放送用暗号方式の更新処理
放送局1070からの放送により、共通鍵暗号方式の更新を開始する場合のホームサーバ装置1100の動作について、図73に示すフローチャートを用いて説明する。
放送局1070は、セキュリティ管理装置1600から受信したプログラムファイルBiiを読み出し(ステップS1241)、読み出したプログラムファイルBiiを放送波に載せて送信する(ステップS1242)。
ホームサーバ装置1100の更新部1106は、受信部101を介して、プログラムファイルBiiを受信し、受信したプログラムファイルBiiから方式識別子「B_2」を抽出する(ステップS1244)、暗号方式リスト1133において、抽出した方式識別子「B_2」を検索し、方式識別子「B_2」が存在すると判断すると(ステップS1246のYES)、そのまま、処理を終了する。
暗号方式リスト1133上に、方式識別子「B_2」が存在しない判断すると(ステップS1246のNO)、受信したプログラムファイルBiiを基に放送暗号処理部1118を更新する(ステップS1228)。なお、ステップS1248の詳細は、図68〜69のステップS1142〜ステップS1149と同様である。
次に、インターネット通信が可能であれば(ステップS1251のYES)、受信したプログラムファイルBiiに含まれる方式識別子「B_2」と鍵要求とをインターネット20を介して、セキュリティ管理装置1600へ送信し(ステップS1252)、ステップS1151へ処理を移す。
インターネット通信ができなければ(ステップS1251のNO)、更新部1106は、時間の計測を開始し(ステップS1254)、24時間経過すると(ステップS1256)、再度ステップS1251へ、処理を移す。
セキュリティ管理装置1600の制御部1607は、インターネット20を介して、方式識別子「B_2」及び鍵要求を受信し、ステップS1151へ処理を移す。
2.6 まとめ・効果
以上、説明してきたように、アップデートシステム11において、ホームサーバ装置1100は、共通鍵暗号方式、公開鍵暗号方式及び放送用暗号方式を使用している。
ホームサーバ装置1100は、放送又はインターネットを介して、これらの暗号方式を更新するためのプログラムを取得し、新しい暗号方式を導入する。インターネットを経由して、セキュリティ管理装置1600から更新用のプログラムを取得すると、続いて、インターネットを経由して、セキュリティ管理装置1600から、新しい暗号方式に使用する鍵を取得する。
放送を介して、放送局1070からプログラムを取得したとき、インターネット通信が可能であれば、インターネットを介して新しい暗号方式に使用する鍵を取得する。インターネット通信ができない場合、メモリカード300から、鍵を取得する。
このようにすることで、ホームサーバ装置1100がインターネットに接続されている場合には、ホームサーバ装置1100が自発的に、暗号方式の安全性を問合せ、暗号方式の更新を開始する。
また、ホームサーバ装置1100がインターネットに接続されていない場合、ネットワークに以上が発生し、インターネットに接続できない場合、放送及びメモリカード300を介してプログラム及び鍵を取得し、新たな暗号方式を導入することができる。
従って、ホームサーバ装置1100の設置されている場所の電波受信状況やネットワーク環境に応じて、最も適した方法により、暗号方式を更新することができる。
なお、上記の実施の形態では、特に説明していないが、共通鍵暗号方式、公開鍵暗号方式、放送用暗号方式のうち、2つが解読された場合、残る1つの暗号方式により、解読された2つの暗号方式を、順次更新する。
3. その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態において、DVD500a及びDVD500bに記憶されている暗号化コンテンツ鍵と暗号化コンテンツは、同一の共通鍵暗号方式により生成されているが、それぞれ、異なる暗号方式により生成されるとしてもよい。
(2)上記の実施の形態において、ホームサーバ装置100の暗号部108、復号部109及び認証部103は、FPGA素子により構成されるが、FPGA素子に代わって、CPLD(Complex Programable Logic Device、リコンフィギュアラブルLSIともいう)により構成されるとしてもよい。
(3)上記の実施の形態1及び2において、ホームサーバ装置における暗号化、復号及びSAC確立の処理は、FPGA上の回路により実行されるが、メモリカード300と同様に、暗号化、復号及びSAC確立の手順を含んだコンピュータプログラムを記憶しており、これらのプログラムを構成する命令をプロセッサが実行することにより、暗号化、復号及びSAC確立を実現してもよい。
(4)上記の変形例(3)において、暗号方式の更新により、新しい暗号方式に基づくプログラムを取得した後、更新の前から、記憶しているプログラムを必ずしも削除する必要はない。
この場合、記憶部には、実施の形態2において説明したような構成の暗号方式リストが記憶されている。暗号方式リストには、暗号方式の更新前からホームサーバ装置1100の記憶しているプログラムと対応する暗号方式情報及び、暗号方式の更新後により新たに取得したプログラムと対応する暗号方式情報が含まれている。ホームサーバ装置の制御部及び更新部は、暗号部又は放送暗号処理部へ暗号化を指示する際に、暗号方式リストの最新フラグ又は導入日に基づいて、最新の暗号方式と対応する方式識別子を暗号部又は放送暗号処理部へ出力し、暗号化には、解読された暗号方式を用いないように制御する。
(5)上記の実施の形態では、メモリカード300は、携帯電話700を介してセキュリティ管理装置600から新たな暗号方式による暗号化及び復号の手順を含んだコンピュータプログラムを取得し、導入している。また、セキュリティ管理装置600から新しい暗号方式に対応した鍵及び公開鍵証明書を受信している。
これらのコンピュータプログラム、鍵及び公開鍵証明書をセキュリティ管理装置600から受信する代わりに、メモリカード300の製造メーカーにより、これらのコンピュータプログラム、鍵及び公開鍵証明書が書き込まれ、配布又は販売されるとしてもよい。
(6)上記の実施の形態2において、ホームサーバ装置1100の更新部1106は、定期的に、セキュリティ管理装置1600へ、ホームサーバ装置1100の使用している暗号方式の安全性を確認し、セキュリティ管理装置1600から更新命令を受信した場合に、暗号方式の更新を開始しているが、更新開始の手順は、これに限るものではない。
例えば、ホームサーバ装置1100は、自身の使用している暗号方式が、解読されたか否かにかかわらず、定期的に、暗号方式の更新を試みるようにしても良い。
例えば、ホームサーバ装置1100は、1ヶ月おきに、共通鍵暗号方式の更新開始要求をセキュリティ管理装置1600に送信する。セキュリティ管理装置1600は、共通鍵暗号方式の更新開始要求を受け取ると、その時点で、最新の共通鍵暗号方式を導入するためのプログラムを含むプログラムファイルEiiをホームサーバ装置1100へ送信する。ホームサーバ装置1100は、セキュリティ管理装置1600から、プログラムファイルEiiを受信し、以下、実施の形態2において説明した手順で、方式識別子「E_2」の示す暗号方式を導入する。
公開鍵暗号方式、放送用暗号方式についても、同様に、解読されたか否かにかかわらず、定期的に、暗号方式の更新を試みる。
(7)また、実施の形態2において、ホームサーバ装置1100の更新部1106は、外部からの指示により、暗号方式の更新を開始しても良い。
例えば、DVDに、ホームサーバ装置1100が備えている必要のある暗号方式を示す情報が記録されており、ホームサーバ装置1100は、DVDに記録されている情報の示す暗号方式を、備えていない場合に、暗号方式の更新を開始する。
また、利用者の操作によって、暗号方式の更新を開始するとしても良い。
(8)実施の形態2において、公開鍵暗号方式を更新する際に、更新部1106は、この時点で、ホームサーバ装置1100の備えている共通鍵暗号方式と放送用暗号方式の導入日を比較し、導入日の新しい暗号方式を用いて、新たな公開鍵暗号方式に用いられる秘密鍵及び公開鍵証明書を取得している。
しかし、秘密鍵等を取得するために何れの暗号方式を用いるかを、決める方法は、これに限るものではなく、例えば、ホームサーバ装置1100は、各暗号方式の暗号強度を記憶しており、暗号強度のより強い暗号方式を用いるとしても良い。
各暗号方式の暗号強度は、その暗号方式を導入する際に、プログラムファイルに含んでセキュリティ管理装置1600又は放送局1070から取得する。
また、利用者の操作により、何れの暗号方式を用いるかを、選択しても良い。
(9)実施の形態1、実施の形態2及び上記の変形例において、ホームサーバ装置及びメモリカードは、平文のプログラムを含むプログラムファイルを取得しているが、これに代わって、各プログラムファイルに含まれるプログラム、方式識別子、鍵長を暗号化して生成された暗号化プログラム、暗号化方式識別子、暗号化鍵長及び暗号化に用いた暗号方式を示す方式識別子を含むプログラムファイルを取得するとしても良い。
例えば、方式識別子「P_1」の示す暗号方式が解読された場合、ホームサーバ装置は、暗号化認証部更新プログラム、暗号化方式識別子及びこれらの生成に用いられた暗号方式を示す方式識別子「E_1」を含むプログラムファイルを取得する。このとき、暗号化認証部更新プログラムなどの生成に用いられる暗号鍵は、一例として、NW緊急鍵を用いる。
(10)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(11)また、上記の実施の形態及び上記の変形例を組み合わせてもよい。
本発明は、暗号技術を利用してデジタルデータを利用者に提供する産業、暗号技術を利用した秘密通信によりデジタルデータの交換を行う産業及び前記デジタルデータを処理することができるコンピュータシステムを生産し販売する産業において、経営的に、また継続的かつ反覆的に利用することができる。
アップデートシステム10の構成を示す構成図である。 DVD500a、500b及び500cに記憶されているプログラム及びデータの構成を示す構成図である。 セキュリティ管理装置600の構成を示すブロック図である。 無効暗号方式一覧621の詳細を示す。 SD鍵リストの詳細を示す。 プログラムファイルEii 641及びプログラムファイルPii 651に含まれる情報の詳細を示す。 プログラムファイルEII 661及びプログラムファイルPII 671に含まれる情報の詳細を示している。 暗号化制御プログラムOE2による処理内容を示したフローチャートである。 暗号化アプリプログラムAE2による処理内容を示したフローチャートである。 復号制御プログラムOD2による処理内容を示したフローチャートである。 復号アプリプログラムAD2による処理内容を示したフローチャートである。 暗号化アプリプログラムAPE2による処理内容を示したフローチャートである。 復号アプリプログラムAPD2による処理内容を示したフローチャートである。 携帯電話700の表示部に表示される緊急画面の一例を示す。 ホームサーバ装置100の構成を示すブロック図である。 記憶部110に記憶されている情報の一例を示す。 メモリカード300の構成を示すブロック図である。 セキュア領域320に記憶されている情報の一例を示す。 プログラムメモリ311に記憶されている情報の一例を示す。 暗号方式更新後のプログラムメモリ311に記憶されている情報の一例を示す。 暗号化制御プログラムOE1による処理内容を示したフローチャートである。 暗号化アプリプログラムAE1による処理内容を示したフローチャートである。 復号制御プログラムOD1による処理内容を示したフローチャートである。 復号アプリプログラムAD1による処理内容を示したフローチャートである。 暗号化アプリプログラムAPE1による処理内容を示したフローチャートである。 復号アプリプログラムAPD1による処理内容を示したフローチャートである。 携帯電話700の構成を示すブロック図である。 ホームサーバ装置100とメモリカード300の緊急鍵共有の動作を示したフローチャートである。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 ホームサーバ装置100によるメモリカードへのコンテンツ書き込み動作を示したフローチャートである。図29から続く。 携帯電話700でのコンテンツ再生の動作を示すフローチャートである。 ホームサーバ装置100による共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置100による公開鍵暗号方式の更新の動作を示すフローチャートである。 メモリカード300による暗号方式更新の動作を示すフローチャートである。 セキュリティ管理装置600及びメモリカード300による特別処理の動作を示すフローチャートである。 セキュリティ管理装置600による安全通知処理の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式の更新の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式のプログラム導入の動作を示したフローチャートである。 メモリカード300による共通鍵暗号方式のプログラム導入の動作を示したフローチャートである。図40から続く。 メモリカード300によるデバイス鍵取得の動作を示したフローチャートである。 メモリカード300によるデバイス鍵の転送の動作を示したフローチャートである。 メモリカード300によるデバイス鍵の転送の動作を示したフローチャートである。図43から続く。 メモリカード300による公開鍵暗号方式の更新の動作を示したフローチャートである。 メモリカード300による公開鍵暗号方式のプログラム導入の動作を示したフローチャートである。 メモリカード300による公開鍵暗号方式のプログラム導入の動作を示したフローチャートである。図46から続く。 メモリカード300による秘密鍵及び公開鍵証明書の取得の動作を示したフローチャートである。 メモリカード300による秘密鍵及び公開鍵証明書の取得の動作を示したフローチャートである。図48から続く。 メモリカード300による秘密鍵及び公開鍵証明書の転送の動作を示すフローチャートである。 メモリカード300による秘密鍵及び公開鍵証明書の転送の動作を示すフローチャートである。図50から続く。 二つの機器間のSAC確立の動作を示すフローチャートである。 二つの機器間のSAC確立の動作を示すフローチャートである。図52から続く。 アップデートシステム11の構成を示す構成図である。 セキュリティ管理装置1600の構成を示すブロック図である。 HS無効暗号方式一覧1621の詳細を示す。 NW緊急鍵リスト1691の詳細を示す。 プログラムファイルBii 1681に含まれる情報を示す。 ホームサーバ装置1100の構成を示すブロック図である。 記憶部1110に記憶されている情報の一例を示す。 暗号方式の更新前の暗号方式リスト1133(a)及び更新後の暗号方式リスト1133(b)の詳細を示す。 ホームサーバ装置1100による、インターネット経由の暗号方式の更新開始の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の共通鍵暗号方式の更新の動作を示すフローチャートである。図63から続く。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。図65から続く。 ホームサーバ装置1100による、インターネット経由の公開鍵暗号方式の更新の動作を示すフローチャートである。図65から続く。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。図68から続く。 ホームサーバ装置1100による、インターネット経由の放送用暗号方式の更新の動作を示すフローチャートである。図68から続く。 ホームサーバ装置1100の、放送による共通鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100の、放送による公開鍵暗号方式の更新の動作を示すフローチャートである。 ホームサーバ装置1100の、放送による放送用暗号方式の更新の動作を示すフローチャートである。
符号の説明
10 アップデートシステム
20 インターネット
50 パーソナルコンピュータ
70 放送局
100 ホームサーバ装置
101 受信部
101 送受信部
102 入出力部
103 認証部
106 更新部
107 制御部
108 暗号部
109 復号部
110 記憶部
112 表示部
113 入力部
114 アンテナ
115 入出力部
124 緊急鍵リスト
300 メモリカード
302 入出力部
303 認証部
306 更新部
307 制御部
308 暗号部
309 復号部
310 情報記憶部
500a DVD
500b DVD
600 セキュリティ管理装置
601 送受信部
603 認証部
607 制御部
610 情報記憶部
621 無効暗号方式一覧
612 入力部
612 表示部
613 入力部
700 携帯電話
1071 セキュリティ管理装置
1100 ホームサーバ装置
1600 セキュリティ管理装置

Claims (19)

  1. 複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、
    前記複数の暗号方式のうちの1の暗号方式を選択し、選択された基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入する
    ことを特徴とする情報セキュリティ装置。
  2. 前記情報セキュリティ装置は、
    前記他の暗号方式の導入の指示を取得する取得手段と、
    前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、
    選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、
    前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段と、
    を備えることを特徴とする請求項1に記載の情報セキュリティ装置。
  3. 前記選択手段は、前記複数の暗号方式のうち、当該情報セキュリティ装置に最後に導入されたものを、前記基軸暗号方式として選択する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  4. 前記選択手段は、前記複数の暗号方式のうち、暗号強度の最も高いものを、前記基軸暗号方式として選択する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  5. 前記選択手段は、
    前記複数の暗号方式のうち、外部からいずれか1つを示す選択指示を取得する指示取得部と、
    取得した選択指示に従って前記基軸暗号方式を選択する選択部とを含む
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  6. 前記取得手段は、前記導入の指示として、前記複数の暗号方式のうち何れかの解読された暗号方式を識別する識別情報を取得し、
    前記選択手段は、前記複数の暗号方式のうち、前記識別情報の示すもの以外の暗号方式を前記基軸暗号方式として選択する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  7. 前記暗号処理手段は、前記識別情報により示される暗号方式以外の暗号方式に基づいて、前記情報を安全に扱う
    ことを特徴とする請求項6に記載の情報セキュリティ装置。
  8. 前記暗号処理手段は、前記識別情報により示される前記暗号方式を、暗号文の復号にのみ用いる
    ことを特徴とする請求項6に記載の情報セキュリティ装置。
  9. 前記情報セキュリティ装置は、さらに、
    前記識別情報により示される前記暗号方式を削除する削除手段
    を含むことを特徴とする請求項6に記載の情報セキュリティ装置。
  10. 前記他の暗号方式は、当該暗号方式を実現する手順を示すアルゴリズムと、秘密の鍵情報とから構成され、
    前記導入手段は、前記他の暗号方式を実現する手順を示すアルゴリズムを外部の装置から取得し、選択された前記基軸暗号方式を用いて、前記外部の装置から前記鍵情報を安全に取得し、取得した前記アルゴリズムと前記鍵情報とを内部に保持する
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  11. 前記暗号処理手段は、
    鍵記憶部と演算実行部とを備え、
    前記鍵記憶部は、前記複数の暗号方式のそれぞれに対応する複数の鍵情報を記憶しており、
    前記演算実行部は、前記複数の暗号方式による暗号回路と、少なくともその一部が書き換え可能な論理回路とから構成されており、
    前記導入手段は、
    前記論理回路上において前記他の暗号方式による暗号回路を構築する手順を示す手順情報を取得する手順取得部と、
    前記基軸暗号方式を用いて、秘密の鍵情報を安全に取得し、取得した前記鍵情報を前記鍵記憶部に書き込む鍵取得手段と、
    取得した手順情報により示される手順に従って、前記論理回路上に前記他の暗号方式による暗号回路を構築する構築部とを含む
    ことを特徴とする請求項2に記載の情報セキュリティ装置。
  12. 前記手順取得部は、ネットワークを介してサーバ装置から、前記手順情報を取得する
    ことを特徴とする請求項11に記載の情報セキュリティ装置。
  13. 前記ネットワークは、デジタル放送の放送ネットワークであり、
    前記手順取得部は、前記放送波を受信し、受信した前記放送波から前記手順情報を抽出することにより、前記手順情報を取得する
    ことを特徴とする請求項12に記載の情報セキュリティ装置。
  14. 可搬型記録媒体は、前記基軸暗号方式を用いて、暗号化された前記鍵情報を記憶しており、
    前記鍵取得部は、前記可搬型記録媒体から、前記暗号化鍵情報を読み出し、前記基軸暗号方式を用いて、読み出した前記暗号化鍵情報を復号して、前記鍵情報を取得する
    ことを特徴とする請求項11に記載の情報セキュリティ装置。
  15. 前記鍵取得部は、ネットワークを介して、前記基軸暗号方式を用いて暗号化された前記鍵情報を取得し、前記基軸暗号方式を用いて、取得した前記暗号化鍵情報を復号して、前記鍵情報を取得する
    ことを特徴とする請求項11に記載の情報セキュリティ装置。
  16. 複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置と、前記複数の暗号方式以外の他の暗号方式を供給するサーバ装置とから構成される情報セキュリティシステムであって、
    前記サーバ装置は、
    前記他の暗号方式を供給する供給手段を備え、
    前記情報セキュリティ装置は、
    前記他の暗号方式の導入の指示を取得する取得手段と、
    前記複数の暗号方式から、前記基軸暗号方式を選択する選択手段と、
    選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入手段と、
    前記複数の暗号方式及び導入された前記他の暗号方式のうち、1以上の暗号方式に基づいて、前記情報を安全に扱う暗号処理手段とを備える
    ことを特徴とする情報セキュリティシステム。
  17. 複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、前記複数の暗号方式のうちの1の基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入する前記情報セキュリティ装置において用いられる暗号方式導入方法であって、
    前記他の暗号方式の導入の指示を取得する取得ステップと、
    前記複数の暗号方式から、前記基軸暗号方式を選択する選択ステップと、
    選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入ステップと
    を含むことを特徴とする暗号方式導入方法。
  18. 複数の暗号方式を有し、情報を安全かつ確実に扱う情報セキュリティ装置であって、前記複数の暗号方式のうちの1の基軸暗号方式に基づいて、前記複数の暗号方式以外の他の暗号方式を導入する前記情報セキュリティ装置において用いられる暗号方式導入プログラムであって、
    前記他の暗号方式の導入の指示を取得する取得ステップと、
    前記複数の暗号方式から、前記基軸暗号方式を選択する選択ステップと、
    選択された前記基軸暗号方式に基づいて、前記他の暗号方式を導入する導入ステップと
    を含むことを特徴とする暗号方式導入プログラム。
  19. 前記暗号方式導入プログラムは、
    コンピュータ読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項15に記載の暗号方式導入プログラム。
JP2006511923A 2004-03-30 2005-03-08 暗号化方式のアップデートシステム Withdrawn JPWO2005099168A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004100072 2004-03-30
JP2004100072 2004-03-30
PCT/JP2005/003993 WO2005099168A1 (ja) 2004-03-30 2005-03-08 暗号化方式のアップデートシステム

Publications (1)

Publication Number Publication Date
JPWO2005099168A1 true JPWO2005099168A1 (ja) 2008-03-06

Family

ID=35125437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006511923A Withdrawn JPWO2005099168A1 (ja) 2004-03-30 2005-03-08 暗号化方式のアップデートシステム

Country Status (6)

Country Link
US (1) US20080235517A1 (ja)
EP (1) EP1715616A1 (ja)
JP (1) JPWO2005099168A1 (ja)
KR (1) KR20060132011A (ja)
CN (1) CN1938983A (ja)
WO (1) WO2005099168A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363837B2 (en) * 2005-02-28 2013-01-29 HGST Netherlands B.V. Data storage device with data transformation capability
EP1942437A4 (en) * 2005-10-26 2012-08-01 Panasonic Corp DATA PROCESSING DEVICE
US20080244267A1 (en) * 2007-03-30 2008-10-02 Intel Corporation Local and remote access control of a resource
US20080313085A1 (en) * 2007-06-14 2008-12-18 Motorola, Inc. System and method to share a guest version of rights between devices
JP5159455B2 (ja) * 2008-06-16 2013-03-06 キヤノン株式会社 放送受信装置及び方法
JP2010049559A (ja) * 2008-08-22 2010-03-04 Toshiba Corp 記憶装置及び記録再生システム
JP5272637B2 (ja) * 2008-10-14 2013-08-28 ソニー株式会社 情報処理装置、暗号切替方法、及びプログラム
JP4496266B1 (ja) * 2008-12-25 2010-07-07 株式会社東芝 暗号化プログラム運用管理システムおよびプログラム
KR101598409B1 (ko) 2009-06-17 2016-03-02 삼성전자주식회사 컨텐츠 암호화 방법, 컨텐츠 복호화 방법 및 이를 적용한 전자기기
US8411861B2 (en) * 2009-10-21 2013-04-02 Intel Corporation Apparatus, systems, and methods for checking if a receiver is on a revocation list based on SRMs of DVDs
JP5515904B2 (ja) * 2010-03-17 2014-06-11 株式会社リコー 情報処理システム、管理装置、情報処理装置、インストール処理方法、プログラム及び記憶媒体
CN101820345A (zh) * 2010-03-25 2010-09-01 广东泛在无线射频识别公共技术支持有限公司 基于多个密钥的通讯加密方法
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US8516268B2 (en) * 2010-08-23 2013-08-20 Raytheon Company Secure field-programmable gate array (FPGA) architecture
US8763075B2 (en) * 2011-03-07 2014-06-24 Adtran, Inc. Method and apparatus for network access control
US20120303533A1 (en) * 2011-05-26 2012-11-29 Michael Collins Pinkus System and method for securing, distributing and enforcing for-hire vehicle operating parameters
US20130060721A1 (en) 2011-09-02 2013-03-07 Frias Transportation Infrastructure, Llc Systems and methods for pairing of for-hire vehicle meters and medallions
US8699715B1 (en) * 2012-03-27 2014-04-15 Emc Corporation On-demand proactive epoch control for cryptographic devices
WO2015075796A1 (ja) * 2013-11-21 2015-05-28 株式会社 東芝 コンテンツ管理システム、ホスト装置及びコンテンツ鍵アクセス方法
US20150242640A1 (en) * 2014-02-24 2015-08-27 Western Digital Technologies, Inc. Encryption key selection
US11223528B2 (en) * 2017-01-27 2022-01-11 Box. Inc. Management of cloud-based shared content using predictive cost modeling
US20190140851A1 (en) * 2017-11-09 2019-05-09 iMQ Technology Inc. Secure logic system with physically unclonable function
US11233647B1 (en) * 2018-04-13 2022-01-25 Hushmesh Inc. Digital identity authentication system
KR20210055675A (ko) * 2018-09-04 2021-05-17 소니 주식회사 Ic 카드, 처리 방법 및 정보 처리 시스템
CN110061962B (zh) * 2019-03-11 2021-12-17 视联动力信息技术股份有限公司 一种视频流数据传输的方法和装置
CN110059499A (zh) * 2019-03-22 2019-07-26 华为技术有限公司 一种文件访问权限认证方法及电子设备
KR20210006707A (ko) * 2019-07-09 2021-01-19 현대자동차주식회사 텔레매틱스 서비스 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2205667B (en) * 1987-06-12 1991-11-06 Ncr Co Method of controlling the operation of security modules
US4972478A (en) * 1989-07-03 1990-11-20 Motorola, Inc. Soft logic cryptographic circuit
US6101255A (en) * 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
JPH11143780A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd データベースにおける秘密情報管理方法およびデータベースの秘密情報管理装置
CN100373842C (zh) * 1998-04-01 2008-03-05 松下电器产业株式会社 数据发送和接收方法、数据发送设备以及数据接收设备
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US7330978B1 (en) * 1999-04-08 2008-02-12 Microsoft Corporation Encrypted software installer
US6622050B2 (en) * 2000-03-31 2003-09-16 Medtronic, Inc. Variable encryption scheme for data transfer between medical devices and related data management systems
JP3893881B2 (ja) * 2001-02-16 2007-03-14 株式会社日立製作所 ソフトウェア無線機および無線システム、ソフトウェア無線機の認定方式
US7350082B2 (en) * 2001-06-06 2008-03-25 Sony Corporation Upgrading of encryption
JP3773431B2 (ja) * 2001-09-20 2006-05-10 松下電器産業株式会社 鍵実装システムおよびこれを実現するためのlsi、並びに鍵実装方法
JP2003304235A (ja) * 2002-04-10 2003-10-24 Sony Corp 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法

Also Published As

Publication number Publication date
CN1938983A (zh) 2007-03-28
KR20060132011A (ko) 2006-12-20
US20080235517A1 (en) 2008-09-25
EP1715616A1 (en) 2006-10-25
WO2005099168A1 (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
JPWO2005099168A1 (ja) 暗号化方式のアップデートシステム
JP6416402B2 (ja) クラウドストレージ方法及びシステム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP6348004B2 (ja) 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム
JP2018157432A (ja) 生成装置、検証装置、及びプログラム
JP2024512110A (ja) データ伝送方法、装置、電子機器及び記憶媒体
JP2018124513A (ja) 分類装置、分類方法及び分類プログラム
JP4724120B2 (ja) 暗号化装置、鍵配布装置、鍵配布システム
JP5750728B2 (ja) 鍵共有システム、鍵生成装置、及びプログラム
JP7406777B1 (ja) 鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するネットワークストレージ
WO2023065772A1 (zh) 日志数据处理方法及装置、存储介质和电子设备
JP6939313B2 (ja) 分散認証システム
JP5784662B2 (ja) 暗号化データ演算システム、装置及びプログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP6433448B2 (ja) 暗号化システム、暗号化方法、及び暗号化プログラム
CN113169862B (zh) 信息处理方法、终端设备及网络系统
JP2000221881A (ja) 電子署名端末装置、電子署名管理装置および電子署名システム
JP2015023550A (ja) データ復号システム及びプログラム
KR20150101896A (ko) 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법
WO2023218573A1 (ja) 鍵交換システム、qkd装置、拠点装置、方法、及びプログラム
CN112637638B (zh) 密钥免交互的视频交互方法、装置、电子设备及存储介质
CN111480313B (zh) 通信终端、服务器装置、记录介质
JP2006311136A (ja) 端末、及び、この端末に適用されるプログラム
JP2009135722A (ja) コンテンツ管理システム、コンテンツ管理方法およびプログラム
WO2018225843A1 (ja) 制御装置、管理装置、通信設定システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071204

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100323