以下、この発明に係る暗号通信システムおよび暗号通信方法の好適な実施の形態につき図面を用いて説明するが、各図において同一、または相当する部分については、同一符号を付して説明する。
実施の形態1.
この実施の形態1では、複数の端末装置(暗号通信端末、以下、「子機」とも称する)と、端末装置の通信を中継する中継装置(暗号通信中継装置、以下、「親機」とも称する)とで構成される暗号通信システムにおいて、子機同士の通信を、必ず親機を経由して行うこととし、親機と子機との間の通信をワンタイムパッドで暗号化する方式について説明する。
このとき、親機と子機との間の通信で使用されるワンタイムパッドの暗号鍵は、USB等の有線接続や近距離無線接続等によって、親機で生成したものを子機に直接渡すものとする。また、1つの親機には複数の子機が所属しており、親機はそれぞれの子機との暗号通信において、個別の暗号鍵を用いる。有線接続や近距離無線接続等によって親機から子機に暗号鍵を渡す場合には、親機は子機の識別を行い、子機に対応した暗号鍵を渡す。
図1は、この発明の実施の形態1に係る暗号通信システムが適用されるネットワークシステムを示す概略図である。図1において、インターネット等のネットワーク101には、中継装置102が接続されている。また、無線ネットワーク103には、中継装置102、端末装置A104、・・・、および端末装置B105が接続されている。
以下、端末装置A104と端末装置B105とが通信を行う場合を例に挙げて説明する。端末装置A104および端末装置B105は、通信を行う前に、中継装置102に有線または近距離無線で接続し、中継装置102から暗号鍵を取得する。その後、端末装置A104と端末装置B105とは、通信を行う。通信は、取得した暗号鍵を使用してワンタイムパッドで暗号化される。
具体的には、まず、端末装置A104は、通信を行う準備として、中継装置102に有線または近距離無線で接続し、中継装置102は、端末装置A104を識別して、端末装置A104用に生成した暗号鍵を端末装置A104に送信する。図2は、この発明の実施の形態1に係る暗号通信システムにおける中継装置102および端末装置A104の動作の概要を示す説明図である。
図2において、端末装置A104は、USB等の有線または近距離無線により、中継装置102に接続する。接続が完了すると、端末装置A104は、自身の端末情報106を中継装置102に送信する。端末情報106を受信した中継装置102は、端末情報106の内容を確認し、端末装置A104に対応する暗号鍵107を端末装置A104に送信する。
次に、端末装置A104と端末装置B105とが、中継装置102を経由して通信を行う。例えば、図3を参照しながら、端末装置A104が送信した通信データを、端末装置B105が受信する場合について説明する。図3は、この発明の実施の形態1に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示す説明図である。
図3において、端末装置A104と中継装置102との通信は、暗号鍵107を使ったワンタイムパッドで暗号化されており、中継装置102は、通信内容を暗号鍵107で復号する。また、端末装置B105と中継装置102との通信は、暗号鍵108を使ったワンタイムパッドで暗号化されており、端末装置B105は、通信内容を暗号鍵108で復号する。
すなわち、端末装置A104は、通信データ109を暗号鍵107によるワンタイムパッドで暗号化し、暗号化通信データ110を得る。また、端末装置A104は、暗号化通信データ110を中継装置102に送信する。中継装置102は、暗号化通信データ110を受信し、暗号鍵107によるワンタイムパッドで復号し、通信データ111を得る。
また、中継装置102は、通信データ111を暗号鍵108によるワンタイムパッドで暗号化し、暗号化通信データ112を得る。また、中継装置102は、暗号化通信データ112を端末装置B105に送信する。端末装置B105は、暗号化通信データ112を受信し、暗号鍵108によるワンタイムパッドで復号し、通信データ113を得る。
次に、図4を参照しながら、中継装置102に接続した端末装置A104に対して、中継装置102から暗号鍵が渡されるまでの処理について説明する。図4は、この発明の実施の形態1に係る暗号通信システムにおける中継装置102および端末装置A104の動作の概要を示すフローチャートである。
まず、中継装置102は、端末装置A104が有線または近距離無線等で接続されていることを検知すると(ステップS101)、端末装置A104に対して、端末情報を要求する(ステップS102)。
続いて、端末装置A104は、端末情報の要求を受信すると(ステップS103)、自身の端末情報を中継装置102に送信する(ステップS104)。次に、中継装置102は、端末装置A104から端末情報を受信すると(ステップS105)、端末情報の内容に対応した暗号鍵がすでに作成されているか否かを判定するする(ステップS106)。
ここで、対応する暗号鍵がなければ(ステップS106でNO)、暗号鍵を生成し(ステップS107)、暗号鍵を端末措置A104に送信する(ステップS108)。対応する暗号鍵があれば(ステップS106でYES)、暗号鍵を端末装置A104に送信する(ステップS108)。端末装置A104は、暗号鍵を受信する(ステップS109)。
次に、図5を参照しながら、端末装置A104から通信データをワンタイムパッドで暗号化して送信し、中継装置102を経由して、端末装置B105が通信データを受信し、ワンタイムパッドで復号するまでの処理について説明する。図5は、この発明の実施の形態1に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示すフローチャートである。
まず、端末装置A104は、端末装置B105に通信データを送信した旨を接続要求として中継装置102に送信する(ステップS201)。続いて、中継装置102は、接続要求を受信すると(ステップS202)、接続要求を端末装置B105に転送する(ステップS203)。
次に、端末装置B105は、中継装置102から接続要求を受信すると(ステップS204)、接続要求の内容を確認し、接続許可を中継装置102に送信する(ステップS205)。続いて、中継装置102は、接続許可を受信すると(ステップS206)、接続許可を端末装置A104に転送する(ステップS207)。
次に、端末装置A104は、接続許可を受信すると(ステップS208)、送信したい通信データ109を暗号鍵107によるワンタイムパッドで暗号化し(ステップS209)、得られた暗号化通信データ110を中継装置102に送信する(ステップS210)。
続いて、中継装置102は、暗号化通信データ110を受信すると(ステップS211)、暗号化通信データ110を暗号鍵107によるワンタイムパッドで復号し、通信データ111を得る(ステップS212)。次に、中継装置102は、得られた通信データ111を暗号鍵108によるワンタイムパッドで暗号化し(ステップS213)、得られた暗号化通信データ112を端末装置B105に送信する(ステップS214)。
続いて、端末装置B105は、暗号化通信データ112を受信すると(ステップS215)、暗号鍵108によるワンタイムパッドで暗号化通信データ112を復号し、通信データ113を得る(ステップS216)。
次に、図6を参照しながら、中継装置102の機能について説明する。図6は、この発明の実施の形態1に係る暗号通信システムにおける中継装置102の機能構成を示すブロック図である。
図6において、中継装置102は、通信インターフェイス601、近距離無線インターフェイス602、有線インターフェイス603、端末装置接続検知部604、端末情報識別部605、暗号鍵送信部606、暗号鍵生成部607、通信接続制御部608、暗号通信制御部609、暗号通信暗号化部610、暗号通信復号部611および暗号鍵記憶部612を備えている。
通信インターフェイス601は、外部装置と通信を行う通信部である。より具体的には、通信インターフェイス601は、端末装置A104および端末装置B105と相互に通信を行う。
近距離無線インターフェイス602は、外部装置と近距離無線で通信を行う通信部である。より具体的には、近距離無線インターフェイス602は、端末装置A104および端末装置B105と近距離無線を用いて相互に通信を行う。
有線インターフェイス603は、外部装置と有線接続した状態で通信を行う通信部である。より具体的には、有線インターフェイス603は、USB等で有線接続された状態にある端末装置A104および端末装置B105と相互に通信を行う。
端末装置接続検知部604は、近距離無線インターフェイス602または有線インターフェイス603を介して、端末装置A104および端末装置B105が中継装置102と接続されていることを検知する。また、端末装置接続検知部604は、検知した旨を端末情報識別部605に通知する。
端末情報識別部605は、端末装置接続検知部604で端末装置A104または端末装置B105が検知されると、近距離無線インターフェイス602または有線インターフェイス603を介して、端末装置A104または端末装置B105に対して端末情報を要求し、受信した端末情報を暗号鍵送信部606に通知する。
暗号鍵送信部606は、端末情報識別部605から通知された送信するべき暗号鍵を暗号鍵記憶部612から取得する。暗号鍵記憶部612に暗号鍵が無い場合には、暗号鍵生成部607に暗号鍵の生成を要求する。また、暗号鍵送信部606は、暗号鍵を近距離無線インターフェイス602または有線インターフェイス603を介して、端末装置A104または端末装置B105に送信する。
暗号鍵生成部607は、暗号鍵送信部606から暗号鍵の生成を要求されると、暗号鍵を生成し、暗号鍵記憶部612に記憶させる。
通信接続制御部608は、端末装置A104と端末装置B105との接続を制御する。例えば、端末装置A104から接続要求を受信し、端末装置B105に転送する。また、通信接続制御部608は、端末装置B105から接続許可または接続拒否が返信されると、端末装置A104に同様の内容を転送する。
暗号通信制御部609は、通信インターフェイス601を介して、端末装置A104および端末装置B105から受信した暗号化通信データを、送信元の暗号鍵によるワンタイムパッドで復号した後、送信先の暗号鍵のワンタイムパッドで暗号化して送信する。
例えば、暗号通信制御部609は、通信インターフェイス601を介して端末装置A104から暗号化通信データを受信した場合には、暗号通信復号部611に、復号鍵として端末装置A104の暗号鍵を指定して暗号化通信データを送信する。このとき、暗号通信復号部611からは、暗号化通信データを復号した通信データが得られる。
また、暗号通信制御部609は、その通信データを暗号通信暗号化部610に、送信先が端末装置B105である旨と共に送信する。このとき、暗号通信暗号化部610からは、通信データを暗号化した暗号化通信データが得られる。暗号通信制御部609は、その暗号化通信データを、通信インターフェイス601を介して端末装置B105に送信する。
暗号通信暗号化部610は、暗号通信制御部609から受信した通信データを指定された暗号鍵で暗号化する。なお、暗号通信暗号化部610は、暗号鍵を暗号鍵記憶部612から取得する。また、暗号通信暗号化部610は、暗号化通信データを、暗号通信制御部609に送信する。
暗号通信復号部611は、暗号通信制御部609から受信した暗号化通信データを指定された暗号鍵で復号する。なお、暗号通信復号部611は、暗号鍵を暗号鍵記憶部612から取得する。また、暗号通信復号部611は、復号した通信データを、暗号通信制御部609に送信する。暗号鍵記憶部612は、暗号鍵生成部607で生成された暗号鍵を記憶する。
次に、図7を参照しながら、端末装置A104および端末装置B105の機能について説明する。図7は、この発明の実施の形態1に係る暗号通信システムにおける端末装置A104および端末装置B105の機能構成を示すブロック図である。なお、端末装置A104と端末装置B105とは、同一の機能構成なので、ここでは、端末装置A104と端末装置B105とを、端末装置701として説明する。
図7において、端末装置701は、通信インターフェイス702、近距離無線インターフェイス703、有線インターフェイス704、暗号鍵取得制御部705、端末情報送信部706、暗号鍵受信部707、通信接続制御部708、暗号通信制御部709、暗号通信暗号化部710、暗号通信復号部711、暗号鍵記憶部712および通信データ記憶部713を備えている。
通信インターフェイス702は、外部装置と通信を行う通信部である。より具体的には、通信インターフェイス702は、中継装置102と相互に通信を行う。近距離無線インターフェイス703は、外部装置と近距離無線で通信を行う通信部である。より具体的には、近距離無線インターフェイス703は、中継装置102と近距離無線を用いて相互に通信を行う。
有線インターフェイス704は、外部装置と有線接続した状態で通信を行う通信部である。より具体的には、有線インターフェイス704は、USB等で有線接続された状態にある中継装置102と相互に通信を行う。
暗号鍵取得制御部705は、近距離無線インターフェイス703または有線インターフェイス704を介して、中継装置102から端末情報の要求を受信すると、端末情報送信部706にその旨を通知する。
端末情報送信部706は、暗号鍵取得制御部705からの通知を受けると、近距離無線インターフェイス703または有線インターフェイス704を介して、中継装置102に端末情報を送信する。
暗号鍵受信部707は、近距離無線インターフェイス703または有線インターフェイス704を介して、中継装置102から暗号鍵を受信する。受信した暗号鍵は、暗号鍵記憶部712に記憶させる。
通信接続制御部708は、中継装置102を介して、他の端末装置への接続要求を送信する。また、中継装置102を介して、他の端末装置から接続要求を受信した場合には、接続の可否を判断し、接続許可または接続拒否を中継装置102に送信する。
暗号通信制御部709は、通信インターフェイス702を介して、中継装置102を経由して他の端末装置と暗号通信を行う。なお、暗号通信制御部709は、端末装置701から他の端末装置に通信データを送信する場合は、暗号通信暗号化部710に通信データの暗号化を要求し、暗号化通信データを得る。暗号通信制御部709は、得られた暗号化通信データを、通信インターフェイス702を介して中継装置102に送信する。
また、暗号通信制御部709は、他の端末装置から通信データを受信する場合は、通信インターフェイス702を介して中継装置102から得られた暗号化通信データを受信し、受信した暗号化通信データを暗号通信復号部711に送信する。
暗号通信暗号化部710は、暗号通信制御部709からの要求に従い、暗号鍵記憶部712から暗号鍵を取得し、通信データ記憶部713から通信データを取得する。その後、暗号通信暗号化部710は、暗号鍵によるワンタイムパッドで通信データを暗号化して、得られた暗号化通信データを暗号通信制御部709に渡す。
暗号通信復号部711は、暗号通信制御部709からの要求に従い、暗号鍵記憶部712から暗号鍵を取得し、暗号通信制御部709から暗号化通信データを受け取る。その後、暗号通信復号部711は、暗号鍵によるワンタイムパッドで暗号化通信データを復号して、得られた通信データを通信データ記憶部713に保存する。
暗号鍵記憶部712は、暗号鍵受信部707で受信した暗号鍵を記憶する。通信データ記憶部713は、暗号通信暗号化部710で暗号化するための通信データ、または、暗号通信復号部711で復号した結果得られた通信データを記憶する。
このように構成された中継装置102、端末装置A104および端末装置B105においては、端末装置A104および端末装置B105が、中継装置102と暗号鍵を共有しておくことにより、直接は暗号鍵を共有していないもう一方の端末装置と、ワンタイムパッドによる暗号通信ができるシステムを実現することができる。
すなわち、この発明の実施の形態1に係る暗号通信システムは、中継装置102と通信可能な端末同士であれば、任意にワンタイムパッドによる暗号通信を行うことを可能とするものである。
ここでは、ワンタイムパッドを用いた暗号通信において、中継装置による暗号通信の中継を行うことにより、中継装置と共有した暗号鍵のみで任意の相手と通信をすることができる暗号通信システムについて説明した。
以上のように、実施の形態1によれば、中継装置は、複数の端末装置の端末装置同士が通信する場合に、端末装置同士の通信を中継し、中継装置と端末装置とは、ワンタイムパッドで暗号化されたデータを通信する。
また、複数の端末装置の端末装置同士が通信する場合に、送信側の端末装置が、自身が有するワンタイムパッドの暗号鍵を用いて暗号化されたデータを中継装置に送信するステップと、中継装置が、送信側の端末装置に対応した暗号鍵を用いてワンタイムパッドの復号を行うステップと、中継装置が、受信側の端末装置に対応した暗号鍵を用いてワンタイムパッドの暗号化を行うステップと、受信側の端末装置が、自身が有するワンタイムパッドの暗号鍵を用いてデータを復号するステップとを有している。
そのため、高いセキュリティ性で利便性を低下させることなく、任意の相手とワンタイムパッドで暗号化した暗号通信を行うことができる。
実施の形態2.
この実施の形態2では、複数の端末装置(暗号通信端末、以下、「子機」とも称する)と、端末装置の通信を中継する中継装置(暗号通信中継装置、以下、「親機」とも称する)とで構成される暗号通信システムにおいて、異なる中継装置に接続されている子機同士の通信を、それぞれの親機を経由して行い、親機と子機との間の通信をワンタイムパッドで暗号化する方式について説明する。
このとき、親機と子機との間の通信で使用されるワンタイムパッドの暗号鍵は、USB等の有線接続や近距離無線接続等によって、親機で生成したものを子機に直接渡すものとする。また、1つの親機には複数の子機が所属しており、親機はそれぞれの子機との暗号通信において、個別の暗号鍵を用いる。有線接続や近距離無線接続等によって親機から子機に暗号鍵を渡す場合には、親機は子機の識別を行い、子機に対応した暗号鍵を渡す。
図8は、この発明の実施の形態2に係る暗号通信システムが適用されるネットワークシステムを示す概略図である。図8において、インターネット等のネットワーク801には、中継装置A802および中継機器B803が接続されている。また、無線ネットワーク804には、中継装置A802、端末装置Aa806、・・・、および端末装置Ab807が接続されている。また、無線ネットワーク805には、中継装置B803、端末装置Ba808、・・・、および端末装置Bb809が接続されている。
以下、端末装置Aa806と端末装置Ba808とが通信を行う場合を例に挙げて説明する。端末装置Aa806は、通信を行う前に、中継装置A802に有線または近距離無線で接続し、中継装置A802から暗号鍵を取得する。また、端末装置Ba808は、通信を行う前に、中継装置B803に有線または近距離無線で接続し、中継装置B803から暗号鍵を取得する。その後、端末装置Aa806と端末装置Ba808とは、通信を行う。各中継装置と端末装置との間の通信は、取得した暗号鍵を使用してワンタイムパッドで暗号化される。
具体的には、まず、端末装置Aa806は、通信を行う準備として、中継装置A802に有線または近距離無線で接続し、中継装置A802は、端末装置Aa806を識別して、端末装置Aa806用に生成した暗号鍵を端末装置Aa806に送信する。動作概要は、図2に示したものと同様なので、詳細な説明を省略する。
次に、端末装置Aa806と端末装置Ba808とが、中継装置A802および中継装置B803を経由して通信を行う。例えば、図9を参照しながら、端末装置Aa806が送信した通信データを、端末装置Ba808が受信する場合について説明する。図9は、この発明の実施の形態2に係る暗号通信システムにおける中継装置A802、中継装置B803、端末装置Aa806および端末装置Ba808の動作の概要を示す説明図である。
図9において、端末装置Aa806と中継装置A802との通信は、暗号鍵901を使ったワンタイムパッドで暗号化されており、中継装置A802は、通信内容を暗号鍵901で復号する。また、端末装置Ba808と中継装置B803との通信は、暗号鍵902を使ったワンタイムパッドで暗号化されており、端末装置Ba808は、通信内容を暗号鍵902で復号する。
すなわち、端末装置Aa806は、通信データ903を暗号鍵901によるワンタイムパッドで暗号化し、暗号化通信データ904を得る。端末装置Aa806は、暗号化通信データ904を中継装置A802に送信する。中継装置A802は、暗号化通信データ904を受信し、暗号鍵901によるワンタイムパッドで復号し、通信データ905を得る。
また、中継装置A802は、通信データ905を中継装置B803に送信する。中継装置B803は、通信データ905を受信し、通信データ905を暗号鍵902によるワンタイムパッドで暗号化し、暗号化通信データ906を得る。中継装置B803は、暗号化通信データ906を端末装置Ba808に送信する。端末装置Ba808は、暗号化通信データ906を受信し、暗号鍵902によるワンタイムパッドで復号し、通信データ907を得る。
ここで、中継装置A802に接続した端末装置Aa806に対して、中継装置A802から暗号鍵が渡されるまでの処理については、実施の形態1において上述した図4と同様なので、説明を省略する。
次に、図10を参照しながら、端末装置Aa806から通信データをワンタイムパッドで暗号化して送信し、中継装置A802および中継装置B803を経由して、端末装置Ba808が通信データを受信し、ワンタイムパッドで復号するまでの処理について説明する。図10は、この発明の実施の形態2に係る暗号通信システムにおける中継装置A802、中継装置B803、端末装置Aa806および端末装置Ba808の動作の概要を示すフローチャートである。
まず、端末装置Aa806は、端末装置Ba808に通信データを送信した旨を接続要求として中継装置A802に送信する(ステップS301)。続いて、中継装置A802は、接続要求を受信すると(ステップS302)、接続要求を中継装置B803に転送する(ステップS303)。
次に、中継装置B803は、接続要求を受信すると(ステップS304)、接続要求を端末装置Ba808に転送する(ステップS305)。続いて、端末装置Ba808は、中継装置B803から接続要求を受信すると(ステップS306)、接続要求の内容を確認し、接続許可を中継装置B803に送信する(ステップS307)。
次に、中継装置B803は、接続許可を受信すると(ステップS308)、接続許可を中継装置A802に転送する(ステップS309)。続いて、中継装置A802は、接続許可を受信すると(ステップS310)、接続許可を端末装置Aa806に転送する(ステップS311)。
次に、端末装置Aa806は、接続許可を受信すると(ステップS312)、送信したい通信データ903を暗号鍵901によるワンタイムパッドで暗号化し(ステップS313)、得られた暗号化通信データ904を中継装置A802に送信する(ステップS314)。
続いて、中継装置A802は、暗号化通信データ904を受信すると(ステップS315)、暗号化通信データ904を暗号鍵901によるワンタイムパッドで復号し、通信データ905を得る(ステップS316)。次に、中継装置A802は、得られた通信データ905を中継装置B803に送信する(ステップS317)。
続いて、中継装置B803は、通信データ905を受信すると(ステップS318)、通信データ905を暗号鍵902によるワンタイムパッドで暗号化し、暗号化通信データ906を得る(ステップS319)。次に、中継装置B803は、得られた暗号化通信データ906を端末装置Ba808に送信する(ステップS320)。
続いて、端末装置Ba808は、暗号化通信データ906を受信すると(ステップS321)、暗号鍵902によるワンタイムパッドで暗号化通信データ906を復号して、通信データ907を得る(ステップS322)。
ここで、この発明の実施の形態2に係る暗号通信システムにおける中継装置A802および中継装置B803の機能については、実施の形態1において上述した図6と同様なので、説明を省略する。
また、この発明の実施の形態2に係る暗号通信システムにおける端末装置Aa806、および端末装置Ab807、並びに端末装置Ba808および端末装置Bb809の機能については、実施の形態1において上述した図7と同様なので、説明を省略する。
このように構成された中継装置A802、中継機器B803、端末装置Aa806、端末装置Ab807、端末装置Ba808および端末装置Bb809においては、端末装置Aa806および端末装置Ab807が、中継装置A802と暗号鍵を共有しておくことにより、また、端末装置Ba808および端末装置Bb809が、中継機器B803と暗号鍵を共有しておくことにより、直接は暗号鍵を共有していない、異なる中継装置に接続された端末装置と、ワンタイムパッドによる暗号通信ができるシステムを実現することができる。
すなわち、この発明の実施の形態2に係る暗号通信システムは、中継装置A802または中継機器B803と通信可能な端末同士であれば、任意にワンタイムパッドによる暗号通信を行うことを可能とするものである。
ここでは、ワンタイムパッドを用いた暗号通信において、複数の中継装置による暗号通信の中継を行うことにより、直接接続されている中継装置と共有した暗号鍵のみで任意の相手と通信をすることができる暗号通信システムについて説明した。
実施の形態3.
この実施の形態3では、上述した実施の形態1において、端末装置間で事前に共有したブロック暗号鍵を用いて暗号化を行うことにより、中継装置内において、通信データが露見することを防止する技術について説明する。
まず、図11を参照しながら、端末装置A104が送信した通信データを、端末装置B105が受信する場合について説明する。図11は、この発明の実施の形態3に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示す説明図である。
図11において、端末装置A104は、通信データ109をブロック暗号鍵1001によるブロック暗号で暗号化し、1次暗号化通信データ1002を得る。さらに、端末装置A104は、1次暗号化通信データ1002を暗号鍵107によるワンタイムパッドで暗号化し、2次暗号化通信データ1003を得る。また、端末装置A104は、2次暗号化通信データ1003を中継装置102に送信する。
中継装置102は、2次暗号化通信データ1003を受信し、暗号鍵107によるワンタイムパッドで復号し、1次暗号化通信データ1004を得る。さらに、中継装置102は、1次暗号化通信データ1004を暗号鍵108によるワンタイムパッドで暗号化し、2次暗号化通信データ1005を得る。また、中継装置102は、2次暗号化通信データ1005を端末装置B105に送信する。
端末装置B105は、2次暗号化通信データ1005を受信し、暗号鍵108によるワンタイムパッドで復号し、1次暗号化通信データ1006を得る。さらに、端末装置B105は、1次暗号化通信データ1006をブロック暗号鍵1001によるブロック暗号で復号し、通信データ109を得る。
次に、図12を参照しながら、端末装置A104から通信データをブロック暗号で暗号化した後、ワンタイムパッドで暗号化して送信し、中継装置102を経由して、端末装置B105が通信データを受信し、ワンタイムパッドで復号して、ブロック暗号で復号するまでの処理について説明する。図12は、この発明の実施の形態3に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示すフローチャートである。
まず、ステップS401からステップS407までは、図5に示したステップS201からステップS207までと同様の処理になる。続いて、端末装置A104は、接続許可を受信すると(ステップS408)、送信したい通信データ109をブロック暗号鍵1001によるブロック暗号で暗号化し(ステップS409)、1次暗号化通信データ1002を得る。
さらに、端末装置A104は、1次暗号化通信データ1002を暗号鍵107によるワンタイムパッドで暗号化し(ステップS410)、得られた2次暗号化通信データ1003を中継装置102に送信する(ステップS411)。
次に、中継装置102は、2次暗号化通信データ1003を受信すると(ステップS412)、2次暗号化通信データ1003を暗号鍵107によるワンタイムパッドで復号し、1次暗号化通信データ1004を得る(ステップS413)。
続いて、中継装置102は、得られた1次暗号化通信データ1004を暗号鍵108によるワンタイムパッドで暗号化し(ステップS414)、得られた2次暗号化通信データ1005を端末装置B105に送信する(ステップS415)。
次に、端末装置B105は、2次暗号化通信データ1005を受信すると(ステップS416)、暗号鍵108によるワンタイムパッドで2次暗号化通信データ1005を復号し、1次暗号化通信データ1006を得る(ステップS417)。さらに、端末装置B105は、1次暗号化通信データ1006をブロック暗号鍵1001によるブロック暗号で復号し、通信データ109を得る(ステップS418)。
次に、図13を参照しながら、端末装置A104および端末装置B105の機能について説明する。図13は、この発明の実施の形態3に係る暗号通信システムにおける端末装置A104および端末装置B105の機能構成を示すブロック図である。なお、端末装置A104と端末装置B105とは、同一の機能構成なので、ここでは、端末装置A104と端末装置B105とを、端末装置1301として説明する。
図13において、端末装置1301は、通信インターフェイス702、近距離無線インターフェイス703、有線インターフェイス704、暗号鍵取得制御部705、端末情報送信部706、暗号鍵受信部707、通信接続制御部708、暗号通信制御部709、暗号通信暗号化部710、暗号通信復号部711、暗号鍵記憶部712、通信データ記憶部713、ブロック暗号暗号化部714、ブロック暗号復号部715およびブロック暗号鍵記憶部716を備えている。
ここで、通信インターフェイス702、近距離無線インターフェイス703、有線インターフェイス704、暗号鍵取得制御部705、端末情報送信部706、暗号鍵受信部707、通信接続制御部708、暗号鍵記憶部712および通信データ記憶部713については、実施の形態1において上述した図7と同様なので、説明を省略する。
暗号通信制御部709は、通信インターフェイス702を介して、中継装置102を経由して他の端末装置と暗号通信を行う。なお、暗号通信制御部709は、端末装置701から他の端末装置に通信データを送信する場合は、ブロック暗号暗号化部714に通信データの暗号化を要求し、1次暗号化通信データを得る。
さらに、暗号通信制御部709は、暗号通信暗号化部710に1次暗号化通信データの暗号化を要求し、2次暗号化通信データを得る。暗号通信制御部709は、得られた2次暗号化通信データを、通信インターフェイス702を介して中継装置102に送信する。
また、暗号通信制御部709は、他の端末装置から通信データを受信する場合は、通信インターフェイス702を介して中継装置102から得られた2次暗号化通信データを受信し、受信した2次暗号化通信データを暗号通信復号部711に送信し、1次暗号化通信データを得る。また、暗号通信制御部709は、1次暗号化通信データをブロック暗号復号部715に送信する。
暗号通信暗号化部710は、暗号通信制御部709からの要求に従い、暗号鍵記憶部712から暗号鍵を取得し、暗号通信制御部709から1次暗号化通信データを取得する。その後、暗号通信暗号化部710は、暗号鍵によるワンタイムパッドで1次暗号化通信データを暗号化して、得られた2次暗号化通信データを暗号通信制御部709に渡す。
暗号通信復号部711は、暗号通信制御部709からの要求に従い、暗号鍵記憶部712から暗号鍵を取得し、暗号通信制御部709から2次暗号化通信データを受け取る。その後、暗号通信復号部711は、暗号鍵によるワンタイムパッドで2次暗号化通信データを復号して、得られた1次暗号化通信データを暗号通信制御部709に送信する。
ブロック暗号暗号化部714は、暗号通信制御部709からの要求に従い、ブロック暗号鍵記憶部716から暗号鍵を取得し、通信データ記憶部713から通信データを取得する。その後、ブロック暗号暗号化部714は、暗号鍵によるブロック暗号で通信データを暗号化して、得られた1次暗号化通信データを暗号通信制御部709に渡す。
ブロック暗号復号部715は、暗号通信制御部709からの要求に従い、ブロック暗号鍵記憶部716から暗号鍵を取得し、暗号通信制御部709から1次暗号化通信データを受け取る。その後、ブロック暗号復号部715は、暗号鍵によるブロック暗号で1次暗号化通信データを復号して、得られた通信データを通信データ記憶部713に保存する。ブロック暗号鍵記憶部716は、ブロック暗号鍵を記憶する。
このように構成された中継装置102、端末装置A104および端末装置B105においては、上述した実施の形態1の機能に加えて、端末装置A104および端末装置B105が、ブロック暗号の暗号鍵を共有しておくことにより、中継装置102に通信データを露見させることなく、もう一方の端末装置と、ワンタイムパッドによる暗号通信ができるシステムを実現することができる。
すなわち、この発明の実施の形態3に係る暗号通信システムは、上述した実施の形態1の機能に加えて、中継装置102に通信データを露見させることなく、暗号通信を実現することを可能とするものである。
ここでは、ワンタイムパッドを用いた暗号通信において、事前にブロック暗号による暗号化を行うことにより、中継装置に通信内容を露見させることなく、任意の相手と通信をすることができる暗号通信システムについて説明した。
実施の形態4.
この実施の形態4では、上述した実施の形態2において、端末装置間で事前に共有したブロック暗号鍵を用いて暗号化を行うことにより、中継装置内において、通信データが露見することを防止する技術について説明する。
まず、図14を参照しながら、端末装置Aa806が送信した通信データを、端末装置Ba808が受信する場合について説明する。図14は、この発明の実施の形態4に係る暗号通信システムにおける中継装置A802、中継装置B803、端末装置Aa806および端末装置Ba808の動作の概要を示す説明図である。
図14において、端末装置Aa806は、通信データ903をブロック暗号鍵1001によるブロック暗号で暗号化し、1次暗号化通信データ1002を得る。さらに、端末装置Aa806は、1次暗号化通信データ1002を暗号鍵901によるワンタイムパッドで暗号化し、2次暗号化通信データ1003を得る。また、端末装置Aa806は、2次暗号化通信データ1003を中継装置A802に送信する。
中継装置A802は、2次暗号化通信データ1003を受信し、暗号鍵901によるワンタイムパッドで復号し、1次暗号化通信データ1004を得る。また、中継装置A802は、1次暗号化通信データ1004を中継装置B803に送信する。
中継装置B803は、1次暗号化通信データ1004を受信し、1次暗号化通信データ1004を暗号鍵902によるワンタイムパッドで暗号化し、2次暗号化通信データ1004を得る。また、中継装置B803は、2次暗号化通信データ1005を端末装置Ba808に送信する。
端末装置Ba808は、2次暗号化通信データ1005を受信し、暗号鍵902によるワンタイムパッドで復号し、1次暗号化通信データ1006を得る。さらに、端末装置Ba808は、1次暗号化通信データ1006をブロック暗号鍵1001によるブロック暗号で復号し、通信データ907を得る。
次に、図15を参照しながら、端末装置Aa806から通信データをブロック暗号で暗号化した後、ワンタイムパッドで暗号化して送信し、中継装置A802および中継装置B803を経由して、端末装置Ba808が通信データを受信し、ワンタイムパッドで復号して、ブロック暗号で復号するまでの処理について説明する。図15は、この発明の実施の形態4に係る暗号通信システムにおける中継装置A802、中継装置B803、端末装置Aa806および端末装置Ba808の動作の概要を示すフローチャートである。
まず、ステップS501からステップS511までは、図10に示したステップS301からステップS311までと同様の処理になる。続いて、端末装置Aa806は、接続許可を受信すると(ステップS512)、送信したい通信データ903をブロック暗号鍵1001によるブロック暗号で暗号化し(ステップS513)、1次暗号化通信データ1002を得る。
さらに、端末装置Aa806は、1次暗号化通信データ1002を暗号鍵901によるワンタイムパッドで暗号化し(ステップS514)、得られた2次暗号化通信データ1003を中継装置A802に送信する(ステップS515)。
次に、中継装置A802は、2次暗号化通信データ1003を受信すると(ステップS516)、2次暗号化通信データ1003を暗号鍵901によるワンタイムパッドで復号し、1次暗号化通信データ1004を得る(ステップS517)。続いて、中継装置A802は、得られた1次暗号化通信データ1004を中継装置B803に送信する(ステップS518)。
次に、中継装置B803は、1次暗号化通信データ1004を受信すると(ステップS519)、1次暗号化通信データ1004を暗号鍵902によるワンタイムパッドで暗号化し、2次暗号化通信データ1005を得る(ステップS520)。続いて、中継装置B803は、得られた2次暗号化通信データ1005を端末装置Ba808に送信する(ステップS521)。
次に、端末装置Ba808は、2次暗号化通信データ1005を受信し(ステップS522)、暗号鍵902によるワンタイムパッドで2次暗号化通信データ1005を復号し、1次暗号化通信データ1006を得る(ステップS523)。さらに、端末装置Ba808は、1次暗号化通信データ1006をブロック暗号鍵1001によるブロック暗号で復号し、通信データ907を得る(ステップS524)。
ここで、この発明の実施の形態4に係る暗号通信システムにおける中継装置A802および中継装置B803の機能については、実施の形態1において上述した図6と同様なので、説明を省略する。
また、この発明の実施の形態4に係る暗号通信システムにおける端末装置Aa806、および端末装置Ab807、並びに端末装置Ba808および端末装置Bb809の機能については、実施の形態3において上述した図13と同様なので、説明を省略する。
このように構成された中継装置A802、中継機器B803、端末装置Aa806、端末装置Ab807、端末装置Ba808および端末装置Bb809においては、上述した実施の形態2の機能に加えて、端末装置Aa806および端末装置Ab807のそれぞれと、端末装置Ba808および端末装置Bb809のそれぞれとが、ブロック暗号の暗号鍵を共有しておくことにより、中継装置A802および中継機器B803に通信データを露見させることなく、もう一方の中継装置に接続された端末装置と、ワンタイムパッドによる暗号通信ができるシステムを実現することができる。
すなわち、この発明の実施の形態4に係る暗号通信システムは、上述した実施の形態2の機能に加えて、中継装置A802および中継機器B803に通信データを露見させることなく、暗号通信を実現することを可能とするものである。
ここでは、ワンタイムパッドを用いた暗号通信において、事前にブロック暗号による暗号化を行うことにより、複数の中継装置による暗号通信の中継を行う場合に、中継装置に通信内容を露見させることなく、任意の相手と通信をすることができる暗号通信システムについて説明した。
実施の形態5.
この実施の形態5では、上述した実施の形態3および4において、端末装置によるワンタイムパッドの暗号化処理およびブロック暗号の暗号化処理、またはワンタイムパッドの復号処理およびブロック暗号の復号処理を一括で行うことにより、暗号化処理または復号処理に要する時間を軽減する技術について説明する。
具体的には、ブロック暗号は、カウンターモードで動作することとし、カウンターモードの処理過程で生成されるキーストリームをワンタイムパッドの暗号鍵と事前に結合させることにより、通信遅延による処理遅延を軽減するとともに、暗号化処理および復号処理の処理回数を削減する。なお、この実施の形態5では、上述した実施の形態3に適用した場合を例に挙げて説明する。
まず、図16を参照しながら、端末装置A104が送信した通信データを、端末装置B105が受信する場合について説明する。図16は、この発明の実施の形態5に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示す説明図である。
図16において、端末装置A104は、通信データ109を暗号化する前に、ブロック暗号鍵1001からキーストリーム1101を作成し、キーストリーム1101と暗号鍵107とを結合させることにより、一括暗号鍵1102を得る。
さらに、端末装置A104は、通信データ109を一括暗号鍵1102で暗号化し、暗号化通信データ1103を得る。また、端末装置A104は、暗号化通信データ1103を中継装置102に送信する。
中継装置102は、暗号化通信データ1103を受信し、暗号鍵107によるワンタイムパッドで復号し、暗号化通信データ1104を得る。さらに、中継装置102は、暗号化通信データ1104を暗号鍵108によるワンタイムパッドで暗号化し、暗号化通信データ1105を得る。また、中継装置102は、暗号化通信データ1105を端末装置B105に送信する。
端末装置B105は、暗号化通信データ1105を受信し、暗号化通信データ1105を復号する前に、ブロック暗号鍵1001からキーストリーム1101を作成し、キーストリーム1101と暗号鍵108とを結合させることにより、一括暗号鍵1106を得る。さらに、端末装置B105は、暗号化通信データ1105を一括暗号鍵1106で復号し、通信データ109を得る。
次に、図17を参照しながら、端末装置A104から通信データをワンタイムパッドで暗号化して送信し、中継装置102を経由して、端末装置B105が通信データを受信し、ワンタイムパッドで復号するまでの処理について説明する。図17は、この発明の実施の形態5に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示すフローチャートである。
まず、ステップS601からステップS607までは、図5に示したステップS201からステップS207までと同様の処理になる。続いて、端末装置A104は、接続許可を受信すると(ステップS608)、ブロック暗号鍵1001からキーストリーム1101を生成し(ステップS609)、キーストリーム1101と暗号鍵107とを結合して一括暗号鍵1102を生成する(ステップS610)。
続いて、端末装置A104は、送信したい通信データ109を一括暗号鍵1102で暗号化し(ステップS611)、得られた暗号化通信データ1103を中継装置102に送信する(ステップS612)。
次に、中継装置102は、暗号化通信データ1103を受信すると(ステップS613)、暗号化通信データ1103を暗号鍵107によるワンタイムパッドで復号し、暗号化通信データ1104を得る(ステップS614)。
続いて、中継装置102は、得られた暗号化通信データ1104を暗号鍵108によるワンタイムパッドで暗号化し(ステップS615)、得られた暗号化通信データ1105を端末装置B105に送信する(ステップS616)。
次に、端末装置B105は、暗号化通信データ1105を受信すると(ステップS617)、ブロック暗号鍵1001からキーストリーム1101を生成し(ステップS618)、キーストリーム1101と暗号鍵108とを結合して一括暗号鍵1106を生成する(ステップS619)。
続いて、端末装置B105は、1次暗号化通信データ1006を一括暗号鍵1106で復号し、通信データ109を得る(ステップS620)。
次に、図18を参照しながら、端末装置A104および端末装置B105の機能について説明する。図18は、この発明の実施の形態5に係る暗号通信システムにおける端末装置A104および端末装置B105の機能構成を示すブロック図である。なお、端末装置A104と端末装置B105とは、同一の機能構成なので、ここでは、端末装置A104と端末装置B105とを、端末装置1801として説明する。
図18において、端末装置1801は、通信インターフェイス702、近距離無線インターフェイス703、有線インターフェイス704、暗号鍵取得制御部705、端末情報送信部706、暗号鍵受信部707、通信接続制御部708、暗号通信制御部1802、一括暗号鍵生成部1803、キーストリーム生成部1804、暗号通信暗号化部1805、暗号通信復号部1806、暗号鍵記憶部712、通信データ記憶部713およびブロック暗号鍵記憶部716を備えている。
ここで、通信インターフェイス702、近距離無線インターフェイス703、有線インターフェイス704、暗号鍵取得制御部705、端末情報送信部706、暗号鍵受信部707、通信接続制御部708、暗号鍵記憶部712および通信データ記憶部713については、実施の形態1において上述した図7と同様なので、説明を省略する。
暗号通信制御部1802は、通信インターフェイス702を介して、中継装置102を経由して他の端末装置と暗号通信を行う。なお、暗号通信制御部1802は、端末装置1801から他の端末装置に通信データを送信する場合は、一括暗号鍵生成部1803に一括暗号鍵を要求し、一括暗号鍵を得る。
さらに、暗号通信制御部1802は、暗号通信暗号化部1805に一括暗号鍵を送信し、暗号化通信データを得る。暗号通信制御部1802は、得られた暗号化通信データを、通信インターフェイス702を介して中継装置102に送信する。
また、暗号通信制御部1802は、他の端末装置から通信データを受信する場合は、一括暗号鍵生成部1803に一括暗号鍵を要求し、一括暗号鍵を得る。さらに、暗号通信制御部1802は、通信インターフェイス702を介して中継装置102から得られた暗号化通信データを受信し、受信した暗号化通信データと一括暗号鍵を暗号通信復号部1806に送信する。
一括暗号鍵生成部1803は、暗号通信制御部1802の要求に応じて、一括暗号鍵を生成する。すなわち、一括暗号鍵生成部1803は、暗号通信制御部1802の要求を受け取ると、キーストリーム生成部1804にキーストリームを要求し、キーストリームを取得する。また、一括暗号鍵生成部1803は、暗号鍵記憶部712から暗号鍵を取得する。その後、一括暗号鍵生成部1803は、キーストリームと暗号鍵とを結合して、一括暗号鍵を生成する。
キーストリーム生成部1804は、一括暗号鍵生成部1803の要求に応じて、ブロック暗号鍵からキーストリームを生成する。すなわち、キーストリーム生成部1804は、一括暗号鍵生成部1803の要求を受け取ると、ブロック暗号鍵記憶部716からブロック暗号鍵を取得し、ブロック暗号鍵からキーストリームを生成する。また、キーストリーム生成部1804は、生成したキーストリームを一括暗号鍵生成部1803に送信する。
暗号通信暗号化部1805は、暗号通信制御部1802からの要求に従い、通信データを暗号化する。すなわち、暗号通信暗号化部1805は、暗号通信制御部1802から暗号化の要求と一括暗号鍵とを受け取ると、通信データ記憶部713から通信データを取得し、一括暗号鍵で暗号化して暗号化通信データを得る。また、暗号通信暗号化部1805は、得られた暗号化通信データを暗号通信制御部1802に送信する。
暗号通信復号部1806は、暗号通信制御部1802からの要求に従い、暗号化通信データを復号する。すなわち、暗号通信復号部1806は、暗号通信制御部1802から復号の要求と一括暗号鍵および暗号化通信データとを受け取ると、一括暗号鍵で暗号化通信データを復号して通信データを得る。また、暗号通信復号部1806は、得られた通信データを通信データ記憶部713に保存する。
次に、図19を参照しながら、この発明の実施の形態5に係る暗号通信システムにおける、端末装置で行う暗号化および復号の仕組みについて、具体的に説明する。図19は、この発明の実施の形態5に係る暗号通信システムにおける端末装置で行う暗号化の流れを示す説明図である。
図19において、まず、ブロック暗号鍵からキーストリームが生成される。キーストリームは、暗号鍵と同じ長さであり、キーストリームと暗号鍵とを1ビット単位で排他的論理和することにより、一括暗号鍵が生成される。さらに、一括暗号鍵と通信データとを1ビット単位で排他的論理和することにより、暗号化通信データが生成される。
ここで、排他的論理和による演算は、ワンタイムパッドの暗号化および復号と同様のものであり、かつ計算順序を入れ替えることができる。そのため、暗号化通信データは、通信データをキーストリームによるワンタイムパッドで暗号化した結果を、さらに暗号鍵によるワンタイムパッドで暗号化したものと捉えることができる。
したがって、中継装置におけるワンタイムパッドの復号および暗号化は、上述した実施の形態3と同様の処理で行うことができる。この場合には、通信データをキーストリームで暗号化した結果が1次暗号化通信データになる。
ここで、端末装置で行う復号処理に着目すると、上述した実施の形態3では、2次暗号化通信データを受信した後、ワンタイムパッドの復号、ブロック暗号の復号の順で処理を行っている。ところが、この実施の形態5においては、暗号化通信データの受信と、キーストリームおよび暗号鍵の排他的論理和の処理とを同時に行うことができる。そのため、例えば暗号化通信データの受信時に遅延が発生しても、それにより、全体の処理が滞ることはなく、影響を抑えることができる。
また、上述した実施の形態3では、ワンタイムパッドおよびブロック暗号の復号を行っているが、この実施の形態5では、一括暗号鍵によるワンタイムパッドの復号のみを行うので、暗号化通信データを受信した後の処理を軽減することができる。
このように構成された中継装置102、端末装置A104および端末装置B105においては、上述した実施の形態3および4の機能に加えて、端末装置A104で行う復号処理において、通信遅延による処理遅延を軽減するとともに、暗号化処理および復号処理の処理回数を少なくすることができる。
すなわち、この発明の実施の形態5に係る暗号通信システムは、上述した実施の形態3および4の機能に加えて、端末装置で行う復号処理が受ける通信遅延の影響を軽減し、暗号化処理および復号処理の回数を少なくすることができる。
ここでは、ワンタイムパッドを用いた暗号通信において、端末装置が行うワンタイムパッドの暗号化処理およびブロック暗号の暗号化処理、またはワンタイムパッドの復号処理およびブロック暗号の復号処理を一括で行うことにより、暗号化処理または復号処理に要する時間を軽減することができる暗号通信システムについて説明した。
実施の形態6.
この実施の形態6では、上述した実施の形態1および3において、暗号化用の暗号鍵と復号用の暗号鍵とを事前に結合することにより、中継装置で行うワンタイムパッドの暗号化処理および復号処理を同時に行い、処理の軽減を実現するとともに、暗号鍵の漏洩や不正利用を防止することができる技術について説明する。
具体的には、暗号化用の暗号鍵と復号用の暗号鍵とで排他的論理和を行い、得られた暗号鍵を用いてワンタイムパッドの暗号化を行う。これにより得られるデータは、復号用の暗号鍵によりワンタイムパッドの復号を行った通信データを、暗号化用の暗号鍵によりワンタイムパッドで暗号化した暗号化通信データと一致したものになる。なお、この実施の形態6では、上述した実施の形態1に適用した場合を例に挙げて説明する。
まず、図20を参照しながら、端末装置A104が送信した通信データを、端末装置B105が受信する場合について説明する。図20は、この発明の実施の形態6に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示す説明図である。
図20において、端末装置A104は、通信データ109を暗号鍵107によるワンタイムパッドで暗号化し、暗号化通信データ110を得る。また、端末装置A104は、暗号化通信データ110を中継装置102に送信する。
中継装置102は、暗号化通信データ110を受信し、暗号鍵107と暗号鍵108とから事前に生成された一括暗号鍵2001によるワンタイムパッドで暗号化し、暗号化通信データ112を得る。また、中継装置102は、暗号化通信データ112を端末装置B105に送信する。
端末装置B105は、暗号化通信データ112を受信し、暗号鍵108によるワンタイムパッドで復号し、通信データ113を得る。
次に、図21を参照しながら、端末装置A104から通信データをワンタイムパッドで暗号化して送信し、中継装置102を経由して、端末装置B105が通信データを受信し、ワンタイムパッドで復号するまでの処理について説明する。図21は、この発明の実施の形態6に係る暗号通信システムにおける中継装置102、端末装置A104および端末装置B105の動作の概要を示すフローチャートである。
まず、ステップS701からステップS710までは、図5に示したステップS201からステップS210までと同様の処理になる。続いて、中継装置102は、暗号化通信データ110を受信すると(ステップS711)、暗号化通信データ110を一括暗号鍵2001によるワンタイムパッドで処理し(ステップS712)、得られた暗号化通信データ112を端末装置B105に送信する(ステップS713)。
また、ステップS714、ステップS715は、図5に示したステップS215、ステップS216と同様の処理になる。
次に、図22を参照しながら、中継装置102の機能について説明する。図22は、この発明の実施の形態6に係る暗号通信システムにおける中継装置102の機能構成を示すブロック図である。
図22において、中継装置102は、通信インターフェイス601、近距離無線インターフェイス602、有線インターフェイス603、端末装置接続検知部604、端末情報識別部605、暗号鍵送信部606、暗号鍵生成部607、通信接続制御部608、暗号通信制御部2201、暗号通信暗号化部2202、一括暗号鍵生成部2203および暗号鍵記憶部612を備えている。
ここで、通信インターフェイス601、近距離無線インターフェイス602、有線インターフェイス603、端末装置接続検知部604、端末情報識別部605、暗号鍵送信部606、暗号鍵生成部607、通信接続制御部608および暗号鍵記憶部612については、実施の形態1において上述した図6と同様なので、説明を省略する。
暗号通信制御部2201は、通信インターフェイス601を介して、端末装置A104および端末装置B105から受信した暗号化通信データを、送信元の暗号鍵と送信先の暗号鍵とで生成された一括暗号鍵によるワンタイムパッドで暗号化して、送信する。
例えば、暗号通信制御部2201は、通信インターフェイス601を介して端末装置A104から暗号化通信データを受信した場合には、暗号通信暗号化部2202に、鍵として端末装置A104の暗号鍵と送信先である端末装置B105の暗号鍵とを指定して、暗号化通信データを送信する。また、暗号通信制御部2201は、暗号通信暗号化部2202から得られた暗号化通信データを、通信インターフェイス601を介して端末装置B105に送信する。
暗号通信暗号化部2202は、暗号通信制御部2201から受信した暗号化通信データを指定された暗号鍵により暗号化する。なお、暗号通信暗号化部2202は、暗号鍵を暗号鍵記憶部612から取得する。また、暗号通信暗号化部2202は、暗号化通信データは暗号通信制御部2201に送信する。
一括暗号鍵生成部2203は、中継装置102の管理者または中継装置102を管理する権限を持つ装置からの指示を受けて、指定された2つの暗号鍵同士を排他的論理和によって結合し、一括暗号鍵を生成する。また、一括暗号鍵生成部2203は、生成した一括暗号鍵は暗号鍵記憶部612に保存する。
このように構成された中継装置102、端末装置A104および端末装置B105においては、上述した実施の形態1および3の機能に加えて、暗号化用の暗号鍵と復号用の暗号鍵とを事前に結合して一括暗号鍵を生成することにより、中継装置の暗号化および復号処理を1度の処理で行い処理負荷を軽減するとともに、暗号化用の暗号鍵および復号用の暗号鍵が露見しないようにすることにより、暗号鍵の漏洩や不正利用を防止することができる。
すなわち、この発明の実施の形態6に係る暗号通信システムは、上述した実施の形態1および3の機能に加えて、中継装置で行う暗号化および復号処理を軽減し、暗号化鍵および復号鍵の漏洩や不正利用を防止することができる。
ここでは、ワンタイムパッドを用いた暗号通信において、中継装置が行うワンタイムパッドの暗号化処理および復号処理を一括で行うことにより、暗号化処理または復号処理に要する時間を軽減するとともに、暗号化鍵および復号鍵の漏洩や不正利用を防止することができる暗号通信システムについて説明した。