JP6318948B2 - Electronic device and authentication device - Google Patents

Electronic device and authentication device Download PDF

Info

Publication number
JP6318948B2
JP6318948B2 JP2014153117A JP2014153117A JP6318948B2 JP 6318948 B2 JP6318948 B2 JP 6318948B2 JP 2014153117 A JP2014153117 A JP 2014153117A JP 2014153117 A JP2014153117 A JP 2014153117A JP 6318948 B2 JP6318948 B2 JP 6318948B2
Authority
JP
Japan
Prior art keywords
program
authentication
electronic device
unit
authentication device
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
JP2014153117A
Other languages
Japanese (ja)
Other versions
JP2016031600A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014153117A priority Critical patent/JP6318948B2/en
Publication of JP2016031600A publication Critical patent/JP2016031600A/en
Application granted granted Critical
Publication of JP6318948B2 publication Critical patent/JP6318948B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、電子機器と認証装置を含む情報処理システムに関する。   The present invention relates to an information processing system including an electronic device and an authentication device.

電子機器での認証処理を簡略化するために、電子機器のユーザがIC(integrated circuit)カードやUSB(Universal Serial Bus)キーなどの認証用のデバイスを用いることが多い。ICカードやUSBキーなどの認証用の装置には、ユーザのID(identifier)やパスワードなどの情報が登録されており、電子機器は、ユーザが使用する認証装置から取得した情報を記憶する。電子機器は、適宜、記憶しているユーザのIDなどを用いて処理を行うことができる。   In order to simplify the authentication process in an electronic device, a user of the electronic device often uses an authentication device such as an IC (integrated circuit) card or a USB (Universal Serial Bus) key. Information such as a user ID (identifier) and a password is registered in an authentication device such as an IC card or a USB key, and the electronic device stores information acquired from the authentication device used by the user. The electronic device can appropriately perform processing using the stored user ID and the like.

さらに、近年は、電子機器を複数のユーザが使用するケースも多い。複数のユーザが使用する電子機器においても、適宜、ユーザごとの環境を提供するために、ユーザの認証処理が行われる。   Furthermore, in recent years, there are many cases where a plurality of users use an electronic device. Even in electronic devices used by a plurality of users, user authentication processing is performed in order to provide an environment for each user as appropriate.

関連する技術として、端末が利用しようとする秘密情報と端末の更新プログラムを格納している検証装置が、端末から得た情報を用いて端末の正当性を判定するシステムが提案されている。このシステムでは、検証装置は、正当な端末であると判定した端末に、秘密情報を出力する。一方、端末が正当でないと判定すると、検証装置は、更新プログラムを端末に出力することにより、秘密情報を利用しようとする端末に対して、プログラムのアップデートを強制する。   As a related technique, a system has been proposed in which a verification apparatus that stores secret information to be used by a terminal and a terminal update program determines the validity of the terminal using information obtained from the terminal. In this system, the verification device outputs secret information to a terminal that is determined to be a valid terminal. On the other hand, if it is determined that the terminal is not valid, the verification device outputs an update program to the terminal, thereby forcing the terminal to use the secret information to update the program.

国際公開第2008/004524号International Publication No. 2008/004524

電子機器を複数のユーザが共同で使用する場合、あるユーザが電子機器の認証に使用した情報や、電子機器に入力した情報などが、悪意のある別のユーザに悪用される恐れがある。このため、ユーザごとにプログラムの実行の環境を異なる環境にした上で、他のユーザによる実行処理を防止することが望ましい。電子機器に対する正規のユーザが他の正規ユーザの実行環境にアクセスすることを防ぐことは、関連する技術として述べた技術を用いても困難である。   When a plurality of users use an electronic device jointly, information used by one user for authentication of the electronic device or information input to the electronic device may be misused by another malicious user. For this reason, it is desirable to prevent execution processing by other users after setting different environments for executing programs for each user. It is difficult to prevent a legitimate user of an electronic device from accessing an execution environment of another legitimate user even using the technique described as the related technique.

本発明は、複数のユーザによって使用される電子機器でのセキュリティの改善を目的とする。   An object of the present invention is to improve security in an electronic device used by a plurality of users.

ある1つの実施形態にかかる電子機器は、通信部、記憶部、実行処理部、抽出部、要求部、制御部を備える。通信部は、ユーザを識別する情報を保持する認証装置との間の通信を行う。記憶部は、実行可能なプログラムと、前記プログラムのインストールの際に通信していた認証装置である対象認証装置との組み合わせを記憶する。実行処理部は、前記プログラムを実行する。抽出部は、前記対象認証装置から受信した情報から、前記組み合わせを識別する識別情報と前記対象認証装置が前記電子機器との間の認証処理に使用するために生成した公開鍵とを抽出する。要求部は、前記プログラムの実行が要求されると、前記通信部を介して前記識別情報を送信することにより、前記対象認証装置に認証処理を要求する。この要求部は、前記識別情報の送信に使用する第1のメッセージの応答として受信した第2のメッセージに含まれている第1のデータを、前記公開鍵で暗号化することにより第2のデータを求め、前記第2のデータを含む第3のメッセージを、前記通信部を介して送信し、前記対象認証装置が前記第2のデータを前記公開鍵の対となる秘密鍵で復号すると前記第1のデータに一致すると判定したことにより、前記認証処理に成功したことを示す第4のメッセージを取得すると、前記実行処理部に前記プログラムの実行を要求する。制御部は、前記プログラムの実行が要求されると、前記対象認証装置との間の通信が確立していない場合、前記プログラムの実行を停止するための制御を行う。この制御部は、前記認証処理に失敗すると、前記対象認証装置との間の通信が確立していないと判定し、前記プログラムの実行を停止する。 An electronic apparatus according to one embodiment includes a communication unit, a storage unit, an execution processing unit, an extraction unit, a request unit, and a control unit. The communication unit performs communication with an authentication device that holds information for identifying a user. The storage unit stores a combination of an executable program and a target authentication device that is an authentication device that communicated when the program was installed. The execution processing unit executes the program. The extraction unit extracts, from information received from the target authentication device, identification information for identifying the combination and a public key generated by the target authentication device for use in authentication processing with the electronic device. When requesting execution of the program, the request unit requests the target authentication device for authentication processing by transmitting the identification information via the communication unit. The request unit encrypts the first data included in the second message received as a response to the first message used for transmitting the identification information with the public key, thereby generating second data. And transmitting a third message including the second data via the communication unit, and when the target authentication device decrypts the second data with a secret key that is a pair of the public key, When the fourth message indicating that the authentication processing has succeeded is acquired because it is determined that the data matches the data of 1, the execution processing unit is requested to execute the program. When the execution of the program is requested, the control unit performs control for stopping the execution of the program when communication with the target authentication device is not established. When the authentication process fails, the control unit determines that communication with the target authentication device has not been established, and stops the execution of the program.

複数のユーザによって使用される電子機器でのセキュリティを改善できる。   Security in electronic devices used by multiple users can be improved.

情報処理システムで行われる処理の例を説明する図である。It is a figure explaining the example of the process performed with an information processing system. 電子機器の構成の例を説明する図である。It is a figure explaining the example of a structure of an electronic device. 電子機器のハードウェア構成の例を説明する図である。It is a figure explaining the example of the hardware constitutions of an electronic device. 認証装置の構成の例を説明する図である。It is a figure explaining the example of a structure of an authentication apparatus. 認証装置が保持する情報の例を説明する図である。It is a figure explaining the example of the information which an authentication apparatus hold | maintains. 認証装置のハードウェア構成の例を説明する図である。It is a figure explaining the example of the hardware constitutions of an authentication apparatus. 署名済みプログラムの生成方法の例を説明する図である。It is a figure explaining the example of the production | generation method of a signed program. プログラムのインストールの際に行われる処理の例を説明するシーケンス図である。It is a sequence diagram explaining the example of the process performed at the time of installation of a program. 識別情報管理テーブルの例を示す図である。It is a figure which shows the example of an identification information management table. プログラムのインストールの際に認証装置が行う処理の例を説明するフローチャートである。It is a flowchart explaining the example of the process which an authentication apparatus performs in the case of installation of a program. プログラムのインストールの際に電子機器が行う処理の例を説明するフローチャートである。It is a flowchart explaining the example of the process which an electronic device performs in the case of installation of a program. プログラムを実行する際に行われる処理の例を説明するシーケンス図である。It is a sequence diagram explaining the example of the process performed when running a program. プログラムの実行中に行われるヘルスチェックの例を説明するシーケンス図である。It is a sequence diagram explaining the example of the health check performed during execution of a program. プログラムの実行の際に認証装置が行う処理の例を説明するフローチャートである。It is a flowchart explaining the example of the process which an authentication apparatus performs at the time of execution of a program. プログラムの実行の際に認証装置が行う処理の例を説明するフローチャートである。It is a flowchart explaining the example of the process which an authentication apparatus performs at the time of execution of a program. プログラムの実行の際に電子機器が行う処理の例を説明するフローチャートである。It is a flowchart explaining the example of the process which an electronic device performs at the time of execution of a program. 実施形態にかかるシステムの適用例を説明するシーケンス図である。It is a sequence diagram explaining the example of application of the system concerning an embodiment.

図1は、電子機器へのプログラムのインストールと、インストール済みのプログラムの実行の際に、情報処理システムで行われる処理の例を説明する図である。情報処理システムには、電子機器と認証装置が含まれる。認証装置は、電子機器を使用するユーザが認証処理に使用する識別情報やパスワードなどを保持しているものとする。   FIG. 1 is a diagram illustrating an example of processing performed in the information processing system when a program is installed in an electronic device and an installed program is executed. The information processing system includes an electronic device and an authentication device. It is assumed that the authentication device holds identification information, a password, and the like used by the user who uses the electronic device for authentication processing.

図1の例E1は、電子機器で複数のユーザが同じプログラムを使用するときに電子機器にインストールされるプログラムの例を表わしている。電子機器において、各プログラムは、各ユーザが使用する認証装置に対応付けられた個別のプログラムとしてインストールされるものとする。例えば、ユーザAがプログラムXを使用する場合は、ユーザAの使用する認証装置に対応付けてインストールされたプログラムX(PAX)を使用する。一方、ユーザBが同じ電子機器で使用するプログラムXは、ユーザBの認証装置の情報に対応付けられたプログラムX(PBX)である。なお、電子機器は、認証装置との通信に使用する通信回路と、認証装置以外の装置との通信に使用する通信回路とを保持しており、2つの通信回路による通信は互いに干渉しないように設定されているものとする。   An example E1 in FIG. 1 represents an example of a program that is installed in an electronic device when a plurality of users use the same program in the electronic device. In the electronic device, each program is installed as an individual program associated with an authentication device used by each user. For example, when the user A uses the program X, the program X (PAX) installed in association with the authentication device used by the user A is used. On the other hand, the program X used by the user B with the same electronic device is the program X (PBX) associated with the information of the authentication device of the user B. The electronic device holds a communication circuit used for communication with the authentication device and a communication circuit used for communication with a device other than the authentication device so that communication by the two communication circuits does not interfere with each other. It is assumed that it is set.

以下、図1中のフローチャートを用いて、認証装置Aを用いて行われるプログラムのインストールの例と、認証装置Aに対応付けられたプログラムの実行の際に行われる処理の例を説明する。   Hereinafter, an example of program installation performed using the authentication apparatus A and an example of processing performed when executing a program associated with the authentication apparatus A will be described with reference to the flowchart in FIG.

ステップS1において、電子機器は、プログラムXを含むインストーラを、サーバからダウンロードする。インストーラには、プログラムXの他に、電子機器がプログラムXをインストールするために行う処理に関する情報も含まれているものとする。   In step S1, the electronic device downloads an installer including the program X from the server. In addition to the program X, the installer also includes information related to processing performed by the electronic device to install the program X.

