JP5622668B2 - Application authentication system, application authentication method - Google Patents

Application authentication system, application authentication method Download PDF

Info

Publication number
JP5622668B2
JP5622668B2 JP2011134271A JP2011134271A JP5622668B2 JP 5622668 B2 JP5622668 B2 JP 5622668B2 JP 2011134271 A JP2011134271 A JP 2011134271A JP 2011134271 A JP2011134271 A JP 2011134271A JP 5622668 B2 JP5622668 B2 JP 5622668B2
Authority
JP
Japan
Prior art keywords
key
information
storage unit
information terminal
authenticator
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.)
Active
Application number
JP2011134271A
Other languages
Japanese (ja)
Other versions
JP2013005220A (en
Inventor
智 飯塚
智 飯塚
市原 尚久
尚久 市原
康雅 平井
康雅 平井
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.)
NTT Data Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011134271A priority Critical patent/JP5622668B2/en
Publication of JP2013005220A publication Critical patent/JP2013005220A/en
Application granted granted Critical
Publication of JP5622668B2 publication Critical patent/JP5622668B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)

Description

本発明は、情報端末において動作するアプリケーションを認証する技術に関する。   The present invention relates to a technique for authenticating an application running on an information terminal.

様々なアプリケーションソフトウェア(以下、アプリケーション)が動作するスマートフォンやタブレットPC(パーソナルコンピュータ)等の情報端末が普及しており、これらの情報端末を様々な場面で有効に活用することが望まれている。例えば、これらの情報端末をビジネスの場面で利用する場合、その情報端末には様々な顧客情報、個人情報、営業秘密等の機密情報が記憶されていたり、このような機密情報が記憶されている外部のサーバにアクセスしたりすることがあると考えられるため、十分なセキュリティの確保が望まれる。例えば、非特許文献1には、情報端末において動作するアプリケーションの正当性を検証することが記載されている。ここでは、正当なアプリケーションのハッシュ値を予め算出して記憶しておく。そして、アプリケーションを動作させる際に、そのアプリケーションのハッシュ値を算出し、算出したハッシュ値と予め記憶したハッシュ値とを比較する。算出したハッシュ値と予め記憶したハッシュ値とが一致すれば、そのアプリケーションは正当であると判定して動作を許可し、算出したハッシュ値と予め記憶したハッシュ値とが一致しなければ、そのアプリケーションは正当でないと判定して動作を許可しない。   Information terminals such as smartphones and tablet PCs (personal computers) on which various application software (hereinafter referred to as applications) operate are widespread, and it is desired to use these information terminals effectively in various situations. For example, when these information terminals are used in a business situation, confidential information such as various customer information, personal information, trade secrets, or the like is stored in the information terminal. Sufficient security is desired because access to an external server may occur. For example, Non-Patent Document 1 describes that the validity of an application running on an information terminal is verified. Here, a hash value of a valid application is calculated and stored in advance. When the application is operated, the hash value of the application is calculated, and the calculated hash value is compared with the previously stored hash value. If the calculated hash value matches the pre-stored hash value, the application is determined to be valid, and the operation is permitted. If the calculated hash value does not match the pre-stored hash value, the application Is not valid and does not allow the operation.

植松建至、芦野佑樹、藤田圭祐、多田真崇、高塚光幸、佐々木良一、「構造計算書不正検知システムの提案」、2008年7月、情報処理学会論文誌、Vol.49、No.9、pp.3199−3208Kenji Uematsu, Yuki Kanno, Keisuke Fujita, Masataka Tada, Mitsuyuki Takatsuka, Ryoichi Sasaki, “Proposal of a fraud detection system for structural calculations”, July 2008, Transactions of Information Processing Society, Vol. 49, no. 9, pp. 3199-3208

しかしながら、上述のようなハッシュ値による認証は、アプリケーション自体の正当性を検証するものであるが、そのアプリケーションが適切な情報端末にインストールされ、動作するものであるか否かを検証するものではない。ここで、このような情報端末を、より高いセキュリティの求められる場面で活用する場合には、そのアプリケーションが適切な情報端末にインストールされ、動作する正当なアプリケーションであるか否かを検証することが望ましい。   However, the authentication using the hash value as described above verifies the validity of the application itself, but does not verify whether the application is installed and operated on an appropriate information terminal. . Here, when such an information terminal is used in a scene where higher security is required, it is possible to verify whether or not the application is a legitimate application that is installed in an appropriate information terminal and operates. desirable.

本発明は、このような状況に鑑みてなされたもので、情報端末において動作するアプリケーションが、適切な情報端末にインストールされた正当なアプリケーションであるか否かを検証するアプリケーション認証システム、アプリケーション認証方法を提供する。   The present invention has been made in view of such a situation, and an application authentication system and an application authentication method for verifying whether an application running on an information terminal is a legitimate application installed on an appropriate information terminal I will provide a.

上述した課題を解決するために、本発明は、耐タンパ装置を有する情報端末と、情報端末とネットワークを介して接続された認証サーバとを備えたアプリケーション認証システムであって、情報端末の耐タンパ装置は、情報端末において動作させるアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部と、アプリケーションソフトウェアから入力される、鍵情報を用いて暗号化されたメッセージを、耐タンパ鍵情報記憶部に記憶されている鍵情報を用いて復号する耐タンパ復号部と、耐タンパ復号部が復号したメッセージと、署名鍵とに基づいて第1の認証子を生成して出力する暗号化部と、を備え、情報端末は、鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信する処理を実行させるためのアプリケーションソフトウェアが記憶されているAP記憶部と、AP記憶部に記憶されているアプリケーションソフトウェアを動作させる制御部と、を備え、認証サーバは、鍵情報が記憶されている認証サーバ鍵情報記憶部と、耐タンパ装置に記憶されている署名鍵に対応する検証鍵が記憶されている検証鍵記憶部と、メッセージを生成して情報端末に送信する送信部と、送信部が情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信する受信部と、受信部が受信した第2の認証子を、認証サーバ鍵情報記憶部に記憶されている鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部に記憶されている検証鍵を用いて検証する検証部と、を備えることを特徴とする。 In order to solve the above-described problem, the present invention provides an application authentication system including an information terminal having a tamper resistant device, and an authentication server connected to the information terminal via a network. An apparatus includes a tamper-resistant key information storage unit that stores pre-hardcoded key information in application software that is operated on an information terminal, a signature key storage unit that stores a predetermined signature key, and application software A tamper-resistant decryption unit that decrypts a message encrypted using the key information input using the key information stored in the tamper-resistant key information storage unit, and a message decrypted by the tamper-resistant decryption unit, And an encryption unit that generates and outputs a first authenticator based on the signature key. Application software based on the coded source code, wherein a message transmitted from the authentication server is encrypted using key information and input to the tamper resistant device, and the tamper resistant device is selected according to the message input to the tamper resistant device. Application software for generating a second authenticator based on the first authenticator output from the device and the key information hard-coded in the apparatus and transmitting it to the authentication server is stored. An AP storage unit and a control unit that operates application software stored in the AP storage unit, and the authentication server stores the authentication server key information storage unit in which the key information is stored and the tamper resistant device. A verification key storage unit that stores a verification key corresponding to the signed signature key, and a message that generates information. A transmitter that transmits to the terminal, a receiver that receives the second authenticator transmitted from the information terminal in response to the message transmitted by the transmitter to the information terminal, and a second authenticator received by the receiver. Verifying using the key information stored in the authentication server key information storage unit, and verifying the first authenticator included in the second authenticator using the verification key stored in the verification key storage unit And a verification unit.

また、本発明は、認証サーバは、ネットワークを介して複数の情報端末に接続されており、検証部によって、第2の認証子の検証と、第1の認証子の検証との両方が検証成功と判定された場合、第2の認証子を送信した情報端末に記憶されているアプリケーションソフトウェアを識別する固有APIDを生成する固有APID生成部と、複数の情報端末に記憶されているアプリケーションソフトウェアを識別する固有APID毎に、アプリケーションソフトウェアに対応する固有鍵が対応付けられて記憶される固有鍵記憶部とを備え、認証サーバの受信部は、情報端末から送信される固有鍵を受信し、情報端末に記憶されているアプリケーションソフトウェアを識別する固有APIDに対応付けて固有鍵記憶部に記憶させ、情報端末は、検証部によって検証成功と判定された場合、固有鍵を生成し、認証サーバに送信する固有鍵送信部と、を備えることを特徴とする。 In the present invention, the authentication server is connected to a plurality of information terminals via a network, and both the verification of the second authenticator and the verification of the first authenticator are successfully verified by the verification unit. If it is determined, the unique APID generator for generating the unique APID for identifying the application software stored in the information terminal that has transmitted the second authenticator, and the application software stored in the plurality of information terminals are identified. A unique key storage unit for storing a unique key corresponding to the application software in association with each unique APID, and the receiving unit of the authentication server receives the unique key transmitted from the information terminal, In association with the unique APID that identifies the application software stored in the If it is determined that the verification is successful by generating a unique key, characterized in that it comprises a unique key transmission unit that transmits to the authentication server.

また、本発明は、AP記憶部に記憶されているアプリケーションソフトウェアは、複数の鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、複数の鍵情報のうち定められた条件に応じた鍵情報を用いて暗号化する処理を実行させ、耐タンパ装置の耐タンパ鍵情報記憶部には、複数の鍵情報が記憶され、耐タンパ装置の耐タンパ復号部は、耐タンパ鍵情報記憶部に記憶された複数の鍵情報のうち、条件に応じた鍵情報を用いて復号し、認証サーバの認証サーバ鍵情報記憶部には、複数の鍵情報が記憶され、認証サーバの検証部は、認証サーバ鍵情報記憶部に記憶された複数の鍵情報のうち、条件に応じた鍵情報を用いて検証することを特徴とする。 Further, according to the present invention, the application software stored in the AP storage unit is application software based on a source code in which a plurality of key information is hard-coded, and is in accordance with a predetermined condition among the plurality of key information. the key information to execute the processing of encrypting using, in the tamper resistant key information storing unit of the tamper resistant device, a plurality of key information is stored, the tamper-resistant decoder of the tamper resistant device, tamper resistant key information storage unit Is decrypted using key information according to the condition, and a plurality of key information is stored in the authentication server key information storage unit of the authentication server. Verification is performed using key information corresponding to a condition among a plurality of pieces of key information stored in the authentication server key information storage unit.

また、本発明は、アプリケーション認証システムは、情報端末において動作させるアプリケーションソフトウェアによって、情報端末と通信を行う業務APサーバを備え、認証サーバは、セッション鍵を生成し、鍵情報を用いて暗号化して情報端末との間で共有し、セッション鍵を業務APサーバに送信し、業務APサーバと情報端末とは、セッション鍵に基づいて暗号化通信を行うことを特徴とする。 In addition, the present invention provides an application authentication system including a business AP server that communicates with an information terminal by application software that operates on the information terminal, and the authentication server generates a session key and encrypts it using the key information. It is shared with the information terminal, and a session key is transmitted to the business AP server, and the business AP server and the information terminal perform encrypted communication based on the session key.

また、本発明は、認証サーバの送信部が情報端末に送信するメッセージは、チャレンジレスポンス方式におけるチャレンジであり、情報端末がチャレンジに応じて認証サーバに送信する第2の認証子は、チャレンジに対応するレスポンスであることを特徴とする。   Further, in the present invention, the message transmitted from the authentication server to the information terminal is a challenge in the challenge response method, and the second authenticator that the information terminal transmits to the authentication server in response to the challenge corresponds to the challenge. Response.

また、本発明は、情報端末において制御部に動作させるアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部とを備える耐タンパ装置を有し、鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、ネットワークを介して接続された認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信する処理を実行させるためのアプリケーションソフトウェアが記憶されているAP記憶部を備える情報端末と、鍵情報が記憶されている認証サーバ鍵情報記憶部と、耐タンパ装置に記憶されている署名鍵に対応する検証鍵が記憶されている検証鍵記憶部とを備えた認証サーバと、を備えたアプリケーション認証システムのアプリケーション認証方法であって、認証サーバが、メッセージを生成して情報端末に送信するステップと、情報端末の制御部が、AP記憶部に記憶されているアプリケーションソフトウェアを動作させることにより、認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力するステップと、情報端末の耐タンパ装置が、アプリケーションソフトウェアから入力される、鍵情報を用いて暗号化されたメッセージを、耐タンパ鍵情報記憶部に記憶されている鍵情報を用いて復号するステップと、復号したメッセージと、署名鍵とに基づいて第1の認証子を生成して出力するステップと、情報端末の制御部が、AP記憶部に記憶されているアプリケーションソフトウェアを動作させることにより、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信するステップと、認証サーバが、情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信するステップと、受信した第2の認証子を、認証サーバ鍵情報記憶部に記憶されている鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部に記憶されている検証鍵を用いて検証するステップと、を備えることを特徴とする。 The present invention also provides a tamper-resistant key information storage unit in which key information hard-coded in advance is stored in application software that is operated by the control unit in the information terminal, and a signature key in which a predetermined signature key is stored. A tamper-resistant device including a storage unit, and application software based on a hard-coded source code, wherein a message transmitted from an authentication server connected via a network is generated using the key information The second authentication is performed based on the first authenticator output from the tamper-proof device according to the message input to the tamper-proof device after being encrypted and input to the tamper-proof device and the key information hard-coded in itself. application software storage of for executing a process to create a child, to the authentication server An information terminal including an AP storage unit, an authentication server key information storage unit storing key information, and a verification key storage unit storing a verification key corresponding to a signature key stored in the tamper resistant device An authentication server comprising: an authentication method for an application authentication system comprising: an authentication server that generates a message and transmits the message to the information terminal; and the control unit of the information terminal stores the message in the AP storage unit. By operating the stored application software, a message transmitted from the authentication server is encrypted using key information and input to the tamper resistant device, and the tamper resistant device of the information terminal is input from the application software. The key stored in the tamper-resistant key information storage unit is encrypted using the key information. A step of decrypting using information, a step of generating and outputting a first authenticator based on the decrypted message and the signature key, and an application in which the control unit of the information terminal is stored in the AP storage unit By operating the software, a second authenticator is generated based on the first authenticator output from the tamper resistant device in response to the message input to the tamper resistant device and the key information hard-coded in itself. A step of transmitting to the authentication server, a step of receiving a second authenticator transmitted from the information terminal in response to a message transmitted by the authentication server to the information terminal, and a step of receiving the second authenticator, Verification is performed using the key information stored in the authentication server key information storage unit, and the first authenticator included in the second authenticator is used using the verification key stored in the verification key storage unit. And a step of verifying.

