JP6153454B2 - 署名装置、方法及びプログラム - Google Patents

署名装置、方法及びプログラム Download PDF

Info

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
Application number
JP2013246276A
Other languages
English (en)
Other versions
JP2015106726A (ja
Inventor
清本 晋作
晋作 清本
三宅 優
優 三宅
司 石黒
司 石黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2013246276A priority Critical patent/JP6153454B2/ja
Publication of JP2015106726A publication Critical patent/JP2015106726A/ja
Application granted granted Critical
Publication of JP6153454B2 publication Critical patent/JP6153454B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ホスト端末と耐タンパデバイスとの間で署名処理を分割して実行する手法に関する。
従来より、電子文書の偽造や改竄を防止するために、電子文書に電子署名が用いられている。この電子署名により、電子文書の作成者を保証することや、内容の同一性を保証することが可能になる。また、電子署名に用いられる暗号鍵の漏えいを防止するために、暗号鍵を記憶する記憶装置に耐タンパデバイスが用いられている。
このような電子署名を実現する技術として、例えば、非特許文献1では、ペアリングに基づいた効率的なアイデンティティベースの署名方式が開示されている。
Florian Hess, efficient Identity Based Signature Schemes Based on Pairings, SAC2002, LNCS 2595, pp.310−324, 2002.
しかしながら、従来技術では、非力な耐タンパデバイスですべての処理を実行することになり、処理時間がかかるという問題点があった。一方、ホスト端末上ですべての処理を実行すると、秘密鍵の漏えい等の危険性があった。また、従来の提案方式では、ホスト端末と耐タンパデバイスとの間の通信路が安全ではなかった場合に、署名の偽造が可能であった。
そこで、暗号処理に伴う高度な演算を高速に処理すると共に、耐タンパデバイスの安全性を利用して漏えい等の危険性に対してさらに安全性を高めた署名方式が求められている。
本発明は、ホスト端末と耐タンパデバイスとの連携により、高速かつ安全な署名方式を実現する署名装置、方法及びプログラムを提供することを目的とする。
具体的には、以下のような解決手段を提供する。
(1) ホスト端末と、耐タンパデバイスとを有する署名装置であって、前記ホスト端末は、署名をする対象であるメッセージを受信するメッセージ受信手段と、パスワードの入力を受け付けるパスワード受付手段と、乱数を生成する乱数生成手段と、前記乱数生成手段によって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出手段と、前記検証データ算出手段によって算出された検証のためのデータと、前記メッセージ受信手段によって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出手段と、前記検証データ算出手段によって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出手段によって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付手段によって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出手段と、前記署名用データ算出手段によって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信手段と、を備え、前記耐タンパデバイスは、パスワードと秘密鍵とを予め記憶する鍵記憶手段と、前記署名用データ送信手段によって送信された前記署名用送信データを受信する署名用データ受信手段と、前記署名用データ受信手段によって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号手段と、前記復号手段によって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成手段と、前記署名作成手段によって作成された前記署名データを、前記ホスト端末に送信する署名送信手段と、を備え、前記ホスト端末は、前記署名送信手段によって送信された前記署名データを受信する署名受信手段と、前記署名受信手段によって受信された前記署名データと前記ハッシュ値とを出力する出力手段と、をさらに備える、署名装置。
(1)の構成によれば、(1)に係る署名装置において、ホスト端末は、署名をする対象であるメッセージを受信し、パスワードの入力を受け付け、乱数を生成し、生成した乱数を用いて、検証のためのデータを算出し、算出した検証のためのデータと、受信したメッセージとのハッシュ値を算出し、検証のためのデータを算出するために用いるデータと、算出したハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、受け付けたパスワードで暗号化し、署名用送信データを算出し、算出した署名用送信データを、耐タンパデバイスに送信する。耐タンパデバイスは、鍵記憶手段にパスワードと秘密鍵とを予め記憶し、送信された署名用送信データを受信し、受信した署名用送信データを、鍵記憶手段に記憶されたパスワードによって復号し、復号した署名用データのうちハッシュ値を、鍵記憶手段に記憶された秘密鍵を用いて暗号化し、暗号化したデータと、復号された署名用データのうち検証のためのデータを算出するために用いるデータとを用いて、署名データを作成し、作成した署名データを、ホスト端末に送信する。ホスト端末は、送信された署名データを受信し、受信した署名データとハッシュ値とを出力する。
すなわち、耐タンパデバイスは、秘密鍵を用いる処理を行い、ホスト端末は、パスワードを受け付けて、秘密鍵を用いない処理のすべてを実行する。
したがって、(1)に係る署名装置は、ホスト端末と耐タンパデバイスとの連携により、高速、かつ、安全な署名方式を実現することができる。
(2) 前記ホスト端末は、前記署名受信手段によって受信された前記署名データを検証する検証手段を、さらに備える(1)に記載の署名装置。
したがって、(2)に係る署名装置は、ホスト端末と耐タンパデバイスとの連携により、高速、かつ、より安全な署名方式を実現することができる。
(3) (1)に記載の署名装置が実行する方法であって、前記ホスト端末が実行する方法は、署名をする対象であるメッセージを受信するメッセージ受信ステップと、パスワードの入力を受け付けるパスワード受付ステップと、乱数を生成する乱数生成ステップと、前記乱数生成ステップによって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出ステップと、前記検証データ算出ステップによって算出された検証のためのデータと、前記メッセージ受信ステップによって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出ステップと、前記検証データ算出ステップによって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出ステップによって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付ステップによって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出ステップと、前記署名用データ算出ステップによって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信ステップと、を備え、前記耐タンパデバイスが実行する方法は、前記署名用データ送信ステップによって送信された前記署名用送信データを受信する署名用データ受信ステップと、前記署名用データ受信ステップによって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号ステップと、前記復号ステップによって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成ステップと、前記署名作成ステップによって作成された前記署名データを、前記ホスト端末に送信する署名送信ステップと、を備え、前記ホスト端末が実行する方法は、前記署名送信ステップによって送信された前記署名データを受信する署名受信ステップと、前記署名受信ステップによって受信された前記署名データと前記ハッシュ値とを出力する出力ステップと、をさらに備える、方法。
したがって、(3)に係る方法は、ホスト端末と耐タンパデバイスとの連携により、高速、かつ、安全な署名方式を実現することができる。
(4) コンピュータに、(3)に記載の方法の各ステップを実行させるためのプログラム。
したがって、(4)に係るプログラムは、コンピュータに、ホスト端末と耐タンパデバイスとの連携により、高速、かつ、安全な署名方式を実現させることができる。
本発明によれば、ホスト端末と耐タンパデバイスとの連携により、高速かつ安全な署名方式を確立することができる。すなわち、本発明によれば、耐タンパデバイスに秘密鍵を記憶させたままで安全に、かつ、高速に署名ができる。
さらに、本発明によれば、ホスト端末でパスワードを用いた利用者確認を実施しているので、耐タンパデバイスの不正使用による署名の偽造を防止することができる。
さらに、本発明によれば、ホスト端末が検証処理を実施することで、中間者攻撃によるDoS攻撃(Denial of Service attack)を監視することができる。
さらに、本発明によれば、ホスト端末から耐タンパデバイスへのデータが盗聴されても、乱数により暗号化されているので解読は困難であり、耐タンパデバイスからホスト端末へのデータが盗聴されても、公開すべきデータが盗聴されるだけなので、安全である。
本発明の一実施形態における署名装置の処理を説明するための図である。 本発明の一実施形態に係る署名装置の構成を示す図である。 本発明の一実施形態に係る署名装置の処理を示すフローチャートである。
以下、本発明の実施形態について図に従って説明する。
図1は、本発明の一実施形態における署名装置1の処理を説明するための図である。本発明は、IDベースの署名処理を実現する手法であって、次の特徴を有する。
(1)秘密鍵は安全な耐タンパデバイス30に格納され、秘密鍵を使用する処理のすべては耐タンパデバイス30が実行する。
(2)秘密鍵を用いない処理のすべてはホスト端末10で実行される。すなわち、ホスト端末10と耐タンパデバイス30とで処理を分担して署名処理を行う。
(3)署名処理において、耐タンパデバイス30の不正使用による署名の偽造を防止するため、パスワードを用いた利用者確認を実施する。
(4)ホスト端末10が検証処理を実施することで、中間者攻撃によるDoS攻撃を監視する。
ここで、IDベースの署名処理は、利用者の公開鍵として、利用者の識別子に関する一意な情報(例えば、利用者のメールアドレスや電話番号等)を利用者の公開鍵として用いることができる。
また、耐タンパデバイス30は、物理的あるいは論理的に内部の情報を読み取られることに対する耐性の高いデバイスをいう。具体的には、電話番号を特定するための固有のID番号が記録されたSIMカード(Subscriber Identity Module Card)等のICカードである。
また、本実施形態で採用される具体的な署名方式について説明する。署名装置1では、ベースとなる署名方式としてGAP−Diffie−Hellman(GDH)署名を採用する。GDH署名とは、Decision−Diffie−Hellman(DDH)問題をペアリングと呼ばれるある種のブラックボックス関数e(P,Q)を用いることで、解くことが可能であることを利用した署名である。
次に、ペアリング演算を用いたGDH署名について説明する。楕円曲線上のDiffie−Hellman問題に関連して、GDHグループが定義されている。GDHグループについて簡単に説明する。Gをある楕円曲線上の点の集合とする。「g」を集合Gの要素としたとき、集合Gにおける楕円曲線上のDecisional Diffie−Hellman(DDH)問題とComputational Diffie−Hellman(CDH)問題が以下のように定義される。
DDH問題:あるa、b、cという自然数があり、g、ag、bg、cgが与えられた時、c=abかどうかを判定する問題。
CDH問題:あるa、b、cという自然数があり、g、ag、bgが与えられた時、abgを計算する問題。
このとき、DDH問題は、計算量的に簡単であるが、CDH問題は、計算量的に難問である場合、この集合GをGDHグループと定義する。
これに対し、ある楕円曲線上の点をP,Qとし、そのP,Qによっては次にあげる性質を持つことができるペアリングと呼ばれるブラックボックス関数e(P,Q)を定義できるものが存在する。
e(aP,bQ)=e(bP,aQ)=e(abP,Q)=e(P,abQ)=e(P,Q)ab ・・・(1)
よって、gがペアリング演算の可能な楕円曲線上の点である場合には、上記の性質から、(1)式にg、ag、bg、cgを入力すると、
e(ag,bg)=e(g,g)ab ・・・(2)
e(g,cg)=e(g,g) ・・・(3)
となり、両者の値が一致するかどうかにより、「ab=c」であるかどうかを判定でき、gはGDHグループGの要素となりうる。
この性質を利用してGDH署名が構成される。集合Gは、GDHグループであり、gは集合Gの要素となる点とする。また、一方向性ハッシュ関数Hを、通常使用される任意のビット長のサイズの数値データが固定のビット長のサイズの数値データに写像変換される方式とは異なり、
H:{0,1}→G
のように任意のビット長のサイズの数値データを楕円曲線上の点として表現されるGDHグループGの要素に写像変換する方式であると定義する。
このとき、GDH署名は以下のように定義される。
鍵生成:自然数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)を計算し、両者の値が一致したら、署名σは、正しい署名と判定する。
このとき、hの値は集合Gの要素となるので、ある自然数yを用いてh=ygと表現できる。その結果、正しく署名が行われていれば(g,v,h,σ)=(g,xg,yg,xyg)となる。したがって、正当な署名であれば上記の検証でのペアリング演算は、e(g,σ)=e(g,xyg)=e(g,g)xy=e(xg,yg)=e(v,h)となり、値が一致することから、検証可能となる。なお、GDHグループの条件であるCDH問題の困難性から、署名鍵xを知らない第三者がg、v、hの値から署名σを導出することは不可能である。
署名装置1は、ホスト端末10(例えば、スマートフォン等)と、耐タンパデバイス30(例えば、ICカード等)とを有する。耐タンパデバイス30は、秘密鍵と、共通鍵としてのパスワードとを予め記憶する。
具体的な実施手順を以下に示す。
まず最初に、ホスト端末10は、署名をする対象であるメッセージmを受信する。次に、ホスト端末10は、手順1から手順6の順で署名データを作成し、作成した署名データを出力する。
<手順1>
ホスト端末10は、数1から数3の演算により署名用送信データEを計算する。さらに具体的に、ホスト端末10が実行する計算手順を説明する。
(1)ホスト端末10は、乱数kを生成する。
(2)ホスト端末10は、楕円曲線上の2点(P、P)から検証のためのデータrを、数1(ペアリング関数)の演算により算出する。
(3)ホスト端末10は、一方向性ハッシュ関数Hを用いて数1の演算により、メッセージmと検証のためのデータrとのハッシュ値υを算出する。
(4)ホスト端末10は、楕円曲線上の2点(P、P)のうち第1の点Pから数2の演算によりkPを算出する。
(5)ホスト端末10は、パスワードを受け付ける。入力されたパスワードは、共通鍵暗号方式の暗号鍵として用いられ、一方、耐タンパデバイス30で予め記憶されているパスワードは、復号鍵として用いられる。入力されたパスワードが、耐タンパデバイス30で記憶されているパスワードと異なれば、耐タンパデバイス30は、復号に失敗する(利用者認証)。パスワードは、受け付けたパスワードのハッシュ値としてもよい。
(6)数3の演算により、ハッシュ値υと、算出したkPとを、受け付けたパスワードを用いて暗号化した署名用送信データEを算出する。
Figure 0006153454
数1において、(Z/qZ)のqは素数である。すなわち、ハッシュ値υは、素数qより小さい値となり、ハッシュ値υのデータ長は、一定の長さ以下となる。
Figure 0006153454
Figure 0006153454
数3において、εpwは、パスワードを共通鍵として暗号化することを表わしている。
<手順2>
ホスト端末10は、署名用送信データEを耐タンパデバイス30に送信する。なお、メッセージm、及びハッシュ値υはホスト端末10が保持しておく。
<手順3>
耐タンパデバイス30は、ホスト端末10から署名用送信データEを受信し、記憶している秘密鍵SIDを用いて署名データuを作成する。さらに具体的に、耐タンパデバイス30が実行する計算手順を説明する。
(1)耐タンパデバイス30は、記憶しているパスワードを使って署名用送信データEを復号し、ハッシュ値υとkPとを取出す。
(2)耐タンパデバイス30は、記憶している秘密鍵SIDを用いて、数4の演算により署名データuの計算を行う。
Figure 0006153454
<手順4>
耐タンパデバイス30は、署名データuをホスト端末10に返信する。
<手順5>
ホスト端末10は、保持していたメッセージmと、ハッシュ値υと、受信した署名データuとから署名の検証処理を実行し、署名データuが正しいことを確認する。なお、ホスト端末10は、検証処理を省略してもよい。
<手順6>
ホスト端末10は、メッセージmに対する署名としてハッシュ値υと署名データuとを出力する。
図2は、本発明の一実施形態に係る署名装置1の構成を示す図である。署名装置1は、ホスト端末10と、耐タンパデバイス30とを有する。
ホスト端末10は、メッセージ受信手段11と、パスワード受付手段12と、乱数生成手段13と、検証データ算出手段14と、ハッシュ値算出手段15と、署名用データ算出手段16と、署名用データ送信手段17と、署名受信手段18と、検証手段19と、出力手段20と、を備え、耐タンパデバイス30は、鍵記憶手段31と、署名用データ受信手段32と、復号手段33と、署名作成手段34と、署名送信手段35と、を備える。
ホスト端末10での処理を各手段ごとに説明する。
メッセージ受信手段11は、署名をする対象であるメッセージmを受信する。
パスワード受付手段12は、パスワードの入力を受け付ける。
乱数生成手段13は、乱数kを生成する。生成される乱数kは、乱数発生器による乱数だけではなく、コンピュータのプログラムによる疑似乱数であってよい。
検証データ算出手段14は、乱数生成手段13によって生成された乱数を用いて、検証のためのデータを算出する。具体的には、検証データ算出手段14は、上述の数1の演算により、検証のためのデータrを算出する。
ハッシュ値算出手段15は、検証データ算出手段14によって算出された検証のためのデータrと、メッセージ受信手段11によって受信されたメッセージmとのハッシュ値υを算出する。具体的には、ハッシュ値算出手段15は、上述の数1の演算により、メッセージmと検証のためのデータrとのハッシュ値υを算出する。
署名用データ算出手段16は、検証データ算出手段14によって検証のためのデータが算出されるために用いられるデータkPと、ハッシュ値算出手段15によって算出されたハッシュ値υとを用いて署名用データを作成し、作成した署名用データを、パスワード受付手段12によって受け付けられたパスワードで暗号化し、署名用送信データEを算出する。具体的には、署名用データ算出手段16は、上述の数3の演算により、署名用送信データEを算出する。
署名用データ送信手段17は、署名用データ算出手段16によって算出された署名用送信データEを耐タンパデバイス30に送信する。
ホスト端末10から送信されたのちの耐タンパデバイス30での処理を各手段ごとに説明する。
鍵記憶手段31は、パスワードと秘密鍵SIDとを予め記憶する。
署名用データ受信手段32は、署名用データ送信手段17によって送信された署名用送信データEを受信する。
復号手段33は、署名用データ受信手段32によって受信された署名用送信データEを、鍵記憶手段31に記憶されたパスワードによって復号する。
署名作成手段34は、復号手段33によって復号された署名用データのうちハッシュ値υを、鍵記憶手段31に記憶された秘密鍵SIDを用いて暗号化し、暗号化したデータと、復号された署名用データのうち検証のためのデータが算出されるために用いられるデータkPとを用いて、上述の数4の演算により、署名データuを作成する。
署名送信手段35は、署名作成手段34によって作成された署名データuを、ホスト端末10に送信する。
耐タンパデバイス30から送信されたのちのホスト端末10での処理を各手段ごとに説明する。
署名受信手段18は、耐タンパデバイス30の署名送信手段35によって送信された署名データuを受信する。
検証手段19は、署名受信手段18によって受信された署名データuを検証する。
出力手段20は、署名受信手段18によって受信された署名データuと、ハッシュ値υとを出力する。署名受信手段18は、署名データuと、ハッシュ値υとを、メッセージmの送信先に送信するとしてもよい。
図3は、本発明の一実施形態に係る署名装置1の処理を示すフローチャートである。ホスト端末10及び耐タンパデバイス30は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、それぞれの制御部(例えば、ホスト端末10のCPU、及び耐タンパデバイス30のCPU)が所定のソフトウェアに従い実行する処理である。
ステップS101において、ホスト端末10(メッセージ受信手段11)は、署名をする対象であるメッセージmを受信する。
ステップS102において、ホスト端末10(パスワード受付手段12)は、パスワードの入力を受け付ける。
ステップS103において、ホスト端末10(乱数生成手段13、検証データ算出手段14、ハッシュ値算出手段15、署名用データ算出手段16)は、乱数kを生成し、生成した乱数kを用いて、検証のためのデータr(数1)を算出し、受信したメッセージmと、検証のためのデータrとのハッシュ値υ(数1)を算出し、算出したハッシュ値υと、検証のためのデータを算出するために用いるデータkP(数2)とを用いて署名用データを作成する。
ステップS104において、ホスト端末10(署名用データ算出手段16、署名用データ送信手段17)は、作成した署名用データを、受け付けたパスワードで暗号化し、暗号化した署名用送信データE(数3)を耐タンパデバイス30に送信する。ステップS201において、耐タンパデバイス30(署名用データ受信手段32、復号手段33)は、署名用送信データEを受信し、鍵記憶手段31によって記憶されているパスワードによって復号する。
ステップS202において、耐タンパデバイス30(署名作成手段34)は、復号した署名用データのうちハッシュ値υを、鍵記憶手段31によって記憶されている秘密鍵SIDを用いて暗号化し、暗号化したデータとデータkPとを用いて、上述の数4の演算により、署名データuを作成する。
ステップS203において、耐タンパデバイス30(署名送信手段35)は、署名データuをホスト端末10に送信する。
ステップS105において、ホスト端末10(署名受信手段18、検証手段19)は、耐タンパデバイス30から送信された署名データuを受信し、検証する。
ステップS106において、ホスト端末10(出力手段20)は、署名データuと、ハッシュ値υとを出力する。
本実施形態によれば、署名装置1において、ホスト端末10は、署名をする対象であるメッセージmを受信し、パスワードの入力を受け付け、乱数kを生成し、生成した乱数kを用いて、検証のためのデータrを算出し、算出したデータrと受信したメッセージmとのハッシュ値υを算出し、検証のためのデータを算出するために用いるデータkPと、算出したハッシュ値υとを用いて、署名用データを作成し、作成した署名用データを、受け付けたパスワードで暗号化して署名用送信データEを算出し、算出した署名用送信データEを、耐タンパデバイス30に送信する。耐タンパデバイス30は、鍵記憶手段31にパスワードと秘密鍵SIDとを予め記憶し、送信された署名用送信データEを受信し、受信した署名用送信データEを、鍵記憶手段31に記憶されたパスワードによって復号し、復号した署名用データのうちハッシュ値υを、鍵記憶手段31に記憶された秘密鍵SIDを用いて暗号化し、暗号化したデータと、復号された署名用データのうちデータkPとを用いて、署名データuを作成し、作成した署名データuを、ホスト端末10に送信する。ホスト端末10は、送信された署名データuを受信し、受信した署名データuを検証し、受信した署名データuとハッシュ値υとを出力する。
したがって、署名装置1は、ホスト端末10と耐タンパデバイス30との連携により、高速、かつ、安全な署名方式を実現することができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
1 署名装置
10 ホスト端末
11 メッセージ受信手段
12 パスワード受付手段
13 乱数生成手段
14 検証データ算出手段
15 ハッシュ値算出手段
16 署名用データ算出手段
17 署名用データ送信手段
18 署名受信手段
19 検証手段
20 出力手段
30 耐タンパデバイス
31 鍵記憶手段
32 署名用データ受信手段
33 復号手段
34 署名作成手段
35 署名送信手段

Claims (4)

  1. ホスト端末と、耐タンパデバイスとを有する署名装置であって、
    前記ホスト端末は、
    署名をする対象であるメッセージを受信するメッセージ受信手段と、
    パスワードの入力を受け付けるパスワード受付手段と、
    乱数を生成する乱数生成手段と、
    前記乱数生成手段によって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出手段と、
    前記検証データ算出手段によって算出された検証のためのデータと、前記メッセージ受信手段によって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出手段と、
    前記検証データ算出手段によって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出手段によって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付手段によって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出手段と、
    前記署名用データ算出手段によって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信手段と、を備え、
    前記耐タンパデバイスは、
    パスワードと秘密鍵とを予め記憶する鍵記憶手段と、
    前記署名用データ送信手段によって送信された前記署名用送信データを受信する署名用データ受信手段と、
    前記署名用データ受信手段によって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号手段と、
    前記復号手段によって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成手段と、
    前記署名作成手段によって作成された前記署名データを、前記ホスト端末に送信する署名送信手段と、を備え、
    前記ホスト端末は、
    前記署名送信手段によって送信された前記署名データを受信する署名受信手段と、
    前記署名受信手段によって受信された前記署名データと前記ハッシュ値とを出力する出力手段と、をさらに備える、
    署名装置。
  2. 前記ホスト端末は、前記署名受信手段によって受信された前記署名データを検証する検証手段を、さらに備える請求項1に記載の署名装置。
  3. 請求項1に記載の署名装置が実行する方法であって、
    前記ホスト端末が実行する方法は、
    署名をする対象であるメッセージを受信するメッセージ受信ステップと、
    パスワードの入力を受け付けるパスワード受付ステップと、
    乱数を生成する乱数生成ステップと、
    前記乱数生成ステップによって生成された前記乱数を用いて、検証のためのデータを算出する検証データ算出ステップと、
    前記検証データ算出ステップによって算出された検証のためのデータと、前記メッセージ受信ステップによって受信された前記メッセージとのハッシュ値を算出するハッシュ値算出ステップと、
    前記検証データ算出ステップによって前記検証のためのデータが算出されるために用いられるデータと、前記ハッシュ値算出ステップによって算出された前記ハッシュ値とを用いて、署名用データを作成し、作成した署名用データを、前記パスワード受付ステップによって受け付けられたパスワードで暗号化し、署名用送信データを算出する署名用データ算出ステップと、
    前記署名用データ算出ステップによって算出された前記署名用送信データを、前記耐タンパデバイスに送信する署名用データ送信ステップと、を備え、
    前記耐タンパデバイスが実行する方法は、
    前記署名用データ送信ステップによって送信された前記署名用送信データを受信する署名用データ受信ステップと、
    前記署名用データ受信ステップによって受信された前記署名用送信データを、前記鍵記憶手段に記憶されたパスワードによって復号する復号ステップと、
    前記復号ステップによって復号された前記署名用データのうち前記ハッシュ値を、前記鍵記憶手段に記憶された前記秘密鍵を用いて暗号化し、暗号化したデータと、復号された前記署名用データのうち前記検証のためのデータが算出されるために用いられるデータとを用いて、署名データを作成する署名作成ステップと、
    前記署名作成ステップによって作成された前記署名データを、前記ホスト端末に送信する署名送信ステップと、を備え、
    前記ホスト端末が実行する方法は、
    前記署名送信ステップによって送信された前記署名データを受信する署名受信ステップと、
    前記署名受信ステップによって受信された前記署名データと前記ハッシュ値とを出力する出力ステップと、をさらに備える、
    方法。
  4. コンピュータに、請求項3に記載の方法の各ステップを実行させるためのプログラム。
JP2013246276A 2013-11-28 2013-11-28 署名装置、方法及びプログラム Active JP6153454B2 (ja)

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)

* Cited by examiner, † Cited by third party
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型署名暗号方法およびプログラム

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