(57)【要約】【課題】ユーザがその管理に一切関与することがない、端末の耐タンパハードウェアに記録される情報を用いて、オンラインサービス利用開始前に耐タンパハードウェア上でレスポンスを検証するサーバ認証システムを提供する。【解決手段】端末は、第１の情報を記録する、耐タンパハードウェアで構成されるユーザ耐タンパ記録部と、ユーザがオンラインサービスの利用を要求するとチャレンジを生成するチャレンジ生成部と、第１の情報を用いてレスポンスをユーザ耐タンパ記録部上で検証するレスポンス検証部を備え、サーバは、第１の情報と対になる第２の情報を記録する記録部と、第２の情報を用いてチャレンジからレスポンスを生成するレスポンス生成部を備え、第１の情報は、ユーザ耐タンパ記録部に記録するデータの書き換え権限を有する者が書き込んでから削除するまでの間、ユーザ耐タンパ記録部外に読み出されることはない。【選択図】図１
2017079419.tif 000002
【特許請求の範囲】
【請求項１】
オンラインサービスを利用するためにユーザが使用する端末と、
前記オンラインサービスを提供するサーバとからなるサーバ認証システムであって、
前記端末は、
第１の情報を記録する、耐タンパハードウェアで構成されるユーザ耐タンパ記録部と、
前記ユーザが前記オンラインサービスの利用を要求すると、サーバ認証で用いるチャレンジを生成するチャレンジ生成部と、
前記第１の情報を用いて前記サーバから送信されてきたレスポンスを前記ユーザ耐タンパ記録部上で検証するレスポンス検証部を備え、
前記サーバは、
前記第１の情報と対になる第２の情報を記録する記録部と、
前記第２の情報を用いて前記端末から送信されてきたチャレンジから前記レスポンスを生成するレスポンス生成部を備え、
前記第１の情報は、前記ユーザ耐タンパ記録部に記録するデータの書き換え権限を有する者が書き込んでから削除するまでの間、前記ユーザ耐タンパ記録部外に読み出されることはないことを特徴とするサーバ認証システム。
【請求項２】
請求項１に記載のサーバ認証システムであって、
前記第１の情報と前記第２の情報は、それぞれ公開鍵暗号方式で生成したサーバ公開鍵とサーバ秘密鍵であり、
前記レスポンスは、前記サーバ秘密鍵を用いて前記チャレンジを暗号化したものであり、
前記レスポンス検証部は、前記サーバ公開鍵を用いて前記レスポンスを復号し、復号して得られたデータと前記チャレンジが一致する場合は、前記サーバを正当なものであると確認することを特徴とするサーバ認証システム。
【請求項３】
請求項１に記載のサーバ認証システムを構成する端末。
【請求項４】
請求項１に記載のサーバ認証システムを構成するサーバ。
【請求項５】
オンラインサービスを利用するためにユーザが使用する端末と、
前記オンラインサービスを提供するサーバとからなるサーバ認証システムにおいて、前記端末が前記サーバを認証するサーバ認証方法であって、
前記オンラインサービスの利用を開始するまでに、前記端末は第１の情報を耐タンパハードウェアで構成されるユーザ耐タンパ記録部に記録しており、前記サーバは前記第１の情報と対になる第２の情報を記録部に記録しており、
前記第１の情報は、前記ユーザ耐タンパ記録部に記録するデータの書き換え権限を有する者が書き込んでから削除するまでの間、前記ユーザ耐タンパ記録部外に読み出されることはないものであり、
前記ユーザが前記端末を用いて前記オンラインサービスの利用を要求すると、前記端末が、サーバ認証で用いるチャレンジを生成するチャレンジ生成ステップと、
前記サーバが、前記第２の情報を用いて前記端末から送信されてきたチャレンジからレスポンスを生成するレスポンス生成ステップと、
前記端末が、前記第１の情報を用いて前記サーバから送信されてきたレスポンスを前記ユーザ耐タンパ記録部上で検証するレスポンス検証ステップと
を含むサーバ認証方法。
【請求項６】
請求項３に記載の端末としてコンピュータを機能させるためのプログラム。
【請求項７】
請求項４に記載のサーバとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証技術に関し、特にサーバの正当性を確認するサーバ認証技術に関する。
【背景技術】
【０００２】
フィッシング詐欺は、年々増加傾向にある。フィッシングレポート２０１４によると、２０１２年には６４件、約４，８００万円だった被害額が、２０１３年には１，３１５件、約１４億６００万円に増加し、前年比２９倍に達したことが明らかになっている（非特許文献１）。
【０００３】
代表的なフィッシングの仕組みでは、実在する銀行やクレジットカードを装った偽メールを利用者に送信する。メールにはパスワードの変更などを促すような内容が記載されており、偽サイトへ誘導する。偽サイトにて暗証番号などを入力させることで、攻撃者は、ユーザの認証情報を手に入れる。これに対し、サイトが正しいか否かを検証する方法として、ＳＳＬサーバ証明書があるが、最近のフィッシング詐欺ではアドレスバーには「https://」で始まるＵＲＬが表示され、ユーザに本物のサイトだと思わせるようになっている。実際使われている証明書は、有効期限が切れているなどの理由により、ユーザに警告を表示しているが、警告の意味がよくわからないユーザはその警告を無視しサービス利用を継続してしまい、結果被害に遭っている（非特許文献２）。
【０００４】
また、Ｓｕｐｅｒｆｉｓｈと呼ばれるアドウェアは、ブラウザとＷｅｂサーバの間の通信の乗っ取りのため、ブラウザに乗っ取り用のルート証明書を勝手に追加する。言い変えれば、信用を勝手に追加する。Ｓｕｐｅｒｆｉｓｈは、独自のＣＡであるＳｕｐｅｒｆｉｓｈ ＣＡをプログラムしており、Ｓｕｐｅｒｆｉｓｈのインストールと同時に、このＳｕｐｅｒｆｉｓｈ ＣＡもブラウザの信頼できるＣＡに登録されてしまう。したがって、Ｓｕｐｅｒｆｉｓｈ ＣＡが不正なサイトに対しても証明書を発行しても、ブラウザはＳｕｐｅｒｆｉｓｈ ＣＡを信頼しているため、そのサイトが不正なものであることに気がつかない。このようにして、攻撃者は不正なサイトもユーザに正当なサイトを信じさせることができ、フィッシングを行うことが可能となってしまう。ちなみ、このアドウェアは、あるＰＣ製品にプレインストールされていた（非特許文献３）。さらに、Ｐｒｉｖｄｏｇでは、セキュアブラウザーやセキュリティソフトのインストールと同時にインストールされるため、ユーザは意図せずにインストールすることになっていた（非特許文献４）。
【０００５】
このようにユーザ自身がどのＳＳＬサーバ証明書を利用しているのかを確認し、適切な管理を行うことは難しく、非特許文献３や非特許文献４のようにユーザが意図しないところで変更されてしまう可能性もあるため、ＳＳＬサーバ証明書で正当なサイトであるか否かを判断するだけでは不十分になってきており、現時点でフィッシング詐欺を十分に防ぐことができていない。
【０００６】
そこで、ＳＳＬサーバ証明書以外の方法でサーバ認証する方法が提案されている。公開鍵暗号を用いてユーザ認証を行うことによりユーザのなりすまし攻撃に対して頑強な通信を実現する非特許文献５では、サーバがオンラインサービスの処理（トランザクション処理）の結果にサーバの秘密情報である署名鍵を用いて署名を行い、サーバの公開情報である検証鍵を用いてユーザがその署名を検証することにより、処理結果の正当性を証明することを可能としている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】フィッシング対策協議会ガイドライン策定ワーキンググループ、“フィッシングレポート２０１４−急増する不正送金とフィッシング−”、[online]、［平成２７年９月２４日検索］、インターネット<https://www.antiphishing.jp/report/pdf/phishing_report_2014.pdf>
【非特許文献２】勝村幸博、“ＳＳＬを使ったフィッシング詐欺が出現、証明書を偽造”、[online]、［平成２７年９月２４日検索］、インターネット<http://pc.nikkeibp.co.jp/article/news/20110228/1030469/?rt=nocnt>
【非特許文献３】レノボ セキュリティ アドバイザリ、“ＳＵＰＥＲＦＩＳＨの脆弱性”、[online]、［平成２７年９月２４日検索］、インターネット<http://support.lenovo.com/jp/ja/product_security/superfish>
【非特許文献４】ＪＰＣＥＲＴ／ＣＣ  ａｎｄ ＩＰＡ、“Ａｄｔｒｕｓｔｍｅｄｉａ ＰｒｉｖＤｏｇにＳＳＬサーバ証明書の検証不備の脆弱性”、[online]、［平成２７年９月２４日検索］、インターネット<https://jvn.jp/vu/JVNVU91326102/>
【非特許文献５】清村優太郎、吉田麗生、山本具英、小林鉄太郎、“なりすましを困難にする耐タンパハードウェアを用いた認証技術”、ＳＣＩＳ２０１５、電子情報通信学会、２０１５年１月、pp.1-6
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、非特許文献５の技術では、トランザクション処理の結果を受け取る前に、フィッシング等で偽サイトへ誘導されてしまう攻撃を受けた場合に有効な対策をとることができない。つまり、トランザクション処理開始前のサーバのなりすまし攻撃については防ぐことができない。
【０００９】
また、トランザクション処理の結果が改ざんされないようにＳＩＭ上で検証をしているが、検証に用いている検証鍵が正しいものであるか否かについての確認及び確認のとれた検証鍵の格納をユーザに委ねているため、先のＳＳＬサーバ証明書のケースと同様意図せず変更されてしまう可能性がある。その結果、トランザクション処理開始前のサーバ認証時に偽サイトに接続し、フィッシング詐欺にあう可能性がある。
【００１０】
そこで、本発明では、ユーザがその管理に一切関与することがない、端末の耐タンパハードウェアに記録される情報を用いて、オンラインサービス利用開始前に耐タンパハードウェア上でサーバの正当性確認用情報であるレスポンスを検証することにより、サーバが正当なものであることを確認するサーバ認証システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様は、オンラインサービスを利用するためにユーザが使用する端末と、前記オンラインサービスを提供するサーバとからなるサーバ認証システムであって、前記端末は、第１の情報を記録する、耐タンパハードウェアで構成されるユーザ耐タンパ記録部と、前記ユーザが前記オンラインサービスの利用を要求すると、サーバ認証で用いるチャレンジを生成するチャレンジ生成部と、前記第１の情報を用いて前記サーバから送信されてきたレスポンスを前記ユーザ耐タンパ記録部上で検証するレスポンス検証部を備え、前記サーバは、前記第１の情報と対になる第２の情報を記録する記録部と、前記第２の情報を用いて前記端末から送信されてきたチャレンジから前記レスポンスを生成するレスポンス生成部を備え、前記第１の情報は、前記ユーザ耐タンパ記録部に記録するデータの書き換え権限を有する者が書き込んでから削除するまでの間、前記ユーザ耐タンパ記録部外に読み出されることはないことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザがその管理に一切関与することがない、端末の耐タンパハードウェアに記録される情報を用いて、オンラインサービス利用開始前に耐タンパハードウェア上でサーバの正当性確認用情報であるレスポンスを検証することにより、サーバのなりすましを防ぐことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】サーバ認証システム１００の構成を示すブロック図。
【図２】サーバ認証システム１００の動作を示すシークエンス図。
【図３】サーバ認証システム１００を用いて構成したオンラインバンキングシステムの動作を示すシークエンス図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１５】
以下、図１〜図２を参照してサーバ認証システム１００について説明する。図１は、サーバ認証システム１００の構成を示すブロック図である。図２は、サーバ認証システム１００の動作を示すシークエンス図である。図１に示すようにサーバ認証システム１００は、端末２００と、サーバ３００を含む。端末２００とサーバ３００はネットワーク５００に接続している。端末２００はユーザと１対１で対応する。つまり、ユーザの数だけ端末２００はあることになる。また、サーバ３００は、あるオンラインサービス（例えば、オンラインバンキングサービス）を実現するために物理的に複数存在する形で構成されていてもよい。
【００１６】
ユーザは端末２００を用いてオンラインサービス提供者が用意したサーバ３００が提供するオンラインサービスを利用する。ユーザがオンラインサービスの利用を要求すると、オンラインサービスの処理が始まる前にサーバ認証やユーザ認証が行われる。具体的な処理フローは図３を用いて後ほど説明する。
【００１７】
図１に記載の端末２００、サーバ３００の構成について説明する。端末２００は、ユーザ耐タンパ記録部２１０と、チャレンジ生成部２２０と、レスポンス検証部２３０と、通信部２９０を含む。
【００１８】
ユーザ耐タンパ記録部２１０は、レスポンスの検証に用いる第１の情報を記録する。第１の情報は、サーバ３００が保持する第２の情報と対になるものである。第１の情報の例として、オンラインサービス提供者が生成したサーバ公開鍵とサーバ秘密鍵のペアのサーバ公開鍵がある。典型的には当該ペアはオンラインサービス提供者が生成するものであるが、第３者が生成したものを用いてもよい。また、その生成方法は通常の公開鍵暗号方式のいずれを用いてもよい。
【００１９】
また、ユーザ耐タンパ記録部２１０は、耐タンパハードウェアで構成される。耐タンパハードウェアとは、許可されていない書き換えを行うと正常に動作しないハードウェアのことである。ユーザ耐タンパ記録部２１０の例として、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ Ｉｄｅｎｔｉｆｉｅｒ Ｍｏｄｕｌｅ）が挙げられる。
【００２０】
ユーザ耐タンパ記録部２１０に第１の情報などのデータを記録させることができるのは、書き換えを許された者（以下、書き換え権限を有する者ともいう）のみである。端末２００のユーザは書き換えを許された者ではない。そのため、端末２００の所有者（あるいはユーザ耐タンパ記録部２１０であるＳＩＭの所有者）であったとしてもユーザ自身がユーザ耐タンパ記録部２１０にデータを書き込むことはできない。これによりユーザの不注意等による意図しないユーザ耐タンパ記録部２１０のデータ書き換えを防いでいる。
【００２１】
ユーザ耐タンパ記録部２１０をＳＩＭとして構成した場合にデータを書き換えることができる者は、そのＳＩＭを提供した通信キャリアやその通信キャリアから許可を得たサービス提供者のみとなる。なお、これらの者がオンラインサービスを提供する場合、先述のオンラインサービス提供者に相当することになる。
【００２２】
また、ＳＩＭを提供した通信キャリア以外の通信キャリアやＳＩＭを提供した通信キャリアから許可を得ていないサービス提供者、これらの者が提供するアプリケーション（以下、他のアプリケーションという）は、ユーザ耐タンパ記録部２１０のデータを書き換えることはできない。ユーザ耐タンパ記録部２１０をＳＩＭとして構成することにより、他のアプリケーションによりユーザ耐タンパ記録部２１０に記録されたデータが不正利用されることを防ぐことが可能となる。したがって、ユーザが他のアプリケーションをインストールした場合であってもデータがユーザ耐タンパ記録部２１０に記録されることはない。書き換え権限を有する者以外の者がユーザ耐タンパ記録部２１０に記録されたデータを書き換えることもないため、ユーザは勝手に信用を作成される脅威から解放される。
【００２３】
さらに、ユーザ耐タンパ記録部２１０に第１の情報を記録することにより、攻撃者の改ざんを防止することも可能となる。ユーザ耐タンパ記録部２１０に第１の情報を記録しない場合は攻撃者により第１の情報が改ざんされてしまう可能性があり、改ざんされてしまうとその後誘導される不正なサイトを端末２００のブラウザは信用してしまうことになる。ユーザ耐タンパ記録部２１０に第１の情報を記録することにより、このような事態を防ぐことが可能となる。
【００２４】
ＳＩＭを提供した通信キャリア以外の通信キャリア、ＳＩＭを提供した通信キャリアから許可を得ていないサービス提供者、他のアプリケーション、攻撃者等書き換え権限を有さない者によるユーザ耐タンパ記録部２１０のデータの書き換えは一切できない。
【００２５】
チャレンジ生成部２２０は、チャレンジを生成する。チャレンジの一例として、ランダムな数値列がある。このチャレンジを用いてサーバ認証を行う。
【００２６】
レスポンス検証部２３０は、ユーザ耐タンパ記録部２１０に記録された第１の情報を用いて、ユーザ耐タンパ記録部２１０上でサーバ３００が生成したレスポンスを検証する。検証結果に基づいてサーバ３００の正当性を確認することにより、フィッシングを防止する。ユーザ耐タンパ記録部２１０上で検証することにより、第１の情報がその過程で改ざんされること、漏えいしてしまうことを防ぐことができる。レスポンスの具体的な例は、その生成方法・検証方法も含め後ほど説明する。
【００２７】
なお、レスポンスの検証以外の処理が実行される場合においても、第１の情報がユーザ耐タンパ記録部２１０の外にあるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）といった記録装置に読み出されることもない。つまり、第１の情報は、書き換え権限を有する者が書き込んでから削除するまでの間、ユーザ耐タンパ記録部２１０の外に読み出されることはない。したがって、ユーザであっても第１の情報の管理・利用に一切関与することができず、不意に書き換えられたり、そのオンラインサービスのユーザ以外に漏れたりすることを防ぐことができる。
【００２８】
通信部２９０は、ネットワーク５００を通じてサーバ３００と様々なデータを送受信する。例えば、チャレンジ生成部２２０が生成したチャレンジをサーバ３００に送信する。また、サーバ３００から送信されてきたレスポンスを受信する。
【００２９】
サーバ３００は、記録部３１０と、レスポンス生成部３２０と、通信部３９０を含む。
【００３０】
記録部３１０は、サーバ３００が秘匿管理する情報である第２の情報を記録する。第２の情報の例として、オンラインサービス提供者が生成したサーバ公開鍵とサーバ秘密鍵のペアのサーバ秘密鍵がある。なお、記録部３１０は、耐タンパハードウェアとして構成してもよい。このように構成することにより第２の情報の記録に関するセキュリティの強度をより高くすることができる。
【００３１】
レスポンス生成部３２０は、第２の情報を用いて端末２００から送信されてきたチャレンジに対するレスポンスを生成する。記録部３１０を耐タンパハードウェアで構成した場合、記録部３１０上にてレスポンスを生成するのでもよい。このようにすると、耐タンパハードウェアである記録部３１０上で生成することになり、第２の情報がその過程で改ざんされること、漏えいしてしまうことを防ぐことができる。また、レスポンスは、チャレンジに基づいて送信者がサーバであることが確認できる情報であればよい。
【００３２】
通信部３９０は、ネットワーク５００を通じて端末２００と様々なデータを送受信する。例えば、レスポンス生成部３２０が生成したレスポンスを端末２００に送信する。また、端末２００から送信されてきたサービス利用要求やチャレンジを受信する。
【００３３】
以下、レスポンスの具体的な例について、第１の情報・第２の情報がサーバ公開鍵・サーバ秘密鍵である場合で説明する。また、チャレンジは先述のランダムな数値列とする。レスポンス生成部３２０は、サーバ秘密鍵を用いてチャレンジを暗号化することにより、暗号化済みチャレンジを生成し、これをレスポンスとする。レスポンス検証部２３０では、サーバ公開鍵を用いて、レスポンス、つまり暗号化済みチャレンジを復号する。そして、復号結果とチャレンジ生成部２２０が生成したチャレンジが一致するかをレスポンス検証部２３０は確認する。一致する場合、サーバ認証は成功となる。つまり、正当なサーバであると判断する。一方、一致しない場合、サーバ認証は失敗となる。つまり、当該サーバは正当でないと判断する。
【００３４】
なお、オンラインサービス提供者が１組のサーバ公開鍵とサーバ秘密鍵を生成し、書き換え権限を有する者が複数ユーザの端末２００の耐タンパユーザ記録部２１０に同一のサーバ公開鍵を記録することとすれば、サーバ３００の記録部３１０では１つのサーバ秘密鍵を記録し、安全に管理しておけば、セキュリティ強度を容易に確保できるという長所も得られる。
【００３５】
先述のようにユーザ耐タンパ記録部２１０を通信キャリアが提供するＳＩＭとして構成する場合は、参考非特許文献６の第２章における“キャリアはカード管理者の役割として、利用者が安心・安全にサービスを利用できるよう、携帯電話上に搭載（発行）されるサービスが利用するメモリの管理と、不正なコンテンツの提供の防止を担う。”との記載からわかるように、通信キャリアによる管理に基づいてフィッシングを防止することとなる。そのため、通信キャリアを信頼することが前提となる。
（参考非特許文献６：菅野利博、塩野入匡宏、木川真孝、“進化するおサイフケータイ−ドコモＵＩＭカードへのＮＦＣ（Ｔｙｐｅ Ａ／Ｂ）対応サービス発行のしくみ、ＮＴＴ  ＤＯＣＯＭＯテクニカル・ジャーナル Ｖｏｌ.２１ Ｎｏ.１、２０１３年４月、pp.22-28）
図２を参照してサーバ認証システム１００の処理動作について説明する。まず、図２に記載していないサーバ認証のための事前の準備について説明する。
【００３６】
サーバ３００を用意するオンラインサービス提供者はサーバ認証に用いる第１の情報と第２の情報を生成する。第１の情報と第２の情報の一例は、先述の通り、サーバ公開鍵とサーバ秘密鍵のペアである。サーバ公開鍵は第１の情報としてユーザ耐タンパ記録部２１０（ＳＩＭ）に記録する。これにより第１の情報（サーバ公開鍵）の改ざんを防止する。一方、サーバ秘密鍵は第２の情報として記録部３１０に記録する。記録部３１０を耐タンパハードウェアとして構成する場合、例えば、ＨＳＭ（Ｈａｒｄｗａｒｅ Ｓｅｃｕｒｉｔｙ Ｍｏｄｕｌｅ）を用いればよい。ＨＳＭは記録した情報を一切取り出すことができないという特徴を有する。
【００３７】
なお、端末２００のユーザ耐タンパ記録部２１０にサーバ公開鍵を安全に記録する必要があるが、その方法としてＴＳＭ（Ｔｒｕｓｔｅｄ Ｓｅｒｖｉｃｅ Ｍａｎａｇｅｒ）を用いる方法がある（参考非特許文献６）。
【００３８】
続いて、図２に記載のサーバ認証の手順について説明する。ユーザが端末２００を用いてオンラインサービスを提供するサーバ３００に対してサービス利用を要求する（Ｓ２１５）。あわせてサーバ認証の手続きを開始する。具体的には、端末２００は、チャレンジ生成部２２０を用いてチャレンジを生成し（Ｓ２２０）、通信部２９０を用いて生成したチャレンジをサーバ３００に送信する（Ｓ２２５）。
【００３９】
サーバ３００は、通信部３９０を用いて端末２００から送信されてきたチャレンジを受信する。レスポンス生成部３２０は、記録部３１０に記録された第２の情報（サーバ秘密鍵）を用いて受信したチャレンジからレスポンスを生成する（Ｓ３２０）。記録部３１０をＨＳＭとした場合、ＨＳＭ上でレスポンスを生成する。第２の情報であるサーバ秘密鍵を用いてチャレンジを暗号化し、暗号化済みチャレンジをレスポンスとする。サーバ３００は、通信部３９０を用いて生成したレスポンスを端末２００に送信する（Ｓ３２５）。
【００４０】
端末２００は、通信部２９０を用いてサーバ３００から送信されてきたレスポンスを受信する。端末２００のレスポンス検証部２３０は、ユーザ耐タンパ記録部２１０に記録された第１の情報（サーバ公開鍵）を用いてユーザ耐タンパ記録部２１０上でレスポンスを検証する（Ｓ２３０）。第１の情報であるサーバ公開鍵を用いてユーザ耐タンパ記録部２１０上でレスポンス、つまり暗号化済みチャレンジを復号し、復号結果とチャレンジ生成部２２０が生成したチャレンジが一致するかを確認する。一致する場合は、サーバ３００は正当なサーバであるとサーバがなりすましたものでないことを確認する。一方、一致しない場合は、サーバ３００は正当なサーバでないとサーバがなりすましたものであることを確認する。
【００４１】
上述の通り、記録部３１０・ユーザ耐タンパ記録部２１０が耐タンパハードウェアである場合、耐タンパハードウェア上で認証の処理に用いるレスポンスの生成・検証を行うこととなり、耐タンパハードウェアからサーバ秘密鍵・サーバ公開鍵を一切漏らさないようにできる。
【００４２】
以下、図３を参照してサーバ認証システム１００を適用したオンラインバンキングサービスについて説明する。図３は、サーバ認証システム１００を用いて構成したオンラインバンキングシステムの動作を示すシークエンス図である。なお、サーバ認証のための事前の準備は完了しているものとする。つまり、端末２００のユーザ耐タンパ記録部２１０には第１の情報であるサーバ公開鍵が記録されているものとする。また、サービス提供サーバ３００’の記録部３１０はＨＳＭで構成されており、記録部３１０には第２の情報であるサーバ秘密鍵が記録されているものとする。また、認証サーバ４００は、サービス提供サーバ３００’に代わりユーザ認証を行うものであり、シングルサインオンの機能を提供するものである。図３の点線による囲み部が、シングルサインオンの機能を用いたユーザ認証のフローにかかるものを示す。
【００４３】
ユーザが端末２００を用いてオンラインバンキングサービスを提供するサービス提供サーバ３００’に対してサービス利用を要求する（Ｓ２１５）。図２に記載のシークエンス（Ｓ２２０〜Ｓ２３０）に即して端末２００はサービス提供サーバ３００’に対してサーバ認証をする（Ｓ９１５）。
【００４４】
サーバ認証が成功すると、端末２００は通信部２９０を用いてその旨をサービス提供サーバ３００’に送信する（Ｓ２３５）。なお、サーバ認証に失敗した場合は、この時点でオンラインバンキングサービスの処理が終了する。
【００４５】
サービス提供サーバ３００’はサーバ認証成功の通知を受信すると、サービス利用要求に伴うユーザ認証の要求を認証サーバ４００にリダイレクトする（Ｓ３４５）。認証サーバ４００は端末２００に対してユーザ認証をする（Ｓ９４５）。ユーザ認証にはＩＤ・パスワード方式を用いてもよいし、非特許文献５に記載のユーザなりすまし防止技術を用いてもよい。非特許文献５に記載の技術を用いることにより、ユーザとサーバの相互認証が可能となり、ユーザとサーバは互いに相手の正当性を確認することが可能となる。認証サーバ４００は、ユーザ認証の結果であるアサーションを生成し、サービス提供サーバ３００’にリダイレクト送信する（Ｓ４４５）。
【００４６】
アサーションにユーザ認証成功とある場合、サービス提供サーバ３００’はオンラインバンキングサービスを提供する（Ｓ３５５）。一方、失敗とあった場合は、この時点でオンラインバンキングサービスの処理が終了する。図３のシークエンスを経ることにより、オンラインバンキングサービスのサイトが不正なサイトになっていないことを確認し、安心してサービスを利用することが可能となる。
【００４７】
なお、オンラインバンキングサービスの処理結果を送信する際に非特許文献５に記載の技術を用いることとすれば、処理結果を受け取る前にサーバ認証を行うだけでなくサーバによる処理結果も検証することとなるため、サーバのなりすまし及び処理結果の改ざんを同時に防ぐことが可能となる。
【００４８】
認証局が発行したＳＳＬサーバ証明書のようにユーザ自身による管理が難しい証明書を用いてサーバ認証をするのではなく、ユーザが十分に把握できる情報（先ほどの例では、サーバ公開鍵）を耐タンパハードウェアに記録し、その情報を用いてサーバ認証をすることにより、正当なサイトに見せかけたフィッシング、特に意図しない信用の追加を悪用したフィッシングを防ぐことが可能となる。
【００４９】
また、ＳＳＬ証明書を用いる現行の方法ではユーザ自身にＳＳＬサーバ証明書を更新・削除の作業を実施させる必要があるが、本発明では耐タンパハードウェアへの書き換え権限を有する者がその作業を行うため、ユーザはそのような作業をする必要がない。ユーザがその管理に一切関与することがないため、ユーザは書き換え権限を有する者を信用する限りにおいては、安心してサーバ認証が行えると同時に、自動更新されるため高い利便性を享受することが可能となる。
【００５０】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００５１】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００５２】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００５３】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００５４】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００５５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００５６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2017079419.tif 000003
【図２】
2017079419.tif 000004
【図３】
2017079419.tif 000005