ステップS2において、電子機器は、プログラムXのインストールを開始する際に通信している認証装置を特定する。ここでは、電子機器がユーザからプログラムXのインストールを要求されたときには、認証装置Aと通信中であるものとする。そこで、電子機器は、プログラムXと認証装置Aの組み合わせを記憶する。このとき、電子機器は、プログラムXを識別する識別子と、認証装置Aを識別する識別子の両方を含む識別情報(AX)を作成した上で、作成した識別情報AXを記憶することができる。また、識別情報AXは、認証装置Aで生成されても良い。識別情報AXが認証装置Aで生成される場合、電子機器は、認証装置Aから通知された識別情報AXを記憶する。   In step S <b> 2, the electronic device specifies the authentication device that is communicating when starting the installation of the program X. Here, when the electronic device is requested to install the program X by the user, it is assumed that the electronic device is communicating with the authentication apparatus A. Therefore, the electronic device stores a combination of the program X and the authentication device A. At this time, the electronic device can create the identification information (AX) including both the identifier for identifying the program X and the identifier for identifying the authentication device A, and can store the created identification information AX. Further, the identification information AX may be generated by the authentication device A. When the identification information AX is generated by the authentication device A, the electronic device stores the identification information AX notified from the authentication device A.

ステップS3において、電子機器は、プログラムXを認証装置Aに対応付けてインストールする。すなわち、電子機器は、プログラムXを、認証装置Aのユーザによって使用されるプログラムPAXとしてインストールし、プログラムPAXを識別情報AXに対応付けるものとする。   In step S3, the electronic device installs the program X in association with the authentication device A. That is, the electronic device installs the program X as the program PAX used by the user of the authentication device A, and associates the program PAX with the identification information AX.

その後、認証装置Aに対応付けられたプログラムX(PAX)に対する実行の要求が発生するまで、認証装置Aに対応付けられたプログラムXに関する処理は行われない(ステップS4でNo)。認証装置Aに対応付けられたプログラムXに対する実行の要求が発生すると、電子機器は、実行が要求されたプログラムに対応付けられた認証装置(認証装置A)との間の通信が可能であるかを判定する(ステップS4でYes、ステップS5)。電子機器と認証装置Aとの間の通信が可能である場合、電子機器は、認証装置Aに対応付けられたプログラムXを実行する(ステップS5でYes、ステップS6)。なお、ステップS6の処理が行われるケースでは、認証装置Aと電子機器が通信可能な状態にあることから、電子機器は、認証装置Aのユーザからアクセスされていると判定している。   Thereafter, the processing related to the program X associated with the authentication device A is not performed until an execution request for the program X (PAX) associated with the authentication device A is generated (No in step S4). When an execution request for the program X associated with the authentication device A occurs, is the electronic device capable of communication with the authentication device (authentication device A) associated with the program requested to be executed? (Yes in step S4, step S5). If communication between the electronic device and the authentication device A is possible, the electronic device executes the program X associated with the authentication device A (Yes in step S5, step S6). In the case where the process of step S6 is performed, since the authentication apparatus A and the electronic device are in a communicable state, it is determined that the electronic apparatus is being accessed by the user of the authentication apparatus A.

一方、電子機器が認証装置Aと通信できない場合、電子機器は、認証装置Aに対応付けられたプログラムXを実行せずに処理を終了する(ステップS5でNo、ステップS7)。すなわち、ステップS7のケースでは、認証装置Aと電子機器が通信可能な状態にないことから、電子機器は、認証装置Aのユーザ以外からアクセスされたと判定し、認証装置Aのユーザに関する情報の悪用などを防止するためにプログラムを実行しない。   On the other hand, when the electronic device cannot communicate with the authentication device A, the electronic device ends the process without executing the program X associated with the authentication device A (No in step S5, step S7). That is, in the case of step S7, since the authentication apparatus A and the electronic device are not in a communicable state, it is determined that the electronic apparatus is accessed by a user other than the user of the authentication apparatus A, and misuse of information regarding the user of the authentication apparatus A Do not run the program to prevent such things.

このように、実施形態にかかる電子機器は、インストールの際に通信している認証装置の情報を用いて、インストール対象のプログラムを、ユーザごとの個別のプログラムとしてインストールする。さらに、電子機器は、各プログラムに対応付けられた認証装置との通信が確認できない場合は、そのプログラムを実行しない。このため、複数のユーザが電子機器を使用していても、ユーザごとのセキュリティが確保される。すなわち、各ユーザが使用する情報が他のユーザに取得されることや、あるユーザがインストールしたプログラムを用いた成りすましが防止される。   As described above, the electronic apparatus according to the embodiment installs the program to be installed as an individual program for each user using the information of the authentication device that is communicating at the time of installation. Furthermore, when the electronic device cannot confirm communication with the authentication device associated with each program, the electronic device does not execute the program. For this reason, even if a plurality of users use electronic devices, security for each user is ensured. That is, information used by each user is acquired by other users, and impersonation using a program installed by a certain user is prevented.

なお、セキュリティをさらに強化するために、プログラムのインストールの前に、インストール対象となるプログラムが改ざんされているかの検証が行われても良い。さらに、プログラムの実行前に電子機器と認証装置との間での認証処理を行うことにより、プログラムのインストールの際に接続されていた認証装置と電子機器が接続を確立しているかを判定するように変更されることもある。以下の説明では、インストール対象のプログラムの検証処理と、電子機器10と認証装置40の間の認証処理も行われる場合についての具体例を詳しく説明する。   In order to further enhance the security, it may be verified whether the program to be installed has been tampered with before the program is installed. Further, by performing an authentication process between the electronic device and the authentication device before the execution of the program, it is determined whether the connection between the authentication device and the electronic device connected at the time of program installation is established. It may be changed to. In the following description, a specific example will be described in detail in the case where the verification process of the installation target program and the authentication process between the electronic device 10 and the authentication device 40 are also performed.

<装置構成>
図2は、電子機器10の構成の例を説明する図である。電子機器10は、通信部11、送受信部12、出力処理部15、入力処理部16、実行制御部20、記憶部30を備える。送受信部12は、送信部13と受信部14を有する。実行制御部20は、インストール処理部22、抽出部23、要求部24、制御部25、実行処理部26を有する。記憶部30は、識別情報31と装置間公開鍵32を記憶する。なお、記憶部30は、図2に示すように、ユーザのIDやパスワードなどの情報を記憶しない。
<Device configuration>
FIG. 2 is a diagram illustrating an example of the configuration of the electronic device 10. The electronic device 10 includes a communication unit 11, a transmission / reception unit 12, an output processing unit 15, an input processing unit 16, an execution control unit 20, and a storage unit 30. The transmission / reception unit 12 includes a transmission unit 13 and a reception unit 14. The execution control unit 20 includes an installation processing unit 22, an extraction unit 23, a request unit 24, a control unit 25, and an execution processing unit 26. The storage unit 30 stores identification information 31 and an inter-device public key 32. The storage unit 30 does not store information such as the user ID and password as shown in FIG.

通信部11は、電子機器10と認証装置40(図4)の間の通信処理を行う。送信部13は、電子機器10から認証装置40以外の装置へデータを送信する。受信部14は、認証装置40以外の装置からデータを受信する。受信部14は、受信したデータをインストール処理部22や実行処理部26などに出力する。例えば、受信部14は、電子機器10へのインストールの対象としてユーザから指定されたプログラムを含む汎用インストーラを、インストール処理部22に出力する。以下、「汎用インストーラ」は、いずれのユーザによっても使用され得るインストーラを指すものとする。入力処理部16は、ダウンロードするファイルや、実行するプログラムを指定するためのユーザからの入力を受け付ける。出力処理部15は、プログラムの実行結果の表示など、電子機器10での処理結果をユーザが使用するための出力処理を行う。   The communication unit 11 performs communication processing between the electronic device 10 and the authentication device 40 (FIG. 4). The transmission unit 13 transmits data from the electronic device 10 to a device other than the authentication device 40. The receiving unit 14 receives data from devices other than the authentication device 40. The receiving unit 14 outputs the received data to the installation processing unit 22, the execution processing unit 26, and the like. For example, the reception unit 14 outputs a general-purpose installer including a program designated by the user as an installation target to the electronic device 10 to the installation processing unit 22. Hereinafter, “general-purpose installer” refers to an installer that can be used by any user. The input processing unit 16 receives input from a user for specifying a file to be downloaded and a program to be executed. The output processing unit 15 performs output processing for the user to use the processing result in the electronic device 10 such as display of the execution result of the program.

インストール処理部22は、受信部14から入力された汎用インストーラからインストール対象のプログラムを取得し、インストールを行う。抽出部23は、電子機器10が認証装置40から受信した情報から、識別情報31などの情報を抽出する。ここで、識別情報31は、電子機器10がプログラムをインストールする際に通信している認証装置40とインストール中のプログラムの組み合わせの特定に使用される情報である。抽出部23の処理の詳細は後述する。要求部24は、ユーザから実行が要求されているプログラムに対応付けられている認証装置40に対して認証処理を要求する。なお、この認証処理は、実行が要求されているプログラムのインストール時に電子機器10と通信していた認証装置40と電子機器10との間で通信が確立されているかを判定するために行われる。認証に成功すると、実行が要求されているプログラムのインストール時に電子機器10と通信していた認証装置40との通信が確立していると判定される。以下、実行が要求されているプログラムのインストール時に電子機器10と通信していた認証装置40のことを、「プログラムに対応付けられている認証装置40」と記載することがある。   The installation processing unit 22 acquires a program to be installed from the general-purpose installer input from the receiving unit 14 and performs installation. The extraction unit 23 extracts information such as identification information 31 from information received by the electronic device 10 from the authentication device 40. Here, the identification information 31 is information used to specify the combination of the authentication apparatus 40 that communicates when the electronic device 10 installs the program and the program being installed. Details of the processing of the extraction unit 23 will be described later. The request unit 24 requests authentication processing from the authentication device 40 associated with the program requested to be executed by the user. This authentication process is performed in order to determine whether communication is established between the authentication device 40 and the electronic device 10 that were communicating with the electronic device 10 when the program requested to be executed is installed. If the authentication is successful, it is determined that communication with the authentication device 40 that has been in communication with the electronic device 10 at the time of installation of the program requested to be executed has been established. Hereinafter, the authentication device 40 communicating with the electronic device 10 at the time of installation of the program requested to be executed may be referred to as “authentication device 40 associated with the program”.

制御部25は、プログラムに対応付けられている認証装置40との間で通信が確立されていないと判定された場合、実行処理部26がプログラムを実行しないように制御する。一方、プログラムに対応付けられている認証装置40との間で通信が確立されていると判定された場合、実行処理部26はプログラムを実行する。   When it is determined that communication is not established with the authentication device 40 associated with the program, the control unit 25 controls the execution processing unit 26 not to execute the program. On the other hand, when it is determined that communication is established with the authentication device 40 associated with the program, the execution processing unit 26 executes the program.

なお、インストール処理部22および抽出部23は、「汎用インストーラ」や後述する「個別インストーラ」の処理の一部として実行されても良い。また、要求部24、制御部25、および、実行処理部26は、電子機器10にインストールされたプログラムの処理の一部として実行されても良い。   Note that the installation processing unit 22 and the extraction unit 23 may be executed as part of the processing of “general installer” or “individual installer” described later. Further, the request unit 24, the control unit 25, and the execution processing unit 26 may be executed as part of the processing of a program installed in the electronic device 10.

図3は、電子機器10のハードウェア構成の例を示す。電子機器10は、プロセッサ101、フラッシュメモリ102、RAM(Random Access Memory)103、タッチセンサー104、表示デバイス105、無線処理回路109、通信処理回路110、アンテナ111(111a、111b)を備える。さらに、電子機器10は、図3に示すようにオプションとして、スピーカー107とマイク108を備えても良い。電子機器10は、コンピュータ、スマートフォンを含む携帯電話端末、タブレットなどとして実現されうる。なお、図3は一例であり、例えば、電子機器10は、タッチセンサー104やマイク108の代わりにキーボードなどの入力装置を備えていても良い。   FIG. 3 shows an example of the hardware configuration of the electronic device 10. The electronic device 10 includes a processor 101, a flash memory 102, a RAM (Random Access Memory) 103, a touch sensor 104, a display device 105, a wireless processing circuit 109, a communication processing circuit 110, and an antenna 111 (111a, 111b). Furthermore, the electronic device 10 may include a speaker 107 and a microphone 108 as options as shown in FIG. The electronic device 10 can be realized as a computer, a mobile phone terminal including a smartphone, a tablet, or the like. Note that FIG. 3 is an example. For example, the electronic device 10 may include an input device such as a keyboard instead of the touch sensor 104 and the microphone 108.

プロセッサ101は、フラッシュメモリ102に格納されたプログラムを読み込むことにより、実行制御部20として動作する。フラッシュメモリ102は記憶部30として動作する。入力処理部16は、タッチセンサー104、マイク108、プロセッサ101等により実現される。出力処理部15は、プロセッサ101、表示デバイス105、スピーカー107により実現される。通信部11は、通信処理回路110とアンテナ111bにより実現される。通信処理回路110は、Bluetooth(登録商標)やWiFi(Wireless Fidelity、登録商標)等の規格に沿った通信処理を行う回路である。受信部14と送信部13は、いずれも、無線処理回路109とアンテナ111aにより実現される。   The processor 101 operates as the execution control unit 20 by reading a program stored in the flash memory 102. The flash memory 102 operates as the storage unit 30. The input processing unit 16 is realized by the touch sensor 104, the microphone 108, the processor 101, and the like. The output processing unit 15 is realized by the processor 101, the display device 105, and the speaker 107. The communication unit 11 is realized by the communication processing circuit 110 and the antenna 111b. The communication processing circuit 110 is a circuit that performs communication processing in accordance with standards such as Bluetooth (registered trademark) and WiFi (Wireless Fidelity, registered trademark). Both the reception unit 14 and the transmission unit 13 are realized by the wireless processing circuit 109 and the antenna 111a.

図4は、認証装置40の構成の例を示す。認証装置40は、通信部41、制御部50、記憶部60を備える。制御部50は、プログラム生成部51と認証処理部52を有する。記憶部60は、AP(Application)公開鍵61と雛形情報62を記憶している。さらに、認証装置40は、装置間暗号化鍵71、識別情報管理テーブル72、認証情報テーブル73、SSL(Secure Socket Layer)認証情報テーブル74、証明書テーブル75を、シールドエリア70に記憶している。なお、シールドエリア70は、認証装置40の外部からの読み出しができないように設定された記憶領域である。   FIG. 4 shows an example of the configuration of the authentication device 40. The authentication device 40 includes a communication unit 41, a control unit 50, and a storage unit 60. The control unit 50 includes a program generation unit 51 and an authentication processing unit 52. The storage unit 60 stores an AP (Application) public key 61 and template information 62. Further, the authentication device 40 stores an inter-device encryption key 71, an identification information management table 72, an authentication information table 73, an SSL (Secure Socket Layer) authentication information table 74, and a certificate table 75 in the shield area 70. . The shield area 70 is a storage area set so that reading from the outside of the authentication device 40 is not possible.

通信部41は、電子機器10と通信する。プログラム生成部51は、通信部41を介して電子機器10から取得したプログラムと雛形情報62を用いて、認証装置40にIDなどを格納しているユーザが使用するためのプログラムのインストールに使用されるインストーラを生成する。以下の説明では、認証装置40にIDなどを格納しているユーザが使用するプログラムのインストーラのことを「個別インストーラ」と記載することがある。プログラム生成部51は、個別インストーラを生成する際に、装置間暗号化鍵71を生成する。装置間暗号化鍵71には、公開鍵と秘密鍵が含まれ、個別インストーラには、公開鍵が含められる。また、プログラム生成部51は、認証装置40のユーザ、インストール対象のプログラム、電子機器10の組み合わせを一意に識別できる識別情報を生成し、識別情報を秘密鍵と対応付けて識別情報管理テーブル72に記録する。識別情報管理テーブル72は、認証処理部52による認証処理の際に使用される。認証処理部52は、プログラムの実行を要求された電子機器10と認証装置40との間の認証処理を行う。   The communication unit 41 communicates with the electronic device 10. The program generation unit 51 is used to install a program for use by a user who stores an ID or the like in the authentication device 40 using the program acquired from the electronic device 10 via the communication unit 41 and the template information 62. Generate an installer. In the following description, an installer of a program used by a user who stores an ID or the like in the authentication device 40 may be described as “individual installer”. The program generation unit 51 generates the inter-device encryption key 71 when generating the individual installer. The inter-device encryption key 71 includes a public key and a secret key, and the individual installer includes a public key. Further, the program generation unit 51 generates identification information that can uniquely identify the combination of the user of the authentication device 40, the program to be installed, and the electronic device 10, and associates the identification information with the secret key in the identification information management table 72. Record. The identification information management table 72 is used during authentication processing by the authentication processing unit 52. The authentication processing unit 52 performs an authentication process between the electronic device 10 requested to execute the program and the authentication device 40.

図5は、認証装置40が保持する情報の例を説明する図である。図5には、認証情報テーブル73、SSL認証情報テーブル74、証明書テーブル75の例を示す。図2を参照しながら説明したように、電子機器10は、ユーザのIDやパスワードなどの情報を保持しない。このため、電子機器10で動作するプログラムの実行などにより通信先から電子機器10のユーザに関する識別情報の送信を要求された場合、電子機器10は、認証装置40にユーザに関する情報を要求する。認証処理部52は、認証に成功した電子機器10に対して、ユーザの情報を、認証情報テーブル73、SSL認証情報テーブル74、証明書テーブル75から抽出して送信する。   FIG. 5 is a diagram for explaining an example of information held by the authentication device 40. FIG. 5 shows an example of the authentication information table 73, the SSL authentication information table 74, and the certificate table 75. As described with reference to FIG. 2, the electronic device 10 does not hold information such as a user ID and password. For this reason, when a communication destination requests transmission of identification information regarding the user of the electronic device 10 by executing a program that operates on the electronic device 10, the electronic device 10 requests the authentication device 40 for information regarding the user. The authentication processing unit 52 extracts the user information from the authentication information table 73, the SSL authentication information table 74, and the certificate table 75 and transmits them to the electronic device 10 that has been successfully authenticated.

認証情報テーブル73は、URL(Uniform Resource Locator)ごとに、そのURLで指定されるサイトで使用されるIDとパスワードを対応付けている。認証処理部52は、認証に成功した電子機器10からURLが通知されると、通知されたURLに対応付けられたIDとパスワードの組み合わせを電子機器10に通知する。   In the authentication information table 73, for each URL (Uniform Resource Locator), an ID and a password used in a site specified by the URL are associated with each other. When the URL is notified from the electronic device 10 that has been successfully authenticated, the authentication processing unit 52 notifies the electronic device 10 of the combination of the ID and password associated with the notified URL.

SSL認証情報テーブル74は、URLとそのURLで指定されるサイトで使用されるルート証明書のインデックスを対応付けている。一方、証明書テーブル75は、任意の数のルート証明書を保持している。認証処理部52は、認証に成功した電子機器10からSSL認証処理が要求されると、認証の要求で通知されたURLに対応付けられたルート証明書のインデックスを、SSL認証情報テーブル74を用いて特定する。認証処理部52は、さらに、特定したインデックスを用いて、ルート証明書を取得し、ルート証明書に含まれている公開鍵により、サーバ証明書を検証する。サーバ証明書の検証に成功すると、認証処理部52は、電子機器10がサーバ証明書の送信元のサーバとの暗号化通信を行うための処理を行う。具体例については、図16を参照しながら説明する。   The SSL authentication information table 74 associates a URL with an index of a root certificate used at a site specified by the URL. On the other hand, the certificate table 75 holds an arbitrary number of root certificates. When an SSL authentication process is requested from the electronic device 10 that has been successfully authenticated, the authentication processing unit 52 uses the SSL authentication information table 74 to indicate the index of the root certificate associated with the URL notified in the authentication request. To identify. The authentication processing unit 52 further acquires a root certificate using the specified index, and verifies the server certificate with the public key included in the root certificate. When the verification of the server certificate is successful, the authentication processing unit 52 performs processing for the electronic device 10 to perform encrypted communication with the server that is the transmission source of the server certificate. A specific example will be described with reference to FIG.

図6は、認証装置40のハードウェア構成の例を説明する図である。認証装置40は、プロセッサ101、フラッシュメモリ102、RAM103、通信処理回路110、アンテナ111を備える。アンテナ111と通信処理回路110は、通信部41として動作する。プロセッサ101は制御部50を実現する。さらに、フラッシュメモリ102は、記憶部60として動作する。   FIG. 6 is a diagram for explaining an example of the hardware configuration of the authentication device 40. The authentication device 40 includes a processor 101, a flash memory 102, a RAM 103, a communication processing circuit 110, and an antenna 111. The antenna 111 and the communication processing circuit 110 operate as the communication unit 41. The processor 101 implements the control unit 50. Further, the flash memory 102 operates as the storage unit 60.

<実施形態>
以下、電子機器10による汎用インストーラの取得、プログラムのインストール、プログラムの実行に分けて、実施形態を説明する。なお、電子機器10は、ユーザ別に異なるプログラムとして個々のプログラムをインストールするが、セキュリティを高めるために、ユーザのIDやパスワードなどの情報は、電子機器10には記憶しないものとする。従って、電子機器10は、プログラムの実行などに伴い、IDやパスワードなどのユーザの情報が求められると、接続中の認証装置40にそれらの情報の送信を求める。
<Embodiment>
Hereinafter, the embodiment will be described by obtaining a general-purpose installer by the electronic device 10, installing a program, and executing the program. The electronic device 10 installs each program as a different program for each user, but information such as a user ID and password is not stored in the electronic device 10 in order to increase security. Therefore, when user information such as an ID and a password is requested in accordance with the execution of the program, the electronic device 10 requests the connected authentication device 40 to transmit the information.

以下の実施形態では、電子機器10と認証装置40との間では、Bluetooth(登録商標)やWiFiなどによる無線通信が行われているものとする。また、電子機器10がサーバなどと通信する場合も無線通信が行われるが、電子機器10と認証装置40との間の通信との干渉は起こらないように設定されているものとする。   In the following embodiment, it is assumed that wireless communication is performed between the electronic device 10 and the authentication device 40 using Bluetooth (registered trademark), WiFi, or the like. In addition, when the electronic device 10 communicates with a server or the like, wireless communication is performed, but it is set so that interference with the communication between the electronic device 10 and the authentication device 40 does not occur.

(1)電子機器10による汎用インストーラの取得
図7は、汎用インストーラと署名済みプログラムの生成方法の例を説明する図である。まず、ケースC0に示すように、認証局は、プログラムの改ざんの検出に使用するための暗号化鍵ペアを生成する。認証局により生成される暗号化鍵ペアは、認証装置40での改ざんの検出に使用される。以下、電子機器10と認証装置40との間の通信に使用される暗号化鍵(装置間暗号化鍵)との区別を容易にするために、認証局で生成される暗号化鍵を、AP暗号化鍵と記載する。AP暗号化鍵ペアには、AP秘密鍵とAP公開鍵が含まれる。
(1) Acquisition of Generic Installer by Electronic Device 10 FIG. 7 is a diagram for explaining an example of a method for generating a generic installer and a signed program. First, as shown in case C0, the certificate authority generates an encryption key pair to be used for detecting the alteration of the program. The encryption key pair generated by the certificate authority is used for detection of tampering by the authentication device 40. Hereinafter, in order to easily distinguish the encryption key used for communication between the electronic device 10 and the authentication device 40 (inter-device encryption key), the encryption key generated by the certificate authority is referred to as AP. It is described as an encryption key. The AP encryption key pair includes an AP private key and an AP public key.

次に、認証局による署名データの生成処理について述べる。認証局は、ケースC1に示すように、プログラムのハッシュ値をAP秘密鍵によって暗号化することにより、署名データを生成する。ここで、プログラムのハッシュ値の算出に用いられる関数は、SHA−1(Secure Hash Algorithm-1)を含む任意の一方向性ハッシュ関数から選択され得る。認証局は、署名データとプログラムを合わせて、署名済みプログラムを生成する。   Next, signature data generation processing by the certificate authority will be described. As shown in Case C1, the certificate authority generates signature data by encrypting the hash value of the program with the AP secret key. Here, the function used to calculate the hash value of the program can be selected from any one-way hash function including SHA-1 (Secure Hash Algorithm-1). The certificate authority generates the signed program by combining the signature data and the program.

さらに、認証局は、電子機器10と認証装置40との間で行われる認証処理や改ざんの検出処理の動作を示すプログラム(連携処理プログラム)に、署名済みプログラムを組み込むことにより、汎用インストーラを生成する。汎用インストーラには、プログラムを使用するユーザの特定に用いられるデータは含まれていないので、いずれのユーザによってダウンロードされても良い。そこで、認証局は、電子機器10がアクセス可能なサーバに、汎用インストーラを公開する。なお、図7に示すように、認証装置40の製造者は、予め認証局からAP公開鍵を取得しておき、認証装置40の製造の際に、認証装置40にAP公開鍵61として記憶させるものとする。また、認証装置40は、認証局が署名データを生成する際に使用するハッシュ関数も、予め、保持しているものとする。   Furthermore, the certificate authority generates a general-purpose installer by incorporating a signed program into a program (cooperation processing program) that shows the operation of authentication processing and falsification detection processing performed between the electronic device 10 and the authentication device 40. To do. The general-purpose installer does not include data used to identify the user who uses the program, and may be downloaded by any user. Therefore, the certificate authority publishes a general-purpose installer on a server accessible by the electronic device 10. As shown in FIG. 7, the manufacturer of the authentication device 40 acquires the AP public key from the certificate authority in advance, and stores the AP public key 61 in the authentication device 40 when the authentication device 40 is manufactured. Shall. In addition, the authentication device 40 is assumed to hold in advance a hash function used when the certificate authority generates signature data.

電子機器10は、入力処理部16から取得するユーザの入力に応じて、サーバ等にアクセスする。また、電子機器10は、入力処理部16からの入力信号により、サーバから電子機器10にダウンロードする情報が特定されると、特定された情報を、受信部14を介して受信する。ここでは、ユーザがインストールしようとするプログラムを含む汎用インストーラがダウンロードの対象として選択されたとする。すると、電子機器10は、送受信部12を介した通信により、サーバから汎用インストーラを受信する。   The electronic device 10 accesses a server or the like in accordance with a user input acquired from the input processing unit 16. In addition, when the information to be downloaded from the server to the electronic device 10 is specified by the input signal from the input processing unit 16, the electronic device 10 receives the specified information via the receiving unit 14. Here, it is assumed that a general-purpose installer including a program to be installed by the user is selected as a download target. Then, the electronic device 10 receives a general-purpose installer from the server through communication via the transmission / reception unit 12.

(2)プログラムのインストール
図8は、プログラムのインストールの際に行われる処理の例を説明するシーケンス図である。図8のシーケンスは、電子機器10が汎用インストーラをサーバからダウンロードした後の処理を説明している。電子機器10のインストール処理部22は、汎用インストーラ中の連携処理プログラムに従って動作する。なお、図8のシーケンスは、例えば、ステップS13とS14の順序を入れ替えるなど、実装に応じて変更され得る。
(2) Program Installation FIG. 8 is a sequence diagram illustrating an example of processing performed when a program is installed. The sequence in FIG. 8 describes processing after the electronic device 10 downloads the general-purpose installer from the server. The installation processing unit 22 of the electronic device 10 operates according to the cooperation processing program in the general-purpose installer. Note that the sequence of FIG. 8 can be changed according to the implementation, for example, by switching the order of steps S13 and S14.

ステップS11において、インストール処理部22は、汎用インストーラ中に含まれている署名済みプログラムを、通信部11を介して、電子機器10と通信中の認証装置40に送信する。なお、署名済みプログラムは、汎用インストーラのファイルシステム中に含まれているものとする。   In step S <b> 11, the installation processing unit 22 transmits the signed program included in the general-purpose installer to the authentication device 40 in communication with the electronic device 10 via the communication unit 11. The signed program is assumed to be included in the file system of the general-purpose installer.

ステップS12において、認証装置40のプログラム生成部51は、AP公開鍵61、ハッシュ関数、電子機器10から受信した署名データとプログラムを用いて、プログラムが改ざんされているかを検証する。図8の例では、プログラムが改ざんされていないと判定されたものとする。   In step S <b> 12, the program generation unit 51 of the authentication device 40 verifies whether the program has been tampered with using the AP public key 61, the hash function, and the signature data and program received from the electronic device 10. In the example of FIG. 8, it is determined that the program has not been tampered with.

ステップS13〜S15を参照しながら、個別インストーラの生成処理と、プログラムの実行が要求された場合に行う認証の準備について説明する。プログラム生成部51は、プログラムが改ざんされていないと判定すると、電子機器10との間の認証に使用する暗号化鍵(装置間暗号化鍵)を生成する(ステップS13)。装置間暗号化鍵は、装置間公開鍵と装置間秘密鍵を含む。装置間暗号化鍵は、電子機器10がプログラムを実行するかを判定する際に電子機器10と認証装置40の間で行う認証処理に使用される。次に、プログラム生成部51は、プログラム、電子機器10、認証装置40の組合せを識別する識別情報を生成する(ステップS14)。プログラム生成部51は、識別情報とステップS13で生成した装置間秘密鍵を識別情報管理テーブル72に記憶する。   With reference to steps S13 to S15, the individual installer generation process and the preparation for authentication performed when the execution of the program is requested will be described. When determining that the program has not been tampered with, the program generation unit 51 generates an encryption key (inter-device encryption key) used for authentication with the electronic device 10 (step S13). The inter-device encryption key includes an inter-device public key and an inter-device secret key. The inter-device encryption key is used for authentication processing performed between the electronic device 10 and the authentication device 40 when determining whether the electronic device 10 executes the program. Next, the program generation unit 51 generates identification information for identifying a combination of the program, the electronic device 10, and the authentication device 40 (step S14). The program generation unit 51 stores the identification information and the apparatus private key generated in step S13 in the identification information management table 72.

図9は、識別情報管理テーブル72の例を示す。識別情報管理テーブル72には、識別情報と装置間秘密鍵が対応付けられている。なお、識別情報は、プログラム、電子機器10、認証装置40の組合せを特定できるような任意の情報である。例えば、識別情報は、最初の5桁がプログラムの識別番号、次の4桁が電子機器10の識別番号、末尾の5桁が認証装置40の識別番号であるような14桁の文字列とすることができる。なお、プログラム、電子機器10、認証装置40の識別番号の桁数、組合せの順序、識別番号の桁数などは、実装に応じて変更されうる。   FIG. 9 shows an example of the identification information management table 72. In the identification information management table 72, identification information and an inter-device secret key are associated with each other. The identification information is arbitrary information that can identify the combination of the program, the electronic device 10, and the authentication device 40. For example, the identification information is a 14-digit character string in which the first five digits are the program identification number, the next four digits are the identification number of the electronic device 10, and the last five digits are the identification number of the authentication device 40. be able to. Note that the number of digits of identification numbers, the order of combinations, the number of digits of identification numbers, and the like of the program, the electronic device 10, and the authentication device 40 can be changed according to the implementation.

図8のステップS15において、プログラム生成部51は、雛形情報62を用いて、プログラム、識別情報、端末間公開鍵を含むインストーラ(個別インストーラ)を生成する。個別インストーラには、認証装置40、電子機器10、プログラムの組合せを識別する識別情報が含まれているので、汎用インストーラとは異なり、識別情報で特定される認証装置40と電子機器10の組合せ以外では使用されない。プログラム生成部51は、個別インストーラの生成が終わると、通信部41を介して、電子機器10に検証に成功したことを通知する(ステップS16)。   In step S15 of FIG. 8, the program generation unit 51 uses the template information 62 to generate an installer (individual installer) including a program, identification information, and an inter-terminal public key. Since the individual installer includes identification information for identifying a combination of the authentication device 40, the electronic device 10, and the program, unlike the general-purpose installer, other than the combination of the authentication device 40 and the electronic device 10 specified by the identification information. In not used. When the generation of the individual installer is completed, the program generation unit 51 notifies the electronic device 10 that the verification has been successful via the communication unit 41 (step S16).

ステップS17において、インストール処理部22は、検証結果が検証の成功を表わす情報であるかを判定する(ステップS17)。検証に失敗している場合、プログラムが改ざんされているため、インストール処理部22は、処理を終了する(ステップS17でNo)。一方、検証に成功したことが通知された場合、インストール処理部22は、認証装置40に記憶されている個別インストーラを起動する(ステップS17でYes、ステップS18)。この処理は、例えば、インストール処理部22が認証装置40を電子機器10の外部記憶装置に設定した後で、認証装置40にアクセスすることによって行われる。個別インストーラによるインストール処理が行われることにより、電子機器10にプログラムがインストールされる(ステップS19)。   In step S17, the installation processing unit 22 determines whether the verification result is information indicating a successful verification (step S17). If the verification has failed, the program has been tampered with, and the installation processing unit 22 ends the process (No in step S17). On the other hand, when notified that the verification is successful, the installation processing unit 22 activates the individual installer stored in the authentication device 40 (Yes in step S17, step S18). This process is performed by, for example, accessing the authentication device 40 after the installation processing unit 22 sets the authentication device 40 as an external storage device of the electronic device 10. By performing the installation process using the individual installer, the program is installed in the electronic device 10 (step S19).

図10は、プログラムのインストールの際に認証装置40が行う処理の例を説明するフローチャートである。なお、ステップS29とS30の処理の順序は、実装に応じて変更されても良いものとする。   FIG. 10 is a flowchart for explaining an example of processing performed by the authentication device 40 during program installation. Note that the order of the processes in steps S29 and S30 may be changed according to the implementation.

認証装置40の通信部41は、電子機器10との間のデータリンクを確立する(ステップS21)。プログラム生成部51は、通信部41を介して、電子機器10から署名済みプログラムを取得する(ステップS22)。署名済みプログラムの取得に失敗すると、プログラム生成部51は、受信エラー通知を電子機器10に送信することにより、リトライを要求する(ステップS23でNo、ステップS24)。その後、電子機器10からデータを受信すると、ステップS22以降の処理が行われる。   The communication unit 41 of the authentication device 40 establishes a data link with the electronic device 10 (step S21). The program generation unit 51 acquires a signed program from the electronic device 10 via the communication unit 41 (step S22). If acquisition of the signed program fails, the program generation unit 51 requests a retry by transmitting a reception error notification to the electronic device 10 (No in step S23, step S24). Thereafter, when data is received from the electronic device 10, the processes after step S <b> 22 are performed.

一方、署名済みプログラムの取得に成功すると、プログラム生成部51は、認証装置40に組み込まれているAP公開鍵61を用いて、署名済みプログラムに含まれている署名データ内のハッシュ値を復号化する(ステップS23でYes、ステップS25)。さらに、プログラム生成部51は、ハッシュ関数を用いてプログラムのハッシュ値を求め、署名データ中に含まれているハッシュ値と比較することにより、プログラムが改ざんされているかを検証する(ステップS26)。プログラムが改ざんされているという判定結果が得られると、プログラム生成部51は、署名済みプログラムにエラーがあることを電子機器10に通知して処理を終了する(ステップS27でNo、ステップS28)。   On the other hand, when acquisition of the signed program is successful, the program generation unit 51 decrypts the hash value in the signature data included in the signed program using the AP public key 61 incorporated in the authentication device 40. (Yes in step S23, step S25). Further, the program generation unit 51 obtains a hash value of the program using a hash function, and verifies whether the program has been tampered with by comparing it with the hash value included in the signature data (step S26). When the determination result that the program has been tampered with is obtained, the program generation unit 51 notifies the electronic device 10 that there is an error in the signed program and ends the process (No in step S27, step S28).

一方、署名済みプログラムが改ざんされていないと判定すると、プログラム生成部51は、装置間暗号化鍵ペアを生成する(ステップS27でYes、ステップS29)。さらに、プログラム生成部51は、プログラム、電子機器10、認証装置40の組合せを一意に特定するための識別情報を生成する(ステップS30)。プログラム生成部51は、装置間秘密鍵と識別情報を識別情報管理テーブル72に記憶する(ステップS31)。プログラム生成部51は、電子機器10にプログラムの検証結果として、プログラムが改ざんされていないことを通知する(ステップS32)。   On the other hand, when determining that the signed program has not been tampered with, the program generation unit 51 generates an inter-device encryption key pair (Yes in step S27, step S29). Further, the program generation unit 51 generates identification information for uniquely specifying the combination of the program, the electronic device 10, and the authentication device 40 (step S30). The program generation unit 51 stores the inter-device secret key and the identification information in the identification information management table 72 (step S31). The program generation unit 51 notifies the electronic device 10 that the program has not been tampered with as a program verification result (step S32).

図11は、プログラムのインストールの際に電子機器10が行う処理の例を説明するフローチャートである。なお、図11は一例であり、例えば、ステップS48〜S50の処理の順序は実装に応じて任意に変更されうる。   FIG. 11 is a flowchart for explaining an example of processing performed by the electronic device 10 when a program is installed. Note that FIG. 11 is an example, and for example, the processing order of steps S48 to S50 can be arbitrarily changed depending on the implementation.

電子機器10の通信部11は、認証装置40との間のデータリンクを確立する(ステップS41)。インストール処理部22は、サーバからダウンロードした署名済みプログラムを認証装置40に送信する(ステップS42)。送信に失敗すると、電子機器10は、認証装置40に署名済みプログラムを再送信する(ステップS43でNo、ステップS42)。   The communication unit 11 of the electronic device 10 establishes a data link with the authentication device 40 (step S41). The installation processing unit 22 transmits the signed program downloaded from the server to the authentication device 40 (step S42). If the transmission fails, the electronic device 10 retransmits the signed program to the authentication device 40 (No in step S43, step S42).

署名済みプログラムの送信に成功すると、インストール処理部22は、署名済みプログラムについての検証結果を認証装置40から受信するまで待機する(ステップS43でYes)。署名済みプログラムについての検証結果を受信すると、インストール処理部22は、プログラムが改ざんされていないことが通知されたかを判定する(ステップS45)。プログラムが改ざんされていることが通知されると、インストール処理部22は処理を終了し、出力処理部15にエラーの発生を表示する(ステップS45でNo、ステップS47)。   If the transmission of the signed program is successful, the installation processing unit 22 waits until a verification result for the signed program is received from the authentication device 40 (Yes in step S43). Upon receiving the verification result for the signed program, the installation processing unit 22 determines whether it has been notified that the program has not been tampered with (step S45). When notified that the program has been tampered with, the installation processing unit 22 terminates the process and displays an error occurrence on the output processing unit 15 (No in step S45, step S47).

一方、プログラムが改ざんされていないことが通知されると、インストール処理部22は、個別インストーラを用いて、プログラムを電子機器10にインストールする(ステップS45でYes、ステップS46、S48)。さらに、抽出部23は、個別インストーラを用いて認証装置40から通知された情報から装置間公開鍵を抽出するとともに、装置間公開鍵をプログラムのファイルシステムにインストールする(ステップS49)。抽出部23は、個別インストーラから識別情報を抽出し、識別情報も、プログラムのファイルシステムに記憶する(ステップS50)。これらの処理が終わると、通信部11は、認証装置40とのデータリンクを切断する(ステップS51)。なお、上記ステップS50およびS51は、「個別インストーラ」の処理として実行されても良い。   On the other hand, when notified that the program has not been tampered with, the installation processing unit 22 uses the individual installer to install the program in the electronic device 10 (Yes in step S45, steps S46 and S48). Further, the extraction unit 23 extracts the inter-device public key from the information notified from the authentication device 40 using the individual installer, and installs the inter-device public key in the file system of the program (step S49). The extraction unit 23 extracts identification information from the individual installer, and stores the identification information in the file system of the program (step S50). When these processes are completed, the communication unit 11 disconnects the data link with the authentication device 40 (step S51). Note that steps S50 and S51 may be executed as a process of “individual installer”.

(3)プログラムの実行
図12はプログラムを実行する際に行われる処理の例を説明するシーケンス図である。ステップS61において、ユーザからプログラムの実行が要求されると、電子機器10の要求部24は、実行が要求されたプログラムのファイルシステムに格納されている識別情報を送信するための処理を行う。すなわち、通信部11に認証装置40との間のリンクの開始と、識別情報の送信を要求する。認証装置40の認証処理部52は、電子機器10から受信した識別情報をキーとして識別情報管理テーブル72を検索することにより、識別情報に対応付けられた装置間暗号化鍵(秘密鍵)を特定する(ステップS62)。
(3) Program Execution FIG. 12 is a sequence diagram illustrating an example of processing performed when executing a program. In step S61, when the execution of the program is requested by the user, the request unit 24 of the electronic device 10 performs processing for transmitting the identification information stored in the file system of the program requested to be executed. That is, the communication unit 11 is requested to start a link with the authentication device 40 and to transmit identification information. The authentication processing unit 52 of the authentication device 40 specifies the inter-device encryption key (secret key) associated with the identification information by searching the identification information management table 72 using the identification information received from the electronic device 10 as a key. (Step S62).

次に、認証処理部52は、乱数を生成し、得られた乱数をチャレンジコードとして電子機器10に送信する(ステップS63)。電子機器10の要求部24は、通信部11を介してチャレンジコードを取得すると、チャレンジコードに含まれているデータを装置間公開鍵で演算処理することにより、レスポンスデータを生成する(ステップS64)。要求部24は、通信部11を介して、レスポンスデータを認証装置40に送信する(ステップS65)。   Next, the authentication process part 52 produces | generates a random number, and transmits the obtained random number to the electronic device 10 as a challenge code (step S63). Upon obtaining the challenge code via the communication unit 11, the request unit 24 of the electronic device 10 generates response data by performing arithmetic processing on the data included in the challenge code with the inter-device public key (step S64). . The request unit 24 transmits response data to the authentication device 40 via the communication unit 11 (step S65).

認証装置40の認証処理部52は、ステップS62で特定した装置間秘密鍵を用いて、レスポンスデータを復号し、復号後のデータとチャレンジデータを比較することにより認証処理を行う(ステップS66)。図12では、復号後のデータとチャレンジデータが一致したものとする。復号後のデータとチャレンジデータが一致した場合、認証処理部52は、認証に成功したことを示す情報(リンクOK)を電子機器10に向けて送信する(ステップS67)。要求部24は、認証装置40から認証に成功したことが通知されると、実行処理部26にプログラムの実行を要求する。実行処理部26は、要求部24の要求に応じて、プログラムを実行する。プログラムの実行により、適宜、実行処理部26は、出力処理部15への出力処理を行う。   The authentication processing unit 52 of the authentication device 40 decrypts the response data using the inter-device secret key identified in step S62, and performs authentication processing by comparing the decrypted data with the challenge data (step S66). In FIG. 12, it is assumed that the decrypted data matches the challenge data. When the decrypted data matches the challenge data, the authentication processing unit 52 transmits information (link OK) indicating that the authentication is successful to the electronic device 10 (step S67). When the request unit 24 is notified by the authentication device 40 that the authentication is successful, the request unit 24 requests the execution processing unit 26 to execute the program. The execution processing unit 26 executes the program in response to a request from the request unit 24. The execution processing unit 26 appropriately performs output processing to the output processing unit 15 by executing the program.

ステップS68に示すように、プログラムの実行に伴って、ユーザのIDやパスワードなどが要求されると、実行処理部26は、認証装置40にこれらの情報を要求する。認証装置40の認証処理部52は、認証に成功している電子機器10からIDやパスワードが要求されると、要求された情報を、装置間秘密鍵を用いて暗号化して、電子機器10に送信する。電子機器10の実行処理部26は、認証装置40から送信された情報を、装置間公開鍵を用いて復号して、処理に用いる。   As shown in step S68, when a user ID, password, or the like is requested along with the execution of the program, the execution processing unit 26 requests the authentication device 40 for these pieces of information. When the authentication processing unit 52 of the authentication device 40 requests an ID or password from the electronic device 10 that has been successfully authenticated, the authentication processing unit 52 encrypts the requested information using the inter-device secret key, and stores it in the electronic device 10. Send. The execution processing unit 26 of the electronic device 10 decrypts the information transmitted from the authentication device 40 using the inter-device public key and uses it for processing.

なお、図12を参照しながら、認証後の通信(ステップS68)も装置間公開鍵と装置間秘密鍵を用いて行われる場合を説明したが、認証後の通信は処理を高速化するために、共通鍵を用いて行っても良い。共通鍵を用いて電子機器10と認証装置40の間の通信が行われる場合、共通鍵は、装置間公開鍵と装置間秘密鍵を用いて、電子機器10と認証装置40の間で交換されるものとする。なお、共通鍵は電子機器10と認証装置40のいずれが生成しても良い。   While the case where communication after authentication (step S68) is also performed using the inter-device public key and the inter-device secret key is described with reference to FIG. 12, the communication after authentication is performed in order to speed up the processing. Alternatively, the common key may be used. When communication between the electronic device 10 and the authentication device 40 is performed using the common key, the common key is exchanged between the electronic device 10 and the authentication device 40 using the inter-device public key and the inter-device secret key. Shall be. Note that the common key may be generated by either the electronic device 10 or the authentication device 40.

図13は、プログラムの実行中に行われるヘルスチェックの例を説明するシーケンス図である。セキュリティを高めるために、電子機器10と認証装置40の間では、プログラムの実行を開始するときの認証の他にも定期的にヘルスチェックが行われることがある。なお、図13では、認証後のデータの送受信の具体例も示している。ステップS61〜S67の処理は図12を参照しながら説明したとおりである。   FIG. 13 is a sequence diagram illustrating an example of a health check performed during execution of a program. In order to enhance security, a health check may be periodically performed between the electronic device 10 and the authentication device 40 in addition to authentication when starting execution of a program. FIG. 13 also shows a specific example of data transmission / reception after authentication. The processing in steps S61 to S67 is as described with reference to FIG.

