説明

暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法

【課題】 データを暗号化して安全に配送するとともに、配送するデータの完全性の検証を可能にし、かつデータの配送の事実の否認防止にも効果的な暗号化データ配送システム等を提供する。
【解決手段】 データを送信する送信装置とデータを受信する受信装置が秘密鍵を共有し、この共有秘密鍵によって暗合化したデータを配送するとともに、送信装置では暗号化前のデータと共有秘密鍵から生成したHMAC鍵を用いて演算したMAC値を、受信装置では復号化後のデータと共有秘密鍵から生成したHMAC鍵を用いて演算したMAC値をそれぞれ管理サーバに送信し、管理サーバでMAC値の一致を確認することによって、配送したデータの完全性を検証することとあわせて、第三者機関である管理サーバの運営者による検証によって配送事実の否認防止を可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全かつ確実にデータを暗号化して配送する、暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法に関するものである。
【背景技術】
【0002】
電子メールやファイル等のデータを配送する際には、セキュリティ対策としてデータを暗号化することが広く行われている。データの暗号化には様々な方式があるが、その1つとして共有秘密鍵を用いる方式があり、秘密鍵を安全に共有するために、例えば、初回のメッセージの送信時に共有公開鍵から生成する共有秘密鍵を生成するために必要な初期鍵を鍵サーバから受信者に引渡し、以後は秘密鍵と送信者及び受信者の公開鍵から同一の共有秘密鍵を演算し、継続して送受信するメッセージを共有秘密鍵によって暗号化する発明が開示されている(特許文献1参照)。
【0003】
また、受信したデータに改ざんや破損がないことを確認するために、MAC(Message Authentication Code=メッセージ認証符号)やMIC(Message Integrity Code=メッセージ完全性符号)のアルゴリズムを用いて認証用のコードを生成し、配送するデータとあわせてMAC値等のコードを送信して、受信者側で受信したデータから演算されるMA値等のコードと照合することによってデータの完全性を検証することが行われている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−295366号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1記載の発明によると、データ(メッセージ)を暗号化して送信し、暗号化と復号化に用いる共有鍵を、鍵サーバを介することなく共有することができるので、一定の安全性を確保することには効果的である。しかしながら、データの改ざんや破損など完全性を検証する仕組みが開示されていないことに加えて、データが受信者に配送された事実を送信者の側で確実に把握し、受信者が配送事実を否認することを防止する仕組みも備えられていない。
【0006】
こうした課題のうち、完全性を検証する仕組みについては、前述のMAC等のアルゴリズムを用いることとすればよいが、一般に配送するデータから演算されたMAC値等は配送するデータとともに受信者に送信され、受信者側でデータの検証が行われるため、受信者側でデータの完全性を確認することはできるものの、受信者がデータの完全性や配送の事実そのものを否認した場合に、送信者側で配送の事実等を証明することができず、受信者による配送事実の否認に対応することができない。逆に、送信者側が配送の事実を否認した場合に、受信者側で対応できないことも同様である。
【0007】
また、特許文献1記載の発明は、初回の送信時には公開鍵とあわせて共有秘密鍵の生成に用いられる初期鍵が鍵サーバから提供されるため、鍵サーバにおいて公開鍵を取得すれば初回の暗号化に用いられる共有秘密鍵を生成することが可能であり、初回の暗号化には弱点を残すものとなっている。
【0008】
本発明は、このような課題に対応するためになされたものであり、データを暗号化して安全に配送するのみでなく、配送するデータの完全性の検証を可能にするとともに、データの配送の事実の否認防止にも効果的な、暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法を提供することを目的とするものである。
【課題を解決するための手段】
【0009】
このような課題に対応するために、本発明においては、データを送信する送信装置とデータを受信する受信装置が秘密鍵を共有し、この共有秘密鍵から生成した暗号鍵、あるいは共有秘密鍵そのものを暗号鍵として用いることによって暗合化したデータを配送するとともに、送信装置では暗号化前のデータから演算したMAC値を、受信装置では復号化後のデータから演算したMAC値をそれぞれ管理サーバに送信し、管理サーバでMAC値の一致を確認することによって、配送したデータの完全性を検証することとあわせて、第三者機関である管理サーバの運営者による検証によって配送事実の否認防止を可能にしている。
【0010】
このような特徴を有する本発明を構成する送信装置に関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する送信装置であって、前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信手段と、前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信する第1のMAC値送信手段と、を備えていて、前記受信装置は、前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信して、前記管理サーバは、前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認することを特徴とする暗号化データ配送のための送信装置である。
【0011】
上記の送信装置に備えられる送信プログラムに関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する送信装置に備えられる送信プログラムであって、前記送信装置に、前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信するステップと、前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信するステップと、を実行させ、前記受信装置は、前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信して、前記管理サーバは、前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認することを特徴とする暗号化データ配送のための送信プログラムである。
【0012】
このような特徴を有する本発明を構成する受信装置に関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する受信装置であって、前記送信装置から送信された暗号化データと前記暗号化データの配送を識別するために採番された配送IDを受信し、前記送信装置と共有する共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記送信装置において暗号化された配送データに復号化する暗号化データ復号手段と、前記暗号化データ復号手段が復号化した配送データと前記送信装置と共有するMAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信する第2のMAC値送信手段と、を備えていて、前記送信装置は、前記共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、前記配送データと前記MAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、前記管理サーバは、前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認することを特徴とする暗号化データ配送のための受信装置である。
【0013】
上記の受信装置に備えられる受信プログラムに関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する受信装置に備えられる受信プログラムであって、前記受信装置に、前記送信装置から送信された暗号化データと前記暗号化データの配送を識別するために採番された配送IDを受信し、前記送信装置と共有する共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記送信装置において暗号化された配送データに復号化するステップと、前記ステップで復号化した配送データと前記送信装置と共有するMAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信するステップと、を実行させ、前記送信装置は、前記共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、前記配送データと前記MAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、前記管理サーバは、前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認することを特徴とする暗号化データ配送のための受信プログラムである。
【0014】
このような特徴を有する本発明を構成する管理サーバに関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する管理サーバであって、前記送信装置から送信された第1のMAC値と前記暗号化データの配送を識別するために採番された配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けて記憶するMAC値記憶手段と、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認する配送確認手段と、を備えていて、前記送信装置は、前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、前記受信装置は、前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信することを特徴とする暗号化データ配送のための管理サーバである。
【0015】
上記の管理サーバに備えられる管理プログラムに関する発明は、暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する管理サーバに備えられる管理プログラムであって、前記管理サーバに、前記送信装置から送信された第1のMAC値と前記暗号化データの配送を識別するために採番された配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けてMAC値記憶手段に記憶させるステップと、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認するステップと、を実行させ、前記送信装置は、前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、前記受信装置は、前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信することを特徴とする暗号化データ配送のための管理プログラムである。
【0016】
本発明において、完全性の検証と否認防止のために用いられるMAC値は、配送するデータと送信装置と受信装置が共有するMAC鍵から演算されるが、MAC値の改ざんを防止して完全性の検証を確実にする効果、および送受信者の特定によって配送事実の否認を防止する効果を高める目的から、MAC値を算出する鍵に共有秘密鍵から生成されるHMAC(Keyed-Hashing for Message Authentication Code、ハッシュ関数を使って秘密鍵と組み合わせて演算するMAC)鍵を用いることが好ましい。
【0017】
すなわち、本発明にかかる送信装置は、前記第1のMAC値送信手段は、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第1のMAC値を演算し、前記受信装置において、前記第2のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されることを特徴とすることもできる。
【0018】
本発明にかかる送信プログラムは、前記第1のMAC値を前記管理サーバに送信するステップでは、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第1のMAC値を演算し、前記受信装置において、前記第2のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されることを特徴とすることもできる。
【0019】
本発明にかかる受信装置は、前記第2のMAC値送信手段は、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第2のMAC値を演算し、前記送信装置において、前記第1のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されることを特徴とすることもできる。
【0020】
本発明にかかる受信プログラムは、前記第2のMAC値を前記管理サーバに送信するステップでは、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第2のMAC値を演算し、前記送信装置において、前記第1のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されることを特徴とすることもできる。
【0021】
本発明では、データを送信する送信装置とデータを受信する受信装置で秘密鍵を共有することが前提となるが、この秘密鍵を安全に共有する方法として、秘密鍵そのものは送受信することなく、乱数と公開鍵から共有秘密鍵を生成するDH(Diffie−Hellman)鍵共有方式がある。特にDH鍵共有方式から派生したヒューズ(Hughes)による鍵共有方式はDH鍵共有方式を根拠とする安全性を有し、かつ公開鍵と共有秘密鍵が独立に生成できる工夫がなされており、本発明の用途には好適である。
【0022】
すなわち、本発明にかかる送信装置は、乱数を発生させる乱数生成手段と、前記管理サーバに前記暗号化データを送信する受信装置を識別する受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信するDH公開鍵受信手段と、前記乱数生成手段の生成した乱数値と前記受信装置と共有するDHパラメータから前記共有秘密鍵を生成する共有秘密鍵生成手段と、前記乱数値と前記DH公開鍵から前記受信装置と共有する共有公開鍵を生成し、前記受信装置に送信する共有公開鍵送信手段と、を備えていて、前記受信装置は、前記DHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、前記送信装置から前記共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、前記管理サーバは、前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信することを特徴とすることもできる。
【0023】
本発明にかかる送信プログラムは、前記送信装置に、乱数を発生させるステップと、前記管理サーバに前記暗号化データを送信する受信装置を識別する受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信するステップと、前記乱数を発生させるステップで生成した乱数値と前記受信装置と共有するDHパラメータから前記共有秘密鍵を生成するステップと、前記乱数値と前記DH公開鍵から前記受信装置と共有する共有公開鍵を生成し、前記受信装置に送信するステップと、を実行させ、前記受信装置は、前記DHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、前記送信装置から前記共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、前記管理サーバは、前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信することを特徴とすることもできる。
【0024】
本発明にかかる受信装置は、前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成するDH鍵生成手段と、前記DH公開鍵を前記受信装置を識別する受信装置IDとともに前記管理サーバに送信するDH公開鍵送信手段と、前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成する共有秘密鍵生成手段と、を備えていて、前記管理サーバは、前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信し、前記送信装置は、前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信することを特徴とすることもできる。
【0025】
本発明にかかる受信プログラムは、前記受信装置に、前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成するステップと、前記DH公開鍵を前記受信装置を識別する受信装置IDとともに前記管理サーバに送信するステップと、前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成するステップと、を実行させ、前記管理サーバは、前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信し、前記送信装置は、前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信することを特徴とすることもできる。
【0026】
本発明にかかる管理サーバは、前記受信装置から送信されたDH公開鍵と前記受信装置を識別する受信装置IDを受信し、前記DH公開鍵と前記受信装置IDを関連付けて記憶するDH公開鍵記憶手段を備えていて、前記受信装置は、前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、前記送信装置は、前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信することを特徴とすることもできる。
【0027】
本発明にかかる管理プログラムは、前記管理サーバに、前記受信装置から送信されたDH公開鍵と前記受信装置を識別する受信装置IDを受信し、前記DH公開鍵と前記受信装置IDを関連付けてDH公開鍵記憶手段に記憶させるステップを実行させ、前記受信装置は、前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、前記送信装置は、前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信することを特徴とすることもできる。
【0028】
また、本発明は、本発明にかかる送信装置、受信装置、管理サーバから構成される暗号化データ配送システム、本発明にかかる送信装置、受信装置、管理サーバによって実行される暗号化データの配送方法として特定することもできる。
【発明の効果】
【0029】
本発明によって、データを暗号化して安全に配送することに加えて、配送されたデータの改ざんや破損を検出して完全性の検証が可能になるとともに、データが配送された事実が第三者によって確認されることで、送信者又は受信者による配送事実の否認を防止することが可能になる。
【図面の簡単な説明】
【0030】
【図1】本発明にかかる暗号化データ配送システムの実施形態の概要を示す図である。
【図2】本発明にかかる暗号化データ配送システムの構成を示すブロック図である。
【図3】本発明にかかる暗号化データ配送システムによるデータ配送の全体の流れを示す図である。
【図4】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第1の図である。
【図5】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第2の図である。
【図6】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第3の図である。
【図7】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第4の図である。
【図8】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第5の図である。
【図9】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第6の図である。
【図10】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第7の図である。
【図11】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第8の図である。
【図12】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第9の図である。
【図13】本発明にかかる暗号化データ配送システムによるデータ配送の流れを示す第10の図である。
【図14】DH(Diffie−Hellman)鍵共有方式から派生したヒューズ(Hughes)による鍵共有方式の概要を示す図である。
【発明を実施するための形態】
【0031】
本発明を実施するための形態について、図面を用いて以下に詳細に説明する。尚、以下に説明するシステム構成や処理の流れは、本発明の実施形態の一例を示すものであって、本発明は以下に説明する実施形態に限定されるものではない。
【0032】
図1は、本発明にかかる暗号化データ配送システムの実施形態の概要を示している。本発明にかかる暗号化データ配送システムは、データを送信する送信装置、データを受信する受信装置、MAC値の対比によって完全性の検証と配送事実の確認等を実行する管理サーバから構成されている。
【0033】
本発明では、送信装置と受信装置が秘密鍵を共有し、この共有秘密鍵(共有秘密鍵から生成した暗号鍵を含む)によって暗合化したデータを配送する。また、送信装置では、共有秘密鍵による暗号化前のデータと、共有秘密鍵から生成したHMAC鍵を用いて演算したMAC値を、受信装置では、共有秘密鍵による復号化後のデータと、共有秘密鍵から生成したHMAC鍵を用いて演算したMAC値をそれぞれ管理サーバに送信し、管理サーバでMAC値の一致を確認することによって、配送したデータの完全性を検証することとあわせて、第三者機関である管理サーバの運営者による検証によって配送事実の否認防止を可能にする。
【0034】
図2を用いて、本発明にかかる暗号化データ配送システムの構成について説明する。本発明にかかる暗号化データ配送システムは、管理サーバ10、送信装置20、受信装置30から構成されている。管理サーバ10、送信装置20、受信装置30は、いずれもインターネット等のネットワークへの接続機能を備えたコンピュータであるが、その種別は特に限定されるものではない。
【0035】
管理サーバ10には、DH公開鍵記憶部11、MAC値記憶部12、MAC値対比部13が備えられている。MAC値対比部13は機能的に特定されるものであって、MAC値の対比に必要な処理を実行するためのアプリケーションプログラムが、管理サーバ10を構成するコンピュータのメインメモリ等のメモリ領域に読み出され、CPUによって演算処理が実行されることによって、その機能が実現される。
【0036】
DH公開鍵記憶部11、MAC値記憶部12には、コンピュータのHDD等の所定の記憶領域が割り当てられるが、ハードウェアの構成について特に限定されるものではなく、例えば、MAC値対比部13に対応する処理を実行するサーバコンピュータのHDD等が用いられてもよいし、かかるサーバコンピュータとネットワークを通じて接続されたデータベースサーバ等のコンピュータのHDD等が用いられるものであってもよい。
【0037】
送信装置20には、DHパラメータ記憶部21、乱数生成部22、鍵生成部23、データ格納部24、送信処理部25が備えられている。鍵生成部23には、共有公開鍵生成部231、共有秘密鍵生成部232、暗号鍵・HMAC鍵生成部233が含まれる。送信処理部25には、暗号化処理部251、MAC値演算部252、配送ID割当部253が含まれる。
【0038】
乱数生成部22、鍵生成部23(これに含まれる共有公開鍵生成部231、共有秘密鍵生成部232、暗号鍵・HMAC鍵生成部233)、送信処理部25(これに含まれる暗号化処理部251、MAC値演算部252、配送ID割当部253)は、いずれも機能的に特定されるものであって、各々の機能に必要な処理を実行するためのアプリケーションプログラムが、送信装置20を構成するコンピュータのメインメモリ等のメモリ領域に読み出され、CPUによって演算処理が実行されることによって、各々の機能が実現される。
【0039】
DHパラメータ記憶部21、データ格納部24には、コンピュータのHDD等の所定の記憶領域が割り当てられるが、ハードウェアの構成について特に限定されるものではなく、例えば、送信処理等を実行するコンピュータのHDD等が用いられてもよいし、このコンピュータとネットワークを通じて接続されたファイルサーバ等のコンピュータのHDD等が用いられるものであってもよい。
【0040】
受信装置30には、DHパラメータ記憶部31、鍵生成部32、受信処理部33が備えられている。鍵生成部32には、DH鍵生成部321、共有秘密鍵生成部322、暗号鍵・HMAC鍵生成部323が含まれる。受信処理部33には、復号化処理部331、MAC値演算部332が含まれる。
【0041】
鍵生成部32(これに含まれるDH鍵生成部321、共有秘密鍵生成部322、暗号鍵・HMAC鍵生成部323)、受信処理部33(これに含まれる復号化処理部331、MAC値演算部332)は、いずれも機能的に特定されるものであって、各々の機能に必要な処理を実行するためのアプリケーションプログラムが、受信装置30を構成するコンピュータのメインメモリ等のメモリ領域に読み出され、CPUによって演算処理が実行されることによって、各々の機能が実現される。
【0042】
DHパラメータ記憶部31には、コンピュータのHDD等の所定の記憶領域が割り当てられるが、ハードウェアの構成について特に限定されるものではなく、例えば、受信処理等を実行するコンピュータのHDD等が用いられてもよいし、このコンピュータとネットワークを通じて接続されたコンピュータのHDD等が用いられるものであってもよい。
【0043】
以上の構成を前提にして、本発明にかかる暗号化データ配送システムによるデータ配送の流れを、図3〜図13を用いて説明する。図3は全体の流れを示したものであるが、処理手順を明確にするために、以下では、データ配送の流れに沿った図4〜図13を、順に説明する。
【0044】
まず、本発明を実施する準備段階として、送信装置20と受信装置30は、図4に示したように、DH(Diffie−Hellman)鍵共有方式で用いられるDHパラメータを、それぞれDHパラメータ記憶部21、31に記憶させておくことが必要になる。このDHパラメータは秘密情報でない初期値であるが、その導出方法の例としてIETF(Internet Engineering Task Force)によって策定された標準であるRFC(Request for Comments)2631がある。
【0045】
本発明では、このDHパラメータを用いて、DH(Diffie−Hellman)鍵共有方式から派生したヒューズ(Hughes)による鍵共有方式によって、送信装置20と受信装置30が秘密鍵を共有する。ヒューズ(Hughes)による鍵共有方式については、図14を用いて以下に説明する。
【0046】
ヒューズ(Hughes)による鍵共有は、送信装置と受信装置の事前のネゴシエーションが不要で、かつ非同期に実施できる鍵共有方式である。送信装置では、データの配送を行う毎に乱数を生成し、生成された乱数値とDHパラメータに所定の関数(F1)を適用して、共有秘密鍵を演算する。また、生成された乱数値と受信装置から受け取ったDH公開鍵に所定の関数(F2)を適用して、共有公開鍵を演算する。
【0047】
受信装置では、送信装置から受信した共有公開鍵とDH秘密鍵に所定の関数(F3)を適用し、さらに演算された値とDHパラメータに所定の関数(F4)を適用すると、送信装置で演算されたものと同じ共有秘密鍵を演算することができる。ここで用いられるDH公開鍵とDH秘密鍵の組み合わせは、受信装置においてDHパラメータから生成され、DH公開鍵は予め送信装置に引き渡されている。
【0048】
以上に説明したヒューズ(Hughes)による鍵共有方式によって送信装置20と受信装置30が秘密鍵を共有するために、受信装置30はDHパラメータ記憶部31からDHパラメータを読み出し、鍵生成部32のDH鍵生成部321を起動して、図5に示したように、DH公開鍵とDH秘密鍵のペアを生成する。DH公開鍵は、受信装置30を識別する受信装置IDとともに管理サーバ10に送信される。DH秘密鍵は、受信装置30の所定の記憶領域に記憶される。
【0049】
管理サーバ10に送信されたDH公開鍵は、DH公開鍵記憶部11に受信装置30を識別する受信装置IDと関連付けて記憶される。このようにして、管理サーバ10に受信装置30のDH公開鍵が預託された状態となり、送信装置20はデータの送信先となる受信装置30の受信装置IDに対応するDH公開鍵を管理サーバ10から取得することによって、データの送信前に受信者とネゴシエーションすることなく、暗号化したデータを送信することが可能になっている。
【0050】
送信装置20から受信装置30にファイル等の所定のデータを暗号化して配送したい場合には、図6に示したように、データ格納部24に格納されたファイル等のデータを特定し、データ格納部24から読み出すとともに、管理サーバ10に送信先となる受信装置30の受信装置IDを指定してDH公開鍵の送信を要求し、管理サーバ10から受信装置IDに関連付けてDH公開鍵記憶部11に記憶されたDH公開鍵を受信する。
【0051】
続いて、乱数生成部22を起動して配送単位(配送対象として特定されたデータ単位)で異なる乱数値を生成し、鍵生成部23の共有公開鍵生成部231と共有秘密鍵生成部232を起動して、図7に示したように、共有公開鍵と共有秘密鍵を生成する。先にヒューズ(Hughes)による鍵共有方式に説明したように、共有公開鍵は乱数値とDH公開鍵を、共有秘密鍵は乱数値とDHパラメータを、それぞれ所定の関数に適用することによって演算される。
【0052】
尚、ここで生成される共有公開鍵は、送信先となる受信装置が複数存在する場合(同じデータを複数の受信装置に送信する場合)には、受信装置毎に異なるDH公開鍵が適用されるので、異なる値となる。一方、共有秘密鍵は配送単位で共通の値となるため、後に説明するデータの暗号化は、受信装置の数にかかわりなく一度行えばよい。
【0053】
続いて、鍵生成部23の暗号鍵・HMAC鍵生成部233を起動して、共有秘密鍵生成部232で生成された共有秘密鍵から、図8に示したように、データの暗号化に用いる暗号鍵と、MAC値の演算に用いるHMAC鍵を生成する。共有秘密鍵からこれらの鍵を生成する方法は特に限定されるものではないが、例えば、共有秘密鍵を単純に分割する(少なくとも1つに共有秘密鍵と同一の値を用いてもよい)、KDF(Key Derivation Function)と呼ばれる鍵生成関数を使用するなどの方法によることができる。
【0054】
送信装置20は、さらに、送信処理部25の暗号化処理部251、MAC値演算部252、配送ID割当部253を起動して、図9に示したように、配送するデータの暗号化、MAC値の演算、配送単位毎にユニークな配送IDの割り当てを実行する。
【0055】
暗号化処理部251が実行する配送するデータの暗号化処理には、暗号鍵・HMAC鍵生成部233において共有秘密鍵から生成された暗号鍵が用いられる。MAC値演算部252が実行するMAC値の演算処理には、暗号鍵・HMAC鍵生成部233において共有秘密鍵から生成されたHMAC鍵が用いられる。後に説明するように、ここでMAC値の演算に共有秘密鍵から生成された鍵を用いることにより、正しいMAC値の演算は、データを完全に復号化することに加えて秘密鍵を共有する装置でしか実行できないことになり、MAC値による完全性の検証と配送事実の否認防止に優れた効果を発揮することが可能になる。
【0056】
暗号化処理部251において暗号化された暗号化データは、配送ID割当部253で割り当てられた配送IDとともに、図10に示したように、受信装置30に送信される。このときに、先に共有公開鍵生成部231において生成された共有公開鍵も、あわせて受信装置30に送信される。尚、これらのデータを受信装置30に送信する方法は、特に限定されるものではない。
【0057】
MAC値演算部252において演算されたMAC値は、配送ID割当部253で割り当てられた配送IDとともに、図10に示したように、管理サーバ10に送信される。管理サーバ10では、受信したMAC値が、MAC値記憶部12に配送IDと関連付けて記憶される。
【0058】
送信装置20から暗号化データ等とあわせて共有公開鍵を受信した受信装置30では、鍵生成部32の共有秘密鍵生成部322を起動して、図11に示したように、共有秘密鍵を生成する。先にヒューズ(Hughes)による鍵共有方式に説明したように、共有秘密鍵は送信装置20から受信した共有公開鍵と、受信装置30に記憶されたDH秘密鍵とDHパラメータを、それぞれ所定の関数に適用することによって、送信装置20の共有秘密鍵生成部232で生成されたものと同一の共有秘密鍵が、共有秘密鍵生成部322において演算される。
【0059】
さらに鍵生成部32の暗号鍵・HMAC鍵生成部323を起動し、図11に示したように、データの復号化に用いる暗号鍵と、MAC値の演算に用いるHMAC鍵を生成する。共有秘密鍵からこれらの鍵を生成する方法は、送信装置20の場合と同様に特に限定されるものではなく、共有秘密鍵の単純分割やKDF(Key Derivation Function)等によることとすればよいが、送信装置の鍵生成部23の暗号鍵・HMAC鍵生成部233と同じ方法によって、同一の暗号鍵とHMAC鍵を生成することが必要である。
【0060】
続いて、受信処理部33の復号化処理部331とMAC値演算部332を起動して、図12に示したように、受信した暗号化データの復号化と、MAC値の演算を実行する。
【0061】
復号化処理部331が実行する暗号化データの復号化処理には、暗号鍵・HMAC鍵生成部323において共有秘密鍵から生成された暗号鍵が用いられる。MAC値演算部332が実行するMAC値の演算処理には、暗号鍵・HMAC鍵生成部323において共有秘密鍵から生成されたHMAC鍵が用いられる。ここでMAC値の演算に共有秘密鍵から生成された鍵を用いることにより、正しいMAC値の演算は、データを暗号鍵によって完全に復号化することに加えて、共有秘密鍵から生成したHMAC鍵を用いることが必要になり、送信装置と秘密鍵を共有する正規の受信装置でしか実行できないことになる。そのため、MAC値による完全性の検証と配送事実の否認防止において、優れた効果を発揮することが可能になる。
【0062】
MAC値演算部332において演算されたMAC値は、受信処理部33で暗号化データとあわせて受信した配送IDとともに、図13に示したように、管理サーバ10に送信される。このときに、同じ暗号化データが同時に複数の配送先に配送された場合に、受信装置30での受信を確認できるように、あわせて受信装置30を識別するための受信装置IDを管理サーバ10に送信する。
【0063】
これらのデータを受信した管理サーバ10はMAC値対比部13を起動して、受信装置30から受信した配送IDをキーにMAC値記憶部12を検索して、配送IDに関連付けて記憶されたMAC値をMAC値記憶部12から読み出す。読み出したMAC値を受信装置30から受信したMAC値と対比して、両者の値が一致するかを確認する。
【0064】
これらのMAC値が一致すれば、配送されたデータに改ざんや破損はなく、データの完全性が検証されるとともに、配送されたデータが秘密鍵を共有する正規の受信装置30で受信されたことが証明される。この証明が、当事者である送信装置20、受信装置30の利用者ではなく、第三者である管理サーバ10を運用する者によって行われるので、本発明は配送事実の否認防止に効果的である。
【0065】
尚、MAC値を対比した後に管理サーバ10によって実行される動作は特に限定されるものではなく、例えば、MAC値の一致が確認された後に、送信装置20、受信装置30それぞれに配送完了通知を送信することとしてもよいし、MAC値の一致が確認されなかった場合には、送信装置20や受信装置30になりすましの警告等を送信することとしてもよい。管理サーバ10での確認結果は、受信装置30から受信した配送ID、受信装置IDと関連付けて、事後的な検証のために管理サーバ10において保存しておくことが好ましい。
【0066】
以上の説明では、MAC値を照合する際のキーになる配送IDを配送単位で割り当てることとしているが、配送対象として特定されたデータと配送先となる受信装置の組み合わせ単位で配送IDを割り当てることとしてもよい。この場合は、同じ暗号化データを同時に複数の配送先に配送する場合であっても、受信装置毎に異なる配送IDが送信されることになるため、前述のように受信装置30からMAC値を送信する際にあわせて受信装置IDを送信しなくても、MAC値の照合に用いた配送IDから受信装置30を特定することが可能になる。
【符号の説明】
【0067】
10 管理サーバ
11 DH公開鍵記憶部
12 MAC値記憶部
13 MAC値対比部
20 送信装置
21 DHパラメータ記憶部
22 乱数生成部
23 鍵生成部
231 共有公開鍵生成部
232 共有秘密鍵生成部
233 暗号鍵・HMAC鍵生成部
24 データ格納部
25 送信処理部
251 暗号化処理部
252 MAC値演算部
253 配送ID割当部
30 受信装置
31 DHパラメータ記憶部
32 鍵生成部
321 DH鍵生成部
322 共有秘密鍵生成部
323 暗号鍵・HMAC鍵生成部
33 受信処理部
331 復号化処理部
332 MAC値演算部

【特許請求の範囲】
【請求項1】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する送信装置であって、
前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信手段と、
前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信する第1のMAC値送信手段と、を備えていて、
前記受信装置は、
前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信して、
前記管理サーバは、
前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認すること
を特徴とする暗号化データ配送のための送信装置。
【請求項2】
前記第1のMAC値送信手段は、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第1のMAC値を演算し、
前記受信装置において、
前記第2のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されること
を特徴とする請求項1記載の暗号化データ配送のための送信装置。
【請求項3】
乱数を発生させる乱数生成手段と、
前記管理サーバに前記暗号化データを送信する受信装置を識別する受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信するDH公開鍵受信手段と、
前記乱数生成手段の生成した乱数値と前記受信装置と共有するDHパラメータから前記共有秘密鍵を生成する共有秘密鍵生成手段と、
前記乱数値と前記DH公開鍵から前記受信装置と共有する共有公開鍵を生成し、前記受信装置に送信する共有公開鍵送信手段と、を備えていて、
前記受信装置は、
前記DHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、
前記送信装置から前記共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、
前記管理サーバは、
前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信すること
を特徴とする請求項1又は2記載の暗号化データ配送のための送信装置。
【請求項4】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する受信装置であって、
前記送信装置から送信された暗号化データと前記暗号化データの配送を識別するために採番された配送IDを受信し、前記送信装置と共有する共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記送信装置において暗号化された配送データに復号化する暗号化データ復号手段と、
前記暗号化データ復号手段が復号化した配送データと前記送信装置と共有するMAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信する第2のMAC値送信手段と、を備えていて、
前記送信装置は、
前記共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、
前記配送データと前記MAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、
前記管理サーバは、
前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認すること
を特徴とする暗号化データ配送のための受信装置。
【請求項5】
前記第2のMAC値送信手段は、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第2のMAC値を演算し、
前記送信装置において、
前記第1のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されること
を特徴とする請求項4記載の暗号化データ配送のための受信装置。
【請求項6】
前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成するDH鍵生成手段と、
前記DH公開鍵を前記受信装置を識別する受信装置IDとともに前記管理サーバに送信するDH公開鍵送信手段と、
前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成する共有秘密鍵生成手段と、を備えていて、
前記管理サーバは、
前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信し、
前記送信装置は、
前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、
前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信すること
を特徴とする請求項4又は5記載の暗号化データ配送のための受信装置。
【請求項7】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する管理サーバであって、
前記送信装置から送信された第1のMAC値と前記暗号化データの配送を識別するために採番された配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けて記憶するMAC値記憶手段と、
前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認する配送確認手段と、を備えていて、
前記送信装置は、
前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、
前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、
前記受信装置は、
前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信すること
を特徴とする暗号化データ配送のための管理サーバ。
【請求項8】
前記受信装置から送信されたDH公開鍵と前記受信装置を識別する受信装置IDを受信し、前記DH公開鍵と前記受信装置IDを関連付けて記憶するDH公開鍵記憶手段を備えていて、
前記受信装置は、
前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、
前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、
前記送信装置は、
前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、
前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信すること
を特徴とする請求項7記載の暗号化データ配送のための管理サーバ。
【請求項9】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する送信装置に備えられる送信プログラムであって、前記送信装置に、
前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信するステップと、
前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信するステップと、を実行させ、
前記受信装置は、
前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信して、
前記管理サーバは、
前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認すること
を特徴とする暗号化データ配送のための送信プログラム。
【請求項10】
前記第1のMAC値を前記管理サーバに送信するステップでは、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第1のMAC値を演算し、
前記受信装置において、
前記第2のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されること
を特徴とする請求項9記載の暗号化データ配送のための送信プログラム。
【請求項11】
前記送信装置に、
乱数を発生させるステップと、
前記管理サーバに前記暗号化データを送信する受信装置を識別する受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信するステップと、
前記乱数を発生させるステップで生成した乱数値と前記受信装置と共有するDHパラメータから前記共有秘密鍵を生成するステップと、
前記乱数値と前記DH公開鍵から前記受信装置と共有する共有公開鍵を生成し、前記受信装置に送信するステップと、を実行させ、
前記受信装置は、
前記DHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、
前記送信装置から前記共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、
前記管理サーバは、
前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信すること
を特徴とする請求項9又は10記載の暗号化データ配送のための送信プログラム。
【請求項12】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する受信装置に備えられる受信プログラムであって、前記受信装置に、
前記送信装置から送信された暗号化データと前記暗号化データの配送を識別するために採番された配送IDを受信し、前記送信装置と共有する共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記送信装置において暗号化された配送データに復号化するステップと、
前記ステップで復号化した配送データと前記送信装置と共有するMAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信するステップと、を実行させ、
前記送信装置は、
前記共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、
前記配送データと前記MAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、
前記管理サーバは、
前記送信装置から送信された第1のMAC値と配送ID、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記配送IDが同一の第1のMAC値と第2のMAC値を対比して、前記第1のMAC値と前記第2のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認すること
を特徴とする暗号化データ配送のための受信プログラム。
【請求項13】
前記第2のMAC値を前記管理サーバに送信するステップでは、前記MAC鍵に前記共有秘密鍵から生成されたHMAC鍵を用いて第2のMAC値を演算し、
前記送信装置において、
前記第1のMAC値は、前記共有秘密鍵から生成されたHMAC鍵をMAC鍵に用いて演算されること
を特徴とする請求項12記載の暗号化データ配送のための受信プログラム。
【請求項14】
前記受信装置に、
前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成するステップと、
前記DH公開鍵を前記受信装置を識別する受信装置IDとともに前記管理サーバに送信するステップと、
前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成するステップと、を実行させ、
前記管理サーバは、
前記受信装置から送信されたDH公開鍵と受信装置IDを受信し、前記送信装置から要求された受信装置IDに対応するDH公開鍵を前記送信装置に送信し、
前記送信装置は、
前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、
前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信すること
を特徴とする請求項12又は13記載の暗号化データ配送のための受信プログラム。
【請求項15】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムを構成する管理サーバに備えられる管理プログラムであって、前記管理サーバに、
前記送信装置から送信された第1のMAC値と前記暗号化データの配送を識別するために採番された配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けてMAC値記憶手段に記憶させるステップと、
前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認するステップと、を実行させ、
前記送信装置は、
前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記配送IDとともに、前記暗号化データを前記受信装置に送信し、
前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信して、
前記受信装置は、
前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化して、復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信すること
を特徴とする暗号化データ配送のための管理プログラム。
【請求項16】
前記管理サーバに、
前記受信装置から送信されたDH公開鍵と前記受信装置を識別する受信装置IDを受信し、前記DH公開鍵と前記受信装置IDを関連付けてDH公開鍵記憶手段に記憶させるステップを実行させ、
前記受信装置は、
前記送信装置と共有するDHパラメータからDH公開鍵とDH秘密鍵を生成し、前記DH公開鍵を前記受信装置IDとともに前記管理サーバに送信し、
前記送信装置から前記送信装置と共有する共有公開鍵を受信し、前記共有公開鍵と前記DHパラメータと前記DH秘密鍵から前記共有秘密鍵を生成して、
前記送信装置は、
前記管理サーバに前記暗号化データを送信する受信装置の受信装置IDに対応するDH公開鍵の送信を要求して、前記管理サーバから前記DH公開鍵を受信し、乱数値を生成して前記乱数値と前記DHパラメータから前記共有秘密鍵を生成し、
前記乱数値と前記DH公開鍵から前記共有公開鍵を生成し、前記受信装置に送信すること
を特徴とする請求項15記載の暗号化データ配送のための管理プログラム。
【請求項17】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバからなる暗号化データ配送システムであって、
前記送信装置は、
前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信手段と、
前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信する第1のMAC値送信手段と、を備え、
前記受信装置は、
前記送信装置から送信された暗号化データと配送IDを受信し、前記共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記配送データに復号化する暗号化データ復号手段と、
前記暗号化データ復号手段が復号化した配送データと前記MAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信する第2のMAC値送信手段と、を備え、
前記管理サーバは、
前記送信装置から送信された第1のMAC値と配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けて記憶するMAC値記憶手段と、
前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認する配送確認手段と、を備えること
を特徴とする暗号化データ配送システム。
【請求項18】
暗号化データを送信する送信装置、前記暗号化データを受信する受信装置、前記暗号化データの配送を管理する管理サーバによって実行される暗号化データの配送方法であって、
前記送信装置が、前記受信装置と共有する共有秘密鍵から生成された暗号鍵を用いて配送する配送データを暗号化した暗号化データを生成し、前記暗号化データの配送を識別するために採番された配送IDとともに、前記暗号化データを前記受信装置に送信する暗号化データ送信するステップと、
前記送信装置が、前記配送データと前記受信装置と共有するMAC鍵から第1のMAC値を演算し、前記配送IDとともに、前記第1のMAC値を前記管理サーバに送信するステップと、
前記管理サーバが、前記送信装置から送信された第1のMAC値と配送IDを受信し、前記第1のMAC値と前記配送IDを関連付けてMAC値記憶手段に記憶させるステップと、
前記受信装置が、前記送信装置から送信された暗号化データと前記配送IDを受信し、前記送信装置と共有する共有秘密鍵から生成された暗号鍵を用いて前記暗号化データを前記送信装置において暗号化された配送データに復号化するステップと、
前記受信装置が、前記ステップで復号化した配送データと前記送信装置と共有するMAC鍵から第2のMAC値を演算し、前記配送IDとともに、前記第2のMAC値を前記管理サーバに送信するステップと、
前記管理サーバが、前記受信装置から送信された第2のMAC値と配送IDを受信し、前記第2のMAC値を、前記配送IDと関連付けて前記MAC値記憶手段に記憶された第1のMAC値と対比して、前記第2のMAC値と前記第1のMAC値の一致から前記配送データが前記受信装置に配送されたことを確認するステップと、
を有することを特徴とする暗号化データの配送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−114520(P2011−114520A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−268380(P2009−268380)
【出願日】平成21年11月26日(2009.11.26)
【出願人】(509326348)イーパーセル株式会社 (1)
【Fターム(参考)】