JP6465426B1 - Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method - Google Patents

Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method Download PDF

Info

Publication number
JP6465426B1
JP6465426B1 JP2018136657A JP2018136657A JP6465426B1 JP 6465426 B1 JP6465426 B1 JP 6465426B1 JP 2018136657 A JP2018136657 A JP 2018136657A JP 2018136657 A JP2018136657 A JP 2018136657A JP 6465426 B1 JP6465426 B1 JP 6465426B1
Authority
JP
Japan
Prior art keywords
certificate
key management
user
key
management system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018136657A
Other languages
Japanese (ja)
Other versions
JP2020014168A (en
Inventor
杉本 浩一
浩一 杉本
良尚 桑江
良尚 桑江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalSign KK
Original Assignee
GlobalSign KK
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 GlobalSign KK filed Critical GlobalSign KK
Priority to JP2018136657A priority Critical patent/JP6465426B1/en
Application granted granted Critical
Publication of JP6465426B1 publication Critical patent/JP6465426B1/en
Priority to PCT/JP2019/028492 priority patent/WO2020017643A1/en
Publication of JP2020014168A publication Critical patent/JP2020014168A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】利用者の負担を低減できるとともに安全に電子証明書の発行、登録が可能な電子署名システムを提供することを目的とする。【解決手段】端末装置10は、鍵管理サーバ30に対して認証要求を行い、認証が成功した場合、鍵管理サーバ30は、端末装置10に対して認可コードを送信し、端末装置10は、認可コードを証明書発行サーバ20に送付し、証明書発行サーバ20は、端末装置10から送付された認可コードを鍵管理サーバ30に送付し、鍵管理サーバ30は、認可コードと引き換えにアクセストークンを証明書発行サーバ20に送付し、証明書発行サーバ20は、アクセストークンを鍵管理サーバ30に提示することによって、鍵管理サーバ30より証明書署名要求を入手し、証明書署名要求に記載されている公開鍵に対して電子証明書を発行する。【選択図】図5An object of the present invention is to provide an electronic signature system capable of reducing the burden on a user and safely issuing and registering an electronic certificate. A terminal device 10 issues an authentication request to the key management server 30. If the authentication is successful, the key management server 30 transmits an authorization code to the terminal device 10, and the terminal device 10 The authorization code is sent to the certificate issuing server 20, the certificate issuing server 20 sends the authorization code sent from the terminal device 10 to the key management server 30, and the key management server 30 exchanges the access token in exchange for the authorization code. The certificate issuing server 20 obtains a certificate signature request from the key management server 30 by presenting the access token to the key management server 30 and is described in the certificate signature request. Issue an electronic certificate to the public key. [Selection] Figure 5

Description

本発明は、電子署名システム及び電子証明書発行方法に関し、特に、公開鍵基盤で必要とされる電子署名と共に用いられる電子証明書を発行するための方法に関する。   The present invention relates to an electronic signature system and an electronic certificate issuing method, and more particularly to a method for issuing an electronic certificate used together with an electronic signature required in a public key infrastructure.

全世界的に電子政府が稼働し始め、従来、紙で行われてきた契約行為も電子的に行われるようになってきた。電子的に行われる契約(電子契約)では、暗号技術や公開鍵基盤を用いた方式が主流である。
公開鍵基盤を用いた電子契約では、公開鍵暗号方式をベースとして、文書の送り側では、本人の私有鍵(秘密鍵)を用いて契約文書(電子データ)に電子署名を付与し、文書の受け取り側では、送り側の公開鍵を用いて契約文書に付与される電子署名を検証することで、なり済ましや、通信経路での改竄の有無を判断することが出来る。後述するが、公開鍵基盤は、公開鍵と、それと対になる私有鍵(秘密鍵)と、を用いて様々なセキュリティシステムを提供することができる。
この方式では、契約文書の検証時に契約書に電子署名を施した相手方(送り側)の公開鍵が必要となる。そして、この公開鍵と対になる私有鍵が送り側の所有に係ること(公開鍵の本人性)を証明するため、公開鍵証明書、いわゆる「電子証明書」が用いられる。
The e-government has begun to operate worldwide, and contracts that have traditionally been done in paper have become electronic. In electronic contracts (electronic contracts), methods using encryption technology and public key infrastructure are the mainstream.
In an electronic contract using a public key infrastructure, the document sender uses the private key (private key) of the person to give an electronic signature to the contract document (electronic data) based on the public key cryptosystem. On the receiving side, it is possible to determine whether the falsification has occurred or whether or not the communication path has been tampered with by verifying the electronic signature attached to the contract document using the sending side public key. As will be described later, the public key infrastructure can provide various security systems using a public key and a private key (private key) paired therewith.
This method requires the public key of the other party (sending side) who applied the electronic signature to the contract when verifying the contract document. A public key certificate, a so-called “electronic certificate”, is used to prove that the private key paired with the public key is owned by the sender (the identity of the public key).

「電子証明書」はインターネット上の身分証とも呼ばれ、信頼できる第三者機関(TTP:Trusted Third Party)によって発行される。特に、電子証明書を発行するTTPを認証局と呼ぶ。
従来、電子署名は利用者のPC(Personal Computer)上で行われることが一般的であったが、サーバ上で行うことにより電子署名の利便性を高めた仕組みも知られている。
例えば、特許文献1には、ユーザ端末、電子署名サーバ、認証局と、を備えたシステムが開示されている。
特許文献1においては、認証局が秘密鍵、公開鍵の鍵ペアを生成する。そして、電子署名サーバは、認証局に対して公開鍵に基づく電子証明書の発行を要求する。認証局は、発行した電子証明書と秘密鍵とをPKCS#12と呼ばれるファイルとして電子署名サーバに供給し、電子署名サーバは、ユーザ端末からの求めに応じて、電子証明書、秘密鍵を用いて電子署名を行う。
The “electronic certificate” is also called an ID on the Internet and is issued by a trusted third party (TTP). In particular, a TTP that issues an electronic certificate is called a certificate authority.
Conventionally, an electronic signature is generally performed on a user's PC (Personal Computer). However, a mechanism for improving the convenience of an electronic signature by performing it on a server is also known.
For example, Patent Document 1 discloses a system including a user terminal, an electronic signature server, and a certificate authority.
In Patent Document 1, a certificate authority generates a private key / public key pair. Then, the electronic signature server requests the certificate authority to issue an electronic certificate based on the public key. The certificate authority supplies the issued electronic certificate and private key to the electronic signature server as a file called PKCS # 12. The electronic signature server uses the electronic certificate and private key in response to a request from the user terminal. Digital signature.

さらに近年では、「リモート署名」あるいは「クラウド署名」と呼ばれるという仕組みが普及をはじめ、そして、ヨーロッパ諸国のeIDASやAdobe社をはじめとした標準化団体CSC(Cloud Signature Consortium)などで、プロトコルの標準化が推し進められている。
より具体的には、電子署名サイトなどで電子署名が必要な状況になると、OAuth2.0によるSSO(Single Sign On)の仕組みなどを用いて、利用者が鍵管理システムへリダイレクトされ、鍵管理システムは、ユーザ認証後にトークンを払い出す。そのトークンを取得した電子署名サイトは、トークンを鍵管理システムに対して提示することで、鍵管理システムに署名を行わせる、といった仕組みが「リモート署名」として実装され始めている。
In recent years, a mechanism called “remote signature” or “cloud signature” has become widespread, and standardization of protocols such as CSC (Cloud Signature Consortium) such as eIDAS and Adobe in European countries has become standardized. It is being pushed forward.
More specifically, when an electronic signature is required at an electronic signature site or the like, the user is redirected to a key management system using an SSO (Single Sign On) mechanism using OAuth2.0, and the key management system. Pays out tokens after user authentication. An electronic signature site that has acquired the token has begun to implement a mechanism for causing the key management system to sign by presenting the token to the key management system as a “remote signature”.

特開2010−200142公報JP 2010-200142 A

しかしながら、このような「リモート署名」を行うために、利用者は、鍵管理システムに予めアカウントを作成し、さらに鍵管理システムにて私有鍵(秘密鍵)を生成し、その私有鍵に対して認証局から発行された電子証明書をバインドする、という準備が必要となる。
この準備作業において、利用者は、認証局に電子証明書の発行させるために、鍵管理システムで私有鍵(秘密鍵)とともに生成された公開鍵を鍵管理システムから取得(ダウンロード)し、公開鍵を含む鍵署名要求(証明書署名要求)を認証局に対して行う必要があった。
However, in order to perform such “remote signature”, the user creates an account in advance in the key management system, generates a private key (private key) in the key management system, and It is necessary to prepare to bind an electronic certificate issued by a certificate authority.
In this preparatory work, the user obtains (downloads) the public key generated together with the private key (private key) in the key management system in order to have the certificate authority issue an electronic certificate. It is necessary to make a key signature request (certificate signature request) including the certificate authority.

さらに利用者は、発行された電子証明書を鍵管理システムに対して格納しなければならない。
このような作業は利用者にとって煩雑なものであるとともに、技術的な負担を強いるものである。さらにこのような準備作業を利用者に行わせると、鍵管理システムの選択を利用者に委ねることになり、認証局側で鍵管理システムのセキュリティーレベルをコントロールすることが難しいという問題もある。
本発明は上記の問題点を鑑みてなされたものであり、電子署名に必要な電子証明書を発行して鍵管理システムに格納させる処理を、より安全に且つ利用者の負担を軽減しながら実行可能な電子署名システムを提供することを目的とする。
Furthermore, the user must store the issued electronic certificate in the key management system.
Such work is complicated for the user and imposes a technical burden. Furthermore, if the user performs such a preparatory work, the selection of the key management system is left to the user, and there is a problem that it is difficult to control the security level of the key management system on the certificate authority side.
The present invention has been made in view of the above-mentioned problems, and executes processing for issuing an electronic certificate necessary for electronic signature and storing it in a key management system more safely and while reducing the burden on the user. An object is to provide a possible electronic signature system.

上記の課題を解決するために、本発明は、電子証明書を発行する証明書発行システムと、利用者の秘密鍵を管理する機能を有し、前記秘密鍵を用いて電子署名を生成する鍵管理システムと、利用者が利用する端末装置と、を備える電子署名システムであって、前記端末装置は、前記鍵管理システムに対して前記利用者の認証を要求し、前記認証が成功した場合、前記鍵管理システムは、前記端末装置に対して認可コードを送信し、前記認可コードを取得した前記端末装置は、前記認可コードを前記証明書発行システムに転送し、前記認可コードを取得した前記証明書発行システムは、前記認可コードを前記鍵管理システムに送信することによりアクセストークンを要求し、前記鍵管理システムは、前記アクセストークンを前記証明書発行システムに送信し、前記証明書発行システムは、前記アクセストークンを前記鍵管理システムに提示することによって、前記鍵管理システムから前記利用者の公開鍵を含む証明書発行要求を取得し、前記公開鍵に対して電子証明書を発行する、ことを特徴とする。   In order to solve the above problems, the present invention provides a certificate issuing system for issuing an electronic certificate, a key for managing a user's private key, and a key for generating an electronic signature using the private key. An electronic signature system comprising a management system and a terminal device used by a user, wherein the terminal device requests the key management system to authenticate the user, and if the authentication is successful, The key management system transmits an authorization code to the terminal device, and the terminal device that has acquired the authorization code transfers the authorization code to the certificate issuing system and acquires the authorization code. The certificate issuing system requests an access token by sending the authorization code to the key management system, and the key management system sends the access token to the certificate issuing system. The certificate issuing system obtains a certificate issuing request including the public key of the user from the key management system by presenting the access token to the key management system, and the public key An electronic certificate is issued to

上記のように構成することにより、本発明によれば、電子署名に必要な電子証明書を発行して鍵管理システムに格納させる処理を、より安全に且つ利用者の負担を軽減しながら実行可能な電子署名システムを実現することが出来る。   By configuring as described above, according to the present invention, it is possible to execute the process of issuing an electronic certificate necessary for an electronic signature and storing it in the key management system more safely and while reducing the burden on the user. A simple electronic signature system can be realized.

OAuth2.0の処理を説明する参考図である。It is a reference figure explaining the process of OAuth2.0. 本実施形態のシステム構成を説明する図である。It is a figure explaining the system configuration of this embodiment. 本実施形態の証明書発行サーバの構成を示す図である。It is a figure which shows the structure of the certificate issuing server of this embodiment. 本実施形態の鍵管理サーバの構成を示す図である。It is a figure which shows the structure of the key management server of this embodiment. 本実施形態のリモート署名システムにおける電子証明書格納処理の流れを説明する図である。It is a figure explaining the flow of the electronic certificate storage process in the remote signature system of this embodiment. 図5に示した電子証明書格納処理の後の、リモート署名処理の流れを説明する図である。It is a figure explaining the flow of the remote signature process after the electronic certificate storage process shown in FIG.

以下に、図面を参照して本発明の実施の形態を詳細に説明する。
まず、本実施形態の説明に先立って前提となる技術を説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.
First, prior arts will be described prior to the description of the present embodiment.

[公開鍵基盤]
公開鍵基盤(PKI:Public Key Infrastructure)は、公開鍵暗号方式と呼ばれる暗号方式を用い、暗号化、デジタル署名(電子署名)、認証といったセキュリティ機能を提供する情報セキュリティ基盤である。
公開鍵基盤では、公開鍵暗号方式の特徴を利用し、上述の暗号化、デジタル署名、認証といった機能を提供する。公開鍵暗号方式では、私有鍵と公開鍵の一方向性(私有鍵から公開鍵を計算できるが、公開鍵から私有鍵を計算するのは計算量的に困難であるという特徴)を利用して様々な機能を提供する。利用者は自らの私有鍵を秘密裏に保持し、公開鍵を他者に公開しておく。私有鍵は、秘密に保持するという意味を持たせて秘密鍵とも呼ぶ。
例えば利用者Bは、利用者Aに文書を送信するとき、利用者Aが公開している公開鍵を入手し、その公開鍵を使って暗号化した文書を利用者Aに送信する。利用者Aは受信した暗号化文書を、自身の私有鍵(秘密鍵)を用いて復号化する。
利用者Aの公開鍵を持っていれば誰もが利用者Aに対して暗号化文書を送信することが出来る一方で、利用者Aの公開鍵で暗号化したものは、利用者Aの私有鍵(秘密鍵)でしか復号できないため、仮に悪意の第三者が利用者Aの公開鍵を入手したとしても、暗号化文書の内容が漏えいすることはない。
[Public key infrastructure]
A public key infrastructure (PKI) is an information security infrastructure that uses an encryption method called a public key encryption method and provides security functions such as encryption, digital signature (electronic signature), and authentication.
The public key infrastructure uses the features of the public key cryptosystem and provides functions such as encryption, digital signature, and authentication described above. Public key cryptography uses unidirectionality between private keys and public keys (it is possible to calculate public keys from private keys, but it is difficult to calculate private keys from public keys). Provide various functions. Users keep their private keys secretly and keep their public keys open to others. A private key is also called a secret key, meaning that it is kept secret.
For example, when the user B transmits a document to the user A, the user B obtains a public key published by the user A and transmits a document encrypted using the public key to the user A. User A decrypts the received encrypted document using its own private key (secret key).
Anyone who has User A's public key can send an encrypted document to User A, but what is encrypted with User A's public key is private to User A. Since decryption is possible only with a key (private key), even if a malicious third party obtains the public key of user A, the contents of the encrypted document will not be leaked.

[電子証明書]
公開鍵暗号方式で通信を行うには、通信相手に公開鍵を送信することになるが、ネットワーク経由での通信では通信相手が見えないため、第三者が通信相手に成りすまして公開鍵を送信する可能性がある。従って、公開鍵が本当に正しい相手から送られてきたものであるかを確認する必要がある。
PKIでは、例えば、信頼できる第三者機関(TTP:Trusted Third Party)が、私有鍵の所有者を保証する。すなわち、TTPは私有鍵(秘密鍵)の所有者の本人性を確認し、私有鍵(秘密鍵)と対になる公開鍵とその私有鍵(秘密鍵)の所有者とを紐づける電子証明書(公開鍵証明書)を発行する。電子証明書は持ち主の情報を正しく保障する「身分証明書」である。
電子証明書を発行するTTPは、特に認証局あるいは認証機関(CA:Certification Authority)と呼ばれる。
電子証明書には、公開鍵と、その公開鍵に対応する私有鍵(秘密鍵)の所有者を証明する所有者の名前、所属組織名、メールアドレス等の情報が記載されており、さらに電子証明書自体の改ざんを防ぐためにTTPの電子署名が付与されている。電子証明書を文書に付すことで、なりすましや、改ざんなどのリスクを未然に防ぐことが出来る。また、TTPに信頼される私有鍵(秘密鍵)の所有者を加入者(Subscriber、サブスクライバー)という。
[Electronic certificate]
To communicate using the public key cryptosystem, the public key is sent to the communication partner. However, the communication partner cannot be seen by communication via the network, so a third party sends the public key as a communication partner. there's a possibility that. Therefore, it is necessary to confirm whether the public key is really sent from the correct party.
In PKI, for example, a trusted third party (TTP) guarantees the owner of a private key. In other words, TTP confirms the identity of the owner of a private key (private key), and an electronic certificate that links the public key paired with the private key (private key) and the owner of the private key (private key) (Public key certificate) is issued. The electronic certificate is an “identification card” that ensures the owner's information correctly.
A TTP that issues an electronic certificate is particularly called a certificate authority or a certification authority (CA).
The electronic certificate contains information such as the public key and the name, organization name, and email address of the owner that proves the owner of the private key (private key) corresponding to the public key. In order to prevent tampering of the certificate itself, an electronic signature of TTP is given. By attaching an electronic certificate to a document, it is possible to prevent risks such as impersonation and tampering. The owner of a private key (secret key) trusted by TTP is called a subscriber.

[電子署名]
電子証明書はさらに、電子署名を検証する用途に用いられる。通常、電子署名には、電子証明書を添付する。電子署名を受け取った利用者は、電子証明書に記載された公開鍵を使って署名を検証し、データの改ざん検知を行い、電子証明書に記載された内容を使って署名者の特定を行うことが出来る。
電子署名には、文書のハッシュ値を私有鍵(秘密鍵)で暗号化した値が含まれる(実際には、暗号処理と署名処理は異なるが、署名処理のことを広義の暗号化と呼ぶことが多い)。利用者Aが利用者Bに対して電子署名を付した文書ファイルを送る場合、利用者Aは、送信する文書ファイルをハッシュ関数にかけることによって得たハッシュ値を利用者Aの私有鍵(秘密鍵)を用いて暗号化し、電子署名を作成して、文書ファイルに添付する。
電子署名付きの文書ファイルを受け取った利用者Bは、電子署名に含まれる暗号化された値を利用者Aの公開鍵を使って復号化することによって得たハッシュ値と、文書ファイルをハッシュ関数にかけることによって得たハッシュ値と、を比較する。比較の結果、双方のハッシュ値が同一であれば、文書が改ざんされていないことが証明される。
[Electronic signature]
The electronic certificate is further used for verifying an electronic signature. Usually, an electronic certificate is attached to an electronic signature. The user who receives the electronic signature verifies the signature using the public key described in the electronic certificate, detects data falsification, and identifies the signer using the content described in the electronic certificate. I can do it.
A digital signature includes a value obtained by encrypting a hash value of a document with a private key (private key) (actually, encryption processing and signature processing are different, but signature processing is called encryption in a broad sense) Many). When user A sends a document file with an electronic signature to user B, user A uses a hash value obtained by applying the hash value to the document file to be transmitted, and user A's private key (secret Key) to create an electronic signature and attach it to the document file.
The user B who has received the document file with the electronic signature uses the hash value obtained by decrypting the encrypted value included in the electronic signature using the public key of the user A, and the hash function of the document file. The hash value obtained by applying to is compared. As a result of the comparison, if both hash values are the same, it is proved that the document has not been tampered with.

