以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態(マスターデバイスでひもづける例)
1.1.システム構成例
1.2.認証装置の機能構成例
1.3.認証デバイスの機能構成例
1.4.マスターデバイスの機能構成例
1.5.公開鍵認証方式及び秘密鍵の説明
1.6.システムの動作例
2.第2の実施形態(認証装置でひもづける例)
2.1.システムの動作例
3.第3の実施形態(公開鍵の利用再開)
3.1.マスターデバイスで関連付けた場合
3.2.認証装置で関連付けた場合
4.ハードウェア構成例
5.まとめ
<1.第1の実施形態>
[1.1.システム構成例]
まず、本開示の第1の実施形態に係る情報処理システムの全体構成例について説明する。図1は本開示の第1の実施形態に係る情報処理システム1の全体構成例を示す説明図である。以下、図1を用いて本開示の第1の実施形態に係る情報処理システム1の全体構成例について説明する。
図1に示したように、本開示の第1の実施形態に係る情報処理システム1は、情報処理装置100、200と、認証装置300と、を含んで構成される。
情報処理装置100、200は、いずれも、公開鍵認証方式によって認証装置300に対して認証を受ける装置である。本開示の一実施形態に係る情報処理システム1は、認証装置300が提供するサービスをユーザが利用する際に、公開鍵認証方式や電子署名方式によってその利用しようとするユーザの認証を行なうシステムである。
情報処理装置100、200は、公開鍵PKey及び秘密鍵SKeyからなる鍵のペアを生成する装置である。そして情報処理装置100、200は、認証装置300が提供するサービスを利用する場合に、生成した鍵ペアの内、公開鍵PKeyのみを認証装置300へ送信する。
本実施形態では、情報処理装置100が、ユーザが通常使用する装置であり、ユーザは情報処理装置100を用いて認証装置300の認証を受ける。以下の説明では、認証装置300の認証を受ける情報処理装置100のことを「認証デバイス」、情報処理装置100の公開鍵PKeyの利用状態の変更を認証装置300に要求する情報処理装置200のことを「マスターデバイス」とも称する。
情報処理装置100、200の形態としては、PC(Personal Computer)、スマートフォン(高機能携帯電話)、タブレット型携帯端末、携帯型音楽プレーヤ、携帯型ゲーム機、腕時計型やメガネ型等のウェアラブル機器等を採り得る。特に、認証デバイスである情報処理装置100は、ユーザに持ち運んで使用されるスマートフォン(高機能携帯電話)、タブレット型携帯端末、携帯型音楽プレーヤ、携帯型ゲーム機等の装置であってもよい。また認証装置300の形態としては、サーバ装置、PC等を採り得る。
認証装置300が提供するサービスとしては、例えばソーシャル・ネットワーキング・サービス(SNS)、オンランストレージサービス等がある。また認証装置300がPCであれば、当該PCへのログインも、認証装置300が提供するサービスに含まれ得る。情報処理装置100のユーザは、認証装置300が提供するサービスを利用する際に、情報処理装置100に生成させた公開鍵を認証装置300に送信し、公開鍵認証方式による認証装置300の認証を受ける。
公開鍵認証方式による認証装置300の認証を受けることで、ユーザはID及びパスワードの入力の手間が省け、かつパスワードを覚える必要もなくなる。また公開鍵認証方式で認証を受けるので、情報処理システム1はパスワードの漏洩のリスクも無く、パスワード認証方式に比べて強固なセキュリティを有する。
しかし、情報処理装置100のユーザが情報処理装置100を紛失してしまうと、情報処理装置100を拾得した他のユーザによって、認証装置300に登録された公開鍵が使用されてしまうおそれがある。そのため、情報処理装置100のユーザが情報処理装置100を紛失する等して、情報処理装置100を用いた認証装置300の認証を受けられなくなった場合に、認証装置300に登録された公開鍵を、速やかに利用停止状態に出来るようにしておくことが非常に望ましい。
そこで本実施形態では、例えばユーザが情報処理装置100を紛失するなどして、情報処理装置100を用いて認証装置300の認証を受けることができなくなった場合に、マスターデバイスである情報処理装置200が、情報処理装置100で生成された公開鍵PKeyの利用停止や、利用停止した公開鍵PKeyの利用再開を認証装置300へ要求する。
本実施形態では、情報処理装置100が生成した公開鍵と、情報処理装置200が生成した公開鍵とを、マスターデバイスである情報処理装置200が関連付けて管理する。そして情報処理装置200は、認証装置300に対して、情報処理装置100が生成した公開鍵の利用状態の変更を要求する。情報処理装置100が生成した公開鍵の利用状態の変更を情報処理装置200が要求する場合には、例えば上述したように、認証デバイスである情報処理装置100をユーザが紛失するなどして、情報処理装置100を用いて認証装置300の認証を受けることができなくなった場合がある。
情報処理装置100、200は、同一のユーザが所有していても良いし、異なるユーザが所有していても良い。異なるユーザが情報処理装置100、200をそれぞれ所有する場合には、マスターデバイスである情報処理装置200を所有するユーザは、認証デバイスである情報処理装置100を所有するユーザが信頼するユーザ(例えば、父親または母親等)であることが、より望ましい。また、マスターデバイスである情報処理装置200は、普段は持ち運んだりせず、家の中の安全な場所等に保管されることが、より望ましい。
認証装置300は、情報処理装置100、200を認証する装置である。具体的には、認証装置300は、情報処理装置100、200が生成した公開鍵pkeyを保持し、情報処理装置100、200との間で公開鍵認証プロトコルを実行して、保持している公開鍵PKeyに対応する秘密鍵skeyを情報処理装置100、200が保持していることを認証する。
そして本実施形態では、認証装置300は、マスターデバイスである情報処理装置200からの要求に応じて、情報処理装置200が生成した公開鍵に関連付けられている、情報処理装置100が生成した公開鍵の利用状態の変更を行なう。情報処理装置100が生成した公開鍵の利用状態の変更は、公開鍵の利用の停止及び停止した公開鍵の利用再開が含まれる。
本開示の第1の実施形態に係る情報処理システム1は、図1に示したような構成を有することで、情報処理装置100が生成した公開鍵の利用状態の変更を認証装置300で実行することが出来る。
以上、図1を用いて本開示の第1の実施形態に係る情報処理システム1の全体構成例について説明した。続いて、本開示の第1の実施形態に係る情報処理システム1を構成する各装置の機能構成例について説明する。
[1.2.認証装置の機能構成例]
図2は、本開示の第1の実施形態に係る認証装置300の機能構成例を示す説明図である。以下、図2を用いて本開示の第1の実施形態に係る認証装置300の機能構成例について説明する。
図2に示したように、本開示の第1の実施形態に係る認証装置300は、送受信部310と、制御部320と、記憶部330と、通信部340と、を含んで構成される。
送受信部310は、通信部340が他の装置から受信したデータに対する受信処理や、通信部340から他の装置へ向けて送信するデータに対する送信処理を実行する。送受信部310は、受信処理として、例えば復調処理、A/D変換処理、エラー訂正処理などを実行し、送信処理として、例えばD/A変換処理や変調処理などを実行し得る。
制御部320は、認証装置300の動作を制御する。本実施形態では、制御部320は、例えば、送受信部310を通じた情報処理装置100、200との間の種々のプロトコルの実行、記憶部330への情報処理装置100、200が生成した公開鍵の格納や情報処理装置100が生成した公開鍵の利用状態の変更といった、公開鍵の管理などを行い得る。
記憶部330は、種々のデータを記憶する記憶領域である。本実施形態では、記憶部330は、情報処理装置100、200が生成した公開鍵を保持する。また記憶部330は、情報処理装置100が生成した公開鍵の利用状態に関する情報を保持する。また記憶部330は、制御部320によって読み出されて実行されるコンピュータプログラムを保持していても良い。図3では、情報処理装置100、200が生成した公開鍵としてPkey1、PKey2、・・・と表記されている。
通信部340は、ネットワークを通じて他の装置、特に情報処理装置100、200との間で通信を行なう。認証装置300と、情報処理装置100、200との間の通信は、有線、無線のいずれかで行われ得る。図2には、通信部340は無線通信を行なうアンテナの形態で図示されているが、通信部340は係る例に限定されるものではない。
以上、図2を用いて本開示の第1の実施形態に係る認証装置300の機能構成例について説明した。続いて、本開示の第1の実施形態に係る情報処理装置100(認証デバイス)の機能構成例について説明する。
[1.3.認証デバイスの機能構成例]
図3は、本開示の第1の実施形態に係る情報処理装置100(認証デバイス)の機能構成例を示す説明図である。以下、図3を用いて、本開示の第1の実施形態に係る情報処理装置100の機能構成例について説明する。
図3に示したように、本開示の第1の実施形態に係る情報処理装置100は、送受信部110と、鍵生成部115と、制御部120と、記憶部130と、通信部140と、を含んで構成される。
送受信部110は、通信部140が他の装置から受信したデータに対する受信処理や、通信部140から他の装置へ向けて送信するデータに対する送信処理を実行する。送受信部110は、受信処理として、例えば復調処理、A/D変換処理、エラー訂正処理などを実行し、送信処理として、例えばD/A変換処理や変調処理などを実行し得る。
鍵生成部115は、公開鍵及び秘密鍵からなる鍵のペアを生成する。本実施形態では、公開鍵認証方式は特定のものに限られない。例えば、RSA暗号を用いたものであってもよく、楕円曲線暗号を用いたものであってもよい。また詳細は後述するが、例えば特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いても良い。
制御部120は、情報処理装置100の動作を制御する。本実施形態では、制御部120は、例えば、送受信部110を通じた情報処理装置200や認証装置300との間の種々のプロトコルの実行、記憶部130への鍵生成部115が生成した公開鍵および秘密鍵の格納などを行い得る。
記憶部130は、種々のデータを記憶する記憶領域である。本実施形態では、記憶部130は、鍵生成部115が生成した公開鍵および秘密鍵を保持する。また記憶部130は、制御部120によって読み出されて実行されるコンピュータプログラムを保持していても良い。図3では、鍵生成部115が生成した公開鍵としてPKey、秘密鍵としてSKeyと表記されている。
なお記憶部130の少なくとも一部の領域は耐タンパ性を有することが望ましく、鍵生成部115が生成した秘密鍵は、当該耐タンパ性を有する領域に格納されることが望ましい。秘密鍵は、後述するように自身が生成した公開鍵の正当性を証明するための鍵であるから、秘密鍵の漏洩は避けられるべきだからである。
通信部140は、ネットワークを通じて他の装置、特に情報処理装置200や認証装置300との間で通信を行なう。情報処理装置100と、情報処理装置200、認証装置300との間の通信は、有線、無線のいずれかで行われうる。図3には、通信部140は無線通信を行なうアンテナの形態で図示されているが、通信部140は係る例に限定されるものではない。
なお、情報処理装置100と認証装置300との間の通信は、直接行われてもよく、他の装置を介して行われても良い。
以上、本開示の第1の実施形態に係る情報処理装置100(認証デバイス)の機能構成例について説明した。続いて、本開示の第1の実施形態に係る情報処理装置200(マスターデバイス))の機能構成例について説明する。
[1.4.マスターデバイスの機能構成例]
図4は、本開示の第1の実施形態に係る情報処理装置200(マスターデバイス)の機能構成例を示す説明図である。以下、図4を用いて、本開示の第1の実施形態に係る情報処理装置200の機能構成例について説明する。
図4に示したように、本開示の第1の実施形態に係る情報処理装置200は、送受信部210と、鍵生成部215と、制御部220と、出力部225と、記憶部230と、通信部240と、を含んで構成される。
送受信部210は、通信部240が他の装置から受信したデータに対する受信処理や、通信部240から他の装置へ向けて送信するデータに対する送信処理を実行する。送受信部110は、受信処理として、例えば復調処理、A/D変換処理、エラー訂正処理などを実行し、送信処理として、例えばD/A変換処理や変調処理などを実行し得る。
鍵生成部215は、公開鍵及び秘密鍵からなる鍵のペアを生成する。本実施形態では、公開鍵認証方式は特定のものに限られない。例えば、RSA暗号を用いたものであってもよく、楕円曲線暗号を用いたものであってもよい。また詳細は後述するが、例えば特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いても良い。
制御部220は、情報処理装置200の動作を制御する。本実施形態では、制御部220は、例えば、送受信部210を通じた情報処理装置100や認証装置300との間の種々のプロトコルの実行、記憶部230への鍵生成部215が生成した公開鍵および秘密鍵の格納などを行い得る。
出力部225は、各種情報の出力を行なう。例えば出力部225は、液晶ディスプレイパネル、有機ELディスプレイパネル等の表示装置であってもよく、情報処理装置200の外部の液晶ディスプレイパネル、有機ELディスプレイパネル等の表示装置へ情報を表示させるためのインターフェースであってもよい。
記憶部230は、種々のデータを記憶する記憶領域である。本実施形態では、記憶部230は、鍵生成部215が生成した公開鍵および秘密鍵を保持する。また記憶部230は、制御部220によって読み出されて実行されるコンピュータプログラムを保持していても良い。図4では、鍵生成部215が生成した公開鍵としてMPKey、秘密鍵としてMSKeyと表記されている。
そして記憶部230は、情報処理装置100の鍵生成部115が生成した公開鍵PKeyと、情報処理装置200の鍵生成部215が生成した公開鍵MPKeyと、を関連付けた状態で保持する。公開鍵PKeyと公開鍵MPKeyとの関連付けの方法については後に詳述する。
なお記憶部230の少なくとも一部の領域は耐タンパ性を有することが望ましく、鍵生成部215が生成した秘密鍵は、当該耐タンパ性を有する領域に格納されることが望ましい。秘密鍵は、後述するように自身が生成した公開鍵の正当性を証明するための鍵であるから、秘密鍵の漏洩は避けられるべきだからである。
通信部240は、ネットワークを通じて他の装置、特に情報処理装置100や認証装置300との間で通信を行なう。情報処理装置200と、情報処理装置100、認証装置300との間の通信は、有線、無線のいずれかで行われうる。図4には、通信部240は無線通信を行なうアンテナの形態で図示されているが、通信部240は係る例に限定されるものではない。
なお、情報処理装置200と認証装置300との間の通信は、直接行われてもよく、他の装置を介して行われても良い。
以上、本開示の第1の実施形態に係る情報処理装置200(マスターデバイス)の機能構成例について説明した。
[1.5.公開鍵認証方式及び秘密鍵の説明]
続いて、公開鍵認証方式及び秘密鍵の説明を行なう。公開鍵認証方式とは、ある人(証明者)が、公開鍵pk及び秘密鍵skを利用して、他の人(検証者)に本人であることを納得させるための認証方式である。例えば、証明者Aの公開鍵pkAは、検証者に公開される。一方、証明者Aの秘密鍵skAは、証明者により秘密に管理される。公開鍵認証方式では、公開鍵pkAに対応する秘密鍵skAを知る者が証明者A本人であるとみなされる。
証明者Aが検証者Bに対して本人であることを証明しようとする場合、証明者Aは、検証者Bと対話プロトコルを実行して、自身が公開鍵pkAに対応する秘密鍵skAを知っていることを証明すればよい。そして、対話プロトコルにより証明者Aが秘密鍵skAを知っていることが検証者Bにより証明された場合、証明者Aの正当性(本人であること)が証明される。
なお、公開鍵認証方式の安全性を確保するには、次に示す2つの条件が求められる。
1つ目の条件は、対話プロトコルを実行した際に秘密鍵skを持たない偽証者により偽証が成立してしまう確率を限りなく小さくすることである。この1つ目の条件が成り立つことを「健全性」と呼ぶ。つまり、健全性を有する対話プロトコルにおいては、秘密鍵skを持たない偽証者により、無視できない確率で偽証が成立することはないと言い換えられる。2つ目の条件は、対話プロトコルを実行したとしても、証明者Aが有する秘密鍵skAの情報が検証者Bに一切漏れることがないようにすることである。この2つ目の条件が成り立つことを「零知識性」と呼ぶ。
上記の健全性と零知識性を有する対話プロトコルを利用することにより、公開鍵認証方式の安全性が確保される。
公開鍵認証方式のモデルには、図18に示すように、証明者と検証者という2つのエンティティが存在する。証明者は、鍵生成アルゴリズムGenを用いて、証明者固有の秘密鍵skと公開鍵pkの組を生成する。次いで、証明者は、鍵生成アルゴリズムGenを用いて生成した秘密鍵skと公開鍵pkの組を利用して検証者と対話プロトコルを実行する。このとき、証明者は、証明者アルゴリズムPを利用して対話プロトコルを実行する。上記の通り、対話プロトコルにおいて、証明者は、証明者アルゴリズムPを利用して、秘密鍵skを保有していることを検証者に証明する。
一方、検証者は、検証者アルゴリズムVを利用して対話プロトコルを実行し、証明者が公開している公開鍵に対応する秘密鍵を、その証明者が保有しているか否かを検証する。つまり、検証者は、証明者が公開鍵に対応する秘密鍵を保有しているか否かを検証するエンティティである。このように、公開鍵認証方式のモデルは、証明者と検証者という2つのエンティティ、及び、鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVという3つのアルゴリズムにより構成される。
なお、以下の説明において、「証明者」「検証者」という表現を用いるが、これらの表現はあくまでもエンティティを意味するものである。従って、鍵生成アルゴリズムGen、証明者アルゴリズムPを実行する主体は、「証明者」のエンティティに対応する情報処理装置である。同様に、検証者アルゴリズムVを実行する主体は、情報処理装置である。
(鍵生成アルゴリズムGen)
鍵生成アルゴリズムGenは、証明者により利用される。そして、鍵生成アルゴリズムGenは、証明者に固有の秘密鍵skと公開鍵pkの組を生成するアルゴリズムである。鍵生成アルゴリズムGenにより生成された公開鍵pkは公開される。そして、公開された公開鍵pkは、検証者により利用される。一方、鍵生成アルゴリズムGenにより生成された秘密鍵skは、証明者が秘密に管理する。そして、秘密に管理される秘密鍵skは、検証者に対して公開鍵pkに対応する秘密鍵skを保有していることを証明するために利用される。形式的に、鍵生成アルゴリズムGenは、セキュリティパラメータ1λ(λは0以上の整数)を入力とし、秘密鍵skと公開鍵pkを出力するアルゴリズムとして、下記の式(1)のように表現される。
(証明者アルゴリズムP)
証明者アルゴリズムPは、証明者により利用される。そして、証明者アルゴリズムPは、公開鍵pkに対応する秘密鍵skを保有していることを証明するアルゴリズムである。証明者アルゴリズムPは、証明者の秘密鍵skと公開鍵pkを入力とし、検証者との対話プロトコルを実行するアルゴリズムとして定義される。
(検証者アルゴリズムV)
検証者アルゴリズムVは、検証者により利用される。そして、検証者アルゴリズムVは、対話プロトコルの中で、公開鍵pkに対応する秘密鍵skを証明者が保有しているか否かを検証するアルゴリズムである。検証者アルゴリズムVは、証明者の公開鍵pkを入力とし、証明者との間で対話プロトコルを実行した後、0又は1(1bit)を出力するアルゴリズムとして定義される。なお、出力0の場合には証明者が不正なものであり、出力1の場合には証明者が正当なものであるとする。形式的に、検証者アルゴリズムVは、下記の式(2)のように表現される。
上記の通り、公開鍵認証方式は、安全性を確保するため、健全性と零知識性という2つの条件を満たすことが求められる。しかし、証明者が秘密鍵skを保有していることを証明者に証明させるためには、証明者が秘密鍵skに依存した手続きを実行し、その結果を検証者に通知して、その通知内容に基づく検証を検証者に実行させる必要がある。秘密鍵skに依存した手続きを実行するのは、健全性を担保するために必要である。一方で、この手続きの結果を検証者に通知しても、秘密鍵skの情報が一切検証者に漏れないようにする必要がある。そのため、これらの要件を満たすように、上記の鍵生成アルゴリズムGen、証明者アルゴリズムP、検証者アルゴリズムVが設計されることが必要になる。
次に、電子署名方式のアルゴリズムについて概要を説明する。図19は、電子署名方式のアルゴリズムについて概要を説明するための説明図である。
紙文書とは異なり、ある電子化されたデータに対して押印したり署名を記載したりすることはできない。そのため、電子化されたデータの作成者を証明するためには、紙文書に押印したり署名を記載したりするのと同等の効果が得られる電子的な仕組みを必要とする。この仕組みが電子署名である。電子署名とは、データの作成者しか知らない署名データをデータに関連付けて受領者に提供し、その署名データを受領者側で検証する仕組みのことを言う。
(モデル)
電子署名方式のモデルには、図19に示すように、署名者及び検証者という2つのエンティティが存在する。そして、電子署名方式のモデルは、鍵生成アルゴリズムGen、署名生成アルゴリズムSig、署名検証アルゴリズムVerという3つのアルゴリズムにより構成される。
署名者は、鍵生成アルゴリズムGenを利用して署名者固有の署名鍵skと検証鍵pkとの組を生成する。また、署名者は、署名生成アルゴリズムSigを利用して文書Mに付与する電子署名σを生成する。つまり、署名者は、文書Mに電子署名を付与するエンティティである。一方、検証者は、署名検証アルゴリズムVerを利用して文書Mに付与された電子署名σを検証する。つまり、検証者は、文書Mの作成者が署名者であるか否かを確認するために、電子署名σを検証するエンティティである。
なお、以下の説明において、「署名者」「検証者」という表現を用いるが、これらの表現はあくまでもエンティティを意味するものである。従って、鍵生成アルゴリズムGen、署名生成アルゴリズムSigを実行する主体は、「署名者」のエンティティに対応する情報処理装置である。同様に、署名検証アルゴリズムVerを実行する主体は、情報処理装置である。
(鍵生成アルゴリズムGen)
鍵生成アルゴリズムGenは、署名者により利用される。鍵生成アルゴリズムGenは、署名者固有の署名鍵skと検証鍵pkとの組を生成するアルゴリズムである。鍵生成アルゴリズムGenにより生成された検証鍵pkは公開される。一方、鍵生成アルゴリズムGenにより生成された署名鍵skは、署名者により秘密に管理される。そして、署名鍵skは、文書Mに付与される電子署名σの生成に利用される。例えば、鍵生成アルゴリズムGenは、セキュリティパラメータ1λ(λは0以上の整数)を入力とし、署名鍵sk及び公開鍵pkを出力する。この場合、鍵生成アルゴリズムGenは、形式的に、下記の式(3)のように表現することができる。
(署名生成アルゴリズムSig)
署名生成アルゴリズムSigは、署名者により利用される。署名生成アルゴリズムSigは、文書Mに付与される電子署名σを生成するアルゴリズムである。署名生成アルゴリズムSigは、署名鍵skと文書Mとを入力とし、電子署名σを出力するアルゴリズムである。この署名生成アルゴリズムSigは、形式的に、下記の式(4)のように表現することができる。
(署名検証アルゴリズムVer)
署名検証アルゴリズムVerは、検証者により利用される。署名検証アルゴリズムVerは、電子署名σが文書Mに対する正当な電子署名であるか否かを検証するアルゴリズムである。署名検証アルゴリズムVerは、署名者の検証鍵pk、文書M、電子署名σを入力とし、0又は1(1bit)を出力するアルゴリズムである。この署名検証アルゴリズムVerは、形式的に、下記の式(5)のように表現することができる。なお、検証者は、署名検証アルゴリズムVerが0を出力した場合(公開鍵pkが文書Mと電子署名σを拒否する場合)に電子署名σが不当であると判断し、1を出力した場合(公開鍵pkが文書Mと電子署名σを受理する場合)に電子署名σが正当であると判断する。
なお、本開示においては、公開鍵認証方式や電子署名方式は特定のものに限られない。例えば、RSA暗号を用いたものであってもよく、楕円曲線暗号を用いたものであってもよい。また例えば特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式を用いても良い。上記文献で用いられる関数は、m本のn変数の2次多項式(m、nはいずれも2以上の整数)で構成される関数である。
例えば、80ビット安全性を確保するためには、RSA暗号の場合は1024ビット、ECDSAの場合でも160ビットの鍵長が必要となる。一方、上述の多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式の場合は、80ビット安全性を確保するための鍵長は80ビットで済む。従って、Webサービスのようなサービスで、ユーザが公開鍵を登録したり、秘密鍵を用いて認証を受けようとしたりする場合には、ユーザが入力する文字数が少なくなる、上述の多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いることが、より望ましい。
特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式や電子署名方式を用いると、公開鍵サイズが小さくなるため、さらに運用上や管理上の手間を削減する効果と、長期的な安全性レベルの向上が期待できる。例えば、運用面では、公開鍵の表示の制約が少なく、入力・伝達可能な長さを短くすることができるという効果が期待できる。また管理面では、公開鍵サイズが短いため、データベースへのサイズが小さくなり、また鍵の設定も文字列のコピー操作のみでも可能となるという効果が期待できる。さらに安全面では、NP完全クラスの数学的な難問に依存した方式であるので、長期的な安全性が期待できる。
[1.6.システムの動作例]
続いて、本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。また以下の説明では、情報処理装置100、200は同一のユーザが所有するものとして説明する。図5は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図5に示したのは、生成した公開鍵を情報処理装置100、200が認証装置300に登録する際の動作例である。以下、図5を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置100、200は、認証装置300が提供するサービスを利用するために、認証装置300に公開鍵を登録する。情報処理装置100、200は、認証装置300に公開鍵を登録するためには、まずそれぞれ鍵生成部115、215で秘密鍵と公開鍵の組からなる鍵ペアを生成する(ステップS101)。図5では、鍵生成部115が秘密鍵SKeyと公開鍵PKeyを生成する場合を示す。鍵生成部115、215は、例えば、特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いて鍵ペアを生成する。
情報処理装置100、200は、ステップS101で鍵ペアを生成すると、続いて生成した鍵ペアの内、秘密鍵をそれぞれ記憶部130、230に保持する(ステップS102)。この秘密鍵の記憶部130、230への保持は、例えば制御部120、220による制御により行われ得る。その際、制御部120、220は、上述したように、記憶部130、230の少なくとも一部に設けられる耐タンパ性を有する領域に、秘密鍵を格納することが望ましい。
情報処理装置100、200は、ステップS102で秘密鍵を保持すると、続いてステップS101で生成した鍵ペアの内、公開鍵を認証装置300へ送信する(ステップS103)。この公開鍵の認証装置300への送信は、例えば制御部120、220による制御により、送受信部110、210が認証装置300へ向けて公開鍵を送信することで行われ得る。
情報処理装置100、200が公開鍵を認証装置300へ向けて送信すると、公開鍵を受信した認証装置300は、受信した公開鍵と同じものがすでに記憶部330に格納されているかどうか確認する(ステップS104)。この確認処理は、例えば制御部330が実行し得る。
認証装置300は、受信した公開鍵と同じものがすでに記憶部330に格納されていれば(ステップS104、Yes)、情報処理装置100、200が送信した公開鍵の登録を拒否する。一方、受信した公開鍵と同じものが記憶部330に格納されていなければ(ステップS104、No)、認証装置300は、情報処理装置100、200が送信した公開鍵を、その装置の公開鍵として記憶部330に保持する(ステップS105)。この公開鍵の保持処理は、例えば制御部330が実行し得る。
情報処理装置100、200が送信した公開鍵を、その装置の公開鍵として記憶部330に保持する際には、認証装置300は、例えば情報処理装置100、200を一意に識別する所定の情報と、各情報処理装置100、200が生成した公開鍵とを関連付けて記憶部330に保持する。
情報処理装置100、200、及び認証装置300が、図5に示した一連の動作を実行することで、情報処理装置100、200は、認証装置300が提供するサービスを利用するために、認証装置300に公開鍵を登録することが出来る。そして情報処理装置100、200は、認証装置300に公開鍵を登録することで、認証装置300が提供するサービスを利用する際に、登録した公開鍵による公開鍵認証方式による認証を受けることが出来る。
以上、図5を用いて、情報処理装置100、200が生成した公開鍵が認証装置300に登録される際の動作例を説明した。続いて、情報処理装置200での公開鍵の関連付け処理の際の動作例について説明する。
図6は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図6に示したのは、情報処理装置200での公開鍵の関連付け処理の際の動作例である。以下、図6を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置200は、情報処理装置200で生成した公開鍵MPKeyと、情報処理装置100が生成した公開鍵PKeyとを関連付ける際には、まず情報処理装置100へ公開鍵MPKeyを送信する(ステップS111)。この公開鍵MPKeyの情報処理装置100への送信は、例えば制御部220による制御により、送受信部210が情報処理装置100へ向けて公開鍵MPKeyを送信することで行われ得る。情報処理装置200が情報処理装置100へ公開鍵MPKeyを送信するのは、情報処理装置100で公開鍵MPKeyに署名を付与して返信してもらうためである。
情報処理装置100は、情報処理装置200から情報処理装置200の公開鍵MPKeyを受信すると、情報処理装置100が生成した秘密鍵SKeyを用いて所定の署名プロトコルを実行し、情報処理装置200の公開鍵MPKeyに電子署名を付与する(ステップS112)。電子署名の付与は、例えば制御部120が実行し得る。このステップS112で実行される署名プロトコルは、例えば、特開2012−98690号公報等で開示されている電子署名方式に基づくものであってもよい。
情報処理装置100が情報処理装置200の公開鍵MPKeyに電子署名を付与することは、情報処理装置100は、情報処理装置100が生成した公開鍵PKeyについて、情報処理装置200に取り扱いを委任したことに相当する意味合いを有する。情報処理装置100が情報処理装置200の公開鍵MPKeyに電子署名を付与して公開鍵PKeyと共に返信することで、情報処理装置200は、情報処理装置100が生成した公開鍵PKeyについて利用停止を認証装置300に要求することが出来るようになる。
情報処理装置100が情報処理装置200の公開鍵MPKeyに電子署名を付与すると、続いて情報処理装置100は、ステップS112で生成された電子署名と、情報処理装置100の公開鍵PKeyとを、情報処理装置200へ返信する(ステップS113)。この電子署名および公開鍵PKeyの送信は、例えば制御部120による制御により、送受信部110が情報処理装置200へ向けて電子署名および公開鍵PKeyを送信することで行われ得る。
情報処理装置200は、情報処理装置100が送信した電子署名および公開鍵PKeyを受信すると、受信した電子署名および情報処理装置100の公開鍵PKeyを記憶部230に保持する(ステップS114)。この処理は、例えば制御部220が実行し得る。
情報処理装置100、200は、このような一連の動作を実行することで、情報処理装置100が生成した公開鍵PKeyを、情報処理装置200が生成した公開鍵MPKeyに関連付けることが出来る。公開鍵PKeyを公開鍵MPKeyに関連付けることで、情報処理装置200は、情報処理装置100が生成した公開鍵PKeyについて利用停止を認証装置300に要求することが出来るようになる。
以上、図6を用いて、情報処理装置100、200が生成した公開鍵が認証装置300に登録される際の動作例を説明した。続いて、情報処理装置100と認証装置300との間で実行される、公開鍵認証方式による認証処理の例について説明する。
図7は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図7に示したのは、情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が実行される際の動作例である。以下、図7を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が行われる際には、まず情報処理装置100は、認証装置300へ認証要求を送信する(ステップS121)。この処理は、例えば制御部120による制御により、送受信部110が認証装置300へ向けて所定の認証要求を送信することで行われ得る。
情報処理装置100が認証装置300へ認証要求を送信し、認証装置300がその認証要求を受信すると、情報処理装置100は、認証装置300との間でセキュアなセッションを確立する(ステップS122)。このセキュアなセッションを確立する処理は、例えば制御部120、320が実行し得る。この情報処理装置100と認証装置300との間のセキュアなセッションの確立には、例えばSSL(Secure Sockets Layer)/TLS(Transport Layer Security)等を使用することが出来るが、特定の方法に限定されるものではない。
情報処理装置100と認証装置300との間でセキュアなセッションが確立されると、情報処理装置100は、情報処理装置100が生成した公開鍵PKeyを、その確立されたセキュアなセッションで認証装置300へ送信する(ステップS123)。この処理は、例えば制御部120による制御により、送受信部110が認証装置300へ向けて公開鍵PKeyを送信することで行われ得る。
認証装置300は、情報処理装置100から送信された公開鍵PKeyを受信すると、その公開鍵PKeyがすでに記憶部330に保持されているかどうか確認する(ステップS124)。この確認は、例えば制御部320が記憶部330を検索することにより実行し得る。
ステップS124の判断の結果、情報処理装置100から送信された公開鍵PKeyがすでに記憶部330に保持されていれば(ステップS124、Yes)、認証装置300は、情報処理装置100との間で、公開鍵認証方式による公開鍵認証処理を実行する(ステップS125)。情報処理装置100と認証装置300は、例えば特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式を用いて、公開鍵認証処理を実行する。一方、ステップS124の判断の結果、情報処理装置100から送信された公開鍵PKeyが記憶部330に保持されていなければ(ステップS124、No)、認証装置300は、その公開鍵PKeyによる公開鍵認証処理を実行せずに処理を終了する。
以上、図7を用いて、情報処理装置100と認証装置300との間で実行される、公開鍵認証方式による認証処理の例を説明した。続いて、情報処理装置200と認証装置300との間で実行される、情報処理装置100が生成した公開鍵PKeyの利用停止処理の例について説明する。
図8は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図8に示したのは、情報処理装置200と認証装置300との間で、情報処理装置100が生成した公開鍵PKeyの利用停止処理が実行される際の動作例である。以下、図8を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
まず情報処理装置200は、認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS131)。情報処理装置200は、認証装置300との間で公開鍵認証方式による認証処理を実行する際には、情報処理装置200が生成した公開鍵MPKeyを認証装置300へ送信する。また、情報処理装置200と認証装置300との間で実行される、公開鍵認証方式による認証処理は、図7に示したような一連の処理で実行されるので、ここでは詳細な説明は省略する。
情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS132)。認証装置300が情報処理装置200の認証に失敗すれば(ステップS132、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS132、Yes)、続いて、情報処理装置200は認証装置300へ、記憶部230に保持している、情報処理装置100が生成した公開鍵PKeyと電子署名とのペアのリストを送信する(ステップS133)。ここで、公開鍵MPKeyに関連付けられている(認証デバイスが生成した)公開鍵PKeyが複数存在する場合は、情報処理装置200は、その全てについて認証装置300へ送信する。
認証装置300は、情報処理装置200から公開鍵PKeyと電子署名とのペアのリストを受信すると、受信した公開鍵PKeyがすでに記憶部330に保持されているかどうか確認する(ステップS134)。この確認は、例えば制御部320が実行し得る。
ステップS134の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていなければ(ステップS134、No)、認証装置300は、公開鍵PKeyの利用停止処理を行わずに処理を終了する。一方、ステップS134の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていれば、認証装置300は、上記ステップS133で送信された電子署名の検証処理を実行する(ステップS135)。認証装置300は、情報処理装置200から送信された電子署名を検証することで、その電子署名が本当に情報処理装置100で生成されたものかどうかを確認することが出来る。
ステップS135の判断の結果、情報処理装置200から送信された電子署名が正当なものであれば(ステップS135、Pass)、認証装置300は、受信した公開鍵PKeyについて利用停止処理を実行する(ステップS136)。この利用停止処理は、例えば制御部320が実行し得る。公開鍵PKeyの利用停止処理としては、例えば公開鍵PKeyそのものを記憶部330から削除したり、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330に設定したり、公開鍵PKeyを所定の利用停止リストに移動したりする処理などが実行され得る。所定の利用停止リストは、例えば記憶部330に記憶され得る。公開鍵PKeyに対してフラグを設定したり、所定の利用停止リストに移動させたりすることで、認証装置300は、その公開鍵PKeyに対する利用の試みが行われると、その試みがあったことを検知でき、またその試みがあったことを記録することが出来る。
一方、ステップS135の判断の結果、情報処理装置200から送信された電子署名が正当なものでなければ(ステップS135、Reject)、認証装置300は、公開鍵PKeyの利用停止処理を行わずに処理を終了する。
情報処理装置200および認証装置300は、このような動作を実行することで、ユーザが情報処理装置100を紛失するなどして情報処理装置100を用いて認証装置300の認証を受けることができなくなった場合に、情報処理装置100で生成された公開鍵PKeyの利用を停止することが出来る。
以上、図8を用いて、情報処理装置200と認証装置300との間で実行される、情報処理装置100が生成した公開鍵PKeyの利用停止処理の例について説明した。
ここまでは、情報処理装置100と情報処理装置200とを同一のユーザが所有する場合について説明したが、本開示は係る例に限定されるものではない。情報処理装置100、200は、それぞれ別のユーザが所有していても良い。
すなわち、図6の例では、情報処理装置100が生成した公開鍵PKeyを、同一のユーザが所有する情報処理装置200で生成された公開鍵MPKeyに関連付けていたが、あるユーザ(ユーザAとする)が所有する情報処理装置100が生成した公開鍵PKeyを、他のユーザ(ユーザBとする)が所有する情報処理装置200の公開鍵MPKeyに関連付けても良い。そしてユーザAは、情報処理装置100を紛失するなどして情報処理装置100を用いて認証装置300の認証を受けることができなくなった場合に、公開鍵PKeyの利用停止をユーザBに依頼する。ユーザBは、所有する情報処理装置200から公開鍵PKeyの利用停止を認証装置300に要求する。
このように、他のユーザが所有する情報処理装置200で生成された公開鍵MPKeyに、情報処理装置100で生成した公開鍵PKeyを関連付けて、例えば遠隔地にいる当該他のユーザに公開鍵PKeyの利用停止を依頼することで、情報処理装置100の紛失時の被害を迅速に防ぐことが可能になる。
上述の例では、公開鍵MPKeyに関連付けられている(認証デバイスが生成した)公開鍵PKeyが複数存在する場合は、情報処理装置200は、その全てについて認証装置300へ送信していたが、本開示は係る例に限定されるものではない。利用を停止する公開鍵PKeyをユーザに選択させても良い。その際に、情報処理装置200は、利用を停止する公開鍵PKeyをユーザに選択させるためのユーザインタフェースを出力してもよい。
図9は、情報処理装置200が出力部225から出力する、利用を停止する公開鍵PKeyをユーザに選択させるためのユーザインタフェースの例である。図9に示したユーザインタフェースは、情報処理装置200に備えられた液晶ディスプレイパネル、有機ELディスプレイパネル等の表示装置に表示されてもよく、情報処理装置200とは別の表示装置に表示されてもよい。
図9には、情報処理装置200の公開鍵MPKeyに関連付けられている(認証デバイスが生成した)公開鍵のリストを表示する列U11と、各公開鍵の利用停止の有無をユーザに設定させるためのチェックボックスが表示された列U12と、が示されている。情報処理装置200は、図9には、列U11に表示されている6つの公開鍵のうち、チェックが入れられているPKey1、PKey2、PKey4、PKey6の利用を停止するようにユーザが選択した状態が示されている。図9に示したようなユーザインタフェースを出力することで、利用を停止する(認証デバイスが生成した)公開鍵をユーザに選択させることができる。
情報処理装置200は、ユーザが選択した公開鍵と、その公開鍵に対応する電子署名のペアを認証装置300に送信する。認証装置300は、その送信されたペアの情報に基づいて、上述の公開鍵の利用停止処理を実行する。
なお、利用を停止する公開鍵PKeyをユーザに選択させるためのユーザインタフェースは、マスターデバイスである情報処理装置200ではなく、認証装置300が出力しても良い。利用を停止する公開鍵PKeyをユーザに選択させるためのユーザインタフェースを認証装置300が出力する場合には、情報処理装置200が送信した、公開鍵と、その公開鍵に対応する電子署名のペアの情報と、に基づき、例えば図9に示したようなユーザインタフェースを認証装置300が出力する。図9に示したようなユーザインタフェースを用いて、利用を停止させたい(認証デバイスが生成した)公開鍵をユーザが選択すると、認証装置300は、ユーザが選択した公開鍵に対して利用停止処理を実行する。
認証装置300は、公開鍵PKeyの利用停止処理として、公開鍵PKeyを所定の利用停止リストに移動する処理を実行する場合、公開鍵が情報処理装置100、200から送信されてきた場合に、その利用停止リストに登録された公開鍵と同じ公開鍵が送信されてきたかどうかを判断することができる。
図10は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図10に示したのは、生成した公開鍵を情報処理装置100、200が認証装置300に登録する際の動作例であり、利用停止リストに登録された公開鍵と同じ公開鍵が情報処理装置100、200から送信されてきたかどうかを認証装置300が判断する場合の動作例である。以下、図10を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置100、200は、認証装置300に公開鍵を登録するためには、まずそれぞれ鍵生成部115、215で秘密鍵と公開鍵の組からなる鍵ペアを生成する(ステップS151)。情報処理装置100、200は、ステップS151で鍵ペアを生成すると、続いて生成した鍵ペアの内、秘密鍵をそれぞれ記憶部130、230に保持する(ステップS152)。
情報処理装置100、200は、ステップS152で秘密鍵を保持すると、続いてステップS151で生成した鍵ペアの内、公開鍵を認証装置300へ送信する(ステップS153)。この公開鍵の認証装置300への送信は、例えば制御部120、220による制御により、送受信部110、210が認証装置300へ向けて公開鍵を送信することで行われ得る。
情報処理装置100、200が公開鍵を認証装置300へ向けて送信すると、公開鍵を受信した認証装置300は、受信した公開鍵と同じものがすでに記憶部330に格納されているかどうか確認する(ステップS154)。認証装置300は、受信した公開鍵と同じものがすでに記憶部330に格納されていれば、情報処理装置100、200が送信した公開鍵の登録を拒否する。
一方、認証装置300は、受信した公開鍵と同じものが記憶部330に格納されていなければ、その受信した公開鍵と同じ公開鍵が利用停止リストに登録されているかどうか確認する(ステップS155)。この確認処理は、例えば制御部330が実行し得る。認証装置300は、受信した公開鍵と同じ公開鍵が利用停止リストに登録されていれば、情報処理装置100、200が送信した公開鍵の登録を拒否する。
一方、受信した公開鍵と同じ公開鍵が利用停止リストに登録されていなければ、情報処理装置100、200が送信した公開鍵を、その装置の公開鍵として記憶部330に保持する(ステップS156)。この公開鍵の保持処理は、例えば制御部330が実行し得る。情報処理装置100、200が送信した公開鍵を、その装置の公開鍵として記憶部330に保持する際には、認証装置300は、例えば情報処理装置100、200を一意に識別する所定の情報と、各情報処理装置100、200が生成した公開鍵とを関連付けて記憶部330に保持する。
以上、図10を用いて、情報処理装置100、200が生成した公開鍵が認証装置300に登録される際の動作例を説明した。このように、認証装置300は、公開鍵PKeyの利用停止処理として、公開鍵PKeyを所定の利用停止リストに移動する処理を実行する場合、公開鍵が情報処理装置100、200から送信されてきた場合に、その利用停止リストに登録された公開鍵と同じ公開鍵が送信されてきたかどうかを判断することができる。続いて、情報処理装置100と認証装置300との間で実行される、公開鍵認証方式による認証処理の例について説明する。
図11は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図11に示したのは、情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が実行される際の動作例である。以下、図11を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が行われる際には、まず情報処理装置100は、認証装置300へ認証要求を送信する(ステップS161)。情報処理装置100が認証装置300へ認証要求を送信し、認証装置300がその認証要求を受信すると、情報処理装置100は、認証装置300との間でセキュアなセッションを確立する(ステップS162)。
情報処理装置100と認証装置300との間でセキュアなセッションが確立されると、情報処理装置100は、その確立したセッションで、情報処理装置100が生成した公開鍵PKeyを認証装置300へ送信する(ステップS163)。この処理は、例えば制御部120による制御により、送受信部110が認証装置300へ向けて公開鍵PKeyを送信することで行われ得る。
認証装置300は、情報処理装置100から送信された公開鍵PKeyを受信すると、その公開鍵PKeyがすでに記憶部330に保持されているかどうか確認する(ステップS164)。この確認は、例えば制御部320が実行し得る。
ステップS164の判断の結果、情報処理装置100から送信された公開鍵PKeyがすでに記憶部330に保持されていれば(ステップS164、Yes)、認証装置300は、その受信した公開鍵と同じ公開鍵が利用停止リストに登録されているかどうか確認する(ステップS165)。一方、ステップS124の判断の結果、情報処理装置100から送信された公開鍵PKeyが記憶部330に保持されていなければ(ステップS124、No)、認証装置300は、その公開鍵PKeyによる公開鍵認証処理を実行せずに処理を終了する。
このステップS165の確認処理は、例えば制御部330が実行し得る。認証装置300は、受信した公開鍵と同じ公開鍵が利用停止リストに登録されていれば(ステップS165、No)、情報処理装置100、200が送信した公開鍵の登録を拒否する。
一方、受信した公開鍵と同じ公開鍵が利用停止リストに登録されていなければ(ステップS165、Yes)、認証装置300は、情報処理装置100との間で、公開鍵認証方式による公開鍵認証処理を実行する(ステップS166)。
以上、図11を用いて、情報処理装置100と認証装置300との間で実行される、公開鍵認証方式による認証処理の例を説明した。続いて、情報処理装置200と認証装置300との間で実行される、情報処理装置100が生成した公開鍵PKeyの利用停止処理の例について説明する。
図12は、本開示の第1の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図12に示したのは、情報処理装置200と認証装置300との間で、情報処理装置100が生成した公開鍵PKeyの利用停止処理が実行される際の動作例である。以下、図12を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明する。
まず情報処理装置200は、認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS171)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS172)。認証装置300が情報処理装置200の認証に失敗すれば(ステップS172、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS172、Yes)、続いて、情報処理装置200は認証装置300へ、記憶部230に保持している、情報処理装置100が生成した公開鍵PKeyと電子署名とのペアのリストを送信する(ステップS173)。ここで、公開鍵MPKeyに関連付けられている(認証デバイスが生成した)公開鍵PKeyが複数存在する場合は、情報処理装置200は、その全てについて認証装置300へ送信する。
認証装置300は、情報処理装置200から公開鍵PKeyと電子署名とのペアのリストを受信すると、受信した公開鍵PKeyがすでに記憶部330に保持されているかどうか確認する(ステップS174)。ステップS174の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていなければ(ステップS134、No)、認証装置300は、公開鍵PKeyの利用停止処理を行わずに処理を終了する。一方、ステップS174の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていれば、認証装置300は、受信した電子署名の検証処理を実行する(ステップS175)。
ステップS175の判断の結果、情報処理装置200から送信された電子署名が正当なものであれば(ステップS175、Pass)、認証装置300は、受信した公開鍵PKeyについて公開鍵PKeyを所定の利用停止リストに移動する処理を実行する(ステップS176)。公開鍵PKeyを所定の利用停止リストに移動する処理は、例えば制御部320が実行し得る。一方、ステップS175の判断の結果、情報処理装置200から送信された電子署名が正当なものでなければ(ステップS175、Reject)、認証装置300は、公開鍵PKeyの利用停止処理を行わずに処理を終了する。
以上、図12を用いて本開示の第1の実施形態に係る情報処理システム1の動作例について説明した。このように、認証装置300は、公開鍵PKeyの利用停止処理として、公開鍵PKeyを所定の利用停止リストに移動する処理を実行することができる。
上述の例では、情報処理装置100と情報処理装置200との間で、情報処理装置100で生成された公開鍵PKeyを、情報処理装置200で生成された公開鍵MPKeyに関連付ける処理が実行される場合を示した。この関連付け処理は、例えば工場出荷時などに予め行われても良い。ユーザは、予め公開鍵の関連付けが行われた情報処理装置100、200のペアを購入するなどして入手することで、より容易に公開鍵PKeyの利用停止を行なうことが出来る。
以上、本開示の第1の実施形態に係る情報処理システム1の動作例について説明した。本開示の第1の実施形態に係る情報処理システム1は、上述したような動作を実行することで、認証デバイスである情報処理装置100が生成した公開鍵PKeyと、マスターデバイスである情報処理装置200が生成した公開鍵MPKeyとを、情報処理装置200で関連付けることが出来る。そして、本開示の第1の実施形態に係る情報処理システム1は、マスターデバイスである情報処理装置200から、認証デバイスである情報処理装置100が生成した公開鍵PKeyの利用停止を認証装置300に要求することが出来る。
<2.第2の実施形態>
上述した本開示の第1の実施形態に係る情報処理システム1では、認証デバイスである情報処理装置100が生成した公開鍵PKeyと、マスターデバイスである情報処理装置200が生成した公開鍵MPKeyとを、情報処理装置200で関連付けていた。以下で説明する上述した本開示の第2の実施形態では、認証デバイスである情報処理装置100が生成した公開鍵PKeyと、マスターデバイスである情報処理装置200が生成した公開鍵MPKeyとを、認証装置300で関連付ける場合を示す。
[2.1.システムの動作例]
装置の構成や、各装置の機能構成例は、本開示の第1の実施形態に係る情報処理システム1と同様であるために、構成については説明を省略する。以下では、本開示の第2の実施形態に係る情報処理システム1の動作例について詳細に説明する。
図13は、本開示の第2の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図13に示したのは、認証装置300での公開鍵の関連付け処理の際の動作例である。以下、図13を用いて本開示の第2の実施形態に係る情報処理システム1の動作例について説明する。
まず情報処理装置200は、認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS201)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS202)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS202、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS202、Yes)、続いて情報処理装置100は、予め生成した鍵ペアの内、公開鍵PKeyを認証装置300へ送信する(ステップS203)。
なお、図13に示した例では、情報処理装置100から認証装置300へ公開鍵PKeyを送信していたが、本開示は係る例に限定されるものではない。例えば、特開2012−98690号公報等で開示されている、多次多変数連立方程式に対する求解問題の困難性に安全性の根拠をおく公開鍵認証方式では、鍵の長さが80バイト程度である。従って、この公開鍵認証方式を用いる場合は、認証装置300へ公開鍵PKeyを送信するのではなく、ユーザに公開鍵PKeyを手入力させて認証装置300へ公開鍵PKeyを登録するようにしてもよい。
認証装置300は、上記ステップS203で情報処理装置100から公開鍵PKeyを受信すると、続いて認証装置300との間で公開鍵認証方式による認証処理を再度実行する(ステップS204)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS205)。
認証装置300は、マスターデバイスである情報処理装置200と、情報処理装置100の公開鍵PKeyの受信の前後で認証を実行することで、情報処理装置200が保持する公開鍵MPKeyと、情報処理装置100の公開鍵PKeyとを安全に関連付けることが出来る。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS205、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS205、Yes)、続いて情報処理装置100は、上記ステップS203で情報処理装置100が送信した公開鍵PKeyが登録されていなければ、その公開鍵PKeyを認証デバイスである情報処理装置100の公開鍵として登録する(ステップS206)。
認証装置300は、上記ステップS206で、公開鍵PKeyを認証デバイスである情報処理装置100の公開鍵として登録すると、続いて、マスターデバイスである情報処理装置200の公開鍵MPKeyを、認証デバイスである情報処理装置100の公開鍵PKeyとのペアとして関連付けた形式で保持する(ステップS207)。
本開示の第2の実施形態に係る情報処理システム1は、図13に示したような一連の動作を実行することで、マスターデバイスである情報処理装置200の公開鍵MPKeyを、認証デバイスである情報処理装置100の公開鍵PKeyとのペアとして関連付けた形式で認証装置300に保持させることができる。
以上、図13を用いて本開示の第2の実施形態に係る情報処理システム1の動作例について説明した。このような関連付けに際しては、第1の実施形態同様に、情報処理装置100、200をそれぞれ別のユーザが所有していても良い。また公開鍵MPKeyに関連付けられている(認証デバイスが生成した)公開鍵PKeyが複数存在する場合は、第1の実施形態同様に、利用を停止する公開鍵PKeyをユーザに選択させても良い。また公開鍵PKey、MPKey同士の関連付けは、第1の実施形態同様に、例えば工場出荷時などに予め行われても良い。
続いて、情報処理装置200と認証装置300との間で実行される、情報処理装置100が生成した公開鍵PKeyの利用停止処理の例について説明する。
図14は、本開示の第2の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図14に示したのは、情報処理装置200と認証装置300との間で、情報処理装置100が生成した公開鍵PKeyの利用停止処理が実行される際の動作例である。以下、図14を用いて本開示の第2の実施形態に係る情報処理システム1の動作例について説明する。
情報処理装置100が生成した公開鍵PKeyの利用停止を情報処理装置200から要求する場合は、まず情報処理装置200は認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS211)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS212)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS212、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS212、Yes)、情報処理装置200は、認証装置300に対して、情報処理装置200の公開鍵MPKeyに関連付けられている、情報処理装置100の公開鍵PKeyの停止要求を送信する(ステップS213)。
認証装置300は、情報処理装置200から送信された、情報処理装置100の公開鍵PKeyの停止要求を受信すると、続いてその情報処理装置200との間で公開鍵認証方式による認証処理を実行する(ステップS214)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS215)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS215、No)、認証装置300は、その公開鍵MPKeyによる公開鍵認証処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS215、Yes)、その情報処理装置200の公開鍵MPKeyに関連付けられている、情報処理装置100の公開鍵PKeyの利用停止処理を実行する(ステップS216)。
公開鍵PKeyの利用停止処理としては、例えば公開鍵PKeyそのものを記憶部330から削除したり、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330に設定したり、公開鍵PKeyを所定の利用停止リストに移動したりする処理などが実行され得る。所定の利用停止リストは、例えば記憶部330に記憶され得る。
情報処理装置200および認証装置300は、このような動作を実行することで、ユーザが情報処理装置100を紛失するなどして情報処理装置100を用いて認証装置300の認証を受けることができなくなった場合に、情報処理装置100で生成された公開鍵PKeyの利用を停止することが出来る。
以上、図14を用いて、情報処理装置200と認証装置300との間で実行される、情報処理装置100が生成した公開鍵PKeyの利用停止処理の例について説明した。
<3.第3の実施形態>
情報処理装置100が生成した公開鍵PKeyの利用を停止した後に、情報処理装置100が見つかるなどして、その停止した公開鍵PKeyの利用を再開させたい場合が考えられる。以下では、一度利用を停止させた公開鍵PKeyの利用再開処理の例について説明する。
[3.1.マスターデバイスで関連付けた場合]
図15は、本開示の第2の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図15に示したのは、情報処理装置100、200と認証装置300との間で、情報処理装置100が生成した公開鍵PKeyの利用再開処理が実行される際の動作例である。また以下で示す例は、情報処理装置200で公開鍵PKey、MPKey同士の関連付けが行われている場合の動作例である。以下、図15を用いて本開示の第2の実施形態に係る情報処理システム1の動作例について説明する。
なお、一度利用を停止させた公開鍵PKeyの利用を再開させるためには、公開鍵PKeyそのものを記憶部330から削除させる処理が行われるのではなく、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330に設定したり、公開鍵PKeyを所定の利用停止リストに移動したりする処理が行われることが望ましい。
一度利用を停止させた公開鍵PKeyの利用を再開させる処理を情報処理装置200から要求する場合は、まず情報処理装置200は認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS221)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS222)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS222、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS222、Yes)、情報処理装置200は認証装置300へ、記憶部230に保持している、情報処理装置100が生成した公開鍵PKeyと電子署名とのペアのリストを送信する(ステップS223)。
認証装置300は、情報処理装置200から公開鍵PKeyと電子署名とのペアのリストを受信すると、受信した公開鍵PKeyがすでに記憶部330に保持されているかどうか確認する(ステップS224)。ステップS224の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていなければ(ステップS224、No)、認証装置300は、公開鍵PKeyの利用再開処理を行わずに処理を終了する。
一方、ステップS224の判断の結果、情報処理装置200から送信された公開鍵PKeyが記憶部330に保持されていれば、認証装置300は、上記ステップS223で送信された電子署名の検証処理を実行する(ステップS225)。認証装置300は、情報処理装置200から送信された電子署名を検証することで、その電子署名が本当に情報処理装置100で生成されたものかどうかを確認することが出来る。
ステップS225の判断の結果、情報処理装置200から送信された電子署名が正当なものでなければ(ステップS225、Reject)、認証装置300は、公開鍵PKeyの利用再開処理を行わずに処理を終了する。一方、ステップS5の判断の結果、情報処理装置200から送信された電子署名が正当なものであれば(ステップS225、Pass)、続いて認証装置300は、利用を再開させたい公開鍵PKeyを生成した情報処理装置100との間で公開鍵認証方式による認証処理を実行する(ステップS226)。認証装置300は、ステップS226の認証処理により、利用を再開させたい公開鍵PKeyに対応する秘密鍵SKeyが情報処理装置100に存在しているかどうかを確認することができる。
情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置100の認証に成功したかどうか判断する(ステップS227)。認証装置300が情報処理装置100の認証に失敗すれば(ステップS227、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置100の認証に成功すれば(ステップS227、Yes)、続いて認証装置300は、情報処理装置200との間で公開鍵認証方式による認証処理を再度実行する(ステップS228)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS229)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS229、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS229、Yes)、認証装置300は、一度停止した公開鍵PKeyの利用再開処理を実行する(ステップS230)。認証装置300は、一度停止した公開鍵PKeyの利用再開処理として、例えば、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330から消去したり、公開鍵PKeyを所定の利用停止リストから移動したりする処理を実行する。
情報処理装置100、200及び認証装置300は、このような動作を実行することで、認証装置300で一度利用を停止させた、情報処理装置100で生成された公開鍵の利用を再開させることが出来る。情報処理装置100で生成された公開鍵の利用を再開させることで、ユーザは、紛失した情報処理装置100の発見時に鍵の再作成処理や、再作成した公開鍵の認証装置300への登録処理を行わずに済む。
なお、上述の例では、ステップS226で認証デバイスである情報処理装置100の認証後に、ステップS228でマスターデバイスである情報処理装置200の認証が行われていたが、本開示は係る例に限定されるものではない。マスターデバイスである情報処理装置200の認証後に認証デバイスである情報処理装置100の認証が行われても良い。
[3.2.認証装置で関連付けた場合]
公開鍵の利用再開処理の別の例を示す。以下で示す例は、認証装置300で公開鍵PKey、MPKey同士の関連付けが行われている場合に、署名を使用せずに公開鍵の利用を再開させる場合の動作例である。
図16は、本開示の第2の実施形態に係る情報処理システム1の動作例を示す流れ図であり、図16に示したのは、情報処理装置100、200と認証装置300との間で、情報処理装置100が生成した公開鍵PKeyの利用再開処理が実行される際の動作例である。以下、図16を用いて本開示の第2の実施形態に係る情報処理システム1の動作例について説明する。
一度利用を停止させた公開鍵PKeyの利用を再開させる処理を情報処理装置200から要求する場合は、まず情報処理装置200は認証装置300との間で公開鍵認証方式による認証処理を実行する(ステップS231)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS232)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS232、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS232、Yes)、続いて、情報処理装置100は認証装置300へ、利用を再開させたい公開鍵と同じ公開鍵PKeyを認証装置300に送信する(ステップS233)。
続いて認証装置300は、利用を再開させたい公開鍵PKeyを生成した情報処理装置100との間で公開鍵認証方式による認証処理を実行する(ステップS234)。認証装置300は、ステップS234の認証処理により、利用を再開させたい公開鍵PKeyに対応する秘密鍵SKeyが情報処理装置100に存在しているかどうかを確認することができる。
情報処理装置100と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置100の認証に成功したかどうか判断する(ステップS235)。認証装置300が情報処理装置100の認証に失敗すれば(ステップS235、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置100の認証に成功すれば(ステップS235、Yes)、続いて認証装置300は、公開鍵PKeyと公開鍵MPKeyのペアの検証を実行する(ステップS236)。
認証装置300は、公開鍵PKeyと公開鍵MPKeyのペアの検証の結果、互いに関連付けられているもので無ければ(ステップS236、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300は、公開鍵PKeyと公開鍵MPKeyのペアの検証の結果、互いに関連付けられていれば(ステップS236、Yes)、続いて認証装置300は、情報処理装置200との間で公開鍵認証方式による認証処理を再度実行する(ステップS237)。情報処理装置200と認証装置300との間で公開鍵認証方式による認証処理が実行されると、認証装置300は、情報処理装置200の認証に成功したかどうか判断する(ステップS238)。
認証装置300が情報処理装置200の認証に失敗すれば(ステップS238、No)、認証装置300は、公開鍵PKeyの利用再開処理を実行せずに処理を終了する。一方、認証装置300が情報処理装置200の認証に成功すれば(ステップS238、Yes)、認証装置300は、一度停止した公開鍵PKeyの利用再開処理を実行する(ステップS239)。認証装置300は、一度停止した公開鍵PKeyの利用再開処理として、例えば、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330から消去したり、公開鍵PKeyを所定の利用停止リストから移動したりする処理を実行する。
情報処理装置100、200及び認証装置300は、このような動作を実行することで、認証装置300で一度利用を停止させた、情報処理装置100で生成された公開鍵の利用を再開させることが出来る。情報処理装置100で生成された公開鍵の利用を再開させることで、ユーザは、紛失した情報処理装置100の発見時に鍵の再作成処理や、再作成した公開鍵の認証装置300への登録処理を行わずに済む。
<4.ハードウェア構成例>
上記の各アルゴリズムは、例えば、図15に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図15に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、接触式又は非接触式のICチップ、接触式又は非接触式のICカード、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図15に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
例えば、情報処理装置100がこのようなハードウェア構成を有する場合、例えば鍵生成部115及び制御部120の機能はCPU902が担い得る。また例えば記憶部130の機能はROM904、RAM906、記憶部920、又はリムーバブル記録媒体928が担い得る。また例えば、送受信部110やアンテナ140の機能は通信部926が担い得る。
また、情報処理装置200がこのようなハードウェア構成を有する場合、例えば鍵生成部215及び制御部220の機能はCPU902が担い得る。また例えば出力部225の機能は出力部918が担い得る。また例えば記憶部230の機能はROM904、RAM906、記憶部920、又はリムーバブル記録媒体928が担い得る。また例えば、送受信部210やアンテナ240の機能は通信部926が担い得る。
また、認証装置300がこのようなハードウェア構成を有する場合、例えば制御部320の機能はCPU902が担い得る。また例えば記憶部330の機能はROM904、RAM906、記憶部920、又はリムーバブル記録媒体928が担い得る。また例えば、送受信部310やアンテナ340の機能は通信部926が担い得る。
<5.まとめ>
以上説明したように、本開示の各実施形態によれば、公開鍵認証方式を用いて、既存の技術よりも安全で、かつ簡便なユーザ認証の仕組みを実現する情報処理装置100、200及び認証装置300が提供される。本開示の各実施形態は、情報処理装置100、200と認証装置300との間で公開鍵認証方式による認証処理が実行されることで、強固な安全性を保証することが出来る。
本開示の第1の実施形態では、マスターデバイスである情報処理装置200において、認証デバイスである情報処理装置100が生成した公開鍵PKeyが、情報処理装置200が生成したMPKeyに関連付けられる。そして本開示の第1の実施形態では、情報処理装置100を紛失した場合等の、ユーザが情報処理装置100を用いて認証装置300との間で認証処理を実行することができなくなった場合に、マスターデバイスである情報処理装置200から、公開鍵PKeyの利用停止を認証装置300に要求する。
また本開示の第2の実施形態では、認証装置300において、情報処理装置100が生成した公開鍵PKeyと、情報処理装置200が生成したMPKeyとが関連付けられる。そして本開示の第2の実施形態でも、情報処理装置100を紛失した場合等の、ユーザが情報処理装置100を用いて認証装置300との間で認証処理を実行することができなくなった場合に、マスターデバイスである情報処理装置200から、公開鍵PKeyの利用停止を認証装置300に要求する。
このように、情報処理装置100が生成した公開鍵PKeyの利用停止を要求する装置を情報処理装置100とは別にしておくことで、本開示の各実施形態では、情報処理装置100の紛失時のリスクを最小限に抑えることが可能になる。また本開示の各実施形態で示したように、情報処理装置100が生成した公開鍵PKeyの利用停止を要求する装置を情報処理装置100とは別にしておくことで、ユーザ自身の手によって、または信頼出来る別のユーザの手によって容易に情報処理装置100の公開鍵PKeyの利用を停止させることができる。ユーザ自身の手によって、または信頼出来る別のユーザの手によって容易に情報処理装置100の公開鍵PKeyの利用を停止させることができるので、本実施形態に係る情報処理システム1は、システムのオペレーションコストを抑えることが可能になる。
本開示の第1の実施形態では、情報処理装置100が生成した公開鍵PKeyが、情報処理装置200が生成したMPKeyに関連付けられる際に、情報処理装置100で署名を作成して情報処理装置200へ送信する。このように、情報処理装置100から情報処理装置200へ、公開鍵PKeyの扱いについての権利を移譲することで、情報処理装置100の紛失時等に、情報処理装置100のユーザが直ちに情報処理装置200を利用できない場合でも、情報処理装置200のユーザが替わりに公開鍵PKeyを無効化出来る。情報処理装置200のユーザは、情報処理装置100のユーザが信頼するユーザであり、情報処理装置100の紛失時等に、オペレータへ問い合わせるよりも情報処理装置200のユーザに無効化を依頼したほうが、オペレーションの効率は良い。
上記各実施形態では、情報処理装置100が生成した公開鍵PKeyの無効化の際に、情報処理装置200が生成したMPKeyに紐付いている公開鍵が複数存在する場合は、情報処理装置200は、無効化する公開鍵をユーザに選択させるユーザインタフェースを出力する。選択肢をユーザに提示することで、上記各実施形態に係る認証システムは、柔軟な鍵管理を可能にする。また上記第1の実施形態では、マスターデバイスである情報処理装置200において、情報処理装置100が生成した公開鍵PKeyが、情報処理装置200が生成したMPKeyに関連付けられるので、認証装置300の記憶領域へ与える影響を抑えることが出来る。
上記各実施形態では、認証装置300は、公開鍵PKeyの利用停止処理として、例えば公開鍵PKeyそのものを記憶部330から削除したり、公開鍵PKeyについて利用停止状態にあることを意味するフラグを記憶部330に設定したり、公開鍵PKeyを所定の利用停止リストに移動したりする処理などを実行する。ここで、公開鍵PKeyに対してフラグを設定したり、所定の利用停止リストに移動させたりすることで、認証装置300は、その公開鍵PKeyに対する利用の試みが行われると、その試みがあったことを検知でき、またその試みがあったことを記録することが出来る。
上記各実施形態では、工場出荷時に予め、情報処理装置100が生成した公開鍵PKeyを、情報処理装置200が生成したMPKeyに関連付けることも出来る。工場出荷時に予め公開鍵同士を関連付けておくことで、ユーザはこの関連付けの作業が不要となる。
また、本開示の各実施形態によれば、一度利用を停止させた、情報処理装置100の公開鍵PKeyを再度利用可能状態にすることが出来る。情報処理装置100の公開鍵PKeyを再度利用可能状態に変更する場合、認証装置300は、認証デバイスである情報処理装置100だけでなく、マスターデバイスである情報処理装置200を認証することで、情報処理装置100の公開鍵PKeyを再度利用可能状態に変更すべきか否かを判断できる。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、スマートフォンやタブレット等の情報処理装置に、アプリケーションソフト配信サーバからソフト(アプリ)を配信して、配信されたソフト(アプリ)を情報処理装置がインストールすることで、本技術を実行可能としてもよい。アプリケーションソフト配信サーバは、情報処理装置へソフト(アプリ)を配信するためのネットワークインターフェースと、ソフト(アプリ)を記憶する記憶装置と、を有する。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1の公開鍵に対応する第1の秘密鍵を保持するメモリと、
秘密鍵に対応する公開鍵を保持する第1の装置に対して、第2の装置が前記第1の装置に登録した第2の公開鍵の利用状態の変更を、前記第2の公開鍵に関連付けられた前記第1の公開鍵と前記第1の秘密鍵とを用いた認証により要求するプロセッサと、
を備える、情報処理装置。
(2)
前記プロセッサは、前記第2の装置から前記第2の公開鍵と、前記第2の公開鍵に対応する第2の秘密鍵を用いて生成された署名情報とを受信し、前記第1の公開鍵と前記第2の公開鍵とを関連付ける、前記(1)に記載の情報処理装置。
(3)
前記プロセッサは、前記第2の公開鍵の利用状態の変更の要求の際に、前記第2の公開鍵と前記署名情報とを前記第1の装置に送信する、前記(2)に記載の情報処理装置。
(4)
前記プロセッサは、利用状態を変更する前記第2の公開鍵をユーザに選択させるためのインターフェースを表示部に表示させる、前記(1)〜(3)のいずれかに記載の情報処理装置。
(5)
前記プロセッサは、前記第2の公開鍵の利用状態を利用可能状態から利用不可状態に変更する要求を前記第1の装置に対して行なう、前記(1)〜(4)のいずれかにに記載の情報処理装置。
(6)
前記プロセッサは、前記第2の公開鍵の利用状態を利用不可状態から利用可能状態に変更する要求を前記第1の装置に対して行なう、前記(1)〜(4)のいずれかにに記載の情報処理装置。
(7)
少なくとも、第1の装置及び第2の装置で生成された秘密鍵と公開鍵の組の内、公開鍵を保持するメモリと、
前記第1の装置で生成された第1の公開鍵に、前記第2の装置で生成された第2の公開鍵を関連付けて前記メモリに保持させ、前記第1の装置からの前記第2の公開鍵の利用状態の変更の要求に応じて前記第2の公開鍵の利用状態を変更するプロセッサと、
を備える、情報処理装置。
(8)
前記プロセッサは、前記第1の公開鍵による前記第1の装置の認証の後に、前記第2の公開鍵を受信することにより、前記第1の公開鍵に前記第2の公開鍵を関連付ける、前記(7)に記載の情報処理装置。
(9)
前記プロセッサは、前記第2の公開鍵を受信した後に、前記第1の公開鍵による前記第1の装置を再度認証する、前記(8)に記載の情報処理装置。
(10)
前記プロセッサは、前記第1の装置から前記第2の公開鍵の利用状態の変更の要求を受信すると、前記第1の公開鍵による前記第1の装置を認証してから前記第2の公開鍵の利用状態を変更する、前記(7)〜(9)のいずれかに記載の情報処理装置。
(11)
前記プロセッサは、前記第2の公開鍵の利用状態を利用可能状態から利用不可状態に変更する要求を受信したことに応じて、前記第2の公開鍵の利用状態を利用可能状態から利用不可状態に変更する、前記(7)〜(10)のいずれかにに記載の情報処理装置。
(12)
前記プロセッサは、前記第2の公開鍵の利用状態を利用不可状態から利用可能状態に変更する要求を受信したことに応じて、前記第2の公開鍵の利用状態を利用不可状態から利用可能状態に変更する、前記(7)〜(11)のいずれかにに記載の情報処理装置。
(13)
第1の公開鍵に対応する第1の秘密鍵を保持するステップと、
秘密鍵に対応する公開鍵を保持する第1の装置に対して、第2の装置が前記第1の装置に登録した第2の公開鍵の利用状態の変更を、前記第2の公開鍵に関連付けられた前記第1の公開鍵と前記第1の秘密鍵とを用いた認証により要求するステップと、
を備える、情報処理方法。
(14)
少なくとも、第1の装置及び第2の装置で生成された秘密鍵と公開鍵の組の内、公開鍵を保持するステップと、
前記第1の装置で生成された第1の公開鍵に、前記第2の装置で生成された第2の公開鍵を関連付けて保持するステップと、
前記第1の装置からの前記第2の公開鍵の利用状態の変更の要求に応じて前記第2の公開鍵の利用状態を変更するステップと、
を備える、情報処理方法。
(15)
コンピュータに、
第1の公開鍵に対応する第1の秘密鍵を保持するステップと、
秘密鍵に対応する公開鍵を保持する第1の装置に対して、第2の装置が前記第1の装置に登録した第2の公開鍵の利用状態の変更を、前記第2の公開鍵に関連付けられた前記第1の公開鍵と前記第1の秘密鍵とを用いた認証により要求するステップと、
を実行させる、コンピュータプログラム。
(16)
コンピュータに、
少なくとも、第1の装置及び第2の装置で生成された秘密鍵と公開鍵の組の内、公開鍵を保持するステップと、
前記第1の装置で生成された第1の公開鍵に、前記第2の装置で生成された第2の公開鍵を関連付けて保持するステップと、
前記第1の装置からの前記第2の公開鍵の利用状態の変更の要求に応じて前記第2の公開鍵の利用状態を変更するステップと、
を実行させる、コンピュータプログラム。