非対称生体認証 菊池 浩明 東海大学電子情報学部情報メディア学科 平塚市北金目 あらまし 暗号プロトコルを応用することで,生体情報を検証者に漏らさないで正しい生体情報 を持っていることを証明するプロトコルを構成する. Ý ! " #$%&#%# ! " はじめに パスワードに代わる安全な認証技術としてバ イオメトリクス認証が注目を集めている.携帯 電話での指紋認証,銀行の #$% における静脈 認証,バイオメトリクスパスポートなど,様々 な分野で導入が進んでいる.その一方で,管理 された生体情報の漏洩の危険性が問題視されて いる.バイオメトリクス認証では,生体情報の 読み取り誤差や変動が避けらないので,生体情 報から特徴点を取り出し,それらを検証者が保 管しておいてパターンマッチングを実行しなく てはならない.従って,特徴情報の伝送中の盗 聴や認証サーバにおける管理者の不正の危険性 があり,ひとたび漏洩してしまった生体情報は, パスワードとは異なり,変更することが出来な いからである. この問題に対して,妹尾らは,ネットワーク の通信路の暗号化によるネットワーク認証シス テムを提案している &' しかし,彼らのシステ ムでは認証サーバに生体情報を管理する必要性 があり,内部犯の漏洩に対処できない.柴田ら は,生体情報そのものではなく,生体情報から 公開鍵暗号の秘密鍵を動的に生成し,ディジタ ル署名により利用者認証を行うメカニズムベー ス () を提案している & '.実際に,指紋認証 で提案方式を実行するシステムを実装し,有効 性を主張している.しかしながら,彼らの方式 で生成される公開鍵対には生成アルゴリズムに 固有のゆがみが生じる可能性があり,鍵空間上 に一様に分布しないことを利用した鍵解読の危 険性が生じる.特に,指紋情報は容易に収集さ れるので,それらの情報の一部でもわかれば鍵 解析に大きなヒントを与えてしまうだろう.太 田らは,虹彩コードの特徴に着目し,独自の変 換アルゴリズムを用いて,生体情報を秘匿した ままで登録情報と比較を行う方式を提案してい る &*'.彼らの変換アルゴリズムは,登録された 虹彩コードと入力コードの間のハミング距離を 保存する性質を持つ.ただし,この制約のため に,その安全性は通常の暗号技術には及ばない. そこで,本研究では,生体情報を持つ証明者 と本人の確認を行う検証者の管理する情報が異 なる,非対称の生体認証方式の実現を目的とす る.ここでいう非対称性とは,公開鍵暗号と同 様に,証明者が持つ生体情報を検証者は必要と しないことを意味する.ディジタル署名の技術 でよく知られているように,そのような非対称 性を持つ認証方式は難しくはない.しかし,バ イオメトリクスに関しては,人体特有のあいま いさから生じる生体情報の変動や読み取り誤差 などの外乱が避けられないので,それらの変動 に対処する認証方式を実現しなくてはならない. この問題に対して,我々は次の二つの技術を 導入して,新しい認証方式を提案する. ニューラルネットワーク 階層型のニューラルネットワークを用い て,登録に用いる複数の生体情報を学習 し,本人だけを識別する関数を構成する. ニューラルネットワークのパターン認識 に対する適合性はよく知られている &+'. ゼロ知識証明 秘密の入力を漏らさずに,その入力が決 められた関数を満たすことを検証者に示 す技術として,秘密関数計算 ,-./0 が研 究されている. 本研究では,これらの技術を用いて,入力する 生体情報が登録したニューラルネットワークの 正しい出力を得ることを証明する暗号プロトコ ルを構成する.提案方式は,特定のバイオメト リクスに依存することなく,指紋や虹彩などの 任意の認証方式に適用可能である.個人認証の 目的だけではなく,一般的な文書に対するディ ジタル署名にも適用が可能であり,多くの応用 分野への適用が考えられる. 準備 バイオメトリクス 生体情報には様々な種類があるが,万人不動, 終生不変といった望ましい特徴を満たすものと して,指紋,虹彩,顔,静脈,掌形,耳,12# などがよく用いられる.ここでは,特定の方式 を定めずに一般的に述べる. 生体情報 3 , 0 は, と する 次元のベクトルとする.生体情報は様々 な外乱の影響で変動するが,生体情報空間 の中でその個人を特定する部分集合 があり, 他人の集合 との間で は十分小さ いこととする. の大きさは,用いる生体情報 によって異なるが, 4 あるいは,ある小さな 自然数の区間とする. ニューラルネットワーク 階層型ニューラルネットワークは,入力層,中 間層,出力層の * 層から成る.入力層は, 個 のユニット と,バイアス項と呼 ばれる常に を取るユニットから成る.同様に, 中間層は とバイアス項,出力層は の単一ユニットとする.入力層から中間層へは 完全結合で重み によって結び付けられてお り,中間層から出力層への重みは とする.各 ユニットの出力は,次のシグモイド関数 ,0 3 5 により定める.従って,中間層は について, 3 , ,0 3 5 5 5 0 同様に出力層は, 3 , 5 5 0 と書き表せる. 入力ユニットに対する正しい出力ユニットの 組が教示信号として与えられた時,教師信号と ネットワークの出力の誤差の二乗を最小化する ように各重みを更新するアルゴリズムとして, バックプロパゲーション ,6(0 法がよく知られ ている.6( 法は効率のよい学習規則であり,十 分な時間と重みを与えれば任意の連続関数が近 似できる.詳細は例えば &+' を参照し,ここで はこれ以上掘り下げないで用いる. 準同型性を満たす公開鍵暗号 暗号プロトコルの要素技術として,準同型性 を満たす拡張エルガマル暗号を用いる. 3 5 となる大きな素数 を生成する. を位数 となる乗法群の生成元とする.秘密 鍵 をランダムに選び, 3 , 0 と公開鍵は を公開鍵とする.平文 の 暗号文は,乱数 について, &' 3 , 0 3 , 0 , 0 剰余で定められた体の上では期待したようなし きい値関数を構成しない.そこで,何らかの方 法でこの振る舞いを近似する新しいトリックが 必要になる. 生体情報証明書の登録 証明者は学習の終わったネットワークにおけ る入力層の重みを鍵管理者の公開鍵で次のよう に暗号化する., 0 3 & ' 3 , 0 と定める.複号は, 3 , 0 で 与える. ここで,暗号化に用いた乱数 を覚えておく. 暗号文 3 , 0 ¼ 3 , ¼ ¼ 0 について, 同様に,中間層の重みについても, ! 3 & ' 積とべきを次のように要素ワイズに定義する. と暗号化する.これらの情報を信頼できる認証 ¼ ¼ ¼ 局に提出して, (必要ならば正しい暗号文である 3 , 0 3 , 0 ことをゼロ知識証明して),認証してもらった 明らかに, &' &' 3 &' と &' 3 & ' 後,これらに対するディジタル署名 " を発行し であり,準同型性を満たしている. てもらう.すなわち, 提案方式 " 3 , ! ! 0 を の生体情報証明書と定める. 概要 提案方式には,証明者 と検証者 ,それ に,公開鍵暗号の秘密鍵を管理する鍵管理者が 存在する.検証者への信頼は仮定しない. 提案方式は,登録と証明の二つのフェーズか らなる.登録では,生体情報(特徴点)を複数 回取得し,教示データを作って 6( 法で学習を 行う.学習した重みベクトルを公開鍵暗号で暗 号化して,信頼できる第三者 ,たとえば認証局) に登録して,生体情報証明書を発行してもらう. 証明フェーズでは,認証された暗号化重みに対 して,その場で取得した生体情報 が正しく であることをゼロ知識証明する.すな わち, 3 , 0 に対するニューラルネッ トワークの出力値 , 0 3 であることを証明 してみせる. 階層型ニューラルネットワークの各ユニット は,入力ユニットと重みの線形和で定められて いるので,公開鍵暗号の準同型性からこの過程 が暗号化されたまま実現できる.問題は,シグ モイド関数であり,式 ,0 に従って計算しても, 入力層プロトコル 証明フェーズは,入力層,しきい値関数,出 力層の3つに分けて述べる. は暗号化重み と入力 ら,中間層ユニットの暗号文 か #7 3 &' , 3 0 を求めて, へ送る.ただ し, はバイアス項の重みの暗号文, 再暗号化と呼ばれる &' は平文を変化さ せない暗号文である. ( の定義域は大き くなく,総当りによって入力を同定する 攻撃を防止する必要がある). #7 が正しく計算されており, がその指 数(生体情報)を知っていることを次の () で示す( 3 まで繰り返す. ) $ , 0 #7 3 &' は乱数 % % を選び, & 3 & 3 を へ送る. は乱数 ' を選び, へ送り返す. * は次を求めて へ返す. + 3% + 一般性を失うことなく, #7 3 & ' であ 7 % につ ると仮定する. は乱数 % いて,& 3 & 3 を求める.一方, 後半については,乱数 ' を 選び, 7 0 & 3 , 7 0 & 3 , を求める.以上の ,& る. ' 3 % ' は次式で検証をする. + ,#7 &'0 3 & & +* シグモイド関数は,あるしきい値 ( を定めれ ば, ,0 3 4 ) ( *( と 値の出力を行う関数となる.従って, 3 ,70 の代わりに,入力の暗号文 #7 と出力の暗号 文 # の間に関係があることを次の知識の証明で 示すことと同値である. $ #7 3 & ' # ++ は,重み を用いて 3 5 5 5 を求めて,( 3 と する. (ここで, の符号は秘密だが絶対 &4' 3 , 0 3 , 0 は () は次の検証式により,しきい関数が正 しく計算されていることを検証する. 7 0 , , 0 7 0 , , 0 を次の手順で実行する. ,簡単 のため,# についてだけ示す)入力の暗 7 7 0 と置く. 号文を #7 3 , 3 3 3 3 & & & & また,シグモイド関数 ,( 0 3 であるこ とを確認する. ここで,# が正しい暗号文になっているかどう か示すためには,更に , 0 3 の 証明を加える必要がある. * 4 # 3 &' 3 , 0 3 , 0 と求めて,( ( # # とステッ プ で求めた暗号文 #7 #7 を へ 送る. , 0 3 & ' #7 3 & ' # 3 & ' 値を開示することに注意).また,対応す る出力の暗号文 # を + 7 ' 7 3 % ' 3 +, を計算して, と共に へ送る.こ こで, 7 3 5 5 5 , 0 であり, は重みの暗号化の際 に求めた乱数である. プロトコルを次に示す.,8 らによる選言 の証明) * は乱数 ' を選び へ送り返す. は ' 3 ' ' により ' を定めて, しきい値関数プロトコル & & & 0 を へ送 出力層プロトコル ステップ + において,# を定めたのと同 様にし,出力層の入力を定める. !7 3 ! &' /&' #7 3 & ' #7 3 & ' こうして求められた入力を用いて, 7 3 !7 !7 3 , 0 を計算して,! と共に へ送る.ただし ここで,- は ! の暗号化に用いた乱数と &' に用いた乱数を用いて与えられる. 9 は, を明かし,7 3 & ' であること を知識の証明 ()* で証明する.離散対数 の等価性を示すよく知られた知識の証明 が利用できる. ディジタル署名への応用 以上のプロトコルでは認証を行う対話的な証 明手順を構成したが, が送り返すフレッシュ な乱数の代わりにハッシュ関数を用いてチャレ ンジを作り出せば,上記プロトコルは非対話の 署名へと変換できる.その場合は,対象とする 文書をハッシュの入力に追加する必要がある. 評価 通信コスト 提案方式は,証明書に , 5 0 の暗号文を必 要とする. 認証の際に が送らなければならない情報 は,暗号文 #7 と !7 が 個づつ,加えて,() で のべき乗計算 ,& 0 () で + のべき 乗計算 & & & & ()* で 回のべき乗計 算を要する. 安全性 提案方式は,従来の方式に比べて,非対称で 認証を行い,偽造に対する安全性もセキュリティ パラメータに指数関数的に小さく出来る.拡張 エルガマル暗号は識別不可能性の意味で,11: 問題に帰着できることが知られており,盗聴に 対しても安全である. 証明者がプロトコルを実行するためには,暗 号文を作ったときの乱数をある種の秘密情報と して安全に管理しておく必要があり,これはバ イオメトリクス認証のメリットの一つと矛盾す る. おわりに 生体情報を用いた非対称な認証プロトコルと, 署名プロトコルを構成した. 参考文献 &' 妹尾,厚井,貞包,中谷,馬場,鹿間,生 体認証によるネットワーク個人認証システ ム,情報処理学会論文誌, ; ++ 2 + 4 44* & ' 柴田,三村,高橋,中村,曽我,西垣,メ カニズムベース () < 指紋からの秘密鍵動 的生成,情報処理学会論文誌,; + 2 = =**=++ 44+ &*' 太田陽基,清本晋作,田中俊昭,虹彩コード を秘匿する虹彩認証方式の提案,情報処理 学会論文誌,; + 2 = =+= 44+ &+' 麻生英樹,ニューラルネットワーク情報処 理,産業図書,==
© Copyright 2024 Paperzz