(57)【要約】【課題】  エンベデッドデバイス間にデータを安全に送受信する方法及び装置を提供する。【解決手段】  所定デバイスとのセッションで使われるセッションキーを要請し、この要請に対する応答に含まれた暗号化されたセッションキーを復号化することでセッションキーを復元し、このセッションキーを使用してデータを暗号化して伝送することでエンベデッドデバイス間の一対一保安通信が可能になる。【選択図】      図２
2007082216.tif 000002
【特許請求の範囲】
【請求項１】
所定デバイスにデータを安全に伝送する方法において、
（ａ）前記所定デバイスとのセッションで使われるセッションキーを要請するステップと、
（ｂ）前記要請に対する応答に含まれた暗号化されたセッションキーを復号化することで前記セッションキーを復元するステップと、
（ｃ）前記復元されたセッションキーを使用して前記データを暗号化するステップと、
（ｄ）前記暗号化されたデータを伝送するステップとを含むことを特徴とする方法。
【請求項２】
前記（ａ）ステップは、前記所定デバイスが前記セッションキーの暗号化に使われる公開キーを含む要請トークンを伝送することで前記セッションキーを要請し、
前記（ｂ）ステップは、前記公開キーを使用して暗号化されたセッションキーを、前記公開キーと対応する秘密キーを使用して復号化することを特徴とする請求項１に記載の方法。
【請求項３】
前記公開キー及び前記秘密キーを一対とする非対称キー対を生成するステップをさらに含み、
前記（ａ）ステップは、前記生成された非対称キー対のうち公開キーを含むトークンを伝送することを特徴とする請求項２に記載の方法。
【請求項４】
前記（ａ）ステップは、前記セッションを表すセッションＩＤを含む要請トークンを伝送することで前記セッションキーを要請し、
前記（ｂ）ステップは、前記セッションＩＤに対応するセッションキーを復号化することを特徴とする請求項１に記載の方法。
【請求項５】
前記データを処理した結果に該当する結果データを暗号化された形態で受信するステップと、
前記受信された暗号化された結果データを、前記セッションキーを使用して復号化することで前記結果データを復元するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記セッションキーは、対称キーであることを特徴とする請求項１に記載の方法。
【請求項７】
所定デバイスにデータを安全に伝送する装置において、
前記所定デバイスとのセッションで使われるセッションキーを要請する要請トークンを伝送する送信部と、
前記送信部から伝送された要請トークンに対する応答トークンに含まれた暗号化されたセッションキーを復号化することで前記セッションキーを復元する第１復号化部と、
前記第１復号化部により復元されたセッションキーを使用して前記データを暗号化する暗号化部と、を備え、
前記送信部は、前記暗号化部により暗号化されたデータを伝送することを特徴とする装置。
【請求項８】
前記要請トークンは、前記所定デバイスが前記セッションキーの暗号化に使われる公開キーを含み、
前記第１復号化部は、前記公開キーと対応する秘密キーを使用して前記暗号化されたセッションキーを復号化することを特徴とする請求項７に記載の装置。
【請求項９】
所定デバイスにデータを安全に伝送する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体において、
前記所定デバイスとのセッションで使われるセッションキーを要請するステップと、
前記要請に対する応答に含まれた暗号化されたセッションキーを復号化することで前記セッションキーを復元するステップと、
前記復元されたセッションキーを使用して前記データを暗号化するステップと、
前記暗号化されたデータを伝送するステップを含むことを特徴とする方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項１０】
所定デバイスからデータを安全に受信する方法において、
（ａ）前記所定デバイスとのセッションで使われるセッションキーに対する要請を受信するステップと、
（ｂ）前記受信された要請に対応して前記セッションで使われるセッションキーを暗号化された形態で伝送するステップと、
（ｃ）前記伝送された暗号化されたセッションキーから復元されたセッションキーを使用して暗号化されたデータを受信するステップとを含むことを特徴とする方法。
【請求項１１】
（ｄ）前記受信された要請に対応して前記セッションで使われるセッションキーを生成するステップと、
（ｅ）前記生成されたセッションキーを暗号化するステップと、をさらに含み、
前記（ｂ）ステップは、前記暗号化されたセッションキーを伝送することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記（ａ）ステップは、前記セッションキーの暗号化に使われる公開キーを含む要請トークンを受信し、
前記（ｅ）ステップは、前記要請トークンに含まれた公開キーを使用して前記セッションキーを暗号化することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記（ａ）ステップは、前記セッションを表すセッションＩＤを含む要請トークンを受信し、
前記（ｄ）ステップは、前記要請トークンに含まれたセッションＩＤに対応するセッションキーを生成することを特徴とする請求項１１に記載の方法。
【請求項１４】
前記受信された要請に対応して前記セッションで使われるセッションキーの有効性を検証するステップと、
前記検証結果、前記セッションキーが有効な場合に前記セッションキーを暗号化するステップと、をさらに含み、
前記（ｂ）ステップは、前記暗号化されたセッションキーを伝送することを特徴とする請求項１０に記載の方法。
【請求項１５】
前記受信された暗号化されたデータを、前記セッションキーを使用して復号化することで前記データを復元するステップをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
所定デバイスからデータを安全に受信する装置において、
前記所定デバイスとのセッションで使われるセッションキーを要請する要請トークンを受信する受信部と、
前記受信部に受信された要請トークンに対応して、前記セッションで使われるセッションキーを暗号化された形態で含む応答トークンを伝送する送信部と、を備え、
前記受信部は、前記送信部から伝送された応答トークンに含まれた暗号化されたセッションキーから復元されたセッションキーを使用して暗号化されたデータを含む暗号文を受信することを特徴とする装置。
【請求項１７】
前記受信部に受信された要請トークンに対応して前記セッションで使われるセッションキーを生成する生成部と、
前記生成部により生成されたセッションキーを暗号化する第１暗号化部と、をさらに備え、
前記送信部は、前記第１暗号化部により暗号化されたセッションキーを含む応答トークンを伝送することを特徴とする請求項１６に記載の装置。
【請求項１８】
前記要請トークンは、前記セッションキーの暗号化に使われる公開キーを含み、
前記第１暗号化部は、前記要請トークンに含まれた公開キーを使用して前記セッションキーを暗号化することを特徴とする請求項１７に記載の装置。
【請求項１９】
所定デバイスからデータを安全に受信する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体において、
前記所定デバイスとのセッションで使われるセッションキーに対する要請を受信するステップと、
前記受信された要請に対応して前記セッションで使われるセッションキーを暗号化された形態で伝送するステップと、
前記伝送された暗号化されたセッションキーから復元されたセッションキーを使用して暗号化されたデータを受信するステップと、を含むことを特徴とする方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンベデッドデバイス間にデータを安全に送受信する方法及び装置に関する。
【背景技術】
【０００２】
図１は、従来のデータ保安方式のフローチャートである。図１を参照するに、従来のデータ保安方式は次のようなステップで構成される。
【０００３】
１０１ステップで、第１認証機関３は、クライアント１に対して外部に露出されない経路を通じて認証書を発給、更新、または廃棄する。１０２ステップで、クライアント１は、第１認証機関３から１０１ステップで発給または更新された認証書をダウンロードする。１０３ステップで、クライアント１は、１０２ステップでダウンロードした認証書に含まれた公開キーを使用してソースデータを暗号化する。１０４ステップで、クライアント１は、１０３ステップで暗号化されたソースデータを含むソースデータ暗号文をサーバ２に伝送し、サーバ２はこれを受信する。
【０００４】
１０５ステップで、サーバ２は、１０４ステップで受信されたソースデータ暗号文に含まれた暗号化されたソースデータを復号化できる秘密キーを含む認証書が備えられているかを調べるためにデータベースを照会する。１０６ステップで、サーバ２は、データベースに前記の認証書が存在していない場合、第２認証機関４に認証サービスを要請し、以後に第１認証機関３から発給された認証書を第１認証機関３に伝送する認証サービスを外部に露出されない経路を通じて提供する。
【０００５】
１０７ステップで、第２認証機関４は、１０６ステップでの認証サービス要請に対応して第１認証機関３に認証書発給を要請し、これに対して、第１認証機関３は、第２認証機関４に対して外部に露出されない経路を通じて認証書を発給する。
【０００６】
１０８ステップで、サーバ２は、認証書に含まれた秘密キーを使用してソースデータ暗号文に含まれた暗号化されたソースデータを復号化することでソースデータを復元する。１０９ステップで、サーバ２は、１０８ステップで復元されたソースデータを処理する。１１０ステップで、サーバ２は、１０９ステップで処理された結果である結果データを認証書に含まれた公開キーを使用して暗号化する。１１１ステップで、サーバ２は、１１０ステップで暗号化された結果データを含む結果データ暗号文をクライアント１に伝送し、クライアント１はこれを受信する。
【０００７】
１１２ステップで、クライアント１は、認証書に含まれた秘密キーを使用して１１１ステップで受信された結果データ暗号文に含まれた暗号化された結果データを復号化することで結果データを復元する。
【０００８】
前記のように、従来にはデータ保安効果を高めるために公開キー及び秘密キーで構成された非対称キー対を利用してデータを暗号化または復号化する。ところが、非対称キー対暗号化アルゴリズムは非常に複雑で高性能のシステムを要求する。これにより、従来のデータ保安方式は、低性能のエンベデッドデバイスには適用し難いという問題点があった。
【０００９】
最近、このような問題点を解決するために非対称キーアルゴリズムを基盤に対称キーを共有し、この対称キーを使用してデータを暗号化または復号化する方式が登場した。しかし、この方式も前記の１０１−１１２過程でデータの代わりに対称キーを暗号化または復号化するだけであるので、必ず非対称キー対を安全に分配できる認証機関が必要である。認証機関と連結され得ない環境にあるエンベデッドデバイス、すなわち、一対一で通信するエンベデッドデバイスには、前記の従来方式いずれも適用され難いという問題点があった。
【特許文献１】米国特許第６３７７６９１号公報
【特許文献２】米国特許第６０６４７３６号公報
【特許文献３】米国特許公開２００２−０１６６０４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明が解決しようとする技術的課題は、一対一で通信するエンベデッドデバイスの間に安全にデータを送受信できる方法及び方法を提供するところにある。また、前記の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【００１１】
前記技術的課題を解決するために、本発明によって所定デバイスにデータを安全に伝送する方法は、前記所定デバイスとのセッションで使われるセッションキーを要請するステップと、前記要請に対する応答に含まれた暗号化されたセッションキーを復号化することで前記セッションキーを復元するステップと、前記復元されたセッションキーを使用して前記データを暗号化するステップと、前記暗号化されたデータを伝送するステップとを含む。
【００１２】
前記他の技術的課題を解決するために、本発明によって所定デバイスにデータを安全に伝送する装置は、前記所定デバイスとのセッションで使われるセッションキーを要請する要請トークンを伝送する送信部と、前記送信部から伝送された要請トークンに対する応答トークンに含まれた暗号化されたセッションキーを復号化することで前記セッションキーを復元する第１復号化部と、前記第１復号化部により復元されたセッションキーを使用して前記データを暗号化する暗号化部とを備え、前記送信部は、前記暗号化部により暗号化されたデータを伝送する。
【００１３】
前記さらに他の技術的課題を解決するために、本発明は、前記のデータを安全に伝送する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【００１４】
前記さらに他の技術的課題を解決するために、本発明によって所定デバイスからデータを安全に受信する方法は、前記所定デバイスとのセッションで使われるセッションキーに対する要請を受信するステップと、前記受信された要請に対応して前記セッションで使われるセッションキーを暗号化された形態で伝送するステップと、前記伝送された暗号化されたセッションキーから復元されたセッションキーを使用して暗号化されたデータを受信するステップとを含む。
【００１５】
前記さらに他の技術的課題を解決するために、本発明によって所定デバイスからデータを安全に受信する装置は、前記所定デバイスとのセッションで使われるセッションキーを要請する要請トークンを受信する受信部と、前記受信部に受信された要請トークンに対応して、前記セッションで使われるセッションキーを暗号化された形態で含む応答トークンを伝送する送信部と、を備え、前記受信部は、前記送信部から伝送された応答トークンに含まれた暗号化されたセッションキーから復元されたセッションキーを使用して暗号化されたデータを含む暗号文を受信する。
【００１６】
前記さらに他の技術的課題を解決するために、本発明は、前記のデータを安全に伝送する方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００１７】
本発明によれば、一対一で通信するデバイスのうちいずれか一つのデバイスがセッションキーを要請し、他のデバイスは、この要請に含まれた公開キーでセッションキーを暗号化して伝送することで、外部に露出されても構わない公開キーのみを伝送することだけで安全にセッションキーを共有できる。その結果、中央集中型保安サーバを備えている認証機関から外部に露出されない経路を通じて秘密キーを獲得する必要がなくなって、エンベデッドデバイス間の一対一保安通信が可能になる。
【００１８】
特に、本発明によれば、セッションキーを共有する初期過程でのみ非対称キーアルゴリズムを使用し、データを送受信する過程では対称キーアルゴリズムを使用するために、データ保安によるシステムの負担を最小化できる。また、本発明は、第３の認証機関の必要なしに二つのエンベデッドデバイス間に行われるために、ソフトウェアライブラリー形態で第３の認証機関のような外部制限なしに自由にエンベデッドデバイスに搭載されうる。
【発明を実施するための最良の形態】
【００１９】
以下では、図面を参照して本発明の望ましい実施形態を詳細に説明する。
【００２０】
図２は、本発明の望ましい一実施形態による安全なデータ送受信方法のフローチャートである。図２を参照するに、本実施形態による安全なデータ送受信方法は、次のようなステップで構成される。
【００２１】
２０１ステップで、第１デバイス５は非対称キー対を生成する。ただし、本実施形態に適した非対称キー対が既に存在する場合にはそれを利用してもよい。
【００２２】
２０２ステップで、第１デバイス５は、第２デバイス６に第２デバイス６とのセッションで使われるセッションキーを要請するセッションキー要請トークンを伝送し、第２デバイス６はこれを受信する。本実施形態でセッションキーは対称キーである。このセッションキー要請トークンは、２０１ステップで生成された非対称キー対のうち公開キーを含む。
【００２３】
２０３ステップで、第２デバイス６は、２０２ステップで受信されたセッションキー要請トークンに対応してセッションキーを生成する。ただし、本実施形態に適したセッションキーが既に存在する場合にはそれを利用してもよい。
【００２４】
２０４ステップで、第２デバイス６は、２０２ステップで受信されたセッションキー要請トークンに含まれた公開キーを使用して、２０３ステップで生成されたセッションキーを暗号化する。
【００２５】
２０５ステップで、第２デバイス６は、第１デバイス５に２０２ステップで受信されたセッションキー要請トークンに対する応答に該当するセッションキー応答トークンを伝送し、第１デバイス５はこれを受信する。このセッションキー応答トークンは、２０４ステップで暗号化されたセッションキーを含む。
【００２６】
２０６ステップで、第１デバイス５は、２０１ステップで生成された非対称キー対のうち公開キーに対応する秘密キーを使用して、２０５ステップで受信されたセッションキー応答トークンに含まれた暗号化されたセッションキーを復号化することで、第２デバイス６とのセッションで使われるセッションキーを復元する。
【００２７】
前記の２０１−２０６ステップは、非対称キーアルゴリズムに基づいて第１デバイス５と第２デバイス６とが対称キーであるセッションキーを共有する過程に該当する。特に、本実施形態によれば、第１デバイス５は、第２デバイス６に外部に露出されても構わない公開キーのみを伝送するだけで安全にセッションキーを共有できる。言い換えれば、第２デバイス６は、非対称キー対のうち秘密キーを獲得する必要なく第１デバイス５と第２デバイス６とが安全にセッションキーを共有できる。その結果、中央集中型保安サーバを備えている認証機関から外部に露出されない経路を通じて秘密キーを獲得する必要がなくなって、エンベデッドデバイス間の一対一保安通信が可能になる。
【００２８】
２０７ステップで、第１デバイス５は、２０６ステップで復元されたセッションキーを使用して第１デバイス５が第２デバイス２に伝送しようとするソースデータを暗号化する。
【００２９】
２０８ステップで、第１デバイス５は、２０７ステップで暗号化されたソースデータを含むソースデータ暗号文を第２デバイス６に伝送し、第２デバイス６はこれを受信する。
【００３０】
２０９ステップで、第２デバイス６は、２０８ステップで受信されたソースデータ暗号文に含まれた暗号化されたソースデータを、２０３ステップで生成されたセッションキーを使用して復号化することでソースデータを復元する。
【００３１】
２１０ステップで、第２デバイス６は、２０９ステップで復元されたソースデータを処理する。
【００３２】
２１１ステップで、第２デバイス６は、２１０ステップで処理された結果である結果データを、２０９ステップでの復号化に使われたセッションキーを使用して暗号化する。
【００３３】
２１２ステップで、第２デバイス６は、２１１ステップで暗号化された結果データを含む結果データ暗号文を第１デバイス５に伝送し、第１デバイス１はこれを受信する。
【００３４】
２１３ステップで、第１デバイス５は、２０６ステップで復元されたセッションキーを使用して、２１２ステップで受信された結果データ暗号文に含まれた暗号化された結果データを復号化することで結果データを復元する。
【００３５】
前記の２０７−２１３ステップは、対称キーアルゴリズムを基盤に第１デバイス５と第２デバイス６とがデータを安全に送受信する過程に該当する。ここでは、一回のデータ送受信過程のみを記述したが、２０１−２０６ステップでセッションキーを共有した後には、このセッションキーを利用して複数回のデータ送受信を行える。
【００３６】
特に、本実施形態によれば、第１デバイス５と第２デバイス６とは、セッションキーを共有する初期過程でのみ非対称キーアルゴリズムを使用し、データを送受信する過程では対称キーアルゴリズムを使用するために、データ保安によるシステムの負担を最小化できる。対称キーアルゴリズムが非対称キーアルゴリズムよりはるかに簡単であって、対称キーアルゴリズムの処理が非対称キーアルゴリズムの処理よりシステムに負担をあまり与えないためである。
【００３７】
前記のように、２０１−２１３全体過程は、第３の認証機関の必要なく二つのエンベデッドデバイス間に行われるために、本実施形態は、ソフトウェアライブラリー形態で第３の認証機関のような外部制限なしに自由にエンベデッドデバイスに搭載されうる。
【００３８】
図３は、本発明の望ましい一実施形態による第１デバイス５の構成図である。図３を参照するに、本実施形態による第１デバイス５は、非対称キー対生成部５１、データベース５２、セッションキー要請トークン生成部５３、第１復号化部５４、暗号化部５５、暗号文生成部５６、第２復号化部５７、送信部５８及び受信部５９で構成される。
【００３９】
非対称キー対生成部５１は、公開キー及び秘密キーで構成された非対称キー対を生成する。非対称キー対生成部５１により生成された非対称キー対と、この非対称キー対についての情報とは非対称キー対データベース５２に保存され、非対称キー対の生成時点から一定期間のみ使われる。一般的に、この一定期間を非対称キー対の有効期間という。これは、非対称キー対の使用期間を統制することで非対称キー対が外部に露出される機会を低減するためのものである。
【００４０】
より詳細に説明すれば、非対称キー対生成部５１は、データベース５２に保存された非対称キー対を照会し、これらの有効性を検証する。また、非対称キー対生成部５１は、検証結果、有効な非対称キー対が存在する場合、すなわち、有効期間が満了していない非対称キー対が存在する場合には、データベース５２からこれを抽出する。また、非対称キー対生成部５１は、検証結果、有効期間が満了していない非対称キー対が存在していない場合には新たな非対称キー対を生成する。
【００４１】
データベース５２には非対称キー対と非対称キー対のそれぞれについての情報が保存される。特に、データベース５２には、一つの非対称キー対とこれについての情報と構成された非対称キー対データブロックの単位で保存される。非対称キー対についての情報の代表的な例として、非対称キー対の有効期間を挙げることができ、非対称キー対の有効期間は開始時点と満了時点とで表すことができる。
【００４２】
図４は、本発明の一実施形態による非対称キー対データブロックの構造図である。図４を参照するに、本実施形態による非対称キー対データブロックは、チェックサムフィールド４０１、公開キーフィールド４０２、秘密キーフィールド４０３、タイムスタンプフィールド４０４、有効期間フィールド４０５、及びアルゴリズムビットフィールド４０６で構成される。特に、本実施形態による非対称キー対データブロックの構造は、Ｃ言語を利用して図４に示したように定義できる。
【００４３】
チェックサムフィールド４０１には非対称キー対に対するチェックサム値が記録される。これは、第１デバイス５が非対称キー対を第２デバイス６に伝送する前に非対称キー対の変形如何を判別するために使われる。公開キーフィールド４０２には、非対称キー対のうち公開キー値が記録される。秘密キーフィールド４０３には、非対称キー対のうち秘密キー値が記録される。タイムスタンプフィールド４０４には、非対称キー対の有効期間の開始時点が記録される。有効期間フィールド４０５には、非対称キー対の有効期間の満了時点が記録される。アルゴリズムビットフィールド４０６には、非対称キー暗号化アルゴリズムで処理されるデータブロックのビット長が記録される。一般的に、暗号化アルゴリズムで処理されるデータブロックのビット長は暗号化アルゴリズムごとに異なるために、暗号化アルゴリズムを識別するための値として使われる。
【００４４】
セッションキー要請トークン生成部５３は、第２デバイス６とのセッションで使われるセッションキーを要請するセッションキー要請トークンを生成する。より詳細に説明すれば、セッションキー要請トークン生成部５３は、暗号化部５５の指示によって非対称キー対生成部５１により抽出または生成された非対称キー対のうち公開キーを含むセッションキー要請トークンを生成する。この公開キーは、第２デバイス６がセッションキーを暗号化するときに使われる。
【００４５】
図５は、本発明の望ましい一実施形態によるセッションキー要請トークンの構造図である。図５を参照するに、本実施形態によるセッションキー要請トークンは、コマンドフィールド５０１、キー交換タイプフィールド５０２、アルゴリズムビットフィールド５０３、セッションＩＤフィールド５０４、及びトークンメッセージフィールド５０５で構成される。特に、セッションキー要請トークンの構造は、Ｃ言語を利用して図５に示したように定義できる。
【００４６】
コマンドフィールド５０１には、第２デバイス６とのセッションを通じて第２デバイス６に伝送されるトークンのコマンドを表す値、すなわち、第２デバイス６への要請のためのトークンであるか、そうでなければ、第２デバイス６から受信された要請に対する応答のためのトークンであるかを表す値が記録される。セッションキー要請トークンは、第２デバイス６への要請のためのトークンであるため、コマンドフィールド５０１には、第２デバイス６への要請のためのトークンであることを表す値が記録される。
【００４７】
キー交換タイプフィールド５０２には、いかなる非対称キー暗号化アルゴリズムによって公開キーを交換するかを表す値、すなわち、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）アルゴリズムによって公開キーを交換するか、そうでなければ、ＤＨ（Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ）アルゴリズムによって公開キーを交換するかを表す値が記録される。特に、キー交換タイプフィールド５０２の構造は、Ｃ言語を利用して図５に示したように定義でき、前記の値が記録されたｋｅｙ＿ｅｘ＿ｔｙｐｅフィールド及びＰＫＩアルゴリズムまたはＤＨアルゴリズムの具体的な処理過程についての情報が記録されたＰＫＩ＿ＤＨ＿ＣＴＸフィールドで構成される。また、ＰＫＩ＿ＤＨ＿ＣＴＸフィールドは、Ｃ言語を使用して図５に示したように定義でき、ＰＫＩアルゴリズムの具体的な処理過程についての情報が記録されたＰＫＩ＿ＣＴＸフィールド及びＤＨアルゴリズムが具体的な処理過程についての情報が記録されたＤＨ＿ＣＴＸフィールドで構成される。
【００４８】
アルゴリズムビットフィールド５０３には、非対称キー暗号化アルゴリズムで処理されるデータブロックのビット長が記録される。セッションＩＤフィールド５０４には、第２デバイス６とのセッションを表すセッションＩＤ値が記録される。トークンメッセージフィールド５０５には、セッションキー要請トークンを通じて第１デバイス５が第２デバイス６に伝送しようとする実質的な内容が記録され、本実施形態では、第２デバイス６がセッションキーの暗号化に使われる公開キーが記録される。
【００４９】
第１復号化部５４は、下記のセッションキー応答トークンのキー交換フィールド値及びアルゴリズムビットフィールド値が表す対称キー暗号化アルゴリズムによって、受信部５９に受信されたセッションキー応答トークンに含まれた暗号化されたセッションキーを、セッションキー要請トークンのトークンメッセージフィールド５０５に記録された公開キーに対応する秘密キーで復号化することで、第２デバイス６とのセッションを表すセッションＩＤに対応するセッションキーを復元する。より詳細に説明すれば、第１復号化部５４は、セッションキー応答トークンのキー交換フィールド１００２値及びアルゴリズムビット１００３フィールド値が表す非対称キー暗号化アルゴリズムによって、受信部５９に受信されたセッションキー応答トークンのトークンメッセージ１００５に記録された暗号化されたセッションキーを復号化することで、第２デバイス６とのセッションを表すセッションＩＤに対応するセッションキーを復元する。
【００５０】
第１復号化部５４により復元されたセッションキー及びセッションについての情報は、データベース５２に保存される。特に、データベース５２には、一つのセッションキーとこれについての情報とで構成されたセッションキーデータブロックの単位で保存される。第１デバイス５が複数のデバイスとセッションキーを共有する場合、そのデバイスごとに一つずつのセッションキーデータブロックが存在する。セッションキーについての情報の代表的な例には、セッションキーの有効期間を挙げることができ、セッションキーの有効期間は、開始時点と満了時点とで表すことができる。
【００５１】
図６は、本発明の望ましい一実施形態によって第１デバイス５により使われるセッションキーデータブロックの構造図である。図６を参照するに、本実施形態によって第１デバイス５により使われるセッションキーデータブロックは、セッションＩＤフィールド８０１、セッションキーフィールド８０２、タイムスタンプフィールド８０３、及び有効期間フィールド８０４で構成される。特に、本実施形態によるセッションキーデータブロックの構造は、Ｃ言語を利用して図６に示したように定義できる。
【００５２】
セッションＩＤフィールド８０１には、第２デバイス６とのセッションを表すセッションＩＤ値が記録される。セッションキーフィールド８０２には、セッションＩＤフィールド８０１に記録されたセッションＩＤに対応するセッションキーが保存される。タイムスタンプフィールド８０３には、セッションキーの有効期間の開始時点が記録される。有効期間フィールド８０４には、セッションキーの有効期間の満了時点が記録される。
【００５３】
暗号化部５５は、第１復号化部５４により復元されたセッションキーを使用して第１デバイス５が第２デバイス２に伝送しようとするソースデータを暗号化する。より詳細に説明すれば、暗号化部５５は、第１デバイス５が第２デバイス２に伝送しようとするソースデータが存在する場合、データベース５２に保存されたセッションキーを照会し、これらのうち第２デバイス２とのセッションで使われるセッションキーの存否を確認する。
【００５４】
また、暗号化部５５は、確認結果、第２デバイス２とのセッションで使われるセッションキーが存在する場合にはその有効性を検証する。また、暗号化部５５は、確認結果、第２デバイス２とのセッションで使われるセッションキーが存在していない場合には、セッションキー要請トークン生成部５３に新たなセッションキー要請トークンの生成を指示する。また、暗号化部５５は、検証結果、このセッションキーの有効期間が満了していない場合には、これを使用してソースデータを暗号化する。また、暗号化部５５は、検証結果、このセッションキーの有効期間が満了した場合には、セッションキー要請トークン生成部５３に新たなセッションキー要請トークンの生成を指示する。
【００５５】
ソースデータ暗号文生成部５５は、暗号化部５５により暗号化されたソースデータを含むソースデータ暗号文を生成する。
【００５６】
図７は、本発明の望ましい一実施形態によるソースデータ暗号文の構造図である。図７を参照するに、本実施形態によるソースデータ暗号文は、暗号化アルゴリズムフィールド７０１、暗号化アルゴリズムビットフィールド７０２、セッションＩＤフィールド７０３、元データ長フィールド７０４、チェックサムフィールド７０５、及び暗号化データフィールド７０６で構成される。特に、本実施形態によるソースデータ暗号文の構造は、Ｃ言語を利用して図７に示したように定義できる。
【００５７】
暗号化アルゴリズムフィールド７０１には、いかなる対称キー暗号化アルゴリズムによってソースデータを暗号化したかを表す値、例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）アルゴリズムによってソースデータを暗号化したことを表す値が記録される。暗号化アルゴリズムビットフィールド７０２には、対称キー暗号化アルゴリズムで処理されるデータブロックのビット長が記録される。セッションＩＤフィールド７０３には、第２デバイス６とのセッションを表すセッションＩＤ値が記録される。元データ長フィールド７０４には、暗号化部５５による暗号化前の元データの長さが記録される。これは、第２デバイス６がソースデータを正常に復元したかどうかを判別するために使われる。チェックサムフィールド７０５には、セッションキーに対するチェックサム値が記録される。これは、第１デバイス５がセッションキーを第２デバイス６に伝送する前に対称キー対の変形如何を判別するために使われる。暗号化データフィールド７０６には、ソースデータ暗号文を通じて第１デバイス５が第２デバイス６に伝送しようとする実質的な内容の暗号化されたソースデータが記録される。
【００５８】
第２復号化部５７は、受信部５９に受信された結果データ暗号文に含まれた暗号化された結果データを、第１復号化部５４により復元されたセッションキーを使用して復号化することで結果データを復元する。第２復号化部５７により復元された結果データは、第１デバイス５がクライアントの立場で第２デバイス６にソースデータの処理を要請し、この要請に応じて第２デバイス６がソースデータを処理した結果物である。
【００５９】
より詳細に説明すれば、第２復号化部５７は、結果データ暗号文の暗号化アルゴリズムフィールド１１０１値及び暗号化アルゴリズムビットフィールド１００２値が表す暗号化アルゴリズムによって、結果データ暗号文の暗号化データフィールド１１０６に記録された暗号化された結果データを、結果データ暗号文のセッションＩＤフィールド１１０３に記録されたセッションＩＤに対応するセッションキーを使用して復号化し、結果データ暗号文の元データ長フィールド１１０４値及びチェックサムフィールド１１０５値を利用して正常に復元されたかどうかを判別する。
【００６０】
送信部５８は、第２デバイス６に、セッションキー要請トークン生成部５３により生成されたセッションキー要請トークンを伝送する。また、送信部５８は、第２デバイス６に、暗号文生成部５６により生成されたソースデータ暗号文を伝送する。
【００６１】
受信部５９は、送信部５８から伝送されたセッションキー要請トークンに対する応答に該当するセッションキー応答トークンを受信する。また、受信部５９は、送信部５８から伝送されたソースデータ暗号文に含まれたソースデータを第２デバイス６が処理した結果である結果データを暗号化された形態で含む結果データ暗号文を受信する。
【００６２】
図８は、本発明の望ましい一実施形態による第２デバイス６の構成図である。図８を参照するに、本実施形態による第２デバイス６は、セッションキー生成部６１、データベース６２、第１暗号化部６３、セッションキー応答トークン生成部６４、復号化部６５、データ処理部６６、第２暗号化部６７、結果データ暗号文生成部６８、受信部６９、及び送信部６１０で構成される。
【００６３】
セッションキー生成部６１は、受信部６９に受信されたセッションキー要請トークンに対応して第１デバイス５とのセッションで使われるセッションキーを生成する。より詳細に説明すれば、セッションキー生成部６１は、セッションキー要請トークンのセッションキーＩＤフィールド５０２に記録されたセッションＩＤに対応するセッションキーを生成する。
【００６４】
セッションキー生成部６１により生成された非対称キー対と、この非対称キー対についての情報とは、データベース６２に保存され、非対称キー対の生成時点から一定期間のみ使われる。一般的に、この一定期間をセッションキーの有効期間という。これは、セッションキーの使用期間を統制することでセッションキーが外部に露出されうる機会を減らすためのものである。
【００６５】
より詳細に説明すれば、セッションキー生成部６１は、セッションキー要請トークンに対応してデータベース６２に保存されたセッションキーを照会する。また、セッションキー生成部６１は、照会結果、データベース６２にセッションキー要請トークンのセッションキーＩＤフィールド５０２に記録されたセッションＩＤに対応するセッションキーが存在する場合には、その有効性を検証する。また、セッションキー生成部６１は、検証結果、このセッションキーが有効な場合、すなわち、このセッションキーの有効期間が満了していない場合には、データベース６２からこれを抽出する。また、セッションキー生成部６１は、データベース６２にセッションキー要請トークンのセッションキーＩＤフィールド５０２に記録されたセッションＩＤに対応するセッションキーが存在していない場合、またはこのセッションキーの有効期間が満了した場合には、新たなセッションキーを生成する。
【００６６】
データベース６２には、セッションキーとセッションキーそれぞれについての情報とが保存される。特に、データベース６２には、一つのセッションキーとこれについての情報とで構成されたセッションキーデータブロックの単位で保存される。セッションキーについての情報の代表的な例には、セッションキーの有効期間を挙げることができ、セッションキーの有効期間は開始時点と満了時点とで表すことができる。
【００６７】
図９は、本発明の望ましい一実施形態によって第２デバイス６により使われるセッションキーデータブロックの構造図である。図９を参照するに、本実施形態によって第２デバイス６により使われるセッションキーデータブロックは、チェックサムフィールド９０１、セッションＩＤフィールド９０２、セッションキーフィールド９０３、タイムスタンプフィールド９０４、及び有効期間フィールド９０５で構成される。特に、本実施形態によるセッションキーデータブロックの構造は、Ｃ言語を利用して図９に示したように定義できる。
【００６８】
チェックサムフィールド９０１には、セッションキーに対しチェックサム値が記録される。これは、第１デバイス６がセッションキーを第１デバイス５に伝送する前にセッションキーの変形如何を判別するために使われる。セッションＩＤフィールド９０２には、第１デバイス５とのセッションを表すセッションＩＤ値が記録される。セッションキーフィールド９０３には、セッションＩＤフィールド９０２に記録されたセッションＩＤに対応するセッションキーが保存される。タイムスタンプフィールド９０４には、セッションキーの有効期間の開始時点が記録される。有効期間フィールド９００には、セッションキーの有効期間の満了時点が記録される。
【００６９】
第１暗号化部６３は、受信部６９に受信されたセッションキー要請トークンのキー交換タイプフィールド５０２値及びアルゴリズムビットフィールド５０３値が表す非対称キー暗号化アルゴリズムによって、セッションキー生成部６１により生成されたセッションキーを暗号化する。より詳細に説明すれば、第１暗号化部６３は、受信部６９に受信されたセッションキー要請トークンのトークメッセージ５０５に記録された公開キーを使用してセッションキーを暗号化する。
【００７０】
セッションキー応答トークン生成部６４は、受信部６９に受信されたセッションキー要請トークンに対する応答に該当するセッションキー応答トークンを生成する。より詳細に説明すれば、セッションキー応答トークン生成部６４は、第１暗号化部６３により暗号化されたセッションキーを含むセッションキー応答トークンを生成する。
【００７１】
図１０は、本発明の望ましい一実施形態によるセッションキー応答トークンの構造図である。図１０を参照するに、本実施形態によるセッションキー応答トークンは、コマンドフィールド１００１、キー交換タイプフィールド１００２、アルゴリズムビットフィールド１００３、セッションＩＤフィールド１００４、及びトークンメッセージフィールド１００５で構成される。特に、セッションキー応答トークンの構造は、Ｃ言語を利用して図１０に示したように定義できる。
【００７２】
コマンドフィールド１００１には、第１デバイス５とのセッションを通じて第１デバイス５に伝送されるトークンのコマンドを表す値、すなわち、第１デバイス５への要請のためのトークンであるか、そうでなければ、第１デバイス５から受信された要請に対する応答のためのトークンであるかを表す値が記録される。セッションキー応答トークンは、第１デバイス５から受信された要請に対する応答のためのトークンであるため、コマンドフィールド１００１には、第１デバイス５への要請のためのトークンであることを表す値が記録される。
【００７３】
キー交換タイプフィールド１００２には、いかなる非対称キー暗号化アルゴリズムによって公開キーを交換するかを表す値、すなわち、ＰＫＩアルゴリズムによって公開キーを交換するか、そうでなければ、ＤＨアルゴリズムによって公開キーを交換するかを表す値が記録される。特に、キー交換タイプフィールド１００２の構造は、Ｃ言語を利用して図１０に示したように定義でき、前記の値が記録されたｋｅｙ＿ｅｘ＿ｔｙｐｅフィールド、及びＰＫＩアルゴリズムまたはＤＨアルゴリズムの具体的な処理過程についての情報が記録されたＰＫＩ＿ＤＨ＿ＣＴＸフィールドで構成される。また、ＰＫＩ＿ＤＨ＿ＣＴＸフィールドは、Ｃ言語を使用して図１０に示したように定義でき、ＰＫＩアルゴリズムの具体的な処理過程についての情報が記録されたＰＫＩ＿ＣＴＸフィールド及びＤＨアルゴリズムが具体的な処理過程についての情報が記録されたＤＨ＿ＣＴＸフィールドで構成される。
【００７４】
アルゴリズムビットフィールド１００３には、非対称キー暗号化アルゴリズムで処理されるデータブロックのビット長が記録される。セッションＩＤフィールド１００４には、第１デバイス５とのセッションを表すセッションＩＤ値が記録される。トークンメッセージフィールド１００５には、セッションキー応答トークンを通じて第２デバイス６が第１デバイス５に伝送しようとする実質的な内容が記録され、セッションキー応答トークンの場合には、第２デバイス６がセッションキーを暗号化するときに使用した公開キーが記録される。
【００７５】
復号化部６５は、受信部６９に受信されたソースデータ暗号文に含まれた暗号化されたソースデータを、セッションキーを使用して復号化することでソースデータを復元する。より詳細に説明すれば、復号化部６５は、ソースデータ暗号文の暗号化アルゴリズムフィールド７０１値及び暗号化アルゴリズムビットフィールド７０２値が表す対称キー暗号化アルゴリズムによって、ソースデータ暗号文の暗号化メッセージフィールド７０６に記録された暗号化されたソースデータを復号化し、ソースデータ暗号文の元データ長フィールド７０４値及びチェックサムフィールド７０５値を利用してソースデータが正常に復元されたかどうかを判別する。
【００７６】
また、復号化部６５は、受信部６９に受信されたソースデータ暗号文が存在する場合、データベース６２に保存されたセッションキーを照会する。また、復号化部６５は、照会結果、データベース６２にソースデータ暗号文のセッションＩＤフィールド７０３に記録されたセッションＩＤに対応するセッションキーが存在する場合には、その有効性を検証する。また、復号化部６５は、検証結果、このセッションキーの有効期間が満了していない場合には、データベース６２からこれを抽出してソースデータの復元に使用する。また、復号化部６５は、データベース６２に、ソースデータ暗号文のセッションＩＤフィールド７０３に記録されたセッションキーが存在していない場合、またはこのセッションキーの有効期間が満了した場合には、これを表すエラーメッセージを生成する。
【００７７】
データ処理部６６は、復号化部６５により復元されたソースデータを処理する。例えば、ソースデータが圧縮データであれば、データ処理部６６は、ソースデータの圧縮を解くことによってソースデータを処理する。
【００７８】
第２暗号化部６７は、データ処理部６６により処理された結果である結果データを、復号化部６５での復号化に使われたセッションキーを使用して暗号化する。
【００７９】
結果データ暗号文生成部６８は、第２暗号化部６７により暗号化された結果データを含む結果データ暗号文を生成する。
【００８０】
図１１は、本発明の望ましい一実施形態によるソースデータ暗号文の構造図である。図１１を参照するに、本実施形態によるソースデータ暗号文は、暗号化アルゴリズムフィールド１１０１、暗号化アルゴリズムビットフィールド１１０２、セッションＩＤフィールド１１０３、元データ長フィールド１１０４、チェックサムフィールド１１０５、及び暗号化データフィールド１１０６で構成される。特に、本実施形態によるソースデータ暗号文の構造は、Ｃ言語を利用して図１１に示したように定義できる。
【００８１】
暗号化アルゴリズムフィールド１１０１には、いかなる対称キー暗号化アルゴリズムによってソースデータを暗号化したかを表す値、例えば、ＤＥＳアルゴリズムによってソースデータを暗号化したことを表す値が記録される。暗号化アルゴリズムビットフィールド１１０２には、対称キー暗号化アルゴリズムで処理されるデータブロックのビット長が記録される。セッションＩＤフィールド１１０３には、第１デバイス５とのセッションを表すセッションＩＤ値が記録される。元データ長フィールド１１０４には、第２暗号化部６７による暗号化前の元データの長さが記録される。これは、第１デバイス５が結果データを正常に復元したかどうかを判別するために使われる。チェックサムフィールド１１０５には、セッションキーに対するチェックサム値が記録される。これは、第２デバイス６がセッションキーを第１デバイス５に伝送する前に対称キー対の変形如何を判別するために使われる。暗号化データフィールド１１０６には、ソースデータ暗号文を通じて第２デバイス６が第１デバイス５に伝送しようとする実質的な内容である暗号化されたソースデータが記録される。
【００８２】
受信部６９は、第１デバイス５から第１デバイス５とのセッションで使われるセッションキーを要請するセッションキー要請トークンを受信する。また、受信部６９は、送信部６１０から伝送されたセッションキー応答トークンに含まれた暗号化されたセッションキーから復元されたセッションキーを使用して、暗号化されたソースデータを含むソースデータ暗号文を受信する。
【００８３】
送信部６１０は、第１デバイス５に、セッションキー応答トークン生成部６４により生成されたセッションキー応答トークンを伝送する。また、送信部６１０は、第１デバイス５に、復号化部６５により生成されたエラーメッセージを伝送する。また、送信部６１０は、第１デバイス５に、結果データ暗号文生成部６８により生成された結果データ暗号文を伝送する。
【００８４】
図１２は、本発明の望ましい一実施形態による安全なデータ伝送方法のフローチャートである。図１２を参照するに、本実施形態による安全なデータ伝送方法は、次のようなステップで構成される。本実施形態による安全なデータ伝送方法は、図３に図示された第１デバイス５で時系列的に処理されるステップで構成される。したがって、以下で省略された内容であっても、図３に図示された第１デバイス５に関して以上で記述された内容は、本実施形態による安全なデータ伝送方法にも適用される。
【００８５】
１２０１ステップで、第１デバイス５は、データベース５２に保存された非対称キー対を照会し、これらの有効性を検証する。
【００８６】
１２０２ステップで、第１デバイス５は、１２０１ステップでの検証結果、有効な非対称キー対が存在する場合、すなわち、有効期間が満了していない非対称キー対が存在する場合にはこれを抽出し、１２０４ステップに進行する。もし、有効期間が満了していない非対称キー対が存在していない場合には１２０３ステップに進行する。
【００８７】
１２０３ステップで、第１デバイス５は、新たな非対称キー対を生成する。
１２０４ステップで、第１デバイス５は第２デバイス６とのセッションで使われるセッションキーを要請するセッションキー要請トークンを生成する。より詳細に説明すれば、１２０３ステップで、第１デバイス５は、１２０２ステップで抽出された非対称キー対または１２０３ステップで生成された非対称キー対のうち公開キーを含むセッションキー要請トークンを生成する。
【００８８】
１２０５ステップで、第１デバイス５は、１２０４ステップで生成されたセッションキー要請トークンを伝送する。
【００８９】
１２０６ステップで、第１デバイス５は、１２０５ステップで伝送されたセッションキー要請トークンに対する応答に該当するセッションキー応答トークンを受信する。
【００９０】
１２０７ステップで、第１デバイス５は、１２０２ステップで抽出された非対称キー対または１２０３ステップで生成された非対称キー対のうち公開キーに対応する秘密キーを使用して、１２０６ステップで受信されたセッションキー応答トークンに含まれた暗号化されたセッションキーを復号化することで、第２デバイス６とのセッションを表すセッションＩＤに対応するセッションキーを復元する。
【００９１】
１２０８ステップで、第１デバイス５は、１２０７ステップで復元されたセッションキーを使用して、第１デバイス５が第２デバイス２に伝送しようとするソースデータを暗号化する。
【００９２】
１２０９ステップで、第１デバイス５は、１２０８ステップで暗号化されたソースデータを含むソースデータ暗号文を生成する。
【００９３】
１２１０ステップで、第１デバイス５は、１２０９ステップで生成されたソースデータ暗号文を伝送する。
【００９４】
１２１１ステップで、第１デバイス５は、１２１０ステップで伝送されたソースデータ暗号文に含まれたソースデータを第２デバイス６が処理した結果である結果データを暗号化された形態で含む結果データ暗号文を受信する。
【００９５】
１２１２ステップで、第１デバイス５は、１２０７ステップで復元されたセッションキーを使用して、１２１１ステップで受信された結果データ暗号文に含まれた暗号化された結果データを復号化することで結果データを復元する。
【００９６】
図１３Ａ及び図１３Ｂは、本発明の望ましい一実施形態による安全なデータ伝送方法のフローチャートである。
【００９７】
図１３Ａ及び図１３Ｂを参照するに、本実施形態による安全なデータ受信方法は、次のようなステップで構成される。本実施形態による安全なデータ受信方法は、図８に図示された第２デバイス６で時系列的に処理されるステップで構成される。したがって、以下省略された内容であっても、図８に図示された第２デバイス６に関して以上で記述された内容は、本実施形態による安全なデータ受信方法にも適用される。
【００９８】
１３０１ステップで、第２デバイス６は、第１デバイス５から第１デバイス５とのセッションで使われるセッションキーを要請するセッションキー要請トークンを受信する。
【００９９】
１３０２ステップで、第２デバイス６は、１３０１ステップで受信されたセッションキー要請トークンに対応してデータベース６２に保存されたセッションキーを照会する。次いで、１３０２ステップで、第２デバイス６は、照会結果データベース６２にセッションキー要請トークンに含まれたセッションＩＤに対応するセッションキーが存在する場合には、その有効性を検証する。
【０１００】
１３０３ステップで、第２デバイス６は、１３０２ステップでの検証結果、このセッションキーが有効な場合、すなわち、このセッションキーの有効期間が満了していない場合にはデータベース６２からこれを抽出し、１３０５ステップに進行する。もし、１３０２ステップで、第２デバイス６は、データベース６２に第１デバイス５とのセッションで使われるセッションキーが存在していない場合、またはこのセッションキーの有効期間が満了した場合には１３０４ステップに進行する。
【０１０１】
１３０４ステップで、第２デバイス６は、新たなセッションキーを生成する。
【０１０２】
１３０５ステップで、第２デバイス６は、１３０１ステップで受信されたセッションキー要請トークンに含まれた公開キーを使用して、１３０３ステップで抽出されたセッションキーまたは１３０４ステップで生成されたセッションキーを暗号化する。
【０１０３】
１３０６ステップで、第２デバイス６は、１３０１ステップで受信されたセッションキー要請トークンに対する応答に該当するセッションキー応答トークンを生成する。より詳細に説明すれば、１３０６ステップで、第２デバイス６は、１３０５ステップで暗号化されたセッションキーを含むセッションキー応答トークンを生成する。
【０１０４】
１３０７ステップで、第２デバイス６は、第１デバイス５に１３０６ステップで生成されたセッションキー応答トークンを伝送する。
【０１０５】
１３０８ステップで、第２デバイス６は、１３０７ステップで伝送されたセッションキー応答トークンに含まれた暗号化されたセッションキーから復元されたセッションキーを使用して、暗号化されたソースデータを含むソースデータ暗号文を受信する。
【０１０６】
１３０９ステップで、第２デバイス６は、１３０８ステップで受信されたソースデータ暗号文が存在する場合、データベース６２に保存されたセッションキーを照会する。次いで、１３０８ステップで、第２デバイス６は、照会結果、データベース６２にソースデータ暗号文のセッションＩＤフィールド７０３に記録されたセッションＩＤに対応するセッションキーが存在する場合には、その有効性を検証する。
【０１０７】
１３１０ステップで、第２デバイス６は、１３０９ステップでの検証結果、このセッションキーの有効期間が満了していない場合には、データベース６２からこれを抽出し、１３１２ステップに進行する。もし、１３１０ステップで、第２デバイス６は、データベース６２にソースデータ暗号文のセッションＩＤフィールド７０３に記録されたセッションキーが存在していない場合、またはこのセッションキーの有効期間が満了した場合には１３１１ステップに進行する。
【０１０８】
１３１１ステップで、第２デバイス６は、データベース６２にソースデータ暗号文のセッションＩＤフィールド７０３に記録されたセッションキーが存在していないか、このセッションキーの有効期間が満了したことを表すエラーメッセージを第１デバイス５に伝送する。
【０１０９】
１３１２ステップで、第２デバイス６は、１３０８ステップで受信されたソースデータ暗号文に含まれた暗号化されたソースデータを、１３１０ステップで抽出されたセッションキーを使用して復号化することでソースデータを復元する。
【０１１０】
１３１３ステップで、第２デバイス６は、１３１２ステップで復元されたソースデータを処理する。
【０１１１】
１３１４ステップで、第２デバイス６は、１３１３ステップで処理された結果である結果データを、復号化部６５での復号化に使われたセッションキーを使用して暗号化する。
【０１１２】
１３１５ステップで、第２デバイス６は、１３１４ステップで暗号化された結果データを含む結果データ暗号文を生成する。
【０１１３】
１３１６ステップで、第２デバイス６は、第１デバイス５に１３１５ステップで生成された結果データ暗号文を伝送する。
【０１１４】
一方、前述した本発明の実施形態は、コンピュータで実行できるプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を利用して前記プログラムを動作させる汎用ディジタルコンピューターで具現できる。また、前述した本発明の実施形態で使われたデータの構造は、コンピュータで読み取り可能な記録媒体にいろいろな手段を通じて記録できる。
【０１１５】
前記コンピュータで読み取り可能な記録媒体は、マグネチック記録媒体（例えば、ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクなど）、光学的判読媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤなど）及びキャリアウェーブ（例えば、インターネットを通じた伝送）のような記録媒体を含む。
【０１１６】
これまで本発明についてその望ましい実施形態を中心に説明した。当業者ならば、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で具現できることを理解できるであろう。したがって、開示された実施形態は限定的な観点ではなく説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれると解釈されねばならない。
【産業上の利用可能性】
【０１１７】
本発明は、一対一で通信するエンベデッドデバイスに適用できる。
【図面の簡単な説明】
【０１１８】
【図１】従来のデータ保安方式のフローチャートである。
【図２】本発明の望ましい一実施形態による安全なデータ送受信方法のフローチャートである。
【図３】本発明の望ましい一実施形態による第１デバイスの構成図である。
【図４】本発明の一実施形態による非対称キー対データブロックの構造図である。
【図５】本発明の望ましい一実施形態によるセッションキー要請トークンの構造図である。
【図６】本発明の望ましい一実施形態によって第１デバイスにより使われるセッションキーデータブロックの構造図である。
【図７】本発明の望ましい一実施形態によるソースデータ暗号文の構造図である。
【図８】本発明の望ましい一実施形態による第２デバイスの構成図である。
【図９】本発明の望ましい一実施形態によって第２デバイスにより使われるセッションキーデータブロックの構造図である。
【図１０】本発明の望ましい一実施形態によるセッションキー応答トークンの構造図である。
【図１１】本発明の望ましい一実施形態によるソースデータ暗号文の構造図である。
【図１２】本発明の望ましい一実施形態による安全なデータ伝送方法のフローチャートである。
【図１３Ａ】本発明の望ましい一実施形態による安全なデータ伝送方法のフローチャートである。
【図１３Ｂ】本発明の望ましい一実施形態による安全なデータ伝送方法のフローチャートである。
【符号の説明】
【０１１９】
５  第１デバイス
６  第２デバイス
【図１】
2007082216.tif 000003
【図２】
2007082216.tif 000004
【図３】
2007082216.tif 000005
【図４】
2007082216.tif 000006
【図５】
2007082216.tif 000007
【図６】
2007082216.tif 000008
【図７】
2007082216.tif 000009
【図８】
2007082216.tif 000010
【図９】
2007082216.tif 000011
【図１０】
2007082216.tif 000012
【図１１】
2007082216.tif 000013
【図１２】
2007082216.tif 000014
【図１３Ａ】
2007082216.tif 000015
【図１３Ｂ】
2007082216.tif 000016