説明

秘密情報送受信方法及びプログラム

【課題】Webサイトの成りすましを防止する技術を提供する。
【解決手段】利用者装置が、秘密情報を暗号化した秘密情報暗号化データと、当該秘密情報暗号化データ復号用の復号鍵とサービス提供装置に対応する識別情報とを管理装置の公開鍵で暗号化した復号鍵暗号化データと、を組にしてサービス提供者装置に送信し、サービス提供者装置は、復号鍵暗号化データを管理装置に送信し、管理装置は、サービス提供者装置が登録されたものであることを確認して復号鍵暗号化データを復号し、復号したデータの中の識別情報が、前記サービス提供者装置に対応するものであることを確認した場合に、復号したデータの中の復号鍵をサービス提供者装置に送信し、サービス提供者装置は、管理装置から送信された復号鍵を用いて秘密情報暗号化データを復号する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webサイトの成りすましを防止するための技術に関するものである。
【背景技術】
【0002】
Webサイトを介した電子商取引が普及している中で、Webサイトの成りすましによる詐欺(フィッシング(Phishing)と呼ばれる)が問題になっている。これは、有名サイトを偽装した画面を利用者に提供し、利用者が入力した口座番号やパスワード等の秘密情報を盗む詐欺である。
【0003】
フィッシングに対する対策として、(1)利用者がWebページのアドレスバーに表示されるURLを見て本物のサイトつながっているかどうか確かめるよう利用者の注意を喚起する、(2)Webページの右下にあるロック表示を確認してSSL(Secure Socket Layer)が作動しているかどうか確認するよう利用者の注意を喚起する、等の方法が従来から提案されている。しかし、このような方法は、ITに詳しくない一般の人々にとって難しいという問題があるほか、以下の問題点がある。
【0004】
まず、(1)については、アドレスバーを偽装する技術が存在するため、このような技術が使われている場合にはアドレスバーが偽者であることを見抜くことは困難である。また、(2)について、SSLでは、利用者のブラウザに元々埋め込まれている認証機関の公開鍵を用いて、サイトから送られた公開鍵証明書を検証することにより、そのサイトの正当性を確認する。認証機関の公開鍵は複数登録されているが、古いまま更新されない状況であり、中には公開鍵に対応する秘密鍵が不正者の手に渡っていることもありうる状況である。そのような場合には、偽装サイトはブラウザによって正当と検証されるように公開鍵証明書を作成することができる。従って、本物のサイトに成りすましてSSLを使用し得るという問題がある。
【0005】
なお、本発明に関連する文献として特許文献1、非特許文献1がある。
【特許文献1】特開昭63−217739号公報
【非特許文献1】境、光成、笠原 「楕円曲線上のペアリングを用いた2,3の暗号方式」 情報処理学会の研究報告「コンピュータセキュリティ」No.014
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は上記の点に鑑みてなされたものであり、Webサイト提供装置が正当なものであるか否かを確認することによりWebサイトの成りすましを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題は、サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有するシステムにおいて、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるための秘密情報送受信方法であって、送信装置は、入力された前記秘密情報を暗号化した秘密情報暗号化データと、当該秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを管理装置の公開鍵で暗号化した復号鍵暗号化データと、を組にして前記受信装置に送信し、前記受信装置は、前記記憶手段に保持されている登録情報に基づき送信元のサービス提供者を管理装置が検証できる形態で、復号鍵暗号化データを前記管理装置に送信し、前記管理装置は、受信した復号鍵暗号化データの送信元を前記記憶手段の登録情報から特定し、また、前記復号鍵暗号化データを復号して前記サービス提供者識別情報を取得し、当該取得したサービス提供者識別情報と前記特定した登録情報とが前記記憶手段で対応付けられている場合に、復号したデータの中の前記復号鍵を前記受信装置に送信し、前記受信装置は、管理装置から受信した前記復号鍵を用いて前記秘密情報暗号化データを復号し、秘密情報を出力することを特徴とする秘密情報送受信方法により解決される。
【0008】
また、本発明は、サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有し、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるシステムにおける受信装置としての機能をコンピュータに実現させるプログラムであって、前記コンピュータを、送信装置に入力された前記秘密情報を暗号化した秘密情報暗号化データと、当該秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを管理装置の公開鍵で暗号化された復号鍵暗号化データと、を送信装置から受信する手段、前記記憶手段に保持されている登録情報に基づき送信元のサービス提供者を管理装置が検証できる形態で、復号鍵暗号化データを前記管理装置に送信する手段、管理装置から送信された復号鍵を用いて前記秘密情報暗号化データを復号する手段、として機能させるプログラムとしても構成できる。
【0009】
更に本発明は、サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有し、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるシステムにおける管理装置としての機能をコンピュータに実現させるプログラムであって、前記コンピュータを、サービス提供者に関する前記登録情報及び前記サービス提供者識別情報を前記記憶手段に登録する手段、受信装置から、送信装置に入力された秘密情報を暗号化した秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを前記コンピュータの公開鍵で暗号化した復号鍵暗号化データを受信する手段、前記受信した復号鍵暗号化データの送信元を前記記憶手段の登録情報から特定する手段、前記復号鍵暗号化データを復号して前記サービス提供者識別情報を取得する手段、前記特定した登録情報と前記取得したサービス提供者識別情報とが前記記憶手段で対応付けられている場合に、復号したデータの中の復号鍵を前記受信装置に送信する手段、として機能させるプログラムとしても構成できる。
【0010】
前記秘密情報送受信方法において、前記登録情報には、サービス提供者が使用する電子メールアドレスまたはドメイン名を含み、受信装置は当該電子メールアドレスまたはドメイン名を使用して復号鍵暗号化データを管理装置に送信し、管理装置は、前記記憶手段から前記電子メールアドレスまたはドメイン名に対応付けれられているサービス提供者を送信元として特定するように構成してもよい。
【0011】
また、前記秘密情報送受信方法において、前記登録情報には、サービス提供者が秘密に保持するパスワード情報を含み、受信装置はサービス提供者であることを表明する表明情報と当該パスワードとを復号鍵暗号化データと共に管理装置に送信し、管理装置は、当該受信したパスワード情報と、当該受信した表明情報と関係付けて前記記憶手段に記憶されているパスワード情報とを比較して送信元のサービス提供者を特定するようにしてもよい。
【発明の効果】
【0012】
本発明によれば、受信装置が正当なものであることが確認された場合に、秘密情報暗号化データ復号用の復号鍵を受信装置に送信することとしたので、第3者が受信装置に成りすますことができなくなる。よって、成りすましを防止できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の第1の実施の形態及び第2の実施の形態について図面を参照して説明する。
【0014】
[第1の実施の形態]
まず、本発明の第1の実施の形態について説明する。図1に第1の実施の形態におけるシステム構成を示す。図1に示すとおり、本システムは、暗号化/復号化用の鍵を発行・管理する鍵発行センタ装置1、利用者からの秘密情報を入力を受けることによりサービスを提供するサービス提供者装置2、及び、サービス提供者装置2からのサービスを受ける利用者装置3とを有し、これらの装置がインターネット等のネットワークにより接続された構成を有している。
【0015】
第1の実施の形態では、サービス提供者装置が利用者装置から暗号化された秘密情報(利用者入力情報)と当該暗号化秘密情報の復号鍵(鍵発行センタの公開鍵で暗号化されている)とを受け取り、鍵発行センタ装置に対して暗号化秘密情報の復号鍵の復号を依頼し、鍵発行センタ装置は、依頼元のサービス提供者装置が正当であると確認できた場合に、暗号化された復号鍵を復号してサービス提供者装置に渡し、サービス提供者装置はその復号鍵を用いて暗号化秘密情報を復号し、利用する。また、この処理の流れの中で、社会的に認知されている文字列等からなるサービス提供者のIDがキーとして用いられる。
【0016】
(処理シーケンス)
以下、図2〜図4に示すシーケンス図を参照して、システムの動作を詳細に説明する。まず、サービス提供者装置側と利用者装置側の事前準備について説明する。なお、この事前準備は、システム自身の動作というよりも、システムの管理者等が主体になって行われるものである。
【0017】
図2に示すように、サービス提供者が鍵発行センタに対してIDの登録申請を行う。有名Webサイトの偽装を防止するという観点から、本実施の形態では、サービス提供者自身が有名Webサイトの提供者であるものとする。そのために、鍵発行センタでは、上記IDが社会的に良く知られた商号、サービス名、商標等であり、なおかつ、そのIDが確かにサービス提供者のものであることを確認する(ステップ1)。確認できた場合にのみ、当該IDをそのサービス提供者のものとして登録する。
【0018】
サービス提供者は暗号化秘密情報を受信する度に、鍵発行センタと通信し、復号鍵を取得するが、この通信を安全なものとするために、サービス提供者を鍵発行センタが確実に認証するための方法、及び鍵配送を安全に行うための方法をサービス提供者と鍵発行センタとの間で定めておく。
【0019】
このような方法として、サービス提供者と鍵発行センタ間でパスワードを取り決めておく方法、公開鍵と秘密鍵を取り決めておく方法等があるが、ここでは、鍵発行センタが、このサービス提供者用の公開鍵と秘密鍵のペア(PKペアと呼ぶことにする)を安全な方法でサービス提供者に配布しておくものとする(ステップ2)。この場合、サービス提供者は秘密鍵で送付情報に署名を付し、鍵発行センタは公開鍵で送付情報を暗号化することになる。鍵発行センタ装置は、サービス提供者名とそのIDとPKペアをデータベースに登録する(ステップ3)。なお、このPKペアはサービス利用者には秘密にされる。
【0020】
利用者装置側では、暗号化クライアントモジュールを利用者装置にインストールする(ステップ5)。また、鍵発行センタの公開鍵Kcpを取得しておく。なお、図2のステップ4に示すように、暗号化クライアントモジュールを鍵発行センタ装置からダウンロードする実施形態では、鍵発行センタにおいて暗号化クライアントモジュールに公開鍵Kcpを組み込んでおけば暗号化クライアントモジュールのダウンロードと同時に公開鍵Kcpを取得できる。
【0021】
以上の事前準備の後、利用者がサービス提供者のサービスを利用する段階で以下の処理が行われる。
【0022】
図3に示すように、利用者によるサービス利用時に、サービス提供者装置がサービス利用に関するWebページを利用者装置に送信する(ステップ11)。このWebページは、利用者装置にインストールされている暗号化クライアントモジュールを起動するためのボタンを含む。
【0023】
利用者が、ブラウザ上に表示された上記Webページのボタンをクリックすることにより暗号化クライアントモジュールが起動され(ステップ12)、図4に示すような秘密情報入力画面が表示される(ステップ13)。図4に示すように、この秘密情報入力画面には、パスワードやカード番号等の秘密情報入力フィールとともに、サービス提供者が鍵発行センタに登録したIDが暗号化鍵として表示され、それを利用者に入力させるためのフィールドが表示される。
【0024】
利用者は、表示されたIDがサービス提供者のものとして妥当であると判断すればそのIDを入力する(ステップ14)。なお、IDを入力する代わりに、確認ボタンを用意し、表示されたサービス提供者のIDが正しければ、利用者はそれをクリックするという方式でも良い。IDが確かにそのサービス提供者のものかどうかの判断は、利用者に任されるが、IDは社会的に認知されているサービス提供者の名前等であるので、利用者は容易に識別でき、利用者に負担はない。
【0025】
利用者が上記IDを入力すると、暗号化クライアントモジュールは、暗号化クライアントモジュールがランダムに発生させた暗号鍵Ktを用いて利用者の入力情報を暗号化する(ステップ15)。なお、本実施形態では、暗号鍵Ktは暗号化と復号化で共通に用いられるものである。従って、暗号鍵Ktは、暗号鍵Ktに対応する復号鍵Ktでもある。暗号化と復号化で共通の鍵を用いない場合は、暗号化クライアントモジュールは、暗号鍵Ktに対応する復号鍵を生成する。
【0026】
そして、暗号化クライアントモジュールは、IDと復号鍵Ktを結合した情報を、鍵発行センタの公開鍵Kcpを用いて暗号化し、Ktで暗号化した秘密情報と、公開鍵Kcpで暗号化したIDと復号鍵Kt(これをエンベロープという)と、IDと、を含む情報を生成する。この情報(以下、情報Mという)は、鍵Xで暗号化することをEXと表記し、利用者入力情報をtextと表記すれば、M=ID+EKcp( [ID + Kt] )+ EKt(text) と表記できる。
【0027】
利用者装置は、この情報Mをサービス提供者装置に送信する(ステップ16)。サービス提供者装置は、事前準備段階で取得したPKペアの秘密鍵を用いてEKcp( [ID + Kt] )に署名を付し、署名を付したEKcp( [ID + Kt] )を鍵発行センタ装置に送信する(ステップ17)。
【0028】
鍵発行センタ装置は、署名付きのEKcp( [ID + Kt] )を受信し、PKペアの公開鍵を用いて署名を検証して確かに登録されたサービス提供者からの情報であることを認証する(ステップ18)。そして、鍵発行センタの秘密鍵Kcsを用いてEKcp( [ID + Kt] )を復号し、ID + Ktを取り出す(ステップ19)。
【0029】
図5に示すように、鍵発行センタ装置は、取り出したIDが、サービス提供者のIDとして登録されているかどうかをデータベースを参照して確認する(ステップ19)。サービス提供者のIDとして登録されたものであれば、取り出した復号鍵Ktを、盗聴防止のためにPKペアの公開鍵で暗号化してサービス提供者装置に送信する(ステップ20)。
【0030】
すなわち、鍵発行センタ装置は、受信した復号鍵暗号化データの送信元を鍵発行センタ装置の記憶装置の登録情報から特定し、また、復号鍵暗号化データを復号してサービス提供者のIDを取得し、当該取得したIDと前記特定した登録情報とが記憶装置で対応付けられている場合に、復号したデータの中の復号鍵をサービス提供者装置に送信している。
【0031】
続いて、サービス提供者装置は、PKペアの公開鍵で暗号化された復号鍵KtをPKペアの秘密鍵で復号し、当該復号鍵Ktを用いて暗号化された秘密情報EKt(text)を復号し、利用者入力情報を取得する(ステップ21)。そして、利用者が入力した秘密情報を受信した旨を通知する画面を利用者装置に送信する(ステップ22)。利用者装置では、その画面をブラウザ上に表示する(ステップ23)。
【0032】
上記の処理において、鍵発行センタ装置は、サービス提供者が使用する電子メールアドレスまたはドメイン名をサービス提供者の名前、及びID等と対応付けて記憶装置に格納しておき、サービス提供者装置は、当該電子メールアドレスまたはドメイン名を使用して復号鍵暗号化データを鍵発行センタ装置に送信し、鍵発行センタ装置は、前記記憶装置から前記電子メールアドレスまたはドメイン名に対応付けれられているサービス提供者を送信元として確認するようにしてもよい。
【0033】
また、鍵発行センタ装置は、サービス提供者が秘密に保持するパスワード情報を、サービス提供者の名前、及びID等と対応付けて記憶装置に格納しておき、サービス提供者装置はサービス提供者であることを表明する表明情報(例えば、サービス提供者の名前)と当該パスワードとを復号鍵暗号化データと共に鍵発行センタ装置に送信し、鍵発行センタ装置は、当該受信したパスワード情報と、当該受信した表明情報と関係付けて記憶装置に記憶されているパスワード情報とを比較して送信元のサービス提供者を特定するようにしてもよい。
【0034】
(装置の機能構成)
次に、上記のシーケンスに従った処理を行う各装置の機能構成について説明する。なお、各装置は、CPU、メモリ、ハードディスク、通信装置等を有するコンピュータであり、以下で説明する各機能は、コンピュータにインストールされたプログラムにより実現されるものである。
【0035】
図6は、鍵発行センタ装置の機能構成図である。図6に示すように、鍵発行センタ装置は、サービス提供者装置との通信を行うための通信機能部11、サービス利用者のIDをデータベースに登録するためのID登録機能部13、及び、サービス利用者装置が秘密情報を復号するために使用する復号鍵を抽出し、その復号鍵をサービス利用者装置に送信するための復号鍵抽出・送信機能部15、及び、IDに関する情報を保持するデータベース17を有している。
ID登録機能部13は、例えば、ID入力画面を表示し、入力されたIDをデータベース17に格納する機能を有している。なお、IDは、サービス提供者装置からオンラインで受信してもよく、その場合、ID登録機能部13は通信機能部11からIDを受信してデータベース17に格納する。
【0036】
データベースには、ID、ID所有者(サービス提供者)の情報、及びサービス提供者装置と鍵発行センタ装置間における秘密情報復号用の鍵の配送に関する情報が記録される。ここで、配送時の認証が、鍵発行センタ装置によるサービス提供者装置のパスワード認証であれば、そのパスワードもIDに対応付けて格納される。また、上述したようにPKペアを使う場合はそのPKペアがIDに対応付けて格納される。図6は、PKペアを格納する例を示している。
【0037】
更に、鍵発行センタ装置は、鍵発行センタの公開鍵(Kcp:暗号鍵)と秘密鍵(Kcs:復号鍵)のペアを生成しデータベース17に格納して、公開鍵Kcpを公開する。また、Kcp、Kcsは安全性の観点から定期的に更新するが、その際には、利用者装置に通知する等して、利用者装置が新たな公開鍵を取得できるようにする。また、鍵発行センタ装置に、暗号化クライアントモジュールを格納し、利用者装置に配布する機能を備えてもよい。
【0038】
次に、図7を参照して利用者装置の機能構成を説明する。図7に示すように、利用者装置は、サービス提供者装置と通信を行う通信機能部31、サービス提供者装置から送られるWebページを表示するブラウザ33、及び準備段階でインストールされる暗号化クライアントモジュール35を有している。なお、暗号化クライアントモジュール35をブラウザ33に組み込む構成をとることもできる。
【0039】
ここで、サービス提供者装置から送られるWebページのブラウザ上での動作について説明する。
【0040】
Webページ上に入力ボタンが表示され、そのボタンを利用者がクリックすると暗号化クライアントモジュール35を起動する。その起動に際して、Webページは入力すべき情報項目等(ユーザに入力させたい情報の項目、サービス提供者のID、画面表示フォーマット等)を暗号化クライアントモジュール35にパラメータとして渡す。暗号化クライアントモジュール35は利用者により入力された秘密情報を暗号化し、その暗号化秘密情報を所定のフォーマットで呼び出し元のWebページに返す。そして、Webページは、サービス提供者装置に対して次のページを要求するとともに、暗号化秘密情報を含む情報をサービス提供者装置に対して送信する。Webページが、次ページ要求に含めて暗号化秘密情報を送信する代わりに、暗号化クライアントモジュール35が、暗号化秘密情報を含む情報を直接、サービス提供者装置に転送してもよい。この場合、情報転送先であるサービス提供者装置のアドレス情報等をWebページから引き継いでおく。
【0041】
なお、上記のようにブラウザが暗号化クライアントモジュール35を起動することに替えて、利用者が起動を指示するようにしてもよい。その場合、ブラウザは暗号化クライアントモジュール35の起動を利用者に対して促進するメッセージを表示し、渡すべき情報を予め定めておいた引継ぎファイルに入れる。そして、暗号化クライアントモジュール35は利用者の指示により起動され、その情報を引き継ぎファイルから読み出す。この方式の場合、利用者の指示により暗号化クライアントモジュールが起動されるので、フィッシャーにより偽装された画面を利用してしまうことを防止し易い。
【0042】
次に、暗号化クライアントモジュール35について説明する。図7に示すように、暗号化クライアントモジュール35は、秘密情報入力画面表示機能部351、秘密情報暗号化機能部352、モジュール真正性チェック機能部を有している。また、鍵発行センタの公開鍵Kcp、合言葉対応表等をデータベース354、355に保持している。暗号化クライアントモジュール35の各機能部の動作を次に説明する。
秘密情報入力画面表示機能部351は、図4に示したような秘密情報入力画面を表示し、利用者による秘密情報とIDの入力を受け付ける。秘密情報暗号化機能部352は、図3のステップ15、16で説明したように、入力された秘密情報を暗号鍵Ktで暗号化し、また、EKcp( ID + Kt)を生成する。
【0043】
なお、暗号化秘密情報を受け取るサービス提供者装置が複数あり、それぞれを別々の暗号化とする場合は、例えば図8に示す画面を表示する。この例は、電子商店のサイトを利用者が利用する場合において、電子商店向きの情報とクレジットカード会社向き情報とがある場合の例である。カード番号等のクレジットカード会社向け情報を電子商店が取得できないようにするために、それぞれの情報を別の暗号鍵を用いて暗号化する。
例えば、サービス提供者1向けの秘密情報をtext1、サービス提供者2向けの秘密情報をtext2、サービス提供者1のIDをID_1(例えば、「xx商店」などの文字列)、サービス提供者2のIDをID_2(例えば、「yyクレジット」などの文字列)、text1を暗号化する鍵をKt_1、text2を暗号化する鍵をKt_2、鍵センタの公開鍵をKcpとすると、暗号化クライアントモジュールは以下の電文Mを生成する。
【0044】
M = EKcp( [ID_1 + Kt_1] + [ID_2 + Kt_2]) + [ID_1+ EKt_1(text1) ] +
[ID_2 + EKt_2(text2) ]
この情報Mが利用者装置から送信されることになる。なお、送信先は2つに限られるものではない。
【0045】
モジュール真正性チェック機能部353は、起動された暗号化クライアントモジュール35が、改竄されていたり、偽者ではないことを利用者が確認するための機能を有している。フィッシャーによる偽装として、例えば、正規のサービス提供者のページと外見上同じページを表示し、ボタンをクリックした場合に正規の利用者情報入力画面と外見上同じ画面を表示することが考えられる。この偽装画面にデータを投入してしまえばデータが暗号化されることなくフィッシャーに送信されることになる。このような偽装を防止するために、本実施の形態のモジュール真正性チェック機能部353は、以下のような処理を行う。
【0046】
準備として、暗号化クライアントモジュール35を利用者装置にインストールする際に、利用者固有の合言葉(利用者が入力する言葉と、それに対して返す言葉)を決め、暗号化クライアントモジュール35に登録する。モジュール真正性チェック機能部353は、利用者からの上記合言葉の入力を受け、対応する合言葉を返す。利用者は合言葉を投入して正しい答えが返ってくるか確認することにより、正しい暗号化クライアントモジュールが動作しているか否かを確認できる。なお、合言葉を使用する代わりに、利用者が予め設定したシンボルを表示するといった簡易な方式を用いることもできる。
【0047】
次に、サービス提供者装置について説明する。図9は、サービス提供者装置の構成図である。
【0048】
図9に示すように、サービス提供者装置は、利用者装置及び鍵発行センタ装置と通信を行うための通信機能部21、他のサービス提供者装置と通信を行う通信機能部23、利用者装置に送るWebページを作成するWebページ作成機能部25、秘密情報復号機能部27、及び復号鍵要求機能部29を有する。
【0049】
秘密情報復号機能部27は、利用者装置から暗号化された秘密情報とIDとエンベロープを受信し、エンベロープを取り出し、復号鍵要求機能部29に渡す。復号鍵要求機能部29は、秘密情報復号機能部27から渡されたエンベロープを鍵発行センタ装置に送信する。また、復号鍵要求機能部29は、エンベロープを鍵発行センタに送信する際に、登録時に定めた認証方法に基づく処理を行う。本実施の形態では、PKペアの秘密鍵でエンベロープに署名を付して送信する。
【0050】
また、復号鍵要求機能部29は鍵発行センタ装置から復号された復号鍵を受け取り、その復号鍵を秘密情報復号機能部27に渡す。秘密情報復号機能部27は当該復号鍵を用いて暗号化された秘密情報を復号する。
【0051】
また、秘密情報復号機能部27は、利用者装置から受信した情報の中に自分宛以外の情報が含まれていれば、その情報を宛先に転送する。例えば、ID_1に対応するサービス利用者1が、
M = EKcp( [ID_1 + Kt_1] + [ID_2 + Kt_2]) + [ID_1+ EKt_1(text1) ] +
[ID_2 + EKt_2(text2) ]
を受信した場合に、ID_2が含まれていることを認識し、ID_2に対応するサービス利用者2に対し、この情報MもしくはMから[ID_1+ EKt_1(text1) ]を除いたものを送信する。
【0052】
本実施の形態のしくみを用いることにより、利用者が意図するサービス提供者のみが、利用者が入力した秘密情報を解読でき、サービス提供者の成りすましを防止できる。
【0053】
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。第2の実施の形態でも、全体のシステム構成は図1に示した通りである。第2の実施の形態では、IDそのものを、利用者が入力した秘密情報の暗号化のための公開鍵として用いる。また、鍵発行センタ装置は、当該公開鍵に対応する秘密鍵(復号鍵)を予めサービス提供者装置に対して発行しておき、サービス提供者装置はその復号鍵を用いて暗号化された秘密情報を復号する。なお、IDを公開鍵として使用する技術自体は公知である。
【0054】
(処理シーケンス)
図10〜図11に示すシーケンス図を参照して、第2の実施の形態におけるシステムの動作を説明する。まず、サービス提供者装置側と利用者装置側の事前準備について説明する。
【0055】
図10に示すように、サービス提供者は、第1の実施の形態と同様にして鍵発行センタに対してIDの登録申請を行う。また、秘密情報の復号用の復号鍵を利用者装置に安全に配布するために使用する公開鍵と秘密鍵とのペア(第1の実施に形態と同様のPKペア)を安全な方法でサービス提供者に配布するものとする。また、鍵発行センタ装置では、サービス提供者名とIDとPKペアとをデータベースに登録する(ステップ31〜33)。
【0056】
そして、IDを公開鍵とする場合における秘密鍵S_IDを発行し、データベースに登録する(ステップ34)。そして、その秘密鍵S_IDをPKペアの公開鍵で暗号化してサービス提供者装置に送信する(ステップ35)。
【0057】
利用者装置側では、第1の実施の形態と同様にして、暗号化クライアントモジュールを利用者装置にインストールし、また、利用者装置側では、鍵発行センタが公開する暗号化共通公開パラメータPoを取得しておく(ステップ36、37)。暗号化共通公開パラメータPoは、IDを公開鍵として使用して秘密情報を暗号化する際に必要となる情報である。
【0058】
以上の事前準備の後、利用者がサービス提供者のサービスを利用する段階で以下の処理が行われる。
【0059】
図11に示すステップ41〜ステップ44は第1の実施の形態における図3のステップ11〜14と同じである。暗号化クライアントモジュールが、暗号鍵Ktを用いて利用者の秘密情報を暗号化した後、Ktを、IDと暗号化共通公開パラメータPoを用いて暗号化する(ステップ45)。そして、暗号化した秘密情報と、暗号化した復号鍵Ktと、IDとを含む情報Mをサービス提供者装置に送信する(ステップ46)。この情報Mは、
M = ID+ EID(Kt) + E Kt(text)と表記できる。なお、EIDは、サービス提供者のIDを暗号鍵として用いることにより暗号化することを表している。
【0060】
Mを受信したサービス提供者装置は、既に保持している秘密鍵S_IDを用いて、暗号化されているKtを復号し、暗号化された秘密情報をKtを用いて復号する(ステップ47)。そして、秘密情報を受信した旨を通知する画面を利用者装置に送信する(ステップ48)。利用者装置では、その画面をブラウザ上に表示する(ステップ49)。
【0061】
なお、上記のシーケンスにおいて、IDとしてサービス提供者に固有の名前自体等を用いることの他、鍵の有効期間の情報をIDに付加したものを用いてもよい。これにより鍵(公開鍵として用いるID)の更新が可能となる。この場合、システム全体でIDの有効期間を定めておき、有効期間が到来したら、鍵発行センタ、サービス提供装置、利用者装置において次の有効期間の情報をIDに付加する。例えば月ごとに鍵を変える場合には、その時の月名をIDに追加する。IDを更新した場合、更新後のIDに対応する秘密鍵は鍵発行センタがサービス提供者に配布する。利用者側においては、この制御情報の付加は、暗号化クライアントモジュールが日付を参照し、自動的に行うようにすればよい。
【0062】
(装置の機能構成)
次に、上記のシーケンスに従った処理を行う各装置の機能構成について説明する。
【0063】
図12は、鍵発行センタ装置の機能構成図である。図12に示すように、鍵発行センタ装置は、サービス提供者装置との通信を行うための通信機能部41、サービス利用者のIDをデータベースに登録するためのID登録機能部43、サービス提供者装置が秘密情報を復号するために使用する秘密鍵を生成する秘密鍵生成機能部45、及びその秘密鍵をサービス提供者装置に送信する秘密鍵配布機能部47を有している。更に、鍵発行センタ装置は、IDに関する情報を保持するデータベース49を有している。
【0064】
データベース49には、ID、ID所有者(サービス提供者)の情報、サービス提供者装置と鍵発行センタ装置間における秘密情報復号用の秘密鍵の配送方法、及びサービス提供者用の秘密鍵が記録される。上述したようにPKペアを使う場合はそのPKペアがIDに対応付けて格納される。また、データベース49には、暗号化共通公開パラメータPoと暗号化共通秘密パラメータPsが保持される。これらの暗号化共通公開パラメータPoと暗号化共通秘密パラメータPsは定期的に更新される(例えば年に1回程度)。更新の際には、利用者装置が保持する暗号化共通公開パラメータPoと、サービス提供者装置が保持する秘密鍵も自動的に更新する機能を有してもよい。
【0065】
次に、図13を参照して利用者装置の機能構成を説明する。図13に示すように、利用者装置は、サービス提供者装置と通信を行う通信機能部51、サービス提供者装置から送られるWebページを表示するブラウザ53、及び暗号化クライアントモジュール55を有している。
【0066】
サービス提供者装置から送られるWebページのブラウザ上での動作は第1の実施の形態と同じである。また、暗号化クライアントモジュール55は、秘密情報暗号化機能部552における暗号化の処理の方法のみが第1の実施の形態と異なる。図11のステップ45で説明したように、第2の実施の形態ではIDと暗号化共通公開パラメータPoを用いて復号鍵Ktを暗号化する。
【0067】
また、第1の実施の形態と同様に、利用者の秘密情報を受け取るサービス提供者装置が複数ある場合に、それぞれに別々の暗号化を適用することが可能である。第1の実施の形態における例と同様にサービス提供者1とサービス提供者2が存在する場合において、第2の実施の形態では、
M = [ID_1 + EID_1(Kt_1) + E Kt_1(text1) ] + [ID_2 + EID_2(Kt_2)+ E Kt_2(text2) ]を生成し、送信する。
【0068】
次に、サービス提供者装置について説明する。図14は、サービス提供者装置の構成図である。
【0069】
図14に示すように、サービス提供者装置は、利用者装置及び鍵発行センタと通信を行うための通信機能部61、他のサービス提供者装置と通信を行う通信機能部63、利用者装置に送るWebページを作成するWebページ作成機能部65、秘密情報復号機能部67、及び秘密鍵管理機能部69を有する。
秘密鍵管理機能部69は、準備段階における動作として、鍵発行センタ装置に対して秘密鍵を要求し、秘密鍵を受信して秘密鍵データベース691に格納する。また、利用者がサービスを利用する段階において、秘密情報復号機能部67は、利用者装置から暗号化された秘密情報とIDと、IDを公開鍵として暗号化された復号鍵Ktとを受信する。そして、秘密鍵データベースに格納された秘密鍵を用いてKtを復号し、そのKtを用いて、暗号化された秘密情報を復号する。また、秘密情報復号機能部67は、第1の実施の形態と同じく、自分宛以外の情報が含まれていれば、必要に応じてその宛先に情報を転送する。
【0070】
本実施の形態のしくみを用いることによっても、利用者が意図するサービス提供者のみが、利用者が入力した秘密情報を解読でき、サービス提供者の成りすましを防止できる。また、本実施の形態は、第1の実施の形態と比較して、サービス提供者装置が情報を受け取る度に鍵発行センタ装置と通信を行う必要がないという特色がある。
【0071】
なお、IDを公開鍵として用いる方法自体は公知であり、例えば特許文献1に開示されている。この文献に基づく方法の概略について以下説明する。
まず、鍵発行センタで大きな素数をいくつか選択し、その積Nを計算する。以下、素数がp、q、rの3つの場合について説明する。この場合、N = pqrである。次に、p、q、rにそれぞれ対応するガロア体GF(p)、GF(q)、GF(r)に共通の原始根θを選択する。鍵発行センタは暗号化共通公開パラメータとして(N, θ)を公開し、暗号化共通秘密パラメータとしてp、q、rを秘匿する。
【0072】
また、鍵発行センタはPohlig-Hellmanのアルゴリズムを用いて、
θ^s1 ≡ ID^2 (mod p)、
θ^s2 ≡ ID^2 (mod q)、
θ^s3 ≡ ID^2 (mod r)
を満たすs1、s2、s3を求め(^はべき乗を表す)、θ^s ≡ ID^2 (mod N)となるsを秘密鍵とする。この秘密鍵sをサービス提供者装置に対して発行する。
【0073】
また、利用者装置は、暗号鍵Ktをランダムに生成し、利用者により入力された秘密情報textをKtで暗号化する。そして、乱数tを生成し、暗号化共通公開パラメータ(N, θ)を用いて、
C1 = θ^t (mod N)
C2 = Kt・ID^(2t) ( mod N)
を計算することにより、Ktを暗号化し、(C1, C2)をサービス提供者装置に送信する。(C1, C2)を受け取ったサービス提供者装置は、秘密鍵sを用い、Kt = C2/(C1^(2s)) ( mod N)を計算することによりKtを求める。その他のID公開鍵方式としては、上記のほかに例えば楕円曲線上のWeil Pairingを用いたものがある(非特許文献1参照)。
【0074】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【図面の簡単な説明】
【0075】
【図1】本発明の実施の形態におけるシステム構成を示す図である。
【図2】第1の実施の形態におけるシステムの動作を説明するためのシーケンス図(1)である。
【図3】第1の実施の形態におけるシステムの動作を説明するためのシーケンス図(2)である。
【図4】秘密情報入力画面の例である。
【図5】第1の実施の形態におけるシステムの動作を説明するためのシーケンス図(3)である。
【図6】第1の実施の形態における鍵発行センタ装置の機能構成図である。
【図7】第1の実施の形態における利用者装置の機能構成図である。
【図8】暗号化秘密情報を受け取るサービス提供者装置が複数の場合の秘密情報入力画面の例である。
【図9】第1の実施の形態におけるサービス提供者装置の機能構成図である。
【図10】第2の実施の形態におけるシステムの動作を説明するためのシーケンス図(1)である。
【図11】第2の実施の形態におけるシステムの動作を説明するためのシーケンス図(2)である。
【図12】第2の実施の形態における鍵発行センタ装置の機能構成図である。
【図13】第2の実施の形態における利用者装置の機能構成図である。
【図14】第2の実施の形態におけるサービス提供者装置の機能構成図である。
【符号の説明】
【0076】
1 鍵発行センタ装置
2 サービス提供者装置
3 利用者装置
11 通信機能部
13 ID登録機能部
15 復号鍵抽出・送信機能部
17 データベース
21、23 通信機能部
25 Webページ作成機能部
27 秘密情報復号機能部
29 復号鍵要求機能部
31 通信機能部
33 ブラウザ
35 暗号化クライアントモジュール
41 通信機能部
43 ID登録機能部
45 秘密鍵生成機能部
47 秘密鍵配布機能部
49 データベース
51 通信機能部
53 ブラウザ
55 暗号化クライアントモジュール
61、63 通信機能部
65 Webページ作成機能部
67 秘密情報復号機能部
69 秘密鍵管理機能部

【特許請求の範囲】
【請求項1】
サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有するシステムにおいて、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるための秘密情報送受信方法であって、
送信装置は、入力された前記秘密情報を暗号化した秘密情報暗号化データと、当該秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを管理装置の公開鍵で暗号化した復号鍵暗号化データと、を組にして前記受信装置に送信し、
前記受信装置は、前記記憶手段に保持されている登録情報に基づき送信元のサービス提供者を管理装置が検証できる形態で、復号鍵暗号化データを前記管理装置に送信し、
前記管理装置は、受信した復号鍵暗号化データの送信元を前記記憶手段の登録情報から特定し、また、前記復号鍵暗号化データを復号して前記サービス提供者識別情報を取得し、当該取得したサービス提供者識別情報と前記特定した登録情報とが前記記憶手段で対応付けられている場合に、復号したデータの中の前記復号鍵を前記受信装置に送信し、
前記受信装置は、管理装置から受信した前記復号鍵を用いて前記秘密情報暗号化データを復号し、秘密情報を出力する
ことを特徴とする秘密情報送受信方法。
【請求項2】
サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有し、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるシステムにおける受信装置としての機能をコンピュータに実現させるプログラムであって、前記コンピュータを、
送信装置に入力された前記秘密情報を暗号化した秘密情報暗号化データと、当該秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを管理装置の公開鍵で暗号化された復号鍵暗号化データと、を送信装置から受信する手段、
前記記憶手段に保持されている登録情報に基づき送信元のサービス提供者を管理装置が検証できる形態で、復号鍵暗号化データを前記管理装置に送信する手段、
管理装置から送信された復号鍵を用いて前記秘密情報暗号化データを復号する手段、
として機能させるプログラム。
【請求項3】
サービス提供者のみに使用させるための秘密情報を送信する送信装置と、前記秘密情報を受信する受信装置と、サービス提供者に関する情報を管理する管理装置とを有し、前記管理装置に、サービス利用者には秘密にされ、サービス提供者を特定・検証するための登録情報とサービス利用者が認知できるサービス提供者識別情報とを対応付けて保持する記憶手段を設け、サービス利用者によって送信装置に入力された前記秘密情報を、前記サービス提供者のみに使用させるシステムにおける管理装置としての機能をコンピュータに実現させるプログラムであって、前記コンピュータを、
サービス提供者に関する前記登録情報及び前記サービス提供者識別情報を前記記憶手段に登録する手段、
受信装置から、送信装置に入力された秘密情報を暗号化した秘密情報暗号化データ復号用の復号鍵と前記サービス提供者識別情報とを前記コンピュータの公開鍵で暗号化した復号鍵暗号化データを受信する手段、
前記受信した復号鍵暗号化データの送信元を前記記憶手段の登録情報から特定する手段、
前記復号鍵暗号化データを復号して前記サービス提供者識別情報を取得する手段、
前記特定した登録情報と前記取得したサービス提供者識別情報とが前記記憶手段で対応付けられている場合に、復号したデータの中の復号鍵を前記受信装置に送信する手段、
として機能させるプログラム。
【請求項4】
前記登録情報には、サービス提供者が使用する電子メールアドレスまたはドメイン名を含み、
受信装置は当該電子メールアドレスまたはドメイン名を使用して復号鍵暗号化データを管理装置に送信し、
管理装置は、前記記憶手段から前記電子メールアドレスまたはドメイン名に対応付けれられているサービス提供者を送信元として特定する
ことを特徴とする請求項1に記載の秘密情報送受信方法。
【請求項5】
前記登録情報には、サービス提供者が秘密に保持するパスワード情報を含み、
受信装置はサービス提供者であることを表明する表明情報と当該パスワードとを復号鍵暗号化データと共に管理装置に送信し、
管理装置は、当該受信したパスワード情報と、当該受信した表明情報と関係付けて前記記憶手段に記憶されているパスワード情報とを比較して送信元のサービス提供者を特定する
ことを特徴とする請求項1に記載の秘密情報送受信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2006−157336(P2006−157336A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2004−343419(P2004−343419)
【出願日】平成16年11月29日(2004.11.29)
【出願人】(000102717)エヌ・ティ・ティ・ソフトウェア株式会社 (43)
【Fターム(参考)】