非対称生体認証 はじめに

非対称生体認証
菊池 浩明
東海大学電子情報学部情報メディア学科
平塚市北金目 あらまし 暗号プロトコルを応用することで,生体情報を検証者に漏らさないで正しい生体情報
を持っていることを証明するプロトコルを構成する.
Ý
! " #$%&#%#
!
"
はじめに
パスワードに代わる安全な認証技術としてバ
イオメトリクス認証が注目を集めている.携帯
電話での指紋認証,銀行の #$% における静脈
認証,バイオメトリクスパスポートなど,様々
な分野で導入が進んでいる.その一方で,管理
された生体情報の漏洩の危険性が問題視されて
いる.バイオメトリクス認証では,生体情報の
読み取り誤差や変動が避けらないので,生体情
報から特徴点を取り出し,それらを検証者が保
管しておいてパターンマッチングを実行しなく
てはならない.従って,特徴情報の伝送中の盗
聴や認証サーバにおける管理者の不正の危険性
があり,ひとたび漏洩してしまった生体情報は,
パスワードとは異なり,変更することが出来な
いからである.
この問題に対して,妹尾らは,ネットワーク
の通信路の暗号化によるネットワーク認証シス
テムを提案している &' しかし,彼らのシステ
ムでは認証サーバに生体情報を管理する必要性
があり,内部犯の漏洩に対処できない.柴田ら
は,生体情報そのものではなく,生体情報から
公開鍵暗号の秘密鍵を動的に生成し,ディジタ
ル署名により利用者認証を行うメカニズムベー
ス () を提案している & '.実際に,指紋認証
で提案方式を実行するシステムを実装し,有効
性を主張している.しかしながら,彼らの方式
で生成される公開鍵対には生成アルゴリズムに
固有のゆがみが生じる可能性があり,鍵空間上
に一様に分布しないことを利用した鍵解読の危
険性が生じる.特に,指紋情報は容易に収集さ
れるので,それらの情報の一部でもわかれば鍵
解析に大きなヒントを与えてしまうだろう.太
田らは,虹彩コードの特徴に着目し,独自の変
換アルゴリズムを用いて,生体情報を秘匿した
ままで登録情報と比較を行う方式を提案してい
る &*'.彼らの変換アルゴリズムは,登録された
虹彩コードと入力コードの間のハミング距離を
保存する性質を持つ.ただし,この制約のため
に,その安全性は通常の暗号技術には及ばない.
そこで,本研究では,生体情報を持つ証明者
と本人の確認を行う検証者の管理する情報が異
なる,非対称の生体認証方式の実現を目的とす
る.ここでいう非対称性とは,公開鍵暗号と同
様に,証明者が持つ生体情報を検証者は必要と
しないことを意味する.ディジタル署名の技術
でよく知られているように,そのような非対称
性を持つ認証方式は難しくはない.しかし,バ
イオメトリクスに関しては,人体特有のあいま
いさから生じる生体情報の変動や読み取り誤差
などの外乱が避けられないので,それらの変動
に対処する認証方式を実現しなくてはならない.
この問題に対して,我々は次の二つの技術を
導入して,新しい認証方式を提案する.
ニューラルネットワーク
階層型のニューラルネットワークを用い
て,登録に用いる複数の生体情報を学習
し,本人だけを識別する関数を構成する.
ニューラルネットワークのパターン認識
に対する適合性はよく知られている &+'.
ゼロ知識証明
秘密の入力を漏らさずに,その入力が決
められた関数を満たすことを検証者に示
す技術として,秘密関数計算 ,-./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+
&+' 麻生英樹,ニューラルネットワーク情報処
理,産業図書,==