JP2008177966A - 情報処理装置及び演算方法 - Google Patents
情報処理装置及び演算方法 Download PDFInfo
- Publication number
- JP2008177966A JP2008177966A JP2007010924A JP2007010924A JP2008177966A JP 2008177966 A JP2008177966 A JP 2008177966A JP 2007010924 A JP2007010924 A JP 2007010924A JP 2007010924 A JP2007010924 A JP 2007010924A JP 2008177966 A JP2008177966 A JP 2008177966A
- Authority
- JP
- Japan
- Prior art keywords
- data
- calculation
- input
- unit
- authentication
- 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
【解決手段】計算実行装置301では、通信部311が計算依頼装置201により暗号化された入力データを入力し、暗号部312が暗号化された入力データを復号し、耐タンパ領域310内に配置された演算部314は、復号後の入力データの内容を耐タンパ領域外に配置された演算部321に秘匿しながら演算部321と通信を行って依頼計算プロトコルに基づいて入力データに対する演算を行い、入力データに対する演算結果を演算部321に秘匿して取得する。そして、暗号部312が、演算部314から復号後の入力データに対する演算結果を入力し、入力した演算結果を暗号化し、通信部311が暗号化された演算結果を計算依頼装置201に対して送信する。
【選択図】図3
Description
マルチパーティプロトコルを利用すると、例えばエンティティAが秘密の値xを、エンティティBが秘密の値yを保持しているときに、双方の秘密を保ったままある関数値f(x,y)を計算することが可能となる。
これは、エンティティAの計算能力が低く、エンティティBが高い計算能力を持ちかつ秘密情報を保持していない場合に相当する。
依頼計算プロトコルを利用すると、例えば計算能力の低いエンティティAが秘密の値xに関数fを適用した値f(x)を求めたいときに、その計算の大半を計算能力の高いエンティティBに依頼することで高速にf(x)を取得でき、かつエンティティBに対して入力x、出力f(x)に関する情報を一切漏らさないということが可能になる。
非特許文献1では、依頼計算プロトコルを利用してべき乗剰余演算を行う具体的な方法が記載されている。
また、特許文献1では、べき乗剰余演算を実行する依頼計算装置が開示されている。
ゼロ知識証明プロトコルを利用すると、例えば「エンティティAの持つ情報がある性質を満たすという事実」を、その事実以外の一切の情報を漏らすことなく、エンティティBに対して証明することができるため、認証への応用などが可能である。
従って、例えば依頼計算プロトコルがインターネットなどのネットワークを介して実行される場合(例えば、図1に示すように計算依頼装置201と計算実行装置301とがネットワーク101を介して依頼計算プロトコルを実行する場合)、依頼計算プロトコル実行中に計算依頼装置201と計算実行装置301が多くの通信を行う必要が生じるため、プロトコルの完了までに多くの時間がかかってしまうという課題がある。
さらに、通信量や通信回数が多いと、複数の計算実行装置301に対して同時に計算を依頼することが困難となり、グリッドコンピューティングのような大規模なシステムを構成することが難しくなるという課題がある。
特に、クライアント装置901として例えば携帯電話のような、演算能力の乏しい装置を利用する場合、クライアント装置901の演算負荷が大きくなり、プロトコルの完了までに多くの時間がかかってしまうという課題がある。
入力データに対する演算を行う情報処理装置であって、
入力データを入力するデータ入力部と、
外部から内部の情報を読み取られることに対する耐性を持つ耐タンパ領域内に配置された耐タンパ領域演算部と、
前記情報処理装置内の前記耐タンパ領域外に配置された非耐タンパ領域演算部とを有し、
前記耐タンパ領域演算部は、
前記データ入力部により入力された入力データの内容を前記非耐タンパ領域演算部に秘匿しながら前記非耐タンパ領域演算部と通信を行って前記非耐タンパ領域演算部と協働して前記入力データに対する演算を行い、前記入力データに対する演算結果を取得することを特徴とする。
また、耐タンパ領域演算部の耐タンパ性により、入力データの内容が非耐タンパ領域演算部に対して秘匿された状態で演算が実行されるので、秘匿性を保持してマルチパーティプロトコルを実行することができる。
本実施の形態では、マルチパーティプロトコルとして、依頼計算プロトコルを扱う。
図1は、本実施の形態に係る依頼計算システムの構成例を示す。
計算依頼装置201と計算実行装置301は、ネットワーク101で接続されており、計算実行装置301は計算依頼装置201からの入力データに対する演算を実行する。
計算実行装置301は、情報処理装置の例である。
図2において、通信部211は計算実行装置301と通信を行う手段である。
暗号部212は共通鍵・公開鍵暗号を用いた暗号化・復号・認証、乱数生成などを行う手段である。
鍵記憶領域213は暗号鍵を、計算実行装置IDと関連付けて記憶するデータ記憶手段である。
計算実行装置IDとしては、計算実行装置301を特定できるもの、例えばマシン名やIPアドレスなどが利用できる。
図3において、耐タンパ領域310は、外部から物理的・論理的に内部の情報を読み取られることに対する耐性を持つ領域である。
すなわち、たとえ計算実行装置301の構成要素であっても、耐タンパ領域外から耐タンパ領域310内部に直接アクセスすることはできない。
耐タンパ領域310を利用するためには、鍵記憶領域313が保持する暗号鍵に対応する暗号鍵を、あらかじめ保持しておく必要がある。
耐タンパ領域310の一例としては、耐タンパ暗号装置、ICカード、耐タンパUSBトークンなどが挙げられる。
通信部311は計算依頼装置201と通信を行う手段である。通信部311は、計算依頼装置201から、依頼計算の元になる入力データを入力し、また、依頼計算の演算結果を計算依頼装置201に出力する。通信部311は、データ入力部及びデータ出力部の例である。
暗号部312は、共通鍵・公開鍵暗号を用いた暗号化・復号・認証、乱数生成などを行う手段である。暗号部312は、耐タンパ領域暗号化部の例である。
鍵記憶領域313は暗号鍵を、計算依頼者IDと関連付けて記憶するデータ記憶手段である。
計算依頼者IDとしては、計算依頼者(ユーザでも装置でも良い)を特定できるもの、例えばユーザ名、マシン名やIPアドレスなどが利用できる。
計算手順記憶領域315は、演算部314と演算部321との間で行われる依頼計算の手順を記憶するデータ記憶手段である。
図6では自然言語を用いて手順を記述しているが、プログラム言語などを用いて手順を記述することもできる。
計算手順記憶領域322は、演算部321と演算部314との間で行われる依頼計算の手順を記憶するデータ記憶手段であり、一例として、図6と同様の形式のデータを記憶する。但し、計算手順記憶領域322に記憶されている計算手順の内容自体は、計算手順記憶領域315に記憶されている計算手順の内容と異なる。つまり、耐タンパ領域310内に配置されている計算手順記憶領域315に記憶されている計算手順は、耐タンパ領域310内の演算部314が行う計算の手順が示されており、耐タンパ領域310外に配置されている計算手順記憶領域322に記憶されている計算手順は、耐タンパ領域310外の演算部321が行う計算の手順が示されている。
計算実行装置301では、通信部311が計算依頼装置201により暗号化された入力データを入力し、暗号部312が通信部311により入力された暗号化された入力データを復号し、復号後の入力データを耐タンパ領域内に配置された演算部314に対して出力する。
演算部314は、復号後の入力データの内容を耐タンパ領域外に配置された演算部321に秘匿しながら演算部321と通信を行って演算部321と協働して依頼計算プロトコルに基づいて入力データに対する演算を行い、入力データに対する演算結果を演算部321に秘匿して取得する。
また、演算に際しては、演算部314は、演算部321以外とは通信を行うことなく(つまり、計算実行装置301の外部と通信することなく)、演算部321と協働して入力データに対する演算を行い、入力データに対する演算結果を取得する。
そして、暗号部312は、演算部314から演算結果を入力し、入力した演算結果を暗号化し、通信部311は暗号化された演算結果を計算依頼装置201に対して送信する。
ここでは、鍵記憶領域213、鍵記憶領域313に、同じ共通鍵kが格納されているものとする。
また、あらかじめ計算実行装置301の耐タンパ領域310と耐タンパ領域外とで、依頼計算手順を共有しておく(ステップS702、S703)。
ここでは、計算手順記憶領域315、計算手順記憶領域322に、依頼計算を適用したい関数fに対応する依頼計算手順が格納されているものとする。
暗号化は入力xを耐タンパ領域310以外に秘匿するために、認証処理は入力xが改ざんされていないことを耐タンパ領域310が確認できるようにするために実行される。これらは、既存の暗号・認証技術を用いることで実現できる。
次に、計算依頼装置201の通信部211が、耐タンパ領域310の通信部311にE(k,x)を送信する(ステップS705)。
計算実行装置301では、通信部311がE(k,x)を受信する(ステップS706)(データ入力ステップ)。
その後、耐タンパ領域310の暗号部312が、計算依頼装置201に対応する暗号鍵kを鍵記憶領域313から取得し、この暗号鍵kを用いて、E(k,x)に対して復号・認証処理を行う(ステップS707)。ここでは、既存の暗号・認証技術を用いることで、入力xを取得し、かつ入力xが改ざんされていないことを確認する。
つまり、既存の依頼計算技術における計算依頼装置の役割を耐タンパ領域内の演算部314が担い、計算実行装置の役割を耐タンパ領域外の演算部321が担うことにより、計算実行装置301の内部のみで依頼計算が実行できる。
暗号化は出力f(x)を計算依頼装置201以外に秘匿するために、認証処理は出力f(x)が改ざんされていないことを計算依頼装置201が確認できるようにするために実行される。これらは、既存の暗号・認証技術を用いることで実現できる。
次に、耐タンパ領域310の通信部311が、計算依頼装置201の通信部211にE(k,f(x))を送信する(ステップS710、S711)。
その後、計算依頼装置201の暗号部212が、暗号鍵kを用いて、E(k,f(x))に対して復号・認証処理を行う(ステップS712)。ここでは、既存の暗号・認証技術を用いることで、出力f(x)を取得、かつ出力f(x)が改ざんされていないことを確認し、全体の処理を終了する。
前述のように、従来は、計算依頼装置と計算実行装置との間で通信を行いながら依頼計算を実行していたので、計算依頼装置と計算実行装置との間で多くの通信量や通信回数が必要であり、計算の完了までに時間がかかっていた。
本実施の形態によれば、従来の計算依頼装置の役割を計算実行装置301内の耐タンパ領域310に配置された演算部314に担わせ、従来の計算実行装置の役割を計算実行装置301内の耐タンパ領域310外に配置された演算部321に担わせているので、依頼計算自体は、計算実行装置301内の演算部314と演算部321との間の通信を通じて実行される。このため、依頼計算における計算依頼装置201と計算実行装置301との間の通信は、計算依頼装置201から計算実行装置301への入力データの送信と、計算実行装置301から計算依頼装置201への演算結果の送信のみである。
例えばゼロ知識証明の場合、証明者が計算依頼装置に、検証者が計算実行装置に相当する。
なお、ゼロ知識証明プロトコルを実行する例については、実施の形態2で説明する。
この場合、計算依頼装置が耐タンパ領域に送信した依頼計算手順を、耐タンパ領域内外の計算手順記憶領域に格納することになる。必要に応じて、本実施の形態で示したものと同様の暗号・認証技術が利用できる。
この場合、鍵記憶領域は、公開鍵(もしくは公開鍵証明書)や秘密鍵を記憶することになる。
この場合、計算依頼装置−耐タンパ領域間の情報のやり取りは、耐タンパ領域外にある通信部を介して行うことになる。
この場合、ステップS708の依頼計算プロトコルにおいて、計算手順記憶領域を持つ方が、持たない方に指示を出しながらプロトコルが実行されることになる。
本実施の形態では、マルチパーティプロトコルとしてゼロ知識証明プロトコルを扱い、これを利用して、ユーザの情報をサーバに対して秘匿したままユーザ認証を行うシステムについて述べる。
特に、ユーザの情報として生体情報を用いる、生体認証システムについて説明する。
クライアント装置901とサーバ装置1001は、ネットワーク101で接続されており、サーバ装置1001はクライアント装置901で取得された人の生体情報(認証対象データ)に対する認証演算を実行する。
クライアント装置901は、認証依頼装置の例であり、サーバ装置1001は、情報処理装置の例である。
生体情報とは、例えば、人の指紋、静脈、虹彩、網膜、顔、筆跡、声、DNA等の情報である。
図9において、通信部911はサーバ装置1001と通信を行う手段である。
暗号部912は共通鍵・公開鍵暗号を用いた暗号化・復号・認証、乱数生成などを行う手段である。
鍵記憶領域913はサーバ装置1001が持つ耐タンパ領域1010の公開鍵、およびユーザが生体情報の暗号化に利用する共通鍵を、サーバ装置IDと関連付けて記憶するデータ記憶手段である。
図11は鍵記憶領域913が記憶するデータの一例を表す。サーバ装置IDとしては、サーバ装置を特定できるもの、例えばマシン名やIPアドレスなどが利用できる。
図10において、耐タンパ領域1010は、外部から物理的・論理的に内部の情報を読み取られることに対する耐性を持つ領域である。すなわち、たとえサーバ装置1001の構成要素であっても、耐タンパ領域外から耐タンパ領域1010内部に直接アクセスすることはできない。耐タンパ領域1010の一例としては、耐タンパ暗号装置、ICカード、耐タンパUSBトークンなどが挙げられる。
通信部1011は、クライアント装置901と通信を行う手段である。通信部1011は、データ入力部及びデータ出力部の例である。
暗号部1012は、共通鍵・公開鍵暗号を用いた暗号化・復号・認証、乱数生成などを行う手段である。暗号部1012は、耐タンパ領域暗号化部の例である。
鍵記憶領域1013は耐タンパ領域1010の公開鍵ペアを記憶するデータ記憶手段である。
演算部1014は、耐タンパ領域外にある演算部1021との間でゼロ知識証明などを行う手段である。演算部1014は、耐タンパ領域演算部の例である。
計算手順記憶領域1015は、演算部1014と演算部1021との間で行われるゼロ知識証明の手順を記憶するデータ記憶手段であり、一例として、図6と同様のデータを記憶する。
演算部1021は、耐タンパ領域1010内部にある演算部1014との間でゼロ知識証明などを行う手段である。演算部1021は、非耐タンパ領域演算部の例である。
計算手順記憶領域1022は、演算部1021と演算部1014との間で行われるゼロ知識証明の手順を記憶するデータ記憶手段であり、一例として、図6と同様のデータを記憶する。
生体情報記憶領域1023は、暗号化された各ユーザの生体情報を、クライアントIDと関連付けて記憶するデータ記憶手段である。つまり、生体情報記憶領域1023は、クライアント装置901で取得された生体情報(認証対象データ)に対する認証演算に先立ち、認証演算に使用するユーザの生体情報を暗号化された状態で予め記憶している。記憶されている生体情報は暗号登録認証データの例であり、また、生体情報記憶領域1023は、登録認証データ記憶部の例である。
図12は生体情報記憶領域1023が記憶するデータの一例を表す。
サーバ装置1001では、通信部1011がクライアント装置901により暗号化された認証演算の対象となる生体情報(認証対象データ)を入力し、暗号部1012が通信部1011により入力された暗号化された生体情報を復号し、復号後の生体情報を耐タンパ領域内に配置された演算部1014に対して出力する。
演算部1014は、復号後の生体情報の内容を耐タンパ領域外に配置された演算部1021に秘匿しながら演算部1021と通信を行って演算部1021と協働してゼロ知識証明プロトコルに基づいてクライアント装置901から受信した生体情報に対する認証演算を行い、認証演算結果を取得する。
前述したように、生体情報記憶領域1023は、認証演算に先立ち、認証演算に使用する生体情報を暗号化された状態で予め記憶しており、通信部1011は、生体情報記憶領域1023に記憶されている生体情報の暗号化に用いられた暗号鍵を、クライアント装置901から生体情報とともに入力し、演算部1014及び演算部1021は、ゼロ知識証明プロトコルに基づき、通信部1011により入力された暗号鍵と生体情報と、生体情報記憶領域1023に記憶されている生体情報を用いて、前記暗号鍵の正当性と、クライアント装置901から入力した生体情報の正当性を確認して、認証演算を行う。
また、演算に際しては、演算部1014は、演算部1021以外とは通信を行うことなく(つまり、サーバ装置1001の外部とは通信することなく)、演算部1021と協働して認証演算を行い、認証演算結果を取得する。
そして、暗号部1012は、演算部1014から認証演算結果を入力し、入力した認証演算結果を暗号化し、通信部1011は暗号化された認証演算結果をクライアント装置901に対して送信する。
図14は、本実施の形態におけるクライアント認証処理を説明するためのフローチャートである。
最初にクライアント装置901の暗号部912が暗号鍵ktを生成し、鍵記憶領域913から読み出した、サーバ装置IDに対応する耐タンパ領域公開鍵で暗号化する。
暗号化されたものを、通信部911を用いて耐タンパ領域1010に送信する。耐タンパ領域1010の暗号部1012は、通信部1011が受信した内容を、鍵記憶領域1013が記憶する秘密鍵を用いて復号し、暗号鍵ktを得る。
以上の処理により、クライアント装置901と耐タンパ領域1010との間で暗号鍵ktが共有されたことになる(ステップS1301)。
その後、クライアント装置901の暗号部912が暗号鍵kを生成し、生成された暗号鍵kを鍵記憶領域913に、サーバ装置IDと関連付けて格納する(ステップS1302)。
暗号部912は、クライアントID、登録時生体情報bおよび暗号鍵kを、暗号鍵ktを用いて暗号化する。暗号化されたものを、通信部911が耐タンパ領域1010に送信する(ステップS1304)。送られたものを耐タンパ領域1010の通信部1011が受信し、暗号部1012が暗号鍵ktを用いて復号し、クライアントID、登録時生体情報bおよび暗号鍵kを得る(ステップS1305)。
その後、耐タンパ領域1010の演算部1014が登録時生体情報bを特定の形式に従った情報fに変換する(ステップS1306)。fは登録時生体情報bの内容全てと、冗長な情報を含む。冗長な情報として、例えばbに関するパリティ、bのハッシュ値、時刻情報、もしくは決まった文字列などが利用できる。次に、暗号部1012が、本システムであらかじめ決められた暗号化アルゴリズムEと受信した暗号鍵kを用いて、情報fを暗号化してeを得る(e=E(k,f))(ステップS1307)。
耐タンパ領域1010はクライアントIDおよび暗号化生体情報eをサーバ装置1001の耐タンパ領域外に送信する(ステップS1308、S1309)。最後に、サーバ装置1001はクライアントIDと暗号化生体情報eを生体情報記憶領域1023に格納する(ステップS1310)。
クライアント認証時、クライアントが保持する情報は暗号鍵k、および認証時に読み取られる生体情報(以降、認証時生体情報と記述する)b’であり、サーバが保持する情報は暗号化生体情報eである。
仮に暗号鍵kと認証時生体情報b’をサーバに開示するとすれば、サーバはF1(D(k,e))=1を確認することで暗号鍵kの正当性を、M(F2(D(k,e)),b’)=1を確認することで認証時生体情報b’の正当性(登録時生体情報bとの類似度が十分高いこと)を確認でき、クライアント認証を完了できる。
ここで、Dは暗号化アルゴリズムEに対応する復号アルゴリズム、F1は入力が特定の形式に従っている場合に限り1を出力する関数、F2は特定の形式に従った(冗長な情報を含む)生体情報を入力として生体情報だけを出力する関数、Mは2つの生体情報を入力としてこれらが同一人物からのものだと判断される場合に限り1を出力する生体情報照合関数である。
しかし、kやb’の開示は生体情報の開示を意味するため、これらを開示することなく暗号鍵・生体情報の正当性を示す必要がある。
以上の目的を達成するために、ゼロ知識証明プロトコルを実行する。ゼロ知識証明プロトコルを利用することで、クライアントの秘密情報k,b’を秘密にしたままで、前述の関数値が1であることをサーバに確信させることが可能となる。
最初にクライアント装置901の暗号部912が暗号鍵kt(クライアント登録時に用いたものと同じでなくてもよい)を生成し、鍵記憶領域913から読み出した、サーバ装置IDに対応する耐タンパ領域公開鍵で暗号化する。暗号化されたものを、通信部911を用いて耐タンパ領域1010に送信する。耐タンパ領域1010の暗号部1012は、通信部1011が受信した内容を、鍵記憶領域1013が記憶する秘密鍵を用いて復号し、暗号鍵ktを得る。以上の処理により、クライアント装置901と耐タンパ領域1010との間で暗号鍵ktが共有されたことになる(ステップS1401)。
クライアント装置901は、鍵記憶領域913から、サーバ装置IDに対応する暗号鍵kを読み出す(ステップS1402)。
その後、クライアント装置901の生体情報読取部914がクライアントに対応する生体情報b’を読み取る(ステップS1403)。
暗号部912は、クライアントID、認証時生体情報b’および暗号鍵kを、暗号鍵ktを用いて暗号化する。暗号化されたものを、通信部911が耐タンパ領域1010に送信する(ステップS1404)。
送られたものを耐タンパ領域1010の通信部1011が受信し、暗号部1012が暗号鍵ktを用いて復号し、クライアントID、認証時生体情報b’および暗号鍵kを得る(ステップS1405)(データ入力ステップ)。
サーバ装置1001は、受信したクライアントIDに対応する暗号化生体情報eを、生体情報記憶領域1023から取得する(ステップS1408)。
つまり、既存のマルチパーティプロトコル技術におけるクライアント装置の役割を耐タンパ領域内の演算部1014が担い、サーバ装置の役割を耐タンパ領域外の演算部1021が担うことにより、サーバ装置1001の内部のみでマルチパーティプロトコル演算が実行できる。
その後、耐タンパ領域1010は暗号部1012を用いて認証結果を暗号鍵ktで暗号化し、通信部1011を用いて、クライアント装置901に送信する(ステップS1412)。
クライアント装置901の通信部911が受信した内容を、暗号部912が暗号鍵ktで復号し、認証結果を得ることでクライアント認証処理が終了する(ステップS1413)。
前述のように、従来は、クライアント装置とサーバ装置との間で通信を行いながらゼロ知識証明演算を実行していたので、クライアント装置とサーバ装置との間で多くの通信量や通信回数が必要であり、計算の完了までに時間がかかっていた。
本実施の形態によれば、従来のクライアント装置の役割をサーバ装置1001内の耐タンパ領域1010に配置された演算部1014に担わせ、従来のサーバ装置の役割をサーバ装置1001内の耐タンパ領域1010外に配置された演算部1021に担わせているので、ゼロ知識証明演算自体は、サーバ装置1001内の演算部1014と演算部1021との間の通信を通じて実行される。このため、本実施の形態のゼロ知識証明演算におけるクライアント装置901とサーバ装置1001との間の通信は、クライアント装置901からサーバ装置1001への生体情報及び鍵の送信と、サーバ装置1001からクライアント装置901への認証演算結果の送信のみである。
この場合、サーバ装置は耐タンパ領域外に通信部、暗号部、鍵記憶領域を持つことになる。また、生体情報の形式変換、暗号化などは、クライアント装置が行うことになる。一方、クライアント登録処理は、フレキシブルディスクなどを介してオフラインで実行することも可能である。
この場合、クライアント装置−耐タンパ領域間の情報のやり取りは、耐タンパ領域外にある通信部を介して行うことになる。
この場合、ステップS1409のゼロ知識証明プロトコルにおいて、計算手順記憶領域を持つ方が、持たない方に指示を出しながらプロトコルが実行されることになる。
図15は、本実施の形態及び以下に述べる実施の形態に示す計算依頼装置201、計算実行装置301、クライアント装置901及びサーバ装置1001のハードウェア資源の一例を示す図である。なお、図15の構成は、あくまでも計算依頼装置201、計算実行装置301、クライアント装置901及びサーバ装置1001のハードウェア構成の一例を示すものであり、計算依頼装置201、計算実行装置301、クライアント装置901及びサーバ装置1001のハードウェア構成は図15に記載の構成に限らず、他の構成であってもよい。
RAM1514は、揮発性メモリの一例である。ROM1513、FDD1504、CDD1505、磁気ディスク装置1520の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード1515、キーボード1502、スキャナ装置1507、FDD1504などは、入力部、入力装置の一例である。
また、通信ボード1515、表示装置1501、プリンタ装置1506などは、出力部、出力装置の一例である。
磁気ディスク装置1520には、オペレーティングシステム1521(OS)、ウィンドウシステム1522、プログラム群1523、ファイル群1524が記憶されている。プログラム群1523のプログラムは、CPU1511、オペレーティングシステム1521、ウィンドウシステム1522により実行される。
ファイル群1524には、実施の形態1及び2の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1511によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1及び2で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1514のメモリ、FDD1504のフレキシブルディスク、CDD1505のコンパクトディスク、磁気ディスク装置1520の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1512や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (10)
- 入力データに対する演算を行う情報処理装置であって、
入力データを入力するデータ入力部と、
外部から内部の情報を読み取られることに対する耐性を持つ耐タンパ領域内に配置された耐タンパ領域演算部と、
前記情報処理装置内の前記耐タンパ領域外に配置された非耐タンパ領域演算部とを有し、
前記耐タンパ領域演算部は、
前記データ入力部により入力された入力データの内容を前記非耐タンパ領域演算部に秘匿しながら前記非耐タンパ領域演算部と通信を行って前記非耐タンパ領域演算部と協働して前記入力データに対する演算を行い、前記入力データに対する演算結果を取得することを特徴とする情報処理装置。 - 前記耐タンパ領域演算部は、
前記入力データに対する演算結果を前記非耐タンパ領域演算部に秘匿して取得することを特徴とする請求項1に記載の情報処理装置。 - 前記耐タンパ領域演算部は、
前記非耐タンパ領域演算部以外とは通信を行うことなく、前記非耐タンパ領域演算部と協働して前記入力データに対する演算を行い、前記入力データに対する演算結果を取得することを特徴とする請求項1に記載の情報処理装置。 - 前記耐タンパ領域演算部及び前記非耐タンパ領域演算部は、
マルチパーティプロトコルに基づいて前記入力データに対する演算を行うことを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、
前記入力データに対する演算を依頼する計算依頼装置とネットワークを介して接続されており、
前記データ入力部は、
前記計算依頼装置により暗号化された入力データを入力し、
前記耐タンパ領域演算部及び前記非耐タンパ領域演算部は、
依頼計算プロトコルに基づいて復号後の入力データに対する演算を行い、
前記情報処理装置は、更に、
前記耐タンパ領域内に配置され、前記データ入力部により入力された暗号化された入力データを復号し、復号後の入力データを前記耐タンパ領域演算部に対して出力し、前記耐タンパ領域演算部から復号後の入力データに対する演算結果を入力し、入力した演算結果を暗号化する耐タンパ領域暗号化部と、
前記耐タンパ領域暗号化部により暗号化された演算結果を前記計算依頼装置に対して送信するデータ出力部とを有することを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、
認証演算を依頼する認証依頼装置とネットワークを介して接続されており、
前記データ入力部は、
前記入力データとして、前記認証依頼装置から認証演算の対象となる認証対象データを入力し、
前記耐タンパ領域演算部及び前記非耐タンパ領域演算部は、
ゼロ知識証明プロトコルに基づいて認証対象データに対する認証演算を行うことを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、更に、
前記認証対象データに対する認証演算に先立ち、前記認証演算に使用するデータを暗号化された状態で暗号登録認証データとして予め記憶している登録認証データ記憶部を有し、
前記データ入力部は、
前記入力データとして、前記認証対象データに加えて、前記暗号登録認証データの暗号化に用いられた暗号鍵を前記認証依頼装置から入力し、
前記耐タンパ領域演算部及び前記非耐タンパ領域演算部は、
ゼロ知識証明プロトコルに基づき、前記データ入力部により入力された暗号鍵と認証対象データと、前記登録認証データ記憶部に記憶されている暗号登録認証データを用いて、前記暗号鍵の正当性と、前記認証対象データの正当性を確認して、認証演算を行うことを特徴とする請求項6に記載の情報処理装置。 - 前記データ入力部は、
前記入力データとして、暗号化された前記暗号鍵と、暗号化された前記認証対象データを入力し、
前記情報処理装置は、更に、
前記耐タンパ領域内に配置され、前記データ入力部により入力された暗号化された前記暗号鍵と暗号化された前記認証対象データを復号し、復号後の暗号鍵と認証対象データを前記耐タンパ領域演算部に対して出力する耐タンパ領域暗号化部と、
認証演算結果を前記認証依頼装置に対して送信するデータ出力部とを有することを特徴とする請求項7に記載の情報処理装置。 - 前記登録認証データ記憶部は、
前記暗号登録認証データとして、人の生体情報を記憶し、
前記データ入力部は、
前記認証対象データとして、前記認証依頼装置にて取得された生体情報を入力し、
前記耐タンパ領域演算部及び前記非耐タンパ領域演算部は、
ゼロ知識証明プロトコルに基づき、前記データ入力部により入力された暗号鍵と生体情報と、前記登録認証データ記憶部に記憶されている生体情報とを用いて、認証演算を行うことを特徴とする請求項7に記載の情報処理装置。 - 外部から内部の情報を読み取られることに対する耐性を持つ耐タンパ領域を有するコンピュータを用いる演算方法であって、
コンピュータが、入力データを入力するデータ入力ステップと、
コンピュータが、前記耐タンパ領域内に配置された耐タンパ領域演算部と、コンピュータ内の前記耐タンパ領域外に配置された非耐タンパ領域演算部とを用いて前記入力データに対する演算を行う演算ステップとを有し、
前記演算ステップでは、
前記データ入力ステップにより入力された入力データの内容を前記非耐タンパ領域演算部に秘匿しながら前記耐タンパ領域演算部と前記非耐タンパ領域演算部とが通信を行って前記耐タンパ領域演算部と前記非耐タンパ領域演算部とが協働して前記入力データに対する演算を行い、前記入力データに対する演算結果を取得することを特徴とする演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007010924A JP4999472B2 (ja) | 2007-01-22 | 2007-01-22 | 情報処理装置及び演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007010924A JP4999472B2 (ja) | 2007-01-22 | 2007-01-22 | 情報処理装置及び演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008177966A true JP2008177966A (ja) | 2008-07-31 |
JP4999472B2 JP4999472B2 (ja) | 2012-08-15 |
Family
ID=39704633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007010924A Expired - Fee Related JP4999472B2 (ja) | 2007-01-22 | 2007-01-22 | 情報処理装置及び演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4999472B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011211593A (ja) * | 2010-03-30 | 2011-10-20 | Fujitsu Ltd | 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム |
JP2012070054A (ja) * | 2010-09-21 | 2012-04-05 | Nippon Telegr & Teleph Corp <Ntt> | 復号システム、汎用端末、高信頼端末、鍵生成装置、復号方法、プログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619393A (ja) * | 1992-03-31 | 1994-01-28 | Toshiba Corp | 依頼計算装置 |
JP2002108210A (ja) * | 2000-09-28 | 2002-04-10 | Hitachi Software Eng Co Ltd | 依頼計算方法 |
JP2003229845A (ja) * | 2002-02-04 | 2003-08-15 | Ntt Docomo Inc | 秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法 |
JP2004320430A (ja) * | 2003-04-16 | 2004-11-11 | Nippon Telegr & Teleph Corp <Ntt> | 秘密情報管理方式及び装置 |
JP2005084568A (ja) * | 2003-09-11 | 2005-03-31 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティ方法、セキュリティ装置及びセキュリティプログラム |
-
2007
- 2007-01-22 JP JP2007010924A patent/JP4999472B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619393A (ja) * | 1992-03-31 | 1994-01-28 | Toshiba Corp | 依頼計算装置 |
JP2002108210A (ja) * | 2000-09-28 | 2002-04-10 | Hitachi Software Eng Co Ltd | 依頼計算方法 |
JP2003229845A (ja) * | 2002-02-04 | 2003-08-15 | Ntt Docomo Inc | 秘密分散法による鍵管理システム、検証センタ、通信端末、検証センタ用プログラム、通信端末用プログラム、並びに秘密分散法による鍵管理方法 |
JP2004320430A (ja) * | 2003-04-16 | 2004-11-11 | Nippon Telegr & Teleph Corp <Ntt> | 秘密情報管理方式及び装置 |
JP2005084568A (ja) * | 2003-09-11 | 2005-03-31 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティ方法、セキュリティ装置及びセキュリティプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011211593A (ja) * | 2010-03-30 | 2011-10-20 | Fujitsu Ltd | 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム |
JP2012070054A (ja) * | 2010-09-21 | 2012-04-05 | Nippon Telegr & Teleph Corp <Ntt> | 復号システム、汎用端末、高信頼端末、鍵生成装置、復号方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4999472B2 (ja) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665006B2 (en) | User authentication with self-signed certificate and identity verification | |
US10277591B2 (en) | Protection and verification of user authentication credentials against server compromise | |
US8505084B2 (en) | Data access programming model for occasionally connected applications | |
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
US11205014B2 (en) | Method and server for authenticating and verifying file | |
US9166796B2 (en) | Secure biometric cloud storage system | |
JP6921222B2 (ja) | Id情報に基づく暗号鍵管理 | |
US9906518B2 (en) | Managing exchanges of sensitive data | |
CN108476404A (zh) | 安全设备配对 | |
JP6821516B2 (ja) | 計算機システム、秘密情報の検証方法、及び計算機 | |
US20190020485A1 (en) | Method and server for authenticating and verifying file | |
JP4763465B2 (ja) | 個人認証装置及びサーバ装置及び認証システム及び認証方法 | |
JP7351873B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP4999472B2 (ja) | 情報処理装置及び演算方法 | |
US8904508B2 (en) | System and method for real time secure image based key generation using partial polygons assembled into a master composite image | |
JP7061083B2 (ja) | 署名システム、署名方法及びプログラム | |
JP2023031772A (ja) | 生体認証システム、生体認証サーバ、及び生体認証方法 | |
JP2022187370A (ja) | データ管理システム、データ管理方法、及びデータ管理プログラム | |
US20070234033A1 (en) | Method for establishing secure distributed cryptographic objects | |
JP7021375B2 (ja) | 計算機システム、秘密情報の検証方法、及び計算機 | |
Ajlouni et al. | Secure Mobile Authentication With Blockchain | |
COSKUN et al. | Secure Mobile Authentication With Blockchain Utilizing Ecc, Zkps, and Post-Quantum Cryptography | |
JP2023125727A (ja) | テンプレート管理システム及びテンプレート管理方法 | |
CN114143312A (zh) | 基于区块链的边缘计算终端认证方法、系统及设备 | |
JP2018207441A (ja) | 認証システム、クライアント装置、サーバ装置、認証方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120424 |
|
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: 20120515 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120515 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4999472 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |