JP3695526B2 - 暗号鍵更新方法 - Google Patents
暗号鍵更新方法 Download PDFInfo
- Publication number
- JP3695526B2 JP3695526B2 JP2001305280A JP2001305280A JP3695526B2 JP 3695526 B2 JP3695526 B2 JP 3695526B2 JP 2001305280 A JP2001305280 A JP 2001305280A JP 2001305280 A JP2001305280 A JP 2001305280A JP 3695526 B2 JP3695526 B2 JP 3695526B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption key
- encryption
- communication
- bit
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、暗号鍵更新方法に関し、特に、共有鍵暗号を用いた暗号通信において、暗号鍵を簡単かつ安全に更新する暗号鍵更新方法に関する。
【0002】
【従来の技術】
インターネットを用いて電子商取引を行う時には、第3者に知られることなく、安全に2点A,B間で通信を行うために、データは暗号化して伝送されている。その時に利用される暗号技術として、現在広く使用されているのは、AESやDESに代表される共有鍵暗号方式である。これは、通信を行うA,B間でのみ共有している共通暗号鍵をもとに、送信するデータを第3者に分からないデータに変換する方法である。
【0003】
DES(Data Encryption Standard)は、これまでアメリカ合衆国政府の国立標準研究所(NIST)が、データ暗号の標準として推奨してきた共有鍵暗号方式である。AES(Advanced Encryption Standard)は、DESに代わるデータ暗号の標準としてNISTが公募し、数学者J.Daemen,V.Rijmenによって開発されたRijndaelと呼ばれる暗号化方式である。どちらも共有鍵を利用して、固定サイズのブロックに区切られたデータを高速に暗号化する共有鍵暗号方式であり、ブロックサイファーと呼ばれる。この変換に必要な計算量は大変小さい。8ビットの2数の積を求める計算と、鍵と同じビット数(64,128,196,256ビットのいずれか)の2数の和を求める計算が必要なだけである。
【0004】
ここで使われる共有鍵は、第3者に知られてはならないものである。しかし、同じ鍵を何度も使い続けると、知られてしまう可能性がある。これを避けるために、通信を何度か行うごとに、鍵を交換し直している。この鍵交換では、最も安全とされるDiffie-Hellman(1976)の鍵交換方式が利用されることが多い。すなわち、公開された大きな素数pと、位数pの有限体GF(p)の乗法群の生成元gを用いて、AとBがそれぞれ乱数a,bを発生させる。AはBに(ga modp)を送り、BはAに(gb modp)を送る。それぞれ、
k=(gb)a mod p=(ga)b modp
を計算し、秘密鍵として共有する。この鍵交換方法は、DES,AESの変換に比べ大変安全だが、256ビット(128または512ビットの場合もある)の数同士の冪乗を計算するため、計算量がとても大きく、低速である。
【0005】
安全性を維持しながら、鍵交換の負荷を少なくするために、各種の方法が提案されている。特開2000-278258号公報に開示された「共通鍵交換方法」は、共通鍵暗号方式を用いた秘密通信を行うための通信量が少なく、効率的で安全な鍵交換方法である。1回目の鍵交換は、Diffie-Hellman鍵交換方式において必要な全てのパラメータの生成を行ない、公開情報の共有処理を行った上で、鍵交換処理を行う。2回目以降の鍵交換においては、既に共有されている秘密情報を、新たな鍵交換における公開情報の一つとして使用し、このパラメータの生成および共有処理は行わずに、鍵交換処理を行う。2回目以降の鍵交換処理時に、共有すべき公開情報の一部を生成する必要が無いため、鍵交換処理において任意数発生の処理が省略できる。また、通知すべきパラメータが少なくなるため、共有すべき公開情報を含むパケットのサイズが小さくなる。ひいては、通信量を少なくすることができ、通信路に公開情報を送信する必要をなくすことができる。
【0006】
また、特開2001-60256号公報に開示された「データ更新機能付きICカード」は、鍵更新のための特別なカード処理のためのセンターを不要にし、安全に鍵更新できるようにするものである。ICカードに暗号用鍵の更新予定日を登録しておき、外部からの時間情報と更新予定日に基づいて更新時期を判別し、更新予定日以降に、現在の暗号用鍵データと取引回数データとから演算して新しい鍵を生成し、更新する。
【0007】
【発明が解決しようとする課題】
しかし、従来の暗号鍵更新方法においては、Diffie-Hellman鍵交換方式で通信中に鍵交換を行うと、その計算を行っている間、電子商取引をストップさせることになり、定期的に待ち時間と通信コストが生じるという問題があった。
【0008】
本発明は、上記従来の問題を解決して、通信を必要としない効率的で安全な鍵更新方法により、鍵更新を通信終了後に行うことで、待ち時間と通信コストを削減することを目的とする。
【0009】
【課題を解決するための手段】
上記の課題を解決するために、本発明では、共有鍵暗号方式で暗号通信を行う二点間の共有秘密情報に基づいて、更新暗号鍵を同じ一方向性関数に従って二点それぞれで別々に生成することにより、通信をせずに暗号鍵更新を行う暗号鍵更新方法を、暗号鍵のサイズより大きい共有秘密情報を二点で共有し、共通秘密情報を含む情報から、一方向性関数により共通秘密情報よりも情報量が少ない新しい暗号鍵を生成する構成とした。
【0010】
このように構成したことにより、簡単かつ安全に暗号鍵を更新することができる。また、暗号鍵交換のためのデータのやり取りをしない代わりに、最初に交換する共通秘密情報のサイズを、暗号鍵サイズより大きくとっておくことで、通信時に共通秘密情報の一部しか外に現れないようにして、暗号鍵を更新するごとに、その前の暗号鍵にはなかった新たな情報が加わるようにして、新たに選び直すことに相当する安全性を得ている。通信では元の共通秘密情報の一部しか見せないことで、新規に暗号鍵を生成したと同様な状態を作り出し、安全性を高めることができる。また、暗号鍵更新のための情報を通信しないため、その情報を漏らさないための処理が不要となる。さらに、次の暗号鍵を生成できることが本人であることの証明にもなり、認証としての役割を得ることもできる。
【0011】
また、一方向性関数を、あらかじめ取り決めた合成数Nを法とする剰余環における乗算を行う関数としたので、素数を法とした場合に比べ乱数度と強度を高めることができる。暗号鍵更新のための計算量も、通信を利用して新たな鍵を安全に交換するよりも少なくできる。
【0012】
また、一回の通信を終了するごとに暗号鍵を更新するので、暗号鍵更新を通信終了後に行えるようになり、暗号鍵更新のための通信中の待ち時間と通信コストを削減できる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態について、図1〜図6を参照しながら詳細に説明する。
【0014】
(第1の実施の形態)
本発明の第1の実施の形態は、最初にDiffie-Hellman鍵交換方式で256ビットの基本鍵を交換して、基本鍵を二乗して1とならないことを確認し、これを更新基本鍵とし、そのうちの64ビットをDESの暗号鍵とし、2回目からは、更新基本鍵を二乗した新更新基本鍵のうちの64ビットをDESの暗号鍵とする暗号鍵更新方法である。
【0015】
図1は、本発明の第1の実施の形態における暗号鍵更新方法の概念図である。図2は、本発明の第1の実施の形態における暗号鍵更新方法の概略の流れ図である。この方法は、平方剰余により疑似乱数を生成するBlum-Blum-Shub(BBS)法を利用した方法であるので、仮にBBS法と呼ぶ。最初に、図1と図2を参照して、本発明の第1の実施の形態における暗号鍵更新方法の概略を説明する。
【0016】
図1に示すように、256ビットの基本鍵kを二乗して、更新基本鍵hを求める。更新基本鍵hのうちの64ビットを抽出して、暗号鍵gとする。図2の流れ図に示すステップ1で、剰余計算に使う法Nと鍵交換に使う乱数rを用意する。ステップ2で、Diffie-Hellman鍵交換方式により256ビットの基本鍵kを、通信相手と交換する。ステップ3で、基本鍵kを二乗して更新基本鍵hとする。ステップ4で、更新基本鍵hのうちの64ビットを抽出して、暗号鍵gとする。ステップ5で、暗号鍵gをDESの暗号鍵として、暗号通信を行う。ステップ6で、更新基本鍵hを二乗して新しい更新基本鍵hとする。ステップ7で、新しい更新基本鍵hのうちの64ビットを抽出して、次の暗号鍵gとする。ステップ5に戻り、暗号通信を行う。これを繰り返す。
【0017】
以下、各ステップについて、詳しく説明する。DES方式の暗号を用いて暗号通信を行う場合を例として説明する。DESでは64ビットの暗号鍵を用いる。送りたいデータ(平文)を64ビットに区切って、暗号鍵で暗号文に変換する。DESを利用した通信では、同じ暗号鍵を長く使い続けると、暗号鍵が破られて、その後のすべての文書を解読されてしまう。これを回避するため、一回の通信を終了する度に暗号鍵を更新して、安全性を確保する。
【0018】
暗号鍵の更新における計算は、素数pを法とする剰余での計算(GF(p)での計算)ではなく、合成数N(=s×t)を法とする剰余環での計算とする。GF(p)での演算では除算及び平方根を求める簡単な計算方法が存在するが、合成数を法とする剰余環では、与えられた元に逆元があっても因数分解を知らずにこれを求めるには膨大な計算量がかかるため、除算及び平方根を求めることも事実上不可能で、因数を求める効率の良い計算方法も見つかっていないので、暗号鍵の逆算が困難になるためである。
【0019】
あらかじめ、合成数Nを準備しておく。128ビットの素数s,tで、(s−1)/2も(t−1)/2も素数となるものを選び、N=s×t(256ビット)とする。例えば、2進125ビットの乱数xを次々に発生させる。1x1(乱数xのMSBの上位桁に1を連接し、LSBの下位桁にも1を連接した127ビットの数、すなわち、2126+2x+1)に素数検定をかける。これが素数ならば、1x11(さらにLSBの下位桁に1を連接した128ビットの数、2127+4x+3)に素数検定をかける。これが素数検定に合格すれば、この数を使う。これを、2回の素数検定に合格するまで繰り返す。このようにして、素数s=1x11を見つけることができる。素数tも同様にして見つける。
【0020】
また、256ビットの乱数rで、
r(s-1)≠1 modN
r(t-1)≠1 modN
となるものを選んで装備しておく。s,tは非公開とする。この場合には、
re=1 modN
をみたす最小の正の整数eは(s−1)(t−1)/2となり、十分に大きく、s,tを知らない人が、eを求めることは難しい。
【0021】
通信を行う人も、以下の計算過程でs,tを知る必要はないので、N,rは、システムとしてあらかじめ装備しておく。利用者それぞれが複数の通信相手を持つ場合にも、積の計算はすべて同じmodNで行うことにする。
【0022】
最初の基本鍵kの交換には、最も安全な方法と考えられているDiffie-Hellman鍵交換方式を、素数での剰余の代わりに合成数Nでの剰余に置き換えたものを用いる。ここでは、有限体上のDiffie-Hellman鍵交換方式と同様な剰余環上の鍵交換方式も、Diffie-Hellman鍵交換方式と呼ぶことにする。すなわち、以下の方法で、256ビットの基本鍵kを交換する。
【0023】
通信を行うAとBは、それぞれ256ビットの乱数a,bを発生させて、AはBに、(ra modN)を送り、BはAに、(rb modN)を送り、それぞれが、
k=(rb)a modN=(ra)b modN
を計算し、kを基本鍵として秘密に共有する。Diffie-Hellman鍵交換方式以外の方法で、基本鍵kを交換してもよい。例えば、公開鍵方式で基本鍵kを相手に送ることもできる。
【0024】
基本鍵kをこのように選ぶと、合成数Nを法とする剰余環において、基本鍵kのべき乗で生成される乗法群の位数e、すなわち、
ke=1 modN
をみたす最小の正の整数eは、
k2≠1 modN
であれば、(s−1)(t−1)/2,(s−1)(t−1)/4,(s−1),(t−1),(s−1)/2,(t−1)/2のいずれかであり、どれも十分に大きい。また、s,tを知らない人がこれを求めるには、Nを因数分解するか、全数チェックすることが必要となる。この計算量は十分に多いため、現在の技術では事実上求めることができないものとみなせる。
【0025】
1回目の通信に用いる暗号鍵g(k,1)は、
h(k,1)=k2 modN
の最初の64ビットとする。すなわち、基本鍵kを二乗して更新基本鍵hを求め、256ビットの更新基本鍵の最初の64ビットを取り出して、暗号鍵gとする。i回目の通信に利用する暗号鍵g(k,i)は、
h(k,i)=h(k,i−1)2 modN
のi(mod 256)ビット目(MSBを1ビット目とする)から、mod 256ビットで見て連続する64ビットとする。
【0026】
i番目の暗号鍵g(k,i)を用いての通信時には、暗号鍵g(k,i)の他に、更新基本鍵h(k,i)を保存しておき、その通信の終了後、次の通信までの間に、それぞれが、
h(k,i+1)=h(k,i)2 modN
を計算し、(i+1)番目の暗号鍵g(k,i+1)を生成し、次の通信に用いる。もちろん、速度に問題がなければ、通信中に並行して次の暗号鍵gを計算しておき、必要となった場合、すぐに暗号鍵gを更新するようにしてもよい。
【0027】
2回目以降の鍵更新を、通信中には行わないので、暗号鍵更新のための待ち時間と通信コストを削減できる。また、2回目以降の暗号鍵gを生成するための計算量も、256ビットの数2つの積の計算1回分に相当し、冪乗の計算を行うDiffie-Hellman鍵交換方式を用いる場合に比べれば、はるかに小さい。そのため、通信の度に暗号鍵gを取り替えることが可能となり、DESのように十分に安全とは言えなくなった暗号方式で通信を行っても、通信相手以外の者が暗号鍵を推定することは困難となる。
【0028】
さらに、i番目の暗号鍵g(k,i)を用いての通信のデータから、第三者がDESを解読して暗号鍵g(k,i)を推定できたとしても、更新基本鍵h(k,i)を推定するには、残りのビットに相当する2192通りの可能性を考えなくてはならず、DESの64ビット鍵を求める以上の計算量が必要となる。
【0029】
また、このように基本鍵kを次々に二乗して、未知の2つの素数の積Nでの剰余h(k,i)を作り、これを並べて作った列が、乱数として大変優れたもの、すなわち連続するいくつものデータを集めても、次のビットをランダムより良い確率で予測することが難しい、という性質をもつ乱数列になっていることは、文献[L. Blum, M. Blum, M. Shub: "A Simple Unpredictable Psudo-Random Number Generator", SIAM J. Comput. Vol15, No.2, May 1986]で示されている。よって、いくつかの暗号鍵g(k,i)を推定しても、法則を見つけることは大変に難しく、他の暗号鍵を推定するには、やはり全数チェック相当の計算が必要となると考えられ、安全に通信を行うことができる。
【0030】
上記のように、本発明の第1の実施の形態では、暗号鍵更新方法を、最初にDiffie-Hellman鍵交換方式で256ビットの基本鍵を交換して、基本鍵を二乗して更新基本鍵とし、そのうちの64ビットをDESの暗号鍵とし、2回目からは、更新基本鍵を二乗した新更新基本鍵のうちの64ビットをDESの暗号鍵とする構成としたので、暗号鍵の交換のための通信をすることなく、簡単な計算で安全に暗号鍵を更新できる。
【0031】
(第2の実施の形態)
本発明の第2の実施の形態は、最初に、鍵管理センターから256ビットの基本鍵を取得して共有し、基本鍵から加減算で64ビットのDES暗号鍵を生成し、2回目からは、32ビットの加減乗算で基本鍵を更新し、更新した基本鍵から加減算で64ビットのDES暗号鍵を生成する暗号鍵更新方法である。
【0032】
図3は、本発明の第2の実施の形態における暗号鍵更新方法の概念図である。図4は、本発明の第2の実施の形態における暗号鍵更新方法の概略の流れ図である。この方法は、加減算により暗号鍵を生成するので、仮に加減算法と呼ぶ。携帯端末やICカードなどでは、電子商取引を行うために信頼できる暗号処理が必要にもかかわらず、メモリやCPUや待ち時間の上限等の制約がある。大きな暗号鍵データをいくつも保存することも、32ビット以上の2つの数の冪乗の計算を行うことも難しい。十分に安全な暗号方式でデータを暗号化することが困難である。データの変換方式を簡易なものに変えるかわりに、暗号鍵の更新を、計算量も少なく、しかも頻繁に、例えば、電子商取引を行うたびに行うことで、十分な安全性を確保する。図3と図4を参照して、本発明の第2の実施の形態における暗号鍵更新方法の概略を説明する。
【0033】
図3に示すように、256ビットの基本鍵kを32ビットずつに分け、上位128ビットについて32ビットずつの加減算を行い、64ビットの暗号鍵gの上位32ビットとする。下位128ビットについて32ビットずつの加減算を行い、64ビットの暗号鍵gの下位32ビットとする。図4の流れ図に示すステップ12で、センターから256ビットの基本鍵kを取得する。ステップ13で、基本鍵kから加減算により暗号鍵gを計算する。ステップ14で、暗号鍵gをDESの暗号鍵として、暗号通信を行う。ステップ15で、加減乗算により、基本鍵kから新しい基本鍵kを生成する。ステップ16で、新しい基本鍵kから加減算により暗号鍵gを計算する。ステップ14に戻り、暗号通信を行う。これを繰り返す。
【0034】
以下、各ステップについて、詳しく説明する。商取引には、64ビットの暗号鍵を用いたDESまたはストリームサイファーで情報の変換をする。上記のような制約がある場合には、暗号鍵情報を、通信路を利用して安全に交換することはできないため、一回目の電子商取引を始める前には、鍵管理センターに直接アクセスしてデータを取り込むことで、256ビットの基本鍵kを共有しておく。
【0035】
しかし、鍵管理センターに頻繁に直接アクセスして256ビットの基本鍵を共有させるのは、手間がかかりすぎて実用上問題があるため、現在保有している情報から、実現可能な計算量で次回の通信に使う暗号鍵を生成する。
【0036】
商取引を始める直前に、共有する基本鍵kから、通信に用いる64ビットの暗号鍵gを得るため、次のような計算をする。まず、図3に示すように、基本鍵kを32ビットごとに区切り、x1,x2,x3,x4,x5,x6,x7,x8とする。以下、計算はすべてmod232で行う。商取引に用いる64ビット鍵gは、上位32ビットを、x1-x2+{x3(EXOR)x4 }で求める。下位32ビットを、{x5(EXOR)x6 }+x7-x8で求める。ここで、(EXOR)は、ビットごとに排他的論理和をとる関数とする。基本鍵kから64ビットの暗号鍵gを求める計算は、和と(EXOR)だけからなる。これは大変簡単な計算で、時間もほとんどかからない。
【0037】
商取引終了直後に、基本鍵kを更新するための計算を、次のように行う。すなわち、
y1=x1×x5
y2=x2×x7
y3=x3(EXOR)x8
y4=x4−x6
y5=x3×x6
y6=x4×x8
y7=x1(EXOR)x7
y8=x2(EXOR)x5
として、xiをyiに代えて基本鍵kを更新し、次の通信まで保存しておく。携帯端末なら、通信終了後に計算すれば良い。ICカードなら、電子商取引終了時に上の計算をして基本鍵kを更新し、書き換えておくようにすれば良い。
【0038】
32ビットの積を4回計算する他は、和と(EXOR)しか計算していないため、かなり制約の大きい通信装置でも、簡単に計算することができる。また、自身が保有するデータだけを利用して、通信することなく次の暗号鍵を生成できるため、暗号鍵の更新が容易に行える。
【0039】
さらに、通信及び電子商取引終了後には、必ず自動的に暗号鍵を更新しているため、次の暗号鍵を生成できることが、本人であることの証明にもなる。第三者によるなりすまし、すなわち、取引のために暗号化して送ったデータをそのまま送ることで同じ取引を実現すること、を防止することも可能になる。
【0040】
上記のように、本発明の第2の実施の形態では、暗号鍵更新方法を、最初に、鍵管理センターから256ビットの基本鍵を取得して共有し、基本鍵から加減算で64ビットのDES暗号鍵を生成し、2回目からは、32ビットの加減乗算で基本鍵を更新し、更新した基本鍵から加減算で64ビットのDES暗号鍵を生成する構成としたので、1回通信するのみで、きわめて簡単な計算で安全に暗号鍵を更新できる。
【0041】
(第3の実施の形態)
本発明の第3の実施の形態は、最初に、Diffie-Hellman鍵交換方式で512ビットの基本鍵kを交換し、基本鍵kのうちの下位256ビットをS-box処理してk乗した結果の下位256ビットをAESの暗号鍵とし、2回目からは、前回の暗号鍵をS-box処理したものをk乗した結果の下位256ビットをAESの暗号鍵とする暗号鍵更新方法である。
【0042】
図5は、本発明の第3の実施の形態における暗号鍵更新方法の概念図である。図6は、本発明の第3の実施の形態における暗号鍵更新方法の概略の流れ図である。この方法は、べき乗により暗号鍵を生成するので、仮にべき乗法と呼ぶ。これからの共有鍵暗号方式の標準として推奨されるAES暗号方式のうち、もっとも安全性の高い256ビット暗号鍵を用いた暗号化方式を用いる。ある程度の計算量はかかっても良いから、更に安全性を強化して、できるだけ外部に情報を漏らさずに通信を行いたい場合の暗号鍵更新方法である。図5と図6を参照して、本発明の第3の実施の形態における暗号鍵更新方法の概略を説明する。
【0043】
図5に示すように、512ビットの基本鍵kの下位256ビットを抽出して、最初の暗号鍵gとする。暗号鍵gをS-box処理して、f(g)とする。これをk乗して、512ビットの法Nの剰余を求め、その下位256ビットを次回の暗号鍵gとする。図6の流れ図に示すステップ21で、剰余計算に使う法Nと鍵交換に使う乱数rを用意する。ステップ22で、Diffie-Hellman鍵交換方式により512ビットの基本鍵kを、通信相手と交換する。ステップ23で、基本鍵kの下位256ビットをS-box処理してk乗した結果の下位256ビットを暗号鍵gとする。ステップ24で、暗号鍵gをDESの暗号鍵として、暗号通信を行う。ステップ25で、基本鍵kと暗号鍵gのビットパターンに応じて暗号鍵gの更新を行うかどうかを判断する。更新を行う場合は、ステップ26で、暗号鍵gをS-box処理してk乗した結果の下位256ビットを新しい暗号鍵gとする。ステップ24に戻り、暗号通信を行う。これを繰り返す。
【0044】
以下、各ステップについて、詳しく説明する。第1の実施の形態と同様に、256ビットの素数s,tで、(s−1)/2も(t−1)/2も素数となるものを生成する。計算は、N=s×t(512ビット)を法とする剰余環で行う。通信を行うA,Bは、最初の基本鍵kを、Diffie-Hellman鍵交換方式で交換する。交換し共有した512ビットの基本鍵kは、それぞれ秘密に保存し続ける。
【0045】
AESにおけるデータの変換には、S-boxと呼ばれる8ビットの情報の一対一対応を与える関数を使う。256ビットの2進数を8ビットごとに区切り、それぞれにS-boxを施す関数をfとする。また、任意の数に対して、mod2256をとる関数をM256とし、modNをとる関数をMNとする。
【0046】
まず、基本鍵kの下位256ビットを取り出し、g(k,0)とする。すなわち、
g(k,0)=M256(k)
とする。実際の通信に用いる最初の暗号鍵g(k,1)は、g(k,0)をS-box処理し、その結果のk乗の法Nでの剰余を求め、その下位256ビットを使う。すなわち、
g(k,1)=M256(MN(f(g(k,0))k))
とする。2回目以降の暗号鍵は、それぞれが、
g(k,i+1)=M256(MN(f(g(k,i))k))
を計算することにより、i番目の鍵g(k,i)から(i+1)番目の鍵g(k,i+1)を生成する。
【0047】
次回に使う暗号鍵gは、通信中でもそうでなくても、暗号鍵更新後1時間以内に計算しておく。i番目の暗号鍵g(k,i)を利用している間に保存しておく情報は、g(k,i),g(k,i+1),kの合わせて1024ビットである。
【0048】
暗号鍵更新のタイミングは、AESを用いた通信をスタートさせるときに、A,Bの時計を同期させることで決める。通信中でもそれ以外でも、1時間ごとに基本鍵kと暗号鍵gを見て、最後に暗号鍵更新をしてからi時間目には、基本鍵kのi番目のビットと、その時に共有鍵としている暗号鍵gのi番目のビットを比べて、一致している場合に、次の暗号鍵に取り替える。24時間経過したら、一致しなくても取り替える。
【0049】
ここで用いるS-boxは、AESのために装備されているものなので、新たに大きな関数を書き加える必要はない。2回目以降の暗号鍵を生成するための計算量は、冪計算を行っているので、Diffie-Hellman鍵交換方式を用いるのと同程度に大きくなるが、暗号鍵の安全性も同程度に高くなる。また、暗号鍵更新のための信号を送らないため、暗号鍵更新のタイミングも第三者にはわからず、機密性の高い暗号通信装置を実現することができる。
【0050】
上記のように、本発明の第3の実施の形態では、暗号鍵更新方法を、最初に、Diffie-Hellman鍵交換方式で512ビットの基本鍵kを交換し、基本鍵kのうちの下位256ビットをS-box処理してk乗した結果の下位256ビットをAESの暗号鍵とし、2回目からは、前回の暗号鍵をS-box処理したものをk乗した結果の下位256ビットをAESの暗号鍵とする構成としたので、通信することなく、安全に暗号鍵を更新できる。
【0051】
【発明の効果】
以上の説明から明らかなように、本発明では、共有鍵暗号方式で暗号通信を行う二点間の共有秘密情報に基づいて、次に使う暗号鍵を同じ一方向性関数に従って二点それぞれで別々に生成することにより、通信をせずに暗号鍵更新を行う暗号鍵更新方法を、共通秘密情報を一方向性関数により更新し、更新した共通秘密情報の情報量を削減することにより新しい暗号鍵を生成する構成としたので、暗号鍵更新を、高い安全性を損なうことなく、通信をせずに行うことが可能となり、待ち時間と通信コストの削減を実現できるという効果が得られる。
【0052】
また、暗号鍵更新のための情報を通信しないため、その情報を漏らさないための処理が不要となる。暗号鍵更新のための計算量も、通信を利用して新たな鍵を安全に交換するよりも少なくできる。これにより、頻繁に共有鍵を取り替えることが可能となり、同じコストで、これまで以上に信頼性の高い暗号通信装置を実現することができる。
【0053】
また、携帯端末やICカードを用いて電子商取引を行う場合など、信頼できる暗号処理が必要にもかかわらず、メモリやCPUの制約により、AES等の十分に安全な共有鍵暗号方式でデータを変換することが困難な場合にも、データの変換方式を簡易なものに変えるかわりに、鍵の更新を頻繁に行うことで、高い安全性を確保することが可能となる。
【0054】
すでに設計済みの暗号を強化したい場合にも、用いる鍵の倍のサイズの鍵を共有して、通常より頻繁に鍵更新を行うことで、通信を必要とする鍵交換の回数は増やさずに、同じ暗号で安全性を高めることもできる。この場合、鍵更新に必要な情報を通信する必要がないため、あらかじめ取り決めた鍵情報がなければわからないタイミングで鍵更新を行えば、鍵更新したことすら気づかせずに鍵を代えることもできる。
【0055】
さらに、大切な電子商取引を行う場合には、終了後には必ず自動的に鍵を更新することにより、次の鍵を生成できることが本人であることの証明にもなり、第三者によるなりすまし、すなわち、取引のために暗号化して送ったデータをそのまま送ることで同じ取引を実現することを防止する効果も得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における暗号鍵更新方法の概念図、
【図2】本発明の第1の実施の形態における暗号鍵更新方法の概略の流れ図、
【図3】本発明の第2の実施の形態における暗号鍵更新方法の概念図、
【図4】本発明の第2の実施の形態における暗号鍵更新方法の概略の流れ図、
【図5】本発明の第3の実施の形態における暗号鍵更新方法の概念図、
【図6】本発明の第3の実施の形態における暗号鍵更新方法の概略の流れ図である。
【符号の説明】
k 基本鍵
h 更新基本鍵
g 暗号鍵
Claims (4)
- 共有鍵暗号方式で暗号通信を行うICカードにおいて、暗号鍵の桁数の2倍以上の桁数の共有秘密情報を保持する手段と、部分桁の加減算と連接操作のみで大きい数から小さい数を生成する一方向性関数を用いて前記共有秘密情報から暗号鍵を生成する手段と、前記共有秘密情報を数回だけの加減乗算からなる更新用関数により更新する手段と、一回の取引を終了するごとに前記暗号鍵を更新するように制御する手段とを具備することを特徴とするICカード。
- 前記更新用関数は、8ワードの共有秘密情報に対して1ワード(32ビット)の数の加減乗算を8回行う関数であることを特徴とする請求項1記載のICカード。
- 共有鍵暗号方式で暗号通信を行う携帯端末において、暗号鍵の桁数の2倍以上の桁数の共有秘密情報を保持する手段と、部分桁の加減算と連接操作のみで大きい数から小さい数を生成する一方向性関数を用いて前記共有秘密情報から暗号鍵を生成する手段と、前記共有秘密情報を数回だけの加減乗算からなる更新用関数により更新する手段と、一回の通信を終了するごとに前記暗号鍵を更新するように制御する手段とを具備することを特徴とする携帯端末。
- 前記更新用関数は、8ワードの共有秘密情報に対して1ワード(32ビット)の数の加減乗算を8回行う関数であることを特徴とする請求項3記載の携帯端末。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001305280A JP3695526B2 (ja) | 2001-10-01 | 2001-10-01 | 暗号鍵更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001305280A JP3695526B2 (ja) | 2001-10-01 | 2001-10-01 | 暗号鍵更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003110540A JP2003110540A (ja) | 2003-04-11 |
JP3695526B2 true JP3695526B2 (ja) | 2005-09-14 |
Family
ID=19125092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001305280A Expired - Fee Related JP3695526B2 (ja) | 2001-10-01 | 2001-10-01 | 暗号鍵更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3695526B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6201871B1 (en) * | 1998-08-19 | 2001-03-13 | Qualcomm Incorporated | Secure processing for authentication of a wireless communications device |
US7366302B2 (en) * | 2003-08-25 | 2008-04-29 | Sony Corporation | Apparatus and method for an iterative cryptographic block |
BRPI0415314B8 (pt) * | 2003-10-14 | 2018-05-02 | Magnus Nystroem | método e arranjo para gerenciar gerações de informação de código de segurança em um ambiente de informação, e, entidades consumidora e de produção de código de segurança em um ambiente de informação |
JP5072225B2 (ja) * | 2006-01-18 | 2012-11-14 | 株式会社リコー | 通信システム、通信方法および通信装置 |
JP2014175970A (ja) | 2013-03-12 | 2014-09-22 | Fuji Xerox Co Ltd | 情報配信システム、情報処理装置及びプログラム |
JP2013236397A (ja) * | 2013-07-23 | 2013-11-21 | Nti Corp | 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム |
WO2016035793A1 (ja) * | 2014-09-02 | 2016-03-10 | 大日本印刷株式会社 | 通信装置、鍵データ更新方法、及び鍵データ更新処理プログラム |
US9929863B2 (en) * | 2015-10-30 | 2018-03-27 | Palo Alto Research Center Incorporated | System and method for efficient and semantically secure symmetric encryption over channels with limited bandwidth |
JP6108012B2 (ja) * | 2016-06-14 | 2017-04-05 | 富士ゼロックス株式会社 | 情報配信システム、情報処理装置及びプログラム |
WO2022085243A1 (ja) * | 2020-10-22 | 2022-04-28 | 住友電気工業株式会社 | 車載装置、暗号化通信方法および暗号化通信プログラム |
-
2001
- 2001-10-01 JP JP2001305280A patent/JP3695526B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003110540A (ja) | 2003-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4596686B2 (ja) | Dpaに対して安全な暗号化 | |
KR101205109B1 (ko) | 메시지 인증 방법 | |
CN101401141B (zh) | 信息处理系统以及信息处理方法 | |
US7221756B2 (en) | Constructions of variable input length cryptographic primitives for high efficiency and high security | |
US7007050B2 (en) | Method and apparatus for improved pseudo-random number generation | |
NZ277128A (en) | Public key encryption system and mixture generator | |
CN102957538A (zh) | 信息处理设备和信息处理方法 | |
CN110011995A (zh) | 多播通信中的加密和解密方法及装置 | |
Koko et al. | Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication | |
CN106067878A (zh) | 一种网络数据加密传输方法 | |
JP3695526B2 (ja) | 暗号鍵更新方法 | |
RU2459367C2 (ru) | Способ формирования переменного ключа для блочного шифрования и передачи шифрованных данных | |
Rabah | Theory and implementation of data encryption standard: A review | |
Walia | Cryptography Algorithms: A Review | |
Sun et al. | A lightweight secure protocol for wireless sensor networks | |
JP3358953B2 (ja) | 擬似ランダムビット列生成器及びそれを使用する暗号通信方法 | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
CN112907247A (zh) | 一种区块链授权计算控制方法 | |
Hameed et al. | SMX algorithm: A novel approach to avalanche effect on advanced encryption standard AES | |
JPH1093548A (ja) | 擬似ランダムビット列生成器及びそれを使用する暗号通信方法 | |
JP2000286830A (ja) | 暗号通信システムにおける暗号化処理方法 | |
Singh | A Note on Symmetric Key Cryptosystems | |
Ramakrishnan et al. | Wireless security protocol using a low cost pseudo random number generator | |
JP2000004223A (ja) | 暗号・認証システム | |
EP4123956A1 (en) | Method for securely transferring data elements values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040913 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20040913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20041013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050221 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050324 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050621 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |