JP2013009148A - 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム - Google Patents
暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム Download PDFInfo
- Publication number
- JP2013009148A JP2013009148A JP2011140313A JP2011140313A JP2013009148A JP 2013009148 A JP2013009148 A JP 2013009148A JP 2011140313 A JP2011140313 A JP 2011140313A JP 2011140313 A JP2011140313 A JP 2011140313A JP 2013009148 A JP2013009148 A JP 2013009148A
- Authority
- JP
- Japan
- Prior art keywords
- predetermined method
- ciphertext
- identification information
- receiving device
- decryption
- 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.)
- Granted
Links
Images
Abstract
【解決手段】送信装置100は、受信装置200に暗号文を送信し、復号履歴蓄積サーバ300にセッション情報と暗号文識別情報とを送信する。復号履歴蓄積サーバ300が、この2つの情報を対応付けて記録する。受信装置200が、リクエスト、暗号文識別情報、受信装置識別情報を復号履歴蓄積サーバ300に送信する。復号履歴蓄積サーバ300が、受信装置200から受信した暗号文識別情報に対応するセッション情報を取得する。セッション情報と代理計算用秘密鍵を用いてレスポンスを求める。復号履歴蓄積サーバ300が、暗号文識別情報、受信装置識別情報、時刻を対応付けて記録する。受信装置200の復号部230が、レスポンスを用いて暗号文を復号して平文に復号する。
【選択図】図1
Description
e(aX,bY)=e(X,Y)ab (1)
の関係が成り立つ。双線形ペアリング関数としては、例えばWeilペアリングを用いればよい。また、IDとして受信装置200の属性を示すビット列を用いてもよい。
受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信する(S211)。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報を示すビット列でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示すビット列でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K0を
K0=sQID
のように求め、鍵生成記録部490に記録する(S410)。
属性送信部210は、ビット列IDを送信装置100に送信する(S212)。送信装置100の暗号化部110は、乱数rを0以上p−1以下の整数から選択し、セション情報UをU=rPのように計算する。なお、乱数rは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。また、暗号化部110は、
gID=e(QID,PPub)
を計算し、H(gID r)を用いて所定の方法3で平文Mを暗号化して暗号文Vを求める。暗号化部110は、さらに暗号文識別情報vをv=h(V)のように生成する。関数hは例えばハッシュ関数とすればよいが、ハッシュ関数に限定する必要はなく、暗号文を一意に識別可能な情報を生成することができる関数であればよい。そして、暗号文送信部120が、受信装置200に暗号文Vと暗号文識別情報vとを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信する(S120)。
(1)送信装置100が受信装置200には暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vを送信する。つまり、復号に必要なセッション情報Uは受信装置200には送信されない。
(2)復号履歴蓄積サーバ300のセッション情報蓄積部370がセッション情報Uと暗号文識別情報vとを対応付けて記録する。
(3)受信装置200が暗号文識別情報vと受信装置識別情報RIDを復号履歴蓄積サーバ300に送信することで、復号履歴蓄積サーバ300が暗号文Vの復号に必要なセッション情報Uと代理計算用秘密鍵K3を取得する。したがって、復号履歴蓄積サーバ300は、どの受信装置200がどの暗号文Vを復号しようとしているのか把握できる。
(4)復号履歴蓄積サーバ300が、履歴蓄積部380に暗号文識別情報vと受信装置識別情報RIDと時刻tとを対応付けて記録する。したがって、復号履歴蓄積サーバは、復号が実行されるごとに、暗号文Vと復号した受信装置とを特定した上で復号に協力した時刻を記録できる。
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値Wを
W=Res
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K1,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
K3=K3’
とし、所定の方法7を
Res=e(K1,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)K1,U) または Res=e(K1,(K3 −1)U)
のようにレスポンスResを求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(K1,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値Wを
W=Res^rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンスResを求めてもよい。
K3=K3’
とし、所定の方法7を
Res=e(Ktmp,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)Ktmp,U) または Res=e(Ktmp,(K3 −1)U)
のようにレスポンスResを求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(Ktmp,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンスResを求めてもよい。
図1に実施例1変形例1の暗号化システムの構成例を示す。図2に実施例1変形例1の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、受信装置200自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)である。秘密鍵を配布する処理フローは実施例1と同じである。
図1に実施例1変形例2の暗号化システムの構成例を示す。図5に実施例1変形例2の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、鍵生成装置400が、保護用秘密鍵K2も生成する点である。そのため、鍵配布部430と復号部230の処理、および復号記録部290に記録される情報が実施例1と異なる。
ステップS211〜S422までは実施例1と同じである。ステップS422が終了すると、鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求める。本変形例の所定の方法2では、保護用秘密鍵K2を0以上p−1以下の整数から選択する(S431)。分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求める(S432)。なお、保護用秘密鍵K2は、鍵配布部430が単純に乱数として求める方法以外に、次のように求めてもよい。鍵配布部430が受信装置200から保護用秘密鍵K2を求めるための情報Passを受信する。そして、鍵配布部430が情報Passを用いて保護用秘密鍵K2を求めてもよい。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵K2を求めてもよいし、情報Pass自体を保護用秘密鍵K2としてもよい。また、情報Passとして、例えば受信装置200の利用者(受信者)が設定したパスワードを用いてもよい。また、保護用秘密鍵K2は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。
ステップS230以外は実施例1と同じである。ステップS230では、受信装置200の復号部230は、復号履歴蓄積サーバ300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがって、保護用秘密鍵K2を用いてgID rの値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する(S230)。本変形例はこのような構成なので、実施例1と同様の効果が得られる。
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値Wを
W=Res^K2
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K1,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(K1,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)K1,U) または Res=e(K1,(K3 −1)U)
のようにレスポンスResを求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(K1,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値Wを
W=Res^(rtmp −1K2)
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンスResを求めてもよい。
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(Ktmp,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)Ktmp,U) または Res=e(Ktmp,(K3 −1)U)
のようにレスポンスResを求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(Ktmp,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンスResを求めてもよい。
図1に実施例1変形例3の暗号化システムの構成例を示す。図5に実施例1変形例3の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1変形例2との違いは、受信装置200自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)である。秘密鍵を配布する処理フローは実施例1変形例2と同じである。
ステップS212からS222までの処理は実施例1と同じである。ステップS222のあと、復号履歴蓄積サーバ600の認証鍵生成部610は、認証鍵Aと0以上p−1以下の整数である乱数aを生成する。また、認証鍵生成部610は、H(gID a)を用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求める。認証鍵生成部610はさらに、U’=aPのようにセッション情報U’を計算し、暗号化認証鍵V’のみ若しくは暗号化認証鍵V’とセッション情報U’を受信装置500に送信する(S610)。
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。このような場合であれば、所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値Wを
W=Res’
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(K1,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
K3=K3’
とし、所定の方法7’を
Res’=e(K1,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)K1,U’) または Res’=e(K1,(K3 −1)U’)
のようにレスポンスRes’を求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(K1,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
Req’=e(K1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値Wを
W=Res’^rtmp −1
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(Ktmp,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンスResを求めてもよい。
K3=K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)Ktmp,U’) または Res’=e(Ktmp,(K3 −1)U’)
のようにレスポンスRes’を求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンスRes’を求めてもよい。
Req’=e(rtmpK1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
実施例2は暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1〜3は実施例2でも適用できる。
実施例2変形例2は、鍵生成装置400が保護用秘密鍵K2も生成する暗号化システムである(実施例1変形例2に相当する)。実施例2変形例2の暗号化システムの構成例は図6である。実施例2変形例2では、受信装置500は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図7である。実施例2と実施例2変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、秘密鍵を配布する処理フローと暗号文の生成から復号までの処理フローの説明は省略する。また、所定の方法1〜7は実施例1変形例2と同じなので説明を省略する。所定の方法3’、4’、5’、6’、7’の具体例については以下に説明する。ただし、「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値Wを
W=Res’^K2
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(K1,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(K1,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)K1,U’) または Res’=e(K1,(K3 −1)U’)
のようにレスポンスRes’を求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(K1,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
Req’=e(K1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値Wを
W=Res’^(rtmp −1K2)
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(Ktmp,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンスRes’を求めてもよい。
K3=(K2)−1K3’
とし、所定の方法7’を
Res=e(Ktmp,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)Ktmp,U’) または Res’=e(Ktmp,(K3 −1)U’)
のようにレスポンスRes’を求めてもよい。
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンスRes’を求めてもよい。
Req’=e(rtmpK1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
実施例2変形例3は、受信装置500自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)と、鍵生成装置400が保護用秘密鍵K2も生成する点を変更した暗号化システムである(実施例1変形例3に相当する)。実施例2変形例3の暗号化システムの構成例は図6である。この場合は、受信装置500は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図8である。実施例2変形例2と実施例2変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。
ステップS211からS434までは実施例1と同じである。ステップS434の後、鍵識別子生成部740が、受信用秘密鍵K1と代理計算用秘密鍵K3から鍵識別子KIDを生成する(S740)。なお、鍵識別子KIDは、受信用秘密鍵K1と代理計算用秘密鍵K3から特定できる情報であればよい。例えば、K1‖K3のハッシュ値を鍵識別子KIDとしてもよいし、K1‖K3‖Xのように他の情報X(例えば、受信装置200の属性を示すビット列ID)も付加したビット列のハッシュ値を鍵識別子KIDとしてもよい。さらには、後述する実施例3変形例2のように保護用秘密鍵K2も生成するときは、K1‖K2‖K3のハッシュ値を鍵識別子KIDとしてもよい。
ステップS212からS222までの処理は実施例1と同じである。受信装置501の鍵識別子送信部560は、復号履歴蓄積サーバ601に鍵識別子KIDを送信する(S560)。なお、鍵識別子KIDの送信は、リクエストReqと一緒でもよい。また、何らかの安全な通信手段を利用すればよい。復号履歴蓄積サーバ601の鍵識別子照合部660は、鍵識別子KIDが正しいかを照合する(正しい受信用秘密鍵K1を所有している受信装置501かを確認する)(S560)。照合が失敗した場合は処理を中止する。照合が成功した場合はステップS310に進む。ステップS310、S230、S380は実施例1と同じである。
実施例3も暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1〜3は実施例3でも適用できる。
実施例3変形例2は、鍵生成装置700が保護用秘密鍵K2も生成する暗号化システムである(実施例1変形例2に相当する)。実施例3変形例2の暗号化システムの構成例は図9である。実施例3変形例2では、受信装置501は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図11である。実施例3と実施例3変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、説明は省略する。
実施例3変形例3は、受信装置501自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)と、鍵生成装置700が保護用秘密鍵K2も生成する点を変更した暗号化システムである(実施例1変形例3に相当する)。実施例3変形例3の暗号化システムの構成例は図9である。この場合は、受信装置501は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図12である。実施例3変形例2と実施例3変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
120、121 暗号文送信部 190 暗号化記録部
200、500、501 受信装置 210 属性送信部
220 リクエスト作成部 225 リクエスト送信部
230 復号部 240 暗号文識別情報生成部
290、295 復号記録部
300、600、601 復号履歴蓄積サーバ
310 レスポンス作成部 315 レスポンス送信部
370 セッション情報蓄積部 380 履歴蓄積部
390、395 代理記録部 400、700 鍵生成装置
410 鍵生成部 420 鍵分割部
430、730 鍵配布部 490 鍵生成記録部
520 第2リクエスト作成部 530 第2復号部
550 ハッシュ値計算部 560 鍵識別子送信部
610 認証鍵生成部 620 チャレンジ生成部
630 第2レスポンス作成部 640 認証部
660 鍵識別子照合部 740 鍵識別子生成部
Claims (10)
- 少なくとも送信装置、受信装置、復号履歴蓄積サーバを有する暗号化システムであって、
pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、
前記送信装置は、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部を備え、
前記受信装置は、
受信用秘密鍵K1を記録する復号記録部と、
受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記リクエストReq、v=h(V)を満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信部と、
前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、
を備え、
前記復号履歴蓄積サーバは、
受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、
前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、
前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、
前記レスポンスResを前記受信装置に送信するレスポンス送信部と、
レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、
を備える
暗号化システム。 - 請求項1記載の暗号化システムであって、
前記所定の方法2では、
保護用秘密鍵K2を0以上p−1以下の整数から選択し、分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求め、
前記復号記録部は保護用秘密鍵K2も記録し、
前記所定の方法5は、前記所定の方法2’にも対応した方法で、保護用秘密鍵K2も用いて値Wを求める
ことを特徴とする暗号化システム。 - 請求項1記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求め、
前記所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求め、
前記所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める
ことを特徴とする暗号化システム。 - 請求項2記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求め、
前記所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1K2
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める
ことを特徴とする暗号化システム。 - 請求項1から4のいずれかに記載の暗号化システムであって、
‖はビット列の結合を示す記号、H’はビット列に対するハッシュ値を求めるハッシュ関数を示す記号であり、
前記復号履歴蓄積サーバは、
認証鍵Aと0以上p−1以下の整数である乱数aを生成し、H(gID a)を用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求め、U’=aPのようにセッション情報U’を計算し、前記暗号化認証鍵V’のみ若しくは前記暗号化認証鍵V’と前記セッション情報U’を前記受信装置に送信する認証鍵生成部と、
チャレンジBを生成し、前記受信装置に送信するチャレンジ生成部
も備え、
前記受信装置は、さらに
受信用秘密鍵K1を用いて所定の方法4’でリクエストReq’を作成する第2リクエスト作成部と、
前記復号履歴蓄積サーバから受信したレスポンスRes’を用いて前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法5’にしたがってgID aの値Wを求め、H(W)を用いて前記所定の方法3’に対応した方法である所定の方法6’にしたがって暗号化認証鍵V’を復号して認証鍵A’に復号する第2復号部と、
D’=H’(A’‖B)のようにハッシュ値D’を求め、前記復号履歴蓄積サーバに送信するハッシュ値計算部と
を備え、
前記復号履歴蓄積サーバは、さらに
前記所定の方法1と前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法7’にしたがって前記セッション情報U’と前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスRes’を求める第2レスポンス作成部と、
D=H’(A‖B)のようにハッシュ値Dを求め、D=D’であることを確認する認証部
を備える
ことを特徴とする暗号化システム。 - 送信装置、受信装置、復号履歴蓄積サーバを用いた復号方法であって、
pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、
前記受信装置は、復号記録部に受信用秘密鍵K1を記録しておき、
前記復号履歴蓄積サーバは、代理記録部に受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録しておき、
前記送信装置が、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信ステップと、
前記復号履歴蓄積サーバが、セッション情報蓄積部に前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積ステップと、
前記受信装置が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成ステップと、
前記受信装置が、前記リクエストReq、v=h(V)を満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信ステップと、
前記復号履歴蓄積サーバが、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成ステップと、
前記復号履歴蓄積サーバが、前記レスポンスResを前記受信装置に送信するレスポンス送信ステップと、
前記復号履歴蓄積サーバが、履歴蓄積部に暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積ステップと、
前記受信装置が、前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号ステップと、
を有する復号方法。 - pは素数、G1は位数pの巡回加算群、Pは群G1の生成元、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、vは暗号文Vを識別する暗号文識別情報、Reqは受信用秘密鍵K1を用いて所定の方法4で作成されたリクエストであり、
受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、
送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、
受信装置からリクエストReqと暗号文識別情報vと受信装置識別情報RIDを受信し、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置の受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、
前記レスポンスResを前記受信装置に送信するレスポンス送信部と、
レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、
を備える復号履歴蓄積サーバ。 - pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報であり、
受信用秘密鍵K1を記録する復号記録部と、
受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記リクエストReq、暗号文識別情報v、受信装置識別情報RIDを復号履歴蓄積サーバに送信するリクエスト送信部と、
前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行って求められたレスポンスResを前記復号履歴蓄積サーバから受信し、レスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、
を備える受信装置。 - 請求項1から5のいずれかに記載の暗号化システムに含まれる送信装置であって、
平文Mを前記所定の方法3で暗号化して暗号文Vを求める暗号化部と、
受信装置に少なくとも暗号文Vを送信し、復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部と
を備える送信装置。 - 請求項7記載の復号履歴蓄積サーバ、請求項8記載の受信装置、請求項9記載の送信装置のいずれかとしてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011140313A JP5496957B2 (ja) | 2011-06-24 | 2011-06-24 | 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011140313A JP5496957B2 (ja) | 2011-06-24 | 2011-06-24 | 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013009148A true JP2013009148A (ja) | 2013-01-10 |
JP5496957B2 JP5496957B2 (ja) | 2014-05-21 |
Family
ID=47676147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011140313A Active JP5496957B2 (ja) | 2011-06-24 | 2011-06-24 | 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5496957B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002359615A (ja) * | 2001-06-01 | 2002-12-13 | Toshiba Corp | 公開鍵暗号方式の秘密鍵管理方法 |
JP2006178125A (ja) * | 2004-12-22 | 2006-07-06 | Hitachi Ltd | 楕円曲線テートペアリング演算方法及び装置 |
JP2011053607A (ja) * | 2009-09-04 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | 代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体 |
JP2012150287A (ja) * | 2011-01-19 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム |
-
2011
- 2011-06-24 JP JP2011140313A patent/JP5496957B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002359615A (ja) * | 2001-06-01 | 2002-12-13 | Toshiba Corp | 公開鍵暗号方式の秘密鍵管理方法 |
JP2006178125A (ja) * | 2004-12-22 | 2006-07-06 | Hitachi Ltd | 楕円曲線テートペアリング演算方法及び装置 |
JP2011053607A (ja) * | 2009-09-04 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | 代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体 |
JP2012150287A (ja) * | 2011-01-19 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム |
Non-Patent Citations (2)
Title |
---|
CSNG200700255009; 平井康雅,他: '復号履歴を記録可能な暗号化方式' 電子情報通信学会技術研究報告 Vol.105 No.396, 20051108, pp.71-76, 電子情報通信学会 * |
JPN6014007127; 平井康雅,他: '復号履歴を記録可能な暗号化方式' 電子情報通信学会技術研究報告 Vol.105 No.396, 20051108, pp.71-76, 電子情報通信学会 * |
Also Published As
Publication number | Publication date |
---|---|
JP5496957B2 (ja) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
CN110214440B (zh) | 计算系统,传送受保护数据的方法和可读存储介质 | |
US8462955B2 (en) | Key protectors based on online keys | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
AU2017396531B2 (en) | Addressing a trusted execution environment using signing key | |
AU2017396530A1 (en) | Addressing a trusted execution environment using encryption key | |
JP6497747B2 (ja) | 鍵交換方法、鍵交換システム | |
US20110194698A1 (en) | Key Sharing System | |
JP2018023029A (ja) | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム | |
CN107453880B (zh) | 一种云数据安全存储方法和系统 | |
JP2016523060A (ja) | 電子署名トークンの私有鍵のバックアップ方法およびシステム | |
JP2013207376A (ja) | 情報処理装置およびプログラム | |
JP2012150378A (ja) | プロキシ再暗号化システム、鍵生成装置、再暗号化装置、プロキシ再暗号化方法、プログラム | |
EP3574429A1 (en) | Addressing a trusted execution environment using clean room provisioning | |
KR101016009B1 (ko) | 위치 정보를 이용한 데이터의 암호화 방법 및 복호화 방법 | |
JP2024511236A (ja) | コンピュータファイルのセキュリティ暗号化方法、復号化方法および読み取り可能な記憶媒体 | |
JP6368047B2 (ja) | 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム | |
JP5469618B2 (ja) | 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム | |
JP5337076B2 (ja) | 秘密計算システム、秘密計算方法、不正使用防止方法 | |
JP5496957B2 (ja) | 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム | |
CN103916372A (zh) | 一种第三方登录信息托管方法和系统 | |
Green | A few thoughts on cryptographic engineering | |
JP6165044B2 (ja) | 利用者認証装置、システム、方法及びプログラム | |
KR101188659B1 (ko) | 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법 | |
JP2001125481A (ja) | 暗号通信端末、暗号通信センター装置及び暗号通信システム並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5496957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |