JP2024051151A - Cryptographic communication system, secure element, device, and cryptographic communication method - Google Patents

Cryptographic communication system, secure element, device, and cryptographic communication method Download PDF

Info

Publication number
JP2024051151A
JP2024051151A JP2024030428A JP2024030428A JP2024051151A JP 2024051151 A JP2024051151 A JP 2024051151A JP 2024030428 A JP2024030428 A JP 2024030428A JP 2024030428 A JP2024030428 A JP 2024030428A JP 2024051151 A JP2024051151 A JP 2024051151A
Authority
JP
Japan
Prior art keywords
server
secure element
key
public key
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024030428A
Other languages
Japanese (ja)
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2024030428A priority Critical patent/JP2024051151A/en
Publication of JP2024051151A publication Critical patent/JP2024051151A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】鍵の事前共有を必要としない暗号通信システム、セキュアエレメント、デバイス及び暗号通信方法を提供する。【解決手段】セキュアエレメントは、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、生成したセキュアエレメント公開鍵をサーバへ出力するセキュアエレメント出力部とを備え、サーバは、セキュアエレメント公開鍵を取得して登録するサーバ登録部と、サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、生成したサーバ公開鍵をセキュアエレメントへ出力するサーバ出力部とを備え、セキュアエレメントは、さらに、サーバ公開鍵を取得して登録するセキュアエレメント登録部を備える。【選択図】図1[Problem] To provide a cryptographic communication system, secure element, device, and cryptographic communication method that do not require prior sharing of keys. [Solution] The secure element comprises a secure element key generation unit that generates a secure element public key and a secure element private key, and a secure element output unit that outputs the generated secure element public key to a server, the server comprises a server registration unit that obtains and registers the secure element public key, a server key generation unit that generates a server public key and a server private key, and a server output unit that outputs the generated server public key to the secure element, and the secure element further comprises a secure element registration unit that obtains and registers the server public key. [Selected Figure] Figure 1

Description

本発明は、暗号通信システム、セキュアエレメント、デバイス及び暗号通信方法に関する。 The present invention relates to a cryptographic communication system, a secure element, a device, and a cryptographic communication method.

IoT(Internet of Things)では、多種多様なデバイスがネットワークに接続されることで新たな付加価値を生み出している。一方で、インターネットに接続される、このようなデバイスが増加することにより、セキュリティ上の問題が徐々に顕在化している。 In the Internet of Things (IoT), a wide variety of devices are being connected to the network, creating new added value. On the other hand, as the number of such devices connected to the Internet increases, security issues are gradually becoming apparent.

特許文献1には、サーバ装置とIoTデバイスとの間において、第1鍵を使用してサーバ装置との間の認証処理を行い、第2鍵を使用する暗号化通信により、サーバ装置との間で第3鍵の送受信を行って鍵共有を行う通信システムが開示されている。 Patent Document 1 discloses a communication system in which a first key is used to perform authentication processing between a server device and an IoT device, and a third key is sent and received between the server device and the IoT device through encrypted communication using a second key to share the key.

特許第6408536号公報Japanese Patent No. 6408536

しかし、特許文献1の通信システムにあっては、サーバ装置とIoTデバイスとの間で第3鍵を共有する前に、第1鍵及び第2鍵を予め記憶することにより事前共有が必要となる。このため、サーバ装置とIoTデバイスとの間で予め特定の固定鍵を準備しておく必要があり、かかる固定鍵の漏洩等により通信路の秘匿性が脆弱化するおそれがある。 However, in the communication system of Patent Document 1, the first key and the second key must be stored in advance before the third key is shared between the server device and the IoT device, so that the first key and the second key are shared in advance. This requires that a specific fixed key be prepared in advance between the server device and the IoT device, and there is a risk that the confidentiality of the communication path may be weakened due to the leakage of such a fixed key.

本発明は、斯かる事情に鑑みてなされたものであり、鍵の事前共有を必要としない暗号通信システム、セキュアエレメント、デバイス及び暗号通信方法を提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and aims to provide a cryptographic communication system, secure element, device, and cryptographic communication method that do not require prior sharing of keys.

本発明の実施の形態に係る暗号通信システムは、サーバと、セキュアエレメントを搭載するデバイスとを備える暗号通信システムであって、前記セキュアエレメントは、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部とを備え、前記サーバは、前記セキュアエレメント出力部から出力されたセキュアエレメント公開鍵を取得して登録するサーバ登録部と、サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、前記デバイスを経由して前記サーバ鍵生成部で生成したサーバ公開鍵を前記セキュアエレメントへ出力するサーバ出力部とを備え、前記セキュアエレメントは、さらに、前記サーバ出力部から出力されたサーバ公開鍵を取得して登録するセキュアエレメント登録部を備え、前記サーバは、登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、前記セキュアエレメントは、登録されたサーバ公開鍵に基づく暗号通信を行う。 The cryptographic communication system according to an embodiment of the present invention is a cryptographic communication system including a server and a device equipped with a secure element, the secure element including a secure element key generation unit that generates a secure element public key and a secure element private key, and a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device, the server including a server registration unit that acquires and registers the secure element public key output from the secure element output unit, a server key generation unit that generates a server public key and a server private key, and a server output unit that outputs the server public key generated by the server key generation unit to the secure element via the device, the secure element further including a secure element registration unit that acquires and registers the server public key output from the server output unit, the server performs cryptographic communication based on the registered secure element public key, and the secure element performs cryptographic communication based on the registered server public key.

本発明の実施の形態に係るセキュアエレメントは、サーバと暗号通信を行うデバイスに搭載されるセキュアエレメントであって、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部と、前記サーバが出力するサーバ公開鍵を取得して登録するセキュアエレメント登録部とを備え、前記セキュアエレメントと前記サーバとの間の暗号通信に前記セキュアエレメント登録部で登録されたサーバ公開鍵を用いる。 A secure element according to an embodiment of the present invention is a secure element mounted on a device that performs cryptographic communication with a server, and includes a secure element key generation unit that generates a secure element public key and a secure element private key, a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device, and a secure element registration unit that acquires and registers the server public key output by the server, and uses the server public key registered by the secure element registration unit for cryptographic communication between the secure element and the server.

本発明の実施の形態に係るデバイスは、前述のセキュアエレメントを搭載し、所定のサーバと暗号通信を行うことができる。 The device according to the embodiment of the present invention is equipped with the above-mentioned secure element and can perform encrypted communication with a specified server.

本発明の実施の形態に係るサーバは、セキュアエレメントが搭載されたデバイスと暗号通信を行うサーバであって、サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、前記デバイスを経由して前記サーバ鍵生成部で生成したサーバ公開鍵を前記セキュアエレメントへ出力するサーバ出力部と、前記セキュアエレメントが出力するセキュアエレメント公開鍵を取得して登録するサーバ登録部とを備え、前記セキュアエレメントとの間の暗号通信に前記サーバ登録部で登録されたセキュアエレメント公開鍵を用いる。 The server according to an embodiment of the present invention is a server that performs cryptographic communication with a device equipped with a secure element, and includes a server key generation unit that generates a server public key and a server private key, a server output unit that outputs the server public key generated by the server key generation unit to the secure element via the device, and a server registration unit that obtains and registers the secure element public key output by the secure element, and uses the secure element public key registered by the server registration unit for cryptographic communication with the secure element.

本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、サーバ公開鍵及びサーバ秘密鍵を生成する処理と、生成したサーバ公開鍵をデバイスに搭載されたセキュアエレメントへ出力する処理と、前記セキュアエレメントが出力するセキュアエレメント公開鍵を取得して登録する処理と、登録されたセキュアエレメント公開鍵を用いて、前記セキュアエレメントとの間で暗号通信を行う処理とを実行させる。 A computer program according to an embodiment of the present invention causes a computer to execute a process of generating a server public key and a server private key, a process of outputting the generated server public key to a secure element mounted on a device, a process of acquiring and registering a secure element public key output by the secure element, and a process of performing cryptographic communication with the secure element using the registered secure element public key.

本発明の実施の形態に係る暗号通信方法は、サーバと、セキュアエレメントを搭載するデバイスとの間の暗号通信方法であって、前記セキュアエレメントは、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成し、前記デバイスを経由して生成されたセキュアエレメント公開鍵を前記サーバへ出力し、前記サーバは、前記セキュアエレメントから出力されたセキュアエレメント公開鍵を取得して登録し、サーバ公開鍵及びサーバ秘密鍵を生成し、前記デバイスを経由して生成されたサーバ公開鍵を前記セキュアエレメントへ出力し、前記セキュアエレメントは、さらに、前記サーバから出力されたサーバ公開鍵を取得して登録し、前記サーバは、登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、前記セキュアエレメントは、登録されたサーバ公開鍵に基づく暗号通信を行う。 The cryptographic communication method according to an embodiment of the present invention is a cryptographic communication method between a server and a device equipped with a secure element, in which the secure element generates a secure element public key and a secure element private key, and outputs the secure element public key generated via the device to the server, the server obtains and registers the secure element public key output from the secure element, generates a server public key and a server private key, and outputs the server public key generated via the device to the secure element, the secure element further obtains and registers the server public key output from the server, the server performs cryptographic communication based on the registered secure element public key, and the secure element performs cryptographic communication based on the registered server public key.

本発明によれば、鍵の事前共有を必要としない。 According to the present invention, there is no need to pre-share the key.

本実施の形態の暗号通信システムの構成の一例を示すブロック図である。1 is a block diagram showing an example of a configuration of an encrypted communication system according to an embodiment of the present invention; 非対称鍵ペアの生成と公開鍵の交換の一例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of generation of an asymmetric key pair and exchange of a public key. デバイス共通鍵の生成の一例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an example of generation of a device common key. 認証局を併用した公開鍵の交換の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of public key exchange using a certificate authority; 公開鍵署名の失効とデバイス共通鍵の破棄の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of revoking a public key signature and discarding a device common key. デバイス証明書によるデバイス認証の一例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an example of device authentication using a device certificate. 鍵の動的再生成の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of dynamic regeneration of a key. 共有秘密を入力に加える場合の共通鍵生成の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of common key generation when a shared secret is added to an input. 共有秘密の更新の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of updating a shared secret; 鍵生成アルゴリズムの追加の一例を示す説明図である。FIG. 11 is an explanatory diagram showing an example of adding a key generation algorithm. サーバによる公開鍵の交換処理の手順の一例を示すフローチャートである。13 is a flowchart illustrating an example of a procedure for a public key exchange process performed by a server. セキュアエレメントによる公開鍵の交換処理の手順の一例を示すフローチャートである。11 is a flowchart showing an example of a procedure for a public key exchange process performed by a secure element. サーバによるデバイス共通鍵の生成処理の手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a process of generating a device common key by a server. セキュアエレメントによるデバイス共通鍵の生成処理の手順の一例を示すフローチャートである。10 is a flowchart showing an example of a procedure for a process of generating a device common key by a secure element.

以下、本発明の実施の形態を図面に基づいて説明する。図1は本実施の形態の暗号通信システムの構成の一例を示すブロック図である。暗号通信システムは、鍵管理を行うサーバ10及びデバイス70を備える。デバイス70は、サーバ10による暗号化鍵管理対象となっているデバイスであり、「モノのインターネット」(IoT)でいうところの「モノ」に該当するデバイス(電子デバイスとも称する)を含む。デバイス70は、IoTデバイスとも称され、セキュアエレメント50、記憶部71を備える。すなわち、デバイス70は、セキュアエレメント50を搭載し、デバイス70のうち、セキュアエレメント50以外の部分をデバイス本体と称する。 Below, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a cryptographic communication system according to this embodiment. The cryptographic communication system includes a server 10 that performs key management, and a device 70. The device 70 is a device that is subject to encryption key management by the server 10, and includes a device (also referred to as an electronic device) that corresponds to a "thing" in the "Internet of Things" (IoT). The device 70 is also referred to as an IoT device, and includes a secure element 50 and a memory unit 71. That is, the device 70 is equipped with the secure element 50, and the parts of the device 70 other than the secure element 50 are referred to as the device main body.

セキュアエレメント50は、耐タンパ性を有し、デバイス70とは物理的に独立したものである。セキュアエレメント50は、サーバ10と対向通信するための鍵を格納しつつ、自身が生成した鍵をデバイス70に供給する。セキュアエレメント50は、ハードウェアエレメントであってもよく、あるいはソフトウェアエレメント(ソフトウェアコンポーネント)であってもよい。ソフトウェアコンポーネントの場合、TEE(Trusted Execution Environment)などの独立したセキュリティ環境と、当該環境で動作するアプリケーションが該当する。これにより、デバイスの種類などに応じて適切なセキュアエレメント50をデバイス70に搭載できる。 The secure element 50 is tamper-resistant and physically independent of the device 70. The secure element 50 stores a key for communicating with the server 10, and supplies a key that it generates to the device 70. The secure element 50 may be a hardware element or a software element (software component). In the case of a software component, this corresponds to an independent security environment such as a Trusted Execution Environment (TEE) and an application that runs in that environment. This allows an appropriate secure element 50 to be installed in the device 70 depending on the type of device, etc.

サーバ10は、セキュアエレメント50とともにデバイス70の鍵を管理するサーバである。サーバ10とデバイス70との間は、インタフェース1を経由して暗号通信を行うことができる。インタフェース1は、例えば、イーサネット(登録商標)やWifi(登録商標)などの物理インタフェースの上に、TCP/IP等のネットワークコネクションを開設して確立できる。 The server 10 is a server that manages the keys of the device 70 together with the secure element 50. Encrypted communication can be performed between the server 10 and the device 70 via the interface 1. The interface 1 can be established by opening a network connection such as TCP/IP on a physical interface such as Ethernet (registered trademark) or Wifi (registered trademark).

デバイス70とセキュアエレメント50とは、インタフェース2を介して接続される。セキュアエレメント50がICカードの場合には、インタフェース2は、例えば、ISO7816、セキュアエレメント50がICカード以外の場合には、インタフェース2は、SPI/I2C等の物理的な通信路となる。セキュアエレメント50がソフトウェアコンポーネントの場合には、インタフェース2はAPI(Application Programming Interface)等が想定される。セキュアエレメント50がサーバ10と通信する場合、デバイス70とサーバ10との間のインタフェース1を経由して行うことができる。 The device 70 and the secure element 50 are connected via an interface 2. If the secure element 50 is an IC card, the interface 2 is, for example, ISO7816, and if the secure element 50 is other than an IC card, the interface 2 is a physical communication path such as SPI/I2C. If the secure element 50 is a software component, the interface 2 is assumed to be an API (Application Programming Interface) or the like. When the secure element 50 communicates with the server 10, this can be done via an interface 1 between the device 70 and the server 10.

サーバ10は、インタフェース4を介して認証局サーバ100に接続することができる。デバイス70は、インタフェース3を介して認証局サーバ100に接続することができる。インタフェース3は、インタフェース1と同様の構成とすることができる。 The server 10 can be connected to the certificate authority server 100 via interface 4. The device 70 can be connected to the certificate authority server 100 via interface 3. The interface 3 can have the same configuration as the interface 1.

認証局サーバ100は、他の主体(サーバやセキュアエレメント)が保有する公開鍵の正当性を裏付けるためのサーバであり、CA(Certificate Authority、Certification Authority)サーバとも称する。認証局サーバ100は、CSR(Certificate Signing Request:署名生成リクエスト)に対して署名を払い出し、公開鍵を提供する主体の正当性を証明する。また、認証局サーバ100は、公開鍵の失効について問い合わせを受け、失効有無を問い合わせ元に返す。 The certificate authority server 100 is a server that certifies the validity of public keys held by other entities (servers and secure elements) and is also called a CA (Certificate Authority, Certification Authority) server. The certificate authority server 100 issues a signature in response to a CSR (Certificate Signing Request: signature generation request) to prove the validity of the entity that provides the public key. The certificate authority server 100 also receives inquiries about the revocation of a public key and returns the revocation status to the source of the inquiry.

セキュアエレメント50は、記憶部51、サーバ公開鍵ストア52、鍵ペア生成部53、乱数生成部54、署名検証部55、共通鍵生成部56、共有秘密更新部57、及び鍵正当性確認部58を備える。共通鍵生成部56は、鍵生成を行うためのアルゴリズムが内包されており、SHA-1(59)、SHA-256(60)が搭載されている。 The secure element 50 comprises a memory unit 51, a server public key store 52, a key pair generation unit 53, a random number generation unit 54, a signature verification unit 55, a common key generation unit 56, a shared secret update unit 57, and a key validity confirmation unit 58. The common key generation unit 56 contains algorithms for key generation, and is equipped with SHA-1 (59) and SHA-256 (60).

記憶部51は、SCID、共有秘密、SC秘密鍵、SC公開鍵、デバイス公開鍵などの値を記憶する。SCIDは、セキュアエレメント識別情報とも称し、セキュアエレメント毎に固有に割り振られているIDである。共有秘密は、共有情報とも称し、サーバ10及びセキュアエレメント50間で事前に共有されている秘密情報であり、サーバ10及びセキュアエレメント50以外の外部に公開されていない秘密情報とすることができる。SC秘密鍵は、セキュアエレメント秘密鍵とも称し、セキュアエレメント50が生成する非対称鍵ペアに含まれる秘密鍵である。SC公開鍵は、セキュアエレメント公開鍵とも称し、セキュアエレメント50が生成する非対称鍵ペアに含まれる公開鍵である。デバイス公開鍵は、デバイス70がデバイス証明書を提供した際に当該証明書の正当性を検証するための鍵である。 The storage unit 51 stores values such as the SCID, shared secret, SC private key, SC public key, and device public key. The SCID is also called secure element identification information and is an ID uniquely assigned to each secure element. The shared secret is also called shared information and is secret information shared in advance between the server 10 and the secure element 50, and can be secret information that is not disclosed to anyone other than the server 10 and the secure element 50. The SC private key is also called the secure element private key and is a private key included in the asymmetric key pair generated by the secure element 50. The SC public key is also called the secure element public key and is a public key included in the asymmetric key pair generated by the secure element 50. The device public key is a key for verifying the authenticity of a device certificate when the device 70 provides the certificate.

サーバ公開鍵ストア52は、セキュアエレメント登録部としての機能を有し、セキュアエレメント50内にサーバ公開鍵を登録するためのデータベースである。サーバ公開鍵を登録する場合、サーバID(サーバ識別情報)とサーバ公開鍵とが対応付けて格納される。 The server public key store 52 functions as a secure element registration unit and is a database for registering a server public key within the secure element 50. When a server public key is registered, the server ID (server identification information) and the server public key are stored in association with each other.

鍵ペア生成部53は、セキュアエレメント鍵生成部としての機能を有し、セキュアエレメント50内で非対称鍵暗号(RSA等)の鍵のペア(SC公開鍵及びSC秘密鍵)を生成する。 The key pair generation unit 53 functions as a secure element key generation unit, and generates a key pair (SC public key and SC private key) for asymmetric key cryptography (such as RSA) within the secure element 50.

乱数生成部54は、セキュアエレメント50内で乱数を生成する。 The random number generation unit 54 generates random numbers within the secure element 50.

共通鍵生成部56は、セキュアエレメント共通鍵生成部としての機能を有し、セキュアエレメント50内で、入力された情報と、所定のアルゴリズムに従って共有鍵を生成する。共通鍵生成部56は、例えば、入力されたデータ列に対して所定のハッシュ演算を行い、ハッシュ演算により得られたハッシュ値を出力することができる。共通鍵生成部56は、複数のハッシュ演算アルゴリズムを有し、いずれのハッシュ演算アルゴリズムを使用するかは事前に取り決められている。 The shared key generation unit 56 has a function as a secure element shared key generation unit, and generates a shared key within the secure element 50 according to input information and a predetermined algorithm. The shared key generation unit 56 can, for example, perform a predetermined hash calculation on the input data string and output the hash value obtained by the hash calculation. The shared key generation unit 56 has multiple hash calculation algorithms, and it is decided in advance which hash calculation algorithm will be used.

共有秘密更新部57は、外部から共有秘密を更新する際に動作する。 The shared secret update unit 57 operates when updating the shared secret from outside.

鍵正当性確認部58は、サーバ10が生成した非対称鍵の正当性を確認する。鍵正当性確認部58は、認証局サーバ100に対して、非対称鍵の有効状態を問い合わせ、自身が保持しているサーバ10の鍵正当性を判断する。 The key validity confirmation unit 58 confirms the validity of the asymmetric key generated by the server 10. The key validity confirmation unit 58 queries the certificate authority server 100 about the validity of the asymmetric key and determines the validity of the key held by the server 10.

デバイス本体の記憶部71は、デバイスID、デバイス証明書を記憶する。デバイスIDは、デバイス毎に固有で割り振られているIDである。デバイス証明書は、デバイス70が製造される再に、デバイス製造メーカによって書き込まれる証明書である。デバイス製造メーカが保有するデバイス秘密鍵によって、少なくともデバイスIDを含む情報に対してダイジェスト署名が行われ、当該署名が添付されている。 The storage unit 71 of the device body stores a device ID and a device certificate. The device ID is a unique ID assigned to each device. The device certificate is a certificate written by the device manufacturer when the device 70 is manufactured. A digest signature is applied to information including at least the device ID using a device private key held by the device manufacturer, and the signature is attached.

サーバ10は、記憶部11、SC公開鍵ストア12、鍵ペア生成部13、乱数生成部14、署名検証部15、共通鍵生成部16、共有秘密更新部17、及び鍵正当性確認部18を備える。共通鍵生成部16は、鍵生成を行うためのアルゴリズムが内包されており、SHA-1(19)、SHA-256(20)が搭載されている。 The server 10 comprises a memory unit 11, an SC public key store 12, a key pair generation unit 13, a random number generation unit 14, a signature verification unit 15, a common key generation unit 16, a shared secret update unit 17, and a key validity confirmation unit 18. The common key generation unit 16 contains algorithms for key generation, and is equipped with SHA-1 (19) and SHA-256 (20).

記憶部11は、サーバID、共有秘密、サーバ秘密鍵、サーバ公開鍵などの値を記憶する。サーバIDは、サーバ識別情報とも称し、サーバ毎に固有に割り振られているIDである。共有秘密は、共有情報とも称し、サーバ10及びセキュアエレメント50間で事前に共有されている秘密情報であり、サーバ10及びセキュアエレメント50以外の外部に公開されていない秘密情報とすることができる。サーバ秘密鍵は、サーバ10が生成する非対称鍵ペアに含まれる秘密鍵である。サーバ公開鍵は、サーバ10が生成する非対称鍵ペアに含まれる公開鍵である。 The memory unit 11 stores values such as a server ID, a shared secret, a server private key, and a server public key. The server ID is also called server identification information, and is an ID that is uniquely assigned to each server. The shared secret is also called shared information, and is secret information that is shared in advance between the server 10 and the secure element 50, and can be secret information that is not disclosed to anyone other than the server 10 and the secure element 50. The server private key is a private key included in an asymmetric key pair generated by the server 10. The server public key is a public key included in an asymmetric key pair generated by the server 10.

SC公開鍵ストア12は、サーバ登録部としての機能を有し、サーバ10内にSC公開鍵を登録するためのデータベースである。SC公開鍵を登録する場合、SCIDとSC公開鍵とが対応付けて格納される。 The SC public key store 12 functions as a server registration unit and is a database for registering an SC public key within the server 10. When registering an SC public key, the SCID and the SC public key are stored in association with each other.

鍵ペア生成部13は、サーバ鍵生成部としての機能を有し、サーバ10内で非対称鍵暗号(RSA等)の鍵のペア(サーバ公開鍵及びサーバ秘密鍵)を生成する。 The key pair generation unit 13 functions as a server key generation unit and generates a key pair (server public key and server private key) for asymmetric key cryptography (e.g., RSA) within the server 10.

乱数生成部14は、サーバ10内で乱数を生成する。 The random number generation unit 14 generates random numbers within the server 10.

共通鍵生成部16は、サーバ共通鍵生成部としての機能を有し、サーバ10内で、入力された情報と、所定のアルゴリズムに従って共有鍵を生成する。共通鍵生成部16は、例えば、入力されたデータ列に対して所定のハッシュ演算を行い、ハッシュ演算により得られたハッシュ値を出力することができる。共通鍵生成部16は、複数のハッシュ演算アルゴリズムを有し、いずれのハッシュ演算アルゴリズムを使用するかは事前に取り決められている。 The shared key generation unit 16 has a function as a server shared key generation unit, and generates a shared key in the server 10 according to input information and a predetermined algorithm. The shared key generation unit 16 can, for example, perform a predetermined hash calculation on the input data string and output the hash value obtained by the hash calculation. The shared key generation unit 16 has multiple hash calculation algorithms, and it is decided in advance which hash calculation algorithm will be used.

共有秘密更新部17は、外部から共有秘密を更新する際に動作する。 The shared secret update unit 17 operates when updating the shared secret from outside.

鍵正当性確認部18は、セキュアエレメント50が生成した非対称鍵の正当性を確認する。鍵正当性確認部18は、認証局サーバ100に対して、非対称鍵の有効状態を問い合わせ、自身が保持しているセキュアエレメント50の鍵正当性を判断する。 The key validity confirmation unit 18 confirms the validity of the asymmetric key generated by the secure element 50. The key validity confirmation unit 18 queries the certificate authority server 100 about the validity state of the asymmetric key and determines the validity of the key of the secure element 50 that it holds.

認証局サーバ100は、公開鍵失効済みリスト101、署名生成済みリスト102、署名生成部103、CA公開鍵、CA秘密鍵を備える。 The certificate authority server 100 includes a public key revoked list 101, a signature generated list 102, a signature generation unit 103, a CA public key, and a CA private key.

CA公開鍵は、認証局サーバ100が保持している公開鍵である。認証局サーバ100が生成した署名を検証する際に、検証を希望する主体がCA公開鍵を取得して用いる。 The CA public key is a public key held by the certification authority server 100. When verifying a signature generated by the certification authority server 100, the entity wishing to verify obtains and uses the CA public key.

CA秘密鍵は、認証局サーバ100が保持している秘密鍵である。公開鍵生成主体がCSRによる署名生成をリクエストした際、認証局サーバ100は、CA秘密鍵を用いて署名を生成する。 The CA private key is a private key held by the certification authority server 100. When a public key generation entity requests signature generation by the CSR, the certification authority server 100 generates a signature using the CA private key.

署名生成部103は、公開鍵生成主体の要求に応じて、生成された公開鍵に対して、CA秘密鍵で署名生成を行う。 The signature generation unit 103 generates a signature using the CA private key for the generated public key in response to a request from the public key generation entity.

署名生成済みリスト102は、署名生成済みの公開鍵と署名対象IDのリストである。認証局サーバ100が公開鍵に対して署名を行った際に追記される。 The signature generated list 102 is a list of public keys and signature target IDs for which signatures have been generated. It is added when the certificate authority server 100 signs a public key.

公開鍵失効済みリスト101は、署名済みの公開鍵のうち、認証局サーバ100の判断により署名の効力を失効させた公開鍵のリストである。 The revoked public key list 101 is a list of signed public keys whose signatures have been revoked at the discretion of the certificate authority server 100.

次に、本実施の形態の暗号通信システムの動作、暗号通信方法について説明する。 Next, we will explain the operation of the cryptographic communication system and the cryptographic communication method of this embodiment.

図2は非対称鍵ペアの生成と公開鍵の交換の一例を示す説明図である。暗号通信を行うためには、まず、サーバ10とセキュアエレメント50との間で公開鍵の交換を行う必要がある。以下、符号P1~P13で示す処理について説明する。 Figure 2 is an explanatory diagram showing an example of the generation of an asymmetric key pair and the exchange of public keys. In order to perform encrypted communication, it is first necessary to exchange public keys between the server 10 and the secure element 50. The processes indicated by symbols P1 to P13 are explained below.

P1(SC側鍵ペア生成指示):デバイス70は、セキュアエレメント50との間のインタフェース2を介して、セキュアエレメント50に対し、非対称鍵ペアの生成と公開鍵交換を指示する。 P1 (SC-side key pair generation instruction): The device 70 instructs the secure element 50 to generate an asymmetric key pair and exchange a public key via the interface 2 between the device 70 and the secure element 50.

P2(SC側非対称鍵ペア生成):セキュアエレメント50は、鍵ペア生成部53を利用して、非対称鍵暗号の鍵ペアを内部で生成する。ここでは、鍵値として、SC秘密鍵1とSC公開鍵1が生成される。 P2 (SC-side asymmetric key pair generation): The secure element 50 uses the key pair generation unit 53 to internally generate a key pair for asymmetric key cryptography. Here, SC private key 1 and SC public key 1 are generated as key values.

P3(SCIDの暗号化):セキュアエレメント50は、セキュアエレメント第2暗号化部としての機能を有し、自身が有するSCIDの値を、生成したSC秘密鍵で暗号化する。 P3 (encryption of SCID): The secure element 50 functions as a secure element second encryption unit and encrypts the value of its own SCID with the generated SC private key.

P4(SC公開鍵と暗号化SCIDの送信):セキュアエレメント50は、セキュアエレメント出力部としての機能を有し、サーバ10に対して、SC公開鍵と暗号化されたSCIDを、デバイス70経由で送信する。 P4 (transmission of SC public key and encrypted SCID): The secure element 50 functions as a secure element output unit, and transmits the SC public key and encrypted SCID to the server 10 via the device 70.

P5(暗号化SCIDの復号):サーバ10は、サーバ第2復号部としての機能を有し、受信した暗号化SCIDを、受信したSC公開鍵(SC公開鍵1)により復号する。 P5 (Decryption of encrypted SCID): Server 10 has the function of a server second decryption unit and decrypts the received encrypted SCID using the received SC public key (SC public key 1).

P6(SCIDの検証):サーバ10は、復号したSCIDの値をチェックする。SCIDの検証は、例えば、SC公開ストア12内に同一のSCIDで公開鍵が登録済みでないかをチェックする。登録済みの場合、公開鍵登録処理を失敗として、ここで処理を中断する。 P6 (Verifying SCID): The server 10 checks the value of the decrypted SCID. For example, the server 10 verifies the SCID by checking whether a public key has already been registered with the same SCID in the SC public store 12. If a public key has already been registered, the public key registration process is deemed to have failed, and the process is interrupted here.

P7(SC公開鍵ストアへの登録):復号したSCIDの値をチェックして問題がない場合、サーバ10は、SCIDとSC公開鍵を対応付けてSC公開鍵ストア12に格納する。ここでは、SCID:SC012345とSC公開鍵1が対応付けられて格納される。これにより、取得したSC公開鍵の正当性を判定した上で登録することができる。 P7 (Registration in SC public key store): If the value of the decrypted SCID is checked and found to be problem-free, the server 10 associates the SCID with the SC public key and stores them in the SC public key store 12. Here, SCID: SC012345 and SC public key 1 are stored in association with each other. This makes it possible to determine the validity of the acquired SC public key before registering it.

P8(サーバ側鍵ペア生成指示):サーバ10は、鍵ペア生成部13を利用して、非対称鍵暗号の鍵ペアを内部で生成する。ここでは、鍵値として、サーバ秘密鍵1とサーバ公開鍵1が生成される。 P8 (server-side key pair generation instruction): The server 10 uses the key pair generation unit 13 to internally generate a key pair for asymmetric key cryptography. Here, a server private key 1 and a server public key 1 are generated as key values.

P9(サーバIDの暗号化):サーバ10は、サーバ第2暗号化部としての機能を有し、自身が有するサーバIDの値を、生成したサーバ秘密鍵で暗号化する。 P9 (encryption of server ID): The server 10 functions as a server second encryption unit and encrypts the value of its own server ID with the generated server private key.

P10(サーバ公開鍵と暗号化サーバIDの送信):サーバ10は、サーバ出力部としての機能を有し、セキュアエレメント50に対して、サーバ公開鍵と暗号化されたサーバIDを、デバイス70経由で送信する。 P10 (transmission of server public key and encrypted server ID): The server 10 functions as a server output unit and transmits the server public key and encrypted server ID to the secure element 50 via the device 70.

P11(暗号化サーバIDの復号):セキュアエレメント50は、セキュアエレメント第2復号部としての機能を有し、受信した暗号化サーバIDを、受信したサーバ公開鍵(サーバ公開鍵1)により復号する。 P11 (Decryption of encrypted server ID): The secure element 50 has the function of a secure element second decryption unit, and decrypts the received encrypted server ID using the received server public key (server public key 1).

P12(サーバIDの検証):セキュアエレメント50は、復号したサーバIDの値をチェックする。サーバIDの検証は、例えば、サーバ公開鍵ストア52内に同一のサーバIDで公開鍵が登録済みでないかをチェックする。登録済みの場合、公開鍵登録処理を失敗として、ここで処理を中断する。 P12 (Verifying server ID): The secure element 50 checks the value of the decrypted server ID. The server ID is verified, for example, by checking whether a public key has already been registered with the same server ID in the server public key store 52. If it has already been registered, the public key registration process is deemed to have failed, and the process is interrupted here.

P13(サーバ公開鍵ストアへの登録):復号したサーバIDの値をチェックして問題がない場合、セキュアエレメント50は、サーバIDとサーバ公開鍵を対応付けてサーバ公開鍵ストア52に格納する。ここでは、サーバID:KeyManagement.comとサーバ公開鍵1が対応付けられて格納される。これにより、取得したサーバ公開鍵の正当性を判定した上で登録することができる。 P13 (Registration in server public key store): If the value of the decrypted server ID is checked and there is no problem, the secure element 50 associates the server ID with the server public key and stores them in the server public key store 52. Here, the server ID: KeyManagement.com and server public key 1 are stored in association with each other. This makes it possible to determine the authenticity of the acquired server public key before registering it.

上述のように、サーバ10は、セキュアエレメント50から出力されたSC公開鍵を取得して登録することができる。これにより、サーバ10は、セキュアエレメント50との間で、SC公開鍵を共有することができる。すなわち、SC公開鍵を予め準備して固定鍵の如くサーバ10に記憶する必要が無く、固定鍵の漏洩等により通信路の秘匿性が脆弱化するおそれがない。また、SC公開鍵は、セキュアエレメント50によって動的に生成されるので、特定の固定鍵という性質も有しないので、鍵設定の自由度を確保できる。 As described above, the server 10 can obtain and register the SC public key output from the secure element 50. This allows the server 10 to share the SC public key with the secure element 50. In other words, there is no need to prepare the SC public key in advance and store it in the server 10 like a fixed key, and there is no risk of the confidentiality of the communication path being weakened due to leakage of the fixed key, etc. Furthermore, since the SC public key is dynamically generated by the secure element 50, it does not have the property of being a specific fixed key, ensuring freedom in key setting.

また、セキュアエレメント50は、サーバ10から出力されたサーバ公開鍵を取得して登録することができる。これにより、セキュアエレメント50は、サーバ10との間で、サーバ公開鍵を共有することができる。すなわち、サーバ公開鍵を予め準備して固定鍵の如くセキュアエレメント50に記憶する必要が無く、固定鍵の漏洩等により通信路の秘匿性が脆弱化するおそれがない。また、サーバ公開鍵は、サーバ10によって動的に生成されるので、特定の固定鍵という性質も有しないので、鍵設定の自由度を確保できる。 The secure element 50 can also obtain and register the server public key output from the server 10. This allows the secure element 50 to share the server public key with the server 10. In other words, there is no need to prepare the server public key in advance and store it in the secure element 50 like a fixed key, and there is no risk of the confidentiality of the communication path being weakened due to leakage of the fixed key, etc. Furthermore, since the server public key is dynamically generated by the server 10, it does not have the property of being a specific fixed key, ensuring freedom in key setting.

そして、後述のように、サーバ10は、登録されたSC公開鍵に基づく暗号通信を行い、セキュアエレメント50は、セキュアエレメント50内に登録されたサーバ公開鍵に基づく暗号通信を行うことができる。これにより、サーバ10及びセキュアエレメント50それぞれは、鍵の事前共有を必要としない。また、サーバ10には、SC秘密鍵に対応するSC公開鍵が登録されているので、サーバ10からセキュアエレメント50への一方向暗号化が可能な通信路を、サーバ10とセキュアエレメント50との間で確保することができる。また、セキュアエレメント50には、サーバ秘密鍵に対応するサーバ公開鍵が登録されているので、セキュアエレメント50からサーバ10への一方向暗号化が可能な通信路を、サーバ10とセキュアエレメント50との間で確保することができる。 Then, as described below, the server 10 can perform cryptographic communication based on the registered SC public key, and the secure element 50 can perform cryptographic communication based on the server public key registered in the secure element 50. This means that the server 10 and the secure element 50 do not need to share keys in advance. In addition, since an SC public key corresponding to the SC private key is registered in the server 10, a communication path capable of one-way encryption from the server 10 to the secure element 50 can be secured between the server 10 and the secure element 50. In addition, since a server public key corresponding to the server private key is registered in the secure element 50, a communication path capable of one-way encryption from the secure element 50 to the server 10 can be secured between the server 10 and the secure element 50.

図2の例では、デバイス70経由でセキュアエレメント50に対する鍵生成指示が先に実行されているが、実行順序は逆でもよく、サーバ10が先に非対称鍵ペアを生成してセキュアエレメント50へ送信してもよい。 In the example of FIG. 2, a key generation instruction is first issued to the secure element 50 via the device 70, but the execution order may be reversed, and the server 10 may first generate an asymmetric key pair and transmit it to the secure element 50.

SC公開鍵の登録の際のSCIDの検証、及びサーバ公開鍵の登録の際のサーバIDの検証は、上述のように、登録対象の公開鍵(値そのもの)が登録済みかどうかをチェックしてもよく、あるいは当該SCID及びサーバIDの登録が禁止されていないかをチェックしてもよい。 When registering an SC public key, the SCID is verified, and when registering a server public key, the server ID is verified by checking whether the public key (the value itself) to be registered has already been registered, as described above, or by checking whether registration of the SCID and server ID is prohibited.

図3はデバイス共通鍵の生成の一例を示す説明図である。図2に示す処理によって公開鍵ペアが共有できた後、サーバ10とデバイス70との間で暗号通信を行うためのデバイス共通鍵の生成を行う。以下、符号P31~P42で示す処理について説明する。 Figure 3 is an explanatory diagram showing an example of generating a device common key. After a public key pair is shared by the process shown in Figure 2, a device common key is generated for performing encrypted communication between the server 10 and the device 70. The processes indicated by symbols P31 to P42 are described below.

P31(鍵生成指示):デバイス70は、セキュアエレメント50との間のインタフェース2を介して、セキュアエレメント50に対し、デバイス共通鍵生成を指示する。 P31 (key generation instruction): The device 70 instructs the secure element 50 to generate a device common key via the interface 2 between the device 70 and the secure element 50.

P32(SC側乱数の生成):セキュアエレメント50は、乱数生成部54を利用して、所定のセキュアエレメント情報としてのSC側乱数を生成する。 P32 (Generation of SC side random number): The secure element 50 uses the random number generation unit 54 to generate an SC side random number as specified secure element information.

P33(SC側乱数の暗号化):セキュアエレメント50は、セキュアエレメント第1暗号化部としての機能を有し、既に登録済みのサーバ公開鍵を用いて、生成したSC側乱数を暗号化する。 P33 (encryption of SC side random number): The secure element 50 has the function of a secure element first encryption unit, and encrypts the generated SC side random number using the server public key that has already been registered.

P34(暗号化SC側乱数の送信):セキュアエレメント50は、サーバ10に対し、デバイス70経由で暗号化SC側乱数を送信する。 P34 (transmission of encrypted SC side random number): The secure element 50 transmits the encrypted SC side random number to the server 10 via the device 70.

P35(暗号化SC側乱数の復号):サーバ10は、サーバ第1復号部としての機能を有し、受信した暗号化SC側乱数を、自身が保有するサーバ秘密鍵で復号し、復号後のSC側乱数を保持する。これにより、サーバ10は、セキュアエレメント50が生成したSC側乱数を、セキュアエレメント50との間で共有できる。 P35 (Decryption of encrypted SC side random number): The server 10 has a function as a server first decryption unit, decrypts the received encrypted SC side random number with a server private key that it holds, and retains the decrypted SC side random number. This allows the server 10 to share the SC side random number generated by the secure element 50 with the secure element 50.

P36(サーバ側乱数の生成):サーバ10は、乱数生成部14を利用して、所定のサーバ情報としてのサーバ側乱数を生成する。 P36 (Generation of server-side random numbers): The server 10 uses the random number generation unit 14 to generate server-side random numbers as specified server information.

P37(サーバ側乱数の暗号化):サーバ10は、サーバ第1暗号化部としての機能を有し、既に登録済みのSC公開鍵を用いて、生成したサーバ側乱数を暗号化する。 P37 (Encryption of server-side random number): The server 10 has the function of a server first encryption unit, and encrypts the generated server-side random number using the already registered SC public key.

P38(暗号化サーバ側乱数の送信):サーバ10は、セキュアエレメント50に対し、デバイス70経由で暗号化サーバ側乱数を送信する。 P38 (transmission of encrypted server-side random number): The server 10 transmits the encrypted server-side random number to the secure element 50 via the device 70.

P39(暗号化サーバ側乱数の復号):セキュアエレメント50は、セキュアエレメント第1復号部としての機能を有し、受信した暗号化サーバ側乱数を、自身が保有するSC秘密鍵で復号し、復号後のサーバ側乱数を保持する。これにより、セキュアエレメント50は、サーバ10が生成したサーバ側乱数を、サーバ10との間で共有できる。そして、サーバ10及びセキュアエレメント50それぞれは、SC側乱数及びサーバ側乱数を共有することができ、デバイス共有鍵を生成する際に使用する情報を共有することができる。 P39 (Decryption of encrypted server-side random number): The secure element 50 has a function as a secure element first decryption unit, decrypts the received encrypted server-side random number with the SC private key that it holds, and retains the decrypted server-side random number. This allows the secure element 50 to share the server-side random number generated by the server 10 with the server 10. The server 10 and the secure element 50 can then share the SC-side random number and the server-side random number, and can share information used when generating a device shared key.

P40(デバイス共通鍵の生成):サーバ10及びセキュアエレメント50は、交換したSC側乱数、サーバ側乱数を入力として共通鍵生成部16、56により出力を得る。ここでは、鍵生成に使用するアルゴリズムとして、例えば、SHA-256を使用することを、サーバ10とセキュアエレメント50とが事前に取り決めているものとする。従って、同一のSC側乱数とサーバ側乱数を入力としてSHA-256演算が実行され、サーバ10とセキュアエレメント50とは、同一のデータ列を出力として得ることができる。このデータ列をデバイス共通鍵として使用する。 P40 (generation of device common key): The server 10 and secure element 50 use the exchanged SC side random number and server side random number as input to obtain output from the common key generation units 16, 56. Here, it is assumed that the server 10 and secure element 50 have agreed in advance to use, for example, SHA-256 as the algorithm to be used for key generation. Therefore, a SHA-256 operation is performed using the same SC side random number and server side random number as input, and the server 10 and secure element 50 can obtain the same data string as output. This data string is used as the device common key.

P41(デバイスへの共通鍵取り出し):デバイス70は、セキュアエレメント50に対してデバイス共通鍵の取り出しを指示し、セキュアエレメント50からデバイス共通鍵を取得する。 P41 (Extracting the common key to the device): The device 70 instructs the secure element 50 to extract the device common key, and obtains the device common key from the secure element 50.

P42(デバイス共通鍵による暗号通信の確立):以降、サーバ10とデバイス70は、同一のデバイス共通鍵に基づき、対象鍵暗号通信路を確立し、暗号通信を行う。 P42 (Establishment of encrypted communication using device common key): From then on, the server 10 and the device 70 establish a symmetric key encrypted communication path based on the same device common key, and perform encrypted communication.

上述のとおり、サーバ10とセキュアエレメント50との間では、デバイス対象鍵値そのものの授受を行っていない。すなわち、上述の構成により、サーバ10とデバイス70との間の通信路を介して共通鍵の授受をする必要がなく、共通鍵が通信路に載らないので、共通鍵の生成アルゴリズムの詳細を知らない限り、共通鍵を生成することができない。また、共通鍵を生成するために用いられるセキュアエレメント情報(例えば、SC側乱数)及びサーバ情報(例えば、サーバ側乱数)が仮に漏洩しても、共通鍵の生成アルゴリズムの詳細を知らない限り、共通鍵を生成することができない。これにより、サーバ10とデバイス70との間の暗号通信が危殆化しない。 As described above, the device target key value itself is not exchanged between the server 10 and the secure element 50. In other words, with the above configuration, there is no need to exchange the common key via a communication path between the server 10 and the device 70, and since the common key is not on the communication path, the common key cannot be generated unless the details of the common key generation algorithm are known. Furthermore, even if the secure element information (e.g., SC side random number) and server information (e.g., server side random number) used to generate the common key are leaked, the common key cannot be generated unless the details of the common key generation algorithm are known. This ensures that the encrypted communication between the server 10 and the device 70 is not compromised.

上述の例では、セキュアエレメント情報及びサーバ情報として乱数を用いているが、これに限定されない。セキュアエレメント情報及びサーバ情報として乱数以外のデータを用いることもできる。 In the above example, random numbers are used as the secure element information and server information, but this is not limited to this. Data other than random numbers can also be used as the secure element information and server information.

本実施例で乱数の暗号化に用いている、公開鍵の具体的な選択方法については、単に、直前に鍵交換を行ったSC公開鍵及びサーバ公開鍵を選択しているが、複数のSC公開鍵及びサーバ公開鍵の中から選択するようにしてもよい。 In this embodiment, the specific method of selecting the public key used to encrypt the random number is to simply select the SC public key and server public key used in the most recent key exchange, but it is also possible to select from multiple SC public keys and server public keys.

