(57)【要約】【課題】セッションキーを用いて暗号化および復号が行われる通信データの正当性を受信側にて簡易な手続きのみでチェックすることを可能とするデータ送受信装置を提供する。【解決手段】送信器１００は、セッションキー生成部１０１にて生成したセッションキーを検証用データとして平文データに付加した後に、暗号化部１０２にて、当該セッションキーを用いて暗号化する。一方、受信器２００は、セッションキー生成部２０１にて生成したセッションキーを用いて、復号部２０２にて、送信器１００からの暗号化データを復号し、セッションキー抽出部２０３にて、検証用データとして付加されたセッションキーを抽出する。そして、セッションキー検証部２０４にて、この抽出したセッションキーと生成したセッションキーとが一致するかどうかを調べることにより、受信した平文データが正常データであるかどうかを判定する。【選択図】      図３
2006339898.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コントローラ、２５…エンベデッドコントローラ（ＥＣ）、２６…デジタルＴＶ放送受信処理部、２７…暗号化機、２８…デジタルＴＶチューナ、２９…ＯＦＤＭデモジュレータ、１００…送信器、１０１…セッションキー生成部、１０２…暗号化部、２００…受信器、２０１…セッションキー生成部、２０２…復号器、２０３…セッションキー抽出部、２０４…セッションキー検証部。
【図１】
2006339898.tif 000003
【図２】
2006339898.tif 000004
【図３】
2006339898.tif 000005
【図４】
2006339898.tif 000006
【図５】
2006339898.tif 000007