JP2008028869A - 通信代理システムおよび通信代理装置 - Google Patents
通信代理システムおよび通信代理装置 Download PDFInfo
- Publication number
- JP2008028869A JP2008028869A JP2006201232A JP2006201232A JP2008028869A JP 2008028869 A JP2008028869 A JP 2008028869A JP 2006201232 A JP2006201232 A JP 2006201232A JP 2006201232 A JP2006201232 A JP 2006201232A JP 2008028869 A JP2008028869 A JP 2008028869A
- Authority
- JP
- Japan
- Prior art keywords
- data
- public key
- data processing
- processing device
- unit
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】データ通信においてセキュリティを確保しつつ伝送効率を向上させる。
【解決手段】クライアント端末300からサーバ装置400へ秘匿すべきデータが送信されるとき、クライアント代理装置100とサーバ代理装置200は秘匿データを中継する。クライアント代理装置100は、クライアント端末300の送信処理を代理し、サーバ代理装置200はサーバ装置400の受信処理を代理する。クライアント代理装置100は、クライアント端末300から暗号化された送信用のデータを取得し、いったん復号した後に圧縮し、更に暗号化してサーバ装置400に宛てて送信する。サーバ代理装置200は、クライアント代理装置100からそのデータを受信し、復号した上で展開し、サーバ装置400に転送する。サーバ代理装置200は、サーバ装置400が発行する公開鍵証明書を自己のルート証明書により認証し、認証結果をクライアント代理装置100に通知する。
【選択図】図4
【解決手段】クライアント端末300からサーバ装置400へ秘匿すべきデータが送信されるとき、クライアント代理装置100とサーバ代理装置200は秘匿データを中継する。クライアント代理装置100は、クライアント端末300の送信処理を代理し、サーバ代理装置200はサーバ装置400の受信処理を代理する。クライアント代理装置100は、クライアント端末300から暗号化された送信用のデータを取得し、いったん復号した後に圧縮し、更に暗号化してサーバ装置400に宛てて送信する。サーバ代理装置200は、クライアント代理装置100からそのデータを受信し、復号した上で展開し、サーバ装置400に転送する。サーバ代理装置200は、サーバ装置400が発行する公開鍵証明書を自己のルート証明書により認証し、認証結果をクライアント代理装置100に通知する。
【選択図】図4
Description
この発明は、データ通信技術、特に、データ通信の伝送効率とセキュリティを向上させるための技術、に関する。
近年、コンピュータの普及とネットワーク技術の進展にともない、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。このような状況において、通信経路上のデータの盗取や改竄、送受信者のなりすましを防ぐための技術が重要性を増している。
電子情報の交換はFTTH(Fiber To The Home)などの有線通信回線上だけでなく、無線LAN(Local Area Network)などの無線通信回線上においても行われる。携帯電話やカーナビゲーションシステムなどの移動通信端末の高機能化により、いつでもどこでも手軽に通信できる環境が整いつつある。無線通信回線においては、セキュリティ対策が特に重要である。
特開2006−100973号公報
また、無線通信回線では、移動通信端末と接続先の基地局(base station)との距離、基地局に接続されている移動通信端末の数、移動通信端末が接続先の基地局を切り換えるときのハンドオーバー(hand-over)などの影響により、パケット損失、ひいては、パケット再送処理が発生しやすい。パケット損失を抑制し、データの伝送効率を向上させる対策も必要である。
本発明者は、送信するデータのサイズを圧縮すれば、パケット損失の発生回数そのものを抑制できることに着目した。データサイズの圧縮は、通信ネットワーク全体のトラフィックを低下させる。パケット従量制の場合であれば、料金面でもメリットがある。しかし、一般的な圧縮技術の場合、同じパターンが繰り返し現れるタイプのデータであれば高い圧縮率を実現できるが、暗号化されたデータにはこのような繰り返しのパターンが現れにくくなり、圧縮率が下がってしまう。
本発明は本発明者の上記課題認識に基づいて完成された発明であり、その主たる目的は、セキュリティ確保とデータサイズ圧縮を両立させることにより、好適なデータ通信を実現するための技術、を提供することにある。
本発明のある態様は、第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加される通信代理システムである。このシステムは、第1のデータ処理装置の送信処理を代理する第1通信代理装置と第2のデータ処理装置の受信処理を代理する第2通信代理装置を備える。
第1通信代理装置は、送信側である第1のデータ処理装置から暗号化されたデータを取得し、いったん復号した後に圧縮し、更に暗号化して第2のデータ処理装置に宛てて送信する。
第2通信代理装置は、第1通信代理装置からその暗号化されたデータを受信し、復号した上で展開し、受信側である第2のデータ処理装置に転送する。このとき、第2通信代理装置は、第2のデータ処理装置が発行した公開鍵証明書を取得して認証する機能を備える。
第1通信代理装置は、送信側である第1のデータ処理装置から暗号化されたデータを取得し、いったん復号した後に圧縮し、更に暗号化して第2のデータ処理装置に宛てて送信する。
第2通信代理装置は、第1通信代理装置からその暗号化されたデータを受信し、復号した上で展開し、受信側である第2のデータ処理装置に転送する。このとき、第2通信代理装置は、第2のデータ処理装置が発行した公開鍵証明書を取得して認証する機能を備える。
本発明の別の態様も、第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加される通信代理システムである。このシステムは、第1のデータ処理装置の送信処理を代理する第1通信代理装置と第2のデータ処理装置の受信処理を代理する第2通信代理装置を備える。
第1通信代理装置は、送信側である第1のデータ処理装置から暗号化されたデータを取得し、いったん復号した後に圧縮し、更に暗号化して第2のデータ処理装置に宛てて送信する。第1通信代理装置は、第2のデータ処理装置が発行した公開鍵証明書を取得して認証する機能を備える。
第2通信代理装置は、第1通信代理装置からその暗号化されたデータを受信し、復号した上で展開し、受信側である第2のデータ処理装置に転送する。
第1通信代理装置は、送信側である第1のデータ処理装置から暗号化されたデータを取得し、いったん復号した後に圧縮し、更に暗号化して第2のデータ処理装置に宛てて送信する。第1通信代理装置は、第2のデータ処理装置が発行した公開鍵証明書を取得して認証する機能を備える。
第2通信代理装置は、第1通信代理装置からその暗号化されたデータを受信し、復号した上で展開し、受信側である第2のデータ処理装置に転送する。
既存の暗号通信システムにこのような通信代理システムを追加することで、効率的なデータ圧縮と暗号化という2つの目的を達成できる。
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
本発明によれば、通信セキュリティ確保しつつ、効率的なデータ圧縮を実現する上で効果がある。
本実施例においては、SSL(Secure Socket Layer)をベースとしてクライアント端末300からサーバ装置400にデータを送信するクライアント・サーバシステムを対象として説明する。SSLは、公開鍵暗号方式に基づく通信プロトコルである。
公開鍵暗号方式は、暗号化用の鍵と復号用の鍵が異なる点に特徴がある。公開鍵暗号方式には、RSA(Rivest Shamir Adleman)暗号や、ラビン(Rabin)暗号、エルガマル(Elgamal)暗号など、さまざまな実用方式がある。これらのいずれにおいても、公開鍵および秘密鍵という一対の鍵によって暗号化処理と復号処理が実現される。公開鍵暗号方式において、公開鍵で暗号化したデータは秘密鍵でしか復号できない。また、秘密鍵で暗号化したデータは公開鍵でしか復号できない。すなわち、公開鍵で暗号化したデータは、同じ公開鍵でも復号できず、秘密鍵で暗号化したデータも秘密鍵では復号できない。このような公開鍵暗号方式の非対称性を利用したSSLは、電子商取引等のさまざまな場面で使用されている。
図1は、一般的なSSLの仕組みを説明するためのシーケンス図である。
同図では、クライアント端末300からサーバ装置400に対して、秘匿すべきデータ(以下、単に「秘匿データ」とよぶ)を送信するとして説明する。まず、クライアント端末300はサーバ装置400に接続要求コマンドを送信する(S10)。接続要求コマンドは、クライアント端末300が秘匿データを送信する前に送信すべきとして通信プロトコルに定義されているコマンドであればよい。たとえば、接続要求コマンドは、セッション開始時に送信するSYNパケット(Synchronize Packet)であってもよい。
同図では、クライアント端末300からサーバ装置400に対して、秘匿すべきデータ(以下、単に「秘匿データ」とよぶ)を送信するとして説明する。まず、クライアント端末300はサーバ装置400に接続要求コマンドを送信する(S10)。接続要求コマンドは、クライアント端末300が秘匿データを送信する前に送信すべきとして通信プロトコルに定義されているコマンドであればよい。たとえば、接続要求コマンドは、セッション開始時に送信するSYNパケット(Synchronize Packet)であってもよい。
サーバ装置400は、接続要求コマンドを受信すると公開鍵と秘密鍵を対生成する(S12)。以下、サーバ装置400が生成する公開鍵のことを「公開鍵S」、秘密鍵のことを「秘密鍵S」とよぶ。サーバ装置400は、公開鍵Sのデータを含む公開鍵証明書をクライアント端末300に送信する(S14)。公開鍵証明書は、X.509規格に基づく形式にて生成される。公開鍵証明書には、公開鍵以外にも、公開鍵を認証した認証局、公開鍵の有効期間、発行元であるサーバ装置400のIDなどが含まれる。
クライアント端末300は、公開鍵証明書を受信すると共通鍵を生成する(S16)。以下、クライアント端末300が生成する共通鍵のことを「共通鍵C」ともよぶ。ただし、クライアント端末300は、許容可能な認証局があらかじめ登録されているルート証明書(root certificate)を参照して、公開鍵Sの認証局が登録されていることを条件として共通鍵Cを生成する。クライアント端末300は、共通鍵Cを公開鍵Sにより暗号化する(S18)。暗号化された共通鍵Cは、サーバ装置400に送信される(S20)。以下、暗号化されていることを示すために「<>」という記号を利用して説明する。たとえば、S20にて送信される暗号化された共通鍵Cのことを<共通鍵C>と表す。サーバ装置400は、この<共通鍵C>を取得する。
サーバ装置400は、<共通鍵C>を秘密鍵Sで復号し、共通鍵Cを取り出す(S22)。こうして、クライアント端末300とサーバ装置400は共通鍵Cを秘密裏に共有する。次に、クライアント端末300は、送信対象となる秘匿データを共通鍵Cにより暗号化する(S24)。クライアント端末300は、この暗号化された<秘匿データ>をサーバ装置400に送信する(S26)。サーバ装置400は、<秘匿データ>を共通鍵Cで復号し、秘匿データを取り出す(S28)。こうして、クライアント端末300からサーバ装置400に対して秘匿データが秘密裏に送信される。以上が、一般的なSSL通信の概略である。
サーバ装置400からクライアント端末300にデータを送信する場合にも、S10からS22までの処理内容は同じである。サーバ装置400は共通鍵Cにより秘匿データを暗号化してクライアント端末300に送信する。一般的なSSL通信では、公開鍵暗号方式によって秘密裏に共通鍵Cを共有し、共通鍵Cにより秘匿データの暗号化と復号が行われる。通常、共通鍵暗号方式よりも公開鍵暗号方式の方が処理負荷が大きくなるため、公開鍵Sは共通鍵Cを安全に送り届けるためだけに使われる。クライアント端末300やサーバ装置400の処理能力によっては、共通鍵Cではなく、公開鍵Sによって秘匿データを暗号化するとしてもよい。以下、本実施例においては、秘匿データは公開鍵Sではなく共通鍵Cにより暗号化されるものとして説明する。
ところで、秘匿データのサイズが大きいほど、伝送に要する時間は長くなり、S26におけるパケット送信回数も多くなる。パケット送信回数が多くなると、秘匿データの送信中にパケット損失が発生しやすくなる。無線通信の場合は特に発生しやすい。また、パケット従量制の場合には、秘匿データのサイズが大きいほどユーザに金銭的なコストを強いる結果となる。本実施例においては、秘匿データのサイズを圧縮してパケット送信回数を減少させることにより、伝送時間や伝送コストを改善するというアプローチを採用している。秘匿データのサイズを圧縮するために、クライアント端末300とサーバ装置400の間に、クライアント代理装置100とサーバ代理装置200を追加する。
図2は、本実施例における通信代理システム310のハードウェア構成図である。
クライアント端末300は、通信ネットワーク350を介してサーバ装置400a〜400cにアクセスする。クライアント端末300は、ノートPC、携帯電話、PHS(Personal Handyphone System)、カーナビゲーション端末などの移動通信端末であるが、少なくともSSLに対応した秘匿データ送信機能を備える装置であればよい。サーバ装置400は、クライアント端末300からの接続要求を受けてさまざまなサービスを提供する装置である。サーバ装置400も、SSLに対応した秘匿データ受信機能を備える装置であればよい。通信ネットワーク350は、無線通信ネットワークを含む通信ネットワークである。クライアント端末300は最寄りの基地局と接続し、通信ネットワーク350を介してサーバ装置400と通信する。
クライアント端末300は、通信ネットワーク350を介してサーバ装置400a〜400cにアクセスする。クライアント端末300は、ノートPC、携帯電話、PHS(Personal Handyphone System)、カーナビゲーション端末などの移動通信端末であるが、少なくともSSLに対応した秘匿データ送信機能を備える装置であればよい。サーバ装置400は、クライアント端末300からの接続要求を受けてさまざまなサービスを提供する装置である。サーバ装置400も、SSLに対応した秘匿データ受信機能を備える装置であればよい。通信ネットワーク350は、無線通信ネットワークを含む通信ネットワークである。クライアント端末300は最寄りの基地局と接続し、通信ネットワーク350を介してサーバ装置400と通信する。
本実施例においては、このようなSSL対応の通信システムに対して、クライアント代理装置100とサーバ代理装置200が通信代理システム310として追加される。クライアント代理装置100は、クライアント端末300の秘匿データ送信処理を代理する装置であり、クライアント端末300と通信ネットワーク350のインタフェースとなる。したがって、クライアント端末300はクライアント代理装置100を介して通信ネットワーク350と接続する。クライアント代理装置100は、クライアント端末300にインストールされるソフトウェアモジュールであってもよい。クライアント代理装置100の機能は基地局の機能の一部として実現されてもよいし、ハードウェア的にクライアント端末300や基地局とは別個の装置であってもよい。本実施例においては、クライアント代理装置100はクライアント端末300に代わって通信ネットワーク350に接続する単体の装置であるとして説明する。
サーバ代理装置200は、サーバ装置400の秘匿データ受信処理を代理する装置であり、サーバ装置400と通信ネットワーク350のインタフェースとなる。したがって、各サーバ装置400はサーバ代理装置200を介して通信ネットワーク350と接続する。サーバ代理装置200は、サーバ装置400にインストールされるソフトウェアモジュールであってもよい。サーバ代理装置200の機能は、複数のサーバ装置400をまとめるプロキシサーバ(proxy server)やファイアウォール(firewall)の機能の一部として実現されてもよい。サーバ代理装置200とサーバ装置400を接続する通信回線は、イントラネットのような通信ノードを限定した回線であってもよいし、インターネットのような広域回線、あるいは、それらの組み合わせであってもよい。本実施例においては、サーバ代理装置200はサーバ装置400に代わって通信ネットワーク350に接続する単体の装置であるとして説明する。
クライアント代理装置100がクライアント端末300を代理し、サーバ代理装置200がサーバ装置400を代理するのは、クライアント端末300からサーバ装置400に対して秘匿データを送信するという前提で説明しているためである。したがって、サーバ装置400からクライアント端末300に秘匿データを送信する場合には、クライアント代理装置100はサーバ装置400を代理し、サーバ代理装置200はクライアント端末300を代理することになる。秘匿データを双方向に送信し合う通信システムの場合には、クライアント代理装置100とサーバ代理装置200の双方の機能を備えた通信代理装置をクライアント端末300側とサーバ装置400側の両方に設置すればよい。
なお、クライアントとサーバの関係は固定的な関係である必要はない。ノード間で適宜、送信側と受信側が入れ替わるような通信システムであっても、通信代理システム310を適用可能であることはいうまでもない。P2P(Peer to Peer)のようにノード間で相互に直接通信するシステムでも当然に適用できる。
秘匿データの送信について想定されるパターンは以下の3通りである。
A.クライアント・サーバの関係が固定的なシステムにおいて、クライアント端末300からサーバ装置400に秘匿データを送信するパターン。いわゆるアップストリーム送信である。
B.クライアント・サーバの関係が固定的なシステムにおいて、サーバ装置400からクライアント端末300に秘匿データを送信するパターン。いわゆるダウンストリーム送信である。
C.P2Pのようにデータ送信主体とデータ受信主体がノード間で適宜入れ替わるシステムにおいて、送信ノードから受信ノードに対して秘匿データを送信するパターン。
A.クライアント・サーバの関係が固定的なシステムにおいて、クライアント端末300からサーバ装置400に秘匿データを送信するパターン。いわゆるアップストリーム送信である。
B.クライアント・サーバの関係が固定的なシステムにおいて、サーバ装置400からクライアント端末300に秘匿データを送信するパターン。いわゆるダウンストリーム送信である。
C.P2Pのようにデータ送信主体とデータ受信主体がノード間で適宜入れ替わるシステムにおいて、送信ノードから受信ノードに対して秘匿データを送信するパターン。
本明細書においては、上記Aのパターンを前提として説明した上で、上記Bのパターンについても付言する。
上記Cのパターンについては、上記Aのパターンと同様である。送信ノードの送信処理は以下に詳述するクライアント代理装置100の送信機能によって代理される。受信ノードの受信処理は以下に詳述するサーバ代理装置200の受信機能によって代理される。上記Cのパターンのように秘匿データを双方向に送信し合う通信システムの場合には、クライアント代理装置100とサーバ代理装置200の双方の機能を備えた通信代理装置を各ノードごとに設置すればよい。送信ノードとなるときにはこの通信代理装置により送信処理が代理される。受信ノードとなるときには通信代理装置により受信処理を代理される。
上記Cのパターンについては、上記Aのパターンと同様である。送信ノードの送信処理は以下に詳述するクライアント代理装置100の送信機能によって代理される。受信ノードの受信処理は以下に詳述するサーバ代理装置200の受信機能によって代理される。上記Cのパターンのように秘匿データを双方向に送信し合う通信システムの場合には、クライアント代理装置100とサーバ代理装置200の双方の機能を備えた通信代理装置を各ノードごとに設置すればよい。送信ノードとなるときにはこの通信代理装置により送信処理が代理される。受信ノードとなるときには通信代理装置により受信処理を代理される。
図3は、通信代理システム310によるデータ圧縮処理を図1のSSL通信処理に追加した場合のシーケンス図である。ここではAのパターンを前提としている。
同図では、図1のSSL通信処理に対して単純にデータの圧縮・展開処理を追加した場合のシーケンスを示している。本実施例における実際の通信処理過程は図4以降に関連して説明する予定であるが、その特徴を明確にするために、まず、図3に沿って基本的な処理の流れとその問題点について説明する。
同図では、図1のSSL通信処理に対して単純にデータの圧縮・展開処理を追加した場合のシーケンスを示している。本実施例における実際の通信処理過程は図4以降に関連して説明する予定であるが、その特徴を明確にするために、まず、図3に沿って基本的な処理の流れとその問題点について説明する。
クライアント端末300が接続要求コマンドをサーバ装置400に送信すると、クライアント代理装置100は、接続要求コマンドを中継してサーバ装置400に転送する(S10)。サーバ代理装置200も、接続要求コマンドをサーバ装置400に代わって受信したあと、サーバ装置400に転送する。公開鍵証明書の送信(S14)や、<共通鍵C>の送信(S20)においても、クライアント代理装置100とサーバ代理装置200がデータの中継を行うが、S10からS22までの基本的な処理の流れは、図1に関連して説明した内容と同様である。そのため、S24における秘匿データの暗号化処理から説明する。
クライアント端末300は、秘匿データを共通鍵Cで暗号化し(S24)、<秘匿データ>をサーバ装置400に宛てて送信する(S26)。クライアント代理装置100は、<秘匿データ>を受信し、所定のデータ圧縮方法にて圧縮する(S29)。圧縮方法としては、JPEG(Joint Photographic Experts Group)やZIPなど、秘匿データのタイプに応じて既知の圧縮技術を応用すればよい。クライアント代理装置100は、圧縮後の<秘匿データ>をサーバ装置400に宛てて送信する(S30)。以下、圧縮されていることを示すために「[]」という記号を利用して説明する。たとえば、S29にて圧縮された<秘匿データ>のことを[<秘匿データ>]と表す。ここまでの処理をまとめると、
秘匿データ→暗号化(S24)→<秘匿データ>→圧縮(S29)→[<秘匿データ>]
となる。[<秘匿データ>]はサーバ代理装置200により受信され、サーバ代理装置200により展開(extract)される(S32)。サーバ代理装置200は展開後の<秘匿データ>をサーバ装置400に転送する(S34)。サーバ装置400は、図1に示したのと同様、<秘匿データ>を共通鍵Cにより復号する(S28)。まとめると、
[<秘匿データ>]→展開(S32)→<秘匿データ>→復号(S28)→秘匿データ
である。
秘匿データ→暗号化(S24)→<秘匿データ>→圧縮(S29)→[<秘匿データ>]
となる。[<秘匿データ>]はサーバ代理装置200により受信され、サーバ代理装置200により展開(extract)される(S32)。サーバ代理装置200は展開後の<秘匿データ>をサーバ装置400に転送する(S34)。サーバ装置400は、図1に示したのと同様、<秘匿データ>を共通鍵Cにより復号する(S28)。まとめると、
[<秘匿データ>]→展開(S32)→<秘匿データ>→復号(S28)→秘匿データ
である。
このような処理方法によれば、S30において送信される[<秘匿データ>]のサイズを図1のS26において送信される<秘匿データ>よりも小さくできる。また、通信セキュリティも確保できる。一般的には、秘匿データ中に繰り返しパターンが多く現れるほど圧縮率が高くなる。しかし、秘匿データを暗号化すると、この繰り返しパターンの出現頻度が小さくなり圧縮率が下がってしまう。そのため、伝送効率をいっそう向上させるためには、S29における圧縮率を高めるための工夫が必要がある。
図4は、本実施例におけるデータ圧縮処理過程を示すシーケンス図である。
図4に示す処理の前提となる処理は、図3のS10からS22までの処理内容と同様である。図4では、S24における秘匿データの暗号化処理から説明する。まず、クライアント端末300は、共通鍵Cにより秘匿データを暗号化する(S24)。クライアント端末300は、<秘匿データ>をサーバ装置400に宛てて送信する(S26)。クライアント代理装置100は、この<秘匿データ>を取得し、共通鍵Cにより復号する(S36)。このため、クライアント代理装置100は、共通鍵Cをあらかじめクライアント端末300から受け取っておく必要がある。クライアント代理装置100がクライアント端末300にインストールされるソフトウェアモジュールとして実現される場合、クライアント代理装置100はクライアント端末300がS16で共通鍵Cを生成したときに共通鍵Cが公開鍵Sで暗号化される前に受け取ればよい。あるいは、クライアント代理装置100とクライアント端末300はあらかじめ静的に生成されている共通鍵Cを暗黙的に共有しておいてもよい。本実施例におけるクライアント端末300とクライアント代理装置100の間での共通鍵Cの共有方法については、図7に関連して後に詳述する。
図4に示す処理の前提となる処理は、図3のS10からS22までの処理内容と同様である。図4では、S24における秘匿データの暗号化処理から説明する。まず、クライアント端末300は、共通鍵Cにより秘匿データを暗号化する(S24)。クライアント端末300は、<秘匿データ>をサーバ装置400に宛てて送信する(S26)。クライアント代理装置100は、この<秘匿データ>を取得し、共通鍵Cにより復号する(S36)。このため、クライアント代理装置100は、共通鍵Cをあらかじめクライアント端末300から受け取っておく必要がある。クライアント代理装置100がクライアント端末300にインストールされるソフトウェアモジュールとして実現される場合、クライアント代理装置100はクライアント端末300がS16で共通鍵Cを生成したときに共通鍵Cが公開鍵Sで暗号化される前に受け取ればよい。あるいは、クライアント代理装置100とクライアント端末300はあらかじめ静的に生成されている共通鍵Cを暗黙的に共有しておいてもよい。本実施例におけるクライアント端末300とクライアント代理装置100の間での共通鍵Cの共有方法については、図7に関連して後に詳述する。
クライアント代理装置100は、復号された秘匿データを圧縮する(S38)。復号後の圧縮であるため、図3のS29の圧縮よりも高い圧縮率を実現しやすい。クライアント代理装置100は、所定の共通鍵により、圧縮後の[秘匿データ]を暗号化する(S40)。この共通鍵のことを以降においては「共通鍵P」とよぶことにする。共通鍵Pは、あらかじめクライアント代理装置100とサーバ代理装置200の間で暗黙的に共有しておいてもよいし、クライアント代理装置100とサーバ代理装置200の間でSSLの仕組みによって共有してもよい。クライアント代理装置100は、圧縮後に共通鍵Pにて暗号化された<[秘匿データ]>をサーバ装置400に送信する(S42)。
送信側の処理をまとめると、
秘匿データ→暗号化(S24)→<秘匿データ>→復号(S36)→秘匿データ→圧縮(S38)→[秘匿データ]→暗号化(S40)→<[秘匿データ]>
となる。
秘匿データ→暗号化(S24)→<秘匿データ>→復号(S36)→秘匿データ→圧縮(S38)→[秘匿データ]→暗号化(S40)→<[秘匿データ]>
となる。
サーバ代理装置200は、<[秘匿データ]>を受信すると、共通鍵Pにより復号し(S44)、展開する(S46)。サーバ代理装置200は、所定の共通鍵により、展開後の秘匿データを暗号化する(S48)。この共通鍵のことを以降においては「共通鍵Q」とよぶことにする。サーバ代理装置200は、共通鍵Qにより暗号化した<秘匿データ>をサーバ装置400に転送する(S50)。サーバ装置400は、共通鍵Qにより<秘匿データ>を復号することにより、秘匿データを取得する(S52)。サーバ装置400は、共通鍵Qをあらかじめサーバ代理装置200から受け取っておく必要がある。サーバ代理装置200がサーバ装置400にインストールされるソフトウェアモジュールとして実現される場合、サーバ装置400はサーバ代理装置200が共通鍵Qを生成したときにそのまま受け取ればよい。あるいは、サーバ代理装置200とサーバ装置400はあらかじめ共通鍵Qを暗黙的に共有しておいてもよい。本実施例におけるサーバ代理装置200とサーバ装置400の間での共通鍵Qの共有方法については、図7に関連して後に詳述する。
受信側の処理をまとめると、
<[秘匿データ]>→復号(S44)→[秘匿データ]→展開(S46)→秘匿データ→暗号化(S48)→<秘匿データ>→復号(S52)→秘匿データ
となる。
<[秘匿データ]>→復号(S44)→[秘匿データ]→展開(S46)→秘匿データ→暗号化(S48)→<秘匿データ>→復号(S52)→秘匿データ
となる。
なお、クライアント端末300の生成した共通鍵Cと、秘匿データの暗号化に使用される共通鍵Pは同じであってもよい。たとえば、クライアント代理装置100は、SSLの仕組みによって、共通鍵Cをサーバ代理装置200に秘密裏に渡すことにより、クライアント端末300、クライアント代理装置100、サーバ代理装置200の間で共通鍵Cを共有してもよい。同様に、サーバ代理装置200とサーバ装置400の間で使用する共通鍵Qと共通鍵Pは同じであってもよい。すなわち、共通鍵C、P、Qは必ずしも別々である必要はない。
また、S48以降において、サーバ代理装置200からサーバ装置400までの通信セキュリティが確保できる場合には、サーバ代理装置200は秘匿データを暗号化することなくそのままサーバ装置400に転送してもよい。
本実施例における通信処理過程の基本的な原理は同図に示した通りである。以下、クライアント代理装置100とサーバ代理装置200の具体的な構成について説明した後、特に共通鍵C、Qの共有方法やサーバ装置400が発行する公開鍵証明書(後述)の認証を中心として、より詳細に通信代理システム310の処理内容を説明する。
本実施例における通信処理過程の基本的な原理は同図に示した通りである。以下、クライアント代理装置100とサーバ代理装置200の具体的な構成について説明した後、特に共通鍵C、Qの共有方法やサーバ装置400が発行する公開鍵証明書(後述)の認証を中心として、より詳細に通信代理システム310の処理内容を説明する。
図5は、クライアント代理装置100の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。後の図6に示すサーバ代理装置200についても同様である。
ここでは、主として各ブロックの発揮すべき機能について説明し、それらの具体的な作用については、図7以降に関連して説明する。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。後の図6に示すサーバ代理装置200についても同様である。
ここでは、主として各ブロックの発揮すべき機能について説明し、それらの具体的な作用については、図7以降に関連して説明する。
クライアント代理装置100は、ユーザインタフェース処理部110、代理インタフェース処理部120、ネットワークインタフェース処理部130、データ処理部140および鍵データ保持部180を含む。
ユーザインタフェース処理部110は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。代理インタフェース処理部120は、クライアント端末300とのインタフェース全般に関する処理を担当する。ネットワークインタフェース処理部130は、通信ネットワーク350を介して、サーバ代理装置200やサーバ装置400との通信を担当する。データ処理部140は、ユーザインタフェース処理部110や代理インタフェース処理部120、ネットワークインタフェース処理部130から取得されたデータを元にして各種のデータ処理を実行する。データ処理部140は、ユーザインタフェース処理部110、代理インタフェース処理部120、ネットワークインタフェース処理部130および鍵データ保持部180の間のインタフェースの役割も果たす。鍵データ保持部180は、共通鍵や公開鍵・秘密鍵等の各種鍵のデータを格納する。
代理インタフェース処理部120は、送信データ取得部122、共通鍵取得部124および公開鍵発行部126を含む。
送信データ取得部122は、図4のS26においてクライアント端末300から送信対象となる<秘匿データ>を取得する。既に説明したようにこの<秘匿データ>は共通鍵Cにより暗号化されている。公開鍵発行部126は、クライアント端末300に対して独自の公開鍵を発行する。クライアント代理装置100がクライアント端末300に対して独自に発行する公開鍵(以下、「公開鍵P」とよぶ)については後に詳述する。なお、公開鍵Pと対生成される秘密鍵のことを「秘密鍵P」とよぶことにする。共通鍵取得部124は、クライアント端末300から公開鍵Pによって暗号化された<共通鍵C>を取得する。
送信データ取得部122は、図4のS26においてクライアント端末300から送信対象となる<秘匿データ>を取得する。既に説明したようにこの<秘匿データ>は共通鍵Cにより暗号化されている。公開鍵発行部126は、クライアント端末300に対して独自の公開鍵を発行する。クライアント代理装置100がクライアント端末300に対して独自に発行する公開鍵(以下、「公開鍵P」とよぶ)については後に詳述する。なお、公開鍵Pと対生成される秘密鍵のことを「秘密鍵P」とよぶことにする。共通鍵取得部124は、クライアント端末300から公開鍵Pによって暗号化された<共通鍵C>を取得する。
ネットワークインタフェース処理部130は、データ送信部132を含む。データ送信部132は、図4のS42に関連して説明したように、<[秘匿データ]>をサーバ装置400に宛てて送信する。
データ処理部140は、圧縮処理部150と鍵処理部160を含む。
圧縮処理部150は、秘匿データの圧縮処理を行う。圧縮処理部150は、送信データ復号部152、送信データ圧縮部154および送信データ暗号化部156を含む。送信データ復号部152は、図4のS36において共通鍵Cにより<秘匿データ>を復号する。送信データ圧縮部154は、図4のS38において復号後の秘匿データを圧縮する。送信データ暗号化部156は、図4のS40において圧縮後の[秘匿データ]を共通鍵Pにより暗号化する。
圧縮処理部150は、秘匿データの圧縮処理を行う。圧縮処理部150は、送信データ復号部152、送信データ圧縮部154および送信データ暗号化部156を含む。送信データ復号部152は、図4のS36において共通鍵Cにより<秘匿データ>を復号する。送信データ圧縮部154は、図4のS38において復号後の秘匿データを圧縮する。送信データ暗号化部156は、図4のS40において圧縮後の[秘匿データ]を共通鍵Pにより暗号化する。
鍵処理部160は、共通鍵や公開鍵・秘密鍵の生成・取得に関する処理を行う。鍵処理部160は、公開鍵生成部162、共通鍵復号部164、接続要求検出部166、認証局登録部168および公開鍵認証部170を含む。
公開鍵生成部162は、クライアント代理装置100独自の公開鍵Pを生成する。このとき、公開鍵Pに対応する秘密鍵Pも生成される。共通鍵復号部164は、クライアント端末300から受け取った<共通鍵C>を秘密鍵Pにより復号する。接続要求検出部166は、クライアント端末300による接続要求コマンドの送信を検出する。認証局登録部168は、公開鍵Pの認証局をクライアント端末300のルート証明書に登録する。具体的な処理内容については図7に関連して詳述する。公開鍵認証部170は、サーバ装置400の公開鍵Sを認証する。具体的な処理内容については図9に関連して詳述する。
公開鍵生成部162は、クライアント代理装置100独自の公開鍵Pを生成する。このとき、公開鍵Pに対応する秘密鍵Pも生成される。共通鍵復号部164は、クライアント端末300から受け取った<共通鍵C>を秘密鍵Pにより復号する。接続要求検出部166は、クライアント端末300による接続要求コマンドの送信を検出する。認証局登録部168は、公開鍵Pの認証局をクライアント端末300のルート証明書に登録する。具体的な処理内容については図7に関連して詳述する。公開鍵認証部170は、サーバ装置400の公開鍵Sを認証する。具体的な処理内容については図9に関連して詳述する。
図6は、サーバ代理装置200の機能ブロック図である。
サーバ代理装置200は、ユーザインタフェース処理部210、代理インタフェース処理部220、ネットワークインタフェース処理部230、データ処理部240および鍵データ保持部280を含む。
サーバ代理装置200は、ユーザインタフェース処理部210、代理インタフェース処理部220、ネットワークインタフェース処理部230、データ処理部240および鍵データ保持部280を含む。
ユーザインタフェース処理部210は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。代理インタフェース処理部220は、サーバ装置400とのインタフェース全般に関する処理を担当する。ネットワークインタフェース処理部230は、通信ネットワーク350を介して、クライアント代理装置100やクライアント端末300と通信する。データ処理部240は、ユーザインタフェース処理部210や代理インタフェース処理部220、ネットワークインタフェース処理部230から取得されたデータを元にして各種のデータ処理を実行する。データ処理部240は、ユーザインタフェース処理部210、代理インタフェース処理部220、ネットワークインタフェース処理部230および鍵データ保持部280の間のインタフェースの役割も果たす。鍵データ保持部280は、共通鍵や公開鍵・秘密鍵等の各種鍵のデータを格納する。
代理インタフェース処理部220は、データ転送部222、公開鍵取得部224および共通鍵発行部226を含む。
データ転送部222は、図4のS50において共通鍵Qにより暗号化された<秘匿データ>をサーバ装置400に転送する。公開鍵取得部224は、サーバ装置400が発行する公開鍵証明書を取得することにより公開鍵Sを取得する。公開鍵Sの取得に関しては次の図7に関連して詳述する。共通鍵発行部226は、サーバ装置400に対して独自の共通鍵Qを発行する。共通鍵Qの発行についても図7に関連して詳述する。
ネットワークインタフェース処理部230は、データ受信部232を含む。データ受信部232は、図4のS42において、クライアント代理装置100のデータ送信部132から共通鍵Pにより暗号化された<[秘匿データ]>を受信する。
データ転送部222は、図4のS50において共通鍵Qにより暗号化された<秘匿データ>をサーバ装置400に転送する。公開鍵取得部224は、サーバ装置400が発行する公開鍵証明書を取得することにより公開鍵Sを取得する。公開鍵Sの取得に関しては次の図7に関連して詳述する。共通鍵発行部226は、サーバ装置400に対して独自の共通鍵Qを発行する。共通鍵Qの発行についても図7に関連して詳述する。
ネットワークインタフェース処理部230は、データ受信部232を含む。データ受信部232は、図4のS42において、クライアント代理装置100のデータ送信部132から共通鍵Pにより暗号化された<[秘匿データ]>を受信する。
データ処理部240は、展開処理部250と鍵処理部260を含む。
展開処理部250は、秘匿データの展開処理を行う。展開処理部250は、受信データ復号部252、受信データ展開部254および受信データ暗号化部256を含む。受信データ復号部252は、図4のS44において<[秘匿データ]>を共通鍵Pにより復号する。受信データ展開部254は、図4のS46において[秘匿データ]を展開する。受信データ暗号化部256は、図4のS48において展開後の秘匿データを共通鍵Qにより暗号化する。この<秘匿データ>が、データ転送部222によって送出される。
展開処理部250は、秘匿データの展開処理を行う。展開処理部250は、受信データ復号部252、受信データ展開部254および受信データ暗号化部256を含む。受信データ復号部252は、図4のS44において<[秘匿データ]>を共通鍵Pにより復号する。受信データ展開部254は、図4のS46において[秘匿データ]を展開する。受信データ暗号化部256は、図4のS48において展開後の秘匿データを共通鍵Qにより暗号化する。この<秘匿データ>が、データ転送部222によって送出される。
鍵処理部260は、共通鍵や公開鍵・秘密鍵の生成・取得に関する処理を行う。鍵処理部260は、共通鍵生成部262、共通鍵暗号化部264および公開鍵認証部266を含む。
共通鍵生成部262は共通鍵Qを生成する。共通鍵暗号化部264は、共通鍵Qを公開鍵Sにより暗号化する。公開鍵認証部266は、サーバ装置400の公開鍵Sを認証する。認証処理の具体的な内容については図8に関連して詳述する。
共通鍵生成部262は共通鍵Qを生成する。共通鍵暗号化部264は、共通鍵Qを公開鍵Sにより暗号化する。公開鍵認証部266は、サーバ装置400の公開鍵Sを認証する。認証処理の具体的な内容については図8に関連して詳述する。
図7は、本実施例における鍵共有のための処理過程を示すシーケンス図である。
本実施例においては、通常のSSL通信と異なり、秘匿データの圧縮・展開のために通信代理システム310が介在している。通常のSSL通信であれば、サーバ装置400が公開鍵Sをクライアント端末300に送信すると、クライアント端末300は公開鍵Sにより共通鍵Cを暗号化してサーバ装置400に送信する。その上で、秘匿データを共通鍵Cにより暗号化してサーバ装置400に送信することになる。
しかし、効率的なデータ圧縮のために、クライアント代理装置100は共通鍵Cにより暗号化された<秘匿データ>をいったん復号する必要がある。そのためには、クライアント代理装置100が共通鍵Cを取得しなければならない。クライアント端末300とクライアント代理装置100が一体として形成される場合であれば、クライアント代理装置100はクライアント端末300から直接共通鍵Cを受け取ってもよい。しかし、クライアント代理装置100が、暗号化前の共通鍵Cを取得するには、クライアント端末300の処理プロセスに介入する必要が生じる。一方、クライアント代理装置100が暗号化後の<共通鍵C>を取得する場合には、クライアント端末300の処理プロセスに介入する必要はない。ただし、暗号化後の<共通鍵C>を復号するにはサーバ装置400しか持っていない秘密鍵Sが必要となる。
本実施例においては、クライアント代理装置100が独自の公開鍵Pを生成することによりこのような課題に対処している。同図は、図4に示した処理を実現するための前処理として、クライアント端末300、クライアント代理装置100、サーバ代理装置200およびサーバ装置400の間で、鍵を共有するために実行される処理を示す。
本実施例においては、通常のSSL通信と異なり、秘匿データの圧縮・展開のために通信代理システム310が介在している。通常のSSL通信であれば、サーバ装置400が公開鍵Sをクライアント端末300に送信すると、クライアント端末300は公開鍵Sにより共通鍵Cを暗号化してサーバ装置400に送信する。その上で、秘匿データを共通鍵Cにより暗号化してサーバ装置400に送信することになる。
しかし、効率的なデータ圧縮のために、クライアント代理装置100は共通鍵Cにより暗号化された<秘匿データ>をいったん復号する必要がある。そのためには、クライアント代理装置100が共通鍵Cを取得しなければならない。クライアント端末300とクライアント代理装置100が一体として形成される場合であれば、クライアント代理装置100はクライアント端末300から直接共通鍵Cを受け取ってもよい。しかし、クライアント代理装置100が、暗号化前の共通鍵Cを取得するには、クライアント端末300の処理プロセスに介入する必要が生じる。一方、クライアント代理装置100が暗号化後の<共通鍵C>を取得する場合には、クライアント端末300の処理プロセスに介入する必要はない。ただし、暗号化後の<共通鍵C>を復号するにはサーバ装置400しか持っていない秘密鍵Sが必要となる。
本実施例においては、クライアント代理装置100が独自の公開鍵Pを生成することによりこのような課題に対処している。同図は、図4に示した処理を実現するための前処理として、クライアント端末300、クライアント代理装置100、サーバ代理装置200およびサーバ装置400の間で、鍵を共有するために実行される処理を示す。
クライアント端末300が接続要求コマンドをサーバ装置400に送信すると(S10)、サーバ装置400は、公開鍵Sと秘密鍵Sを対生成する(S12)。接続要求コマンドは、クライアント代理装置100とサーバ代理装置200によって中継される。このとき、クライアント代理装置100の接続要求検出部166は接続要求コマンドの送信を検出する。クライアント代理装置100の公開鍵生成部162は、接続要求コマンドの検出を契機として、公開鍵Pと秘密鍵Pを独自に対生成する(S13)。
サーバ装置400は、通常のSSLプロトコルにしたがって、公開鍵Sの公開鍵証明書を送信する(S14)。サーバ代理装置200の公開鍵取得部224は、この公開鍵証明書を横取りし、公開鍵Sを取得する。サーバ装置400の公開鍵証明書はクライアント端末300に送信されなくなるが、代わりにクライアント代理装置100が公開鍵Pの公開鍵証明書をクライアント端末300に送信する(S15)。クライアント端末300は、公開鍵証明書を予定通り取得するが、この公開鍵証明書は実際にはサーバ装置400の公開鍵証明書ではない。
SSLプロトコルにおいて、サーバ装置400は、自己の発行した公開鍵証明書が実際にはクライアント端末300によって取得されていないことを認識する必要はない。また、クライアント端末300も、実際にはサーバ装置400ではなくクライアント代理装置100の公開鍵証明書を取得していることを認識する必要はない。したがって、クライアント端末300とサーバ装置400にとってはあくまでもSSLプロトコルの枠組みから外れることなく処理を継続できる。
クライアント端末300は、クライアント代理装置100から公開鍵証明書を取得すると、共通鍵Cを生成する(S16)。クライアント端末300は、共通鍵Cを公開鍵Pにより暗号化し(S18)、サーバ装置400に宛てて送信する(S20)。クライアント代理装置100は、この<共通鍵C>を横取りし、サーバ装置400には送信しない。クライアント代理装置100の共通鍵復号部164は、<共通鍵C>を秘密鍵Pにより復号する(S23)。こうして、クライアント端末300とクライアント代理装置100の間で共通鍵Cが秘密裏に共有される。
一方、サーバ代理装置200の共通鍵生成部262は、サーバ装置400から公開鍵証明書を取得すると、共通鍵Qを生成する(S17)。サーバ代理装置200の共通鍵暗号化部264は、この共通鍵Qを公開鍵Sにより暗号化する(S19)。そして、データ転送部222は、<共通鍵Q>をサーバ装置400に送信する(S21)。サーバ装置400は、<共通鍵Q>を秘密鍵Sにより復号する(S22)。こうして、サーバ代理装置200とサーバ装置400の間で共通鍵Qが秘密裏に共有される。
以上の処理を経て、クライアント端末300とクライアント代理装置100の間で共通鍵C、サーバ代理装置200とサーバ装置400の間で共通鍵Qがそれぞれ共有されたあと、図4に示した処理に移行する。サーバ装置400の公開鍵証明書をクライアント端末300に送信しない代わりに、クライアント代理装置100が独自の公開鍵証明書をクライアント端末300に送信している。また、クライアント端末300の<共通鍵C>をサーバ装置400に送信しない代わりに、サーバ代理装置200が<共通鍵Q>をサーバ装置400に送信している。そのため、通信代理システム310が追加されたとしても、クライアント端末300とサーバ装置400は、SSLプロトコルから外れることなくそれぞれの処理を実行できる。
また、クライアント端末300からクライアント代理装置100までの通信経路、サーバ代理装置200からサーバ装置400までの通信経路においても、共通鍵や秘匿データが暗号化された状態で送信されている。そのため、データ送信のセキュリティをいっそう堅牢にできる。更に、図1に示したような標準的なSSLのプロセスと異なり、公開鍵証明書や<共通鍵C>のデータは実際には通信ネットワーク350を通過しない。通信ネットワーク350を介したデータ転送プロセスの一部省略により、全体としての伝送効率をいっそう向上させるメリットもある。
クライアント代理装置100は、接続要求コマンドが検出されるごとに公開鍵Pと秘密鍵Pを生成してもよいが、最初に接続要求コマンドが検出されたときだけ公開鍵Pと秘密鍵Pを生成するとしてもよい。これにより、S13やS15の処理にともなう処理負荷を軽減できる。あるいは、公開鍵Pと秘密鍵Pは、いったん生成されると所定の有効期間、たとえば、30秒間だけ有効であり、この有効期間が経過した後、再度、接続要求コマンドが検出されたときには、新たに公開鍵P・秘密鍵Pを生成するとしてもよい。有効期間が短いほど、クライアント端末300とクライアント代理装置100の間における通信セキュリティが向上する。有効期間が長いほど、S13およびS15の処理にともなう処理負荷が軽減され、伝送効率が向上する。クライアント端末300とクライアント代理装置100の処理能力・使用状況、クライアント端末300とクライアント代理装置100間の通信環境等、さまざまな条件に基づいて、公開鍵P・秘密鍵Pの生成タイミングを設定すればよい。
クライアント代理装置100が発行する公開鍵証明書も、サーバ装置400が発行する公開鍵証明書と同様、X.509形式にて記述される。この公開鍵証明書には、公開鍵Pのほかに、公開鍵Pの認証局や公開鍵Pの有効期間などの情報が含まれる。図7に示した一連の処理が有効に機能するためには、クライアント端末300がクライアント代理装置100から受け取った公開鍵Pを正当な公開鍵として受け入れる必要がある。そこで、クライアント代理装置100の認証局登録部168は、あらかじめクライアント端末300のルート証明書に、自己の発行する公開鍵Pの認証局を登録しておく。たとえば、クライアント代理装置100の設置時において、認証局登録部168はクライアント端末300のルート証明書に、公開鍵Pの認証局を登録する。このような登録処理により、クライアント端末300はクライアント代理装置100が発行する公開鍵Pを受け入れ、SSLプロトコルに基づく処理をスムーズに継続できる。
ここで、上記Bのパターン、すなわち、サーバ装置400からクライアント端末300に対して秘匿データを送信する場合について付言しておく。Bのパターンでも同様に、クライアント端末300がサーバ装置400に接続要求コマンドを送信すると、図7のS12からS22までの処理が実行される。クライアント端末300とクライアント代理装置100の間における共通鍵Cの共有方法と、サーバ代理装置200とクライアント代理装置100の間における共通鍵Qの共有方法は、秘匿データがダウンストリームのときであっても変わらない。したがって、図8に示した共通鍵を共有するまでのプロセスは、上記Aのパターンと上記Bのパターンでは基本的に同じである。
ここで、クライアント端末300がサーバ装置400に対して秘匿データのダウンロードを要求すると、図4に関連して説明した処理が開始される。ただし、Bのパターンにおいては、図4に示した各処理は以下のように変形される。
S24:サーバ装置400が共通鍵Qにより秘匿データを暗号化する。
S26:サーバ装置400が共通鍵Qにより暗号化した<秘匿データ>をサーバ代理装置200に送信する。
S36:サーバ代理装置200は、共通鍵Qにより<秘匿データ>を復号する。
S38:サーバ代理装置200は、復号された秘匿データを圧縮する。
S40:サーバ代理装置200は、圧縮された[秘匿データ]を共通鍵Pにより暗号化する。
S42:サーバ代理装置200は、<[秘匿データ]>をクライアント代理装置100に送信する。
S44:クライアント代理装置100は、<[秘匿データ]>を共通鍵Pにより復号する。
S46:クライアント代理装置100は、[秘匿データ]を展開する。
S48:クライアント代理装置100は、秘匿データを共通鍵Cにより暗号化する。
S50:クライアント代理装置100は、暗号化された<秘匿データ>をクライアント端末300に送信する。
S52:クライアント端末300は、共通鍵Cにより<秘匿データ>を復号する。
こうして、サーバ装置400からクライアント端末300への秘匿データの送信が実現される。このようなダウンストリーム送信を可能とするためには、サーバ代理装置200が図5のクライアント代理装置100の送信機能を備える必要がある。具体的には、サーバ代理装置200は、クライアント代理装置100の送信データ取得部122、圧縮処理部150およびデータ送信部132を更に備える。また、クライアント代理装置100も、図6のサーバ代理装置200の受信機能を備える必要がある。具体的には、クライアント代理装置100は、サーバ代理装置200のデータ受信部232、展開処理部250およびデータ転送部222を更に備えることになる。
S24:サーバ装置400が共通鍵Qにより秘匿データを暗号化する。
S26:サーバ装置400が共通鍵Qにより暗号化した<秘匿データ>をサーバ代理装置200に送信する。
S36:サーバ代理装置200は、共通鍵Qにより<秘匿データ>を復号する。
S38:サーバ代理装置200は、復号された秘匿データを圧縮する。
S40:サーバ代理装置200は、圧縮された[秘匿データ]を共通鍵Pにより暗号化する。
S42:サーバ代理装置200は、<[秘匿データ]>をクライアント代理装置100に送信する。
S44:クライアント代理装置100は、<[秘匿データ]>を共通鍵Pにより復号する。
S46:クライアント代理装置100は、[秘匿データ]を展開する。
S48:クライアント代理装置100は、秘匿データを共通鍵Cにより暗号化する。
S50:クライアント代理装置100は、暗号化された<秘匿データ>をクライアント端末300に送信する。
S52:クライアント端末300は、共通鍵Cにより<秘匿データ>を復号する。
こうして、サーバ装置400からクライアント端末300への秘匿データの送信が実現される。このようなダウンストリーム送信を可能とするためには、サーバ代理装置200が図5のクライアント代理装置100の送信機能を備える必要がある。具体的には、サーバ代理装置200は、クライアント代理装置100の送信データ取得部122、圧縮処理部150およびデータ送信部132を更に備える。また、クライアント代理装置100も、図6のサーバ代理装置200の受信機能を備える必要がある。具体的には、クライアント代理装置100は、サーバ代理装置200のデータ受信部232、展開処理部250およびデータ転送部222を更に備えることになる。
図8は、サーバ装置400が発行する公開鍵証明書をサーバ代理装置200が認証する処理過程を示すシーケンス図である。
企業のような組織内においては、複数のサーバ装置400を同じセキュリティポリシにて運用したい場合がある。たとえば、組織内の各サーバ装置400が発行する公開鍵証明書の認証局としては、認証局A〜Fまでの6種類に限って認めるという運用をしたいとする。新たなサーバ装置400が追加されたとき、そのサーバ装置400が発行する公開鍵証明書の認証局が上記A〜Fのいずれかに該当しているかを自動的にチェックできれば便利である。同図は、複数のサーバ装置400の受信処理を代理するサーバ代理装置200にて、このような認証処理を行うときのシーケンス図である。
企業のような組織内においては、複数のサーバ装置400を同じセキュリティポリシにて運用したい場合がある。たとえば、組織内の各サーバ装置400が発行する公開鍵証明書の認証局としては、認証局A〜Fまでの6種類に限って認めるという運用をしたいとする。新たなサーバ装置400が追加されたとき、そのサーバ装置400が発行する公開鍵証明書の認証局が上記A〜Fのいずれかに該当しているかを自動的にチェックできれば便利である。同図は、複数のサーバ装置400の受信処理を代理するサーバ代理装置200にて、このような認証処理を行うときのシーケンス図である。
クライアント端末300が接続要求コマンドをサーバ装置400に送信し(S10)、サーバ装置400が公開鍵S・秘密鍵Sを生成すると(S12)、サーバ装置400は、公開鍵Sの公開鍵証明書をクライアント端末300に宛てて送信する(S14)。この公開鍵証明書には、公開鍵Sの認証局名が含まれる。サーバ代理装置200の公開鍵取得部224は公開鍵証明書を取得し、公開鍵認証部266はあらかじめ保持している自己のルート証明書を参照し、公開鍵Sの認証局がA〜Fのいずれかに該当するか判定する(S54)。認証結果はクライアント代理装置100に通知される(S56)。
認証に成功すると(S58のY)、クライアント代理装置100の公開鍵生成部162は、公開鍵P・秘密鍵Pを対生成する(S13)。クライアント代理装置100の公開鍵発行部126は公開鍵Pを含む公開鍵証明書をクライアント端末300に送信する(S15)。以降の処理は、図7に関連して説明した通りである。
一方、認証に失敗すると(S58のN)、クライアント代理装置100のユーザインタフェース処理部110は認証失敗を示す警告画面を表示する(S60)。ユーザは、この警告画面表示中において、自己の責任で公開鍵Sを許容するか否かを選択する(S62)。許容する場合には(S62のY)、処理はS13に移行する。許容しない場合には(S62のN)、クライアント代理装置100から公開鍵証明書は発行されることなく処理が終了する。S62にて許容された場合には、ネットワークインタフェース処理部130は許容の旨をサーバ代理装置200に通知してもよい。そして、サーバ代理装置200の公開鍵認証部266は、S62にて許容された認証局を新たに自己のルート証明書に登録してもよい。このような処理方法によれば、クライアント代理装置100からサーバ代理装置200のルート証明書を変更できる。
サーバ代理装置200において各クライアント端末300の認証ポリシを適用すれば、複数のサーバ装置400がそれぞれ発行する公開鍵証明書についての各クライアント端末300の認証ポリシを一元的に管理できる。S54の認証処理では、公開鍵証明書に記載されている公開鍵Sの有効期間と現在日時を比較して、公開鍵Sが有効期間内にあるかも判定する。また、公開鍵証明書に記載されているサーバ装置400のIDと、公開鍵証明書の実際の送信元が一致しているか判定する。このように、S54の認証処理は、公開鍵証明書に含まれる公開鍵のさまざまな属性と、属性について許容可能な所定条件を比較することにより認証する。
図9は、サーバ装置400が発行する公開鍵証明書をクライアント代理装置100が認証する処理過程を示すシーケンス図である。
図8とは異なり、クライアント端末300ごとに認証ポリシを個別に管理したい場合もある。同図は、クライアント端末300の送信処理を代理するクライアント代理装置100にて、このような認証処理を行う場合のシーケンス図である。
図8とは異なり、クライアント端末300ごとに認証ポリシを個別に管理したい場合もある。同図は、クライアント端末300の送信処理を代理するクライアント代理装置100にて、このような認証処理を行う場合のシーケンス図である。
クライアント端末300が接続要求コマンドをサーバ装置400に送信し(S10)、サーバ装置400が公開鍵S・秘密鍵Sを生成すると(S12)、サーバ装置400は、公開鍵Sの公開鍵証明書をクライアント端末300に宛てて送信する(S14)。サーバ代理装置200の公開鍵取得部224は公開鍵証明書を取得するが、同図に示す処理の場合、サーバ代理装置200のネットワークインタフェース処理部230は、この公開鍵証明書をクライアント代理装置100にも転送する(S70)。クライアント代理装置100の公開鍵認証部170は、自己のルート証明書に登録されている認証局のいずれかに、公開鍵Sの認証局が該当しているかを判定する(S72)。なお、このとき参照するルート証明書はクライアント端末300のルート証明書と同一であってもよい。クライアント代理装置100のルート証明書とクライアント端末300のルート証明書が同一であれば、クライアント端末300の認証ポリシをそのままクライアント代理装置100にて適用できる。
認証に成功した場合には(S74のY)、クライアント代理装置100の公開鍵生成部162は、公開鍵P・秘密鍵Pを対生成する(S13)。公開鍵発行部126は公開鍵Pを含む公開鍵証明書をクライアント端末300に送信する(S15)。以降の処理は、図7に関連して説明した通りである。
一方、認証に失敗した場合には(S74のN)、クライアント代理装置100のユーザインタフェース処理部110は認証失敗を示す警告画面を表示する(S76)。クライアント代理装置100のユーザは、この警告画面表示中において、自己の責任で許容するか、許容しないかを選択する(S78)。許容する場合には(S78のY)、処理はS13に移行する。許容しない場合には(S78のN)、クライアント代理装置100から公開鍵証明書は発行されることなく処理が終了する。
このような処理方法によれば、クライアント端末300ごとの認証ポリシをクライアント代理装置100にて適用できる。S72の認証処理においても、公開鍵Sの有効期間やサーバ装置400のIDについての判定がなされる。図8に示した受信側の認証処理と図9に示した送信側の認証処理はいずれか一方を適用するとしてもよいし、受信側でも送信側でも認証処理を行うことにより2重の認証処理を実行するとしてもよい。
以上、本実施例における通信代理システム310について説明した。
本実施例に示したように、クライアント端末300とクライアント代理装置100が暗号に関する規則について合意しておくことにより、クライアント代理装置100による<秘匿データ>の復号・圧縮・再度暗号化という一連のプロセスを実現できる。このような処理により、通信ネットワーク350を通過する秘匿データの圧縮率を高め、かつ、通信セキュリティを確保するという2つの目的を達成している。また、クライアント代理装置100とサーバ代理装置200、サーバ代理装置200とサーバ装置400の間でそれぞれ暗号規則について合意しておくことにより、サーバ代理装置200による<[秘匿データ]>の復号・展開・再暗号化という一連のプロセスを実現できる。特に、サーバ代理装置200とサーバ装置400が暗号規則について合意することによって、サーバ代理装置200からサーバ装置400までの通信セキュリティも確保できる。
本実施例に示したように、クライアント端末300とクライアント代理装置100が暗号に関する規則について合意しておくことにより、クライアント代理装置100による<秘匿データ>の復号・圧縮・再度暗号化という一連のプロセスを実現できる。このような処理により、通信ネットワーク350を通過する秘匿データの圧縮率を高め、かつ、通信セキュリティを確保するという2つの目的を達成している。また、クライアント代理装置100とサーバ代理装置200、サーバ代理装置200とサーバ装置400の間でそれぞれ暗号規則について合意しておくことにより、サーバ代理装置200による<[秘匿データ]>の復号・展開・再暗号化という一連のプロセスを実現できる。特に、サーバ代理装置200とサーバ装置400が暗号規則について合意することによって、サーバ代理装置200からサーバ装置400までの通信セキュリティも確保できる。
サーバ代理装置200は、サーバ装置400が生成した公開鍵Sを横取りし、<共通鍵C>の代わりに<共通鍵Q>をサーバ装置400に渡している。また、共通鍵Cにより暗号化された<秘匿データ>ではなく、共通鍵Qにより暗号化された<秘匿データ>を渡している。このため、サーバ装置400の処理はSSLプロトコルの枠組みから外れなくて済む。
クライアント代理装置100は、公開鍵Sの代わりに独自の公開鍵Pをクライアント端末300に発行している。このため、クライアント端末300の処理もSSLプロトコルの枠組みから外れなくて済む。
このように、既存のSSL対応通信システムに対して、通信代理システム310を導入しても、クライアント端末300やサーバ装置400の処理プロセスに特段の変更が生じない。そのため、本実施例の通信代理システム310は既存のSSL対応通信システムに導入しやすいというメリットがある。SSLは既に広く普及している通信プロトコルである。本実施例に示した通信代理システム310を導入することにより既存のSSL通信システムの伝送効率を向上させることができる。
なお、通信ネットワーク350は、有線通信ネットワークであってもよいが、パケット損失が生じやすい無線通信ネットワークを含む場合には、本実施例に示した通信方法は特に有効である。
クライアント代理装置100は、公開鍵Sの代わりに独自の公開鍵Pをクライアント端末300に発行している。このため、クライアント端末300の処理もSSLプロトコルの枠組みから外れなくて済む。
このように、既存のSSL対応通信システムに対して、通信代理システム310を導入しても、クライアント端末300やサーバ装置400の処理プロセスに特段の変更が生じない。そのため、本実施例の通信代理システム310は既存のSSL対応通信システムに導入しやすいというメリットがある。SSLは既に広く普及している通信プロトコルである。本実施例に示した通信代理システム310を導入することにより既存のSSL通信システムの伝送効率を向上させることができる。
なお、通信ネットワーク350は、有線通信ネットワークであってもよいが、パケット損失が生じやすい無線通信ネットワークを含む場合には、本実施例に示した通信方法は特に有効である。
クライアント端末300が、SSLの仕組みにしたがって共通鍵Cで暗号化した<秘匿データ>を送信するとき、クライアント代理装置100はその<秘匿データ>を横取りし、復号・圧縮・暗号化という一連の処理を施した上で、サーバ装置400に送信する。クライアント端末300にとって、クライアント代理装置100の有無に関わらず、サーバ装置400を宛先として<秘匿データ>を送信することにはかわりがない。そのため、クライアント代理装置100を導入しても、クライアント端末300の設定を変更する必要がない。サーバ装置400からクライアント端末300に宛てて<秘匿データ>を送信するときのサーバ代理装置200についても同様である。
クライアント代理装置100は、クライアント端末300にインストールされるソフトウェアモジュールであってもよい。この場合、クライアント代理装置100はクライアント端末300の機能の一部として形成されることになる。(以下、ソフトウェアモジュールであることを明確化するときには、「クライアント代理モジュール」とよぶことにする)。クライアント端末300で実行されるアプリケーションソフトウェアが共通鍵Cで暗号化した<秘匿データ>をクライアント代理モジュールが横取りし、復号・圧縮・暗号化という一連の処理を施した上で、サーバ装置400に送信してもよい。クライアント代理モジュールの有無に関わらず、送信主体であるアプリケーションソフトウェアにとって、サーバ装置400を宛先として<秘匿データ>を送信することにはかわりがない。サーバ代理装置200がソフトウェアモジュールとして形成され、サーバ装置400からクライアント端末300に宛てて<秘匿データ>を送信する場合についても同様である。
クライアント端末300は、サーバ装置400ではなくクライアント代理装置100を直接の宛先としてデータを送信してもよい。たとえば、クライアント端末300は宛先となるサーバ装置400のIDを含む<秘匿データ>をクライアント代理装置100に送信し、クライアント代理装置100がそのサーバIDによりアドレス解決をした上で、該当するサーバ装置400に<秘匿データ>を送信してもよい。このような処理方法によれば、クライアント端末300とクライアント代理装置100間において宛先そのものを秘匿できる。Bのパターンのダウンストリーム送信についても同様である。
クライアント代理装置100は、クライアント端末300にインストールされるソフトウェアモジュールであってもよい。この場合、クライアント代理装置100はクライアント端末300の機能の一部として形成されることになる。(以下、ソフトウェアモジュールであることを明確化するときには、「クライアント代理モジュール」とよぶことにする)。クライアント端末300で実行されるアプリケーションソフトウェアが共通鍵Cで暗号化した<秘匿データ>をクライアント代理モジュールが横取りし、復号・圧縮・暗号化という一連の処理を施した上で、サーバ装置400に送信してもよい。クライアント代理モジュールの有無に関わらず、送信主体であるアプリケーションソフトウェアにとって、サーバ装置400を宛先として<秘匿データ>を送信することにはかわりがない。サーバ代理装置200がソフトウェアモジュールとして形成され、サーバ装置400からクライアント端末300に宛てて<秘匿データ>を送信する場合についても同様である。
クライアント端末300は、サーバ装置400ではなくクライアント代理装置100を直接の宛先としてデータを送信してもよい。たとえば、クライアント端末300は宛先となるサーバ装置400のIDを含む<秘匿データ>をクライアント代理装置100に送信し、クライアント代理装置100がそのサーバIDによりアドレス解決をした上で、該当するサーバ装置400に<秘匿データ>を送信してもよい。このような処理方法によれば、クライアント端末300とクライアント代理装置100間において宛先そのものを秘匿できる。Bのパターンのダウンストリーム送信についても同様である。
クライアント代理装置100は、公開鍵Pの認証局をクライアント端末300のルート証明書に登録する。これにより、クライアント代理装置100はサーバ装置400が発行した公開鍵Pを自動的に認証するため、図7のS16以降の処理をスムーズに進めることができる。本実施例においては、クライアント端末300からの接続要求コマンドが検出されるごとに、公開鍵P・秘密鍵Pが対生成される。そのため、クライアント代理装置100とクライアント端末300の間の通信セキュリティがいっそう堅牢となっている。
サーバ代理装置200は、サーバ装置400が発行した公開鍵Sの認証機能を備えてもよい。サーバ代理装置200において各クライアント代理装置100の認証ポリシを適用すれば、複数のサーバ装置400がそれぞれ発行する公開鍵証明書をクライアント代理装置100の認証ポリシに基づいて一元的に認証できる。また、公開鍵Sが認証または許容されなければ、クライアント代理装置100は公開鍵Pを発行しない。そのため、サーバ代理装置200の認証ポリシに適合しないサーバ装置400への秘匿データの送信を効果的に抑制できる。
クライアント代理装置100は、サーバ装置400が発行した公開鍵Sの認証機能を備えてもよい。これにより、各クライアント代理装置100は、ユーザごとに認証ポリシを管理できる。また、クライアント代理装置100は、クライアント端末300とルート証明書を共用することにより、クライアント端末300の認証ポリシをそのまま適用できる。
なお、共通鍵でなく、公開鍵により秘匿データを暗号化する場合の処理プロセスについても付言しておく。
図7の処理においては、S10、S12、S13、S14、S15の処理のみが実行対象となる。これにより、クライアント端末300が公開鍵P、クライアント代理装置100が秘密鍵P、サーバ代理装置200が公開鍵S、サーバ装置400が秘密鍵Sを保持する。
次に、図4の処理は以下のように変更される。クライアント端末300は公開鍵Pで秘匿データを暗号化し(S24)、<秘匿データ>をクライアント代理装置100に送信する(S26)。クライアント代理装置100は秘密鍵Pで<秘匿データ>を復号し(S36)、圧縮し(S38)、共通鍵Pで暗号化し(S40)、サーバ代理装置200に送信する(S42)。サーバ代理装置200は、共通鍵Pで<[秘匿データ]>を復号し(S44)、展開し(S46)、公開鍵Sで暗号化し(S48)、送信する(S50)。サーバ装置400は、この<秘匿データ>を秘密鍵Sで復号する。
このような処理方法に対しても、本実施例に示した圧縮処理と同様の処理内容を適用可能である。
図7の処理においては、S10、S12、S13、S14、S15の処理のみが実行対象となる。これにより、クライアント端末300が公開鍵P、クライアント代理装置100が秘密鍵P、サーバ代理装置200が公開鍵S、サーバ装置400が秘密鍵Sを保持する。
次に、図4の処理は以下のように変更される。クライアント端末300は公開鍵Pで秘匿データを暗号化し(S24)、<秘匿データ>をクライアント代理装置100に送信する(S26)。クライアント代理装置100は秘密鍵Pで<秘匿データ>を復号し(S36)、圧縮し(S38)、共通鍵Pで暗号化し(S40)、サーバ代理装置200に送信する(S42)。サーバ代理装置200は、共通鍵Pで<[秘匿データ]>を復号し(S44)、展開し(S46)、公開鍵Sで暗号化し(S48)、送信する(S50)。サーバ装置400は、この<秘匿データ>を秘密鍵Sで復号する。
このような処理方法に対しても、本実施例に示した圧縮処理と同様の処理内容を適用可能である。
以上、本発明を実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
請求項に記載の第1のデータ処理装置は、本実施例においてはクライアント端末300に相当し、第2のデータ処理装置はサーバ装置400に相当する。請求項に記載の第1通信代理装置は、本実施例のAのパターンにおいてはクライアント代理装置100に相当し、第2通信代理装置はサーバ代理装置200に相当する。なお、Bのパターンにおいては、第1通信代理装置はサーバ代理装置200に相当し、第2通信代理装置はクライアント代理装置100に相当する。
請求項に記載の第1の暗号規則とは、クライアント端末300とクライアント代理装置100の間で秘密裏に共有される共通鍵Cとその暗号方式に相当し、第2の暗号規則とは、クライアント代理装置100とサーバ代理装置200の間で秘密裏に共有される共通鍵Pとその暗号方式に相当する。請求項に記載の属性とは、本実施例においては公開鍵の認証局名や公開鍵の有効期間等、公開鍵認証書に記載される公開鍵につい設定される属性全般を示し、請求項に記載の定義データは、本実施例においてはルート証明書に相当する。
このほかにも、請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
請求項に記載の第1の暗号規則とは、クライアント端末300とクライアント代理装置100の間で秘密裏に共有される共通鍵Cとその暗号方式に相当し、第2の暗号規則とは、クライアント代理装置100とサーバ代理装置200の間で秘密裏に共有される共通鍵Pとその暗号方式に相当する。請求項に記載の属性とは、本実施例においては公開鍵の認証局名や公開鍵の有効期間等、公開鍵認証書に記載される公開鍵につい設定される属性全般を示し、請求項に記載の定義データは、本実施例においてはルート証明書に相当する。
このほかにも、請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
100 クライアント代理装置、 110 ユーザインタフェース処理部、 120 代理インタフェース処理部、 122 送信データ取得部、 124 共通鍵取得部、 126 公開鍵発行部、 130 ネットワークインタフェース処理部、 132 データ送信部、 140 データ処理部、 150 圧縮処理部、 152 送信データ復号部、 154 送信データ圧縮部、 156 送信データ暗号化部、 160 鍵処理部、 162 公開鍵生成部、 164 共通鍵復号部、 166 接続要求検出部、 168 認証局登録部、 170 公開鍵認証部、 180 鍵データ保持部、 200 サーバ代理装置、 210 ユーザインタフェース処理部、 220 代理インタフェース処理部、 222 データ転送部、 224 公開鍵取得部、 226 共通鍵発行部、 230 ネットワークインタフェース処理部、 232 データ受信部、 240 データ処理部、 250 展開処理部、 252 受信データ復号部、 254 受信データ展開部、 256 受信データ暗号化部、 260 鍵処理部、 262 共通鍵生成部、 264 共通鍵暗号化部、 266 公開鍵認証部、 280 鍵データ保持部、 300 クライアント端末、 310 通信代理システム、 350 通信ネットワーク、 400 サーバ装置。
Claims (12)
- 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第1のデータ処理装置の送信処理を代理する第1通信代理装置と前記第2のデータ処理装置の受信処理を代理する第2通信代理装置を備えるシステムであって、
前記第1通信代理装置は、
当該第1通信代理装置と前記第1のデータ処理装置との間で取り決められている第1の暗号規則により暗号化されたデータを前記第1のデータ処理装置から取得する送信データ取得部と、
前記取得されたデータを前記第1の暗号規則により復号する送信データ復号部と、
前記復号されたデータを所定の圧縮方式によって圧縮するデータ圧縮部と、
当該第1通信代理装置と前記第2通信代理装置との間で取り決められている第2の暗号規則により、前記圧縮されたデータを暗号化する送信データ暗号化部と、
前記暗号化されたデータを前記第2通信代理装置に送信するデータ送信部と、を含み、
前記第2通信代理装置は、
前記第1通信代理装置から前記第2の暗号規則により暗号化されたデータを受信するデータ受信部と、
前記受信されたデータを前記第2の暗号規則により復号する受信データ復号部と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開するデータ展開部と、
前記展開されたデータを前記第2のデータ処理装置に転送するデータ転送部と、
前記第2のデータ処理装置が発行した公開鍵証明書を取得する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、
を含むことを特徴とする通信代理システム。 - 前記第1通信代理装置は、
前記第2のデータ処理装置の公開鍵の代わりに当該第1通信代理装置の公開鍵を前記第1のデータ処理装置に発行する公開鍵発行部と、
前記第1のデータ処理装置から当該第1通信代理装置の公開鍵によって暗号化された共通鍵を取得する共通鍵取得部と、
前記暗号化された共通鍵を当該第1通信代理装置の秘密鍵により復号する共通鍵復号部と、を更に含み、
前記送信データ取得部は、前記共通鍵により暗号化されたデータを前記第1のデータ処理装置から取得し、
前記送信データ復号部は、前記取得されたデータを前記共通鍵により復号することを特徴とする請求項1に記載の通信代理システム。 - 前記第2通信代理装置の前記公開鍵認証部は、前記第2のデータ処理装置が発行した前記公開鍵証明書の認証結果を前記第1通信代理装置に通知し、
前記第1通信代理装置の前記公開鍵発行部は、前記公開鍵証明書が認証されたことを条件として、当該第1通信代理装置の公開鍵を発行することを特徴とする請求項2に記載の通信代理システム。 - 第2のデータ処理装置により発行される公開鍵に基づいて前記第2のデータ処理装置から第1のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第1のデータ処理装置の受信処理を代理する第1通信代理装置と前記第2のデータ処理装置の送信処理を代理する第2通信代理装置を備えるシステムであって、
前記第2通信代理装置は、
当該第2通信代理装置と前記第2のデータ処理装置との間で取り決められている第1の暗号規則により暗号化されたデータを前記第2のデータ処理装置から取得する送信データ取得部と、
前記取得されたデータを前記第2の暗号規則により復号する送信データ復号部と、
前記復号されたデータを所定の圧縮方式によって圧縮するデータ圧縮部と、
当該第2通信代理装置と前記第1通信代理装置との間で取り決められている第2の暗号規則により、前記圧縮されたデータを暗号化する送信データ暗号化部と、
前記暗号化されたデータを前記第1通信代理装置に送信するデータ送信部と、を含み、
前記第1通信代理装置は、
前記第2通信代理装置から前記第2の暗号規則により暗号化されたデータを受信するデータ受信部と、
前記受信されたデータを前記第2の暗号規則により復号する受信データ復号部と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開するデータ展開部と、
前記展開されたデータを前記第1のデータ処理装置に転送するデータ転送部と、を含み、
前記第2通信代理装置は、
前記第2のデータ処理装置が発行した公開鍵証明書を取得する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、
を含むことを特徴とする通信代理システム。 - 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第2のデータ処理装置の受信処理を代理する装置であって、
所定の圧縮方式にて圧縮された後、所定の暗号規則により暗号化されたデータであって、前記第1のデータ処理装置から前記第2のデータ処理装置に対して送信されるデータを受信するデータ受信部と、
前記受信されたデータを前記所定の暗号規則により復号する受信データ復号部と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開するデータ展開部と、
前記展開されたデータを前記第2のデータ処理装置に転送するデータ転送部と、
前記第2のデータ処理装置が発行した公開鍵証明書を取得する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、
を含むことを特徴とする通信代理装置。 - 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムにおいて、前記第1のデータ処理装置から前記第2のデータ処理装置に送信されたデータを受信するコンピュータプログラムであって、
所定の圧縮方式にて圧縮された後、所定の暗号規則により暗号化されたデータであって、前記第1のデータ処理装置から前記第2のデータ処理装置に対して送信されるデータを受信する機能と、
前記受信されたデータを前記所定の暗号規則により復号する機能と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開する機能と、
前記展開されたデータを前記第2のデータ処理装置に転送する機能と、
前記第2のデータ処理装置が発行した公開鍵証明書を取得する機能と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する機能と、
をコンピュータに発揮させることを特徴とする通信代理プログラム。 - 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第1のデータ処理装置の送信処理を代理する第1通信代理装置と前記第2のデータ処理装置の受信処理を代理する第2通信代理装置を備えるシステムであって、
前記第1通信代理装置は、
当該第1通信代理装置と前記第1のデータ処理装置との間で取り決められている第1の暗号規則により暗号化されたデータを前記第1のデータ処理装置から取得する送信データ取得部と、
前記取得されたデータを前記第1の暗号規則により復号する送信データ復号部と、
前記復号されたデータを所定の圧縮方式によって圧縮するデータ圧縮部と、
当該第1通信代理装置と前記第2通信代理装置の間で取り決められている第2の暗号規則により、前記圧縮されたデータを暗号化する送信データ暗号化部と、
前記暗号化されたデータを前記第2通信代理装置に送信するデータ送信部と、
前記第2のデータ処理装置が発行した公開鍵証明書を受信する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、を含み、
前記第2通信代理装置は、
前記第1通信代理装置から前記第2の暗号規則により暗号化されたデータを受信するデータ受信部と、
前記受信されたデータを前記第2の暗号規則により復号する受信データ復号部と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開するデータ展開部と、
前記展開されたデータを前記第2のデータ処理装置に転送するデータ転送部と、
を含むことを特徴とする通信代理システム。 - 前記第1通信代理装置は、
前記第2のデータ処理装置の公開鍵の代わりに当該第1通信代理装置の公開鍵を前記第1のデータ処理装置に発行する公開鍵発行部と、
前記第1のデータ処理装置から当該第1通信代理装置の公開鍵によって暗号化された共通鍵を取得する共通鍵取得部と、
前記暗号化された共通鍵を当該第1通信代理装置の秘密鍵により復号する共通鍵復号部と、を更に含み、
前記送信データ取得部は、前記共通鍵により暗号化されたデータを前記第1のデータ処理装置から取得し、
前記公開鍵発行部は、前記第2のデータ処理装置が発行した前記公開鍵証明書が前記公開鍵認証部により認証されたことを条件として、当該第1通信代理装置の公開鍵を発行することを特徴とする請求項7に記載の通信代理システム。 - 前記第1通信代理装置の前記公開鍵認証部は、前記第1のデータ処理装置に保持されるデータであって、前記第2のデータ処理装置により許容可能な公開鍵の属性が記述された所定の定義データを参照して、前記公開鍵証明書に含まれる公開鍵を認証することを特徴とする請求項7または請求項8に記載の通信代理システム。
- 第2のデータ処理装置により発行される公開鍵に基づいて前記第2のデータ処理装置から第1のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第1のデータ処理装置の受信処理を代理する第1通信代理装置と前記第2のデータ処理装置の送信処理を代理する第2通信代理装置を備えるシステムであって、
前記第2通信代理装置は、
当該第2通信代理装置と前記第2のデータ処理装置との間で取り決められている第1の暗号規則により暗号化されたデータを前記第2のデータ処理装置から取得する送信データ取得部と、
前記取得されたデータを前記第1の暗号規則により復号する送信データ復号部と、
前記復号されたデータを所定の圧縮方式によって圧縮するデータ圧縮部と、
当該第2通信代理装置と前記第1通信代理装置の間で取り決められている第2の暗号規則により、前記圧縮されたデータを暗号化する送信データ暗号化部と、
前記暗号化されたデータを前記第1通信代理装置に送信するデータ送信部と、を含み、
前記第1通信代理装置は、
前記第2通信代理装置から前記第2の暗号規則により暗号化されたデータを受信するデータ受信部と、
前記受信されたデータを前記第2の暗号規則により復号する受信データ復号部と、
前記復号されたデータを前記圧縮方式に対応した展開方式により展開するデータ展開部と、
前記展開されたデータを前記第2のデータ処理装置に転送するデータ転送部と、
前記第2のデータ処理装置が発行した公開鍵証明書を受信する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、
を含むことを特徴とする通信代理システム。 - 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムに追加され、前記第1のデータ処理装置の送信処理を代理する装置であって、
第1の暗号規則により暗号化されたデータを前記第1のデータ処理装置から取得する送信データ取得部と、
前記取得されたデータを前記第1の暗号規則により復号する送信データ復号部と、
前記復号されたデータを所定の圧縮方式によって圧縮するデータ圧縮部と、
前記第2のデータ処理装置側にて復号可能な第2の暗号規則により、前記圧縮されたデータを暗号化する送信データ暗号化部と、
前記暗号化されたデータを前記第2のデータ処理装置に送信するデータ送信部と、
前記第2のデータ処理装置が発行した公開鍵証明書を受信する公開鍵取得部と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する公開鍵認証部と、
を含むことを特徴とする通信代理装置。 - 第2のデータ処理装置により発行される公開鍵に基づいて第1のデータ処理装置から前記第2のデータ処理装置へ暗号化されたデータを送信するシステムにおいて、前記第1のデータ処理装置の送信処理を代理するコンピュータプログラムであって、
第1の暗号規則により暗号化されたデータを前記第1のデータ処理装置から取得する機能と、
前記取得されたデータを前記第1の暗号規則により復号する機能と、
前記復号されたデータを所定の圧縮方式によって圧縮する機能と、
前記第2のデータ処理装置側にて復号可能な第2の暗号規則により、前記圧縮されたデータを暗号化する機能と、
前記暗号化されたデータを前記第2のデータ処理装置に送信する機能と、
前記第2のデータ処理装置が発行した公開鍵証明書を受信する機能と、
許容可能な公開鍵の属性が記述された所定の定義データと前記公開鍵証明書に記述されている公開鍵の属性を参照して、前記公開鍵証明書に含まれる公開鍵を認証する機能と、
をコンピュータに発揮させることを特徴とする通信代理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006201232A JP2008028869A (ja) | 2006-07-24 | 2006-07-24 | 通信代理システムおよび通信代理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006201232A JP2008028869A (ja) | 2006-07-24 | 2006-07-24 | 通信代理システムおよび通信代理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008028869A true JP2008028869A (ja) | 2008-02-07 |
Family
ID=39119036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006201232A Pending JP2008028869A (ja) | 2006-07-24 | 2006-07-24 | 通信代理システムおよび通信代理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008028869A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013211748A (ja) * | 2012-03-30 | 2013-10-10 | Nippon Telegr & Teleph Corp <Ntt> | 秘密情報通知システム、秘密情報通知方法、プログラム |
JP2015045970A (ja) * | 2013-08-28 | 2015-03-12 | 株式会社日立製作所 | 計算機システム、シンクライアントの接続方法、シンクライアントシステム |
KR101646172B1 (ko) * | 2015-06-04 | 2016-08-08 | 주식회사 빅스터 | 데이터 중개 서버 및 이를 이용한 데이터 중개 시스템 |
WO2018173847A1 (ja) * | 2017-03-22 | 2018-09-27 | 日本電気株式会社 | 認証システム、認証装置、端末装置、認証方法、および記録媒体 |
CN111355695A (zh) * | 2018-12-24 | 2020-06-30 | 中移(杭州)信息技术有限公司 | 一种安全代理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08163201A (ja) * | 1994-12-01 | 1996-06-21 | Ricoh Elemex Corp | 通信用アダプタ |
JPH1125045A (ja) * | 1997-06-30 | 1999-01-29 | Nec Corp | アクセス制御方法とその装置及び属性証明書発行装置並びに機械読み取り可能な記録媒体 |
JP2000031957A (ja) * | 1998-07-16 | 2000-01-28 | Sumitomo Electric Ind Ltd | 通信システム |
JP2002186037A (ja) * | 2000-12-12 | 2002-06-28 | Ntt Docomo Inc | 認証方法、通信装置、および中継装置 |
JP2002521893A (ja) * | 1998-07-23 | 2002-07-16 | タンブルウィード コミュニケーションズ コーポレイション | セキュリティ確保しつつドキュメント配信およびフォーマット変換を行う方法および装置 |
JP2004310097A (ja) * | 2003-04-01 | 2004-11-04 | Microsoft Corp | スケーラブルなマルチメディアに関する完全にスケーラブルな暗号化 |
-
2006
- 2006-07-24 JP JP2006201232A patent/JP2008028869A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08163201A (ja) * | 1994-12-01 | 1996-06-21 | Ricoh Elemex Corp | 通信用アダプタ |
JPH1125045A (ja) * | 1997-06-30 | 1999-01-29 | Nec Corp | アクセス制御方法とその装置及び属性証明書発行装置並びに機械読み取り可能な記録媒体 |
JP2000031957A (ja) * | 1998-07-16 | 2000-01-28 | Sumitomo Electric Ind Ltd | 通信システム |
JP2002521893A (ja) * | 1998-07-23 | 2002-07-16 | タンブルウィード コミュニケーションズ コーポレイション | セキュリティ確保しつつドキュメント配信およびフォーマット変換を行う方法および装置 |
JP2002186037A (ja) * | 2000-12-12 | 2002-06-28 | Ntt Docomo Inc | 認証方法、通信装置、および中継装置 |
JP2004310097A (ja) * | 2003-04-01 | 2004-11-04 | Microsoft Corp | スケーラブルなマルチメディアに関する完全にスケーラブルな暗号化 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013211748A (ja) * | 2012-03-30 | 2013-10-10 | Nippon Telegr & Teleph Corp <Ntt> | 秘密情報通知システム、秘密情報通知方法、プログラム |
JP2015045970A (ja) * | 2013-08-28 | 2015-03-12 | 株式会社日立製作所 | 計算機システム、シンクライアントの接続方法、シンクライアントシステム |
KR101646172B1 (ko) * | 2015-06-04 | 2016-08-08 | 주식회사 빅스터 | 데이터 중개 서버 및 이를 이용한 데이터 중개 시스템 |
WO2018173847A1 (ja) * | 2017-03-22 | 2018-09-27 | 日本電気株式会社 | 認証システム、認証装置、端末装置、認証方法、および記録媒体 |
JPWO2018173847A1 (ja) * | 2017-03-22 | 2020-01-30 | 日本電気株式会社 | 認証システム、認証装置、端末装置、認証方法、およびプログラム |
JP7143841B2 (ja) | 2017-03-22 | 2022-09-29 | 日本電気株式会社 | 認証システム、認証装置、端末装置、認証方法、およびプログラム |
CN111355695A (zh) * | 2018-12-24 | 2020-06-30 | 中移(杭州)信息技术有限公司 | 一种安全代理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111355745B (zh) | 基于边缘计算网络架构的跨域身份认证方法 | |
KR100912976B1 (ko) | 보안 시스템 | |
KR100860404B1 (ko) | 다중 도메인 홈네트워크 환경에서의 디바이스 인증 방법 및장치 | |
KR100990320B1 (ko) | 공용 서버로부터 콘텐츠를 요청할 때 클라이언트프라이버시를 제공하는 방법 및 시스템 | |
US6931528B1 (en) | Secure handshake protocol | |
CN107659406B (zh) | 一种资源操作方法及装置 | |
EP1394982B1 (en) | Methods and apparatus for secure data communication links | |
US8019989B2 (en) | Public-key infrastructure in network management | |
US20150172064A1 (en) | Method and relay device for cryptographic communication | |
JP2005515701A6 (ja) | データ伝送リンク | |
JP2005515701A (ja) | データ伝送リンク | |
JP2005515715A (ja) | データ伝送リンク | |
JP2002540443A (ja) | セキュアなマイクロプロセッサ中の単一のトランザクションにおける、解読および認証を用いた認証の実施 | |
CN114362993B (zh) | 一种区块链辅助的车联网安全认证方法 | |
US20080077790A1 (en) | Authentication system using electronic certificate | |
JP2008028869A (ja) | 通信代理システムおよび通信代理装置 | |
JP4596333B2 (ja) | データ通信方法 | |
KR100890720B1 (ko) | 웹 콘텐츠를 선택적으로 암호화하는 방법 및 그러한 방법을수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체 | |
JP2008028867A (ja) | 通信代理システムおよび通信代理装置 | |
JP3910611B2 (ja) | 通信支援サーバ、通信支援方法、および通信支援システム | |
US10044682B2 (en) | Technique for distributing a piece of content in a content distribution network | |
JP2005175992A (ja) | 証明書配布システムおよび証明書配布方法 | |
JP2008028868A (ja) | 通信代理システムおよび通信代理装置 | |
JP2002189976A (ja) | 認証システムおよび認証方法 | |
JP4690964B2 (ja) | 通信支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111017 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111122 |