(57)【要約】【課題】通信を行う際に生じるセキュリティの低下を抑止させること。【解決手段】秘密鍵を格納してなる通信媒体と、通信端末を用いて、通信端末に記憶されているデータを暗号化して外部通信端末に通信する通信方法であって、通信媒体で以前に使用した乱数情報を取得するステップと、通信媒体に格納してある秘密鍵を以前に使用した乱数情報を用いて暗号化するステップと、通信媒体で次回使用する乱数情報を生成するステップと、通信媒体で暗号化された秘密鍵と次回使用する乱数情報を通信端末へ送信するステップと、通信端末に記憶してある以前に使用した乱数情報を取得するステップと、通信端末で、暗号化された秘密鍵を、取得した以前に使用した乱数情報を用いて復号化し秘密鍵を取得するステップと、通信端末で、取得した次回使用する乱数情報を記憶するステップと、を有することを特徴とする通信方法。【選択図】図３
2014212474.tif 000002
【特許請求の範囲】
【請求項１】
秘密鍵を格納してなる通信媒体と、通信端末を用いて、通信端末に記憶されているデータを暗号化して外部通信端末に通信する通信方法であって、
通信媒体に記憶されている以前に使用した乱数情報を取得するステップと、
通信媒体に格納してある秘密鍵を以前に使用した乱数情報を用いて暗号化するステップと、
通信媒体で次回使用する乱数情報を生成するステップと、
通信媒体で暗号化された秘密鍵と次回使用する乱数情報を通信端末へ送信するステップと、
通信端末に記憶してある以前に使用した乱数情報を取得するステップと、
通信端末で、暗号化された秘密鍵を、取得した以前に使用した乱数情報を用いて復号化し秘密鍵を取得するステップと、
通信端末で、取得した次回使用する乱数情報を記憶するステップと、
を有することを特徴とする秘密鍵の配送方法。
【請求項２】
前記通信媒体に記憶されている以前に使用した乱数情報と通信端末に記憶してある以前に使用した乱数情報がそれぞれ複数あり、
秘密鍵の暗号化が複数の乱数情報を用いて行われ、
秘密鍵の復号化が複数の乱数情報を用いて行われることを特徴とする請求項１に記載の秘密鍵の配送方法。
【請求項３】
前記通信端末で、取得した秘密鍵が揮発性メモリに保存されることを特徴とする請求項１または２に記載の秘密鍵の配送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの暗号化に用いる秘密鍵の配送方法に関する。
【背景技術】
【０００２】
従来よりデータを暗号化して送受信することが行われている（特許文献１、２等）。
暗号化の方式としては、共通鍵暗号方式、公開鍵暗号方式等がある。共通鍵暗号方式は暗号化と復号化を同じ鍵で行う方式で、代表的なものとしてＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）が知られている。公開鍵方式は、対となる公開鍵と秘密鍵の２つの鍵を使ってデータの暗号化と復号化を行う方式で、代表的なものとしてＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）が知られている。
【０００３】
公開鍵方式は２種類の鍵をペアとして使用し、暗号化をするための鍵として、不特定の人に公開している鍵を公開鍵として用い、復号化をするための鍵として、特定の人だけが使える鍵を秘密鍵を用いる方式である。またＲＳＡ方式では、秘密鍵で署名し、公開鍵で署名検証を行うこともできる。
共通鍵方式は、データを暗号化して送信する側とデータを受信して復号する側に対し、セキュリティの保たれた状態で共通鍵を配布しなければならなかったが、公開鍵方式では、秘密鍵は誰にも伝える必要がなく、公開鍵はセキュリティを保つこと考える必要が無く、誰にでも配布してもよいという利点がある。
【０００４】
複数の端末間でデータを暗号化して送受信する場合、例えば図２に示すように、複数の端末の秘密鍵を格納しているサーバーを設け、端末は、秘密鍵を利用しようとする時にサーバーから秘密鍵を入手し、データの暗号化／復号化を行うことが知られている。
しかし、この方法では、サーバーと端末間での傍受等による秘密鍵の漏洩の問題がある。
【０００５】
また、ＩＣカード等のセキュリティデバイスの中に秘密鍵を格納しておき、端末が秘密鍵を利用しようとする時に端末はＩＣカードから秘密鍵を入手する、という方法が知られている。この方法であれば、ネット上での秘密鍵の漏洩を防ぐことはできる。
しかし、この方法でも、端末とＩＣカードの通信を傍受することで、秘密鍵の漏洩がおきる可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６１−１６３７４６号公報
【特許文献２】特開平０２−０９５０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記事情に鑑み、本発明は、通信を行う際に生じるセキュリティの低下を抑止させる技術の提供を目的としている。すなわち、秘密鍵を用いた暗号化技術を用いたデータ通信において、秘密鍵の漏洩のリスクを低減させる技術の提供を目的としている。
【課題を解決するための手段】
【０００８】
本発明は、秘密鍵を格納してなる通信媒体と、通信端末を用いて、通信端末に記憶されているデータを暗号化して外部通信端末に通信する通信方法であって、通信媒体に記憶されている以前に使用した乱数情報を取得するステップと、通信媒体に格納してある秘密鍵を以前に使用した乱数情報を用いて暗号化するステップと、通信媒体で次回使用する乱数情報を生成するステップと、通信媒体で暗号化された秘密鍵と次回使用する乱数情報を通信端末へ送信するステップと、通信端末に記憶してある以前に使用した乱数情報を取得するステップと、通信端末で、暗号化された秘密鍵を、取得した以前に使用した乱数情報を用いて復号化し秘密鍵を取得するステップと、通信端末で、取得した次回使用する乱数情報を記憶するステップと、を有することを特徴とする秘密鍵の配送方法とする。
【０００９】
また、通信媒体に記憶されている以前に使用した乱数情報と通信端末に記憶してある以前に使用した乱数情報がそれぞれ複数あり、秘密鍵の暗号化が複数の乱数情報を用いて行われ、秘密鍵の復号化が複数の乱数情報を用いて行われることを特徴とする。
【００１０】
また、通信端末で、取得した秘密鍵が揮発性メモリに保存されることを特徴とする。
【発明の効果】
【００１１】
本発明により、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。すなわち、秘密鍵を用いた暗号化技術を用いたデータ通信において、秘密鍵の漏洩のリスクを低減させることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明に用いる通信システムの構成の一例を示す概略図。
【図２】従来の通信システムの構成の一例を示す概略図。
【図３】本発明に用いる通信システムの構成の一例を示す概略ブロック図。
【図４】本発明の通信方法の一例を示すシーケンス図。
【図５】本発明の通信方法の一例を示すシーケンス図。
【発明を実施するための形態】
【００１３】
以下、本発明について、図面を参照しながら説明する。
図３は、本発明の通信システムの構成の一例を示す概略ブロック図である。図３では、通信端末１０及びＩＣカード２０、外部通信端末３０を備える。
通信端末１０は、情報処理装置を用いて構成される。通信端末１０は、ＩＣカード２０が近づけられることによって通信を行う。また、通信端末１０は、回線を通じて外部通信端末３０と通信を行う。
ＩＣカード２０は、内部に記憶回路を備える。ＩＣカード２０は、通信端末１０から無線信号を受信して、ＩＤ情報を含む無線信号を通信端末１０に送信する。なお、ここで通信媒体の例としてＩＣカードを用いたが、ＩＣチップを搭載したメモリ、携帯電話など、秘密鍵を格納可能なセキュリティ領域を有するものを用いてもよい。
【００１４】
次に、通信端末１０、ＩＣカード２０及び外部通信端末３０の機能構成を説明する。まず、通信端末１０の機能構成を説明する。
通信端末１０は、バスで接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリや補助記憶装置などを備え、認証プログラムを実行する。認証プログラムの実行によって、通信端末１０は、入力部、制御部、インターフェース、通信部、記憶部、出力部、暗号化部、復号化部等を備える装置として機能する。なお、通信端末１０の各機能の全て又は一部は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェアを用いて実現されても良い。また、認証プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、認証プログラムは、電気通信回線を介して送受信されても良い。
【００１５】
入力部は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部は、ユーザの指示を認証端末に入力する際にユーザによって操作される。入力部は、入力装置を通信端末１０に接続するためのインタフェースであっても良い。この場合、入力部は、入力装置においてユーザの入力に応じ生成された入力信号を通信端末１０に入力する。
制御部は、通信端末１０の動作を制御する。
【００１６】
インターフェースは、制御部の指示に従い、ＩＣカード２０との間で無線信号の送受信を行う。
【００１７】
演算部は、暗号化、復号化などの演算を行う。暗号化復号化動作においては、暗号化された情報を復号化し、またデータを暗号化する。例えば、ＩＣカード２０から送信される秘密鍵を含む暗号化情報を復号化したり、ＩＣカード２０から送信される秘密鍵を含む暗号化情報を復号化して取り出した秘密鍵を用いて送信相手から送信されたデータを復号化したり、外部通信端末に送信するデータ等の情報を、送信する相手から入手した送信相手の公開鍵を用いて暗号化したりする。
また署名動作においては、ＩＣカード２０から送信される秘密鍵を含む暗号化情報を復号化したり、ＩＣカード２０から送信される秘密鍵を含む暗号化情報を復号化して取り出した秘密鍵とデータのハッシュ値を演算して署名を生成したり、送信された相手から送信されたデータを送信された相手から取得した送信相手の公開鍵を用いて署名検証を実施したりする。
【００１８】
記憶部は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。記憶部は、暗号化された秘密鍵を復号するための乱数情報や、外部通信端末に送信するデータなどを記憶する。
なお、乱数情報はＩＣカードのＩＤ番号と紐付けて記憶させておくことができる。また、生成された時間と紐付けて記憶させておくことができる。さらに、過去に受信した乱数を複数記憶しておくこともできる。
【００１９】
メモリ部は、ＩＣカード２０から受信した暗号化された秘密鍵を復号部で復号化した秘密鍵を格納する。この秘密鍵はセキュリティを十分に考慮する必要があることから、通信端末１０がＩＣカード２０を認識できなくなったら破棄するだけでなく、外部端末３０との通信が終了した時点で、メモリ内の秘密鍵を破棄する。
【００２０】
出力部は、通信端末１０に接続された不図示の出力装置を介し、ユーザに対して操作指示やエラーメッセージ等の出力を行う。出力装置は、例えば画像や文字を画面に出力する装置を用いて構成されても良い。例えば、出力装置は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｔ）ディスプレイ等を用いて構成できる。また、出力装置は、文字を音声に変換して出力する装置を用いて構成されても良い。この場合、出力装置は、音声合成装置及び音声出力装置（スピーカー）を用いて構成できる。
【００２１】
通信部は、制御部の指示に従い、外部通信端末との間で無線信号の送受信を行う。
この無線信号の送受信を用いて外部通信端末にデータを送信できる。データとしては通信端末１０で暗号化されたデータ等がある。
【００２２】
次に、ＩＣカード２０の機能構成を説明する。
ＩＣカード２０は、制御部、通信部、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、認証情報記憶部、暗号化部、乱数生成部を備える。上記のＩＣカード２０の各機能部は、バスを介して互いに接続されている。
【００２３】
制御部は、ＩＣカード２０の動作を制御する。また、制御部は、Ｎ回目の秘密鍵を含む暗号化情報の送信が行われた場合に、乱数生成部に乱数の生成を指示する。例えば、制御部は、Ｎ回目の秘密鍵を含む暗号化情報の送信の際に（Ｎ＋１）回目の秘密鍵を含む暗号化情報に使用する乱数（以下、「次回乱数」という。）の生成を指示する。
インターフェースは、制御部の指示に従い、通信端末１０との間で無線信号の送受信を行う。
ＲＯＭは、読み出し専用のメモリであり、ＩＣカード２０を動作させるためのプログラムを記憶する。
【００２４】
ＲＡＭは、種々の情報を記憶する読み出し書き込みメモリである。ＲＡＭには、ＲＯＭから読み出されたプログラムが展開される。ＲＡＭは、プログラムが実行されることによって生成された各種データを記憶する。ＲＡＭは、通信端末１０から送信されるデータを一時的に記憶する。ＲＡＭは、ＰＩＮカウンタを記憶する。ＰＩＮカウンタは、ＰＩＮ照合に使用されるカウンタである。
記憶部は、フラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の半導体メモリなどの記憶装置を用いて構成される。記憶部は、秘密鍵等に関する情報が記憶されている。
なお、後述する乱数生成部で生成した乱数情報を記憶させることもできる。乱数情報は通信端末のＩＤ番号と紐付けて記憶させておくことができる。また、生成された時間と紐付けて記憶させておくことができる。さらに、過去に受信した乱数を複数記憶しておくこともできる。
【００２５】
演算部は、演算化を行う。具体的には、演算部は、後述する乱数生成部により生成した乱数を用い、記憶部に格納されている秘密鍵等の情報を暗号化する。例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を用いて暗号化し、ＤＥＳ暗号化情報を生成する。
【００２６】
乱数生成部は、制御部の指示に従い、乱数を生成する。例えば、乱数生成部は、制御部の指示に従い、次回乱数（認証情報）を生成する。
【００２７】
外部通信端末３０は、ＣＰＵやメモリや補助記憶装置などを備え、認証プログラムを実行する。認証プログラムの実行によって、通信端末１０は、入力部、制御部、通信部、記憶部、出力部、演算部、インターフェース、メモリ等を備える装置として機能する。
【００２８】
記憶部は、上述の秘密鍵と対になる公開鍵を格納しておくことができる。
通信部は、通信端末１０から送信されてきたデータを受信する。演算部は、受信した暗号化データを復号化や署名検証を行うことができる。
【００２９】
図４は、本発明の通信方法の一例を示すシーケンス図である。ここではデータの暗号化通信を例にとって記述する。
まず、ユーザがＩＣカード２０を通信端末１０に近づけ、認証が成立すると、秘密鍵の送受信を開始する（ステップＳ１０１）。なお、認証が成立しなかった場合、エラー処理を行う。
【００３０】
通信端末１０とＩＣカード２０の認証には、公知の手法を用いることができる。例えば、ＰＩＮを用いた方式などを用いることができ、また、ＤＥＳ等の共通鍵を用いた暗号方式を用いた相互認証を用いることもできる。さらに、暗号化に用いる乱数情報を毎回更新し、次回用いる乱数を事前に共有する方法を用いてもよい。
なお、通信端末１０とＩＣカード２０は事前に紐付けさせておくことができる。このようにすることで、ＩＣカード２０には、複数の端末に用いる乱数情報を格納させ、端末毎に後述の乱数情報を設定することができる。
【００３１】
認証が成立すると、通信端末１０から秘密鍵を要求することにより、Ｎ回目の暗号化済秘密鍵の送受信が開始される（ステップＳ１０２）。通信が開始されると、ＩＣカード２０の制御部は、前回（Ｎ−１回目）の秘密鍵の送受信時に生成した乱数（前回乱数）と、記憶部に格納されている秘密鍵を取得する（ステップＳ１０３、１０４）。そして、前回生成した乱数用いて、秘密鍵を暗号化する（ステップＳ１０５）。なお、秘密鍵の暗号化は、今回の通信端末との認証が成立した後に行うのではなく、前回の暗号化済秘密鍵の送受信の際の乱数生成後に行い、記憶部に記憶しておくこともできる。
【００３２】
次にＩＣカード２０の制御部は、乱数生成部に乱数の生成を指示する。乱数生成部は、制御部の指示に従い、次回（Ｎ回目）に使用する乱数を生成する（ステップＳ１０６）。制御部は、インタフェースを通じて暗号化した秘密鍵及び生成された次回使用する乱数（次回乱数）を通信端末１０に送信する（ステップＳ１０７）。
【００３３】
通信端末１０のインターフェースは、ＩＣカード２０から送信された暗号化した秘密鍵及び生成された次回に使用する乱数を受信する（ステップＳ１０８）。
なお、受信した乱数は記憶部に記憶する。
【００３４】
次に通信端末１０の制御部は、記憶部から前回（Ｎ−１回目）の暗号化済秘密鍵の受信時に受信した乱数（前回乱数）を取得する（ステップＳ１０９）。そして、通信端末１０の演算化部で、受信した暗号化済秘密鍵を、取得した前回乱数を用いて復号化し、秘密鍵を取得する（ステップＳ１１０）。なお、取得した秘密鍵はメモリ部のＲＡＭ等の揮発性メモリに記憶することが好ましい。不揮発性メモリに記憶すると、通信端末がハッキング等、不正にアクセスされた際に秘密鍵が漏洩する危険性があるからである。
【００３５】
このようにすることで、Ｎ回目の認証において通信端末１０とＩＣカード２０との間で送受信された暗号化済秘密鍵、乱数が盗聴された場合であっても、この乱数では暗号化済秘密鍵を復号化することはできないので、「なりすまし」などのセキュリティ上の問題を排除できる。
【００３６】
一方外部通信端末３０では、通信端末１０に送付するデータ（送付データ）を取得する（ステップＳ１１１）。そして、上記秘密鍵とペアになる公開鍵を取得する（ステップＳ１１２）。公開鍵の取得は公知の方法で取得できるが、例えば、公開鍵が格納されているサーバー等の端末からネット経由で取得するなどがあげられる。
そして、送付データを取得した公開鍵で暗号化する（ステップＳ１１３）。次に暗号化した送付データを通信端末１０に送信する（ステップＳ１１４）。
【００３７】
通信端末１０は暗号化した送付データを受信（ステップＳ１１５）し、ステップ１１０で取得した秘密鍵を用いて複号する（ステップＳ１１６）。
【００３８】
図５は、本発明の通信方法の他の一例を示すシーケンス図である。ここでは、署名データの検証を例に説明する。
ステップ１０１からステップ１１０までは図４の例と同様であるため省略する。
【００３９】
ステップ１１０で秘密鍵を取得したら署名データを取得する（ステップＳ１１１）。なお、署名データは秘密鍵取得前に取得しておいてもよい。
取得した署名データはコピーを作成しておき、一方をステップ１１０で取得した秘密鍵を用いて演算する。演算された署名と、演算していない署名の双方を外部通信端末３０に送信する（ステップＳ１１３）。
【００４０】
一方外部通信端末３０では、上記秘密鍵とペアになる公開鍵を取得する（ステップＳ１１４）。
そして、通信端末１０より、演算された署名データと演算されていない署名データを受信する（ステップＳ１１５）。演算された署名データをステップ１１４で取得した公開鍵で演算し、演算されていない署名データを照合して検証する（ステップＳ１１６、Ｓ１１６）。
【００４１】
なお、ＩＣカードで秘密鍵を乱数を用いて暗号化する際、過去に受信した乱数を複数用いて暗号化してもよい。また、これらの乱数は演算して用いてもよい。例えば、１回前と２回前に送受信した乱数を足したものを用いるなどである。
また、乱数を用いて暗号化された秘密鍵を通信端末に送信する際、用いた乱数の生成された時間情報と合わせて送信することができる。この場合、通信端末では、受信した乱数の生成時間情報と記憶してある過去に受信した乱数情報の生成された時間を照合し、一致した場合に暗号化された秘密鍵を復号することができる正当な乱数情報とみなし、この乱数を用いて秘密鍵を復号することができる。
【００４２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図１】
2014212474.tif 000003
【図２】
2014212474.tif 000004
【図３】
2014212474.tif 000005
【図４】
2014212474.tif 000006
【図５】
2014212474.tif 000007