JP2014220668A - 送信側装置および受信側装置 - Google Patents

送信側装置および受信側装置 Download PDF

Info

Publication number
JP2014220668A
JP2014220668A JP2013098964A JP2013098964A JP2014220668A JP 2014220668 A JP2014220668 A JP 2014220668A JP 2013098964 A JP2013098964 A JP 2013098964A JP 2013098964 A JP2013098964 A JP 2013098964A JP 2014220668 A JP2014220668 A JP 2014220668A
Authority
JP
Japan
Prior art keywords
key
signature
unit
verification
encryption
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.)
Granted
Application number
JP2013098964A
Other languages
English (en)
Other versions
JP5932709B2 (ja
Inventor
暖 山本
Dan 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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013098964A priority Critical patent/JP5932709B2/ja
Publication of JP2014220668A publication Critical patent/JP2014220668A/ja
Application granted granted Critical
Publication of JP5932709B2 publication Critical patent/JP5932709B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

【課題】メッセージ送受信時の通信速度の低下を抑えることでリアルタイム性の高い通信へ署名付き暗号化方式の適用を可能とするとともに、メッセージ送受信時に必要な計算を削減することで能力の十分でないプロセッサでも署名付き暗号化方式を実現すること。
【解決手段】送信側装置は、ワンタイム署名鍵生成部と、電子署名生成部と、タグベース鍵カプセル生成部と、から得た事前計算結果をそれぞれ一時的に記憶した後、送信するメッセージの内容が確定したならば、一時的に記憶した情報を利用して、ワンタイム署名生成部と共通鍵暗号部により署名と暗号文を生成し、一時結果の一部と合わせて受信側装置へ送信する。
【選択図】 図1

Description

本発明は、暗号および電子署名技術に関する。
通信路の秘匿性を保証するため、すなわち通信路上を流れる情報を盗聴の脅威から守るための方法として、暗号技術の適用がよく知られている。また、通信路の真正性を保証するため、すなわち通信路上を流れる情報を改ざんや成りすましの脅威から守るための方法としては、電子署名技術の適用が知られている。さらに、秘匿性と真正性を同時に保証する技術として、暗号技術と電子署名技術を応用した署名付き暗号化(signcryption)技術が存在する。
署名付き暗号化技術の代表例として、Sign−then−Encrypt方式とEncrypt−then−Sign方式の2つがよく知られている。Sign−then−Encrypt方式はメッセージに電子署名を付加した後、メッセージと署名値の組を暗号化する方式である。一方、Encrypt−the−Sign方式はメッセージを公開鍵暗号で暗号化した後に、当該暗号文に対して電子署名を付加する方式である。
署名付き暗号化の安全性は、秘匿性と真正性の二つの側面から評価される。秘匿性に関しては、動的マルチユーザモデルにおいて内部者からの適応的選択暗号文攻撃に対して識別不可能性を有すること(dM−IND−iCCA:INDistinguishability against insider Chosen Ciphertext Attack in thedynamic Multi−user model と呼ばれる性質)が望まれる。また真正性に関しては、動的マルチユーザモデルにおいて内部者からの選択文書攻撃に対する強偽造不可能性を有すること(dM−sUF−iCMA: strong UnForgeability againstinsider Chosen Message Attack in the dynamic Multi−user model と呼ばれる安全性基準)が望まれる。安全な署名付き暗号化方式は、これら2つの安全性を同時に満たすことが望ましいと考えられている。
前記のSign−then−Encrypt方式は、適応的選択暗号文攻撃に対する識別不可能性を有するが、選択文書攻撃に対する強偽造不可能性が保証されないことが分かっている。また、Encrypt−then−Sign方式は、選択文書攻撃に対する強偽造不可能性を有する一方で、適応的選択暗号文攻撃に対する識別不可能性が保証されないことが知られている。
上記2つの安全性をともに備える署名付き暗号化方式として、非特許文献1に記載の方式が存在する。当該方式は、タグベースの鍵カプセル化メカニズム(通称TBKEM)と、電子署名方式、共通鍵暗号の3つの機能を組み合わせることで署名付き暗号化方式を実現したものである。構成要素であるTBKEM、電子署名、共通鍵暗号が、それぞれある安全性基準を満たす場合に、それらを組み合わせた署名付き暗号方式が前記の2つの安全性基準を満たすことが示されている。
Daiki Chiba、Takahiro Matsuda、Jacob C.N. Schuldt、Kanta Matsuura、 ″Efficient Generic Constructions of Signcryption with Insider Security in the Multi−user Setting、″ACNS 2011、LNCS 6715、pp.220−237、2011
秘匿性と真正性が同時に求められる分野は数多く存在する。例えば、証券会社のシステムから株式売買の発注を証券取引所のシステムへ送信する場合には、発注内容を取引所以外の他者に知られることを防ぐために秘匿性の確保が重要となると同時に、発注内容の改ざんや横取り(成りすまし)を防ぐために真正性の確保が求められる。またセンサネットワークやモバイルコンピューティングなどの分野においても、通信傍受を防ぐために秘匿性が要求され、かつメッセージの送信元を認証するために真正性が求められる。
上記の分野においては安全性の確保と同時に、処理性能に関する独自の制約が存在する。証券取引の場合、取引所へリクエストが集中する繁忙期には大量の注文を遅延なくリアルタイムに処理することが要求される。また後者の分野においては、個々のデバイスの計算能力がさほど高くなく、かつデバイスの省電力性が望まれるため、デバイスに要求される計算処理は単純なものであることが求められる。
非特許文献1に記載の方式は、前述した通り高い安全性を保証する一方で、内部で電子署名方式を利用しているため、通信のリアルタイム性および計算の複雑さに関する課題を内包している。
このような背景に鑑みて本発明がなされたのであり、本発明は、メッセージ送受信時の通信速度の低下を抑えることでリアルタイム性の高い通信へ署名付き暗号化方式の適用を可能とするとともに、メッセージ送受信時に必要な計算を削減することで能力の十分でないプロセッサでも署名付き暗号化方式を実現すること、を課題とする。
本発明の代表的な一例は、次の通りである。メッセージから署名付き暗号文を生成して受信側装置へ送信する送信側装置は、送信者の、署名用秘密鍵および検証用公開鍵を記憶する記憶装置と、制御装置を具備する。前記制御装置は、ワンタイム署名用の鍵ペアを生成し、前記記憶装置に記憶するワンタイム署名鍵生成部と、前記送信者の署名用秘密鍵を用いて、前記ワンタイム署名用の第一の鍵に対する第一の署名値を生成し、前記記憶装置に一時記憶する署名生成部と、入力された前記メッセージの受信者の公開鍵および前記送信者の検証用公開鍵から共通鍵暗号用の鍵と該鍵の暗号化データを生成し、前記記憶装置に記憶する鍵カプセル生成部と、前記ワンタイム署名用の第二の鍵、前記メッセージの受信者の公開鍵、前記共通鍵暗号用鍵の暗号化データ、および入力された送信対象メッセージから第二の署名値を生成するワンタイム署名生成部と、前記共通鍵暗号用の鍵、前記ワンタイム署名用の第一の鍵、前記第一の署名値、前記第二の署名値、および前記送信対象メッセージから署名付き暗号文を生成する共通鍵暗号部と、前記共通鍵暗号用の鍵の暗号化データおよび前記署名付き暗号文を前記受信側装置へ送信する送信部と、を含む、ことを特徴とする。
また、送信側装置から受信した署名付き暗号文からメッセージを復号する受信側装置は、受信者の、復号用秘密鍵および暗号用公開鍵を記憶する記憶装置と、制御装置を具備する。前記制御装置は、前記送信側装置から共通鍵暗号用鍵の暗号化データおよび前記署名付き暗号文を受信する受信部と、前記受信者の暗号用秘密鍵、入力された送信者の検証用公開鍵および前記共通鍵暗号用鍵の暗号化データから、共通鍵暗号用鍵を復号する鍵カプセル復号部と、前記共通鍵暗号用鍵を用いて、前記署名付き暗号文から、ワンタイム署名用の検証鍵、第一の署名値、第二の署名値および前記メッセージを復号する共通鍵復号部と、前記ワンタイム署名用の検証鍵を検証対象メッセージとし、前記第一の署名値を検証対象署名値とし、前記送信者の検証用公開鍵を用いて署名検証を行う第一の署名検証部と、前記受信者の暗号用公開鍵、前記受信部により受信した前記共通鍵暗号用鍵の暗号化データおよび前記共通鍵復号部により復号された前記メッセージを検証対象メッセージとし、前記第二の署名値を検証対象の署名値とし、前記ワンタイム署名の検証鍵を用いて署名検証を行う第二の署名検証部と、前記鍵カプセル復号部により前記共通鍵暗号用鍵が復号され、前記第一の署名検証部および前記第二の署名検証部の検証結果がそれぞれ検証成功を示す場合に、前記共通鍵復号部により復号された前記メッセージを出力する出力部と、を含む、ことを特徴とする。
本発明によれば、高い安全性を備えるだけでなく、署名付き暗号化処理の大部分について事前計算が可能となる。これにより、リアルタイム性が要求されるシステムや能力が十分でないプロセッサに対しても、安全性の高い署名付き暗号化方式を適用できる。
実施形態1に係る送信側装置および送信側鍵生成装置の構成例を説明するための図である。 実施形態1に係る受信側装置および受信側鍵生成装置の構成例を説明するための図である。 実施形態1および2に係る各装置(クライアント装置、ゲートウェイ装置、データ管理装置)のハードウェア構成図である。 実施形態1および2に係る送信側装置および受信側装置が行う署名付き暗号文の送受信処理の全体の流れを示すシーケンス図である。 実施形態1に係る受信側装置における検証付き復号処理の流れを示すフローチャートである。 実施形態2に係る送信側装置および送信側鍵生成装置の構成例を説明するための図である。 実施形態2に係る受信側装置および受信側鍵生成装置の構成例を説明するための図である。 実施形態2に係る受信側装置における検証付き復号処理の流れを示すフローチャートである。
以下、図面を用いて本発明の実施の形態について説明する。なお、これにより本発明が限定されるものではない。
図1は、本実施形態に係る送信側装置100および送信側鍵生成装置150の構成例を示す機能ブロック図である。
図1に示すように、送信側装置100は、ワンタイム署名鍵生成部101、一時記憶部102、記憶部103、署名生成部104、一時記憶部105、送信先指定部106、鍵カプセル生成部107、一時記憶部108、入力部109、ワンタイム署名生成部110、共通鍵暗号部111、送信部112、とを含んで構成される。また、送信側鍵生成装置150は、署名鍵生成部151を含んで構成される。
署名生成部104と署名鍵生成部151、および後述する署名検証部206は、同じ電子署名アルゴリズムに基づく機能部である。すなわち、署名生成部104が実装する電子署名生成アルゴリズムと、署名鍵生成部151が実装する署名鍵生成アルゴリズムと、署名検証部206が実装する署名検証アルゴリズムと、は同じ電子署名方式に属するアルゴリズムである。したがって、署名鍵生成部151が出力した署名用鍵ペア(skS、pkS)のうち、skSは署名生成部104で署名を生成する際に必要な署名用秘密鍵として利用可能であり、pkSは署名検証部206で当該署名を検証する際に必要な署名用検証鍵として利用可能である。
同様に、ワンタイム署名生成部110とワンタイム署名鍵生成部101、および後述するワンタイム署名検証部207は、同じワンタイム署名方式に基づく機能部である。すなわち、ワンタイム署名生成部110が実装するワンタイム署名生成アルゴリズムと、ワンタイム署名鍵生成部101が実装するワンタイム署名鍵生成アルゴリズムと、ワンタイム署名検証部207が実装するワンタイム署名検証アルゴリズムと、は同じワンタイム署名方式に属するアルゴリズムである。したがって、ワンタイム署名鍵生成部101が出力したワンタイム署名用鍵ペア(osk、ovk)のうち、oskはワンタイム署名生成部110で署名を生成する際に必要な署名用秘密鍵として利用可能であり、ovkはワンタイム署名検証部207で当該署名を検証する際に必要な検証鍵として利用可能である。
また、鍵カプセル生成部107と後述する暗号鍵生成部251、および後述する鍵カプセル復号部204は、同一のタグ付き鍵カプセル化(TBKEM)方式に基づく機能部である。すなわち、鍵カプセル生成部107が実装するタグ付き鍵カプセル生成アルゴリズムと、暗号鍵生成部251が実装する暗号鍵生成アルゴリズムと、鍵カプセル復号部204が実装する鍵カプセル復号アルゴリズムと、は同じTBKEM方式に属するアルゴリズムである。したがって、暗号鍵生成部251が出力した暗号用鍵ペア(skR、pkR)のうち、pkRは鍵カプセル生成部107で鍵Kとそのカプセル化C1を生成する際に必要な暗号用公開鍵として利用可能であり、skRは鍵カプセル復号部204でC1からKを得る際に必要な復号用秘密鍵として利用可能である。
また、鍵カプセル生成部107の生成する鍵Kは、共通鍵暗号部111が暗号化処理を行う際の暗号鍵として利用可能である。
ワンタイム署名鍵生成部101は、ワンタイム署名鍵生成アルゴリズムを実装した機能部であり、ワンタイム署名用鍵ペア(osk、ovk)を出力するものである。鍵ペア(osk、ovk)は一時記憶部102への入力として利用される。
一時記憶部102は、ワンタイム署名の鍵ペア(osk、ovk)を入力として、それらを一時的に、他の処理部によって消費されるまで記憶する。秘密鍵oskはワンタイム署名生成部110への入力として後に利用される。公開鍵ovkは署名生成部104および共通鍵暗号部111への入力としてに後に利用される。oskは送信者以外の者に知られることの無いよう、安全な記憶領域に格納されることが必要である。例えばHSM(Hardware Security Module)などといった製品を利用しても良い。一時記憶部102には複数の鍵ペアを格納することが可能である。格納されるoskとovkには、一時記憶部102内で当該鍵ペアを一意に特定可能とする文字列、例えばシーケンス番号のような識別子を対応付けて管理する。以降、簡単のために当該文字列をラベルと呼ぶ。
記憶部103は、送信側鍵生成装置150によって生成された送信者の署名用秘密鍵skSと検証用公開鍵pkSを記憶する。送信者の署名用秘密鍵skSは、送信者以外の者に知られることの無いよう、安全な記憶領域に格納されることが必要である。例えばHSM(Hardware Security Module)などといった製品を利用しても良い。一方、送信者の検証用公開鍵pkSは、公開リポジトリや任意の通信手段を用いて、受信者を始め署名の検証を行う者へ広く公開されることが必要である。
署名生成部104は、電子署名生成アルゴリズムを実装した機能部である。署名鍵として送信者の署名用秘密鍵skSを入力され、また署名対象メッセージとしてワンタイム署名の検証鍵ovkを入力され、処理の結果として署名値s1を出力する。署名値s1は一時記憶部105への入力として利用される。
一時記憶部105は、署名値s1を入力として、それを一時的に、他の処理部によって消費されるまで記憶する。記憶された署名値s1は共通鍵暗号部111への入力として後に利用される。一時記憶部105には複数の署名値を格納することが可能である。格納される署名値s1には、一時記憶部105内で当該署名値を一意に特定可能なラベルが付与される。
送信先指定部106は、送信者がメッセージの送信先、すなわち受信者を決定した後に、当該受信者の暗号用公開鍵pkRを入力され、一時的に記憶する機能部である。暗号用公開鍵pkRは、鍵カプセル生成部107と、ワンタイム署名生成部110と、への入力として利用される。
鍵カプセル生成部107は、タグ付き鍵カプセル化アルゴリズムを実装した機能部である。カプセル化のための鍵として受信者の暗号用公開鍵pkRを入力され、またタグ(補助入力)として送信者の検証用公開鍵pkSを入力され、処理の結果として共通鍵暗号用の鍵Kと当該鍵をカプセル化(暗号化)した鍵カプセルC1を出力する。鍵Kと、鍵カプセルC1は一時記憶部108への入力として利用される。
一時記憶部108は、共通鍵暗号用の鍵Kと当該鍵をカプセル化(暗号化)した鍵カプセルC1を入力として、それらを一時的に、他の処理部によって消費されるまで記憶する。鍵カプセルC1はワンタイム署名生成部110および送信部112への入力として後に利用される。鍵Kは共通鍵暗号部111への入力として後に利用される。鍵Kは送信者以外の者に知られることの無いよう、安全な記憶領域に格納されることが必要である。例えばHSM(Hardware Security Module)などといった製品を利用しても良い。一時記憶部108には複数の鍵および鍵カプセルを格納することが可能である。格納される鍵と鍵カプセルのペア(K、 C1)には、一時記憶部108内で当該ペアを一意に特定可能なラベルが付与される。
入力部109は、送信者が送信対象メッセージを決定した後に、当該メッセージmを入力される機能部である。メッセージmは、ワンタイム署名生成部110と、共通鍵暗号部111への入力として利用される。
ワンタイム署名生成部110は、署名鍵としてワンタイム署名の署名用秘密鍵oskを入力され、また署名対象メッセージとして受信者の暗号用公開鍵pkRと、鍵カプセルC1と、メッセージmと、を入力され、処理の結果として署名値s2を出力する。署名値s2は共通鍵暗号部111の入力として利用される。
共通鍵暗号部111は、暗号鍵として鍵Kを入力され、また暗号化対象メッセージとしてワンタイム署名の検証鍵ovkと、署名値s1と、署名値s2と、メッセージmと、を入力され、処理の結果として暗号文C2を出力する。暗号文C2は送信部112の入力として利用される。
送信部112は、鍵カプセルC1と、暗号文C2と、が入力された後、これらを受信側装置200へ送信する。通信にはTCP/IPやHTTP等の汎用的なプロトコルを利用可能である。
図2は、本実施形態に係る受信側装置200および受信側鍵生成装置250の構成例を示す機能ブロック図である。
図2に示すように、送信側装置200は、送信元指定部201、受信部202、記憶部203、鍵カプセル復号部204、共通鍵復号部205、署名検証部206、ワンタイム署名検証部207、判定部208、出力部209とを含んで構成される。また、受信側鍵生成装置250は、暗号鍵生成部251を含んで構成される。
前述した通り、署名検証部206と先述の署名生成部104および署名鍵生成部151は、同じ電子署名アルゴリズムに基づく機能部である。また、ワンタイム署名検証部207と先述のワンタイム署名生成部110およびワンタイム署名鍵生成部101は、同じワンタイム署名方式に基づく機能部である。また、暗号鍵生成部251および鍵カプセル復号部204と、先述の鍵カプセル生成部107は、同一のタグ付き鍵カプセル化(TBKEM)方式に基づく機能部である。
送信元指定部201は、受信者がメッセージの送信元、すなわち送信者(の候補)を把握した後に、当該送信者の検証用公開鍵pkSを入力され、一時的に記憶する機能部である。検証用公開鍵pkSは、鍵カプセル復号部204と、署名検証部206と、への入力として利用される。
受信部202は、鍵カプセルC1と、暗号文C2と、を送信側装置100から受信した後、これらを必要に応じて各機能部へ転送する。受信にはTCP/IPやHTTP等の汎用的なプロトコルを利用可能である。
記憶部203は、受信側鍵生成装置250によって生成された受信者の復号用秘密鍵skRと暗号用公開鍵pkRを記憶する。受信者の復号用秘密鍵skRは、受信者以外の者に知られることの無いよう、安全な記憶領域に格納されることが必要である。例えばHSM(Hardware Security Module)などといった製品を利用しても良い。一方、受信者の暗号用公開鍵pkRは、公開リポジトリや任意の通信手段を用いて、送信者を始め当該受信者へのメッセージ送信を行う者へ広く公開されることが必要である。
鍵カプセル復号部204は、タグ付き鍵カプセル復号アルゴリズムを実装した機能部である。カプセル復号のための鍵として受信者の暗号用秘密鍵skRを入力され、またタグ(補助入力)として送信者の検証用公開鍵pkSを入力され、また復号対象の鍵カプセルC1を入力され、処理の結果として共通鍵暗号用の鍵KまたはエラーコードERRを出力する。鍵KまたはエラーコードERRは共通鍵復号部205および判定部208への入力として利用される。
共通鍵復号部205は、鍵Kと暗号文C2を入力され、処理の結果として検証鍵ovkと、署名値s1と、署名値s2と、メッセージmと、を出力する。検証鍵ovkは署名検証部206およびワンタイム署名検証部207への入力として利用される。署名値s1は署名検証部206への入力として利用される。メッセージmおよび署名値s2はワンタイム署名検証部207への入力として利用される。
署名検証部206は、電子署名検証アルゴリズムを実装した機能部である。検証鍵として送信者の検証用公開鍵pkSを入力され、検証対象メッセージとしてワンタイム署名の検証鍵ovkを入力され、署名値としてs1を入力され、処理の結果として検証結果v1(検証成功または検証失敗の二値)を出力する。検証結果v1は判定部208への入力として利用される。
ワンタイム署名検証部207は、検証鍵としてワンタイム署名の検証鍵ovkを入力され、また検証対象メッセージとして受信者の暗号用公開鍵pkRと、鍵カプセルC1と、メッセージmと、を入力され、処理の結果として検証結果v2(検証成功または検証失敗の二値)を出力する。検証結果v2は判定部208の入力として利用される。
判定部208は、鍵カプセル復号部204の処理結果がエラーコードERRであるか、または署名検証部206の処理結果v1が検証失敗であるか、またはワンタイム署名検証部207の処理結果v2が検証失敗であるか、いずれかの場合には、出力部210を介してエラーコードERRを受信者へ提示することで、受信した暗号文(C1、C2)に問題があったことを示す。そうでない場合、共通鍵復号部205によって復号されたメッセージmを、出力部209を介して受信者へ提示する。この場合、受信者が受け取ったメッセージmは確かに送信元指定部201によって指定された送信者から送られたものであることが保証される。
出力部210は、判定部208の判定結果に基づいて受信側装置200の利用者(受信者)へメッセージmまたはエラーコードERRを提示する。
図3は、本実施形態に係る各装置(送信側装置100、送信側鍵生成装置150、受信側装置200、受信側鍵生成装置250)のハードウェア構成図である。
図3に示すように、本実施形態に係る各装置は、一般的なコンピュータ300により実現される。
コンピュータ300は、CPU301と、メモリ302と、ハードディスク等の外部記憶装置303と、通信ネットワークに接続するためのNIC(Network InterfaceCard)等の送受信装置304と、モニタ等の出力装置305と、キーボードやマウス等の入力装置306と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体308から情報を読み取る読取装置307とを含んで構成される。
そして、各装置の記憶部内の記憶領域は、CPU301がメモリ302または外部記憶装置303を利用することにより実現可能となる。また、各制御部は、外部記憶装置303に記憶されている所定のプログラムをメモリ302にロードすることによりCPU301で実現可能となる。この所定のプログラムは、読取装置307を介して記憶媒体308から取得してもよいし、送受信装置304を介してネットワークから外部記憶装置303にダウンロードされ、メモリ302にロードされてCPU301により実行されるようにしてもよい。また、読取装置307を介して記憶媒体308から、あるいは、送受信装置304を介してネットワークから、メモリ302に直接ロードされ、CPU301により実行されるようにしてもよい。
次に、図4を参照して、本実施形態に係る各装置(送信側装置100、送信側鍵生成装置150、受信側装置200、受信側鍵生成装置250)による署名付き暗号文の送受信処理について説明する。
まず、送信側装置100は、以降の署名付き暗号化処理で使用するためのワンタイム署名鍵を生成する(ステップ401)。具体的には、送信側装置100のワンタイム署名鍵生成部101が、ワンタイム署名鍵生成アルゴリズムに基づいてワンタイム署名用の鍵ペア(osk、 ovk)を生成し、一時記憶部102に保存する。この際、oskおよびovkには当該鍵ペアを一時記憶部102内で一意に特定可能とするラベルが付与される。当該ワンタイム署名鍵生成処理には、送信者の鍵ペア(skS、 pkS)、受信者の公開鍵pkR、メッセージmのいずれも必要とされないため、他の処理とは独立に計算することが可能である。この点を活用し、送信側装置100の起動時や起動中のアイドル時間に当該ワンタイム署名鍵生成処理を複数回計算し、結果(ワンタイム署名用鍵ペア)を一時記憶部102へ保存しておくことで、ステップ402以降にかかる処理時間を短縮することが可能である。
次に、送信側鍵生成装置150が、署名鍵生成部151を用いて送信者の署名用鍵ペア(skS、 pkS)を生成する(ステップ402)。生成された鍵ペア(skS、 pkS)は記憶部103に保存される。
次に、送信側装置100が、ワンタイム署名の検証鍵ovkに署名値s1を付与する(ステップ403)。具体的には、送信側装置100の署名生成部104が、記憶部103に格納された送信者の秘密鍵skSを署名鍵として入力されるとともに、一時記憶部102に保存されたワンタイム署名用の検証鍵ovkを署名対象メッセージとして入力されることで、署名生成アルゴリズムに基づいて署名値s1を出力する。出力された署名値s1は、入力された検証鍵ovkのラベルと同じ識別子を付与した状態で、一時記憶部105に格納される。当該署名生成処理には、受信者の公開鍵pkR、メッセージmのいずれも必要とされないため、ステップ404以降の処理とは独立に事前計算することが可能である。この点を活用し、送信側鍵生成装置150によって署名用鍵ペア(skS、 pkS)が生成された後、装置起動中のアイドル時間に、一時記憶部101に格納されたワンタイム署名用の鍵ペア群に署名付与を実施し、結果(ワンタイム署名用鍵ペアに付与した署名値)を一時記憶部105へ保存しておくことで、ステップ404以降にかかる処理時間を短縮することが可能である。
次に、送信側装置100は、送信者からの入力に従い、メッセージの送信先を決定する(ステップ404)。具体的には、送信者は、受信者の公開鍵pkRを公開リポジトリや任意の通信手段を用いて取得し、送信側装置100の送信先指定部106へ入力する。
次に、送信側装置100が、鍵カプセルを生成する(ステップ405)。具体的には、送信側装置100の鍵カプセル生成部107が、送信先指定部106の取得した送信先(受信者)の公開鍵pkRを暗号鍵として入力されるとともに、記憶部103に格納された送信者の公開鍵pkSをタグとして入力されることで、タグ付き鍵カプセル生成アルゴリズムに基づいて、共通鍵暗号用の鍵Kと、当該鍵をカプセル化した鍵カプセルC1と、を出力する。出力された(K、 C1)は一時記憶部108へ保存される。この際、KおよびC1には当該ペアを一意に特定可能なラベルを付与して格納する。
次に、送信側装置100は、送信者からの入力に従い、送信すべきメッセージを決定する(ステップ406)。具体的には、送信者は、送信側装置100の入力部109に対して送信すべきメッセージmを入力する。
次に、送信側装置100は、ワンタイム署名を生成する(ステップ407)。具体的には、送信側装置100のワンタイム署名生成部110が、一時記憶部102に保存されたワンタイム署名用の秘密鍵oskを署名鍵として入力されるとともに、送信先指定部106によって取得された受信者の公開鍵pkRと、一時記憶部108に保存された鍵カプセルC1と、入力部107によって取得されたメッセージmと、を送信対象の文書として入力されることで、ワンタイム署名生成アルゴリズムを実行し、署名値s2を出力する。
次に、送信側装置100は、暗号文を生成する(ステップ408)。具体的には、送信側装置100の共通鍵暗号部111が、一時記憶部108に格納された鍵のうち、ステップ407で利用した鍵カプセルC1と同じラベルを持つ鍵Kを選択し、暗号鍵として利用する。また、一時記憶部102に保存された検証鍵のうち、ステップ407で利用した秘密鍵oskと同じラベルを持つ検証鍵ovkと、一時記憶部105に保存された署名値s1と、ワンタイム署名生成部110が生成した署名値s2と、入力部109が取得したメッセージmと、を暗号化対象メッセージとして入力されることで、共通鍵暗号アルゴリズムを実行し、暗号文C2を出力する。
最後に、送信側装置100の送信部112が、ステップ407で利用した鍵カプセルC1と、共通鍵暗号部111が出力した暗号文C2と、から構成される署名付き暗号文(C1、C2)を、ネットワークを介して受信側装置200へ送信する(ステップ409)。メッセージ送信後には、ステップ401からステップ409の間に利用された鍵ペア(osk、ovk)、 署名値s1、 鍵と鍵カプセル(K、 C1)は、それぞれ一時記憶部102、 105、108から消去される。
以上が送信側装置100によって実行される署名付き暗号化処理の具体的な流れである。
次に受信側装置200によって実行される検証付き復号処理の具体的な流れについて説明する。受信側装置200は、送信側装置100によって送信された署名付き暗号文(C1、 C2)を受信すると、まず、当該署名付き暗号文の送信者(送信側装置100の利用者)を特定し、当該送信者の公開鍵pkSを受信側装置200の送信元指定部201へ入力する(ステップ410)。当該公開鍵pkSは署名付き暗号文とともに送信者から送信されることもあれば、公開リポジトリなどから取得されることも可能である。
次に、受信側装置200は、特定した送信者公開鍵pkSを元に、受信した署名付き暗号文(C1、 C2)の検証付き復号処理を実行する(ステップ411)。
ここで図5を用いて、当該検証付き復号処理の具体的な流れについて説明する。
まず、受信側装置200の鍵カプセル復号部204が、記憶部203に格納された受信者の秘密鍵skRを復号鍵として入力されるとともに、送信元指定部201が取得したpkSをタグとして入力され、また受信部202が受信したC1を復号対象の鍵カプセルとして入力される。鍵カプセル復号部204は鍵カプセル復号アルゴリズムを実行し、復号に成功した場合は鍵Kを出力し、失敗した場合は復号エラーを示すコードERRを出力する(ステップ501)。
次に、受信側装置200の共通鍵復号部205が、鍵カプセル復号部204が出力した鍵Kを復号用の鍵として入力されるとともに、受信部202が受信した暗号文C2を復号対象の暗号文として入力される。共通鍵復号部205は共通鍵復号アルゴリズムを実行し、復号に成功した場合は復号結果である(ovk、 s1、 s2、 m)を出力し、失敗した場合はエラーを示すコードERRを出力する(ステップ502)。
次に、受信側装置200の署名検証部206は、送信元指定部201に格納された送信者の公開鍵pkSを検証鍵として入力されるとともに、共通鍵復号部205によって出力されたovkを検証対象メッセージとして入力され、また共通鍵復号部205によって出力された署名値s1を検証対象の署名値として入力される。署名検証部206は署名検証アルゴリズムを実行し、検証に成功した場合は1を、失敗した場合は0を出力する(ステップ503)。
次に、受信側装置200のワンタイム署名検証部207が、受信部202が受信したovkを検証鍵として入力されるとともに、記憶部203に格納された受信者の公開鍵pkRと、受信部202によって受信された鍵カプセルC1と、共通鍵復号部205の出力したメッセージmと、を検証対象の文書として入力され、また共通鍵復号部205の出力した署名値s2を検証対象の署名値として入力される。ワンタイム署名検証部207は、ワンタイム署名の検証アルゴリズムを実行し、検証に成功した場合は1を、失敗した場合は0を出力する(ステップ504)。
次に、受信側装置200の判定部208が、鍵カプセル復号部204の出力と、署名検証部206の出力と、ワンタイム署名検証部207の出力と、に基づいて処理の継続可否を判定する(ステップ505)。具体的には、鍵カプセル復号部204が鍵Kの出力に成功し、かつ署名検証部206による検証結果が1(受理)で、かつワンタイム署名検証部207による検証結果が1(受理)であった場合のみ、メッセージmを出力部210を介して受信者へ出力し(ステップ506)、そうでない場合には検証エラーを示すコードERRを出力部210を介して受信者へ出力する(ステップ507)。
以上が受信側装置200によって実行される検証付き復号処理の具体的な流れである。
以上説明したように、本実施形態に係る送信側装置100によれば、ワンタイム署名鍵生成処理を他の処理とは独立にいつでも事前計算することが可能となる。また、送信者の署名用鍵ペア(skS、 pkS)が決定した後であれば、メッセージの送信先(受信者)や送信すべきメッセージの内容が決まる前の段階であっても、署名生成処理を事前計算することが可能となる。また、送信先受信者の公開鍵pkRが決定した後であれば、送信すべきメッセージの内容が決まる前の段階でも、鍵カプセル生成処理を事前計算することが可能となる。計算コストの高い署名生成処理や鍵カプセル生成処理を事前計算しておくことで、送信すべきメッセージmが決定された後の処理を共通鍵暗号およびワンタイム署名といった計算コストの低い処理のみで実現できるため、メッセージ決定から送信までに要する時間を短縮することが可能となる。
図6は、本実施形態に係る送信側装置600および送信側鍵生成装置650の構成例を示す機能ブロック図である。
図6に示すように、送信側装置600は、ワンタイム署名鍵生成部601、一時記憶部602、記憶部603、署名生成部604、一時記憶部605、送信先指定部606、鍵カプセル生成部607、一時記憶部608、入力部609、ワンタイム署名生成部610、共通鍵暗号部611、送信部612、とを含んで構成される。また、送信側鍵生成装置650は、署名鍵生成部651を含んで構成される。
署名生成部604と署名鍵生成部651、および後述する署名検証部705は、同じ電子署名アルゴリズムに基づく機能部である。すなわち、署名生成部604が実装する電子署名生成アルゴリズムと、署名鍵生成部651が実装する署名鍵生成アルゴリズムと、署名検証部705が実装する署名検証アルゴリズムと、は同じ電子署名方式に属するアルゴリズムである。したがって、署名鍵生成部651が出力した署名用鍵ペア(skS、pkS)のうち、skSは署名生成部604で署名を生成する際に必要な署名用秘密鍵として利用可能であり、pkSは署名検証部705で当該署名を検証する際に必要な署名用検証鍵として利用可能である。
同様に、ワンタイム署名生成部610とワンタイム署名鍵生成部601、および後述するワンタイム署名検証部708は、同じワンタイム署名方式に基づく機能部である。すなわち、ワンタイム署名生成部610が実装するワンタイム署名生成アルゴリズムと、ワンタイム署名鍵生成部601が実装するワンタイム署名鍵生成アルゴリズムと、ワンタイム署名検証部708が実装するワンタイム署名検証アルゴリズムと、は同じワンタイム署名方式に属するアルゴリズムである。したがって、ワンタイム署名鍵生成部601が出力したワンタイム署名用鍵ペア(osk、ovk)のうち、oskはワンタイム署名生成部610で署名を生成する際に必要な署名用秘密鍵として利用可能であり、ovkはワンタイム署名検証部708で当該署名を検証する際に必要な検証鍵として利用可能である。
また、鍵カプセル生成部607と後述する暗号鍵生成部751、および後述する鍵カプセル復号部704は、同一のタグ付き鍵カプセル化(TBKEM)方式に基づく機能部である。すなわち、鍵カプセル生成部607が実装するタグ付き鍵カプセル生成アルゴリズムと、暗号鍵生成部751が実装する暗号鍵生成アルゴリズムと、鍵カプセル復号部704が実装する鍵カプセル復号アルゴリズムと、は同じTBKEM方式に属するアルゴリズムである。したがって、暗号鍵生成部751が出力した暗号用鍵ペア(skR、pkR)のうち、pkRは鍵カプセル生成部607で鍵Kとそのカプセル化C1を生成する際に必要な暗号用公開鍵として利用可能であり、skRは鍵カプセル復号部704でC1からKを得る際に必要な復号用秘密鍵として利用可能である。
また、鍵カプセル生成部607の生成する鍵Kは、共通鍵暗号部611が暗号化処理を行う際の暗号鍵として利用可能である。
以下、ワンタイム署名鍵生成部601、記憶部603、署名生成部604、送信先指定部606、一時記憶部608、入力部609、送信側鍵生成装置650、署名鍵生成部651、については、それぞれ実施形態1のワンタイム署名鍵生成部101、記憶部103、署名生成部104、送信先指定部106、一時記憶部108、入力部109、送信側鍵生成装置150、署名鍵生成部151、と同様の構成となるため、詳細な説明は省略する。
一時記憶部602は、ワンタイム署名の鍵ペア(osk、ovk)を入力として、それらを一時的に、他の処理部によって消費されるまで記憶する。秘密鍵oskはワンタイム署名生成部610への入力として後に利用される。検証鍵ovkは署名生成部604と、鍵カプセル生成部607と、送信部612と、への入力としてに後に利用される。oskは送信者以外の者に知られることの無いよう、安全な記憶領域に格納されることが必要である。例えばHSM(Hardware Security Module)などといった製品を利用しても良い。一時記憶部602には複数の鍵ペアを格納することが可能である。格納されるoskとovkには、一時記憶部602内で当該鍵ペアを一意に特定可能とする文字列、例えばシーケンス番号のような識別子を対応付けて管理する。以降、簡単のために当該文字列を単にラベルと呼ぶ。
一時記憶部605は、署名値s1を入力として、それを一時的に、他の処理部によって消費されるまで記憶する。記憶された署名値s1は鍵カプセル生成部607と、ワンタイム署名生成部610と、送信部612と、への入力として後に利用される。一時記憶部605には複数の署名値を格納することが可能である。格納される署名値s1には、一時記憶部605内で当該署名値を一意に特定可能なラベルが付与される。
鍵カプセル生成部607は、タグ付き鍵カプセル化アルゴリズムを実装した機能部である。カプセル化のための鍵として受信者の暗号用公開鍵pkRを入力され、またタグ(補助入力)として、ワンタイム署名の検証鍵ovkと、署名値s1と、送信者の検証用公開鍵pkSと、を結合したものを入力され、処理の結果として共通鍵暗号用の鍵Kと当該鍵をカプセル化(暗号化)した鍵カプセルC1を出力する。鍵Kと鍵カプセルC1は一時記憶部608への入力として利用される。
ワンタイム署名生成部610は、署名鍵としてワンタイム署名の署名用秘密鍵oskを入力され、また署名対象メッセージとして、署名値s1と、受信者の暗号用公開鍵pkRと、鍵カプセルC1と、メッセージmと、を入力され、処理の結果として署名値s2を出力する。署名値s2は共通鍵暗号部611の入力として利用される。
共通鍵暗号部611は、暗号鍵として鍵Kを入力され、また暗号化対象メッセージとして署名値s2およびメッセージmを入力され、処理の結果として暗号文C2を出力する。暗号文C2は送信部612の入力として利用される。
送信部612は、ワンタイム署名の検証鍵ovkと、署名値s1と、鍵カプセルC1と、暗号文C2と、が入力された後、これらを受信側装置700へ送信する。通信にはTCP/IPやHTTP等の汎用的なプロトコルを利用可能である。
図7は、本実施形態に係る受信側装置700および受信側鍵生成装置750の構成例を示す機能ブロック図である。
図7に示すように、送信側装置700は、送信元指定部701、受信部702、記憶部703、鍵カプセル復号部704、署名検証部705、第一判定部706、共通鍵復号部707、ワンタイム署名検証部708、第二判定部709、出力部710とを含んで構成される。また、受信側鍵生成装置750は、暗号鍵生成部751を含んで構成される。
前述した通り、署名検証部705と先述の署名生成部604および署名鍵生成部651は、同じ電子署名アルゴリズムに基づく機能部である。また、ワンタイム署名検証部708と先述のワンタイム署名生成部610およびワンタイム署名鍵生成部601は、同じワンタイム署名方式に基づく機能部である。また、暗号鍵生成部751および鍵カプセル復号部704と、先述の鍵カプセル生成部607は、同一のタグ付き鍵カプセル化(TBKEM)方式に基づく機能部である。
以下、送信元指定部701、記憶部703、受信側鍵生成装置750、暗号鍵生成部751、については、それぞれ実施形態1の送信元指定部201、記憶部203、受信側鍵生成装置250、暗号鍵生成部251、と同様の構成となるため、詳細な説明は省略する。
受信部702は、ワンタイム署名の検証鍵ovkと、署名値s1と、鍵カプセルC1と、暗号文C2と、を送信側装置600から受信した後、これらを必要に応じて各機能部へ転送する。受信にはTCP/IPやHTTP等の汎用的なプロトコルを利用可能である。
鍵カプセル復号部704は、タグ付き鍵カプセル復号アルゴリズムを実装した機能部である。カプセル復号のための鍵として受信者の暗号用秘密鍵skRを入力され、またタグ(補助入力)としてワンタイム署名の検証鍵ovkと、署名値s1と、送信者の検証用公開鍵pkSと、を結合したものを入力され、また復号対象の鍵カプセルC1を入力され、処理の結果として共通鍵暗号用の鍵KまたはエラーコードERRを出力する。鍵KまたはエラーコードERRは第一判定部706への入力として利用される。
署名検証部705は、電子署名検証アルゴリズムを実装した機能部である。検証鍵として送信者の検証用公開鍵pkSを入力され、検証対象メッセージとしてワンタイム署名の検証鍵ovkを入力され、署名値としてs1を入力され、処理の結果として検証結果v1(検証成功または検証失敗の二値)を出力する。検証結果v1は第一判定部706への入力として利用される。
第一判定部706は、鍵カプセル復号部704の処理結果がエラーコードERRであるか、または署名検証部705の処理結果v1が検証失敗である場合には、出力部710を介してエラーコードERRを受信者へ提示することで、受信した暗号文(ovk、 s1、C1、 C2)に問題があったことを示す。そうでない場合、鍵カプセル復号部704の処理結果である鍵Kを共通鍵復号部707へ転送する。
共通鍵復号部707は、鍵Kと暗号文C2を入力され、処理の結果として署名値s2およびメッセージmを出力する。署名値s2およびメッセージmはワンタイム署名検証部207への入力として利用される。またメッセージmは第二判定部709への入力としても利用される。
ワンタイム署名検証部708は、検証鍵としてワンタイム署名の署名用検証鍵ovkを入力され、また検証対象メッセージとして署名値s1と、受信者の暗号用公開鍵pkRと、鍵カプセルC1と、メッセージmと、を入力され、処理の結果として検証結果v2(検証成功または検証失敗の二値)を出力する。検証結果v2は第二判定部709の入力として利用される。
第二判定部709は、ワンタイム署名検証部708の処理結果v2が検証失敗である場合には、出力部710を介してエラーコードERRを受信者へ提示することで、受信した暗号文(ovk、 s1、 C1、 C2)に問題があったことを示す。そうでない場合、共通鍵復号部707によって復号されたメッセージmを、出力部710を介して受信者へ提示する。この場合、受信者が受け取ったメッセージmは確かに送信元指定部701によって指定された送信者から送られたものであることが保証される。
出力部710は、第一判定部706および第二判定部709の判定結果に基づいて受信側装置700の利用者(受信者)へメッセージmまたはエラーコードERRを提示する。
本実施形態に係る各装置(送信側装置600、送信側鍵生成装置650、受信側装置700、受信側鍵生成装置750)は、実施形態1と同様に、図3に示すような一般的なコンピュータ300によって実現される。
次に、本実施形態における署名付き暗号文の送受信処理について、実施形態1と同様に図4を参照しながら説明する。
ステップ401からステップ404については実施形態1と同様であるため詳細な説明は省略する。
ステップ405では、送信側装置600が鍵カプセルを生成する。具体的には、送信側装置600の鍵カプセル生成部607が、送信先指定部606の取得した送信先(受信者)の公開鍵pkRを暗号鍵として入力されるとともに、一時記憶部602に保存されたワンタイム署名の検証鍵ovkと、一時記憶部605に保存された署名値のうちovkと同じラベルをもつ署名値s1と、記憶部603に格納された送信者の公開鍵pkSと、を結合したものをタグとして入力されることで、タグ付き鍵カプセル生成アルゴリズムに基づいて、共通鍵暗号用の鍵Kと、当該鍵をカプセル化した鍵カプセルC1と、を出力する。出力された(K、 C1)は一時記憶部608へ保存される。この際、KおよびC1には検証鍵ovkと同じラベルを付与して格納する。
ステップ406については実施形態1と同様であるため詳細な説明は省略する。
ステップ407では、送信側装置600がワンタイム署名を生成する。具体的には、送信側装置600のワンタイム署名生成部610が、一時記憶部602に保存されたワンタイム署名用の秘密鍵oskを署名鍵として入力されるとともに、一時記憶部605によって保存された署名値のうちoskと同じラベルをもつ署名値s1と、送信先指定部606によって取得された受信者の公開鍵pkRと、一時記憶部608に保存された鍵カプセルのうちoskと同じラベルをもつ鍵カプセルC1と、入力部607によって取得されたメッセージmと、を送信対象の文書として入力されることで、ワンタイム署名生成アルゴリズムを実行し、署名値s2を出力する。
次に、送信側装置600は、暗号文を生成する(ステップ408)。具体的には、送信側装置600の共通鍵暗号部611が、一時記憶部608に格納された鍵のうち、ステップ407で利用した鍵カプセルC1と同じラベルを持つ鍵Kを選択し、暗号鍵として利用する。また、ワンタイム署名生成部610が生成した署名値s2および入力部609が取得したメッセージmを暗号化対象メッセージとして入力されることで、共通鍵暗号アルゴリズムを実行し、暗号文C2を出力する。
最後に、送信側装置600の送信部612が、共通鍵暗号部611が出力した暗号文C2と、ステップ407で利用した鍵カプセルC1と、一次記憶部602に保存された検証鍵のうちC1と同じラベルをもつ検証鍵ovkと、一時記憶部605に保存された署名値のうちC1と同じラベルをもつ署名値s1と、から構成される署名付き暗号文(ovk、s1、 C1、 C2)を、ネットワークを介して受信側装置700へ送信する(ステップ409)。メッセージ送信後には、ステップ401からステップ409の間に利用された鍵ペア(osk、 ovk)、 署名値s1、 鍵と鍵カプセル(K、 C1)はそれぞれ一時記憶部602、 605、 608から消去される。
以上が送信側装置600によって実行される署名付き暗号化処理の具体的な流れである。
次に受信側装置700によって実行される検証付き復号処理の具体的な流れについて説明する。受信側装置700は、送信側装置600によって送信された署名付き暗号文(ovk、 s1、 C1、 C2)を受信すると、まず、当該署名付き暗号文の送信者(送信側装置600の利用者)を特定し、当該送信者の公開鍵pkSを受信側装置700の送信元指定部701へ入力する(ステップ410)。当該公開鍵pkSは署名付き暗号文とともに送信者から送信されることもあれば、公開リポジトリなどから取得されることも可能である。
次に、受信側装置700は、特定した送信者公開鍵pkSを元に、受信した署名付き暗号文(ovk、 s1、 C1、 C2)の検証付き復号処理を実行する(ステップ411)。
ここで図8を用いて、当該検証付き復号処理の具体的な流れについて説明する。
まず、受信側装置700の鍵カプセル復号部704が、記憶部703に格納された受信者の秘密鍵skRを復号鍵として入力されるとともに、受信部702が受信した検証鍵ovkおよび署名値s1と、送信元指定部701が取得したpkSと、を結合したものをタグとして入力され、また受信部702が受信したC1を復号対象の鍵カプセルとして入力される。鍵カプセル復号部704は鍵カプセル復号アルゴリズムを実行し、復号に成功した場合は鍵Kを出力し、失敗した場合は復号エラーを示すコードERRを出力する(ステップ801)。
一方、受信側装置700の署名検証部705は、送信元指定部701に格納された送信者の公開鍵pkSを検証鍵として入力されるとともに、受信部702によって受信されたovkを検証対象メッセージとして入力され、また同じく受信部702によって受信された署名値s1を検証対象の署名値として入力される。署名検証部705は署名検証アルゴリズムを実行し、検証に成功した場合は1を、失敗した場合は0を出力する(ステップ802)。
上記ステップ801および802に記載される二つの処理は、互いの処理結果を待つ必要がないため、並列に実行することが可能である。
次に、受信側装置700の第一判定部706が、鍵カプセル復号部704の出力と署名検証部705の出力に基づいて処理の継続可否を判定する(ステップ803)。具体的には、鍵カプセル復号部704が鍵Kの出力に成功し、かつ署名検証部705による検証結果が1(受理)であった場合のみ、鍵Kを共通鍵復号部707へ転送し、そうでない場合には検証エラーを示すコードERRを出力部710を介して受信者へ出力し、検証付き復号処理を終了する(ステップ808)。
第一判定部706の判定が成功した場合、受信側装置700の共通鍵復号部707が、第一判定部706が出力した鍵Kを復号用の鍵として入力されるとともに、受信部702が受信した暗号文C2を復号対象の暗号文として入力される。共通鍵復号部707は共通鍵復号アルゴリズムを実行し、復号に成功した場合は署名値s2とメッセージmを出力し、失敗した場合はエラーを示すコードERRを出力する(ステップ804)。
次に、受信側装置700のワンタイム署名検証部708が、受信部702が受信したovkを検証鍵として入力されるとともに、受信部702によって受信された署名値s1と、記憶部703に格納された受信者の公開鍵pkRと、受信部702によって受信された鍵カプセルC1と、共通鍵復号部707の出力したメッセージmと、を検証対象の文書として入力され、また共通鍵復号部707の出力した署名値s2を検証対象の署名値として入力される。ワンタイム署名検証部708は、ワンタイム署名の検証アルゴリズムを実行し、検証に成功した場合は1を、失敗した場合は0を出力する(ステップ805)。
次に、受信側装置700の第二判定部709が、受信部702、共通鍵復号部707、ワンタイム署名検証部708、の出力に基づいて処理の継続可否を判定する(ステップ806)。具体的には、ワンタイム署名検証部708による検証結果が1(受理)であった場合のみ、メッセージmを出力部710を介して受信者へ出力し(ステップ807)、そうでない場合には検証エラーを示すコードERRを出力部710を介して受信者へ出力する(ステップ808)。
以上が受信側装置700によって実行される検証付き復号処理の具体的な流れである。
以上説明したように、本実施形態に係る送信側装置600によれば、ワンタイム署名鍵生成処理を他の処理とは独立にいつでも事前計算することが可能となる。また、送信者の署名用鍵ペア(skS、 pkS)が決定した後であれば、メッセージの送信先(受信者)や送信すべきメッセージの内容が決まる前の段階であっても、署名生成処理を事前計算することが可能となる。また、送信先受信者の公開鍵pkRが決定した後であれば、送信すべきメッセージの内容が決まる前の段階でも、鍵カプセル生成処理を事前計算することが可能となる。計算コストの高い署名生成処理や鍵カプセル生成処理を事前計算しておくことで、送信すべきメッセージmが決定された後の処理を共通鍵暗号およびワンタイム署名といった計算コストの低い処理のみで実現できるため、送信者がメッセージを決定してから暗号文が送信されるまでに要する時間を短縮することが可能となる。
また、本実施形態に係る受信側装置700によれば、鍵カプセル復号処理と電子署名検証処理の二つの処理を並列に実行することが可能となる。これにより、マルチプロセッサなどを備えた並列計算可能なハードウェアで受信側装置700が構成される場合、非特許文献1に記載の方式に比べて処理時間の短縮が可能となる。結果として、受信者装置に暗号文が到着してから受信者がメッセージの内容を確認するまでの時間が、従来の方式、例えば非特許文献1に記載の方式に比べて短縮される。
100…送信側装置
101…ワンタイム署名鍵生成部
102…一時記憶部
103…記憶部
104…署名生成部
105…一時記憶部
106…送信先指定部
107…鍵カプセル生成部
108…一時記憶部
109…入力部
110…ワンタイム署名生成部
111…共通鍵暗号部
112…送信部
150…送信側鍵生成装置
151…署名鍵生成部
200…受信側装置
201…送信元指定部
202…受信部
203…記憶部
204…鍵カプセル復号部
205…共通鍵復号部
206…署名検証部
207…ワンタイム署名検証部
208…判定部
209…出力部
250…受信側鍵生成装置
251…暗号鍵生成部
600…送信側装置
601…ワンタイム署名鍵生成部
602…一時記憶部
603…記憶部
604…署名生成部
605…一時記憶部
606…送信先指定部
607…鍵カプセル生成部
608…一時記憶部
609…入力部
610…ワンタイム署名生成部
611…共通鍵暗号部
612…送信部
650…送信側鍵生成装置
651…署名鍵生成部
700…受信側装置
701…送信元指定部
702…受信部
703…記憶部
704…鍵カプセル復号部
705…署名検証部
706…第一判定部
707…共通鍵復号部
708…ワンタイム署名検証部
709…第二判定部
710…出力部
750…受信側鍵生成装置
751…暗号鍵生成部

Claims (9)

  1. メッセージから署名付き暗号文を生成して受信側装置へ送信する送信側装置であって、
    送信者の、署名用秘密鍵および検証用公開鍵を記憶する記憶装置と、制御装置を具備し、
    前記制御装置は、
    ワンタイム署名用の鍵ペアを生成し、前記記憶装置に記憶するワンタイム署名鍵生成部と、
    前記送信者の署名用秘密鍵を用いて、前記ワンタイム署名用の第一の鍵に対する第一の署名値を生成し、前記記憶装置に一時記憶する署名生成部と、
    入力された前記メッセージの受信者の公開鍵および前記送信者の検証用公開鍵から共通鍵暗号用の鍵と該鍵の暗号化データを生成し、前記記憶装置に記憶する鍵カプセル生成部と、
    前記ワンタイム署名用の第二の鍵、前記メッセージの受信者の公開鍵、前記共通鍵暗号用鍵の暗号化データ、および入力された送信対象メッセージから第二の署名値を生成するワンタイム署名生成部と、
    前記共通鍵暗号用の鍵、前記ワンタイム署名用の第一の鍵、前記第一の署名値、前記第二の署名値、および前記送信対象メッセージから署名付き暗号文を生成する共通鍵暗号部と、
    前記共通鍵暗号用の鍵の暗号化データおよび前記署名付き暗号文を前記受信側装置へ送信する送信部と、を含む、
    ことを特徴とする送信側装置。
  2. 前記ワンタイム署名用の第一の鍵は、ワンタイム署名を検証する際に必要なワンタイム署名用検証鍵であり、前記ワンタイム署名用の第二の鍵は、前記ワンタイム署名生成部で前記第二の署名値を生成する際に必要なワンタイム署名用秘密鍵である、
    ことを特徴とする請求項1に記載の送信側装置。
  3. 前記鍵カプセル生成部は、入力された前記メッセージの受信者の公開鍵およびタグとして前記記憶部から取得した前記送信者の検証用公開鍵から、タグ付き鍵カプセル生成アルゴリズムに基づいて、前記共通鍵暗号用の鍵と該鍵の暗号化データを生成し、前記記憶装置に記憶する、
    ことを特徴とする請求項2に記載の送信側装置。
  4. 前記鍵カプセル生成部は、前記ワンタイム署名用検証鍵と前記第一の署名値と前記送信者の検証用公開鍵とを結合したデータと、入力された前記メッセージの受信者の公開鍵から、共通鍵暗号用の鍵と該鍵の暗号化データを生成し、
    前記ワンタイム署名生成部は、前記ワンタイム署名用秘密鍵、前記第一の署名値、入力された前記メッセージの受信者の公開鍵、前記共通鍵暗号用鍵の暗号化データおよび前記入力されたメッセージから、署名付き暗号文を生成し、
    前記共通鍵暗号部は、前記共通鍵暗号用の鍵、前記第二の署名値および入力された前記メッセージから署名付き暗号文を生成し、
    前記送信部は、前記ワンタイム署名用検証鍵、前記第一の署名値、前記共通鍵暗号用鍵の暗号化データおよび前記署名付き暗号文を前記受信側装置へ送信する、
    ことを特徴とする請求項2に記載の送信側装置。
  5. 送信側装置から受信した署名付き暗号文からメッセージを復号する受信側装置であって、
    受信者の、復号用秘密鍵および暗号用公開鍵を記憶する記憶装置と、制御装置を具備し、
    前記制御装置は、
    前記送信側装置から共通鍵暗号用鍵の暗号化データおよび前記署名付き暗号文を受信する受信部と、
    前記受信者の復号用秘密鍵、入力された送信者の検証用公開鍵および前記共通鍵暗号用鍵の暗号化データから、共通鍵暗号用鍵を復号する鍵カプセル復号部と、
    前記共通鍵暗号用鍵を用いて、前記署名付き暗号文から、ワンタイム署名用の検証鍵、第一の署名値、第二の署名値および前記メッセージを復号する共通鍵復号部と、
    前記ワンタイム署名用の検証鍵を検証対象メッセージとし、前記第一の署名値を検証対象署名値とし、前記送信者の検証用公開鍵を用いて署名検証を行う第一の署名検証部と、
    前記受信者の暗号用公開鍵、前記受信部により受信した前記共通鍵暗号用鍵の暗号化データおよび前記共通鍵復号部により復号された前記メッセージを検証対象メッセージとし、前記第二の署名値を検証対象の署名値とし、前記ワンタイム署名の検証鍵を用いて署名検証を行う第二の署名検証部と、
    前記鍵カプセル復号部により前記共通鍵暗号用鍵が復号され、前記第一の署名検証部および前記第二の署名検証部の検証結果がそれぞれ検証成功を示す場合に、前記共通鍵復号部により復号された前記メッセージを出力する出力部と、を含む、
    ことを特徴とする受信側装置。
  6. 前記出力部は、前記鍵カプセル復号部により前記共通鍵暗号用鍵の復号に失敗した場合、または前記第一の署名検証部の検証結果が検証失敗を示す場合、または前記第二の署名検証部の検証結果が検証失敗を示す場合、エラーコードを出力する、
    ことを特徴とする請求項5に記載の受信側装置。
  7. 前記鍵カプセル復号部は、前記受信者の復号用秘密鍵、タグとして入力された送信者の検証用公開鍵、および前記共通鍵暗号用鍵の暗号化データから、鍵カプセル復号アルゴリズムに基づいて、共通鍵暗号用鍵を復号する、
    ことを特徴とする請求項6に記載の受信側装置。
  8. 送信側装置から受信した署名付き暗号文からメッセージを復号する受信側装置であって、
    受信者の、復号用秘密鍵および暗号用公開鍵を記憶する記憶装置と、制御装置を具備し、
    前記制御装置は、
    前記送信側装置から、ワンタイム署名用の検証鍵、第一の署名値、共通鍵暗号用鍵の暗号化データおよび署名付き暗号文を受信する受信部と、
    前記受信者の復号用秘密鍵と、前記ワンタイム署名用の検証鍵と、前記第一の署名値と、入力された送信者の検証用公開鍵と、を用いて、前記共通鍵暗号用鍵の暗号化データから共通鍵暗号用鍵を復号する鍵カプセル復号部と、
    前記ワンタイム署名用の検証鍵を検証対象メッセージとし、前記第一の署名値を検証対象署名値とし、前記送信者の検証用公開鍵を用いて署名検証を行う第一の署名検証部と、
    前記鍵カプセル復号部により前記共通鍵暗号用鍵の復号に失敗した場合、または前記第一の署名検証部の処理結果が検証失敗を示す場合、エラーコードを出力部に出力し、そうでない場合、前記鍵カプセル復号部の処理により復号された前記共通鍵暗号用鍵を共通鍵復号部へ転送する第一判定部と、
    前記第一判定部からの共通鍵暗号用鍵を用いて、復号対象の前記署名付き暗号文から第二の署名値とメッセージを復号する共通鍵復号部と、
    前記第一の署名値、前記受信者の暗号用公開鍵、前記共通鍵暗号用鍵の暗号化データおよび前記共通鍵復号部により復号されたメッセージを検証対象メッセージとし、前記第二の署名値を検証対象の署名値とし、前記ワンタイム署名の検証鍵を用いて署名検証を行う第二の署名検証部と、
    前記第二の署名検証部の処理結果が検証失敗を示す場合、エラーコードを出力部に出力し、そうでない場合、前記メッセージを出力部に出力する第二判定部と、
    第一判定部または第二判定部の判定結果に基づいて、前記出力部に前記メッセージまたは前記エラーコードを出力する出力部と、を含む、
    ことを特徴とする受信側装置。
  9. 前記鍵カプセル復号部は、前記受信者の復号用秘密鍵と、タグとして入力された前記ワンタイム署名用の検証鍵と、タグとして入力された前記第一の署名値と、タグとして入力された送信者の検証用公開鍵と、を用いて、前記共通鍵暗号用鍵の暗号化データから共通鍵暗号用鍵を復号する、
    ことを特徴とする請求項8に記載の受信側装置。
JP2013098964A 2013-05-09 2013-05-09 送信側装置および受信側装置 Expired - Fee Related JP5932709B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013098964A JP5932709B2 (ja) 2013-05-09 2013-05-09 送信側装置および受信側装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013098964A JP5932709B2 (ja) 2013-05-09 2013-05-09 送信側装置および受信側装置

Publications (2)

Publication Number Publication Date
JP2014220668A true JP2014220668A (ja) 2014-11-20
JP5932709B2 JP5932709B2 (ja) 2016-06-08

Family

ID=51938755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013098964A Expired - Fee Related JP5932709B2 (ja) 2013-05-09 2013-05-09 送信側装置および受信側装置

Country Status (1)

Country Link
JP (1) JP5932709B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020048161A (ja) * 2018-09-21 2020-03-26 株式会社アクセル 取引装置、取引方法及び取引プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7427482B2 (ja) 2019-10-08 2024-02-05 株式会社ニチベイ 移動間仕切り装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396928B1 (en) * 1996-10-25 2002-05-28 Monash University Digital message encryption and authentication
WO2006077822A1 (ja) * 2005-01-24 2006-07-27 Matsushita Electric Industrial Co., Ltd. 署名生成装置及び署名検証装置
JP2006262408A (ja) * 2005-03-18 2006-09-28 Canon Inc 電子署名システム及びその構成要素並びにそれらにおいて実行される方法及びコンピュータプログラム
JP2008072389A (ja) * 2006-09-13 2008-03-27 Ricoh Co Ltd 画像処理装置、電子署名付与方法及び電子署名付与プログラム
JP2012156590A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> コミットメントシステム、コミットメント生成装置、コミットメント受信装置、その方法及びプログラム
US20130051551A1 (en) * 2011-08-29 2013-02-28 Laila EL AIMANI Signcryption method and device and corresponding signcryption verification method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396928B1 (en) * 1996-10-25 2002-05-28 Monash University Digital message encryption and authentication
WO2006077822A1 (ja) * 2005-01-24 2006-07-27 Matsushita Electric Industrial Co., Ltd. 署名生成装置及び署名検証装置
JP2006262408A (ja) * 2005-03-18 2006-09-28 Canon Inc 電子署名システム及びその構成要素並びにそれらにおいて実行される方法及びコンピュータプログラム
JP2008072389A (ja) * 2006-09-13 2008-03-27 Ricoh Co Ltd 画像処理装置、電子署名付与方法及び電子署名付与プログラム
JP2012156590A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> コミットメントシステム、コミットメント生成装置、コミットメント受信装置、その方法及びプログラム
US20130051551A1 (en) * 2011-08-29 2013-02-28 Laila EL AIMANI Signcryption method and device and corresponding signcryption verification method and device
JP2013048417A (ja) * 2011-08-29 2013-03-07 Thomson Licensing signcryption方法と装置及び対応するsigncryption検証方法と装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016012391; 千葉 大輝 東京大学 生産技術研究所: '多人数モデルで内部者安全なSigncryptionの一般的構成法' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 学会予稿集 , 20110128, 1-8, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6016012392; 中野 倫太郎 横浜国立大学 大学院 環境情報学府 研究院: 'マルチユーザに対し安全なSigncryptionの一般的構成法' コンピュータセキュリティシンポジウム2012 論文集 情報処理学会シンポジウムシリーズ Vol.2012 No.3, 20121023, 285〜292, 一般社団法人情報処理学会 コンピュータセキュリティ *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020048161A (ja) * 2018-09-21 2020-03-26 株式会社アクセル 取引装置、取引方法及び取引プログラム

Also Published As

Publication number Publication date
JP5932709B2 (ja) 2016-06-08

Similar Documents

Publication Publication Date Title
US10341094B2 (en) Multiple encrypting method and system for encrypting a file and/or a protocol
US10680816B2 (en) Method and system for improving the data security during a communication process
CN107251476A (zh) 保密通信管理
Garg et al. An efficient and secure data storage in Mobile Cloud Computing through RSA and Hash function
CN102780698A (zh) 物联网平台中用户终端安全通信的方法
CN104023013A (zh) 数据传输方法、服务端和客户端
US11316671B2 (en) Accelerated encryption and decryption of files with shared secret and method therefor
CN106576043A (zh) 病毒式可分配可信消息传送
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
Kapoor et al. A hybrid cryptography technique for improving network security
CN114143117B (zh) 数据处理方法及设备
US11722466B2 (en) Methods for communicating data utilizing sessionless dynamic encryption
CN105871858A (zh) 一种保证数据安全的方法及系统
JP5932709B2 (ja) 送信側装置および受信側装置
US20220069984A1 (en) Encryption system and method employing permutation group-based cryptographic technology
US11228589B2 (en) System and method for efficient and secure communications between devices
US11876789B2 (en) Encrypted data communication and gateway device for encrypted data communication
Alaidi Enhanced a TCP security protocol by using optional fields in TCP header
Abdelgader et al. Design of a secure file transfer system using hybrid encryption techniques
Gangodkar et al. Enhancing Network Security with A Hybrid Cryptography Method
Khan et al. In-Depth Analysis of Cryptographic Algorithms for Cloud-Database Security
Jain et al. Analysis of Different Cryptographic Algorithms in Cloud-Based Multi-robot Systems
Raj et al. Performance Analysis of Hybrid Cryptographic Algorithms in Serverless Platforms
Gavrilova et al. RATIONALE FOR IMPROVING AUTHENTICATION PROTOCOLS IN THE CONDITIONS OF POST-QUANTUM CRYPTOGRAPHY

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160428

R151 Written notification of patent or utility model registration

Ref document number: 5932709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees