JP2007006319A - 鍵交換システム、端末装置及びプログラム - Google Patents

鍵交換システム、端末装置及びプログラム Download PDF

Info

Publication number
JP2007006319A
JP2007006319A JP2005186287A JP2005186287A JP2007006319A JP 2007006319 A JP2007006319 A JP 2007006319A JP 2005186287 A JP2005186287 A JP 2005186287A JP 2005186287 A JP2005186287 A JP 2005186287A JP 2007006319 A JP2007006319 A JP 2007006319A
Authority
JP
Japan
Prior art keywords
key
terminal
signature
public key
exchange
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.)
Pending
Application number
JP2005186287A
Other languages
English (en)
Inventor
Satoshi Akimoto
諭史 秋本
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2005186287A priority Critical patent/JP2007006319A/ja
Publication of JP2007006319A publication Critical patent/JP2007006319A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】署名用公開鍵証明書を使用し、データを暗号化するための鍵を安全に交換することができる鍵交換システムを提供する。
【解決手段】鍵交換システムにおいて、第1端末は、鍵交換用公開鍵及び鍵交換用秘密鍵を生成し、鍵交換用公開鍵を署名用秘密鍵で署名して、電子署名、鍵交換用公開鍵及び署名用公開鍵証明書を含むデータトークンを生成し、第2端末に送信する。第2端末は、受信したデータトークンに含まれる電子署名及び署名用公開鍵証明書に基づいて検証を行う。問題がなければ、生成した共通鍵により送信データを暗号化し、鍵交換用公開鍵により共通鍵を暗号化する。そして、第2端末は、暗号化された共通鍵と、暗号化された送信データとを含む暗号情報を生成し、第1端末へ送信する。第1端末は、暗号情報に含まれる暗号化された共通鍵を鍵交換用秘密鍵により復号し、暗号情報に含まれる暗号化された送信データを共通鍵で復号する。
【選択図】図4

Description

本発明は、安全に暗号化用の鍵を交換する技術に関する。
インターネット等の安全でない通信経路上で安全に情報交換を行う際に満たされるべきセキュリティ要件として、「情報の秘匿」、「改ざんの防止」、「否認防止」、「通信相手の認証」等が挙げられる。これらの要件のうち、「情報の秘匿」は、データの暗号化により実現することができる。また、「改ざんの防止」、「否認防止」及び「通信相手の認証」は、公開鍵暗号方式を用いた電子署名により実現することができる。なお、データの暗号化に関しては、通信を行う当事者間でデータを暗号化するための鍵(以下、「共通鍵」と呼ぶ。)を安全に共有する必要があるため、公開鍵暗号方式を用いて共通鍵を交換する方式が広く使用されている。
このように、セキュリティ要件を満たすためには、いずれの場合においても、公開鍵暗号方式で使用される公開鍵の出自が保障されることが重要である。よって、公開鍵暗号インフラ(PKI;Public key Infrastructure)と公開鍵証明書(以下、「証明書」とも呼ぶ。)が使用されている。
しかし、公開鍵暗号方式を用いた電子署名と、公開鍵暗号方式を用いた共通鍵の交換とでは、公開鍵を安全に管理するためのセキュリティ要件が異なる。例えば、秘密鍵が破損・紛失した際の扱いについて、それが鍵交換用秘密鍵であった場合、過去に暗号化されたデータを復号するためには鍵の回復が必要となるため、あらかじめ鍵のバックアップを考慮しておく必要があるが、それが署名用秘密鍵であった場合、鍵のバックアップは秘密鍵の複製を意味し、電子署名の否認防止効果の阻害が考えられるため、鍵のバックアップは望ましくない。そのため、1つの公開鍵を2つの異なる用途に流用するのではなく、電子署名には署名用の公開鍵を、共通鍵の交換には鍵交換用の公開鍵を、それぞれ別々に用意することが望ましい。この場合、通常、それぞれの用途に使用する公開鍵に対して1枚ずつ公開鍵証明書が発行される。即ち、署名用の公開鍵には署名用公開鍵証明書が、鍵交換用の公開鍵には鍵交換用公開鍵証明書がそれぞれ発行される。
署名用公開鍵は、電子署名法の施行以来、個人用に発行された証明書が普及しつつあり、これを署名用公開鍵証明書として利用することができる。なお、このような証明書は、電子署名のために使用されるものであり、共通鍵の交換のために使用することは望ましくない。また、証明書を発行した認証局によって、共通鍵の交換のために使用することを禁じている場合も多い。そのため、鍵交換用公開鍵については、利用者が別途費用を負担して鍵交換用公開鍵証明書を入手する必要がある。しかし、一般利用者による鍵交換用公開鍵証明書の入手及び管理の煩雑性は、長年PKIの普及の阻害要因になってきた。そのため、全ての利用者が個人で鍵交換用公開鍵証明書を入手することは現実的ではない。
一方、この問題を解消するため、アプリケーションで独自の鍵交換方式を開発することも考えられる。しかし、相互運用を実現することが困難であり、業界標準であるPKIのメリットを享受できなくなる点で問題が多い。
R. Housley, et. al., 「インターネットX.509におけるPKI認証とCRLの概略」(Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile), [online], April 2002, The Internet Society, Internet <URL : http://www.ietf.org/rfc/rfc3280.txt?number=3280>
本発明は、以上の点に鑑みてなされたものであり、署名用公開鍵証明書を使用して、データを暗号化するための鍵を安全に交換することができる鍵交換システムを提供することを課題とする。
本発明の1つの観点では、ネットワークを介して通信可能に接続された第1端末及び第2端末から構成される鍵交換システムにおいて、前記第1端末は、署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段と、前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段と、前記データトークンを、前記第2端末に送信するデータトークン送信手段と、前記第2端末から、当該第2端末が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段と、前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段と、前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段と、を備え、前記第2端末は、前記第1端末から、前記データトークンを受信するデータトークン受信手段と、前記データトークンから、前記鍵交換用公開鍵を取得する鍵交換用公開鍵取得手段と、前記データトークンに含まれる前記電子署名及び前記署名用公開鍵証明書に基づいて、前記第1端末による署名の検証を行う検証手段と、前記検証に問題がなければ、共通鍵を生成する共通鍵生成手段と、前記第1端末に送信する送信データを、生成した前記共通鍵により暗号化する送信データ暗号化手段と、前記共通鍵を、取得した前記鍵交換用公開鍵により暗号化する共通鍵暗号化手段と、前記送信データ暗号化手段が暗号化した送信データと、前記共通鍵暗号化手段が暗号化した共通鍵とを有する暗号情報を生成し、当該暗号情報を前記第1端末へ送信する暗号情報送信手段と、を備える。
上記のように構成された鍵交換システムは、第1端末及び第2端末から構成されている。第1端末及び第2端末は、各利用者が使用しており、ネットワークを介して他の利用者が使用する端末とメールやデータの送受信が可能なパソコン、PDA(Personal Digital Assistants)、携帯電話等である。第1端末は、まず、鍵交換用公開鍵及び鍵交換用秘密鍵の鍵ペアを生成する。さらに、第1端末は、生成した鍵交換用公開鍵を署名用秘密鍵で署名することにより、電子署名、鍵交換用公開鍵及び署名用公開鍵証明書を含むデータトークンを生成する。そして、第1端末は、生成したデータトークンを第2端末へ送信する。第2端末は、第1端末から受信したデータトークンに含まれる鍵交換用公開鍵を取得する。また、第2端末は、第1端末から受信したデータトークンに含まれる電子署名及び署名用公開鍵証明書に基づいて検証を行うことにより、鍵交換用公開鍵が改ざんされているか否か及び鍵交換用公開鍵が確かに第1端末によって生成されているか否かを確認する。検証結果に問題がなければ、第2端末は、第1端末とのデータ交換の際、データを暗号化及び復号するために使用する共通鍵を生成する。そして、第2端末は、生成した共通鍵により、第1端末に送信する予定の送信データを暗号化する。このとき暗号化される送信データは、電子データであれば任意のデータとすることができる。さらに、第2端末は、データトークンから取得した鍵交換用公開鍵により、送信データを暗号化する際に使用した共通鍵を暗号化する。そして、第2端末は、鍵交換用公開鍵により暗号化された共通鍵と、共通鍵により暗号化された送信データとを含む暗号情報を生成し、第1端末へ送信する。第1端末は、暗号情報に含まれる暗号化された共通鍵を、自身が生成した鍵交換用秘密鍵により復号する。さらに、第1端末は、暗号情報に含まれる暗号化された送信データを、復号した共通鍵で復号する。これによれば、署名用公開鍵証明書しか保有しない第1端末が、データ暗号化用の鍵を、安全に他の端末と交換することができる。
上記鍵交換システムの一態様では、前記第1端末は、前記鍵交換用公開鍵を所有する所有者に関する鍵所有者情報を有しており、前記データトークンは、前記鍵所有者情報と、前記鍵交換用公開鍵と、前記署名用秘密鍵による電子署名と、前記署名用公開鍵証明書から構成されるものであって、前記第2端末は、前記データトークンに含まれる前記鍵所有者情報に基づいて、前記第1端末を使用する利用者を識別する利用者識別情報を特定する利用者識別情報特定手段と、前記利用者識別情報に対応付けて、当該データトークンを記憶するデータトークン記憶手段と、をさらに備える。
上記のように構成された鍵交換システムにおいて、データトークンは、鍵所有者情報と、鍵交換用公開鍵と、電子署名と、署名用公開鍵証明書から構成される。第2端末は、第1端末から受信したデータトークンから鍵所有者情報を取得する。さらに、第2端末は、取得した鍵所有者情報に含まれる個人情報等を利用して、第1端末を使用する利用者を識別する利用者識別情報を特定する。そして、第2端末は、特定した利用者識別情報に対応付けて、データトークンを自己の読み書き可能な記憶領域に保存する。これによれば、第2端末は、最初にデータトークンを受信した以降、第1端末との通信時に当該データトークンに含まれる鍵交換用公開鍵を安全に使用することができる。
上記鍵交換システムの他の一態様では、前記第1端末は、複数の前記署名用秘密鍵を有する場合、複数の前記署名用秘密鍵の中の1つを選択させるための選択画面を生成し、当該選択画面を表示する選択画面表示手段をさらに備え、前記データトークン生成手段は、前記選択画面で選択された署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、前記データトークンを生成する。これによれば、第1端末に複数の署名用秘密鍵が保有されている場合であっても、利用者は自由に、データトークンを生成するために使用する署名用秘密鍵を指定することができる。
本発明の別の観点では、ネットワークを介して他の端末装置と通信可能な端末装置であって、署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段と、前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段と、前記データトークンを、前記第2端末に送信するデータトークン送信手段と、前記他の端末装置から、当該他の端末装置が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段と、前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段と、前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段と、を備える。これによれば、署名用公開鍵証明書しか保有しない端末装置が、データ暗号化用の鍵を、安全に他の端末と交換することができる。
上記端末装置の一態様では、前記端末装置は、前記鍵交換用公開鍵を所有する所有者に関する鍵所有者情報を有しており、前記データトークンは、前記鍵所有者情報と、前記鍵交換用公開鍵と、前記署名用秘密鍵による電子署名と、前記署名用公開鍵証明書から構成される。これによれば、他の端末装置は、鍵所有者情報に対応付けてデータトークンを記憶することが可能となる。よって、他の端末装置は、最初にデータトークンを受信した以降、端末装置との通信時に当該データトークンに含まれる鍵交換用公開鍵を安全に使用することができる。
上記端末装置の他の一態様では、複数の前記署名用秘密鍵を有する場合、複数の前記署名用秘密鍵の中の1つを選択させるための選択画面を生成し、当該選択画面を表示する選択画面表示手段をさらに備え、前記データトークン生成手段は、前記選択画面で選択された署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、前記データトークンを生成する。これによれば、端末装置に複数の署名用秘密鍵が保有されている場合であっても、利用者は自由に、データトークンを生成するために使用する署名用秘密鍵を指定することができる。
本発明のさらに別の観点では、ネットワークを介して他の端末装置と通信可能なコンピュータにより実行されるプログラムであって、署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段、前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段、前記データトークンを、前記第2端末に送信するデータトークン送信手段、前記他の端末装置から、当該他の端末装置が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段、前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段、前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段、として前記コンピュータを機能させる。
上記プログラムをコンピュータにより実行することにより、上述の端末装置を実現することができる。また、上述の端末装置の各態様も同様に実現することができる。
本発明によれば、署名用公開鍵証明書を使用して、データを暗号化するための鍵を安全に交換することが可能となる。
以下、図面を参照して本発明の好適な実施の形態について説明する。
[鍵交換システム]
まず、図1及び図2を参照して、本実施形態に係る鍵交換システムについて説明する。図1は、鍵交換システムの概略構成である。図2は、鍵交換システムにより生成されるデータトークンの構造を模式的に示す図である。なお、本実施形態では、「端末を使用する利用者」を単に「端末」と略すことがある。具体的には、「端末を使用する利用者による署名」を「端末による署名」、「端末を使用する利用者による生成」を「端末による生成」と記載する。
鍵交換システム100は、署名用公開鍵証明書のみを保有する端末Aと、端末Bとが、データを暗号化するための共通鍵を、PKI(Public Key Infrastructure)のセキュリティポリシーを阻害することなく、安全に交換することができるシステムである。ここで、PKIとは、インターネットをはじめとする安全ではない通信経路上でセキュリティを確保するための基盤技術である。
端末A及び端末Bは、各利用者が使用しており、ネットワーク2を介して他の利用者が使用する端末とデータの送受信が可能なパソコンやPDA(Personal Digital Assistants)などである。本実施形態では、端末Aが保有する署名用公開鍵証明書により、端末A及び端末Bがデータを暗号化するための共通鍵を交換するものとする。また、端末Bは、当該共通鍵用いて暗号化したデータを端末Aに送信するものとする。ここで、共通鍵とは、共通鍵暗号方式で使用される鍵のことである。共通鍵暗号化方式とは、暗号化と復号に用いる鍵が共通であり、1つの共通鍵を使用して、データの暗号化と復号を行う方式である。
なお、電子署名では、公開鍵暗号化方式が使用される。ここで、公開鍵暗号化方式とは、データを暗号化するため鍵と、データを復号するための鍵とが異なり、利用者のみが使用可能な秘密鍵と利用者以外の者が使用可能な公開鍵の鍵ペアを使用して、データの暗号化と復号を行う方式である。
また、端末Aは、署名用公開鍵証明書のみを保有しており、鍵交換用公開鍵証明書は保有していないものとする。署名用公開鍵証明書と鍵交換用公開鍵証明書は、セキュリティ要件が異なるものである。ここで、公開鍵証明書とは、公開鍵所有者の情報、公開鍵データ、証明書の有効期間などのデータを組み合わせたものに対して、信頼のおける第三者期間(TTP;Trusted Third Party)である認証局(CA;Certificate Authority)が電子署名を行い、発行したものである。このような公開鍵証明書により、その公開鍵の所有者が確かに記載された所有者のものであることをCAが保証する。
また、図1では、端末A及びBのみを記載しているが、本発明はこれに限定されるものではなく、ネットワーク2を介して複数の利用者が使用する複数の端末が通信可能に接続されているものとする。
ここで、本システムによる鍵交換方法の概要を述べておく。まず、端末Aは、共通鍵を交換するために使用される鍵交換用公開鍵及び鍵交換用秘密鍵を生成する。さらに、端末Aは、生成した鍵交換用公開鍵を、自身が保有する署名用秘密鍵で署名する。詳細は後述するが、この署名により端末Aは、鍵所有者情報、鍵交換用公開鍵、電子署名及び署名用公開鍵証明書から構成された、図2に示すようなデータトークンを生成する。そして、端末Aは、ネットワーク2を介して、生成したデータトークンを端末Bに送信する。
端末Bは、端末Aから受信したデータトークンに含まれる鍵交換用公開鍵を取得する。さらに、端末Bは、データトークンに含まれる電子署名及び署名用公開鍵証明書を検証し、受け取ったデータ、即ち鍵交換用公開鍵は確かに端末Aによって生成されたものであり、改ざんされていないことを確認する。そして、端末Bは、端末Aに送信する送信データを暗号化するための共通鍵を生成する。端末Bは、端末Aに送信する送信データを、生成した共通鍵で暗号化する。また、端末Bは、当該共通鍵を、データトークンから取得した鍵交換用公開鍵により暗号化する。そして、端末Bは、共通鍵により暗号化した送信データと、鍵交換用公開鍵により暗号化した共通鍵とを含む暗号情報を生成し、当該暗号情報を端末Aへ送信する。
端末Aは、端末Bから受信した暗号情報から、鍵交換用公開鍵により暗号化された共通鍵を取得する。そして、端末Aは、当該暗号化された共通鍵を、自身が生成した鍵交換用秘密鍵により復号する。さらに、端末Aは、端末Bから受信した暗号情報から、共通鍵により暗号化された送信データを取得する。そして、端末Aは、当該暗号化された送信データを、復号した共通鍵により復号する。
これにより、端末A及び端末Bは、鍵交換用公開鍵証明書を使用することなく、署名用公開鍵証明書を使用して共通鍵の交換を行うことができる。また、端末A及び端末Bは、交換した共通鍵により暗号化及び復号を行うことで、インターネットをはじめとする安全ではない通信経路上で安全にデータ交換を行う。
なお、端末Bが取得した鍵交換用公開鍵は、端末Aにより電子署名が付与されているため、端末A及び端末Bが使用するPKIの保証する範囲において安全であることがわかる。また、端末Aは、自身が生成した電子データ(鍵交換用公開鍵)に署名を付与しているのであり、署名用公開鍵証明書の使用目的から逸脱しない。また、端末Aが生成した鍵交換用公開鍵が仮に異なった用途、例えば電子署名に用いられた場合には、端末Aが属するPKIを含むいかなるPKIにおいても有効な認証チェーンを構成することはないため、PKIのセキュリティポリシーを阻害することはない。
[データトークン]
次に、図2及び図3を参照し、データトークンについて詳しく説明する。図3は、XML(eXtensible Markup Language)によるデータトークンの例である。
図2に示すように、データトークンは、鍵所有者情報、鍵交換用公開鍵、電子署名及び署名用公開鍵証明書から構成されている。
鍵所有者情報とは、鍵交換用公開鍵(署名用公開鍵及び署名用秘密鍵)を所有する利用者の個人情報や、使用通信手段における識別ID等である。具体的に、個人情報とは氏名等であり、識別IDとは電子メールにおけるメールアドレス等である。本実施形態における鍵所有者は、端末Aの利用者である。鍵交換用公開鍵とは、所有者により生成された鍵交換用公開鍵である。電子署名とは、鍵所有者情報及び鍵交換用公開鍵を署名対象とする、所有者の署名用秘密鍵により付与された電子署名である。署名用公開鍵証明書とは、電子署名付与に用いられた署名用公開鍵の公開鍵証明書である。
端末Aが図2に示すデータトークンを生成して端末Bに送信した場合、端末Bは、電子署名及び署名用公開鍵証明書を使用して検証を行う。具体的に、電子署名について有効性が確認できた場合、鍵交換用公開鍵は改ざんされていないことが分かる。一方、署名検証用公開鍵証明書の有効性が確認できた場合、鍵交換用公開鍵は確かに端末Aにより生成されたことが分かる。
また、端末Bは、端末Aから受信したデータトークンを自己の読み書き可能な記憶領域に保存して、鍵所有者情報に含まれる端末Aを使用する利用者の個人情報、識別ID、又は、署名用公開鍵証明書と関連付けることとしてもよい。つまり、端末Aを使用する利用者を識別する利用者識別情報に対応付けて、データトークンを記憶することとしてもよい。これにより、端末Bは、データトークンを保存して以降、端末Aとの通信時に当該データトークンに含まれる鍵交換用公開鍵を安全に用いることができる。
具体的なデータトークンの例としては、図3に示すような、XML及びXML署名を利用したものが挙げられる。図3の例では、公開鍵暗号方式としてRSA公開鍵暗号方式を、エンコードとしてPEM(Privacy Enhanced Mail)を用いている。しかし、本発明はこれに限定されるものではなく、RSA公開鍵の各パラメータをXMLとして格納してもよい。また、Diffie-Hellmanの鍵交換にも応用が可能である。
[端末]
次に、図4を参照し、鍵交換システム100を構成する端末について詳しく説明する。図4は、鍵交換システム100を構成する端末A及び端末Bの内部構成を示す。図示のように、署名用公開鍵証明書を保有する端末Aは、鍵交換用鍵生成機能101、データトークン生成機能102、データトークン送信機能103、暗号情報受信機能104、共通鍵復号機能105及び送信データ復号機能105から構成されている。また、データを暗号化するための共通鍵を生成する端末Bは、データトークン受信機能201、鍵交換用公開鍵取得機能202、検証機能203、共通鍵生成機能204、送信データ暗号化機能205、共通鍵暗号化機能206及び暗号情報送信機能207から構成されている。
なお、各機能は、端末A及び端末Bがそれぞれ有するCPUが予め用意されたプログラムを実行することにより実現される。
まず、端末Aを構成する機能について説明する。
鍵交換用鍵生成機能101は、鍵交換用公開鍵及び鍵交換用秘密鍵の鍵ペアを生成する機能である。
データトークン生成機能102は、鍵交換用鍵生成機能101が生成した鍵交換用公開鍵を、署名用秘密鍵で署名することにより、図2に示すようなデータトークンを生成する機能である。具体的に、データトークン生成機能102は、予め保有している端末Aの個人情報及び識別IDから構成される鍵所有者情報と、生成した鍵交換用公開鍵と、署名用公開鍵による署名によって付与される電子署名と、当該署名用公開鍵に対する署名用公開鍵証明書とからデータトークンを生成する。
なお、署名用公開鍵証明書は、自治体から発行されるものや社員証に含まれるものなど様々なものが考えられるが、本発明は任意の署名用公開鍵証明書を適用することができる。端末Aが、複数の署名用公開鍵を保有している場合、当該複数の署名用公開鍵の中からデータトークンを生成するために使用する1つの署名用公開鍵を選択するための選択画面を生成することとしてもよい。この場合、端末Aは、選択画面において利用者により選択された署名用公開鍵によって鍵交換用公開鍵に署名を付与する。また、データトークンには、選択画面において利用者により選択された署名用公開鍵に対する署名用公開鍵証明書が含まれることとなる。また、通常、署名用公開鍵証明書は、ICカードに記憶されていることが多い。そのため、端末Aは、ICカードリーダライタにより当該ICカードから署名用公開鍵証明書を取得し、記憶しているものとする。よって、端末Aは、選択画面ではなく、「ICカードを挿入してください」とポップ画面を表示し、利用者が保有する任意のICカードに記憶された署名用公開鍵を使用して、鍵交換用公開鍵に署名を付与することとしてもよい。
データトークン送信機能103は、データトークン生成機能102が生成したデータトークンを端末Bに送信する機能である。
ここで、説明の便宜上、端末Bを構成する機能について説明する。
データトークン受信機能201は、端末Aからデータトークンを受信する機能である。
鍵交換用公開鍵取得機能202は、データトークン受信機能201が受信したデータトークンに含まれる鍵交換用公開鍵を取得する機能である。
検証機能203は、データトークン受信機能201が受信したデータトークンに基づいて検証を行う機能である。具体的に、検証機能203は、署名用公開鍵及び電子署名に基づいて、鍵交換用公開鍵が改ざんされているか否かを確認する。なお、署名用公開鍵は、端末Bが予め保有していてもよいし、データトークンに含まれる署名用公開鍵証明書に添付されていることとしてもよい。また、検証機能203は、署名用公開鍵証明書に基づいて、確かに端末Aから送信されたものであるか否かを確認する。署名用公開鍵証明書の検証には、付与されたCA署名の検証、検証時点が有効期限内であるかの検証等の検証が必要であり、全てに問題がない場合、その署名用公開鍵証明書は有効であることが確認できる。即ち、確かに端末Aから送信されたものであることが確認できる。
共通鍵生成機能204は、データの暗号化及び復号をするための共通鍵を生成する機能である。なお、共通鍵生成機能204は、検証機能203による検証に問題がない場合に共通鍵を生成する。
送信データ暗号化機能205は、共通鍵生成機能204が生成した共通鍵により、端末Aに送信する送信データを暗号化する機能である。
共通鍵暗号化機能206は、送信データを暗号化するために使用した共通鍵を、鍵交換用公開鍵取得機能202が取得した鍵交換用公開鍵により暗号化する機能である。
暗号情報送信機能207は、送信データ暗号化機能205が暗号化した送信データと、共通鍵暗号化機能206が暗号化した共通鍵とを含む暗号情報を、端末Aに送信する機能である。
ここで、説明の便宜上、端末Aを構成する残りの機能について説明する。
暗号情報受信機能104は、端末Bから暗号情報を受信する機能である。
共通鍵復号機能105は、暗号情報に含まれる暗号化された共通鍵を、自身が生成した鍵交換用秘密鍵により復号する機能である。これにより、端末Aは、端末Bとのデータ交換の際、データを暗号化及び復号するために必要な共通鍵を取得することができる。
送信データ復号機能106は、暗号情報に含まれる暗号化された送信データを、共通鍵復号機能105が復号した共通鍵により復号する機能である。これにより、端末Aは、端末Bが暗号化した送信データを取得することができる。
[鍵交換処理]
次に、図5を参照して、上記鍵交換システム100により実行される鍵交換処理について説明する。図5は、鍵交換処理のフローチャートである。
端末Aは、まず、鍵交換用公開鍵及び鍵交換用秘密鍵の鍵ペアを生成する(ステップS1)。さらに、端末Aは、生成した鍵交換用公開鍵を署名用秘密鍵で署名することにより、署名用公開鍵証明書を含むデータトークンを生成する(ステップS2)。さらに、端末Aは、生成したデータトークンを端末Bへ送信する(ステップS3)。
端末Bは、端末Aからデータトークンを受信する(ステップS4)。そして、端末Bは、受信したデータトークンから鍵交換用公開鍵を取得する(ステップS5)。このとき、端末Bは、データトークンに含まれる電子署名及び署名用公開鍵証明書に基づいて、当該鍵交換用公開鍵が改ざんされているか否か及び端末Aにより生成されたか否かを検証する(ステップS6)。検証の結果に問題があれば(ステップS7;No)、鍵交換処理は終了する。一方、検証の結果に問題がなければ(ステップs7;Yes)、端末Bは、データの暗号化及び復号に必要な共通鍵を生成する(ステップS8)。そして、端末Bは、生成した共通鍵により、端末Aに送信する送信データを暗号化する(ステップS9)。さらに、端末Bは、送信データの暗号化に使用した共通鍵を、データトークンから取得した鍵交換用公開鍵により暗号化する(ステップS10)。そして、端末Bは、共通鍵により暗号化した送信データと、鍵交換用公開鍵により暗号化した共通鍵とを含む暗号情報を端末Aへ送信する(ステップS11)。
端末Aは、端末Bから暗号情報を受信する(ステップS12)。そして、端末Aは、受信した暗号情報に含まれる暗号化された共通鍵を、自身が生成した鍵交換用秘密鍵で復号する。これにより、端末Aは、共通鍵を取得する(ステップS13)。さらに、端末Aは、受信した暗号情報に含まれる暗号化された送信データを、復号した共通鍵で復号する。これにより、端末Aは、送信データを取得する(ステップS14)。これにより、鍵交換処理は完了する。
従来は、PKIの枠組みで安全に暗号通信用の鍵交換を行う際、鍵交換用公開鍵証明書を取得する必要があった。しかし、本発明によれば、署名用公開鍵証明書しか保有しない利用者であっても、当該署名用公開鍵証明書を用いて鍵交換を行うことが可能となる。さらに、本発明によれば、利用者が生成した鍵交換用公開鍵を柔軟な用途に使用することを可能にしつつ、利用者が属するPKIのセキュリティポリシーを阻害しない。よって、PKIのメリットを損なうことなく、享受することができる。
本発明は、署名用公開鍵証明書のみを保有する端末であっても、他の端末と鍵交換を行うことができる鍵交換システムとして利用することができる。
本発明における鍵交換システムの概略構成を示す図である。 データトークンの構造を模式的に示す図である。 XMLによるデータトークンの例である。 図1に示す鍵交換システムに含まれる端末A及び端末Bの機能ブロック図である。 本発明における鍵交換処理のフローチャートである。
符号の説明
2…ネットワーク
100…鍵交換システム
101…鍵交換用鍵生成機能
102…データトークン生成機能
103…データトークン送信機能
104…暗号情報受信機能
105…共通鍵復号機能
106…送信データ復号機能

Claims (9)

  1. ネットワークを介して通信可能に接続された第1端末及び第2端末から構成される鍵交換システムにおいて、
    前記第1端末は、署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、
    鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段と、
    前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段と、
    前記データトークンを、前記第2端末に送信するデータトークン送信手段と、
    前記第2端末から、当該第2端末が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段と、
    前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段と、
    前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段と、を備え、
    前記第2端末は、
    前記第1端末から、前記データトークンを受信するデータトークン受信手段と、
    前記データトークンから、前記鍵交換用公開鍵を取得する鍵交換用公開鍵取得手段と、
    前記データトークンに含まれる前記電子署名及び前記署名用公開鍵証明書に基づいて、前記第1端末による署名の検証を行う検証手段と、
    前記検証に問題がなければ、共通鍵を生成する共通鍵生成手段と、
    前記第1端末に送信する送信データを、生成した前記共通鍵により暗号化する送信データ暗号化手段と、
    前記共通鍵を、取得した前記鍵交換用公開鍵により暗号化する共通鍵暗号化手段と、
    前記送信データ暗号化手段が暗号化した送信データと、前記共通鍵暗号化手段が暗号化した共通鍵とを有する暗号情報を生成し、当該暗号情報を前記第1端末へ送信する暗号情報送信手段と、を備えることを特徴とする鍵交換システム。
  2. 前記第1端末は、前記鍵交換用公開鍵を所有する所有者に関する鍵所有者情報を有しており、
    前記データトークンは、前記鍵所有者情報と、前記鍵交換用公開鍵と、前記署名用秘密鍵による電子署名と、前記署名用公開鍵証明書から構成されるものであって、
    前記第2端末は、
    前記データトークンに含まれる前記鍵所有者情報に基づいて、前記第1端末を使用する利用者を識別する利用者識別情報を特定する利用者識別情報特定手段と、
    前記利用者識別情報に対応付けて、当該データトークンを記憶するデータトークン記憶手段と、をさらに備えることを特徴とする請求項1に記載の鍵交換システム。
  3. 前記第1端末は、
    複数の前記署名用秘密鍵を有する場合、複数の前記署名用秘密鍵の中の1つを選択させるための選択画面を生成し、当該選択画面を表示する選択画面表示手段をさらに備え、
    前記データトークン生成手段は、前記選択画面で選択された署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、前記データトークンを生成することを特徴とする請求項1又は2のいずれか一項に記載の鍵交換システム。
  4. ネットワークを介して他の端末装置と通信可能な端末装置であって、
    署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、
    鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段と、
    前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段と、
    前記データトークンを、前記第2端末に送信するデータトークン送信手段と、
    前記他の端末装置から、当該他の端末装置が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段と、
    前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段と、
    前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段と、を備えることを特徴とする端末装置。
  5. 前記端末装置は、前記鍵交換用公開鍵を所有する所有者に関する鍵所有者情報を有しており、
    前記データトークンは、前記鍵所有者情報と、前記鍵交換用公開鍵と、前記署名用秘密鍵による電子署名と、前記署名用公開鍵証明書から構成されることを特徴とする請求項4に記載の端末装置。
  6. 複数の前記署名用秘密鍵を有する場合、複数の前記署名用秘密鍵の中の1つを選択させるための選択画面を生成し、当該選択画面を表示する選択画面表示手段をさらに備え、
    前記データトークン生成手段は、前記選択画面で選択された署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、前記データトークンを生成することを特徴とする請求項4又は5に記載の端末装置。
  7. ネットワークを介して他の端末装置と通信可能なコンピュータにより実行されるプログラムであって、
    署名用公開鍵、署名用秘密鍵及び前記署名用公開鍵を証明する署名用公開鍵証明書を有しており、
    鍵交換用公開鍵及び鍵交換用秘密鍵を生成する鍵交換用鍵生成手段、
    前記署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、電子署名、前記鍵交換用公開鍵及び前記署名用公開鍵証明書を含むデータトークンを生成するデータトークン生成手段、
    前記データトークンを、前記第2端末に送信するデータトークン送信手段、
    前記他の端末装置から、当該他の端末装置が生成した共通鍵で暗号化された送信データと、前記鍵交換用公開鍵で暗号化された前記共通鍵とを含む暗号情報を受信する暗号情報受信手段、
    前記暗号情報に含まれる暗号化された前記共通鍵を、前記鍵交換用秘密鍵により復号する共通鍵復号手段、
    前記暗号情報に含まれる暗号化された前記送信データを、復号した前記共通鍵により復号する送信データ復号手段、として前記コンピュータを機能させることを特徴とするプログラム。
  8. 前記プログラムは、前記鍵交換用公開鍵を所有する所有者に関する鍵所有者情報を有しており、
    前記データトークンは、前記鍵所有者情報と、前記鍵交換用公開鍵と、前記署名用秘密鍵による電子署名と、前記署名用公開鍵証明書から構成されることを特徴とする請求項7に記載のプログラム。
  9. 複数の前記署名用秘密鍵を有する場合、複数の前記署名用秘密鍵の中の1つを選択させるための選択画面を生成し、当該選択画面を表示する選択画面表示手段としてさらに前記コンピュータを機能させ、
    前記データトークン生成手段は、前記選択画面で選択された署名用秘密鍵により前記鍵交換用公開鍵に署名を行うことで、前記データトークンを生成することを特徴とする請求項7又は8に記載のプログラム。
