[go: up one dir, main page]

JP2017098697A - Signature verification system and signature verification method - Google Patents

Signature verification system and signature verification method Download PDF

Info

Publication number
JP2017098697A
JP2017098697A JP2015227717A JP2015227717A JP2017098697A JP 2017098697 A JP2017098697 A JP 2017098697A JP 2015227717 A JP2015227717 A JP 2015227717A JP 2015227717 A JP2015227717 A JP 2015227717A JP 2017098697 A JP2017098697 A JP 2017098697A
Authority
JP
Japan
Prior art keywords
signature
verification
key
hash value
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015227717A
Other languages
Japanese (ja)
Inventor
遼 山田
Ryo Yamada
遼 山田
健一郎 武藤
Kenichiro Muto
健一郎 武藤
隆広 山本
Takahiro Yamamoto
隆広 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015227717A priority Critical patent/JP2017098697A/en
Publication of JP2017098697A publication Critical patent/JP2017098697A/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】トランザクション署名専用のハードウェアトークンを用いずにトランザクション署名を実現する署名検証システム及び署名検証方法を提供する。【解決手段】端末装置は、署名対象の第一情報をハッシュ化して第一ハッシュ値を得る第一ハッシュ化部と、第一ハッシュ値と秘密情報とを署名装置に送信する送信部とを含み、第一ハッシュ値と秘密情報とに対して署名鍵から署名を生成する署名生成部と、署名を端末装置に送信する送信部とを含み、ウェブブラウザ装置は、署名と第一情報とを検証装置に送信する送信部を含み、検証装置は、第一情報をハッシュ化して第二ハッシュ値を得る第二ハッシュ化部と、秘密情報と検証鍵と署名と第二ハッシュ値とを用いて、第一情報が改ざんされていないか否かを検証する検証部とを含む。【選択図】図1PROBLEM TO BE SOLVED: To provide a signature verification system and a signature verification method for realizing transaction signature without using a hardware token dedicated to transaction signature. A terminal device includes a first hashing unit that hashes first information to be signed to obtain a first hash value, and a transmission unit that transmits the first hash value and confidential information to the signing device. The web browser device verifies the signature and the first information, including a signature generator that generates a signature from the signature key for the first hash value and the secret information, and a transmitter that sends the signature to the terminal device. The verification device includes a transmission unit that transmits to the device, and the verification device uses a second hashing unit that hashes the first information to obtain a second hash value, and a secret information, a verification key, a signature, and a second hash value. Includes a verification unit that verifies whether the first information has been tampered with. [Selection diagram] Fig. 1

Description

本発明は、署名検証システム及び署名検証方法に関する。   The present invention relates to a signature verification system and a signature verification method.

現在、インターネットの発達により電子商取引、電子金融取引が活発に行われている。そのなかで、昨今MITB(Man-in-the-Browser,非特許文献1参照)攻撃が問題となっている。そのMITB攻撃の対する方法として幾つかあるがそのうち安全性が高いと言われるトランザクション署名(非特許文献2参照)に注目する。   At present, electronic commerce and electronic financial transactions are actively performed with the development of the Internet. Among them, the MITB (Man-in-the-Browser, see Non-Patent Document 1) attack has recently become a problem. Attention is focused on a transaction signature (see Non-Patent Document 2) that is said to be highly secure, although there are several methods for dealing with the MITB attack.

トランザクション署名は、振込先の銀行口座等に対して署名を施すことで銀行側は振込先の真正性を担保しながら取引を完了することができる。このトランザクション署名の署名付与には、現在多くの場合、ハードウェアトークンが使用されている。   The transaction signature is applied to the bank account of the transfer destination, so that the bank can complete the transaction while ensuring the authenticity of the transfer destination. For the signing of the transaction signature, a hardware token is currently used in many cases.

「MITB(マン・イン・ザ・ブラウザー)攻撃とは」、[online]、2009年10月20日、[2015年11月10日検索]、インターネット<URL:http://securityblog.jp/words/790.html>"What is a MITB attack?" [Online], October 20, 2009, [November 10, 2015 search], Internet <URL: http://securityblog.jp/words /790.html> 「トランザクション署名とは」、[online]、2014年11月25日、[2015年11月10日検索]、インターネット<URL:http://securityblog.jp/words/transaction_signatures.html>“What is transaction signature?” [Online], November 25, 2014, [Search November 10, 2015], Internet <URL: http: //securityblog.jp/words/transaction_signatures.html>

従来技術のトランザクション署名では、金融機関等のサービス提供者(以下、単に「提供者」ともいう)は、予め署名鍵を耐タンパー性のある領域にいれたハードウェアトークンを配布する。サービスの利用者(以下、「ユーザ」ともいう)は、そのハードウェアトークンに取引内容を打ち込み、署名を生成し、パソコン等に入力する。   In a conventional transaction signature, a service provider such as a financial institution (hereinafter also simply referred to as “provider”) distributes a hardware token in which a signature key is previously placed in a tamper-resistant area. A service user (hereinafter also referred to as a “user”) enters the transaction contents into the hardware token, generates a signature, and inputs the signature to a personal computer or the like.

しかしながら、この方法では、提供者は予めハードウェアトークンを製造し、配布する必要がある。つまり、提供者にはハードウェアトークンの製造コストと配布コストがかかる。   However, this method requires the provider to manufacture and distribute hardware tokens in advance. In other words, the provider costs for the production and distribution of hardware tokens.

また、ユーザは、サービスを利用するためにハードウェアトークンが必要である。そのため、外出先での取引を実現するためには、ハードウェアトークンを持ち運びする必要があり、利便性を著しく欠く。例えば、いつでも取引を行える状態を維持するためには、常に、ハードウェアトークンを持ち運ばなければならない。   The user also needs a hardware token to use the service. Therefore, in order to realize a transaction on the go, it is necessary to carry a hardware token, which is extremely inconvenient. For example, to maintain a state where transactions can be made at any time, a hardware token must always be carried.

さらに、金融機関毎のハードウェアトークンが異なるため、ユーザにとってハードウェアトークンの管理コストが増大する。   Furthermore, since the hardware token for each financial institution is different, the management cost of the hardware token increases for the user.

本発明は、トランザクション署名専用のハードウェアトークンを用いずにトランザクション署名を実現する署名検証システム及び署名検証方法を提供することを目的とする。   It is an object of the present invention to provide a signature verification system and a signature verification method that realize a transaction signature without using a hardware token dedicated to transaction signature.

上記の課題を解決するために、本発明の一態様によれば、署名検証システムは、ユーザに操作されるウェブブラウザ装置と、ユーザに操作され、秘密情報が格納される記憶部を含む端末装置と、署名鍵が格納される記憶部を含む署名装置と、秘密情報及び検証鍵が格納される検証装置とを含む。端末装置は、署名対象の第一情報をハッシュ化して第一ハッシュ値を得る第一ハッシュ化部と、第一ハッシュ値と秘密情報とを署名装置に送信する送信部とを含み、署名装置は、第一ハッシュ値と秘密情報とに対して署名鍵から署名を生成する署名生成部と、署名を端末装置に送信する送信部とを含み、ウェブブラウザ装置は、署名と第一情報とを検証装置に送信する送信部を含み、検証装置は、第一情報をハッシュ化して第二ハッシュ値を得る第二ハッシュ化部と、秘密情報と検証鍵と署名と第二ハッシュ値とを用いて、第一情報が改ざんされていないか否かを検証する検証部とを含む。   To solve the above problems, according to one aspect of the present invention, a signature verification system includes a web browser device operated by a user, and a terminal device including a storage unit operated by the user and storing secret information. And a signature device including a storage unit in which a signature key is stored, and a verification device in which secret information and a verification key are stored. The terminal device includes a first hashing unit that obtains a first hash value by hashing the first information to be signed, and a transmission unit that transmits the first hash value and the secret information to the signature device. A signature generation unit that generates a signature from the signature key for the first hash value and the secret information, and a transmission unit that transmits the signature to the terminal device. The web browser device verifies the signature and the first information. Including a transmission unit that transmits to the device, the verification device uses a second hashing unit that hashes the first information to obtain a second hash value, the secret information, the verification key, the signature, and the second hash value, A verification unit that verifies whether or not the first information has been tampered with.

上記の課題を解決するために、本発明の他の態様によれば、署名検証方法は、ユーザに操作されるウェブブラウザ装置と、ユーザに操作され、秘密情報が格納される記憶部を含む端末装置と、署名鍵が格納される記憶部を含む署名装置と、秘密情報及び検証鍵が格納される検証装置とを用いる。端末装置が、署名対象の第一情報をハッシュ化して第一ハッシュ値を得る第一ハッシュ化ステップと、端末装置が、第一ハッシュ値と秘密情報とを署名装置に送信する送信ステップと、署名装置が、第一ハッシュ値と秘密情報とに対して署名鍵から署名を生成する署名生成ステップと、署名装置が、署名を端末装置に送信する送信ステップと、ウェブブラウザ装置が、署名と第一情報とを検証装置に送信する送信ステップと、検証装置が、第一情報をハッシュ化して第二ハッシュ値を得る第二ハッシュ化ステップと、検証装置が、秘密情報と検証鍵と署名と第二ハッシュ値とを用いて、第一情報が改ざんされていないか否かを検証する検証ステップとを含む。   In order to solve the above problems, according to another aspect of the present invention, a signature verification method includes a web browser device operated by a user and a terminal including a storage unit operated by the user and storing confidential information. An apparatus, a signature apparatus including a storage unit in which a signature key is stored, and a verification apparatus in which secret information and a verification key are stored are used. A first hashing step in which the terminal device hashes the first information to be signed to obtain a first hash value; a transmission step in which the terminal device transmits the first hash value and the secret information to the signature device; and a signature A signature generation step in which the device generates a signature from the signature key for the first hash value and the secret information; a transmission step in which the signature device transmits the signature to the terminal device; and a web browser device in which the signature and the first A transmitting step for transmitting information to the verification device, a second hashing step in which the verification device hashes the first information to obtain a second hash value, and the verification device includes the secret information, the verification key, the signature, and the second A verification step of verifying whether the first information has not been tampered with using the hash value.

本発明によれば、トランザクション署名専用のハードウェアトークンを用いずにトランザクション署名を実現できるという効果を奏する。   According to the present invention, there is an effect that a transaction signature can be realized without using a hardware token dedicated to the transaction signature.

第一実施形態に係る署名検証システムを構成する各装置の配置図。FIG. 3 is a layout diagram of devices included in the signature verification system according to the first embodiment. 第一実施形態に係るパソコンの機能ブロック図。The functional block diagram of the personal computer which concerns on 1st embodiment. 第一実施形態に係るスマートフォンの機能ブロック図。The functional block diagram of the smart phone which concerns on 1st embodiment. 第一実施形態に係る取引サーバの機能ブロック図。The functional block diagram of the transaction server which concerns on 1st embodiment. 第一実施形態に係る検証鍵管理手段に保持されるデータの例を示す図。The figure which shows the example of the data hold | maintained at the verification key management means which concerns on 1st embodiment. 第一実施形態に係る署名サーバの機能ブロック図。The functional block diagram of the signature server which concerns on 1st embodiment. 第一実施形態に係る署名鍵管理手段に保持されるデータの例を示す図。The figure which shows the example of the data hold | maintained at the signature key management means which concerns on 1st embodiment. ユーザ登録処理のフローチャートを示す図。The figure which shows the flowchart of a user registration process. ユーザ登録処理のシーケンス図。The sequence diagram of a user registration process. サービス提供処理のフローチャートを示す図。The figure which shows the flowchart of a service provision process. サービス提供処理のシーケンス図。The sequence diagram of a service provision process.

以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described. In the drawings used for the following description, constituent parts having the same function and steps for performing the same process are denoted by the same reference numerals, and redundant description is omitted.

<第一実施形態のポイント>
ハードウェアトークンを用いずにトランザクション署名を実現するために、スマートフォンなどの汎用情報端末(以下、「スマートフォン」)にてトランザクション署名を実現する方法を提案する。このときに、トランザクション署名を行うための署名鍵をスマートフォンに搭載(記憶)する手法が考えられる。しかし、スマートフォンにおいては安全領域の確保が難しい。そこで、本実施形態では、署名鍵の管理と取引内容から署名(例えば、MAC(メッセージ認証符号))を生成する部分のみを安全領域を持った外部サーバ(以下「署名サーバ」ともいう)に移す。スマートフォンは署名の生成のユーザインタフェース部分として用いられ、ユーザはスマートフォンにハードウェアトークンの機能が入っているように操作することが可能である。取引サーバはユーザから送られた署名と取引内容とを検証し、取引内容の真正性を確認した後に取引を実行する。
<Points of first embodiment>
In order to realize a transaction signature without using a hardware token, a method for realizing a transaction signature on a general-purpose information terminal such as a smartphone (hereinafter referred to as “smartphone”) is proposed. At this time, a method of mounting (storing) a signature key for performing a transaction signature on the smartphone can be considered. However, it is difficult to secure a safe area for smartphones. Therefore, in the present embodiment, only a part for generating a signature (for example, MAC (Message Authentication Code)) from the management of the signature key and the transaction content is transferred to an external server (hereinafter also referred to as “signature server”) having a secure area. . The smartphone is used as a user interface part for generating a signature, and the user can operate the smartphone so that a hardware token function is included. The transaction server verifies the signature sent from the user and the transaction content, and executes the transaction after confirming the authenticity of the transaction content.

このとき、認証コード(署名)を生成する手法としてMAC(メッセージ認証符号)を例として用いたが、改ざんを検知できる手法であれば方法は問わない(例として署名、検証による改ざん検知手法)。   At this time, MAC (message authentication code) is used as an example of a method for generating an authentication code (signature), but any method can be used as long as it can detect tampering (for example, a tampering detection method based on signature and verification).

また、このとき、通信先の取引サーバを増やすことが可能であるため、一つのスマートフォンで複数の取引サーバとトランザクション署名が可能となる。また、このとき、スマートフォンで取得したMACを取引サーバに送信する際、パソコンへの入力手段は問わない。例えば、手入力であってもよい。   At this time, since it is possible to increase the number of transaction servers to communicate with, a transaction signature can be made with a plurality of transaction servers with a single smartphone. Moreover, at this time, when transmitting the MAC acquired by the smartphone to the transaction server, the input means to the personal computer is not limited. For example, manual input may be used.

<第一実施形態に係る署名検証システム>
図1は第一実施形態に係る署名検証システム100を構成する各装置の配置図を示す。
<Signature Verification System According to First Embodiment>
FIG. 1 is a layout diagram of devices included in the signature verification system 100 according to the first embodiment.

署名検証システム100は、パソコン(以下、「ウェブブラウザ装置」ともいう)110と、スマートホン(以下「端末装置」ともいう)120と、取引サーバ(以下「検証装置」ともいう)130と、署名サーバ(以下「署名装置」ともいう)140とを含む。各装置は、互いにネットワーク1を介して通信可能である。   The signature verification system 100 includes a personal computer (hereinafter also referred to as “web browser device”) 110, a smartphone (hereinafter also referred to as “terminal device”) 120, a transaction server (hereinafter also referred to as “verification device”) 130, a signature. Server (hereinafter also referred to as “signature device”) 140. Each device can communicate with each other via the network 1.

<パソコン110>
パソコン110は、ウェブブラウザ手段111を備える(図2参照)。ウェブブラウザ手段111は、World Wide Web (WWW)の利用に供するブラウザとして機能する。なお、ブラウザとはコンピュータ上の情報を一定の目的に沿って表示し閲覧に供するソフトウェアである。パソコン110は、図示しない入力装置(例えば、マウスやキーボード、タッチパネル)や出力装置(例えば、ディスプレイやタッチパネル)を備える。ユーザは出力装置を閲覧しながら入力装置を操作して、パソコンを操作することができる。
<PC 110>
The personal computer 110 includes web browser means 111 (see FIG. 2). The web browser unit 111 functions as a browser for use of the World Wide Web (WWW). A browser is software that displays information on a computer for a certain purpose and allows browsing. The personal computer 110 includes an input device (for example, a mouse, a keyboard, and a touch panel) and an output device (for example, a display and a touch panel) (not shown). The user can operate the personal computer by operating the input device while browsing the output device.

<スマートフォン120>
スマートフォン120は、入出力手段121、暗号化・復号手段122、シード管理手段123、ハッシュ化手段124、通信手段125とを備える(図3参照)。
<Smartphone 120>
The smartphone 120 includes an input / output unit 121, an encryption / decryption unit 122, a seed management unit 123, a hashing unit 124, and a communication unit 125 (see FIG. 3).

入出力手段121は、ユーザからタッチパネル等を通し入力を受けつけ、ユーザにタッチパネル等を用いて情報を提示する。   The input / output unit 121 receives input from a user through a touch panel or the like, and presents information to the user using the touch panel or the like.

暗号化・復号手段122は、取引サーバ130、署名サーバ140との通信内容を経路上の脅威から守るために暗号化した情報をやりとりするための暗号化、復号を行う。なお、パソコン110のウェブブラウザ手段111は、従来のウェブブラウザが備える暗号化、復号を行う機能を備えるものとする。例えば、 SSL (Secure Sockets Layer)を利用して暗号化、復号を行う。   The encryption / decryption means 122 performs encryption and decryption for exchanging encrypted information in order to protect communication contents with the transaction server 130 and the signature server 140 from threats on the path. The web browser means 111 of the personal computer 110 is assumed to have a function of performing encryption and decryption provided in a conventional web browser. For example, encryption and decryption are performed using SSL (Secure Sockets Layer).

シード管理手段123は、取引サーバとの共有情報であるシード(以下「秘密情報」ともいう)をサービスごとに識別、及び、保持する。例えば、当該スマートフォン120の利用者が利用するサービスとそのサービスに対応するシードとの組合せを保持しておく。   The seed management means 123 identifies and holds a seed (hereinafter also referred to as “secret information”) that is shared information with the transaction server for each service. For example, a combination of a service used by the user of the smartphone 120 and a seed corresponding to the service is stored.

ハッシュ化手段124は、ユーザから入力された署名をうつ対象の情報(例えば、取引内容)を、ハッシュ関数を用いてハッシュ化する。   The hashing means 124 hashes the information (for example, transaction contents) whose signature is inputted by the user using a hash function.

通信手段125は、署名サーバ140、取引サーバ130と必要な情報を通信する。なお、パソコン110のウェブブラウザ手段111は、従来のウェブブラウザが備える通信機能を備え、少なくとも取引サーバ130と必要な情報を通信することができる。   The communication means 125 communicates necessary information with the signature server 140 and the transaction server 130. The web browser means 111 of the personal computer 110 has a communication function that a conventional web browser has, and can communicate at least the necessary information with the transaction server 130.

<取引サーバ130>
取引サーバ130は、ユーザ管理手段131と、シード生成手段132と、暗号化・復号手段133と、検証鍵管理手段134と、時刻取得手段135と、ハッシュ化手段136と、検証手段137と、サービス提供手段138と、通信手段139とを備える(図4参照)。
<Transaction server 130>
The transaction server 130 includes a user management unit 131, a seed generation unit 132, an encryption / decryption unit 133, a verification key management unit 134, a time acquisition unit 135, a hashing unit 136, a verification unit 137, a service Providing means 138 and communication means 139 are provided (see FIG. 4).

ユーザ管理手段131は、ユーザのプロファイルを識別、及び、保持する。   The user management unit 131 identifies and holds a user profile.

シード生成手段132は、ユーザとの秘密情報であるシードを乱数発生器を用いて生成する。   The seed generator 132 generates a seed, which is confidential information with the user, using a random number generator.

暗号化・復号手段133は、パソコン110、スマートフォン120、署名サーバ140との通信内容を経路上の脅威から守るために暗号化した情報をやりとりするための暗号化、復号を行う。   The encryption / decryption means 133 performs encryption / decryption for exchanging encrypted information in order to protect communication contents with the personal computer 110, the smartphone 120, and the signature server 140 from threats on the path.

検証鍵管理手段134は、ユーザ毎の検証鍵を識別、及び、保持する。図5は、検証鍵管理手段134に保持されるデータの例を示す。   The verification key management unit 134 identifies and holds a verification key for each user. FIG. 5 shows an example of data held in the verification key management unit 134.

時刻取得手段135は、現在時刻を取得する。   The time acquisition unit 135 acquires the current time.

ハッシュ化手段136は、取引内容(振込先口座番号等)をハッシュ化する。   The hashing means 136 hashes the transaction contents (transfer account number etc.).

検証手段137は、スマートフォン120から送られてきた署名付き取引内容の署名部分の検証を行い取引内容の真正性を確かめる。   The verification means 137 verifies the signature part of the transaction content with a signature sent from the smartphone 120 and confirms the authenticity of the transaction content.

サービス提供手段138は、提供者が主に提供したいサービスを提供する。例えば、金融機関ならば決済機能である勘定系システムがサービス提供手段138に相当する。   The service providing unit 138 provides a service that the provider mainly wants to provide. For example, in the case of a financial institution, an account system that is a settlement function corresponds to the service providing means 138.

通信手段139は、パソコン110、スマートフォン120、署名サーバ140と必要な情報をやりとりする。   The communication unit 139 exchanges necessary information with the personal computer 110, the smartphone 120, and the signature server 140.

<署名サーバ140>
署名サーバ140は、署名鍵管理手段141と、ユーザ管理手段142と、時刻取得手段143と、署名生成手段144と、暗号化・復号手段145と、通信手段146とを含む(図6参照)。
<Signature server 140>
The signature server 140 includes a signature key management unit 141, a user management unit 142, a time acquisition unit 143, a signature generation unit 144, an encryption / decryption unit 145, and a communication unit 146 (see FIG. 6).

署名鍵管理手段141は、取引内容に署名するための署名鍵をユーザ及びサービス毎に識別、及び、保持する。図7は、署名鍵管理手段141に保持されるデータの例を示す。   The signature key management unit 141 identifies and holds a signature key for signing transaction contents for each user and service. FIG. 7 shows an example of data held in the signature key management unit 141.

ユーザ管理手段142は、ユーザが利用しているサービスを識別、及び、保持する。   The user management unit 142 identifies and holds the service used by the user.

時刻取得手段143は、時刻を取得する。   The time acquisition unit 143 acquires the time.

署名生成手段144は、ユーザのスマートフォン120から提供されたハッシュ化された取引内容とシードと時刻とに対して、そのユーザとサービスに対応した署名鍵から署名(例えばMAC)を生成する。   The signature generation unit 144 generates a signature (for example, MAC) from the signature key corresponding to the user and the service for the hashed transaction content, seed, and time provided from the user's smartphone 120.

暗号化・復号手段145は、スマートフォン120、取引サーバ130との通信内容を経路上の脅威から守るために暗号化した情報をやりとりするための暗号化・復号を行う。   The encryption / decryption means 145 performs encryption / decryption for exchanging encrypted information in order to protect the communication content with the smartphone 120 and the transaction server 130 from threats on the route.

通信手段146は、スマートフォン120、取引サーバ130と必要な情報をやりとりする。   The communication unit 146 exchanges necessary information with the smartphone 120 and the transaction server 130.