ステップS71において、電子機器10の実行処理部26は、ユーザのIDとパスワードを要求してきたサイトのURLと共に、ユーザのIDとパスワードを要求するためのメッセージ(転送要求)を認証装置40に送信する。ここで、実行処理部26が認証装置40に向けて送信する情報は暗号化されているものとする。なお、暗号化は、図12の説明でも述べたとおり、共通鍵によって行われても、装置間公開鍵によって行われても良い。認証装置40の認証処理部52は、転送要求を復号することにより、ユーザのIDとパスワードを要求しているサイトのURLを取得する。認証処理部52は、認証情報テーブル73(図5)を用いて、転送要求により通知されたURLに対応付けられたIDとパスワードを取得する。認証処理部52は、取得したIDとパスワードを暗号化して、電子機器10に返信する(ステップS72)。なお、このときの暗号化も、共通鍵か装置間秘密鍵によって行われる。   In step S <b> 71, the execution processing unit 26 of the electronic device 10 transmits a message (transfer request) for requesting the user ID and password to the authentication device 40 together with the URL of the site that has requested the user ID and password. . Here, it is assumed that information transmitted from the execution processing unit 26 to the authentication device 40 is encrypted. Note that the encryption may be performed using a common key or an inter-device public key as described in the description of FIG. The authentication processing unit 52 of the authentication device 40 acquires the URL of the site requesting the user ID and password by decrypting the transfer request. The authentication processing unit 52 uses the authentication information table 73 (FIG. 5) to obtain an ID and password associated with the URL notified by the transfer request. The authentication processing unit 52 encrypts the acquired ID and password and sends them back to the electronic device 10 (step S72). The encryption at this time is also performed using a common key or an inter-device secret key.

認証処理部52は、電子機器10との最後の通信が行われてから所定の期間が経過すると、ヘルスチェックのためのパケットを、電子機器10に送信する(ステップS73)。電子機器10の要求部24は、ヘルスチェック用のパケットを取得すると、ヘルスチェック応答を生成すると共に、認証装置40に送信する(ステップS74)。ステップS73、S74と同様の処理が定期的に繰り返される(ステップS75、S76)。電子機器10の要求部24は、認証装置40との最後の通信から所定の期間内にヘルスチェックを受信した場合、認証装置40と電子機器10の間の通信が維持されていると判定する。一方、認証装置40の認証処理部52は、電子機器10にヘルスチェックを送信してから所定の期間内にヘルスチェック応答を受信すると、認証装置40と電子機器10の間の通信が維持されていると判定する。   When a predetermined period elapses after the last communication with the electronic device 10 is performed, the authentication processing unit 52 transmits a health check packet to the electronic device 10 (step S73). Upon obtaining the health check packet, the request unit 24 of the electronic device 10 generates a health check response and transmits it to the authentication device 40 (step S74). Processes similar to steps S73 and S74 are periodically repeated (steps S75 and S76). The request unit 24 of the electronic device 10 determines that the communication between the authentication device 40 and the electronic device 10 is maintained when the health check is received within a predetermined period from the last communication with the authentication device 40. On the other hand, when the authentication processing unit 52 of the authentication device 40 receives the health check response within a predetermined period after transmitting the health check to the electronic device 10, the communication between the authentication device 40 and the electronic device 10 is maintained. It is determined that

ステップS77において認証装置40がヘルスチェックを送信するときには、認証装置40と電子機器10の間の距離が広がるなどの理由により、認証装置40と電子機器10が通信できなくなっているとする。すると、認証装置40が送信したヘルスチェックは電子機器10に到達しない。このため、認証処理部52は、電子機器10からのヘルスチェック応答を受信できず、認証装置40と電子機器10の間のリンクが切断されたと判定する(ステップS78)。   When the authentication device 40 transmits a health check in step S77, it is assumed that the authentication device 40 and the electronic device 10 cannot communicate with each other because the distance between the authentication device 40 and the electronic device 10 increases. Then, the health check transmitted by the authentication device 40 does not reach the electronic device 10. For this reason, the authentication processing unit 52 cannot receive the health check response from the electronic device 10, and determines that the link between the authentication device 40 and the electronic device 10 has been disconnected (step S78).

一方、電子機器10の要求部24は、認証装置40との間の最後の通信から所定の時間が経過してもヘルスチェック用のパケットを認証装置40から受信していないので、認証装置40と電子機器10の間のリンクが切断されたと判定する(ステップS79)。要求部24は、認証装置40と電子機器10のリンクが切断されたと判定したことを制御部25に通知する。制御部25は、認証装置40と電子機器10のリンクが切断されたことが通知されると、実行処理部26に対してプログラムの実行を停止させるための処理を行う。実行処理部26は、制御部25の処理により、実行中のプログラムの処理を終了する。   On the other hand, the request unit 24 of the electronic device 10 has not received the health check packet from the authentication device 40 even after a predetermined time has elapsed since the last communication with the authentication device 40. It determines with the link between the electronic devices 10 having been cut | disconnected (step S79). The request unit 24 notifies the control unit 25 that it has been determined that the link between the authentication device 40 and the electronic device 10 has been disconnected. When notified that the link between the authentication device 40 and the electronic device 10 has been disconnected, the control unit 25 performs a process for causing the execution processing unit 26 to stop executing the program. The execution processing unit 26 ends the processing of the program being executed by the processing of the control unit 25.

図14Aと図14Bは、プログラムの実行の際に認証装置40が行う処理の例を説明するフローチャートである。図14Aと図14Bは、電子機器10へのIDとパスワードの要求が行われる場合の例を示している。なお、図14Aと図14Bに示す処理は一例であり、ステップS85とS86の順序を入れ替えるなどの変更が行われうる。   FIG. 14A and FIG. 14B are flowcharts for explaining an example of processing performed by the authentication device 40 when executing a program. 14A and 14B show an example in which an ID and password request to the electronic device 10 is made. Note that the processing illustrated in FIGS. 14A and 14B is an example, and changes such as switching the order of steps S85 and S86 may be performed.

認証装置40の認証処理部52は、通信部41を介して、電子機器10からデータリンク開始要求を受信すると、データリンク開始要求で通知された識別情報が識別情報管理テーブル72に記録されているかを判定する(ステップS81、S82)。識別情報が識別情報管理テーブル72に含まれていない場合、認証処理部52は、電子機器10にエラーを通知する(ステップS82でNo、ステップS83)。   When the authentication processing unit 52 of the authentication device 40 receives the data link start request from the electronic device 10 via the communication unit 41, is the identification information notified by the data link start request recorded in the identification information management table 72? Is determined (steps S81 and S82). When the identification information is not included in the identification information management table 72, the authentication processing unit 52 notifies the electronic device 10 of an error (No in step S82, step S83).

識別情報が識別情報管理テーブル72に含まれている場合、認証処理部52は、ランダム値を生成し、チャレンジデータとして電子機器10に送信する(ステップS82でYes、ステップS84)。その後、電子機器10からレスポンスデータを受信すると、認証処理部52は、ステップS81で受信した識別情報をキーとして識別情報管理テーブル72を検索し、装置間秘密鍵を取得する(ステップS85、S86)。認証処理部52は、装置間秘密鍵、レスポンスデータ、チャレンジデータを用いて、電子機器10の認証処理を行う(ステップS87)。認証に失敗すると、認証処理部52は、電子機器10に対して認証に失敗したことを通知する(ステップS88でNo、ステップS89)。   When the identification information is included in the identification information management table 72, the authentication processing unit 52 generates a random value and transmits it as challenge data to the electronic device 10 (Yes in step S82, step S84). Thereafter, when response data is received from the electronic device 10, the authentication processing unit 52 searches the identification information management table 72 using the identification information received in step S81 as a key, and acquires an inter-device secret key (steps S85 and S86). . The authentication processing unit 52 performs authentication processing of the electronic device 10 using the inter-device secret key, response data, and challenge data (step S87). If the authentication fails, the authentication processing unit 52 notifies the electronic device 10 that the authentication has failed (No in step S88, step S89).

一方、認証に成功すると、認証処理部52は、電子機器10に対して認証に成功したことを通知する(ステップS88でYes、ステップS90)。認証処理部52は、電子機器10との間でセキュアなデータリンクが確立できたと判定する(ステップS91)。認証処理部52は、URLに対応付けてユーザのIDやパスワードを要求されるまで待機する(ステップS92でNo)。認証処理部52は、URLに対応付けてユーザのIDやパスワードを要求されると、認証情報テーブル73からIDとパスワードを取得できるかを判定する(ステップS92でYes、ステップS93)。認証情報テーブル73からIDとパスワードを取得できた場合、認証処理部52は、IDとパスワードを電子機器10に送信するための処理を行って、ステップS92に戻る(ステップS94)。   On the other hand, if the authentication is successful, the authentication processing unit 52 notifies the electronic device 10 that the authentication is successful (Yes in step S88, step S90). The authentication processing unit 52 determines that a secure data link has been established with the electronic device 10 (step S91). The authentication processing unit 52 waits until a user ID or password is requested in association with the URL (No in step S92). When the authentication processing unit 52 requests a user ID or password in association with the URL, the authentication processing unit 52 determines whether the ID and password can be acquired from the authentication information table 73 (Yes in step S92, step S93). If the ID and password can be acquired from the authentication information table 73, the authentication processing unit 52 performs processing for transmitting the ID and password to the electronic device 10 and returns to step S92 (step S94).

認証情報テーブル73からIDとパスワードを取得していない場合、認証処理部52は、ユーザが電子機器10に入力したIDとパスワードの情報を、電子機器10から取得したかを判定する(ステップS95)。ユーザが入力したIDとパスワードの情報を、電子機器10から取得していない場合、認証処理部52は、ステップS92に戻る(ステップS95でNo)。一方、ユーザが入力したIDとパスワードの情報を、電子機器10から取得すると、認証処理部52は、IDとパスワードを認証情報テーブル73に記憶してステップS92に戻る(ステップS95でYes、ステップS96)。   If the ID and password are not acquired from the authentication information table 73, the authentication processing unit 52 determines whether the ID and password information input to the electronic device 10 by the user has been acquired from the electronic device 10 (step S95). . When the ID and password information input by the user has not been acquired from the electronic device 10, the authentication processing unit 52 returns to Step S92 (No in Step S95). On the other hand, when the ID and password information input by the user is acquired from the electronic device 10, the authentication processing unit 52 stores the ID and password in the authentication information table 73 and returns to Step S92 (Yes in Step S95, Step S96). ).

図15は、プログラムの実行の際に電子機器10が行う処理の例を説明するフローチャートである。通信部11は、認証装置40との間で無線通信を確立する(ステップS101)。要求部24は、認証装置40に識別情報を含めたデータリンク開始要求を送信する(ステップS102)。要求部24は、通信部11を介して、認証装置40からチャレンジデータを取得する(ステップS103)。要求部24は、装置間公開鍵を用いてチャレンジデータを演算処理することにより、レスポンスデータを生成するとともに、レスポンスデータを認証装置40に送信する(ステップS104)。通信部11は、認証装置40から認証結果を受信する(ステップS105)。要求部24は、認証装置40から認証成功が通知されていない場合、認証装置40との間の無線通信を切断する(ステップS106でNo、ステップS107)。さらに、制御部25は、実行が要求されているプログラムのインストールの際に通信していた認証装置40との間の通信が確立できていないと判定し、実行処理部26にプログラムの実行の停止を要求する。実行処理部26は、制御部25の要求に応じて、プログラムの実行を停止する。このとき、実行処理部26は、出力処理部15にエラーの表示や警告音の出力を行っても良い。   FIG. 15 is a flowchart illustrating an example of processing performed by the electronic device 10 when executing a program. The communication unit 11 establishes wireless communication with the authentication device 40 (step S101). The request unit 24 transmits a data link start request including identification information to the authentication device 40 (step S102). The request unit 24 acquires challenge data from the authentication device 40 via the communication unit 11 (step S103). The request unit 24 computes the challenge data using the inter-device public key, thereby generating response data and transmitting the response data to the authentication device 40 (step S104). The communication unit 11 receives the authentication result from the authentication device 40 (step S105). If the authentication device 40 has not been notified of successful authentication, the request unit 24 disconnects the wireless communication with the authentication device 40 (No in step S106, step S107). Further, the control unit 25 determines that communication with the authentication device 40 that has been communicating at the time of installation of the program requested to be executed has not been established, and causes the execution processing unit 26 to stop executing the program. Request. The execution processing unit 26 stops the execution of the program in response to a request from the control unit 25. At this time, the execution processing unit 26 may display an error or output a warning sound to the output processing unit 15.

一方、認証装置40から認証成功が通知された場合、認証装置40との間でセキュアなデータリンクが確立されたと判定する(ステップS106でYes、ステップS108)。認証装置40での認証に成功しているため、実行処理部26は、プログラムを実行する(ステップS109)。なお、ステップS101〜S109はインストールしたプログラムの処理として実行されても良い。   On the other hand, when authentication success is notified from the authentication device 40, it is determined that a secure data link has been established with the authentication device 40 (Yes in step S106, step S108). Since the authentication by the authentication device 40 is successful, the execution processing unit 26 executes the program (step S109). Note that steps S101 to S109 may be executed as processing of the installed program.

図16は、実施形態にかかるシステムの適用例を説明するシーケンス図である。図16は、SSL通信への適用例を示す。ステップS111において、図12〜図15を参照しながら説明した手順を用いたリンクの確立処理が行われる。その後、電子機器10の実行処理部26は、送受信部12を介して、認証局よりルート証明書を取得する(ステップS112)。実行処理部26は、通信部11を介して、ルート証明書を認証装置40に送信する(ステップS113)。認証装置40の認証処理部52は、ルート証明書を証明書テーブル75に格納する(ステップS114)。   FIG. 16 is a sequence diagram illustrating an application example of the system according to the embodiment. FIG. 16 shows an application example to SSL communication. In step S111, a link establishment process is performed using the procedure described with reference to FIGS. Thereafter, the execution processing unit 26 of the electronic device 10 acquires a root certificate from the certificate authority via the transmission / reception unit 12 (step S112). The execution processing unit 26 transmits the root certificate to the authentication device 40 via the communication unit 11 (step S113). The authentication processing unit 52 of the authentication device 40 stores the root certificate in the certificate table 75 (step S114).

一方、電子機器10の要求部24は、ルート証明書とそのルート証明書を用いた認証処理の対象となるサーバ証明書を配布しているURLを関連付ける(ステップS115)。なお、URLとルート証明書の対応関係は、ユーザから入力され、要求部24は入力された情報に基づいて関連付けを行う。要求部24は、認証装置40に向けて、ルート証明書とURLの関連付けを行った結果を送信する(ステップS116)。認証装置40では、認証処理部52がルート証明書とURLの対応関係を用いて、SSL認証情報テーブル74を生成する(ステップS117)。   On the other hand, the request unit 24 of the electronic device 10 associates the root certificate with the URL that distributes the server certificate that is the subject of authentication processing using the root certificate (step S115). The correspondence between the URL and the root certificate is input by the user, and the request unit 24 performs the association based on the input information. The request unit 24 transmits the result of associating the root certificate with the URL toward the authentication device 40 (step S116). In the authentication device 40, the authentication processing unit 52 generates the SSL authentication information table 74 using the correspondence between the root certificate and the URL (step S117).

その後、電子機器10は、SSLアクセスサーバにSSL接続を要求する(ステップS118)。SSLサーバは、サーバ証明書を電子機器10に送信する(ステップS119)。電子機器10の要求部24は、SSL接続を要求したURLの情報と、サーバ証明書を、SSL認証処理要求に含めて、認証装置40に送信する(ステップS120)。認証装置40の認証処理部52は、通知されたURLをキーとしてSSL認証情報テーブル74を検索することにより、ルート証明書のインデックスを取得する。次に、取得したインデックスと証明書テーブル75を用いて、ルート証明書を抽出する。さらに、ルート証明書に含められている鍵を用いてサーバ証明書を検証する。検証に成功すると、認証処理部52は、共通鍵を生成し、サーバ証明書中に含まれている公開鍵で暗号化する。認証処理部52は、暗号化された共通鍵を電子機器10に送信する(ステップS121)。電子機器10は、暗号化された共通鍵をSSLアクセスサーバに送信する(ステップS122)。SSLサーバは、暗号化された共通鍵を、サーバ証明書に含めた公開鍵の対となっている秘密鍵を用いて復号することにより、共通鍵を取得する(ステップS123)。   Thereafter, the electronic device 10 requests the SSL access server for an SSL connection (step S118). The SSL server transmits the server certificate to the electronic device 10 (step S119). The request unit 24 of the electronic device 10 includes the information of the URL that requested the SSL connection and the server certificate in the SSL authentication processing request, and transmits the request to the authentication device 40 (step S120). The authentication processing unit 52 of the authentication device 40 acquires the index of the root certificate by searching the SSL authentication information table 74 using the notified URL as a key. Next, a root certificate is extracted using the acquired index and certificate table 75. Further, the server certificate is verified using the key included in the root certificate. If the verification is successful, the authentication processing unit 52 generates a common key and encrypts it with the public key included in the server certificate. The authentication processing unit 52 transmits the encrypted common key to the electronic device 10 (step S121). The electronic device 10 transmits the encrypted common key to the SSL access server (step S122). The SSL server obtains the common key by decrypting the encrypted common key using the private key that is the public key pair included in the server certificate (step S123).

さらに、認証装置40は、SSLアクセスサーバとの間の通信に使用するための共通鍵を電子機器10に通知する(ステップS124)。これらの処理により、電子機器10と認証装置40が共通鍵を用いて暗号化通信を開始する(ステップS125)。   Further, the authentication device 40 notifies the electronic device 10 of a common key used for communication with the SSL access server (step S124). Through these processes, the electronic device 10 and the authentication device 40 start encrypted communication using the common key (step S125).

以上述べたように、電子機器10は、ユーザごとの個別のインストーラを用いて、個別のプログラムをインストールするので、あるユーザがプログラムを使用する際に入力した情報等を、同じ種類のプログラムを使用する他のユーザに取得される可能性が低い。また、電子機器10は、ユーザのID、パスワード、ルート証明書などの情報を記憶しておらず、これらの情報を、適宜、認証装置40から取得する。このため、電子機器10からユーザのIDなどの情報が漏えいする危険性も低い。   As described above, since the electronic device 10 installs individual programs using individual installers for each user, the same type of program is used for information input when a user uses the program. Is unlikely to be acquired by other users. The electronic device 10 does not store information such as the user ID, password, and root certificate, and acquires such information from the authentication device 40 as appropriate. For this reason, the risk of leakage of information such as the user ID from the electronic device 10 is also low.

また、電子機器10は、実行が要求されているプログラムがインストールされたときに電子機器10と通信していた認証装置40との通信が確立されていない場合には、プログラムを実行しない。このため、電子機器10の正規ユーザであっても、他のユーザに関連付けてインストールされているプログラムにアクセスできず、電子機器10の正規ユーザによる成りすましを防止することができる。従って、実施形態にかかるシステムにより、電子機器10での防犯機能が向上できる。   Further, the electronic device 10 does not execute the program when communication with the authentication device 40 that has been in communication with the electronic device 10 when the program requested to be executed is installed is not established. For this reason, even an authorized user of the electronic device 10 cannot access a program installed in association with another user, and impersonation by the authorized user of the electronic device 10 can be prevented. Therefore, the crime prevention function in the electronic device 10 can be improved by the system according to the embodiment.

図12を参照しながら説明したように、電子機器10と認証装置40との間であっても、認証処理を行うことにより、電子機器10を用いた成りすましが行われる危険性がさらに引き下げられている。また、認証装置40は、装置間公開鍵を個別インストーラに含めて電子機器10に通知した上で、装置間暗号化鍵を用いて認証処理を行っているので、認証用の鍵の交換も、簡単かつ安全に行われているといえる。   As described with reference to FIG. 12, the risk of impersonation using the electronic device 10 is further reduced by performing the authentication process even between the electronic device 10 and the authentication device 40. Yes. In addition, since the authentication device 40 includes the inter-device public key in the individual installer and notifies the electronic device 10 and performs the authentication process using the inter-device encryption key, the authentication key can be exchanged. It's easy and safe.

図7、図8、図10などを用いて説明したように、プログラムの汎用インストーラに署名情報が含まれている場合、認証装置40において、プログラムのインストールの前に、インストール対象となるプログラムが改ざんされているかを検証できる。このため、実施形態にかかるシステムでは、マルウェアが電子機器10にインストールされることを防止できる。また、電子機器10へのプログラムのインストールを実施形態にかかる方法に統一すると、電子機器10の正規ユーザが他のユーザの情報を不正に取得することを目的としてマルウェアをインストールすることも防止できる。   As described with reference to FIGS. 7, 8, 10, and the like, when signature information is included in the general-purpose installer of the program, the authentication target device falsifies the program to be installed before installing the program. Can be verified. For this reason, in the system according to the embodiment, it is possible to prevent malware from being installed in the electronic device 10. Moreover, if the installation of the program to the electronic device 10 is unified with the method according to the embodiment, it is possible to prevent the authorized user of the electronic device 10 from installing malware for the purpose of illegally acquiring information of other users.

また、図13を参照しながら説明したように、プログラムの実行中であっても、定期的にヘルスチェックを行い、認証装置40と電子機器10の間の通信が確立していない場合は、プログラムの実行を停止することで、さらに、セキュリティが高められる。   In addition, as described with reference to FIG. 13, even when the program is being executed, the health check is periodically performed, and communication between the authentication device 40 and the electronic device 10 is not established. By stopping the execution of, security is further improved.

<その他>
電子機器10にプログラムをインストールする際には、個別インストーラが使用されるため、電子機器10にインストールされたプログラムのアンインストールの際に、個別インストーラは削除される。ここで、電子機器10は、サーバから汎用インストーラをダウンロードしているが、プログラムのアンインストールの際には、汎用インストーラは削除されない。また、汎用インストーラは、インストールされるプログラムを使用するユーザに関する情報を含まない。このため、例えば、ユーザAがダウンロードした汎用インストーラをユーザBが使用して、ユーザBが使用するプログラム用の個別インストーラを生成することができる。また、ユーザAがプログラムをアンインストールした後に、ユーザAによってダウンロードされた汎用インストーラを用いて、ユーザCがユーザC用のプログラムのインストールに用いる個別インストーラを生成することもできる。
<Others>
Since an individual installer is used when installing a program in the electronic device 10, the individual installer is deleted when the program installed in the electronic device 10 is uninstalled. Here, although the electronic device 10 has downloaded the general-purpose installer from the server, the general-purpose installer is not deleted when the program is uninstalled. Further, the general-purpose installer does not include information regarding a user who uses the program to be installed. For this reason, for example, the general installer downloaded by the user A can be used by the user B to generate an individual installer for the program used by the user B. In addition, after the user A uninstalls the program, a general installer downloaded by the user A can be used to generate an individual installer used by the user C to install the program for the user C.

一方、プログラムのアンインストールの際には、電子機器10から個別インストーラが削除されるので、電子機器10と認証装置40の間の通信に使用される暗号化鍵も削除される。従って、電子機器10と認証装置40の間の通信で使用される暗号化鍵は、インストールの度に新たに生成されることになり、セキュリティが向上する。なお、電子機器10にインストールされるプログラムは、ブラウザなどを含む任意の種類のプログラムである。   On the other hand, when uninstalling the program, the individual installer is deleted from the electronic device 10, so the encryption key used for communication between the electronic device 10 and the authentication device 40 is also deleted. Therefore, an encryption key used for communication between the electronic device 10 and the authentication device 40 is newly generated every time installation is performed, and security is improved. Note that the program installed in the electronic device 10 is any type of program including a browser.

図5や図9に示したテーブル等は、一例であり、認証装置40が保持するテーブル等に含まれる情報要素は、実装に応じて変更され得る。   The tables shown in FIG. 5 and FIG. 9 are examples, and the information elements included in the tables held by the authentication device 40 can be changed according to the implementation.

以上の説明では、プログラムとそのプログラムのインストール時に通信していた認証装置40との組み合わせを識別情報31として電子機器10と認証装置40が記憶する場合を例とし手説明したが、これは一例に過ぎない。すなわち、電子機器10は識別情報31以外の形態で、プログラムのインストール時に通信していた認証装置40とプログラムの組み合わせを記憶していても良い。   In the above description, the case where the electronic device 10 and the authentication device 40 store the combination of the program and the authentication device 40 communicating at the time of installation of the program as the identification information 31 is described as an example. Not too much. That is, the electronic device 10 may store a combination of the authentication device 40 and the program that communicated at the time of program installation in a form other than the identification information 31.

10 電子機器
11、41 通信部
12 送受信部
13 送信部
14 受信部
15 出力処理部
16 入力処理部
20 実行制御部
22 インストール処理部
23 抽出部
24 要求部
25、50 制御部
26 実行処理部
30、60 記憶部
31 識別情報
32 装置間公開鍵
40 認証装置
51 プログラム生成部
52 認証処理部
61 AP公開鍵
62 雛形情報
70 シールドエリア
71 装置間暗号化鍵
72 識別情報管理テーブル
73 認証情報テーブル
74 SSL認証情報テーブル
75 証明書テーブル
101 プロセッサ
102 フラッシュメモリ
103 RAM
104 タッチセンサー
105 表示デバイス
106 オーディオ入出力デバイス
107 スピーカー
108 マイク
109 無線処理回路
110 通信処理回路
111 アンテナ
DESCRIPTION OF SYMBOLS 10 Electronic device 11, 41 Communication part 12 Transmission / reception part 13 Transmission part 14 Reception part 15 Output processing part 16 Input processing part 20 Execution control part 22 Installation processing part 23 Extraction part 24 Request part 25, 50 Control part 26 Execution processing part 30, 60 Storage Unit 31 Identification Information 32 Inter-device Public Key 40 Authentication Device 51 Program Generation Unit 52 Authentication Processing Unit 61 AP Public Key 62 Template Information 70 Shield Area 71 Inter-Device Encryption Key 72 Identification Information Management Table 73 Authentication Information Table 74 SSL Authentication Information table 75 Certificate table 101 Processor 102 Flash memory 103 RAM
104 Touch Sensor 105 Display Device 106 Audio Input / Output Device 107 Speaker 108 Microphone 109 Wireless Processing Circuit 110 Communication Processing Circuit 111 Antenna

Claims (3)

電子機器であって、
ユーザを識別する情報を保持する認証装置との間の通信を行う通信部と、
実行可能なプログラムと、前記プログラムのインストールの際に通信していた認証装置である対象認証装置との組み合わせを記憶する記憶部と、
前記プログラムを実行する実行処理部と、
前記対象認証装置から受信した情報から、前記組み合わせを識別する識別情報と前記対象認証装置が前記電子機器との間の認証処理に使用するために生成した公開鍵とを抽出する抽出部と、
前記プログラムの実行が要求されると、前記通信部を介して前記識別情報を送信することにより、前記対象認証装置に認証処理を要求する要求部であって、
前記識別情報の送信に使用する第1のメッセージの応答として受信した第2のメッセージに含まれている第1のデータを、前記公開鍵で暗号化することにより第2のデータを求め、
前記第2のデータを含む第3のメッセージを、前記通信部を介して送信し、
前記対象認証装置が前記第2のデータを前記公開鍵の対となる秘密鍵で復号すると前記第1のデータに一致すると判定したことにより、前記認証処理に成功したことを示す第4のメッセージを取得すると、前記実行処理部に前記プログラムの実行を要求する
該要求部と、
前記プログラムの実行が要求されると、前記対象認証装置との間の通信が確立していない場合、前記プログラムの実行を停止するための制御を行う制御部であって、前記認証処理に失敗すると、前記対象認証装置との間の通信が確立していないと判定し、前記プログラムの実行を停止する該制御部
を備えることを特徴とする電子機器。
Electronic equipment,
A communication unit that performs communication with an authentication device that holds information for identifying a user;
A storage unit that stores a combination of an executable program and a target authentication device that is an authentication device that communicated when the program was installed;
An execution processing unit for executing the program;
An extraction unit that extracts identification information for identifying the combination and a public key generated by the target authentication device for use in authentication processing with the electronic device from information received from the target authentication device;
When the execution of the program is requested, a request unit that requests authentication processing to the target authentication device by transmitting the identification information via the communication unit,
Obtaining the second data by encrypting the first data contained in the second message received as a response to the first message used for transmitting the identification information with the public key;
Transmitting a third message including the second data via the communication unit;
When the target authentication device decrypts the second data with the private key that is a pair of the public key and determines that it matches the first data, a fourth message indicating that the authentication processing has succeeded When acquired, the execution processing unit is requested to execute the program.
The requesting unit;
When the execution of the program is requested, if communication with the target authentication device is not established, the control unit performs control for stopping the execution of the program, and the authentication process fails. An electronic apparatus comprising: the control unit that determines that communication with the target authentication device has not been established and stops execution of the program .
前記電子機器に前記プログラムをインストールする前に、前記プログラムと前記プログラムの配信元による署名情報とを、前記配信元から受信する受信部と、
前記プログラムと前記署名情報を前記対象認証装置に転送した結果、前記対象認証装置から、前記署名情報を用いた検証に成功したことが通知されると、前記プログラムをインストールするインストール処理部
をさらに備えることを特徴とする請求項1に記載の電子機器。
A receiver that receives the program and signature information from a distribution source of the program from the distribution source before installing the program in the electronic device;
As a result of transferring the program and the signature information to the target authentication device, an installation processing unit that installs the program when notified from the target authentication device that the verification using the signature information is successful is further provided. The electronic device according to claim 1 .
認証装置であって、An authentication device,
電子機器へのインストールの対象であるプログラムを前記電子機器から取得した場合に、前記電子機器との間の認証処理に使用する暗号化鍵である一対の公開鍵及び秘密鍵と、前記プログラムと前記電子機器と前記認証装置との組合せを識別する識別情報とを生成し、更に、前記プログラムと前記識別情報と前記公開鍵とを含む前記プログラムのインストーラを生成する生成部と、When a program to be installed on an electronic device is acquired from the electronic device, a pair of a public key and a secret key that are encryption keys used for authentication processing with the electronic device, the program, Generating identification information for identifying a combination of the electronic device and the authentication device, and further generating a program installer including the program, the identification information, and the public key;
前記プログラムのインストールを行う前記電子機器からのアクセスに応じて、前記インストーラを前記電子機器へ送付する通信部と、A communication unit that sends the installer to the electronic device in response to an access from the electronic device that installs the program;
インストールされた前記プログラムの実行を要求された前記電子機器と前記認証装置との間の認証処理を行う認証処理部であって、An authentication processing unit that performs an authentication process between the electronic device requested to execute the installed program and the authentication device,
前記認証処理を要求していることを示している第1のメッセージであって前記識別情報を含む該第1のメッセージを前記電子機器から取得した場合に、第1のデータを含む第2のメッセージを該第1のメッセージへの応答として前記電子機器へ送信し、A second message including first data when the first message indicating that the authentication processing is requested and the first message including the identification information is acquired from the electronic device; To the electronic device as a response to the first message,
前記第2のメッセージから前記第1のデータを取り出して前記インストーラに含まれている前記公開鍵で暗号化することにより得られる第2のデータを含む第3のメッセージを、前記第2のメッセージを受信した前記電子機器から受信し、The third message including the second data obtained by extracting the first data from the second message and encrypting the first data with the public key included in the installer is referred to as the second message. Received from the electronic device received,
前記第3のメッセージから取り出した前記第2のデータを、生成した前記秘密鍵で復号することにより得られるデータが前記第1のデータに一致するか否かを判定して、一致すると判定した場合に前記認証処理に成功したことを示す第4のメッセージを前記電子機器へ送信するWhen it is determined whether the data obtained by decrypting the second data extracted from the third message with the generated secret key matches the first data, and it is determined that they match A fourth message indicating that the authentication process has been successful is transmitted to the electronic device.
該認証処理部Authentication processing unit
を備えることを特徴とする認証装置。An authentication device comprising:
JP2014153117A 2014-07-28 2014-07-28 Electronic device and authentication device Active JP6318948B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014153117A JP6318948B2 (en) 2014-07-28 2014-07-28 Electronic device and authentication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014153117A JP6318948B2 (en) 2014-07-28 2014-07-28 Electronic device and authentication device

Publications (2)

Publication Number Publication Date
JP2016031600A JP2016031600A (en) 2016-03-07
JP6318948B2 true JP6318948B2 (en) 2018-05-09

Family

ID=55441951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014153117A Active JP6318948B2 (en) 2014-07-28 2014-07-28 Electronic device and authentication device

Country Status (1)

Country Link
JP (1) JP6318948B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6649858B2 (en) * 2016-08-31 2020-02-19 合同会社Fom研究所 One-time authentication system
JP2018107777A (en) * 2016-12-28 2018-07-05 東京電力ホールディングス株式会社 Authentication system and authentication method
JP7313232B2 (en) * 2019-08-23 2023-07-24 キヤノン株式会社 Information processing device, its control method, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3838404B2 (en) * 1999-08-04 2006-10-25 日本電信電話株式会社 IC card system communication data protection processing method and apparatus and recording medium on which IC card system communication data protection processing program is recorded
JP2002351569A (en) * 2001-03-21 2002-12-06 Toshiba Corp Method and system for managing software license and storage medium
JP3998935B2 (en) * 2001-05-22 2007-10-31 日本電信電話株式会社 Personal information integrated management system and program thereof, and medium storing the program
JP5277935B2 (en) * 2008-12-16 2013-08-28 大日本印刷株式会社 License management system and method

Also Published As

Publication number Publication date
JP2016031600A (en) 2016-03-07

Similar Documents

Publication Publication Date Title
Zuo et al. Automatic fingerprinting of vulnerable ble iot devices with static uuids from mobile apps
TWI475860B (en) Portable device association
KR101634828B1 (en) Protocol for device to station association
US9009463B2 (en) Secure delivery of trust credentials
EP3584992A1 (en) Internet of things device
KR101744747B1 (en) Mobile terminal, terminal and method for authentication using security cookie
JP6012888B2 (en) Device certificate providing apparatus, device certificate providing system, and device certificate providing program
JP2024012643A (en) Method and apparatus for establishing wireless secure link while maintaining privacy against tracking
US10211979B2 (en) Systems and methods securing an autonomous device
JP2019530265A (en) Method and apparatus for providing and acquiring graphic code information and terminal
EP3668120A1 (en) Hearing device with service mode and related method
US20160330030A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same
KR20170066607A (en) Security check method, device, terminal and server
KR20160098756A (en) Hardware secure module, method for updating integrity check value stored in the hardware secure module and program stored in terminal by the hardware secure module
CN112333133A (en) Data security transmission method, device, equipment and computer readable storage medium
WO2018129753A1 (en) Method and device for downloading subscription information set, and related equipment
KR20190034048A (en) Server registration method of client using encryption security protocol-based communication and integrity verification method between client and server using the same
JP6318948B2 (en) Electronic device and authentication device
WO2017040124A1 (en) System and method for detection of cloned devices
CN111901303A (en) Device authentication method and apparatus, storage medium, and electronic apparatus
EP2930962B1 (en) Encryption/decryption method, system and device
US20160352522A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same
JP6192495B2 (en) Semiconductor device, information terminal, semiconductor element control method, and information terminal control method
KR101912403B1 (en) Method for security authentication between equipment
EP3984262B1 (en) Provision of application level identity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180123

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: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180319

R150 Certificate of patent or registration of utility model

Ref document number: 6318948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250