JP2005186287A 2005-06-27 2005-06-27 鍵交換システム、端末装置及びプログラム Pending JP2007006319A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005186287A JP2007006319A (ja) 2005-06-27 2005-06-27 鍵交換システム、端末装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005186287A JP2007006319A (ja) 2005-06-27 2005-06-27 鍵交換システム、端末装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2007006319A true JP2007006319A (ja) 2007-01-11

Family

ID=37691462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005186287A Pending JP2007006319A (ja) 2005-06-27 2005-06-27 鍵交換システム、端末装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2007006319A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017108237A (ja) * 2015-12-08 2017-06-15 Kddi株式会社 システム、端末装置、制御方法、およびプログラム
JP2023503768A (ja) * 2020-10-26 2023-02-01 グーグル エルエルシー 複数受信者セキュア通信

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017108237A (ja) * 2015-12-08 2017-06-15 Kddi株式会社 システム、端末装置、制御方法、およびプログラム
JP2023503768A (ja) * 2020-10-26 2023-02-01 グーグル エルエルシー 複数受信者セキュア通信
JP7410280B2 (ja) 2020-10-26 2024-01-09 グーグル エルエルシー 複数受信者セキュア通信

Similar Documents

Publication Publication Date Title
ES2881289T3 (es) Método para gestionar una identidad de confianza
CN1961523B (zh) 令牌提供
CN100574184C (zh) 用于在计算机系统之间建立用于传递消息的安全上下文的方法和设备
JP5554066B2 (ja) 情報流通システム、情報端末及びプログラム
RU2584500C2 (ru) Криптографический способ аутентификации и идентификации с шифрованием в реальном времени
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
JPH10135943A (ja) 携帯可能情報記憶媒体及びそれを用いた認証方法、認証システム
JPH10336172A (ja) 電子認証用公開鍵の管理方法
CN107409043B (zh) 基于中央加密的存储数据对产品的分布式处理
JP2008234143A (ja) バイオメトリクスを使用した本人限定メール開封システムおよびその方法ならびにそのためのプログラム
KR20100025624A (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
KR20140071775A (ko) 암호키 관리 시스템 및 방법
JPH09191318A (ja) ゲートウェイシステム
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
JP6045018B2 (ja) 電子署名代行サーバ、電子署名代行システム及び電子署名代行方法
JP2007006319A (ja) 鍵交換システム、端末装置及びプログラム
JP2005278065A (ja) 認証用鍵の更新システム、認証用鍵の更新方法および認証用鍵の更新プログラム
GB2395304A (en) A digital locking system for physical and digital items using a location based indication for unlocking
JP5391694B2 (ja) 情報処理装置、情報処理方法および情報処理システム
JP2005217808A (ja) 情報処理装置及び電子文章の封印方法
CN109104393A (zh) 一种身份认证的方法、装置和系统
JP4071474B2 (ja) 失効確認装置及び方法
JP4762673B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP6343425B2 (ja) 利用者権限確認機能付き認証基盤システム