JP6833658B2 - Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program - Google Patents

Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program Download PDF

Info

Publication number
JP6833658B2
JP6833658B2 JP2017214996A JP2017214996A JP6833658B2 JP 6833658 B2 JP6833658 B2 JP 6833658B2 JP 2017214996 A JP2017214996 A JP 2017214996A JP 2017214996 A JP2017214996 A JP 2017214996A JP 6833658 B2 JP6833658 B2 JP 6833658B2
Authority
JP
Japan
Prior art keywords
server
domain
request
url
certificate
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
JP2017214996A
Other languages
Japanese (ja)
Other versions
JP2019087889A (en
Inventor
大介 安次富
大介 安次富
Original Assignee
株式会社東芝
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 株式会社東芝 filed Critical 株式会社東芝
Priority to JP2017214996A priority Critical patent/JP6833658B2/en
Publication of JP2019087889A publication Critical patent/JP2019087889A/en
Application granted granted Critical
Publication of JP6833658B2 publication Critical patent/JP6833658B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態はサーバ装置、機器、証明書発行方法、証明書要求方法、証明書発行プログラム及び証明書要求プログラムに関する。 Embodiments of the present invention relate to a server device, a device, a certificate issuing method, a certificate requesting method, a certificate issuing program, and a certificate requesting program.
機器のなりすましを防ぐ技術が従来から知られている。例えば、認証局が、機器のドメインの正当性を証明するDV(Domain Validation)証明書を発行するための技術が従来から知られている。 Technology to prevent spoofing of equipment has been known for some time. For example, a technique for issuing a DV (Domain Validation) certificate that certifies the validity of the domain of a device by a certificate authority has been conventionally known.
特開2012−049752号公報Japanese Unexamined Patent Publication No. 2012-049752
しかしながら、従来の技術では、異なるネットワークに接続された機器の正当性を、より簡便に証明することが難しかった。 However, with conventional techniques, it has been difficult to more easily prove the validity of devices connected to different networks.
実施形態のサーバ装置は、第1ネットワークに接続されたサーバ装置であって、発行要求応答部と確認方式応答部と確認要求応答部と機器URL応答部と発行部とを備える。発行要求応答部は、第2ネットワークに接続された機器から、前記機器のドメインを含み、前記ドメインの正当性を証明する証明書の発行要求を受信すると、前記発行要求を識別する識別情報を前記機器に送信する。確認方式応答部は、前記機器から、前記識別情報が指定された確認方式取得要求を受信すると、前記ドメインの存在の確認に使用されるトークンを前記機器に送信する。確認要求応答部は、前記機器から、前記トークンと署名データとを含むドメイン確認要求を受信すると、前記発行要求と前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を前記機器に送信する。機器URL応答部は、前記第2ネットワークに接続された端末から、前記サーバURLを介して接続を受け付け、前記端末から、前記特定情報が指定された機器URL取得要求を受信すると、前記特定情報から前記ドメインと前記トークンとを特定し、前記ドメインと前記トークンとを含む機器URLを、前記端末に送信する。発行部は、前記機器URLの接続に成功した前記端末から、前記機器URLから取得された前記トークンと前記署名データとを含むドメイン確認登録要求を受信した場合、前記証明書を発行する。 The server device of the embodiment is a server device connected to the first network, and includes an issue request response unit, a confirmation method response unit, a confirmation request response unit, a device URL response unit, and an issue unit. When the issuance request response unit receives an issuance request for a certificate including the domain of the device and certifying the validity of the domain from a device connected to the second network, the issuance request response unit obtains identification information for identifying the issuance request. Send to the device. When the confirmation method response unit receives the confirmation method acquisition request for which the identification information is specified from the device, the confirmation method response unit transmits a token used for confirmation of the existence of the domain to the device. Said confirmation request response unit from the device, when receiving the domain verification request including the signature data and the token server URL including identification information identifying the issue request and said domain verification request (Uniform Resource Locator) Send to the device. When the device URL response unit receives a connection from the terminal connected to the second network via the server URL and receives a device URL acquisition request to which the specific information is specified from the terminal, the device URL response unit receives the device URL acquisition request from the specific information. The domain and the token are specified, and a device URL including the domain and the token is transmitted to the terminal. When the issuing unit receives a domain confirmation registration request including the token and the signature data acquired from the device URL from the terminal that has succeeded in connecting the device URL, the issuing unit issues the certificate.
第1実施形態の証明書発行システムの構成の例を示す図。The figure which shows the example of the structure of the certificate issuing system of 1st Embodiment. 第1実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 1st Embodiment. 第1実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 1st Embodiment. 第2実施形態の証明書発行システムの構成の例を示す図。The figure which shows the example of the structure of the certificate issuing system of 2nd Embodiment. 第2実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 2nd Embodiment. 第2実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 2nd Embodiment. 第2実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 2nd Embodiment. 第3実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 3rd Embodiment. 第3実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 3rd Embodiment. 第3実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 3rd Embodiment. 第4実施形態の証明書発行システムの構成の例を示す図。The figure which shows the example of the structure of the certificate issuing system of 4th Embodiment. 第4実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 4th Embodiment. 第4実施形態の証明書発行システムの動作例を示すシーケンス図。The sequence diagram which shows the operation example of the certificate issuing system of 4th Embodiment. 第1乃至第4実施形態のサーバ装置、機器及び端末の主要部のハードウェア構成の例を示す図。The figure which shows the example of the hardware composition of the main part of the server apparatus, the apparatus and the terminal of 1st to 4th Embodiment.
以下に添付図面を参照して、サーバ装置、機器、証明書発行方法、証明書要求方法、証明書発行プログラム及び証明書要求プログラムの実施形態を詳細に説明する。 The server device, the device, the certificate issuing method, the certificate requesting method, the certificate issuing program, and the embodiment of the certificate requesting program will be described in detail with reference to the attached drawings.
(第1実施形態)
はじめに、インターネット上のウェブサーバ(以降、単に「ウェブサービス」と呼ぶ)が、ローカルネットワーク上の機器で動作するウェブサーバ(以降、単に「機器」と呼ぶ)と、ウェブサービスへアクセスする端末のウェブブラウザを介して、相互認証に基づいた暗号化通信を行うことの困難性について説明する。ここで、暗号化通信とは、例えばHTTPS(Hypertext Transfer Protocol Secure)等のTLS(Transport Layer Security)を利用する通信である。
(First Embodiment)
First, a web server on the Internet (hereinafter simply referred to as "web service"), a web server operating on a device on a local network (hereinafter simply referred to as "device"), and a web of a terminal accessing the web service. The difficulty of performing encrypted communication based on mutual authentication via a browser will be described. Here, the encrypted communication is a communication using TLS (Transport Layer Security) such as, for example, HTTPS (Hypertext Transfer Protocol Security).
具体的には、ユーザによる何らかの手動設定を伴わずに、以下の問題を解決することが難しい。
[問題1]ウェブブラウザ、及び、ウェブブラウザ上で動作するウェブサービスのフロントエンド(ウェブページとして制御されるインタフェース)が、ローカルネットワーク上の機器を発見することができない。
[問題2]機器が正規のサーバ証明書を持っていない。すなわち、ウェブブラウザ、及び、ウェブブラウザ上で動作するウェブサービスのフロントエンドが、信頼できる機器であることを検証できない。
[問題3]機器が、ウェブサービスの認証及びアクセス制御、並びに、ユーザの認証及びアクセス制御をできない。
Specifically, it is difficult to solve the following problems without some manual setting by the user.
[Problem 1] The web browser and the front end (interface controlled as a web page) of the web service operating on the web browser cannot find the device on the local network.
[Problem 2] The device does not have a legitimate server certificate. That is, it cannot be verified that the web browser and the front end of the web service running on the web browser are reliable devices.
[Problem 3] The device cannot authenticate and control access to web services, and cannot authenticate and control access to users.
[問題1]については、例えば次の解決策により解決できる。まず、ウェブサービスが機器のIPアドレスを登録するための登録インタフェースを用意する。次に、ユーザが、登録インタフェースを使用して機器のIPアドレスをウェブサービスに登録する。 [Problem 1] can be solved by, for example, the following solution. First, the web service prepares a registration interface for registering the IP address of the device. The user then registers the IP address of the device with the web service using the registration interface.
[問題2]については、例えば次の解決策により解決できる。まず、ユーザが、認証局と、認証局による署名付きのルート証明書とを作成する。次に、ユーザが、ユーザにより作成されたルート証明書をウェブブラウザに信頼できるルート証明書として登録する。次に、ユーザが、ユーザにより作成された認証局による署名付きのサーバ証明書を作成する。そして、ユーザが、サーバ証明書を機器に設定する。 [Problem 2] can be solved by, for example, the following solution. First, the user creates a certificate authority and a root certificate signed by the certificate authority. The user then registers the root certificate created by the user in the web browser as a trusted root certificate. The user then creates a server certificate signed by the certificate authority created by the user. Then, the user sets the server certificate in the device.
[問題3]については、例えば次の解決策により解決できる。まず、機器に予めユーザID及びパスワードを設定する。そして、ウェブブラウザが機器にアクセスする際に、ユーザID及びパスワードによる認証をかける。 [Problem 3] can be solved by, for example, the following solution. First, a user ID and password are set in advance in the device. Then, when the web browser accesses the device, the user ID and password are used for authentication.
しかしながら、上記いずれの解決策も、ユーザに手動設定作業を強いるものであり、ユーザビリティ上の問題がある。また、上記[問題2]及び[問題3]の解決策については、ウェブサービスが機器の正当性を、機器がウェブサービスの正当性を、それぞれ正規に検証できていない。そのため、悪意のあるユーザによって、悪意のある機器や、悪意のあるウェブサービスとの通信が容易に実現できてしまう。 However, all of the above solutions force the user to perform manual setting work, and there is a problem in usability. Further, regarding the solutions of the above-mentioned [Problem 2] and [Problem 3], the web service cannot properly verify the validity of the device and the device cannot properly verify the validity of the web service. Therefore, a malicious user can easily communicate with a malicious device or a malicious web service.
上述の[問題2]は、機器が信頼できるサーバ証明書を持っていないことが主な原因である。しかしながら、正規の認証局は、グローバルアクセス可能なドメインを持ち、かつ、管理主体が明確なサーバに対して証明書を発行することが一般的である。そのため、インターネットとは異なるネットワークであるローカルネットワーク上の機器に対して正規のサーバ証明書を発行する方法は知られていない。 The main reason for the above-mentioned [Problem 2] is that the device does not have a reliable server certificate. However, it is common for a legitimate certificate authority to have a globally accessible domain and issue a certificate to a server whose management entity is clear. Therefore, there is no known method of issuing a legitimate server certificate to a device on a local network, which is a network different from the Internet.
非特許文献1は、ウェブサービスに対して、DV証明書を発行する認証局の標準仕様を定めたものである。DV証明書とは、ドメインの存在検証のみを前提に発行するサーバ証明書のことであり、インターネット上のパブリックな認証局が発行する証明書の中で最も信頼性が低い証明書である。すなわち、ドメインの存在検証が、パブリックな認証局が発行するサーバ証明書の最低限のルールと言い換えることもできる。しかしながら、インターネット上の認証局は、ファイアウォールやNAT(Network Address Translation)などの機能を有する中継装置が存在するため、ローカルネットワークの機器のドメイン存在検証ができない。 Non-Patent Document 1 defines the standard specifications of a certificate authority that issues DV certificates for web services. A DV certificate is a server certificate issued only on the premise of verifying the existence of a domain, and is the least reliable certificate issued by a public certificate authority on the Internet. In other words, domain existence verification can be rephrased as the minimum rule for server certificates issued by public certificate authorities. However, since a certificate authority on the Internet has a relay device having a function such as a firewall or NAT (Network Addless Translation), it is not possible to verify the domain existence of a device on a local network.
機器がサーバとして振る舞う場合、プライベートアドレス空間を持ち、更に、変化し得るIPアドレスを持つローカルサーバに対して、固定的な名前(ドメイン)をどの時点で付与するのか、そのドメインの存在検証をどのように行い、証明書を発行するのか等を解決することは難しい。 When the device behaves as a server, when to give a fixed name (domain) to a local server that has a private address space and also has a variable IP address, and which domain's existence verification is performed. It is difficult to solve the problem of issuing a certificate.
以下の説明では、ウェブサービスから、ローカルネットワーク上の機器に、ウェブブラウザを介して、安全に(クロスオリジン)アクセスできるようにする方法について説明する。ここでいう「安全に」とは、ウェブブラウザが、機器、ウェブサービス、及び、ウェブサービスのユーザが、正当であることを検証でき、かつ、暗号化通信を行うことができることを指す。 The following description describes how to enable secure (cross-origin) access from a web service to a device on a local network via a web browser. The term "safely" as used herein means that the web browser can verify that the device, the web service, and the user of the web service are legitimate, and can perform encrypted communication.
[証明書発行システムの構成の例]
図1は第1実施形態の証明書発行システム100の構成の例を示す図である。第1実施形態の証明書発行システム100は、サーバ装置10、機器20、端末30及び中継装置40を備える。
[Example of certificate issuance system configuration]
FIG. 1 is a diagram showing an example of the configuration of the certificate issuing system 100 of the first embodiment. The certificate issuing system 100 of the first embodiment includes a server device 10, a device 20, a terminal 30, and a relay device 40.
サーバ装置10は、第1ネットワーク501に接続されている。第1ネットワークは、インターネット等のWAN(Wide Area Network)である。第1実施形態では、サーバ装置10と端末30間の通信、及び、サーバ装置10と機器20間の通信は、第1ネットワーク501を介して行われる。第1実施形態では、第1ネットワーク501が、インターネットである場合を例にして説明する。 The server device 10 is connected to the first network 501. The first network is a WAN (Wide Area Network) such as the Internet. In the first embodiment, the communication between the server device 10 and the terminal 30 and the communication between the server device 10 and the device 20 are performed via the first network 501. In the first embodiment, the case where the first network 501 is the Internet will be described as an example.
機器20及び端末30は、第2ネットワーク502に接続されている。第2ネットワーク502は、宅内、オフィスまたは工場などのローカルネットワークである。ローカルネットワークの媒体は、例えば上位プロトコルでIP通信を実現できるイーサネット(登録商標)、及び、無線LAN等である。なお、イーサネット(登録商標)、及び、無線LAN等と同等の機能を実現できるネットワークであれば、具体的な媒体や上位通信プロトコルは問わない。第1実施形態では、第2ネットワーク502が、無線LANで構築されたローカルネットワーク(ホームネットワーク)である場合を例にして説明する。 The device 20 and the terminal 30 are connected to the second network 502. The second network 502 is a local network such as a home, an office, or a factory. The medium of the local network is, for example, Ethernet (registered trademark) capable of realizing IP communication by an upper layer protocol, wireless LAN, or the like. As long as the network can realize the same functions as Ethernet (registered trademark) and wireless LAN, a specific medium or higher-level communication protocol does not matter. In the first embodiment, the case where the second network 502 is a local network (home network) constructed by a wireless LAN will be described as an example.
第1実施形態のサーバ装置10は、機器20のドメインの正当性を証明する証明書を発行する認証局である。第1実施形態では、サーバ装置10は、機器20のメーカが運用しているインターネット上のウェブサービスの機能の一部として、機器20の証明書を発行する機能を実現する。なお、サーバ装置10は、機器20のメーカとは異なる第三者により運用される認証局でもよい。 The server device 10 of the first embodiment is a certificate authority that issues a certificate certifying the validity of the domain of the device 20. In the first embodiment, the server device 10 realizes a function of issuing a certificate of the device 20 as a part of a function of a web service on the Internet operated by the manufacturer of the device 20. The server device 10 may be a certificate authority operated by a third party different from the manufacturer of the device 20.
第1実施形態の機器20は、第1ネットワーク501のウェブサービスから、端末30の実行部301(第1実施形態では、ウェブブラウザ)を介してアクセスされる第2ネットワーク502上の機器である。機器20は、HTTP(HyperText Transfer Protocol)サーバ機能を備える。第1実施形態では、機器20は、デジタルテレビである。機器20がデジタルテレビの場合、第1ネットワーク501のウェブサービスは、例えば宅内のデジタルテレビを発見し、テレビリモコン機能を提供するテレビリモコンサービス(テレビ用クラウドサービス)である。第1実施形態では、テレビリモコンサービスが、サーバ装置10により提供されるウェブサービスの機能の一部として実現されている場合を例にして説明する。 The device 20 of the first embodiment is a device on the second network 502 that is accessed from the web service of the first network 501 via the execution unit 301 (web browser in the first embodiment) of the terminal 30. The device 20 includes an HTTP (HyperText Transfer Protocol) server function. In the first embodiment, the device 20 is a digital television. When the device 20 is a digital television, the web service of the first network 501 is, for example, a television remote control service (television cloud service) that discovers a digital television in a home and provides a television remote control function. In the first embodiment, the case where the TV remote control service is realized as a part of the function of the web service provided by the server device 10 will be described as an example.
第1実施形態の端末30は、ユーザにより操作される端末である。ここで、ユーザは、機器20及び端末30の所有者であり、機器20のメーカにより提供されるウェブサービスのユーザでもある。第1実施形態では、端末30はスマートフォン及びタブレット端末等のスマートデバイスである。なお端末30はパーソナルコンピュータ等でもよい。 The terminal 30 of the first embodiment is a terminal operated by a user. Here, the user is the owner of the device 20 and the terminal 30, and is also a user of the web service provided by the manufacturer of the device 20. In the first embodiment, the terminal 30 is a smart device such as a smartphone and a tablet terminal. The terminal 30 may be a personal computer or the like.
端末30は実行部301を備える。実行部301は、サーバ装置10が端末30に機能を提供するためのインタフェース107を実行する。第1実施形態のインタフェース107は、サーバ装置10から端末30へ送信されるウェブページであり、第1実施形態の実行部301は、当該ウェブページを実行するウェブブラウザである。インタフェース107は、基本的に、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、及び、JavaScript(登録商標)コードにより構成されており、機器20のドメインの存在を確認する機能(ドメイン確認部108)を実現する。なお実行部301は、ウェブブラウザに限られず、例えば端末30で動作するアプリケーションでもよい。ユーザは、機器20(第1実施形態では、デジタルテレビ)を、端末30(第1実施形態では、スマートデバイス)の実行部301(第1実施形態では、ウェブブラウザ)で、テレビリモコンサービスのウェブ画面を表示及び操作する。 The terminal 30 includes an execution unit 301. The execution unit 301 executes the interface 107 for the server device 10 to provide the function to the terminal 30. The interface 107 of the first embodiment is a web page transmitted from the server device 10 to the terminal 30, and the execution unit 301 of the first embodiment is a web browser that executes the web page. The interface 107 is basically composed of HTML (HyperText Markup Language), CSS (Cascading Style Sheets), and Javascript (registered trademark) code, and has a function of confirming the existence of the domain of the device 20 (domain confirmation unit). 108) is realized. The execution unit 301 is not limited to the web browser, and may be, for example, an application running on the terminal 30. The user uses the device 20 (digital TV in the first embodiment), the execution unit 301 (web browser in the first embodiment) of the terminal 30 (smart device in the first embodiment), and the web of the TV remote control service. Display and operate the screen.
中継装置40は、第1ネットワーク501に接続されたサーバ装置10と、第2ネットワーク502に接続された機器20及び端末30との間の通信を中継する装置である。 The relay device 40 is a device that relays communication between the server device 10 connected to the first network 501 and the devices 20 and the terminal 30 connected to the second network 502.
次に、第1実施形態のサーバ装置10の機能構成について説明する。第1実施形態のサーバ装置10は、機器登録部101、機器認証部102、発行要求応答部103、確認方式応答部104、確認要求応答部105、インタフェース提供部106、インタフェース107、ドメイン確認部108、機器URL応答部109、確認結果受付部110及び発行部111を備える。インタフェース提供部106は、インタフェース107を端末30に提供する。インタフェース107は、ドメイン確認部108を備える。 Next, the functional configuration of the server device 10 of the first embodiment will be described. The server device 10 of the first embodiment includes a device registration unit 101, a device authentication unit 102, an issue request response unit 103, a confirmation method response unit 104, a confirmation request response unit 105, an interface providing unit 106, an interface 107, and a domain confirmation unit 108. , The device URL response unit 109, the confirmation result reception unit 110, and the issue unit 111. The interface providing unit 106 provides the interface 107 to the terminal 30. The interface 107 includes a domain confirmation unit 108.
機器登録部101は、機器20により生成された鍵ペア(公開鍵及び秘密鍵)の公開鍵の登録要求を、機器20から受け付けることにより、当該機器20の機器登録を行う。 The device registration unit 101 registers the device of the device 20 by receiving the request for registering the public key of the key pair (public key and private key) generated by the device 20 from the device 20.
なお、機器登録の具体的な方法は任意でよい。例えば、機器登録部101は、機器メーカに対してMAC(Message Authentication Code)鍵を予め発行する。次に、機器メーカは出荷前にMAC鍵を機器20に埋め込む。次に、機器20は、このMAC鍵で公開鍵に署名を付与し、署名付きの公開鍵を含む登録要求を機器登録部101に送信する。機器登録部101は、機器20から登録要求を受け付けた場合、署名を検証することにより、MAC鍵を発行した機器20からの登録要求であるか否かを判定する。機器登録部101は、MAC鍵を発行した機器20からの登録要求である場合、当該登録要求に含まれる公開鍵を登録する。 The specific method of device registration may be arbitrary. For example, the device registration unit 101 issues a MAC (Message Authentication Code) key to the device maker in advance. Next, the device maker embeds the MAC key in the device 20 before shipping. Next, the device 20 signs the public key with this MAC key, and transmits a registration request including the signed public key to the device registration unit 101. When the device registration unit 101 receives the registration request from the device 20, the device registration unit 101 verifies the signature to determine whether or not the registration request is from the device 20 that issued the MAC key. When the device registration unit 101 is a registration request from the device 20 that issued the MAC key, the device registration unit 101 registers the public key included in the registration request.
機器認証部102は、機器登録部101により登録された機器20から送信された通信データに含まれるパラメータ(公開鍵及び署名)を参照して、機器20を認証する。具体的には、機器認証部102は、通信データに含まれる公開鍵が登録済みであり、かつ、通信データに含まれる署名が正しい場合、機器20を認証する。なお、機器認証部102は、リプレイ攻撃を防止するための乱数及びランダム文字列(nonce)を、機器20に発行する機能を備える。 The device authentication unit 102 authenticates the device 20 by referring to the parameters (public key and signature) included in the communication data transmitted from the device 20 registered by the device registration unit 101. Specifically, the device authentication unit 102 authenticates the device 20 when the public key included in the communication data is registered and the signature included in the communication data is correct. The device authentication unit 102 has a function of issuing a random number and a random character string (nonce) to the device 20 to prevent a replay attack.
発行要求応答部103は、機器登録部101により登録された機器20から証明書の発行要求を受け付ける。具体的には、発行要求応答部103は、上記機器認証部102による機器認証が通った場合に、機器20からCSR(Certificate Signing Request)を、発行要求のパラメータとして受け付ける。なお、このCSRは、ローカルネットワーク上で用いるドメイン名(digital_tv.local及びdigital_tv.home.arpha等、以降、「ローカルドメイン」と呼ぶ)に対する証明書署名要求である。 The issuance request response unit 103 receives a certificate issuance request from the device 20 registered by the device registration unit 101. Specifically, the issuance request response unit 103 receives a CSR (Certificate Signing Request) from the device 20 as a parameter of the issuance request when the device authentication by the device authentication unit 102 is passed. This CSR is a certificate signing request for a domain name (digital_tv.local, digital_tv.home.arpha, etc., hereinafter referred to as "local domain") used on the local network.
確認方式応答部104は、証明書の発行要求を送信した機器20から、ドメインの確認方式(非特許文献1のACMEでは、「チャレンジ」と呼ばれる)取得要求を受け付け、CSRがローカルドメインの証明書署名要求であった場合、確認方式情報を応答する。確認方式情報は、種別情報、識別情報及びトークンを含む。種別情報は、ローカルドメインに対する確認方法であることを示す情報(“http−local−01”等)を示す。識別情報は、チャレンジIDを示す。トークンは、ドメイン確認時に用いられる乱数などの数値列データ、及び、ランダム文字列データなどを含む。 The confirmation method response unit 104 receives a domain confirmation method (called a “challenge” in ACME of Non-Patent Document 1) acquisition request from the device 20 that has sent the certificate issuance request, and the CSR is the certificate of the local domain. If it is a signing request, the confirmation method information is returned. The confirmation method information includes type information, identification information and tokens. The type information indicates information (“http-local-01” or the like) indicating that the confirmation method is for the local domain. The identification information indicates a challenge ID. The token includes numerical string data such as random numbers used at the time of domain confirmation, random character string data, and the like.
確認要求応答部105は、機器20から、チャレンジID、トークン、及び、登録時に用いた署名付きの公開鍵(以降、この公開鍵を「キー認可情報」とよぶ)を含むドメイン確認要求を受け付け、インタフェースのアドレスを示す検証URLを応答する。検証URLには、サーバ装置10内で、機器20からの証明書発行要求及びドメイン確認要求を一意に特定するための検証コード(特定情報)が含まれる。検証URLの例は、例えば、https://device−ca.example.com/comfirm_local_domain.html#code=xxxxxxxxなどである。この例では、device−ca.example.comがサーバ装置10のドメインであり、xxxxxxxxが検証コードに相当する。 The confirmation request response unit 105 receives a domain confirmation request from the device 20 including a challenge ID, a token, and a signed public key used at the time of registration (hereinafter, this public key is referred to as "key authorization information"). It responds with a verification URL indicating the address of the interface. The verification URL includes a verification code (specific information) for uniquely identifying the certificate issuance request and the domain confirmation request from the device 20 in the server device 10. Examples of verification URLs include, for example, https://device-ca. sample. com / comfirm_local_domine. html # code = xxxxxxxxx and so on. In this example, device-ca. sample. com is the domain of the server device 10, and xxxxxxxxx corresponds to the verification code.
インタフェース提供部106は、機器20のドメインをローカルネット上で確認するためのインタフェース107を提供する。第1実施形態では、インタフェース提供部106は、ウェブサーバである。インタフェース提供部106は、ユーザ認証機能を備える。インタフェース提供部106は、ユーザ登録済みのログインユーザからの要求にのみ応答する。ログイン認証は、ウェブで広く用いられるCookieベースのユーザセッション認証か、アクセストークン認証を用いるのが一般的であるが、これらに限定しない。インタフェース提供部106は、ログインしていないユーザからのアクセスには、ログイン画面を応答し、ユーザ認証を求める。 The interface providing unit 106 provides an interface 107 for confirming the domain of the device 20 on the local net. In the first embodiment, the interface providing unit 106 is a web server. The interface providing unit 106 has a user authentication function. The interface provider 106 responds only to a request from a logged-in user who has already registered as a user. Login authentication generally uses, but is not limited to, Cookie-based user session authentication or access token authentication widely used on the Web. The interface provider 106 responds to the access from a user who is not logged in with a login screen and requests user authentication.
インタフェース107は、端末30上で実現されるサーバ装置10のフロントエンドである。第1実施形態では、インタフェース107はウェブページである。 The interface 107 is a front end of the server device 10 realized on the terminal 30. In the first embodiment, interface 107 is a web page.
ドメイン確認部108は、インタフェース107により実現される機能である。第1実施形態では、ドメイン確認部108は、ウェブページ内のJavaScript(登録商標)コードとして実現される。ドメイン確認部108は、上述の検証URLに含まれる検証コードを、サーバ装置10に送信する。次に、ドメイン確認部108は、機器20によりサーバ装置10に送信されたCSR情報及びトークン情報(より具体的には、機器のHTTPサーバ上のドメイン確認用の機器URL(http(s)://digital−tv.local/.well−known/acme−challenge/{トークン}など)を、サーバ装置10から取得する。そして、ドメイン確認部108は、機器URLにアクセスし、トークン及びキー認可情報を機器20から取得する。 The domain confirmation unit 108 is a function realized by the interface 107. In the first embodiment, the domain confirmation unit 108 is realized as a Javascript® code in a web page. The domain confirmation unit 108 transmits the verification code included in the above-mentioned verification URL to the server device 10. Next, the domain confirmation unit 108 uses the CSR information and token information (more specifically, the device URL for domain confirmation on the HTTP server of the device (httpt (s): /)) transmitted by the device 20 to the server device 10. /Digital-tv.local/.well-know/acme-challenge/ {token}, etc.) is acquired from the server device 10. Then, the domain confirmation unit 108 accesses the device URL and obtains the token and key authorization information. Obtained from device 20.
機器URL応答部109は、第2ネットワーク502に接続された端末30上で、サーバ装置10のフロントエンドとして実現されるドメイン確認部108から、検証URL(サーバURL)を介して接続を受け付け、端末30から、検証コード(特定情報)が指定された機器URL取得要求を受信すると、特定情報からドメインとトークンとを特定し、ドメインとトークンとを含む機器URLを、端末30に送信する。 The device URL response unit 109 receives a connection from the domain confirmation unit 108 realized as the front end of the server device 10 on the terminal 30 connected to the second network 502 via the verification URL (server URL), and the terminal When the device URL acquisition request for which the verification code (specific information) is specified is received from 30, the domain and the token are specified from the specific information, and the device URL including the domain and the token is transmitted to the terminal 30.
確認結果受付部110は、機器URLにアクセスしたドメイン確認部108から、トークン及びキー認可情報を含むパラメータを受け付ける。 The confirmation result reception unit 110 receives a parameter including a token and key authorization information from the domain confirmation unit 108 that has accessed the device URL.
発行部111は、確認結果受付部110により受け付けられたパラメータを使用して、チャレンジとして発行されたトークンが、チャレンジを発行した機器20のドメインから取得出来たか否かを検証する。発行部111は、チャレンジとして発行されたトークンが、チャレンジを発行した機器20のドメインから取得出来た場合、当該機器20のCSRを自身のもつサーバ証明書の秘密鍵で署名して、機器20のドメインの証明書を生成する。発行部111は、機器20から証明書の取得要求を受信すると、ドメイン確認が完了し、かつ、証明書の発行が完了していれば、当該取得要求の応答として、機器20に証明書を送信する。 The issuing unit 111 verifies whether or not the token issued as a challenge can be acquired from the domain of the device 20 that issued the challenge by using the parameters received by the confirmation result receiving unit 110. When the token issued as a challenge can be obtained from the domain of the device 20 that issued the challenge, the issuing unit 111 signs the CSR of the device 20 with the private key of its own server certificate, and the issuing unit 111 of the device 20 Generate a domain certificate. When the issuing unit 111 receives the certificate acquisition request from the device 20, if the domain confirmation is completed and the certificate issuance is completed, the issuing unit 111 sends the certificate to the device 20 in response to the acquisition request. To do.
次に、第1実施形態の機器20の機能構成について説明する。第1実施形態の機器20は、入力制御部201、登録要求部202、ドメイン生成部203、CSR生成部204、発行要求送信部205、確認方式取得要求部206、サーバ処理部207、確認要求送信部208、表示制御部209及び取得部210を備える。 Next, the functional configuration of the device 20 of the first embodiment will be described. The device 20 of the first embodiment includes an input control unit 201, a registration request unit 202, a domain generation unit 203, a CSR generation unit 204, an issue request transmission unit 205, a confirmation method acquisition request unit 206, a server processing unit 207, and a confirmation request transmission. A unit 208, a display control unit 209, and an acquisition unit 210 are provided.
入力制御部201は、ユーザによる入力操作を受け付ける。入力制御部201は、例えば端末30の実行部301(第1実施形態では、ウェブブラウザ)からのアクセスを有効化する設定をONにする入力操作を受け付ける。 The input control unit 201 accepts an input operation by the user. The input control unit 201 receives, for example, an input operation for turning on the setting for enabling access from the execution unit 301 (in the first embodiment, the web browser) of the terminal 30.
登録要求部202は、機器20で生成された公開鍵を含む機器登録用データを生成し、当該機器登録用データにより、サーバ装置10の機器登録部101に登録要求を行う。機器登録用データの生成方法の説明は、図2Aを用いて後述する。 The registration request unit 202 generates device registration data including the public key generated by the device 20, and makes a registration request to the device registration unit 101 of the server device 10 based on the device registration data. The method of generating the device registration data will be described later with reference to FIG. 2A.
ドメイン生成部203は、機器20のドメインの名称であるドメイン名(domain_name)を生成する。 The domain generation unit 203 generates a domain name (domain_name), which is the name of the domain of the device 20.
CSR生成部204は、ドメイン生成部203により生成されたドメイン名(domain_name)の正当性を証明する証明書の署名要求(CSR)を生成する。 The CSR generation unit 204 generates a certificate signing request (CSR) proving the validity of the domain name (domain_name) generated by the domain generation unit 203.
発行要求送信部205は、機器20のドメインの証明書の発行要求をサーバ装置10に送信する。 The issuance request transmission unit 205 transmits a certificate issuance request for the domain of the device 20 to the server device 10.
確認方式取得要求部206は、確認方式取得要求(チャレンジ取得)をサーバ装置10に送信し、ドメイン確認方式(チャレンジ)情報を取得する。確認方式取得要求及びドメイン確認方式(チャレンジ)情報の説明は、図2Aを用いて後述する。 The confirmation method acquisition request unit 206 transmits a confirmation method acquisition request (challenge acquisition) to the server device 10 and acquires domain confirmation method (challenge) information. The description of the confirmation method acquisition request and the domain confirmation method (challenge) information will be described later with reference to FIG. 2A.
サーバ処理部207は、機器20で動作させるHTTPサーバの処理を実行する。HTTPサーバのアドレスは、ドメイン生成部203により生成されたドメイン名を含む。 The server processing unit 207 executes the processing of the HTTP server operated by the device 20. The address of the HTTP server includes the domain name generated by the domain generation unit 203.
確認要求送信部208は、機器20のドメインの確認要求(チャレンジ選択)をサーバ装置10に送信する。 The confirmation request transmission unit 208 transmits a confirmation request (challenge selection) for the domain of the device 20 to the server device 10.
表示制御部209は、ドメインの確認要求の応答として、サーバ装置10から検証URLを受信すると、この検証URLをQRコード(登録商標)などのコード情報にして、表示部に表示する。 When the display control unit 209 receives the verification URL from the server device 10 as a response to the domain confirmation request, the display control unit 209 converts the verification URL into code information such as a QR code (registered trademark) and displays it on the display unit.
取得部210は、端末30のインタフェース107からドメイン確認のためのアクセスを受けた契機で、証明書発行の可否をサーバ装置10に定期的に問い合わせる。そして、取得部210は、サーバ装置10の発行部111から証明書を取得すると、当該証明書を機器20にインストールする。 The acquisition unit 210 periodically inquires the server device 10 whether or not to issue a certificate when it receives an access for domain confirmation from the interface 107 of the terminal 30. Then, when the acquisition unit 210 acquires the certificate from the issuing unit 111 of the server device 10, the acquisition unit 210 installs the certificate in the device 20.
[証明書発行システムの動作例]
次に、第1実施形態の証明書発行システム100の動作例について説明する。
[Example of operation of certificate issuing system]
Next, an operation example of the certificate issuing system 100 of the first embodiment will be described.
図2A及び2Bは、第1実施形態の証明書発行システム100の動作例を示すシーケンス図である。 2A and 2B are sequence diagrams showing an operation example of the certificate issuing system 100 of the first embodiment.
はじめに、事前条件について説明する。 First, the preconditions will be described.
[事前条件1]サーバ装置10(を運用する組織)は、事前に機器20に対してMAC鍵(product_id,product_secret)を払い出している。機器20のメーカは、このMAC鍵を製造時に機器20に埋め込んでいる。なお、このサーバ装置10を運用する組織は、第1実施形態では、機器20のメーカである。なお、MAC鍵は、第1実施形態では、共通鍵としているが、例えばクライアント証明書のような非対称鍵であってもよい。 [Preliminary condition 1] The server device 10 (the organization that operates the server device 10) issues a MAC key (product_id, product_secret) to the device 20 in advance. The manufacturer of the device 20 embeds this MAC key in the device 20 at the time of manufacture. In the first embodiment, the organization that operates the server device 10 is the manufacturer of the device 20. Although the MAC key is a common key in the first embodiment, it may be an asymmetric key such as a client certificate.
[事前条件2]ユーザは、機器20(第1実施形態では、デジタルテレビ)の所有者であり、ウェブサービス(第1実施形態では、テレビリモコン機能等の遠隔制御などを実現するテレビ用クラウドサービス)に、例えばemailアドレス及びパスワードによるユーザ登録を行っている。 [Precondition 2] The user is the owner of the device 20 (digital TV in the first embodiment), and is a cloud service for TV that realizes remote control of a web service (in the first embodiment, a TV remote control function, etc.). ), For example, the user is registered by the email address and password.
はじめに、機器20の入力制御部201が、端末30の実行部301(第1実施形態では、ウェブブラウザ)からのアクセスを有効化する設定をONにする入力操作を受け付ける(ステップS1)。この際、入力制御部201は、サーバ装置10に登録済みのemailアドレスを指定する入力操作を更に受け付けるようにしてもよい。また、入力制御部201は、認証局として動作するサーバ装置10が複数ある場合、複数のサーバ装置10の候補から、サーバ装置10を選択する入力操作を更に受け付けてもよい。 First, the input control unit 201 of the device 20 accepts an input operation for turning on the setting for enabling access from the execution unit 301 (web browser in the first embodiment) of the terminal 30 (step S1). At this time, the input control unit 201 may further accept an input operation for designating the email address registered in the server device 10. Further, when there are a plurality of server devices 10 operating as a certificate authority, the input control unit 201 may further accept an input operation for selecting the server device 10 from the candidates of the plurality of server devices 10.
次に、機器20の登録要求部202が、機器登録用の鍵ペア(公開鍵(client_pub)及び秘密鍵(client_secret))を生成する(ステップS2)。 Next, the registration requesting unit 202 of the device 20 generates a key pair for device registration (public key (clinent_pub) and private key (clinent_secret)) (step S2).
次に、機器20の登録要求部202は、機器登録のためのnonceの発行をサーバ装置10に要求する(ステップS3)。サーバ装置10の機器認証部102は、登録要求部202からnonceの発行要求を受信すると、nonceを生成し、当該nonceを発行要求の応答として機器20に送信する(ステップS3)。 Next, the registration requesting unit 202 of the device 20 requests the server device 10 to issue a nonce for device registration (step S3). When the device authentication unit 102 of the server device 10 receives the nonce issuance request from the registration request unit 202, the device authentication unit 102 generates the nonce and transmits the nonce to the device 20 as a response to the issue request (step S3).
次に、機器20の登録要求部202は、機器登録用データを生成する。機器登録用データは、client_pub及びnonceを少なくとも含む(ステップS4)。このとき、サーバ装置10の機器登録部101が、事前にMAC鍵を払い出している製品(機器20)からの登録のみを受け付けるようにする場合、機器20の登録要求部202が、機器登録用データにproduct_idを含め、これにproduct_secretで署名をつける。 Next, the registration request unit 202 of the device 20 generates device registration data. The device registration data includes at least client_pub and nonce (step S4). At this time, when the device registration unit 101 of the server device 10 accepts only the registration from the product (device 20) for which the MAC key has been issued in advance, the registration request unit 202 of the device 20 has the device registration data. Include product_id in and sign it with product_secret.
次に、機器20の登録要求部220は、ステップS4の処理により生成された機器登録用データで、サーバ装置10の機器登録部101に登録要求を行う(ステップS5)。サーバ装置10の機器登録部101は、MAC、client_pub及びnonceに対するclient_secretによる署名を検証し、正しければ機器20を登録する。 Next, the registration request unit 220 of the device 20 makes a registration request to the device registration unit 101 of the server device 10 with the device registration data generated by the process of step S4 (step S5). The device registration unit 101 of the server device 10 verifies the signatures of the MAC, client_pub and nonce by client_secret, and registers the device 20 if it is correct.
なお、上述のステップS2〜ステップS5の処理は、サーバ装置10への機器登録が既に実行されている場合は省略される。 The processing of steps S2 to S5 described above is omitted when the device registration to the server device 10 has already been executed.
次に、機器20のドメイン生成部203が、ドメイン名(domain_name)を生成する(ステップS6)。このとき、ドメイン生成部203は、mDNSを有効化し、ドメイン名(domain_name)が第2ネットワーク502上で衝突せずに使えることを確認する。例えば、1つの実現例として、ドメイン生成部203は、domain_nameを、<UUID>.<機器メーカが運用するサーバ装置のドメイン名>.localとする。ここで、UUIDは、MAC(Media Access Control)アドレスなどから生成されるグローバルユニークな値である。サーバ装置10のドメインが、dtv.example.comだった場合には、例えば、2fac1234−31f8−11b4−a222−08002b34c003.dtv.example.com.localなどになる。この例はあくまで一例であり、第2ネットワーク502で衝突しない限りは、ドメイン名の生成方法は任意でよい。 Next, the domain generation unit 203 of the device 20 generates a domain name (domain_name) (step S6). At this time, the domain generation unit 203 enables mDNS and confirms that the domain name (domain_name) can be used on the second network 502 without collision. For example, as one implementation example, the domain generation unit 203 sets the domain_name to <UUID>. <Domain name of the server device operated by the device manufacturer>. Let it be local. Here, the UUID is a globally unique value generated from a MAC (Media Access Control) address or the like. The domain of the server device 10 is dtv. sample. In the case of com, for example, 2fac1234-31f8-11b4-a222-08002b34c003. dtv. sample. com. It becomes local and so on. This example is just an example, and the domain name generation method may be arbitrary as long as it does not collide with the second network 502.
次に、機器20のCSR生成部204が、ステップS6の処理により生成されたdomain_nameの正当性を証明する証明書の署名要求(CSR)を生成する(ステップS7)。なお、CSR生成部204は、指定したユーザのemailアドレスを、CSRのコンタクト情報に加えてもよい。 Next, the CSR generation unit 204 of the device 20 generates a signing request (CSR) for a certificate certifying the validity of the domain_name generated by the process of step S6 (step S7). The CSR generation unit 204 may add the specified user's email address to the CSR contact information.
次に、機器20の発行要求送信部205が、機器20のドメインの証明書の発行要求をサーバ装置10に送信する(ステップS8)。証明書の発行要求は、ステップS7の処理により生成されたCSRを含む。サーバ装置10の発行要求応答部103は、機器認証部102により機器20が認証された場合、CSRを受け付け、応答として、識別情報(authz_id)、及び、パス情報(cert_uri)を機器20に送信する。識別情報(authz_id)は、証明書の発行要求を識別する情報である。パス情報(cert_uri)は、証明書が発行された場合に、当該証明書が置かれる場所を示す情報である。このとき発行要求応答部103は、CSRに含まれるドメイン名がローカル用のドメインであることを示す情報を、CSRと合わせて記憶しておく。なお、CSR内の情報を用いず、証明書の発行要求に、ローカルネットワーク向け証明書の発行であることを明示的に示すパラメータを含めるようにしてもよい。 Next, the issuance request transmission unit 205 of the device 20 transmits a certificate issuance request of the domain of the device 20 to the server device 10 (step S8). The certificate issuance request includes the CSR generated by the process of step S7. When the device 20 is authenticated by the device authentication unit 102, the issuance request response unit 103 of the server device 10 accepts the CSR and transmits the identification information (autz_id) and the path information (cert_uri) to the device 20 as a response. .. The identification information (autz_id) is information for identifying a certificate issuance request. The path information (cert_uri) is information indicating the place where the certificate is placed when the certificate is issued. At this time, the issuance request response unit 103 stores information indicating that the domain name included in the CSR is a local domain together with the CSR. In addition, instead of using the information in the CSR, the certificate issuance request may include a parameter that explicitly indicates that the certificate is issued for the local network.
次に、機器20の確認方式取得要求部206が、識別情報(authz_id)が指定された確認方式取得要求(チャレンジ取得)をサーバ装置10に送信し、ドメイン確認方式(チャレンジ)情報を取得する(ステップS9)。サーバ装置10の発行要求応答部103は、機器認証部102により機器20が認証された場合、ローカルドメイン向けチャレンジ情報を応答する。ローカルドメイン向けチャレンジ情報は、チャレンジ識別情報、種別情報(“http−local−01”など)、及び、トークンを含む。 Next, the confirmation method acquisition request unit 206 of the device 20 transmits a confirmation method acquisition request (challenge acquisition) for which identification information (autz_id) is specified to the server device 10 to acquire domain confirmation method (challenge) information ( Step S9). When the device 20 is authenticated by the device authentication unit 102, the issue request response unit 103 of the server device 10 responds with the challenge information for the local domain. The challenge information for the local domain includes challenge identification information, type information (such as "http-local-01"), and tokens.
次に、機器20のサーバ処理部207が、トークン、及び、署名データ(キー認可情報(key_authorization))を、機器20で動作させるHTTPサーバの特定パス(.well−known/acme−challenge/{token}等)に設置する(ステップS10)。署名データは、公開鍵(client_pub)をハッシュ関数にかけて秘密鍵(client_secret)で暗号化したデータである。 Next, the server processing unit 207 of the device 20 transmits the token and the signature data (key authorization information (key_autification)) to the specific path (.well-known / acme-challenge / {token) of the HTTP server that operates the device 20. } Etc.) (step S10). The signature data is data in which the public key (clinent_pub) is subjected to a hash function and encrypted with the private key (clinent_secret).
次に、機器20の確認要求送信部208が、サーバ処理部207によりHTTPサーバの準備ができた後、機器20のドメインの確認要求(チャレンジ選択)をサーバ装置10に送信する(ステップS11)。サーバ装置10の確認要求応答部105は、機器認証部102により機器20が認証された場合、当該ドメイン確認要求を特定する一時的に有効な検証コード(code)を特定情報として含む検証URL(verification_uri)を応答する。この検証URLは、サーバ装置10により提供されるインタフェース(ウェブ画面)のパスである。検証URLは、例えば、前述したように、https://dtv.example.com/confirm_local_domain.html#code=xxxxxxxxなどになっていて、インタフェースのJavaScript(登録商標)コードから、検証コード(code)が参照できる形になっている。 Next, the confirmation request transmission unit 208 of the device 20 transmits a confirmation request (challenge selection) of the domain of the device 20 to the server device 10 after the HTTP server is prepared by the server processing unit 207 (step S11). When the device 20 is authenticated by the device authentication unit 102, the confirmation request response unit 105 of the server device 10 includes a verification URL (verification_uri) including a temporarily valid verification code (code) for specifying the domain confirmation request as specific information. ) Is answered. This verification URL is the path of the interface (web screen) provided by the server device 10. The verification URL is, for example, https://dtv.com, as described above. sample. com / confirm_local_domine. HTML # code = xxxxxxxxx etc., and the verification code (code) can be referred to from the Javascript (registered trademark) code of the interface.
次に、機器20の表示制御部209が、ステップS11の応答として、サーバ装置10から検証URLを受信すると、この検証URLをQRコード(登録商標)などのコード情報にして、表示部に表示する(ステップS12)。なお表示制御部209は、そのまま検証URLの文字列を表示してもよいが、ユーザがインタフェース107のパスを予め知っているなどの場合は、検証コードのみを表示してもよい。 Next, when the display control unit 209 of the device 20 receives the verification URL from the server device 10 as a response in step S11, the verification URL is converted into code information such as a QR code (registered trademark) and displayed on the display unit. (Step S12). The display control unit 209 may display the character string of the verification URL as it is, but if the user knows the path of the interface 107 in advance, only the verification code may be displayed.
次に、端末30の実行部301が、ステップS12の処理により表示されたコード情報を読み込むことにより取得された検証URLにアクセスし、インタフェース107(ドメイン確認ウェブ画面)に遷移する(ステップS13)。 Next, the execution unit 301 of the terminal 30 accesses the verification URL acquired by reading the code information displayed in the process of step S12, and transitions to the interface 107 (domain confirmation web screen) (step S13).
次に、端末30のインタフェース107は、ユーザがログインしていなければ、ログイン操作を受け付ける(ステップS14)。 Next, the interface 107 of the terminal 30 accepts a login operation if the user is not logged in (step S14).
次に、インタフェース107上のドメイン確認部108は、検証URLに含まれる検証コード(code)を、ドメイン確認要求を特定する特定情報として取得し、当該検証コードをパラメータとして含む機器URL取得要求をサーバ装置10に送信する(ステップS15)。サーバ装置10の機器URL応答部109は、機器20のHTTPサーバのドメイン確認用URL情報である機器URL(device_uri)を、機器URL取得要求の応答として、端末30に送信する。 Next, the domain confirmation unit 108 on the interface 107 acquires the verification code (code) included in the verification URL as specific information for specifying the domain confirmation request, and the server receives the device URL acquisition request including the verification code as a parameter. It is transmitted to the device 10 (step S15). The device URL response unit 109 of the server device 10 transmits the device URL (device_uri), which is the domain confirmation URL information of the HTTP server of the device 20, to the terminal 30 as a response to the device URL acquisition request.
機器URL(device_uri)は、機器のドメイン(ドメイン名)及びトークンを含む。device_uriは、例えばhttp(s)://{domain_name}/.well−known/acme−challenge/{token}などである。 The device URL (device_uri) includes the domain (domain name) and token of the device. device_uri is, for example, http (s): // {domine_name} /. Well-know / acme-challenge / {token} and the like.
次に、端末30のインタフェース107(ドメイン確認部108)は、機器20によりトークンが設置されているパスを示す機器URL(device_uri)を含むパラメータを実行部301に渡すことにより、実行部301に機器20のドメインの存在確認を依頼する(ステップS16)。 Next, the interface 107 (domain confirmation unit 108) of the terminal 30 passes a parameter including a device URL (device_uri) indicating a path in which the token is installed by the device 20 to the execution unit 301, thereby causing the device to the execution unit 301. Request confirmation of the existence of 20 domains (step S16).
次に、端末30の実行部301は、機器URLにアクセスし、トークン及びキー認可情報を取得し、トークン及びキー認可情報をインタフェース107(ドメイン確認部108)に応答する(ステップS17)。 Next, the execution unit 301 of the terminal 30 accesses the device URL, acquires the token and key authorization information, and responds the token and key authorization information to the interface 107 (domain confirmation unit 108) (step S17).
次に、機器20の取得部210が、端末30のインタフェース107からのアクセスを契機に、証明書発行の可否をサーバ装置10に定期的に問い合わせる(ステップS18)。 Next, the acquisition unit 210 of the device 20 periodically inquires the server device 10 whether or not to issue a certificate, triggered by the access from the interface 107 of the terminal 30 (step S18).
次に、端末30のインタフェース107(ドメイン確認部108)は、トークン及びキー認可情報を含むドメイン確認登録要求をサーバ装置10の確認結果受付部110に送付する(ステップS19)。 Next, the interface 107 (domain confirmation unit 108) of the terminal 30 sends a domain confirmation registration request including the token and the key authorization information to the confirmation result reception unit 110 of the server device 10 (step S19).
次に、サーバ装置10の確認結果受付部110が、ステップS19の処理により送信されたトークン及びキー認可情報を受け付けると、発行部111が、トークン及びキー認可情報を検証する(ステップS20)。具体的には、確認結果受付部110は、ステップS11の処理によりドメインの確認要求を送信した機器20、及び、当該ドメイン確認要求に含まれていたトークンと、ステップS19の処理により端末30から受け付けたトークン及びキー認可情報(ステップS17の処理により機器20のHTTPサーバから取得されたトークン及びキー認可情報)とが一致するか否かを検証する。 Next, when the confirmation result receiving unit 110 of the server device 10 receives the token and key authorization information transmitted by the process of step S19, the issuing unit 111 verifies the token and key authorization information (step S20). Specifically, the confirmation result receiving unit 110 receives the device 20 that sent the domain confirmation request by the process of step S11, the token included in the domain confirmation request, and the terminal 30 by the process of step S19. It is verified whether or not the token and the key authorization information (the token and the key authorization information acquired from the HTTP server of the device 20 by the process of step S17) match.
次に、サーバ装置10の発行部111は、ステップS20の検証処理が成功した場合、ステップS8の処理により送信された証明書の発行要求により、機器20から送信されたCSRを、サーバ装置10の秘密鍵で署名して証明書を発行する(ステップS21)。 Next, when the verification process of step S20 is successful, the issuing unit 111 of the server device 10 sends the CSR transmitted from the device 20 to the server device 10 in response to the certificate issuance request transmitted in the process of step S8. Sign with the private key and issue the certificate (step S21).
この際、発行部111は、ステップS19の処理により送信されたドメイン確認登録要求への応答として、証明書を返してもよい(optional)。この場合、端末30のインタフェース107は、サーバ装置10から受信した証明書を実行部301(第1実施形態では、ウェブブラウザ)に信頼できる証明書として登録するよう要求する(ステップS22)。次に、実行部301は、ステップS22の処理により登録の要求をされた証明書を、信頼できる証明書として登録する(ステップS23)。この際、実行部301は、ステップS23の処理により登録された証明書を信頼できる証明書として扱うドメインを合わせて登録し、他のドメインからは信頼できる証明書として見えないようにしてもよい。 At this time, the issuing unit 111 may optionally return the certificate as a response to the domain confirmation registration request transmitted in the process of step S19. In this case, the interface 107 of the terminal 30 requests the execution unit 301 (in the first embodiment, the web browser) to register the certificate received from the server device 10 as a reliable certificate (step S22). Next, the execution unit 301 registers the certificate requested for registration by the process of step S22 as a trusted certificate (step S23). At this time, the execution unit 301 may also register the domain that handles the certificate registered by the process of step S23 as a trusted certificate so that it cannot be seen as a trusted certificate from other domains.
一方、機器20の取得部210は、定期的に送信する証明書発行要求への応答に含まれる状態情報が「発行済」になっていることを確認する(ステップS24)。次に、取得部210は、サーバ装置10の発行部111から証明書を取得すると(ステップS25)、当該証明書を機器20にインストールする(ステップS26)。 On the other hand, the acquisition unit 210 of the device 20 confirms that the status information included in the response to the certificate issuance request to be periodically transmitted is "issued" (step S24). Next, when the acquisition unit 210 acquires the certificate from the issuing unit 111 of the server device 10 (step S25), the acquisition unit 210 installs the certificate in the device 20 (step S26).
以上説明した第1実施形態の証明書発行システム100によれば、第1ネットワーク501(インターネット)上のウェブサービスからアクセス可能なサーバ証明書が、第2ネットワーク502(ローカルネットワーク)上の機器20のHTTPサーバに発行できている。 According to the certificate issuing system 100 of the first embodiment described above, the server certificate accessible from the web service on the first network 501 (Internet) is the device 20 on the second network 502 (local network). It can be issued to the HTTP server.
なお第1実施形態では、機器20がデジタルテレビである場合を例にして説明したが、機器20はデジタルテレビに限られない。機器20は、例えば、デジタルテレビ以外の家電機器、住宅設備機器、工場の設備機器、及び、ビルの設備機器などであってもよい。第1実施形態の証明書発行システム100は、インターネット上のウェブページからローカルネットワーク上の機器へ安全にアクセスする方法として、幅広い適用範囲が想定される。 In the first embodiment, the case where the device 20 is a digital television has been described as an example, but the device 20 is not limited to the digital television. The equipment 20 may be, for example, home appliances other than digital TVs, housing equipment, factory equipment, building equipment, and the like. The certificate issuing system 100 of the first embodiment is expected to have a wide range of applications as a method for safely accessing a device on a local network from a web page on the Internet.
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
(Second Embodiment)
Next, the second embodiment will be described. In the description of the second embodiment, the same description as that of the first embodiment will be omitted, and the parts different from the first embodiment will be described.
第1実施形態は、機器20が、QRコード(登録商標)などのコード情報を表示可能な相応の情報表示能力を持っていることを前提とした方式であった。第2実施形態では、コード情報などを用いて、上述の検証URL(verification_uri)を端末30に伝えられない機器20を対象にした実施形態について述べる。第2実施形態では、機器20がエアコンである場合を例にして説明する。 The first embodiment is a method on the premise that the device 20 has an appropriate information display ability capable of displaying code information such as a QR code (registered trademark). The second embodiment describes an embodiment targeting the device 20 in which the above-mentioned verification URL (verification_uri) cannot be transmitted to the terminal 30 by using code information or the like. In the second embodiment, the case where the device 20 is an air conditioner will be described as an example.
[証明書発行システムの構成の例]
図3は第2実施形態の証明書発行システム100の構成の例を示す図である。第2実施形態の証明書発行システム100は、サーバ装置10、機器20、端末30及び中継装置40を備える。
[Example of certificate issuance system configuration]
FIG. 3 is a diagram showing an example of the configuration of the certificate issuing system 100 of the second embodiment. The certificate issuing system 100 of the second embodiment includes a server device 10, a device 20, a terminal 30, and a relay device 40.
第2実施形態では、第3ネットワーク503が追加されている。また、機器20には、第3ネットワーク503を介して端末30と通信する通信制御部211が追加されている。 In the second embodiment, the third network 503 is added. In addition, a communication control unit 211 that communicates with the terminal 30 via the third network 503 is added to the device 20.
第3ネットワーク503は、機器20及び端末30が安全に(情報漏洩せずに)通信できるネットワークである。具体的には、第3ネットワーク503の通信方式は、有線方式であっても無線方式であってもよい。有線方式の場合は、例えばUSB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、及び、SDIO(Secure Digital Input/Output)などである。無線方式の場合は、NFC(Near Field Communication)などの近接無線、及び、BLE(Bluetooth(登録商標) Low Energy)などの安全性の高い近距離無線通信である。第2実施形態では、第3ネットワーク503の通信方式がBLEである場合を例にして説明する。 The third network 503 is a network through which the device 20 and the terminal 30 can communicate safely (without leaking information). Specifically, the communication method of the third network 503 may be a wired method or a wireless method. In the case of the wired system, for example, USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), SDIO (Secure Digital Input / Output) and the like. In the case of a wireless system, it is a near field communication such as NFC (Near Field Communication) and a highly secure short range wireless communication such as BLE (Bluetooth (registered trademark) Low Energy). In the second embodiment, the case where the communication method of the third network 503 is BLE will be described as an example.
機器20の通信制御部211は、第3ネットワーク503を介して端末30と通信する。第2実施形態では、通信制御部211は、端末30との間のBLE通信を制御する。 The communication control unit 211 of the device 20 communicates with the terminal 30 via the third network 503. In the second embodiment, the communication control unit 211 controls BLE communication with the terminal 30.
[証明書発行システムの動作例]
次に、第2実施形態の証明書発行システム100の動作例について説明する。
[Example of operation of certificate issuing system]
Next, an operation example of the certificate issuing system 100 of the second embodiment will be described.
図4A乃至4Cは、第2実施形態の証明書発行システム100の動作例を示すシーケンス図である。第1実施形態では、機器20側から証明書の発行処理を開始したが、第2実施形態では、端末30側から証明書の発行処理を開始する。 4A to 4C are sequence diagrams showing an operation example of the certificate issuing system 100 of the second embodiment. In the first embodiment, the certificate issuance process is started from the device 20 side, but in the second embodiment, the certificate issuance process is started from the terminal 30 side.
事前条件の説明は、第1実施形態と同じなので省略する。 Since the description of the prior conditions is the same as that of the first embodiment, the description thereof will be omitted.
はじめに、端末30のユーザが、エアコン操作ウェブサービス(例えば、https://aircon.example.com)の画面をロードする(ステップS1)。 First, the user of the terminal 30 loads the screen of the air conditioner operation web service (for example, https: //aircon.sample.com) (step S1).
次に、サーバ装置10が、ステップS1の処理によりロードされた画面を介して、ユーザのログインを受け付ける(ステップS2)。サーバ装置10は、ログインを受け付けると、インタフェース107(第2実施形態では、機器20のドメイン確認用ウェブ画面)を端末30に送信する。 Next, the server device 10 accepts the user's login via the screen loaded by the process of step S1 (step S2). When the server device 10 accepts the login, the server device 10 transmits the interface 107 (in the second embodiment, the domain confirmation web screen of the device 20) to the terminal 30.
次に、端末30のインタフェース107が、機器20の証明書発行確認画面の表示要求を実行部301(ウェブブラウザ)に入力する(ステップS3)。このとき、ステップS2の処理によりログインしたユーザのユーザ情報(emailアドレスなど)や、サーバ装置情報(機器20が証明書の発行要求などを送信するサーバ装置10のURLドメイン名など)を、実行部301に渡すようにしてもよい。 Next, the interface 107 of the terminal 30 inputs a display request for the certificate issuance confirmation screen of the device 20 to the execution unit 301 (web browser) (step S3). At this time, the user information (email address, etc.) of the user logged in by the process of step S2 and the server device information (URL domain name of the server device 10 to which the device 20 sends a certificate issuance request, etc.) are input to the execution unit. You may pass it to 301.
次に、端末30の実行部301が、証明書発行確認画面を表示する(ステップS4)。証明書発行確認画面は、例えば「ホームネットワークにあるエアコンを見つけて、このページから制御できるようにしますか?[OK],[キャンセル]」などのメッセージを表示する。 Next, the execution unit 301 of the terminal 30 displays the certificate issuance confirmation screen (step S4). The certificate issuance confirmation screen displays a message such as "Do you want to find the air conditioner on your home network and control it from this page? [OK], [Cancel]".
次に、端末30の実行部301は、ステップS4の処理により表示された証明書発行確認画面のOKボタンの押下を受け付ける(ステップS5)。 Next, the execution unit 301 of the terminal 30 accepts the pressing of the OK button on the certificate issuance confirmation screen displayed by the process of step S4 (step S5).
次に、端末30の実行部301は、機器30のBLE通信機能を利用して、HTTPサーバ機能を持つ機器20を探索する(ステップS6)。なお、検索の粒度は任意でよい。探索の粒度は、例えばエアコンを示す機器種別、特定機種、または、サーバ装置10から機器20に払い出されているMAC鍵ID(product_id)などである。 Next, the execution unit 301 of the terminal 30 searches for the device 20 having the HTTP server function by using the BLE communication function of the device 30 (step S6). The search granularity may be arbitrary. The particle size of the search is, for example, a device type indicating an air conditioner, a specific model, or a MAC key ID (product_id) issued from the server device 10 to the device 20.
次に、端末30の実行部301は、HTTPサーバ機能を持つ機器20からステップS6の検索処理の応答を受信すると、MAC鍵のID(product_id)、及び、機器名などの機器情報の取得要求を当該機器20に送信する(ステップS7)。 Next, when the execution unit 301 of the terminal 30 receives the response of the search process in step S6 from the device 20 having the HTTP server function, the execution unit 301 requests to acquire the device information such as the MAC key ID (product_id) and the device name. It is transmitted to the device 20 (step S7).
次に、端末30の実行部301は、機器20が複数みつかることもあるため、機器の選択画面を表示する(ステップS8)。 Next, since the execution unit 301 of the terminal 30 may find a plurality of devices 20, the execution unit 301 displays the device selection screen (step S8).
次に、端末30の実行部301は、ステップS8の処理により表示された選択画面を介して、機器の選択を受け付ける(ステップS9)。 Next, the execution unit 301 of the terminal 30 accepts the selection of the device via the selection screen displayed by the process of step S8 (step S9).
次に、端末30の実行部301は、端末30のBLE通信機能を利用して、機器20の証明書の発行要求を機器20に送信する(ステップS10)。この際、実行部301は、証明書の発行要求のパラメータに、上述のユーザ情報、及び、上述のサーバ装置情報を設定する。 Next, the execution unit 301 of the terminal 30 uses the BLE communication function of the terminal 30 to transmit a certificate issuance request of the device 20 to the device 20 (step S10). At this time, the execution unit 301 sets the above-mentioned user information and the above-mentioned server device information in the parameters of the certificate issuance request.
次に、機器20の登録要求部202が、機器登録のためのnonceの発行をサーバ装置10に要求する(ステップS11)。この際、登録要求部202は、HTTPS通信を用いることで、サーバ装置10のサーバ証明書を検証することができる。 Next, the registration requesting unit 202 of the device 20 requests the server device 10 to issue a nonce for device registration (step S11). At this time, the registration requesting unit 202 can verify the server certificate of the server device 10 by using HTTPS communication.
次に、機器20は、LED(Light Emitting Diode)を光らせることにより、ステップS10の処理により送信された発行要求の受信を知らせる(ステップS12)。 Next, the device 20 notifies the receipt of the issuance request transmitted by the process of step S10 by illuminating the LED (Light Emitting Diode) (step S12).
次に、機器20は、機器20のボタンの押下等により、証明書の発行を許諾する操作を受け付ける(ステップS13)。ユーザは、端末30の実行部301で選択した機器20と、実際の機器20が一致していることを確認のうえ、機器20のボタンを押下することにより、証明書の発行を改めて許諾する。 Next, the device 20 accepts an operation for permitting the issuance of the certificate by pressing a button of the device 20 or the like (step S13). After confirming that the device 20 selected by the execution unit 301 of the terminal 30 matches the actual device 20, the user presses the button of the device 20 to re-authorize the issuance of the certificate.
ステップS14〜ステップS22の処理の説明は、第1実施形態のステップS2、及び、ステップS4〜ステップS11の説明と同様のため省略する。 The description of the process of steps S14 to S22 is the same as the description of step S2 and steps S4 to S11 of the first embodiment, and thus will be omitted.
次に、端末30の実行部301は、ステップS10の処理により送信された発行要求の応答(ok)を受信すると、サーバ装置10の検証URL(verification_uri)を、BLE機能を利用して取得し、当該検証URLをインタフェース107に返す(ステップS23)。 Next, when the execution unit 301 of the terminal 30 receives the response (ok) of the issuance request transmitted by the process of step S10, the execution unit 301 obtains the verification URL (verification_uri) of the server device 10 by using the BLE function. The verification URL is returned to the interface 107 (step S23).
ステップS24〜ステップS35の処理の説明は、第1実施形態のステップS15〜ステップS26の説明と同様のため省略する。 The description of the process of steps S24 to S35 is the same as the description of steps S15 to S26 of the first embodiment, and thus will be omitted.
以上説明した第2実施形態の証明書発行システム100によれば、機器20が表示機能を持たない場合であっても、セキュアな近距離通信(例えばBLE)を利用することにより、第1実施形態と同様の効果が得られる。 According to the certificate issuing system 100 of the second embodiment described above, even when the device 20 does not have the display function, by using secure short-range communication (for example, BLE), the first embodiment The same effect as is obtained.
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第1及び第2実施形態と同様の説明については省略し、第1及び第2実施形態と異なる箇所について説明する。
(Third Embodiment)
Next, the third embodiment will be described. In the description of the third embodiment, the same description as in the first and second embodiments will be omitted, and the parts different from the first and second embodiments will be described.
第1及び第2実施形態では、機器20が中継装置40を介してサーバ装置10と通信できることを前提としていた。第3実施形態では、インターネットなどの第1ネットワーク501への接続ができない機器20を対象にした実施形態について説明する。 In the first and second embodiments, it is assumed that the device 20 can communicate with the server device 10 via the relay device 40. In the third embodiment, an embodiment for a device 20 that cannot be connected to the first network 501 such as the Internet will be described.
第3実施形態の証明書発行システム100の構成は、第1実施形態の証明書発行システム100(図1参照)と同じである。 The configuration of the certificate issuing system 100 of the third embodiment is the same as that of the certificate issuing system 100 of the first embodiment (see FIG. 1).
[証明書発行システムの動作例]
次に、第3実施形態の証明書発行システム100の動作例について説明する。
[Example of operation of certificate issuing system]
Next, an operation example of the certificate issuing system 100 of the third embodiment will be described.
図5A乃至5Cは、第3実施形態の証明書発行システム100の動作例を示すシーケンス図である。第3実施形態は、第2実施形態と同様に、端末30側から機器20の証明書の発行処理を開始する。 5A to 5C are sequence diagrams showing an operation example of the certificate issuing system 100 of the third embodiment. In the third embodiment, as in the second embodiment, the certificate issuance process of the device 20 is started from the terminal 30 side.
事前条件の説明は、第1実施形態と同じなので省略する。 Since the description of the prior conditions is the same as that of the first embodiment, the description thereof will be omitted.
ステップS1及びステップS2の処理の説明は、第2実施形態のステップS1〜ステップS2の説明と同様のため省略する。 The description of the process of step S1 and step S2 will be omitted because it is the same as the description of steps S1 to S2 of the second embodiment.
次に、端末30のインタフェース107が、nonceの発行をサーバ装置10に要求する(ステップS3)。 Next, the interface 107 of the terminal 30 requests the server device 10 to issue a nonce (step S3).
次に、端末30のインタフェース107は、機器20の証明書の発行要求を実行部301(第3実施形態では、ウェブブラウザ)に依頼する(ステップS4)。証明書の発行要求は、ユーザ情報(user_info)、サーバ装置10のサーバ証明書(device_ca_info)、及び、ステップS3の処理により取得されたnonceを含む。 Next, the interface 107 of the terminal 30 requests the execution unit 301 (in the third embodiment, the web browser) to issue a certificate of the device 20 (step S4). The certificate issuance request includes user information (user_info), a server certificate of the server device 10 (device_ca_info), and a nonce acquired by the process of step S3.
ステップS5〜ステップS10の処理の説明は、第2実施形態のステップS4〜ステップS9の説明と同様のため省略する。 The description of the process of steps S5 to S10 will be omitted because it is the same as the description of steps S4 to S9 of the second embodiment.
次に、端末30の実行部301が、CSR生成要求を機器20に送信する(ステップS11)。CSR生成要求は、ユーザ情報(user_info)、サーバ装置10のサーバ証明書(device_ca_info)、及び、ステップS3の処理により取得されたnonceを含む。 Next, the execution unit 301 of the terminal 30 transmits a CSR generation request to the device 20 (step S11). The CSR generation request includes user information (user_info), a server certificate of the server device 10 (device_ca_info), and a nonce acquired by the process of step S3.
次に、機器20は、ステップS11の処理により送信されたCSR生成要求に含まれるサーバ証明書(device_ca_info)を検証する(ステップS12)。具体的には、機器20は、予め機器の中にインストールされている信頼できる認証局の証明書を示す情報に基づいて、サーバ証明書(device_ca_info)を検証する。 Next, the device 20 verifies the server certificate (device_ca_info) included in the CSR generation request transmitted by the process of step S11 (step S12). Specifically, the device 20 verifies the server certificate (device_ca_info) based on the information indicating the certificate of the reliable certificate authority installed in the device in advance.
ステップS13の処理の説明は、第2実施形態のステップS13の説明と同様のため省略する。ステップS14及びステップS15の説明は、第2実施形態のステップS17及びステップS18の説明と同様のため省略する。 The description of the process in step S13 will be omitted because it is the same as the description in step S13 of the second embodiment. The description of steps S14 and S15 is the same as the description of steps S17 and S18 of the second embodiment, and will be omitted.
次に、機器20のCSR生成部204が、CSR及びnonceをproduct_secretにより署名(MAC)を生成する(ステップS16)。機器20のCSR生成部204は、署名(MAC)が生成できた時点で、ステップS11の処理により送信されたCSR生成要求の応答(ok)を端末30に送信する。 Next, the CSR generation unit 204 of the device 20 generates a signature (MAC) of the CSR and nonce by product_secret (step S16). When the signature (MAC) can be generated, the CSR generation unit 204 of the device 20 transmits the response (ok) of the CSR generation request transmitted by the process of step S11 to the terminal 30.
次に、端末30の実行部301は、CSR生成要求の応答(ok)を受信すると、CSR取得要求を機器20に送信する(ステップS17)。機器20のCSR生成部204は、CSR取得要求の応答として、CSR、MAC及びproduct_idを端末30に送信する。端末30の実行部301は、CSR、MAC及びproduct_idを、ステップS4の処理により送信された証明書の発行要求の応答として、インタフェース107に返す。 Next, when the execution unit 301 of the terminal 30 receives the response (ok) of the CSR generation request, it transmits the CSR acquisition request to the device 20 (step S17). The CSR generation unit 204 of the device 20 transmits the CSR, MAC, and product_id to the terminal 30 in response to the CSR acquisition request. The execution unit 301 of the terminal 30 returns the CSR, MAC, and product_id to the interface 107 as a response to the certificate issuance request transmitted by the process of step S4.
次に、端末30のインタフェース107が、証明書の発行要求をサーバ装置10に送信する(ステップS18)。証明書の発行要求は、CSR、MAC、及びproduct_idをパラメータとして含む。 Next, the interface 107 of the terminal 30 transmits a certificate issuance request to the server device 10 (step S18). The certificate issuance request includes CSR, MAC, and product_id as parameters.
次に、サーバ装置10の発行要求応答部103が、ステップS18の処理により送信された発行要求に含まれるMACを検証し、product_secretを持っている機器20による署名であることを確認したら(ステップS19)、成功応答を返す。応答内容は、第1実施形態のステップ8の発行要求の応答と同様である。 Next, when the issuance request response unit 103 of the server device 10 verifies the MAC included in the issuance request transmitted by the process of step S18 and confirms that the signature is by the device 20 having the product_secret (step S19). ), Returns a success response. The content of the response is the same as the response of the issuance request in step 8 of the first embodiment.
ステップS20の説明は、機器20からではなく、インタフェース107からの要求である点を除いて、第1実施形態のステップS9の説明と同様である。 The description of step S20 is the same as that of step S9 of the first embodiment, except that the request is from the interface 107, not from the device 20.
次に、端末30のインタフェース107は、ステップS20の処理により送信された確認方式取得要求(チャレンジ取得)の応答として返されるチャレンジを選択して、機器20のドメインの確認要求をサーバ装置10に送信する(ステップS21)。サーバ装置10の確認要求応答部105は、確認方式取得要求に含まれる識別情報(authz_id)から、ステップS18の処理により送信された証明書の発行要求により端末30から受信したCSRを特定する。確認要求応答部105は、特定されたCSRに含まれる機器20のドメイン名(device_domain)、トークン及びnonceを、確認要求の応答として端末30に送信する。 Next, the interface 107 of the terminal 30 selects the challenge returned as a response to the confirmation method acquisition request (challenge acquisition) transmitted in the process of step S20, and transmits the domain confirmation request of the device 20 to the server device 10. (Step S21). The confirmation request response unit 105 of the server device 10 identifies the CSR received from the terminal 30 by the issuance request of the certificate transmitted in the process of step S18 from the identification information (autz_id) included in the confirmation method acquisition request. The confirmation request response unit 105 transmits the domain name (device_domain), token, and nonce of the device 20 included in the specified CSR to the terminal 30 as a response to the confirmation request.
次に、端末30のインタフェース107が、機器20のドメインの確認要求を実行部301に送信する(ステップS22)。ドメインの確認要求は、ステップS21の処理により送信された確認方式取得要求の応答に含まれるドメイン名、トークン及びnonceを含む。 Next, the interface 107 of the terminal 30 transmits a confirmation request for the domain of the device 20 to the execution unit 301 (step S22). The domain confirmation request includes the domain name, token, and nonce included in the response of the confirmation method acquisition request transmitted by the process of step S21.
次に、端末30の実行部301は、端末30のBLE機能を利用して、トークン及びnonceを含むチャレンジ設置要求を機器20に送信することにより、機器20にHTTPサーバの起動を要求する(ステップS23)。 Next, the execution unit 301 of the terminal 30 requests the device 20 to start the HTTP server by transmitting a challenge installation request including a token and a nonce to the device 20 by using the BLE function of the terminal 30 (step). S23).
次に、機器20のサーバ処理部207は、トークン、並びに、サーバ装置10により提供されたnonce及びproduct_idをあわせたデータのMAC(以降、「キー認可情報」と呼ぶ)を自身のHTTPサーバ経由でアクセス可能なディレクトリ(ドメイン確認用の機器URL)に保存し、必要であればHTTPサーバを起動ないし再起動して、端末30の実行部301に応答を返す(ステップS24)。機器URLは、例えばhttp(s)://digital−tv.local/.well−known/acme−challenge/{トークン}などである。 Next, the server processing unit 207 of the device 20 transmits the token and the MAC (hereinafter referred to as "key authorization information") of the data including the nonce and the product_id provided by the server device 10 via its own HPTP server. It is saved in an accessible directory (device URL for domain confirmation), and if necessary, the HTTP server is started or restarted, and a response is returned to the execution unit 301 of the terminal 30 (step S24). The device URL is, for example, http (s): // digital-tv. local /. Well-know / acme-challenge / {token} and the like.
次に、端末30の実行部301が、ステップS23の処理により送信されたチャレンジ設置要求の応答を受信すると、機器URLにアクセスし、当該機器URLから、ステップS23の処理により機器20により保存されたトークン及びキー認可情報を取得する(ステップS25)。実行部301は、機器20から取得されたトークン及びキー認可情報をインタフェース107に返す。 Next, when the execution unit 301 of the terminal 30 receives the response of the challenge installation request transmitted by the process of step S23, it accesses the device URL and is saved by the device 20 by the process of step S23 from the device URL. Acquire the token and key authorization information (step S25). The execution unit 301 returns the token and the key authorization information acquired from the device 20 to the interface 107.
次に、端末30のインタフェース107は、証明書の取得要求をサーバ装置10に送信する(ステップS26)。証明書の取得要求は、トークン及びキー認可情報を含む。 Next, the interface 107 of the terminal 30 transmits a certificate acquisition request to the server device 10 (step S26). The certificate acquisition request includes token and key authorization information.
次に、サーバ装置10の発行部111が、ステップS26の処理により送信された取得要求に含まれるトークン及びキー認可情報を検証する(ステップS27)。 Next, the issuing unit 111 of the server device 10 verifies the token and key authorization information included in the acquisition request transmitted by the process of step S26 (step S27).
次に、サーバ装置10の発行部111は、ステップS27の検証処理の結果、product_secretで署名したデータであることが確認できれば、機器20の証明書を生成し、ステップS26の処理により送信された取得要求の応答として、当該証明書を端末30に送信する(ステップS28)。 Next, if the issuing unit 111 of the server device 10 can confirm that the data is signed by product_secret as a result of the verification process in step S27, it generates a certificate for the device 20 and obtains the certificate transmitted by the process in step S26. In response to the request, the certificate is transmitted to the terminal 30 (step S28).
次に、端末30のインタフェース107が、ステップS28の処理により生成された証明書を、機器20に渡すように実行部301に指示する(ステップS29)。 Next, the interface 107 of the terminal 30 instructs the execution unit 301 to pass the certificate generated by the process of step S28 to the device 20 (step S29).
次に、端末30の実行部301が、ステップS28の処理により生成された証明書のインストール要求を機器20に送信する(ステップS30)。 Next, the execution unit 301 of the terminal 30 transmits the installation request of the certificate generated by the process of step S28 to the device 20 (step S30).
次に、機器20の取得部210が、ステップS30の処理により送信されたインストール要求に含まれる証明書をインストールする(ステップS31)。この際、取得部210は、署名を検証するなどして、意図した認証局により証明書を署名されていることを確認してもよい。 Next, the acquisition unit 210 of the device 20 installs the certificate included in the installation request transmitted by the process of step S30 (step S31). At this time, the acquisition unit 210 may confirm that the certificate has been signed by the intended certificate authority by verifying the signature.
次に、端末30の実行部301は、このインストール要求のシーケンス(ステップS29〜ステップS31)の後に、ステップS28の処理により生成された証明書を信頼できる証明書として、自身にもインストールしてもよい(ステップS32)。 Next, the execution unit 301 of the terminal 30 may install the certificate generated by the process of step S28 as a reliable certificate after the sequence of the installation request (steps S29 to S31). Good (step S32).
以上説明した第3実施形態の証明書発行システム100によれば、機器20が第1ネットワーク501に接続する通信(第3実施形態では、インターネット通信)をしなくても、第1実施形態と同様の効果が得られる。 According to the certificate issuing system 100 of the third embodiment described above, it is the same as that of the first embodiment even if the device 20 does not perform communication for connecting to the first network 501 (Internet communication in the third embodiment). The effect of is obtained.
(第4実施形態)
次に第4実施形態について説明する。第4実施形態の説明では、第2及び第3実施形態と同様の説明については省略し、第2及び第3実施形態と異なる箇所について説明する。
(Fourth Embodiment)
Next, the fourth embodiment will be described. In the description of the fourth embodiment, the same description as in the second and third embodiments will be omitted, and the parts different from the second and third embodiments will be described.
第1〜第3実施形態では、端末30が、サーバ装置10により生成されたウェブページ(インタフェース107)を利用して、機器20のHTTPサーバにアクセスする場合について説明した。第4実施形態では、第3者サービスにより提供される第2インタフェース122(図6参照)が、機器20のHTTPサーバにアクセスする場合について説明する。第4実施形態の具体例は、例えば機器20がデジタルテレビであり、サーバ装置10により提供される認証局サービスの提供事業者がデジタルテレビメーカであり、デジタルテレビメーカとは異なる事業者(第3者)が、テレビ用クラウドサービスを提供する場合である。 In the first to third embodiments, the case where the terminal 30 accesses the HTTP server of the device 20 by using the web page (interface 107) generated by the server device 10 has been described. In the fourth embodiment, a case where the second interface 122 (see FIG. 6) provided by the third party service accesses the HTTP server of the device 20 will be described. In a specific example of the fourth embodiment, for example, the device 20 is a digital television, the provider of the certificate authority service provided by the server device 10 is a digital television maker, and the operator is different from the digital television maker (third). Person) provides a cloud service for television.
[証明書発行システムの構成の例]
図6は第4実施形態の証明書発行システム100の構成の例を示す図である。第4実施形態の証明書発行システム100は、サーバ装置10、第2サーバ装置12、機器20、端末30及び中継装置40を備える。第4実施形態では、第2実施形態の構成に加えて、第2サーバ装置12が追加されている。また、サーバ装置10には、第2サーバ装置12の登録及び認証を行う機能(クライアント登録部112及びクライアント認証部113)が追加されている。
[Example of certificate issuance system configuration]
FIG. 6 is a diagram showing an example of the configuration of the certificate issuing system 100 of the fourth embodiment. The certificate issuing system 100 of the fourth embodiment includes a server device 10, a second server device 12, a device 20, a terminal 30, and a relay device 40. In the fourth embodiment, the second server device 12 is added in addition to the configuration of the second embodiment. Further, the server device 10 has an additional function (client registration unit 112 and client authentication unit 113) for registering and authenticating the second server device 12.
第2サーバ装置12は、機器20にサーバ証明書を発行するサーバ装置10とは異なる事業者が運営するウェブサービスを提供する。第2サーバ装置12は、第2インタフェース122を端末30に提供する第2インタフェース提供部121を備える。 The second server device 12 provides a web service operated by a business operator different from the server device 10 that issues a server certificate to the device 20. The second server device 12 includes a second interface providing unit 121 that provides the second interface 122 to the terminal 30.
第2インタフェース122は、第2サーバ装置12が、端末30を介して、機器20のHTTPサーバにアクセスするためのインタフェースである。第4実施形態では、第2インタフェース122はウェブページである。 The second interface 122 is an interface for the second server device 12 to access the HTTP server of the device 20 via the terminal 30. In the fourth embodiment, the second interface 122 is a web page.
サーバ装置10のクライアント登録部112は、クライアント(第2サーバ装置12)からの登録要求を受信すると、クライアントクレデンシャル(クライアントID及びクライアントシークレット)を生成し、当該クライアントクレデンシャルを応答する。なお、上述の機器登録部101のように、クライアントから公開鍵を受信し、当該公開鍵をクライアントIDとみなす実現形態も考えられる。また、第2サーバ装置12の運用者が、サーバ装置10が提供するウェブページを介して、ユーザ登録のうえクレデンシャルを発行するような実現形態も考えられる。 Upon receiving the registration request from the client (second server device 12), the client registration unit 112 of the server device 10 generates a client credential (client ID and client secret) and responds to the client credential. It should be noted that a realization form in which the public key is received from the client and the public key is regarded as the client ID is also conceivable as in the device registration unit 101 described above. Further, it is conceivable that the operator of the second server device 12 issues the credential after registering the user via the web page provided by the server device 10.
サーバ装置10のクライアント認証部113は、クライアントクレデンシャルを用いてクライアント(第2サーバ装置12)からの通信を認証する。 The client authentication unit 113 of the server device 10 authenticates the communication from the client (second server device 12) using the client credentials.
[証明書発行システムの動作例]
次に、第4実施形態の証明書発行システム100の動作例について説明する。
[Example of operation of certificate issuing system]
Next, an operation example of the certificate issuing system 100 of the fourth embodiment will be described.
図7A及び7Bは、第4実施形態の証明書発行システム100の動作例を示すシーケンス図である。 7A and 7B are sequence diagrams showing an operation example of the certificate issuing system 100 of the fourth embodiment.
事前条件は、第2及び第3実施形態の事前条件1及び2のほかに、以下の事前条件3及び4を更に追加する。 As the preconditions, in addition to the preconditions 1 and 2 of the second and third embodiments, the following preconditions 3 and 4 are further added.
[事前条件3]ユーザは、第2サーバ装置12にもユーザ登録を行っている。
[事前条件4]第2サーバ装置12(を運用する組織)は、サーバ装置10にクライアント登録を行い、上述のクライアントクレデンシャルを予め取得している。
[Preliminary condition 3] The user has also registered the user in the second server device 12.
[Preliminary condition 4] The second server device 12 (the organization that operates the server device 12) registers the client in the server device 10 and acquires the above-mentioned client credentials in advance.
はじめに、端末30のユーザが、第2サーバ装置12にアクセスし、第2インタフェース122を実行部301にロードする(ステップS1)。 First, the user of the terminal 30 accesses the second server device 12 and loads the second interface 122 into the execution unit 301 (step S1).
次に、端末30のユーザは、第2サーバ装置12に第2インタフェース122を介してログインする(ステップS2)。 Next, the user of the terminal 30 logs in to the second server device 12 via the second interface 122 (step S2).
次に、端末30の第2インタフェース122は、第2実施形態のステップS3〜ステップS23と同様の処理を行い、検証URL(verification_uri)を得る(図7A、ステップS3)。または、端末30の第2インタフェース122は、第3実施形態のステップS4〜ステップS17と同様の処理を行い、product_id、CSR及びMACを得る(図7B、ステップS3)。いずれの場合も、インタフェース部122は、実行部301に、ユーザ情報(user_info)、及び、サーバ装置10のサーバ証明書(device_ca_info)だけでなく、第2サーバ装置12の情報(ドメイン名(オリジン)など)(以降、「web_app_info」と呼ぶ)を渡してもよい。 Next, the second interface 122 of the terminal 30 performs the same processing as in steps S3 to S23 of the second embodiment to obtain a verification URL (verification_uri) (FIG. 7A, step S3). Alternatively, the second interface 122 of the terminal 30 performs the same processing as in steps S4 to S17 of the third embodiment to obtain a product_id, CSR, and MAC (FIG. 7B, step S3). In either case, the interface unit 122 provides the execution unit 301 with not only the user information (user_info) and the server certificate (device_ca_info) of the server device 10 but also the information of the second server device 12 (domain name (origin)). Etc.) (hereinafter referred to as "web_app_info") may be passed.
次に、端末30の第2インタフェース122は、第2実施形態にならう場合、verification_uriに、証明書発行後に戻る画面のURI情報(リダイレクトURI)を渡して、画面をリダイレクトする(図7A、ステップS4)。また、第3実施形態にならう場合は、第2サーバ装置12は、第2インタフェース122からproduct_id,CSR及びMACを取得すると、product_id,CSR及びMACをサーバ装置10に渡し、verification_uriを応答として得て、その後、リダイレクトURIを渡して、画面をリダイレクトする(図7B、ステップS4)。 Next, in the case of following the second embodiment, the second interface 122 of the terminal 30 passes the URI information (redirect URI) of the screen returned after issuing the certificate to validation_uri to redirect the screen (FIG. 7A, step). S4). Further, in the case of following the third embodiment, when the second server device 12 acquires the product_id, CSR and MAC from the second interface 122, it passes the product_id, CSR and MAC to the server device 10 and obtains the validation_uri as a response. After that, the redirect URI is passed to redirect the screen (FIG. 7B, step S4).
次に、サーバ装置10の発行部111は、第2実施形態にならう場合、第2実施形態のステップS24〜ステップS32と同様の処理を行うことにより、証明書を発行する(図7A、ステップS5)。また、第3実施形態にならう場合は、サーバ装置10の発行部111は、第3実施形態のステップS18〜ステップS32と同様の処理を行うことにより、証明書を発行する(図7B、ステップS5)。このとき、機器20は、web_app_infoを使って、自身のドメイン名を生成したり、HTTPサーバへのアクセスを第2インタフェース122から受け付けるように設定(CORS(Cross Origin Resource Sharing)設定)したりしてもよい。 Next, the issuing unit 111 of the server device 10 issues a certificate by performing the same processing as in steps S24 to S32 of the second embodiment when following the second embodiment (FIG. 7A, step). S5). Further, in the case of following the third embodiment, the issuing unit 111 of the server device 10 issues a certificate by performing the same processing as in steps S18 to S32 of the third embodiment (FIG. 7B, step). S5). At this time, the device 20 uses the web_app_info to generate its own domain name and is set to accept access to the HTTP server from the second interface 122 (CORS (Cross Origin Resource Sharing) setting). May be good.
次に、サーバ装置10及びインタフェース107は、証明書発行後、上述のリダイレクトURLに画面を遷移する(ステップS6)。 Next, the server device 10 and the interface 107 transition the screen to the above-mentioned redirect URL after issuing the certificate (step S6).
以上説明した第4実施形態の証明書発行システム100によれば、第2サーバ装置12の第2インタフェース122を起点にした機器20への証明書発行が可能になる。 According to the certificate issuing system 100 of the fourth embodiment described above, it is possible to issue a certificate to the device 20 starting from the second interface 122 of the second server device 12.
最後に、第1乃至第4実施形態のサーバ装置10、機器20及び端末30の主要部のハードウェア構成の例について説明する。なお第4実施形態の第2サーバ装置12の主要部のハードウェア構成は、サーバ装置10の主要部のハードウェア構成と同様である。 Finally, an example of the hardware configuration of the main parts of the server device 10, the device 20, and the terminal 30 according to the first to fourth embodiments will be described. The hardware configuration of the main part of the second server device 12 of the fourth embodiment is the same as the hardware configuration of the main part of the server device 10.
[ハードウェア構成の例]
図8は第1乃至第4実施形態のサーバ装置10、機器20及び端末30の主要部のハードウェア構成の例を示す図である。第1乃至第4実施形態のサーバ装置10、機器20及び端末30は、制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405及び通信装置406を備える。制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405及び通信装置406は、バス410を介して接続されている。
[Example of hardware configuration]
FIG. 8 is a diagram showing an example of the hardware configuration of the main parts of the server device 10, the device 20, and the terminal 30 according to the first to fourth embodiments. The server device 10, the device 20, and the terminal 30 of the first to fourth embodiments include a control device 401, a main storage device 402, an auxiliary storage device 403, a display device 404, an input device 405, and a communication device 406. The control device 401, the main storage device 402, the auxiliary storage device 403, the display device 404, the input device 405, and the communication device 406 are connected via the bus 410.
制御装置401は補助記憶装置403から主記憶装置402に読み出されたプログラムを実行する。制御装置401は、例えばCPU(Central Processing Unit)等の汎用のプロセッサである。主記憶装置402はROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置403はメモリカード、及び、HDD(Hard Disk Drive)等である。 The control device 401 executes the program read from the auxiliary storage device 403 to the main storage device 402. The control device 401 is a general-purpose processor such as a CPU (Central Processing Unit). The main storage device 402 is a memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory). The auxiliary storage device 403 is a memory card, an HDD (Hard Disk Drive), or the like.
表示装置404は情報を表示する。表示装置404は、例えば液晶ディスプレイである。なお、第2実施形態の機器20(例えばエアコンなど)は、表示装置404を備えていなくてもよい。入力装置405は、情報の入力を受け付ける。入力装置405は、例えばハードウェアキー、キーボード及びマウス等である。なお表示装置404及び入力装置405は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。通信装置406は他の装置と通信する。 The display device 404 displays information. The display device 404 is, for example, a liquid crystal display. The device 20 of the second embodiment (for example, an air conditioner) may not include the display device 404. The input device 405 accepts the input of information. The input device 405 is, for example, a hardware key, a keyboard, a mouse, or the like. The display device 404 and the input device 405 may be a liquid crystal touch panel or the like that has both a display function and an input function. Communication device 406 communicates with other devices.
第1乃至第4実施形態のサーバ装置10、機器20及び端末30で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、メモリカード、CD−R、及び、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。 The programs executed by the server device 10, the device 20, and the terminal 30 of the first to fourth embodiments are files in an installable format or an executable format, such as a CD-ROM, a memory card, a CD-R, and a DVD. It is stored in a computer-readable storage medium such as (Digital Versaille Disk) and provided as a computer program product.
また第1乃至第4実施形態のサーバ装置10、機器20及び端末30で実行されるプログラムを、インターネット等の第1ネットワーク501に接続されたコンピュータ上に格納し、第1ネットワーク501経由でダウンロードさせることにより提供するように構成してもよい。また第1乃至第4実施形態のサーバ装置10、機器20及び端末30が実行するプログラムを、ダウンロードさせずにインターネット等の第1ネットワーク501経由で提供するように構成してもよい。 Further, the programs executed by the server devices 10, the devices 20 and the terminals 30 of the first to fourth embodiments are stored on a computer connected to the first network 501 such as the Internet, and downloaded via the first network 501. It may be configured to provide by. Further, the programs executed by the server device 10, the device 20 and the terminal 30 of the first to fourth embodiments may be configured to be provided via the first network 501 such as the Internet without downloading.
また第1乃至第4実施形態のサーバ装置10、機器20及び端末30で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。 Further, the programs executed by the server device 10, the device 20 and the terminal 30 of the first to fourth embodiments may be configured to be provided by incorporating them into a ROM or the like in advance.
第1乃至第4実施形態のサーバ装置10、機器20及び端末30で実行されるプログラムは、実施形態のサーバ装置10、機器20及び端末30の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。 The program executed by the server device 10, the device 20 and the terminal 30 of the first to fourth embodiments includes a function that can be realized by the program among the functional configurations of the server device 10, the device 20 and the terminal 30 of the embodiment. It has a modular structure.
プログラムにより実現される機能は、制御装置401が補助記憶装置403等の記憶媒体からプログラムを読み出して実行することにより主記憶装置402にロードされる。すなわちプログラムにより実現される機能は、主記憶装置402上に生成される。 The function realized by the program is loaded into the main storage device 402 by the control device 401 reading the program from a storage medium such as the auxiliary storage device 403 and executing the program. That is, the function realized by the program is generated on the main storage device 402.
なお第1乃至第4実施形態のサーバ装置10、機器20及び端末30の機能の一部を、IC(Integrated Circuit)等のハードウェアにより実現してもよい。 Note that some of the functions of the server device 10, the device 20, and the terminal 30 of the first to fourth embodiments may be realized by hardware such as an IC (Integrated Circuit).
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
10 サーバ装置
20 機器
30 端末
40 中継装置
100 証明書発行システム
101 機器登録部
102 機器認証部
103 発行要求応答部
104 確認方式応答部
105 確認要求応答部
106 インタフェース提供部
107 インタフェース
108 ドメイン確認部
109 機器URL応答部
110 確認結果受付部
111 発行部
112 クライアント登録部
113 クライアント認証部
201 入力制御部
202 登録要求部
203 ドメイン生成部
204 CSR生成部
205 発行要求送信部
206 確認方式取得要求部
207 サーバ処理部
208 確認要求送信部
209 表示制御部
210 取得部
211 通信制御部
301 実行部
401 制御装置
402 主記憶装置
403 補助記憶装置
404 表示装置
405 入力装置
406 通信装置
410 バス
10 Server device 20 Equipment 30 Terminal 40 Relay device 100 Certificate issuance system 101 Equipment registration unit 102 Equipment authentication unit 103 Issuance request response unit 104 Confirmation method response unit 105 Confirmation request response unit 106 Interface provider 107 Interface 108 Domain confirmation unit 109 Equipment URL response unit 110 Confirmation result reception unit 111 Issuer 112 Client registration 113 Client authentication 201 Input control 202 Registration request 203 Domain generation 204 CSR generation 205 Issue request transmission 206 Confirmation method acquisition request 207 Server processing 208 Confirmation request transmission unit 209 Display control unit 210 Acquisition unit 211 Communication control unit 301 Execution unit 401 Control device 402 Main memory device 403 Auxiliary storage device 404 Display device 405 Input device 406 Communication device 410 Bus

Claims (11)

  1. 第1ネットワークに接続されたサーバ装置であって、
    第2ネットワークに接続された機器から、前記機器のドメインを含み、前記ドメインの正当性を証明する証明書の発行要求を受信すると、前記発行要求を識別する識別情報を前記機器に送信する発行要求応答部と、
    前記機器から、前記識別情報が指定された確認方式取得要求を受信すると、前記ドメインの存在の確認に使用されるトークンを前記機器に送信する確認方式応答部と、
    前記機器から、前記トークンと署名データとを含むドメイン確認要求を受信すると、前記発行要求と前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を前記機器に送信する確認要求応答部と、
    前記第2ネットワークに接続された端末から、前記サーバURLを介して接続を受け付け、前記端末から、前記特定情報が指定された機器URL取得要求を受信すると、前記特定情報から前記ドメインと前記トークンとを特定し、前記ドメインと前記トークンとを含む機器URLを、前記端末に送信する機器URL応答部と、
    前記機器URLの接続に成功した前記端末から、前記機器URLから取得された前記トークンと前記署名データとを含むドメイン確認登録要求を受信した場合、前記証明書を発行する発行部と、
    を備えるサーバ装置。
    A server device connected to the first network
    When a request for issuance of a certificate including the domain of the device and certifying the validity of the domain is received from a device connected to the second network, an issuance request for transmitting identification information identifying the issuance request to the device. Response section and
    Upon receiving a confirmation method acquisition request for which the identification information is specified from the device, a confirmation method response unit that transmits a token used for confirmation of the existence of the domain to the device.
    When a domain confirmation request including the token and signature data is received from the device, a confirmation request for transmitting a server URL (Uniform Resource Locator) including specific information specifying the issuance request and the domain confirmation request to the device. Response part and
    When a connection is received from a terminal connected to the second network via the server URL and a device URL acquisition request for which the specific information is specified is received from the terminal, the domain and the token are obtained from the specific information. A device URL response unit that identifies the device URL and transmits the device URL including the domain and the token to the terminal.
    When a domain confirmation registration request including the token acquired from the device URL and the signature data is received from the terminal that has succeeded in connecting the device URL, the issuing unit that issues the certificate and the issuing unit.
    A server device that comprises.
  2. 前記署名データは、前記機器により生成された公開鍵をハッシュ関数にかけ秘密鍵で暗号化したデータである、
    請求項1に記載のサーバ装置。
    The signature data is data obtained by applying a hash function to a public key generated by the device and encrypting it with a private key.
    The server device according to claim 1.
  3. 前記発行要求は、CSR(Certificate Signing Request)を含み、
    前記発行部は、前記機器URLの接続に成功した前記端末から、前記ドメイン確認登録要求を受信した場合、前記CSRを前記サーバ装置の秘密鍵で署名することにより前記証明書を発行する、
    請求項1に記載のサーバ装置。
    The issuance request includes CSR (Certificate Signing Request).
    When the issuing unit receives the domain confirmation registration request from the terminal that has succeeded in connecting the device URL, the issuing unit issues the certificate by signing the CSR with the private key of the server device.
    The server device according to claim 1.
  4. 前記第1ネットワークは、インターネットであり、
    前記第2ネットワークは、ローカルエリアネットワークである、
    請求項1に記載のサーバ装置。
    The first network is the Internet.
    The second network is a local area network.
    The server device according to claim 1.
  5. 第1ネットワークに接続されたサーバ装置と通信し、第2ネットワークに接続された端末と通信する、前記第2ネットワークに接続された機器であって、
    前記機器のドメインの正当性を証明する証明書の発行要求を前記サーバ装置に送信し、前記サーバ装置から、前記発行要求を識別する識別情報を受信する発行要求送信部と、
    前記識別情報が指定された確認方式取得要求を送信し、前記サーバ装置から、前記ドメインの存在の確認に使用されるトークンを受信する確認方式取得要求部と、
    前記トークンと署名データとを、前記ドメインを含む機器URLに配置するサーバ処理部と、
    前記トークンと前記署名データとを含むドメイン確認要求を前記サーバ装置に送信し、前記サーバ装置から、前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を受信する確認要求送信部と、
    前記サーバ装置から前記サーバURLを介して前記ドメインと前記トークンとを含む機器URLを取得した前記端末から、前記機器URLを介して接続を受け付ける受付部と、
    前記端末が前記機器URLの接続に成功した場合、前記サーバ装置から前記証明書を取得する取得部と、
    を備える機器。
    A device connected to the second network that communicates with a server device connected to the first network and communicates with a terminal connected to the second network.
    An issuance request transmission unit that transmits a certificate issuance request certifying the validity of the domain of the device to the server device and receives identification information for identifying the issuance request from the server device.
    A confirmation method acquisition request unit that sends a confirmation method acquisition request to which the identification information is specified and receives a token used for confirmation of the existence of the domain from the server device.
    A server processing unit that arranges the token and signature data in the device URL including the domain, and
    A confirmation request transmission unit that transmits a domain confirmation request including the token and the signature data to the server device, and receives a server URL (Uniform Resource Locator) including specific information that identifies the domain confirmation request from the server device. When,
    A reception unit that accepts a connection from the terminal that has acquired a device URL including the domain and the token from the server device via the server URL via the device URL.
    When the terminal succeeds in connecting the device URL, the acquisition unit that acquires the certificate from the server device and
    Equipment equipped with.
  6. 前記サーバURLを含むコード情報を表示部に表示する表示制御部、
    を更に備える、
    請求項5に記載の機器。
    A display control unit that displays code information including the server URL on the display unit,
    Further prepare
    The device according to claim 5.
  7. 前記サーバURLを、第3ネットワークを介して前記端末に送信する通信制御部、
    を更に備える、
    請求項5に記載の機器。
    A communication control unit that transmits the server URL to the terminal via the third network.
    Further prepare
    The device according to claim 5.
  8. 第1ネットワークに接続されたサーバ装置の証明書発行方法であって、
    第2ネットワークに接続された機器から、前記機器のドメインを含み、前記ドメインの正当性を証明する証明書の発行要求を受信すると、前記発行要求を識別する識別情報を前記機器に送信するステップと、
    前記機器から、前記識別情報が指定された確認方式取得要求を受信すると、前記ドメインの存在の確認に使用されるトークンを前記機器に送信するステップと、
    前記機器から、前記トークンと署名データとを含むドメイン確認要求を受信すると、前記発行要求と前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を前記機器に送信するステップと、
    前記第2ネットワークに接続された端末から、前記サーバURLを介して接続を受け付け、前記端末から、前記特定情報が指定された機器URL取得要求を受信すると、前記特定情報から前記ドメインと前記トークンとを特定し、前記ドメインと前記トークンとを含む機器URLを、前記端末に送信するステップと、
    前記機器URLの接続に成功した前記端末から、前記機器URLから取得された前記トークンと前記署名データとを含むドメイン確認登録要求を受信した場合、前記証明書を発行するステップと、
    を含む証明書発行方法。
    This is a certificate issuance method for server devices connected to the first network.
    When a request for issuance of a certificate including the domain of the device and certifying the validity of the domain is received from the device connected to the second network, the step of transmitting the identification information identifying the issuance request to the device. ,
    Upon receiving a confirmation method acquisition request for which the identification information is specified from the device, a step of transmitting a token used for confirmation of the existence of the domain to the device, and
    When a domain confirmation request including the token and signature data is received from the device, a step of transmitting a server URL (Uniform Resource Locator) including specific information specifying the issuance request and the domain confirmation request to the device. ,
    When a connection is received from a terminal connected to the second network via the server URL and a device URL acquisition request for which the specific information is specified is received from the terminal, the domain and the token are obtained from the specific information. And the step of transmitting the device URL including the domain and the token to the terminal.
    When a domain confirmation registration request including the token obtained from the device URL and the signature data is received from the terminal that has succeeded in connecting the device URL, the step of issuing the certificate and the step of issuing the certificate.
    Certificate issuance method including.
  9. 第1ネットワークに接続されたサーバ装置と通信し、第2ネットワークに接続された端末と通信する、前記第2ネットワークに接続された機器の証明書要求方法であって、
    前記機器のドメインの正当性を証明する証明書の発行要求を前記サーバ装置に送信し、前記サーバ装置から、前記発行要求を識別する識別情報を受信するステップと、
    前記識別情報が指定された確認方式取得要求を送信し、前記サーバ装置から、前記ドメインの存在の確認に使用されるトークンを受信するステップと、
    前記トークンと署名データとを、前記ドメインを含む機器URLに配置するステップと、
    前記トークンと前記署名データとを含むドメイン確認要求を前記サーバ装置に送信し、前記サーバ装置から、前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を受信するステップと、
    前記サーバ装置から前記サーバURLを介して前記ドメインと前記トークンとを含む機器URLを取得した前記端末から、前記機器URLを介して接続を受け付ける受付部と、
    前記端末が前記機器URLの接続に成功した場合、前記サーバ装置から前記証明書を取得するステップと、
    を含む証明書要求方法。
    It is a certificate request method for a device connected to the second network, which communicates with a server device connected to the first network and communicates with a terminal connected to the second network.
    A step of transmitting a certificate issuance request certifying the validity of the domain of the device to the server device and receiving identification information for identifying the issuance request from the server device.
    A step of transmitting a confirmation method acquisition request in which the identification information is specified and receiving a token used for confirmation of the existence of the domain from the server device.
    A step of arranging the token and the signature data in the device URL including the domain, and
    A step of transmitting a domain confirmation request including the token and the signature data to the server device, and receiving a server URL (Uniform Resource Locator) including specific information specifying the domain confirmation request from the server device.
    A reception unit that accepts a connection from the terminal that has acquired a device URL including the domain and the token from the server device via the server URL via the device URL.
    When the terminal succeeds in connecting the device URL, the step of acquiring the certificate from the server device and
    Certificate request method including.
  10. 第1ネットワークに接続されたサーバ装置を、
    第2ネットワークに接続された機器から、前記機器のドメインを含み、前記ドメインの正当性を証明する証明書の発行要求を受信すると、前記発行要求を識別する識別情報を前記機器に送信する発行要求応答部と、
    前記機器から、前記識別情報が指定された確認方式取得要求を受信すると、前記ドメインの存在の確認に使用されるトークンを前記機器に送信する確認方式応答部と、
    前記機器から、前記トークンと署名データとを含むドメイン確認要求を受信すると、前記発行要求と前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を前記機器に送信する確認要求応答部と、
    前記第2ネットワークに接続された端末から、前記サーバURLを介して接続を受け付け、前記端末から、前記特定情報が指定された機器URL取得要求を受信すると、前記特定情報から前記ドメインと前記トークンとを特定し、前記ドメインと前記トークンとを含む機器URLを、前記端末に送信する機器URL応答部と、
    前記機器URLの接続に成功した前記端末から、前記機器URLから取得された前記トークンと前記署名データとを含むドメイン確認登録要求を受信した場合、前記証明書を発行する発行部、
    として機能させるための証明書発行プログラム。
    The server device connected to the first network,
    When a request for issuance of a certificate including the domain of the device and certifying the validity of the domain is received from a device connected to the second network, an issuance request for transmitting identification information identifying the issuance request to the device. Response section and
    Upon receiving a confirmation method acquisition request for which the identification information is specified from the device, a confirmation method response unit that transmits a token used for confirmation of the existence of the domain to the device.
    When a domain confirmation request including the token and signature data is received from the device, a confirmation request for transmitting a server URL (Uniform Resource Locator) including specific information specifying the issuance request and the domain confirmation request to the device. Response part and
    When a connection is received from a terminal connected to the second network via the server URL and a device URL acquisition request for which the specific information is specified is received from the terminal, the domain and the token are obtained from the specific information. A device URL response unit that identifies the device URL and transmits the device URL including the domain and the token to the terminal.
    When a domain confirmation registration request including the token acquired from the device URL and the signature data is received from the terminal that has succeeded in connecting the device URL, the issuing unit that issues the certificate.
    A certificate issuing program to function as.
  11. 第1ネットワークに接続されたサーバ装置と通信し、第2ネットワークに接続された端末と通信する、前記第2ネットワークに接続された機器を、
    前記機器のドメインの正当性を証明する証明書の発行要求を前記サーバ装置に送信し、前記サーバ装置から、前記発行要求を識別する識別情報を受信する発行要求送信部と、
    前記識別情報が指定された確認方式取得要求を送信し、前記サーバ装置から、前記ドメインの存在の確認に使用されるトークンを受信する確認方式取得要求部と、
    前記トークンと署名データとを、前記ドメインを含む機器URLに配置するサーバ処理部と、
    前記トークンと前記署名データとを含むドメイン確認要求を前記サーバ装置に送信し、前記サーバ装置から、前記ドメイン確認要求を特定する特定情報を含むサーバURL(Uniform Resource Locator)を受信する確認要求送信部と、
    前記サーバ装置から前記サーバURLを介して前記ドメインと前記トークンとを含む機器URLを取得した前記端末から、前記機器URLを介して接続を受け付ける受付部と、
    前記端末が前記機器URLの接続に成功した場合、前記サーバ装置から前記証明書を取得する取得部、
    として機能させるための証明書要求プログラム。
    A device connected to the second network that communicates with a server device connected to the first network and communicates with a terminal connected to the second network.
    An issuance request transmission unit that transmits a certificate issuance request certifying the validity of the domain of the device to the server device and receives identification information for identifying the issuance request from the server device.
    A confirmation method acquisition request unit that sends a confirmation method acquisition request to which the identification information is specified and receives a token used for confirmation of the existence of the domain from the server device.
    A server processing unit that arranges the token and signature data in the device URL including the domain, and
    A confirmation request transmission unit that transmits a domain confirmation request including the token and the signature data to the server device, and receives a server URL (Uniform Resource Locator) including specific information that identifies the domain confirmation request from the server device. When,
    A reception unit that accepts a connection from the terminal that has acquired a device URL including the domain and the token from the server device via the server URL via the device URL.
    An acquisition unit that acquires the certificate from the server device when the terminal succeeds in connecting the device URL.
    A certificate requesting program to function as.
JP2017214996A 2017-11-07 2017-11-07 Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program Active JP6833658B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017214996A JP6833658B2 (en) 2017-11-07 2017-11-07 Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017214996A JP6833658B2 (en) 2017-11-07 2017-11-07 Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program

Publications (2)

Publication Number Publication Date
JP2019087889A JP2019087889A (en) 2019-06-06
JP6833658B2 true JP6833658B2 (en) 2021-02-24

Family

ID=66764409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017214996A Active JP6833658B2 (en) 2017-11-07 2017-11-07 Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program

Country Status (1)

Country Link
JP (1) JP6833658B2 (en)

Also Published As

Publication number Publication date
JP2019087889A (en) 2019-06-06

Similar Documents

Publication Publication Date Title
US9521144B2 (en) Authority delegate system, authorization server system, control method, and program
JP6061633B2 (en) Device apparatus, control method, and program thereof.
JP2016009299A (en) Single sign-on system, terminal device, control method and computer program
US9961072B2 (en) Delegating authorizations
JP5016678B2 (en) User authentication system and method
US10547605B2 (en) Communication device, communication method, communication system, and non-transitory computer readable medium
JP2006031064A (en) Session management system and management method
WO2014016621A1 (en) Identity generation mechanism
Ferry et al. Security evaluation of the OAuth 2.0 framework
CN105075219A (en) Network system comprising a security management server and a home network, and method for including a device in the network system
JP2009118110A (en) Method and system for provisioning meta data of authentication system, its program and recording medium
KR20140081041A (en) Authentication Method and System for Service Connection of Internet Site using Phone Number
JP2015194879A (en) Authentication system, method, and provision device
US10601809B2 (en) System and method for providing a certificate by way of a browser extension
US20200403812A1 (en) Certificate issuing apparatus, verification apparatus, communication device, certificate issuing system, certificate issuing method, and non-transitory computer readable medium
JP6833658B2 (en) Server equipment, equipment, certificate issuing method, certificate requesting method, certificate issuing program and certificate requesting program
US20200092101A1 (en) Information processing apparatus, computer program product, and resource providing method
JP2003244134A (en) Authentication system
JP2020014168A (en) Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method
JP2016139910A (en) Authentication system, authentication key management device, authentication key management method and authentication key management program
JP2019046060A (en) Delegation-of-authority system, control method and program
KR101962349B1 (en) Consolidated Authentication Method based on Certificate
Gibbons et al. Security evaluation of the OAuth 2.0 framework
JP5793593B2 (en) Network authentication method for securely verifying user identification information
JP4736722B2 (en) Authentication method, information processing apparatus, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R151 Written notification of patent or utility model registration

Ref document number: 6833658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151