(57)【要約】【課題】認証相手の装置と乱数を相互にやり取りして相互に認証を行う認証システムにおいて、通信路には秘密鍵を用いて暗号化されたデータが存在せず、かつ、共有鍵が毎回変化する、共有鍵の推定が困難であるシステムを提供する。【解決手段】装置Ａ、Ｂは、同一の構成である。認証装置Ａ，Ｂは、認証の対象となる認証対象装置と乱数を相互にやり取りして認証対象装置の認証を行う。装置Ａは、乱数生成部２ａ，秘密鍵保持部４ａ、鍵生成部５ａ、を備えている。乱数生成部２ａは、乱数を生成する。秘密鍵保持部４ａは、装置Ｂが保有する秘密鍵と同一の秘密鍵を予め格納している。鍵生成部５ａは、乱数生成部２ａにより生成された乱数Ｒｂと、秘密鍵保持部４ａに格納されている秘密鍵とに基づいて、装置Ｂと共有する共有鍵を生成する。認証実行部１０ａは鍵生成部生成５ａにより生成された共有鍵を使用して装置Ｂの認証を実行する。【選択図】図１
2010124376.tif 000002
【特許請求の範囲】
【請求項１】
認証の対象となる認証対象装置と乱数を相互にやり取りして前記認証対象装置の認証を行う認証装置において、
乱数を生成する乱数生成部と、
前記認証対象装置が保有する秘密鍵と同一の秘密鍵を予め格納する秘密鍵保持部と、
前記乱数生成部により生成された前記乱数と、前記秘密鍵保持部に格納されている前記秘密鍵とに基づいて、前記認証対象装置と共有する共有鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記共有鍵を使用して前記認証対象装置の認証を実行する認証実行部と
を備えたことを特徴とする認証装置。
【請求項２】
前記認証装置は、さらに、
他の装置から乱数を受信する通信部を備え、
前記鍵生成部は、
前記通信部により受信された前記乱数と、前記乱数生成部により生成された前記乱数と、前記秘密鍵保持部に格納されている前記秘密鍵とに基づいて、前記認証対象装置と共有する前記共有鍵を生成することを特徴とする請求項１記載の認証装置。
【請求項３】
前記鍵生成部は、
前記乱数に基いて前記秘密鍵に所定の加工処理を加えることにより、前記共有鍵を生成することを特徴とする請求項１または２のいずれかに記載の認証装置。
【請求項４】
前記鍵生成部は、
前記所定の加工処理として、
前記秘密鍵のローテイト処理と、前記秘密鍵の循環シフト処理と、前記秘密鍵の鍵付きハッシュ演算処理と、前記秘密鍵の暗号化演算処理とのいずれかを加えることを特徴とする請求項３記載の認証装置
【請求項５】
認証の対象となる認証対象装置と乱数を相互にやり取りして前記認証対象装置の認証を行う認証装置において、
他の装置から乱数を受信する通信部と、
前記認証対象装置が保有する秘密鍵と同一の秘密鍵を予め格納する秘密鍵保持部と、
前記通信部により受信された前記乱数と、前記秘密鍵保持部に格納されている前記秘密鍵とに基づいて、前記認証対象装置と共有する共有鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記共有鍵を使用して前記認証対象装置の認証を実行する認証実行部と
を備えたことを特徴とする認証装置。
【請求項６】
前記認証装置は、さらに、
乱数を生成する乱数生成部を備え、
前記鍵生成部は、
前記乱数生成部により生成された前記乱数と、前記通信部により受信された前記乱数と、前記秘密鍵保持部に格納されている前記秘密鍵とに基づいて、前記認証対象装置と共有する前記共有鍵を生成することを特徴とする請求項５記載の認証装置。
【請求項７】
請求項１〜６記載のいずれかの認証装置を備え、前記認証装置の前記鍵生成部によって生成された前記共有鍵を使用して、暗号化処理を実行する暗号処理部を備えたことを特徴とする暗号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は認証の対象となる装置と乱数をやり取りしてその装置を認証する認証装置、認証方法に関する。
【背景技術】
【０００２】
従来の「無線通信システムの通信方式」は、チャレンジ＆レスポンス方式によって、乱数を交換し片側認証を行う。交換した乱数は無線端末、基地局に共有され、これらの乱数を使用し鍵共有手段により鍵が生成されていた（例えば、特許文献１）。また、「鍵共有方法及び暗号通信方法」では、生成した乱数を固定鍵で暗号化し送付する。受信側ではそれを復号し、乱数を得る。この動作を送信側、受信側を交換し、再度行い乱数を共有する。その後、共有した乱数を使用して鍵生成を行い、鍵を共有していた（例えば、特許文献２）。
【特許文献１】特開平５−３４７６１７号公報、第４頁〜５頁、第１図
【特許文献２】特開平９−３１２６４３号公報、第７頁、第４図
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の「無線通信システムの通信方式」は、共有される乱数が平文の形で通信路を伝搬するので、通信路をモニタすると共有される乱数がわかるという課題があった。
【０００４】
また、従来の「鍵共有方法及び暗号通信方法」では、暗号化された乱数が通信路を伝搬するが、直接、固定鍵使って乱数を暗号化するため、装置が攻撃者の手に渡り、その動作を調べることで、使用している固定鍵がサイドチャネル情報から判別してしまう恐れがあった。
【０００５】
さらに、従来の「無線通信システムの通信方式」及び「鍵共有方法及び暗号通信方法」では、鍵生成を乱数の連接等で行っているため、推定が容易であったという課題もあった。
【０００６】
この発明は上記のような問題点を解決するためになされたもので、通信路には秘密鍵を用いて暗号化されたデータが存在せず、かつ、共有する鍵が毎回変化する、共有鍵の推定が困難である方法を提供するとともに、鍵共有のために乱数などを通信するシーケンスの必要のない効率的な認証方式を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明の認証装置は、
認証の対象となる認証対象装置と乱数を相互にやり取りして前記認証対象装置の認証を行う認証装置において、
乱数を生成する乱数生成部と、
前記認証対象装置が保有する秘密鍵と同一の秘密鍵を予め格納する秘密鍵保持部と、
前記乱数生成部により生成された前記乱数と、前記秘密鍵保持部に格納されている前記秘密鍵とに基づいて、前記認証対象装置と共有する共有鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記共有鍵を使用して前記認証対象装置の認証を実行する認証実行部と
を備えたことを特徴とする。
【発明の効果】
【０００８】
この発明により、相手認証と乱数を相互にやり取りして相手装置の認証を行う認証装置において、通信路には秘密鍵を用いて暗号化されたデータが存在せず、かつ、共有する鍵が毎回変化するシステムを構築できる認証装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、実施の形態１の暗号通信装置Ａ，Ｂ（認証装置、暗号処理装置）を備えた暗号通信システム１００のブロック図を示している。図１は、暗号通信装置（以下、単に装置ともいう）どうしのデータのやり取りも示している。装置Ａと装置Ｂとは同一の構成であるが、装置Ａと装置Ｂとを区別するため、装置Ａの構成要素には「ａ」を付し、装置Ｂの構成要素には「ｂ」を付して説明する。
【００１０】
装置Ａの具体例としては、ＥＴＣ（Ｅｌｅｃｔｒｏｎｉｃ  Ｔｏｌｌ  Ｃｏｌｌｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）車載器である。装置Ｂの具体例としてはＥＴＣ料金所サーバ装置である。しかしこれらは一例であり、限定されない。
【００１１】
装置は、図１に示すように、通信部１、乱数生成部２、データ保持部３、秘密鍵保持部４、鍵生成部５、暗号処理部７、共有鍵保持部６、比較部８を備える。
【００１２】
また、認証実行部１０は、暗号処理部７と比較部８とで構成される。認証実行部１０は、鍵生成部５により生成された共有鍵を使用（特に暗号処理部）して、相手装置の認証（特に比較部８）を実行する。
【００１３】
図１において、
（１）通信部１はデータを送受信する機能を有する。通信方式は特に限定しないが、どのような通信方式でも本発明の鍵共有方式、認証方式は適用可能である。
（２）乱数生成部２は認証の度ごとに変化する数値を発生する機能を有し、その発生パターンは推定不可能なものである。よって鍵生成部５により生成される後述の共有鍵は毎回変化する。
（３）データ保持部３は通信部で受信したデータを保持する機能を有する。
（４）秘密鍵保持部４は通信装置Ａ、通信装置Ｂで共有している秘密鍵を保持する機能を有する。秘密鍵は予め安全な方法で格納され保持されており、外部から秘密鍵を参照するには特別な方法でしか参照できないものとする。
（５）鍵生成部５は秘密鍵とデータ保持部３のデータを用いて鍵を生成する機能を有する。鍵生成方法は後で詳しく述べる。
（６）共有鍵保持部６は鍵生成部５で生成した鍵を保持する機能を有する。
（７）暗号処理部７は、暗号アルゴリズムに従ってデータを暗号化、または、復号化する機能を有する。実施の形態１，２では暗号アルゴリズムを特に限定しない。暗号アルゴリズムであれば、公開暗号アルゴリズム、非公開暗号アルゴリズムを問わず、適用可能である。
（８）比較部８は、後述のように暗号かされたデータどうしが一致するかどうかを比較する。
（９）通信路１１は装置Ａ、装置Ｂの通信部１ａ，１ｂの間をデータが行き交う伝送路であり、電気信号、電波信号、光信号など通信媒体は特に問わない。この通信路１１は装置Ａ、装置Ｂ以外の第三者により盗聴可能な伝送路であるとする。なお、図中の矢印は各処理部の依存関係を示している。
【００１４】
ここで、秘密鍵保持部４と暗号処理部７とは直接の依存関係がない点が特徴である。また、図１では表示していないが、各処理部のシーケンスを制御する制御部も各装置にある。
【００１５】
（動作）
次に動作について説明する。図２は実施の形態１の認証／鍵共有シーケンスを示す図である。図に示すように、中央のＡより左側が装置Ａで行われる処理を示し、Ｂより右側が装置Ｂで行われる処理を示す。
【００１６】
（共有鍵の生成）
まず共有鍵の生成を説明する。
【００１７】
まずＴ０１で、乱数生成部２で「乱数Ｒａ」が生成される。次に、Ｔ０２で、「乱数Ｒａ」が通信部１ａにより装置Ａから装置Ｂに向けて送信される。
【００１８】
（装置Ｂ）
Ｔ０３で、通信部１ｂにより「乱数Ｒａ」が装置Ｂに受信される。Ｔ０４で、受信された「乱数Ｒａ」がデータ保持部３ｂに保持される。Ｔ０５で、装置Ｂが保持している秘密鍵Ｋｂが鍵生成部５ｂにより参照され、Ｔ０６で、「乱数Ｒａ」と秘密鍵Ｋｂを使用して、鍵生成部５ｂが鍵生成を行い、共有鍵ＫＧｂ（Ｒａ，Ｋｂ）を得る。鍵生成部５による鍵生成方法については後ほど説明する。
【００１９】
（装置Ａ）
一方、装置ＡではＴ０７で鍵生成部５ａにより秘密鍵Ｋａが参照される。本実施の形態１では、装置Ａ、装置Ｂで共有している秘密鍵であるため、Ｔ０７で参照する秘密鍵ＫａとＴ０５で参照する秘密鍵Ｋｂは表記が異なっているが、実体は同じもの（Ｋａ＝Ｋｂ）である。Ｔ０８では「乱数Ｒａ」と秘密鍵Ｋｂとを使用して、鍵生成部５ａが鍵生成を行い、共有鍵ＫＧａ（Ｒａ，Ｋａ）を得る。ここで、後ほど述べる鍵生成方法は、装置Ａ、装置Ｂで予め生成方法がネゴシエーションされ、同一の鍵生成方法を使用する。よって、Ｔ０８（装置ａ）で生成された共有鍵ＫＧａ（Ｒａ，Ｋａ）とＴ０６（装置Ｂ）で生成された共有鍵ＫＧｂ（Ｒａ，Ｋｂ）は同一のものとなり、装置Ａと装置Ｂで，同一の鍵が共有出来たことになる。図２では、Ｔ０６とＴ０８で鍵共有ができたことを両矢印で示した。
【００２０】
（認証処理）
鍵共有ができた後は、以下のように認証処理が行われる。認証処理を説明する。
【００２１】
（装置Ｂ）
まずＴ０９では、暗号処理部７ｂで、共有鍵ＫＧｂで乱数Ｒａを暗号化し、暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）を得る。また、Ｔ１８で乱数生成部２ｂにより「乱数Ｒｂ」が生成される。暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）と乱数Ｒｂとは、通信部１ｂによりＴ１０で合わせて装置Ａに送信される。
【００２２】
（装置Ａ）
Ｔ１１で通信部１ａにより受信された乱数Ｒｂ、暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）がＴ１２でデータ保持部３ａにより保持される。一方、Ｔ２１では暗号処理部７ａにより共有鍵ＫＧａで乱数Ｒａを暗号化し、暗号化乱数Ｅａ（ＫＧａ，Ｒａ）を得る。Ｔ１３では、暗号化乱数Ｅａ（ＫＧａ，Ｒａ）と暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）とが一致するか否かを比較部８ａにより判断する。一致すれば、装置Ａは装置Ｂを正当なものとして認証する。不一致の場合は、認証が不成立なので、以後の処理は行わない。
【００２３】
（装置Ａ）
Ｔ１４で、暗号処理部７ａにより共有鍵ＫＧａで乱数Ｒｂを暗号化し、暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）を得る。Ｔ１５で暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）を装置Ａから装置Ｂに向けて通信部１ａで送信する。
【００２４】
（装置Ｂ）
Ｔ１６で通信部１ｂで受信された暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）は、Ｔ１７でデータ保持部３ｂにより保持される。一方、Ｔ１９において暗号処理部７ｂは乱数Ｒｂを共有鍵ＫＧｂで暗号化し、暗号化乱数Ｅｂ（ＫＧｂ，Ｒｂ）を得る。Ｔ２０で、比較部８ｂは、暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）と暗号化乱数Ｅｂ（ＫＧｂ，Ｒｂ）とを比較し、一致すれば装置Ｂは装置Ａを正当と認めて認証する。不一致の場合は、認証不成立となる。
【００２５】
装置Ａ、装置Ｂで相互に認証が成立すれば、以後は共有鍵（ＫＧａ（Ｒａ，Ｋａ），ＫＧｂ（Ｒａ，Ｋｂ））を用いてデータを暗号化した秘匿通信を行う。
【００２６】
（鍵生成部５による共有鍵生成方法）
図３は、鍵生成部５により生成される共有鍵の具体的な鍵生成方法の例を示す図である。
ここで、秘密鍵Ｋは、
Ｋ＝Ｋｎ：Ｋｎ−１：．．．．．．．：Ｋ２：Ｋ１：Ｋ０、
と表記する。
Ｋｎ等は１ビットの数値を表し、
「：」は連接を示す。
また、図３では乱数Ｒは装置Ａまたは装置Ｂで発生した乱数の全部または一部のビット列を示すことにする。
【００２７】
図３（１）は、乱数Ｒの上位または下位の所定ビットの値だけ、秘密鍵Ｋを右ローテイトすることを示す。所定ビットは連続していてもよいし、不連続であっても構わない。
【００２８】
図３（２）は、乱数Ｒの上位または下位の所定ビットの値だけ、秘密鍵Ｋを左ローテイトすることを示す。所定ビットは連続していてもよいし、不連続であっても構わない。
【００２９】
図３（３）は、乱数Ｒの上位または下位の所定ビットの値だけ、秘密鍵Ｋを循環シフトレジスタで右循環する。所定ビットは連続していてもよいし、不連続であっても構わない。また、ＸＯＲを設置する数、設置する位置は変更しても構わない。
【００３０】
図３（４）は、乱数Ｒの上位または下位の所定ビットの値だけ、秘密鍵Ｋを循環シフトレジスタで左循環する。所定ビットは連続していてもよいし、不連続であっても構わない。また、ＸＯＲを設置する数、設置する位置は変更しても構わない。
【００３１】
図３（５）は、乱数Ｒの上位または下位の所定ビットを鍵付きＨＡＳＨ関数の鍵とし、秘密鍵ＫのＨＡＳＨ値を計算するものである。所定ビットは連続していてもよいし、不連続であっても構わない。
【００３２】
図３（６）は、乱数Ｒの上位または下位の所定ビットを暗号の鍵として、秘密鍵Ｋの暗号を求めるものである。所定ビットは連続していてもよいし、不連続であっても構わない。また、暗号アルゴリズムは、認証で使用する暗号アルゴリズムと同一であってもなくてもよい。
【００３３】
さらに、乱数Ｒの所定ビットの値を見て、（１）から（６）の何れかを選択し、鍵生成を行うことも可能である。
【００３４】
以上のように、実施の形態１における暗号通信装置、暗号通信システムでは、認証以前に交換される乱数Ｒａを用いて、装置Ａ、装置Ｂのそれぞれが保持する秘密鍵Ｋａ、秘密鍵Ｋｂを図３で述べたように各装置内で加工する。したがって、秘密情報が通信路上に現れない、秘密情報を使用した暗号文が通信路上に現れない、共有鍵が認証の度ごとに変化するという効果があり、これにより安全性が向上する。
【００３５】
また、共有鍵を生成するために認証に使用する乱数Ｒａを利用することにしたので、３パスで認証と鍵共有ができる効果があり、安全性を維持しつつ認証と鍵共有に要する時間を短縮できる。
【００３６】
また、乱数Ｒａは保持されるが共有されるデータではないので、通信路を平文で伝搬しても差し支えない。
【００３７】
実施の形態１では装置Ａから装置Ｂに送られた乱数ＲａをＴ０４でそのまま保持したが、保持している以前の乱数と比較し、同一または類似の乱数であるかを判定し、同一または類似の乱数であれば処理を中止してもよい。
【００３８】
また、実施の形態１では暗号化した乱数を認証子として比較したが、受信した暗号化乱数を復号した復号化乱数を認証子として使用してもよい。
【００３９】
また、実施の形態１では乱数Ｒａを図３における乱数Ｒとして扱ったが、乱数Ｒａを装置Ａ、装置Ｂで共有されている方法、たとえば、固定値で乱数Ｒａをマスクする、乱数Ｒａを反転する方法で乱数Ｒａを加工して乱数Ｒとしてもよい。
【００４０】
実施の形態２．
【００４１】
次に図、を参照して実施の形態２を説明する。以上の実施の形態１では、「乱数Ｒａ」を使用して、装置Ａ、Ｂで鍵共有を実現するようにしたものであるが、次に「乱数Ｒａ」と「乱数Ｒｂ」とを使用して鍵共有を行い、その後、認証を行う実施の形態を示す。
【００４２】
実施の形態２の通信装置は図１で示したブロック図と同一であるので、説明を省略する。
【００４３】
次に動作について説明する。図４は実施の形態２における認証／鍵共有シーケンスを示す図である。図４に示すように、中央のＡより左側が装置Ａで行われる処理を示し、Ｂより右側が装置Ｂで行われる処理を示す。
【００４４】
（共有鍵の生成）
まず共有鍵の生成を説明する。
【００４５】
（装置Ａ）
まずＵ０１で、乱数生成部２で「乱数Ｒａ」が生成される。次に、Ｕ０２で「乱数Ｒａ」が装置Ａから通信部１ａを介して装置Ｂに向けて送信される。
【００４６】
（装置Ｂ）
Ｕ０３で「乱数Ｒａ」が装置Ｂに受信される。Ｕ０４では受信された乱数Ｒａがデータ保持部３ｂに保持される。Ｕ０５で鍵生成部５ｂにより秘密鍵Ｋｂが参照される。Ｕ０７では装置Ｂの乱数生成部２で「乱数Ｒｂ」が生成される。Ｕ０８では、鍵生成部５ｂにより「乱数Ｒａ」、「乱数Ｒｂ」、秘密鍵Ｋｂとから鍵生成を行い、共有鍵ＫＧｂ（Ｒａ，Ｒｂ，Ｋｂ）を生成する。次いで、Ｕ０９では暗号処理部７ｂにより「乱数Ｒａ」を共有鍵ＫＧｂ（Ｒａ，Ｒｂ，Ｋｂ）で暗号化し、暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）を得る。Ｕ１０では、乱数Ｒｂと暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）を合わせて通信部１ｂを介して装置Ａに向けて送信する。
【００４７】
（装置Ａ）
装置Ａでは、Ｕ１３で通信部１ａにより「乱数Ｒｂ」と暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）を受信する。Ｕ１４では受信した「乱数Ｒｂ」と暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）をデータ保持部３ａで保持する。Ｕ１１で鍵生成部５ａにより秘密鍵Ｋａが参照される。Ｕ１２では、「乱数Ｒａ」（Ｕ０１で生成）と、「乱数Ｒｂ」（Ｕ１４で保持）と、秘密鍵Ｋａとから、鍵生成部５ａが共有鍵ＫＧａ（Ｒａ，Ｒｂ，Ｋａ）を生成する。秘密鍵Ｋａと秘密鍵Ｋｂとは共有されている同一の鍵であり、装置Ａ、装置Ｂで予め生成方法がネゴシエーションされ、同一の鍵生成方法を使用するので、生成された共有鍵ＫＧａ（Ｒａ，Ｒｂ，Ｋａ）と共有鍵ＫＧｂ（Ｒａ，Ｒｂ，Ｋｂ）とは同一のものとなり、装置Ａと装置Ｂで同一の鍵が共有出来たことになる。図４ではＵ０８とＵ１２で鍵共有ができたことを両矢印で示す。
【００４８】
（認証処理）
Ｕ１６では暗号処理部７ａによって共有鍵ＫＧａ（Ｒａ，Ｒｂ，Ｋａ）で乱数Ｒａを暗号化して暗号化乱数Ｅａ（ＫＧａ，Ｒａ）を生成する。Ｕ１７では比較部８ａによって暗号化乱数Ｅａ（ＫＧａ，Ｒａ）と暗号化乱数Ｅｂ（ＫＧｂ，Ｒａ）とを比較し、一致すれば、装置Ａが装置Ｂを正当なものとして認証する。不一致の場合は、認証が不成立なので、以後の処理は行わない。
【００４９】
Ｕ１５では暗号処理部７ａにより、保持された「乱数Ｒｂ」を共有鍵ＫＧａ（Ｒａ，Ｒｂ，Ｋａ）で暗号化し、暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）を得る。Ｕ１８で通信部１ａを介して暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）を装置Ｂに向けて送信する。
【００５０】
（装置Ｂ）
装置ＢではＵ１９で通信部１ｂにより暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）を受信し、Ｕ２０でデータ保持部３ｂに保持する。また、Ｕ２１において、暗号処理部７ｂにより乱数Ｒｂ（Ｕ０７で静止）を共有鍵ＫＧｂ（Ｒａ，Ｒｂ，Ｋｂ）で暗号化し、暗号化乱数Ｅｂ（ＫＧｂ，Ｒｂ）を得る。Ｕ２２において、比較部８ｂにより、データ保持部３ｂに受信保持されている暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）と暗号化乱数Ｅｂ（ＫＧｂ，Ｒｂ）とを比較し、一致すれば、装置Ｂが装置Ａを正当なものとして認証する。不一致の場合は、認証が不成立となる。
【００５１】
装置Ａ、装置Ｂで相互に認証が成立すれば、以後は共有鍵を用いてデータを暗号化した秘匿通信を行う。
【００５２】
（鍵生成部による共有鍵の生成）
鍵生成部は図３で示したものと基本的に同一であるが、実施の形態２の場合は、乱数Ｒａと乱数Ｒｂとを組み合わせたもの（組み合わせ乱数）を図３で言う乱数Ｒと読み替える。
【００５３】
図５は、乱数Ｒａと乱数Ｒｂとの組合せの方法を示す図である。
ここで、
「Ｒａ＝Ｒａｎ：Ｒａｎ−１：．．．．．．：Ｒａ２：Ｒａ１：Ｒａ０」、
「Ｒｂ＝Ｒｂｎ：Ｒｂｎ−１：．．．．：Ｒｂ２：Ｒｂ１：Ｒｂ０」、
と表記する。
Ｒａｎ等は１ビットの数値を表わし、：は連接を示す。
【００５４】
図５（１）は乱数Ｒａと乱数Ｒｂの構造を図化したものである。
図５（２）は乱数Ｒｂの後に乱数Ｒａを連接したものである。
図５（３）は乱数Ｒａの上位、下位を反転させ、その後ろに乱数Ｒｂを連接したものである。
図５（４）は乱数Ｒａと乱数Ｒｂを上位から１ビットずつ交互に連接したものである。
【００５５】
このように組み合わせた乱数を図３の乱数Ｒと読み替え、秘密鍵Ｋのローテイト、循環シフト、鍵付きＨＡＳＨ、暗号化を行う。すなわち、図５（１）から（４）のいずれかの方式で得られた「組み合わせ乱数」を使用する。また、「組み合わせ乱数」の所定ビットの値をみて、共有鍵の生成方法（図３の（１）〜（６））を選択することも可能である。
【００５６】
以上のように、暗号通信装置、暗号通信システム１００では、認証以前に交換される乱数Ｒａ、乱数Ｒｂを用いて、装置Ａ、装置Ｂのそれぞれが保持する秘密鍵Ｋａ、秘密鍵Ｋｂを各装置内で加工（図３）するので、
秘密情報が通信路上に現れない、
秘密情報を使用した暗号文が通信路上に現れない、
共有鍵が認証の度ごとに変化する等の効果があり、
これにより安全性が向上する。
【００５７】
また、共有鍵を生成するために、認証に使用する乱数Ｒａ、乱数Ｒｂを利用することにしたので、３パスで認証と鍵共有ができる効果があり、安全性を維持しつつ認証と鍵共有に要する時間を短縮できる。
【００５８】
また、乱数Ｒａは保持されるが共有されるデータではないので、通信路を平文で伝搬しても差し支えない。
【００５９】
実施の形態２では、乱数Ｒａ、乱数Ｒｂのすべてのビットを組み合わせて組合せ乱数を得たが、乱数Ｒａ、乱数Ｒｂの一部のビットを組み合わせてもよい。
【００６０】
また実施の形態２では、乱数Ｒａ、乱数Ｒｂのすべてのビットを暗号化して、暗号化乱数Ｅａ（ＫＧａ，Ｒｂ）と暗号化乱数Ｅｂ（ＫＧｂ，Ｒｂ）を得たが、乱数Ｒａ、乱数Ｒｂの一部のビットを暗号化してもよい。
【００６１】
実施の形態３．
実施の形態３は実施の形態１、２の装置Ａ、Ｂのハードウェア構成の一例を説明する。前述のように装置Ａは例えばＥＴＣ車載器であり装置ＢはＥＴＣ料金所サーバ装置でる。装置Ａ，Ｂはコンピュータである。
【００６２】
図６、コンピュータで実現される装置Ａ（あるいは装置Ｂ）のハードウェア資源の一例を示す図である。図６において、装置Ａは、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、操作キー８１５、通信ボード８１６、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００６３】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、保持部、バッファの一例である。通信ボード８１６、操作キー８１４などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３などは、出力部、出力装置の一例である。
【００６４】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。
【００６５】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００６６】
上記プログラム群８２３には、以上に述べた実施の形態１、２の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００６７】
ファイル群８２４には、以上に述べた実施の形態１、２の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００６８】
また、以上に述べた実施の形態１、２の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６９】
また、以上に述べた実施の形態１、２の説明において、「〜部」として説明したものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上に述べた「〜部」をコンピュータに機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【００７０】
以上の実施の形態１、２では、認証装置、あるい暗号処理装置として、装置Ａ、Ｂを説明したが、装置Ａ，Ｂ動作を、装置Ａ（あるいは装置Ｂ）が行う認証処置方法、暗号処理方法として把握することも可能である。また、認証処置方法、暗号処理方法をコンピュータに実行させる認証処理プログラム、暗号処理プログラムとして把握することも可能である。また、認証処理プログラム、あるいは暗号処理プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。
【００７１】
以上の実施の形態では、乱数を相互にやり取りして認証を行う認証装置であって、認証を行う以前に共有している秘密鍵から共有鍵を生成することを特徴とする認証装置を説明した。
【００７２】
以上の実施の形態では、鍵共有は一方の乱数で行うことを特徴とする認証装置を説明した。
【００７３】
以上の実施の形態では、鍵共有は双方の乱数で行う認証装置を説明した。
【００７４】
以上の実施の形態では、乱数を相互にやり取りして認証を行う認証方式であって、認証を行う以前に共有している秘密鍵から共有鍵を生成し、その共有鍵を用いて認証を行うことを特徴とする認証装置、暗号通信システムを説明した。
【００７５】
以上の実施の形態では、秘密鍵をローテイトして共有鍵を生成することを特徴とする認証装置を説明した。
【００７６】
以上の実施の形態では、秘密鍵を循環シフトして共有鍵を生成することを特徴とする認証装置を説明した。
【００７７】
以上の実施の形態では、秘密鍵を鍵付きＨＡＳＨの演算を行い、共有鍵を生成することを特徴とする認証装置を説明した。
【００７８】
以上の実施の形態では、秘密鍵を暗号化して共有鍵を生成することを特徴とする認証装置を説明した。
【００７９】
以上の実施の形態では、上記の認証装置を備えた暗号通信装置または暗号通信システムを説明した。
【００８０】
以上の実施の形態では、乱数を相互にやり取りして認証を行う認証方式であって、認証を行う以前に共有している秘密鍵を乱数で加工して共有鍵を生成することを特徴とする認証装置を説明した。
【００８１】
以上の実施の形態では、乱数を相互にやり取りして認証を行う認証方式であって、認証を行う以前に共有している秘密鍵を乱数で加工して共有鍵を生成し、その共有鍵を用いて認証を行うことを特徴とする認証装置を説明した。
【図面の簡単な説明】
【００８２】
【図１】実施の形態１における装置Ａ，Ｂのブロック構成図。
【図２】実施の形態１における認証／鍵共有シーケンスを示す図。
【図３】実施の形態１における鍵生成部５が生成する共有鍵の鍵生成方法を示す図。
【図４】実施の形態２における認証／鍵共有シーケンスを示す図。
【図５】実施の形態２における乱数Ｒａ、乱数Ｒｂの組合せを示す図。
【図６】実施の形態３における装置Ａのハードウェア構成を示す図。
【符号の説明】
【００８３】
Ａ，Ｂ  装置、１ａ，１ｂ  通信部、２ａ，２ｂ  乱数生成部、３ａ，３ｂ  データ保持部、４ａ，４ｂ  秘密鍵保持部、５ａ，５ｂ  鍵生成部、６ａ，６ｂ  共有鍵保持部、７ａ，７ｂ  暗号処理部、８ａ，８ｂ  比較部、１０ａ，１０ｂ  認証実行部、１１  通信路、１００  暗号通信システム。
【図１】
2010124376.tif 000003
【図２】
2010124376.tif 000004
【図３】
2010124376.tif 000005
【図４】
2010124376.tif 000006
【図５】
2010124376.tif 000007
【図６】
2010124376.tif 000008