[リモート署名]
様々なクラウドサービス、オンラインサービスが提供され、クラウド上(サーバ上)で文書を扱うことが多くなっている。それに伴い、文書に対する電子署名を署名者のPC(Personal Computer)上ではなく、サーバ上(クラウド上)で行う「リモート署名(クラウド署名)」と呼ばれる方式の電子署名が普及しつつある。
より詳しくは、リモート署名とは、署名者の電子証明書、私有鍵(秘密鍵)を鍵管理システムで管理し、電子署名が必要なときには、鍵管理システム上で電子証明書、私有鍵(秘密鍵)を用いた電子署名を実行する仕組みである。
Remote signature
Various cloud services and online services are provided, and documents are often handled on the cloud (on the server). Accordingly, an electronic signature of a method called “remote signature (cloud signature)” in which an electronic signature for a document is performed not on the signer's PC (Personal Computer) but on the server (on the cloud) is becoming widespread.
More specifically, the remote signature means that the signer's digital certificate and private key (private key) are managed by the key management system. When digital signature is required, the digital certificate and private key (private key) are managed on the key management system. This is a mechanism for executing an electronic signature using a key.

リモート署名には、署名者が私有鍵(秘密鍵)を自ら管理する必要が無いという利点がある。さらに、PCのみならず、ウェブブラウザやスマートフォンなどのモバイルデバイスによっても文書に電子署名が可能である。従って、私有鍵(秘密鍵)を格納したスマートカードやUSBトークン等を用いたエンドポイントでの電子署名の生成に比べ、格段に利便性が向上する。さらに、鍵管理システムで私有鍵(秘密鍵)が堅牢に保護されるため、セキュリティの観点からも、より望ましい署名方法であると言える。   Remote signature has the advantage that the signer does not need to manage the private key (private key) himself. Furthermore, not only a PC but also a mobile device such as a web browser or a smartphone can electronically sign a document. Therefore, the convenience is significantly improved as compared with the generation of an electronic signature at an endpoint using a smart card storing a private key (private key) or a USB token. Furthermore, since the private key (private key) is securely protected by the key management system, it can be said that this is a more desirable signature method from the viewpoint of security.

上記のように、リモート署名のサービスを提供する署名システムでは、署名を行うために署名者の私有鍵(秘密鍵)と、それに紐づけた電子証明書と、が必要である。
下記に説明するが、私有鍵(秘密鍵)と公開鍵の鍵ペアは鍵管理システムで生成するものであるが、電子証明書は、私有鍵(秘密鍵)の所有者の身分を保障する認証局によって発行されるものであり、前述した理由により、鍵管理システムには、発行された電子証明書を適宜インポートする必要がある。
電子証明書のインポートは、署名システムにおいてリモート署名をおこなうための準備作業である。
As described above, in a signature system that provides a remote signature service, a signer's private key (private key) and an electronic certificate associated therewith are necessary to perform the signature.
As explained below, the private key (private key) and public key pair are generated by the key management system, but the digital certificate is an authentication that guarantees the identity of the private key (private key) owner. The key management system needs to appropriately import the issued electronic certificate for the reason described above.
The import of the electronic certificate is a preparation work for performing a remote signature in the signature system.

現状、そのような準備作用として、鍵管理システムが生成した公開鍵に基づいて認証局で生成された電子証明書を鍵管理システムにインポート(格納)するには、利用者(署名者)自身による以下のような手順が必要であった。
すなわち、
(1)利用者が自身の端末装置を用いて鍵管理システムにアカウントを作成する。
(2)利用者が自身の端末装置を用いて鍵管理システムにログインし、鍵管理システムで鍵ペアを生成する。
(3)利用者が自身の端末装置を用いて鍵管理システムにログインし、鍵管理システムに証明書署名要求(CSR:Certificate Signing Request)を生成させ、ダウンロードする。証明書署名要求は、証明書発行要求ともいう。
(4)利用者が自身の端末装置を用いて、(3)で取得した証明書署名要求(CSR)を認証局に送付する。
(5)認証局が上記証明書署名要求(CSR)に基づいて電子証明書を発行して利用者に送付する。
(6)利用者が鍵管理システムにログインし、(5)で送付された電子証明書を鍵管理システムにインポートする。
Currently, as such a preparatory action, the user (signer) himself / herself imports (stores) the electronic certificate generated by the certificate authority into the key management system based on the public key generated by the key management system. The following procedure was necessary.
That is,
(1) A user creates an account in the key management system using his / her terminal device.
(2) A user logs in to the key management system using his / her terminal device, and generates a key pair in the key management system.
(3) The user logs in to the key management system using his / her terminal device, causes the key management system to generate and download a certificate signing request (CSR: Certificate Signing Request). The certificate signing request is also called a certificate issuance request.
(4) The user sends the certificate signature request (CSR) acquired in (3) to the certificate authority using his / her terminal device.
(5) The certificate authority issues an electronic certificate based on the certificate signature request (CSR) and sends it to the user.
(6) The user logs in to the key management system, and imports the electronic certificate sent in (5) into the key management system.

このような準備作業では、利用者が自分で行う作業や手順が多く、また、技術的な知識も必要となるため、利用者に負担を強いるという問題があった。
また、認証局側の観点では、準備作業を利用者に行わせた結果、鍵管理システムの選択を利用者に委ねることになり、認証局側が鍵管理システムのセキュリティーレベルをコントロールすることが難しい、という問題があった。
In such preparation work, there are many work and procedures performed by the user himself, and technical knowledge is also required, so there is a problem that the user is burdened.
In addition, from the viewpoint of the CA, it is difficult for the CA to control the security level of the key management system, as a result of having the user perform the preparatory work, leaving the selection of the key management system to the user. There was a problem.

当然、認証局自体は信頼できる第三者機関であるが、鍵管理システムの中には、必ずしも信頼がおけないものがある。鍵管理システムの信頼性とは、私有鍵(秘密鍵)を適切な方法で管理しているか否かである。リモート署名では、私有鍵(秘密鍵)や電子証明書を後述するHSM(Hardware Security Module)と呼ばれる装置で安全に管理することが要求される。そのような要求を満たしていない鍵管理システムを利用者が選択し、利用することにはセキュリティリスクが伴う。   Of course, the certificate authority itself is a reliable third party, but some key management systems are not necessarily reliable. The reliability of the key management system is whether or not the private key (secret key) is managed by an appropriate method. Remote signatures require that private keys (private keys) and electronic certificates be securely managed by a device called HSM (Hardware Security Module), which will be described later. There are security risks associated with the user selecting and using a key management system that does not meet such requirements.

そこで本実施形態において、認証局は、信頼性を担保出来る鍵管理システムを登録する。そして、後述するOAuth2.0によるSSO(Single Sign On)の仕組みを用いて、認証局と、信頼された鍵管理システムと、の間で公開鍵と電子証明書のやりとりを行うことで、利用者の負担を軽減しながら、信頼性の高い鍵管理システムを利用者に利用させることが出来る。   Therefore, in this embodiment, the certificate authority registers a key management system that can ensure reliability. Then, using the SSO (Single Sign On) mechanism based on OAuth2.0, which will be described later, the public key and the electronic certificate are exchanged between the certificate authority and the trusted key management system, thereby enabling the user. It is possible to allow the user to use a highly reliable key management system while reducing the burden on the user.

RFC6749で定義されるOAuth2.0は、概略としては、リソースサーバが保有している保護リソース(重要情報や鍵等)をリソースオーナーの許可を得てクライアントが使用することができるようにする仕組みである。
そして、リソースサーバが保有する保護リソースに対するクライアントのアクセス可否を認可サーバがコントロールする。
保護リソースにアクセスするにはアクセストークン(Access token)と呼ばれる情報が必要であり、認可サーバは、アクセスを許可するクライアントに対してアクセストークン(Access token)を発行する。
OAuth2.0 defined in RFC6749 is a mechanism that allows clients to use protected resources (important information, keys, etc.) held by resource servers with the permission of the resource owner. is there.
Then, the authorization server controls whether the client can access the protected resource held by the resource server.
In order to access the protected resource, information called an access token is required, and the authorization server issues an access token to the client that permits access.

また、上記に加えてユーザーエージェント(例えばウェブブラウザ)がアクセスの介在をする場合がある。その場合、認可サーバにおけるリソースオーナーの認証、及び、認可サーバからクライアントへの認可コード(Authorization code)の送付を、ユーザーエージェントが仲介して行う。なお、認可コードは、認可トークンとも呼ぶ。   In addition to the above, a user agent (for example, a web browser) may intervene in access. In this case, the user agent mediates authentication of the resource owner in the authorization server and sending of an authorization code from the authorization server to the client. The authorization code is also called an authorization token.

図1は、ユーザーエージェントが介在するOAuth2.0の処理を説明する参考図である。
なお、図1の参考図は、RFC6749に開示されている図である。
図1を用いて、本実施形態を構成する、認証局としての証明書発行サーバ、鍵管理システム、端末装置と、OAuth2.0で定義される各エンティティとの対応付けを行うとともに、各エンティティによるOAuth2.0の処理を説明する。
なお、本実施形態の証明書発行システムが上記「クライアント」に対応し、本実施形態の端末装置で実行されるウェブブラウザ(後述)が上記「ユーザーエージェント」に対応する。また、本実施形態の鍵管理システムが上記「認可サーバ」に対応し、端末装置の利用者が上記「リソースオーナー」に対応する。
FIG. 1 is a reference diagram for explaining the OAuth 2.0 process involving a user agent.
The reference diagram of FIG. 1 is a diagram disclosed in RFC6749.
Using FIG. 1, the certificate issuing server, the key management system, and the terminal device constituting the present embodiment are associated with each entity defined in OAuth 2.0, and each entity Explain OAuth2.0 processing.
The certificate issuing system of the present embodiment corresponds to the “client”, and the web browser (described later) executed on the terminal device of the present embodiment corresponds to the “user agent”. Further, the key management system of the present embodiment corresponds to the “authorization server”, and the user of the terminal device corresponds to the “resource owner”.

