JP2012060366A - Communication system, communication method and computer program - Google Patents

Communication system, communication method and computer program Download PDF

Info

Publication number
JP2012060366A
JP2012060366A JP2010200941A JP2010200941A JP2012060366A JP 2012060366 A JP2012060366 A JP 2012060366A JP 2010200941 A JP2010200941 A JP 2010200941A JP 2010200941 A JP2010200941 A JP 2010200941A JP 2012060366 A JP2012060366 A JP 2012060366A
Authority
JP
Japan
Prior art keywords
authentication
terminal
server
shared key
frame
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.)
Pending
Application number
JP2010200941A
Other languages
Japanese (ja)
Inventor
Hisayuki Isshiki
寿幸 一色
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010200941A priority Critical patent/JP2012060366A/en
Publication of JP2012060366A publication Critical patent/JP2012060366A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a communication system that establishes encrypted communication after authentication between a terminal loaded with a browser incapable of accessing a memory of the terminal and a server without a server certificate.SOLUTION: A terminal 2 includes: a screen area division section 21 for dividing a browser screen area into a plurality of frames; an authentication requesting section 22 for requesting a server 3 to authenticate authentication information via a first frame; an intermediate data storage section 23 for storing intermediate data in the process of requesting authentication in another frame different from the first frame; a shared key generation section 24 for generating a shared key from the intermediate data if a notification of successful authentication is received from the server 3; and a shared key storage section 25 for storing the shared key in another frame. The server 3 includes: an authentication section 32 for determining whether or not to authenticate the authentication information requested by the terminal 2 according to an authentication information storage section 31, and sending the authentication result to the terminal 2; and a shared key generation section 33 for generating a shared key from intermediate data in the process of authenticating the authentication information if the authentication is successful.

Description

本発明は、暗号通信を行う通信システムに関し、特に、ユーザ認証後に暗号通信を行う通信システム、通信方法、およびコンピュータ・プログラムに関する。   The present invention relates to a communication system that performs cryptographic communication, and more particularly, to a communication system, a communication method, and a computer program that perform cryptographic communication after user authentication.

ネットワークを介してサービスを提供する通信システムとして、ユーザ認証後に暗号通信を行いながらサービスを提供する通信システムが多く知られている。このような通信システムでは、端末においてウェブブラウザアプリケーション(以下、単にブラウザと記載する)が用いられることを前提としているものが多い。   Many communication systems that provide services while performing encrypted communication after user authentication are known as communication systems that provide services via a network. Many of such communication systems are based on the assumption that a web browser application (hereinafter simply referred to as a browser) is used in a terminal.

例えば、ウェブメールサービスを提供する通信システムは、ユーザがあるメールアドレスの所有者であることをユーザIDとパスワードとを用いて認証し、その後、サーバが格納しているユーザ宛のメールを、ユーザの操作する端末に送信する。そして、端末に搭載されたブラウザは、ユーザ宛のメールを表示する。このとき、サーバから端末に送信するメールが漏洩することがないように、サーバおよび端末間で暗号通信が行われることが望ましい。   For example, a communication system providing a web mail service authenticates that a user is an owner of a certain mail address by using a user ID and a password, and then sends a mail addressed to the user stored in the server to the user. Send to the terminal operated by. Then, the browser installed in the terminal displays the mail addressed to the user. At this time, it is desirable that encrypted communication is performed between the server and the terminal so that mail transmitted from the server to the terminal does not leak.

一般に、このような暗号通信には、SSL(Secure Socket Layer)通信が利用される。SSL通信を利用するために、サーバは、あらかじめサーバ証明書を証明書発行機関等から取得しておく。端末は、サーバから受信するサーバ証明書の有効性や信頼性を確認した後、暗号通信を開始することにより、サービスの提供を受ける。   In general, SSL (Secure Socket Layer) communication is used for such encrypted communication. In order to use SSL communication, the server acquires a server certificate from a certificate issuing organization or the like in advance. After confirming the validity and reliability of the server certificate received from the server, the terminal receives provision of services by starting encrypted communication.

しかしながら、ユーザ認証後に暗号通信を行うことが望ましいサービスを提供する通信システムであっても、サーバがサーバ証明書を所有していない場合がある。例えば、個人が運用するサーバは、取得に費用がかかるサーバ証明書を所有しない場合が多い。そして、サーバ証明書を所有しないサーバは、SSL通信を行うことができない。   However, even in a communication system that provides a service for which it is desirable to perform encrypted communication after user authentication, the server may not have a server certificate. For example, a server operated by an individual often does not have a server certificate that is expensive to acquire. A server that does not own a server certificate cannot perform SSL communication.

このような通信システムが暗号通信を行うためには、ユーザ認証後に、サーバおよび端末間で暗号通信用の鍵を交換して共有する認証付鍵交換を行う必要がある。認証付鍵交換の技術としては、パスワードを用いてユーザ認証を行い、その認証中に生成した途中データを用いて、暗号通信用の共有鍵を生成するものが知られている(例えば、非特許文献1および非特許文献2参照)。これらの認証付鍵交換の技術は、それぞれ安全性が数学的に保証されている。   In order for such a communication system to perform cryptographic communication, it is necessary to perform key exchange with authentication in which a key for cryptographic communication is exchanged and shared between the server and the terminal after user authentication. As a technique for key exchange with authentication, a technique for performing user authentication using a password and generating a shared key for encrypted communication using intermediate data generated during the authentication is known (for example, non-patent) Reference 1 and Non-Patent Document 2). Each of these authenticated key exchange techniques is mathematically guaranteed to be secure.

Bellare, M., D. Pointcheval, P. Rogaway. "Authenticated Key Exchange Secure against Dictionary Attacks", Eurocrypt 3000 LNCS (Springer-Verlag) 1807.Bellare, M., D. Pointcheval, P. Rogaway. “Authenticated Key Exchange Secure against Dictionary Attacks”, Eurocrypt 3000 LNCS (Springer-Verlag) 1807. Katz, J., R. Ostrovsky, M. Yung. "Efficient Password-Authenticated Key Exchange Using Human-Memorable Passwords", Eurocrypt 3001 (Springer-Vergal) 2045.Katz, J., R. Ostrovsky, M. Yung. "Efficient Password-Authenticated Key Exchange Using Human-Memorable Passwords", Eurocrypt 3001 (Springer-Vergal) 2045.

しかしながら、端末に搭載されるブラウザは、端末が有するメモリにアクセスできない(すなわち、メモリに記憶された情報を読み書きできない)という動作上の制限を有する場合がある。例えば、携帯電話に搭載されるブラウザは、上述の制限を有する場合がある。   However, a browser installed in the terminal may have an operational limitation that the memory included in the terminal cannot be accessed (that is, information stored in the memory cannot be read and written). For example, a browser installed in a mobile phone may have the above-described limitation.

非特許文献1および非特許文献2に記載された認証付鍵交換の技術では、前述のように、ユーザ認証において生成した途中データを、暗号通信用の鍵共有に利用するため、これら途中データを一時的に記憶しておく必要がある。   In the technology for key exchange with authentication described in Non-Patent Document 1 and Non-Patent Document 2, as described above, the intermediate data generated in user authentication is used for key sharing for encryption communication. It is necessary to memorize temporarily.

ここで、端末のメモリにアクセスできないという制限のあるブラウザを搭載した端末は、途中データを端末のメモリに記憶しておくことができない。したがって、非特許文献1および非特許文献2に記載された技術を採用した通信システムでは、上述の制限を有する端末に対して、ユーザ認証後に暗号通信を行うサービスを提供することができない。   Here, a terminal equipped with a browser that cannot access the terminal memory cannot store intermediate data in the terminal memory. Therefore, in a communication system employing the techniques described in Non-Patent Document 1 and Non-Patent Document 2, it is not possible to provide a service for performing encrypted communication after user authentication to a terminal having the above-described restrictions.

本発明は、上述の課題を解決するためになされたもので、端末のメモリにアクセスできない制限を有するブラウザを搭載した端末と、サーバ証明書を所有しないサーバとの間で、ユーザ認証後に暗号通信を行う通信システムを提供することを目的とする。   The present invention has been made to solve the above-described problem, and performs encrypted communication after user authentication between a terminal equipped with a browser having a restriction that prevents access to the memory of the terminal and a server that does not have a server certificate. It aims at providing the communication system which performs.

本発明の通信システムは、サーバと、端末とを備えた通信システムであって、前記端末は、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求部と、前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、を有し、前記サーバは、あらかじめ登録された認証情報を格納した認証情報格納部と、前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる前記共有鍵を生成する共有鍵生成部と、を有する。   The communication system of the present invention is a communication system including a server and a terminal, and the terminal includes a screen area dividing unit that divides a browser screen area for displaying content into a plurality of frames, and a plurality of frames. An authentication request unit that requests the server to authenticate the authentication information acquired through the first frame, and intermediate data used when the server requests the authentication. , When the intermediate data storage unit stored in a frame other than the first frame and the authentication result information received from the server indicate successful authentication, based on the intermediate data stored in the intermediate data storage unit A shared key generation unit that generates a shared key used for encrypted communication with the server, and a shared key storage unit that stores the shared key in the other frame, and the server An authentication information storage unit storing authentication information registered in advance and whether or not to authenticate authentication information required for authentication by the terminal based on the authentication information storage unit; An authentication unit that transmits the authentication result information to the terminal, and when the authentication unit determines to authenticate the authentication information, based on the intermediate data used when authenticating the authentication information, A shared key generation unit that generates the shared key used for the encrypted communication.

また、本発明のサーバは、あらかじめ登録された認証情報を格納した認証情報格納部と、前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成部と、を備える。   In addition, the server of the present invention determines, based on the authentication information storage unit storing authentication information registered in advance and the authentication information storage unit, whether to authenticate authentication information required for authentication by the terminal. In addition, when it is determined that the authentication information is authenticated by the authentication unit that transmits the authentication result information indicating whether or not the authentication is successful to the terminal, the intermediate data used when the authentication information is authenticated And a shared key generation unit that generates a shared key used for encrypted communication with the terminal.

また、本発明の端末は、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介してサーバに要求する認証要求部と、前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、を備える。   Further, the terminal of the present invention includes a screen area dividing unit that divides a browser screen area that displays content into a plurality of frames, and authentication of authentication information acquired through a first frame among the plurality of frames. An authentication request unit for requesting the server via the first frame, and intermediate data storage for storing the intermediate data used when requesting the authentication from the server in another frame other than the first frame And a shared key generation unit that generates a shared key used for encrypted communication with the server based on the intermediate data stored in the intermediate data storage unit when the authentication result information received from the server represents authentication success And a shared key storage unit for storing the shared key in the other frame.

また、本発明のコンピュータ・プログラムは、端末と通信を行うサーバに、あらかじめ登録された認証情報を認証情報格納部に格納しておく認証情報格納ステップと、前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証ステップと、前記認証ステップで、前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、を実行させる。   The computer program according to the present invention includes an authentication information storage step of storing authentication information registered in advance in a server that communicates with the terminal in the authentication information storage unit, and the terminal based on the authentication information storage unit. Determining whether or not to authenticate authentication information required for authentication, and transmitting authentication result information indicating whether or not the authentication is successful to the terminal, and authenticating the authentication information in the authentication step. If it is determined, a shared key generation step of generating a shared key used for encrypted communication with the terminal is executed based on intermediate data used when authenticating the authentication information.

また、本発明のコンピュータ・プログラムは、サーバと通信を行う端末に、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割ステップと、前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求ステップと、前記認証要求ステップで前記認証を要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納する途中データ格納ステップと、前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する共有鍵格納ステップと、を実行させる。   Further, the computer program of the present invention includes a screen area dividing step for dividing a browser screen area for displaying content into a plurality of frames on a terminal that communicates with a server, and a first frame among the plurality of frames. Requesting the server to authenticate the authentication information acquired through the first frame, and intermediate data used when requesting the authentication in the authentication request step, An intermediate data storage step for storing in an intermediate data storage unit in a frame other than the frame, and when the authentication result information received from the server represents an authentication success, based on the intermediate data stored in the intermediate data storage unit Generating a shared key used for encrypted communication with the server; and sharing the shared key in the other frame A shared key storing step of storing in the storage unit, thereby to execute.

また、本発明のデータ構造は、サーバから端末に配信されるコンテンツのデータ構造であって、前記端末において前記コンテンツが表示されるブラウザ画面領域を構成する複数のフレームの構造が定義されたフレーム構造情報と、前記複数のフレームのうち第1のフレームに適用される情報を表し、前記第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求するとともに、前記サーバから受信した認証結果情報が認証成功を表す場合、前記認証を前記サーバに要求する際に使用した途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する認証付鍵交換アプリケーションを含む第1フレーム情報と、前記第1のフレーム以外の他のフレームに適用される情報を表し、前記途中データを格納する途中データ格納情報と、前記共有鍵を格納する共有鍵格納情報と、を含む他フレーム情報と、を含む。   The data structure of the present invention is a data structure of content delivered from a server to a terminal, and a frame structure in which a plurality of frames constituting a browser screen area in which the content is displayed on the terminal is defined. Represents information and information applied to the first frame among the plurality of frames, and requests authentication of the authentication information acquired via the first frame to the server via the first frame. In addition, if the authentication result information received from the server indicates successful authentication, authentication with a certificate that generates a shared key used for encrypted communication with the server is based on intermediate data used when requesting the authentication to the server. Represents first frame information including a key exchange application and information applied to other frames other than the first frame. Including a middle data storage information for storing data, and a another frame information including a shared key storage information for storing the shared key.

また、本発明の通信方法は、サーバと、端末とを用いて、前記端末は、コンテンツを表示するブラウザ画面領域を複数のフレームに分割し、前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求し、前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納し、前記サーバは、あらかじめ登録された認証情報を認証情報格納部に格納しておき、前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信し、前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成し、前記端末は、前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる前記共有鍵を生成し、前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する。   Further, the communication method of the present invention uses a server and a terminal, and the terminal divides a browser screen area for displaying content into a plurality of frames, and the first frame of the plurality of frames is passed through the first frame. Request authentication of the acquired authentication information to the server via the first frame, and send intermediate data used when requesting the authentication to the server in another frame other than the first frame. The server stores the authentication information registered in advance in the authentication information storage unit, and the authentication information requested to be authenticated by the terminal based on the authentication information storage unit. In addition to determining whether or not to authenticate, transmitting authentication result information indicating whether or not the authentication is successful to the terminal, and determining that the authentication information is to be authenticated, it is used when authenticating the authentication information. Based on the intermediate data, a shared key used for encryption communication with the terminal is generated. When the authentication result information received from the server indicates authentication success, the terminal stores the intermediate key stored in the intermediate data storage unit. Based on the data, the shared key used for encryption communication with the server is generated, and the shared key is stored in the shared key storage unit in the other frame.

本発明は、端末のメモリにアクセスできない制限を有するブラウザを搭載した端末と、サーバ証明書を所有しないサーバとの間で、ユーザ認証後に暗号通信を行う通信システムを提供することができる。   The present invention can provide a communication system that performs encrypted communication after user authentication between a terminal equipped with a browser having a restriction that cannot access the memory of the terminal and a server that does not have a server certificate.

本発明の第1の実施の形態としての通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system as the 1st Embodiment of this invention. 本発明の第1の実施の形態としての通信システムのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the communication system as the 1st Embodiment of this invention. 本発明の第1の実施の形態としての通信システムの機能ブロック図である。It is a functional block diagram of the communication system as a 1st embodiment of the present invention. 本発明の第1の実施の形態としての通信システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the communication system as the 1st Embodiment of this invention. 本発明の第2の実施の形態としての通信システムの機能ブロック図である。It is a functional block diagram of the communication system as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としての通信システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the communication system as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としての通信システムが楕円Diffie-Hellman鍵交換を採用した場合の動作の一例を示すシーケンス図である。It is a sequence diagram which shows an example of operation | movement when the communication system as the 2nd Embodiment of this invention employ | adopts elliptical Diffie-Hellman key exchange. 本発明の第2の実施の形態としての通信システムが公開鍵暗号を採用した場合の動作の一例を示すシーケンス図である。It is a sequence diagram which shows an example of an operation | movement when the communication system as the 2nd Embodiment of this invention employ | adopts public key encryption. 本発明の各実施の形態においてサーバに格納されるデータ構造の一例を示す模式図である。It is a schematic diagram which shows an example of the data structure stored in a server in each embodiment of this invention.

以下、本発明の各実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1の実施の形態)
本発明の第1の実施の形態としての通信システムの構成を図1に示す。図1において、通信システム1は、端末2およびサーバ3を備えている。また、端末2およびサーバ3は、インターネット、LAN(Local Area Network)、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークによって互いに通信可能に接続されている。
(First embodiment)
FIG. 1 shows the configuration of a communication system as a first embodiment of the present invention. In FIG. 1, the communication system 1 includes a terminal 2 and a server 3. The terminal 2 and the server 3 are communicably connected to each other via a network constituted by the Internet, a LAN (Local Area Network), a public line network, a wireless communication network, or a combination thereof.

なお、図1において、1つの端末2を示しているが、本発明の通信システムが備える端末の数を限定するものではない。   In FIG. 1, one terminal 2 is shown, but the number of terminals provided in the communication system of the present invention is not limited.

次に、通信システム1を構成する各装置のハードウェア構成を図2に示す。   Next, FIG. 2 shows a hardware configuration of each device constituting the communication system 1.

図2において、端末2は、CPU(Central Processing Unit)2001と、RAM(Random Access Memory)2002と、ROM(Read Only Memory)2003と、記憶装置2004と、ネットワークインタフェース2005と、表示装置2006と、入力装置2007とを備えたコンピュータ装置によって構成されている。   In FIG. 2, a terminal 2 includes a CPU (Central Processing Unit) 2001, a RAM (Random Access Memory) 2002, a ROM (Read Only Memory) 2003, a storage device 2004, a network interface 2005, a display device 2006, It is comprised by the computer apparatus provided with the input device 2007. FIG.

