IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7559841情報処理装置、プログラム実行システム、情報処理方法、及びプログラム
<>
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図1
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図2
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図3
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図4
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図5
  • 特許-情報処理装置、プログラム実行システム、情報処理方法、及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】情報処理装置、プログラム実行システム、情報処理方法、及びプログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240925BHJP
【FI】
H04L9/32 200B
【請求項の数】 6
(21)【出願番号】P 2022577888
(86)(22)【出願日】2021-01-27
(86)【国際出願番号】 JP2021002896
(87)【国際公開番号】W WO2022162797
(87)【国際公開日】2022-08-04
【審査請求日】2023-06-06
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】奥田 哲矢
(72)【発明者】
【氏名】千田 浩司
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2017-11491(JP,A)
【文献】特開2006-203564(JP,A)
【文献】IPUSHIRON(イプシロン),暗号技術のすべて,初版第2刷,株式会社翔泳社,2017年09月15日,p.562
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
プログラムを秘匿実行するセキュア領域と、
セキュリティチップと、を備え、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求し、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返し、前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得する
情報処理装置。
【請求項2】
前記セキュア領域は、前記ブラインド署名の署名鍵として使用される秘密鍵に対応する公開鍵を使用して、前記プログラムに関する情報を秘匿化する
請求項1に記載の情報処理装置。
【請求項3】
請求項1又は2に記載の情報処理装置と、ユーザサーバと、検証サーバとを備えるプログラム実行システムであって、
前記ユーザサーバが、前記プログラムに関する情報と前記署名とを前記検証サーバに送信し、前記検証サーバが、前記署名の検証を行って、検証結果を前記ユーザサーバに送信する
プログラム実行システム。
【請求項4】
前記検証サーバは、前記署名の検証において、前記プログラムに関する情報と、前記署名を前記ブラインド署名の署名鍵として使用される秘密鍵に対応する公開鍵で復号した情報とが等しいか否かを確認する
請求項3に記載のプログラム実行システム。
【請求項5】
プログラムを秘匿実行するセキュア領域と、セキュリティチップと、を備える情報処理装置における情報処理方法であって、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求するステップと、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返すステップと、
前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得するステップと
を備える情報処理方法。
【請求項6】
プログラムを秘匿実行するセキュア領域と、セキュリティチップと、を備えるコンピュータに、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求する処理と、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返す処理と、
前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得する処理と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報通信分野における秘匿実行技術及び遠隔検証技術に関連するものである。
【背景技術】
【0002】
OSとは独立してクリティカルな処理を安全に実行できる機能であるTEE(Trusted Execution Environment)が近年のマシンには含まれている。当該マシンには、サーバ等の他、スマートフォン等の端末も含まれている。
【0003】
TEE機能を持つマシンは、データを外部に漏洩させないセキュア領域(これをEnclaveと呼んでもよい)を有する。特に、Intel(登録商標)のSGX等の一部のTEEにおいては、セキュア領域(Enclave)内で正しいプログラムが動作していることをセキュア領域外(例えば、マシン内のセキュア領域の外部、マシンと通信する遠隔のユーザ等)に対して保証する仕組み(Remote Attestation等)が備えられている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Arm TrustZone https://developer.arm.com/ip-products/security-ip/trustzone
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、Intel(登録商標)のSGX等の一部のTEE以外のTEE(以下、一般TEEと呼ぶ)は、上記の仕組みを備えていない(例えば非特許文献1に記載の技術)。そのため、一般TEEでは、セキュア領域内のデータがOS等のセキュア領域外に漏洩しないことまでは保証できるが、セキュア領域内で正しいプログラムが動作していることを、セキュア領域外や遠隔のユーザに対して保証することができない。
【0006】
本発明は上記の点に鑑みてなされたものであり、一般TEEを備える装置において、セキュア領域内で正しいプログラムが動作していることを、セキュア領域の外部に対して保証する仕組みを実現することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術によれば、プログラムを秘匿実行するセキュア領域と、
セキュリティチップと、を備え、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求し、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返し、前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得する
情報処理装置が提供される。
【発明の効果】
【0008】
開示の技術によれば、一般TEEを備える装置において、セキュア領域内で正しいプログラムが動作していることを、セキュア領域の外部に対して保証する仕組みを実現することができる。
【図面の簡単な説明】
【0009】
図1】本発明の実施の形態におけるシステムの全体構成図である。
図2】情報処理装置の機能構成例を示す図である。
図3】ユーザサーバの機能構成図である。
図4】検証サーバの機能構成図である。
図5】処理の流れを説明するためのフローチャートである。
図6】装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
(システム構成)
【0012】
図1に本発明の実施の形態におけるプログラム実行システムの構成例を示す。図1に示すように、本実施の形態におけるプログラム実行システムは、情報処理装置100、ユーザサーバ200、及び検証サーバ300を有する。これら各装置は、通信ネットワークに接続されており、互いに通信を行うことが可能である。
【0013】
情報処理装置100、ユーザサーバ200、及び検証サーバ300はそれぞれ物理マシン(コンピュータ)であってもよいし、クラウド上の仮想マシンであってもよい。また、ユーザサーバ200は、物理マシンあるいは仮想マシン上で動作する機能(例:Webブラウザ)であってもよい。
【0014】
本実施の形態では、情報処理装置100は、一般TEEの機能を有する。すなわち、情報処理装置100は、図1に示すように、一般TEEのセキュア領域110(これをEnclaveと呼んでもよい)を備える。
【0015】
情報処理装置100は、セキュア領域110においてプログラムを実行する装置である。ユーザサーバ200は、検証サーバ300を用いて情報処理装置100におけるプログラムの真正性を確認し、例えば、情報処理装置100に対して当該プログラムによるデータ処理等を依頼する。検証サーバ300は、情報処理装置100において署名鍵として使用される秘密鍵に対応する公開鍵を管理するとともに、情報処理装置100においてなされた署名を検証する。
【0016】
図1に示すように、情報処理装置100は、セキュア領域110に加えて、セキュリティチップ120を備える。なお、セキュア領域110を第1セキュア領域と呼び、セキュリティチップ120を第2セキュア領域と呼んでもよい。
【0017】
セキュリティチップ120は、署名鍵(秘密鍵)をマシン保有者による物理的攻撃への対策を含めてセキュアに保管する耐タンパ領域を有する。セキュリティチップ120は、一般TEEを備える多くのマシンに付属しているTPM(Trusted Platform Module)やSE(Secure Element)等に相当する。
【0018】
本実施の形態に係る技術を使用しない場合、情報処理装置100におけるセキュア領域110とセキュリティチップ120との間は非セキュア領域であり、セキュア領域110とセキュリティチップ120との間の通信においてマシン保有者による改ざんを防ぐことができない。
【0019】
一方、本実施の形態に係る技術では、セキュリティチップ120に格納された署名鍵により、セキュア領域110内のプログラムに対する真正性を表明するブラインド署名(Attestationと呼んでもよい)を付与することで、セキュア領域110とセキュリティチップ120との間の通信を秘匿して疑似的なセキュア領域130を生成している。
【0020】
疑似的なセキュア領域130は、セキュア領域110とセキュリティチップ120を包含する領域である。セキュア領域110とセキュリティチップ120との間の通信を秘匿して疑似的なセキュア領域130を生成することは、Intel(登録商標)のSGX等におけるRemote Attestationの機構を疑似的に実現することに相当する。
【0021】
上記の仕組みにより、セキュア領域110内のプログラムやデータに対する改ざん検知機能、及び、セキュア領域110とセキュリティチップ120との間の通信に対する、ブラインド署名による秘匿機能が実現される。
【0022】
すなわち、一般TEEを備える情報処理装置100において、上記の機能を備えることで、セキュア領域110内で正しいプログラムが動作していることを、セキュア領域110外や遠隔のユーザに対して保証することができる。
【0023】
(装置の機能構成例)
図2に、情報処理装置100の機能構成例を示す。図2に示すように、情報処理装置100は、セキュア領域110、セキュリティチップ120、非セキュア処理部150を有する。
【0024】
セキュア領域110は機密性が保たれた保護領域であり、この中のデータやプログラムについては、外部からその内容を知ることができない。セキュア領域110の外部(セキュリティチップ120内を除く)では、通常のデータ格納、データ処理(プログラム実行)、データ送受信を行うことが可能である。そのような通常の処理を行う機能を非セキュア処理部150として示している。
【0025】
セキュア領域110内では機密性を保ったままデータ格納、データ処理(プログラムの実行)が可能である。図2には、セキュア領域110内でこれらを行う機能部として、セキュアデータ格納部111、セキュア処理部112が示されている。
【0026】
セキュア領域110自体は既存技術により実現可能である。セキュア領域110を実現する既存技術としてどのような技術を使用してもよい。例えば、メインのCPUやメモリとはハードウェア的に独立した別チップとしてセキュア領域110を実現してもよいし、暗号技術・認証技術を活用してソフトウェア的にセキュア領域110を実現してもよい。
【0027】
セキュリティチップ120は、前述したとおり、署名鍵(秘密鍵)をマシン保有者による物理的攻撃への対策を含めてセキュアに保管する耐タンパ領域を有する。また、セキュリティチップ120は、少なくとも、秘密鍵を用いた署名演算を実行することができる。
【0028】
図3に、ユーザサーバ200の機能構成例を示す。図3に示すように、ユーザサーバ200は、通信部210、検証処理部220、データ処理部230を有する。通信部210は、情報処理装置100や検証サーバ300と通信を行う機能部である。検証処理部220は、検証サーバ300に対して、情報処理装置100における署名の検証を依頼し、検証結果を受信する。
【0029】
データ処理部230は、署名検証により、情報処理装置100におけるプログラムの真正性を確認できた場合に、例えば、情報処理装置100に対してプログラムでのデータ処理を依頼する等の処理を実行する。
【0030】
図4に、検証サーバ300の機能構成例を示す。図4に示すように、検証サーバ300は、通信部310、検証部320、公開鍵管理部330を有する。通信部310は、情報処理装置100やユーザサーバ200と通信を行う機能部である。
【0031】
検証部320は、公開鍵を用いて情報処理装置100における署名の検証を実行する。公開鍵管理部330は、情報処理装置100において署名鍵として使用される秘密鍵に対応する公開鍵を保持する。
【0032】
(システムの動作例)
次に、図5のシーケンス図を参照して、本実施の形態におけるプログラム実行システムの動作例を説明する。以下の動作例においては、ブラインド署名を使用している(参考文献:Chaum D. (1983) Blind Signatures for Untraceable Payments. In: Chaum D., Rivest R.L., Sherman A.T. (eds) Advances in Cryptology. Springer, Boston, MA. https://doi.org/10.1007/978-1-4757-0602-4_18)。
【0033】
ブラインド署名において、メッセージの作成者は、署名者に署名処理の依頼をする際に、メッセージを秘匿化するため、署名者は自身がどのようなメッセージに署名したのかを知ることができない。メッセージの作成者は、署名者から得た、秘匿化されたメッセージに対する署名から、本来のメッセージに対する署名を生成することができる。
【0034】
以下の動作例では、ブラインド署名としてRSA署名ベースのブラインド署名を使用しているが、これは一例であり、どのような方式のブラインド署名を使用してもよい。例えば、楕円曲線暗号を用いた方式のブラインド署名を使用してもよい。
【0035】
図5のS101において、セキュア領域110のセキュア処理部112は、署名対象の平文(プログラムの真正性の確認対象の平文)であるm、公開鍵(e,N)、及び乱数rを取得する。セキュア処理部112は、例えば、公開鍵(e,N)を検証サーバ300から取得する。セキュア処理部112は、予めセキュアデータ格納部111に格納した公開鍵(e,N)を読み出して利用してもよい。
【0036】
mを、attested resourceと呼んでもよい。mは、特定の情報に限定されないが、本動作例では、mには、セキュア領域110のID、セキュア領域110上で実行されるプログラムのハッシュ値、セキュア領域110の初期状態(初期ステート)のハッシュ値が含まれる。
【0037】
S102において、セキュア処理部112は、mのハッシュ値であるHash(m)を計算し、rを公開鍵で暗号化することにより、r^e(modN)を計算し、Hash(m)×r^e(modN)を計算する。Hash(m)はr^e(modN)により秘匿化されるため、r^e(modN)をblinding factorと呼んでもよい。Hash(m)×r^e(modN)をm´とする。
【0038】
S103において、セキュア処理部112は、セキュリティチップ120に対し、m´(=Hash(m)×r^e(modN))を送信することで、m´に対する署名を要求する。
【0039】
セキュリティチップ120は、公開鍵(e,N)に対応する秘密鍵(d,N)を保持している。S104において、セキュリティチップ120は、秘密鍵(d,N)を署名鍵として使用することで、m´に対する署名を計算する。具体的には、s´=m´^d(modN)を計算する。m´に対する署名s´をブラインド署名と呼んでもよい。
【0040】
S105において、セキュリティチップ120は、署名(s´=m´^d(modN))をセキュア領域110に送信する。
【0041】
S106において、セキュア領域110のセキュア処理部112は、s´をrで割ることで、Hash(m)に対する署名sを取得する。つまり、s=s´/r=Hash(m)^d(modN)を計算する。
【0042】
このsにより、公開鍵(e,N)を用いて、mが改ざんされていないかどうかを検証することができる。すなわち、例えば、セキュア領域110において検証をする場合、セキュア処理部112が、現在のmを取得してHash(m)を計算するとともに、s^e(modN)を計算する。s^e(modN)は、署名sを、公開鍵(e,N)を用いて復号していることに相当する。
【0043】
そして、Hash(m)とs^e(modN)とが等しければ改ざんはなかったと判断し、Hash(m)とs^e(modN)とが等しくなければ改ざんがあったと判断する。
【0044】
上記の改ざん検知処理は、ユーザサーバ200が行ってもよいし、検証サーバ300が行ってもよい。図5の例では、検証サーバ300が改ざん検知処理を行っている。
【0045】
S107において、例えば、ユーザサーバ200の検証処理部220が、セキュア領域110からmとsを取得する。S108において、検証処理部220は、検証サーバ300に対してmとsを送信することにより、mの改ざんがないかどうかの検証を要求する。なお、S108において、検証処理部220は、検証サーバ300に対してHash(m)とsを送信することにより、mの改ざんがないかどうかの検証を要求することとしてもよい。
【0046】
検証サーバ300の検証部320は、S109において、公開鍵管理部330に保持されている公開鍵(e,N)を利用して、Hash(m)とs^e(modN)とが等しいかどうかを確認することで、mの改ざん有無についての検証を行う。S110において、検証サーバ300は検証結果をユーザサーバ200に送信する。
【0047】
ユーザサーバ200は、セキュア領域110に対して、上記の改ざん検知の仕組みにより、セキュア領域110で動作するプログラムの真正性を確認した上で、例えば当該プログラムによりデータ処理等の実行を依頼できる。すなわち、ユーザサーバ200とセキュア領域110と間は、プログラムの真正性が保証されたチャネルで接続されていると言え、それを図5では、Attested TLSとして示している。
【0048】
上記のように、本動作例において、ユーザサーバ200側で改ざん検知のための検証処理を行うため、セキュア領域110外部からのプログラムの改ざんを行うことはできない。また、標準モデル(Hashをランダムオラクルと仮定しない)でrによりm´からmに関する部分情報は漏れない。また、セキュリティチップ120における署名処理自体は、通常の署名処理であるため、セキュリティチップ120において実行可能である。
【0049】
(ハードウェア構成例)
情報処理装置100、ユーザサーバ200、検証サーバ300はいずれも、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。情報処理装置100、ユーザサーバ200、検証サーバ300を総称して「装置」と呼ぶ。
【0050】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0051】
図6は、上記コンピュータのハードウェア構成例を示す図である。図6のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、これらのうち、一部の装置を備えないこととしてもよい。例えば、表示を行わない場合、表示装置1006を備えなくてもよい。また、情報処理装置100に関しては、セキュリティチップ1009(これまでに説明したセキュリティチップ120に相当)を有する。
【0052】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0053】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられ、送信部及び受信部として機能する。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0054】
(実施の形態の効果)
以上、説明したとおり、本実施の形態に係る技術によれば、一般TEEを備える装置において、一般TEEのセキュア領域内で正しいプログラムが動作していることを、セキュア領域の外部(例:遠隔のユーザサーバ200)に対して保証することができる。
【0055】
(実施の形態のまとめ)
本明細書には、少なくとも下記各項の情報処理装置、プログラム実行システム、情報処理方法、及びプログラムが開示されている。
(第1項)
プログラムを秘匿実行するセキュア領域と、
セキュリティチップと、を備え、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求し、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返し、前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得する
情報処理装置。
(第2項)
前記セキュア領域は、前記ブラインド署名の署名鍵として使用される秘密鍵に対応する公開鍵を使用して、前記プログラムに関する情報を秘匿化する
第1項に記載の情報処理装置。
(第3項)
第1項又は第2項に記載の情報処理装置と、ユーザサーバと、検証サーバとを備えるプログラム実行システムであって、
前記ユーザサーバが、前記プログラムに関する情報と前記署名とを前記検証サーバに送信し、前記検証サーバが、前記署名の検証を行って、検証結果を前記ユーザサーバに送信する
プログラム実行システム。
(第4項)
前記検証サーバは、前記署名の検証において、前記プログラムに関する情報と、前記署名を前記ブラインド署名の署名鍵として使用される秘密鍵に対応する公開鍵で復号した情報とが等しいか否かを確認する
第2項に記載のプログラム実行システム。
(第5項)
プログラムを秘匿実行するセキュア領域と、セキュリティチップと、を備える情報処理装置における情報処理方法であって、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求するステップと、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返すステップと、
前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得するステップと
を備える情報処理方法。
(第6項)
プログラムを秘匿実行するセキュア領域と、セキュリティチップと、を備えるコンピュータに、
前記セキュア領域が、前記プログラムに関する情報を秘匿化し、当該秘匿化により得られた秘匿化情報に対するブラインド署名を前記セキュリティチップに要求する処理と、
前記セキュリティチップが、前記ブラインド署名を計算し、前記ブラインド署名を前記セキュア領域に返す処理と、
前記セキュア領域が、前記ブラインド署名から、前記プログラムに関する情報に対する署名を取得する処理と
を実行させるプログラム。
【0056】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0057】
100 情報処理装置
110 セキュア領域
111 セキュアデータ格納部
112 セキュア処理部
120 セキュリティチップ
130 疑似的なセキュア領域
200 ユーザサーバ
210 通信部
220 検証処理部
230 データ処理部
300 検証サーバ
310 通信部
320 検証部
330 公開鍵管理部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
図1
図2
図3
図4
図5
図6