次に、非対称鍵の取り扱いに関するユースケースについて説明する。 Next, we will explain use cases for handling asymmetric keys.

図4は認証局を併用した公開鍵の交換の一例を示す説明図である。図2に例示した例では、サーバ10及びセキュアエレメント50がそれぞれ独自に鍵生成を行っているが、個別に鍵生成を行っただけでは、生成された鍵の正当性が保証されない。すなわち、公開鍵による情報交換に成功しても、情報交換を行った相手が正当なサーバ又はセキュアエレメントであるとは限らず、不正な相手と通信する可能性がある。図4の例では、不正な通信を防止するための方法として、公開鍵認証局(認証局サーバ100)と連携することにより、生成した公開鍵の正当性を高める。以下、符号P51~P71で示す処理について説明する。 Figure 4 is an explanatory diagram showing an example of public key exchange using a certification authority. In the example shown in Figure 2, the server 10 and the secure element 50 each generate their own keys, but simply generating the keys individually does not guarantee the legitimacy of the generated keys. In other words, even if information exchange using a public key is successful, the party with which the information is exchanged is not necessarily a legitimate server or secure element, and there is a possibility of communication with an unauthorized party. In the example of Figure 4, as a method of preventing unauthorized communication, the legitimacy of the generated public key is increased by cooperating with a public key certification authority (certification authority server 100). The processes indicated by symbols P51 to P71 will be described below.

P51(SC側鍵ペア生成指示):デバイス70は、セキュアエレメント50との間のインタフェース2を介して、セキュアエレメント50に対し、非対称鍵ペアの生成と公開鍵交換を指示する。 P51 (SC side key pair generation instruction): The device 70 instructs the secure element 50 to generate an asymmetric key pair and exchange a public key via the interface 2 between the device 70 and the secure element 50.

P52(SC側非対称鍵ペア生成):セキュアエレメント50は、鍵ペア生成部53を利用して、非対称鍵暗号の鍵ペアを内部で生成する。ここでは、鍵値として、SC秘密鍵1とSC公開鍵1が生成される。 P52 (SC-side asymmetric key pair generation): The secure element 50 uses the key pair generation unit 53 to internally generate a key pair for asymmetric key cryptography. Here, SC private key 1 and SC public key 1 are generated as key values.

P53(認証局への署名リクエスト):セキュアエレメント50は、セキュアエレメント認証要求部としての機能を有し、認証局サーバ100に対し、生成したSC公開鍵に対する認証局の署名を要求する。セキュアエレメント50から認証局サーバ100に対し、少なくともSC公開鍵がデバイス70経由で送信される。 P53 (signature request to the certificate authority): The secure element 50 functions as a secure element authentication request unit, and requests the certificate authority server 100 to sign the generated SC public key. At least the SC public key is sent from the secure element 50 to the certificate authority server 100 via the device 70.

P54(SC公開鍵への署名の返送):認証局サーバ100は、セキュアエレメント50からの署名リクエストを検査する。ここでは、認証局サーバ100は、自身が保持する署名生成済みリスト102に、署名を要求したセキュアエレメント50のSCIDがないかをチェックする。SCIDがない場合、問題がないとして、認証局サーバ100は、自身が保有するCA秘密鍵を使用して、SC公開鍵に対するCA署名を生成し、生成したCA署名をデバイス70経由でセキュアエレメント50に返送する。認証局サーバ100は、署名を要求したセキュアエレメント50が信頼できる主体であることを確認した上で、SC公開鍵に対してCA秘密鍵を用いて署名を行うことで、SC公開鍵が信頼できることを示す。セキュアエレメント50は、セキュアエレメント取得部としての機能を有し、SC公開鍵に対するCA署名を取得する。認証局サーバ100は、署名生成済みリスト102にSCIDを記録する。 P54 (returning signature to SC public key): The certificate authority server 100 checks the signature request from the secure element 50. Here, the certificate authority server 100 checks whether the SCID of the secure element 50 that requested the signature is included in the signature generated list 102 held by the certificate authority server 100. If the SCID is not included, the certificate authority server 100 determines that there is no problem, generates a CA signature for the SC public key using the CA private key held by the certificate authority server 100, and returns the generated CA signature to the secure element 50 via the device 70. After verifying that the secure element 50 that requested the signature is a trustworthy entity, the certificate authority server 100 signs the SC public key using the CA private key, thereby indicating that the SC public key is trustworthy. The secure element 50 has a function as a secure element acquisition unit, and acquires the CA signature for the SC public key. The certificate authority server 100 records the SCID in the signature generated list 102.

P55(SCIDの暗号化):セキュアエレメント50は、自身が有するSCIDの値を、生成したSC秘密鍵で暗号化する。 P55 (Encrypt SCID): The secure element 50 encrypts the value of its own SCID with the generated SC private key.

P56(SC公開鍵と暗号化SCIDの送信):セキュアエレメント50は、サーバ10に対して、SC公開鍵、SC公開鍵に対するCA署名、暗号化されたSCIDを、デバイス70経由で送信する。これにより、セキュアエレメント50が生成したSC公開鍵の正当性を確立することができる。 P56 (sending SC public key and encrypted SCID): The secure element 50 sends the SC public key, the CA signature on the SC public key, and the encrypted SCID to the server 10 via the device 70. This makes it possible to establish the validity of the SC public key generated by the secure element 50.

P57(CA公開鍵要求):サーバ10は、認証局サーバ100に対し、CA公開鍵の送信を求める。 P57 (CA public key request): The server 10 requests the certification authority server 100 to send the CA public key.

P58(SC公開鍵に対するCA署名の検証):認証局サーバ100は、サーバ10に対し、CA公開鍵を送付する。サーバ10は、受信したCA公開鍵を用いて、受信したSC公開鍵に対するCA署名を検証する。検証の結果、問題があれば、公開鍵登録処理を失敗として、ここで処理を中断する。検証の結果、問題がなければ、以降の処理を続ける。これにより、信頼の伴わない不正な主体と鍵交換を行って通信するリスクを低減できる。 P58 (Verification of CA signature on SC public key): The certification authority server 100 sends the CA public key to the server 10. The server 10 uses the received CA public key to verify the CA signature on the received SC public key. If the verification reveals a problem, the public key registration process is deemed to have failed and processing is interrupted here. If the verification reveals no problem, subsequent processing continues. This reduces the risk of performing key exchange and communication with an untrusted fraudulent entity.

P59(暗号化SCIDの復号):サーバ10は、受信した暗号化SCIDを、受信したSC公開鍵(SC公開鍵1)により復号する。 P59 (Decryption of encrypted SCID): The server 10 decrypts the received encrypted SCID using the received SC public key (SC public key 1).

P60(SCIDの検証):サーバ10は、復号したSCIDの値をチェックする。SCIDの検証は、例えば、SC公開ストア12内に同一のSCIDで公開鍵が登録済みでないかをチェックする。登録済みの場合、公開鍵登録処理を失敗として、ここで処理を中断する。 P60 (Verifying SCID): The server 10 checks the value of the decrypted SCID. For example, the server 10 verifies the SCID by checking whether a public key has already been registered with the same SCID in the SC public store 12. If a public key has already been registered, the public key registration process is deemed to have failed, and the process is interrupted here.

P61(SC公開鍵ストアへの登録):復号したSCIDの値をチェックして問題がない場合、サーバ10は、SCIDとSC公開鍵を対応付けてSC公開鍵ストア12に格納する。 P61 (Register in SC public key store): If the value of the decrypted SCID is checked and there is no problem, the server 10 associates the SCID with the SC public key and stores them in the SC public key store 12.

P62(サーバ側鍵ペア生成指示):サーバ10は、鍵ペア生成部13を利用して、非対称鍵暗号の鍵ペアを内部で生成する。ここでは、鍵値として、サーバ秘密鍵1とサーバ公開鍵1が生成される。 P62 (server-side key pair generation instruction): The server 10 uses the key pair generation unit 13 to internally generate a key pair for asymmetric key cryptography. Here, a server private key 1 and a server public key 1 are generated as key values.

P63(認証局への署名リクエスト):サーバ10は、サーバ認証要求部としての機能を有し、認証局サーバ100に対し、生成したサーバ公開鍵に対する認証局の署名を要求する。サーバ10から認証局サーバ100に対し、少なくともサーバ公開鍵が送信される。 P63 (signature request to certification authority): The server 10 functions as a server authentication request unit and requests the certification authority server 100 to sign the generated server public key. At least the server public key is sent from the server 10 to the certification authority server 100.

P64(サーバ公開鍵への署名の返送):認証局サーバ100は、サーバ10からの署名リクエストを検査する。ここでは、認証局サーバ100は、自身が保持する署名生成済みリスト102に、署名を要求したサーバ10のサーバIDがないかをチェックする。サーバIDがない場合、問題がないとして、認証局サーバ100は、自身が保有するCA秘密鍵を使用して、サーバ公開鍵に対するCA署名を生成し、生成したCA署名をサーバ10に返送する。認証局サーバ100は、署名を要求したセキュアエレメント50が信頼できる主体であることを確認して上で、サーバ公開鍵に対してCA秘密鍵を用いて署名を行うことで、サーバ公開鍵が信頼できることを示す。サーバ10は、サーバ取得部としての機能を有し、サーバ公開鍵に対するCA署名を取得する。認証局サーバ100は、署名生成済みリスト102にサーバIDを記録する。 P64 (return of signature to server public key): The certification authority server 100 checks the signature request from the server 10. Here, the certification authority server 100 checks whether the server ID of the server 10 that requested the signature is included in the signature generated list 102 held by the certification authority server 100. If the server ID is not included, the certification authority server 100 assumes that there is no problem, generates a CA signature for the server public key using the CA private key held by the certification authority server 100, and returns the generated CA signature to the server 10. After confirming that the secure element 50 that requested the signature is a trustworthy entity, the certification authority server 100 uses the CA private key to sign the server public key, thereby indicating that the server public key is trustworthy. The server 10 has a function as a server acquisition unit and acquires the CA signature for the server public key. The certification authority server 100 records the server ID in the signature generated list 102.

P65(サーバIDの暗号化):サーバ10は、自身が有するサーバIDの値を、生成したサーバ秘密鍵で暗号化する。 P65 (Encryption of server ID): The server 10 encrypts the value of its own server ID with the generated server private key.

P66(サーバ公開鍵と暗号化サーバIDの送信):サーバ10は、セキュアエレメント50に対して、サーバ公開鍵、サーバ公開鍵に対するCA署名、暗号化されたサーバIDを、デバイス70経由で送信する。これにより、サーバ10が生成したサーバ公開鍵の正当性を確立することができる。 P66 (sending server public key and encrypted server ID): The server 10 sends the server public key, the CA signature on the server public key, and the encrypted server ID to the secure element 50 via the device 70. This makes it possible to establish the validity of the server public key generated by the server 10.

P67(CA公開鍵要求):セキュアエレメント50は、デバイス70経由で認証局サーバ100に対し、CA公開鍵の送信を求める。 P67 (CA public key request): The secure element 50 requests the certificate authority server 100 to transmit the CA public key via the device 70.

P68(サーバ公開鍵に対するCA署名の検証):認証局サーバ100は、デバイス70経由でセキュアエレメント50に対し、CA公開鍵を送付する。セキュアエレメント50は、受信したCA公開鍵を用いて、受信したサーバ公開鍵に対するCA署名を検証する。検証の結果、問題があれば、公開鍵登録処理を失敗として、ここで処理を中断する。検証の結果、問題がなければ、以降の処理を続ける。 P68 (Verification of CA signature on server public key): The certificate authority server 100 sends the CA public key to the secure element 50 via the device 70. The secure element 50 uses the received CA public key to verify the CA signature on the received server public key. If the verification shows a problem, the public key registration process is deemed to have failed and the process is interrupted here. If the verification shows no problem, the process continues.

P69(暗号化サーバIDの復号):セキュアエレメント50は、受信した暗号化サーバIDを、受信したサーバ公開鍵により復号する。 P69 (Decryption of encrypted server ID): The secure element 50 decrypts the received encrypted server ID using the received server public key.

P70(サーバIDの検証):セキュアエレメント50は、復号したサーバIDの値をチェックする。サーバIDの検証は、例えば、サーバ公開鍵ストア52内に同一のサーバIDで公開鍵が登録済みでないかをチェックする。登録済みの場合、公開鍵登録処理を失敗として、ここで処理を中断する。 P70 (Verifying server ID): The secure element 50 checks the value of the decrypted server ID. The server ID is verified, for example, by checking whether a public key has already been registered with the same server ID in the server public key store 52. If it has already been registered, the public key registration process is deemed to have failed, and the process is interrupted here.

P71(サーバ公開鍵ストアへの登録):復号したサーバIDの値をチェックして問題がない場合、セキュアエレメント50は、サーバIDとサーバ公開鍵を対応付けてサーバ公開鍵ストア52に格納する。これにより、信頼の伴わない不正な主体と鍵交換を行って通信するリスクを低減できる。 P71 (Registration in server public key store): If the value of the decrypted server ID is checked and found to be problem-free, the secure element 50 associates the server ID with the server public key and stores them in the server public key store 52. This reduces the risk of communicating through key exchange with an untrusted unauthorized entity.

図4の例では、図2の例と比較して、(1)公開鍵生成直後、認証局に対して生成した公開鍵に対する署名を要求した上で、返送された署名を添付して相手方に送る、(2)公開鍵受信直後、認証局に対してCA公開鍵を要求した上で、受信したCA公開鍵を用いて署名検証を行っている。公開鍵基盤において、認証局は、署名を要求した主体が信頼できる主体であることを確認した上で、要求主体の公開鍵に対して自身の秘密鍵を用いて署名を行うことで、公開鍵は信頼に値することを表明している。このため、公開鍵受信側で署名検証に失敗した場合、当該公開鍵は認証局による信頼表明が有効でないことを示す。これにより、信頼の伴わない不正な主体と鍵交換を行って通信するリスクを低減できる。 In the example of Figure 4, compared to the example of Figure 2, (1) immediately after generating a public key, a signature on the generated public key is requested from the certification authority, and the returned signature is then attached and sent to the other party, and (2) immediately after receiving the public key, a CA public key is requested from the certification authority, and the received CA public key is used to verify the signature. In a public key infrastructure, the certification authority verifies that the entity requesting the signature is a trustworthy entity, and then signs the requesting entity's public key with its own private key, thereby indicating that the public key is trustworthy. Therefore, if signature verification fails on the public key receiving side, the public key indicates that the trust asserted by the certification authority is invalid. This reduces the risk of performing key exchange and communicating with an untrusted and fraudulent entity.

本実施例では、便宜上、認証局が署名生成済みリストに、署名要求主体のIDが存在するか否かを調べることで、署名要求の可否判断を簡易的に行っているが、実際に認証局が署名要求主体をどのように確認するかについては、認証局のセキュリティポリシーに従って適宜の手法を用いることができる。 In this embodiment, for convenience, the certificate authority checks whether the ID of the signature requesting entity is present in the list of generated signatures to simply determine whether or not to grant a signature request. However, the certificate authority can use an appropriate method in accordance with the certificate authority's security policy to actually verify the signature requesting entity.

図5は公開鍵署名の失効とデバイス共通鍵の破棄の一例を示す説明図である。秘密鍵の漏洩や、デバイス70又はサーバ10のライフサイクル管理上、一度共有した公開鍵を失効させ、デバイス共通鍵による暗号通信を遮断したいケースも考えられる。このような場合、例えば、認証局による公開鍵の失効処理をトリガとすることができる。以下、符号P81~P87で示す処理について説明する。 Figure 5 is an explanatory diagram showing an example of revoking a public key signature and discarding a device common key. There may be cases where it is desired to revoke a public key that was once shared and block cryptographic communication using the device common key in the event of a private key leak or for lifecycle management of the device 70 or server 10. In such cases, for example, the trigger can be the revocation process of the public key by the certification authority. The processes indicated by symbols P81 to P87 are described below.

P81(公開鍵失効済みリストへの追加):認証局サーバ100は、失効対象とする公開鍵のIDを公開鍵失効済みリスト101に書き込む。ここでは、SCID:SC012345のSC公開鍵1を失効させるべく、これらの情報が追記される。 P81 (Add to revoked public key list): The certificate authority server 100 writes the ID of the public key to be revoked to the revoked public key list 101. Here, this information is added to revoke SC public key 1 with SCID: SC012345.

P82(サーバ・デバイス間暗号通信):サーバ10とデバイス70とは、すでに生成済みのデバイス共通鍵を用いて暗号通信を行う。 P82 (encrypted communication between server and device): The server 10 and the device 70 perform encrypted communication using a device common key that has already been generated.

P83(サーバ側鍵検証処理):サーバ10の暗号通信部21は、デバイス70側の暗号通信を復号する前に、公開鍵の有効状態を検証すべく、鍵正当性確認部18に検証を依頼する。 P83 (Server-side key verification process): Before decrypting the encrypted communication on the device 70 side, the encryption communication unit 21 of the server 10 requests the key validity confirmation unit 18 to verify the validity of the public key.

P84(失効済みリストの送信要求):鍵正当性確認部18は、認証局サーバ100に対し、公開鍵失効済みリスト101の送信を要求する。 P84 (request to send revoked list): The key validity verification unit 18 requests the certificate authority server 100 to send the revoked public key list 101.

P85(失効済みリストの入手と確認):認証局サーバ100は、鍵正当性確認部18に対し、公開鍵失効済みリスト101を返送する。鍵正当性確認部18は、返送された公開鍵失効済みリスト101を見て、現在通信相手となっているデバイス70側のSC公開鍵が失効していることを確認する。 P85 (obtaining and verifying revoked key list): The certificate authority server 100 returns the revoked public key list 101 to the key validity verification unit 18. The key validity verification unit 18 checks the revoked public key list 101 returned and verifies that the SC public key of the device 70, with which it is currently communicating, has been revoked.

P86(暗号通信の終了):鍵正当性確認部18は、現在通信しているデバイス70とセキュアエレメント50について、公開鍵による信頼関係が失われたと判断し、現在開設中の暗号通信セッションを終了させる。 P86 (End of cryptographic communication): The key validity verification unit 18 determines that the trust relationship based on the public key between the currently communicating device 70 and secure element 50 has been lost, and ends the currently opened cryptographic communication session.

P87(公開鍵及びデバイス共通鍵の破棄):鍵正当性確認部18は、SC公開鍵ストア12に登録されているSCID:SC012345の公開鍵と、デバイス共通鍵を破棄する。 P87 (discarding public key and device common key): The key validity verification unit 18 discards the public key and device common key for SCID: SC012345 registered in the SC public key store 12.

上述のように、鍵正当性確認部18は、サーバ判定部としての機能を有し、所要のタイミングで登録済のSC公開鍵の失効の有無を判定することができる。所要のタイミングは、例えば、暗号通信の開始時点、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。SC公開鍵の失効は、例えば、認証局サーバ100による公開鍵の失効処理の結果(公開鍵失効済みリスト101)に基づいて判定できる。 As described above, the key validity confirmation unit 18 has the function of a server determination unit, and can determine whether a registered SC public key has been revoked at a required timing. The required timing can be, for example, the start of encrypted communication, each time a specified number of communications have been performed, or when an external request is received, but is not limited to these. The revocation of the SC public key can be determined, for example, based on the result of the public key revocation process performed by the certification authority server 100 (the revoked public key list 101).

鍵正当性確認部18は、サーバ無効処理部としての機能を有し、SC公開鍵が失効していると判定された場合、登録済のSC公開鍵を無効にすることができる。これにより、秘密鍵の漏洩や、デバイス又はサーバのライフサイクル管理上、一度共有した公開鍵を失効させたいという要求を実現できる。 The key validity confirmation unit 18 has a function as a server invalidation processing unit, and can invalidate a registered SC public key if it is determined that the SC public key has expired. This makes it possible to realize the need to invalidate a public key that has been shared once in order to prevent the leakage of a private key or for the life cycle management of a device or server.

また、鍵正当性確認部18は、サーバ10が生成した共通鍵を無効にすることができる。これにより、共通鍵による暗号通信を遮断することができる。 The key validity verification unit 18 can also invalidate the common key generated by the server 10. This makes it possible to block encrypted communication using the common key.

図5の例では、公開鍵の失効状態をサーバ10から問い合わせているが、これに限定されるものではなく、同一の処理をデバイス70とセキュアエレメント50側から行ってもよい。この場合、セキュアエレメント50の鍵正当性確認部58は、セキュアエレメント判定部としての機能を有し、所要のタイミングで登録済のサーバ公開鍵の失効の有無を判定することができる。所要のタイミングは、例えば、暗号通信の開始時点、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。サーバ公開鍵の失効は、例えば、認証局サーバ100による公開鍵の失効処理の結果(公開鍵失効済みリスト101)に基づいて判定できる。 In the example of FIG. 5, the revocation status of the public key is queried from the server 10, but this is not limited thereto, and the same process may be performed from the device 70 and the secure element 50. In this case, the key validity confirmation unit 58 of the secure element 50 has a function as a secure element determination unit, and can determine whether the registered server public key has been revoked at a required timing. The required timing can be, for example, the start of encrypted communication, each time a predetermined number of communications have been performed, or when an external request is made, but is not limited thereto. The revocation of the server public key can be determined, for example, based on the result of the public key revocation process by the certification authority server 100 (the revoked public key list 101).

鍵正当性確認部58は、セキュアエレメント無効処理部としての機能を有し、サーバ公開鍵が失効していると判定された場合、登録済のサーバ公開鍵を無効にすることができる。これにより、秘密鍵の漏洩や、デバイス又はサーバのライフサイクル管理上、一度共有した公開鍵を失効させたいという要求を実現できる。 The key validity confirmation unit 58 has a function as a secure element invalidation processing unit, and can invalidate a registered server public key if it is determined that the server public key has expired. This makes it possible to realize the need to invalidate a public key that has been shared once in order to prevent the leakage of a private key or for the life cycle management of a device or server.

また、鍵正当性確認部58は、セキュアエレメント50が生成した共通鍵を無効にすることができる。これにより、共通鍵による暗号通信を遮断することができる。 The key validity verification unit 58 can also invalidate the common key generated by the secure element 50. This makes it possible to block encrypted communication using the common key.

本実施例では、失効情報の送受信手段として失効リスト(CRL:Certificate Revocation List)を使用しているが、失効情報確認プロトコル(OCSP:Online Certificate Status Protocol)等の別の手段により失効情報を確認してもよい。 In this embodiment, a certificate revocation list (CRL) is used as a means for sending and receiving revocation information, but revocation information may be confirmed by other means such as the online certificate status protocol (OCSP).

次に、共通鍵の取り扱いに関するユースケースについて説明する。 Next, we will explain use cases related to handling shared keys.

図6はデバイス証明書によるデバイス認証の一例を示す説明図である。以下、符号P91~P104で示す処理について説明する。 Figure 6 is an explanatory diagram showing an example of device authentication using a device certificate. The processes indicated by symbols P91 to P104 are explained below.

P91(鍵生成指示):デバイス70は、セキュアエレメント50との間のインタフェース2を介して、セキュアエレメント50に対し、デバイス共通鍵生成を指示する。 P91 (key generation instruction): The device 70 instructs the secure element 50 to generate a device common key via the interface 2 between the device 70 and the secure element 50.

P92(SC側乱数の生成):セキュアエレメント50は、乱数生成部54を利用して、SC側乱数を生成する。 P92 (Generation of SC side random number): The secure element 50 uses the random number generation unit 54 to generate an SC side random number.

P93(SC側乱数の暗号化):セキュアエレメント50は、既に登録済みのサーバ公開鍵を用いて、生成したSC側乱数を暗号化する。 P93 (Encryption of SC side random number): The secure element 50 encrypts the generated SC side random number using the server public key that has already been registered.

P94(暗号化SC側乱数の送信):セキュアエレメント50は、サーバ10に対し、デバイス70経由で暗号化SC側乱数を送信する。 P94 (transmission of encrypted SC side random number): The secure element 50 transmits the encrypted SC side random number to the server 10 via the device 70.

P95(暗号化SC側乱数の復号):サーバ10は、受信した暗号化SC側乱数を、自身が保有するサーバ秘密鍵で復号し、復号後のSC側乱数を保持する。これにより、サーバ10は、セキュアエレメント50が生成したSC側乱数を、セキュアエレメント50との間で共有できる。 P95 (Decryption of encrypted SC side random number): The server 10 decrypts the received encrypted SC side random number with the server private key that it holds, and retains the decrypted SC side random number. This allows the server 10 to share the SC side random number generated by the secure element 50 with the secure element 50.

P96(サーバ側乱数の生成):サーバ10は、乱数生成部14を利用して、所定のサーバ情報としてのサーバ側乱数を生成する。 P96 (Generation of server-side random numbers): The server 10 uses the random number generation unit 14 to generate server-side random numbers as specified server information.

P97(サーバ側乱数の暗号化):サーバ10は、既に登録済みのSC公開鍵を用いて、生成したサーバ側乱数を暗号化する。 P97 (Encryption of server-side random number): The server 10 encrypts the generated server-side random number using the already registered SC public key.

P98(暗号化サーバ側乱数の送信):サーバ10は、セキュアエレメント50に対し、デバイス70経由で暗号化サーバ側乱数を送信する。 P98 (sending encrypted server-side random number): The server 10 sends the encrypted server-side random number to the secure element 50 via the device 70.

P99(暗号化サーバ側乱数の復号):セキュアエレメント50は、受信した暗号化サーバ側乱数を、自身が保有するSC秘密鍵で復号し、復号後のサーバ側乱数を保持する。これにより、セキュアエレメント50は、サーバ10が生成したサーバ側乱数を、サーバ10との間で共有できる。そして、サーバ10及びセキュアエレメント50それぞれは、SC側乱数及びサーバ側乱数を共有することができ、デバイス共有鍵を生成する際に使用する情報を共有することができる。 P99 (Decryption of encrypted server-side random number): The secure element 50 decrypts the received encrypted server-side random number with the SC private key that it holds, and retains the decrypted server-side random number. This allows the secure element 50 to share the server-side random number generated by the server 10 with the server 10. The server 10 and the secure element 50 can then share the SC-side random number and the server-side random number, and can share information used when generating the device shared key.

P100(デバイス共通鍵の生成):サーバ10及びセキュアエレメント50は、交換したSC側乱数、サーバ側乱数を入力として共通鍵生成部16、56により出力を得る。ここでは、鍵生成に使用するアルゴリズムとして、例えば、SHA-256を使用することを、サーバ10とセキュアエレメント50とが事前に取り決めているものとする。従って、同一のSC側乱数とサーバ側乱数を入力としてSHA-256演算が実行され、サーバ10とセキュアエレメント50とは、同一のデータ列を出力として得ることができる。
このデータ列をデバイス共通鍵として使用する。
P100 (generation of device common key): The server 10 and secure element 50 receive the exchanged SC side random number and server side random number as input and obtain an output from the common key generation units 16, 56. Here, it is assumed that the server 10 and secure element 50 have agreed in advance to use, for example, SHA-256 as the algorithm to be used for key generation. Therefore, a SHA-256 operation is executed using the same SC side random number and server side random number as input, and the server 10 and secure element 50 can obtain the same data string as output.
This data string is used as the device common key.

P101(デバイス証明書とデバイスIDの入力):セキュアエレメント50は、デバイス共通鍵の出力の前提として、デバイス証明書とデバイスIDの入力を求める。デバイス70は、デバイス証明書とデバイスIDをセキュアエレメント50に送信する。 P101 (input of device certificate and device ID): The secure element 50 requests input of the device certificate and device ID as a prerequisite for outputting the device common key. The device 70 transmits the device certificate and device ID to the secure element 50.

P102(デバイス証明書の検証):セキュアエレメント50は、デバイス認証部としての機能を有し、受信したデバイス証明書の内容について、内部に保持しているデバイス公開鍵を用いて検証する。具体的には、デバイス証明書内の暗号化されたデバイスIDを、デバイス公開鍵で復号し、別途受信した平文のデバイスIDと比較する。セキュアエレメント50は、検証に失敗した場合、ここで処理を中断し、デバイス共通鍵を外部に出力しない。検証に成功した場合には、以降の処理を行う。 P102 (Verification of device certificate): The secure element 50 functions as a device authentication unit and verifies the contents of the received device certificate using the device public key stored internally. Specifically, it decrypts the encrypted device ID in the device certificate with the device public key and compares it with the plaintext device ID received separately. If the verification fails, the secure element 50 interrupts the process here and does not output the device common key to the outside. If the verification is successful, it performs the subsequent processes.

P103(デバイスへの共通鍵取り出し):デバイス70は、セキュアエレメント50に対してデバイス共通鍵の取り出しを指示し、セキュアエレメント50からデバイス共通鍵を取得する。 P103 (Extracting the common key to the device): The device 70 instructs the secure element 50 to extract the device common key, and obtains the device common key from the secure element 50.

P104(デバイス共通鍵による暗号通信の確立):以降、サーバ10とデバイス70は、同一のデバイス共通鍵に基づき、対象鍵暗号通信路を確立し、暗号通信を行う。 P104 (Establishment of encrypted communication using device common key): From then on, the server 10 and the device 70 establish a symmetric key encrypted communication path based on the same device common key, and perform encrypted communication.

上述のように、セキュアエレメント50は、セキュアエレメント50(自身)が接続されたデバイス(デバイス本体)を認証するデバイス認証部を備える。なお、デバイスの認証は、デバイスIDを非対称鍵で暗号化した証明書を用いて行っているが、このアルゴリズムに限定されるものではなく、適宜の手法を用いることができる。 As described above, the secure element 50 has a device authentication unit that authenticates the device (device body) to which the secure element 50 (itself) is connected. Note that device authentication is performed using a certificate in which the device ID is encrypted with an asymmetric key, but is not limited to this algorithm and any appropriate method can be used.

セキュアエレメント50は、デバイス本体が認証された場合、生成した共通鍵をデバイス本体に出力する。これにより、意図した(正規の)デバイスに適切なセキュアエレメントが接続されていることを確認することができる。 If the device body is authenticated, the secure element 50 outputs the generated common key to the device body. This makes it possible to confirm that an appropriate secure element is connected to the intended (genuine) device.

図7は鍵の動的再生成の一例を示す説明図である。本実施の形態では、サーバ10側は自身が制御可能なコンポーネント内で鍵を生成可能であるが、デバイス70側は鍵の生成をセキュアエレメント50に頼っており、鍵の取り扱い権限がサーバ10とデバイス70との間で非対称であるという特徴を持つ。この特徴により、デバイス70側のセキュリティをセキュアエレメント50に従属させ、デバイス70の鍵管理をより強力にすることができる。すなわち、サーバ10及びセキュアエレメント50の鍵を、一定の規則性に基づいて動的に更新した場合、デバイス70は、セキュアエレメント50から更新後の鍵供給を受けない限り、後続の暗号通信を正しく実行することができなくなる。これは、デバイス70が適切なセキュアエレメント50の管理下で動作していることの動的検証と同義であり、セキュアブート等の起動時や鍵生成時のみならず、継続的にデバイス70のセキュリティ検証を行うことができることを意味する。以下、符号P111~P118で示す処理について説明する。 Figure 7 is an explanatory diagram showing an example of dynamic regeneration of a key. In this embodiment, the server 10 side can generate a key within a component that it can control, but the device 70 side relies on the secure element 50 for key generation, and the handling authority of the key is asymmetric between the server 10 and the device 70. This feature allows the security of the device 70 side to be subordinated to the secure element 50, making the key management of the device 70 stronger. In other words, if the keys of the server 10 and the secure element 50 are dynamically updated based on a certain regularity, the device 70 will not be able to correctly execute subsequent encrypted communication unless it receives the updated key from the secure element 50. This is synonymous with dynamic verification that the device 70 is operating under the appropriate management of the secure element 50, and means that the security of the device 70 can be verified continuously, not just at the time of startup such as secure boot or at the time of key generation. Below, the processes indicated by the symbols P111 to P118 will be described.

P111(デバイス共通鍵の準備):図3に例示した処理に基づき、サーバ10とデバイス70それぞれに、第一世代の鍵(デバイス共通鍵1)が提供される。 P111 (Preparation of device common key): Based on the process illustrated in FIG. 3, a first generation key (device common key 1) is provided to each of the server 10 and the device 70.

P112(暗号セッションの確立と暗号通信):サーバ10とデバイス70は、デバイス共通鍵1に基づく暗号通信を、鍵更新の契機が発生するまでの間行う。鍵更新の契機は、例えば、一定回数のデータ授受実行があった場合とすることができるが、これに限定されない。 P112 (Establishment of cryptographic session and encrypted communication): The server 10 and the device 70 perform cryptographic communication based on the device common key 1 until a trigger for key updating occurs. The trigger for key updating can be, for example, when a certain number of data transfers have been performed, but is not limited to this.

P113(デバイス共通鍵更新):暗号通信中に鍵更新の契機が発生した場合、サーバ10とセキュアエレメント50は、デバイス共通鍵1を所定のアルゴリズムに従って更新する。更新時の鍵生成のアルゴリズムは、例えば、現在の鍵を共通鍵生成部16、56の入力とし、SHA-256ハッシュ出力で得られた値を新たな鍵とする。すなわち、デバイス共通鍵1に対するSHA-256ハッシュ値をデバイス共通鍵2とする。なお、更新時の鍵生成のアルゴリズムは、これに限定されるものではなく、適宜の方法を用いることができる。 P113 (Device common key update): When a key update is triggered during encrypted communication, the server 10 and secure element 50 update the device common key 1 in accordance with a specified algorithm. The algorithm for generating the key during update, for example, uses the current key as input to the common key generation units 16, 56, and uses the value obtained by SHA-256 hash output as the new key. In other words, the SHA-256 hash value for the device common key 1 is used as the device common key 2. Note that the algorithm for generating the key during update is not limited to this, and any appropriate method can be used.

P114(デバイスによる更新後の鍵取り出し):この状況でデバイス70が暗号通信を試行しても、サーバ10側の鍵が更新されているため、適切に通信を行うことができない。そこで、デバイス70は、再度セキュアエレメント50に対し、デバイス共通鍵の出力を要求する。セキュアエレメント50は、更新されたデバイス共通鍵2をデバイス70に供給する。 P114 (Device retrieves key after update): In this situation, even if the device 70 attempts encrypted communication, it cannot communicate properly because the key on the server 10 side has been updated. Therefore, the device 70 again requests the secure element 50 to output the device common key 2. The secure element 50 supplies the updated device common key 2 to the device 70.

P115(暗号セッションの確立と暗号通信):サーバ10とデバイス70は、デバイス共通鍵2に基づく暗号通信を、鍵更新の契機が発生するまでの間行う。 P115 (Establishment of cryptographic session and encrypted communication): The server 10 and the device 70 perform cryptographic communication based on the device common key 2 until an opportunity to update the key occurs.

P116(デバイス共通鍵更新):暗号通信中に鍵更新の契機が発生した場合、サーバ10とセキュアエレメント50は、デバイス共通鍵2を所定のアルゴリズムに従って更新する。すなわち、デバイス共通鍵2に対するSHA-256ハッシュ値をデバイス共通鍵3とする。 P116 (Device shared key update): When a key update is triggered during encrypted communication, the server 10 and the secure element 50 update the device shared key 2 according to a specified algorithm. In other words, the SHA-256 hash value of the device shared key 2 becomes the device shared key 3.

P117(デバイスによる更新後の鍵取り出し):この状況でデバイス70が暗号通信を試行しても、サーバ10側の鍵が更新されているため、適切に通信を行うことができない。そこで、デバイス70は、再度セキュアエレメント50に対し、デバイス共通鍵の出力を要求する。セキュアエレメント50は、更新されたデバイス共通鍵3をデバイス70に供給する。 P117 (Device retrieves key after update): In this situation, even if the device 70 attempts encrypted communication, it cannot communicate properly because the key on the server 10 side has been updated. Therefore, the device 70 again requests the secure element 50 to output the device common key 3. The secure element 50 supplies the updated device common key 3 to the device 70.

P118(暗号セッションの確立と暗号通信):サーバ10とデバイス70は、デバイス共通鍵3に基づく暗号通信を、鍵更新の契機が発生するまでの間行う。 P118 (Establishment of cryptographic session and encrypted communication): The server 10 and the device 70 perform cryptographic communication based on the device common key 3 until a key update trigger occurs.

上述のように、共通鍵生成部16、56それぞれは、所定の契機で、生成した共通鍵を更新することができる。所定の契機は、例えば、同一の共通鍵を用いて行った暗号通信の回数が所定回数になった場合、サーバ又はセキュアエレメントに対する外部からの更新指示などとすることができるが、これに限定されない。 As described above, each of the common key generating units 16 and 56 can update the common key that it has generated at a predetermined opportunity. The predetermined opportunity can be, for example, when the number of encrypted communications performed using the same common key reaches a predetermined number, or when an update instruction is given from outside to the server or secure element, but is not limited to this.

上述のように、デバイス70は、共通鍵の生成をセキュアエレメント50に依存しているので、デバイス70のセキュリティは、セキュアエレメント50に従属することになり、デバイス70の共通鍵管理を一層強力にすることができる。 As described above, the device 70 relies on the secure element 50 to generate the shared key, so the security of the device 70 is subordinate to the secure element 50, making the shared key management of the device 70 even stronger.

すなわち、サーバ10及びセキュアエレメント50の共通鍵を、一定の規則性に基づいて動的に更新した場合、デバイス70は、セキュアエレメント50から更新後の共通鍵の供給を受けない限り、共通鍵の更新後の暗号通信を正しく実行することができない。これにより、継続的にデバイス70のセキュリティ検証を行うことができる。 In other words, if the shared key of the server 10 and the secure element 50 is dynamically updated based on a certain regularity, the device 70 cannot correctly execute encrypted communication after the shared key is updated unless the device 70 receives the updated shared key from the secure element 50. This allows the security of the device 70 to be verified continuously.

鍵更新アルゴリズムは、前述したものに限定されない。セキュリティ強化のため、例えば、RFCで定義されているTOTP(Time-based One Time Password)やHOTP(HMAC-based One-Time Password)等、ワンタイムパスワード生成のアルゴリズムを適用することもできる。 The key update algorithm is not limited to the one mentioned above. To enhance security, it is also possible to apply a one-time password generation algorithm such as TOTP (Time-based One-Time Password) or HOTP (HMAC-based One-Time Password) defined in the RFC.

図7の例で、デバイス70が、更新後のデバイス共通鍵を取り出さずに古いデバイス共通鍵で通信を試みた場合、サーバ10側では、受信したデータを正しく復号することができない。この場合、サーバ10側でセキュリティポリシーに応じた種々の適切な処理を行うことができる。 In the example of FIG. 7, if the device 70 attempts to communicate using the old device common key without extracting the updated device common key, the server 10 will not be able to correctly decrypt the received data. In this case, the server 10 can perform various appropriate processes according to the security policy.

すなわち、サーバ10は、デバイス70との間で共通鍵が一致しない場合、デバイス70の異常に対応する処理を実行することができる。デバイス70の異常に対応する処理は、例えば、現在開設中の暗号通信を遮断する処理、交換済の公開鍵ペアを無効とする処理、当該セキュアエレメント50のSCIDによる公開鍵登録を拒否し不正なデバイスとして取り扱う処理などを含む。 In other words, if the shared key does not match between the server 10 and the device 70, the server 10 can execute processing to deal with the abnormality of the device 70. Processing to deal with the abnormality of the device 70 includes, for example, processing to cut off currently established encrypted communication, processing to invalidate an exchanged public key pair, processing to reject public key registration using the SCID of the secure element 50 and processing to treat it as an unauthorized device, etc.

図8は共有秘密を入力に加える場合の共通鍵生成の一例を示す説明図である。前述の例では、デバイス共通鍵の生成元となる入力全てが、サーバ10とセキュアエレメント50との間で交換した情報に依存している。この状態でも適切な鍵生成を行うことが可能であるが、セキュリティポリシーによっては、セキュアエレメント50が保持している秘密情報に依存した鍵生成を行いたいというニーズも存在する。以下、符号P121~P132で示す処理について説明する。 Figure 8 is an explanatory diagram showing an example of common key generation when a shared secret is added to the input. In the above example, all inputs from which the device common key is generated depend on the information exchanged between the server 10 and the secure element 50. Even in this state, it is possible to perform appropriate key generation, but depending on the security policy, there may be a need to perform key generation that depends on secret information held by the secure element 50. The processes indicated by symbols P121 to P132 are described below.

P121(共有秘密の書き込みとサーバ共有):セキュアエレメント50の製造者は、事前に共有秘密をセキュアエレメント50に書き込むとともに、サーバ10の管理者に対し、当該共有秘密を事前共有しておく。 P121 (Writing the shared secret and sharing it with the server): The manufacturer of the secure element 50 writes the shared secret into the secure element 50 in advance and shares the shared secret with the administrator of the server 10 in advance.

P122(鍵生成指示):デバイス70は、セキュアエレメント50との間のインタフェース2を介して、セキュアエレメント50に対し、デバイス共通鍵生成を指示する。 P122 (key generation instruction): The device 70 instructs the secure element 50 to generate a device common key via the interface 2 between the device 70 and the secure element 50.

P123(SC側乱数の生成):セキュアエレメント50は、乱数生成部54を利用して、所定のセキュアエレメント情報としてのSC側乱数を生成する。 P123 (Generation of SC side random number): The secure element 50 uses the random number generation unit 54 to generate an SC side random number as specified secure element information.

P124(SC側乱数の暗号化):セキュアエレメント50は、既に登録済みのサーバ公開鍵を用いて、生成したSC側乱数を暗号化する。 P124 (Encryption of SC side random number): The secure element 50 encrypts the generated SC side random number using the server public key that has already been registered.

P125(暗号化SC側乱数の送信):セキュアエレメント50は、サーバ10に対し、デバイス70経由で暗号化SC側乱数を送信する。 P125 (transmission of encrypted SC side random number): The secure element 50 transmits the encrypted SC side random number to the server 10 via the device 70.

P126(暗号化SC側乱数の復号):サーバ10は、受信した暗号化SC側乱数を、自身が保有するサーバ秘密鍵で復号し、復号後のSC側乱数を保持する。これにより、サーバ10は、セキュアエレメント50が生成したSC側乱数を、セキュアエレメント50との間で共有できる。 P126 (Decryption of encrypted SC side random number): The server 10 decrypts the received encrypted SC side random number with the server private key that it holds, and retains the decrypted SC side random number. This allows the server 10 to share the SC side random number generated by the secure element 50 with the secure element 50.

P127(サーバ側乱数の生成):サーバ10は、乱数生成部14を利用して、所定のサーバ情報としてのサーバ側乱数を生成する。 P127 (Generation of server-side random numbers): The server 10 uses the random number generation unit 14 to generate server-side random numbers as specified server information.

P128(サーバ側乱数の暗号化):サーバ10は、既に登録済みのSC公開鍵を用いて、生成したサーバ側乱数を暗号化する。 P128 (Encryption of server-side random number): The server 10 encrypts the generated server-side random number using the already registered SC public key.

P129(暗号化サーバ側乱数の送信):サーバ10は、セキュアエレメント50に対し、デバイス70経由で暗号化サーバ側乱数を送信する。 P129 (sending encrypted server-side random number): The server 10 sends the encrypted server-side random number to the secure element 50 via the device 70.

P130(暗号化サーバ側乱数の復号):セキュアエレメント50は、受信した暗号化サーバ側乱数を、自身が保有するSC秘密鍵で復号し、復号後のサーバ側乱数を保持する。これにより、セキュアエレメント50は、サーバ10が生成したサーバ側乱数を、サーバ10との間で共有できる。そして、サーバ10及びセキュアエレメント50それぞれは、SC側乱数及びサーバ側乱数を共有することができ、デバイス共有鍵を生成する際に使用する情報を共有することができる。 P130 (Decryption of encrypted server-side random number): The secure element 50 decrypts the received encrypted server-side random number with the SC private key that it holds, and retains the decrypted server-side random number. This allows the secure element 50 to share the server-side random number generated by the server 10 with the server 10. The server 10 and the secure element 50 can then share the SC-side random number and the server-side random number, and can share information used when generating the device shared key.

P131(デバイス共通鍵の生成):サーバ10及びセキュアエレメント50は、交換したSC側乱数、サーバ側乱数及び共有秘密を入力として共通鍵生成部16、56により出力を得る。ここでは、鍵生成に使用するアルゴリズムとして、例えば、SHA-256を使用することを、サーバ10とセキュアエレメント50とが事前に取り決めているものとする。従って、同一のSC側乱数とサーバ側乱数を入力としてSHA-256演算が実行され、サーバ10とセキュアエレメント50とは、同一のデータ列を出力として得ることができる。このデータ列をデバイス共通鍵として使用する。 P131 (generation of device common key): The server 10 and secure element 50 obtain an output from the common key generation units 16, 56 using the exchanged SC side random number, server side random number, and shared secret as input. Here, it is assumed that the server 10 and secure element 50 have agreed in advance to use, for example, SHA-256 as the algorithm to be used for key generation. Therefore, a SHA-256 operation is performed using the same SC side random number and server side random number as input, and the server 10 and secure element 50 can obtain the same data string as output. This data string is used as the device common key.

P132(デバイスへの共通鍵取り出し):デバイス70は、セキュアエレメント50に対してデバイス共通鍵の取り出しを指示し、セキュアエレメント50からデバイス共通鍵を取得する。 P132 (Extracting the common key to the device): The device 70 instructs the secure element 50 to extract the device common key, and obtains the device common key from the secure element 50.

P133(デバイス共通鍵による暗号通信の確立):以降、サーバ10とデバイス70は、同一のデバイス共通鍵に基づき、対象鍵暗号通信路を確立し、暗号通信を行う。 P133 (Establishment of encrypted communication using device common key): From then on, the server 10 and the device 70 establish a symmetric key encrypted communication path based on the same device common key, and perform encrypted communication.

上述のように、サーバ10及びセキュアエレメント50それぞれは、予め定められた共有秘密(共有情報)を保持する保持部としての記憶部11、51を備える。共有秘密は、例えば、サーバ10及びセキュアエレメント50以外の外部に公開されていない共有の秘密情報とすることができる。 As described above, the server 10 and the secure element 50 each have a memory unit 11, 51 as a storage unit that stores a predetermined shared secret (shared information). The shared secret can be, for example, shared secret information that is not disclosed to anyone other than the server 10 and the secure element 50.

共通鍵生成部16、56それぞれは、共有秘密をさらに用いてデバイス共通鍵を生成することができる。これにより、攻撃者が、仮にSC側乱数及びサーバ側乱数を不正に取得して把握したとしても、共有秘密を知らない限り、デバイス共通鍵を生成することができないので、サーバ10とデバイス70との間の暗号通信のセキュリティを一層高めることができる。 Each of the shared key generating units 16, 56 can further use the shared secret to generate a device shared key. This makes it possible to further increase the security of the encrypted communication between the server 10 and the device 70, since even if an attacker illegally obtains and understands the SC side random number and the server side random number, the attacker cannot generate a device shared key unless he knows the shared secret.

図9は共有秘密の更新の一例を示す説明図である。以下、符号P141~P148で示す処理について説明する。 Figure 9 is an explanatory diagram showing an example of updating a shared secret. Below, the processes indicated by symbols P141 to P148 are explained.

P141(デバイス共通鍵の生成):図3に例示した処理に基づき、サーバ10とデバイス70それぞれに、共有秘密更新前の値に基づいて生成されたデバイス共通鍵(旧)が提供される。 P141 (generation of device common key): Based on the process illustrated in FIG. 3, the server 10 and the device 70 are each provided with a device common key (old) generated based on the value before the shared secret was updated.

P142(暗号セッションの確立と暗号通信):サーバ10とデバイス70は、デバイス共通鍵(旧)に基づいて、暗号化通信路を開設する。 P142 (Establishment of an encrypted session and encrypted communication): The server 10 and the device 70 open an encrypted communication path based on the device common key (old).

P143(サーバ側の共有秘密更新):サーバ10は、自身が保有する共有秘密を更新する。 P143 (Server-side shared secret update): The server 10 updates the shared secret it holds.

P144(SC側共有秘密更新コマンドの実行):サーバ10は、デバイス70を経由して、セキュアエレメント50に対し、更新後の共有秘密を入力に含めて共有秘密更新部17の実行を指示する。一般的な実装としては、セキュアエレメント50に実装されている共有秘密更新コマンド/APIなどを用いることができる。 P144 (execution of SC-side shared secret update command): The server 10 instructs the secure element 50 via the device 70 to execute the shared secret update unit 17 by including the updated shared secret in the input. A typical implementation can use a shared secret update command/API implemented in the secure element 50.

P145(SC側共有秘密の更新):セキュアエレメント50の共有秘密更新部57は、受信した更新後の共有秘密の値で、SC側の共有秘密を更新する。 P145 (updating the SC-side shared secret): The shared secret update unit 57 of the secure element 50 updates the SC-side shared secret with the received updated shared secret value.

P146(デバイス共有鍵の再生成):サーバ10及びセキュアエレメント50は、SC側乱数、サーバ側乱数及び更新後の共有秘密を入力として、新たなデバイス共通鍵(新)を生成する。 P146 (Regeneration of device shared key): The server 10 and secure element 50 generate a new device shared key (new) using the SC side random number, the server side random number, and the updated shared secret as input.

P147(デバイスによる更新後の鍵取り出し):デバイス70は、再度セキュアエレメント50に対し、デバイス共通鍵の出力を要求する。セキュアエレメント50は、更新されたデバイス共通鍵(新)をデバイス70に供給する。 P147 (retrieval of key after update by device): The device 70 again requests the secure element 50 to output the device common key. The secure element 50 supplies the updated device common key (new) to the device 70.

P148(暗号セッションの確立と暗号通信):サーバ10とデバイス70は、デバイス共通鍵(新)に基づく暗号通信路を新たに確立する。 P148 (Establishment of an encrypted session and encrypted communication): The server 10 and the device 70 establish a new encrypted communication path based on the device common key (new).

上述の例では、共有秘密更新後、その他の情報(乱数)を更新することなく再度デバイス共有鍵を生成しているが、セキュリティ強度を確保するため、乱数などのその他の情報を含めて更新した上で再度デバイス共通鍵を生成してもよい。 In the above example, after updating the shared secret, the device shared key is generated again without updating other information (random numbers). However, to ensure high security, the device shared key may be generated again after updating other information such as random numbers.

図10は鍵生成アルゴリズムの追加の一例を示す説明図である。本実施例では、鍵生成アルゴリズムとして、SHA-1、SHA-256等、所定のアルゴリズムが事前に格納されているが、セキュアエレメント50がJavaCard(登録商標)や、TEE等、トラスティッドアプリケーション(Trusted Application)をインストール可能な環境であれば、鍵生成アルゴリズムを動的に追加、削除することが可能である。以下では、共通鍵生成部16、56で用いるアルゴリズムとして、SHA-3を追加する例を説明する。以下、符号P151~P159で示す処理について説明する。 Figure 10 is an explanatory diagram showing an example of adding a key generation algorithm. In this embodiment, predetermined algorithms such as SHA-1 and SHA-256 are pre-stored as key generation algorithms, but if the secure element 50 is in an environment where a trusted application such as JavaCard (registered trademark) or TEE can be installed, it is possible to dynamically add or delete key generation algorithms. Below, an example of adding SHA-3 as an algorithm used by the common key generation units 16 and 56 is described. Below, the processes indicated by symbols P151 to P159 are described.

P151(サーバ側共通鍵生成アルゴリズムの追加):サーバ10は、自身の共通鍵生成部16に新たに追加する共通鍵生成アルゴリズムSHA-3(22)の実装(プログラムコード)を追加する。 P151 (Adding a server-side symmetric key generation algorithm): The server 10 adds an implementation (program code) of the symmetric key generation algorithm SHA-3 (22) to its own symmetric key generation unit 16.

P152(実装の暗号化):サーバ10は、追加したいアルゴリズムの実装を、登録済みのSC公開鍵で暗号化する。 P152 (Encryption of implementation): The server 10 encrypts the implementation of the algorithm to be added with the registered SC public key.

P153(サーバ側署名の作成):サーバ10は、追加したいアルゴリズムの実装に対して、自身が保有するサーバ秘密鍵で署名を行い、暗号化された実装に添付する。 P153 (Creating a server-side signature): The server 10 signs the implementation of the algorithm to be added with its own server private key and attaches it to the encrypted implementation.

P154(暗号化実装と署名の送信):サーバ10は、生成した暗号化実装と、生成した署名をまとめてデバイス70経由でセキュアエレメント50に送信する。 P154 (sending encryption implementation and signature): The server 10 sends the generated encryption implementation and the generated signature together to the secure element 50 via the device 70.

P155(暗号化実装の復号):セキュアエレメント50は、受信した暗号化実装を、自身が保有するSC秘密鍵で復号する。 P155 (Decryption of encrypted implementation): The secure element 50 decrypts the received encrypted implementation using the SC private key that it holds.

P156(署名検証):セキュアエレメント50は、受信した署名を、登録済みのサーバ公開鍵を用いて検証する。サーバ公開鍵による復号結果が、P155で復号した実装と対応付いており、サーバ秘密鍵による正当な署名であることを確認する。正当な署名でない場合、ここで処理を中断し、サーバ10に対してエラー終了を通知する。 P156 (signature verification): The secure element 50 verifies the received signature using the registered server public key. It verifies that the result of decryption using the server public key corresponds to the implementation decrypted in P155 and is a valid signature created using the server private key. If the signature is not valid, it interrupts the process here and notifies the server 10 of an error termination.

P157(SC側共通鍵生成アルゴリズムの追加):セキュアエレメント50は、署名の正当性を確認後、受信したアルゴリズムの実装を自身の共通鍵生成部56に追加する。 P157 (Adding SC-side shared key generation algorithm): After verifying the validity of the signature, the secure element 50 adds the implementation of the received algorithm to its own shared key generation unit 56.

P158(SC側共通鍵生成アルゴリズムの変更):セキュアエレメント50は、現在共通鍵生成に使用しているアルゴリズムを切り替える。本実施例では、新たに追加されたアルゴリズムを即時に有効にするポリシーを適用することとして、新たに追加されたSHA-3(62)を即時に有効化し、従来使用していたSHA-256(60)の使用を行わないように設定変更する。当該処理が正常に終了した場合、セキュアエレメント50は、サーバ10にその旨をデバイス70経由で通知する。 P158 (changing the SC-side shared key generation algorithm): The secure element 50 switches the algorithm currently being used for shared key generation. In this embodiment, a policy is applied to immediately enable newly added algorithms, so the newly added SHA-3 (62) is immediately enabled and the settings are changed so that the previously used SHA-256 (60) is not used. If this process ends normally, the secure element 50 notifies the server 10 of this fact via the device 70.

P159(サーバ側共通鍵生成アルゴリズムの変更):サーバ10は、セキュアエレメント50からP158の処理が正常に終了したことを確認し、自身の共通鍵生成部16で使用しているアルゴリズムを変更する。ここでは、セキュアエレメント50と同様のポリシーを適用し、新たに追加されたSHA-3(22)を即時に有効化し、従来使用していたSHA-256(20)の使用を行わないように設定変更する。以降、サーバ10及びセキュアエレメント50は、新たに追加され、有効化されたSHA-3により、デバイス共通鍵を生成する。 P159 (changing the server-side shared key generation algorithm): The server 10 confirms from the secure element 50 that the process of P158 has been completed successfully, and changes the algorithm used in its own shared key generation unit 16. Here, the same policy as that of the secure element 50 is applied, and the newly added SHA-3 (22) is immediately enabled, and the settings are changed so that the previously used SHA-256 (20) is not used. Thereafter, the server 10 and the secure element 50 generate a device shared key using the newly added and enabled SHA-3.

上述のように、共通鍵生成部16、56それぞれは、所定のタイミングで、デバイス共通鍵を生成するためのアルゴリズムを変更することができる。所定のタイミングは、例えば、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。アルゴリズムの変更は、アルゴリズムの追加、削除、切替を含む。これにより、サーバ10とデバイス70との間の暗号通信のセキュリティを更に高めることができる。 As described above, each of the common key generating units 16, 56 can change the algorithm for generating the device common key at a predetermined timing. The predetermined timing can be, for example, each time a predetermined number of communications have been performed, or when an external request is received, but is not limited to these. Changing the algorithm includes adding, deleting, or switching algorithms. This can further improve the security of the encrypted communication between the server 10 and the device 70.

上述の例では、新たに追加されたアルゴリズムを即時有効化しているが、これに限定されるものではなく、任意のタイミングで有効化してもよい。また、上述の例では、交換された公開鍵に基づいて、共通鍵生成アルゴリズムの追加を行っているが、これに限定されるものではなく、例えば、別途、GlobalPlatform仕様、JavaCard仕様等の技術を適用して共通鍵生成アルゴリズムの追加、削除を行ってもよい。 In the above example, the newly added algorithm is immediately enabled, but this is not limited and the algorithm may be enabled at any time. Also, in the above example, the symmetric key generation algorithm is added based on the exchanged public key, but this is not limited and for example, the symmetric key generation algorithm may be added or deleted by applying a separate technology such as the GlobalPlatform specification or the JavaCard specification.

図11はサーバ10による公開鍵の交換処理の手順の一例を示すフローチャートである。サーバ10は、セキュアエレメント秘密鍵(SC秘密鍵)で暗号化されたSCID及びセキュアエレメント公開鍵(SC公開鍵)を受信し(S11)、暗号化されたSCIDをセキュアエレメント公開鍵により復号する(S12)。 Figure 11 is a flowchart showing an example of the procedure for the public key exchange process by the server 10. The server 10 receives the SCID encrypted with the secure element private key (SC private key) and the secure element public key (SC public key) (S11), and decrypts the encrypted SCID with the secure element public key (S12).

サーバ10は、SCIDの検証を行い(S13)、セキュアエレメント公開鍵を登録する(S14)。サーバ10は、サーバ公開鍵及びサーバ秘密鍵を生成し(S15)、サーバIDをサーバ秘密鍵で暗号化する(S16)。 The server 10 verifies the SCID (S13) and registers the secure element public key (S14). The server 10 generates a server public key and a server private key (S15), and encrypts the server ID with the server private key (S16).

サーバ10は、サーバ公開鍵及び暗号化されたサーバIDをデバイス70経由でセキュアエレメント50に送信し(S17)、処理を終了する。 The server 10 transmits the server public key and the encrypted server ID to the secure element 50 via the device 70 (S17) and ends the process.

図12はセキュアエレメント50による公開鍵の交換処理の手順の一例を示すフローチャートである。セキュアエレメント50は、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成し(S21)、セキュアエレメントID(SCID)をセキュアエレメント秘密鍵で暗号化する(S22)。 Figure 12 is a flowchart showing an example of the procedure for public key exchange processing by the secure element 50. The secure element 50 generates a secure element public key and a secure element private key (S21), and encrypts the secure element ID (SCID) with the secure element private key (S22).

セキュアエレメント50は、セキュアエレメント公開鍵及び暗号化されたセキュアエレメントIDをデバイス70経由でサーバ10に送信する(S23)。セキュアエレメント50は、サーバ秘密鍵で暗号化されたサーバID及びサーバ公開鍵を受信し(S24)、暗号化されたサーバIDをサーバ公開鍵により復号する(S25)。 The secure element 50 transmits the secure element public key and the encrypted secure element ID to the server 10 via the device 70 (S23). The secure element 50 receives the server ID and server public key encrypted with the server private key (S24), and decrypts the encrypted server ID with the server public key (S25).

セキュアエレメント50は、サーバIDの検証を行い(S26)、サーバ公開鍵を登録し(S27)、処理を終了する。 The secure element 50 verifies the server ID (S26), registers the server public key (S27), and ends the process.

図13はサーバ10によるデバイス共通鍵の生成処理の手順の一例を示すフローチャートである。サーバ10は、サーバ側乱数を生成し(S41)、登録済みのセキュアエレメント公開鍵を用いてサーバ側乱数を暗号化する(S42)。 Figure 13 is a flowchart showing an example of the procedure for the process of generating a device common key by the server 10. The server 10 generates a server-side random number (S41) and encrypts the server-side random number using the registered secure element public key (S42).

サーバ10は、暗号化したサーバ側乱数をデバイス70経由でセキュアエレメント50に送信する(S43)。サーバ10は、暗号化されたセキュアエレメント側乱数を受信し(S44)、受信したセキュアエレメント側乱数をサーバ秘密鍵で復号する(S45)。サーバ10は、復号したセキュアエレメント側乱数、サーバ側乱数を入力として所定の共通鍵生成アルゴリズムを用いてデバイス共通鍵を生成し(S46)、処理を終了する。 The server 10 transmits the encrypted server-side random number to the secure element 50 via the device 70 (S43). The server 10 receives the encrypted secure element-side random number (S44) and decrypts the received secure element-side random number with the server private key (S45). The server 10 generates a device common key using a predetermined common key generation algorithm with the decrypted secure element-side random number and server-side random number as input (S46), and ends the process.

図14はセキュアエレメント50によるデバイス共通鍵の生成処理の手順の一例を示すフローチャートである。セキュアエレメント50は、セキュアエレメント側乱数を生成し(S51)、登録済みのサーバ公開鍵を用いてセキュアエレメント側乱数を暗号化する(S52)。 Figure 14 is a flowchart showing an example of the procedure for generating a device common key by the secure element 50. The secure element 50 generates a secure element side random number (S51) and encrypts the secure element side random number using the registered server public key (S52).

セキュアエレメント50は、暗号化したセキュアエレメント側乱数をデバイス70経由でサーバ10に送信する(S53)。セキュアエレメント50は、暗号化されたサーバ側乱数を受信し(S54)、受信したサーバ側乱数をサーバ秘密鍵で復号する(S555)。セキュアエレメント50は、復号したサーバ側乱数、セキュアエレメント側乱数を入力として所定の共通鍵生成アルゴリズムを用いてデバイス共通鍵を生成し(S56)、処理を終了する。 The secure element 50 transmits the encrypted secure element side random number to the server 10 via the device 70 (S53). The secure element 50 receives the encrypted server side random number (S54) and decrypts the received server side random number with the server private key (S555). The secure element 50 generates a device common key using a predetermined common key generation algorithm with the decrypted server side random number and secure element side random number as input (S56), and ends the process.

サーバ10を、CPU、RAM及びROMなどを含むコンピュータで構成し、図11及び図13に示すような処理手順を定めたコンピュータプログラムをRAMにロードし、CPU(プロセッサ)により当該コンピュータプログラムを実行させることにより、サーバ10の各処理をコンピュータプログラムによって実現することができる。 The server 10 is configured as a computer including a CPU, RAM, ROM, etc., and a computer program that defines the processing procedures as shown in Figures 11 and 13 is loaded into the RAM, and the computer program is executed by the CPU (processor), thereby enabling each process of the server 10 to be realized by the computer program.

本実施の形態に係る暗号通信システムは、サーバと、セキュアエレメントを搭載するデバイスとを備える暗号通信システムであって、前記セキュアエレメントは、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部とを備え、前記サーバは、前記セキュアエレメント出力部から出力されたセキュアエレメント公開鍵を取得して登録するサーバ登録部と、サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、前記デバイスを経由して前記サーバ鍵生成部で生成したサーバ公開鍵を前記セキュアエレメントへ出力するサーバ出力部とを備え、前記セキュアエレメントは、さらに、前記サーバ出力部から出力されたサーバ公開鍵を取得して登録するセキュアエレメント登録部を備え、前記サーバは、登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、前記セキュアエレメントは、登録されたサーバ公開鍵に基づく暗号通信を行う。 The cryptographic communication system according to this embodiment is a cryptographic communication system including a server and a device equipped with a secure element, the secure element including a secure element key generation unit that generates a secure element public key and a secure element private key, and a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device, the server including a server registration unit that acquires and registers the secure element public key output from the secure element output unit, a server key generation unit that generates a server public key and a server private key, and a server output unit that outputs the server public key generated by the server key generation unit to the secure element via the device, the secure element further including a secure element registration unit that acquires and registers the server public key output from the server output unit, the server performs cryptographic communication based on the registered secure element public key, and the secure element performs cryptographic communication based on the registered server public key.

本実施の形態に係るセキュアエレメントは、サーバと暗号通信を行うデバイスに搭載されるセキュアエレメントであって、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部と、前記サーバが出力するサーバ公開鍵を取得して登録するセキュアエレメント登録部とを備え、前記セキュアエレメントと前記サーバとの間の暗号通信に前記セキュアエレメント登録部で登録されたサーバ公開鍵を用いる。 The secure element according to this embodiment is a secure element mounted on a device that performs cryptographic communication with a server, and includes a secure element key generation unit that generates a secure element public key and a secure element private key, a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device, and a secure element registration unit that acquires and registers the server public key output by the server, and uses the server public key registered by the secure element registration unit for cryptographic communication between the secure element and the server.

本実施の形態に係るデバイスは、前述のセキュアエレメントを搭載し、所定のサーバと暗号通信を行うことができる。 The device according to this embodiment is equipped with the above-mentioned secure element and can perform encrypted communication with a specified server.

本実施の形態に係るサーバは、セキュアエレメントが搭載されたデバイスと暗号通信を行うサーバであって、サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、前記デバイスを経由して前記サーバ鍵生成部で生成したサーバ公開鍵を前記セキュアエレメントへ出力するサーバ出力部と、前記セキュアエレメントが出力するセキュアエレメント公開鍵を取得して登録するサーバ登録部とを備え、前記セキュアエレメントとの間の暗号通信に前記サーバ登録部で登録されたセキュアエレメント公開鍵を用いる。 The server according to this embodiment is a server that performs cryptographic communication with a device equipped with a secure element, and includes a server key generation unit that generates a server public key and a server private key, a server output unit that outputs the server public key generated by the server key generation unit to the secure element via the device, and a server registration unit that acquires and registers the secure element public key output by the secure element, and uses the secure element public key registered by the server registration unit for cryptographic communication with the secure element.

本実施の形態に係るコンピュータプログラムは、コンピュータに、サーバ公開鍵及びサーバ秘密鍵を生成する処理と、生成したサーバ公開鍵をデバイスに搭載されたセキュアエレメントへ出力する処理と、前記セキュアエレメントが出力するセキュアエレメント公開鍵を取得して登録する処理と、登録されたセキュアエレメント公開鍵を用いて、前記セキュアエレメントとの間で暗号通信を行う処理とを実行させる。 The computer program according to this embodiment causes a computer to execute the following processes: generating a server public key and a server private key; outputting the generated server public key to a secure element mounted on a device; acquiring and registering a secure element public key output by the secure element; and performing cryptographic communication with the secure element using the registered secure element public key.

本実施の形態に係る暗号通信方法は、サーバと、セキュアエレメントを搭載するデバイスとの間の暗号通信方法であって、前記セキュアエレメントは、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成し、前記デバイスを経由して生成されたセキュアエレメント公開鍵を前記サーバへ出力し、前記サーバは、前記セキュアエレメントから出力されたセキュアエレメント公開鍵を取得して登録し、サーバ公開鍵及びサーバ秘密鍵を生成し、前記デバイスを経由して生成されたサーバ公開鍵を前記セキュアエレメントへ出力し、前記セキュアエレメントは、さらに、前記サーバから出力されたサーバ公開鍵を取得して登録し、前記サーバは、登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、前記セキュアエレメントは、登録されたサーバ公開鍵に基づく暗号通信を行う。 The cryptographic communication method according to this embodiment is a cryptographic communication method between a server and a device equipped with a secure element, in which the secure element generates a secure element public key and a secure element private key, and outputs the secure element public key generated via the device to the server, the server obtains and registers the secure element public key output from the secure element, generates a server public key and a server private key, and outputs the server public key generated via the device to the secure element, the secure element further obtains and registers the server public key output from the server, the server performs cryptographic communication based on the registered secure element public key, and the secure element performs cryptographic communication based on the registered server public key.

デバイスには、セキュアエレメントが搭載されている。セキュアエレメントは、耐タンパ性を有し、デバイスとは物理的に独立している。セキュアエレメントは、セキュアエレメント鍵生成部、セキュアエレメント出力部、セキュアエレメント登録部を備える。 The device is equipped with a secure element. The secure element is tamper-resistant and is physically independent from the device. The secure element includes a secure element key generation unit, a secure element output unit, and a secure element registration unit.

セキュアエレメント鍵生成部は、セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成する。セキュアエレメント公開鍵は、セキュアエレメント側の公開鍵という意味であり、セキュアエレメント秘密鍵は、セキュアエレメント側の秘密鍵という意味である。生成される公開鍵及び秘密鍵は、非対称鍵ペアということができ、例えば、RSA暗号では、公開鍵から秘密鍵を作ることは困難であり、秘密鍵から公開鍵を作ることは容易であるという特徴を有する。 The secure element key generation unit generates a secure element public key and a secure element private key. The secure element public key means the public key on the secure element side, and the secure element private key means the private key on the secure element side. The generated public key and private key can be said to be an asymmetric key pair, and for example, RSA cryptography has the characteristic that it is difficult to create a private key from a public key, but easy to create a public key from a private key.

セキュアエレメント出力部は、生成した非対称鍵ペアのうち、生成したセキュアエレメント公開鍵を、デバイスを経由してサーバへ出力する。 The secure element output unit outputs the generated secure element public key of the generated asymmetric key pair to the server via the device.

サーバは、サーバ登録部、サーバ鍵生成部、サーバ出力部を備える。 The server has a server registration unit, a server key generation unit, and a server output unit.

サーバ登録部は、セキュアエレメント出力部から出力されたセキュアエレメント公開鍵を取得して登録する。これにより、サーバは、セキュアエレメント公開鍵を共有することができる。すなわち、セキュアエレメント公開鍵を予め準備して固定鍵の如くサーバに記憶する必要が無く、固定鍵の漏洩等により通信路の秘匿性が脆弱化するおそれがない。また、セキュアエレメント公開鍵は、セキュアエレメントによって動的に生成されるので、特定の固定鍵という性質も有しないので、鍵設定の自由度を確保できる。 The server registration unit obtains and registers the secure element public key output from the secure element output unit. This allows the server to share the secure element public key. In other words, there is no need to prepare the secure element public key in advance and store it in the server like a fixed key, and there is no risk of the confidentiality of the communication path being weakened due to leakage of the fixed key, etc. Furthermore, since the secure element public key is dynamically generated by the secure element, it does not have the property of being a specific fixed key, ensuring freedom in key setting.

サーバ鍵生成部は、サーバ公開鍵及びサーバ秘密鍵を生成する。サーバ公開鍵は、サーバ側の公開鍵という意味であり、サーバ秘密鍵は、サーバ側の秘密鍵という意味である。生成される公開鍵及び秘密鍵は、非対称鍵ペアということができ、例えば、RSA暗号では、公開鍵から秘密鍵を作ることは困難であり、秘密鍵から公開鍵を作ることは容易であるという特徴を有する。 The server key generation unit generates a server public key and a server private key. The server public key means the public key on the server side, and the server private key means the private key on the server side. The generated public key and private key can be said to be an asymmetric key pair, and for example, in RSA cryptography, it is difficult to create a private key from a public key, but it is easy to create a public key from a private key.

サーバ出力部は、生成した非対称鍵ペアのうち、生成したサーバ公開鍵を、デバイスを経由してセキュアエレメントへ出力する。 The server output unit outputs the generated server public key from the generated asymmetric key pair to the secure element via the device.

セキュアエレメント登録部は、サーバ出力部から出力されたサーバ公開鍵を取得して登録する。これにより、セキュアエレメントは、サーバ公開鍵を共有することができる。すなわち、サーバ公開鍵を予め準備して固定鍵の如くセキュアエレメントに記憶する必要が無く、固定鍵の漏洩等により通信路の秘匿性が脆弱化するおそれがない。また、サーバ公開鍵は、サーバによって動的に生成されるので、特定の固定鍵という性質も有しないので、鍵設定の自由度を確保できる。 The secure element registration unit obtains and registers the server public key output from the server output unit. This allows the secure elements to share the server public key. In other words, there is no need to prepare the server public key in advance and store it in the secure element like a fixed key, and there is no risk of the confidentiality of the communication path being weakened due to leakage of the fixed key, etc. Furthermore, since the server public key is dynamically generated by the server, it does not have the property of being a specific fixed key, ensuring flexibility in key setting.

サーバは、登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、セキュアエレメントは、登録されたサーバ公開鍵に基づく暗号通信を行う。これにより、サーバ及びセキュアエレメントそれぞれは、鍵の事前共有を必要としない。また、サーバには、セキュアエレメント秘密鍵に対応するセキュアエレメント公開鍵が登録されているので、サーバからセキュアエレメントへの一方向暗号化が可能な通信路をサーバとセキュアエレメントとの間で確保することができる。また、セキュアエレメントには、サーバ秘密鍵に対応するサーバ公開鍵が登録されているので、セキュアエレメントからサーバへの一方向暗号化が可能な通信路をサーバとセキュアエレメントとの間で確保することができる。 The server performs cryptographic communication based on the registered secure element public key, and the secure element performs cryptographic communication based on the registered server public key. This eliminates the need for the server and the secure element to share keys in advance. In addition, since the secure element public key corresponding to the secure element private key is registered in the server, a communication path capable of one-way encryption from the server to the secure element can be secured between the server and the secure element. In addition, since the secure element has a server public key corresponding to the server private key registered in the secure element, a communication path capable of one-way encryption from the secure element to the server can be secured between the server and the secure element.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、登録したサーバ公開鍵を用いて所定のセキュアエレメント情報を暗号化するセキュアエレメント第1暗号化部を備え、前記セキュアエレメント出力部は、前記セキュアエレメント第1暗号化部で暗号化されたセキュアエレメント情報を前記サーバへ出力し、前記サーバは、前記サーバ秘密鍵を用いて前記暗号化されたセキュアエレメント情報を復号するサーバ第1復号部と、登録したセキュアエレメント公開鍵を用いて所定のサーバ情報を暗号化するサーバ第1暗号化部を備え、前記サーバ出力部は、前記サーバ第1暗号化部で暗号化されたサーバ情報を前記セキュアエレメントへ出力し、前記セキュアエレメントは、さらに、前記セキュアエレメント秘密鍵を用いて前記暗号化されたサーバ情報を復号するセキュアエレメント第1復号部を備える。 In the cryptographic communication system according to this embodiment, the secure element includes a secure element first encryption unit that encrypts specific secure element information using a registered server public key, the secure element output unit outputs the secure element information encrypted by the secure element first encryption unit to the server, the server includes a server first decryption unit that decrypts the encrypted secure element information using the server private key and a server first encryption unit that encrypts specific server information using the registered secure element public key, the server output unit outputs the server information encrypted by the server first encryption unit to the secure element, and the secure element further includes a secure element first decryption unit that decrypts the encrypted server information using the secure element private key.

セキュアエレメントは、セキュアエレメント第1暗号化部、セキュアエレメント第1復号部を備える。サーバは、サーバ第1暗号化部、サーバ第1復号部を備える。 The secure element includes a secure element first encryption unit and a secure element first decryption unit. The server includes a server first encryption unit and a server first decryption unit.

セキュアエレメント第1暗号化部は、登録したサーバ公開鍵を用いて所定のセキュアエレメント情報を暗号化する。所定のセキュアエレメント情報は、セキュアエレメントが生成した乱数を用いてもよく、乱数以外の情報を用いてもよい。 The secure element first encryption unit encrypts the specified secure element information using the registered server public key. The specified secure element information may be a random number generated by the secure element, or may be information other than a random number.

セキュアエレメント出力部は、セキュアエレメント第1暗号化部で暗号化されたセキュアエレメント情報をサーバへ出力する。 The secure element output unit outputs the secure element information encrypted by the secure element first encryption unit to the server.

サーバ第1復号部は、サーバ秘密鍵を用いて暗号化されたセキュアエレメント情報を復号する。これにより、サーバは、例えば、セキュアエレメントが生成した乱数などの情報を、セキュアエレメントとの間で共有できる。 The server first decryption unit decrypts the encrypted secure element information using the server private key. This allows the server to share information, such as random numbers generated by the secure element, with the secure element.

サーバ第1暗号化部は、登録したセキュアエレメント公開鍵を用いて所定のサーバ情報を暗号化する。所定のサーバ情報は、サーバが生成した乱数を用いてもよく、乱数以外の情報を用いてもよい。 The server first encryption unit encrypts the specified server information using the registered secure element public key. The specified server information may be a random number generated by the server, or may be information other than a random number.

サーバ出力部は、サーバ第1暗号化部で暗号化されたサーバ情報をセキュアエレメントへ出力する。 The server output unit outputs the server information encrypted by the server first encryption unit to the secure element.

セキュアエレメント第1復号部は、セキュアエレメント秘密鍵を用いて暗号化されたサーバ情報を復号する。これにより、セキュアエレメントは、例えば、サーバが生成した乱数などの情報を、サーバとの間で共有できる。これにより、サーバ及びセキュアエレメントそれぞれは、所定のセキュアエレメント情報及び所定のサーバ情報を共有することができ、サーバ及びセキュアエレメントの共有鍵を生成する際に使用する情報を共有することができる。 The secure element first decryption unit decrypts the encrypted server information using the secure element private key. This allows the secure element to share information, such as a random number generated by the server, with the server. This allows the server and the secure element to share specific secure element information and specific server information, and to share information used when generating a shared key between the server and the secure element.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、前記サーバ第1復号部で復号したセキュアエレメント情報及び前記サーバ情報を用いて共通鍵を生成するサーバ共通鍵生成部を備え、前記セキュアエレメントは、前記セキュアエレメント第1復号部で復号したサーバ情報及び前記セキュアエレメント情報を用いて共通鍵を生成するセキュアエレメント共通鍵生成部を備え、前記セキュアエレメント共通鍵生成部で生成した共通鍵を前記デバイスへ出力し、前記サーバ及びデバイスは、前記共通鍵に基づく暗号通信を行う。 In the cryptographic communication system according to this embodiment, the server includes a server common key generation unit that generates a common key using the secure element information decrypted by the server first decryption unit and the server information, the secure element includes a secure element common key generation unit that generates a common key using the server information decrypted by the secure element first decryption unit and the secure element information, and outputs the common key generated by the secure element common key generation unit to the device, and the server and device perform cryptographic communication based on the common key.

サーバは、サーバ共通鍵生成部を備える。セキュアエレメントは、セキュアエレメント共通鍵生成部を備える。 The server has a server shared key generation unit. The secure element has a secure element shared key generation unit.

サーバ共通鍵生成部は、サーバ第1復号部で復号したセキュアエレメント情報及びサーバ情報を用いて共通鍵を生成する。セキュアエレメント共通鍵生成部は、セキュアエレメント第1復号部で復号したサーバ情報及びセキュアエレメント情報を用いて共通鍵を生成する。すなわち、サーバ共通鍵生成部及びセキュアエレメント共通鍵生成部は、共通のセキュアエレメント情報及びサーバ情報を用いて共通鍵を生成する。例えば、セキュアエレメント情報及びサーバ情報を入力データとして、共通鍵を生成するアルゴリズムとして、例えば、所定のハッシュ関数を用いることにより、同一のデータ列を出力として得ることができ、このデータ列を共通鍵とすることができる。セキュアエレメントは、セキュアエレメント共通鍵生成部で生成した共通鍵をデバイスへ出力する。 The server common key generation unit generates a common key using the secure element information and server information decrypted by the server first decryption unit. The secure element common key generation unit generates a common key using the server information and secure element information decrypted by the secure element first decryption unit. That is, the server common key generation unit and the secure element common key generation unit generate a common key using common secure element information and server information. For example, by using the secure element information and server information as input data and, for example, a predetermined hash function as an algorithm for generating a common key, it is possible to obtain the same data string as output, and this data string can be used as the common key. The secure element outputs the common key generated by the secure element common key generation unit to the device.

サーバ及びデバイスは、生成された共通鍵に基づく暗号通信を行う。上述の構成により、サーバとデバイスとの間の通信路を介して共通鍵の授受をする必要がなく、共通鍵が通信路に載らないので、共通鍵の生成アルゴリズムの詳細を知らない限り、共通鍵を生成することができない。また、共通鍵を生成するために用いられるセキュアエレメント情報及びサーバ情報が仮に漏洩しても、共通鍵の生成アルゴリズムの詳細を知らない限り、共通鍵を生成することができない。これにより、サーバとデバイスとの間の暗号通信が危殆化しない。 The server and device perform encrypted communication based on the generated common key. With the above-mentioned configuration, there is no need to transmit and receive the common key via a communication path between the server and the device, and since the common key is not transmitted over the communication path, the common key cannot be generated unless the details of the common key generation algorithm are known. Furthermore, even if the secure element information and server information used to generate the common key are leaked, the common key cannot be generated unless the details of the common key generation algorithm are known. This ensures that the encrypted communication between the server and the device is not compromised.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、前記セキュアエレメント秘密鍵を用いてセキュアエレメント識別情報を暗号化するセキュアエレメント第2暗号化部を備え、前記セキュアエレメント出力部は、前記セキュアエレメント第2暗号化部で暗号化されたセキュアエレメント識別情報を前記サーバへ出力し、前記サーバは、取得したセキュアエレメント公開鍵を用いて前記暗号化されたセキュアエレメント識別情報を復号するサーバ第2復号部を備え、前記サーバ登録部は、前記サーバ第2復号部で復号したセキュアエレメント識別情報に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する。 In the cryptographic communication system according to this embodiment, the secure element includes a secure element second encryption unit that encrypts secure element identification information using the secure element private key, the secure element output unit outputs the secure element identification information encrypted by the secure element second encryption unit to the server, the server includes a server second decryption unit that decrypts the encrypted secure element identification information using the acquired secure element public key, and the server registration unit determines whether or not the acquired secure element public key can be registered based on the secure element identification information decrypted by the server second decryption unit.

セキュアエレメントは、セキュアエレメント第2暗号化部を備える。サーバは、サーバ第2復号部を備える。 The secure element includes a secure element second encryption unit. The server includes a server second decryption unit.

セキュアエレメント第2暗号化部は、セキュアエレメント秘密鍵を用いてセキュアエレメント識別情報を暗号化する。セキュアエレメント識別情報は、例えば、セキュアエレメントごとに固有に割り振られているID(SCID)とすることができる。 The secure element second encryption unit encrypts the secure element identification information using the secure element private key. The secure element identification information can be, for example, an ID (SCID) that is uniquely assigned to each secure element.

セキュアエレメント出力部は、セキュアエレメント第2暗号化部で暗号化されたセキュアエレメント識別情報をサーバへ出力する。 The secure element output unit outputs the secure element identification information encrypted by the secure element second encryption unit to the server.

サーバ第2復号部は、取得したセキュアエレメント公開鍵を用いて、暗号化されたセキュアエレメント識別情報を復号する。 The server second decryption unit decrypts the encrypted secure element identification information using the acquired secure element public key.

サーバ登録部は、サーバ第2復号部で復号したセキュアエレメント識別情報に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する。セキュアエレメント公開鍵の登録可否は、例えば、復号したセキュアエレメント識別情報が正当なものであるか否かを検証することによって判定できる。例えば、復号したセキュアエレメント識別情報が、既に登録済のセキュアエレメント識別情報である場合、正当ではないとしてセキュアエレメント公開鍵の登録を実行しない。また、復号したセキュアエレメント識別情報が、登録済のセキュアエレメント識別情報でない場合、正当であるとしてセキュアエレメント公開鍵の登録を実行する。これにより、取得したセキュアエレメント公開鍵の正当性を判定した上で登録することができる。 The server registration unit determines whether the acquired secure element public key can be registered based on the secure element identification information decrypted by the server second decryption unit. Whether the secure element public key can be registered can be determined, for example, by verifying whether the decrypted secure element identification information is legitimate. For example, if the decrypted secure element identification information is already registered secure element identification information, it is deemed not legitimate and registration of the secure element public key is not executed. Also, if the decrypted secure element identification information is not registered secure element identification information, it is deemed legitimate and registration of the secure element public key is executed. In this way, the authenticity of the acquired secure element public key can be determined before it is registered.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、前記サーバ秘密鍵を用いてサーバ識別情報を暗号化するサーバ第2暗号化部を備え、前記サーバ出力部は、前記サーバ第2暗号化部で暗号化されたサーバ識別情報を前記セキュアエレメントへ出力し、前記セキュアエレメントは、取得したサーバ公開鍵を用いて前記暗号化されたサーバ識別情報を復号するセキュアエレメント第2復号部を備え、前記セキュアエレメント登録部は、前記セキュアエレメント第2復号部で復号したサーバ識別情報に基づいて、取得したサーバ公開鍵の登録可否を判定する。 In the cryptographic communication system according to this embodiment, the server includes a server second encryption unit that encrypts server identification information using the server private key, the server output unit outputs the server identification information encrypted by the server second encryption unit to the secure element, the secure element includes a secure element second decryption unit that decrypts the encrypted server identification information using the acquired server public key, and the secure element registration unit determines whether or not the acquired server public key can be registered based on the server identification information decrypted by the secure element second decryption unit.

サーバは、サーバ第2暗号化部を備える。セキュアエレメントは、セキュアエレメント第2復号部を備える。 The server includes a server second encryption unit. The secure element includes a secure element second decryption unit.

サーバ第2暗号化部は、サーバ秘密鍵を用いてサーバ識別情報を暗号化する。サーバ識別情報は、例えば、サーバごとに固有に割り振られているID(サーバID)とすることができ、例えば、サーバのURLを用いることができる。 The server second encryption unit encrypts the server identification information using the server private key. The server identification information can be, for example, an ID (server ID) that is uniquely assigned to each server, and can be, for example, the URL of the server.

サーバ出力部は、サーバ第2暗号化部で暗号化されたサーバ識別情報をセキュアエレメントへ出力する。 The server output unit outputs the server identification information encrypted by the server second encryption unit to the secure element.

セキュアエレメント第2復号部は、取得したサーバ公開鍵を用いて、暗号化されたサーバ識別情報を復号する。 The secure element second decryption unit decrypts the encrypted server identification information using the acquired server public key.

セキュアエレメント登録部は、セキュアエレメント第2復号部で復号したサーバ識別情報に基づいて、取得したサーバ公開鍵の登録可否を判定する。サーバ公開鍵の登録可否は、例えば、復号したサーバ識別情報が正当なものであるか否かを検証することによって判定できる。例えば、復号したサーバ識別情報が、既に登録済のサーバ識別情報である場合、正当ではないとしてサーバ公開鍵の登録を実行しない。また、復号したサーバ識別情報が、登録済のサーバ識別情報でない場合、正当であるとしてサーバ公開鍵の登録を実行する。これにより、取得したサーバ公開鍵の正当性を判定した上で登録することができる。 The secure element registration unit determines whether the acquired server public key can be registered based on the server identification information decrypted by the secure element second decryption unit. Whether the server public key can be registered can be determined, for example, by verifying whether the decrypted server identification information is legitimate. For example, if the decrypted server identification information is already registered server identification information, it is deemed invalid and registration of the server public key is not executed. On the other hand, if the decrypted server identification information is not registered server identification information, it is deemed valid and registration of the server public key is executed. In this way, the authenticity of the acquired server public key can be determined before it is registered.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵に関する認証を認証局サーバへ要求するセキュアエレメント認証要求部を備え、前記セキュアエレメント出力部は、前記認証局サーバによる認証が得られた場合、前記セキュアエレメント公開鍵を前記サーバへ出力する。 In the cryptographic communication system according to this embodiment, the secure element includes a secure element authentication request unit that requests a certificate authority server to authenticate the secure element public key generated by the secure element key generation unit, and the secure element output unit outputs the secure element public key to the server when authentication by the certificate authority server is obtained.

セキュアエレメントは、セキュアエレメント認証要求部を備える。セキュアエレメント認証要求部は、セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵に関する認証を認証局サーバへ要求する。認証局サーバは、他の主体(サーバやセキュアエレメント)が保有する公開鍵の正当性を裏付けるためのサーバである。認証局サーバの認証によって、公開鍵を提供する主体の正当性を証明できる。 The secure element has a secure element authentication request unit. The secure element authentication request unit requests the certification authority server to authenticate the secure element public key generated by the secure element key generation unit. The certification authority server is a server that verifies the legitimacy of public keys held by other entities (servers and secure elements). Authentication by the certification authority server can prove the legitimacy of the entity providing the public key.

セキュアエレメント出力部は、認証局サーバによる認証が得られた場合、セキュアエレメント公開鍵をサーバへ出力する。これにより、セキュアエレメントが生成したセキュアエレメント公開鍵の正当性を確立することができる。 If authentication by the certificate authority server is obtained, the secure element output unit outputs the secure element public key to the server. This makes it possible to establish the legitimacy of the secure element public key generated by the secure element.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、前記認証局サーバによる認証が得られた場合、前記認証局サーバが生成した認証局署名を取得するセキュアエレメント取得部を備え、前記セキュアエレメント出力部は、前記セキュアエレメント取得部で取得した認証局署名を前記サーバへ出力し、前記サーバ登録部は、前記認証局署名の検証結果に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する。 In the cryptographic communication system according to this embodiment, the secure element includes a secure element acquisition unit that acquires a certificate authority signature generated by the certificate authority server when authentication by the certificate authority server is obtained, the secure element output unit outputs the certificate authority signature acquired by the secure element acquisition unit to the server, and the server registration unit determines whether or not the acquired secure element public key can be registered based on the result of verifying the certificate authority signature.

セキュアエレメントは、セキュアエレメント取得部を備える。セキュアエレメント取得部は、認証局サーバによる認証が得られた場合、認証局サーバが生成した認証局署名を取得する。認証局サーバは、自身が保有する秘密鍵(CA秘密鍵)を使用して、セキュアエレメント公開鍵に対する認証局署名(CA署名)を生成し、デバイスを経由して生成した認証局署名をセキュアエレメントへ送信することができる。認証局サーバは、署名を要求したセキュアエレメントが信頼できる主体であることを確認した上で、セキュアエレメント公開鍵に対してCA秘密鍵を用いて署名を行うことで、セキュアエレメント公開鍵が信頼できることを示す。セキュアエレメント出力部は、セキュアエレメント取得部で取得した認証局署名をサーバへ出力する。 The secure element includes a secure element acquisition unit. When authentication by the certificate authority server is obtained, the secure element acquisition unit acquires the certificate authority signature generated by the certificate authority server. The certificate authority server generates a certificate authority signature (CA signature) for the secure element public key using a private key (CA private key) that it holds, and can transmit the generated certificate authority signature to the secure element via the device. The certificate authority server verifies that the secure element that requested the signature is a trustworthy entity, and then signs the secure element public key using the CA private key, thereby indicating that the secure element public key is trustworthy. The secure element output unit outputs the certificate authority signature acquired by the secure element acquisition unit to the server.