図1の(A)において、クライアント(証明書発行サーバ)は、ユーザーエージェント(端末装置のウェブブラウザ)を経由してクライアントのID情報を認可サーバ(鍵管理システム)に送り(RFC6749#4.1.1.認可要求)、(B)において、認可サーバ(鍵管理システム)は、ユーザーエージェント(ウェブブラウザ)を経由してリソースオーナー(利用者)に認証・認可を実施する。
(C)において、認可サーバ(鍵管理システム)がリソースへのアクセスを許可する場合、認可サーバ(鍵管理システム)は、ユーザーエージェント(ウェブブラウザ)を経由してクライアント(証明書発行サーバ)に認可コード(Authorization code)を発行する(RFC6749#4.1.2.認可応答)。
(D)において、クライアント(証明書発行サーバ)は、認可コード(Authorization code)を提示することによって、認可サーバ(鍵管理システム)に対してアクセストークン(Access token)を要求する(RFC6749#4.1.3.アクセストークン要求)。
(E)において、認可サーバ(鍵管理システム)は、提示された認可コード(Authorization code)の検証に成功した場合、アクセストークン(Access token)をクライアント(証明書発行サーバ)に発行する(RFC6749#4.1.4.アクセストークン応答)。
In FIG. 1A, the client (certificate issuing server) sends the client ID information to the authorization server (key management system) via the user agent (web browser of the terminal device) (RFC6749 # 4.1). In 1. Authorization request) and (B), the authorization server (key management system) performs authentication and authorization on the resource owner (user) via the user agent (web browser).
In (C), when the authorization server (key management system) permits access to the resource, the authorization server (key management system) authorizes the client (certificate issuing server) via the user agent (web browser). A code (Authorization code) is issued (RFC6749 # 4.1.2. Authorization response).
In (D), the client (certificate issuing server) requests an access token from the authorization server (key management system) by presenting an authorization code (RFC6749 # 4. 1.3 Access token request).
In (E), when the authorization server (key management system) succeeds in verifying the presented authorization code (Authorization code), it issues an access token (Access token) to the client (certificate issuing server) (RFC6749 #). 4.1.4 Access token response).

本実施形態においては、利用者を認証局(証明書発行システム)の電子証明書発行ページにアクセスさせる。そして、認証局は、予め信頼できると決められている鍵管理システムに利用者を転送して当該の鍵管理システムにログインさせる(図1(A)の認可要求)。   In the present embodiment, the user is made to access the electronic certificate issuing page of the certificate authority (certificate issuing system). Then, the certificate authority transfers the user to a key management system that is determined to be reliable in advance and logs in to the key management system (authorization request in FIG. 1A).

利用者が鍵管理システムに対して行ったログイン認証が成功すると、鍵管理システムの認可コード(Authorization code)が、利用者(端末装置のウェブブラウザ)に送付され、この認可コード(Authorization code)は、認証局(証明書発行システム)に転送される(図1(C)の認可応答)。
認証局(証明書発行システム)は、この認可コード(Authorization code)を用いて、アクセストークン(Access token)の要求を鍵管理システムに対して行う(図1(D)のアクセストークン要求)。
認証局(証明書発行システム)は、鍵管理システムからアクセストークン(Access token)を付与される(図1(E)のアクセストークン応答)。
When the login authentication performed by the user to the key management system is successful, the authorization code (Authorization code) of the key management system is sent to the user (Web browser of the terminal device), and this authorization code (Authorization code) And transferred to the certificate authority (certificate issuing system) (authorization response in FIG. 1C).
The certificate authority (certificate issuing system) uses the authorization code to request an access token (Access token) (access token request in FIG. 1D).
The certificate authority (certificate issuing system) is given an access token from the key management system (access token response in FIG. 1E).

さらに、本実施形態の特徴として、認証局(証明書発行システム)は、そのアクセストークン(Access token)を使って鍵管理システムに対して証明書署名要求(CSR)の要求を行い、鍵管理システムから証明書署名要求(CSR)を受け取ることで電子証明書の発行を行う。
このような本実施形態のシステムによれば、利用者による認証という要件を満たしながら、認証局(証明書発行システム)側で鍵管理システムに対する証明書署名要求(CSR)の要求を行うことで、鍵管理システムから証明書署名要求(CSR)を直接受け取って、電子証明書を発行して鍵管理システムに送信し、インポートさせることが出来る。
Further, as a feature of the present embodiment, the certificate authority (certificate issuing system) uses the access token to make a certificate signature request (CSR) request to the key management system, and the key management system An electronic certificate is issued by receiving a certificate signing request (CSR) from the client.
According to such a system of the present embodiment, a certificate signing request (CSR) is made to the key management system on the certificate authority (certificate issuing system) side while satisfying the requirement of authentication by the user, A certificate signing request (CSR) can be received directly from the key management system, an electronic certificate can be issued and sent to the key management system for import.

以下に、本実施形態のシステム及びその処理をより詳しく説明する。
図2は、本実施形態のシステム構成を説明する図である。
図2に示すように、本実施形態のリモート署名システム1は、利用者の利用に係る端末装置10と、ユーザの電子証明書を発行する証明書発行サーバ20を含む証明書発行システム2と、ユーザの私有鍵(秘密鍵)及び公開鍵のペア、及び証明書発行サーバ20が発行した電子証明書を管理してリモート署名のサービスを提供するための鍵管理サーバ30を含む鍵管理システム3と、を備える。
端末装置1、証明書発行システム2、鍵管理システム3は、いずれもインターネットに接続され、互いに通信可能に構成されている。
これらの装置、システム間でやり取りされるデータの類は、おもにHTTPリクエストやHTTPレスポンスのパラメータとして(HTTPプロトコルを利用して)送受信されるが、セキュリティ確保のため、通信自体は保護されるのが慣例である(例えば、HTTPSを利用する)。
In the following, the system of this embodiment and its processing will be described in more detail.
FIG. 2 is a diagram for explaining the system configuration of the present embodiment.
As shown in FIG. 2, the remote signature system 1 of the present embodiment includes a terminal device 10 relating to use by a user, a certificate issuing system 2 including a certificate issuing server 20 that issues a user's electronic certificate, A key management system 3 including a key management server 30 for managing a user's private key (private key) and public key pair and an electronic certificate issued by the certificate issuing server 20 to provide a remote signature service; .
The terminal device 1, the certificate issuing system 2, and the key management system 3 are all connected to the Internet and configured to be able to communicate with each other.
The types of data exchanged between these devices and systems are mainly transmitted and received as parameters of HTTP requests and HTTP responses (using the HTTP protocol), but the communication itself is protected to ensure security. It is customary (for example, using HTTPS).

上記したように、証明書発行システム2が上記OAuthにおけるクライアントに対応し、
端末装置10で実行されるウェブブラウザがユーザーエージェントに対応する。また、鍵管理システム3が認可サーバに対応し、端末装置10の利用者が上記リソースオーナーに対応する。
従って、証明書発行システム2を構成する証明書発行装置20、鍵管理システム3を構成する鍵管理サーバ30、端末装置10のウェブブラウザは、夫々上記に説明したOAuthに準拠した処理を実行可能に構成されている。
As described above, the certificate issuing system 2 corresponds to the client in the OAuth,
A web browser executed on the terminal device 10 corresponds to a user agent. The key management system 3 corresponds to the authorization server, and the user of the terminal device 10 corresponds to the resource owner.
Accordingly, the certificate issuing device 20 constituting the certificate issuing system 2, the key management server 30 constituting the key management system 3, and the web browser of the terminal device 10 can each execute the processing conforming to the OAuth described above. It is configured.

端末装置10は、ウェブブラウザ(ユーザーエージェント)を実行可能な一般的なPCやスマートフォンである。
端末装置10のCPUによって実行されるウェブブラウザは、証明書発行システム20から提供する電子証明書発行ページを要求するページ要求手段、証明書発行サーバ20から受信した転送ページ等を表示するページ表示手段、認可要求(Authorization request)を鍵管理サーバ30に送信し、認可コード(Authorization code)を含む認可応答(Authorization response)を受信するOAuth実行手段、KeyAliasとPINの入力を受け付けて鍵管理サーバ30に送信する鍵情報送信手段、鍵管理サーバ30から受信した認可コード(Authorization code)の証明書発行サーバ20への転送等の処理を行う認可コード送信手段等として機能する。
The terminal device 10 is a general PC or smartphone capable of executing a web browser (user agent).
The web browser executed by the CPU of the terminal device 10 includes a page request unit that requests an electronic certificate issuance page provided from the certificate issuance system 20, and a page display unit that displays a transfer page received from the certificate issuance server 20. The OAuth execution means for transmitting an authorization request to the key management server 30 and receiving an authorization response including the authorization code (Authorization code), receiving the input of the KeyAlias and PIN, and receiving the input to the key management server 30 It functions as a key information transmitting means for transmitting, an authorization code transmitting means for performing processing such as transfer of an authorization code received from the key management server 30 to the certificate issuing server 20 and the like.

証明書発行サーバ20は、電子証明書を発行する認証局に属する。上記したように、認証局は、公開鍵基盤(PKI:Public Key Infrastructure)で用いられる私有鍵の所有者を確認するために用いられる電子証明書を発行する機関である。
証明書発行システム2は、上記証明書発行サーバ20に加え、利用者のウェブブラウザによるリクエストを受け付けて電子証明書発行ページのデータを端末装置10に供給するウェブサーバをさらに備えてもよい。また、ウェブサーバの機能は、証明書発行サーバ20自体が備えていてもよい。
The certificate issuing server 20 belongs to a certificate authority that issues an electronic certificate. As described above, the certificate authority is an organization that issues an electronic certificate used to confirm the owner of a private key used in a public key infrastructure (PKI).
In addition to the certificate issuing server 20, the certificate issuing system 2 may further include a web server that accepts a request from a user's web browser and supplies data of an electronic certificate issuing page to the terminal device 10. The function of the web server may be provided in the certificate issuing server 20 itself.

鍵管理システム3は、利用者の私有鍵(秘密鍵)、電子証明書を管理してリモート署名サービスを提供するシステムであり、要求に応じて電子署名を生成し、要求元に供給する。
本実施形態の鍵管理システム3は、例えば、鍵管理サーバ30と、ハードウェアセキュリティモジュール(HSM:Hardware Security Module)100と、を備えている。
HSM100は、利用者の私有鍵(秘密鍵)と公開鍵のペアを生成し、認証局で発行された利用者の電子証明書をインポートして管理するとともに、私有鍵(秘密鍵)を用いて電子署名を生成する装置である。
The key management system 3 is a system that manages a user's private key (private key) and an electronic certificate and provides a remote signature service. The key management system 3 generates an electronic signature in response to a request and supplies it to a request source.
The key management system 3 of the present embodiment includes, for example, a key management server 30 and a hardware security module (HSM: Hardware Security Module) 100.
The HSM 100 generates a user private key (private key) and public key pair, imports and manages the user's electronic certificate issued by the certificate authority, and uses the private key (private key). An apparatus for generating an electronic signature.

本実施形態のシステムにおいて、HSM100は、例えば、鍵管理サーバ30の内部バスに接続されるかたちで鍵管理サーバ30に内蔵される。また、HSM100は、鍵管理サーバの外部バス(USBバスなど)に接続されてもよい。
さらに、HSM100はネットワークインターフェイスを備え、HSM100単独でネットワークに接続可能とされてもよい。HSM100は、鍵管理サーバ30と同一のローカルネットワーク、遠隔のネットワークにおいて、鍵管理サーバ30と通信可能に接続される。
その場合、鍵管理サーバ30は、ネットワーク経由で、端末装置10からの要求に応じてHSM100に鍵ペアの生成を命令し、証明書発行サーバ20(認証局)から送信された電子証明書をHSM100にインポートする。
In the system of the present embodiment, the HSM 100 is built in the key management server 30 in a form connected to the internal bus of the key management server 30, for example. Also, the HSM 100 may be connected to an external bus (such as a USB bus) of the key management server.
Further, the HSM 100 may include a network interface, and the HSM 100 alone may be connectable to the network. The HSM 100 is communicably connected to the key management server 30 in the same local network or remote network as the key management server 30.
In this case, the key management server 30 instructs the HSM 100 to generate a key pair in response to a request from the terminal device 10 via the network, and the electronic certificate transmitted from the certificate issuing server 20 (certificate authority) is sent to the HSM 100. To import.

上記のOAuthの説明においても述べたが、図2に示すシステム1において、証明書発行サーバ20によってリダイレクトされた利用者(端末装置10で実行されるウェブブラウザ)が鍵管理サーバ30に対して認証を要求し、認証が成功した際には、鍵管理サーバ30は、端末装置10(ウェブブラウザ)に対して認可コード(Authorization code)を送付する。
なお、鍵管理サーバ30に対して認証の要求を行うか否か、認証が成功しても認可を確立させるか否かは、利用者自身の裁量で決定出来る。リダイレクト画面に示される認証要求の可否を確認するダイアログ画面において、利用者は、認証要求の可否を選択することが出来る。あるいは認証成功後に、認可確立の是非を確認するダイアログ画面において、利用者は、認証確立の是非を選択することが出来る。
As described in the above description of OAuth, in the system 1 shown in FIG. 2, the user redirected by the certificate issuing server 20 (web browser executed by the terminal device 10) authenticates to the key management server 30. When the authentication is successful, the key management server 30 sends an authorization code to the terminal device 10 (web browser).
Whether or not to make an authentication request to the key management server 30 and whether to establish authorization even if the authentication is successful can be determined at the discretion of the user himself / herself. In the dialog screen for confirming whether or not an authentication request can be displayed on the redirect screen, the user can select whether or not an authentication request can be made. Alternatively, after successful authentication, the user can select the right or wrong of authentication establishment on the dialog screen for confirming the right or wrong of establishment of authorization.

認可コード(Authorization code)を受け取った端末装置10(ウェブブラウザ)は、その認可コード(Authorization code)を証明書発行サーバ20に送付(転送)する。
証明書発行サーバ20は、端末装置10(ウェブブラウザ)より送付された認可コード(Authorization code)を鍵管理サーバ30に送付し、鍵管理サーバ30は、その認可コード(Authorization code)と引き換えにアクセストークン(Access token)を証明書発行サーバ20に送付する。
証明書発行サーバ20がアクセストークン(Access token)を鍵管理サーバ30に提示することで、証明書発行サーバ20は、鍵管理サーバ30より証明書署名要求(CSR)を入手することが出来る。そして、証明書発行サーバ20は、証明書署名要求(CSR)に記載されている公開鍵に対して電子証明書を発行する。
Upon receiving the authorization code (Authorization code), the terminal device 10 (web browser) sends (transfers) the authorization code (Authorization code) to the certificate issuing server 20.
The certificate issuing server 20 sends an authorization code (Authorization code) sent from the terminal device 10 (web browser) to the key management server 30, and the key management server 30 accesses in exchange for the authorization code (Authorization code). A token (Access token) is sent to the certificate issuing server 20.
The certificate issuing server 20 presents an access token to the key management server 30, whereby the certificate issuing server 20 can obtain a certificate signature request (CSR) from the key management server 30. The certificate issuing server 20 issues an electronic certificate to the public key described in the certificate signature request (CSR).

なお、利用者が鍵管理サーバ30に対して認証を要求した際に利用者のアカウントが鍵管理サーバ30に存在しない場合、鍵管理サーバ30は、利用者に新規アカウントの作成を促す。利用者が鍵管理サーバ30に新規アカウントを作成した後、鍵管理サーバ30は、その利用者(ウェブブラウザ)に対して認可コード(Authorization code)を送付することができる。   If the user's account does not exist in the key management server 30 when the user requests authentication from the key management server 30, the key management server 30 prompts the user to create a new account. After the user creates a new account in the key management server 30, the key management server 30 can send an authorization code to the user (web browser).

図3は、本実施形態の証明書発行サーバの構成を示す図であり、(a)は、ハードウェアによる機能構成を示す図、(b)は、ソフトウェアによる機能構成を示す図である。
図3(a)に示すように、証明書発行サーバ20は、装置全体の制御を行う汎用のオペレーティングシステムを実行するとともに、証明書発行サーバ20の機能を実現するプログラムを実行するCPU(Central Processing Unit)21と、CPU21による処理のために各種のプログラムや一時データ、変数が展開されるRAM(Random Access Memory)22と、プログラムやデータが格納されるHDD(Hard Disk Drive)23や不図示のROM(Read Only Memory)と、証明書発行サーバ20をネットワークに接続するためのネットワークI/F24と、を備えている。
FIG. 3 is a diagram illustrating a configuration of the certificate issuing server according to the present embodiment. FIG. 3A is a diagram illustrating a functional configuration using hardware, and FIG. 3B is a diagram illustrating a functional configuration using software.
As shown in FIG. 3A, the certificate issuing server 20 executes a general-purpose operating system that controls the entire apparatus and a CPU (Central Processing) that executes a program that realizes the function of the certificate issuing server 20. Unit) 21, a RAM (Random Access Memory) 22 in which various programs, temporary data, and variables are expanded for processing by the CPU 21, an HDD (Hard Disk Drive) 23 in which programs and data are stored, and an unillustrated A ROM (Read Only Memory) and a network I / F 24 for connecting the certificate issuing server 20 to the network are provided.

また、図3(b)に示すように、CPU21は、処理部として、ウェブページ処理部51と、OAuth実行処理部52と、署名リクエスト要求処理部53と、電子証明書発行処理部54と、を実行する。
ウェブページ処理部51は、所謂ウェブサーバとして機能し、端末装置10からのHTTPリクエストに応じて、HDD23に格納されるウェブページ(HTMLページ)のデータから電子証明書発行ページのデータを送信する。上記したように、ウェブページ処理部51は、証明書発行サーバ20とは異なる独立したサーバ装置(ウェブサーバ)として構成されてもよい。
すなわち、証明書発行サーバ20は、電子証明書の発行を受け付けるためのウェブページ(電子証明書発行ページ)を供給して端末装置のウェブブラウザで表示させるためのウェブサーバの機能を有する。あるいは、証明書発行システム3は、バックエンドの証明書発行サーバ30と、ユーザがアクセスするフロントエンドとしてのウェブサーバと、から構成されている。
Also, as shown in FIG. 3B, the CPU 21 has, as processing units, a web page processing unit 51, an OAuth execution processing unit 52, a signature request request processing unit 53, an electronic certificate issuance processing unit 54, Execute.
The web page processing unit 51 functions as a so-called web server, and transmits electronic certificate issuance page data from web page (HTML page) data stored in the HDD 23 in response to an HTTP request from the terminal device 10. As described above, the web page processing unit 51 may be configured as an independent server device (web server) different from the certificate issuing server 20.
That is, the certificate issuance server 20 has a function of a web server for supplying a web page (electronic certificate issuance page) for accepting issuance of an electronic certificate and displaying the web page on the web browser of the terminal device. Alternatively, the certificate issuing system 3 includes a back-end certificate issuing server 30 and a web server as a front end accessed by a user.

OAuth実行処理部52は、鍵管理サーバ20のOAuth実行処理部61とともに、所謂RFC6749に規定されるOAuth2.0の認可処理を制御するための処理部であり、端末装置10(ウェブブラウザ)から送信された認可コード(Authorization code)を用いて、鍵管理サーバ30にアクセストークン(Access token)を要求する処理を行う。
署名リクエスト要求処理部53は、OAuth実行処理部52によって取得されたアクセストークン(Access token)を用いて、証明書署名要求(CSR)を鍵管理サーバ20に要求する処理を行う処理部である。
電子証明書発行処理部54は、鍵管理サーバ20から送信された証明書署名要求(CSR)に含まれる公開鍵に基づいて電子証明書を発行する処理を行う処理部である。
The OAuth execution processing unit 52, together with the OAuth execution processing unit 61 of the key management server 20, is a processing unit for controlling the OAuth 2.0 authorization processing defined in so-called RFC6749, and is transmitted from the terminal device 10 (web browser). Processing for requesting an access token from the key management server 30 is performed using the authorized code.
The signature request request processing unit 53 is a processing unit that performs a process of requesting the key management server 20 for a certificate signature request (CSR) using the access token acquired by the OAuth execution processing unit 52.
The electronic certificate issuance processing unit 54 is a processing unit that performs processing for issuing an electronic certificate based on a public key included in a certificate signature request (CSR) transmitted from the key management server 20.

以上のような構成を備えることにより、証明書発行システム2は、リモート署名で求められる電子証明書の発行に際し、信頼された署名サービス(鍵管理システム3)に対する公開鍵を含む証明書署名要求の要求及び電子証明書の発行を、利用者の認証と管理のもと自動的に行うことが出来る。これにより、利用者の負担を軽減しながら電子証明書の発行を安全に行うことが出来る。   By providing the configuration as described above, the certificate issuing system 2 can issue a certificate signature request including a public key for a trusted signature service (key management system 3) when issuing an electronic certificate required for remote signature. Requests and issuance of electronic certificates can be automatically performed under user authentication and management. Thereby, it is possible to safely issue an electronic certificate while reducing the burden on the user.

図4は、本実施形態の鍵管理サーバの構成を示す図であり、(a)は、ハードウェアによる機能構成を示す図、(b)は、ソフトウェアによる機能構成を示す図である。
図4(a)に示すように、鍵管理サーバ30は、装置全体の制御を行う汎用のオペレーティングシステムを実行するとともに、鍵管理サーバ30の機能を実現するプログラムを実行するCPU(Central Processing Unit)31と、CPU31による処理のために各種のプログラムや一時データ、変数が展開されるRAM(Random Access Memory)32と、プログラムやデータが格納されるHDD(Hard Disk Drive)33や不図示のROM(Read Only Memory)と、鍵管理サーバ30をネットワークに接続するためのネットワークI/F34と、を備えている。
4A and 4B are diagrams illustrating the configuration of the key management server according to the present embodiment. FIG. 4A is a diagram illustrating a functional configuration using hardware, and FIG. 4B is a diagram illustrating a functional configuration using software.
As shown in FIG. 4 (a), the key management server 30 executes a general-purpose operating system that controls the entire apparatus, and a CPU (Central Processing Unit) that executes a program that implements the functions of the key management server 30. 31, a RAM (Random Access Memory) 32 in which various programs, temporary data, and variables are expanded for processing by the CPU 31, an HDD (Hard Disk Drive) 33 in which programs and data are stored, and a ROM (not shown) (not shown) Read Only Memory) and a network I / F 34 for connecting the key management server 30 to the network.

さらに、鍵管理サーバ30は、内部バスに接続されたハードウェアセキュリティモジュール(HSM:Hardware Security Module)100を備えている。この場合、鍵管理サーバ30は、鍵管理システム3と同義である。
なお、上記したように、HSM100は、鍵管理サーバ30の外部バスに接続されていてもよいし、ネットワークI/Fを有してネットワーク経由で鍵管理サーバ30と接続可能されてもよい。この場合、鍵管理サーバ30と、ネットワーク接続型HSM100と、によって鍵管理システム3が構成される。
Furthermore, the key management server 30 includes a hardware security module (HSM) 100 connected to an internal bus. In this case, the key management server 30 is synonymous with the key management system 3.
As described above, the HSM 100 may be connected to the external bus of the key management server 30 or may be connected to the key management server 30 via a network having a network I / F. In this case, the key management system 3 is configured by the key management server 30 and the network connection type HSM 100.

また、図4(b)に示すように、CPU31は、処理部として、OAuth実行処理部61と、ユーザ認証処理部62と、鍵生成処理部63と、署名要求処理部64と、証明書格納処理部65と、を実行する。
OAuth実行処理部61は、証明書発行サーバ30のOAuth実行処理部52とともに、RFC6749に規定されるOAuth2.0の認可処理を制御するための処理部である。
OAuth実行処理部61は、端末装置10(ウェブブラウザ)から認可要求(Authorization request)を受信すると、認証画面を端末装置10に表示させ、ユーザ認証処理部62による認証が成功した場合に、認可応答(Authorization response)として、認可コード(Authorization code)を端末装置10に送信する。
さらに、OAuth実行処理部61は、証明書発行サーバ20から認可コード(Authorization code)とともにアクセストークン(Access token)を要求されると、証明書発行サーバ20に対してアクセストークン(Access token)を送信する処理を行う。
Further, as shown in FIG. 4B, the CPU 31 functions as an OAuth execution processing unit 61, a user authentication processing unit 62, a key generation processing unit 63, a signature request processing unit 64, and a certificate storage. The processing unit 65 is executed.
The OAuth execution processing unit 61 is a processing unit for controlling the OAuth 2.0 authorization process defined in RFC6749 together with the OAuth execution processing unit 52 of the certificate issuing server 30.
When the OAuth execution processing unit 61 receives an authorization request from the terminal device 10 (web browser), the OAuth execution processing unit 61 displays an authentication screen on the terminal device 10, and when the authentication by the user authentication processing unit 62 is successful, an authorization response As an (Authorization response), an authorization code is transmitted to the terminal device 10.
Furthermore, when the OAuth execution processing unit 61 requests an access token (Access token) together with an authorization code from the certificate issuing server 20, the OAuth execution processing unit 61 transmits the access token (Access token) to the certificate issuing server 20. Perform the process.

ユーザ認証処理部62は、端末装置10に表示された認証画面に入力された認証情報(例えば、ユーザID及びパスワードの組み合わせ)を認証し、認証されれば上記OAuth実行処理部61に通知する処理を行う処理部である。
鍵生成処理部63は、HSM100を制御し、私有鍵(秘密鍵)と公開鍵のペアを生成させる鍵生成処理を行う処理部である。私有鍵(秘密鍵)は、例えば、端末装置10から受信したKeyAlias、PINに基づいて生成される。
署名要求処理部64は、証明書発行サーバ20から証明書署名要求(CSR)を要求されると、鍵生成処理部63で生成した公開鍵を含む証明書署名要求(CSR)を証明書発行サーバ20に送信する処理を行う処理部である。
証明書格納処理部65は、証明書発行サーバ20から送信された電子証明書を、HSM100に格納(インポート)する処理を行う処理部である。
また、鍵管理サーバ30のCPU31は、電子証明発行要求に応じて、HSM100に電子署名を生成させる処理を行う電子署名生成処理部を実行する。
The user authentication processing unit 62 authenticates authentication information (for example, a combination of a user ID and a password) input on the authentication screen displayed on the terminal device 10, and if authenticated, notifies the OAuth execution processing unit 61 Is a processing unit.
The key generation processing unit 63 is a processing unit that controls the HSM 100 and performs a key generation process for generating a private key (secret key) and public key pair. The private key (secret key) is generated based on, for example, KeyAlias and PIN received from the terminal device 10.
When requested by the certificate issuing server 20 for a certificate signature request (CSR), the signature request processing unit 64 sends a certificate signature request (CSR) including the public key generated by the key generation processing unit 63 to the certificate issuing server. 20 is a processing unit that performs processing to be transmitted to 20.
The certificate storage processing unit 65 is a processing unit that performs processing for storing (importing) the electronic certificate transmitted from the certificate issuing server 20 in the HSM 100.
Further, the CPU 31 of the key management server 30 executes an electronic signature generation processing unit that performs processing for generating an electronic signature by the HSM 100 in response to an electronic certificate issuance request.

以上のような構成を備えることにより、本実施形態の鍵管理システム3は、リモート署名で求められる電子証明書の発行に際し、利用者の認証と管理のもと、証明書発行システム2に対して公開鍵を含む証明書署名要求を自動で行い、電子証明書の発行を行わせることが出来る。これにより、利用者の負担を軽減しながら電子証明書の発行を安全に行うことが出来る。   By providing the configuration as described above, the key management system 3 according to the present embodiment allows the certificate issuing system 2 to perform authentication and management of a user when issuing an electronic certificate required by a remote signature. It is possible to automatically issue a certificate signing request including a public key and issue an electronic certificate. Thereby, it is possible to safely issue an electronic certificate while reducing the burden on the user.

図5は、本実施形態のリモート署名システムにおける電子証明書格納処理の流れを説明する図である。
シングルサインオンの技術において、鍵管理システム3(鍵管理サーバ30)は、認証情報を提供する側であるIdentity Provider(IdP)であり、認証局である証明書発行システム2(証明書発行サーバ20)は、認証情報を利用する側であるService Provider(SP)である。
FIG. 5 is a diagram for explaining the flow of electronic certificate storage processing in the remote signature system of this embodiment.
In the single sign-on technology, the key management system 3 (key management server 30) is an Identity Provider (IdP) that provides authentication information, and a certificate issuing system 2 (certificate issuing server 20) that is a certificate authority. ) Is a service provider (SP) that uses authentication information.

ステップS1において、利用者が使用する端末装置10(ウェブブラウザ)は、認証局(CA)の証明書発行サーバ20にアクセスする。
電子証明書発行ページのリクエストを受けた証明書発行サーバ20は、ステップS2において、利用者を鍵管理サーバ30にリダイレクトするページを端末装置10に供給する。
利用者の操作によって、端末装置10は、ステップS3において、鍵管理サーバ30に対して、認可要求(Authorization request)の送信を行う(RFC6749#4.1.1.)。これは、シングルサインオンの仕組みにおいてユーザの認証を要求するための手続である。
In step S1, the terminal device 10 (web browser) used by the user accesses the certificate issuing server 20 of the certificate authority (CA).
Upon receiving the request for the electronic certificate issuance page, the certificate issuance server 20 supplies the terminal device 10 with a page for redirecting the user to the key management server 30 in step S2.
By the user's operation, the terminal device 10 transmits an authorization request to the key management server 30 in step S3 (RFC6749 # 4.1.1.). This is a procedure for requesting user authentication in the single sign-on mechanism.

ステップS4のユーザ認証処理において、鍵管理サーバ30は、認証情報(例えば、ユーザIDとパスワード)の入力を利用者に要求する。また、当該の利用者のアカウントが未作成の場合には、鍵管理サーバ30は、当該利用者のためのアカウントを新規に作成する処理を行う。
なお、ステップS4のユーザ認証処理において、認証情報の入力はRFC6749(OAuth2.0)で規定される処理とは異なり、鍵管理サーバ30と端末装置10との間で別途確立されるセッションにおいて行われる。
認証の方法は、ユーザID及びパスワードの組み合わせを認証する形式のみならず、ICカードに格納されたトークンが端末装置か10から鍵管理サーバ30に送付されることにより認証が行われる場合もある。
ユーザの認証又はアカウントの作成が正常に行われると、鍵管理サーバ30は、利用者の確認を得たうえで認可を確立し、ステップS5において、認可応答(Authorization response)として、認可コード(Authorization code)を端末装置10に送信する(RFC6749#4.1.2.)。
In the user authentication process in step S4, the key management server 30 requests the user to input authentication information (for example, user ID and password). If the account for the user has not been created, the key management server 30 performs processing for creating a new account for the user.
In the user authentication process in step S4, authentication information is input in a session separately established between the key management server 30 and the terminal device 10, unlike the process defined by RFC6749 (OAuth2.0). .
As an authentication method, not only a format for authenticating a combination of a user ID and a password but also authentication may be performed by sending a token stored in the IC card from the terminal device 10 to the key management server 30.
When the user authentication or the account creation is normally performed, the key management server 30 establishes the authorization after obtaining the confirmation of the user, and in step S5, the authorization code (Authorization) is used as an authorization response. code) is transmitted to the terminal device 10 (RFC6749 # 4.1.2.).

なお、例えばこの段階で、ステップS6において、端末装置10(ウェブブラウザ)は、利用者が入力したKeyAlias(鍵に付す識別用の名前)とPINを鍵管理サーバ30に送信する。
それに対して、鍵管理サーバ30は、ステップS7において、利用者が入力したKeyAliasとPINに基づいて、HSM(Hardware Security Module)100に私有鍵(秘密鍵)と公開鍵のペアを生成させ、HSM100に格納させる。
なお実際には、鍵ペアの生成は、後述する公開鍵を含む証明書署名要求(CSR)の送信時までに行われていればよい。
For example, at this stage, in step S6, the terminal device 10 (web browser) transmits the key alias (name for identification attached to the key) and the PIN input by the user to the key management server 30.
On the other hand, in step S7, the key management server 30 causes the HSM (Hardware Security Module) 100 to generate a private key (private key) and public key pair based on the key alias and PIN input by the user. To store.
In practice, the key pair may be generated by the time when a certificate signature request (CSR) including a public key, which will be described later, is transmitted.

鍵管理サーバ30から送信された認可コード(Authorization code)を受信した端末装置10(ウェブブラウザ)は、ステップS8において、認可コード(Authorization code)を証明書発行サーバ20に転送(Redirect)する。
端末装置10から転送された認可コード(Authorization code)を取得した証明書発行サーバ20は、ステップS9において、この認可コード(Authorization code)を用いて、Access token request(アクセストークン要求)を鍵管理サーバ30に対して行う(RFC6749#4.1.3.)。
In step S8, the terminal device 10 (web browser) that has received the authorization code (Authorization code) transmitted from the key management server 30 transfers (Redirect) the authorization code (Authorization code) to the certificate issuing server 20.
In step S9, the certificate issuing server 20 that has acquired the authorization code (Authorization code) transferred from the terminal device 10 uses the authorization code (Authorization code) to send an Access token request to the key management server. 30 (RFC6749 # 4.1.3.).

Access token request(アクセストークン要求)を受けつけた鍵管理サーバ30は、ステップS10において、アクセストークン応答(Access token response)を証明書発行サーバ20に返す。
すなわち、鍵管理サーバ30は、アクセストークン(Access token)を証明書発行サーバ20に送信する(RFC6749#4.1.4.)。
The key management server 30 that has received the access token request returns an access token response to the certificate issuing server 20 in step S10.
That is, the key management server 30 transmits an access token to the certificate issuing server 20 (RFC6749 # 4.1.4.).

鍵管理サーバ30からアクセストークン(Access token)を取得した証明書発行サーバ20は、ステップS11において、このアクセストークン(Access token)を用いて、鍵管理サーバ30に対して証明書署名要求(CSR)の要求を行う。
証明書署名要求(CSR)の要求を受けた鍵管理サーバ30は、ステップS12において、証明書署名要求(CSR)を証明書発行サーバ20に対して行う。証明書署名要求は、鍵管理サーバ30が生成した公開鍵を含む。
証明書署名要求を受けた証明書発行サーバ20は、ステップS13において、電子証明書の発行を行い、ステップS14で、例えば鍵管理サーバ30に対してポストし、ステップS15で、鍵管理サーバ30はそれを受け入れる(格納する)。
鍵管理サーバ30は、ポストされた電子証明書を私有鍵(秘密鍵)、公開鍵とともに管理する。
The certificate issuing server 20 that has acquired the access token (Access token) from the key management server 30 uses the access token (Access token) in step S11 to request a certificate signature request (CSR) from the key management server 30. Make a request.
The key management server 30 that has received the certificate signature request (CSR) request makes a certificate signature request (CSR) to the certificate issuing server 20 in step S12. The certificate signature request includes the public key generated by the key management server 30.
Upon receiving the certificate signature request, the certificate issuing server 20 issues an electronic certificate in step S13, posts it to, for example, the key management server 30 in step S14, and in step S15, the key management server 30 Accept (store) it.
The key management server 30 manages the posted electronic certificate together with a private key (private key) and a public key.

図6は、図5に示した電子証明書格納処理の後の、リモート署名処理の流れを説明する図である。
端末装置10からの要求に応じて、証明書発行サーバ20は、ステップS21において、図5の処理で取得したアクセストークン(Access token)を用いて、リモート署名要求を鍵管理サーバ30に送信する。
なお、このリモート署名要求は、遠隔で電子署名の生成を要求する処理であり、上記した電子証明書格納処理における電子証明書の発行(署名)を要求する証明書署名要求とは異なる処理である。
リモート署名要求送信を受信した鍵管理サーバ30は、ステップS22において、電子署名を生成し(HSM100に電子署名を生成させ)、ステップS23において、生成された電子署名を証明書発行サーバ20に送信する。
FIG. 6 is a diagram for explaining the flow of the remote signature process after the electronic certificate storing process shown in FIG.
In response to the request from the terminal device 10, the certificate issuing server 20 transmits a remote signature request to the key management server 30 using the access token acquired in the process of FIG.
This remote signature request is a process for remotely requesting generation of an electronic signature, and is a process different from the certificate signature request for requesting issuance (signature) of an electronic certificate in the electronic certificate storage process described above. .
The key management server 30 that has received the remote signature request transmission generates an electronic signature in step S22 (the HSM 100 generates an electronic signature), and transmits the generated electronic signature to the certificate issuing server 20 in step S23. .

上記したように、本実施形態の証明書発行サーバ20は、鍵管理サーバ30からOAuth2.0の仕組みを用いて、証明書署名要求(CSR)を鍵管理サーバ30に対して要求する為のアクセストークン(Access token)を取得する。
そして、証明書発行サーバ20は、このアクセストークン(Access token)を、証明書署名要求(CSR)の要求のみならず、鍵管理サーバ30に対するリモート署名の要求にも利用することが出来る。
As described above, the certificate issuing server 20 according to the present embodiment uses the OAuth2.0 mechanism from the key management server 30 to access the key management server 30 for requesting a certificate signature request (CSR). Get a token (Access token).
The certificate issuing server 20 can use the access token not only for a request for a certificate signature request (CSR) but also for a request for a remote signature to the key management server 30.

以上説明したように、本実施形態のリモート署名システムでは、電子証明書の発行に際して、認証局(証明書発行システム)と信頼された署名サービス(鍵管理サーバ)との間で、公開鍵を含む証明書署名要求及び電子証明書のやりとりが、利用者の認証と管理のもと自動的に行われる。特に、証明書発行サーバは、電子証明書の発行を自動的に行うことが出来る。
これにより、利用者の負担を軽減しながら、電子証明書の発行、鍵管理サーバへの電子証明書の登録が安全に実施可能な電子署名システムを実現し、信頼性の高い署名サービスを利用者に利用させることが出来る。
As described above, in the remote signature system of this embodiment, when issuing an electronic certificate, a public key is included between a certificate authority (certificate issuing system) and a trusted signature service (key management server). The exchange of the certificate signature request and the electronic certificate is automatically performed under the authentication and management of the user. In particular, the certificate issuing server can automatically issue an electronic certificate.
This realizes an electronic signature system that can safely issue an electronic certificate and register an electronic certificate in a key management server while reducing the burden on the user, and provides a highly reliable signature service to the user. Can be used.

なお、上記では、端末装置10と、証明書発行システム(証明書発行サーバ20)と、鍵管理システム3(鍵管理サーバ30)と、がそれぞれ一つずつ含まれるシステムを説明した。
それに限らず、本実施形態のリモート署名システム1は、複数の端末装置10、複数の証明書発行システム20、複数の鍵管理システム30によって構成されることが出来る。
In the above description, the system in which each of the terminal device 10, the certificate issuing system (certificate issuing server 20), and the key management system 3 (key management server 30) is included has been described.
However, the remote signature system 1 according to the present embodiment can be configured by a plurality of terminal devices 10, a plurality of certificate issuing systems 20, and a plurality of key management systems 30.

1または複数の端末装置10の利用者は、上記に説明した機能を有する複数の証明書発行システム(認証局)の中から、任意の証明書発行システム20を選択し、その証明書発行ページにアクセスすることが出来る。
また、一の証明書発行システム20は、上記に説明した機能を有する複数の鍵管理システム30を信頼し、上記の手順に従って、各鍵管理システムで発行された公開鍵について電子証明書を発行して登録する処理を行う。
各証明書発行システムは、利用者をリダイレクト可能な鍵管理システムが複数ある場合、例えば、証明書発行ページに、利用可能な鍵管理システムのリストを表示し、その中から、利用する鍵管理システムを利用者に選択させることが出来る。
A user of one or a plurality of terminal devices 10 selects an arbitrary certificate issuing system 20 from a plurality of certificate issuing systems (certificate authorities) having the functions described above, and enters the certificate issuing page. Can be accessed.
In addition, one certificate issuing system 20 trusts a plurality of key management systems 30 having the functions described above, and issues an electronic certificate for the public key issued by each key management system according to the above procedure. Process to register.
When each certificate issuing system has a plurality of key management systems capable of redirecting users, for example, a list of available key management systems is displayed on the certificate issuing page, and the key management system to be used is displayed from the list. Can be selected by the user.

なお、上記の特許文献1(特開2010−200142公報)には、ユーザ端末、電子署名サーバ、認証局と、を備えたシステムが開示されている。
この特許文献1においては、認証局が秘密鍵、公開鍵の鍵ペアを生成する。そして、電子署名サーバは、認証局に対して公開鍵に基づく電子証明書の発行を要求する。認証局は、発行した電子証明書と秘密鍵をPKCS#12と呼ばれる形式のファイルに格納し、電子署名サーバに供給する。
そして、電子署名サーバは、ユーザ端末からの求めに応じて、電子証明書、秘密鍵を用いて電子署名を行う。
In addition, the above-described Patent Document 1 (Japanese Patent Laid-Open No. 2010-200142) discloses a system including a user terminal, an electronic signature server, and a certificate authority.
In Patent Document 1, a certificate authority generates a key pair of a secret key and a public key. Then, the electronic signature server requests the certificate authority to issue an electronic certificate based on the public key. The certificate authority stores the issued electronic certificate and private key in a file called PKCS # 12 and supplies it to the electronic signature server.
Then, the electronic signature server performs an electronic signature using the electronic certificate and the private key in response to a request from the user terminal.

このように、特許文献1では認証局が鍵ペアを生成し、電子署名サーバは、認証局と直接的なやりとりによって証明書署名要求を行い、かつ生成された証明書と秘密鍵も、電子署名サーバと認証局の直接的なやりとりによって行われる。その間の通信において、利用者が介在する余地はない。   As described above, in Patent Document 1, the certificate authority generates a key pair, the electronic signature server makes a certificate signature request through direct exchange with the certificate authority, and the generated certificate and private key are also included in the electronic signature. This is done by direct exchange between the server and the certificate authority. There is no room for the user to intervene during the communication.

それに対し本実施形態では、認証局(証明書発行システム)と、鍵管理サーバとの間に、利用者の端末装置が介在し、OAuth2.0(RFC6749)の仕組みを用いて利用者が鍵管理サーバに対する認証を行い、その結果払い出されるアクセストークン(Access token)を用いて、認証局(証明書発行システム)と鍵管理サーバとの間で電子証明書の授受が行われる。
本実施形態において、私有鍵(秘密鍵)は、そもそも鍵管理サーバで生成されるものであり、認証局と鍵管理サーバとの間で授受されるものではない。
本実施形態では、利用者による鍵管理サーバに対する認証を契機に証明書署名要求、電子証明書のやり取りが行われるため、従来の方法に比べ、より安全に電子証明書の発行が可能である。また、私有鍵(秘密鍵)は、鍵管理システムで生成された後、他のサーバや端末に送信されることがないため、外部に漏れるリスクが低く、より安全な電子署名システムの運用が可能となる。
On the other hand, in this embodiment, a user terminal device is interposed between the certificate authority (certificate issuing system) and the key management server, and the user manages the key using the mechanism of OAuth2.0 (RFC6749). Authentication for the server is performed, and an electronic certificate is exchanged between the certificate authority (certificate issuing system) and the key management server using an access token that is issued as a result.
In the present embodiment, the private key (secret key) is originally generated by the key management server and is not exchanged between the certificate authority and the key management server.
In the present embodiment, since a certificate signature request and electronic certificate are exchanged when the user authenticates the key management server, the electronic certificate can be issued more safely than the conventional method. In addition, since private keys (secret keys) are generated by the key management system and are not sent to other servers or terminals, there is a low risk of leaking to the outside and a safer digital signature system can be operated. It becomes.

[第1の発明]
本実施形態に係る第1の発明は、電子証明書を発行する証明書発行システム2と、利用者の秘密鍵を管理する機能を有し、秘密鍵を用いて電子署名を生成する鍵管理システム3と、利用者が利用する端末装置10と、を備える電子署名システムであって、端末装置10は、鍵管理システム3に対して利用者の認証を要求し、認証が成功した場合、鍵管理システム3は、端末装置10に対して認可コードを送信し、認可コードを取得した端末装置10は、認可コードを証明書発行システム2に転送し、認可コードを取得した証明書発行システム2は、認可コードを鍵管理システム3に送信することによりアクセストークンを要求し、鍵管理システム3は、アクセストークンを電子証明書発行システム2に送信し、証明書発行システム2は、アクセストークンを鍵管理システム3に提示することによって、鍵管理システム3から利用者の公開鍵を含む証明書発行要求を取得し、公開鍵に対して電子証明書を発行する電子署名システム1を特徴とする。
第1の発明の電子署名システムでは、リモート署名で求められる電子証明書の発行に際し、公開鍵を含む証明書署名要求及び電子証明書の発行が、利用者の認証と管理のもと、認証局(証明書発行システム2)と信頼された署名サービス(鍵管理システム3)との間で自動的に行われる。
これにより、利用者の負担を軽減しながら電子証明書の安全な発行が可能な電子署名システムを実現することが出来る。
[First invention]
The first invention according to the present embodiment includes a certificate issuing system 2 that issues an electronic certificate, and a key management system that has a function of managing a user's private key and generates an electronic signature using the private key. 3 and a terminal device 10 used by the user, the terminal device 10 requests the key management system 3 to authenticate the user, and if the authentication is successful, the key management The system 3 transmits an authorization code to the terminal device 10, the terminal device 10 that has acquired the authorization code transfers the authorization code to the certificate issuing system 2, and the certificate issuing system 2 that has acquired the authorization code An access token is requested by sending an authorization code to the key management system 3, the key management system 3 sends the access token to the electronic certificate issuing system 2, and the certificate issuing system 2 The electronic signature system 1 that obtains a certificate issuance request including a user's public key from the key management system 3 by presenting the token to the key management system 3 and issues an electronic certificate to the public key is characterized. To do.
In the electronic signature system according to the first aspect of the present invention, when issuing an electronic certificate required for remote signature, a certificate signing request including a public key and an electronic certificate are issued under the authentication and management of the user. This is automatically performed between the (certificate issuing system 2) and the trusted signature service (key management system 3).
Thereby, it is possible to realize an electronic signature system that can safely issue an electronic certificate while reducing the burden on the user.

[第2の発明]
本実施形態に係る第2の発明は、電子証明書を発行する証明書発行システムであって、利用者が利用する端末装置が利用者の認証を鍵管理システムに要求することによって鍵管理システムにより発行された認可コードを取得する認可コード取得手段(OAuth実行処理部52)と、取得された認可コードを用いて鍵管理システムにアクセストークンを要求する第1要求手段(OAuth実行処理部52)と、第1要求手段による要求に応じて取得したアクセストークンを用いて、利用者の公開鍵を含む証明書発行要求を鍵管理システムに要求する第2要求手段(署名リクエスト要求処理部53)と、第1要求手段による要求に応じて取得した証明書発行要求に含まれる公開鍵に対して電子証明書を発行する発行手段(電子証明書発行処理部54)と、を備える証明書発行システムを特徴とする。
第2の発明の証明書発行システムは、リモート署名で求められる電子証明書の発行に際し、信頼された署名サービス(鍵管理システム3)に対する公開鍵を含む証明書署名要求の要求及び電子証明書の発行を、利用者の認証と管理のもと自動的に行うことが出来る。
これにより、利用者の負担を軽減しながら電子証明書の発行を安全に行うことが出来る。
[Second invention]
A second invention according to the present embodiment is a certificate issuing system that issues an electronic certificate, and the terminal device used by the user requests the key management system to authenticate the user. An authorization code acquisition unit (OAuth execution processing unit 52) for acquiring the issued authorization code, and a first request unit (OAuth execution processing unit 52) for requesting an access token from the key management system using the acquired authorization code; Second request means (signature request request processing unit 53) for requesting the key management system for a certificate issuance request including the public key of the user using the access token acquired in response to the request by the first request means; Issuing means for issuing an electronic certificate to the public key included in the certificate issuance request acquired in response to the request by the first requesting means (electronic certificate issuance processing unit) 4 and), and wherein the certificate issuing system comprising a.
The certificate issuing system according to the second aspect of the invention issues a request for a certificate signing request including a public key for a trusted signature service (key management system 3) and an electronic certificate when issuing an electronic certificate required for remote signature. Issuing can be performed automatically under user authentication and management.
Thereby, it is possible to safely issue an electronic certificate while reducing the burden on the user.

[第3の発明]
本実施形態に係る第3の発明は、利用者の秘密鍵を管理する機能を有し、秘密鍵を用いて電子署名を生成する鍵管理システムであって、利用者の公開鍵を少なくとも生成する鍵生成手段(鍵生成処理部63)と、端末装置が利用者の認証を要求した場合に利用者の認証を行う認証手段(ユーザ認証処理部62)と、認証が成功した場合に、認可コードを証明書発行システムに送信する認可コード送信手段(OAuth実行処理部61)と、認可コードを用いてアクセストークンを要求した証明書発行システムに対しアクセストークンを送信するアクセストークン送信手段(OAuth実行処理部61)と、アクセストークンを送信した証明書発行システムに対し、公開鍵を含む証明書発行要求を送信し、証明書発行システムに電子証明書を発行させる署名要求手段(署名要求処理部64)と、を備える鍵管理システムを特徴とする。
第3の発明の鍵管理システムは、リモート署名で求められる電子証明書の発行に際し、利用者の認証と管理のもと、証明書発行システムに対して公開鍵を含む証明書署名要求を自動で行い、電子証明書の発行を行わせることが出来る。
これにより、利用者の負担を軽減しながら電子証明書の発行を安全に行うことが出来る。
[Third invention]
A third invention according to the present embodiment is a key management system that has a function of managing a user's secret key and generates an electronic signature using the secret key, and generates at least the user's public key A key generation unit (key generation processing unit 63), an authentication unit (user authentication processing unit 62) that authenticates the user when the terminal device requests user authentication, and an authorization code when the authentication is successful. An authorization code transmission means (OAuth execution processing unit 61) for transmitting the access token to the certificate issuing system, and an access token transmission means (OAuth execution processing for transmitting the access token to the certificate issuing system that has requested the access token using the authorization code. 61) and a certificate issuance request including the public key to the certificate issuing system that transmitted the access token, and an electronic certificate is issued to the certificate issuing system. And signature request means (signature request processing section 64) to be characterized by the key management system comprising a.
The key management system according to the third aspect of the invention automatically issues a certificate signing request including a public key to the certificate issuing system under the authentication and management of the user when issuing the electronic certificate required by the remote signature. And issue an electronic certificate.
Thereby, it is possible to safely issue an electronic certificate while reducing the burden on the user.

1 リモート署名システム、10 端末装置、20 証明書発行サーバ、21 CPU、22 RAM、23 HDD、24 ネットワークI/F、30 鍵管理サーバ、31 CPU、32 RAM、33 HDD、34 ネットワークI/F、51 ウェブページ処理部、52 OAuth実行処理部、53 署名リクエスト要求処理部、54 電子証明書発行処理部、61 ユーザ認証処理部、62 OAuth実行処理部、63 鍵生成処理部、64 署名要求処理部、65 証明書格納処理部 1 remote signature system, 10 terminal device, 20 certificate issuing server, 21 CPU, 22 RAM, 23 HDD, 24 network I / F, 30 key management server, 31 CPU, 32 RAM, 33 HDD, 34 network I / F, 51 Web Page Processing Unit, 52 OAuth Execution Processing Unit, 53 Signature Request Request Processing Unit, 54 Electronic Certificate Issuance Processing Unit, 61 User Authentication Processing Unit, 62 OAuth Execution Processing Unit, 63 Key Generation Processing Unit, 64 Signature Request Processing Unit , 65 Certificate storage processing part

Claims (5)

電子証明書を発行する証明書発行システムと、
利用者の秘密鍵を管理する機能を有し、前記秘密鍵を用いて電子署名を生成する鍵管理システムと、
利用者が利用する端末装置と、を備える電子署名システムであって、
前記端末装置は、前記鍵管理システムに対して前記利用者の認証を要求し、
前記認証が成功した場合、前記鍵管理システムは、前記端末装置に対して認可コードを送信し、
前記認可コードを取得した前記端末装置は、前記認可コードを前記証明書発行システムに転送し、
前記認可コードを取得した前記証明書発行システムは、前記認可コードを前記鍵管理システムに送信することによりアクセストークンを要求し、
前記鍵管理システムは、前記アクセストークンを前記証明書発行システムに送信し、
前記証明書発行システムは、前記アクセストークンを前記鍵管理システムに提示することによって、前記鍵管理システムから前記利用者の公開鍵を含む証明書発行要求を取得し、前記公開鍵に対して電子証明書を発行することを特徴とする電子署名システム。
A certificate issuing system for issuing an electronic certificate;
A key management system having a function of managing a user's private key, and generating an electronic signature using the private key;
An electronic signature system comprising a terminal device used by a user,
The terminal device requests authentication of the user from the key management system;
If the authentication is successful, the key management system sends an authorization code to the terminal device,
The terminal device that has acquired the authorization code transfers the authorization code to the certificate issuing system,
The certificate issuing system that has acquired the authorization code requests an access token by sending the authorization code to the key management system,
The key management system sends the access token to the certificate issuing system;
The certificate issuance system obtains a certificate issuance request including the user's public key from the key management system by presenting the access token to the key management system, and provides an electronic certificate for the public key. An electronic signature system characterized by issuing a certificate.
請求項1記載の電子署名システムであって、
前記鍵管理システムは、前記端末装置が要求した認証に係る利用者のアカウントが前記鍵管理システムに存在しない場合、当該利用者にアカウントの作成を促すとともに、当該利用者によってアカウントがされたとき、前記認可コードを前記端末装置に送付することを特徴とする電子署名システム。
The electronic signature system according to claim 1,
The key management system prompts the user to create an account when the user's account related to authentication requested by the terminal device does not exist in the key management system, and when the account is made by the user, An electronic signature system, wherein the authorization code is sent to the terminal device.
電子証明書を発行する証明書発行システムであって、
利用者が利用する端末装置が前記利用者の認証を鍵管理システムに要求することによって前記鍵管理システムにより発行された認可コードを取得する認可コード取得手段と、
取得された前記認可コードを用いて前記鍵管理システムにアクセストークンを要求する第1要求手段と、
前記第1要求手段による要求に応じて取得した前記アクセストークンを用いて、前記利用者の公開鍵を含む証明書発行要求を前記鍵管理システムに要求する第2要求手段と、
前記第2要求手段による要求に応じて取得した前記証明書発行要求に含まれる前記公開鍵に対して電子証明書を発行する発行手段と、
を備えることを特徴とする証明書発行システム。
A certificate issuing system for issuing an electronic certificate,
An authorization code acquisition means for acquiring an authorization code issued by the key management system when a terminal device used by the user requests the key management system to authenticate the user;
First request means for requesting an access token from the key management system using the acquired authorization code;
Second request means for requesting the key management system to issue a certificate including the public key of the user using the access token obtained in response to the request by the first request means;
Issuing means for issuing an electronic certificate to the public key included in the certificate issuing request acquired in response to a request by the second requesting means;
A certificate issuing system comprising:
利用者の秘密鍵を管理する機能を有し、前記秘密鍵を用いて電子署名を生成する鍵管理システムであって、
利用者の公開鍵を少なくとも生成する鍵生成手段と、
端末装置が利用者の認証を要求した場合に前記利用者の認証を行う認証手段と、
前記認証が成功した場合に、認可コードを証明書発行システムに送信する認可コード送信手段と、
前記認可コードを用いてアクセストークンを要求した前記証明書発行システムに対し前記アクセストークンを送信するアクセストークン送信手段と、
前記アクセストークンを送信した前記証明書発行システムに対し、前記公開鍵を含む証明書発行要求を送信し、前記証明書発行システムに電子証明書を発行させる署名要求手段と、を備えることを特徴とする鍵管理システム。
A key management system having a function of managing a user's private key and generating an electronic signature using the private key,
A key generation means for generating at least a user's public key;
Authentication means for authenticating the user when the terminal device requests user authentication;
An authorization code transmitting means for transmitting an authorization code to the certificate issuing system when the authentication is successful;
An access token transmitting means for transmitting the access token to the certificate issuing system that requested the access token using the authorization code;
Signature request means for transmitting a certificate issuance request including the public key to the certificate issuing system that has transmitted the access token, and causing the certificate issuing system to issue an electronic certificate. Key management system.
電子証明書を発行する証明書発行システムと、利用者の秘密鍵を管理する機能を有し、前記秘密鍵を用いて電子署名を生成する鍵管理システムと、利用者が利用する端末装置と、を備える電子署名システムの電子証明書発行方法であって、
前記端末装置は、前記鍵管理システムに対して前記利用者の認証を要求し、
前記認証が成功した場合、前記鍵管理システムは、前記端末装置に対して認可コードを送信し、
前記認可コードを取得した前記端末装置は、前記認可コードを前記証明書発行システムに転送し、
前記認可コードを取得した前記証明書発行システムは、前記認可コードを前記鍵管理システムに送信することによりアクセストークンを要求し、
前記鍵管理システムは、前記アクセストークンを前記証明書発行システムに送信し、
前記証明書発行システムは、前記アクセストークンを前記鍵管理システムに提示することによって、前記鍵管理システムから前記利用者の公開鍵を含む証明書発行要求を取得し、前記公開鍵に対して電子証明書を発行することを特徴とする電子証明書発行方法。
A certificate issuing system for issuing an electronic certificate, a function for managing a user's private key, a key management system for generating an electronic signature using the private key, a terminal device used by the user, An electronic signature issuing method for an electronic signature system comprising:
The terminal device requests authentication of the user from the key management system;
If the authentication is successful, the key management system sends an authorization code to the terminal device,
The terminal device that has acquired the authorization code transfers the authorization code to the certificate issuing system,
The certificate issuing system that has acquired the authorization code requests an access token by sending the authorization code to the key management system,
The key management system sends the access token to the certificate issuing system;
The certificate issuance system obtains a certificate issuance request including the user's public key from the key management system by presenting the access token to the key management system, and provides an electronic certificate for the public key. An electronic certificate issuing method characterized by issuing a certificate.
JP2018136657A 2018-07-20 2018-07-20 Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method Active JP6465426B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018136657A JP6465426B1 (en) 2018-07-20 2018-07-20 Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method
PCT/JP2019/028492 WO2020017643A1 (en) 2018-07-20 2019-07-19 Electronic signature system, certificate issuance system, key management system, certificate issuance method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018136657A JP6465426B1 (en) 2018-07-20 2018-07-20 Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method

Publications (2)

Publication Number Publication Date
JP6465426B1 true JP6465426B1 (en) 2019-02-06
JP2020014168A JP2020014168A (en) 2020-01-23

Family

ID=65270482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018136657A Active JP6465426B1 (en) 2018-07-20 2018-07-20 Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method

Country Status (1)

Country Link
JP (1) JP6465426B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020120173A (en) * 2019-01-21 2020-08-06 Gmoグローバルサイン株式会社 Electronic signature system, certificate issuing system, certificate issuing method, and program
CN112560050A (en) * 2020-11-26 2021-03-26 西安慧博文定信息技术有限公司 Secure electronic certificate issuing method and device, terminal device and storage medium
WO2021111824A1 (en) 2019-12-03 2021-06-10 木戸 啓介 Electronic signature system and tamper-proof device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502217A (en) * 2000-12-15 2005-01-20 オラクル・インターナショナル・コーポレイション Method and apparatus for delegating a digital signature to a signature server
JP2007181139A (en) * 2005-12-28 2007-07-12 Brother Ind Ltd Management apparatus and program
US20180048638A1 (en) * 2016-08-11 2018-02-15 Motorola Solutions, Inc Method for obtaining vetted certificates by microservices in elastic cloud environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502217A (en) * 2000-12-15 2005-01-20 オラクル・インターナショナル・コーポレイション Method and apparatus for delegating a digital signature to a signature server
JP2007181139A (en) * 2005-12-28 2007-07-12 Brother Ind Ltd Management apparatus and program
US20180048638A1 (en) * 2016-08-11 2018-02-15 Motorola Solutions, Inc Method for obtaining vetted certificates by microservices in elastic cloud environments

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. HARDT: "The OAuth 2.0 Authrization Framework", INTERNET ENGINEERING TASK FORCE (IETF) REQUEST FOR COMMENTS: 6749, JPN6018047440, October 2012 (2012-10-01), pages 23 - 42 *
平成28年度サイバーセキュリティ経済基盤構築事業(電子署名・認証業務利用促進事業(電子署名及び認証業, JPN6018047438, March 2017 (2017-03-01), JP, pages 15 - 34 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020120173A (en) * 2019-01-21 2020-08-06 Gmoグローバルサイン株式会社 Electronic signature system, certificate issuing system, certificate issuing method, and program
WO2021111824A1 (en) 2019-12-03 2021-06-10 木戸 啓介 Electronic signature system and tamper-proof device
US11743053B2 (en) 2019-12-03 2023-08-29 Keisuke Kido Electronic signature system and tamper-resistant device
CN112560050A (en) * 2020-11-26 2021-03-26 西安慧博文定信息技术有限公司 Secure electronic certificate issuing method and device, terminal device and storage medium
CN112560050B (en) * 2020-11-26 2023-05-30 西安慧博文定信息技术有限公司 Secure electronic certificate issuing method, secure electronic certificate issuing device, terminal equipment and storage medium

Also Published As

Publication number Publication date
JP2020014168A (en) 2020-01-23

Similar Documents

Publication Publication Date Title
CN109088889B (en) SSL encryption and decryption method, system and computer readable storage medium
US10567370B2 (en) Certificate authority
TWI429256B (en) Authentication delegation based on re-verification of cryptographic evidence
US8532620B2 (en) Trusted mobile device based security
JP4632315B2 (en) Method and system for single sign-on operation providing grid access and network access
CA2531533C (en) Session-based public key infrastructure
JP6571890B1 (en) Electronic signature system, certificate issuing system, certificate issuing method and program
US11777743B2 (en) Method for securely providing a personalized electronic identity on a terminal
JP6465426B1 (en) Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
CN113411187B (en) Identity authentication method and system, storage medium and processor
JP4332071B2 (en) Client terminal, gateway device, and network system including these
JP2001134534A (en) Authentication delegate method, authentication delegate service system, authentication delegate server device, and client device
CN114760070A (en) Digital certificate issuing method, digital certificate issuing center and readable storage medium
CN112235276A (en) Master-slave equipment interaction method, device, system, electronic equipment and computer medium
JP4963425B2 (en) Session key sharing system, third party organization device, request side device, and response side device
TWI772908B (en) System and method for using a device of fast identity online to certified and signed
JP2005318269A (en) Electronic certificate management system, method and server
WO2020017643A1 (en) Electronic signature system, certificate issuance system, key management system, certificate issuance method, and program
CN115883104B (en) Secure login method and device for terminal equipment and nonvolatile storage medium
JP6254964B2 (en) Authentication system, spare key management apparatus, spare key management method, and spare key management program
JP2021040278A (en) Key management system, signing device, method for managing key, and program
JP2008009644A (en) Authentication system and authentication method
CN114003892A (en) Credible authentication method, safety authentication equipment and user terminal
JP5860421B2 (en) Decoding method and decoding system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180829

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180829

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181106

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181227

R150 Certificate of patent or registration of utility model

Ref document number: 6465426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150