(57)【要約】【課題】送信側および受信側の当事者間で同期を取ることなく、暗号鍵を動的に更新することを可能とするデータ送受信システムを提供する。【解決手段】送信器１００は、セッションキーを検証用データとして平文データに付加した後、当該セッションキーを用いて暗号化する。また、送信器１００は、このセッションキーを、受信器２００と同期を取ることなく、所定の規則で加工する。一方、受信器２００は、セッションキーを用いて送信器１００からの暗号化データを復号し、検証用データとして付加されたセッションキーを抽出して、この抽出したセッションキーと生成したセッションキーとが一致するかどうかによって当該データの正当性を調べる。そして、一致しなかった場合には、セッションキーの加工を所定の規則で実行し、復号および検証を再実行する。【選択図】      図４
2007150976.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置とデータ受信装置とがデータを暗号化して送受信するデータ送受信システムにおいて、
前記データ送信装置は、
互いを確認し合うための認証処理を前記データ受信装置との間で実行する認証手段と、
前記認証手段の認証処理によって生成されたセッションキーを共通鍵として用いてデータを暗号化する暗号化手段と、
送信対象の平文データに前記セッションキーを検証用データとして付加したデータ全体を送信データとして前記暗号化手段に暗号化を行わせ、これにより得られた暗号データを前記認証手段により認証処理が行われた前記データ受信装置に対して送信するデータ送信手段と、
前記暗号化手段および前記データ送信手段により共通鍵および検証用データとして用いられる前記セッションキーの値を所定の規則に基づいて加工する加工手段と、
を具備し、
前記データ受信装置は、
互いを確認し合うための認証処理を前記データ送信装置との間で実行する認証手段と、
前記認証手段により認証処理が行われた前記データ送信装置から暗号データを受信するデータ受信手段と、
前記認証手段の認証処理によって生成されたセッションキーを共通鍵として用いて前記暗号データを復号する復号手段と、
前記復号手段により復号された受信データ全体の中から受信対象の平文データに検証用データとして付加された前記セッションキーを抽出し、この抽出したセッションキーの値と前記生成されたセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第１の判定手段と、
前記第１の判定手段により正しくないと判断された場合、前記生成されたセッションキーの値を所定の規則に基づいて加工し、この加工後のセッションキーを共通鍵として用いた前記暗号データの復号を前記復号手段に再実行させ、これにより得られた受信データ全体の中から検証用データとして付加された前記セッションキーを再抽出し、この再抽出したセッションキーの値と前記加工後のセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第２の判定手段と、
を具備することを特徴とするデータ送受信システム。
【請求項２】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータを２分割し、その上位ビットと下位ビットとを入れ替えることであることを特徴とする請求項１記載のデータ送受信システム。
【請求項３】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータをｍ分割し、そのｍ個の（ｎ／ｍ）ビット・データの並び順を所定の手順で入れ替えることであることを特徴とする請求項１記載のデータ送受信システム。
【請求項４】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータを所定の方向にｍビット分巡回的にシフトさせることであることを特徴とする請求項１記載のデータ送受信システム。
【請求項５】
前記データ受信装置の前記第２の判定手段は、前記受信対象の平文データが正しくないと判断した場合、前記セッションキーに対して施した加工を無効化することを特徴とする請求項１記載のデータ送受信システム。
【請求項６】
データ送信装置とデータ受信装置とがデータを暗号化して送受信するデータ送受信システムのデータ送受信方法であって、
前記データ送信装置は、
互いを確認し合うための認証処理を前記データ受信装置との間で実行する認証ステップと、
前記認証ステップの認証処理によって生成されたセッションキーを共通鍵として用いてデータを暗号化する暗号化ステップと、
送信対象の平文データに前記セッションキーを検証用データとして付加したデータ全体を送信データとして前記暗号化ステップに暗号化を行わせ、これにより得られた暗号データを前記認証ステップにより認証処理が行われた前記データ受信装置に対して送信するデータ送信ステップと、
前記暗号化ステップおよび前記データ送信ステップにより共通鍵および検証用データとして用いられる前記セッションキーの値を所定の規則に基づいて加工する加工ステップと、
を具備し、
前記データ受信装置は、
互いを確認し合うための認証処理を前記データ送信装置との間で実行する認証ステップと、
前記認証ステップにより認証処理が行われた前記データ送信装置から暗号データを受信するデータ受信ステップと、
前記認証ステップの認証処理によって生成されたセッションキーを共通鍵として用いて前記暗号データを復号する復号ステップと、
前記復号ステップにより復号された受信データ全体の中から受信対象の平文データに検証用データとして付加された前記セッションキーを抽出し、この抽出したセッションキーの値と前記生成されたセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第１の判定ステップと、
前記第１の判定ステップにより正しくないと判断された場合、前記生成されたセッションキーの値を所定の規則に基づいて加工し、この加工後のセッションキーを共通鍵として用いた前記暗号データの復号を前記復号ステップに再実行させ、これにより得られた受信データ全体の中から検証用データとして付加された前記セッションキーを再抽出し、この再抽出したセッションキーの値と前記加工後のセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第２の判定ステップと、
を具備することを特徴とするデータ送受信方法。
【請求項７】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータを２分割し、その上位ビットと下位ビットとを入れ替えることであることを特徴とする請求項６記載のデータ送受信方法。
【請求項８】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータをｍ分割し、そのｍ個の（ｎ／ｍ）ビット・データの並び順を所定の手順で入れ替えることであることを特徴とする請求項６記載のデータ送受信方法。
【請求項９】
前記所定の規則は、前記セッションキーの値を示すｎビットのデータを所定の方向にｍビット分巡回的にシフトさせることであることを特徴とする請求項６記載のデータ送受信方法。
【請求項１０】
前記データ受信装置の前記第２の判定ステップは、前記受信対象の平文データが正しくないと判断した場合、前記セッションキーに対して施した加工を無効化することを特徴とする請求項６記載のデータ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信データを暗号化および復号するために用いる共通鍵の更新を受信側との同期を取ることなく送信側にて適宜に行うことを可能とするデータ送受信システムおよびデータ送受信方法に関する。
【背景技術】
【０００２】
近年、インターネットの普及などに伴い、不特定多数の者がアクセス可能な汎用ネットワーク経由で各種データを送受信する機会が飛躍的に増加している。インターネット等の汎用ネットワーク経由でデータを送受信する場合のセキュリティ保護は、データの暗号化によることが主流であり、そのために、データの暗号化および復号に使用する暗号鍵の取り扱いに関する手法が種々提案されている（例えば特許文献１〜３等参照）。
【０００３】
この特許文献１〜３を始めとする様々な手法を用い、送信側および受信側で同期を取りつつ暗号鍵を動的に更新していくことにより、暗号鍵が漏洩した際の被害を最小限に抑えることが可能となる。
【特許文献１】特開平１１−５５２４１号公報
【特許文献２】特開２００３−１３４１０６号公報
【特許文献３】特開平５−２９２０７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このような暗号鍵の更新は、送信側および受信側の双方が同期を取って行うことが一般的であるが、機動性を考慮すれば、受信側との同期を取ることなく、送信側において任意のタイミングで実施でき、かつ、受信側においても、送信側との同期を取ることなく、その更新に追従できることが望ましい。
【０００５】
この発明は、このような事情を考慮してなされたものであり、送信側および受信側の当事者間で同期を取ることなく、暗号鍵を動的に更新することを可能とするデータ送受信システムおよびデータ送受信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述した目的を達成するために、この発明のデータ送受信システムは、データ送信装置とデータ受信装置とがデータを暗号化して送受信するデータ送受信システムにおいて、前記データ送信装置は、互いを確認し合うための認証処理を前記データ受信装置との間で実行する認証手段と、前記認証手段の認証処理によって生成されたセッションキーを共通鍵として用いてデータを暗号化する暗号化手段と、送信対象の平文データに前記セッションキーを検証用データとして付加したデータ全体を送信データとして前記暗号化手段に暗号化を行わせ、これにより得られた暗号データを前記認証手段により認証処理が行われた前記データ受信装置に対して送信するデータ送信手段と、前記暗号化手段および前記データ送信手段により共通鍵および検証用データとして用いられる前記セッションキーの値を所定の規則に基づいて加工する加工手段と、を具備し、前記データ受信装置は、互いを確認し合うための認証処理を前記データ送信装置との間で実行する認証手段と、前記認証手段により認証処理が行われた前記データ送信装置から暗号データを受信するデータ受信手段と、前記認証手段の認証処理によって生成されたセッションキーを共通鍵として用いて前記暗号データを復号する復号手段と、前記復号手段により復号された受信データ全体の中から受信対象の平文データに検証用データとして付加された前記セッションキーを抽出し、この抽出したセッションキーの値と前記生成されたセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第１の判定手段と、前記第１の判定手段により正しくないと判断された場合、前記生成されたセッションキーの値を所定の規則に基づいて加工し、この加工後のセッションキーを共通鍵として用いた前記暗号データの復号を前記復号手段に再実行させ、これにより得られた受信データ全体の中から検証用データとして付加された前記セッションキーを再抽出し、この再抽出したセッションキーの値と前記加工後のセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第２の判定手段と、を具備することを特徴とする。
【０００７】
また、この発明のデータ送受信方法は、データ送信装置とデータ受信装置とがデータを暗号化して送受信するデータ送受信システムのデータ送受信方法であって、前記データ送信装置は、互いを確認し合うための認証処理を前記データ受信装置との間で実行する認証ステップと、前記認証ステップの認証処理によって生成されたセッションキーを共通鍵として用いてデータを暗号化する暗号化ステップと、送信対象の平文データに前記セッションキーを検証用データとして付加したデータ全体を送信データとして前記暗号化ステップに暗号化を行わせ、これにより得られた暗号データを前記認証ステップにより認証処理が行われた前記データ受信装置に対して送信するデータ送信ステップと、前記暗号化ステップおよび前記データ送信ステップにより共通鍵および検証用データとして用いられる前記セッションキーの値を所定の規則に基づいて加工する加工ステップと、を具備し、前記データ受信装置は、互いを確認し合うための認証処理を前記データ送信装置との間で実行する認証ステップと、前記認証ステップにより認証処理が行われた前記データ送信装置から暗号データを受信するデータ受信ステップと、前記認証ステップの認証処理によって生成されたセッションキーを共通鍵として用いて前記暗号データを復号する復号ステップと、前記復号ステップにより復号された受信データ全体の中から受信対象の平文データに検証用データとして付加された前記セッションキーを抽出し、この抽出したセッションキーの値と前記生成されたセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第１の判定ステップと、前記第１の判定ステップにより正しくないと判断された場合、前記生成されたセッションキーの値を所定の規則に基づいて加工し、この加工後のセッションキーを共通鍵として用いた前記暗号データの復号を前記復号ステップに再実行させ、これにより得られた受信データ全体の中から検証用データとして付加された前記セッションキーを再抽出し、この再抽出したセッションキーの値と前記加工後のセッションキーの値とを比較して、前記受信対象の平文データの正否を判定する第２の判定ステップと、を具備することを特徴とする。
【発明の効果】
【０００８】
この発明によれば、送信側および受信側の当事者間で同期を取ることなく、暗号鍵を動的に更新することを可能とするデータ送受信システムおよびデータ送受信方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１０】
ここでは、本発明のデータ送受信システムを、情報処理装置内における汎用データバス経由のデータ送受信用に適用した例を示す。まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えばノートブック型パーソナルコンピュータ１として実現されている。
【００１１】
図１はノートブック型パーソナルコンピュータ１のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１は、コンピュータ本体２と、ディスプレイユニット３とから構成されている。ディスプレイユニット３には、ＴＦＴ−ＬＣＤ（Thin Film Transistor Liquid Crystal Display）４からなる表示装置が組み込まれており、そのＬＣＤ４の表示画面はディスプレイユニット３のほぼ中央に位置されている。
【００１２】
ディスプレイユニット３は、コンピュータ本体２に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体２は薄い箱形の筐体を有しており、その上面にはキーボード５、本コンピュータ１をパワーオン／パワーオフするためのパワーボタン６、入力操作パネル７、タッチパッド８およびスピーカ９Ａ，９Ｂなどが配置されている。
【００１３】
入力操作パネル７は、押下されたボタンに対応するイベントを入力するための入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン７ＡやＤＶＤ／ＣＤ起動ボタン７Ｂも含まれている。ＴＶ起動ボタン７Ａは、ＴＶ放送番組データの再生および記録を行うためのＴＶ機能を起動するためのボタンであり、ユーザによって押下されると、このＴＶ機能を実行するためのＴＶアプリケーションプログラムが起動される。
【００１４】
本コンピュータ１においては、汎用の主オペレーティングシステムの他に、ＡＶ（オーディオ・ビデオ）データを処理するための専用の副オペレーティングシステムがインストールされている。ＴＶアプリケーションプログラムは、副オペレーティングシステム上で動作するプログラムである。
【００１５】
パワーボタン６がユーザによって押下された時、主オペレーティングシステムが起動される。一方、ＴＶ起動ボタン７Ａがユーザによって押下された時は、主オペレーティングシステムではなく、副オペレーティングシステムが起動され、そしてＴＶアプリケーションプログラムが自動的に実行される。副オペレーティングシステムはＡＶ機能を実行するための最小限の機能のみを有している。このため、副オペレーティングシステムのブートアップに要する時間は、主オペレーティングシステムのブートアップに要する時間に比べて遙かに短い。よって、ユーザは、ＴＶ起動ボタン７Ａを押すだけで、ＴＶ視聴／録画を即座に行うことが出来る。
【００１６】
本コンピュータ１は、地上波デジタルＴＶ放送を受信、再生することができる。コンピュータ本体１の右側面には、地上波デジタルＴＶ放送用のアンテナ端子１０が設けられている。
【００１７】
ＤＶＤ／ＣＤ起動ボタン７Ｂは、ＤＶＤやＣＤに記録されたビデオコンテンツを再生するためのボタンである。ＤＶＤ／ＣＤ起動ボタン７Ｂがユーザによって押下された時、ビデオコンテンツを再生するためのビデオ再生アプリケーションプログラムが起動される。このビデオ再生アプリケーションプログラムも、副オペレーティングシステム上で動作するアプリケーションプログラムである。ＤＶＤ／ＣＤ起動ボタン７Ｂがユーザによって押下された時は、主オペレーティングシステムではなく、副オペレーティングシステムが起動され、ビデオ再生アプリケーションプログラムが自動的に実行される。
【００１８】
次に、図２を参照して、本コンピュータ１のシステム構成について説明する。
【００１９】
本コンピュータ１は、図２に示されているように、ＣＰＵ１１、ノースブリッジ（ＮＢ）１２、システムメモリ１３、サウスブリッジ（ＳＢ）１４、グラフィクスコントローラ１５、サウンドコントローラ１６、ビデオエンハンサ１７、ＢＩＯＳ−ＲＯＭ１８、ＬＡＮコントローラ１９、ハードディスクドライブ（ＨＤＤ）２０、ＤＶＤドライブ（ＤＶＤＤ）２１、カードコントローラ２２、無線ＬＡＮコントローラ２３、IEEE 1394コントローラ２４、エンベデッドコントローラ（ＥＣ）２５、デジタルＴＶ放送受信処理部２６および暗号化機２７を備えている。
【００２０】
ＣＰＵ１１は本コンピュータ１の動作を制御するプロセッサであり、ＨＤＤ２０からシステムメモリ１３にロードされる、主オペレーティングシステム／副オペレーティングシステムおよびＴＶアプリケーションプログラムのような各種アプリケーションプログラムを実行する。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１８に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００２１】
ＮＢ１２は、ＣＰＵ１１のローカルバスとＳＢ１４との間を接続するブリッジデバイスである。ＮＢ１２には、システムメモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ＮＢ１２は、ＡＧＰ（Accelerated Graphics Port）バス、PCI express規格のシリアルバスなどを介してグラフィクスコントローラ１５との通信を実行する機能も有している。
【００２２】
グラフィクスコントローラ１５は、本コンピュータ１のディスプレイモニタとして使用されるＬＣＤ４を制御する表示コントローラである。このグラフィクスコントローラ１５によって生成される映像データは、ビデオエンハンサ１７に送られ、映像データを高画質化するための映像処理（画質調整処理）が施される。このビデオエンハンサ１７によって高画質化された映像データは、ＬＣＤ４に送られる。また、このビデオエンハンサ１７によって高画質化された映像データは、コンピュータ本体１に設けられたコネクタを介して外部のＴＶモニタやＨＤＭＩモニタに送出することもできる。
【００２３】
ＳＢ１４は、ＬＰＣ（Low Pin Count）バス上の各デバイスおよびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、ＳＢ１４は、ＨＤＤ２０、ＤＶＤＤ２１を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、ＳＢ１４は、サウンドコントローラ１６との通信を実行する機能も有している。
【００２４】
サウンドコントローラ１６は音源デバイスであり、再生対象のオーディオデータをスピーカ９Ａ，９Ｂやコネクタを介して接続される外部の５．１チャンネルスピーカシステムに出力する。
【００２５】
カードコントローラ２２は、ＰＣカード、ＳＤ（Secure Digital）カードのようなカードを制御する。無線ＬＡＮコントローラ２３は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。IEEE 1394コントローラ２４は、IEEE 1394規格のシリアルバスを介して外部機器との通信を実行する。ＥＣ２５は、電力管理のためのエンベデッドコントローラと、キーボード５およびタッチパッド８を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ２５は、ユーザによるパワーボタン６の操作に応じて、本コンピュータ１をパワーオン／パワーオフする機能を有している。さらに、ＥＣ２５は、ユーザによるＴＶ起動ボタン７Ａ、ＤＶＤ／ＣＤ起動ボタン７Ｂの操作に応じて、本コンピュータ１をパワーオンすることもできる。
【００２６】
デジタルＴＶ放送受信処理部２６は、地上波デジタルＴＶ放送のようなデジタル放送番組を受信する装置であり、アンテナ端子１０に接続されている。このデジタルＴＶ放送受信処理部２６は、図示のように、デジタルＴＶチューナ２８およびＯＦＤＭ（Orthogonal Frequency Division Multiplexing）デモジュレータ２９を備えている。デジタルＴＶチューナ２８およびＯＦＤＭデモジュレータ２９は、地上波デジタルＴＶ放送の放送番組データを受信するチューナモジュールとして機能する。地上波デジタルＴＶ放送では、各放送番組データ（ビデオ、オーディオ）に対する圧縮符号化方式としてＭＰＥＧ２が利用されている。また、映像フォーマットとしては、高解像度のＨＤ（High Definition）が使用されている。
【００２７】
このデジタルＴＶチューナ２８およびＯＦＤＭデモジュレータ２９から構成されるデジタルＴＶ放送受信処理部２６は、アンテナ端子１０から入力されるＴＶ放送信号の中から特定チャネルの放送信号を受信し、その受信したＴＶ放送信号からトランスポートストリーム（ＴＳ）を取り出す。トランスポートストリームは、圧縮符号化された放送コンテンツを多重化したストリームである。地上波デジタルＴＶ放送においては、チャネル（物理チャネル）毎に複数の番組が多重化されている。
【００２８】
暗号化機２７は、デジタルＴＶ放送受信処理部２６から入力されるトランスポートストリームを復号した後、ＴＶアプリケーションプログラムと共有する暗号鍵を使って再暗号化し、ＰＣＩバスを介してシステムメモリ１３に転送する。この再暗号化は、たとえＰＣＩバス経由で放送番組データが不正に取り出されても、その取り出された放送番組データが再生されることを防止するために行うものである。
【００２９】
つまり、本コンピュータ１では、ＰＣＩバスといった汎用インタフェースを介して重要データを暗号化して送受信しているわけである。そして、本コンピュータ１は、この暗号化に用いる暗号鍵の更新を、送信側および受信側の当事者間で同期を取ることなく、送信側にて任意のタイミングで実行でき、かつ、受信側にてその更新に追従できるようにしたものであり、以下、この点について詳述する。
【００３０】
なお、送信側および受信側の当事者間で同期を取ることなく、送信側にて任意のタイミングで暗号鍵を更新でき、かつ、受信側にてその更新に追従できるようにするために、本コンピュータ１では、受信したデータの正当性を受信側で検証するための検証データを送信側が送信データに付加することを前提としており、まず、図３を参照して、本コンピュータ１で実行される暗号データ通信の基本的な動作原理を説明する。
【００３１】
図３は、汎用インタフェースであるＰＣＩバス経由で暗号化機２７とＴＶアプリケーションプログラムとの間で実行される暗号データ通信の基本的な動作原理を説明するための機能ブロック図である。図中の送信器１００は暗号化機２７に対応し、また、受信器２００はＴＶアプリケーションプログラムに対応する。
【００３２】
送信器１００および受信器２００は、暗号データ通信路を確立するための認証処理を行う認証処理部を有している。この認証処理を行うタイミングには特に制約はなく、当該認証処理が正常終了すると、各々の認証処理部にてセッションキーが生成される。例えば暗号化方式がＡＥＳ（Advanced Encryption Standard）−１２８ｂｉｔの場合、認証処理部によって生成されるセッションキーは１２８ビットである。この場合、暗号化対象となるデータブロックは、１２８ビット単位でＣＢＣ（CipherBlockChaining）暗号されることになる。
【００３３】
図中の平文データとは、実際に転送対象となるデータであり、ここでは１２８ビットデータであるとする。そして、本実施形態では、この平文データを送信器１００から受信器２００へ送信する場合に、認証処理によって当事者間で生成されるセッションキーを検証用データとしても利用する。なお、この例では、セッションキーデータは１２８ビットデータであるとする。
【００３４】
送信器１００では、セッションキー生成部１０１にて生成されたセッションキーを検証用データとして平文データの先頭に付加する。そして、このセッションキーと平文データとからなる２５６ビットのデータ全体が暗号化部１０２に渡され、その結果、２５６ビットのデータブロックとして、同セッションキーの１２８ビット鍵にてＣＢＣ暗号されることになる。なお、この例では、セッションキーを平文データの先頭に付加することとしたが、これに限らず、例えば末尾に付加するようにしても構わない。
【００３５】
暗号化されたデータ（暗号データ）は、転送先の受信器２００では、セッションキー生成２０１にて生成されたセッションキーにより復号部２０２にて復号される。また、セッションキー抽出部２０３は、この復号されたデータ中から先頭１２８ビットを検証用データ、つまりセッションキーとして抽出する。そして、セッションキー検証部２０４は、セッションキー抽出部２０３にて検証用データとして抽出されたセッションキーとセッションキー生成部２０１にて生成されたセッションキーとを比較し、この検証結果に問題がない場合、復号後の平文データは正常データであると判定する。
【００３６】
次に、図４を参照して、このような動作原理で暗号データ通信を実行する本コンピュータ１において、送信側および受信側の当事者間で同期を取ることなく実行される暗号鍵更新の動作原理について説明する。
【００３７】
図中、（Ａ）は、暗号鍵の更新前における送信器１００および受信器２００間の暗号データ通信の様子を示しており、（Ｂ）は、暗号鍵の更新後における送信器１００および受信器２００間の暗号データ通信の様子を示している。
【００３８】
まず、送信器１００は、受信器２００との間で実行した認証処理によって生成されたセッションキー（Ｋ１）の値をそのまま用いて（Ｋ１ａ）、前述した平文データへの付加およびデータ全体の暗号化を実行する。同様に、受信器２００も、送信器１００との間で実行した認証処理によって生成されたセッションキー（Ｋ２）の値をそのまま用いて（Ｋ２ａ）、前述したデータ全体の復号および検証を実行する。
【００３９】
ここで、例えば何らかの都合で、送信器１００が、受信器２００と何等の同期を取ることなく、暗号鍵を更新する場合を想定する。この場合、送信器１００は、受信器２００との間で実行した認証処理によって生成されたセッションキーの上位ビットと下位ビットとを入れ替えた（加工した）値を用いて（Ｋ１ｂ）、前述した平文データへの付加およびデータ全体の暗号化を実行する。
【００４０】
この暗号鍵の更新時においても、（当該暗号鍵の更新が行われたことを知らない）受信器２００では、まず、送信器１００との間で実行した認証処理によって生成されたセッションキーの値をそのまま用いて（Ｋ２ａ）、前述したデータ全体の復号および検証を実行することになる。そうすると、この検証結果は当然に問題ありとなるが、この時点で、本コンピュータ１の受信器２００は、送信器１００が暗号鍵を更新したものと暫定的に判断する。
【００４１】
この判断を行うと、受信器２００は、送信器１００と同様、送信器１００との間で実行した認証処理によって生成されたセッションキーの上位ビットと下位ビットとを入れ替えた値を用いて（Ｋ２ｂ）、前述したデータ全体の復号および検証を再実行する。そして、この検証結果に問題がなければ、受信器２００は、復号後の平文データは正常データであると判定するとともに、暗号鍵が更新されたという判断を確定させる。その結果、これ以降のデータ全体の復号および検証には、送信器１００との間で実行した認証処理によって生成されたセッションキーの上位ビットと下位ビットとを入れ替えた値（Ｋ２ｂ）が継続して用いられることになる。
【００４２】
一方、この検証結果も問題ありとなった場合、受信器２００は、復号後の平文データは異常データであると判定するとともに、暗号鍵が更新されたという判断を破棄する（セッションキーの加工を無効化する）。その結果、これ以降のデータ全体の復号および検証には、送信器１００との間で実行した認証処理によって生成されたセッションキーの値（Ｋ２ａ）がそのまま用いられることになる。
【００４３】
つまり、送信器１００は、受信器２００と同期を取ることなく、任意のタイミングで所定の規則（ここでは、上位ビットと下位ビットとを入れ替える）で暗号鍵を更新することができ、また、受信器２００は、送信器１００と同期を取ることなく、この暗号鍵の更新に追従できる。
【００４４】
なお、この図４（Ｂ）に示す暗号鍵の更新後、さらに暗号鍵を更新する場合、その時点で使用している値の上位ビットと下位ビットとを入れ替えることから、当初のセッションキーの値に戻ることになる。よって、この暗号鍵の更新は、２種類の値を交互に適用することと同義となるが、予め与えられた２つの値を選択的に使用するのではなく、１つの値から２つ目の値を所定の規則で派生させ、かつ、その交換タイミングを何等のやり取りもなしに一方が自主判断で追従する点が大きく異なっている。
【００４５】
送信器１００と受信器２００とが保有する暗号鍵の更新規則は、ここで説明した上位ビットと下位ビットとを入れ替えるもののほか、種々の規則が適用可能である。例えばセッションキーをｍ分割（ｍ＝４であれば３２ビット毎に分割、ｍ＝８であれば１６ビット毎に分割）し、この分割後のｍ個のデータの並びを所定の手順でシャッフルするようにしてもよい。あるいは、その時点で使用している値全体を例えば上位側にｍビットずつ移動させ、上位ｍビットに存在していた値を下位ｍビットに再配置するといった巡回的なスライドを規則としてもよい。その規則によっては、１つの値から２つ以上の値を派生させることが可能となる。
【００４６】
図５は、送信器１００の暗号データ通信時の動作手順を示すフローチャートである。
【００４７】
送信器１００は、データを暗号化して送信するにあたり、まず、暗号鍵を変更する必要があるかどうかを判定する（ステップＡ１）。もし、変更する必要があれば（ステップＡ１のＹＥＳ）、送信器１００は、所定の規則に基づき、セッションキーを加工する（ステップＡ２）。
【００４８】
また、送信器１００は、既存または加工後のセッションキーを平文データに付加し（ステップＡ３）、このセッションキーが付加された平文データを当該セッションキーを用いて暗号化して（ステップＡ４）、この暗号化されたデータを受信器２００に向けて送信する（ステップＡ５）。
【００４９】
また、図６は、受信器２００の暗号データ通信時の動作手順を示すフローチャートである。
【００５０】
受信器２００は、送信器１００から暗号化データを受信すると（ステップＢ１）、この暗号化データを既存のセッションキーを用いて復号し（ステップＢ２）、この復号したデータ中から検証用データとしてのセッションキーを抽出する（ステップＢ３）。
【００５１】
次に、受信器２００は、この抽出したセッションキーと既存のセッションキーとが一致するかどうかを調べ（ステップＢ４）、一致していれば（ステップＢ４のＹＥＳ）、受信した平文データを正常データとして処理する（ステップＢ５）。
【００５２】
一方、一致していなければ（ステップＢ４のＮＯ）、受信器２００は、所定の規則に基づき、セッションキーを加工し（ステップＢ６）、この加工後のセッションキーを用いて暗号化データの復号を再実行する（ステップＢ７）。そして、受信器２００は、この復号したデータ中から検証用データとしてのセッションキーを抽出し（ステップＢ８）、この抽出したセッションキーと既存のセッションキーとが一致するかどうかを調べる（ステップＢ９）。そして、一致していれば（ステップＢ９のＹＥＳ）、受信器２００は、セッションキーの加工を確定し（ステップＢ１０）、受信した平文データを正常データとして処理する（ステップＢ５）。また、ここでも一致しなければ（ステップＢ９のＮＯ）、受信器２００は、セッションキーの加工を無効化し（ステップＢ１１）、受信した平文データを異常データとして処理する（ステップＢ１２）。
【００５３】
このように、本実施形態のコンピュータ１では、送信側および受信側の当事者間で同期を取ることなく、暗号鍵を動的に更新することを可能とする。その結果、同じセッションキーを使用し続けた場合でも、このセッションキーから暗号鍵としての値が派生的に複数生成されるので、第三者から取得される観測データに制限を加えることができ、セキュリティレベルを向上させることを実現する。
【００５４】
なお、前述の例では、検証用データとしてセッションキーを流用しているが、セッションキー以外にも、例えば平文データのハッシュ値や、セッションキー生成の過程で生成される中間データ等を検証用データとして使用しても良い。さらに言えば、送受信者間で予め決められた値を検証用データとして使用することも可能である。
【００５５】
つまり、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係るノートブック型パーソナルコンピュータのディスプレイユニットを開いた状態における斜視図
【図２】同実施形態のコンピュータのシステム構成を示す図
【図３】同実施形態のコンピュータにおいて汎用インタフェースであるＰＣＩバス経由で暗号化機とＴＶアプリケーションプログラムとの間で実行される暗号データ通信の基本的な動作原理を説明するための機能ブロック図
【図４】同実施形態のコンピュータにおいて送信側および受信側の当事者間で同期を取ることなく実行される暗号鍵更新の動作原理を説明するための図
【図５】同実施形態のコンピュータの送信器側の動作手順を示すフローチャート
【図６】同実施形態のコンピュータの受信器側の動作手順を示すフローチャート
【符号の説明】
【００５７】
１…コンピュータ、２…コンピュータ本体、３…ディスプレイユニット、４…ＬＣＤ、５…キーボード、６…パワーボタン、７…入力操作パネル、８…タッチパッド、９Ａ，Ｂ…スピーカ、１０…地上波デジタルＴＶ放送用アンテナ端子、１１…ＣＰＵ、１２…ノースブリッジ（ＮＢ）、１３…システムメモリ、１４…サウスブリッジ（ＳＢ）、１５…グラフィクスコントローラ、１６…サウンドコントローラ、１７…ビデオエンハンサ、１８…ＢＩＯＳ−ＲＯＭ、１９…ＬＡＮコントローラ、２０…ハードディスクドライブ（ＨＤＤ）、２１…ＤＶＤドライブ（ＤＶＤＤ）、２２…カードコントローラ、２３…無線ＬＡＮコントローラ、２４…IEEE 1394コントローラ、２５…エンベデッドコントローラ（ＥＣ）、２６…デジタルＴＶ放送受信処理部、２７…暗号化機、２８…デジタルＴＶチューナ、２９…ＯＦＤＭデモジュレータ、１００…送信器、１０１…セッションキー生成部、１０２…暗号化部、２００…受信器、２０１…セッションキー生成部、２０２…復号器、２０３…セッションキー抽出部、２０４…セッションキー検証部。
【図１】
2007150976.tif 000003
【図２】
2007150976.tif 000004
【図３】
2007150976.tif 000005
【図４】
2007150976.tif 000006
【図５】
2007150976.tif 000007
【図６】
2007150976.tif 000008