JP6153454B2 - 署名装置、方法及びプログラム - Google Patents
署名装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6153454B2 JP6153454B2 JP2013246276A JP2013246276A JP6153454B2 JP 6153454 B2 JP6153454 B2 JP 6153454B2 JP 2013246276 A JP2013246276 A JP 2013246276A JP 2013246276 A JP2013246276 A JP 2013246276A JP 6153454 B2 JP6153454 B2 JP 6153454B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- data
- verification
- hash value
- password
- 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
Links
Images
Description
(1) ホスト端末と、耐タンパデバイスとを有する署名装置であって、前記ホスト端末は、署名をする対象であるメッセージを受信するメッセージ受信手段と、パスワードの入力を受け付けるパスワード受付手段と、乱数を生成する乱数生成手段と、前記乱数生成手段によって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出手段と、前記検証データ算出手段によって算出された検証のためのデータと、前記メッセージ受信手段によって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出手段と、前記検証データ算出手段によって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出手段によって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付手段によって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出手段と、前記署名用データ算出手段によって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信手段と、を備え、前記耐タンパデバイスは、パスワードと秘密鍵とを予め記憶する鍵記憶手段と、前記署名用データ送信手段によって送信された前記署名用送信データを受信する署名用データ受信手段と、前記署名用データ受信手段によって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号手段と、前記復号手段によって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成手段と、前記署名作成手段によって作成された前記署名データを、前記ホスト端末に送信する署名送信手段と、を備え、前記ホスト端末は、前記署名送信手段によって送信された前記署名データを受信する署名受信手段と、前記署名受信手段によって受信された前記署名データと前記ハッシュ値とを出力する出力手段と、をさらに備える、署名装置。
したがって、(1)に係る署名装置は、ホスト端末と耐タンパデバイスとの連携により、高速、かつ、安全な署名方式を実現することができる。
さらに、本発明によれば、ホスト端末でパスワードを用いた利用者確認を実施しているので、耐タンパデバイスの不正使用による署名の偽造を防止することができる。
さらに、本発明によれば、ホスト端末が検証処理を実施することで、中間者攻撃によるDoS攻撃(Denial of Service attack)を監視することができる。
さらに、本発明によれば、ホスト端末から耐タンパデバイスへのデータが盗聴されても、乱数により暗号化されているので解読は困難であり、耐タンパデバイスからホスト端末へのデータが盗聴されても、公開すべきデータが盗聴されるだけなので、安全である。
図1は、本発明の一実施形態における署名装置1の処理を説明するための図である。本発明は、IDベースの署名処理を実現する手法であって、次の特徴を有する。
(1)秘密鍵は安全な耐タンパデバイス30に格納され、秘密鍵を使用する処理のすべては耐タンパデバイス30が実行する。
(2)秘密鍵を用いない処理のすべてはホスト端末10で実行される。すなわち、ホスト端末10と耐タンパデバイス30とで処理を分担して署名処理を行う。
(3)署名処理において、耐タンパデバイス30の不正使用による署名の偽造を防止するため、パスワードを用いた利用者確認を実施する。
(4)ホスト端末10が検証処理を実施することで、中間者攻撃によるDoS攻撃を監視する。
また、耐タンパデバイス30は、物理的あるいは論理的に内部の情報を読み取られることに対する耐性の高いデバイスをいう。具体的には、電話番号を特定するための固有のID番号が記録されたSIMカード(Subscriber Identity Module Card)等のICカードである。
CDH問題:あるa、b、cという自然数があり、g、ag、bgが与えられた時、abgを計算する問題。
e(aP,bQ)=e(bP,aQ)=e(abP,Q)=e(P,abQ)=e(P,Q)ab ・・・(1)
e(ag,bg)=e(g,g)ab ・・・(2)
e(g,cg)=e(g,g)c ・・・(3)
となり、両者の値が一致するかどうかにより、「ab=c」であるかどうかを判定でき、gはGDHグループGの要素となりうる。
H:{0,1}*→G
のように任意のビット長のサイズの数値データを楕円曲線上の点として表現されるGDHグループGの要素に写像変換する方式であると定義する。
鍵生成:自然数xを選び、gからv=xgを計算する。xを署名鍵、楕円曲線上の点vを検証鍵とする。
署名:署名者は、メッセージ「m∈{0,1}*」に対しh=H(m)を計算し、さらに自分の署名鍵を用いてσ=xhを計算する。σをmに対する署名として公開する。
検証:検証者は、メッセージmからh=H(m)を計算し、g、v、h、σを準備する。e(g,σ)とe(v,h)を計算し、両者の値が一致したら、署名σは、正しい署名と判定する。
ホスト端末10は、数1から数3の演算により署名用送信データEを計算する。さらに具体的に、ホスト端末10が実行する計算手順を説明する。
(1)ホスト端末10は、乱数kを生成する。
(2)ホスト端末10は、楕円曲線上の2点(P1、P)から検証のためのデータrを、数1(ペアリング関数)の演算により算出する。
(3)ホスト端末10は、一方向性ハッシュ関数Hを用いて数1の演算により、メッセージmと検証のためのデータrとのハッシュ値υを算出する。
(4)ホスト端末10は、楕円曲線上の2点(P1、P)のうち第1の点P1から数2の演算によりkP1を算出する。
(5)ホスト端末10は、パスワードを受け付ける。入力されたパスワードは、共通鍵暗号方式の暗号鍵として用いられ、一方、耐タンパデバイス30で予め記憶されているパスワードは、復号鍵として用いられる。入力されたパスワードが、耐タンパデバイス30で記憶されているパスワードと異なれば、耐タンパデバイス30は、復号に失敗する(利用者認証)。パスワードは、受け付けたパスワードのハッシュ値としてもよい。
(6)数3の演算により、ハッシュ値υと、算出したkP1とを、受け付けたパスワードを用いて暗号化した署名用送信データEを算出する。
ホスト端末10は、署名用送信データEを耐タンパデバイス30に送信する。なお、メッセージm、及びハッシュ値υはホスト端末10が保持しておく。
耐タンパデバイス30は、ホスト端末10から署名用送信データEを受信し、記憶している秘密鍵SIDを用いて署名データuを作成する。さらに具体的に、耐タンパデバイス30が実行する計算手順を説明する。
(1)耐タンパデバイス30は、記憶しているパスワードを使って署名用送信データEを復号し、ハッシュ値υとkP1とを取出す。
(2)耐タンパデバイス30は、記憶している秘密鍵SIDを用いて、数4の演算により署名データuの計算を行う。
耐タンパデバイス30は、署名データuをホスト端末10に返信する。
ホスト端末10は、保持していたメッセージmと、ハッシュ値υと、受信した署名データuとから署名の検証処理を実行し、署名データuが正しいことを確認する。なお、ホスト端末10は、検証処理を省略してもよい。
ホスト端末10は、メッセージmに対する署名としてハッシュ値υと署名データuとを出力する。
メッセージ受信手段11は、署名をする対象であるメッセージmを受信する。
パスワード受付手段12は、パスワードの入力を受け付ける。
鍵記憶手段31は、パスワードと秘密鍵SIDとを予め記憶する。
署名受信手段18は、耐タンパデバイス30の署名送信手段35によって送信された署名データuを受信する。
したがって、署名装置1は、ホスト端末10と耐タンパデバイス30との連携により、高速、かつ、安全な署名方式を実現することができる。
10 ホスト端末
11 メッセージ受信手段
12 パスワード受付手段
13 乱数生成手段
14 検証データ算出手段
15 ハッシュ値算出手段
16 署名用データ算出手段
17 署名用データ送信手段
18 署名受信手段
19 検証手段
20 出力手段
30 耐タンパデバイス
31 鍵記憶手段
32 署名用データ受信手段
33 復号手段
34 署名作成手段
35 署名送信手段
Claims (4)
- ホスト端末と、耐タンパデバイスとを有する署名装置であって、
前記ホスト端末は、
署名をする対象であるメッセージを受信するメッセージ受信手段と、
パスワードの入力を受け付けるパスワード受付手段と、
乱数を生成する乱数生成手段と、
前記乱数生成手段によって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出手段と、
前記検証データ算出手段によって算出された検証のためのデータと、前記メッセージ受信手段によって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出手段と、
前記検証データ算出手段によって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出手段によって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付手段によって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出手段と、
前記署名用データ算出手段によって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信手段と、を備え、
前記耐タンパデバイスは、
パスワードと秘密鍵とを予め記憶する鍵記憶手段と、
前記署名用データ送信手段によって送信された前記署名用送信データを受信する署名用データ受信手段と、
前記署名用データ受信手段によって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号手段と、
前記復号手段によって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成手段と、
前記署名作成手段によって作成された前記署名データを、前記ホスト端末に送信する署名送信手段と、を備え、
前記ホスト端末は、
前記署名送信手段によって送信された前記署名データを受信する署名受信手段と、
前記署名受信手段によって受信された前記署名データと前記ハッシュ値とを出力する出力手段と、をさらに備える、
署名装置。 - 前記ホスト端末は、前記署名受信手段によって受信された前記署名データを検証する検証手段を、さらに備える請求項1に記載の署名装置。
- 請求項1に記載の署名装置が実行する方法であって、
前記ホスト端末が実行する方法は、
署名をする対象であるメッセージを受信するメッセージ受信ステップと、
パスワードの入力を受け付けるパスワード受付ステップと、
乱数を生成する乱数生成ステップと、
前記乱数生成ステップによって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出ステップと、
前記検証データ算出ステップによって算出された検証のためのデータと、前記メッセージ受信ステップによって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出ステップと、
前記検証データ算出ステップによって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出ステップによって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付ステップによって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出ステップと、
前記署名用データ算出ステップによって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信ステップと、を備え、
前記耐タンパデバイスが実行する方法は、
前記署名用データ送信ステップによって送信された前記署名用送信データを受信する署名用データ受信ステップと、
前記署名用データ受信ステップによって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号ステップと、
前記復号ステップによって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成ステップと、
前記署名作成ステップによって作成された前記署名データを、前記ホスト端末に送信する署名送信ステップと、を備え、
前記ホスト端末が実行する方法は、
前記署名送信ステップによって送信された前記署名データを受信する署名受信ステップと、
前記署名受信ステップによって受信された前記署名データと前記ハッシュ値とを出力する出力ステップと、をさらに備える、
方法。 - コンピュータに、請求項3に記載の方法の各ステップを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013246276A JP6153454B2 (ja) | 2013-11-28 | 2013-11-28 | 署名装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013246276A JP6153454B2 (ja) | 2013-11-28 | 2013-11-28 | 署名装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015106726A JP2015106726A (ja) | 2015-06-08 |
JP6153454B2 true JP6153454B2 (ja) | 2017-06-28 |
Family
ID=53436653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013246276A Active JP6153454B2 (ja) | 2013-11-28 | 2013-11-28 | 署名装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6153454B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3210630B2 (ja) * | 1998-10-23 | 2001-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 付加情報検出方法およびシステム |
SE522260C2 (sv) * | 1999-10-01 | 2004-01-27 | Ericsson Telefon Ab L M | Metod, system och säkerhetsadapter för att exekvera säker dataöverföring i ett trådlöst nät |
US20090327735A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Unidirectional multi-use proxy re-signature process |
JP2013157777A (ja) * | 2012-01-30 | 2013-08-15 | Ntt Electornics Corp | 情報処理システム及び情報処理方法 |
JP2015037298A (ja) * | 2013-08-16 | 2015-02-23 | Kddi株式会社 | 端末、id型署名暗号方法およびプログラム |
-
2013
- 2013-11-28 JP JP2013246276A patent/JP6153454B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015106726A (ja) | 2015-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323276B2 (en) | Mutual authentication of confidential communication | |
CN111147225A (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
EP2173055A1 (en) | A method, a system, a client and a server for key negotiating | |
CN108347419A (zh) | 数据传输方法和装置 | |
CN109064324A (zh) | 基于联盟链的交易方法、电子装置及可读存储介质 | |
CN107124274A (zh) | 基于sm2的数字签名方法和装置 | |
JPWO2007125877A1 (ja) | 通信装置、及び通信システム | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
CN110889696A (zh) | 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质 | |
CN112202544B (zh) | 一种基于Paillier同态加密算法的智能电网数据安全聚合方法 | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN102082790A (zh) | 一种数字签名的加/解密方法及装置 | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN114692218A (zh) | 一种面向个人用户的电子签章方法、设备和系统 | |
CN104243494A (zh) | 一种数据处理方法 | |
CN112241527A (zh) | 密钥生成方法、系统及电子设备 | |
JP2011091517A (ja) | サインクリプションシステムおよびサインクリプション生成方法 | |
CN117675285A (zh) | 一种身份验证方法、芯片及设备 | |
CN110324357B (zh) | 数据发送方法及装置、数据接收方法及装置 | |
WO2023284691A1 (zh) | 一种账户的开立方法、系统及装置 | |
KR20140071775A (ko) | 암호키 관리 시스템 및 방법 | |
CN110572257A (zh) | 基于身份的抗量子计算数据来源鉴别方法和系统 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160721 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170424 |
|
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: 20170516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6153454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |