(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理プログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20241129BHJP
G06F 21/32 20130101ALI20241129BHJP
【FI】
H04L9/32 100D
G06F21/32
(21)【出願番号】P 2021033549
(22)【出願日】2021-03-03
【審査請求日】2024-03-04
(73)【特許権者】
【識別番号】521091561
【氏名又は名称】鈴木 蘭美
(73)【特許権者】
【識別番号】521091572
【氏名又は名称】塚原 祐輔
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100128381
【氏名又は名称】清水 義憲
(74)【代理人】
【識別番号】100144440
【氏名又は名称】保坂 一之
(72)【発明者】
【氏名】鈴木 蘭美
(72)【発明者】
【氏名】塚原 祐輔
【審査官】塩澤 如正
(56)【参考文献】
【文献】国際公開第2003/044678(WO,A1)
【文献】合原 一幸,カオスセミナー ,第1版,海文堂出版株式会社,1994年04月15日,pp. 76-79
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00- 9/40
G06F 21/00-21/88
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、
ユーザのDNAから抽出されたSNPを示すSNPデータを取得し、
前記SNPデータの要素の順序を第1ルールによって変更する第1操作と、前記SNPデータの特定の要素が示す値に基づく第2ルールによって前記要素の順序を変更する第2操作とを含む変換処理を実行することによって、前記SNPデータから変換データを生成し、
前記ユーザの認証のために前記変換データを出力する、
情報処理装置。
【請求項2】
前記少なくとも一つのプロセッサが、
前記SNPデータを正方行列に変換し、
前記正方行列に対するパイこね変換を含む前記第1ルールによって前記第1操作を実行する、請求項1に記載の情報処理装置。
【請求項3】
前記少なくとも一つのプロセッサが、前記正方行列の転置をさらに含む前記第1ルールによって前記第1操作を実行する、請求項2に記載の情報処理装置。
【請求項4】
前記少なくとも一つのプロセッサが、前記パイこね変換の後に前記転置を実行し、さらに前記パイこね変換を実行する、請求項3に記載の情報処理装置。
【請求項5】
前記少なくとも一つのプロセッサが、少なくとも前記正方行列の行数に対応する回数分の前記変換処理を繰り返し実行する、請求項2~4のいずれか一項に記載の情報処理装置。
【請求項6】
少なくとも一つのプロセッサを備える情報処理装置によって実行される情報処理方法であって、
ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、
前記SNPデータの要素の順序を第1ルールによって変更する第1操作と、前記SNPデータの特定の要素が示す値に基づく第2ルールによって前記要素の順序を変更する第2操作とを含む変換処理を実行することによって、前記SNPデータから変換データを生成するステップと、
前記ユーザの認証のために前記変換データを出力するステップと
を含む情報処理方法。
【請求項7】
ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、
前記SNPデータの要素の順序を第1ルールによって変更する第1操作と、前記SNPデータの特定の要素が示す値に基づく第2ルールによって前記要素の順序を変更する第2操作とを含む変換処理を実行することによって、前記SNPデータから変換データを生成するステップと、
前記ユーザの認証のために前記変換データを出力するステップと
をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の一側面は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【0002】
生体認証を行う仕組みが知られている。例えば特許文献1には、患者の遺伝子情報を解析してハッシュ値を演算し、電子割符を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザのプライバシーを保護しつつ、確実な生体認証を行う仕組みが望まれている。
【課題を解決するための手段】
【0005】
本開示の一側面に係る情報処理装置は、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、ユーザのDNA(deoxyribonucleic acid)から抽出されたSNP(singlenucleotide polymorphism)を示すSNPデータを取得し、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成し、ユーザの認証のために変換データを出力する。
【0006】
本開示の一側面に係る情報処理方法は、少なくとも一つのプロセッサを備える情報処理装置によって実行される。情報処理方法は、ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成するステップと、ユーザの認証のために変換データを出力するステップとを含む。
【0007】
本開示の一側面に係る情報処理プログラムは、ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成するステップと、ユーザの認証のために変換データを出力するステップとをコンピュータに実行させる。
【0008】
このような側面においては、SNPデータの要素の順序が第1ルールによって変更されると共に、特定の要素が示す値に基づく第2ルールによって要素の順序が変更されることで、SNPデータから変換データが生成される。ここで、SNPデータは、ユーザごとに固有の値を有する。変換データは、SNPデータと一対一に対応しており、ユーザを確実に特定する。変換データはユーザごとに異なる一方向性の変換処理によって生成されるため、変換データからSNPデータに戻すことは極めて困難である。これにより、ユーザのプライバシーを保護しつつ、確実な生体認証を行うことができる。
【0009】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、SNPデータを正方行列に変換し、正方行列に対するパイこね変換を含む第1ルールによって第1操作を実行してもよい。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0010】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、正方行列の転置をさらに含む第1ルールによって第1操作を実行してもよい。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0011】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、パイこね変換の後に転置を実行し、さらにパイこね変換を実行してもよい。このような構成によれば、正方行列の行と列とに対するパイこね変換がそれぞれ実行される。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0012】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、少なくとも正方行列の行数に対応する回数分の変換処理を繰り返し実行してもよい。パイこね変換は、繰り返し実行されるほど値が離散する特性を有する。繰り返しの回数が正方行列の行数(列数)に対応する回数分に設定されることにより、処理時間の増大を抑制しつつ、要素の順序を十分に変更できる。また、要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【発明の効果】
【0013】
本開示の一側面によれば、ユーザのプライバシーを保護しつつ、確実な生体認証を行うことができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係る生体認証システムに関連する構成の一例を示す図である。
【
図2】実施形態に係る生体認証システムに関連するハードウェア構成の一例を示す図である。
【
図8】実施形態に係る生体認証システムの動作の一例を示すフローチャートである。
【
図9】変形例に係る変換データの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【0016】
[システムの概要]
実施形態に係る生体認証システムは、ユーザのDNAを用いた生体認証を支援するコンピュータシステムである。ユーザとは、本人であるかどうかの認証を受ける人をいう。ユーザのほとんど全ての種類の細胞にはDNAが存在する。DNAは、A(アデニン)、T(チミン)、G(グアニン)、およびC(シトシン)の4種類の塩基から構成される塩基配列を有する。ここで、ある生物の集団では、塩基配列のうち一つの塩基が別の塩基に置き換わる多様性が見られる。この多様性が生物の集団の中で所定の閾値(例えば1%)以上の頻度で見られる場合、該多様性をSNPという。生体認証システムは、SNPを基にしてユーザを識別するための情報を生成し、該情報を用いた生体認証を支援する。
【0017】
生体認証システムでは、ユーザから検体が提供される。生体認証システムは、該検体からユーザのDNAを解析して所定のSNPを抽出し、該SNPを示すSNPデータを生成する。生体認証システムは、SNPデータに対し一方向性の変換処理を実行して変換データを生成し、ユーザの認証のために該変換データを出力する。変換データの表現形式は限定されず、例えば変換データは文書、画像(例えば写真、映像など)、またはこれらの組合せによって表現されてもよい。
【0018】
[システムの構成]
図1は、実施形態に係る生体認証システムに関連する構成の一例を示す図である。本実施形態に係る生体認証システム1は、解析装置10および認証装置20を備える。解析装置10は、通信ネットワークを介して、SNPデータベース4および認証装置20と接続される。認証装置20は、通信ネットワークを介して、認証用データベース5とも接続される。通信ネットワークの構成は限定されない。例えば、通信ネットワークはインターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
【0019】
ユーザ2は、DNAを解析するための検体3を採取する。検体3としては、例えば口腔内粘膜、唾液、血液、毛髪、またはその他の体細胞等が挙げられる。一例では、ユーザ2は、自身の頬の裏側を綿棒で擦ることによって、綿棒に付着した口腔内粘膜を検体3として採取する。ユーザ2は、検体3を解析装置10に提供する。
【0020】
SNPデータベース4は、ヒトのSNPに関する情報(以下、「SNP情報」という。)が記憶されたデータベースであり、例えばdbSNPにより構成される。dbSNPとは、アメリカ国立生物工学情報センター(NCBI)およびアメリカ国立ヒトゲノム研究所(NHGRI)により公開されているデータベースである。SNPデータベース4は、rsナンバー(「rs番号」ともいう。)によってSNPを特定する。SNPデータベース4は、rsナンバーに関連付けて、例えばアレル、アレル頻度等のSNP情報を記憶する。本実施形態におけるアレルとは、あるSNPにおいて出現し得る各々の塩基をいう。アレル頻度とは、ある生物(本実施形態ではヒト)の集団内におけるそれぞれのアレルの出現頻度である。一例では、SNPデータベース4は、特定のrsナンバーに対応するSNPについて、アレルがCまたはTをとり得ること、Cのアレル頻度が60%(すなわち、Tのアレル頻度が40%)であること等のSNP情報を記憶する。
【0021】
認証用データベース5は、ユーザ2に関する情報と変換データとを関連付けて記憶する非一時的な記憶媒体または記憶装置である。ユーザ2に関する情報は、少なくともユーザ2を一意に特定する情報(例えばID)を含む。ユーザ2を一意に特定する情報は、ユーザ2が生体認証システム1を初めて利用する際に、生体認証システム1によって発行されてもよい。認証用データベース5は、ブロックチェーンにより構成されてもよい。
【0022】
解析装置10は、検体3からユーザ2のDNAを解析するコンピュータである。解析装置10は、一つまたは複数のコンピュータから構成されてもよい。解析装置10は、検体3からユーザ2のDNAを解析して所定のSNPを抽出する。解析装置10は、SNPを示すSNPデータを生成し、認証装置20に送信する。
【0023】
認証装置20は、ユーザ2ごとのSNPデータから変換データを生成し、該変換データを出力するコンピュータである。認証装置20は、一つまたは複数のコンピュータから構成されてもよい。認証装置20は、解析装置10からSNPデータを取得し、所定の変換処理を実行することによって、変換データを生成する。認証装置20は、ユーザ2の認証のために変換データを出力する。「出力する」とは、認証用データベース5に変換データを格納するために出力することと、認証用データベース5に記憶された変換データと新しく生成した変換データとを照合するために出力することとの両方を含む概念である。
【0024】
続いて、
図1を参照しながら生体認証システム1に関連する機能要素を説明する。解析装置10は、機能要素として選択部11、解析部12、および送信部13を備える。
【0025】
選択部11は、抽出対象のSNPを選択する機能要素である。選択部11は、SNPデータベース4から取得したSNP情報と所定のスクリーニング条件とに基づいて、複数個の抽出対象のSNPを選択する。選択部11は、どのSNPを選択したかという情報を秘匿する。
【0026】
解析部12は、ユーザ2のDNAから抽出されたSNPを示すSNPデータを生成する機能要素である。解析部12は、検体3からユーザ2のDNAを解析し、抽出対象のSNPのアレルを判定する。「アレルを判定する」とは、アレルが何であるのか(塩基の種類)を明らかにすることである。解析部12は、アレルを要素とする抽出結果を取得する。解析部12は、抽出結果に基づいてSNPデータを生成する。
【0027】
送信部13は、SNPデータを認証装置20に送信する機能要素である。例えば、送信部13は、ユーザ2を一意に特定する情報とSNPデータとを認証装置20に送信する。
【0028】
認証装置20は、機能要素として受信部21、変換部22、および出力部23を備える。
【0029】
受信部21は、SNPデータを解析装置10から受信することによって、SNPデータを取得する機能要素である。
【0030】
変換部22は、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成する機能要素である。
【0031】
出力部23は、ユーザ2の認証のために変換データを出力する機能要素である。
【0032】
図2は、実施形態に係る生体認証システム1に関連する解析装置10または認証装置20として機能し得るコンピュータ100の一般的なハードウェア構成の一例を示す図である。例えば、コンピュータ100はプロセッサ101、主記憶部102、補助記憶部103、通信制御部104、入力装置105、および出力装置106を備える。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。主記憶部102は例えばROMおよびRAMで構成される。補助記憶部103は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部102よりも大量のデータを記憶する。補助記憶部103は、少なくとも1台のコンピュータを解析装置10または認証装置20として機能させるためのプログラム110を記憶する。通信制御部104は例えばネットワークカードまたは無線通信モジュールで構成される。入力装置105は例えばキーボード、マウス、タッチパネルなどで構成される。出力装置106は例えばモニタおよびスピーカで構成される。
【0033】
各装置の各機能要素は、プロセッサ101または主記憶部102の上にプログラム110を読み込ませてそのプログラムを実行させることで実現される。プログラム110は、対応する解析装置10または認証装置20の各機能要素を実現するためのコードを含む。プロセッサ101はプログラム110に従って、通信制御部104、入力装置105、または出力装置106を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行う。この処理により、対応する解析装置10または認証装置20の各機能要素が実現される。処理に必要なデータまたはデータベースは主記憶部102または補助記憶部103内に格納されてもよい。
【0034】
各装置は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つの装置が構成される。
【0035】
プログラム110は情報処理プログラムに相当し得る。プログラム110は、例えば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラム110は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【0036】
図3~
図7は、SNPデータの要素の順序を変更する処理の一例を示す図である。この例では、パイこね変換を含む処理を説明する。以下、SNPデータが64個の要素を有する例について説明する。SNPデータの各要素は、アレルの組合せの種類に対応する数値を示す。一例では、アレルの組合せが10通りであることに対応して、その各要素は1~10の値を示す。
【0037】
図3~
図4を参照して、パイこね変換の処理の一例を説明する。パイこね変換の事前処理として、変換部22は、SNPデータを正方行列に変換する。例えば、変換部22は、64個の要素を有するSNPデータを8行×8列の正方行列に変換する。一例では、変換部22は、SNPデータの先頭から8個の各要素を行列の1行目の各成分に変換する。変換部22は、SNPデータの次の8個(9~16番目)の各要素を行列の2行目の各成分に変換する。同様に、変換部22は、SNPデータの要素を8個ずつ各行の各成分に変換することによって、
図3に示される8行×8列の正方行列M1を生成する。以下、正方行列M1のi行j列成分をa
ijと表記する。他の行列においてa
ijと表記したとき、このa
ijは正方行列M1のi行j列成分に対応する。
【0038】
パイこね変換は、引き伸ばし処理と折り畳み処理とを含む。
図3は、引き伸ばし処理の一例を示す。例えば、変換部22は、行列の行数を1/2倍にするとともに、行列の列数を2倍にする。一例では、変換部22は、8行×8列の正方行列M1から4行×16列の行列M2を生成する。変換部22は、正方行列M1の1行目の各成分(a
11~a
18)および2行目の各成分(a
21~a
28)を連結させて、4行×16列の行列M2の1行目の各成分(a
11~a
18,a
21~a
28)に変換する。変換部22は、正方行列M1の3行目の各成分(a
31~a
38)および4行目の各成分(a
41~a
48)を連結させて、行列M2の2行目の各成分(a
31~a
38,a
41~a
48)に変換する。同様に、変換部22は、正方行列M1の5行目の各成分と6行目の各成分とを連結させて行列M2の3行目の各成分に変換する。変換部22は、正方行列M1の7行目の各成分と8行目の各成分とを連結させて行列M2の4行目の各成分に変換する。
図3において、正方行列M1のA1、A2、A3、およびA4で示される範囲は、行列M2のA1、A2、A3、およびA4で示される範囲にそれぞれ対応する。
【0039】
図4は、折り畳み処理の一例を示す。例えば、変換部22は、行列の列数を1/2倍にするとともに、行列の行数を2倍にする。一例では、変換部22は、4行×16列の行列M2から8行×8列の正方行列M3を生成する。変換部22は、行列M2の1行9列目~16列目および2行9列目~16列目の各成分B1(a
21~a
28およびa
41~a
48)を横方向に反転しつつ、8行×8列の正方行列M3の1行目の各成分および2行目の各成分に変換する。変換部22は、行列M2の各行の1列目~8列目の各成分(a
11~a
18,a
31~a
38,a
51~a
58,およびa
71~a
78)を正方行列M3の3行目~6行目の各成分に変換する。変換部22は、行列M2の3行9列目~16列目および4行9列目~16列目の各成分B2(a
61~a
68およびa
81~a
88)を横方向および縦方向に反転しつつ、正方行列M3の7行目の各成分および8行目の各成分に変換する。
【0040】
図5は、転置の処理の一例を示す図である。変換部22は、正方行列M3に対し転置を実行することによって、正方行列M4を生成する。正方行列M4は、正方行列M3の1行1列目と8行8列目とを結ぶ対角線を基準として、各成分を折り返した行列である。
【0041】
図6は、パイこね変換の処理の一例を示す図である。変換部22は、転置を実行した後、さらにパイこね変換を実行する。変換部22は、正方行列M4に対して引き伸ばし処理を実行することによって、行列M5を生成する。変換部22は、行列M5に対して折り畳み処理を実行することによって、正方行列M6を生成する。さらなるパイこね変換は、前のパイこね変換の詳細な手順と同じ手順により実行されてもよいし、該詳細な手順と少なくとも一部が異なる手順により実行されてもよい。
【0042】
図7において、変換部22はシフト処理を実行する。シフト処理とは、要素をずらすように移動させて、要素の順序を変更する処理をいう。
【0043】
変換部22は、シフト用数列を生成する。例えば、変換部22は、正方行列M6の1行1列目~8列目の各要素を順にシフト用数列に格納する。変換部22は、正方行列M6の2行1列目~8列目の各要素を順にシフト用数列に格納する。同様に、変換部22は、正方行列M6の3行1列目~8列目、4行1列目~8列目、5行1列目~8列目、6行1列目~8列目、7行1列目~8列目、および8行1列目~8列目の各要素を順にシフト用数列に格納する。このような操作により、変換部22は64個の要素を有するシフト用数列を生成する。
【0044】
変換部22は、特定の要素が示す値に基づいて、シフト用数列の要素をずらすように移動させる。特定の要素が示す値はユーザ2ごとに異なる。例えば、変換部22は、正方行列M1の1行1列目(a11成分)を特定の要素として、シフト用数列の要素をずらすように移動させる。a11成分の値が10である場合、変換部22は、シフト用数列の末尾10個の要素をシフト用数列の先頭に移動させる。シフト用数列の末尾10個の要素は、正方行列M6におけるC1の範囲に示す各成分に対応する。
【0045】
変換部22は、シフト用数列を正方行列に変換する。例えば、変換部22は、シフト用数列の先頭から8個の各要素を行列の1行目の各成分に変換する。変換部22は、シフト用数列の次の8個(9~16番目)の各要素を行列の2行目の各成分に変換する。同様に、変換部22は、シフト用数列の要素を8個ずつ各行の各成分に変換することによって、
図7に示される8行×8列の正方行列M7を生成する。正方行列M7におけるC1の範囲に示す各成分は、正方行列M6におけるC1の範囲に示す各成分に対応する。
【0046】
[システムの動作]
図8を参照しながら、生体認証システム1の動作を説明するとともに本実施形態に係る情報処理方法について説明する。
図8は、実施形態に係る生体認証システム1の動作の一例を処理フローS1として示すフローチャートである。
【0047】
解析装置10の選択部11は、処理フローS1の事前処理として、抽出対象のSNPを予め選択する。例えば、選択部11は、2つのアレルを有し、アレル頻度が50%に近似し、互いに連鎖不平衡にないSNPを選択する。2つのアレルとは、4種類の塩基(A、T、G、およびC)のうち、相異なる2つをとり得る組合せ(AC、AT、AG、CT、CG、およびTG)のことをいう。連鎖不平衡とは、染色体上の近接する位置にある2つ以上のSNPが、独立ではなく相関がみられる関係をいう。選択部11は、ヒトの個人識別に十分な大きさのn(例えば50≦n≦100)個のSNPを選択する。本実施形態では、n=64として説明する。また、選択部11は、SNPの総数のうち、2つのアレルが可能な限り均等な割合で出現するようにSNPを選択する。例えば、選択部11は、64個のSNPのうち、AC、AT、AG、CT、CG、およびTGがそれぞれ10個程度となるようにSNPを選択する。
【0048】
ステップS11では、解析装置10の解析部12が、検体3からユーザ2のDNAを解析し、抽出対象のSNPのアレルを判定する。例えば、解析部12は、ユーザ2の検体3と遺伝子型判定用アッセイとに基づいて、ユーザ2のDNAを解析し、抽出対象のSNPのアレルを判定する。遺伝子型判定用アッセイとしては、例えばTaqManアッセイ、Invaderアッセイ、質量分析装置、SNPチップ、DNAシーケンサ等が挙げられるが、これらに限られない。
【0049】
解析部12は、アレルを要素とする抽出結果を取得する。例えば、解析部12は、64個のSNPの抽出結果をリストまたは配列として取得する。一例では、解析部12は、抽出結果をG=(g1,g2,…,g64)として取得する。ここで、gi(1≦i≦64)は判定された個々のアレルの組合せであり、AA、AT、AC、AG、TT、TC、TG、CC、CG、またはGGのいずれかである。
【0050】
解析部12は、ユーザ2のDNAから抽出されたSNPを示すSNPデータを生成する。例えば、解析部12は、抽出結果の各要素を、対応する数字にそれぞれ置換することによってSNPデータを生成する。対応する数字とは、例えばアレルの組合せに対して予め割り当てられた個々の数字である。一例では、解析部12は、AA=1、AT=2、AC=3、AG=4、TT=5、TC=6、TG=7、CC=8、CG=9、およびGG=10として、数字を予め決定する。解析部12は、抽出結果の各要素を、対応する数字(1~10)にそれぞれ置換した数列をSNPデータとして生成する。例えば、SNPデータは、G´=(g´1,g´2,…,g´64)である。ここで、g´i(1≦i≦64)は1~10のいずれかである。このようにして、解析部12は、1~10の値が不規則に64個並ぶSNPデータを生成する。SNPデータは、ユーザ2ごとに固有の値を有する。
【0051】
ステップS12では、認証装置20の受信部21が、SNPデータを取得する。例えば、解析装置10の送信部13は、ユーザ2を一意に特定する情報とSNPデータとを認証装置20に送信する。受信部21は、解析装置10からSNPデータを受信することによって、SNPデータを取得する。
【0052】
ステップS13では、認証装置20の変換部22が、SNPデータを正方行列に変換する。例えば、変換部22は、64個の要素を有するSNPデータを8行×8列の正方行列に変換する。一例では、変換部22は、SNPデータの要素を8個ずつ各行の各成分に変換することによって、
図3に示される8行×8列の正方行列M1を生成する。
【0053】
ステップS14では、変換部22が、SNPデータの要素の順序を第1ルールによって変更する第1操作を実行する。
【0054】
変換部22は、正方行列に対するパイこね変換を含む第1ルールによって第1操作を実行する。変換部22は、正方行列M1に対して引き伸ばし処理を実行することによって、
図3に示される行列M2を生成する。続いて、変換部22は、行列M2に対して折り畳み処理を実行することによって、
図4に示される正方行列M3を生成する。
【0055】
変換部22は、正方行列の転置をさらに含む第1ルールによって第1操作を実行する。例えば、変換部22は、パイこね変換により生成された正方行列M3に対して転置を実行することによって、
図5に示される正方行列M4を生成する。
【0056】
変換部22は、転置された正方行列に対してさらにパイこね変換を実行する。例えば、変換部22は、転置後の正方行列M4に対して引き伸ばし処理を実行することによって、
図6に示される行列M5を生成する。続いて、変換部22は、行列M5に対して折り畳み処理を実行することによって、
図6に示される正方行列M6を生成する。
【0057】
ステップS15では、変換部22が、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作を実行する。例えば、変換部22は、正方行列M6に対してシフト処理を実行することによって、
図7に示される正方行列M7を生成する。
【0058】
変換部22は、変換処理の回数に対応して特定の要素を決定してもよい。一例では、変換部22は、変換処理の1回目において、正方行列M1の1行1列目(a11成分)を特定の要素として決定してもよい。変換部22は、変換処理の2回目において、正方行列M1の1行2列目(a12成分)を特定の要素として決定してもよい。同様に、変換部22は、繰り返しの回数に対応してSNPデータの特定の要素を決定してもよい。
【0059】
ステップS14およびステップS15に関連して、変換部22は、変換処理の順序を変更してもよい。例えば、変換部22は、第2操作を実行した後、第1操作を実行してもよい。
【0060】
ステップS16では、変換部22が、変換処理の繰り返し終了条件を判定する。繰り返し終了条件とは、所定の回数分の変換処理が実行されるように設定された条件である。変換部22は、少なくとも正方行列の行数(列数)に対応する回数分の変換処理を繰り返し実行する。例えば、変換部22は、正方行列M1の行数または列数に対応する8回分の変換処理を繰り返し実行する。変換部22は、変換処理を実行した回数をカウントし、該回数が繰り返し終了条件に合致するかどうかを判定する。
【0061】
繰り返し終了条件に合致しない場合(ステップS16においてNO)、処理はステップS14に戻る。繰り返し終了条件に合致する場合(ステップS16においてYES)、処理はステップS17に進む。変換部22は、ステップS14における第1操作およびステップS15における第2操作を含む変換処理を実行することによって、SNPデータから変換データを生成する。変換データは、SNPデータと一対一に対応しており、ユーザを確実に特定する。変換部22は、行列形式である変換データを数列形式に変換してもよい。
【0062】
ステップS17では、認証装置20の出力部23が、ユーザ2の認証のために変換データを出力する。ユーザ2が生体認証システム1を初めて利用する場合、出力部23は、認証用データベース5に変換データを格納する。ユーザ2が生体認証システム1を2回目以降に利用する場合、出力部23は、認証用データベース5に記憶された変換データと、新しく生成した変換データとを照合するために、新しく生成した変換データを出力する。
【0063】
生体認証システム1は、検体3、抽出結果、およびSNPデータを破棄し、これらの情報を保持しない。生体認証システム1では、ユーザ2の認証のために変換データが用いられる。変換データはユーザ2のDNAに関する情報を含まない。
【0064】
[効果]
以上説明したように、本開示の一側面に係る情報処理装置は、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、ユーザのDNAから抽出されたSNPを示すSNPデータを取得し、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成し、ユーザの認証のために変換データを出力する。
【0065】
本開示の一側面に係る情報処理方法は、少なくとも一つのプロセッサを備える情報処理装置によって実行される。情報処理方法は、ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成するステップと、ユーザの認証のために変換データを出力するステップとを含む。
【0066】
本開示の一側面に係る情報処理プログラムは、ユーザのDNAから抽出されたSNPを示すSNPデータを取得するステップと、SNPデータの要素の順序を第1ルールによって変更する第1操作と、SNPデータの特定の要素が示す値に基づく第2ルールによって要素の順序を変更する第2操作とを含む変換処理を実行することによって、SNPデータから変換データを生成するステップと、ユーザの認証のために変換データを出力するステップとをコンピュータに実行させる。
【0067】
このような側面においては、SNPデータの要素の順序が第1ルールによって変更されると共に、特定の要素が示す値に基づく第2ルールによって要素の順序が変更されることで、SNPデータから変換データが生成される。ここで、SNPデータは、ユーザごとに固有の値を有する。変換データは、SNPデータと一対一に対応しており、ユーザを確実に特定する。変換データはユーザごとに異なる一方向性の変換処理によって生成されるため、変換データからSNPデータに戻すことは極めて困難である。これにより、ユーザのプライバシーを保護しつつ、確実な生体認証を行うことができる。
【0068】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、SNPデータを正方行列に変換し、正方行列に対するパイこね変換を含む第1ルールによって第1操作を実行してもよい。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0069】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、正方行列の転置をさらに含む第1ルールによって第1操作を実行してもよい。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0070】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、パイこね変換の後に転置を実行し、さらにパイこね変換を実行してもよい。このような構成によれば、正方行列の行と列とに対するパイこね変換がそれぞれ実行される。要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0071】
他の側面に係る情報処理装置では、少なくとも一つのプロセッサが、少なくとも正方行列の行数に対応する回数分の変換処理を繰り返し実行してもよい。パイこね変換は、繰り返し実行されるほど値が離散する特性を有する。繰り返しの回数が正方行列の行数(列数)に対応する回数分に設定されることにより、処理時間の増大を抑制しつつ、要素の順序を十分に変更できる。また、要素の順序がさらに複雑に変更されることにより、ユーザのプライバシーのセキュリティレベルを向上させることができる。
【0072】
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【0073】
実施形態では、変換データが行列形式または数列形式であるとして説明したが、変換データが画像形式であってもよい。
図9は、変形例に係る変換データの一例を示す図である。変換データR1は、行列形式の変換データの一例である。変換部22は、変換データに用いられる各数字に対応する色を予め決定してもよい。変換部22は、変換データR1の各成分の数字を予め決定した色に置換し、それぞれの色を所定の面積で配置することにより、カラーチャート状の変換データR2を生成してもよい。変換部22は、変換データR2を画像データとして出力してもよい。変換データR2は、紙などの媒体上に印刷されてもよい。変換データR2は、例えば色同士を照合する技術であるカラーマッチングによる認証に利用され得る。
【0074】
実施形態では、出力部23が変換データを出力するとして説明したが、出力部23が認証の結果を出力してもよい。例えば、出力部23は、認証用データベース5に記憶された変換データと新しく生成した変換データとを照合し、該照合の正否を認証の結果として出力してもよい。
【0075】
生体認証システムの内部の構成は上記実施形態に限定されず、任意の方針で設計されてよい。例えば、生体認証システムは、解析装置10、認証装置20、および認証用データベース5の機能を有する一つのコンピュータを用いて実現されてもよい。あるいは、生体認証システムはより多くの種類のコンピュータを含んで構成されてもよい。
【0076】
本開示において、データまたは情報を第1コンピュータから第2コンピュータ“に送信する”との表現は、該第2コンピュータに最終的にデータまたは情報を届けるための送信を意味する。この表現は、その送信において別のコンピュータまたは通信装置がデータまたは情報を中継する場合も含む意味であることに留意されたい。
【0077】
本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。
【0078】
少なくとも一つのプロセッサにより実行される方法の処理手順は実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【符号の説明】
【0079】
1…生体認証システム、2…ユーザ、3…検体、4…SNPデータベース、5…認証用データベース、10…解析装置、11…選択部、12…解析部、13…送信部、20…認証装置、21…受信部、22…変換部、23…出力部。