また、図2において、サーバ3は、CPU3001と、RAM3002と、ROM3003と、記憶装置3004と、ネットワークインタフェース3005とを備えたコンピュータ装置によって構成されている。   In FIG. 2, the server 3 includes a computer device including a CPU 3001, a RAM 3002, a ROM 3003, a storage device 3004, and a network interface 3005.

次に、通信システム1を構成する各装置の機能ブロック構成を図3に示す。   Next, the functional block configuration of each device constituting the communication system 1 is shown in FIG.

図3において、端末2は、画面領域分割部21と、認証要求部22と、途中データ格納部23と、共有鍵生成部24と、共有鍵格納部25と、を備える。また、サーバ3は、認証情報格納部31と、認証部32と、共有鍵生成部33と、を備える。   In FIG. 3, the terminal 2 includes a screen area dividing unit 21, an authentication requesting unit 22, a midway data storage unit 23, a shared key generation unit 24, and a shared key storage unit 25. The server 3 includes an authentication information storage unit 31, an authentication unit 32, and a shared key generation unit 33.

ここで、画面領域分割部21は、コンピュータ・プログラムを実行するCPU2001および表示装置2006によって構成される。また、認証要求部22は、コンピュータ・プログラムを実行するCPU2001、ネットワークインタフェース2005、表示装置2006および入力装置2007によって構成される。また、途中データ格納部23および共有鍵格納部25は、コンピュータ・プログラムを実行するCPU2001およびRAM2002によって構成される。また、共有鍵生成部24は、コンピュータ・プログラムを実行するCPU2001によって生成される。なお、CPU2001によって実行されるコンピュータ・プログラムは、ROM2003または記憶装置2004に記憶される。端末内で読み書きされるデータ、あるいは画像などの保存データは、記憶装置2004に記憶される。   Here, the screen area dividing unit 21 includes a CPU 2001 that executes a computer program and a display device 2006. The authentication request unit 22 includes a CPU 2001 that executes a computer program, a network interface 2005, a display device 2006, and an input device 2007. The intermediate data storage unit 23 and the shared key storage unit 25 are configured by a CPU 2001 and a RAM 2002 that execute a computer program. The shared key generation unit 24 is generated by the CPU 2001 that executes a computer program. Note that the computer program executed by the CPU 2001 is stored in the ROM 2003 or the storage device 2004. Data read / written in the terminal or saved data such as images is stored in the storage device 2004.

また、認証情報格納部31は、記憶装置3004によって構成される。また、認証部32は、コンピュータ・プログラムを実行するCPU3001およびネットワークインタフェース3005によって構成される。また、共有鍵生成部33は、コンピュータ・プログラムを実行するCPU3001によって構成される。なお、CPU3001によって実行されるコンピュータ・プログラムは、ROM3003または記憶装置3004に記憶される。サーバ内で読み書きされるデータ、あるいは画像、文書などの保存データは、記憶装置3004に記憶される。   The authentication information storage unit 31 includes a storage device 3004. The authentication unit 32 includes a CPU 3001 that executes a computer program and a network interface 3005. The shared key generation unit 33 includes a CPU 3001 that executes a computer program. Note that the computer program executed by the CPU 3001 is stored in the ROM 3003 or the storage device 3004. Data read / written in the server or saved data such as images and documents is stored in the storage device 3004.

ただし、端末2及びサーバ3は、上述した構成に限定されない。   However, the terminal 2 and the server 3 are not limited to the configuration described above.

次に、端末2の各部の構成について説明する。   Next, the configuration of each part of the terminal 2 will be described.

画面領域分割部21は、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する。ここで、フレームとは、ブラウザ画面領域が区切られて生成される複数の領域のことである。フレーム機能を備えるブラウザは、それぞれのフレームに異なるコンテンツを適用することができる。   The screen area dividing unit 21 divides a browser screen area in which content is displayed into a plurality of frames. Here, the frame is a plurality of areas generated by dividing the browser screen area. A browser having a frame function can apply different contents to each frame.

また、画面領域分割部21は、コンテンツを画面に表示するブラウザによって実現される。例えば、画面領域分割部21は、コンテンツに含まれるフレームの構造情報を読み込んで画面領域に適用することにより、ブラウザの画面領域を複数のフレームに分割してもよい。   The screen area dividing unit 21 is realized by a browser that displays content on the screen. For example, the screen area dividing unit 21 may divide the screen area of the browser into a plurality of frames by reading the structure information of the frames included in the content and applying it to the screen area.

認証要求部22は、複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、第1のフレームを介してサーバ3に要求する。   The authentication request unit 22 requests the server 3 to authenticate the authentication information acquired via the first frame among the plurality of frames via the first frame.

ここで、認証情報とは、例えば、端末2を操作するユーザのユーザIDおよびパスワードを含む情報であってもよい。また、認証情報は、端末2に発行された端末IDおよびパスワードであってもよい。また、認証情報は、サーバ3によるサービスの提供対象であることを認証するためにあらかじめ発行されたその他の情報であってもよい。   Here, the authentication information may be information including a user ID and a password of a user who operates the terminal 2, for example. The authentication information may be a terminal ID and password issued to the terminal 2. The authentication information may be other information issued in advance to authenticate that the server 3 is a service providing target.

また、認証要求部22は、例えば、ユーザIDおよびパスワードの入力フィールドを含む入力画面を第1のフレームに表示することにより、第1のフレームを介して入力装置2007から認証情報を取得してもよい。   Further, the authentication request unit 22 may obtain the authentication information from the input device 2007 via the first frame by displaying an input screen including the user ID and password input fields on the first frame, for example. Good.

また、この場合、認証要求部22は、パスワードに所定の一方向性ハッシュ関数を適用した値とユーザIDとをサーバ3に送信することにより、認証情報の認証を要求してもよい。   In this case, the authentication request unit 22 may request authentication of authentication information by transmitting a value obtained by applying a predetermined one-way hash function to the password and a user ID to the server 3.

途中データ格納部23は、第1のフレーム以外の他のフレームに含まれる。そして、途中データ格納部23は、ブラウザ画面領域の他のフレームにおいて、認証要求部22によってサーバ3に認証が要求される際に使用される途中データを格納する。   The midway data storage unit 23 is included in a frame other than the first frame. The intermediate data storage unit 23 stores intermediate data used when the authentication request unit 22 requests authentication from the server 3 in another frame of the browser screen area.

ここで、フレーム機能に対応したブラウザは、一般的に、フレーム間でのデータの読み書きを可能としている。したがって、他のフレーム内の途中データ格納部23は、第1のフレームで動作する認証要求部22によって生成される途中データを格納することが可能である。   Here, a browser corresponding to the frame function generally enables reading and writing of data between frames. Therefore, the intermediate data storage unit 23 in another frame can store the intermediate data generated by the authentication request unit 22 operating in the first frame.

例えば、途中データ格納部23は、他のフレームに適用される情報に含まれるテキストフィールド等の要素によって構成されてもよい。このとき、途中データ格納部23を構成する要素は非表示であることが望ましい。あるいは、他のフレーム全体が非表示であってもよい。なお、ブラウザ画面領域内のフレームに適用される情報の格納領域は、RAM2002に確保されるので、途中データ格納部23は、物理的にはRAM2002の格納領域の一部に対応する。   For example, the midway data storage unit 23 may be configured by elements such as a text field included in information applied to other frames. At this time, it is desirable that the elements constituting the midway data storage unit 23 are not displayed. Alternatively, the entire other frame may be hidden. Note that the storage area of information applied to the frame in the browser screen area is secured in the RAM 2002, so the midway data storage unit 23 physically corresponds to a part of the storage area of the RAM 2002.

また、途中データ格納部23は、他のフレームに書き出される途中データの個数に応じて、複数の要素から構成されていてもよい。あるいは、途中データ格納部23は、所定のセパレータ文字によって連結された複数の途中データを1つの要素内に格納するようにしてもよい。また、途中データ格納部23は、第1のフレーム以外の他の1つのフレーム内に含まれていてもよいし、第1のフレーム以外の他の複数のフレームに含まれていてもよい。   Further, the intermediate data storage unit 23 may be composed of a plurality of elements in accordance with the number of intermediate data written to other frames. Alternatively, the intermediate data storage unit 23 may store a plurality of intermediate data connected by a predetermined separator character in one element. The intermediate data storage unit 23 may be included in one frame other than the first frame, or may be included in a plurality of frames other than the first frame.

また、他のフレーム内の途中データ格納部23に格納される途中データは、第1のフレームで機能する認証要求部22によってサーバ3に認証が要求されても、書き換えられることがない。一方、第1のフレームに適用されている情報は、認証要求部22によってサーバ3に認証が要求されると、書き換えられることになる。   Further, the intermediate data stored in the intermediate data storage unit 23 in another frame is not rewritten even if the server 3 requests authentication by the authentication request unit 22 functioning in the first frame. On the other hand, the information applied to the first frame is rewritten when the authentication request unit 22 requests authentication from the server 3.

例えば、途中データ格納部23が、認証要求部22によって第1のフレームを介して取得されたパスワードを途中データとして格納する場合について説明する。この場合、第1のフレームに入力されて第1のフレームで保持されていたユーザIDおよびパスワードは、認証要求部22が第1のフレームからサーバ3に認証を要求すると、サーバ3から受信する情報で書き換えられるため、保持されない。一方、他のフレーム内の途中データ格納部23に格納されたパスワードは、認証要求部22によって第1のフレームからサーバ3に認証を要求した後も、他のフレームに保持されていることになる。   For example, the case where the midway data storage unit 23 stores the password acquired by the authentication request unit 22 via the first frame as midway data will be described. In this case, the user ID and password input in the first frame and held in the first frame are information received from the server 3 when the authentication requesting unit 22 requests the server 3 to authenticate from the first frame. Because it is rewritten by, it is not retained. On the other hand, the password stored in the intermediate data storage unit 23 in another frame is held in the other frame even after the authentication request unit 22 requests authentication from the first frame to the server 3. .

共有鍵生成部24は、サーバ3から受信した認証結果情報が認証成功を表す場合、途中データ格納部23に格納された途中データに基づいて、サーバ3との暗号通信に用いる共有鍵を生成する。   When the authentication result information received from the server 3 indicates successful authentication, the shared key generation unit 24 generates a shared key used for encrypted communication with the server 3 based on the intermediate data stored in the intermediate data storage unit 23. .

このとき、共有鍵生成部24は、第1のフレームで機能し、途中データ格納部23から途中データを読み込むことにより、共有鍵を生成してもよい。   At this time, the shared key generation unit 24 functions in the first frame, and may read the intermediate data from the intermediate data storage unit 23 to generate the shared key.

例えば、共有鍵生成部24は、途中データ格納部23に格納されているパスワードを所定の暗号化アルゴリズムで暗号化した値を、サーバ3との暗号通信に用いる共有鍵として生成してもよい。   For example, the shared key generation unit 24 may generate a value obtained by encrypting a password stored in the midway data storage unit 23 with a predetermined encryption algorithm as a shared key used for encrypted communication with the server 3.

共有鍵格納部25は、他のフレームにおいて、生成された共有鍵を格納する。このとき、共有鍵格納部25を含むフレームは、第1のフレーム以外の他のフレームであれば、途中データ格納部23を含むフレームと同一であってもよいし、異なるフレームであってもよい。   The shared key storage unit 25 stores the shared key generated in another frame. At this time, the frame including the shared key storage unit 25 may be the same as or different from the frame including the midway data storage unit 23 as long as it is a frame other than the first frame. .

次に、サーバ3の各部の構成について説明する。   Next, the configuration of each part of the server 3 will be described.

認証情報格納部31は、あらかじめ登録された認証情報を格納している。認証情報格納部31に格納される認証情報は、サービス提供対象に対してあらかじめ発行されたものである。   The authentication information storage unit 31 stores authentication information registered in advance. The authentication information stored in the authentication information storage unit 31 is issued in advance to the service provision target.

例えば、認証情報格納部31は、ユーザIDとそのパスワードとを対応付けて格納していてもよい。   For example, the authentication information storage unit 31 may store a user ID and its password in association with each other.

認証部32は、認証情報格納部31に基づいて、端末2から認証を要求される認証情報を認証するか否かを判断する。そして、認証部32は、認証成功または認証失敗を表す情報を端末2に送信する。   Based on the authentication information storage unit 31, the authentication unit 32 determines whether to authenticate authentication information requested to be authenticated by the terminal 2. Then, the authentication unit 32 transmits information indicating authentication success or authentication failure to the terminal 2.

例えば、端末2からパスワードのハッシュ値およびユーザIDを受信することにより認証を要求された場合、認証部32は、受信したユーザIDに対応付けられたパスワードを認証情報格納部31から取得する。そして、認証部32は、取得したパスワードに上述の所定の一方向性ハッシュ関数を適用した値が、受信したパスワードのハッシュ値と等しいか否かを検証する。そして、認証部32は、これらの値が等しいか否かに基づいて、認証成功または認証失敗を表す情報を端末2に送信する。   For example, when authentication is requested by receiving a hash value of a password and a user ID from the terminal 2, the authentication unit 32 acquires a password associated with the received user ID from the authentication information storage unit 31. Then, the authentication unit 32 verifies whether or not the value obtained by applying the predetermined one-way hash function to the acquired password is equal to the hash value of the received password. And the authentication part 32 transmits the information showing an authentication success or an authentication failure to the terminal 2 based on whether these values are equal.

共有鍵生成部33は、認証部32によって前記認証情報を認証すると判断された場合、認証情報を認証する際に使用した途中データに基づいて、端末2との暗号通信に用いる共有鍵を生成する。   When the authentication unit 32 determines that the authentication information is to be authenticated, the shared key generation unit 33 generates a shared key to be used for encrypted communication with the terminal 2 based on the intermediate data used when authenticating the authentication information. .

例えば、共有鍵生成部33は、認証情報格納部31から取得したパスワードを、所定の暗号化アルゴリズムで暗号化した値を、端末2との暗号通信に用いる共有鍵として生成してもよい。   For example, the shared key generation unit 33 may generate a value obtained by encrypting the password acquired from the authentication information storage unit 31 with a predetermined encryption algorithm as a shared key used for encrypted communication with the terminal 2.

以上のように構成された通信システム1の動作について、図4のシーケンス図を用いて説明する。   The operation of the communication system 1 configured as described above will be described with reference to the sequence diagram of FIG.

まず、端末2の画面領域分割部21が、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する(ステップS1)。   First, the screen area dividing unit 21 of the terminal 2 divides a browser screen area for displaying content into a plurality of frames (step S1).

次に、認証要求部22が、複数のフレームのうちの第1のフレームを介して取得した認証情報の認証を、第1のフレームを介してサーバ3に要求する(ステップS2)。   Next, the authentication request unit 22 requests the server 3 to authenticate the authentication information acquired through the first frame among the plurality of frames (step S2).

例えば、認証要求部22は、上述のように、第1のフレームに表示した入力画面を介して入力装置からユーザIDおよびパスワードを取得し、取得したパスワードのハッシュ値と、ユーザIDとを含む情報をサーバ3に送信してもよい。   For example, as described above, the authentication request unit 22 acquires the user ID and password from the input device via the input screen displayed in the first frame, and includes the hash value of the acquired password and the user ID May be transmitted to the server 3.

次に、認証要求部22は、ステップS2で認証を要求する際に使用した途中データを、第1のフレーム以外の他のフレーム内の途中データ格納部23に書き出す(ステップS3)。   Next, the authentication request unit 22 writes the intermediate data used when requesting the authentication in step S2 to the intermediate data storage unit 23 in a frame other than the first frame (step S3).

例えば、認証要求部22は、上述のように、パスワードを途中データ格納部23に書き出してもよい。   For example, the authentication request unit 22 may write the password in the intermediate data storage unit 23 as described above.

端末2から認証を要求されたサーバ3の認証部32は、認証を要求される認証情報を認証情報格納部31に基づいて検証する(ステップS4)。   The authentication unit 32 of the server 3 requested for authentication from the terminal 2 verifies the authentication information requested for authentication based on the authentication information storage unit 31 (step S4).

例えば、認証部32は、受信したユーザIDに対応付けられたパスワードを認証情報格納部31から取得する。そして、認証部32は、取得したパスワードのハッシュ値と、受信したハッシュ値とが一致するか否かを検証してもよい。   For example, the authentication unit 32 acquires a password associated with the received user ID from the authentication information storage unit 31. And the authentication part 32 may verify whether the hash value of the acquired password and the received hash value correspond.

ここで、認証情報を認証しないと判断した場合(ステップS5でNo)、認証部32は、認証失敗を表す認証結果情報を端末2に送信する(ステップS6)。   If it is determined that the authentication information is not authenticated (No in step S5), the authentication unit 32 transmits authentication result information indicating an authentication failure to the terminal 2 (step S6).

一方、認証情報を認証すると判断した場合(ステップS5でYes)、認証部32は、認証成功を表す認証結果情報を端末2に送信する(ステップS7)。   On the other hand, if it is determined to authenticate the authentication information (Yes in step S5), the authentication unit 32 transmits authentication result information indicating successful authentication to the terminal 2 (step S7).

次に、共有鍵生成部33は、ステップS4で認証情報を検証する際に使用された途中データに基づいて、共有鍵を生成する(ステップS8)。   Next, the shared key generation unit 33 generates a shared key based on the intermediate data used when verifying the authentication information in step S4 (step S8).

例えば、共有鍵生成部33は、ステップS4で認証情報を検証する際に認証情報格納部31から取得したパスワードに、所定の暗号化アルゴリズムを適用することにより共有鍵を生成してもよい。   For example, the shared key generation unit 33 may generate a shared key by applying a predetermined encryption algorithm to the password acquired from the authentication information storage unit 31 when verifying the authentication information in step S4.