サーバ登録部は、認証局署名の検証結果に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する。認証局署名の検証は、例えば、認証局サーバが保有する公開鍵(CA公開鍵)を取得し、取得したCA公開鍵を用いて、セキュアエレメント公開鍵に対するCA署名を検証することができる。検証結果に問題がなければ、取得したセキュアエレメント公開鍵を登録し、検証結果に問題があれば、取得したセキュアエレメント公開鍵の登録をしない。これにより、信頼の伴わない不正な主体と鍵交換を行って通信するリスクを低減できる。 The server registration unit determines whether or not the acquired secure element public key can be registered based on the verification result of the certificate authority signature. The certificate authority signature can be verified, for example, by obtaining a public key (CA public key) held by the certificate authority server and using the obtained CA public key to verify the CA signature on the secure element public key. If there is no problem with the verification result, the acquired secure element public key is registered, and if there is a problem with the verification result, the acquired secure element public key is not registered. This reduces the risk of performing key exchange and communicating with an untrusted fraudulent entity.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、前記サーバ鍵生成部で生成したサーバ公開鍵に関する認証を認証局サーバへ要求するサーバ認証要求部を備え、前記サーバ出力部は、前記認証局サーバによる認証が得られた場合、前記サーバ公開鍵を前記セキュアエレメントへ出力する。 In the cryptographic communication system according to this embodiment, the server includes a server authentication request unit that requests a certification authority server to authenticate the server public key generated by the server key generation unit, and the server output unit outputs the server public key to the secure element when authentication by the certification authority server is obtained.

サーバは、サーバ認証要求部を備える。サーバ認証要求部は、サーバ鍵生成部で生成したサーバ公開鍵に関する認証を認証局サーバへ要求する。認証局サーバは、他の主体(サーバやセキュアエレメント)が保有する公開鍵の正当性を裏付けるためのサーバである。認証局サーバの認証によって、公開鍵を提供する主体の正当性を証明できる。 The server has a server authentication request unit. The server authentication request unit requests the certification authority server to authenticate the server public key generated by the server key generation unit. The certification authority server is a server that verifies the legitimacy of public keys held by other entities (servers and secure elements). Authentication by the certification authority server can prove the legitimacy of the entity providing the public key.

サーバ出力部は、認証局サーバによる認証が得られた場合、サーバ公開鍵をセキュアエレメントへ出力する。これにより、サーバが生成したサーバ公開鍵の正当性を確立することができる。 If authentication by the certificate authority server is obtained, the server output unit outputs the server public key to the secure element. This makes it possible to establish the validity of the server public key generated by the server.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、前記認証局サーバによる認証が得られた場合、前記認証局サーバが生成した認証局署名を取得するサーバ取得部を備え、前記サーバ出力部は、前記サーバ取得部で取得した認証局署名を前記セキュアエレメントへ出力し、前記セキュアエレメント登録部は、前記認証局署名の検証結果に基づいて、取得したサーバ公開鍵の登録可否を判定する。 In the cryptographic communication system according to this embodiment, the server includes a server acquisition unit that acquires a certificate authority signature generated by the certificate authority server when authentication by the certificate authority server is obtained, the server output unit outputs the certificate authority signature acquired by the server acquisition unit to the secure element, and the secure element registration unit determines whether or not the acquired server public key can be registered based on the result of verifying the certificate authority signature.

サーバは、サーバ取得部を備える。サーバ取得部は、認証局サーバによる認証が得られた場合、認証局サーバが生成した認証局署名を取得する。認証局サーバは、自身が保有する秘密鍵(CA秘密鍵)を使用して、サーバ公開鍵に対する認証局署名(CA署名)を生成し、生成した認証局署名をサーバへ送信することができる。認証局サーバは、署名を要求したサーバが信頼できる主体であることを確認して上で、サーバ公開鍵に対してCA秘密鍵を用いて署名を行うことで、サーバ公開鍵が信頼できることを示す。サーバ出力部は、サーバ取得部で取得した認証局署名をセキュアエレメントへ出力する。 The server has a server acquisition unit. When authentication by the certification authority server is obtained, the server acquisition unit acquires the certification authority signature generated by the certification authority server. The certification authority server can generate a certification authority signature (CA signature) for the server public key using its own private key (CA private key) and transmit the generated certification authority signature to the server. The certification authority server verifies that the server that requested the signature is a trustworthy entity, and then signs the server public key using the CA private key, thereby indicating that the server public key is trustworthy. The server output unit outputs the certification authority signature acquired by the server acquisition unit to the secure element.

セキュアエレメント登録部は、認証局署名の検証結果に基づいて、取得したサーバ公開鍵の登録可否を判定する。認証局署名の検証は、例えば、認証局サーバが保有する公開鍵(CA公開鍵)を取得し、取得したCA公開鍵を用いて、サーバ公開鍵に対するCA署名を検証することができる。検証結果に問題がなければ、取得したサーバ公開鍵を登録し、検証結果に問題があれば、取得したサーバ公開鍵の登録をしない。これにより、信頼の伴わない不正な主体と鍵交換を行って通信するリスクを低減できる。 The secure element registration unit determines whether or not to register the acquired server public key based on the verification result of the certificate authority signature. The certificate authority signature can be verified, for example, by obtaining a public key (CA public key) held by the certificate authority server and using the obtained CA public key to verify the CA signature on the server public key. If there is no problem with the verification result, the acquired server public key is registered, and if there is a problem with the verification result, the acquired server public key is not registered. This reduces the risk of performing key exchange and communicating with an untrusted fraudulent entity.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、所要のタイミングで登録済のセキュアエレメント公開鍵の失効の有無を判定するサーバ判定部と、前記サーバ判定部で失効があると判定された場合、登録済の前記セキュアエレメント公開鍵を無効にするサーバ無効処理部とを備え、前記セキュアエレメントは、所要のタイミングで登録済のサーバ公開鍵の失効の有無を判定するセキュアエレメント判定部と、前記セキュアエレメント判定部で失効があると判定された場合、登録済の前記サーバ公開鍵を無効にするセキュアエレメント無効処理部とを備える。 In the cryptographic communication system according to this embodiment, the server includes a server determination unit that determines whether a registered secure element public key has expired at a required timing, and a server invalidation processing unit that invalidates the registered secure element public key if the server determination unit determines that the public key has expired. The secure element includes a secure element determination unit that determines whether a registered server public key has expired at a required timing, and a secure element invalidation processing unit that invalidates the registered server public key if the secure element determination unit determines that the public key has expired.

サーバは、サーバ判定部、サーバ無効処理部を備える。セキュアエレメントは、セキュアエレメント判定部、セキュアエレメント無効処理部を備える。 The server has a server determination unit and a server invalidation processing unit. The secure element has a secure element determination unit and a secure element invalidation processing unit.

サーバ判定部は、所要のタイミングで登録済のセキュアエレメント公開鍵の失効の有無を判定する。所要のタイミングは、例えば、暗号通信の開始時点、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。セキュアエレメント公開鍵の失効は、例えば、認証局サーバによる公開鍵の失効処理の結果(公開鍵失効済みリスト)に基づいて判定できる。 The server determination unit determines whether a registered secure element public key has been revoked at a required timing. The required timing can be, for example, the start of encrypted communication, each time a specified number of communications have been performed, or when an external request is received, but is not limited to these. Revocation of a secure element public key can be determined, for example, based on the result of public key revocation processing by the certification authority server (a revoked public key list).

サーバ無効処理部は、サーバ判定部で失効があると判定された場合、登録済のセキュアエレメント公開鍵を無効にする。これにより、秘密鍵の漏洩や、デバイス又はサーバのライフサイクル管理上、一度共有した公開鍵を失効させたいという要求を実現できる。 The server invalidation processing unit invalidates the registered secure element public key if the server determination unit determines that the key has been revoked. This makes it possible to realize the need to invalidate a public key that has been shared once, in order to prevent the leakage of private keys or for the purpose of managing the life cycle of a device or server.

セキュアエレメント判定部は、所要のタイミングで登録済のサーバ公開鍵の失効の有無を判定する。所要のタイミングは、例えば、暗号通信の開始時点、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。サーバ公開鍵の失効は、例えば、認証局サーバによる公開鍵の失効処理の結果(公開鍵失効済みリスト)に基づいて判定できる。 The secure element determination unit determines whether a registered server public key has been revoked at a required timing. The required timing can be, for example, at the start of encrypted communication, after a specified number of communications have been performed, or when an external request is received, but is not limited to these. Revocation of the server public key can be determined, for example, based on the result of the public key revocation process performed by the certification authority server (a revoked public key list).

セキュアエレメント無効処理部は、セキュアエレメント判定部で失効があると判定された場合、登録済のサーバ公開鍵を無効にする。これにより、秘密鍵の漏洩や、デバイス又はサーバのライフサイクル管理上、一度共有した公開鍵を失効させたいという要求を実現できる。 The secure element invalidation processing unit invalidates the registered server public key if the secure element determination unit determines that the public key has been revoked. This makes it possible to realize the need to invalidate a public key that has been shared once, in order to prevent the leakage of private keys or for the purpose of managing the life cycle of devices or servers.

本実施の形態に係る暗号通信システムにおいて、前記サーバ無効処理部は、さらに、前記サーバ共通鍵生成部で生成した共通鍵を無効にし、前記セキュアエレメント無効処理部は、さらに、前記セキュアエレメント共通鍵生成部で生成した共通鍵を無効にする。 In the cryptographic communication system according to this embodiment, the server invalidation processing unit further invalidates the common key generated by the server common key generation unit, and the secure element invalidation processing unit further invalidates the common key generated by the secure element common key generation unit.

サーバ無効処理部は、さらに、サーバ共通鍵生成部で生成した共通鍵を無効にし、セキュアエレメント無効処理部は、さらに、セキュアエレメント共通鍵生成部で生成した共通鍵を無効にする。これにより、共通鍵による暗号通信を遮断することができる。 The server invalidation processing unit further invalidates the common key generated by the server common key generation unit, and the secure element invalidation processing unit further invalidates the common key generated by the secure element common key generation unit. This makes it possible to block encrypted communication using the common key.

本実施の形態に係る暗号通信システムにおいて、前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、所定の契機で、生成した共通鍵を更新する。 In the cryptographic communication system according to this embodiment, the server shared key generation unit and the secure element shared key generation unit each update the shared key they have generated at a predetermined opportunity.

サーバ共通鍵生成部及びセキュアエレメント共通鍵生成部それぞれは、所定の契機で、生成した共通鍵を更新する。所定の契機は、例えば、同一の共通鍵を用いて行った暗号通信の回数が所定回数になった場合、サーバ又はセキュアエレメントに対する外部からの更新指示などとすることができるが、これに限定されない。 The server shared key generation unit and the secure element shared key generation unit each update the generated shared key at a specific opportunity. The specific opportunity can be, for example, when the number of encrypted communications performed using the same shared key reaches a specific number, or when an update instruction is given to the server or secure element from outside, but is not limited to this.

上述のように、デバイス(デバイス本体)は、共通鍵の生成をセキュアエレメントに依存しているので、デバイスのセキュリティは、セキュアエレメントに従属することになり、デバイスの共通鍵管理を一層強力にすることができる。 As mentioned above, the device (the device itself) relies on the secure element to generate the shared key, so the security of the device is subordinate to the secure element, making the device's shared key management even stronger.

すなわち、サーバ及びセキュアエレメントの共通鍵を、一定の規則性に基づいて動的に更新した場合、デバイスは、セキュアエレメントから更新後の共通鍵の供給を受けない限り、共通鍵の更新後の暗号通信を正しく実行することができない。このことは、デバイスが適切なセキュアエレメントの管理下で動作していることの動的検証と同義であり、セキュアブート等の起動時や鍵生成時のみならず、継続的にデバイスのセキュリティ検証を行うことができることを意味する。 In other words, if the shared key of the server and the secure element is dynamically updated based on a certain regularity, the device will not be able to correctly perform encrypted communication after the shared key is updated unless it receives the updated shared key from the secure element. This is equivalent to dynamic verification that the device is operating under the appropriate management of the secure element, and means that the security of the device can be verified continuously, not just at startup (such as during secure boot) or when generating keys.

本実施の形態に係る暗号通信システムにおいて、前記デバイスは、前記所定の契機に応じて、前記セキュアエレメントに対して共通鍵の取得要求を出力し、前記セキュアエレメントは、前記セキュアエレメント共通鍵生成部で更新した共通鍵を前記デバイスに供給する。 In the cryptographic communication system according to this embodiment, the device outputs a request to the secure element to obtain a common key in response to the predetermined trigger, and the secure element supplies the device with the common key updated by the secure element common key generation unit.

デバイスは、所定の契機に応じて、セキュアエレメントに対して共通鍵の取得要求を出力する。セキュアエレメントは、更新した共通鍵をデバイスに供給する。これにより、デバイスは、サーバ側の共通鍵が更新された場合でも、デバイスに搭載されたセキュアエレメントによって供給される更新後の共通鍵を用いてサーバとの間で暗号通信を行うことができる。 In response to a specified trigger, the device outputs a request to obtain a shared key to the secure element. The secure element supplies the updated shared key to the device. This allows the device to perform encrypted communication with the server using the updated shared key supplied by the secure element installed in the device, even if the shared key on the server side is updated.

本実施の形態に係る暗号通信システムにおいて、前記サーバは、前記デバイスとの間で共通鍵が一致しない場合、前記デバイスの異常に対応する処理を実行する。 In the encrypted communication system according to this embodiment, if the shared key does not match between the server and the device, the server executes a process to deal with the abnormality in the device.

サーバは、デバイスとの間で共通鍵が一致しない場合、デバイスの異常に対応する処理を実行する。デバイスの異常に対応する処理は、サーバ側のセキュリティポリシーに応じた種々の適切な処理とすることができる。例えば、現在開設中の暗号通信を遮断する処理、交換済の公開鍵ペアを無効とする処理、当該セキュアエレメントのSCIDによる公開鍵登録を拒否し不正なデバイスとして取り扱う処理などを含む。 If the shared key does not match with the device, the server executes processing to deal with the device abnormality. The processing to deal with the device abnormality can be various appropriate processing according to the server's security policy. For example, it can include processing to block currently established encrypted communication, processing to invalidate an exchanged public key pair, processing to reject public key registration using the SCID of the secure element and to treat it as an unauthorized device, etc.

本実施の形態に係る暗号通信システムにおいて、前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、所定のタイミングで、共通鍵を生成するためのアルゴリズムを変更する。 In the cryptographic communication system according to this embodiment, the server shared key generation unit and the secure element shared key generation unit each change the algorithm for generating a shared key at a predetermined timing.

サーバ共通鍵生成部及びセキュアエレメント共通鍵生成部それぞれは、所定のタイミングで、共通鍵を生成するためのアルゴリズムを変更する。所定のタイミングは、例えば、所定回数の通信を行った都度、外部からの要求があった時点などとすることができるが、これらに限定されるものではない。アルゴリズムの変更は、アルゴリズムの追加、削除、切替を含む。これにより、サーバとデバイスとの間の暗号通信のセキュリティを更に高めることができる。 The server shared key generation unit and the secure element shared key generation unit each change the algorithm for generating the shared key at a predetermined timing. The predetermined timing can be, for example, each time a predetermined number of communications have been performed or when an external request is received, but is not limited to these. Changing the algorithm includes adding, deleting, and switching algorithms. This can further increase the security of the encrypted communication between the server and the device.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、前記セキュアエレメントが接続されたデバイス本体を認証するデバイス認証部を備え、前記セキュアエレメント共通鍵生成部は、前記デバイス認証部でデバイス本体が認証された場合、生成した共通鍵を前記デバイス本体に出力し、前記サーバ及びデバイスは、前記共通鍵に基づく暗号通信を行う。 In the cryptographic communication system according to this embodiment, the secure element includes a device authentication unit that authenticates the device main body to which the secure element is connected, and when the device main body is authenticated by the device authentication unit, the secure element common key generation unit outputs the generated common key to the device main body, and the server and device perform cryptographic communication based on the common key.

セキュアエレメントは、セキュアエレメント(自身)が接続されたデバイス本体を認証するデバイス認証部を備える。デバイス本体の認証は、適宜の手法を用いることができる。 The secure element has a device authentication unit that authenticates the device body to which the secure element (itself) is connected. The authentication of the device body can be performed using any suitable method.

セキュアエレメント共通鍵生成部は、デバイス認証部でデバイス本体が認証された場合、生成した共通鍵をデバイス本体に出力する。これにより、意図した(正規の)デバイスに適切なセキュアエレメントが接続されていることを確認することができる。 If the device authentication unit authenticates the device itself, the secure element shared key generation unit outputs the generated shared key to the device itself. This makes it possible to confirm that the appropriate secure element is connected to the intended (genuine) device.

本実施の形態に係る暗号通信システムにおいて、前記サーバ及び前記セキュアエレメントそれぞれは、予め定められた共有情報を保持する保持部を備え、前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、前記共有情報をさらに用いて共通鍵を生成する。 In the cryptographic communication system according to this embodiment, the server and the secure element each include a storage unit that stores predetermined shared information, and the server shared key generation unit and the secure element shared key generation unit each further use the shared information to generate a shared key.

サーバ及びセキュアエレメントそれぞれは、予め定められた共有情報を保持する保持部を備える。共有情報は、例えば、サーバ及びセキュアエレメント以外の外部に公開されていない共有秘密情報とすることができる。 The server and the secure element each have a storage unit that stores predetermined shared information. The shared information can be, for example, shared secret information that is not disclosed to anyone other than the server and the secure element.

サーバ共通鍵生成部及びセキュアエレメント共通鍵生成部それぞれは、共有情報をさらに用いて共通鍵を生成する。すなわち、共通鍵の生成元となる情報として、セキュアエレメント情報及びサーバ情報の他に、さらに共有情報を用いる。これにより、攻撃者が、仮にセキュアエレメント情報及びサーバ情報を不正に取得して把握したとしても、共有情報を知らない限り、共通鍵を生成することができないので、サーバとデバイスとの間の暗号通信のセキュリティを一層高めることができる。 The server shared key generation unit and the secure element shared key generation unit each further use the shared information to generate a shared key. That is, in addition to the secure element information and server information, the shared information is further used as the information from which the shared key is generated. This means that even if an attacker illegally obtains and understands the secure element information and server information, he or she cannot generate a shared key unless he or she knows the shared information, thereby further enhancing the security of the encrypted communication between the server and the device.

本実施の形態に係る暗号通信システムにおいて、前記保持部に保持された共有情報は、更新可能である。 In the encrypted communication system according to this embodiment, the shared information stored in the storage unit can be updated.

例えば、セキュアエレメントの保持部に保持された共有情報は、外部であるサーバから更新することができる。これにより、共有情報が、固定された情報でなく、更新される情報であるため、サーバとデバイスとの間の暗号通信のセキュリティをさらに高めることができる。 For example, the shared information stored in the storage unit of the secure element can be updated from an external server. This further enhances the security of the encrypted communication between the server and the device, since the shared information is not fixed information but is information that can be updated.

本実施の形態に係る暗号通信システムにおいて、前記セキュアエレメントは、ハードウェアエレメント又はソフトウェアエレメントで構成されている。 In the cryptographic communication system according to this embodiment, the secure element is composed of a hardware element or a software element.

セキュアエレメントは、ハードウェアエレメント又はソフトウェアエレメントで構成されている。これにより、デバイスの種類などに応じて適切なセキュアエレメントをデバイスに搭載できる。 A secure element is composed of a hardware element or a software element. This allows a device to be equipped with an appropriate secure element depending on the type of device, etc.

上述のように、本実施の形態によれば、デバイス(例えば、IoTデバイス)の鍵共有の安全性及び自由度を飛躍的に高めるとともに、デバイスにおける暗号通信及びデバイス自身の信頼性を一層高めることができる。すなわち、共通鍵を事前に共有する必要がなく、通信路の秘匿性が特定の固定鍵に依存することがない。また、鍵の設定の自由度を確保することができ、ハッキングなどのリスクを低減できる。また、鍵値が通信路に載らないため、鍵生成の詳細を知らない限り、鍵生成の元となる情報を不正に入手できたとしても、攻撃者は鍵を生成することができない。これにより、サーバとデバイスとの間の暗号通信が危殆化しない。 As described above, according to this embodiment, the security and flexibility of key sharing in a device (e.g., an IoT device) can be dramatically improved, and the reliability of the encrypted communication in the device and the device itself can be further improved. In other words, there is no need to share a common key in advance, and the confidentiality of the communication channel does not depend on a specific fixed key. In addition, the freedom of key setting can be ensured, and the risk of hacking, etc. can be reduced. Furthermore, since the key value is not transmitted over the communication channel, an attacker cannot generate a key even if he or she illegally obtains the information on which the key is generated, unless he or she knows the details of the key generation. This ensures that the encrypted communication between the server and the device is not compromised.

10 サーバ
11 記憶部
12 SC公開鍵ストア
13 鍵ペア生成部
14 乱数生成部
15 署名検証部
16 共通鍵生成部
17 共有秘密更新部
18 鍵正当性確認部
21 暗号通信部
50 セキュアエレメント
51、71 記憶部
52 サーバ公開鍵ストア
53 鍵ペア生成部
54 乱数生成部
55 署名検証部
56 共通鍵生成部
57 共有秘密更新部
58 鍵正当性確認部
61 暗号通信部
70 デバイス
100 認証局サーバ
101 公開鍵失効済みリスト
102 署名生成済みリスト
LIST OF SYMBOLS 10 SERVER 11 MEMORY UNIT 12 SC PUBLIC KEY STORE 13 KEY PAIR GENERATION UNIT 14 RANDOM NUMBER GENERATION UNIT 15 SIGNATION VERIFICATION UNIT 16 SIMILAR KEY GENERATION UNIT 17 SHARED SECRET UPDATE UNIT 18 KEY AUTHORITY CONFIRMATION UNIT 21 CRYPTOGRAPHIC COMMUNICATION UNIT 50 SECURE ELEMENT 51, 71 MEMORY UNIT 52 SERVER PUBLIC KEY STORE 53 KEY PAIR GENERATION UNIT 54 RANDOM NUMBER GENERATION UNIT 55 SIGNATION VERIFICATION UNIT 56 SIMILAR KEY GENERATION UNIT 57 SHARED SECRET UPDATE UNIT 58 KEY AUTHORITY CONFIRMATION UNIT 61 CRYPTOGRAPHIC COMMUNICATION UNIT 70 DEVICE 100 CERTIFICATION AUTHORITY SERVER 101 PUBLIC KEY REVOKED LIST 102 SIGNATION GENERATED LIST

Claims (20)