<実施フロー>
本実施形態では、取引サーバとして、金融機関を想定しているが、本署名検証システムは、トランザクション署名を用いる様々なサービスに応用することができることは言うまでもない。まず、サービスを提供する前に、ユーザの登録を行う必要がある。なお、パソコン110のウェブブラウザ手段111の備える通信機能、スマートフォン120の通信手段125、取引サーバ130の通信手段139、署名サーバ140の通信手段146を介して、データの送受信を行うものとする。また、パソコン110のウェブブラウザ手段111の備える暗号化・復号機能、スマートフォン120の暗号化・復号手段122、取引サーバ130の暗号化・復号手段133、署名サーバ140の暗号化・復号手段145により、データの送信元においてデータを暗号化し、データの送信先において復号するものとする。
<Implementation flow>
In the present embodiment, a financial institution is assumed as the transaction server, but it goes without saying that the signature verification system can be applied to various services using transaction signatures. First, it is necessary to register a user before providing a service. It is assumed that data is transmitted / received via the communication function of the web browser unit 111 of the personal computer 110, the communication unit 125 of the smartphone 120, the communication unit 139 of the transaction server 130, and the communication unit 146 of the signature server 140. Further, the encryption / decryption function provided in the web browser unit 111 of the personal computer 110, the encryption / decryption unit 122 of the smartphone 120, the encryption / decryption unit 133 of the transaction server 130, and the encryption / decryption unit 145 of the signature server 140, It is assumed that data is encrypted at the data transmission source and decrypted at the data transmission destination.

<ユーザ登録処理>
ユーザはサービス利用するためにユーザ登録を行う。図8はユーザ登録処理のフローチャートを、図9はユーザ登録処理のシーケンス図を示す。
<User registration process>
The user performs user registration to use the service. FIG. 8 is a flowchart of the user registration process, and FIG. 9 is a sequence diagram of the user registration process.

パソコン110のウェブブラウザ手段111は、ユーザの操作により、サービス提供者の取引サーバ130にアクセスし、取引サーバ130に対する登録申請を行う。さらに、ウェブブラウザ手段111は登録申請用の画面を表示する。例えば、登録申請用の画面には、署名をうつのに利用するスマートフォン120のSMS番号を入力するための欄が含まれる。ウェブブラウザ手段111には、ユーザの操作により、スマートフォン120のSMS番号が入力される。ウェブブラウザ手段111は、入力されたSMS番号を取引サーバ130に送信する(S1)。   The web browser means 111 of the personal computer 110 accesses the service provider's transaction server 130 and makes a registration application to the transaction server 130 by a user operation. Further, the web browser means 111 displays a registration application screen. For example, the registration application screen includes a field for inputting the SMS number of the smartphone 120 used for signing. The SMS number of the smartphone 120 is input to the web browser unit 111 by a user operation. The web browser means 111 transmits the input SMS number to the transaction server 130 (S1).

取引サーバ130は、SMS番号を受信し、受信したSMS番号に対応するスマートフォン120に、SMSを介して登録用URLを送信する(S2)。なお、登録用URLは、SMS番号毎に異なるものとする。例えば、SMSを介して「登録手続きを進めるために以下の登録用URLをクリックして下さい」等のメッセージを送信する。   The transaction server 130 receives the SMS number and transmits a registration URL via the SMS to the smartphone 120 corresponding to the received SMS number (S2). The registration URL is different for each SMS number. For example, a message such as “Please click on the registration URL below to proceed with the registration procedure” is sent via SMS.

スマートフォン120は、入出力手段121を介したユーザの操作により、登録用URLにアクセスし、取引サーバ130に対する登録申請を行う(S3)。取引サーバ130は、登録用URLへのアクセスを確認することでそのSMS番号に紐付けられているスマートフォン120の存在性を確認する。なお、パソコン110とスマートフォン120とから合わせて2回の登録申請を行う。パソコン110からの登録申請はユーザの登録のために行い、スマートフォン120からの登録申請はスマートフォン120とユーザとを確実に紐づけるために行う。   The smartphone 120 accesses the registration URL by a user operation via the input / output unit 121 and makes a registration application to the transaction server 130 (S3). The transaction server 130 confirms the existence of the smartphone 120 associated with the SMS number by confirming access to the registration URL. In addition, the registration application is performed twice from the personal computer 110 and the smartphone 120 together. The registration application from the personal computer 110 is performed for user registration, and the registration application from the smartphone 120 is performed in order to reliably associate the smartphone 120 with the user.

取引サーバ130のユーザ管理手段131は、ユーザのスマートフォンの存在性を確認したらユーザ情報を登録する(S4)。例えば、ユーザ情報として、スマートフォンに関する情報(IPアドレス、MACアドレス、SMS番号等)とユーザID(ユーザを識別できればよいため、何らかの識別子をユーザが入力してもよいし、ユーザ管理手段131が既にあるユーザIDと重複しないように生成してもよいし、前述のMACアドレス、SMS番号等をユーザIDとして用いてもよい)とユーザのプロファイル(名前、住所、電話番号、年齢、性別、職業等)との組合せを登録する。このとき、検証鍵管理手段134は、ユーザ毎の検証鍵を生成し、ユーザIDと検証鍵との組合せを保持する(図5参照)。そのため、ユーザ情報には少なくともユーザIDを含む。なお、本実施形態では、共通鍵暗号方式を利用して、署名、検証を行うものとし、検証鍵と署名鍵とは共通するものとする。   The user management means 131 of the transaction server 130 registers user information after confirming the existence of the user's smartphone (S4). For example, as user information, information related to a smartphone (IP address, MAC address, SMS number, etc.) and user ID (if the user only needs to be identified, the user may input some identifier, and the user management unit 131 is already present. It may be generated so as not to overlap with the user ID, or the above MAC address, SMS number, etc. may be used as the user ID) and user profile (name, address, phone number, age, gender, occupation, etc.) Register a combination with. At this time, the verification key management unit 134 generates a verification key for each user and holds a combination of the user ID and the verification key (see FIG. 5). Therefore, the user information includes at least a user ID. In this embodiment, it is assumed that signature and verification are performed using a common key cryptosystem, and the verification key and the signature key are common.

取引サーバ130は、スマートフォン120に署名サーバ140のURLを送信する(S5)。   Transaction server 130 transmits the URL of signature server 140 to smartphone 120 (S5).

また、取引サーバ130は、署名サーバ140にユーザに対応するユーザ情報(少なくともユーザIDを含めばよい)と署名鍵とを送付する(S6)。   Moreover, the transaction server 130 sends the user information corresponding to the user (at least the user ID may be included) and the signature key to the signature server 140 (S6).

スマートフォン120は、署名サーバ140のURLを受信し、入出力手段121に表示し、入出力手段121を介したユーザの操作により署名サーバ140にアクセスし、登録申請を行う(S7)。例えば、入出力手段121は、「引き続き、登録手続きを進めるために以下の登録用URLをクリックして下さい」等のメッセージを表示する。   The smartphone 120 receives the URL of the signature server 140, displays it on the input / output unit 121, accesses the signature server 140 by a user operation via the input / output unit 121, and makes a registration application (S7). For example, the input / output means 121 displays a message such as “continuely click on the following registration URL to proceed with the registration procedure”.

署名サーバ140は、スマートフォン120からのアクセスを検知することでユーザの存在を確認し、ユーザの確認が取れたらサービス情報とユーザ情報の登録する(S8)。なお、サービス情報にはサービスID(サービスを一意に特定するための識別子)を含む。例えば、署名鍵管理手段141が、ユーザ情報に含まれるユーザIDとサービス情報に含まれるサービスIDと署名鍵との組合せを登録、保持する(図7参照)。なお、署名鍵とユーザIDとは、取引サーバ130から受信したものである(S6)。サービスIDについては、取引サーバ130が提供するサービスが1つだけならば、取引サーバ130のIDをそのままサービスIDとして用いてもよいし、取引サーバ130が2つ以上のサービスを提供するならば、S6において、ユーザIDと署名鍵と合わせて、当該ユーザが利用可能なサービスIDを受け取る構成としてもよい。   The signature server 140 confirms the presence of the user by detecting an access from the smartphone 120, and registers the service information and the user information when the user confirmation is obtained (S8). The service information includes a service ID (an identifier for uniquely identifying the service). For example, the signature key management unit 141 registers and holds a combination of a user ID included in user information and a service ID and signature key included in service information (see FIG. 7). The signature key and the user ID are those received from the transaction server 130 (S6). Regarding the service ID, if the transaction server 130 provides only one service, the ID of the transaction server 130 may be used as the service ID as it is, or if the transaction server 130 provides two or more services, In S6, a service ID usable by the user may be received together with the user ID and the signature key.

署名サーバ140は、登録処理が終わると、スマートフォン120に登録完了案内を送信し(S9)、数秒後にスマートフォン120を取引サーバ130にリダイレクトする。   When the registration process is completed, the signature server 140 transmits a registration completion guide to the smartphone 120 (S9), and redirects the smartphone 120 to the transaction server 130 after a few seconds.

スマートフォン120の入出力手段121は、登録完了案内を表示し、数秒後に取引サーバ130にリダイレクトされる。スマートフォン120は、リダイレクト後に取引サーバ130にシード(以下、「秘密情報」ともいう)を要求する(S10)。なお、スマートフォン120の取引サーバ130に対するアクセス自体をシード要求と見做してもよいし、取引サーバ130がスマートフォン120の入出力手段121にシード要求に対応するボタン等を表示させ、ユーザがスマートフォン120の入出力手段121を操作して、そのボタン等を押下(クリック)したときに、シードが要求されたものと見做してもよい。   The input / output unit 121 of the smartphone 120 displays a registration completion guide and is redirected to the transaction server 130 after a few seconds. The smartphone 120 requests a seed (hereinafter also referred to as “secret information”) from the transaction server 130 after the redirection (S10). Note that access to the transaction server 130 of the smartphone 120 may be regarded as a seed request, or the transaction server 130 causes the input / output unit 121 of the smartphone 120 to display a button corresponding to the seed request, so that the user can When the input / output unit 121 is operated and the button or the like is pressed (clicked), it may be considered that the seed is requested.

取引サーバ130のシード生成手段132は、シードが要求されると、過去のシードと重複のないシードをランダムに生成し(S11)、スマートフォン120に送信する(S12)。なお、取引サーバ130の検証鍵管理手段134は、ランダムに生成されたシードとユーザIDと検証鍵との組合せ記憶する(図5参照)。   When a seed is requested, the seed generation unit 132 of the transaction server 130 randomly generates a seed that does not overlap with a past seed (S11) and transmits the seed to the smartphone 120 (S12). The verification key management unit 134 of the transaction server 130 stores a combination of a randomly generated seed, a user ID, and a verification key (see FIG. 5).

なお、スマートフォン120は、通信手段125を介してシードを受け取り、シード管理手段123は、受け取ったシードをサービス毎に識別し、保持する。   The smartphone 120 receives the seed via the communication unit 125, and the seed management unit 123 identifies and holds the received seed for each service.

以上の処理で、ユーザ登録を完了する。次にサービス提供処理について説明する。   With the above processing, user registration is completed. Next, the service providing process will be described.

<サービス提供処理>
図10はサービス提供処理のフローチャートを、図11はサービス提供処理のシーケンス図を示す。
<Service provision processing>
FIG. 10 is a flowchart of the service providing process, and FIG. 11 is a sequence diagram of the service providing process.

パソコン110のウェブブラウザ手段111は、ユーザの操作により、取引サーバ130にアクセスし、取引申請を行う(S21)。   The web browser means 111 of the personal computer 110 accesses the transaction server 130 and makes a transaction application (S21).

取引サーバ130は、パソコン110のウェブブラウザ手段111に署名を入力するように表示させる(S22)。   The transaction server 130 displays the signature on the web browser means 111 of the personal computer 110 so as to input the signature (S22).

ユーザは、スマートフォン120の入出力手段121を操作して、スマートフォン120に取引内容またはその一部(例:口座番号)を入力する。スマートフォン120のハッシュ化手段124は、入力された取引内容またはその一部をハッシュ化する。さらに、スマートフォン120は、サービスに対応するシードをシード管理手段123から取り出し、ハッシュ化された取引内容(以降「ハッシュ値」ともいう)と取り出したシードとを署名サーバ140に送信する(S23)。   The user operates the input / output unit 121 of the smartphone 120 to input the transaction content or a part thereof (for example, an account number) into the smartphone 120. The hashing unit 124 of the smartphone 120 hashes the input transaction contents or a part thereof. Furthermore, the smartphone 120 extracts the seed corresponding to the service from the seed management unit 123, and transmits the hashed transaction content (hereinafter also referred to as “hash value”) and the extracted seed to the signature server 140 (S23).

署名サーバ140の署名生成手段144は、ハッシュ値h1とシードとを受信し、署名鍵管理手段141に保持されている署名鍵を取り出す。このとき、何らかの方法で、ユーザIDを受信し、対応する署名鍵を取り出せばよい。例えば、ユーザIDとして、MACアドレスを用いる場合には、スマートフォン120で署名サーバ140にアクセスする際に自動的にMACアドレスを送信する構成とすることで、ユーザがユーザIDを入力する手間を省くことができる。また、サービスの利用開始時(ログイン時)にユーザIDの入力を求める構成としてもよい。なお、1人のユーザが1つのユーザIDで2つ以上のサービスを利用する可能性がある場合には、そのユーザIDと合わせてサービスIDも送信する。例えば、取引内容を入力する際に、合わせて、利用したいサービスを選択するように入出力手段121に表示してもよい。さらに、署名サーバ140の署名生成手段144は、時刻取得手段143に、時刻t1を取得し、署名サーバ140の署名生成手段144に送信するように制御信号を出力する。 The signature generation unit 144 of the signature server 140 receives the hash value h 1 and the seed, and extracts the signature key held in the signature key management unit 141. At this time, the user ID may be received by some method and the corresponding signature key may be extracted. For example, when a MAC address is used as the user ID, a configuration in which the MAC address is automatically transmitted when the smartphone 120 accesses the signature server 140 can save the user from inputting the user ID. Can do. Moreover, it is good also as a structure which requests | requires input of a user ID at the time of use start of a service (at the time of login). If there is a possibility that one user uses two or more services with one user ID, the service ID is also transmitted together with the user ID. For example, when inputting transaction details, it may be displayed on the input / output unit 121 so as to select a service to be used. Further, the signature generation unit 144 of the signature server 140 acquires a time t 1 from the time acquisition unit 143 and outputs a control signal so as to be transmitted to the signature generation unit 144 of the signature server 140.

署名サーバ140の署名生成手段144は、シードと、ハッシュ値h1と時刻t1とに対して、ユーザIDとサービスIDに対応した署名鍵から署名を生成し(S24)、スマートフォン120に送信する(S25)。例えば、ハッシュ値h1とシードと時刻t1とを所定の順序で並べて得られる値を署名鍵を用いて暗号化して署名を生成する。 The signature generation unit 144 of the signature server 140 generates a signature from the signature key corresponding to the user ID and the service ID for the seed, the hash value h 1, and the time t 1 (S 24), and transmits the signature to the smartphone 120. (S25). For example, a signature is generated by encrypting a value obtained by arranging the hash value h 1 , the seed, and the time t 1 in a predetermined order using a signature key.

スマートフォン120の入出力手段121は、署名を表示する。パソコン110のウェブブラウザ手段111は、ユーザの操作により(例えば、キーボード等の入力装置により)、署名を入力され(S26)、入力された取引内容と共に署名を取引サーバ130に送信する(S27)。   The input / output unit 121 of the smartphone 120 displays a signature. The web browser means 111 of the personal computer 110 receives a signature by a user operation (for example, by an input device such as a keyboard) (S26), and transmits the signature to the transaction server 130 together with the input transaction content (S27).

取引サーバ130は取引内容と署名とを受信し、取引サーバ130のハッシュ化手段136は取引内容をハッシュ化してハッシュ値h2を得、検証手段137に出力する。 The transaction server 130 receives the transaction content and the signature, and the hashing unit 136 of the transaction server 130 hashes the transaction content to obtain a hash value h 2 and outputs it to the verification unit 137.

取引サーバ130の検証手段137は、検証鍵管理手段134に保持されているシードと検証鍵とを取り出す。なお、検証手段137は、取引内容と署名とを受信する際に、合わせて、ユーザIDを受信しておき、ユーザIDに対応するシードと検証鍵とを取り出す。   The verification unit 137 of the transaction server 130 takes out the seed and verification key held in the verification key management unit 134. When receiving the transaction contents and the signature, the verification unit 137 receives the user ID and extracts the seed and verification key corresponding to the user ID.

取引サーバ130の検証手段137は、時刻取得手段135に時刻t2を取得し、検証手段137に送信するように制御信号を出力する。 The verification unit 137 of the transaction server 130 acquires the time t 2 in the time acquisition unit 135 and outputs a control signal so as to be transmitted to the verification unit 137.

取引サーバ130の検証手段137は、ハッシュ値h2とシードと検証鍵と署名と時刻t2を用いて、取引内容が改ざんされていないか否かを検証し(S28)、検証結果を出力する。 The verification means 137 of the transaction server 130 verifies whether or not the transaction content has been tampered with using the hash value h 2 , the seed, the verification key, the signature, and the time t 2 (S 28), and outputs the verification result. .

例えば、共通鍵暗号方式を用いた場合、署名鍵と検証鍵とは共通の値であり、以下の二つの検証方法が考えられる。なお、他の検証方法を用いてもよい。   For example, when the common key cryptosystem is used, the signature key and the verification key have a common value, and the following two verification methods are conceivable. Other verification methods may be used.

(1)検証手段137は、ハッシュ値h2とシードと時刻t2とに対して、検証鍵から署名σ2を生成する。例えば、ハッシュ値h2とシードと時刻t2とを所定の順序(署名σ1を生成する際と同じ所定の順序)で並べて得られる値を検証鍵を用いて暗号化して署名σ2を生成する。この署名σ2と署名σ1とが一致するか否かを検証し、一致する場合には改ざんされていないと判定する。なお、例えば、時刻t1と時刻t2は、「時」以上の単位のみを用いる(「分」の単位、「秒秒」の単位を用いない)ことで、例えば、午後3時30分に生成した署名σ1と、午後3時30分〜午後3時59分までに生成した署名σ2とは同じ値となり、署名σ1と午後4時以降に生成した署名σ2とは異なる値となる。このような構成とすることで、時刻t1から時刻t2までの時間が、所定の時間を超えるか否か判定することができ、署名の有効期限を設定し、暗号が解読されるリスクを低減することができる。なお、上述の方法は時刻を用いた有効期限の設定方法の例であって、従来の様々な設定方法を利用してもよい。 (1) The verification unit 137 generates a signature σ 2 from the verification key for the hash value h 2 , the seed, and the time t 2 . For example, the signature σ 2 is generated by encrypting the value obtained by arranging the hash value h 2 , the seed, and the time t 2 in a predetermined order (the same predetermined order as when generating the signature σ 1 ) using the verification key. To do. It is verified whether or not the signature σ 2 and the signature σ 1 match, and if they match, it is determined that the signature has not been tampered with. For example, at time t 1 and time t 2 , only the unit of “hour” or more is used (the unit of “minute”, the unit of “second” is not used), for example, at 3:30 pm The generated signature σ 1 and the signature σ 2 generated from 3:30 pm to 3:59 pm have the same value, and the signature σ 1 is different from the signature σ 2 generated after 4 pm Become. With such a configuration, it is possible to determine whether the time from time t 1 to time t 2 exceeds a predetermined time, set the expiration date of the signature, and reduce the risk of decryption. Can be reduced. Note that the above-described method is an example of an expiration date setting method using time, and various conventional setting methods may be used.

(2)検証手段137は、署名に対して検証鍵から復号結果を得る。例えば、署名を検証鍵を用いて復号し、復号結果を得る。適切に復号できた場合には、復号結果に、シードと、ハッシュ値h1と時刻t1とが含まれる。よって、復号結果に、シードと、ハッシュ値h1と時刻t1とが含まれるか否かを検証し、含まれる場合には改ざんされていないと判定する。例えば、ハッシュ値h1とシードと時刻t1とを所定の順序で並べて得られる値を署名鍵を用いて暗号化して署名を生成した場合、復号結果には、同じ所定の順序でハッシュ値h1とシードと時刻t1とが並んでいる。そこで、(i)復号結果に含まれるシード(適切に復号できた場合にシードが存在する予定の位置に位置する値)と検証鍵管理手段134から取り出したシードとが一致するか否か、(ii)復号結果に含まれるハッシュ値h1(適切に復号できた場合にハッシュ値h1が存在する予定の位置に位置する値)とハッシュ化手段136で得られたハッシュ値h2とが一致するか否か、(iii)時刻t1(適切に復号できた場合に時刻t1が存在する予定の位置に位置する値)と時刻t2(例えば前述のように「時」以上の単位のみを用いる)とが一致するか否かを、検証し、すべて一致する場合には、改ざんされていないと判定する。何れかが一致しない場合には、改ざんされていると判定する。なお、(iii)の条件に関しては、例えば「時」よりも小さい単位も用いて、時刻t1と時刻t2との差分(t2-t1)が所定の時間を超えるか否かを検証し、超えない場合に改ざんされていないと判定してもよい。このような方法であっても署名の有効期限の設定を設定することができる。 (2) The verification unit 137 obtains a decryption result from the verification key for the signature. For example, the signature is decrypted using the verification key, and the decryption result is obtained. When properly be decoded, the decoding result includes a seed, a hash value h 1 and the time t 1 is. Therefore, whether or not the seed, the hash value h 1 and the time t 1 are included in the decryption result is verified, and if it is included, it is determined that the tampering has not been made. For example, when a signature is generated by encrypting a value obtained by arranging the hash value h 1 , the seed, and the time t 1 in a predetermined order using a signature key, the decryption result includes the hash value h in the same predetermined order. 1 , seed and time t 1 are lined up. Therefore, (i) whether or not the seed included in the decryption result (a value located at a position where the seed is expected to exist when decryption is properly performed) matches the seed extracted from the verification key management unit 134 ( ii) The hash value h 1 included in the decryption result (the value located at the position where the hash value h 1 is expected to exist when decrypted properly) matches the hash value h 2 obtained by the hashing means 136. (Iii) time t 1 (a value located at the position where time t 1 is expected to exist when decoding is possible) and time t 2 (for example, only units greater than “hour” as described above) Is used), and if all match, it is determined that it has not been tampered with. If either does not match, it is determined that the image has been tampered with. Regarding the condition (iii), for example, using a unit smaller than “hour”, it is verified whether or not the difference (t 2 −t 1 ) between time t 1 and time t 2 exceeds a predetermined time. However, if it does not exceed, it may be determined that it has not been tampered with. Even with this method, it is possible to set the expiration date of the signature.

サービス提供手段138は、検証結果が改ざんされていない(検証を通過した)ことを示す場合、サービスを提供する。例えば、サービス内容が、金融機関の決済機能ならば、決済処理を行い、取引完了連絡を送信する(S28)。   The service providing unit 138 provides a service when the verification result indicates that the verification result has not been falsified (passed the verification). For example, if the service content is a settlement function of a financial institution, a settlement process is performed and a transaction completion notice is transmitted (S28).

なお、検証結果が改ざんされている(検証を通過しない)ことを示す場合、エラーメッセージ等を送信し、サービスを提供しない。   When the verification result indicates falsification (not passing verification), an error message or the like is transmitted and the service is not provided.

<効果>
以上の構成により、トランザクション署名専用のハードウェアトークンを用いずに、同程度の安全性で、トランザクション署名を実現できる。昨今の社会では、スマートフォンは持ち歩く人が大勢を占めている。そのことから、スマートフォンを持ち歩くことはハードウェアトークンを持ち歩くことに比べ利便性が高いと言える。
<Effect>
With the above configuration, a transaction signature can be realized with the same level of security without using a hardware token dedicated to transaction signature. In today's society, many people carry smartphones. Therefore, it can be said that carrying a smartphone is more convenient than carrying a hardware token.

また、スマートフォンはアプリケーションで起動するため複数のアプリケーションをスマートフォンに入れたり、アプリケーション自体に複数の金融機関に対応するものとすることで、ユーザはスマートフォンに複数のハードウェアトークンの機能が入っているように操作することが可能であり、スマートフォン1台だけで複数の金融機関に対しトランザクション署名を行うことができる。   In addition, since smartphones are activated by applications, multiple applications can be placed in the smartphone, or by supporting multiple financial institutions in the application itself, the user seems to have multiple hardware token functions in the smartphone. It is possible to perform transaction signatures for multiple financial institutions with just one smartphone.

提供者にとっては、ハードウェアトークンの製造コストと配布コストを省くことができる。ハードウェアトークンの製造コストに代えて、アプリケーションの作成コストがかかるが、一旦、アプリケーションを作成すれば、その後、ユーザが増加しても新たなアプリケーションを作成する必要はなく、コストを削減することができる。また、サービスIDで提供者を区別することができるため、複数の提供者で一つのアプリケーションを作成し、共通のアプリケーションを利用してもよい。その場合、1つのサービス提供者にかかるアプリケーションの作成コストはさらに低くなる。また、ユーザにとっては、同じインターフェースで異なる提供者のサービスを受けることができ、利便性が増す。   For the provider, the manufacturing cost and distribution cost of the hardware token can be saved. Instead of hardware token manufacturing costs, application creation costs are incurred, but once an application is created, there is no need to create a new application even if the number of users increases thereafter, and the cost can be reduced. it can. Further, since the providers can be distinguished by the service ID, a single application may be created by a plurality of providers and a common application may be used. In that case, the cost of creating an application for one service provider is even lower. In addition, for the user, it is possible to receive services from different providers through the same interface, which increases convenience.

<変形例>
本実施形態では、共通鍵暗唱方式を用いて署名検証を行っているが、公開鍵暗号方式を用いることもできる。公開鍵暗号方式を用いた場合、署名鍵(秘密鍵)と検証鍵(公開鍵)とは異なる値であり、署名サーバ140の署名鍵管理手段141が鍵生成アルゴリズムにより、署名鍵skと検証鍵pkを生成し、署名鍵skを秘密に管理し、検証鍵pkを公開する。取引サーバ130の検証鍵管理手段134は公開されている検証鍵pkを受け取り、上述の検証方法(2)を実行する。
<Modification>
In this embodiment, signature verification is performed using a common key recitation method, but a public key encryption method can also be used. When the public key cryptosystem is used, the signature key (secret key) and the verification key (public key) are different values, and the signature key management unit 141 of the signature server 140 uses the key generation algorithm to generate the signature key sk and the verification key. pk is generated, the signature key sk is secretly managed, and the verification key pk is disclosed. The verification key management means 134 of the transaction server 130 receives the publicized verification key pk and executes the above-described verification method (2).

本実施形態では、署名を生成する際、及び、署名を検証する際に時刻を用いているが、必ずしも必要ではない。ただし、署名の有効期限を設定することで、解読されるリスクを低減することができる。   In this embodiment, time is used when generating a signature and when verifying the signature, but this is not always necessary. However, the risk of decoding can be reduced by setting the expiration date of the signature.

本実施形態では、パソコン110とスマートフォン120とは、別々の装置として記載しているが、一体の装置としてもよい。MITB攻撃は、ブラウザを乗っ取るため、ブラウザとは異なるアプリケーションにより、取引サーバ130、署名サーバ140にアクセスすれば、パソコン110とスマートフォン120とを単一の装置内に配置してもよい。例えば、パソコン110の中に、シード管理手段123、ハッシュ化手段124を持たせてもよいし、スマートフォン120の中にウェブブラウザ手段111を持たせてもよい。ただし、パソコン110の制御を乗っ取るウィルス等も考えられるため、本実施形態のように、別々の装置として構成すると、よりセキュリティレベルは高いものとなる。   In the present embodiment, the personal computer 110 and the smartphone 120 are described as separate devices, but may be integrated devices. Since the MITB attack hijacks the browser, if the transaction server 130 and the signature server 140 are accessed by an application different from the browser, the personal computer 110 and the smartphone 120 may be arranged in a single device. For example, the personal computer 110 may have the seed management unit 123 and the hashing unit 124, or the smartphone 120 may have the web browser unit 111. However, since a virus or the like that takes over control of the personal computer 110 is also conceivable, the security level becomes higher when configured as separate devices as in this embodiment.

<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<Other variations>
The present invention is not limited to the above-described embodiments and modifications. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. In addition, it can change suitably in the range which does not deviate from the meaning of this invention.

<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
<Program and recording medium>
In addition, various processing functions in each device described in the above embodiments and modifications may be realized by a computer. In that case, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage unit. When executing the process, this computer reads the program stored in its own storage unit and executes the process according to the read program. As another embodiment of this program, a computer may read a program directly from a portable recording medium and execute processing according to the program. Further, each time a program is transferred from the server computer to the computer, processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program includes information provided for processing by the electronic computer and equivalent to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In addition, although each device is configured by executing a predetermined program on a computer, at least a part of these processing contents may be realized by hardware.

Claims (8)

