JP2012078574A - 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム - Google Patents

鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム Download PDF

Info

Publication number
JP2012078574A
JP2012078574A JP2010223881A JP2010223881A JP2012078574A JP 2012078574 A JP2012078574 A JP 2012078574A JP 2010223881 A JP2010223881 A JP 2010223881A JP 2010223881 A JP2010223881 A JP 2010223881A JP 2012078574 A JP2012078574 A JP 2012078574A
Authority
JP
Japan
Prior art keywords
key
key exchange
integer
exchange device
term
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
JP2010223881A
Other languages
English (en)
Other versions
JP5427156B2 (ja
Inventor
Kazuki Yoneyama
一樹 米山
Kotaro Suzuki
幸太郎 鈴木
Atsushi Fujioka
淳 藤岡
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 JP2010223881A priority Critical patent/JP5427156B2/ja
Publication of JP2012078574A publication Critical patent/JP2012078574A/ja
Application granted granted Critical
Publication of JP5427156B2 publication Critical patent/JP5427156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】攻撃者が短期秘密鍵を取得しても安全性を維持できる階層型ID認証鍵交換方式を提供する。
【解決手段】鍵交換装置は、短期鍵生成部、短期公開鍵受信部、セッション鍵生成部を備える。短期鍵生成部は、0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵xとし、x=H(SA,M,x)を計算し、(P^x,PB,2^x,…,PB,N^x)を短期公開鍵epk=(X,XB,2,…,XB,N)とし、短期公開鍵epkを相手の鍵交換装置に送信する。短期公開鍵受信部は、相手の鍵交換装置から、短期公開鍵epk=(Y,YA,2,…,YA,M)を受信する。セッション鍵生成部は、σ,σ,σを計算し、ハッシュ関数Hを用いてセッション鍵Kを求める。
【選択図】図6

Description

本発明は、2つの装置で鍵を共有するための鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラムに関する。
従来の階層型ID認証鍵交換方式として、非特許文献1のMDC方式が知られている。背景技術の説明では、kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、g=e(g,g)は群Gの生成元、Hは群Gの元をkビットの整数に変換するハッシュ関数、H’は群Gの元をkビットの整数に変換するハッシュ関数、fはkビット以上の整数をkビットの整数に変換するメッセージ認証コード、LはIDの階層の深さの最大値、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、IDAmとIDBmは0以上p−1以下の整数、^はべき乗を示す記号、(+)は排他的論理和を示す記号とする。
図1は、従来の階層型ID認証鍵交換方式のシステム構成を説明するための図である。図1のシステムでは、ネットワーク1000を介して鍵生成手段910、鍵交換装置A920〜鍵交換装置A920、鍵交換装置B930〜鍵交換装置B930が接続されている。鍵交換装置A920〜鍵交換装置A920は階層的に識別子が付与されており、鍵交換装置A920の識別子は(IDA1,…,IDAm)である。同様に鍵交換装置B930〜鍵交換装置B930も階層的に識別子が付与されており、鍵交換装置B930の識別子は(IDB1,…,IDBn)である。
鍵生成手段910は、群Gの元g,g,h,…,h、および0以上p−1以下の整数sをランダムに選ぶ。そして、g^sをマスタ秘密鍵とし、(g,g=g^s,g,g,h,…,h,g,f,H,H’)をマスタ公開鍵とし、マスタ公開鍵を公開する。
鍵生成手段910は、0以上p−1以下の乱数rAmを生成し、
((g^s)・((h^IDA1)・…・(h^IDAm)・g)^rAm,g^rAm,(hm+1^rAm),…,(h^rAm))=(uA1,uA2,uA|m+1,…,uA|L
を鍵交換装置A920用の秘密鍵dAmとする。また、鍵生成手段910は、同様に0以上p−1以下の乱数rBnを生成し、
((g^s)・((h^IDB1)・…・(h^IDBn)・g)^rBn,g^rBn,(hn+1^rBn),…,(h^rBn))=(uB1,uB2,uB|n+1,…,uB|L
を鍵交換装置B930用の秘密鍵dBnとする。
このように鍵が生成された状態で、ユーザUが使用する鍵交換装置A920とユーザUが使用する鍵交換装置B930とが共有鍵Kを共有する手順を次に示す。鍵交換装置A920は、0以上p−1以下の整数xをランダムに選び、短期秘密鍵とする。そして、
=g^x
=((h^IDB1)・…・(h^IDBN)・g)^x
=g^x
を計算し、(U,X,X)を短期公開鍵として鍵交換装置B930に送る。なお、Xは秘密情報として鍵交換装置A920が保持する。
鍵交換装置B930は、(U,X,X)を受信する。鍵交換装置B930は、0以上p−1以下の整数yをランダムに選び、短期秘密鍵とする。そして、
=g^y
=((h^IDA1)・…・(h^IDAM)・g)^y
=g^y
を計算する。また、
=e(X,uB1)/e(uB2,X
=e(g^x,(g^s)・((h^IDB1)・…・(h^IDBN)・g)^rBN)/e(g^rBN,((h^IDB1)・…・(h^IDBN)・g)^x)
=e(g^x,g^s)
=g^x
を計算し、メッセージ認証子hを
h=fHA(U,U,Y,Y
ただし、HA=H(K
のように計算する。そして、(X,Y,Y,h)を短期公開鍵として鍵交換装置A920に送信する。また、鍵交換装置B930は、共有鍵Kを、
K=H’(K^y)(+)H’(K・Y
のように計算して求める。
鍵交換装置A920は、(X,Y,Y,h)を受信する。鍵交換装置A920は、メッセージ認証子hが、
HX(U,U,Y,Y
ただし、HX=H(X
と等しいことを確認する。そして、等しくない場合は、鍵交換装置A920は処理を中止する。等しい場合は、鍵交換装置A920
=e(Y,uA1)/e(uA2,Y
=e(g^y,(g^s)・((h^IDA1)・…・(h^IDAM)・g)^rAM)/e(g^rAM,((h^IDA1)・…・(h^IDAM)・g)^y)
=e(g^y,g^s)
=g^y
を計算し、共有鍵Kを、
K=H’(K^x)(+)H’(K・X
のように計算して求める。
ここで、
^y=K^x=g^(xy)
・Y=K・X=g^(x+y)
なので、鍵交換装置A920と鍵交換装置B930とが求めた共有鍵Kは一致する。
森山大輔, 土井洋, 趙晋輝, "A Two-Party Hierarchical Identity Based Key Agreement Protocol Without Random Oracles",暗号と情報セキュリティシンポジウムSCIS2008 , 4D1-1,2008.
しかしながら、従来技術は短期秘密鍵が漏れると安全でなくなるという課題がある。具体的には、攻撃者Cが、短期秘密鍵x、yを取得したとすると、攻撃者Cは、
K=H’(g^(xy))(+)H’(g^(x+y))
を計算することで、共有鍵Kを取得できる。
本発明は、攻撃者が短期秘密鍵を取得しても安全性を維持できる階層型ID認証鍵交換方式を提供することを目的とする。
まず、kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をkビットの整数に変換するハッシュ関数、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、IDA,mとIDB,mは任意の整数、sとsA,mとsB,nはランダムに選択された0以上p−1以下の整数、Sは群Gの単位元、P=g、Q=P^s、^はべき乗を示す記号とする。そして、本発明の鍵交換装置は、識別子がID=(IDA,1,…,IDA,M)であり、長期秘密鍵として(SA,M,QA,1,…,QA,M)を記録している。また、鍵交換を行う相手の鍵交換装置は、識別子がID=(IDB,1,…,IDB,N)であり、長期秘密鍵として(SB,N,QB,1,…,QB,N)を記録している。そして、
A,0=sB,0=s
A,0=SB,0=S
とすると、
1〜Mのすべてのmと1〜Nのすべてのnについて、
A,m=H(IDA,1,…,IDA,m
A,m=SA,m−1A,m^sA,m−1
A,m=P^sA,m
B,n=H(IDB,1,…,IDB,n
B,n=SB,n−1B,n^sB,n−1
B,n=P^sB,n
の関係である。なお、IDA,M≠IDB,Nであれば、IDA,m=IDB,nでもよい。
本発明の第1の鍵交換装置は、短期鍵生成部、短期公開鍵受信部、セッション鍵生成部を備える。短期鍵生成部は、0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵xとし、x=H(SA,M,x)を計算し、(P^x,PB,2^x,…,PB,N^x)を短期公開鍵epk=(X,XB,2,…,XB,N)とし、短期公開鍵epkを相手の鍵交換装置(第2の鍵交換装置)に送信する。短期公開鍵受信部は、相手の鍵交換装置(第2の鍵交換装置)から、短期公開鍵epk=(Y,YA,2,…,YA,M)を受信する。セッション鍵生成部は、
σ=e(Q,PB,1)^x
Figure 2012078574
σ=Y^x
を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求める。
本発明の第2の鍵交換装置(第1の鍵交換装置の相手の鍵交換装置)も、短期鍵生成部、短期公開鍵受信部、セッション鍵生成部を備える。短期公開鍵受信部は、相手の鍵交換装置(第1の鍵交換装置)から、短期公開鍵epk=(X,XB,2,…,XB,N)を受信する。短期鍵生成部は、0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵yとし、y=H(SB,N,y)を計算し、(P^y,PA,2^y,…,PA,M^y)を短期公開鍵epk=(Y,YA,2,…,YA,M)とし、短期公開鍵epkを相手の鍵交換装置(第1の鍵交換装置)に送信する。セッション鍵生成部は、
Figure 2012078574
σ=e(Q,PA,1)^y
σ=X^y
を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求める。
本発明の鍵交換装置によれば、相手の鍵交換装置のIDに対応する短期公開鍵を計算する際に、短期秘密鍵をそのままべき乗するのではなく、長期秘密鍵と短期秘密鍵のハッシュ値をべき乗する。したがって、短期秘密鍵が漏れても、長期秘密鍵が漏れない限りハッシュ値の値は分からない。このように片方の秘密鍵が漏洩したとしても攻撃者は共有鍵を求めることができない。したがって、本発明の鍵交換装置は高い安全性を有している。
従来の階層型ID認証鍵交換方式のシステム構成を説明するための図。 実施例1の鍵交換装置の階層を示す図。 実施例1の鍵交換システムの機能構成例を示す図。 マスタ鍵生成手段の処理フローを示す図。 すべての鍵交換装置が長期秘密鍵を記録するまでの処理フローを示す図。 鍵を共有する処理のフローを示す図。 仮想的な階層構造を示す図。 変形例の鍵交換システムの機能構成例を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。また、以下の説明では、kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をkビットの整数に変換するハッシュ関数、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、ID*,*は任意の整数、sとs*,*はランダムに選択された0以上p−1以下の整数、Sは群Gの単位元、P=g、Q=P^s、^はべき乗を示す記号とする。
図2に実施例1の鍵交換装置の階層を示す。最上位の階層(階層1)に1つ以上の鍵交換装置があり、これらの鍵交換装置は識別子として、1つのID*,*を有する。例えば、鍵交換装置A120は、識別子としてIDA,1を有する。上位側からm番目の階層(階層m)の鍵交換装置は、上位の鍵交換装置が有する識別子に1つの識別子ID*,*を加えたものを識別子として有する。例えば、鍵交換装置A120は、識別子として(IDA,1,IDA,2)を有する。そして、上位側からM番目の階層(階層M)に属する鍵交換装置A120は、識別子として(IDA,1,IDA,2,…,IDA,M)を有する。また、上位側からN番目の階層(階層N)に属する鍵交換装置B130は、識別子として(IDB,1,IDB,2,…,IDB,N)を有する。本実施例では、共有鍵を共有する処理を行う鍵交換装置A120と鍵交換装置B130とは異なる鍵交換装置であることは言うまでもない。しかし、鍵交換装置A120と鍵交換装置B130の上位の鍵交換装置が同一であってもかまわない。例えば、上位からI番目の階層(階層I:ただし、Iは1以上M未満かつN未満の整数)までの鍵交換装置が同一であり、I+1番目の階層から異なる場合もある。このときは、(IDA,1,IDA,2,…,IDA,I)と(IDB,1,IDB,2,…,IDB,I)は同じである。
図3は、実施例1の鍵交換システムの機能構成例を示す図である。鍵交換システムは、ネットワーク1000で接続されたマスタ鍵生成手段110と複数の鍵交換装置で構成されている。図3では、本実施例の説明に必要な範囲の鍵交換装置を示しているが、この他にも鍵交換装置を備えてもよい。また、説明の都合上、鍵交換装置A120〜鍵交換装置A120と鍵交換装置B130〜鍵交換装置B130を別々の装置として示している。しかし、上述のとおり、(IDA,1,IDA,2,…,IDA,I)と(IDB,1,IDB,2,…,IDB,I)とが同じ場合には、鍵交換装置A120と鍵交換装置B130(ただし、iは1以上I以下の整数)は、同じ装置である。
図4は、マスタ鍵生成手段の処理フローを示す図である。マスタ鍵生成手段110は、0以上p−1以下の整数から1つを選定してマスタ秘密鍵sを生成する(S110)。そして、Sを群Gの単位元に設定し、PとQをP=g、Q=P^sのように求め、前記のPとQを公開する(S112)。次に、マスタ鍵生成手段110は、最上位の階層の鍵交換装置ごとに、P、Sを求める(S113)。そして、最上位の階層のすべての鍵交換装置のためのP、Sを求めたかを確認する(S114)。ステップS114がNoの場合には、最上位の階層の別の鍵交換装置に対象を変更し(S115)、ステップS113に戻る。図3の例の場合であれば、最上位の階層の鍵交換装置A120のためのP、SであるPA,1、SA,1を、
A,1=H(IDA,1
A,1=SA,1^s
のように計算する(S113)。そして、IDB,1≠IDA,1の場合(S114がNoの場合)は、対象を鍵交換装置B130に変更し(S115)、鍵交換装置B130のためのP、SであるPB,1、SB,1を、
B,1=H(IDB,1
B,1=SB,1^s
のように計算する(S113)。
図5は、すべての鍵交換装置が長期秘密鍵を記録するまでの処理フローを示す図である。図3に示したように、鍵交換装置A120は、短期鍵生成部121、短期公開鍵受信部122、セッション鍵生成部123、乱数生成部124、情報取得部125、長期秘密鍵計算部126、記録部129を備える。なお、乱数生成部124、情報取得部125、長期秘密鍵計算部126で長期秘密鍵生成部142を構成している。同様に、鍵交換装置B130は、短期鍵生成部131、短期公開鍵受信部132、セッション鍵生成部133、乱数生成部134、情報取得部135、長期秘密鍵計算部136、記録部139を備える。なお、乱数生成部134、情報取得部135、長期秘密鍵計算部136で長期秘密鍵生成部143を構成している。
乱数生成部124は、0以上p−1以下の整数の中からランダムに整数を選択し、鍵交換装置A120用のsであるsA,mを生成する(S141)。情報取得部125がSA,m,QA,1,…,QA,m−1を取得し、長期秘密鍵計算部126がQA,m=P^sA,mのように、鍵交換装置A120用のQであるQA,mを求める(S142)。鍵交換装置A120は、下位の階層に配下の鍵交換装置があるかを確認する(S143)。ステップS143がNoの場合は、後述するステップS147に進む。ステップS143がYesの場合は、長期秘密鍵計算部126は、1つ下位の配下の鍵交換装置Am+1120m+1(識別子がIDA,1,…,IDA,m,IDA,m+1)用のPm+1、Sm+1であるPA,m+1、SA,m+1を求めるために、
A,m+1=H(IDA,1,…,IDA,m,IDA,m+1
A,m+1=SA,mA,m+1^sA,m
を計算する(S144)。鍵交換装置A120は、1つ下位の階層の配下の鍵交換装置のためのPm+1、Sm+1をすべて求めたかを確認する(S145)。ステップS145がNoの場合には、対象を1つ下位の階層の配下の別の鍵交換装置に変更し(S146)、ステップS144を行う。ステップS145がYesの場合には、ステップS147に進む。長期秘密鍵計算部126は、(SA,m,QA,1,…,QA,m)を鍵交換装置A120の長期秘密鍵とする(S147)。ステップS141〜S147が長期秘密鍵生成部142(1台の鍵交換装置の長期秘密鍵生成部)が行う処理(S140)である。
鍵交換システムのいずれかの装置が、すべての鍵交換装置がステップS140の処理を実行したかを確認する(S148)。ステップS148がNoの場合は、上位側の鍵交換装置であってステップS140を実行していない鍵交換装置に対象を変更し(S149)、ステップS140を実行する。この処理を繰り返すことで、ステップS148がYesになり、すべての鍵交換装置が長期秘密鍵を記録した状態となる。このとき、鍵交換装置A120は、識別子が(IDA,1,…,IDA,m)であり、長期秘密鍵として(SA,m,QA,1,…,QA,m)を記録しており、鍵交換装置B130は、(IDB,1,…,IDB,n)であり、長期秘密鍵として(SB,n,QB,1,…,QB,n)を記録している。そして、
A,0=sB,0=s
A,0=SB,0=S
とすると、
1〜Mのすべてのmと1〜Nのすべてのnについて、
A,m=H(IDA,1,…,IDA,m
A,m=SA,m−1A,m^sA,m−1
A,m=P^sA,m
B,n=H(IDB,1,…,IDB,n
B,n=SB,n−1B,n^sB,n−1
B,n=P^sB,n
が成り立つ関係となっている。
図6に、鍵を共有する処理のフローを示す。この処理では、鍵交換装置A120と鍵交換装置B130とが鍵交換を行う。上述のとおり、鍵交換装置A120は、識別子がID=(IDA,1,…,IDA,M)であり、長期秘密鍵として(SA,M,QA,1,…,QA,M)を記録しており、鍵交換装置B130は、識別子がID=(IDB,1,…,IDB,N)であり、長期秘密鍵として(SB,N,QB,1,…,QB,N)を記録している。
鍵交換装置A120の短期鍵生成部121は、0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵xとし、x=H(SA,M,x)を計算し、(P^x,PB,2^x,…,PB,N^x)を短期公開鍵epk=(X,XB,2,…,XB,N)とし、短期公開鍵epkを鍵交換装置B130に送信する(S121)。
鍵交換装置B130の短期公開鍵受信部132は、鍵交換装置A120から短期公開鍵epk=(X,XB,2,…,XB,N)を受信する(S132)。鍵交換装置B130の短期鍵生成部131は、0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵yとし、y=H(SB,N,y)を計算し、(P^y,PA,2^y,…,PA,M^y)を短期公開鍵epk=(Y,YA,2,…,YA,M)とし、短期公開鍵epkを鍵交換装置A120に送信する(S131)。
鍵交換装置A120の短期公開鍵受信部122は、鍵交換装置B130から短期公開鍵epk=(Y,YA,2,…,YA,M)を受信する(S122)。
鍵交換装置A120のセッション鍵生成部123は、
σ=e(Q,PB,1)^x
Figure 2012078574
σ=Y^x
を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求める。例えば、
K=H(σ,σ,σ,PID,ID,ID,epk,epk
ただし、PIDは本実施例のプロトコルを示す識別子
のようにセッション鍵Kを求めればよい。
鍵交換装置B130のセッション鍵生成部133は、
Figure 2012078574
σ=e(Q,PA,1)^y
σ=X^y
を計算し、セッション鍵生成部123と同じようにσ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求める。例えば、
K=H(σ,σ,σ,PID,ID,ID,epk,epk
のようにセッション鍵Kを求めればよい。このように処理することによって、セッション鍵Kを共有できる。なお、
Figure 2012078574
σ=X^y=Y^x=P^(xy)
である。したがって、鍵交換装置A120が計算するセッション鍵Kと鍵交換装置B130が計算するセッション鍵Kとは等しくなる。
なお、鍵交換装置A120と鍵交換装置B130の処理が逆でもよい。また、鍵交換装置A120は別の鍵交換装置と鍵交換を行う場合には、鍵交換装置A120が上述の鍵交換装置B130の処理を行うこともあり得る。したがって、セッション鍵生成部123は、
Figure 2012078574
σ=e(Q,PB,1)^x
σ=Y^x
のようにσ,σ,σを求めることもできるようにすればよい。そして、この場合は、どちらの方法でσ,σ,σを求めるかは、鍵交換システムのルールとしてあらかじめ定めておけばよい。
本実施例の鍵交換装置によれば、相手の鍵交換装置のIDに対応する短期公開鍵を計算する際に、短期秘密鍵をそのままべき乗するのではなく、長期秘密鍵と短期秘密鍵のハッシュ値をべき乗する。したがって、短期秘密鍵が漏れても、長期秘密鍵が漏れない限りハッシュ値の値は分からない。このように片方の秘密鍵が漏洩したとしても攻撃者は共有鍵を求めることができない。したがって、本発明の鍵交換装置は高い安全性を有している。
[変形例1]
実施例1では、各鍵交換装置120,130が長期秘密鍵生成部142,143を備え、長期秘密鍵生成部142,…,142,143,…,143のすべてを合わせたものが、鍵交換システムの長期秘密鍵生成手段であった。しかし、長期秘密鍵生成部142,…,142,143,…,143を1つの装置にまとめてもよいし、何個かに分散させてもよい。また、識別子がID=(IDA,1,…,IDA,M)の鍵交換装置A120と識別子がID=(IDB,1,…,IDB,N)の鍵交換装置B130とが鍵交換を行うときに、他の鍵交換装置は必要ない。そして、何らかの方法で、鍵交換装置A120が長期秘密鍵(SA,m,QA,1,…,QA,m)を記録し、鍵交換装置B130が長期秘密鍵(SB,n,QB,1,…,QB,n)を記録していれば、鍵交換を行うことができる。さらに、マスタ鍵生成手段と長期秘密鍵生成手段は、鍵交換システムの外部の装置が備え、必要に応じてネットワークを介して接続してもよい。
図7は、仮想的な階層構造を示す図であり、点線で示した装置は実在しなくてもよい。鍵交換装置A120と鍵交換装置B130とは、このような仮想的な階層構造での識別子を有していてもよいし、実在する鍵交換装置によって形成された階層構造での識別子を有していてもよい。図8に示すように鍵交換システムが、マスタ鍵生成手段110、鍵交換装置A220、鍵交換装置B230、長期秘密鍵生成手段240を備えればよい。本変形例では、鍵交換装置A220の長期秘密鍵も鍵交換装置B230の長期秘密鍵も、長期秘密鍵生成手段240が生成する。したがって、鍵交換装置A220と鍵交換装置B230は、長期秘密鍵生成部142,143を備えていない。長期秘密鍵生成手段240は、乱数生成部144、情報取得部145、長期秘密鍵計算部146、記録部149を備えている。
本変形例では、情報取得部145が、マスタ鍵生成手段110が生成した最上位の階層の鍵交換装置用のすべてのPとSを取得した上で、図5の処理フローすべてを長期秘密鍵生成手段240が行う。図5の処理が終了したときには、鍵交換装置A120は長期秘密鍵(SA,M,QA,1,…,QA,M)を記録しており、鍵交換装置B130は、長期秘密鍵(SB,N,QB,1,…,QB,N)を記録している。そして、
A,0=sB,0=s
A,0=SB,0=S
とすると、
1〜Mのすべてのmと1〜Nのすべてのnについて、
A,m=H(IDA,1,…,IDA,m
A,m=SA,m−1A,m^sA,m−1
A,m=P^sA,m
B,n=H(IDB,1,…,IDB,n
B,n=SB,n−1B,n^sB,n−1
B,n=P^sB,n
が成り立つ関係となっている。
鍵を共有する処理のフローは図6と同じであり、実施例1とまったく同じなので説明は省略する。本変形例の場合も、鍵交換装置A120が長期秘密鍵(SA,m,QA,1,…,QA,m)を記録し、鍵交換装置B130が長期秘密鍵(SB,n,QB,1,…,QB,n)を記録しているので、実施例1と同じ鍵交換を実行でき、同じ効果が得られる。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
110 マスタ鍵生成手段
120、130、220、230、920、930 鍵交換装置
121、131 短期鍵生成部 122、132 短期公開鍵受信部
123、133 セッション鍵生成部 124、134 乱数生成部
125、135 情報取得部 126、136 長期秘密鍵計算部
129、139 記録部 142、143 長期秘密鍵生成部
144 乱数生成部 145 情報取得部
146 長期秘密鍵計算部 149 記録部
240 長期秘密鍵生成手段 910 鍵生成手段
1000 ネットワーク

Claims (10)

  1. 鍵交換を行う鍵交換装置であって、
    kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をkビットの整数に変換するハッシュ関数、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、IDA,mとIDB,mは任意の整数、sとsA,mとsB,nはランダムに選択された0以上p−1以下の整数、Sは群Gの単位元、P=g、Q=P^s、^はべき乗を示す記号であり、
    当該鍵交換装置は、識別子がID=(IDA,1,…,IDA,M)であり、長期秘密鍵として(SA,M,QA,1,…,QA,M)を記録しており、
    鍵交換を行う相手の鍵交換装置は、識別子がID=(IDB,1,…,IDB,N)であり、長期秘密鍵として(SB,N,QB,1,…,QB,N)を記録しており、
    A,0=sB,0=s
    A,0=SB,0=S
    とすると、
    1〜Mのすべてのmと1〜Nのすべてのnについて、
    A,m=H(IDA,1,…,IDA,m
    A,m=SA,m−1A,m^sA,m−1
    A,m=P^sA,m
    B,n=H(IDB,1,…,IDB,n
    B,n=SB,n−1B,n^sB,n−1
    B,n=P^sB,n
    の関係であり、
    0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵xとし、x=H(SA,M,x)を計算し、(P^x,PB,2^x,…,PB,N^x)を短期公開鍵epk=(X,XB,2,…,XB,N)とし、当該短期公開鍵epkを前記の相手の鍵交換装置に送信する短期鍵生成部と、
    前記の相手の鍵交換装置から、短期公開鍵epk=(Y,YA,2,…,YA,M)を受信する短期公開鍵受信部と、
    σ=e(Q,PB,1)^x
    Figure 2012078574
    σ=Y^x
    を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求めるセッション鍵生成部と
    を備える鍵交換装置。
  2. 鍵交換を行う鍵交換装置であって、
    kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をkビットの整数に変換するハッシュ関数、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、IDA,mとIDB,mは任意の整数、sとsA,mとsB,nはランダムに選択された0以上p−1以下の整数、Sは群Gの単位元、P=g、Q=P^s、^はべき乗を示す記号であり、
    当該鍵交換装置は、識別子がID=(IDB,1,…,IDB,N)であり、長期秘密鍵として(SB,N,QB,1,…,QB,N)を記録しており、
    鍵交換を行う相手の鍵交換装置は、識別子がID=(IDA,1,…,IDA,M)であり、長期秘密鍵として(SA,M,QA,1,…,QA,M)を記録しており、
    A,0=sB,0=s
    A,0=SB,0=S
    とすると、
    1〜Mのすべてのmと1〜Nのすべてのnについて、
    A,m=H(IDA,1,…,IDA,m
    A,m=SA,m−1A,m^sA,m−1
    A,m=P^sA,m
    B,n=H(IDB,1,…,IDB,n
    B,n=SB,n−1B,n^sB,n−1
    B,n=P^sB,n
    の関係であり、
    前記の相手の鍵交換装置から、短期公開鍵epk=(X,XB,2,…,XB,N)を受信する短期公開鍵受信部と、
    0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵yとし、y=H(SB,N,y)を計算し、(P^y,PA,2^y,…,PA,M^y)を短期公開鍵epk=(Y,YA,2,…,YA,M)とし、当該短期公開鍵epkを前記の相手の鍵交換装置に送信する短期鍵生成部と、
    Figure 2012078574
    σ=e(Q,PA,1)^y
    σ=X^y
    を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求めるセッション鍵生成部と
    を備える鍵交換装置。
  3. 請求項1記載の鍵交換装置であって、
    0以上p−1以下の整数の中からランダムに整数を選択する乱数生成部と、
    当該鍵交換装置の外部から情報を取得する情報取得部と、
    長期秘密鍵(SA,M,QA,1,…,QA,M)を生成する長期秘密鍵計算部
    も備え、
    前記のsA,Mは、前記乱数生成部が生成したものであり、
    前記のSA,M,QA,1,…,QA,M−1は、前記情報取得部が取得したものであり、
    前記のQA,Mは、前記長期秘密鍵計算部がQA,M=P^sA,Mのように求めたものであり、
    前記長期秘密鍵計算部は、
    さらに、
    識別子が(IDA,1,…,IDA,M,IDA,M+1)の鍵交換装置のために、
    A,M+1=H(IDA,1,…,IDA,M,IDA,M+1
    A,M+1=SA,MA,M+1^sA,M
    を計算する
    ことを特徴とする鍵交換装置。
  4. 請求項2記載の鍵交換装置であって、
    0以上p−1以下の整数の中からランダムに整数を選択する乱数生成部と、
    当該鍵交換装置の外部から情報を取得する情報取得部と、
    長期秘密鍵(SB,N,QB,1,…,QB,N)を生成する長期秘密鍵計算部
    も備え、
    前記のsB,Nは、前記乱数生成部が生成したものであり、
    前記のSB,N,QB,1,…,QA,N−1は、前記情報取得部が取得したものであり、
    前記のQB,Nは、前記長期秘密鍵計算部がQB,N=P^sB,Nのように求めたものであり、
    前記長期秘密鍵計算部は、
    さらに、
    識別子が(IDB,1,…,IDB,N,IDB,N+1)の鍵交換装置のために、
    B,N+1=H(IDB,1,…,IDB,N,IDB,N+1
    B,N+1=SB,NB,N+1^sB,N
    を計算する
    ことを特徴とする鍵交換装置。
  5. 請求項1または3記載の鍵交換装置であって、
    前記セッション鍵生成部が、
    Figure 2012078574
    σ=e(Q,PB,1)^x
    σ=Y^x
    のように前記のσ,σ,σを求めることもでき、どちらの方法でσ,σ,σを求めるかは、あらかじめ定めた方法に従う
    ことを特徴とする鍵交換装置。
  6. 請求項1記載の鍵交換装置と、
    請求項2記載の鍵交換装置と、
    を備える鍵交換システム。
  7. 請求項6記載の鍵交換システムであって、
    マスタ鍵生成手段と、
    長期秘密鍵生成手段
    も備え、
    前記マスタ鍵生成手段は、
    前記のsを生成し、前記のSを群Gの単位元に設定し、前記のPとQをP=g、Q=P^sのように求め、前記のPとQを公開し、
    前記のPA,1、SA,1
    A,1=H(IDA,1
    A,1=SA,1^s
    のように求め、
    前記のIDB,1≠IDA,1の場合は、前記のPB,1、SB,1
    B,1=H(IDB,1
    B,1=SB,1^s
    のように求め、
    長期秘密鍵生成手段は、
    0以上p−1以下の整数の中からランダムに整数を選択する乱数生成部と、
    前記のSA,1,SB,1を取得する情報取得部と、
    長期秘密鍵を生成する長期秘密鍵計算部と
    を有し、
    前記乱数生成部が前記のsA,mを生成し、
    前記長期秘密鍵計算部が、
    前記のQA,mをQA,m=P^sA,mのように求め、
    前記のPA,m+1とSA,m+1
    A,m+1=H(IDA,1,…,IDA,m,IDA,m+1
    A,m+1=SA,mA,m+1^sA,m
    のように求める処理をm=1〜M−1まで繰返し、
    前記乱数生成部が前記のsA,Mを生成し、
    前記長期秘密鍵計算部が、
    前記のQA,MをQA,M=P^sA,Mのように求め、
    (SA,M,QA,1,…,QA,M)を請求項1記載の鍵交換装置の長期秘密鍵とし、
    n<M−1かつ(IDB,1,…,IDB,n,IDB,n+1)≠(IDA,1,…,IDA,n,IDA,n+1)の場合に、
    前記乱数生成部が前記のsB,nを生成し、
    前記長期秘密鍵計算部が、
    前記のQB,nをQB,n=P^sB,nのように求め、
    前記のPB,n+1とSB,n+1
    B,n+1=H(IDB,1,…,IDB,n,IDB,n+1
    B,n+1=SB,nB,n+1^sB,n
    のように求める処理をn=1〜N−1まで繰返し、
    前記乱数生成部が前記のsB,Nを生成し、
    前記長期秘密鍵計算部が、
    前記のQB,NをQB,N=P^sB,Nのように求め、
    (SB,N,QB,1,…,QB,N)を請求項2記載の鍵交換装置の長期秘密鍵とする
    鍵交換システム。
  8. 識別子がID=(IDA,1,…,IDA,M)であり、長期秘密鍵として(SA,M,QA,1,…,QA,M)を記録する鍵交換装置Aと、識別子がID=(IDB,1,…,IDB,N)であり、長期秘密鍵として(SB,N,QB,1,…,QB,N)を記録する鍵交換装置Bとが鍵交換を行う鍵交換方法であって、
    kは整数、pはkビットの素数、GとGは位数pの巡回群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形ペアリング関数、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をkビットの整数に変換するハッシュ関数、M、Nは整数、mは1以上M以下の整数、nは1以上N以下の整数、IDA,mとIDB,mは任意の整数、sとsA,mとsB,nはランダムに選択された0以上p−1以下の整数、Sは群Gの単位元、^はべき乗を示す記号であり、
    A,0=sB,0=s
    A,0=SB,0=S
    とすると、
    1〜Mのすべてのmと1〜Nのすべてのnについて、
    A,m=H(IDA,1,…,IDA,m
    A,m=SA,m−1A,m^sA,m−1
    A,m=P^sA,m
    B,n=H(IDB,1,…,IDB,n
    B,n=SB,n−1B,n^sB,n−1
    B,n=P^sB,n
    の関係であり、
    鍵交換装置Aが、
    0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵xとし、x=H(SA,M,x)を計算し、(P^x,PB,2^x,…,PB,N^x)を短期公開鍵epk=(X,XB,2,…,XB,N)とし、当該短期公開鍵epkを鍵交換装置Bに送信し、
    鍵交換装置Bが、
    鍵交換装置Aから、前記短期公開鍵epkを受信し、
    0以上p−1以下の整数の中からランダムに選択した整数を短期秘密鍵yとし、y=H(SB,N,y)を計算し、(P^y,PA,2^y,…,PA,M^y)を短期公開鍵epk=(Y,YA,2,…,YA,M)とし、当該短期公開鍵epkを鍵交換装置Aに送信し、
    Figure 2012078574
    σ=e(Q,PA,1)^y
    σ=X^y
    を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求め、
    鍵交換装置Aが、
    鍵交換装置Bから、前記短期公開鍵epkを受信し、
    σ=e(Q,PB,1)^x
    Figure 2012078574
    σ=Y^x
    を計算し、σ,σ,σとハッシュ関数Hを用いてセッション鍵Kを求める
    鍵交換方法。
  9. 請求項8記載の鍵交換方法であって、
    マスタ鍵生成手段が、
    前記のsを生成し、前記のSを群Gの単位元に設定し、前記のPとQをP=g、Q=P^sのように求め、前記のPとQを公開し、
    前記のPA,1、SA,1
    A,1=H(IDA,1
    A,1=SA,1^s
    のように求め、
    前記のIDB,1≠IDA,1の場合は、前記のPB,1、SB,1
    B,1=H(IDB,1
    B,1=SB,1^s
    のように求め、
    長期秘密鍵生成手段が、
    0以上p−1以下の整数の中からランダムに前記のsA,mを生成し、
    前記のQA,mをQA,m=P^sA,mのように求め、
    前記のPA,m+1とSA,m+1
    A,m+1=H(IDA,1,…,IDA,m,IDA,m+1
    A,m+1=SA,mA,m+1^sA,m
    のように求める処理をm=1〜M−1まで繰返し、
    0以上p−1以下の整数の中からランダムに前記のsA,Mを生成し、
    前記のQA,MをQA,M=P^sA,Mのように求め、
    (SA,M,QA,1,…,QA,M)を鍵交換装置Aの前記長期秘密鍵とし、
    n<M−1かつ(IDB,1,…,IDB,n,IDB,n+1)≠(IDA,1,…,IDA,n,IDA,n+1)の場合に、
    0以上p−1以下の整数の中からランダムに前記のsB,nを生成し、
    前記のQB,nをQB,n=P^sB,nのように求め、
    前記のPB,n+1とSB,n+1
    B,n+1=H(IDB,1,…,IDB,n,IDB,n+1
    B,n+1=SB,nB,n+1^sB,n
    のように求める処理をn=1〜N−1まで繰返し、
    0以上p−1以下の整数の中からランダムに前記のsB,Nを生成し、
    前記のQB,NをQB,N=P^sB,Nのように求め、
    (SB,N,QB,1,…,QB,N)を鍵交換装置Bの前記長期秘密鍵とする
    鍵交換方法。
  10. 請求項1から5のいずれかに記載の鍵交換装置としてコンピュータを機能させる鍵交換プログラム。
JP2010223881A 2010-10-01 2010-10-01 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム Active JP5427156B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010223881A JP5427156B2 (ja) 2010-10-01 2010-10-01 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010223881A JP5427156B2 (ja) 2010-10-01 2010-10-01 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム

Publications (2)

Publication Number Publication Date
JP2012078574A true JP2012078574A (ja) 2012-04-19
JP5427156B2 JP5427156B2 (ja) 2014-02-26

Family

ID=46238893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010223881A Active JP5427156B2 (ja) 2010-10-01 2010-10-01 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム

Country Status (1)

Country Link
JP (1) JP5427156B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220669A (ja) * 2013-05-09 2014-11-20 日本電信電話株式会社 鍵交換システム、鍵生成装置、通信装置、鍵交換方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055880A1 (en) * 2005-08-18 2007-03-08 Microsoft Corporation Authenticated key exchange with derived ephemeral keys

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055880A1 (en) * 2005-08-18 2007-03-08 Microsoft Corporation Authenticated key exchange with derived ephemeral keys

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200900101042; 毛利 寿志 他: '階層的ID-based暗号を用いたグループ鍵管理に関する一考察' 情報処理学会研究報告 Vol.2009 No.20, 20090226, p.295-300, 社団法人情報処理学会 *
JPN6013057035; 毛利 寿志 他: '階層的ID-based暗号を用いたグループ鍵管理に関する一考察' 情報処理学会研究報告 Vol.2009 No.20, 20090226, p.295-300, 社団法人情報処理学会 *
JPN6013057037; 藤岡 淳 他: 'eCKモデルで安全なID ベース認証鍵交換方式' 2010年 暗号と情報セキュリティシンポジウム概要集 CD-ROM , 20100119, 3C1-1, 2010年 暗号と情報セキュリティシンポジウム実行委員 *
JPN6013057039; Hai Huang et al: 'An ID-based Authenticated Key Exchange Protocol Based on Bilinear Diffie-Hellman Problem' [online] , 20081213 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220669A (ja) * 2013-05-09 2014-11-20 日本電信電話株式会社 鍵交換システム、鍵生成装置、通信装置、鍵交換方法及びプログラム

Also Published As

Publication number Publication date
JP5427156B2 (ja) 2014-02-26

Similar Documents

Publication Publication Date Title
CN108600227B (zh) 一种基于区块链的医疗数据共享方法及装置
CN111066285B (zh) 基于sm2签名恢复公钥的方法
JP6059258B2 (ja) 分割保管装置、秘密鍵分割保管方法
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
JP4997769B2 (ja) 暗号通信システム、鍵共有方法、鍵提供装置
TW202025666A (zh) 用於共享公共秘密之電腦實施系統及方法
CN112382376A (zh) 基于区块链的医疗器械管理追溯系统
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
JP5650630B2 (ja) 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム
JP5512559B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法、プログラム
JP5469618B2 (ja) 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
JP6635315B2 (ja) Idベース認証鍵交換システム、端末、idベース認証鍵交換方法、プログラム
KR20140148295A (ko) 브로드캐스트 암호화 방법 및 시스템
JP5427156B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム
JP6818220B2 (ja) 鍵共有装置、鍵共有方法及び鍵共有プログラム
JP5651611B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、プログラム
JP2019102959A (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
JP2019200382A (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム
JP2019121999A (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
JP2019125956A (ja) 鍵交換方法、鍵交換システム、鍵交換サーバ装置、通信装置、プログラム
CN112954388A (zh) 一种数据文件的获取方法、装置、终端设备和存储介质
JP2012244232A (ja) 情報共有システム、方法、装置及びプログラム
JP6267657B2 (ja) 安全性強化方法、安全性強化システム、安全性強化装置、検証装置、およびプログラム
JP2021019223A (ja) 鍵交換システム、通信装置、鍵交換方法及びプログラム
JP5486468B2 (ja) 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5427156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350