サーバと、セキュアエレメントを搭載するデバイスとを備える暗号通信システムであって、
前記セキュアエレメントは、
セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、
前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部と
を備え、
前記サーバは、
前記セキュアエレメント出力部から出力されたセキュアエレメント公開鍵を取得して登録するサーバ登録部と、
サーバ公開鍵及びサーバ秘密鍵を生成するサーバ鍵生成部と、
前記デバイスを経由して前記サーバ鍵生成部で生成したサーバ公開鍵を前記セキュアエレメントへ出力するサーバ出力部と
を備え、
前記セキュアエレメントは、さらに、
前記サーバ出力部から出力されたサーバ公開鍵を取得して登録するセキュアエレメント登録部を備え、
前記サーバは、
登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、
前記セキュアエレメントは、
登録されたサーバ公開鍵に基づく暗号通信を行い、
前記セキュアエレメントは、
登録したサーバ公開鍵を用いて所定のセキュアエレメント情報を暗号化するセキュアエレメント第1暗号化部を備え、
前記セキュアエレメント出力部は、
前記セキュアエレメント第1暗号化部で暗号化されたセキュアエレメント情報を前記サーバへ出力し、
前記サーバは、
前記サーバ秘密鍵を用いて前記暗号化されたセキュアエレメント情報を復号するサーバ第1復号部と、
登録したセキュアエレメント公開鍵を用いて所定のサーバ情報を暗号化するサーバ第1暗号化部を備え、
前記サーバ出力部は、
前記サーバ第1暗号化部で暗号化されたサーバ情報を前記セキュアエレメントへ出力し、
前記セキュアエレメントは、さらに、
前記セキュアエレメント秘密鍵を用いて前記暗号化されたサーバ情報を復号するセキュアエレメント第1復号部を備え、
前記サーバは、
前記サーバ第1復号部で復号したセキュアエレメント情報及び前記サーバ情報を用いて共通鍵を生成するサーバ共通鍵生成部を備え、
前記セキュアエレメントは、
前記セキュアエレメント第1復号部で復号したサーバ情報及び前記セキュアエレメント情報を用いて共通鍵を生成するセキュアエレメント共通鍵生成部を備え、
前記セキュアエレメント共通鍵生成部で生成した共通鍵を前記デバイスへ出力し、
前記サーバ及びデバイスは、
前記共通鍵に基づく暗号通信を行う暗号通信システム。
A cryptographic communication system including a server and a device equipped with a secure element,
The secure element comprises:
a secure element key generation unit for generating a secure element public key and a secure element private key;
a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device,
The server,
a server registration unit that acquires and registers the secure element public key output from the secure element output unit;
a server key generation unit for generating a server public key and a server private key;
a server output unit that outputs a server public key generated by the server key generation unit to the secure element via the device,
The secure element further comprises:
a secure element registration unit that acquires and registers the server public key output from the server output unit,
The server,
Performs encrypted communication based on the registered secure element public key,
The secure element comprises:
Encryption is performed based on the registered server public key.
The secure element comprises:
a secure element first encryption unit that encrypts predetermined secure element information using a registered server public key;
The secure element output unit
outputting the secure element information encrypted by the secure element first encryption unit to the server;
The server,
a server first decryption unit that decrypts the encrypted secure element information using the server private key;
a server first encryption unit that encrypts predetermined server information using a registered secure element public key;
The server output unit is
outputting the server information encrypted by the server first encryption unit to the secure element;
The secure element further comprises:
a secure element first decryption unit that decrypts the encrypted server information by using the secure element private key;
The server,
a server common key generation unit that generates a common key by using the secure element information decrypted by the server first decryption unit and the server information;
The secure element comprises:
a secure element common key generation unit that generates a common key by using the server information and the secure element information decrypted by the secure element first decryption unit,
outputting the common key generated by the secure element common key generation unit to the device;
The server and the device
A cryptographic communication system that performs cryptographic communication based on the common key.
前記セキュアエレメントは、
前記セキュアエレメント秘密鍵を用いてセキュアエレメント識別情報を暗号化するセキュアエレメント第2暗号化部を備え、
前記セキュアエレメント出力部は、
前記セキュアエレメント第2暗号化部で暗号化されたセキュアエレメント識別情報を前記サーバへ出力し、
前記サーバは、
取得したセキュアエレメント公開鍵を用いて前記暗号化されたセキュアエレメント識別情報を復号するサーバ第2復号部を備え、
前記サーバ登録部は、
前記サーバ第2復号部で復号したセキュアエレメント識別情報に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する請求項1に記載の暗号通信システム。
The secure element comprises:
a secure element second encryption unit that encrypts secure element identification information using the secure element private key;
The secure element output unit
outputting the secure element identification information encrypted by the secure element second encryption unit to the server;
The server,
a server second decryption unit that decrypts the encrypted secure element identification information by using the acquired secure element public key;
The server registration unit
2. The cryptographic communication system according to claim 1, further comprising: determining whether or not the acquired secure element public key can be registered based on the secure element identification information decrypted by the server second decryption unit.
前記サーバは、
前記サーバ秘密鍵を用いてサーバ識別情報を暗号化するサーバ第2暗号化部を備え、
前記サーバ出力部は、
前記サーバ第2暗号化部で暗号化されたサーバ識別情報を前記セキュアエレメントへ出力し、
前記セキュアエレメントは、
取得したサーバ公開鍵を用いて前記暗号化されたサーバ識別情報を復号するセキュアエレメント第2復号部を備え、
前記セキュアエレメント登録部は、
前記セキュアエレメント第2復号部で復号したサーバ識別情報に基づいて、取得したサーバ公開鍵の登録可否を判定する請求項1又は請求項2に記載の暗号通信システム。
The server,
a server second encryption unit that encrypts server identification information by using the server private key;
The server output unit is
outputting the server identification information encrypted by the server second encryption unit to the secure element;
The secure element comprises:
a second decryption unit of a secure element that decrypts the encrypted server identification information by using the acquired server public key;
The secure element registration unit
3. The cryptographic communication system according to claim 1, further comprising: determining whether or not an acquired server public key can be registered based on the server identification information decrypted by the second decryption unit of the secure element.
前記セキュアエレメントは、
前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵に関する認証を認証局サーバへ要求するセキュアエレメント認証要求部を備え、
前記セキュアエレメント出力部は、
前記認証局サーバによる認証が得られた場合、前記セキュアエレメント公開鍵を前記サーバへ出力する請求項1から請求項3のいずれか一項に記載の暗号通信システム。
The secure element comprises:
a secure element authentication request unit that requests an authentication authority server to authenticate the secure element public key generated by the secure element key generation unit;
The secure element output unit
4. The cryptographic communication system according to claim 1, wherein, when authentication by the certificate authority server is obtained, the secure element public key is output to the server.
前記セキュアエレメントは、
前記認証局サーバによる認証が得られた場合、前記認証局サーバが生成した認証局署名を取得するセキュアエレメント取得部を備え、
前記セキュアエレメント出力部は、
前記セキュアエレメント取得部で取得した認証局署名を前記サーバへ出力し、
前記サーバ登録部は、
前記認証局署名の検証結果に基づいて、取得したセキュアエレメント公開鍵の登録可否を判定する請求項4に記載の暗号通信システム。
The secure element comprises:
a secure element acquisition unit that acquires a certificate authority signature generated by the certificate authority server when authentication by the certificate authority server is obtained,
The secure element output unit
outputting the certificate authority signature acquired by the secure element acquisition unit to the server;
The server registration unit
The cryptographic communication system according to claim 4 , wherein a determination is made as to whether or not the acquired secure element public key can be registered based on a result of the verification of the certificate authority signature.
前記サーバは、
前記サーバ鍵生成部で生成したサーバ公開鍵に関する認証を認証局サーバへ要求するサーバ認証要求部を備え、
前記サーバ出力部は、
前記認証局サーバによる認証が得られた場合、前記サーバ公開鍵を前記セキュアエレメントへ出力する請求項1から請求項5のいずれか一項に記載の暗号通信システム。
The server,
a server authentication request unit that requests an authentication authority server to authenticate the server public key generated by the server key generation unit;
The server output unit is
6. The cryptographic communication system according to claim 1, wherein, when authentication by the certificate authority server is obtained, the server public key is output to the secure element.
前記サーバは、
前記認証局サーバによる認証が得られた場合、前記認証局サーバが生成した認証局署名を取得するサーバ取得部を備え、
前記サーバ出力部は、
前記サーバ取得部で取得した認証局署名を前記セキュアエレメントへ出力し、
前記セキュアエレメント登録部は、
前記認証局署名の検証結果に基づいて、取得したサーバ公開鍵の登録可否を判定する請求項6に記載の暗号通信システム。
The server,
a server acquisition unit that acquires a certificate authority signature generated by the certificate authority server when authentication by the certificate authority server is obtained,
The server output unit is
outputting the certificate authority signature acquired by the server acquisition unit to the secure element;
The secure element registration unit
7. The cryptographic communication system according to claim 6, wherein whether or not the acquired server public key can be registered is determined based on a result of the verification of the certificate authority signature.
前記サーバは、
所要のタイミングで登録済のセキュアエレメント公開鍵の失効の有無を判定するサーバ判定部と、
前記サーバ判定部で失効があると判定された場合、登録済の前記セキュアエレメント公開鍵を無効にするサーバ無効処理部と
を備え、
前記セキュアエレメントは、
所要のタイミングで登録済のサーバ公開鍵の失効の有無を判定するセキュアエレメント判定部と、
前記セキュアエレメント判定部で失効があると判定された場合、登録済の前記サーバ公開鍵を無効にするセキュアエレメント無効処理部と
を備える請求項1から請求項7のいずれか一項に記載の暗号通信システム。
The server,
a server determination unit that determines whether or not a registered secure element public key has been revoked at a required timing;
a server invalidation processing unit that invalidates the registered secure element public key when the server determination unit determines that the secure element public key has been revoked;
The secure element comprises:
a secure element determination unit that determines whether a registered server public key has been revoked at a required timing;
8. The cryptographic communication system according to claim 1, further comprising: a secure element invalidation processing unit that invalidates the registered server public key when the secure element determination unit determines that the server public key has been revoked.
前記サーバ無効処理部は、
さらに、前記サーバ共通鍵生成部で生成した共通鍵を無効にし、
前記セキュアエレメント無効処理部は、
さらに、前記セキュアエレメント共通鍵生成部で生成した共通鍵を無効にする請求項8に記載の暗号通信システム。
The server invalidation processing unit:
Furthermore, the common key generated by the server common key generation unit is invalidated,
The secure element revocation processing unit,
The cryptographic communication system according to claim 8 , further comprising: invalidating the common key generated by the secure element common key generation unit.
前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、
所定の契機で、生成した共通鍵を更新する請求項1から請求項9のいずれか一項に記載の暗号通信システム。
Each of the server common key generation unit and the secure element common key generation unit
10. The cryptographic communication system according to claim 1, wherein the generated common key is updated at a predetermined opportunity.
前記デバイスは、
前記所定の契機に応じて、前記セキュアエレメントに対して共通鍵の取得要求を出力し、
前記セキュアエレメントは、
前記セキュアエレメント共通鍵生成部で更新した共通鍵を前記デバイスに供給する請求項10に記載の暗号通信システム。
The device comprises:
outputting a request for acquiring a common key to the secure element in response to the predetermined trigger;
The secure element comprises:
The cryptographic communication system according to claim 10 , wherein the common key updated by the secure element common key generation unit is supplied to the device.
前記サーバは、
前記デバイスとの間で共通鍵が一致しない場合、前記デバイスの異常に対応する処理を実行する請求項10又は請求項11に記載の暗号通信システム。
The server,
The encryption communication system according to claim 10 or 11, wherein, when the common key does not match with the device, a process for dealing with an abnormality in the device is executed.
前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、
所定のタイミングで、共通鍵を生成するためのアルゴリズムを変更する請求項1から請求項12のいずれか一項に記載の暗号通信システム。
Each of the server common key generation unit and the secure element common key generation unit
13. The cryptographic communication system according to claim 1, wherein an algorithm for generating a common key is changed at a predetermined timing.
前記セキュアエレメントは、
前記セキュアエレメントが接続されたデバイス本体を認証するデバイス認証部を備え、
前記セキュアエレメント共通鍵生成部は、
前記デバイス認証部でデバイス本体が認証された場合、生成した共通鍵を前記デバイス本体に出力し、
前記サーバ及びデバイスは、
前記共通鍵に基づく暗号通信を行う請求項1から請求項13のいずれか一項に記載の暗号通信システム。
The secure element comprises:
a device authentication unit that authenticates a device main body to which the secure element is connected,
The secure element common key generation unit
If the device main body is authenticated by the device authentication unit, the generated common key is output to the device main body;
The server and the device
The cryptographic communication system according to claim 1 , wherein the cryptographic communication is performed based on the common key.
前記サーバ及び前記セキュアエレメントそれぞれは、
予め定められた共有情報を保持する保持部を備え、
前記サーバ共通鍵生成部及び前記セキュアエレメント共通鍵生成部それぞれは、
前記共有情報をさらに用いて共通鍵を生成する請求項1から請求項14のいずれか一項に記載の暗号通信システム。
The server and the secure element each include
A storage unit that stores predetermined shared information,
Each of the server common key generation unit and the secure element common key generation unit
The cryptographic communication system according to claim 1 , further comprising: a common key generating unit that generates a common key by further using the shared information.
前記保持部に保持された共有情報は、更新可能である請求項15に記載の暗号通信システム。 The cryptographic communication system according to claim 15, wherein the shared information stored in the storage unit is updatable. 前記セキュアエレメントは、
ハードウェアエレメント又はソフトウェアエレメントで構成されている請求項1から請求項16のいずれか一項に記載の暗号通信システム。
The secure element comprises:
17. The cryptographic communication system according to claim 1, which is configured with hardware elements or software elements.
サーバと暗号通信を行うデバイスに搭載されるセキュアエレメントであって、
セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成するセキュアエレメント鍵生成部と、
前記デバイスを経由して前記セキュアエレメント鍵生成部で生成したセキュアエレメント公開鍵を前記サーバへ出力するセキュアエレメント出力部と、
前記サーバが出力するサーバ公開鍵を取得して登録するセキュアエレメント登録部と
を備え、
前記セキュアエレメントと前記サーバとの間の暗号通信に前記セキュアエレメント登録部で登録されたサーバ公開鍵を用い、
登録したサーバ公開鍵を用いて所定のセキュアエレメント情報を暗号化するセキュアエレメント第1暗号化部を備え、
前記セキュアエレメント出力部は、
前記セキュアエレメント第1暗号化部で暗号化されたセキュアエレメント情報を前記サーバへ出力し、
さらに、前記セキュアエレメント秘密鍵を用いて前記サーバによって暗号化されたサーバ情報を復号するセキュアエレメント第1復号部を備え
前記セキュアエレメント第1復号部で復号したサーバ情報及び前記セキュアエレメント情報を用いて共通鍵を生成するセキュアエレメント共通鍵生成部を備え、
前記セキュアエレメント共通鍵生成部で生成した共通鍵を前記デバイスへ出力し、
前記サーバと前記デバイスとの間で前記共通鍵に基づく暗号通信が行われるようにしたセキュアエレメント。
A secure element mounted on a device that performs cryptographic communication with a server,
a secure element key generation unit for generating a secure element public key and a secure element private key;
a secure element output unit that outputs the secure element public key generated by the secure element key generation unit to the server via the device;
a secure element registration unit that acquires and registers a server public key output by the server,
a server public key registered in the secure element registration unit is used for cryptographic communication between the secure element and the server;
a secure element first encryption unit that encrypts predetermined secure element information using a registered server public key;
The secure element output unit
outputting the secure element information encrypted by the secure element first encryption unit to the server;
The secure element further comprises a first decryption unit for decrypting server information encrypted by the server using the secure element private key, and a common key generation unit for generating a common key using the server information and the secure element information decrypted by the first decryption unit,
outputting the common key generated by the secure element common key generation unit to the device;
A secure element configured to perform cryptographic communication based on the common key between the server and the device.
請求項18に記載されたセキュアエレメントを搭載し、所定のサーバと暗号通信を行うことができるデバイス。 A device equipped with the secure element described in claim 18 and capable of performing encrypted communication with a specified server. サーバと、セキュアエレメントを搭載するデバイスとの間の暗号通信方法であって、
前記セキュアエレメントは、
セキュアエレメント公開鍵及びセキュアエレメント秘密鍵を生成し、
前記デバイスを経由して生成されたセキュアエレメント公開鍵を前記サーバへ出力し、
前記サーバは、
前記セキュアエレメントから出力されたセキュアエレメント公開鍵を取得して登録し、
サーバ公開鍵及びサーバ秘密鍵を生成し、
前記デバイスを経由して生成されたサーバ公開鍵を前記セキュアエレメントへ出力し、
前記セキュアエレメントは、さらに、
前記サーバから出力されたサーバ公開鍵を取得して登録し、
前記サーバは、
登録されたセキュアエレメント公開鍵に基づく暗号通信を行い、
前記セキュアエレメントは、
登録されたサーバ公開鍵に基づく暗号通信を行い、
前記セキュアエレメントは、
登録したサーバ公開鍵を用いて所定のセキュアエレメント情報を暗号化し、
暗号化されたセキュアエレメント情報を前記サーバへ出力し、
前記サーバは、
前記サーバ秘密鍵を用いて前記暗号化されたセキュアエレメント情報を復号し、
登録したセキュアエレメント公開鍵を用いて所定のサーバ情報を暗号化し、
暗号化されたサーバ情報を前記セキュアエレメントへ出力し、
前記セキュアエレメントは、
前記セキュアエレメント秘密鍵を用いて前記暗号化されたサーバ情報を復号し、
前記サーバは、
復号したセキュアエレメント情報及び前記サーバ情報を用いて共通鍵を生成し、
前記セキュアエレメントは、
復号したサーバ情報及び前記セキュアエレメント情報を用いて共通鍵を生成し、
生成した共通鍵を前記デバイスへ出力し、
前記サーバ及びデバイスは、
前記共通鍵に基づく暗号通信を行う暗号通信方法。
A method for cryptographic communication between a server and a device equipped with a secure element, comprising:
The secure element comprises:
generating a secure element public key and a secure element private key;
outputting the secure element public key generated via the device to the server;
The server,
Obtaining and registering a secure element public key output from the secure element;
Generate a server public key and a server private key;
outputting a server public key generated via the device to the secure element;
The secure element further comprises:
Obtaining and registering a server public key output from the server;
The server,
Performs encrypted communication based on the registered secure element public key,
The secure element comprises:
Encryption is performed based on the registered server public key.
The secure element comprises:
Encrypting predetermined secure element information using the registered server public key;
outputting the encrypted secure element information to the server;
The server,
decrypting the encrypted secure element information using the server private key;
Encrypting predetermined server information using the registered secure element public key,
outputting the encrypted server information to the secure element;
The secure element comprises:
decrypting the encrypted server information using the secure element private key;
The server,
generating a common key using the decrypted secure element information and the server information;
The secure element comprises:
generating a common key using the decrypted server information and the secure element information;
Outputting the generated common key to the device;
The server and the device
A cryptographic communication method for performing cryptographic communication based on the common key.
JP2024030428A 2019-06-11 2024-02-29 Cryptographic communication system, secure element, device, and cryptographic communication method Pending JP2024051151A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024030428A JP2024051151A (en) 2019-06-11 2024-02-29 Cryptographic communication system, secure element, device, and cryptographic communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019108900A JP7484092B2 (en) 2019-06-11 2019-06-11 Server and computer program
JP2024030428A JP2024051151A (en) 2019-06-11 2024-02-29 Cryptographic communication system, secure element, device, and cryptographic communication method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019108900A Division JP7484092B2 (en) 2019-06-11 2019-06-11 Server and computer program

Publications (1)

Publication Number Publication Date
JP2024051151A true JP2024051151A (en) 2024-04-10

Family

ID=73742162

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019108900A Active JP7484092B2 (en) 2019-06-11 2019-06-11 Server and computer program
JP2024030428A Pending JP2024051151A (en) 2019-06-11 2024-02-29 Cryptographic communication system, secure element, device, and cryptographic communication method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019108900A Active JP7484092B2 (en) 2019-06-11 2019-06-11 Server and computer program

Country Status (1)

Country Link
JP (2) JP7484092B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI750973B (en) * 2020-12-25 2021-12-21 扉睿科技股份有限公司 Internet of things system based on security orientation and group sharing
TWI827906B (en) * 2021-01-29 2024-01-01 銓安智慧科技股份有限公司 Message transmitting system, user device and hardware security module for use therein
WO2023145240A1 (en) * 2022-01-27 2023-08-03 株式会社Nttドコモ Information processing device and information processing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002344438A (en) 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> Key sharing system, key sharing device and program thereof
JP4556615B2 (en) 2004-10-27 2010-10-06 三菱電機株式会社 Information storage method, information storage method, received information providing device, and information storage terminal
JP4750515B2 (en) 2005-09-07 2011-08-17 株式会社エヌ・ティ・ティ・ドコモ A system for building a secure ad hoc network
JP5150116B2 (en) 2006-03-31 2013-02-20 パナソニック株式会社 IC card and read / write device
WO2010067433A1 (en) 2008-12-11 2010-06-17 三菱電機株式会社 Self-authentication communication device, self-authentication verification communication device, device authentication system, device authentication method for device authentication system, self-authentication communication program, and self-authentication verification communication program
JP5710541B2 (en) 2012-04-23 2015-04-30 日本電信電話株式会社 IC card issuing system and IC card updating method
JP6187251B2 (en) 2013-12-27 2017-08-30 富士通株式会社 Data communication method and data communication apparatus
CN105959936B (en) 2016-06-24 2023-10-27 郑州信大捷安信息技术股份有限公司 System for recovering cloud data of mobile terminal and data recovery method
AU2017330232B2 (en) 2016-09-23 2020-09-03 Apple Inc. Secure communication of network traffic

Also Published As

Publication number Publication date
JP2020202505A (en) 2020-12-17
JP7484092B2 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
JP7364674B2 (en) Secure over-the-air firmware upgrades
CN111010410B (en) Mimicry defense system based on certificate identity authentication and certificate signing and issuing method
US10382485B2 (en) Blockchain-assisted public key infrastructure for internet of things applications
US8001371B2 (en) Method and system for authorizing client devices to receive secured data streams
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US8108670B2 (en) Client apparatus and method with key manager
JP2024051151A (en) Cryptographic communication system, secure element, device, and cryptographic communication method
EP0936530A1 (en) Virtual smart card
US8312518B1 (en) Island of trust in a service-oriented environment
US11853438B2 (en) Providing cryptographically secure post-secrets-provisioning services
KR20010108150A (en) Authentication enforcement using decryption and authentication in a single transaction in a secure microprocessor
KR20090057586A (en) Method and apparatus of mutual authentication and key distribution for downloadable conditional access system in digital cable broadcasting network
US20050027979A1 (en) Secure transmission of data within a distributed computer system
US8081758B2 (en) Communication support server, communication support method, and communication support system
KR20090084545A (en) Ce device management server, method for issuing drm key using ce device management server, and computer readable medium
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
CN113239363A (en) Firmware updating method, device, equipment, readable storage medium and memory system
JP3684266B2 (en) Access control method and system for encrypted shared data
JP2014022920A (en) Electronic signature system, electronic signature method, and electronic signature program
KR100853448B1 (en) Domain-Based Mobile Agent Authentication System and Method Thereof
KR102539418B1 (en) Apparatus and method for mutual authentication based on physical unclonable function
KR20020040378A (en) Method for Authentication without Password Transmission on the basis of Public Key
JP2021170228A (en) Authorization-based resource access control system, secure component, device, and authorization-based resource access control method
JP4071474B2 (en) Expiration confirmation device and method
US20240121083A1 (en) Secure restoration of private key

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240229