JP2019102959A - サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム - Google Patents

サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム Download PDF

Info

Publication number
JP2019102959A
JP2019102959A JP2017231514A JP2017231514A JP2019102959A JP 2019102959 A JP2019102959 A JP 2019102959A JP 2017231514 A JP2017231514 A JP 2017231514A JP 2017231514 A JP2017231514 A JP 2017231514A JP 2019102959 A JP2019102959 A JP 2019102959A
Authority
JP
Japan
Prior art keywords
communication device
server
secret key
information
key
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
JP2017231514A
Other languages
English (en)
Other versions
JP6808609B2 (ja
Inventor
彰 永井
Akira Nagai
彰 永井
鈴木 幸太郎
Kotaro Suzuki
幸太郎 鈴木
山本 剛
Takeshi Yamamoto
剛 山本
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
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 JP2017231514A priority Critical patent/JP6808609B2/ja
Publication of JP2019102959A publication Critical patent/JP2019102959A/ja
Application granted granted Critical
Publication of JP6808609B2 publication Critical patent/JP6808609B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】Pin入力を用いたユーザ認証機能付鍵共有方法であり、短期秘密鍵の漏えいに耐性のある安全な鍵共有方法を提供する。【解決手段】サーバ装置100は、サーバ短期秘密鍵とサーバ長期秘密鍵とを用いて、通信装置から送信される公開情報に対して、ペアリング演算により共有値を求め、サーバ短期秘密鍵と通信装置から送信される公開情報とから共有値を求め、求めた複数の共有値からサーバ共有鍵を作成するサーバ共有鍵生成部120と、通信装置から送信される認証情報を用いて、通信装置に入力されたPin情報が正しいかを認証する認証部130と、を含む。ここで認証情報は通信装置長期秘密鍵を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものであり、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報とから通信装置長期秘密鍵が得られるものである。【選択図】図4

Description

情報通信分野における認証付き鍵共有技術に関し、特に、サーバ装置、サーバ装置と通信する通信装置、通信装置とサーバ装置とを含む鍵共有システム、鍵共有方法、プログラムに関する。
Pin(Personal identication number)入力を用いたユーザ認証機能付きの鍵共有プロトコルとして、M-Pin Fullが知られている(非特許文献1参照)。このM-Pin Fullは、ユーザとサーバ間で共有する鍵を生成する際に、ユーザにPinコードを入力させ、Pinコードが正しい場合に限り、ユーザとサーバ間で同一の鍵を共有できるものである。このM-Pin Fullは、Password Authenticated Key Agreement(PAKE)とは異なり、ユーザが入力したPinをサーバが保持しないため、サーバからユーザのPinが漏洩することはない。従って、サーバ管理者がユーザのパスワードを管理をする必要がない点において、PAKEよりも優れる。しかし、乱数生成に問題があり、攻撃者によってユーザが利用する乱数が推測された場合には、M-Pin Fullが生成する短期秘密鍵の漏えいが発生しうる。このとき、攻撃者は、M-Pin Fullで共有する鍵を生成することが可能となる。
また、Pinを用いない認証付き鍵共有プロトコルとして、ペアリングベースの認証付き鍵共有プロトコル、例えばFSU(非特許文献2参照)、SK-KEM(非特許文献3参照)が知られている。ただし、正確には、SK-KEMの場合、ユーザは短期秘密鍵をそもそも利用しない。これらのプロトコルは、短期秘密鍵の漏えいが発生した場合でも、攻撃者が共有鍵を生成することが困難なプロトコルである。
MichaelScott, "M-Pin FullTechnology(Version3.0)", [online], [平成29年11月17日検索],インターネット<URL:https://cdn2.hubspot.net/hubfs/230906/miracl/white_papers/MIRACL_mpin_full_technology.pdf?t=1454680982288> "Specicationof FSU version 1.0", [online], [平成29年11月17日検索], インターネット<URL:https://info.isl.ntt.co.jp/crypt/eng/archive/dl/fsu/FSU.pdf> M.BARBOSA etc., "SK-KEM : ANIDENTITY-BASED KEM", [online], [平成29年11月17日検索],インターネット<URL:http://grouper.ieee.org/groups/1363/IBC/submissions/Barbosa-SK-KEM-2006-06.pdf>
しかしながら、非特許文献2,3のいずれの方式もPin等のユーザ入力を用いたプロトコルとなっていない。従って、現状ではPin入力を利用した短期秘密鍵の漏えいに耐性のある安全な鍵共有方式はない。
図1は非特許文献1の技術を説明するための図である。なお、表記については以下の通りである。
s:マスター秘密鍵
Z'q:0以上q未満の整数の集合
α:Pinコード
G'1:楕円曲線上の群E(F'p)における部分群
F'p:位数pの有限体
G'2:群E(F'p^k)の部分群(ただし下付きまたは上付き添え字におけるA^BはABを、A_BはABを意味する)
F'p^k:F'pのk次拡大体
H1:文字列からG1上の元を生成する関数
H2:文字列からG2上の元を生成する関数
Hq:曲線の位数qをモジュロとするハッシュ関数
||:文字列の連結
g1:e((s-α)A,Q)
g2:e(A,Q)
Q:G2の生成元またG1,G2の構成として、BN曲線上のOptimal Ateペアリングを用いる。
M-Pin Fullでは、短期秘密鍵が漏えいした場合に、攻撃者がユーザ共有鍵を生成することが可能となる。具体的に説明する。M-Pin Fullにおける短期秘密鍵は、乱数xとrである。ユーザが、Pinを正しく入力した場合、ユーザ共有鍵として、K=Hg((e((s-α)A,Q)*e(A,Q)α)r||xW)=Hg(e(sA,Q)r||xW)を計算する。ここでユーザが生成したxとrを攻撃者が知っていると仮定すると、攻撃者は、通信装置(クライアント)とサーバ装置間の情報を含めx,A,U,y,V,r,R,Wを入手可能になる。攻撃者はV=-(x+y)sAに対して、x,yを用いて、-(x+y)-1を計算し、-(x+y)-1V=(x+y)-1(x+y)sA=sAを導くことでsAを容易に求めることができる。そして、sA,Q,r,x,Wを用いて、K=Hg(e(sA,Q)r||xW)を計算することが可能となる。このように、M-Pin Fullは短期秘密鍵が安全に運用されない場合、攻撃者が共有鍵を生成することが可能となり、共有鍵で暗号化された内容を盗聴することが可能となる。また、短期秘密鍵x,rの漏えいのみで別のユーザ(IDA)へのなりすましも可能となり、サーバ装置と通信が可能となる。
一方、FSU(非特許文献2参照)は短期秘密鍵が漏えいしても共有鍵が生成されることはない安全な鍵共有プロトコルである。しかし、それぞれのプロトコルにおけるユーザの長期秘密鍵からPinを引くだけでは、安全なプロトコルにはならない。図2はFSUプロトコルを説明するための図である(詳細は非特許文献2参照)。なお、^Xは楕円点から文字列への変換後を意味する。ただし、図2ではzをマスター秘密鍵とする。FSUは、互いのマスター公開鍵Z1(=zG1∈G'1),Z2(=zG2∈G'2)を利用するが、Pinを組み込んだ場合、この公開鍵を公開すると攻撃者はPinの推測ができてしまう。なぜなら、D'A,1=(z-α)QA,1として、Pin(α)をユーザ秘密鍵に組み込んだ際に、仮に、このD'A,1が攻撃者の手に渡ると、攻撃者は、マスター公開鍵Z2を使って、e((z-α+α')QA,1,G2)=e((QA,1,Z2)となるα'を容易に求めることが可能なためである。従って、サーバ側のマスター公開鍵Z2は非公開にする必要がある。
M-Pin FullではsQがこれにあたり、M-Pin FullではsQを非公開にしている。このようにPinを入力に用いた場合、入力を受け付ける側、ここではサーバ側の公開鍵は非公開にする必要がある。結果、クライアント側とサーバ側で同じ公開鍵を用いることができなくなり、クライアントの公開鍵とサーバの公開鍵は別々になっている必要がある。例えば、鍵共有プロトコルChen-Cheng-Smart方式(参考文献1参照)の場合は、共通のマスター公開鍵Z2=zG2とユーザがもつ情報(z-α)QA,1が攻撃者に渡ると、攻撃者はe((z-α)QA,1+α'QA,1,G2)=e(QA,1,Z2)となるαを総当たり攻撃し、簡単に求めることができる。
(参考文献1)L.Chen, Z.Cheng, and N.P.Smart, "Identity-based Key Agreement Protocols From Pairings", [online], [平成29年11月17日検索], インターネット<URL:https://eprint.iacr.org/2006/199.pdf>
逆に、クライアント側とサーバ側で公開鍵が同一鍵のプロトコルであれば、Z1=zG1∈G'1、Z2=zG2∈G'2とし、別々の群を用いればよい。
既存のFSUにPin入力を追加しただけでは不十分であるもう一つの理由として、ユーザが正しいPinを入力したかをサーバ側で確認するための処理が必要となるが、既存のFSUにこの処理がないため、確認するための処理を追加する必要がある。
上記のとおり、既存のFSUにPin入力の処理を追加しただけでは不十分である。
本発明は、Pin入力を用いた2要素認証付鍵共有システム、システムにおいて用いられるサーバ装置、通信装置、鍵共有方法、及びプログラムを提供することを目的とする。
上記の課題を解決するために、本発明の一態様によれば、通信装置と通信するサーバ装置は、G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、サーバ短期秘密鍵xBRZ'qと通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成部と、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、通信装置から送信される認証情報を用いて、通信装置に入力されたPin情報が正しいかを認証する認証部と、を含む。
上記の課題を解決するために、本発明の他の態様によれば、サーバ装置と通信する通信装置は、G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置長期秘密鍵補助情報DA,1'とサーバ装置が公開する情報であるサーバ公開情報を記憶する記憶部と、当該通信装置の通信装置短期秘密鍵xAと、サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成部と、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、通信装置短期秘密鍵xAと通信装置長期秘密鍵DA,2∈G'1とを用いて、サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、通信装置短期秘密鍵xARZ'qとサーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成部と、通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含む。
上記の課題を解決するために、本発明の他の態様によれば、鍵共有システムは、サーバ装置と通信装置とを含む。G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、サーバ装置は、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、サーバ短期秘密鍵xBRZ'qと通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成部を含む。通信装置は、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置長期秘密鍵補助情報DA,1'とサーバ装置が公開する情報であるサーバ公開情報を記憶する記憶部と、当該通信装置の通信装置短期秘密鍵xAと、サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成部と、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、通信装置短期秘密鍵xAと通信装置長期秘密鍵DA,2∈G'1とを用いて、サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、通信装置短期秘密鍵xARZ'qとサーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成部と、通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含む。サーバ装置は、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、通信装置から送信される認証情報を用いて、通信装置に入力されたPin情報が正しいかを認証する認証部をさらに含む。
上記の課題を解決するために、本発明の他の態様によれば、鍵共有方法は、通信装置と通信するサーバ装置を用いる。鍵共有方法は、G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、サーバ装置が、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、サーバ短期秘密鍵xBRZ'qと通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成ステップと、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、通信装置から送信される認証情報を用いて、通信装置に入力されたPin情報が正しいかを認証する認証ステップと、を含む。
上記の課題を解決するために、本発明の他の態様によれば、鍵共有方法は、サーバ装置と通信する通信装置を用いる。鍵共有方法は、G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置には、通信装置長期秘密鍵補助情報DA,1'とサーバ装置が公開する情報であるサーバ公開情報とが記憶されるものとし、通信装置が、当該通信装置の通信装置短期秘密鍵xAと、サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成ステップと、通信装置が、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、通信装置短期秘密鍵xAと通信装置長期秘密鍵DA,2∈G'1とを用いて、サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、通信装置短期秘密鍵xARZ'qとサーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成ステップと、通信装置が、通信装置共有鍵を用いて認証情報を生成する認証情報生成ステップとを含む。
上記の課題を解決するために、本発明の他の態様によれば、鍵共有方法は、サーバ装置と通信装置とを用いる。鍵共有方法は、G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置には、通信装置長期秘密鍵補助情報DA,1'が記憶されるものとし、通信装置が、当該通信装置の通信装置短期秘密鍵xAと、サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成ステップと、サーバ装置が、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、サーバ短期秘密鍵xBRZ'qと通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成ステップと、通信装置が、サーバ装置が公開する情報であるサーバ公開情報を記憶する記憶ステップと、通信装置が、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、通信装置短期秘密鍵xAと通信装置長期秘密鍵DA,2∈G'1とを用いて、サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、通信装置短期秘密鍵xARZ'qとサーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成ステップと、通信装置が、通信装置共有鍵を用いて認証情報を生成する認証情報生成ステップと、サーバ装置が、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、通信装置から送信される認証情報を用いて、通信装置に入力されたPin情報が正しいかを認証する認証ステップとを含む。
上記の課題を解決するために、本発明の他の態様によれば、鍵共有システムは、サーバと通信装置とを含む。サーバ装置は、第一情報mを用いてサーバ共有鍵を生成し、第一情報mと、通信装置から送信される公開情報と、非公開のマスタ−公開鍵Rとから情報cを得るサーバ共有鍵生成部を含む。ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DID'とから通信装置長期秘密鍵DIDが得られるものとし、通信装置は、サーバ装置が公開する情報であるサーバ公開情報に含まれる情報cと、通信装置長期秘密鍵補助情報DID'とを記憶する記憶部と、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DID'とから通信装置長期秘密鍵DIDを得、通信装置長期秘密鍵DIDと、サーバ装置から送信される公開情報に含まれる情報cとを用いて第一情報mを得、第一情報mを用いて通信装置共有鍵を生成する通信装置共有鍵生成部と、通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含む。サーバ装置は、通信装置から送信される認証情報とサーバ共有鍵とを用いて、通信装置に入力されたPin情報が正しいかを認証する認証部をさらに含む。
本発明によれば、既存の鍵共有プロトコルにPin入力と認証処理を追加することで、クライアントとサーバ間での鍵共有に対し、Pin入力が可能かつ、短期秘密鍵(乱数)の漏えいにも強いという効果を奏する。
従来技術のM-Pin Fullを説明するための図。 従来技術のFSUを説明するための図。 第一実施形態に係る鍵共有システムの配置図。 第一実施形態に係るサーバ装置の機能ブロック図 第一実施形態に係る通信装置の機能ブロック図 第一実施形態に係る鍵共有システムの処理を説明するための図。 従来技術のChen-Cheng-Smartを説明するための図。 第二実施形態に係る鍵共有システムの処理を説明するための図。 従来技術のSK-KEMを説明するための図。 第三実施形態に係る鍵共有システムの処理を説明するための図。
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「^」等は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
<第一実施形態のポイント>
FSU方式を用いて、ユーザの長期秘密鍵からPinを引いた値(DA,1'=(z-α)QA,1)を保存させ、ユーザが利用する際はユーザにPinを入力させる。ユーザが正しいPinを入力したかを確認するため、MAC(Message Authentication Code)を付与し、サーバはMACを確認することで正しいPinが入力されたかを確認する。このとき、サーバ側の公開鍵は非公開とし、攻撃者の手に渡らないようにする。
<第一実施形態>
本実施系形態では、本発明をFSUへの適応に適用する。
図3は第一実施形態に係る鍵共有システムの配置図を示す。鍵共有システムは、サーバ装置100と、N台の通信装置200−nとを含む。ただし、n=1,2,…,Nである。
図4は第一実施形態に係るサーバ装置100の機能ブロック図を、図5は第一実施形態に係る通信装置200−nの機能ブロック図を示す。
サーバ装置及び通信装置のそれぞれは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。サーバ装置及び通信装置のそれぞれは、例えば、中央演算処理装置の制御のもとで各処理を実行する。サーバ装置及び通信装置のそれぞれに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。サーバ装置及び通信装置のそれぞれの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。サーバ装置及び通信装置のそれぞれが備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
本実施形態では、第一実施形態に係るサーバ装置100とあるユーザが操作する通信装置200−nとの間で行われる鍵共有について説明する。
図6は鍵共有システムの処理を説明するための図である。
<事前準備>
まず事前準備として、通信装置200−nは、マスター秘密鍵zとPin情報αを用いて長期秘密鍵補助情報DA,1'(DA,1'=(z-α)QA,1∈G'1)を生成し、記憶部210に記憶する(S1)。なお、長期秘密鍵補助情報DA,1'を生成した後に、通信装置200−n内からマスター秘密鍵zとPin情報αとを削除する構成としてもよい。このような構成とすることで、通信装置200−nが盗難等にあった際にも、攻撃者はPin情報αが分からないため、サーバ装置100との間で鍵共有を行うことができない。
なお、Pin情報αは、ユーザが事前に登録してもよいし、通信装置200−nまたはサーバ装置100が割り当て、割り当てたPin情報αをユーザに報知してもよい。
サーバ装置100は、マスター秘密鍵zを用いて長期秘密鍵DB,2(DB,2=zQB,2=zH1(IDB)∈G'2)を生成し、記憶部110に記憶する(S2)。なお、マスター公開鍵Z2=zG2∈G'2は非公開とし、記憶部110に記憶する。
<鍵共有処理>
通信装置200−nは、鍵共有処理が始まると、まず、Pin情報αを受け付ける。例えば、通信装置200−nの図示しない表示部(ディスプレイ等)にPin情報αの入力を促す画面を表示し、通信装置200−nのユーザが図示しない入力部(キーボード等)を介してPin情報αを入力することで、通信装置200−nは、Pin情報αを受け付ける。
通信装置200−nの生成部240は、Pin情報αを受け取ると、記憶部210から長期秘密鍵補助情報DA,1'を取り出し、長期秘密鍵DA,1(DA,1←DA,1'+αQA,1)を生成する。さらに、生成部240は、短期秘密鍵xA(xAR Z'q)を生成する。次に、生成部240は、短期秘密鍵xAを用いて短期公開鍵XA,1、XB,1(XA,1=xAG1, XA,2=xAG2)を生成する(S11)。生成部240は、通信装置200−nの識別子IDAとサーバ装置100の識別子IDBとともに短期公開鍵XA,1、XA,2をサーバ装置100に送信する(S12)。なお、識別子IDA、IDB、短期公開鍵XA,1、XA,2を通信装置200−nの公開情報とも言う。
サーバ装置100の生成部140は、通信装置200−nの公開情報とともに鍵共有要求を受け取ると、通信装置200−nの公開情報を記憶部110に記憶し、短期秘密鍵xB(xBR Z'q)を生成する。次に、生成部140は、短期秘密鍵xBを用いて短期公開鍵XB,1、XB,2(XB,1=xBG1, XB,2=xBG2)を生成する(S21)。生成部140は、通信装置200−nの識別子IDAとサーバ装置100の識別子IDBとともに短期公開鍵XB,1、XB,2を通信装置200−nに送信する(S22)。なお、識別子IDA、IDB、短期公開鍵XB,1、XB,2をサーバ装置100の公開情報とも言う。サーバ装置100の公開情報のうち、識別子IDA、IDB、短期公開鍵XB,1、XB,2の少なくとも何れかを鍵共有要求を受け取る前に予め作成しておき、記憶部110に記憶しておいてもよい。
次に、サーバ装置100は、共有鍵生成部120において、短期秘密鍵xBと長期秘密鍵DB,2と非公開のマスター公開鍵Z2を用いて、通信装置200−nから送信される公開情報IDA、XA,1、XA,2に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求める。
σ1=e(QA,1,DB,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
さらに、短期秘密鍵xBと通信装置200−nから送信される公開情報XA,1、XA,2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)から共有鍵Kを作成する(S23)。
sid=(IDA||IDB||^XA,1||^XA,2||^XB,1||^XB,2)
K=H(σ1||σ2||σ3||σ4||sid)
一方、通信装置200−nの共有鍵生成部220は、サーバ装置100の公開情報IDA、IDB、XB,1、XB,2を受け取り、記憶部210に記憶する。さらに、短期秘密鍵xAと長期秘密鍵DA,2とマスター公開鍵Z1とを用いて、サーバ装置100から送信される公開情報IDB、XB,2に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求める。
σ1=e(DA,1,QB,2)
σ2=e(DA,1+xAZ1,QB,2+XB,2)
さらに、短期秘密鍵xAとサーバ装置から送信される公開情報XB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から共有鍵Kを作成する(S31)。
sid=(IDA||IDB||^XA,1||^XA,2||^XB,1||^XB,2)
K=H(σ1||σ2||σ3||σ4||sid)
適切な処理が行われていた場合、通信装置200−nの共有鍵生成部220で生成した共有鍵Kと、サーバ装置100の共有鍵生成部120で生成した共有鍵Kとが一致する。
<認証処理>
通信装置200−nの認証情報生成部230は、共有鍵Kを用いて認証情報t(t=MAC(K,σ1||σ2||σ3||σ4||sid))を生成し(S32)、サーバ装置100に送信する(S33)。
サーバ装置100の認証部130は、認証情報tを受け取る。認証部130は、共有鍵生成部120で生成した共有鍵Kを用いて認証情報t'(t'=MAC(K,σ1||σ2||σ3||σ4||sid))を生成し、認証情報tと認証情報t'とを用いて、通信装置200−nに入力されたPin情報αが正しいかを認証する(S41)。
認証情報tと認証情報t'とが一致する場合には、通信装置200−nに入力されたPin情報αが正しいと判断し共有鍵Kを用い、一致しない場合には接続を拒否し、通信装置200−nに対してエラーを返す。
<効果>
このような構成により、既存の鍵共有プロトコルにPin入力と認証処理を追加できる。ユーザだけが知っているPin情報と、ユーザだけが所有している通信装置に記憶された長期秘密鍵補助情報とを用いて二要素認証を可能としている。通信装置(クライアント)とサーバ装置間での鍵共有に対し、Pin入力が可能かつ、短期秘密鍵(乱数)の漏えいにも強い鍵共有システムを構築することができる。ユーザは通信装置を介してPin情報を入力し、FSUプロトコルの最後にMACの計算を追加し、サーバ装置では、そのMAC値が一致するか確認することで、正しい入力かを確認する。一致する場合に限り、共有鍵Kを用いる。サーバにてPinの入力誤りをカウントしておく構成としてもよい。このような構成とすることで、一定回数以上の誤りが合った場合には、そのIDを失効させ、Pinの総当たり攻撃を防止することができる。
<変形例>
本実施形態において、tとt'=MAC(K,σ1||σ2||σ3||σ4||sid)は、Kとsidのみを入力するMAC(K,sid)でもよい。この場合、共有鍵Kの使用期限が過ぎた後で、共有鍵Kを第三者に渡すことで、第三者は共有鍵KとsidとでMAC値を認証することができる。
本実施形態では、ユーザのみ通信装置200−nを介してPin入力を行っているが、サーバ装置100側にもPin入力をさせることが可能である。例えば、サーバ装置100ではなく別ユーザの通信装置200−n’(n'は1,2,…,Nの何れかであって、n≠n')との間で互いにPin入力をした上で鍵共有を行いたい場合などがこれにあたる。
事前準備において、サーバ装置100の生成部140が、長期秘密鍵補助情報DB,1'を生成し、記憶部110に記憶する処理を加える。
DB,2'=DB,2-αQB,2∈G'2
また、鍵共有処理において、サーバ装置100の生成部240が、ユーザ(IDB)のPin情報αを受け取ると、記憶部210から長期秘密鍵補助情報DB,1'を取り出し、長期秘密鍵DB,1を生成する処理を加える。
DB,2=D'B,2+αQB,2
このとき、ユーザ(IDA)のマスター公開鍵Z1を非公開とし、記憶部210に記憶する。上記によって、M-Pin Fullではできなかった双方向でのPin入力による鍵共有プロトコルにすることが可能になる。
また、本実施形態では、MAC値t,t'を用いて認証処理を行っているが、ハッシュ値等を用いて認証処理を行ってもよい。
本実施形態では、鍵共有処理において、まず通信装置200−nから公開情報を送信しているが、サーバ装置100から先に公開情報を送信する構成としてもよい。その場合、通信装置200−nが、サーバ装置100の公開情報を用いて認証情報tを生成することができるため、S12(通信装置200−nの公開情報の送信)を省略し、S33(通信装置200−nの認証情報の送信)において、通信装置200−nの公開情報とともに認証情報tを送信する構成としてもよい。
<第二実施形態>
第一実施形態と異なる部分を中心に説明する。
FSU以外の認証付き鍵共有プロトコルにおいても、Pin入力可能な認証付き鍵共有プロトコルに変換することが可能である。認証付き鍵共有プロトコルの多くは、FSUと同じくペアリングとDH鍵交換の仕組みを用いて、共通値であるσiを生成し、そこから共有鍵Kを計算する。従って、これを一般化すると、L個の共有値σi(i=1,…,L)を用いて共有鍵を生成するプロトコルにおいて、L-2までのσiがペアリング演算で構成され、その入力がG'1とG'2の元の線形結合で表現されている認証付き鍵共有プロトコルは、FSU同様にPin入力可能な認証付き鍵共有プロトコルに変換が可能である。数式的で表現すると、ある整数aj,bl∈Z'qにて、iが1からL-2までのσiに対し、
Figure 2019102959
と表現される。また、σL-1とσLについては、x,y∈R Z'qを用いてσL-1=xyG1L=xyG2となる鍵共有プロトコルである。Pin入力を可能にするには公開鍵が、ユーザごとに定義される必要があるため、共通の公開鍵を用いているプロトコルに適用するには、ユーザごとに別の群を用いる。つまりユーザIDAの公開鍵はG1で定義し、ユーザIDBの公開鍵をG2で定義する。このとき公開鍵を非公開にし、最後にMAC計算の処理を追加することで、Pin入力可能な鍵交換プロトコルに拡張することが可能になる。
例としてFSU以外の認証付き鍵共有プロトコルChen-Cheng-Smart(参考文献1参照)をPin入力可能な鍵共有プロトコルに変換する。図7に既存のChen-Cheng-Smartプロトコルを記載し、図8に変換後のプロトコルを記載する。
基本的な処理内容は第一実施形態と同様である。共有鍵生成部120においてσ1、σ2を求める式(σ1=e(xBQA,1,Z2)、σ2=e(XA,1,DB,2))、共有鍵生成部220におけるσ1、σ2を求める式(σ1=e(Z1,xAQB,2)、σ2=e(DA,1,XB,2))、認証情報生成部230、認証部130におけるMAC値を求める式(t=MAC(K,σ1||σ2||σ3||σ4||sid)、t'=MAC(K,σ1||σ2||σ3||σ4||sid))が第一実施形態とは異なる。
なお、本実施形態においても、第一実施形態の変形例と同様の変形が可能である。
<第三実施形態>
第一実施形態と異なる部分を中心に説明する。
本実施形態では、本発明をSK-KEM(非特許文献3参照)に適用する。図9は既存のSK-KEMを示し、図10は変換後のSK-KEMを示す。
<事前準備>
まず事前準備として、通信装置200−nは、Pin情報αを用いて長期秘密鍵補助情報DID'を生成し(DID'←DID・g2 )、記憶部210に記憶する(S101)。なお、長期秘密鍵補助情報DID'を生成した後に、通信装置200−n内からマスター秘密鍵sとPin情報αと長期秘密鍵DIDを削除する構成としてもよい。このような構成とすることで、通信装置200−nが盗難等にあった際にも、攻撃者はPin情報αが分からないため、サーバ装置100との間で鍵共有を行うことができない。
なお、Pin情報αは、ユーザが事前に登録してもよいし、通信装置200−nまたはサーバ装置100が割り当て、割り当てたPin情報αをユーザに報知してもよい。
サーバ装置100は、予めマスター公開鍵R=g1 sを生成し、記憶部110に記憶しておく(S102)。なお、本実施形態ではsをマスター秘密鍵とし、マスター公開鍵R=g1 sは非公開とする。
<鍵共有処理>
通信装置200−nの生成部240は、公開情報IDAとともに鍵共有要求をサーバ装置100に送信する(S111)。
サーバ装置100の共有鍵生成部120は、通信装置200−nの公開情報IDAとともに鍵共有要求を受け取ると、公開情報IDAを記憶部210に記憶する。さらに、第一情報mを生成し(m←{0,1}n)、第一情報mを用いて共有鍵kを生成し(k←H4(m))、第一情報mと、通信装置200−nから送信される公開情報IDAと、非公開のマスタ−公開鍵Rとから情報cを得る(S121)。
r←H3(m)
Q←R・g1 H_1(ID_A)
U←Qr
V←m xor H2(e(g1,g2)r)
c←(U,V)
共有鍵生成部120は、サーバ装置100の情報c,IDBを通信装置200−nに送信する(S122)。なお、情報c,IDBをサーバ装置100の公開情報ともいう。
通信装置200−nの生成部240は、公開情報c,IDBを受け取ると、記憶部210に記憶する。さらに、Pin情報αの入力をユーザに促す。ユーザがPin情報αを入力し、通信装置200−nの生成部240が、Pin情報αを受け取ると、記憶部210から長期秘密鍵補助情報DID'を取り出し、これらの情報から長期秘密鍵DIDを得る(DID←DID'・g2 α)。
通信装置200−nの共有鍵生成部220は、長期秘密鍵DIDと、公開情報cとを用いて第一情報mを得、第一情報mを用いて共有鍵kを生成する(S123)。
Parse c as (U,V)
β←e(U,DID)
m←H2(β) xor V
r←H3(m)
k←H4(m)
適切な処理が行われていた場合、通信装置200−nの共有鍵生成部220で生成した共有鍵kと、サーバ装置100の共有鍵生成部120で生成した共有鍵kとが一致する。
<認証処理>
通信装置200−nの認証情報生成部230は、共有鍵kを用いて認証情報t(t=MAC(k,m||r||IDA||IDB||c))を生成し(S132)、サーバ装置100に送信する(S133)。
サーバ装置100の認証部130は、認証情報tを受け取る。認証部130は、共有鍵生成部120で生成した共有鍵kを用いて認証情報t'(t'=MAC(k,m||r||IDA||IDB||c))を生成し、認証情報tと認証情報t'とを用いて、通信装置200−nに入力されたPin情報αが正しいかを認証する(S141)。
認証情報tと認証情報t'とが一致する場合には、入力されたPin情報αが正しいと判断し共有鍵Kを用い、一致しない場合には接続を拒否し、通信装置200−nに対してエラーを返す。
<効果>
このような構成により、既存の鍵共有プロトコルにPin入力と認証処理を追加できる。ユーザだけが知っているPin情報と、ユーザだけが所有している通信装置に記憶された長期秘密鍵補助情報とを用いて二要素認証を可能としている。通信装置(クライアント)とサーバ装置間での鍵共有に対し、Pin入力が可能な鍵共有システムを構築することができる。なお、本実施形態では、短期秘密鍵を利用していないため、その漏えいが生じない。ユーザは通信装置200−nを介してPinを入力し、SK-KEMプロトコルの最後にMAC計算を追加し、サーバ装置100では、そのMAC値が一致するか確認することで、正しい入力かを確認する。一致する場合に限り、共有鍵Kを用いる。サーバにてPinの入力誤りをカウントしておき、一定回数以上の誤りが合った場合には、そのIDを失効させることで、Pinの総当たり攻撃を防止することが可能である。
なお、第一実施形態の変形例と同様に本実施形態においても、tとt'=MAC(k,m||r||IDA||IDB||c)は、kとsidのみを入力するMAC(k,sid)でもよい。この場合、共有鍵kの使用期限が過ぎた後で、共有鍵kを第三者に渡すことで、第三者は共有鍵kと公開情報IDA||IDB||cとでMAC値を認証することができる。また、第一実施形態の変形例と同様にハッシュ値等を用いて認証処理を行ってもよい。
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(ApplicationServiceProvider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1. 通信装置と通信するサーバ装置であって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、前記通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記サーバ短期秘密鍵xBRZ'qと前記通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成部と、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、前記通信装置から送信される認証情報を用いて、前記通信装置に入力されたPin情報が正しいかを認証する認証部と、を含む、
    サーバ装置。
  2. サーバ装置と通信する通信装置であって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置長期秘密鍵補助情報DA,1'と前記サーバ装置が公開する情報であるサーバ公開情報を記憶する記憶部と、
    当該通信装置の通信装置短期秘密鍵xAと、前記サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成部と、
    ユーザが入力したPin情報と前記通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、前記通信装置短期秘密鍵xAと前記通信装置長期秘密鍵DA,2∈G'1とを用いて、前記サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記通信装置短期秘密鍵xARZ'qと前記サーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成部と、
    前記通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含む、
    通信装置。
  3. サーバ装置と通信装置とを含む鍵共有システムであって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    前記サーバ装置は、
    サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、前記通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記サーバ短期秘密鍵xBRZ'qと前記通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成部を含み、
    前記通信装置は、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、通信装置長期秘密鍵補助情報DA,1'と前記サーバ装置が公開する情報であるサーバ公開情報を記憶する記憶部と、
    当該通信装置の通信装置短期秘密鍵xAと、前記サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成部と、
    ユーザが入力したPin情報と前記通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、前記通信装置短期秘密鍵xAと前記通信装置長期秘密鍵DA,2∈G'1とを用いて、前記サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記通信装置短期秘密鍵xARZ'qと前記サーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成部と、
    前記通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含み、
    前記サーバ装置は、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、前記通信装置から送信される認証情報を用いて、前記通信装置に入力されたPin情報が正しいかを認証する認証部をさらに含む、
    鍵共有システム。
  4. 通信装置と通信するサーバ装置を用いる鍵共有方法であって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    前記サーバ装置が、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、前記通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記サーバ短期秘密鍵xBRZ'qと前記通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成ステップと、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、前記通信装置から送信される認証情報を用いて、前記通信装置に入力されたPin情報が正しいかを認証する認証ステップと、を含む、
    鍵共有方法。
  5. サーバ装置と通信する通信装置を用いる鍵共有方法であって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、前記通信装置には、通信装置長期秘密鍵補助情報DA,1'と前記サーバ装置が公開する情報であるサーバ公開情報とが記憶されるものとし、
    前記通信装置が、当該通信装置の通信装置短期秘密鍵xAと、前記サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成ステップと、
    前記通信装置が、ユーザが入力したPin情報と前記通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、前記通信装置短期秘密鍵xAと前記通信装置長期秘密鍵DA,2∈G'1とを用いて、前記サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記通信装置短期秘密鍵xARZ'qと前記サーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成ステップと、
    前記通信装置が、前記通信装置共有鍵を用いて認証情報を生成する認証情報生成ステップとを含む、
    鍵共有方法。
  6. サーバ装置と通信装置とを用いる鍵共有方法であって、
    G'1を楕円曲線上の群E(F'q)における部分群とし、G'2を群E(F'q^k)の部分群とし、xA,xBRZ'qとし、ペアリング演算の入力がG'1とG'2の元の線形結合で表現されるものとし、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、前記通信装置には、通信装置長期秘密鍵補助情報DA,1'が記憶されるものとし、
    前記通信装置が、当該通信装置の通信装置短期秘密鍵xAと、前記サーバ装置に送信する当該通信装置の公開情報に含まれるXA,1∈G'1、XA,2∈G'2とを作成する生成ステップと、
    前記サーバ装置が、サーバ短期秘密鍵xBとサーバ長期秘密鍵DB,2∈G'2とを用いて、前記通信装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記サーバ短期秘密鍵xBRZ'qと前記通信装置から送信される公開情報に含まれるXA,1∈G'1、XA,2∈G'2とから共有値σL-1=xBXA,1、σL=xBXA,2を求め、求めた共有値σi(i=1,…,L)からサーバ共有鍵を作成するサーバ共有鍵生成ステップと、
    前記通信装置が、前記サーバ装置が公開する情報であるサーバ公開情報を記憶する記憶ステップと、
    前記通信装置が、ユーザが入力したPin情報と前記通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,2を得、前記通信装置短期秘密鍵xAと前記通信装置長期秘密鍵DA,2∈G'1とを用いて、前記サーバ装置から送信される公開情報に対して、ペアリング演算により共有値σi(i=1,…,L-2)を求め、前記通信装置短期秘密鍵xARZ'qと前記サーバ装置から送信される公開情報に含まれるXB,1∈G'1、XB,2∈G'2とから共有値σL-1=xAXB,1、σL=xAXB,2を求め、求めた共有値σi(i=1,…,L)から通信装置共有鍵を作成する通信装置共有鍵生成ステップと、
    前記通信装置が、前記通信装置共有鍵を用いて認証情報を生成する認証情報生成ステップと、
    前記サーバ装置が、ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DA,1'とから通信装置長期秘密鍵DA,1が得られるものとし、認証情報は通信装置長期秘密鍵DA,1を用いて通信装置で生成された通信装置共有鍵を用いて生成されるものとし、前記通信装置から送信される認証情報を用いて、前記通信装置に入力されたPin情報が正しいかを認証する認証ステップとを含む、
    鍵共有方法。
  7. サーバと通信装置とを含む鍵共有システムであって、
    前記サーバ装置は、
    第一情報mを用いてサーバ共有鍵を生成し、前記第一情報mと、前記通信装置から送信される公開情報と、非公開のマスタ−公開鍵Rとから情報cを得るサーバ共有鍵生成部を含み、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報D'IDとから通信装置長期秘密鍵DIDが得られるものとし、
    前記通信装置は、
    前記サーバ装置が公開する情報であるサーバ公開情報に含まれる情報cと、通信装置長期秘密鍵補助情報DID'とを記憶する記憶部と、
    ユーザが入力したPin情報と通信装置長期秘密鍵補助情報DID'とから通信装置長期秘密鍵DIDを得、前記通信装置長期秘密鍵DIDと、前記サーバ装置から送信される公開情報に含まれる情報cとを用いて第一情報mを得、前記第一情報mを用いて通信装置共有鍵を生成する通信装置共有鍵生成部と、
    前記通信装置共有鍵を用いて認証情報を生成する認証情報生成部とを含み、
    前記サーバ装置は、
    前記通信装置から送信される認証情報と前記サーバ共有鍵とを用いて、前記通信装置に入力されたPin情報が正しいかを認証する認証部をさらに含む、
    鍵共有システム。
  8. 請求項1のサーバ装置、または、請求項2の通信装置としてコンピュータを機能させるためのプログラム。
JP2017231514A 2017-12-01 2017-12-01 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム Active JP6808609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017231514A JP6808609B2 (ja) 2017-12-01 2017-12-01 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017231514A JP6808609B2 (ja) 2017-12-01 2017-12-01 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019102959A true JP2019102959A (ja) 2019-06-24
JP6808609B2 JP6808609B2 (ja) 2021-01-06

Family

ID=66974303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017231514A Active JP6808609B2 (ja) 2017-12-01 2017-12-01 サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6808609B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989451A (zh) * 2019-12-19 2020-04-10 广东金莱特电器股份有限公司 多点触摸与遥控共用检测控制方法
CN114128209A (zh) * 2019-07-17 2022-03-01 日本电信电话株式会社 密钥交换系统、通信装置、密钥交换方法及程序

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757918A (en) * 1995-01-20 1998-05-26 Tandem Computers Incorporated Method and apparatus for user and security device authentication
JP2016129301A (ja) * 2015-01-09 2016-07-14 日本電信電話株式会社 鍵装置、鍵交換システム、およびプログラム
JP2016526342A (ja) * 2013-05-30 2016-09-01 ミラクル リミテッド ペアリングを使用した多因子ゼロ知識認証
JP2017208773A (ja) * 2016-05-20 2017-11-24 日本電信電話株式会社 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757918A (en) * 1995-01-20 1998-05-26 Tandem Computers Incorporated Method and apparatus for user and security device authentication
JP2016526342A (ja) * 2013-05-30 2016-09-01 ミラクル リミテッド ペアリングを使用した多因子ゼロ知識認証
JP2016129301A (ja) * 2015-01-09 2016-07-14 日本電信電話株式会社 鍵装置、鍵交換システム、およびプログラム
JP2017208773A (ja) * 2016-05-20 2017-11-24 日本電信電話株式会社 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114128209A (zh) * 2019-07-17 2022-03-01 日本电信电话株式会社 密钥交换系统、通信装置、密钥交换方法及程序
CN114128209B (zh) * 2019-07-17 2024-05-24 日本电信电话株式会社 密钥交换系统、通信装置、密钥交换方法及记录介质
CN110989451A (zh) * 2019-12-19 2020-04-10 广东金莱特电器股份有限公司 多点触摸与遥控共用检测控制方法
CN110989451B (zh) * 2019-12-19 2020-12-22 广东金莱特电器股份有限公司 基于多点触摸与遥控共用检测控制系统的检测控制方法

Also Published As

Publication number Publication date
JP6808609B2 (ja) 2021-01-06

Similar Documents

Publication Publication Date Title
JP7372938B2 (ja) ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
US10686604B2 (en) Key device, key cloud system, decryption method, and program
JP6040313B2 (ja) マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CN108696360A (zh) 一种基于cpk密钥的ca证书发放方法及系统
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
JP2022549070A (ja) ブロックチェーン上に認証済みデータを格納するコンピュータにより実施される方法及びシステム
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
JP6808609B2 (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
Mir et al. Decentralized, Privacy‐Preserving, Single Sign‐On
US10033711B2 (en) Directory service device, client device, key cloud system, method thereof, and program
JP6267658B2 (ja) 署名生成装置、署名システム、署名生成方法、およびプログラム
JP5432776B2 (ja) Idベース暗号利用方法、暗号化装置、管理装置及びそれらのプログラム
Hahn et al. Enhanced authentication for outsourced educational contents through provable block possession
JP2021114641A (ja) 統合属性ベースグループ署名処理方法、統合属性ベースグループ署名認証処理方法、統合属性ベースグループ署名追跡処理方法、統合属性ベースグループ署名処理システム、および、プログラム
JP5739078B1 (ja) サーバ装置、通信方法、およびプログラム
Crocker et al. Secret Sharing Framework Based on Digital Certificates

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201209

R150 Certificate of patent or registration of utility model

Ref document number: 6808609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150