P2Pデータ共有における暗号化データのアクセス制御

| | コメント(0) | トラックバック(0)

情報処理学会論文誌2003年10月号 Vol.44 No.10 p.2437--2443

概要としては、Peerが頻繁に離脱・再参加するP2P技術を用いたデータ共有システムに
おいて、ある暗号化されたデータを復号できるPeerが、その権限を他のPeerに時間制限
などを設けて、委譲する方法について述べられている。これを実現するために
「変換サーバ」と呼ばれる第三者機関を利用している。

この論文では変換サーバが完全に信頼できる場合の基本方式、単一の変換サーバでは
信頼できない場合の拡張方式の二つが記述されている。
基本的には、ElGamal暗号を用いて、差をうまく利用している。
拡張方式はいまいち理解し切れてない。

送信者、受信者が同一である4.4暗号化データのアクセス制御以外、
あんまりいい使い道も思い浮かばない。

eR, dR: 受信者の公開鍵、秘密鍵(ElGamal暗号による)
eT, dT: 変換サーバの公開鍵、秘密鍵
E(k, m): 公開鍵kでmをひねる
D(k, m): 秘密鍵kでmを復号
H(a, b): 一方向性ハッシュ関数

ElGamal暗号
秘密鍵x、公開鍵y = g^xとする。
メッセージmの暗号文(c1, c2)は、ランダムに選択したr∈Zqと公開j鍵yを用いて
c1 = g^r, c2 = my^r
復号は秘密鍵xを用いて
c2/c1^x = my^r/(g^r)^x = m(g^x)^r/(g^r)^x = m
として求められる。

基本方式
(1)委任鍵生成アルゴリズム
乱数vを生成。委任鍵δ = (uT, uP)
uT = E(eT, v) ; 乱数を変換サーバの公開鍵でひねる
uP = dR - H(φ, v) (mod q) ; 秘密鍵dRから制約条件φと乱数vから生成されるH(φ, v)を引く

(2) 代理復号
代理に復号する代行者Pは委任鍵δ=(uT, uP)を持つ。
また暗号文(c1, c2)を受信している。以下はSSLなどを用いた通信により成り立つ。
 (a) PはuT, φ, c1を変換サーバTに送る。
 (b) Tはφを評価し、成立する場合は
   cT = c1^(H(φ, D(dT, uT))) = c1^ H(φ, v)
 をPに返す。だめならエラーを返す
 (c) Pはc1, c2, cTを用いて、
   m = c2c1^(-uP)cT^(-1)
     = c2/(c1^uP x cT) ; uP = dR - H(φ, v)であり、cT = c1 ^ H(φ, v)
     = c2 / {c1^(dR - H(φ, v)) x c1 ^ H(φ, v)}
     = c2 / c1^{dR - H(φ, v) + H(φ, v)}
     = c2/c1^dR
     = m

拡張方式
 λi(x)の式は、i∈Αではなくて j ∈Aじゃないのかな。良く分からん。

トラックバック(0)

このブログ記事を参照しているブログ一覧: P2Pデータ共有における暗号化データのアクセス制御

このブログ記事に対するトラックバックURL: http://www.imaq.net/cgi-bin/mt/mt-tb.cgi/59

コメントする

このブログ記事について

このページは、ImaQが2003年12月 9日 13:51に書いたブログ記事です。

ひとつ前のブログ記事は「青空文庫」です。

次のブログ記事は「判定可能性」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01