認証結果情報を受信した端末2の認証要求部22は、その認証結果情報が認証成功を表すか否かを判断する(ステップS9)。   Upon receiving the authentication result information, the authentication request unit 22 of the terminal 2 determines whether or not the authentication result information represents a successful authentication (step S9).

ここで、認証結果情報が認証失敗を表す場合、端末2は、認証付鍵交換動作を終了する。   Here, when the authentication result information indicates an authentication failure, the terminal 2 ends the key exchange operation with authentication.

例えば、端末2は、認証失敗を表す情報を第1のフレームに表示してから、認証付鍵交換動作を終了するようにしてもよい。   For example, the terminal 2 may display the information indicating the authentication failure in the first frame and then terminate the authenticated key exchange operation.

一方、認証結果情報が認証成功を表す場合、共有鍵生成部24は、途中データ格納部23に書き出された途中データを読み込む(ステップS10)。   On the other hand, when the authentication result information indicates that the authentication is successful, the shared key generation unit 24 reads the intermediate data written to the intermediate data storage unit 23 (step S10).

次に、共有鍵生成部24は、読み込んだ途中データに基づいて共有鍵を生成する(ステップS11)。   Next, the shared key generation unit 24 generates a shared key based on the read intermediate data (step S11).

例えば、共有鍵生成部24は、途中データ格納部23に保持しておいたパスワードに所定の暗号化アルゴリズムを適用することにより共有鍵を生成してもよい。   For example, the shared key generation unit 24 may generate a shared key by applying a predetermined encryption algorithm to the password held in the midway data storage unit 23.

次に、共有鍵生成部24は、ステップS11で生成した共有鍵を他のフレーム内の共有鍵格納部25に書き出す(ステップS12)。   Next, the shared key generation unit 24 writes the shared key generated in step S11 to the shared key storage unit 25 in another frame (step S12).

以降、端末2は、他のフレームに保持している共有鍵を用いてサーバ3との暗号通信を行う。また、サーバ3は、生成した共有鍵を用いて端末2との暗号通信を行う。   Thereafter, the terminal 2 performs cryptographic communication with the server 3 using a shared key held in another frame. The server 3 performs encrypted communication with the terminal 2 using the generated shared key.

生成された共有鍵による暗号通信は、ブラウザが終了されるか、他のフレームから共有鍵が削除されるまで行われる。   The encrypted communication using the generated shared key is performed until the browser is terminated or the shared key is deleted from another frame.

以上で、通信システム1の動作の説明を終了する。   Above, description of operation | movement of the communication system 1 is complete | finished.

次に、本発明の第1の実施の形態の効果について説明する。   Next, effects of the first exemplary embodiment of the present invention will be described.

本発明の第1の実施の形態としての通信システムは、端末のメモリにアクセスできない制限を有するブラウザを搭載した端末と、サーバ証明書を所有しないサーバとの間で、ユーザ認証後に暗号通信を行うことができる。   The communication system as the first embodiment of the present invention performs encrypted communication after user authentication between a terminal equipped with a browser having a restriction that prevents access to the memory of the terminal and a server that does not have a server certificate. be able to.

その理由は、本発明の第1の実施の形態における端末は、ブラウザ画面領域内の第1のフレームを用いてサーバとの間で認証付鍵交換を行い、認証付鍵交換を行う際に使用する途中データを他のフレームに書き出しておくからである。すなわち、本発明の第1の実施の形態における端末は、他のフレームをメモリとして使用するからである。   The reason is that the terminal according to the first embodiment of the present invention uses the first frame in the browser screen area to perform authenticated key exchange with the server, and is used when performing authenticated key exchange. This is because halfway data is written to other frames. That is, the terminal in the first embodiment of the present invention uses another frame as a memory.

これにより、本発明の第1の実施の形態における端末は、サーバとの間で認証付鍵交換に基づく情報が送受信されて第1のフレームの内容が書き換えられても、共有鍵の生成に使用する途中データを他のフレームで保持しておくことができるためである。したがって、本発明の第1の実施の形態における端末は、端末内部の記憶装置にアクセスすることなく、途中データの保持を必要とする認証付鍵交換の技術を採用したサーバのサービスを受けることができるからである。   As a result, the terminal according to the first exemplary embodiment of the present invention is used to generate a shared key even if information based on authenticated key exchange is transmitted to and received from the server and the content of the first frame is rewritten. This is because halfway data can be held in another frame. Therefore, the terminal according to the first embodiment of the present invention can receive the service of a server that employs an authenticated key exchange technique that requires holding data midway without accessing a storage device inside the terminal. Because it can.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.

まず、本発明の第2の実施の形態としての通信システム4の機能ブロック構成を図5に示す。図5において、通信システム4は、端末5とサーバ6とを備えている。また、端末5およびサーバ6とは、ネットワークを介して互いに通信可能に接続されている。なお、図5には1つの端末5を示しているが、本発明における端末5の数を限定するものではない。   First, FIG. 5 shows a functional block configuration of a communication system 4 as a second embodiment of the present invention. In FIG. 5, the communication system 4 includes a terminal 5 and a server 6. Further, the terminal 5 and the server 6 are connected to each other via a network so that they can communicate with each other. Although FIG. 5 shows one terminal 5, the number of terminals 5 in the present invention is not limited.

ここで、通信システム4のハードウェア構成は、図2を参照して説明した本発明の第1の実施の形態としての通信システム1のハードウェア構成と同一であるため、本実施の形態における詳細な説明を省略する。   Here, the hardware configuration of the communication system 4 is the same as the hardware configuration of the communication system 1 as the first embodiment of the present invention described with reference to FIG. The detailed explanation is omitted.

図5において、端末5は、本発明の第1の実施の形態における端末2に対して、認証要求部22に替えて認証要求部52と、共有鍵生成部24に替えて共有鍵生成部54とを備え、さらに、端末用アプリケーション受信部56と、端末用アプリケーション実行部57とを備える点が異なる。また、認証要求部52は、認証要求データ生成部521と、レスポンス生成部522とを有している。   In FIG. 5, the terminal 5 is different from the terminal 2 in the first exemplary embodiment of the present invention in that the authentication request unit 52 is replaced with the authentication request unit 22 and the shared key generation unit 54 is replaced with the shared key generation unit 24. And a terminal application receiving unit 56 and a terminal application executing unit 57 are different. The authentication request unit 52 includes an authentication request data generation unit 521 and a response generation unit 522.

また、図5において、サーバ6は、本発明の第1の実施の形態におけるサーバ3に対して、認証部32に替えて認証部62と、共有鍵生成部33に替えて共有鍵生成部63とを備え、さらに、端末用アプリケーション格納部64と、端末用アプリケーション送信部65とを備える点が異なる。また、認証部62は、チャレンジ生成部621と、レスポンス検証部622とを有している。   In FIG. 5, the server 6 is different from the server 3 according to the first embodiment of the present invention in that the authentication unit 62 is replaced with the authentication unit 32 and the shared key generation unit 63 is replaced with the shared key generation unit 33. And a terminal application storage unit 64 and a terminal application transmission unit 65. The authentication unit 62 includes a challenge generation unit 621 and a response verification unit 622.

ここで、端末用アプリケーション受信部56は、コンピュータ・プログラムを実行するCPU2001およびネットワークインタフェース2005によって構成される。また、端末用アプリケーション実行部57は、コンピュータ・プログラムを実行するCPU2001によって構成される。   Here, the terminal application reception unit 56 includes a CPU 2001 that executes a computer program and a network interface 2005. The terminal application execution unit 57 includes a CPU 2001 that executes a computer program.

また、端末用アプリケーション格納部64は、記憶装置3004によって構成される。また、端末用アプリケーション送信部65は、コンピュータ・プログラムを実行するCPU3001およびネットワークインタフェース3005によって構成される。   The terminal application storage unit 64 includes a storage device 3004. The terminal application transmission unit 65 includes a CPU 3001 that executes a computer program and a network interface 3005.

次に、端末5およびサーバ6の各部の構成について説明する。   Next, the configuration of each part of the terminal 5 and the server 6 will be described.

認証要求データ生成部521は、認証の要求を開始するための認証要求データを生成してサーバ6に送信する。そして、認証要求データ生成部521は、認証要求データを生成する際に使用した途中データを途中データ格納部23に格納する。   The authentication request data generation unit 521 generates authentication request data for starting an authentication request and transmits the authentication request data to the server 6. Then, the authentication request data generation unit 521 stores the intermediate data used when generating the authentication request data in the intermediate data storage unit 23.

例えば、認証要求データ生成部521は、認証情報がユーザIDおよびパスワードを含む場合、ユーザIDを含む認証要求データを生成してサーバ6に送信してもよい。   For example, if the authentication information includes a user ID and a password, the authentication request data generation unit 521 may generate authentication request data including the user ID and transmit it to the server 6.

レスポンス生成部522は、後述のチャレンジデータおよび途中データに基づいてレスポンスデータを生成してサーバ6に送信する。そして、レスポンス生成部522は、レスポンスデータを生成する際に使用する途中データを、途中データ格納部23に追加して格納する。   The response generation unit 522 generates response data based on challenge data and intermediate data, which will be described later, and transmits the response data to the server 6. Then, the response generation unit 522 adds the intermediate data used when generating the response data to the intermediate data storage unit 23 and stores it.

共有鍵生成部54は、認証要求データ生成部521およびレスポンス生成部522によって途中データ格納部23に格納された途中データに基づいて、共有鍵を生成する。   The shared key generation unit 54 generates a shared key based on the intermediate data stored in the intermediate data storage unit 23 by the authentication request data generation unit 521 and the response generation unit 522.

端末用アプリケーション受信部56は、サーバ6から端末用アプリケーションを受信する。端末用アプリケーションについては後述する。ここで、端末用アプリケーション受信部56は、端末5に搭載されるブラウザによって構成される。例えば、端末用アプリケーション受信部56は、サーバ6によってサービスが提供される所定のURL(Uniform Resource Locator)にアクセスすることにより、サーバ6から端末用アプリケーションを受信してもよい。   The terminal application receiving unit 56 receives a terminal application from the server 6. The terminal application will be described later. Here, the terminal application reception unit 56 is configured by a browser installed in the terminal 5. For example, the terminal application receiving unit 56 may receive a terminal application from the server 6 by accessing a predetermined URL (Uniform Resource Locator) provided by the server 6.

端末用アプリケーション実行部57は、受信した端末用アプリケーションを実行する。例えば、端末用アプリケーション実行部57は、ブラウザに組み込まれたアプリケーション実行エンジンによって構成される。また、このアプリケーション実行エンジンは、ブラウザによって表示されるコンテンツに含まれるアプリケーションを実行する。   The terminal application execution unit 57 executes the received terminal application. For example, the terminal application execution unit 57 is configured by an application execution engine incorporated in a browser. The application execution engine executes an application included in the content displayed by the browser.

チャレンジ生成部621は、端末5からの認証要求データの受信に応じて、ランダムなチャレンジデータを生成する。そして、チャレンジ生成部621は、生成したチャレンジデータを端末5に送信する。   The challenge generation unit 621 generates random challenge data in response to receiving authentication request data from the terminal 5. Then, the challenge generation unit 621 transmits the generated challenge data to the terminal 5.

なお、安全性の観点から、チャレンジデータは、毎回の認証ごとに異なるランダムなデータであることが望ましい。   From the viewpoint of safety, the challenge data is desirably random data that is different for each authentication.

レスポンス検証部622は、端末5から受信するレスポンスデータを検証する。そして、レスポンス検証部622は、認証情報を認証するか否を判断する。   The response verification unit 622 verifies response data received from the terminal 5. Then, the response verification unit 622 determines whether to authenticate the authentication information.

具体的には、レスポンス検証部622は、チャレンジ生成部621によって受信された認証要求データと、チャレンジ生成部621によって生成されたチャレンジデータとに基づいて、受信したレスポンスデータが、正しい認証情報に基づいて生成されたものか否かを判断する。   Specifically, the response verification unit 622 determines that the received response data is based on correct authentication information based on the authentication request data received by the challenge generation unit 621 and the challenge data generated by the challenge generation unit 621. It is determined whether or not it is generated.

共有鍵生成部63は、チャレンジ生成部621およびレスポンス検証部622によって使用された途中データに基づいて、共有鍵を生成する。   The shared key generation unit 63 generates a shared key based on the intermediate data used by the challenge generation unit 621 and the response verification unit 622.

端末用アプリケーション格納部64は、端末5を、画面領域分割部21、認証要求部52、途中データ格納部23、共有鍵生成部54および共有鍵格納部25として機能させるための端末用アプリケーションを格納する。   The terminal application storage unit 64 stores a terminal application for causing the terminal 5 to function as the screen area dividing unit 21, the authentication request unit 52, the midway data storage unit 23, the shared key generation unit 54, and the shared key storage unit 25. To do.

端末用アプリケーション送信部65は、上述の端末用アプリケーションを端末5に送信する。例えば、端末用アプリケーション送信部65は、所定のURLに対する端末5からのアクセスに応じて端末用アプリケーションを送信するようにしてもよい。   The terminal application transmission unit 65 transmits the above-described terminal application to the terminal 5. For example, the terminal application transmission unit 65 may transmit the terminal application in response to access from the terminal 5 to a predetermined URL.

以上のように構成された通信システム4の動作について、図6を用いて説明する。   The operation of the communication system 4 configured as described above will be described with reference to FIG.

まず、サーバ6の端末用アプリケーション送信部65は、端末5に端末用アプリケーションを送信する。そして、端末5の端末用アプリケーション受信部56は、端末用アプリケーションを受信する(ステップS21)。   First, the terminal application transmission unit 65 of the server 6 transmits a terminal application to the terminal 5. Then, the terminal application receiving unit 56 of the terminal 5 receives the terminal application (step S21).

例えば、端末用アプリケーション送信部65は、端末5において起動されている端末用アプリケーション受信部56(ブラウザ)からの要求に応じて、端末用アプリケーション
を送信するようにしてもよい。
For example, the terminal application transmission unit 65 may transmit the terminal application in response to a request from the terminal application reception unit 56 (browser) activated in the terminal 5.

次に、端末用アプリケーション実行部57は、端末用アプリケーションを実行する(ステップS22)。これにより、端末5は、画面領域分割部21、認証要求部52、途中データ格納部23、共有鍵生成部54および共有鍵格納部25として機能する。   Next, the terminal application execution unit 57 executes a terminal application (step S22). Accordingly, the terminal 5 functions as the screen area dividing unit 21, the authentication request unit 52, the midway data storage unit 23, the shared key generation unit 54, and the shared key storage unit 25.

次に、画面領域分割部21は、コンテンツを表示するブラウザ画面領域を複数のフレームに分割する(ステップS23)。   Next, the screen area dividing unit 21 divides the browser screen area displaying the content into a plurality of frames (step S23).

次に、認証要求データ生成部521は、第1のフレームに認証情報の入力画面を表示し、第1のフレームを介して入力装置2007から認証情報を取得する。そして、認証要求データ生成部521は、取得した認証情報を用いて、認証の要求を開始するための認証要求データを生成する(ステップS24)。   Next, the authentication request data generation unit 521 displays an authentication information input screen in the first frame, and acquires the authentication information from the input device 2007 via the first frame. Then, the authentication request data generation unit 521 generates authentication request data for starting an authentication request using the acquired authentication information (step S24).

例えば、認証要求データ生成部521は、第1フレームの入力画面からユーザIDおよパスワードを取得し、取得したユーザIDを含む認証要求データを生成してもよい。   For example, the authentication request data generation unit 521 may acquire a user ID and password from the input screen of the first frame, and generate authentication request data including the acquired user ID.

次に、認証要求データ生成部521は、ステップS24で認証要求データを生成するときに使用した途中データを、途中データ格納部23に書き出す(ステップS25)。   Next, the authentication request data generation unit 521 writes the intermediate data used when generating the authentication request data in step S24 to the intermediate data storage unit 23 (step S25).

例えば、認証要求データ生成部521は、ユーザIDおよびパスワードを含む情報を途中データ格納部23に書き出してもよい。   For example, the authentication request data generation unit 521 may write information including the user ID and password to the midway data storage unit 23.

このとき、安全性の観点から、途中データ格納部23は非表示であることが望ましい。   At this time, it is desirable that the midway data storage unit 23 is not displayed from the viewpoint of safety.

次に、認証要求データ生成部521は、ステップS24で生成した認証要求データをサーバ6に送信する(ステップS26)。   Next, the authentication request data generation unit 521 transmits the authentication request data generated in step S24 to the server 6 (step S26).

認証要求データを受信したサーバ6のチャレンジ生成部621は、チャレンジデータを生成する(ステップS27)。そして、チャレンジ生成部621は、生成したチャレンジデータを端末5に送信する(ステップS28)。   The challenge generation unit 621 of the server 6 that has received the authentication request data generates challenge data (step S27). Then, the challenge generation unit 621 transmits the generated challenge data to the terminal 5 (step S28).

このとき、安全性の観点から、チャレンジデータは、毎回の認証ごとに異なるランダムな値であることが望ましい。   At this time, from the viewpoint of safety, the challenge data is desirably a random value that is different for each authentication.

チャレンジデータを受信した端末5のレスポンス生成部522は、チャレンジデータ、および、途中データ格納部23に格納された途中データに基づいて、レスポンスデータを生成する(ステップS29)。   The response generation unit 522 of the terminal 5 that has received the challenge data generates response data based on the challenge data and the intermediate data stored in the intermediate data storage unit 23 (step S29).

例えば、レスポンス生成部522は、チャレンジデータおよびパスワードに基づいてレスポンスデータを生成してもよい。   For example, the response generation unit 522 may generate response data based on the challenge data and the password.

このとき、チャレンジデータがランダムな値であるため、同一の認証情報の認証を受ける際のレスポンスデータも毎回異なる。   At this time, since the challenge data is a random value, the response data when receiving authentication of the same authentication information is different each time.

次に、レスポンス生成部522は、レスポンスデータを生成する際に使用した途中データを、途中データ格納部23に追加して格納する(ステップS30)。   Next, the response generation unit 522 adds the intermediate data used when generating the response data to the intermediate data storage unit 23 and stores it (step S30).

これにより、途中データ格納部23は、ステップS25で書き出されたデータと、ステップS30で書き出されたデータとを格納している。   Thereby, the intermediate data storage unit 23 stores the data written in step S25 and the data written in step S30.

ここでも、安全性の観点から、途中データ格納部23は非表示であることが望ましい。   Again, from the viewpoint of safety, it is desirable that the midway data storage unit 23 is not displayed.

次に、レスポンス生成部522は、ステップS30で生成したレスポンスデータをサーバ6に送信する(ステップS31)。   Next, the response generation unit 522 transmits the response data generated in step S30 to the server 6 (step S31).

レスポンスデータを受信したサーバ6のレスポンス検証部622は、ステップS26で受信した認証要求データと、ステップS27で生成したチャレンジデータとに基づいて、受信したレスポンスデータを検証する(ステップS32)。   The response verification unit 622 of the server 6 that has received the response data verifies the received response data based on the authentication request data received in step S26 and the challenge data generated in step S27 (step S32).

例えば、レスポンス検証部622は、認証要求データに含まれるユーザIDに対応付けられたパスワードを認証情報格納部31から取得する。そして、レスポンス検証部622は、ステップS27で生成したチャレンジデータと、認証情報格納部31から取得したパスワードとに基づいて生成するレスポンスデータが、ステップS31で受信したレスポンスデータと一致するか否かを判断するようにしてもよい。   For example, the response verification unit 622 acquires a password associated with the user ID included in the authentication request data from the authentication information storage unit 31. Then, the response verification unit 622 determines whether the response data generated based on the challenge data generated in step S27 and the password acquired from the authentication information storage unit 31 matches the response data received in step S31. You may make it judge.

次に、レスポンス検証部622は、レスポンスデータの検証により認証に失敗した場合(ステップS33でNo)、認証失敗を表す認証結果情報を端末5に送信する(ステップS34)。   Next, when the authentication fails due to the verification of the response data (No in step S33), the response verification unit 622 transmits authentication result information indicating the authentication failure to the terminal 5 (step S34).

そして、サーバ6は、認証付鍵交換処理を終了する。   Then, the server 6 ends the key exchange process with authentication.

一方、レスポンス検証部622は、レスポンスデータの検証により認証に成功した場合(ステップS33でYes)、認証成功を表す認証結果情報を端末5に送信する(ステップS35)。   On the other hand, when the authentication is successful by verifying the response data (Yes in step S33), the response verification unit 622 transmits authentication result information indicating the authentication success to the terminal 5 (step S35).

次に、共有鍵生成部63は、レスポンスデータを検証する際に使用した途中データおよび認証要求データに基づいて、共有鍵を生成する(ステップS36)。   Next, the shared key generation unit 63 generates a shared key based on the intermediate data and authentication request data used when verifying the response data (step S36).

次に、認証結果情報を受信した端末5は、認証結果情報が認証失敗を表す場合(ステップS37でNo)、認証付鍵交換処理を終了する。   Next, when the authentication result information indicates an authentication failure (No in step S37), the terminal 5 that has received the authentication result information ends the key exchange process with authentication.

なお、このとき、端末5は、第1のフレームに再び認証情報の入力画面を表示することにより、新たな認証情報を入力装置2007から取得してもよい。この場合、通信システム4は、ステップS24からの動作を再度実行する。ただし、この場合、サーバ6は、安全性の観点から、認証要求データの再送信回数に制限を設け、再送信回数が連続して所定の回数以上となった場合、動作を終了するなどの運用上のルールを定めてもよい。   At this time, the terminal 5 may obtain new authentication information from the input device 2007 by displaying the authentication information input screen again in the first frame. In this case, the communication system 4 executes the operation from step S24 again. However, in this case, from the viewpoint of safety, the server 6 sets a limit on the number of times the authentication request data is retransmitted, and terminates the operation when the number of retransmissions continuously exceeds a predetermined number. The above rules may be established.

一方、認証結果情報が認証成功を表す場合(ステップS37でYes)、共有鍵生成部54は、途中データ格納部23から途中データを読み込む(ステップS38)。   On the other hand, when the authentication result information indicates successful authentication (Yes in step S37), the shared key generation unit 54 reads the intermediate data from the intermediate data storage unit 23 (step S38).

次に、共有鍵生成部54は、読み込んだ途中データに基づいて、共有鍵を生成する(ステップS39)。   Next, the shared key generation unit 54 generates a shared key based on the read halfway data (step S39).

次に、共有鍵生成部54は、生成した共有鍵を共有鍵格納部25に格納する(ステップS40)。   Next, the shared key generation unit 54 stores the generated shared key in the shared key storage unit 25 (step S40).

以降、端末5は、共有鍵格納部25に格納した共有鍵を用いてサーバ6との暗号通信を行う。また、サーバ6は、ステップS36で生成した共有鍵をサーバ6内部の記憶装置に一時記憶することにより端末5との暗号通信を行う。   Thereafter, the terminal 5 performs encrypted communication with the server 6 using the shared key stored in the shared key storage unit 25. Further, the server 6 performs encrypted communication with the terminal 5 by temporarily storing the shared key generated in step S36 in a storage device inside the server 6.

以上で、通信システム4の動作の説明を終了する。   Above, description of operation | movement of the communication system 4 is complete | finished.

次に、本発明の第2の実施形態の効果について説明する。   Next, effects of the second exemplary embodiment of the present invention will be described.

本発明の第2の実施形態としての通信システムは、端末の記憶装置にアクセスできない制限を有するブラウザを搭載した端末と、サーバ証明書を所有しないサーバとの間における、認証付鍵交換の安全性をさらに向上させることができる。   The communication system as the second exemplary embodiment of the present invention is a secure key exchange with authentication between a terminal equipped with a browser having a restriction that prevents access to a storage device of a terminal and a server that does not have a server certificate. Can be further improved.

その理由は、認証付鍵交換を行う際に使用する途中データを他のフレームに保持するため、チャレンジレスポンス方式のようにリプレイ攻撃に強い認証付鍵交換の技術を採用できるためである。ここで、チャレンジレスポンス方式では、端末は、サーバとの情報の送受信において使用する途中データを複数回一時記憶することを必要とする。このとき、上述のように他のフレームに途中データを保持することにより、メモリにアクセスできないブラウザが搭載された端末を用いた場合であっても、認証付鍵交換を行う際に使用する途中データを複数回一時記憶することができるからである。   The reason is that the intermediate data used when performing the key exchange with authentication is held in another frame, so that a technique of key exchange with authentication strong against a replay attack like the challenge response method can be adopted. Here, in the challenge-response method, the terminal needs to temporarily store intermediate data used for transmission / reception of information with the server a plurality of times. At this time, even when using a terminal equipped with a browser that cannot access the memory by holding the intermediate data in other frames as described above, the intermediate data used when performing key exchange with authentication This is because can be temporarily stored a plurality of times.

また、本発明の第2の実施の形態としての通信システムでは、端末の記憶装置にアクセスできない制限を有するブラウザであっても、フレーム機能およびアプリケーション実行機能を有するブラウザを搭載した端末であれば、安全性の高い認証付鍵交換を用いたサービスの提供を受けることができる。   Further, in the communication system as the second embodiment of the present invention, even if the browser has a restriction that cannot access the storage device of the terminal, as long as the terminal has a browser having a frame function and an application execution function, It is possible to receive a service using a highly secure key exchange with authentication.

その理由は、端末の記憶装置にアクセスできない制限を有するブラウザを搭載した端末がサーバと認証付鍵交換をするための端末用アプリケーションをサーバ側に格納しておき、サーバから端末に端末用アプリケーションを送信するからである。このため、端末は、特別なアプリケーションを有する必要がなく、フレーム機能およびアプリケーション実行機能を有するブラウザを搭載していれば、サーバとの間で安全性の高い認証付鍵交換を行うことができるからである。   The reason for this is that a terminal application that allows a terminal having a browser that cannot access the storage device of the terminal to exchange an authenticated key with the server is stored on the server side, and the terminal application is transferred from the server to the terminal. It is because it transmits. For this reason, it is not necessary for the terminal to have a special application, and if a browser having a frame function and an application execution function is mounted, a highly secure key exchange with authentication can be performed with the server. It is.

<第2の実施の形態の第1の動作例>
次に、本発明の第2の実施の形態における認証付鍵交換の技術として、楕円Diffie-Hellman鍵交換を適用した場合の動作例について、図7を参照して説明する。
<First Operation Example of Second Embodiment>
Next, an operation example in the case of applying elliptic Diffie-Hellman key exchange as a technology for authenticated key exchange in the second embodiment of the present invention will be described with reference to FIG.

ここでは、まず、楕円Diffie-Hellman鍵交換について説明する。   Here, first, elliptical Diffie-Hellman key exchange will be described.

楕円Diffie-Hellman鍵交換は、ユーザAおよびユーザBが、暗号通信に用いる共有鍵を共有する技術であり、数学的に安全であることが証明されている。   Elliptical Diffie-Hellman key exchange is a technique in which user A and user B share a shared key used for cryptographic communication, and has been proved to be mathematically secure.

初めに、gを楕円曲線上の群の生成元、qを楕円曲線上の群の位数とする。また、gおよびqは、ユーザAおよびユーザB間で共有されているものとする。
[ステップ1]:ユーザAは、0以上q−1以下の任意の値r1を選択し、[r1]gを計算する。
First, let g be the group generator on the elliptic curve and q be the order of the group on the elliptic curve. Also, g and q are assumed to be shared between user A and user B.
[Step 1]: User A selects an arbitrary value r1 of 0 or more and q−1 or less, and calculates [r1] g.

なお、ここで、[r1]gとは、生成元gに対して、楕円曲線上の群に定義された二項演算をr1回繰り返し適用することを表すものとする。すなわち、二項演算が加法として定義されていれば、[r1]gはgのr1倍を表す。そして、ユーザAは、 [r1]gをユーザBに送付する。
[ステップ2]:ユーザBは、0以上q−1以下の任意の値r2を選択し、[r2]gを計算する。そして、ユーザBは、[r2]gをユーザAに送付する。
[ステップ3]:ユーザAおよびユーザBは、それぞれ受信した [r2]gおよび[r1]gと、自らが選んだr1およびr2を用いて、[r1r2]g = [r1]([r2]g) = [r2]([r1]g)を計算する。そして、ユーザAおよびユーザBは、[r1r2]gを共有鍵とする。
Here, [r1] g represents that the binomial operation defined for the group on the elliptic curve is repeatedly applied to the generator g r1 times. That is, if a binary operation is defined as an addition, [r1] g represents r1 times g. User A then sends [r1] g to user B.
[Step 2]: User B selects an arbitrary value r2 between 0 and q−1 and calculates [r2] g. User B then sends [r2] g to user A.
[Step 3]: User A and User B use [r2] g and [r1] g received and r1 and r2 selected by themselves, respectively, and [r1r2] g = [r1] ([r2] g ) = [r2] ([r1] g) is calculated. User A and user B use [r1r2] g as a shared key.

この楕円Diffie-Hellman鍵交換は、[r]gからrを求めることが難しい、という楕円曲線上の離散対数仮定に基づいて、安全性が数学的に証明された技術である。   This elliptic Diffie-Hellman key exchange is a technique whose security has been mathematically proven based on the discrete logarithm assumption on the elliptic curve that it is difficult to obtain r from [r] g.

次に、このような楕円Diffie-Hellman鍵交換を採用した場合の、通信システム4の動作例について、図7のシーケンス図を参照して説明する。   Next, an operation example of the communication system 4 when such an elliptic Diffie-Hellman key exchange is adopted will be described with reference to the sequence diagram of FIG.

まず、端末5の要求に応じて、サーバ6の端末用アプリケーション送信部65は、端末用アプリケーションを端末5に送信する(ステップS21)。   First, in response to a request from the terminal 5, the terminal application transmitter 65 of the server 6 transmits a terminal application to the terminal 5 (step S21).

このとき、サーバ6は、端末用アプリケーションとともに、楕円曲線上の群の位数qおよび群の生成元gを端末5に送信する。   At this time, the server 6 transmits the group order q on the elliptic curve and the group generation source g together with the terminal application to the terminal 5.

また、送信される端末用アプリケーションは、端末5を画面領域分割部21、認証要求データ生成部521、レスポンス生成部522、途中データ格納部23、共有鍵生成部54として機能させるものである。また、この端末用アプリケーションは、ハッシュ関数Hおよびハッシュ関数Gを含んでいる。   The terminal application to be transmitted causes the terminal 5 to function as the screen area dividing unit 21, the authentication request data generating unit 521, the response generating unit 522, the midway data storage unit 23, and the shared key generating unit 54. The terminal application includes a hash function H and a hash function G.

ここで、ハッシュ関数Hは、任意の文字列を入力とし、位数q、生成元gを持つ楕円曲線上の群上の点を出力とするハッシュ関数である。また、ハッシュ関数Gは、任意の文字列を入力とし、kビットの文字列を出力とするハッシュ関数である。また、kはセキュリティパラメータである。なお、安全性の観点から、kは160以上であることが望ましい。   Here, the hash function H is a hash function that takes an arbitrary character string as input, and outputs points on a group on an elliptic curve having an order q and a generation source g. The hash function G is a hash function that receives an arbitrary character string and outputs a k-bit character string. K is a security parameter. From the viewpoint of safety, k is preferably 160 or more.

次に、端末5の端末用アプリケーション実行部57は、受信した端末用アプリケーションを実行する(ステップS22)。   Next, the terminal application execution unit 57 of the terminal 5 executes the received terminal application (step S22).

次に、画面領域分割部21は、2つのフレームからなるページをブラウザ上に表示する(ステップS23)。以降、ブラウザ上に表示された2つのフレームを、フレーム1およびフレーム2と記載する。なお、フレーム1は本発明の第1のフレームの一実施形態を構成し、フレーム2は本発明の他のフレームの一実施形態を構成する。   Next, the screen area dividing unit 21 displays a page composed of two frames on the browser (step S23). Hereinafter, the two frames displayed on the browser are referred to as frame 1 and frame 2. The frame 1 constitutes an embodiment of the first frame of the present invention, and the frame 2 constitutes an embodiment of another frame of the present invention.

次に、認証要求データ生成部521は、次のようにして、認証要求データを生成する(ステップS24)。   Next, the authentication request data generation unit 521 generates authentication request data as follows (step S24).

ステップS24では、まず、認証要求データ生成部521は、フレーム1を介してユーザID「userID」およびパスワード「pw」を取得する。   In step S24, first, the authentication request data generation unit 521 acquires the user ID “userID” and the password “pw” via the frame 1.

次に、認証要求データ生成部521は、0以上q−1以下の任意の値r1を選択する。   Next, the authentication request data generation unit 521 selects an arbitrary value r1 of 0 or more and q−1 or less.

さらに、認証要求データ生成部521は、kビットのsidをランダムに選択する。   Further, the authentication request data generation unit 521 randomly selects a k-bit sid.

そして、認証要求データ生成部521は、[r1]H(sid||pw)を認証要求データとして生成する。   Then, the authentication request data generation unit 521 generates [r1] H (sid || pw) as authentication request data.

次に、認証要求データ生成部521は、ステップS24において使用したg,q,r1,pw,sidをフレーム2の途中データ格納部23に格納する(ステップS25)。   Next, the authentication request data generation unit 521 stores g, q, r1, pw, and sid used in step S24 in the midway data storage unit 23 of frame 2 (step S25).

次に、認証要求データ生成部521は、認証要求データとして、[r1]H(sid||pw), userID,sidをサーバ6に送付する(ステップS26)。   Next, the authentication request data generation unit 521 sends [r1] H (sid || pw), userID, and sid as authentication request data to the server 6 (step S26).

認証要求データとして[r1]H(sid||pw), userID, sid を受信したサーバ6のチャレンジ生成部621は、次のようにしてチャレンジデータを生成する(ステップS27)。   The challenge generation unit 621 of the server 6 that has received [r1] H (sid || pw), userID, sid as authentication request data generates challenge data as follows (step S27).

ステップS27では、まず、チャレンジ生成部621は、受信したuserID に対応付けられたパスワードpwを認証情報格納部31から取得する。   In step S27, first, the challenge generation unit 621 acquires the password pw associated with the received userID from the authentication information storage unit 31.

さらに、チャレンジ生成部621は、0以上q−1以下の任意のr2を選択し、[r2]H(sid||pw)を計算する。   Furthermore, the challenge generation unit 621 selects an arbitrary r2 that is 0 or more and q−1 or less, and calculates [r2] H (sid || pw).

また、チャレンジ生成部621は、[r1r2]H(sid||pw)=[r2]([r1]H(sid||pw))を計算する。   The challenge generation unit 621 calculates [r1r2] H (sid || pw) = [r2] ([r1] H (sid || pw)).

そして、チャレンジ生成部621は、K0=G(sid||[r1r2]H(sid||pw)||0) をチャレンジデータとして生成する。   Then, the challenge generation unit 621 generates K0 = G (sid || [r1r2] H (sid || pw) || 0) as challenge data.

次に、チャレンジ生成部621は、K0および[r2]H(sid||pw)を端末5に送付する(ステップS28)。   Next, the challenge generation unit 621 sends K0 and [r2] H (sid || pw) to the terminal 5 (step S28).

チャレンジデータとしてK0および[r2]H(sid||pw)を受信した端末5のレスポンス生成部522は、次のようにしてレスポンスデータを生成する(ステップS29)。   The response generation unit 522 of the terminal 5 that has received K0 and [r2] H (sid || pw) as challenge data generates response data as follows (step S29).

ステップS29では、まず、レスポンス生成部522は、フレーム2の途中データ格納部23から g, q, r1, sid を読み込む。   In step S29, first, the response generation unit 522 reads g, q, r1, and sid from the midway data storage unit 23 of the frame 2.

さらに、レスポンス生成部522は、[r1r2]H(sid||pw) = [r1]([r2]H(sid||pw)) を計算する。   Further, the response generation unit 522 calculates [r1r2] H (sid || pw) = [r1] ([r2] H (sid || pw)).

また、レスポンス生成部522は、G(sid||[r1r2]H(sid||pw)||0) を計算し、受信したチャレンジデータのK0と一致するか否かを確認する。このとき、計算したK0と受信したK0とが一致しない場合は、端末5は動作を停止する。   Further, the response generation unit 522 calculates G (sid || [r1r2] H (sid || pw) || 0) and confirms whether or not it matches K0 of the received challenge data. At this time, if the calculated K0 does not match the received K0, the terminal 5 stops operating.

一方、計算したK0と受信したK0とが一致する場合、レスポンス生成部522は、K1= G(sid||[r1r2]H(sid||pw)||1)を、レスポンスデータとして生成する。   On the other hand, when the calculated K0 matches the received K0, the response generation unit 522 generates K1 = G (sid || [r1r2] H (sid || pw) || 1) as response data.

次に、レスポンス生成部522は、ステップS29で使用した[r1r2]H(sid||pw) をフレーム2の途中データ格納部23に追加する(ステップS30)。   Next, the response generation unit 522 adds [r1r2] H (sid || pw) used in step S29 to the midway data storage unit 23 of frame 2 (step S30).

次に、レスポンス生成部522は、レスポンスデータとしてK1 をサーバ6に送付する(ステップS31)。   Next, the response generation unit 522 sends K1 as response data to the server 6 (step S31).

レスポンスデータとしてK1を受信したサーバ6のレスポンス検証部622は、ステップS27でチャレンジデータを生成する際に使用した[r1r2]H(sid||pw)と、ステップS26で受信されたsidとを用いて、G(sid||[r1r2]H(sid||pw)||1)計算し、受信したレスポンスデータのK1と一致するか否かを検証する(ステップS32)。   The response verification unit 622 of the server 6 that has received K1 as response data uses [r1r2] H (sid || pw) used when generating challenge data in step S27 and the sid received in step S26. G (sid || [r1r2] H (sid || pw) || 1) is calculated, and it is verified whether or not it matches K1 of the received response data (step S32).

このとき、計算したK1と受信したK1とが一致しない場合(ステップS33でNo)、レスポンス検証部622は、認証失敗を表す検証結果情報を端末5に送付する(ステップS34)。そして、サーバ6は、認証付鍵交換動作を終了する
一方、計算したK1と受信したK1とが一致する場合(ステップS33でYes)、レスポンス検証部622は、認証成功を表す検証結果情報を端末5に送付する(ステップS35)。
At this time, if the calculated K1 and the received K1 do not match (No in step S33), the response verification unit 622 sends verification result information indicating an authentication failure to the terminal 5 (step S34). Then, the server 6 ends the key exchange operation with authentication. On the other hand, when the calculated K1 matches the received K1 (Yes in step S33), the response verification unit 622 displays verification result information indicating the authentication success in the terminal 5 (step S35).

そして、共有鍵生成部63は、K2=G(sid||[r1r2]H(sid||pw)||2) を共有鍵として生成する(ステップS36)。   Then, the shared key generation unit 63 generates K2 = G (sid || [r1r2] H (sid || pw) || 2) as a shared key (step S36).

検証結果情報を受信した端末5は、検証結果情報が認証失敗を表す場合(ステップS37でNo)、認証付鍵交換動作を終了する。   The terminal 5 that has received the verification result information ends the authenticated key exchange operation when the verification result information indicates an authentication failure (No in step S37).

一方、検証結果情報が認証成功を表す場合(ステップS37でYes)、共有鍵生成部54は、フレーム2の途中データ格納部23から[r1r2]H(sid||pw), sid を読み込む(ステップS38)。   On the other hand, if the verification result information indicates successful authentication (Yes in step S37), the shared key generation unit 54 reads [r1r2] H (sid || pw), sid from the midway data storage unit 23 of frame 2 (step S37). S38).

次に、共有鍵生成部54は、ステップS38で読み込んだ途中データに基づいて、K2=G(sid||[r1r2]H(sid||pw)||2)を共有鍵として生成する(ステップS39)。   Next, the shared key generation unit 54 generates K2 = G (sid || [r1r2] H (sid || pw) || 2) as a shared key based on the intermediate data read in step S38 (step S38). S39).

次に、共有鍵生成部54は、フレーム2の共有鍵格納部25に、ステップS39で生成した共有鍵K2を格納する(ステップS40)。   Next, the shared key generation unit 54 stores the shared key K2 generated in step S39 in the shared key storage unit 25 of frame 2 (step S40).

以降、端末5は、共有鍵格納部25に格納した共有鍵K2を用いてサーバ6との暗号通信を行う。また、サーバ6は、ステップS36で生成した共有鍵K2をサーバ6内部の記憶装置に一時記憶することにより端末5との暗号通信を行う。   Thereafter, the terminal 5 performs encrypted communication with the server 6 using the shared key K2 stored in the shared key storage unit 25. Further, the server 6 performs encrypted communication with the terminal 5 by temporarily storing the shared key K2 generated in step S36 in a storage device inside the server 6.

以上で、楕円Diffie-Hellman鍵交換を採用した通信システム4の動作例の説明を終了する。   Above, description of the operation example of the communication system 4 which employ | adopted elliptical Diffie-Hellman key exchange is complete | finished.

次に、楕円Diffie-Hellman鍵交換を採用した本発明の第2の実施の形態の効果について説明する。   Next, the effect of the second exemplary embodiment of the present invention that employs elliptical Diffie-Hellman key exchange will be described.

本発明の第2の実施の形態としての通信システムは、楕円Diffie-Hellman鍵交換を採用することにより、端末の記憶装置にアクセスできない制限を有するブラウザを搭載した端末と、サーバとの間において、認証付鍵交換に対するリプレイ攻撃、中間者攻撃、オンライン辞書攻撃、サーバへのなりすましに対する耐性を向上させることができる。   The communication system as the second exemplary embodiment of the present invention adopts elliptic Diffie-Hellman key exchange, so that a server equipped with a browser having a restriction that cannot access the storage device of the terminal, and the server, It is possible to improve resistance to replay attacks against authenticated key exchange, man-in-the-middle attacks, online dictionary attacks, and server impersonation.

まず、楕円Diffie-Hellman鍵交換を採用した通信システムが、リプレイ攻撃に対して耐性を持つ理由について説明する。攻撃者がリプレイ攻撃を行ったとしても、端末からサーバに送信される公開情報[r1]H(sid||pw) から、端末5における秘密情報r1を求めることができないからである。また、サーバ6が選択するr2は毎回異なる値をとるため、K0=G(sid||[r1r2]H(sid||pw)||0) を計算できないからである。したがって、リプレイ攻撃を行う攻撃者は レスポンスデータK1および共有鍵K2 を計算できないからである。   First, the reason why the communication system adopting the elliptic Diffie-Hellman key exchange is resistant to the replay attack will be described. This is because even if the attacker performs a replay attack, the secret information r1 in the terminal 5 cannot be obtained from the public information [r1] H (sid || pw) transmitted from the terminal to the server. Further, r2 selected by the server 6 takes a different value every time, and K0 = G (sid || [r1r2] H (sid || pw) || 0) cannot be calculated. Therefore, an attacker who performs a replay attack cannot calculate the response data K1 and the shared key K2.

また、楕円Diffie-Hellman鍵交換を採用した通信システムが、中間者攻撃に対して耐性を持つ理由について説明する。なぜなら、攻撃者が中間者攻撃を行ったとしても、公開情報[r1]H(sid||pw)および[r2]H(sid||pw) からそれぞれ秘密情報r1およびr2 を求めることが出来ず、したがって、[r1r2]H(sid||pw) およびK0,K1,K2 を計算できないからである。   In addition, the reason why the communication system employing the elliptic Diffie-Hellman key exchange is resistant to man-in-the-middle attacks will be described. Because, even if an attacker performs a man-in-the-middle attack, secret information r1 and r2 cannot be obtained from public information [r1] H (sid || pw) and [r2] H (sid || pw), respectively. Therefore, [r1r2] H (sid || pw) and K0, K1, K2 cannot be calculated.

さらに、楕円Diffie-Hellman鍵交換を採用した通信システムが、オンライン辞書攻撃に対して耐性を持つ理由について説明する。なぜなら、攻撃者が共有鍵K2を求めるには、r1,r2 および pw に対して辞書攻撃を行う必要がある。ここで、r1およびr2の長さを、辞書攻撃が困難な長さに設定することにより、オンライン辞書攻撃を不可能とすることができるからである。   Furthermore, the reason why the communication system adopting the elliptic Diffie-Hellman key exchange is resistant to online dictionary attacks will be explained. This is because an attacker needs to perform a dictionary attack on r1, r2 and pw in order to obtain the shared key K2. This is because an online dictionary attack can be made impossible by setting the lengths of r1 and r2 to a length that makes dictionary attack difficult.

さらに、楕円Diffie-Hellman鍵交換を採用した通信システムが、サーバへのなりすましに対して耐性を持つ理由について説明する。なぜなら、攻撃者はユーザのパスワードを知らないため、K0, K1, K2 を計算できないからである。   Furthermore, the reason why the communication system that employs the elliptic Diffie-Hellman key exchange is resistant to server impersonation will be described. This is because the attacker does not know the user's password and cannot calculate K0, K1, K2.

なお、このような楕円Diffie-Hellman鍵交換に基づいて認証付鍵交換を行う場合、端末は、パスワードpw、端末で選択した秘密情報r1、および、サーバから受信した公開情報[r2]H(sid||pw)等の途中データを一時的に記憶する必要がある。本発明の第2の実施の形態としての通信システムは、端末内のメモリにアクセスできない制限を有するブラウザを搭載した端末であっても、他のフレーム内に途中データ格納部を備えることにより、これらの情報を一時的に記憶することができる。したがって、本発明の第2の実施の形態としての通信システムは、楕円Diffie-Hellman鍵交換を採用して、各種の攻撃に対する耐性を向上させることができるのである。   Note that when performing an authenticated key exchange based on such an elliptic Diffie-Hellman key exchange, the terminal uses the password pw, the secret information r1 selected by the terminal, and the public information [r2] H (sid It is necessary to temporarily store intermediate data such as || pw). The communication system as the second exemplary embodiment of the present invention can be used even if the terminal is equipped with a browser having a restriction that cannot access the memory in the terminal, by providing a midway data storage unit in another frame. Can be temporarily stored. Therefore, the communication system as the second exemplary embodiment of the present invention employs elliptic Diffie-Hellman key exchange, and can improve resistance to various attacks.

なお、本発明の第2の実施の形態としての通信システムは、例えば、非特許文献1および非特許文献2に記載の認証付鍵交換の技術を採用しても同様の効果を奏することはいうまでもない。   Note that the communication system according to the second embodiment of the present invention has the same effect even when the authenticated key exchange technique described in Non-Patent Document 1 and Non-Patent Document 2 is employed, for example. Not too long.

<第2の実施の形態の第2の動作例>
次に、本発明の第2の実施の形態において、公開鍵暗号を用いて認証付鍵交換を行う場合の動作例について説明する。ここでは、公開鍵暗号の一例としてRSA暗号を用いるものとして説明を行う。
<Second Operation Example of Second Embodiment>
Next, in the second embodiment of the present invention, an operation example when performing key exchange with authentication using public key cryptography will be described. Here, description will be made assuming that RSA encryption is used as an example of public key encryption.

まずRSA暗号について説明する。   First, RSA encryption will be described.

RSA暗号は鍵セットアップフェーズ、暗号化フェーズ、復号フェーズの3つのプロシージャーから構成される公開鍵暗号方式である。ここで、セキュリティパラメータを k とする。
[鍵セットアップフェーズ](入力:セキュリティパラメータk)
ステップ1:受信者は、k/2ビットの2つの素数 p, q をラン ダムに生成する。ここで、「/」は除算を表す。
ステップ2:受信者は、N=pqを計算する。
ステップ3:受信者は、ed=1 mod(p-1)(q-1) となる e, d を生成する。ここで、「mod」は剰余演算を表すものとする。
ステップ4:受信者は、公開鍵をpk =(e, N)、秘密鍵をsk = (d, p, q, N) とする。
[暗号化フェーズ](入力:メッセージm, 公開鍵 pk)
ステップ1:送信者はメッセージmを公開鍵pkで暗号化する。すなわち、暗号文c=RSA_pk(m)=m^e mod N を計算する。ここで、「^」は累乗を表すものとする。
ステップ2:送信者は、暗号文cを受信者に送付する。
[復号フェーズ](入力:暗号文 c, 秘密鍵 sk)
ステップ1:受信者は、暗号文cを秘密鍵skで復号する。すなわち、メッセージm=DEC_sk(c)=c^d mod Nを計算する。
ステップ2:メッセージmを得る。
RSA cryptography is a public key cryptosystem composed of three procedures: a key setup phase, an encryption phase, and a decryption phase. Here, the security parameter is k.
[Key setup phase] (input: security parameter k)
Step 1: The receiver randomly generates two prime numbers p, q of k / 2 bits. Here, “/” represents division.
Step 2: The recipient calculates N = pq.
Step 3: The receiver generates e and d such that ed = 1 mod (p-1) (q-1). Here, “mod” represents a remainder operation.
Step 4: The receiver sets the public key as pk = (e, N) and the secret key as sk = (d, p, q, N).
[Encryption phase] (input: message m, public key pk)
Step 1: The sender encrypts the message m with the public key pk. That is, ciphertext c = RSA_pk (m) = m ^ e mod N is calculated. Here, “^” represents a power.
Step 2: The sender sends the ciphertext c to the receiver.
[Decryption phase] (input: ciphertext c, secret key sk)
Step 1: The receiver decrypts the ciphertext c with the secret key sk. That is, the message m = DEC_sk (c) = c ^ d mod N is calculated.
Step 2: Get message m.

ここで、十分に大きなkを選ぶことにより、Nからp,qを現実的な時間で求めることができないという、素因数分解問題が難しいことを仮定する。この仮定に基づけば、RSA暗号では、公開鍵pkおよび暗号文cから秘密鍵skおよびメッセージmを求めることができないことが知られている。   Here, it is assumed that the prime factorization problem that p and q cannot be obtained from N in a realistic time by selecting a sufficiently large k is difficult. Based on this assumption, it is known that the RSA cipher cannot obtain the secret key sk and the message m from the public key pk and the ciphertext c.

次に、このようなRSA暗号を採用した通信システム4の動作例について、図8のシーケンス図を参照して説明する。   Next, an example of the operation of the communication system 4 employing such RSA encryption will be described with reference to the sequence diagram of FIG.

なお、図8では、あらかじめサーバ6の公開鍵 pk = (e,N)および秘密鍵 sk = (d,p,q,N) が決められているものとする。また、セキュリティパラメータkがあらかじめ定められているものとする。なお、安全性の観点から、kは1024以上であることが望ましい。また、さらに別のセキュリティパラメータとしてk_1が設定されているものとする。なお、安全性の観点からk_1は、160以上であることが望ましい
まず、端末5の要求に応じて、サーバ6の端末用アプリケーション送信部65は、端末用アプリケーションを端末5に送信する(ステップS21)。
In FIG. 8, it is assumed that the public key pk = (e, N) and the secret key sk = (d, p, q, N) of the server 6 are determined in advance. In addition, it is assumed that the security parameter k is predetermined. From the viewpoint of safety, k is preferably 1024 or more. Further, it is assumed that k_1 is set as another security parameter. From the viewpoint of safety, it is desirable that k_1 is 160 or more. First, in response to a request from the terminal 5, the terminal application transmitting unit 65 of the server 6 transmits the terminal application to the terminal 5 (step S21). ).

ここで、送信される端末用アプリケーションは、端末5を画面領域分割部21、認証要求データ生成部521、レスポンス生成部522、途中データ格納部23、共有鍵生成部54として機能させるものである。また、この端末用アプリケーションは、ハッシュ関数Gおよびハッシュ関数Hを含んでいる。ハッシュ関数Gは、任意の文字列を入力として、k−k_1ビットの文字列を出力するハッシュ関数である。また、ハッシュ関数Hは、任意の文字列を入力として、k_1ビットの文字列を出力するハッシュ関数である。   Here, the transmitted terminal application causes the terminal 5 to function as the screen area dividing unit 21, the authentication request data generating unit 521, the response generating unit 522, the midway data storage unit 23, and the shared key generating unit 54. The terminal application includes a hash function G and a hash function H. The hash function G is a hash function that receives an arbitrary character string and outputs a k-k_1 bit character string. The hash function H is a hash function that receives an arbitrary character string and outputs a k_1-bit character string.

ステップS21において、安全性の観点から、ユーザに送付される端末アプリケーションのURLは、公開鍵のハッシュ値であるH(pk)を含むことが望ましい。もしも、端末に搭載されるブラウザが、アクセス先のURLの長さに制限を有する場合、URLに、h(pk)の一部、例えば先頭の数ビットを含めてもよい。以降の説明では、URLに H(pk) が含まれているものとする。   In step S21, from the viewpoint of security, it is desirable that the URL of the terminal application sent to the user includes H (pk) that is a hash value of the public key. If the browser installed in the terminal has a restriction on the length of the URL of the access destination, a part of h (pk), for example, the first few bits may be included in the URL. In the following description, it is assumed that H (pk) is included in the URL.

次に、端末5の端末用アプリケーション実行部57は、受信した端末用アプリケーションを実行する(ステップS22)。   Next, the terminal application execution unit 57 of the terminal 5 executes the received terminal application (step S22).