以上説明したように、本発明によれば、認証サーバが、メッセージを情報端末に送信し、情報端末が、送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、情報端末の耐タンパ装置が、暗号化されたメッセージを復号し、復号したメッセージと署名鍵とに基づいて第1の認証子を生成して出力し、情報端末が、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、鍵情報とに基づいて第2の認証子を生成して認証サーバに送信し、認証サーバが、情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信し、受信した第2の認証子を、鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、署名鍵に対応する検証鍵を用いて検証するようにしたので、情報端末において動作するアプリケーションが、適切な情報端末にインストールされた正当なアプリケーションであるか否かを検証することができる。   As described above, according to the present invention, the authentication server transmits a message to the information terminal, and the information terminal encrypts the transmitted message using the key information and inputs the message to the tamper-resistant device. The tamper resistant device of the terminal decrypts the encrypted message, generates and outputs a first authenticator based on the decrypted message and the signature key, and the information terminal converts the message input to the tamper resistant device to In response to the first authenticator output from the tamper resistant device and the key information, a second authenticator is generated and transmitted to the authentication server, and the authentication server responds to the message transmitted to the information terminal. The second authenticator transmitted from the information terminal is received, the received second authenticator is verified using the key information, and the first authenticator included in the second authenticator is determined as the signature key. Verify using the verification key corresponding to Since the application operating in the information terminal, it is possible to verify whether or not this is a legitimate application that is installed in the appropriate information terminal.

本発明の一実施形態によるアプリケーション認証システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの概要を示す図である。It is a figure which shows the outline | summary of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the validation process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the validation process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the validation process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the validation process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the validation process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of AP verification process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of AP verification process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of AP verification process of the application authentication system by one Embodiment of this invention. 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of AP verification process of the application authentication system by one Embodiment of this invention.

以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態によるアプリケーション認証システム1の構成を示すブロック図である。アプリケーション認証システム1は、認証サーバ100と、業務APサーバ200と、情報端末300とを備えている。ここで、図2を参照して、本実施形態の概要について説明する。本実施形態では、スマートフォンやタブレットPC等の情報端末300にアプリケーション(以下、APともいう)をインストールし、例えば企業内において、企業内の情報を扱うために利用する例を示す。そこで、このような情報端末300自体と、その情報端末300において動作するAPとの正当性を、認証サーバ100との三者間で検証することによってセキュリティを確保する。ここで、APの正当性とは、情報端末300において動作するAPが、AP管理者がインストールしたAPであるか否かを示し、AP管理者がインストールしたAPであれば正当であり、AP管理者がインストールしたAPでなければ正当でない。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of an application authentication system 1 according to the present embodiment. The application authentication system 1 includes an authentication server 100, a business AP server 200, and an information terminal 300. Here, an outline of the present embodiment will be described with reference to FIG. In the present embodiment, an example is shown in which an application (hereinafter also referred to as an AP) is installed in an information terminal 300 such as a smartphone or a tablet PC and used to handle information in the company, for example. Therefore, security is ensured by verifying the validity of the information terminal 300 itself and the AP operating in the information terminal 300 with the authentication server 100. Here, the validity of the AP indicates whether the AP operating in the information terminal 300 is an AP installed by the AP administrator, and is valid if the AP is installed by the AP administrator. It is not valid unless the AP is installed by the user.

まず、符号aに示すAP開発者は、APのソースコードに定められた鍵情報をハードコーディングし、ハードコーディングした鍵情報に基づく暗号化処理を行うソースコードを作成する。鍵情報は、本実施形態においては共通鍵暗号方式による共通鍵であることとし、コンピュータに発生させた擬似乱数である。そして、作成したソースコードに基づくコンパイルをコンピュータ装置に行わせ、オブジェクトコードであるAPを生成させる。このように生成されたオブジェクトコードからは、その元であるソースコードにハードコーディングされた鍵情報を解読することは非常に困難である。ここで、ソースコードにハードコーディングされた鍵情報を、HCP(ハードコードパラメータ)という。APは、例えば社内のデータベースに記憶されている個人情報や顧客情報等の機密情報に、ネットワークを介してアクセスする機能を有するものとする。   First, the AP developer indicated by symbol a hard-codes key information defined in the AP source code, and creates source code for performing encryption processing based on the hard-coded key information. In this embodiment, the key information is a common key using a common key cryptosystem, and is a pseudo-random number generated by a computer. Then, compiling based on the created source code is performed by the computer device, and AP as object code is generated. From the object code generated in this way, it is very difficult to decipher the key information hard-coded in the source code as the source code. Here, the key information hard-coded in the source code is referred to as HCP (hard code parameter). For example, the AP has a function of accessing confidential information such as personal information and customer information stored in an in-house database via a network.

AP開発者は、HCPと、HCPを埋め込んだAPとを、物理媒体に記憶させること等により、符号bに示すプロジェクト管理者に受け渡す。プロジェクト管理者は、APの運用を管理し、企業内において情報端末300を用いてAPを使用するAP利用者に、APがインストールされた情報端末300を配布する。ここで、プロジェクト管理者のコンピュータ装置は、署名鍵を生成し、情報端末300が備える耐タンパ装置(セキュアエレメント)に、署名鍵とHCPとを記憶させておく。また、署名鍵に対応する検証鍵とHCPとを、符号cに示すような、信頼できる第三者である認証局の認証サーバ100に記憶させておく。ここでは、プロジェクト管理者のコンピュータ装置が生成する署名鍵は共通鍵暗号方式による鍵情報であるとして説明するため、署名鍵と共通鍵とは同一の鍵情報である。ただし、後述するように、鍵情報としては公開鍵暗号方式の秘密鍵と公開鍵とを用いることもできる。プロジェクト管理者は、情報端末300にAPをインストールし、符号dに示すAP利用者に、情報端末300を配布する。   The AP developer delivers the HCP and the AP in which the HCP is embedded to the project manager indicated by symbol b by storing it in a physical medium. The project manager manages the operation of the AP and distributes the information terminal 300 on which the AP is installed to AP users who use the AP using the information terminal 300 in the company. Here, the computer device of the project manager generates a signature key, and stores the signature key and the HCP in a tamper resistant device (secure element) included in the information terminal 300. Further, the verification key corresponding to the signature key and the HCP are stored in the authentication server 100 of the certificate authority, which is a reliable third party, as indicated by reference symbol c. Here, since the description is given on the assumption that the signature key generated by the computer device of the project manager is key information based on the common key cryptosystem, the signature key and the common key are the same key information. However, as will be described later, a secret key and a public key of a public key cryptosystem can be used as the key information. The project manager installs the AP in the information terminal 300 and distributes the information terminal 300 to the AP user indicated by the symbol d.

AP利用者は、プロジェクト管理者から配布された情報端末300を利用して、インストールされたAPの起動要求を入力する。情報端末300に記憶されているAPは、認証サーバ100と通信を行ってAPの有効化処理を行う。有効化処理とは、APが認証サーバ100と通信を行って、情報端末300にインストールされたAPが動作することを認証サーバ100との間で共有するための処理である。このような有効化処理により、認証サーバ100によって情報端末300と情報端末300にインストールされたAPとが検証され、検証成功と判定された場合、情報端末300は、ネットワークを介して符号eに示す社内サービスを提供する業務APサーバ200に接続する。ここでは、1台の情報端末300を図示して説明するが、アプリケーション認証システム1は、社内サービスを利用する複数のAP利用者のそれぞれに配布する複数台の情報端末300を備えることができる。   The AP user uses the information terminal 300 distributed from the project manager to input an activation request for the installed AP. The AP stored in the information terminal 300 communicates with the authentication server 100 to perform the AP validation process. The enabling process is a process for sharing with the authentication server 100 that the AP communicates with the authentication server 100 and the AP installed in the information terminal 300 operates. When the authentication server 100 verifies the information terminal 300 and the AP installed in the information terminal 300 by such validation processing, and determines that the verification is successful, the information terminal 300 indicates the symbol e through the network. Connect to a business AP server 200 that provides in-house services. Here, although one information terminal 300 is illustrated and described, the application authentication system 1 can include a plurality of information terminals 300 distributed to each of a plurality of AP users who use the in-house service.

図1に戻り、認証サーバ100は、情報端末300と情報端末300に記憶されたAPとの正当性を検証する認証局のコンピュータ装置であり、HCP記憶部101と、検証鍵記憶部102と、C&R処理部103と、受信部104と、復号部105と、検証部106と、第2のセッション鍵生成部107と、固有APID生成部108とを備えている。   Returning to FIG. 1, the authentication server 100 is a computer device of an authentication station that verifies the validity of the information terminal 300 and the AP stored in the information terminal 300, and includes an HCP storage unit 101, a verification key storage unit 102, The C & R processing unit 103, the reception unit 104, the decryption unit 105, the verification unit 106, the second session key generation unit 107, and the unique APID generation unit 108 are provided.

HCP記憶部101には、APを識別するAPID毎に、そのAPに埋め込まれたHCPが対応付けられて予め記憶されている。ここで、HCPは、プロジェクト管理者と認証局との間で適切な方法で共有される。HCPの共有方法としては、例えば、(1)対面による事前共有、(2)鍵配布センターによる共有、(3)公開鍵による共有、などの共有方法がある。   In the HCP storage unit 101, for each APID for identifying an AP, an HCP embedded in the AP is associated with the AP and stored in advance. Here, the HCP is shared in an appropriate manner between the project manager and the certificate authority. Examples of HCP sharing methods include sharing methods such as (1) face-to-face sharing, (2) sharing by a key distribution center, and (3) sharing by public key.

(1)の方法は、認証局がプロジェクト管理者の本人確認を行うものである。(2)の方法では、事前に鍵配送センターにプロジェクト管理者のコンピュータ装置と認証局のコンピュータ装置との通信路を暗号化するための共通鍵をそれぞれ登録しておく。鍵配布センターは、セッション鍵を生成して、プロジェクト管理者の共通鍵でセッション鍵を暗号化し、プロジェクト管理者のコンピュータ装置に送信する。そして、認証局の共通鍵を用いてセッション鍵を暗号化し、認証局のコンピュータ装置に送信する。プロジェクト管理者のコンピュータ装置と、認証局のコンピュータ装置とは、鍵配布センターから送信されたセッション鍵を用いて暗号化通信を行い、HCPを共有する。(3)の方法は、ハイブリッドな鍵方式による共有であり、公開鍵証明書を別途用いるようにしても良い。   In the method (1), the certificate authority verifies the identity of the project manager. In the method (2), a common key for encrypting the communication path between the computer device of the project manager and the computer device of the certificate authority is registered in advance in the key distribution center. The key distribution center generates a session key, encrypts the session key with the project manager's common key, and transmits it to the project manager's computer device. Then, the session key is encrypted using the common key of the certificate authority and transmitted to the computer device of the certificate authority. The computer device of the project manager and the computer device of the certificate authority perform encrypted communication using the session key transmitted from the key distribution center and share the HCP. The method (3) is sharing by a hybrid key method, and a public key certificate may be used separately.

検証鍵記憶部102には、情報端末300の耐タンパ装置320に予め記憶されている署名鍵に対応する検証鍵が記憶されている。このような署名鍵は、プロジェクト管理者のコンピュータ装置によって生成され、上述の(1)〜(3)の共有方法や、(4)DH(Diffie Hellman)方式による共有方法によって共有される。(4)の方法は、プロジェクト管理者と認証局とが秘密の数を作り出し、そこからHCPを作り出す方法である。   The verification key storage unit 102 stores a verification key corresponding to a signature key stored in advance in the tamper resistant device 320 of the information terminal 300. Such a signature key is generated by the computer device of the project manager, and is shared by the sharing methods (1) to (3) described above and (4) the sharing method based on the DH (Diffie Hellman) method. The method (4) is a method in which the project manager and the certificate authority create a secret number and create an HCP therefrom.

C&R(チャレンジアンドレスポンス)処理部103は、情報端末300の正当性を検証するためのチャレンジであるメッセージを生成して情報端末に送信し、送信したチャレンジに対する応答であるレスポンスを受信して検証処理を行う。チャレンジ生成には、擬似乱数生成器を用いることができる。このように、本実施形態では、認証サーバ100と情報端末300との間で通信を行う際には、チャレンジレスポンス方式による認証を行うようにしたので、ネットワークを流れるメッセージの内容を毎回異なるものにすることができる。すなわち、メッセージが一度盗聴された場合でも、再度の通信の際には異なる値であるメッセージを利用することができ、盗聴による脅威が軽減される。   A C & R (challenge and response) processing unit 103 generates a message that is a challenge for verifying the validity of the information terminal 300, transmits the message to the information terminal, receives a response that is a response to the transmitted challenge, and performs a verification process I do. A pseudo-random number generator can be used for the challenge generation. As described above, in the present embodiment, when communication is performed between the authentication server 100 and the information terminal 300, authentication by the challenge response method is performed, so that the contents of messages flowing through the network are different each time. can do. That is, even if a message is eavesdropped, a message having a different value can be used for re-communication, and the threat of eavesdropping is reduced.

受信部104は、C&R処理部103が情報端末300に送信したチャレンジに応じて、その情報端末300から送信される認証子(第2の認証子)を受信する。認証子とは、鍵情報と、認証の対象であるメッセージとに基づいて生成される情報である。例えば、認証子としては、メッセージ自体をAES(Advanced Encryption Standard))等のアルゴリズムによって暗号化した結果や、認証の対象であるメッセージと、鍵情報とメッセージとに基づいて生成されるMAC(Message Authentication Code)との情報等が適用できる。また、受信部104は、情報端末300から送信される固有鍵を受信し、その情報端末300に記憶されているAPを識別する固有APIDに対応付けて、固有APID生成部108の記憶領域に記憶させる。固有鍵は、複数の情報端末300において動作するAPについて付与される固有の鍵情報であり、固有APIDは、複数の情報端末300のそれぞれにおいて動作するAPの固有の識別情報である。すなわち、同一のAPであっても、記憶されている情報端末300が異なる場合には、異なる固有鍵、異なる固有APIDが付与される。   The receiving unit 104 receives an authenticator (second authenticator) transmitted from the information terminal 300 in response to the challenge transmitted by the C & R processing unit 103 to the information terminal 300. The authenticator is information generated based on key information and a message to be authenticated. For example, as an authenticator, a MAC (Message Authentication) generated based on a result of encrypting a message itself by an algorithm such as AES (Advanced Encryption Standard), a message to be authenticated, key information, and the message. Code) etc. can be applied. The receiving unit 104 receives the unique key transmitted from the information terminal 300 and stores it in the storage area of the unique APID generation unit 108 in association with the unique APID that identifies the AP stored in the information terminal 300. Let The unique key is unique key information given to an AP that operates in a plurality of information terminals 300, and the unique APID is unique identification information of an AP that operates in each of the plurality of information terminals 300. That is, even if they are the same AP, if the stored information terminals 300 are different, different unique keys and different unique APIDs are assigned.

復号部105は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて、情報端末300から送信される暗号化情報を復号する。また、復号部105は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を読み出し、読み出した第2のセッション鍵を用いて、情報端末300から送信される暗号化情報を復号する。   The decryption unit 105 reads the HCP stored in the HCP storage unit 101, and decrypts the encrypted information transmitted from the information terminal 300 using the read HCP. Further, the decryption unit 105 reads the second session key stored in the second session key generation unit 107, and uses the read second session key to convert the encrypted information transmitted from the information terminal 300. Decrypt.

検証部106は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて、情報端末300から送信される認証子を検証する。検証処理は、例えば、送信したチャレンジに対するレスポンスである認証子を復号し、復号した結果が、送信したチャレンジと一致するか否かを判定することによって行う。一致すれば検証成功と判定し、一致しなければ検証失敗と判定する。また、検証部106は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を読み出し、読み出した第2のセッション鍵を用いて、情報端末300から送信される認証子を検証する。例えば、検証部106は、受信部104が受信した第2の認証子を、HCP記憶部101に記憶されているHCPを用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部102に記憶されている検証鍵を用いて検証する。   The verification unit 106 reads the HCP stored in the HCP storage unit 101, and verifies the authenticator transmitted from the information terminal 300 using the read HCP. The verification process is performed, for example, by decrypting an authenticator that is a response to the transmitted challenge and determining whether the decrypted result matches the transmitted challenge. If they match, it is determined that the verification is successful, and if they do not match, it is determined that the verification fails. Further, the verification unit 106 reads the second session key stored in the second session key generation unit 107, and verifies the authenticator transmitted from the information terminal 300 using the read second session key. To do. For example, the verification unit 106 verifies the second authenticator received by the receiving unit 104 using the HCP stored in the HCP storage unit 101, and determines the first authenticator included in the second authenticator. Verification is performed using the verification key stored in the verification key storage unit 102.

第2のセッション鍵生成部107は、擬似乱数を生成することにより、鍵情報である第2のセッション鍵を生成する。第2のセッション鍵は、認証サーバ100と情報端末300との間で共有されるとともに、情報端末300と業務APサーバ200とが暗号化通信を行うために、業務APサーバ200との間でも共有される。認証サーバ100と業務APサーバ200とがセッション鍵を共有する方法としては、上述の(1)〜(3)のような方法が適用できる。   The second session key generation unit 107 generates a second session key that is key information by generating a pseudo-random number. The second session key is shared between the authentication server 100 and the information terminal 300 and also shared with the business AP server 200 because the information terminal 300 and the business AP server 200 perform encrypted communication. Is done. As a method of sharing the session key between the authentication server 100 and the business AP server 200, the methods (1) to (3) described above can be applied.

固有APID生成部108は、検証部106によって検証成功と判定された場合、第2の認証子を送信した情報端末300に記憶されているAPを識別する固有APIDを生成し、自身の記憶領域に記憶させる。また、固有APID生成部108には、このような固有APID毎に、対応するAPIDと、対応する固有鍵とが対応付けられて記憶される。   When the verification unit 106 determines that the verification is successful, the unique APID generation unit 108 generates a unique APID for identifying the AP stored in the information terminal 300 that has transmitted the second authenticator, and stores the unique APID in its own storage area. Remember. The unique APID generation unit 108 stores a corresponding APID and a corresponding unique key in association with each unique APID.

業務APサーバ200は、情報端末300において動作するAPと通信を行うコンピュータ装置である。ここで、業務APサーバ200と情報端末300とは、認証サーバ100によって生成された第2のセッション鍵を用いて暗号化通信を行う。   The business AP server 200 is a computer device that communicates with an AP operating on the information terminal 300. Here, the business AP server 200 and the information terminal 300 perform encrypted communication using the second session key generated by the authentication server 100.

情報端末300は、スマートフォンやタブレットPC等のコンピュータ装置である。情報端末300は、AP記憶部310と、耐タンパ装置320と、制御部330とを備えている。
AP記憶部310には、HCPがハードコーディングされたソースコードに基づいてコンパイルされ生成されたAPが記憶される。AP記憶部310に記憶されているAPは、例えば企業内における業務アプリケーション等の機能を備えるとともに、耐タンパ装置320や認証サーバ100と通信を行ってAP認証を行う機能を有する。APは、例えば、情報端末300から送信されるチャレンジを、HCPを用いて暗号化して耐タンパ装置320に入力し、耐タンパ装置320に入力したチャレンジに応じて耐タンパ装置320から出力される第1の認証子(レスポンス)と、HCPとに基づいて第2の認証子(レスポンス)を生成し、認証サーバ100に送信する機能を有する。AP記憶部310に記憶されているAPは、制御部330によって読み出され、実行される。
The information terminal 300 is a computer device such as a smartphone or a tablet PC. The information terminal 300 includes an AP storage unit 310, a tamper resistant device 320, and a control unit 330.
The AP storage unit 310 stores an AP that is compiled and generated based on a source code in which HCP is hard-coded. The AP stored in the AP storage unit 310 has functions such as business applications in a company, for example, and also has a function of performing AP authentication by communicating with the tamper resistant device 320 and the authentication server 100. For example, the AP encrypts a challenge transmitted from the information terminal 300 using the HCP and inputs the encrypted challenge to the tamper resistant device 320, and outputs the first challenge output from the tamper resistant device 320 according to the challenge input to the tamper resistant device 320. The second authenticator (response) is generated based on the first authenticator (response) and the HCP, and is transmitted to the authentication server 100. The AP stored in the AP storage unit 310 is read and executed by the control unit 330.

耐タンパ装置320は、HCP記憶部321と、署名鍵記憶部322と、暗号処理部323と、有効化フラグ記憶部324と、C&R処理部325と、第1のセッション鍵生成部326と、固有鍵生成部327と、有効化フラグ制御部328と、要求送信部329とを備えている。   The tamper resistant device 320 includes an HCP storage unit 321, a signature key storage unit 322, an encryption processing unit 323, an activation flag storage unit 324, a C & R processing unit 325, a first session key generation unit 326, A key generation unit 327, an activation flag control unit 328, and a request transmission unit 329 are provided.

HCP記憶部321には、情報端末300において動作するAPに予めハードコーディングされたHCPが記憶されている。ここでは、プロジェクト管理者が、AP開発者から適切に受け取ったHCPが、プロジェクト管理者のコンピュータ装置を介してHCP記憶部321に予め記憶される。   The HCP storage unit 321 stores an HCP that is hard-coded in advance in an AP that operates in the information terminal 300. Here, the HCP appropriately received by the project manager from the AP developer is stored in advance in the HCP storage unit 321 via the computer apparatus of the project manager.

署名鍵記憶部322には、予め定められた署名鍵が記憶されている。署名鍵は、認証サーバ100の検証鍵記憶部102に記憶された検証鍵に対応する鍵情報であり、例えば上述の(1)〜(4)のいずれかの方法によって共有され、予め記憶される。   The signature key storage unit 322 stores a predetermined signature key. The signature key is key information corresponding to the verification key stored in the verification key storage unit 102 of the authentication server 100, and is shared by, for example, any one of the above-described methods (1) to (4) and stored in advance. .

暗号処理部323は、制御部330において動作するAPから入力される、HCPを用いて暗号化されたチャレンジを、HCP記憶部321に記憶されているHCPを用いて復号する。また、暗号処理部323は、このように復号したチャレンジと、署名鍵記憶部322から読み出した署名鍵とに基づいて、第1の認証子を生成して出力する。   The encryption processing unit 323 decrypts the challenge, which is input from the AP operating in the control unit 330 and encrypted using the HCP, using the HCP stored in the HCP storage unit 321. Also, the cryptographic processing unit 323 generates and outputs a first authenticator based on the challenge decrypted in this way and the signature key read from the signature key storage unit 322.

有効化フラグ記憶部324には、AP記憶部310に記憶されている複数のAP毎に、そのAPを識別するAPIDと、複数の情報端末300のうちでその情報端末300に固有に付与される固有APIDと、そのAPが有効化されているか否かを示す有効化フラグとが対応付けられて記憶される。有効とは、APが耐タンパ装置320と認証サーバ100とによって検証され、正当なものであると判定されていることをいう。有効化フラグは、例えば有効であればON(1)の値が、有効でなければOFF(0)の値が対応付けられる。有効化フラグは、例えば1ビットで表され、ISO/IEC7816−4に規定されるEF(エレメンタリファイル)に格納される。   For each of a plurality of APs stored in the AP storage unit 310, the validation flag storage unit 324 is uniquely assigned to the information terminal 300 among the plurality of information terminals 300. A unique APID and an activation flag indicating whether or not the AP is activated are stored in association with each other. “Valid” means that the AP is verified by the tamper resistant device 320 and the authentication server 100 and determined to be valid. For example, if the validation flag is valid, the value of ON (1) is associated with the value of OFF (0). The validation flag is represented by 1 bit, for example, and is stored in an EF (elementary file) defined by ISO / IEC7816-4.

C&R処理部325は、制御部330において動作するAPの正当性を検証するためのチャレンジであるメッセージを生成してAPに出力し、出力したチャレンジに対する応答であるレスポンスを受信して検証処理を行う。   The C & R processing unit 325 generates a message that is a challenge for verifying the validity of the AP operating in the control unit 330, outputs the message to the AP, receives a response that is a response to the output challenge, and performs a verification process .

第1のセッション鍵生成部326は、擬似乱数を生成することにより、鍵情報である第1のセッション鍵を生成する。第1のセッション鍵は、耐タンパ装置320と制御部330との間で共有される。
固有鍵生成部327は、認証サーバ100によって制御部330において動作するAPの正当性が検証され、検証成功と判定された場合、複数の情報端末300に記憶されたAPのうちで一意となる鍵情報である固有鍵を生成する。
The first session key generation unit 326 generates a first session key that is key information by generating a pseudo-random number. The first session key is shared between the tamper resistant device 320 and the control unit 330.
The unique key generation unit 327 is a key that is unique among the APs stored in the plurality of information terminals 300 when the authenticity of the AP operating in the control unit 330 is verified by the authentication server 100 and it is determined that the verification is successful. A unique key that is information is generated.