ユーザに操作されるウェブブラウザ装置と、
前記ユーザに操作され、秘密情報が格納される記憶部を含む端末装置と、
署名鍵が格納される記憶部を含む署名装置と、
前記秘密情報及び検証鍵が格納される検証装置とを含み、
前記端末装置は、
署名対象の第一情報をハッシュ化して第一ハッシュ値を得る第一ハッシュ化部と、
前記第一ハッシュ値と前記秘密情報とを署名装置に送信する送信部とを含み、
前記署名装置は、
前記第一ハッシュ値と前記秘密情報とに対して前記署名鍵から署名を生成する署名生成部と、
前記署名を前記端末装置に送信する送信部とを含み、
前記ウェブブラウザ装置は、
前記署名と前記第一情報とを前記検証装置に送信する送信部を含み、
前記検証装置は、
前記第一情報をハッシュ化して第二ハッシュ値を得る第二ハッシュ化部と、
前記秘密情報と前記検証鍵と前記署名と前記第二ハッシュ値とを用いて、前記第一情報が改ざんされていないか否かを検証する検証部とを含む、
署名検証システム。
A web browser device operated by a user;
A terminal device operated by the user and including a storage unit in which confidential information is stored;
A signature device including a storage unit in which a signature key is stored;
A verification device in which the secret information and the verification key are stored,
The terminal device
A first hashing unit that obtains a first hash value by hashing the first information to be signed;
A transmitter that transmits the first hash value and the secret information to a signature device;
The signing device is:
A signature generation unit that generates a signature from the signature key for the first hash value and the secret information;
A transmission unit that transmits the signature to the terminal device,
The web browser device is:
A transmission unit for transmitting the signature and the first information to the verification device;
The verification device includes:
A second hashing unit that hashes the first information to obtain a second hash value;
A verification unit that verifies whether the first information has not been tampered with using the secret information, the verification key, the signature, and the second hash value;
Signature verification system.
請求項1の署名検証システムであって、
前記署名鍵と前記検証鍵とは共通し、
前記検証部は、前記第二ハッシュ値と前記秘密情報に対して前記検証鍵から第二署名を生成し、前記第二署名と前記署名とが一致するか否かを検証し、一致する場合には改ざんされていないと判定する、
署名検証システム。
The signature verification system of claim 1, comprising:
The signing key and the verification key are common,
The verification unit generates a second signature from the verification key for the second hash value and the secret information, verifies whether the second signature and the signature match, and if they match Determines that has not been tampered with,
Signature verification system.
請求項1の署名検証システムであって、
前記検証部は、前記署名に対して前記検証鍵から復号結果を得、前記復号結果に、前記秘密情報と前記第二ハッシュ値とが含まれるか否かを検証し、含まれる場合には改ざんされていないと判定する、
署名検証システム。
The signature verification system of claim 1, comprising:
The verification unit obtains a decryption result from the verification key for the signature, verifies whether or not the secret information and the second hash value are included in the decryption result, and if included, tampering Judge that it is not,
Signature verification system.
請求項1から請求項3の何れかの署名検証システムであって、
前記署名装置は、
第一の時刻を取得する第一時刻取得部を含み、
前記検証装置は、
第二の時刻を取得する第二時刻取得部を含み、
前記署名生成部は、前記秘密情報と前記第一の時刻と前記第一ハッシュ値とに対して前記署名鍵から署名を生成し、
前記検証部は、前記秘密情報と前記検証鍵と前記署名と前記第二ハッシュ値と前記第二の時刻とを用いて、前記第一情報が改ざんされていないか否かを検証し、前記第一の時刻から前記第二の時刻までの時間が、所定の時間を超える場合には、改ざんされていると判定する、
署名検証システム。
The signature verification system according to any one of claims 1 to 3,
The signing device is:
Including a first time acquisition unit for acquiring a first time;
The verification device includes:
Including a second time acquisition unit for acquiring a second time;
The signature generation unit generates a signature from the signature key for the secret information, the first time, and the first hash value,
The verification unit verifies whether the first information has not been tampered with using the secret information, the verification key, the signature, the second hash value, and the second time, and If the time from one time to the second time exceeds a predetermined time, it is determined that the tampering has occurred.
Signature verification system.
ユーザに操作されるウェブブラウザ装置と、
前記ユーザに操作され、秘密情報が格納される記憶部を含む端末装置と、
署名鍵が格納される記憶部を含む署名装置と、
前記秘密情報及び検証鍵が格納される検証装置とを用い、
前記端末装置が、署名対象の第一情報をハッシュ化して第一ハッシュ値を得る第一ハッシュ化ステップと、
前記端末装置が、前記第一ハッシュ値と前記秘密情報とを署名装置に送信する送信ステップと、
前記署名装置が、前記第一ハッシュ値と前記秘密情報とに対して前記署名鍵から署名を生成する署名生成ステップと、
前記署名装置が、前記署名を前記端末装置に送信する送信ステップと、
前記ウェブブラウザ装置が、前記署名と前記第一情報とを前記検証装置に送信する送信ステップと、
前記検証装置が、前記第一情報をハッシュ化して第二ハッシュ値を得る第二ハッシュ化ステップと、
前記検証装置が、前記秘密情報と前記検証鍵と前記署名と前記第二ハッシュ値とを用いて、前記第一情報が改ざんされていないか否かを検証する検証ステップとを含む、
署名検証方法。
A web browser device operated by a user;
A terminal device operated by the user and including a storage unit in which confidential information is stored;
A signature device including a storage unit in which a signature key is stored;
Using a verification device in which the secret information and the verification key are stored,
A first hashing step in which the terminal device obtains a first hash value by hashing the first information to be signed;
The terminal device transmits the first hash value and the secret information to a signature device; and
A signature generation step in which the signature device generates a signature from the signature key for the first hash value and the secret information;
A transmitting step in which the signature device transmits the signature to the terminal device;
The web browser device transmitting the signature and the first information to the verification device; and
A second hashing step in which the verification device hashes the first information to obtain a second hash value;
The verification device includes a verification step of verifying whether or not the first information has been tampered with using the secret information, the verification key, the signature, and the second hash value.
Signature verification method.
請求項5の署名検証方法であって、
前記署名鍵と前記検証鍵とは共通し、
前記検証ステップは、前記第二ハッシュ値と前記秘密情報に対して前記検証鍵から第二署名を生成し、前記第二署名と前記署名とが一致するか否かを検証し、一致する場合には改ざんされていないと判定する、
署名検証方法。
The signature verification method according to claim 5, comprising:
The signing key and the verification key are common,
The verification step generates a second signature from the verification key for the second hash value and the secret information, verifies whether the second signature and the signature match, and if they match Determines that has not been tampered with,
Signature verification method.
請求項5の署名検証方法であって、
前記検証ステップは、前記署名に対して前記検証鍵から復号結果を得、前記復号結果に、前記秘密情報と前記第二ハッシュ値とが含まれるか否かを検証し、含まれる場合には改ざんされていないと判定する、
署名検証方法。
The signature verification method according to claim 5, comprising:
The verification step obtains a decryption result from the verification key for the signature, verifies whether or not the secret information and the second hash value are included in the decryption result, and if included, tampering Judge that it is not,
Signature verification method.
請求項5から請求項7の何れかの署名検証方法であって、
前記署名装置が、第一の時刻を取得する第一時刻取得ステップと、
前記検証装置が、第二の時刻を取得する第二時刻取得ステップと、を含み、
前記署名生成ステップは、前記秘密情報と前記第一の時刻と前記第一ハッシュ値とに対して前記署名鍵から署名を生成し、
前記検証ステップは、前記秘密情報と前記検証鍵と前記署名と前記第二ハッシュ値と前記第二の時刻とを用いて、前記第一情報が改ざんされていないか否かを検証し、前記第一の時刻から前記第二の時刻までの時間が、所定の時間を超える場合には、改ざんされていると判定する、
署名検証方法。
The signature verification method according to any one of claims 5 to 7,
A first time acquisition step in which the signature device acquires a first time; and
The verification device includes a second time acquisition step of acquiring a second time;
The signature generation step generates a signature from the signature key for the secret information, the first time, and the first hash value,
The verification step verifies whether the first information has not been tampered with using the secret information, the verification key, the signature, the second hash value, and the second time, If the time from one time to the second time exceeds a predetermined time, it is determined that the tampering has occurred.
Signature verification method.
JP2015227717A 2015-11-20 2015-11-20 Signature verification system and signature verification method Pending JP2017098697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015227717A JP2017098697A (en) 2015-11-20 2015-11-20 Signature verification system and signature verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015227717A JP2017098697A (en) 2015-11-20 2015-11-20 Signature verification system and signature verification method

Publications (1)

Publication Number Publication Date
JP2017098697A true JP2017098697A (en) 2017-06-01

Family

ID=58803834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015227717A Pending JP2017098697A (en) 2015-11-20 2015-11-20 Signature verification system and signature verification method

Country Status (1)

Country Link
JP (1) JP2017098697A (en)

Similar Documents

Publication Publication Date Title
CN112333198B (en) Secure cross-domain login method, system and server
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
EP4022473B1 (en) Decentralized data authentication
CN104662864B (en) The convenient authentication method of user and device that mobile authentication is applied are used
US20200021446A1 (en) Secure de-centralized domain name system
US20130086381A1 (en) Multi-server authentication token data exchange
CN113056741A (en) Profile verification based on distributed ledger
AU2012240481B2 (en) Method and system to confirm ownership of digital goods
JPWO2019239591A1 (en) Authentication system, authentication method, application provider, authentication device, and authentication program
US9454677B1 (en) Secure communication architecture including video sniffer
JP4818664B2 (en) Device information transmission method, device information transmission device, device information transmission program
JP5278495B2 (en) Device information transmission method, device information transmission device, device information transmission program
JP2020106927A (en) Information processing system, information processing program, information processing method, and information processing apparatus
JP6059788B2 (en) Network authentication method using card device
AU2015255283B2 (en) Method and system to confirm ownership of digital goods
JP5161053B2 (en) User authentication method, user authentication system, service providing apparatus, and authentication control apparatus
JP2020102741A (en) Authentication system, authentication method, and authentication program
JP2016181806A (en) Information processing device, information processing system, cryptographic device, information processing method and program
KR101581663B1 (en) Authentication and non-repudiation method and system using trusted third party
JP2017098697A (en) Signature verification system and signature verification method
JP2007060581A (en) Information management system and method
JP2015176167A (en) Network authentication method for secure user identification information verification
JP2007065789A (en) Authentication system and method
KR20050112146A (en) Method for safely keeping and delivering a certificate and private secret information by using the web-service
JP6398308B2 (en) Information processing system, information processing method, and program