次に、画面領域分割部21は、2つのフレームからなるページをブラウザ上に表示する(ステップS23)。以降、ブラウザ上に表示された2つのフレームを、フレーム1およびフレーム2と記載する。なお、フレーム1は本発明の第1のフレームの一実施形態を構成し、フレーム2は本発明の他のフレームの一実施形態を構成する。   Next, the screen area dividing unit 21 displays a page composed of two frames on the browser (step S23). Hereinafter, the two frames displayed on the browser are referred to as frame 1 and frame 2. The frame 1 constitutes an embodiment of the first frame of the present invention, and the frame 2 constitutes an embodiment of another frame of the present invention.

次に、認証要求データ生成部521は、次のようにして、認証要求データを生成する(ステップS24)。   Next, the authentication request data generation unit 521 generates authentication request data as follows (step S24).

ステップS24では、まず、認証要求データ生成部521は、フレーム1に表示した入力画面を介してユーザID「userID」およびパスワード「pw」を取得する。   In step S24, first, the authentication request data generation unit 521 acquires the user ID “userID” and the password “pw” via the input screen displayed in the frame 1.

次に、認証要求データ生成部521は、userID を含むリクエストメッセージを、認証要求データとして生成する。   Next, the authentication request data generation unit 521 generates a request message including userID as authentication request data.

次に、認証要求データ生成部521は、ステップS24で使用したuserID および pw を、途中データとしてフレーム2の途中データ格納部23に書き出す(ステップS25)。   Next, the authentication request data generation unit 521 writes the userID and pw used in step S24 into the intermediate data storage unit 23 of the frame 2 as intermediate data (step S25).

次に、認証要求データ生成部521は、ステップS24で生成したリクエストメッセージをサーバ6に送付する(ステップS26)。   Next, the authentication request data generation unit 521 sends the request message generated in step S24 to the server 6 (step S26).

リクエストメッセージを受信したサーバ6のチャレンジ生成部621は、k_1ビットのr2をランダムに選択することにより、乱数r2および公開鍵pk をチャレンジデータとする(ステップS27)。   Upon receiving the request message, the challenge generation unit 621 of the server 6 selects the random number r2 and the public key pk as challenge data by randomly selecting k2 bits of r2 (step S27).

次に、チャレンジ生成部621は、チャレンジデータとしてr2およびpk を端末5に送付する(ステップS28)。   Next, the challenge generation unit 621 sends r2 and pk as challenge data to the terminal 5 (step S28).

r2およびpk を受信した端末5のレスポンス生成部522は、次のようにしてレスポンスデータを生成する(ステップS29)。   The response generation unit 522 of the terminal 5 that has received r2 and pk generates response data as follows (step S29).

ステップS29では、まず、レスポンス生成部522は、フレーム2の途中データ格納部23から pw を読み出す。   In step S <b> 29, first, the response generation unit 522 reads pw from the halfway data storage unit 23 of the frame 2.

次に、レスポンス生成部522は、URLに含まれるH(pk) と、受信したpkを用いて生成したH(pk)とが一致するか否かを検証する。すなわち、レスポンス生成部522は、公開鍵が改変されているか否かを判断する。ここで、一致しない場合(公開鍵が改変されている場合)、端末5は、認証付鍵交換動作を終了する。   Next, the response generation unit 522 verifies whether the H (pk) included in the URL matches the H (pk) generated using the received pk. That is, the response generation unit 522 determines whether or not the public key has been altered. Here, when they do not match (when the public key is altered), the terminal 5 ends the key exchange operation with authentication.

一方、一致した場合(公開鍵が改変されていない場合)、レスポンス生成部522は、k_1ビットの乱数 r1 を選択する。   On the other hand, when they match (when the public key has not been altered), the response generation unit 522 selects the k_1-bit random number r1.

次に、レスポンス生成部522は、c=G(r2||r1||pw||0) を計算する。   Next, the response generation unit 522 calculates c = G (r2 || r1 || pw || 0).

さらに、レスポンス生成部522は、E=RSA_pk(r1||c) をレスポンスデータとして生成する。   Further, the response generation unit 522 generates E = RSA_pk (r1 || c) as response data.

次に、レスポンス生成部522は、ステップS28で使用したr1, r2をフレーム2の途中データ格納部23に追加する(ステップS30)。   Next, the response generation unit 522 adds r1 and r2 used in step S28 to the midway data storage unit 23 of frame 2 (step S30).

次に、レスポンス生成部522は、レスポンスデータE をサーバ6に送付する(ステップS31)。   Next, the response generation unit 522 sends the response data E to the server 6 (step S31).

レスポンス E を受信したサーバ6のレスポンス検証部622は、次のようにしてレスポンスデータを検証する(ステップS32)。   The response verification unit 622 of the server 6 that has received the response E verifies the response data as follows (step S32).

ステップS32では、まず、レスポンス検証部622は、受信したレスポンスデータEを、公開鍵pkに対応する秘密鍵skを用いて復号することにより、検証対象の認証情報を得る。すなわち、レスポンス検証部622は、r1||c = DEC_sk(E) を計算することにより、r1, c を得る。   In step S32, first, the response verification unit 622 obtains authentication information to be verified by decrypting the received response data E using the secret key sk corresponding to the public key pk. That is, the response verification unit 622 obtains r1, c by calculating r1 || c = DEC_sk (E).

さらに、レスポンス検証部622は、復号により得られた認証情報を認証するか否かを判断する。   Further, the response verification unit 622 determines whether to authenticate the authentication information obtained by the decryption.

具体的には、レスポンス検証部622は、ステップS26で受信した認証要求データに含まれるuserID に対応したパスワード pw を、認証情報格納部31を参照して取得する。   Specifically, the response verification unit 622 acquires the password pw corresponding to userID included in the authentication request data received in step S <b> 26 with reference to the authentication information storage unit 31.

次に、レスポンス検証部622は、取得したpw、ステップS32で求めたr1および自装置で選択した乱数r2に基づいて、H(r2||r1||pw||0)を計算する。   Next, the response verification unit 622 calculates H (r2 || r1 || pw || 0) based on the acquired pw, r1 obtained in step S32, and the random number r2 selected by the own apparatus.

そして、レスポンス検証部622は、計算したH(r2||r1||pw||0)が暗号文cに一致するか否かを確認する(ステップS33)。   Then, the response verification unit 622 confirms whether the calculated H (r2 || r1 || pw || 0) matches the ciphertext c (step S33).

ここで、一致していなかった場合、レスポンス検証部622は、検証失敗を表す検証結果情報を端末5に送付し(ステップS34)、以降の認証付鍵交換動作を停止する。   Here, if they do not match, the response verification unit 622 sends verification result information indicating verification failure to the terminal 5 (step S34), and stops the subsequent key exchange operation with authentication.

一方、一致している場合、レスポンス検証部622は、検証成功を表す検証結果情報を、端末5に送付する(ステップS35)。   On the other hand, if they match, the response verification unit 622 sends verification result information indicating the verification success to the terminal 5 (step S35).

次に、共有鍵生成部63は、r1,r2,およびpwに基づいて、K=H(r1||r2||pw||1) を共有鍵として生成する(ステップS36)。   Next, the shared key generation unit 63 generates K = H (r1 || r2 || pw || 1) as a shared key based on r1, r2, and pw (step S36).

次に、検証結果情報を受信した端末5は、検証結果情報が認証失敗を表す場合(ステップS37でNo)、認証付鍵交換処理を終了する。   Next, the terminal 5 that has received the verification result information ends the authenticated key exchange process when the verification result information indicates an authentication failure (No in step S37).

検証結果情報が認証成功を表す場合(ステップS37でYes)、共有鍵生成部54は、フレーム2の途中データ格納部23からr1, r2, pw を読み込む(ステップS38)。   If the verification result information indicates successful authentication (Yes in step S37), the shared key generation unit 54 reads r1, r2, and pw from the midway data storage unit 23 of frame 2 (step S38).

次に、共有鍵生成部54は、K=H(r1||r2||pw||1)を共有鍵として生成する(ステップS39)。   Next, the shared key generation unit 54 generates K = H (r1 || r2 || pw || 1) as a shared key (step S39).

次に、共有鍵生成部54は、共有鍵Kをフレーム2の共有鍵格納部25に格納する(ステップS40)。   Next, the shared key generation unit 54 stores the shared key K in the shared key storage unit 25 of the frame 2 (Step S40).

以降、端末5は、共有鍵格納部25に格納した共有鍵Kを用いてサーバ6との暗号通信を行う。また、サーバ6は、ステップS36で生成した共有鍵Kをサーバ6内部の記憶装置に一時記憶することにより端末5との暗号通信を行う。   Thereafter, the terminal 5 performs encrypted communication with the server 6 using the shared key K stored in the shared key storage unit 25. Further, the server 6 performs encrypted communication with the terminal 5 by temporarily storing the shared key K generated in step S36 in a storage device inside the server 6.

以上で、RSA暗号を用いた通信システム4の動作の説明を終了する。   Above, description of operation | movement of the communication system 4 using RSA encryption is complete | finished.

次に、RSA暗号を用いた本発明の第2の実施の形態の効果について説明する。   Next, the effect of the second embodiment of the present invention using RSA encryption will be described.

本発明の第2の実施の形態としての通信システムは、RSA暗号を用いた認証付鍵交換に採用することにより、端末の記憶装置にアクセスできない制限を有するブラウザを搭載した端末と、サーバとの間において、認証付鍵交換に対するリプレイ攻撃、中間者攻撃、オンライン辞書攻撃、および、サーバへのなりすましに対する耐性を向上させることができる。   A communication system as a second embodiment of the present invention employs a key exchange with authentication using RSA encryption, and a server equipped with a terminal having a browser that has a restriction that prevents access to a storage device of the terminal, and a server In the meantime, it is possible to improve resistance to replay attacks against authenticated key exchange, man-in-the-middle attacks, online dictionary attacks, and server impersonation.

まず、RSA暗号を用いて認証付鍵交換を行う本発明の第2の実施の形態としての通信システムが、リプレイ攻撃に対して耐性を持つ理由について説明する。なぜなら、攻撃者がリプレイ攻撃を行ったとしても、サーバが選択する乱数r2を毎回変更することにより、レスポンスデータを生成する際に使用するcおよび共有鍵Kを毎回変更することができるからである。   First, the reason why the communication system according to the second embodiment of the present invention that performs authenticated key exchange using RSA encryption is resistant to a replay attack will be described. This is because, even if the attacker performs a replay attack, by changing the random number r2 selected by the server each time, the c and the shared key K used when generating the response data can be changed every time. .

また、RSA暗号を用いて認証付鍵交換を行う本発明の第2の実施の形態としての通信システムが、中間者攻撃やオンライン辞書攻撃に対して耐性を持つ理由について説明する。なぜなら、攻撃者が中間者攻撃やオンライン辞書攻撃を行ったとしても、RSA暗号の安全性により、暗号文Eから r1および c を求めることが難しいからである。したがって、攻撃者は共有鍵Kを計算できない。   The reason why the communication system according to the second embodiment of the present invention that performs authenticated key exchange using RSA encryption is resistant to man-in-the-middle attacks and online dictionary attacks will be described. This is because, even if an attacker performs a man-in-the-middle attack or an online dictionary attack, it is difficult to obtain r1 and c from the ciphertext E due to the security of the RSA cipher. Therefore, the attacker cannot calculate the shared key K.

さらに、RSA暗号を用いて認証付鍵交換を行う本発明の第2の実施の形態としての通信システムが、サーバへのなりすましに対して耐性を持つ理由について説明する。なぜなら、攻撃者がサーバになりすまそうとした場合、公開鍵ごとなりすますためには、URLに含まれるハッシュ値H(pk)とハッシュ値が一致するpk'を生成する必要がある。しかしながら、これはハッシュ関数の安全性から難しい。   Furthermore, the reason why the communication system according to the second embodiment of the present invention that performs authenticated key exchange using RSA encryption is resistant to impersonation of the server will be described. This is because, when an attacker tries to impersonate a server, in order to impersonate a public key, it is necessary to generate pk ′ whose hash value matches the hash value H (pk) included in the URL. However, this is difficult due to the security of the hash function.

また、攻撃者が、本物のサーバの公開鍵を利用したまま攻撃を行っても、RSA暗号の安全性により、秘密鍵を求めることや暗号文の復号を行うことは難しい。したがって攻撃者にとって、共有鍵Kを求めることは難しい。ただし、この場合、端末は、認証付鍵交換処理を正しく終了してしまうため、攻撃者がなりすましを行っていたことを判定できない。   Moreover, even if an attacker performs an attack while using the public key of a real server, it is difficult to obtain a secret key or decrypt a ciphertext because of the security of RSA encryption. Therefore, it is difficult for an attacker to obtain the shared key K. However, in this case, since the terminal correctly ends the authenticated key exchange process, it cannot be determined that the attacker has been impersonating.

しかしながら、後の暗号通信では、端末から送付されるデータはKによって暗号化されるため、攻撃者は復号できない。したがって、端末内の H(pk) が不正に書き換えられない限り、サーバへのなりすましは困難である。   However, in later encrypted communication, the data sent from the terminal is encrypted by K, so that the attacker cannot decrypt it. Therefore, unless the H (pk) in the terminal is rewritten illegally, it is difficult to impersonate the server.

なお、このようにRSA暗号を用いて認証付鍵交換を行う場合、端末は、パスワードpw、端末で選択した秘密情報であるr1、および、サーバから受信した公開情報のr2等を一時的に記憶する必要がある。本発明の第2の実施の形態としての通信システムは、端末内のメモリにアクセスできない制限を有するブラウザを搭載した端末であっても、他のフレーム内に途中データ格納部を備えることによりこれらの情報を一時的に記憶することができる。したがって、本発明の第2の実施の形態としての通信システムは、RSA暗号を用いた認証付鍵交換を採用して、各種の攻撃に対する耐性を向上させることができるのである。   Note that when performing key exchange with authentication using RSA encryption in this way, the terminal temporarily stores the password pw, the secret information r1 selected by the terminal, and the public information r2 received from the server. There is a need to. The communication system according to the second embodiment of the present invention can provide a communication data storage unit in another frame even if the terminal is equipped with a browser having a restriction that cannot access the memory in the terminal. Information can be temporarily stored. Therefore, the communication system as the second exemplary embodiment of the present invention can adopt the key exchange with authentication using the RSA cipher and improve the resistance against various attacks.

なお、本発明の第2の実施の形態としての通信システムは、例えば、エルガマル暗号または楕円エルガマル暗号等のような、RSA暗号以外の公開鍵暗号を用いて認証付鍵交換を行ってもよい。特に、本発明の第2の実施の形態としての通信システムは、安全性の観点から、RSA−OAEP(Optimal Asymmetric Encryption Padding)暗号やCramer-Shoup暗号等のように、強度の安全性を満たす公開鍵暗号を用いることが望ましい。   Note that the communication system as the second exemplary embodiment of the present invention may perform authenticated key exchange using public key encryption other than RSA encryption, such as El Gamal encryption or elliptic El Gamal encryption. In particular, the communication system according to the second embodiment of the present invention is publicly disclosed that satisfies the strength safety, such as RSA-OAEP (Optimal Asymmetric Encryption Padding) encryption and Cramer-Shoup encryption, from the viewpoint of security. It is desirable to use key encryption.

また、本発明の第2の実施の形態においてサーバの端末用アプリケーション格納部に格納される端末用アプリケーションは、図9に示すデータ構造を持つコンテンツ9によって構成されていてもよい。図9において、コンテンツ9は、フレーム構造情報91と、第1フレーム情報92と、他フレーム情報93とを含む。   Further, in the second embodiment of the present invention, the terminal application stored in the terminal application storage unit of the server may be configured by the content 9 having the data structure shown in FIG. In FIG. 9, the content 9 includes frame structure information 91, first frame information 92, and other frame information 93.

フレーム構造情報91は、ブラウザ画面領域を構成する複数のフレームの構造情報を含む。また、フレーム構造情報91は、端末に搭載されるブラウザに読み込まれてブラウザ画面領域に適用されることによって、本発明の画面領域分割部の一実施形態を構成する。   The frame structure information 91 includes structure information of a plurality of frames constituting the browser screen area. The frame structure information 91 is read by a browser installed in the terminal and applied to the browser screen area, thereby constituting an embodiment of the screen area dividing unit of the present invention.

第1フレーム情報は、複数のフレームのうち第1のフレームに適用される情報である。   The first frame information is information applied to the first frame among the plurality of frames.

また、第1フレーム情報は、第1のフレームを介して取得した認証情報の認証を、第1のフレームを介してサーバに要求するとともに、サーバから受信した認証結果情報が認証成功を表す場合、サーバに認証を要求する際に使用した途中データに基づいてサーバとの暗号通信に用いる共有鍵を生成する認証付鍵交換アプリケーションを含む。   The first frame information requests authentication of the authentication information acquired via the first frame to the server via the first frame, and when the authentication result information received from the server represents authentication success, It includes a key exchange application with authentication for generating a shared key used for encrypted communication with the server based on intermediate data used when requesting authentication from the server.

また、第1フレーム情報は、端末に搭載されるブラウザに組み込まれたアプリケーション実行エンジンによって第1フレーム内で実行されることにより、本発明の認証要求部および共有鍵生成部の一実施形態を構成する。   The first frame information is executed in the first frame by an application execution engine incorporated in a browser installed in the terminal, thereby constituting an embodiment of the authentication request unit and the shared key generation unit of the present invention. To do.

他フレーム情報93は、第1フレーム以外の他のフレームに適用される情報である。   The other frame information 93 is information applied to other frames other than the first frame.

また、他フレーム情報93は、認証情報の認証をサーバに要求する際に使用する途中データを格納する途中データ格納フィールドと、共有鍵を格納する共有鍵格納フィールドと、を含む。なお、途中データ格納フィールドおよび共有鍵格納フィールドは非表示に設定されていることが望ましい。また、途中データ格納フィールドおよび共有鍵格納フィールドは、本発明のデータ構造における途中データ格納情報および共有鍵格納情報の一実施形態を構成する。   The other frame information 93 includes an intermediate data storage field for storing intermediate data used when requesting authentication of authentication information from the server, and a shared key storage field for storing a shared key. The intermediate data storage field and the shared key storage field are preferably set to non-display. The intermediate data storage field and the shared key storage field constitute an embodiment of the intermediate data storage information and the shared key storage information in the data structure of the present invention.

また、他フレーム情報93は、端末に搭載されるブラウザに読み込まれて他フレームに適用されることによって、本発明の途中データ格納部および共有鍵格納部の一実施形態を構成する。   Further, the other frame information 93 is read by a browser installed in the terminal and applied to another frame, thereby constituting an embodiment of the intermediate data storage unit and the shared key storage unit of the present invention.

そして、このようなコンテンツ9のデータ構造は、本発明のデータ構造の一実施形態を構成する。   Such a data structure of the content 9 constitutes an embodiment of the data structure of the present invention.

また、上述した本発明の各実施の形態において、各シーケンス図を参照して説明したサーバの動作を、本発明のコンピュータ・プログラムとしてサーバの記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。   In each of the embodiments of the present invention described above, the server operation described with reference to each sequence diagram is stored as a computer program of the present invention in a storage device (storage medium) of the server, and the computer The program may be read and executed by the CPU. In such a case, the present invention is constituted by the code of the computer program or a storage medium.

また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した端末の動作を、本発明のコンピュータ・プログラムとしてサーバの記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを端末がダウンロードして端末のCPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。   In each embodiment of the present invention described above, the operation of the terminal described with reference to each flowchart is stored in a storage device (storage medium) of a server as a computer program of the present invention. The program may be downloaded by the terminal and read and executed by the CPU of the terminal. In such a case, the present invention is constituted by the code of the computer program or a storage medium.

また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。   Moreover, each embodiment mentioned above can be implemented in combination as appropriate.

また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。   The present invention is not limited to the above-described embodiments, and can be implemented in various modes.

また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
サーバと、端末とを備えた通信システムであって、
前記端末は、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求部と、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、
を有し、
前記サーバは、
あらかじめ登録された認証情報を格納した認証情報格納部と、
前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、
前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる前記共有鍵を生成する共有鍵生成部と、
を有する通信システム。
(付記2)
前記サーバは、
前記端末を、前記画面領域分割部、前記認証要求部、前記途中データ格納部、前記共有鍵生成部および前記共有鍵格納部として機能させるための端末用アプリケーションを格納する端末用アプリケーション格納部と、
前記端末用アプリケーションを前記端末に送信する端末用アプリケーション送信部と、
をさらに有し、
前記端末は、
前記端末用アプリケーションを受信する端末用アプリケーション受信部と、
前記端末用アプリケーションを実行する端末用アプリケーション実行部と、
をさらに有することを特徴とする付記1に記載の通信システム。
(付記3)
前記端末の前記認証要求部は、
前記認証の要求を開始するための認証要求データを生成して前記サーバに送信するとともに、前記認証要求データを生成する際に使用するデータを前記途中データとして前記途中データ格納部に格納する認証要求データ生成部と、
前記サーバから受信するランダムなチャレンジデータおよび前記途中データに基づいてレスポンスデータを生成して前記サーバに送信するとともに、前記レスポンスデータを生成する際に使用するデータを前記途中データとして前記途中データ格納部に追加して格納するレスポンス生成部と、
を有し、
前記サーバの前記認証部は、
前記認証要求データの受信に応じて前記チャレンジデータを生成して前記端末に送信するチャレンジ生成部と、
前記端末から受信する前記レスポンスデータを検証することにより前記認証情報を認証するか否を判断するレスポンス検証部と、
を有することを特徴とする付記1または付記2に記載の通信システム。
(付記4)
前記サーバの前記端末用アプリケーション送信部は、前記端末用アプリケーションのURL(Uniform Resource Locator)に、前記サーバが有する公開鍵のハッシュ値の少なくとも一部を含めて前記端末用アプリケーションを前記端末に送信し、
前記サーバの前記チャレンジ生成部は、前記公開鍵を前記チャレンジデータに含めて前記端末に送信し、
前記端末の前記レスポンス生成部は、前記チャレンジデータに含まれる公開鍵が改変されていないことを前記端末用アプリケーションのURLに基づいて判断し、前記公開鍵が改変されていないと判断した場合に、前記公開鍵を用いて前記認証情報を暗号化した情報を前記レスポンスデータに含めて前記サーバに送信し、
前記サーバの前記レスポンス検証部は、前記レスポンスデータに含まれる情報を、前記公開鍵に対応する秘密鍵を用いて復号することにより得られる認証情報を認証するか否かを判断することを特徴とする付記3に記載の通信システム。
(付記5)
あらかじめ登録された認証情報を格納した認証情報格納部と、
前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、
前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成部と、
を備えたサーバ。
(付記6)
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介してサーバに要求する認証要求部と、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、
を備えた端末。
(付記7)
端末と通信を行うサーバに、
あらかじめ登録された認証情報を認証情報格納部に格納しておく認証情報格納ステップと、
前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証ステップと、
前記認証ステップで、前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、
を実行させるコンピュータ・プログラム。
(付記8)
サーバと通信を行う端末に、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割ステップと、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求ステップと、
前記認証要求ステップで前記認証を要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納する途中データ格納ステップと、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、
前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する共有鍵格納ステップと、
を実行させるコンピュータ・プログラム。
(付記9)
サーバから端末に配信されるコンテンツのデータ構造であって、
前記端末において前記コンテンツが表示されるブラウザ画面領域を構成する複数のフレームの構造が定義されたフレーム構造情報と、
前記複数のフレームのうち第1のフレームに適用される情報を表し、前記第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求するとともに、前記サーバから受信した認証結果情報が認証成功を表す場合、前記認証を前記サーバに要求する際に使用した途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する認証付鍵交換アプリケーションを含む第1フレーム情報と、
前記第1のフレーム以外の他のフレームに適用される情報を表し、前記途中データを格納する途中データ格納情報と、前記共有鍵を格納する共有鍵格納情報と、を含む他フレーム情報と、
を含むデータ構造。
(付記10)
サーバと、端末とを用いて、
前記端末は、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割し、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求し、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納し、
前記サーバは、
あらかじめ登録された認証情報を認証情報格納部に格納しておき、
前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信し、
前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成し、
前記端末は、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる前記共有鍵を生成し、
前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する、通信方法。
(付記11)
前記端末を、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求部、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部、および、
前記共有鍵を前記他のフレーム内で格納する共有鍵格納部、
として機能させるための端末用アプリケーションを格納する端末用アプリケーション格納部と、
前記端末用アプリケーションを前記端末に送信する端末用アプリケーション送信部と、
をさらに備えることを特徴とする付記5に記載のサーバ。
(付記12)
前記端末を、前記画面領域分割部、前記認証要求部、前記途中データ格納部、前記共有鍵生成部および前記共有鍵格納部として機能させるための端末用アプリケーションを前記サーバから受信する端末用アプリケーション受信部と、
前記端末用アプリケーションを実行する端末用アプリケーション実行部と、
をさらに備えることを特徴とする付記6に記載の端末。
(付記13)
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割ステップ、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求ステップ、
前記認証要求ステップで前記認証を要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納する途中データ格納ステップ、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成ステップ、および、
前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する共有鍵格納ステップ、
を含む端末用アプリケーションを端末用アプリケーション格納部に格納しておく端末用アプリケーション格納ステップと、
前記端末用アプリケーションを前記端末に送信する端末用アプリケーション送信ステップと、
を、前記サーバにさらに実行させることを特徴とする付記7に記載のコンピュータ・プログラム。
(付記14)
前記画面領域分割ステップ、前記認証要求ステップ、前記途中データ格納ステップ、前記共有鍵生成ステップおよび前記共有鍵格納ステップを含む端末用アプリケーションを前記サーバから受信する端末用アプリケーション受信ステップと、
前記端末用アプリケーションを実行する端末用アプリケーション実行ステップと、
を、前記端末にさらに実行させることを特徴とする付記8に記載のコンピュータ・プログラム。
(付記15)
前記サーバと前記端末とを用いて、
前記サーバは、
前記端末を、前記画面領域分割部、前記認証要求部、前記途中データ格納部、前記共有鍵生成部および前記共有鍵格納部として機能させるための端末用アプリケーションを端末用アプリケーション格納部に格納しておき、
前記端末用アプリケーションを前記端末に送信し、
前記端末は、
前記端末用アプリケーションを受信し、
受信した端末用アプリケーションを実行することを特徴とする付記10に記載の通信方法。
Moreover, although a part or all of said embodiment can be described also as the following additional remarks, it is not restricted to the following.
(Appendix 1)
A communication system comprising a server and a terminal,
The terminal
A screen area dividing unit for dividing a browser screen area for displaying content into a plurality of frames;
An authentication request unit that requests authentication of the authentication information acquired via the first frame from the plurality of frames to the server via the first frame;
A midway data storage unit for storing midway data used when requesting the authentication from the server in a frame other than the first frame;
If the authentication result information received from the server represents authentication success, a shared key generation unit that generates a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit,
A shared key storage unit for storing the shared key in the other frame;
Have
The server
An authentication information storage unit storing authentication information registered in advance;
Based on the authentication information storage unit, it is determined whether to authenticate authentication information that is required to be authenticated by the terminal, and an authentication unit that transmits authentication result information indicating whether authentication is successful to the terminal;
A shared key generation unit configured to generate the shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information when the authentication unit determines to authenticate the authentication information; ,
A communication system.
(Appendix 2)
The server
A terminal application storage unit for storing a terminal application for causing the terminal to function as the screen area dividing unit, the authentication request unit, the intermediate data storage unit, the shared key generation unit, and the shared key storage unit;
A terminal application transmitter for transmitting the terminal application to the terminal;
Further comprising
The terminal
A terminal application receiver for receiving the terminal application;
A terminal application execution unit for executing the terminal application;
The communication system according to appendix 1, further comprising:
(Appendix 3)
The authentication request unit of the terminal is
An authentication request for generating authentication request data for starting the authentication request and transmitting it to the server, and storing data used when generating the authentication request data as the intermediate data in the intermediate data storage unit A data generator;
Response data is generated based on random challenge data and the intermediate data received from the server and transmitted to the server, and the data used when generating the response data is used as the intermediate data, the intermediate data storage unit A response generator to store in addition to,
Have
The authentication unit of the server is
A challenge generator for generating the challenge data in response to reception of the authentication request data and transmitting the challenge data to the terminal;
A response verification unit that determines whether to authenticate the authentication information by verifying the response data received from the terminal;
The communication system according to appendix 1 or appendix 2, characterized by comprising:
(Appendix 4)
The terminal application transmitter of the server transmits the terminal application to the terminal by including at least a part of a hash value of the public key of the server in a URL (Uniform Resource Locator) of the terminal application. ,
The challenge generation unit of the server includes the public key in the challenge data and transmits the challenge key to the terminal,
When the response generation unit of the terminal determines that the public key included in the challenge data has not been modified based on the URL of the application for the terminal, and determines that the public key has not been modified, Information that encrypts the authentication information using the public key is included in the response data and transmitted to the server,
The response verification unit of the server determines whether or not to authenticate authentication information obtained by decrypting information included in the response data using a secret key corresponding to the public key. The communication system according to Supplementary Note 3.
(Appendix 5)
An authentication information storage unit storing authentication information registered in advance;
Based on the authentication information storage unit, it is determined whether to authenticate authentication information that is required to be authenticated by the terminal, and an authentication unit that transmits authentication result information indicating whether authentication is successful to the terminal,
When it is determined by the authentication unit to authenticate the authentication information, a shared key generation unit that generates a shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information;
A server with
(Appendix 6)
A screen area dividing unit for dividing a browser screen area for displaying content into a plurality of frames;
An authentication requesting unit that requests authentication of authentication information acquired via the first frame among the plurality of frames to the server via the first frame;
A midway data storage unit for storing midway data used when requesting the authentication from the server in a frame other than the first frame;
If the authentication result information received from the server represents authentication success, a shared key generation unit that generates a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit,
A shared key storage unit for storing the shared key in the other frame;
With a terminal.
(Appendix 7)
To the server that communicates with the terminal,
An authentication information storage step of storing authentication information registered in advance in an authentication information storage unit;
An authentication step of determining whether to authenticate authentication information requested to be authenticated by the terminal based on the authentication information storage unit, and transmitting authentication result information indicating whether authentication is successful to the terminal;
In the authentication step, when it is determined to authenticate the authentication information, a shared key generation step for generating a shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information;
A computer program that runs
(Appendix 8)
On the terminal that communicates with the server,
A screen area dividing step for dividing a browser screen area for displaying content into a plurality of frames;
An authentication requesting step for requesting the server to authenticate the authentication information acquired through the first frame among the plurality of frames;
An intermediate data storage step for storing intermediate data used when requesting the authentication in the authentication request step in an intermediate data storage unit in a frame other than the first frame;
If the authentication result information received from the server represents an authentication success, a shared key generation step for generating a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit;
A shared key storage step of storing the shared key in a shared key storage unit in the other frame;
A computer program that runs
(Appendix 9)
A data structure of content distributed from a server to a terminal,
Frame structure information in which structures of a plurality of frames constituting a browser screen area in which the content is displayed in the terminal are defined;
Represents information applied to a first frame of the plurality of frames, and requests authentication of authentication information acquired via the first frame from the server via the first frame, and If the authentication result information received from the server indicates successful authentication, an authenticated key exchange application that generates a shared key used for encrypted communication with the server based on intermediate data used when requesting the authentication from the server First frame information including:
Other frame information representing information applied to other frames other than the first frame, including intermediate data storage information for storing the intermediate data, and shared key storage information for storing the shared key;
A data structure containing
(Appendix 10)
Using a server and a terminal
The terminal
Divide the browser screen area that displays content into multiple frames,
Requesting the server to authenticate the authentication information acquired through the first frame of the plurality of frames through the first frame;
The intermediate data used when requesting the authentication to the server is stored in the intermediate data storage in a frame other than the first frame,
The server
Store pre-registered authentication information in the authentication information storage unit,
Based on the authentication information storage unit, it is determined whether to authenticate authentication information required for authentication by the terminal, and transmits authentication result information indicating whether authentication is successful to the terminal,
If it is determined to authenticate the authentication information, based on the intermediate data used when authenticating the authentication information, a shared key used for encrypted communication with the terminal is generated,
The terminal
If the authentication result information received from the server represents an authentication success, based on the intermediate data stored in the intermediate data storage unit, generate the shared key used for encrypted communication with the server,
A communication method for storing the shared key in a shared key storage unit in the other frame.
(Appendix 11)
The terminal
A screen area dividing unit that divides a browser screen area for displaying content into a plurality of frames;
An authentication requesting unit that requests authentication of the authentication information acquired via the first frame from the plurality of frames to the server via the first frame;
An intermediate data storage unit that stores intermediate data used when requesting the authentication from the server in a frame other than the first frame;
If the authentication result information received from the server represents authentication success, a shared key generation unit that generates a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit, and
A shared key storage unit for storing the shared key in the other frame;
A terminal application storage unit that stores a terminal application for functioning as:
A terminal application transmitter for transmitting the terminal application to the terminal;
The server according to appendix 5, further comprising:
(Appendix 12)
Terminal application reception for receiving a terminal application from the server for causing the terminal to function as the screen area dividing unit, the authentication requesting unit, the intermediate data storage unit, the shared key generation unit, and the shared key storage unit And
A terminal application execution unit for executing the terminal application;
The terminal according to appendix 6, further comprising:
(Appendix 13)
A screen area dividing step for dividing a browser screen area for displaying content into a plurality of frames;
An authentication requesting step for requesting the server to authenticate authentication information acquired through the first frame among the plurality of frames;
An intermediate data storage step for storing intermediate data used when requesting the authentication in the authentication request step in an intermediate data storage unit in a frame other than the first frame;
If the authentication result information received from the server represents a successful authentication, a shared key generation step for generating a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit, and
A shared key storage step of storing the shared key in a shared key storage unit in the other frame;
A terminal application storage step of storing the terminal application including the terminal application storage unit in a terminal application storage unit;
A terminal application transmission step of transmitting the terminal application to the terminal;
The computer program according to appendix 7, wherein the server is further executed.
(Appendix 14)
A terminal application receiving step for receiving, from the server, a terminal application including the screen area dividing step, the authentication requesting step, the intermediate data storing step, the shared key generating step, and the shared key storing step;
A terminal application execution step for executing the terminal application;
The computer program according to appendix 8, wherein the terminal is further executed.
(Appendix 15)
Using the server and the terminal,
The server
A terminal application for causing the terminal to function as the screen area dividing unit, the authentication request unit, the intermediate data storage unit, the shared key generation unit, and the shared key storage unit is stored in the terminal application storage unit. Every
Sending the terminal application to the terminal;
The terminal
Receiving the terminal application;
The communication method according to appendix 10, wherein the received terminal application is executed.

1、4 通信システム
2、5 端末
3、6 サーバ
21 画面領域分割部
22、52 認証要求部
23 途中データ格納部
24、54、33、63 共有鍵生成部
25 共有鍵格納部
31 認証情報格納部
32、62 認証部
56 端末用アプリケーション受信部
57 端末用アプリケーション実行部
64 端末用アプリケーション格納部
65 端末用アプリケーション送信部
9 コンテンツ
91 フレーム構造情報
92 第1フレーム情報
93 他フレーム情報
521 認証要求データ生成部
522 レスポンス生成部
621 チャレンジ生成部
622 レスポンス検証部
2001、3001 CPU
2002、3002 RAM
2003、3003 ROM
2004、3004 記憶装置
2005、3005 ネットワークインタフェース
2006 表示装置
2007 入力装置
DESCRIPTION OF SYMBOLS 1, 4 Communication system 2, 5 Terminal 3, 6 Server 21 Screen area division part 22, 52 Authentication request part 23 Intermediate data storage part 24, 54, 33, 63 Shared key generation part 25 Shared key storage part 31 Authentication information storage part 32, 62 Authentication unit 56 Terminal application reception unit 57 Terminal application execution unit 64 Terminal application storage unit 65 Terminal application transmission unit 9 Content 91 Frame structure information 92 First frame information 93 Other frame information 521 Authentication request data generation unit 522 Response generation unit 621 Challenge generation unit 622 Response verification unit 2001, 3001 CPU
2002, 3002 RAM
2003, 3003 ROM
2004, 3004 Storage device 2005, 3005 Network interface 2006 Display device 2007 Input device

Claims (10)

サーバと、端末とを備えた通信システムであって、
前記端末は、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求部と、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、
を有し、
前記サーバは、
あらかじめ登録された認証情報を格納した認証情報格納部と、
前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、
前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる前記共有鍵を生成する共有鍵生成部と、
を有する通信システム。
A communication system comprising a server and a terminal,
The terminal
A screen area dividing unit for dividing a browser screen area for displaying content into a plurality of frames;
An authentication request unit that requests authentication of the authentication information acquired via the first frame from the plurality of frames to the server via the first frame;
A midway data storage unit for storing midway data used when requesting the authentication from the server in a frame other than the first frame;
If the authentication result information received from the server represents authentication success, a shared key generation unit that generates a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit,
A shared key storage unit for storing the shared key in the other frame;
Have
The server
An authentication information storage unit storing authentication information registered in advance;
Based on the authentication information storage unit, it is determined whether to authenticate authentication information that is required to be authenticated by the terminal, and an authentication unit that transmits authentication result information indicating whether authentication is successful to the terminal;
A shared key generation unit configured to generate the shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information when the authentication unit determines to authenticate the authentication information; ,
A communication system.
前記サーバは、
前記端末を、前記画面領域分割部、前記認証要求部、前記途中データ格納部、前記共有鍵生成部および前記共有鍵格納部として機能させるための端末用アプリケーションを格納する端末用アプリケーション格納部と、
前記端末用アプリケーションを前記端末に送信する端末用アプリケーション送信部と、
をさらに有し、
前記端末は、
前記端末用アプリケーションを受信する端末用アプリケーション受信部と、
前記端末用アプリケーションを実行する端末用アプリケーション実行部と、
をさらに有することを特徴とする請求項1に記載の通信システム。
The server
A terminal application storage unit for storing a terminal application for causing the terminal to function as the screen area dividing unit, the authentication request unit, the intermediate data storage unit, the shared key generation unit, and the shared key storage unit;
A terminal application transmitter for transmitting the terminal application to the terminal;
Further comprising
The terminal
A terminal application receiver for receiving the terminal application;
A terminal application execution unit for executing the terminal application;
The communication system according to claim 1, further comprising:
前記端末の前記認証要求部は、
前記認証の要求を開始するための認証要求データを生成して前記サーバに送信するとともに、前記認証要求データを生成する際に使用するデータを前記途中データとして前記途中データ格納部に格納する認証要求データ生成部と、
前記サーバから受信するランダムなチャレンジデータおよび前記途中データに基づいてレスポンスデータを生成して前記サーバに送信するとともに、前記レスポンスデータを生成する際に使用するデータを前記途中データとして前記途中データ格納部に追加して格納するレスポンス生成部と、
を有し、
前記サーバの前記認証部は、
前記認証要求データの受信に応じて前記チャレンジデータを生成して前記端末に送信するチャレンジ生成部と、
前記端末から受信する前記レスポンスデータを検証することにより前記認証情報を認証するか否を判断するレスポンス検証部と、
を有することを特徴とする請求項1または請求項2に記載の通信システム。
The authentication request unit of the terminal is
An authentication request for generating authentication request data for starting the authentication request and transmitting it to the server, and storing data used when generating the authentication request data as the intermediate data in the intermediate data storage unit A data generator;
Response data is generated based on random challenge data and the intermediate data received from the server and transmitted to the server, and the data used when generating the response data is used as the intermediate data, the intermediate data storage unit A response generator to store in addition to,
Have
The authentication unit of the server is
A challenge generator for generating the challenge data in response to reception of the authentication request data and transmitting the challenge data to the terminal;
A response verification unit that determines whether to authenticate the authentication information by verifying the response data received from the terminal;
The communication system according to claim 1 or 2, characterized by comprising:
前記サーバの前記端末用アプリケーション送信部は、前記端末用アプリケーションのURL(Uniform Resource Locator)に、前記サーバが有する公開鍵のハッシュ値の少なくとも一部を含めて前記端末用アプリケーションを前記端末に送信し、
前記サーバの前記チャレンジ生成部は、前記公開鍵を前記チャレンジデータに含めて前記端末に送信し、
前記端末の前記レスポンス生成部は、前記チャレンジデータに含まれる公開鍵が改変されていないことを前記端末用アプリケーションのURLに基づいて判断し、前記公開鍵が改変されていないと判断した場合に、前記公開鍵を用いて前記認証情報を暗号化した情報を前記レスポンスデータに含めて前記サーバに送信し、
前記サーバの前記レスポンス検証部は、前記レスポンスデータに含まれる情報を、前記公開鍵に対応する秘密鍵を用いて復号することにより得られる認証情報を認証するか否かを判断することを特徴とする請求項3に記載の通信システム。
The terminal application transmitter of the server transmits the terminal application to the terminal by including at least a part of a hash value of the public key of the server in a URL (Uniform Resource Locator) of the terminal application. ,
The challenge generation unit of the server includes the public key in the challenge data and transmits the challenge key to the terminal,
When the response generation unit of the terminal determines that the public key included in the challenge data has not been modified based on the URL of the application for the terminal, and determines that the public key has not been modified, Information that encrypts the authentication information using the public key is included in the response data and transmitted to the server,
The response verification unit of the server determines whether or not to authenticate authentication information obtained by decrypting information included in the response data using a secret key corresponding to the public key. The communication system according to claim 3.
あらかじめ登録された認証情報を格納した認証情報格納部と、
前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証部と、
前記認証部によって前記認証情報を認証すると判断された場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成部と、
を備えたサーバ。
An authentication information storage unit storing authentication information registered in advance;
Based on the authentication information storage unit, it is determined whether to authenticate authentication information that is required to be authenticated by the terminal, and an authentication unit that transmits authentication result information indicating whether authentication is successful to the terminal,
When it is determined by the authentication unit to authenticate the authentication information, a shared key generation unit that generates a shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information;
A server with
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割部と、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介してサーバに要求する認証要求部と、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内で格納する途中データ格納部と、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記他のフレーム内で格納する共有鍵格納部と、
を備えた端末。
A screen area dividing unit for dividing a browser screen area for displaying content into a plurality of frames;
An authentication requesting unit that requests authentication of authentication information acquired via the first frame among the plurality of frames to the server via the first frame;
A midway data storage unit for storing midway data used when requesting the authentication from the server in a frame other than the first frame;
If the authentication result information received from the server represents authentication success, a shared key generation unit that generates a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit,
A shared key storage unit for storing the shared key in the other frame;
With a terminal.
端末と通信を行うサーバに、
あらかじめ登録された認証情報を認証情報格納部に格納しておく認証情報格納ステップと、
前記認証情報格納部に基づいて、端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信する認証ステップと、
前記認証ステップで、前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、
を実行させるコンピュータ・プログラム。
To the server that communicates with the terminal,
An authentication information storage step of storing authentication information registered in advance in an authentication information storage unit;
An authentication step of determining whether to authenticate authentication information requested to be authenticated by the terminal based on the authentication information storage unit, and transmitting authentication result information indicating whether authentication is successful to the terminal;
In the authentication step, when it is determined to authenticate the authentication information, a shared key generation step for generating a shared key used for encrypted communication with the terminal based on intermediate data used when authenticating the authentication information;
A computer program that runs
サーバと通信を行う端末に、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割する画面領域分割ステップと、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求する認証要求ステップと、
前記認証要求ステップで前記認証を要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納する途中データ格納ステップと、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する共有鍵生成ステップと、
前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する共有鍵格納ステップと、
を実行させるコンピュータ・プログラム。
On the terminal that communicates with the server,
A screen area dividing step for dividing a browser screen area for displaying content into a plurality of frames;
An authentication requesting step for requesting the server to authenticate the authentication information acquired through the first frame among the plurality of frames;
An intermediate data storage step for storing intermediate data used when requesting the authentication in the authentication request step in an intermediate data storage unit in a frame other than the first frame;
If the authentication result information received from the server represents an authentication success, a shared key generation step for generating a shared key used for encrypted communication with the server, based on the intermediate data stored in the intermediate data storage unit;
A shared key storage step of storing the shared key in a shared key storage unit in the other frame;
A computer program that runs
サーバから端末に配信されるコンテンツのデータ構造であって、
前記端末において前記コンテンツが表示されるブラウザ画面領域を構成する複数のフレームの構造が定義されたフレーム構造情報と、
前記複数のフレームのうち第1のフレームに適用される情報を表し、前記第1のフレームを介して取得した認証情報の認証を前記第1のフレームを介して前記サーバに要求するとともに、前記サーバから受信した認証結果情報が認証成功を表す場合、前記認証を前記サーバに要求する際に使用した途中データに基づいて、前記サーバとの暗号通信に用いる共有鍵を生成する認証付鍵交換アプリケーションを含む第1フレーム情報と、
前記第1のフレーム以外の他のフレームに適用される情報を表し、前記途中データを格納する途中データ格納情報と、前記共有鍵を格納する共有鍵格納情報と、を含む他フレーム情報と、
を含むデータ構造。
A data structure of content distributed from a server to a terminal,
Frame structure information in which structures of a plurality of frames constituting a browser screen area in which the content is displayed in the terminal are defined;
Represents information applied to a first frame of the plurality of frames, requests authentication of authentication information acquired via the first frame from the server via the first frame, and An authentication key exchange application for generating a shared key used for encrypted communication with the server, based on intermediate data used when requesting the authentication to the server, if the authentication result information received from Including first frame information,
Other frame information representing information applied to other frames other than the first frame, including intermediate data storage information for storing the intermediate data, and shared key storage information for storing the shared key;
A data structure containing
サーバと、端末とを用いて、
前記端末は、
コンテンツを表示するブラウザ画面領域を複数のフレームに分割し、
前記複数のフレームのうち第1のフレームを介して取得した認証情報の認証を、前記第1のフレームを介して前記サーバに要求し、
前記認証を前記サーバに要求する際に使用される途中データを、前記第1のフレーム以外の他のフレーム内の途中データ格納部に格納し、
前記サーバは、
あらかじめ登録された認証情報を認証情報格納部に格納しておき、
前記認証情報格納部に基づいて、前記端末によって認証を要求される認証情報を認証するか否かを判断するとともに、認証成功か否かを表す認証結果情報を前記端末に送信し、
前記認証情報を認証すると判断した場合、前記認証情報を認証する際に使用した途中データに基づいて、前記端末との暗号通信に用いる共有鍵を生成し、
前記端末は、
前記サーバから受信した認証結果情報が認証成功を表す場合、前記途中データ格納部に格納された途中データに基づいて、前記サーバとの暗号通信に用いる前記共有鍵を生成し、
前記共有鍵を前記他のフレーム内の共有鍵格納部に格納する、通信方法。
Using a server and a terminal
The terminal
Divide the browser screen area that displays content into multiple frames,
Requesting the server to authenticate the authentication information acquired through the first frame of the plurality of frames through the first frame;
The intermediate data used when requesting the authentication to the server is stored in the intermediate data storage in a frame other than the first frame,
The server
Store pre-registered authentication information in the authentication information storage unit,
Based on the authentication information storage unit, it is determined whether to authenticate authentication information required for authentication by the terminal, and transmits authentication result information indicating whether authentication is successful to the terminal,
If it is determined to authenticate the authentication information, based on the intermediate data used when authenticating the authentication information, a shared key used for encrypted communication with the terminal is generated,
The terminal
If the authentication result information received from the server represents an authentication success, based on the intermediate data stored in the intermediate data storage unit, generate the shared key used for encrypted communication with the server,
A communication method for storing the shared key in a shared key storage unit in the other frame.
JP2010200941A 2010-09-08 2010-09-08 Communication system, communication method and computer program Pending JP2012060366A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010200941A JP2012060366A (en) 2010-09-08 2010-09-08 Communication system, communication method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010200941A JP2012060366A (en) 2010-09-08 2010-09-08 Communication system, communication method and computer program

Publications (1)

Publication Number Publication Date
JP2012060366A true JP2012060366A (en) 2012-03-22

Family

ID=46056938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010200941A Pending JP2012060366A (en) 2010-09-08 2010-09-08 Communication system, communication method and computer program

Country Status (1)

Country Link
JP (1) JP2012060366A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522637A (en) * 2013-05-22 2016-07-28 アドゥチド エセ.エレ.オ. Secured data channel authentication that implies a shared secret
JP2018078516A (en) * 2016-11-11 2018-05-17 本田技研工業株式会社 Communication device, communication system, communication method, and program
CN108241794A (en) * 2016-12-27 2018-07-03 本田技研工业株式会社 It is certified device, communication system, communication means and computer readable recording medium storing program for performing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318889A (en) * 2002-04-26 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Method for authenticating user, communication system, authentication server device, server device, and user terminal equipment
JP2003316738A (en) * 2002-04-25 2003-11-07 Hitachi Ltd Life cycle managing method of object having user authentication and service use restriction corresponding to web service
JP2004507156A (en) * 2000-08-11 2004-03-04 テレフオンアクチーボラゲツト エル エム エリクソン Security of optional communication service
JP2009503934A (en) * 2005-07-19 2009-01-29 株式会社エヌ・ティ・ティ・ドコモ Cryptographic authentication and / or shared encryption key configuration using signature keys encrypted with non-one-time pad cryptography, including but not limited to technology with improved security against malleable attacks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507156A (en) * 2000-08-11 2004-03-04 テレフオンアクチーボラゲツト エル エム エリクソン Security of optional communication service
JP2003316738A (en) * 2002-04-25 2003-11-07 Hitachi Ltd Life cycle managing method of object having user authentication and service use restriction corresponding to web service
JP2003318889A (en) * 2002-04-26 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Method for authenticating user, communication system, authentication server device, server device, and user terminal equipment
JP2009503934A (en) * 2005-07-19 2009-01-29 株式会社エヌ・ティ・ティ・ドコモ Cryptographic authentication and / or shared encryption key configuration using signature keys encrypted with non-one-time pad cryptography, including but not limited to technology with improved security against malleable attacks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014017864; Goodman, D.: JavaScript & DHTMLクックブック 第2版 , 20080620, p.281-283, 株式会社オライリー・ジャパン *
JPN7014001326; Mazieres, D. and Kaashoek, M. D.: 'Escaping the evils of centralized control with self-certifying pathnames' Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed application , 1998, p.118-125 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522637A (en) * 2013-05-22 2016-07-28 アドゥチド エセ.エレ.オ. Secured data channel authentication that implies a shared secret
JP2018078516A (en) * 2016-11-11 2018-05-17 本田技研工業株式会社 Communication device, communication system, communication method, and program
CN108076045A (en) * 2016-11-11 2018-05-25 本田技研工业株式会社 Communicator, communication system, communication means and computer readable recording medium storing program for performing
US10594675B2 (en) 2016-11-11 2020-03-17 Honda Motor Co., Ltd. Communication apparatus, communication system, communication method, and program
CN108241794A (en) * 2016-12-27 2018-07-03 本田技研工业株式会社 It is certified device, communication system, communication means and computer readable recording medium storing program for performing
JP2018107668A (en) * 2016-12-27 2018-07-05 本田技研工業株式会社 Device to be authenticated, communication system, communication method, and program

Similar Documents

Publication Publication Date Title
CN109088889B (en) SSL encryption and decryption method, system and computer readable storage medium
CN110380852B (en) Bidirectional authentication method and communication system
US8601267B2 (en) Establishing a secured communication session
US6263437B1 (en) Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
CN107295011B (en) Webpage security authentication method and device
RU2307391C2 (en) Method for remote changing of communication password
US8291231B2 (en) Common key setting method, relay apparatus, and program
CN103763356B (en) A kind of SSL establishment of connection method, apparatus and system
JP5845393B2 (en) Cryptographic communication apparatus and cryptographic communication system
EP2173055A1 (en) A method, a system, a client and a server for key negotiating
WO2018025991A1 (en) Communication system, communication client, communication server, communication method, and program
JP6471112B2 (en) COMMUNICATION SYSTEM, TERMINAL DEVICE, COMMUNICATION METHOD, AND PROGRAM
CN110198295A (en) Safety certifying method and device and storage medium
CN103166931A (en) Method, device and system of transmitting data safely
JP2011125020A (en) System and method for designing secure client-server communication based on certificateless public key infrastructure
KR101706117B1 (en) Apparatus and method for other portable terminal authentication in portable terminal
CN101631305B (en) Encryption method and system
US20110179478A1 (en) Method for secure transmission of sensitive data utilizing network communications and for one time passcode and multi-factor authentication
KR20170035665A (en) Apparatus and method for exchanging encryption key
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN104901935A (en) Bilateral authentication and data interaction security protection method based on CPK (Combined Public Key Cryptosystem)
WO2018030289A1 (en) Ssl communication system, client, server, ssl communication method, and computer program
CN108040048A (en) A kind of mobile client end subscriber dynamic secret key encryption communication method based on http protocol
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN101827106A (en) DHCP safety communication method, device and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140916