有効化フラグ制御部328は、制御部330において動作するアプリや認証サーバ100から送信される情報に応じて、有効化フラグ記憶部324に記憶されている有効化フラグの読み出しや更新を行う。
要求送信部329は、業務APサーバ200への接続要求コマンドや、AP起動要求コマンドを生成して送信する。
The validation flag control unit 328 reads and updates the validation flag stored in the validation flag storage unit 324 in accordance with an application that operates in the control unit 330 and information transmitted from the authentication server 100.
The request transmission unit 329 generates and transmits a connection request command to the business AP server 200 and an AP activation request command.

制御部330は、AP利用者から入力されるAPの起動要求に応じて、起動要求に対応するAPをAP記憶部310から読み出して動作させる。ここで、制御部330は、AP記憶部310から読み出したAPに基づいて、HCP記憶部331と、認証要求部332と、暗号処理部333と、セッション鍵受信部334と、有効化フラグ確認要求部335と、要求送信部336との機能部を構成する。
HCP記憶部331には、APID毎に予め定められたHCPが対応付けられて記憶されている。
In response to an AP activation request input from an AP user, the controller 330 reads the AP corresponding to the activation request from the AP storage unit 310 and operates it. Here, the control unit 330, based on the AP read from the AP storage unit 310, the HCP storage unit 331, the authentication request unit 332, the encryption processing unit 333, the session key reception unit 334, the validation flag confirmation request The function part of the part 335 and the request | requirement transmission part 336 is comprised.
In the HCP storage unit 331, a predetermined HCP is stored in association with each APID.

認証要求部332は、耐タンパ装置320や認証サーバ100に対してC&Rによる認証要求を行う
暗号処理部333は、HCP記憶部331から読み出したHCPや、セッション鍵受信部334から読み出した第1のセッション鍵または第2のセッション鍵による暗号化処理または復号処理を行う。
The authentication request unit 332 makes an authentication request by C & R to the tamper resistant device 320 and the authentication server 100. The encryption processing unit 333 reads the HCP read from the HCP storage unit 331 and the first read from the session key reception unit 334. An encryption process or a decryption process is performed using the session key or the second session key.

セッション鍵受信部334は、耐タンパ装置320の第1のセッション鍵生成部326によって生成された第1のセッション鍵を受信し、自身の記憶領域に記憶させる。同様に、認証サーバ100の第2のセッション鍵生成部107によって生成された第2のセッション鍵を受信し、自身の記憶領域に記憶させる。   The session key reception unit 334 receives the first session key generated by the first session key generation unit 326 of the tamper resistant apparatus 320 and stores it in its own storage area. Similarly, the second session key generated by the second session key generation unit 107 of the authentication server 100 is received and stored in its own storage area.

有効化フラグ確認要求部335は、APの起動時に、耐タンパ装置320に対して有効化フラグ確認要求を入力する。有効化フラグ確認要求部335が耐タンパ装置320に入力する確認要求には、自身のAPを識別するAPIDが含まれる。
要求送信部336は、耐タンパ装置320から送信される各要求を、認証サーバ100に送信する。
The validation flag confirmation request unit 335 inputs a validation flag confirmation request to the tamper resistant apparatus 320 when the AP is activated. The confirmation request that the validation flag confirmation request unit 335 inputs to the tamper resistant device 320 includes an APID that identifies its own AP.
The request transmission unit 336 transmits each request transmitted from the tamper resistant device 320 to the authentication server 100.

次に、本実施形態によるアプリケーション認証システム1の動作例を説明する。図3から図7は、アプリケーション認証システム1によるAP有効化処理を示すシーケンス図である。
図3に示すように、まず、AP利用者により、情報端末300に起動要求が入力されると、制御部330が、起動要求の入力を受け付ける(ステップS1)。制御部330は、起動要求に対応するAPをAP記憶部310から読み出して展開し、制御部330に含まれる各機能部を構成する。認証要求部332は、自身のAPIDが含まれる認証要求を耐タンパ装置320に入力する(ステップS2)。C&R処理部325は、チャレンジを生成し(ステップS3)、制御部330に出力する(ステップS4)。制御部330の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPと、耐タンパ装置320から出力されたチャレンジとに基づいて認証子を生成する(ステップS5)。
Next, an operation example of the application authentication system 1 according to the present embodiment will be described. FIG. 3 to FIG. 7 are sequence diagrams showing AP validation processing by the application authentication system 1.
As shown in FIG. 3, first, when an activation request is input to the information terminal 300 by the AP user, the control unit 330 accepts an input of the activation request (step S1). The control unit 330 reads the AP corresponding to the activation request from the AP storage unit 310 and develops it, and configures each functional unit included in the control unit 330. The authentication request unit 332 inputs an authentication request including its own APID to the tamper resistant device 320 (step S2). The C & R processing unit 325 generates a challenge (step S3) and outputs the challenge to the control unit 330 (step S4). The encryption processing unit 333 of the control unit 330 reads the HCP stored in the HCP storage unit 331, and generates an authenticator based on the read HCP and the challenge output from the tamper resistant device 320 (step S5). .

暗号処理部333は、生成した認証子を耐タンパ装置320に入力する(ステップS6)。C&R処理部325は、HCP記憶部321に記憶されているHCPを読み出し、読み出したHCPを用いて、制御部330から入力された認証子を検証する(ステップS7)。ここで、C&R処理部325が、検証失敗と判定すれば(ステップS8:NO)、エラーとして処理を終了する(ステップS9)。一方、C&R処理部325が、検証成功と判定すれば(ステップS8:YES)、第1のセッション鍵生成部326が、第1のセッション鍵を生成して自身の記憶領域に記憶させる(ステップS10)。暗号処理部323は、HCP記憶部321に記憶されたHCPを読み出し、読み出したHCPにより、第1のセッション鍵生成部326が生成した第1のセッション鍵を暗号化する(ステップS11)。   The cryptographic processing unit 333 inputs the generated authenticator to the tamper resistant device 320 (step S6). The C & R processing unit 325 reads the HCP stored in the HCP storage unit 321 and verifies the authenticator input from the control unit 330 using the read HCP (step S7). If the C & R processing unit 325 determines that the verification has failed (step S8: NO), the process ends as an error (step S9). On the other hand, if the C & R processing unit 325 determines that the verification is successful (step S8: YES), the first session key generation unit 326 generates the first session key and stores it in its own storage area (step S10). ). The encryption processing unit 323 reads the HCP stored in the HCP storage unit 321 and encrypts the first session key generated by the first session key generation unit 326 using the read HCP (step S11).

暗号処理部323は、暗号化した第1のセッション鍵を出力する(ステップS12)。セッション鍵受信部334は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPにより、暗号処理部323が出力した第1のセッション鍵を復号し、自身の記憶領域に記憶させる(ステップS13)。
図4に進み、有効化フラグ確認要求部335が、自身のAPIDに対応する有効化フラグの確認要求を耐タンパ装置320に入力する(ステップS14)。有効化フラグの確認要求には、確認要求を入力するAPのAPIDが含まれる。耐タンパ装置320の有効化フラグ制御部328は、有効化フラグ確認要求部335から入力された有効化フラグの確認要求に応じて、確認要求に含まれるAPIDに対応付けられて有効化フラグ記憶部324に記憶されている有効化フラグを読み出す(ステップS15)。
The encryption processing unit 323 outputs the encrypted first session key (step S12). The session key receiving unit 334 reads the HCP stored in the HCP storage unit 331, decrypts the first session key output by the encryption processing unit 323 using the read HCP, and stores the decrypted first session key in its own storage area (step S31). S13).
Proceeding to FIG. 4, the validation flag confirmation requesting unit 335 inputs a validation flag confirmation request corresponding to its own APID to the tamper resistant apparatus 320 (step S14). The confirmation request for the validation flag includes the APID of the AP that inputs the confirmation request. The activation flag control unit 328 of the tamper resistant apparatus 320 responds to the validation flag confirmation request input from the validation flag confirmation request unit 335 and is associated with the APID included in the confirmation request. The validation flag stored in 324 is read (step S15).

有効化フラグ制御部328は、読み出した有効化フラグが、無効を示すと判定すると(ステップS16:NO)、有効化要求コマンドを生成する(ステップS17)。暗号処理部323は、署名鍵記憶部322に記憶されている署名鍵を読み出し、読み出した署名鍵と、有効化フラグ制御部328が生成した有効化要求コマンドに基づいて認証子を生成する(ステップS18)。暗号処理部323は、第1のセッション鍵生成部326が生成した第1のセッション鍵を用いて、生成した認証子を暗号化する(ステップS19)。暗号処理部323は、暗号化した認証子を出力する(ステップS20)。   If the validation flag control unit 328 determines that the readout validation flag indicates invalidity (step S16: NO), the validation flag control unit 328 generates an validation request command (step S17). The cryptographic processing unit 323 reads the signature key stored in the signature key storage unit 322, and generates an authenticator based on the read signature key and the validation request command generated by the validation flag control unit 328 (step S18). The encryption processing unit 323 encrypts the generated authenticator using the first session key generated by the first session key generation unit 326 (step S19). The encryption processing unit 323 outputs the encrypted authenticator (Step S20).

暗号処理部323から、暗号化した認証子が出力されると、要求送信部336は、自身のAPIDが含まれる認証要求を認証サーバ100に送信する(ステップS21)。認証サーバ100が、情報端末300から送信された認証要求を受信すると、C&R処理部103は、チャレンジを生成し(ステップS22)、情報端末300に送信する(ステップS23)。情報端末300が、認証サーバ100から送信されたチャレンジを受信すると、暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPを鍵情報として、認証サーバ100から送信されたチャレンジの認証子を生成する(ステップS24)。暗号処理部333は、生成した認証子を認証サーバ100に送信する(ステップS25)。認証サーバ100のC&R処理部103は、情報端末300から送信された認証子を受信すると、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて認証子を検証する(ステップS26)。   When the encrypted authenticator is output from the encryption processing unit 323, the request transmission unit 336 transmits an authentication request including its own APID to the authentication server 100 (step S21). When the authentication server 100 receives the authentication request transmitted from the information terminal 300, the C & R processing unit 103 generates a challenge (step S22) and transmits the challenge to the information terminal 300 (step S23). When the information terminal 300 receives the challenge transmitted from the authentication server 100, the encryption processing unit 333 reads the HCP stored in the HCP storage unit 331, and transmits the read HCP as key information from the authentication server 100. A challenge authenticator is generated (step S24). The cryptographic processing unit 333 transmits the generated authenticator to the authentication server 100 (step S25). When receiving the authenticator transmitted from the information terminal 300, the C & R processing unit 103 of the authentication server 100 reads the HCP stored in the HCP storage unit 101, and verifies the authenticator using the read HCP (step S26). ).

図5に進み、C&R処理部103が、検証失敗と判定すれば(ステップS27:NO)、エラーとして処理を終了する(ステップS28)。一方、C&R処理部103が、検証成功と判定すれば(ステップS27:YES)、第2のセッション鍵生成部107が、第2のセッション鍵を生成して自身の記憶領域に記憶させる(ステップS29)。辞書データ生成部107は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPにより、第2のセッション鍵を暗号化する(ステップS30)。辞書データ生成部107は、暗号化した第2のセッション鍵を情報端末300に送信する(ステップS31)。情報端末300のセッション鍵受信部334は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPにより、認証サーバ100から送信された第2のセッション鍵を復号し、自身の記憶領域に記憶させる(ステップS32)。   Proceeding to FIG. 5, if the C & R processing unit 103 determines that the verification has failed (step S27: NO), the process ends as an error (step S28). On the other hand, if the C & R processing unit 103 determines that the verification is successful (step S27: YES), the second session key generation unit 107 generates a second session key and stores it in its own storage area (step S29). ). The dictionary data generation unit 107 reads the HCP stored in the HCP storage unit 101, and encrypts the second session key using the read HCP (step S30). The dictionary data generation unit 107 transmits the encrypted second session key to the information terminal 300 (step S31). The session key receiving unit 334 of the information terminal 300 reads the HCP stored in the HCP storage unit 331, decrypts the second session key transmitted from the authentication server 100 using the read HCP, and stores it in its storage area. Store (step S32).

暗号処理部333は、セッション鍵受信部334に記憶された第1のセッション鍵を読み出し、ステップS20において耐タンパ装置320から出力された認証子を、読み出した第1のセッション鍵で復号し、復号した認証子を、セッション鍵受信部334に記憶された第2のセッション鍵を用いて暗号化する(ステップS33)。暗号処理部333は、暗号化した認証子を認証サーバ100に送信する(ステップS34)。認証サーバ100の受信部104は、情報端末300から送信される、暗号化された認証子を受信する。復号部105が、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を用いて、受信部104が受信した認証子を検証する。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、認証子に含まれる有効化要求コマンドを読み出す(ステップS35)。   The cryptographic processing unit 333 reads the first session key stored in the session key receiving unit 334, decrypts the authenticator output from the tamper resistant device 320 in step S20 with the read first session key, and decrypts it. The authenticated authenticator is encrypted using the second session key stored in the session key receiving unit 334 (step S33). The encryption processing unit 333 transmits the encrypted authenticator to the authentication server 100 (step S34). The receiving unit 104 of the authentication server 100 receives the encrypted authenticator transmitted from the information terminal 300. The decryption unit 105 verifies the authenticator received by the reception unit 104 using the second session key stored in the second session key generation unit 107. If it is determined that the verification has failed, the process ends as an error. If it is determined that the verification is successful, the validation request command included in the authenticator is read (step S35).

そして、認証サーバ100のC&R処理部103が、チャレンジを生成し、情報端末300に送信すると、情報端末300の暗号処理部333が、認証サーバ100から送信されたチャレンジを受信する。暗号処理部333は、HCP記憶部331に記憶されたHCPを読み出し、読み出したHCPによりチャレンジを暗号化する(ステップS38)。暗号処理部333は、暗号化したチャレンジを耐タンパ装置320に入力する(ステップS39)。   Then, when the C & R processing unit 103 of the authentication server 100 generates a challenge and transmits the challenge to the information terminal 300, the encryption processing unit 333 of the information terminal 300 receives the challenge transmitted from the authentication server 100. The encryption processing unit 333 reads the HCP stored in the HCP storage unit 331, and encrypts the challenge using the read HCP (step S38). The encryption processing unit 333 inputs the encrypted challenge to the tamper resistant device 320 (step S39).

図6に進み、耐タンパ装置320の暗号処理部323は、HCP記憶部321に記憶されているHCPを読み出し、読み出したHCPにより、制御部330から入力されたチャレンジを復号する(ステップS40)。そして、署名鍵記憶部322に記憶されている署名鍵を読み出し、読み出した署名鍵と、復号したチャレンジとに基づいて認証子を生成する(ステップS41)。暗号処理部323は、生成した認証子を出力する(ステップS42)。制御部330の暗号処理部333は、HCP記憶部331からHCPを読み出し、読み出したHCPと、耐タンパ装置320から出力された認証子とに基づいて第2の認証子を生成する(ステップS43)。暗号処理部333は、生成した第2の認証子を認証サーバ100に送信する(ステップS44)。   Proceeding to FIG. 6, the encryption processing unit 323 of the tamper resistant apparatus 320 reads the HCP stored in the HCP storage unit 321 and decrypts the challenge input from the control unit 330 using the read HCP (step S40). And the signature key memorize | stored in the signature key memory | storage part 322 is read, and an authenticator is produced | generated based on the read signature key and the decrypted challenge (step S41). The cryptographic processing unit 323 outputs the generated authenticator (step S42). The encryption processing unit 333 of the control unit 330 reads the HCP from the HCP storage unit 331, and generates a second authenticator based on the read HCP and the authenticator output from the tamper resistant apparatus 320 (step S43). . The cryptographic processing unit 333 transmits the generated second authenticator to the authentication server 100 (step S44).

認証サーバ100の受信部104が、情報端末300から送信された第2の認証子を受信すると、検証部106が、HCP記憶部101に記憶されているHCPを読み出し、第2の認証子を検証する(ステップS45)。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、検証鍵記憶部102に記憶されている検証鍵を読み出し、読み出した検証鍵により、第2の認証子に含まれる認証子を検証する(ステップS46)。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、固有APID生成部108が、情報端末300のAPを識別する固有APIDを生成し、自身の記憶領域に記憶させる(ステップS47)。   When the receiving unit 104 of the authentication server 100 receives the second authenticator transmitted from the information terminal 300, the verifying unit 106 reads the HCP stored in the HCP storage unit 101 and verifies the second authenticator. (Step S45). If it is determined that the verification has failed, the process ends as an error. If it is determined that the verification is successful, the verification key stored in the verification key storage unit 102 is read, and the authenticator included in the second authenticator is verified using the read verification key (step S46). If it is determined that the verification has failed, the process ends as an error. If it is determined that the verification is successful, the unique APID generation unit 108 generates a unique APID for identifying the AP of the information terminal 300 and stores it in its own storage area (step S47).

また、固有APID生成部108は、有効化許可コマンドを生成し、生成した有効化許可コマンドと、固有APIDとを、第2のセッション鍵生成部107から読み出した第2のセッション鍵により暗号化する(ステップS48)。固有APID生成部108は、暗号化した有効許可コマンドと固有APIDとを、情報端末300に送信する(ステップS49)。情報端末300の暗号処理部333は、認証サーバ100から送信された、暗号化された有効化許可コマンドと固有APIDとを、セッション鍵受信部334から読み出した第2のセッション鍵で復号し、セッション鍵受信部334から読み出した第1のセッション鍵により暗号化する(ステップS50)。暗号処理部333は、第1のセッション鍵により暗号化した有効化許可コマンドと固有APIDとを、耐タンパ装置320に入力する(ステップS51)。   The unique APID generation unit 108 generates an activation permission command, and encrypts the generated activation permission command and the unique APID using the second session key read from the second session key generation unit 107. (Step S48). The unique APID generation unit 108 transmits the encrypted valid permission command and the unique APID to the information terminal 300 (step S49). The encryption processing unit 333 of the information terminal 300 decrypts the encrypted enable permission command and the unique APID transmitted from the authentication server 100 with the second session key read from the session key receiving unit 334, and Encryption is performed using the first session key read from the key receiving unit 334 (step S50). The encryption processing unit 333 inputs the activation permission command encrypted with the first session key and the unique APID to the tamper resistant apparatus 320 (step S51).

図7に進み、耐タンパ装置320の暗号処理部323は、暗号化された有効化許可コマンドと固有APIDとを、第1のセッション鍵生成部326から読み出した第1のセッション鍵を用いて復号する(ステップS52)。有効化フラグ制御部328は、暗号処理部323によって復号された有効化許可コマンドを実行し、制御部330のAPIDに対応付けられて有効化フラグ記憶部324に記憶されている有効化フラグをONに更新する(ステップS53)。また、復号した固有APIDを、有効化フラグ記憶部324に記憶させる(ステップS54)。そして、固有鍵生成部327が、固有鍵を生成する(ステップS55)と、暗号処理部323が、第1のセッション鍵生成部326から読み出した第1のセッション鍵を用いて固有鍵を暗号化し(ステップS56)、暗号化した固有鍵を出力する(ステップS57)。   Proceeding to FIG. 7, the encryption processing unit 323 of the tamper resistant apparatus 320 decrypts the encrypted enable permission command and the unique APID using the first session key read from the first session key generation unit 326. (Step S52). The validation flag control unit 328 executes the validation permission command decrypted by the encryption processing unit 323, and turns on the validation flag stored in the validation flag storage unit 324 in association with the APID of the control unit 330. (Step S53). Also, the decrypted unique APID is stored in the validation flag storage unit 324 (step S54). Then, when the unique key generation unit 327 generates a unique key (step S55), the encryption processing unit 323 encrypts the unique key using the first session key read from the first session key generation unit 326. (Step S56), the encrypted unique key is output (Step S57).

制御部330の暗号処理部333は、セッション鍵受信部334から読み出した第1のセッション鍵を用いて、耐タンパ装置320から出力された固有鍵を復号し、セッション鍵受信部334から読み出した第2のセッション鍵を用いて暗号化する(ステップS58)。暗号処理部333は、暗号化した固有鍵を認証サーバ100に送信する(ステップS59)。認証サーバ100の受信部104が、情報端末300から送信された、暗号化された固有鍵を受信すると、固有APID生成部108が、第2のセッション鍵生成部107から読み出した第2のセッション鍵を用いて固有鍵を復号し、ステップS47において生成した固有APIDと対応付けて自身の記憶領域に記憶させる(ステップS60)。そして、ステップS14に戻り、有効化フラグがONになった状態でAPの検証処理を行う。   The encryption processing unit 333 of the control unit 330 uses the first session key read from the session key receiving unit 334 to decrypt the unique key output from the tamper resistant apparatus 320 and reads the first key read from the session key receiving unit 334. 2 is used for encryption (step S58). The encryption processing unit 333 transmits the encrypted unique key to the authentication server 100 (step S59). When the reception unit 104 of the authentication server 100 receives the encrypted unique key transmitted from the information terminal 300, the unique APID generation unit 108 reads the second session key read from the second session key generation unit 107. Is used to decrypt the unique key and store it in its own storage area in association with the unique APID generated in step S47 (step S60). Then, the process returns to step S14, and the AP verification process is performed in a state where the validation flag is ON.

図8から図11は、アプリケーション認証システム1によるAP検証処理を示すシーケンス図である。
図4のステップS16において、有効化フラグ制御部328が、読み出した有効化フラグは有効を示すと判定すると(ステップS16:YES)、図8に進み、要求送信部329が、接続要求コマンドとAP起動要求コマンドとを生成する(ステップS61)。暗号処理部323は、固有鍵生成部327に記憶されている固有鍵を読み出し、要求送信部329が生成した接続要求コマンドの認証子を生成する。また、第1のセッション鍵生成部326に記憶されている第1のセッション鍵を読み出し、認証子を暗号化する(ステップS62)。また、暗号処理部323は、要求送信部329が生成したAP起動要求コマンドを、第1のセッション鍵を用いて暗号化する(ステップS63)。
8 to 11 are sequence diagrams showing the AP verification processing by the application authentication system 1.
In step S16 of FIG. 4, if the activation flag control unit 328 determines that the read activation flag indicates validity (step S16: YES), the process proceeds to FIG. 8, and the request transmission unit 329 determines that the connection request command and AP An activation request command is generated (step S61). The encryption processing unit 323 reads the unique key stored in the unique key generation unit 327, and generates an authenticator for the connection request command generated by the request transmission unit 329. Further, the first session key stored in the first session key generation unit 326 is read, and the authenticator is encrypted (step S62). In addition, the encryption processing unit 323 encrypts the AP activation request command generated by the request transmission unit 329 using the first session key (step S63).

暗号処理部323は、暗号化した接続要求コマンドの認証子と、暗号化したAP起動要求コマンドと、固有APIDとを出力する(ステップS64)。制御部330の暗号処理部333は、セッション鍵受信部334に記憶されている第1のセッション鍵を読み出し、暗号処理部323から出力されたAP起動要求コマンドを復号する(ステップS65)。要求送信部336は、復号されたAP起動要求コマンドに応じて、自身の固有APIDが含まれる認証要求を、業務APサーバ200に送信する(ステップS66)。業務APサーバ200は、情報端末300から送信された認証要求を認証サーバ100に転送する(ステップS67)。認証サーバ100の受信部104が、業務APサーバ200から転送された認証要求を受信すると、C&R処理部103が、チャレンジを生成し(ステップS68)、業務APサーバ200に送信する(ステップS69)。業務APサーバ200は、認証サーバ100から送信されたチャレンジを情報端末300に転送する(ステップS70)。   The encryption processing unit 323 outputs the encrypted connection request command authenticator, the encrypted AP activation request command, and the unique APID (step S64). The encryption processing unit 333 of the control unit 330 reads the first session key stored in the session key reception unit 334, and decrypts the AP activation request command output from the encryption processing unit 323 (step S65). In response to the decrypted AP activation request command, the request transmission unit 336 transmits an authentication request including its own unique APID to the business AP server 200 (step S66). The business AP server 200 transfers the authentication request transmitted from the information terminal 300 to the authentication server 100 (step S67). When the receiving unit 104 of the authentication server 100 receives the authentication request transferred from the business AP server 200, the C & R processing unit 103 generates a challenge (step S68) and transmits it to the business AP server 200 (step S69). The business AP server 200 transfers the challenge transmitted from the authentication server 100 to the information terminal 300 (step S70).

図9に進み、情報端末300の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPとチャレンジとに基づいて認証子を生成する(ステップS71)。暗号処理部333は、生成した認証子を業務APサーバ200に送信する(ステップS72)。業務APサーバ200は、情報端末300から送信された認証子を認証サーバ100に転送する(ステップS73)。認証サーバ100の受信部104が、業務APサーバ200から転送された認証子を受信すると、検証部106は、HCP記憶部101に記憶されているHCPを読み出し、認証子を検証する(ステップS74)。検証部106が検証失敗と判定すれば、エラーとして処理を終了し、検証成功と判定すれば、第2のセッション鍵生成部107が、第2のセッション鍵を生成する(ステップS75)。   Proceeding to FIG. 9, the encryption processing unit 333 of the information terminal 300 reads the HCP stored in the HCP storage unit 331, and generates an authenticator based on the read HCP and the challenge (step S71). The cryptographic processing unit 333 transmits the generated authenticator to the business AP server 200 (step S72). The business AP server 200 transfers the authenticator transmitted from the information terminal 300 to the authentication server 100 (step S73). When the receiving unit 104 of the authentication server 100 receives the authenticator transferred from the business AP server 200, the verifying unit 106 reads the HCP stored in the HCP storage unit 101 and verifies the authenticator (step S74). . If the verification unit 106 determines that the verification is unsuccessful, the process ends as an error. If the verification unit 106 determines that the verification is successful, the second session key generation unit 107 generates a second session key (step S75).

第2のセッション鍵生成部107は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて第2のセッション鍵を暗号化する(ステップS76)。第2のセッション鍵生成部107は、暗号化した第2のセッション鍵を業務APサーバ200に送信する(ステップS77)。業務APサーバ200は、認証サーバ100から転送された第2のセッション鍵を情報端末300に転送する(ステップS78)。制御部330の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、業務APサーバ200から送信された第2のセッション鍵を復号する(ステップS79)。   The second session key generation unit 107 reads the HCP stored in the HCP storage unit 101, and encrypts the second session key using the read HCP (step S76). The second session key generation unit 107 transmits the encrypted second session key to the business AP server 200 (step S77). The business AP server 200 transfers the second session key transferred from the authentication server 100 to the information terminal 300 (step S78). The encryption processing unit 333 of the control unit 330 reads out the HCP stored in the HCP storage unit 331 and decrypts the second session key transmitted from the business AP server 200 (step S79).

暗号処理部333は、セッション鍵受信部334から読み出した第1のセッション鍵を用いて、ステップS64において出力された接続要求コマンドを復号し、セッション鍵受信部334から読み出した第2のセッション鍵を用いて暗号化する(ステップS80)。そして、暗号処理部333は、暗号化した接続要求コマンドを業務APサーバ200に送信する(ステップS81)。業務APサーバ200は、情報端末300から送信された、暗号化された接続要求コマンドを、認証サーバ100に転送する(ステップS82)。   The encryption processing unit 333 uses the first session key read from the session key receiving unit 334 to decrypt the connection request command output in step S64, and uses the second session key read from the session key receiving unit 334 as the second session key. And encrypting it (step S80). Then, the encryption processing unit 333 transmits the encrypted connection request command to the business AP server 200 (step S81). The business AP server 200 transfers the encrypted connection request command transmitted from the information terminal 300 to the authentication server 100 (step S82).

図10に進み、認証サーバ100の受信部104が、業務APサーバ200から転送された、暗号化された接続要求コマンドを受信すると、復号部105が、第2のセッション鍵生成部107から読み出した2のセッション鍵を用いて接続要求コマンドを復号する(ステップS83)。認証サーバ100のC&R処理部103は、復号された接続要求コマンドに応じて、チャレンジを生成する(ステップS84)。C&R処理部103は、生成したチャレンジを、業務APサーバ200に送信する(ステップS85)。   Proceeding to FIG. 10, when the receiving unit 104 of the authentication server 100 receives the encrypted connection request command transferred from the business AP server 200, the decrypting unit 105 reads it from the second session key generating unit 107. The connection request command is decrypted using the session key 2 (step S83). The C & R processing unit 103 of the authentication server 100 generates a challenge in response to the decrypted connection request command (step S84). The C & R processing unit 103 transmits the generated challenge to the business AP server 200 (step S85).

業務APサーバ200は、認証サーバ100から送信されたチャレンジを、情報端末300に転送する(ステップS86)。情報端末300の暗号処理部333は、業務APサーバ200から転送されたチャレンジを受信すると、HCP記憶部331から読み出したHCPを用いて暗号化する(ステップS87)。暗号処理部333は、暗号化したチャレンジを耐タンパ装置320に入力する(ステップS88)。耐タンパ装置320の暗号処理部323は、受信したチャレンジを、HCP記憶部321から読み出したHCPを用いて復号し、復号したチャレンジと、固有鍵生成部327から読み出した固有鍵とに基づいて認証子を生成する(ステップS89)。暗号処理部323は、生成した認証子を出力する(ステップS90)。   The business AP server 200 transfers the challenge transmitted from the authentication server 100 to the information terminal 300 (step S86). Upon receiving the challenge transferred from the business AP server 200, the encryption processing unit 333 of the information terminal 300 encrypts using the HCP read from the HCP storage unit 331 (step S87). The encryption processing unit 333 inputs the encrypted challenge to the tamper resistant device 320 (step S88). The encryption processing unit 323 of the tamper resistant apparatus 320 decrypts the received challenge using the HCP read from the HCP storage unit 321, and authenticates based on the decrypted challenge and the unique key read from the unique key generation unit 327. A child is generated (step S89). The cryptographic processing unit 323 outputs the generated authenticator (step S90).

制御部330の暗号処理部333は、耐タンパ装置320から出力された認証子と、HCP記憶部331から読み出したHCPとに基づいて、第2の認証子を生成する(ステップS91)。暗号処理部333は、生成した第2の認証子を業務APサーバ200に送信する(ステップS92)。業務APサーバ200は、情報端末300から送信された第2の認証子を、認証サーバ100に転送する(ステップS93)。認証サーバ100
受信部104が、業務APサーバ200から送信された第2の認証子を受信すると、検証部106が、HCP記憶部101から読み出したHCPを用いて第2の認証子を検証する(ステップS94)。
The cryptographic processing unit 333 of the control unit 330 generates a second authenticator based on the authenticator output from the tamper resistant device 320 and the HCP read from the HCP storage unit 331 (step S91). The cryptographic processing unit 333 transmits the generated second authenticator to the business AP server 200 (step S92). The business AP server 200 transfers the second authenticator transmitted from the information terminal 300 to the authentication server 100 (step S93). Authentication server 100
When the receiving unit 104 receives the second authenticator transmitted from the business AP server 200, the verifying unit 106 verifies the second authenticator using the HCP read from the HCP storage unit 101 (step S94). .

検証部106が、検証失敗と判定すればエラーとして処理を終了し、認証成功と判定すれば、固有APID生成部108に記憶されている固有鍵を読出し、読み出した固有鍵を用いて認証子を検証する(ステップS95)。検証失敗と判定すればエラーとして処理を終了し、認証成功と判定すれば、図11に進み、認証サーバ100が接続許可コマンドを生成して第2のセッション鍵生成部107から読み出した第2のセッション鍵を用いて暗号化し(ステップS96)、業務APサーバ200に送信する(ステップS97)。   If the verification unit 106 determines that the verification is unsuccessful, the process ends as an error. If the verification unit 106 determines that the authentication is successful, the verification unit 106 reads the unique key stored in the unique APID generation unit 108 and uses the read unique key to obtain an authenticator. Verification is performed (step S95). If it is determined that the verification is unsuccessful, the process ends as an error. If it is determined that the authentication is successful, the process proceeds to FIG. 11, and the authentication server 100 generates a connection permission command and reads it from the second session key generation unit 107. It is encrypted using the session key (step S96) and transmitted to the business AP server 200 (step S97).

業務APサーバ200は、認証サーバ100から送信される、暗号化した接続許可コマンドを、情報端末300に転送する(ステップS98)。制御部330の暗号処理部333は、業務APサーバ200から転送された接続許可コマンドを、セッション鍵受信部334から読み出した第2のセッション鍵を用いて復号する(ステップS99)。認証サーバ100は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を業務APサーバ200に送信すると(ステップS100)、業務APサーバ200は、認証サーバ100から送信された第2のセッション鍵を自身の記憶領域に記憶させる。以降、業務APサーバ200と情報端末300とは、第2のセッション鍵を用いて、暗号化された通信を行うことができる(ステップS101)。   The business AP server 200 transfers the encrypted connection permission command transmitted from the authentication server 100 to the information terminal 300 (step S98). The encryption processing unit 333 of the control unit 330 decrypts the connection permission command transferred from the business AP server 200 using the second session key read from the session key receiving unit 334 (step S99). When the authentication server 100 transmits the second session key stored in the second session key generation unit 107 to the business AP server 200 (step S100), the business AP server 200 transmits the second session key transmitted from the authentication server 100. The second session key is stored in its own storage area. Thereafter, the business AP server 200 and the information terminal 300 can perform encrypted communication using the second session key (step S101).

以上説明したように、本実施形態によれば、APのソースコードにハードコーディングされた鍵情報であるHCPを用いて、APと、耐タンパ装置320と、認証サーバ100とが通信を行い、耐タンパ装置320とAPとの正当性を、認証サーバ100を加えた三者間で検証するようにした。これにより、プロジェクト管理者ではない第三者が、正当ではなく、予め定められたHCPが含まれないAPを情報端末300にインストールして起動しようとした場合、検証を失敗させ、エラーとすることができる。このため、例えば、正当なAPになりすましたAPがインストールされたような場合に、そのAPが動作し、機密情報等にアクセスすることを防ぐことができる。   As described above, according to the present embodiment, the AP, the tamper resistant device 320, and the authentication server 100 communicate with each other using the HCP which is key information hard-coded in the AP source code, and The validity of the tamper device 320 and the AP is verified between the three parties including the authentication server 100. As a result, when a third party who is not a project manager is not valid and tries to install and start an AP that does not include a predetermined HCP in the information terminal 300, verification fails and an error occurs. Can do. For this reason, for example, when an AP impersonating a legitimate AP is installed, it is possible to prevent the AP from operating and accessing confidential information or the like.

あるいは、例えば何らかの方法により、プロジェクト管理者の管理対象ではない情報端末に、正当なAPがインストールされたような場合でも、その情報端末の耐タンパ装置に適切なHCPが記憶されていなければ、検証を失敗させ、エラーとすることができる。このように、本実施形態によれば、正当な情報端末300において、正当なAPが動作しているか否かを検証することができる。これにより、例えば個人情報や顧客情報等の機密情報を扱う企業内においてスマートフォンやタブレットPC等の情報端末を利用する場合にも、安全に処理を行うことができる。   Alternatively, for example, even if a legitimate AP is installed in an information terminal that is not managed by the project manager by some method, if an appropriate HCP is not stored in the tamper resistant device of the information terminal, verification is performed. Can be an error. Thus, according to the present embodiment, it is possible to verify whether or not a valid AP is operating in the valid information terminal 300. Thereby, for example, even when an information terminal such as a smartphone or a tablet PC is used in a company that handles confidential information such as personal information and customer information, the processing can be performed safely.

また、本実施形態によれば、耐タンパ装置320と制御部330において動作するAPとの間、および情報端末300と認証サーバ100との間で情報の送受信を行う際には、チャレンジレスポンスによる一時的な情報か、あるいは鍵を用いて暗号化された情報を送受信するようにした。これにより、万が一、情報が盗聴されたような場合でも、それにより情報の内容が漏れたり、再生攻撃を仕掛けられたりするといった脅威を低減することができる。   Further, according to the present embodiment, when information is transmitted and received between the tamper resistant device 320 and the AP operating in the control unit 330 and between the information terminal 300 and the authentication server 100, a temporary response by a challenge response is performed. Information that was encrypted or encrypted using a key. As a result, even if the information is wiretapped, it is possible to reduce threats such as leakage of information content or a replay attack.

また、APの有効化処理において、複数の情報端末300に記憶されたAPそれぞれに対応する固有鍵を生成し、この固有鍵を用いて、AP起動の度に認証を行うようにした。これにより、例えば複数の情報端末300において同一のAPが利用されている場合でも、どの情報端末300に記憶されているAPが動作しているか等の情報を管理することができ、柔軟かつ多様なAPの利用管理を行うことができる。   Further, in the AP validation process, a unique key corresponding to each AP stored in the plurality of information terminals 300 is generated, and authentication is performed each time the AP is activated using this unique key. Thereby, for example, even when the same AP is used in a plurality of information terminals 300, it is possible to manage information such as which AP stored in which information terminal 300 is operating. AP usage management can be performed.

このように、本実施形態によれば、情報端末300から業務APサーバ200にアクセスする際に、業務APサーバ200側から情報端末300にインストールされているAPの正当性を確認することができる。また、情報端末300にAPをインストールして配布する際に、情報端末300に記憶させる設定情報を同一なものとすることができる。例えば、複数のAP利用者の複数の情報端末300には、同一の署名鍵、同一のHCPが埋め込まれたAPを、同様にインストールして配布できる。しかし、有効化処理により、それぞれの情報端末300のAPに固有の固有APID、固有鍵が付与されるため、AP利用者が、情報端末300を用いて業務APサーバ200にアクセスする際には、複数の情報端末300のうちで、その情報端末300のAPを識別することができる。   Thus, according to the present embodiment, when accessing the business AP server 200 from the information terminal 300, it is possible to confirm the validity of the AP installed in the information terminal 300 from the business AP server 200 side. In addition, when the AP is installed and distributed in the information terminal 300, the setting information stored in the information terminal 300 can be the same. For example, an AP in which the same signature key and the same HCP are embedded can be similarly installed and distributed to a plurality of information terminals 300 of a plurality of AP users. However, since the unique APID and unique key unique to the AP of each information terminal 300 are given by the activation process, when the AP user accesses the business AP server 200 using the information terminal 300, Among a plurality of information terminals 300, the AP of the information terminal 300 can be identified.

上述の例では、APに埋め込むHCP、及び耐タンパ装置320に記憶させる署名鍵として、共通鍵暗号方式の鍵情報を適用する例を示したが、HCP、及び署名鍵としては公開鍵暗号方式の秘密鍵を適用しても良い。この場合、秘密鍵に対応する公開鍵により認証子の検証を行う際には、公開鍵証明書に含まれる公開鍵を用いた認証を行うことができる。公開鍵証明書には、例えば、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)による公開鍵基盤の規格であるX.509に定められる公開鍵証明書を適用することができる。このような公開鍵証明書には、例えば、発行者、所有者、有効期限、公開鍵証明書バージョン、署名アルゴリズム、鍵情報(公開鍵)などの情報が含まれる。また、公開鍵証明書の拡張領域には、情報端末300のデバイスID、APのハッシュ値、固有APID、AP名称などの情報を含ませることができる。デバイスIDとは、例えば、情報端末300に固有の製造番号等である。APのハッシュ値とは、例えば、情報端末300がAndroid(登録商標)であれば、「.apk」ファイル自体のハッシュ値である。検証の際には、このような情報を用いて、例えばAP毎に有効期間を設けたり、情報端末300のデバイスID毎に有効無効を制御したりすることにより、より柔軟に、多様な認証を行うことができる。この場合、認証処理は例えば業務APサーバ200が行うようにすることができる。   In the above example, the example in which the key information of the common key cryptosystem is applied as the HCP embedded in the AP and the signature key to be stored in the tamper resistant device 320 is shown. However, the HCP and the signature key may be public key cryptography. A secret key may be applied. In this case, when the authenticator is verified using the public key corresponding to the secret key, authentication using the public key included in the public key certificate can be performed. The public key certificate includes, for example, X.I., which is a public key infrastructure standard by ITU-T (International Telecommunication Union Telecommunication Standardization Sector). A public key certificate defined in 509 can be applied. Such a public key certificate includes, for example, information such as an issuer, an owner, an expiration date, a public key certificate version, a signature algorithm, and key information (public key). Further, the extended area of the public key certificate can include information such as the device ID of the information terminal 300, the hash value of the AP, the unique APID, and the AP name. The device ID is, for example, a serial number unique to the information terminal 300. The hash value of the AP is, for example, the hash value of the “.apk” file itself if the information terminal 300 is Android (registered trademark). At the time of verification, using such information, for example, by providing a valid period for each AP or controlling validity / invalidity for each device ID of the information terminal 300, more flexible and diverse authentication can be performed. It can be carried out. In this case, the authentication process can be performed by the business AP server 200, for example.

本実施形態においては、情報端末300においてAPに埋め込むHCPと、署名鍵記憶部322に記憶される署名鍵とのいずれか、または双方を公開鍵暗号方式における秘密鍵とし、認証サーバ100においてHCP記憶部101に記憶されるHCPと、検証鍵記憶部102に記憶される検証鍵とのいずれか、または双方を、秘密鍵に対応する公開鍵証明書に置き換えることができる。
情報端末300のAPに埋め込んでおくHCPと認証サーバ100のHCP記憶部101に記憶させておくHCPとのペアを、このような秘密鍵と公開鍵証明書とのペアに置き換えた場合には、本実施形態におけるステップS45及びステップS94の検証処理を、公開鍵証明書を用いて行うことができる。
署名鍵記憶部322に記憶される署名鍵と検証鍵記憶部102に記憶される検証鍵とのペアを、このような秘密鍵と公開鍵証明書とのペアに置き換えた場合には、本実施形態におけるステップS46及びステップS95の検証処理を、公開鍵証明書を用いて行うことができる。
In the present embodiment, either or both of the HCP embedded in the AP in the information terminal 300 and the signature key stored in the signature key storage unit 322 is used as a secret key in the public key cryptosystem, and the authentication server 100 stores the HCP. Either or both of the HCP stored in the unit 101 and the verification key stored in the verification key storage unit 102 can be replaced with a public key certificate corresponding to the private key.
When the pair of the HCP embedded in the AP of the information terminal 300 and the HCP stored in the HCP storage unit 101 of the authentication server 100 is replaced with such a pair of a private key and a public key certificate, The verification processing in step S45 and step S94 in the present embodiment can be performed using a public key certificate.
When the pair of the signature key stored in the signature key storage unit 322 and the verification key stored in the verification key storage unit 102 is replaced with such a pair of a private key and a public key certificate, the present embodiment The verification processing of step S46 and step S95 in the embodiment can be performed using a public key certificate.

あるいは、有効化フラグ記憶部324に記憶させる有効化フラグとして、公開鍵暗号方式の公開鍵証明書を適用することもできる。この場合、例えば、耐タンパ装置320の署名鍵記憶部322に、公開鍵暗号方式の署名鍵と、この署名鍵に対応する公開鍵証明書を記憶させる。そして、図4に示したステップS15の有効化フラグのチェック処理において、公開鍵証明書に応じた検証を行う。すなわち、本実施形態においては、耐タンパ装置320の有効化フラグ記憶部324に、有効化フラグとしてON(1)の値、またはOFF(0)の値のいずれかが記憶されることとしているが、このようなフラグに加え、公開鍵証明書を記憶しておくようにしてもよい。この場合、有効化フラグのチェック処理(ステップS15)において、公開鍵証明書内に含まれる所有者、有効期限、公開鍵証明書バージョンの情報を追加のチェック情報として用いることができる。具体的には、例えば、ステップS15において、有効化フラグがON(1)であった場合にも、公開鍵証明書の有効期限が現在の時刻よりも古いものであった場合には、APの有効化フラグが無効であると判定することが可能となる。
ここでは、有効化フラグに加えて公開鍵証明書を用いることが可能なことはもちろん、公開鍵証明書の拡張領域に有効化フラグを含めて検証を行うことも可能である。
Alternatively, a public key certificate of a public key cryptosystem can be applied as the validation flag stored in the validation flag storage unit 324. In this case, for example, the signature key storage unit 322 of the tamper resistant apparatus 320 stores the signature key of the public key cryptosystem and the public key certificate corresponding to the signature key. Then, in the validation flag check processing in step S15 shown in FIG. 4, verification according to the public key certificate is performed. That is, in the present embodiment, either the ON (1) value or the OFF (0) value is stored in the activation flag storage unit 324 of the tamper resistant apparatus 320 as the activation flag. In addition to such a flag, a public key certificate may be stored. In this case, in the validation flag check process (step S15), information on the owner, expiration date, and public key certificate version included in the public key certificate can be used as additional check information. Specifically, for example, even when the validation flag is ON (1) in step S15, if the validity period of the public key certificate is older than the current time, the AP's It becomes possible to determine that the validation flag is invalid.
Here, it is possible not only to use the public key certificate in addition to the validation flag, but also to validate by including the validation flag in the extension area of the public key certificate.

また、本実施形態におけるAPと耐タンパ装置320と認証サーバ100とに、複数のHCPを予め記憶させておき、条件に応じたHCPを選択して利用することにより、さらにセキュリティを高めることができる。例えば、情報端末300のAP記憶部310に記憶されているAPとして、複数のHCPがハードコーディングされたソースコードに基づくAPを記憶させておき、複数のHCPのうち定められた条件に応じたHCPを用いて暗号化処理を行うようにすることができる。この場合、耐タンパ装置320のHCP記憶部321には、同様に複数のHCPが予め記憶され、暗号処理部323は、HCP記憶部321に記憶された複数のHCPのうち、条件に応じたHCPを用いて復号処理を行う。同様に、認証サーバ100のHCP記憶部101には、複数のHCPが記憶され、認証サーバ100の検証部106は、HCP記憶部101に記憶された複数のHCPのうち、条件に応じたHCPを用いて検証処理を行う。   Further, by storing a plurality of HCPs in advance in the AP, the tamper resistant device 320, and the authentication server 100 in the present embodiment, and selecting and using the HCPs according to the conditions, it is possible to further increase the security. . For example, as an AP stored in the AP storage unit 310 of the information terminal 300, an AP based on a source code in which a plurality of HCPs are hard-coded is stored, and an HCP corresponding to a predetermined condition among the plurality of HCPs is stored. The encryption process can be performed by using. In this case, the HCP storage unit 321 of the tamper resistant device 320 similarly stores a plurality of HCPs in advance, and the encryption processing unit 323 selects the HCP corresponding to the condition from among the plurality of HCPs stored in the HCP storage unit 321. Is used to perform the decoding process. Similarly, a plurality of HCPs are stored in the HCP storage unit 101 of the authentication server 100, and the verification unit 106 of the authentication server 100 selects an HCP corresponding to a condition from among the plurality of HCPs stored in the HCP storage unit 101. Use it to perform verification processing.

ここで、条件とは、例えば、処理実行時間、情報端末300による通信を行うキャリア(通信事業者)等が適用できる。あるいは、上述のように公開鍵暗号方式の公開鍵証明書を用いた検証を行う場合には、公開鍵証明書に含まれる様々な情報を条件とすることができる。
なお、本実施形態では、情報端末300としてスマートフォンやタブレットPCを適用する例を示したが、PC等においても同様のAP検証を行うこともできる。
Here, as the conditions, for example, processing execution time, a carrier (communication carrier) that performs communication by the information terminal 300, and the like can be applied. Alternatively, when performing verification using a public key certificate of a public key cryptosystem as described above, various information included in the public key certificate can be used as a condition.
In the present embodiment, an example in which a smartphone or a tablet PC is applied as the information terminal 300 has been described. However, similar AP verification can also be performed on a PC or the like.

なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより検証処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   The program for realizing the function of the processing unit in the present invention is recorded on a computer-readable recording medium, and the verification process is performed by causing the computer system to read and execute the program recorded on the recording medium. May be. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

1 アプリケーション認証システム
100 認証サーバ
101 HCP記憶部
102 検証鍵記憶部
103 C&R処理部
104 受信部
105 復号部
106 検証部
107 第2のセッション鍵生成部
108 固有APID生成部
200 業務APサーバ
300 情報端末
310 AP記憶部
320 耐タンパ装置
321 HCP記憶部
322 署名鍵記憶部
323 暗号処理部
324 有効化フラグ記憶部
325 C&R処理部
326 第1のセッション鍵生成部
327 固有鍵生成部
328 有効化フラグ制御部
329 要求送信部
330 制御部
331 HCP記憶部
332 認証要求部
333 暗号処理部
334 セッション鍵受信部
335 有効化フラグ確認要求部
336 要求送信部
DESCRIPTION OF SYMBOLS 1 Application authentication system 100 Authentication server 101 HCP memory | storage part 102 Verification key memory | storage part 103 C & R process part 104 Receiving part 105 Decoding part 106 Verification part 107 2nd session key generation part 108 Unique APID generation part 200 Business AP server 300 Information terminal 310 AP storage unit 320 tamper resistant device 321 HCP storage unit 322 signature key storage unit 323 encryption processing unit 324 validation flag storage unit 325 C & R processing unit 326 first session key generation unit 327 unique key generation unit 328 validation flag control unit 329 Request transmission unit 330 Control unit 331 HCP storage unit 332 Authentication request unit 333 Cryptographic processing unit 334 Session key reception unit 335 Validation flag confirmation request unit 336 Request transmission unit

Claims (6)

耐タンパ装置を有する情報端末と、当該情報端末とネットワークを介して接続された認証サーバとを備えたアプリケーション認証システムであって、
前記情報端末の耐タンパ装置は、
前記情報端末において動作させるアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、
予め定められた署名鍵が記憶されている署名鍵記憶部と、
前記アプリケーションソフトウェアから入力される、前記鍵情報を用いて暗号化されたメッセージを、前記耐タンパ鍵情報記憶部に記憶されている前記鍵情報を用いて復号する耐タンパ復号部と、
前記耐タンパ復号部が復号した前記メッセージと、前記署名鍵とに基づいて第1の認証子を生成して出力する暗号化部と、を備え、
前記情報端末は、
前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、前記認証サーバから送信されるメッセージを、当該鍵情報を用いて暗号化して前記耐タンパ装置に入力し、当該耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される前記第1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信する処理を実行させるためのアプリケーションソフトウェアが記憶されているAP記憶部と、
前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させる制御部と、を備え、
前記認証サーバは、
前記鍵情報が記憶されている認証サーバ鍵情報記憶部と、
前記耐タンパ装置に記憶されている前記署名鍵に対応する検証鍵が記憶されている検証鍵記憶部と、
前記メッセージを生成して前記情報端末に送信する送信部と、
前記送信部が前記情報端末に送信した前記メッセージに応じて、当該情報端末から送信される前記第2の認証子を受信する受信部と、
前記受信部が受信した前記第2の認証子を、前記認証サーバ鍵情報記憶部に記憶されている前記鍵情報を用いて検証し、当該第2の認証子に含まれる前記第1の認証子を、前記検証鍵記憶部に記憶されている前記検証鍵を用いて検証する検証部と、
を備えることを特徴とするアプリケーション認証システム。
An application authentication system comprising an information terminal having a tamper resistant device and an authentication server connected to the information terminal via a network,
The tamper resistant device of the information terminal is
A tamper-resistant key information storage unit in which key information hard-coded in advance is stored in application software that operates in the information terminal;
A signature key storage unit in which a predetermined signature key is stored;
A tamper resistant decryption unit that decrypts a message that is input from the application software and is encrypted using the key information, using the key information stored in the tamper resistant key information storage unit;
An encryption unit that generates and outputs a first authenticator based on the message decrypted by the tamper-resistant decryption unit and the signature key;
The information terminal
The key information is the application software based on a hard-coded source code, and a message transmitted from the authentication server is encrypted using the key information and is input to the tamper resistant device. A second authenticator is generated based on the first authenticator output from the tamper resistant apparatus in response to the message input to the key and the key information hard-coded in itself, and the authentication server An AP storage unit that stores application software for executing a process to be transmitted;
A control unit for operating the application software stored in the AP storage unit,
The authentication server is
An authentication server key information storage unit storing the key information;
A verification key storage unit storing a verification key corresponding to the signature key stored in the tamper resistant device;
A transmitter that generates the message and transmits the message to the information terminal;
A receiver that receives the second authenticator transmitted from the information terminal in response to the message transmitted by the transmitter to the information terminal;
The second authenticator received by the receiving unit is verified using the key information stored in the authentication server key information storage unit, and the first authenticator included in the second authenticator Verifying unit using the verification key stored in the verification key storage unit,
An application authentication system comprising:
前記認証サーバは、前記ネットワークを介して複数の前記情報端末に接続されており、
前記検証部によって、前記第2の認証子の検証と、前記第1の認証子の検証との両方が検証成功と判定された場合、前記第2の認証子を送信した前記情報端末に記憶されている前記アプリケーションソフトウェアを識別する固有APIDを生成する固有APID生成部と、
前記複数の情報端末に記憶されている前記アプリケーションソフトウェアを識別する固有APID毎に、当該アプリケーションソフトウェアに対応する固有鍵が対応付けられて記憶される固有鍵記憶部とを備え、
前記認証サーバの受信部は、前記情報端末から送信される前記固有鍵を受信し、当該情報端末に記憶されている前記アプリケーションソフトウェアを識別する前記固有APIDに対応付けて前記固有鍵記憶部に記憶させ、
前記情報端末は、
前記検証部によって検証成功と判定された場合、前記固有鍵を生成し、前記認証サーバに送信する固有鍵送信部と、
を備えることを特徴とする請求項1に記載のアプリケーション認証システム。
The authentication server is connected to the plurality of information terminals via the network,
If the verification unit determines that both the verification of the second authenticator and the verification of the first authenticator are successful, the verification unit stores the second authenticator in the information terminal that has transmitted the second authenticator. A unique APID generating unit for generating a unique APID for identifying the application software;
A unique key storage unit that stores a unique key corresponding to the application software in association with each unique APID that identifies the application software stored in the plurality of information terminals,
The receiving unit of the authentication server receives the unique key transmitted from the information terminal and stores it in the unique key storage unit in association with the unique APID for identifying the application software stored in the information terminal. Let
The information terminal
If the verification unit determines that the verification is successful, the unique key is generated and transmitted to the authentication server;
The application authentication system according to claim 1, further comprising:
前記AP記憶部に記憶されている前記アプリケーションソフトウェアは、複数の前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、前記複数の鍵情報のうち定められた条件に応じた鍵情報を用いて暗号化する処理を実行させ
前記耐タンパ装置の前記耐タンパ鍵情報記憶部には、前記複数の鍵情報が記憶され、
前記耐タンパ装置の前記耐タンパ復号部は、当該耐タンパ鍵情報記憶部に記憶された複数の鍵情報のうち、前記条件に応じた鍵情報を用いて復号し、
前記認証サーバの前記認証サーバ鍵情報記憶部には、前記複数の鍵情報が記憶され、
前記認証サーバの前記検証部は、当該認証サーバ鍵情報記憶部に記憶された複数の鍵情報のうち、記条件に応じた鍵情報を用いて検証する
ことを特徴とする請求項1または請求項2に記載のアプリケーション認証システム。
The application software stored in the AP storage unit is the application software based on a source code in which a plurality of key information is hard-coded, and a key corresponding to a predetermined condition among the plurality of key information Execute processing to encrypt using information,
The tamper resistant key information storage unit of the tamper resistant device stores the plurality of key information,
The tamper resistant decryption unit of the tamper resistant device decrypts the key information stored in the tamper resistant key information storage unit using the key information corresponding to the condition,
The authentication server key information storage unit of the authentication server stores the plurality of key information,
The verification of the authentication server, the authentication of the server key information a plurality of key information stored in the storage unit, according to claim 1 or claim, characterized in that the verifying using the key information according to the prior Symbol Conditions Item 3. The application authentication system according to Item 2.
前記アプリケーション認証システムは、前記情報端末において動作させる前記アプリケーションソフトウェアによって、前記情報端末と通信を行う業務APサーバを備え、
前記認証サーバは、セッション鍵を生成し、前記鍵情報を用いて暗号化して前記情報端末との間で共有し、当該セッション鍵を前記業務APサーバに送信し、
前記業務APサーバと前記情報端末とは、前記セッション鍵に基づいて暗号化通信を行う
ことを特徴とする請求項1から請求項3までのいずれか1項に記載のアプリケーション認証システム。
The application authentication system includes a business AP server that communicates with the information terminal by the application software that operates on the information terminal .
The authentication server generates a session key, encrypts it using the key information, shares it with the information terminal, sends the session key to the business AP server,
The application authentication system according to any one of claims 1 to 3, wherein the business AP server and the information terminal perform encrypted communication based on the session key.
前記認証サーバの前記送信部が前記情報端末に送信する前記メッセージは、チャレンジレスポンス方式におけるチャレンジであり、
前記情報端末が前記チャレンジに応じて前記認証サーバに送信する前記第2の認証子は、前記チャレンジに対応するレスポンスである
ことを特徴とする請求項1から請求項4までのいずれか1項に記載のアプリケーション認証システム。
The message transmitted by the transmission unit of the authentication server to the information terminal is a challenge in a challenge response method,
The said 2nd authenticator which the said information terminal transmits to the said authentication server according to the said challenge is a response corresponding to the said challenge. Any one of Claim 1 to 4 characterized by the above-mentioned. The application authentication system described.
情報端末において制御部に動作させるアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部とを備える耐タンパ装置を有し、前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、ネットワークを介して接続された認証サーバから送信されるメッセージを、当該鍵情報を用いて暗号化して前記耐タンパ装置に入力し、当該耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信する処理を実行させるためのアプリケーションソフトウェアが記憶されているAP記憶部を備える情報端末と、前記鍵情報が記憶されている認証サーバ鍵情報記憶部と、前記耐タンパ装置に記憶されている前記署名鍵に対応する検証鍵が記憶されている検証鍵記憶部とを備えた前記認証サーバと、を備えたアプリケーション認証システムのアプリケーション認証方法であって、
前記認証サーバが、
メッセージを生成して前記情報端末に送信するステップと、
前記情報端末の前記制御部が、
前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させることにより、認証サーバから送信されるメッセージを、前記鍵情報を用いて暗号化して前記耐タンパ装置に入力するステップと、
前記情報端末の耐タンパ装置が、
前記アプリケーションソフトウェアから入力される、前記鍵情報を用いて暗号化されたメッセージを、前記耐タンパ鍵情報記憶部に記憶されている前記鍵情報を用いて復号するステップと、
復号した前記メッセージと、前記署名鍵とに基づいて前記第1の認証子を生成して出力するステップと、
前記情報端末の前記制御部が、
前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させることにより、前記耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される前記第1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信するステップと、
前記認証サーバが、
前記情報端末に送信した前記メッセージに応じて、当該情報端末から送信される前記第2の認証子を受信するステップと、
受信した前記第2の認証子を、前記認証サーバ鍵情報記憶部に記憶されている前記鍵情報を用いて検証し、当該第2の認証子に含まれる前記第1の認証子を、前記検証鍵記憶部に記憶されている前記検証鍵を用いて検証するステップと、
を備えることを特徴とするアプリケーション認証方法。
A tamper-resistant key information storage unit that stores key information hard-coded in advance in application software that is operated by the control unit in the information terminal, and a signature key storage unit that stores a predetermined signature key. A tamper device, wherein the key information is the application software based on the hard-coded source code, and a message transmitted from the authentication server connected via the network is encrypted using the key information. Based on the first authenticator that is input to the tamper resistant device and output from the tamper resistant device in response to the message input to the tamper resistant device, and the key information that is hard-coded to itself. application for and the generating the authenticator, to execute a process of transmitting to the authentication server An information terminal having an AP storage unit storing software, an authentication server key information storage unit storing the key information, and a verification key corresponding to the signature key stored in the tamper resistant device are stored. An application authentication method for an application authentication system comprising: the authentication server comprising a verification key storage unit,
The authentication server is
Generating a message and sending it to the information terminal;
The control unit of the information terminal is
By operating the application software stored in the AP storage unit, encrypting a message transmitted from an authentication server using the key information and inputting the message to the tamper resistant device;
The tamper resistant device of the information terminal is
Decrypting, using the key information stored in the tamper-resistant key information storage unit, a message that is input from the application software and encrypted using the key information;
Generating and outputting the first authenticator based on the decrypted message and the signature key;
The control unit of the information terminal is
By operating the application software stored in the AP storage unit, the first authenticator output from the tamper resistant device in response to the message input to the tamper resistant device, and hard-coded to itself Generating a second authenticator based on the generated key information and transmitting the second authenticator to the authentication server;
The authentication server is
Receiving the second authenticator transmitted from the information terminal in response to the message transmitted to the information terminal;
The received second authenticator is verified using the key information stored in the authentication server key information storage unit, and the first authenticator included in the second authenticator is verified. Verifying using the verification key stored in the key storage unit;
An application authentication method comprising:
JP2011134271A 2011-06-16 2011-06-16 Application authentication system, application authentication method Active JP5622668B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011134271A JP5622668B2 (en) 2011-06-16 2011-06-16 Application authentication system, application authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011134271A JP5622668B2 (en) 2011-06-16 2011-06-16 Application authentication system, application authentication method

Publications (2)

Publication Number Publication Date
JP2013005220A JP2013005220A (en) 2013-01-07
JP5622668B2 true JP5622668B2 (en) 2014-11-12

Family

ID=47673308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011134271A Active JP5622668B2 (en) 2011-06-16 2011-06-16 Application authentication system, application authentication method

Country Status (1)

Country Link
JP (1) JP5622668B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270674B2 (en) * 2013-03-29 2016-02-23 Citrix Systems, Inc. Validating the identity of a mobile application for mobile application management
KR101509585B1 (en) 2013-08-23 2015-04-07 주식회사 마크애니 Counterfeiting preventing appratus, user device, method and system for mobile application
JP5838248B1 (en) * 2014-09-24 2016-01-06 株式会社 ディー・エヌ・エー System and method for providing a predetermined service to a user
GB2574598B (en) * 2018-06-11 2021-07-28 Advanced Risc Mach Ltd Attestation using device-specific and application-specific attestation messages
JP2022091498A (en) * 2020-12-09 2022-06-21 セイコーエプソン株式会社 Encryption communication system, encryption communication method, and encryption communication device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3634279B2 (en) * 2001-03-15 2005-03-30 日本電信電話株式会社 Application linkage method between multiple IC cards and within the same IC card
CN1783100A (en) * 2001-11-26 2006-06-07 松下电器产业株式会社 Application authentication system
JP3950095B2 (en) * 2002-09-20 2007-07-25 株式会社駅前探険倶楽部 Authentication server, authentication method, authentication request terminal, and authentication request program
US20070041584A1 (en) * 2005-08-16 2007-02-22 O'connor Clint H Method for providing activation key protection
JP4226582B2 (en) * 2005-09-26 2009-02-18 システムニーズ株式会社 Data update system
JP4360422B2 (en) * 2007-05-15 2009-11-11 フェリカネットワークス株式会社 Authentication information management system, authentication information management server, authentication information management method and program
JP5332838B2 (en) * 2009-04-07 2013-11-06 ソニー株式会社 Information processing apparatus and execution control method

Also Published As

Publication number Publication date
JP2013005220A (en) 2013-01-07

Similar Documents

Publication Publication Date Title
JP4866863B2 (en) Security code generation method and user device
JP3999655B2 (en) Method and apparatus for access control with leveled security
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US11501294B2 (en) Method and device for providing and obtaining graphic code information, and terminal
CN109728909A (en) Identity identifying method and system based on USBKey
EP1984889A2 (en) Secure digital content management using mutating identifiers
WO2009140663A1 (en) Mobile device assisted secure computer network communications
CN107920052B (en) Encryption method and intelligent device
US20240179005A1 (en) Advanced crypto token authentication
JP6627043B2 (en) SSL communication system, client, server, SSL communication method, computer program
WO2014067925A1 (en) Telecommunications chip card
JP2002297385A (en) Authenticating method in agent system
JP5622668B2 (en) Application authentication system, application authentication method
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
JP2010231404A (en) System, method, and program for managing secret information
WO2022135391A1 (en) Identity authentication method and apparatus, and storage medium, program and program product
JP2022117456A (en) Message transmission system with hardware security module
US20070091345A1 (en) Method to leverage a secure device to grant trust and identity to a second device
JP2021073564A (en) Communication device, communication method, and computer program
EP3289724B1 (en) A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products
JP6501701B2 (en) SYSTEM, TERMINAL DEVICE, CONTROL METHOD, AND PROGRAM
KR102053993B1 (en) Method for Authenticating by using Certificate
Nishimura et al. Secure authentication key sharing between personal mobile devices based on owner identity
JP6165044B2 (en) User authentication apparatus, system, method and program
JP2017108239A (en) Communication system, terminal device, communication device, communication method, and program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5622668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350