JP5032806B2 - 通信暗号化処理装置 - Google Patents

通信暗号化処理装置 Download PDF

Info

Publication number
JP5032806B2
JP5032806B2 JP2006213415A JP2006213415A JP5032806B2 JP 5032806 B2 JP5032806 B2 JP 5032806B2 JP 2006213415 A JP2006213415 A JP 2006213415A JP 2006213415 A JP2006213415 A JP 2006213415A JP 5032806 B2 JP5032806 B2 JP 5032806B2
Authority
JP
Japan
Prior art keywords
key
encryption
processing module
decryption processing
communication
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.)
Expired - Fee Related
Application number
JP2006213415A
Other languages
English (en)
Other versions
JP2008042469A5 (ja
JP2008042469A (ja
Inventor
善史 秦野
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006213415A priority Critical patent/JP5032806B2/ja
Publication of JP2008042469A publication Critical patent/JP2008042469A/ja
Publication of JP2008042469A5 publication Critical patent/JP2008042469A5/ja
Application granted granted Critical
Publication of JP5032806B2 publication Critical patent/JP5032806B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、入力されたデータに対し暗号処理を行う通信暗号化処理装置に関する。
近年では、文書や画像、音声等様々な種類のデータがインターネットやイントラネット等の通信路を通して、全世界で送受信されている。また、ADSLや光ファイバー等の普及により、より高速な通信に対する需要が高まっている。この送受信されているデータの中には、個人のプライバシーに関するデータや機密データ等、第三者には秘密にしたいデータも多く含まれている。そのため、SSL/TLSやIPsec等のようにデータを暗号化し、第三者には解読不能にして通信を行う通信暗号化技術が開発されてきた。
ここで、通信暗号化技術の例としてSSL/TLSについて簡単に説明する。SSL/TLSの主要なプロトコルはハンドシェイク・プロトコルとレコード・プロトコルである。ハンドシェイク・プロトコルでは、通信相手の認証及びレコード・プロトコルで使用する暗号アルゴリズムの選択や前記暗号アルゴリズムで使用する共通鍵の生成を行う。レコード・プロトコルでは、送受信するデータのメッセ維持認証コードの計算と暗号化・復号を行う。SSL/TLSでは通信相手の認証を行うことでなりすましを、送受信するデータのMDを計算することでデータの改竄を、送受信するデータを暗号化することで盗聴を防いでいる。
図20は従来のSSL/TLSを行うセキュリティ・チップ900の例である。従来のセキュリティ・チップ900では、メインCPU10によってセキュリティ・チップ900内の制御が行われる。また、通信I/F11はネットワーク102を介して外部装置A12、外部装置B13、外部装置C14等とデータを送受信し、通信暗号処理装置901がSSl/TLSの処理を行う。前記メインCPU10、前記通信I/F11、前記通信暗号化処理装置901は共通バス101を介して接続している。通信暗号化処理装置901には通信暗号化処理装置901内の全体の制御を行う制御プログラム910を搭載したCPU2、暗号化・復号処理モジュール906で処理を行う前のデータ及び処理を行った後のデータを一時保持するワークメモリ3を有する。また、メインCPU10や通信I/F11から受信したデータをワークメモリ3に書き込んだり、ワークメモリ3からメインCPU10や通信I/F11へデータの送信を行う外部I/F4を有する。また、通信暗号処理部901において暗号化・復号処理に使われる鍵のライフサイクルを管理する鍵管理モジュール905を有する。また、鍵管理モジュール905より供給される鍵を使用してワークメモリ3から読み出したデータに対する暗号化処理または復号処理を行ったり、メッセージ認証コードを生成したりするための暗号化・復号処理モジュール906を有する。また、暗号化・復号処理モジュール906が使用し、鍵管理モジュール905がそのライフサイクルを管理する鍵を格納しておくメモリ908が含まれている。
このCPU2、ワークメモリ3、外部I/F4、鍵管理モジュール905、暗号化・復号処理モジュール906は共通バス100で接続している。
ここでセキュリティ・チップ900の動作について簡単に説明する。メインCPU10は外部装置A12からネットワーク102、通信I/F11を介してデータを受信すると、受信したデータを通信暗号化処理装置901に送信する。次に、外部I/F4を介してデータを受信した通信暗号処理部901では、受信したデータをワークメモリ3に一時保持する。次に、外部装置A12と共有した鍵を鍵管理モジュール905から暗号化・復号処理モジュール906に配送する。次に、暗号化・復号処理モジュール906はワークメモリ3に保持されているデータを読み込み暗号化・復号処理を行い、処理したデータを再びワークメモリ3に書き込む。最後に、暗号化・復号処理モジュール906が受信した全てのデータの処理を終えると、外部I/F4を介してメインCPU10にワークメモリ3に保持されているデータを送る。
図21は外部装置A12、外部装置B13、外部装置C14の3者と暗号通信を行う際の鍵管理モジュール905の鍵生成、鍵配送処理と暗号処理モジュール906が行う暗号化処理のタイミングを示した図である。
まず、T101において外部装置A12との暗号通信に使用する鍵を生成し、T102で鍵管理モジュール905から暗号処理モジュールにT101で生成した鍵を配送している。T103〜T105において暗号処理モジュール906は暗号化処理を行っている。このとき、鍵管理モジュール905ではT104において外部装置B13との暗号通信に必要な鍵の生成を行っている。
暗号化処理が終了すると、T106で鍵管理モジュール905はT104で生成した外部装置B13との暗号通信に必要な鍵の配送を行う。続いて、T107で暗号処理モジュール906はT106で配送された鍵を使用して外部装置B13との暗号通信のための暗号化処理を行う。T108で再び外部装置A12と暗号通信するために鍵管理モジュール905はT101で生成する。その後、保持してあった外部装置A12用の鍵を暗号処理モジュール906へ配送し、T109〜T110で暗号処理モジュール906は外部装置A12との暗号通信のための暗号化処理を行う。T110で鍵管理モジュール905は外部装置C14との暗号通信のための鍵生成を行い、T111で暗号処理モジュール906に配送する。そして、T112において暗号処理モジュール906は外部装置C14との暗号通信のための暗号化処理を行う。
このようにして通信暗号化処理装置は外部装置A12、外部装置B13、外部装置C14の3者と暗号通信を行うことができる。
特開2006−191207号公報
しかし、SSL/TLSやIPSec等の通信暗号において、暗号化・復号処理に用いる鍵は通信相手ごとに異なり、通信相手が変更するたびに鍵を変更する必要がある。このため、従来、例えば2箇所の外部装置に対し交互にデータを送信するような場合、データを送信するたびに鍵管理モジュールから暗号化・復号処理モジュールに鍵を転送する必要があるので、鍵の配送に時間がかかり処理速度が低下してしまうという問題がある。
本発明はかかる事情に鑑みてなされたものであり、その主な目的はより高速に暗号化復号処理を行うことを目的とする。
本発明に係る通信暗号化処理装置は、装置全体の制御を制御プログラムに基づいて実行する制御手段と、入力データを暗号化・復号処理するための暗号化・復号処理モジュールと、前記暗号化・復号処理モジュールで使用する鍵を生成し、前記暗号化・復号処理モジュールへ配送するための鍵管理モジュールと、前記鍵管理モジュールから前記暗号化・復号処理モジュール経由で配送された鍵を保持し、該鍵が前記暗号化・復号処理モジュールから参照されて暗号化・復号処理に用いられる記憶手段と、前記記憶手段に保持されている鍵の使用状況を表わす管理情報を保持する管理情報保持手段と、を備え、前記制御手段は、前記管理情報保持手段を参照して、前記記憶手段に予め定められた鍵が保持されているか否かを判断し、前記記憶手段に予め定められた鍵が保持されていないと判断した場合には、前記鍵管理モジュールに鍵配送要求を送信し、鍵配送の終了後に前記暗号化・復号処理モジュールに暗号化処理命令を送信し、前記記憶手段に前記予め定められた鍵が保持されていると判断した場合には、前記鍵管理モジュールに鍵配送命令を行うことなく、前記暗号化・復号処理モジュールに暗号化処理命令を送信し、前記記憶手段は、前記暗号化・復号処理モジュールとは接続されているが、前記制御手段及び前記鍵管理モジュールとは接続されていないことを特徴とする。
本発明によれば、暗号化・復号処理モジュールに接続される記憶媒体に所望の鍵が保持されている場合には、制御プログラムは鍵管理モジュールに鍵配送要求を行うことなく、暗号処理モジュールに暗号処理要求を送信する。つまり、暗号処理を行うたびに鍵管理モジュールから暗号化・復号処理モジュールに鍵を配送するのではない。このようにすることで、より高速に暗号処理を行うことができる。
以下に、本発明の実施例について説明する。
<実施例1>
図1は本発明の実施例1における、通信暗号化処理SSL/TLSを行う通信暗号処理装置1のブロック図を示したものである。この図1を用いて実施例1における通信暗号処理装置1の構成について説明する。ただし、従来技術と同じ番号のものは同じ動作を行う。
図1において930はセキュリティ・チップ、1は通信暗号化処理SSL/TLSを行う通信暗号化処理装置、5は通信暗号化処理装置1において暗号化・復号処理に使われる鍵のライフサイクルを管理する鍵管理モジュールである。また、6は鍵管理モジュール5より供給される鍵を使用してワークメモリ3から読み出したデータに対する暗号化処理または復号処理を行ったり、メッセージ認証コードを生成したりするための暗号化・復号処理モジュールである。また、7は通信暗号化処理SSL/TLSの相互認証で使用するX.509証明書等を保持する第1のメモリを有する。また、8は暗号化・復号処理モジュール6がSSL/TLSのレコード・プロトコルで使用し、鍵管理モジュール5がそのライフサイクルを管理する鍵を格納しておく第2のメモリである。9は暗号化・復号処理モジュール6で使用する鍵を保持する第3のメモリ、301は鍵管理モジュール5や暗号化・復号処理モジュール6を制御し、かつ第2のメモリ8及び第3のメモリ9に保持される鍵の指定を行うCPU2に搭載された制御プログラムである。
図2は制御プログラム301が管理しているセッション情報の例を表す図である。図2を用いて、実施例1における制御プログラム301が管理しているセッション情報について説明する。
識別子は暗号処理に使用するセッションを識別するための数値である。SSL/TLSの場合は暗号通信路を識別するセッションIDである。セッションIDは上述したSSL/TLSのハンドシェイク・プロトコルで決定される。
エントリ番号は制御プログラム301が識別子と1対1に対応させて割り当てた番号であり、制御プログラム301と鍵管理モジュール5、暗号化・復号モジュール6間の通信で鍵を識別するのに用いられる。この例では8つまで鍵を扱えるのでエントリ番号に0〜7の値を割り当てている。
活性化フラグはエントリ番号で識別された鍵の状態を示すフラグである。エントリ番号で識別された鍵が第2のメモリに保持されていない初期化済みステータス、制御プログラム301が鍵管理モジュール5にエントリ番号で識別された鍵生成・登録要求を送信する。そして、鍵管理モジュール5から鍵生成・登録要求終了を受信するまでの間の登録中ステータス、エントリ番号で識別された鍵が第2のメモリに登録されている登録済みステータス、制御プログラム301が鍵管理モジュール5に鍵廃棄要求を送信する。また、鍵管理モジュール5から鍵廃棄終了を受信するまでの間の廃棄中ステータスの4つの状態を表す。
制御プログラム301は活性化フラグを見ることによって、各鍵の状態を知ることができる。まず、初期化された状態では活性化フラグは初期化済みステータスとなっており、制御プログラム301が鍵生成・登録要求を送信するとそのエントリ番号の活性化フラグは登録中ステータスとなる。次に、制御プログラム301が鍵生成・登録終了信号を受信すると、活性化フラグは登録済みステータスとなる。鍵の使用が終わって制御プログラム301が鍵廃棄要求を送信すると活性化フラグは廃棄中ステータスとなり、鍵廃棄終了信号を受信すると活性化フラグは初期化済みステータスとなる。
サイファー・スイートは暗号化・復号処理モジュール6で使用する暗号処理アルゴリズムであり、この場合SSL/TLSのレコード・プロトコルで使用する暗号処理アルゴリズムである。
使用フラグは鍵の使用状況を示すフラグである。この使用フラグは、エントリ番号で識別された鍵が第3のメモリ9に保持されていない初期化済みステータス、エントリ番号で識別された鍵が第3のメモリ9に保持されている送信済みステータスを示す。そして、エントリ番号で識別された鍵が第3のメモリ9に保持されており、かつ暗号化・復号処理モジュール6で使用されている使用中ステータスの3つの状態を表す。
図3は使用フラグが変化する様子を示した例を表した図である。図3を用いて使用フラグの変化する様子を説明する。
図3の(α)のエントリ番号2の使用フラグのように初期化された状態では、使用フラグは初期化済みステータスとなっている。
次に、制御プログラム301が鍵管理モジュール5からエントリ番号2の鍵配送終了を受信すると、図3の(β)に示されるように使用フラグを送信済みステータスに書き換える。また、このとき、他のエントリ番号で送信済みステータスとなっている使用フラグがある場合は、その使用フラグを初期化済みステータスに戻す。図3の場合では、エントリ番号1の使用フラグを初期化済みステータスに戻す。
次に、制御プログラム301が暗号化・復号処理モジュール6にエントリ番号2を用いた暗号処理要求を送信すると、図3の(γ)で示されるように、使用フラグを使用中ステータスに書き換える。また、このとき他のエントリ番号で使用中ステータスとなっている使用フラグがある場合は、その使用フラグを送信済みステータスに戻す。図3の場合では、エントリ番号0の使用フラグを配送済みステータスに戻す。
この使用フラグから、制御プログラム301は各エントリ番号の鍵の使用状態を知ることができる。
図4は鍵管理モジュール5が管理している情報の例を表す図である。図4を用いて、実施例1における鍵管理モジュール5が管理している情報について説明する。
メモリ・アドレスは各エントリ番号に対応する鍵が第2のメモリ8上で保持されているアドレスを示すものである。
エントリ番号は鍵を識別するための番号で制御プログラム301が管理しているエントリ番号と同一のものである。
サイファー・スイートは制御プログラム301が管理しているサイファー・スイートと同一のものであり、暗号化・復号処理モジュール6で使用する暗号処理アルゴリズムである。
図5は暗号化・復号処理モジュール6が管理している情報の例を表す図である。図5を用いて、実施例1における暗号化・復号処理モジュール6が管理している情報について説明する。
図5において、メモリ・アドレスは暗号化・復号処理モジュール6で使用する鍵が第3のメモリ9上で保持されているアドレスを示すものである。
エントリ番号は鍵を識別するための番号で制御プログラム301が保持しているエントリ番号と同一のものである。
サイファー・スイートは制御プログラム301が管理しているサイファー・スイートと同一のものであり、暗号化・復号処理モジュール6で使用する暗号処理アルゴリズムである。
状態フラグとは、第3のメモリに保持されている鍵が現在暗号化・復号処理モジュール6において使用されているか否かを示すフラグである。例えば、図5のエントリ番号0の鍵は状態フラグが使用中ステータスになっているので暗号化・復号処理モジュール6で使用されており、エントリ番号6の鍵は非ステータスになっているので暗号化・復号処理モジュール6で使用されていない。
図6は鍵管理モジュール5の内部構成を示す図である。図6を用いて、鍵管理モジュール5の内部構成を説明する。
図6において21はバス100を介してデータの送受信を行うためのDMAコントローラ、22はコマンド制御部、23は乱数・鍵生成部、24は鍵管理制御部である。
図7は暗号化・復号処理モジュール6の内部構成を示す図である。図7を用いて、暗号化・復号処理モジュール6の内部構成を説明する。
図7において31はバス100を介してデータの送受信を行うためのDMAコントローラ、32はコマンド制御部、33はブロック暗号化部、34は鍵付きハッシュ演算部、35は鍵管理制御部である。
図8は通信暗号化処理装置1で新たに通信暗号路を作成する際における、SSL/TLSの通信開始から通信終了までの制御プログラム301、鍵管理モジュール5、暗号化・復号処理モジュール6の間のデータ送受信を示したシーケンス図である。
図9は制御プログラム301、鍵管理モジュール5、暗号化・復号処理モジュール6の間で送受信するデータグラムのフォーマットを示したものである。データグラムは1バイトのコマンドと各コマンドによって定められたビット長をもつデータから構成されている。
以下、図8及び図9を用いてデータ送受信シーケンスについて説明する。
ステップS101において制御プログラム301は鍵管理モジュール5に乱数生成要求を送信する。送信される乱数生成要求を示すデータグラムのフォーマットは図9(b)で示されるようになっており、乱数生成要求を示す1バイトのコマンド部と乱数長を示すデータ部が連結した構成となっている。
ステップS102において鍵管理モジュール5は乱数を生成する。鍵管理モジュール5は上述したように図6に示される構成になっており、DMAコントローラ21を介してステップS101において受信した乱数生成要求データグラムをコマンド制御部22へ送る。コマンド制御部22は受信したデータを解析し、信号線207により乱数・鍵生成部23へ乱数生成要求データグラムを送る。乱数・鍵生成部23は受信したデータグラムから乱数のビット長を取り出し、所望のビット長の乱数を生成する。そして生成した乱数を信号線208によりコマンド制御部22へ送る。
ステップS103において図9(c)に示すように鍵管理モジュール5内のコマンド制御部22は乱数生成終了を示すコマンドと生成された乱数を連結したデータグラムをDMAコントローラ21を介してバス100へ出力する。そして、制御プログラム301はこれを受信する。なお生成した乱数の使用方法はSSL/TLSの規格書に記述されている通りである。
ステップS104において制御プログラム301は鍵管理モジュール5に証明書要求を送信する。証明書要求データグラムのフォーマットは図9(d)に示すように証明書要求を示すコマンドと識別子を示すデータが連結された構成となっている。
ステップS105において鍵管理モジュール5内部では証明書要求データグラムが図6に示すDMAコントローラ21を介してコマンド制御部22へ送られる。コマンド制御部22は信号線210により鍵管理制御部24へ証明書要求データグラムを送る。鍵管理制御部24はメモリバス201を介して第1のメモリ7から証明書を読み出し、信号線211によりコマンド制御部22へ送る。
ステップS106でコマンド制御部22は証明書送信を示すコマンドと第1のメモリ7から読み出した証明書を連結した図9(e)に示すデータグラムを作成し、DMAコントローラ21、バス100を介して制御プログラム301へ送信する。
ステップS107において制御プログラム301は鍵管理モジュール5に鍵生成・登録要求を送信する。制御プログラム301は図2で示したセッション情報を保持している。そして、SSL/TLSのハンドシェイク・プロトコルで得られたセッションIDを識別子とし、セッション情報の活性化フラグが初期化済みステータスであるエントリ番号を抽出し、この識別子と結びつける。また、同様にハンドシェイク・プロトコルで決定した通信に使用する特定のサイファー・スイートを示すコードをセッション情報に保持する。
なお、このとき制御プログラム301は制御プログラムの仕様で定められた数以下の鍵生成要求しか発生させないので活性化フラグが初期化済みステータスであるエントリ番号が必ず存在するようになっている。そして、鍵生成要求をしたエントリ番号の活性化フラグを登録中ステータスに書き換える。制御プログラム301はこのようにして決定した上記セッション情報から図9(f)に示したように鍵生成・登録要求データグラムを生成する。鍵生成・登録要求データグラムは、鍵生成・登録要求を示すコマンド、エントリ番号、サイファー・スイート、プレマスター・シークレット、クライアント・ランダム、サーバー・ランダムから構成される。そして、鍵管理モジュール5に送信する。鍵管理モジュール5では鍵生成・登録要求を受信し、コマンド制御部22に送る。
ステップS108では鍵管理モジュール5内でコマンド制御部22が信号線207を介して乱数・鍵生成部23へ鍵生成・登録要求データグラムを送る。乱数・鍵生成部23はSSL/TLSの規格に記載されている方法で鍵生成を行い、図9(g)に示したように鍵生成・登録終了信号とエントリ番号を連結したデータグラムを生成し、信号線209を介して鍵管理制御部24へ送る。鍵管理制御部24は図2に示したセッション情報を保持しており、乱数・鍵生成部23から送られてきたエントリ番号、サイファー・スイートを第2のメモリ8上の所定のアドレスに対応させて管理する。そして、送られてきた鍵をメモリバス202を介してエントリ番号と対応する第2のメモリ8上のアドレスから書き込む。
ステップS109において鍵管理モジュール5内で鍵管理制御部24は図9(g)に示すように鍵生成・登録終了を示すコマンドとエントリ番号を連結したデータグラムを生成し、コマンド制御部22へ送る。コマンド制御部22はこのデータグラムを信号線206、DMAコントローラ21、バス100を介して制御プログラム301へ送信する。
制御プログラム301は鍵管理モジュール5から暗号処理モジュール6へ鍵を配送するタイミングを管理している。そして、ステップS110において所望のタイミングで図9(h)に示すような鍵配送要求を示すコマンドと配送する鍵のエントリ番号を連結したデータグラムを生成し、鍵管理モジュール5に送信する。そして、鍵管理モジュール5内ではバス100、DMAコントローラ21、信号線206を介してコマンド制御部22がこのデータグラムを受信する。
ステップS111においてコマンド制御部22は信号線210を介してこのデータグラムを鍵管理制御部24へ送る。鍵管理制御部24は図4で示した情報から受信したエントリ番号の示す第2のメモリ8上のアドレスを特定し、メモリバス202を介して所望の鍵データを読み出す。
ステップS112において鍵管理モジュール5内の鍵管理制御部24は図9(i)に示されるデータグラムを生成し、コマンド制御部22に送る。このとき、データグラムは、受信したデータグラムと受信したデータグラム内のエントリ番号、鍵管理制御部24が管理している図4で示した情報から割り出したサイファー・スイートとステップS111で読み出した鍵データから生成する。コマンド制御部22では、信号線206、DMAコントローラ21、バス100を介して暗号化・復号処理モジュール6へ送信する。そして、暗号化・復号処理モジュール6内ではバス100、DMAコントローラ31、信号線306を介してコマンド制御部32がこのデータグラムを受信する。
ステップS113において、コマンド制御部32は信号線313を介して鍵管理制御部34へエントリ番号、暗号処理アルゴリズム及び鍵を送る。鍵管理制御部34は図5に示した情報を管理しており、コマンド制御部32から送られてきたエントリ番号、サイファー・スイートを第3のメモリ9上の所定のアドレスに結び付ける。このとき、鍵管理制御部34は状態フラグが非使用中ステータスのメモリ・アドレスを抽出し、送られてきた鍵をメモリバス203を介して第3のメモリ9上の所定のアドレスから書き込む。
ステップS114では暗号処理モジュール6は鍵管理制御部35において図9(j)に示すように鍵配送終了を示すコマンドとエントリ番号から構成されるデータグラムを生成し、コマンド制御部32に送る。コマンド制御部32では、信号線306、DMAコントローラ31、バス100を介して鍵管理モジュール5へこのデータグラムを送信する。そして、鍵管理モジュール5内ではバス100、DMAコントローラ21、信号線206を介してコマンド制御部22がこのデータグラムを受信する。
ステップS115においてコマンド制御部24は図9(k)に示す鍵配送終了を示すコマンドとエントリ番号から構成されるデータグラムを生成し、信号線206、DMAコントローラ21、バス100を介して制御プログラム301に送信する。そして、図9(k)に示すデータを受信した制御プログラム301は、受信したエントリ番号に結び付けられている使用フラグを送信済みステータスに書き換える。また、同時に、他のエントリ番号で送信済みステータスとなっている使用フラグがある場合は、その使用フラグを初期化済みステータスに戻す。
制御プログラム301は暗号処理を行うタイミングを管理しており、ステップS116において、データグラムを生成し、所望のタイミングで暗号処理モジュール6へ送信する。このとき、データグラムは、図9(l)に示すように、暗号処理要求コマンド、エントリ番号、読み出しアドレス、読み出しデータ長、書き込みアドレス及び書き込みデータ長から構成される。ここで、暗号処理要求コマンドは、暗号処理要求を示すコマンドである。読み出しアドレスは、ワークメモリ3上に格納されている被処理データの先頭アドレスである。読み出しデータ長は、被処理データのデータ長である。書き込みアドレスは、暗号処理後のデータを書き込むワークメモリ3上の先頭アドレスである。書き込みデータ長は、暗号処理後のデータのデータ長である。そして、図9(l)に示すデータを送信した制御プログラム301は、送信したエントリ番号に結び付けられている使用フラグを使用中ステータスに書き換える。同時に、他のエントリ番号で使用中ステータスとなっている使用フラグがある場合は、その使用フラグを送信済みステータスに戻す。
ステップS117において暗号処理モジュール6ではバス100を介してDMAコントローラ31がこのデータグラムを受信し、このデータグラムを保持するとともにコマンド制御部32へ送る。また、このデータグラムからワークメモリ3上で被処理データの格納されているアドレスとデータ長を取り出し、ワークメモリ3から所定の被処理データを読み出し、コマンド制御部32へ送る。
次に、コマンド制御部32は暗号化処理要求コマンドとエントリ番号を信号線313により鍵管理制御部35へ送り、鍵管理制御部35は管理テーブル3から受信したエントリ番号の示す第3のメモリ9上のアドレスを特定する。そして、メモリバス203を介して所望の鍵データを読み出す。また、管理テーブル3の受信したエントリ番号に対応する状態フラグを使用中ステータスに、管理テーブル3の他のエントリ番号に対応する状態フラグで使用中ステータスとなっているものがあれば非使用中ステータスに書き換える。そして、信号線309を介して暗号化処理部33へ送り、エントリ番号に対応する鍵付きハッシュ処理に対応する鍵を信号線312によりハッシュ処理部34へ送る。また、コマンド制御部32は被処理データをまず信号線311によりハッシュ処理部34へ送り、演算結果を信号線313により受け取る。またコマンド制御部32は被処理データにハッシュ処理部34での演算結果を付加したデータを信号線307によりブロック暗号処理部33へ送る。そして得られた演算結果を信号線310により受け取る。
こうして得られた暗号化されたデータをコマンド制御部32は信号線306を介してDMAコントローラ31に送られる。そして、DMAコントローラ31は制御プログラム301から受信したデータグラムに示されているワークメモリ3上の所定のアドレスから所定長の暗号化されたデータを書き込む。
ステップS118において暗号処理モジュール6はコマンド制御部32が図9(m)に示されるように暗号処理終了を示すコマンドとエントリ番号から構成されるデータグラムを生成し、制御プログラム301へ送信する。制御プログラム301は鍵を廃棄するタイミングを管理している。
ステップS119において暗号通信終了後、鍵が不要になると制御プログラム301は鍵管理モジュール5に図9(n)に示すように鍵廃棄要求を示すコマンドとエントリ番号から構成されるデータグラムを生成し、鍵管理モジュール5へ送信する。鍵管理モジュール5はこのデータグラムを受信し、DMAコントローラ31、信号線306を介してコマンド制御部32に送る。
ステップS120において鍵管理モジュール5内でコマンド制御部32は信号線313により鍵管理制御部35へ鍵廃棄要求データグラムを送る。鍵管理制御部35は受け取ったデータグラムからエントリ番号を取り出し、図3に示した鍵管理テーブル2を参照して第2のメモリ8上の対応するアドレスに保持されている鍵データを初期化する。
ステップS121において鍵管理モジュール5内の鍵制御管理部35は図9(o)に示すような鍵の廃棄終了を示すコマンドとエントリ番号から構成されるデータグラムを生成し、信号線314によりコマンド制御部32へ送る。コマンド制御部32は信号線306、DMAコントローラ31、バス100を介して鍵廃棄終了データグラムを制御プログラム301に送信する。
図10は実施例1における暗号通信路が既に存在している際における、SSL/TLSのレコード・プロトコルを行う制御プログラム301のフローチャートである。図10を用いて実施例1における暗号通信路が既に存在している際のSSL/TLSのレコード・プロトコルを行う制御プログラムの動作について説明する。
ステップS201において、制御プログラム301は図2に示される制御プログラム301が管理しているセッション情報の使用フラグを用いて、第3のメモリ9に所望のエントリ番号の鍵が保持されているか否か検査する。検査の結果、第3のメモリ9に所望の鍵が保持されている場合には、後述するステップS204以降の処理行う。保持されていない場合には後述するステップS202以降の処理を行う。
ステップS202において、制御プログラム301は所望のエントリ番号の鍵を暗号化・復号処理モジュール6に配送するように、鍵管理モジュール5に図9(h)に示される鍵配送要求を送信する。
ステップS203において、制御プログラム301は鍵管理モジュール5から図9(k)に示される鍵配送終了を受信したか否か検査する。検査した結果、受信していない場合には受信するまで待機する。受信した場合には、所望のエントリ番号の使用フラグを送信済みに書き換えると同時に、他のエントリ番号の使用フラグで送信済みステータスとなっている使用フラグがある場合には、その使用フラグを初期化済みステータスに戻す。そして、後述するステップS204以降の処理を行う。
ステップS204において、制御プログラム301は暗号化・復号処理モジュール6に図9(l)に示される暗号処理要求を送信する。また、所望のエントリ番号の使用フラグを使用中ステータスに書き換えると同時に、他のエントリ番号の使用フラグで使用中ステータスとなっている使用フラグがある場合には、その使用フラグを送信済みステータスに書き換える。
ステップS205において、制御プログラム301は暗号化・復号処理モジュール6から図9(m)に示される暗号処理終了を受信したか否か検査する。検査した結果、受信していない場合には受信するまで待機する。受信した場合には動作を終了する。
図11は本発明の実施例1において通信暗号処理装置1が複数の相手と暗号通信する時の鍵管理モジュール5と暗号化・復号処理モジュール6の動作、及び第3のメモリ9に保持される鍵を表したタイミングの例を示した図である。この図11を用いて通信暗号処理装置1が複数の相手と暗号通信する時の鍵管理モジュール5と暗号化・復号処理モジュール6の動作、及び第3のメモリ9に保持される鍵を表したタイミングを説明する。ただし、図11では複数の通信相手をA、B、Cとし、また、それぞれの通信相手に対応した鍵を鍵(A)、鍵(B)、鍵(C)としている。また、簡単のため図11では複数の通信相手の鍵は既に生成されて第2のメモリ8に保持されており、また、第3のメモリ9に鍵は保持されていないものとする。また、通信を行う順番はA→B→A→C→A→C→Bの順である。
T201において、第3のメモリには鍵(A)が保持されていないので、鍵管理モジュール5は第2のメモリ8から鍵(A)を読出し、バス100を介して暗号化・復号処理モジュール6に送信する。鍵(A)を受信した暗号化・復号処理モジュール6は第3のメモリ9に鍵(A)を保持する。また鍵(A)の状態フラグを非使用中ステータスにする。
T202において、暗号化・復号処理モジュール6は通信相手Aに送信するデータの暗号化を行う。また鍵(A)の状態フラグを使用中ステータスにする。
T203において、第3のメモリ9には鍵(B)が保持されていないので、鍵管理モジュール5は第2のメモリから鍵(B)を読出し、バス100を介して暗号化・復号処理モジュール6に送信する。
鍵(B)を受信した暗号化・復号処理モジュール6は第3のメモリ9に鍵(B)を保持する。また、鍵(B)の状態フラグを非使用中ステータスにする。
T204において、暗号化・復号処理モジュール6は通信相手Bに送信するデータの暗号化を行う。また鍵(A)の状態フラグを非使用中ステータスに、鍵(B)の状態フラグを使用中ステータスする。
T205において、第3のメモリ9には鍵(A)が保持されているので改めて鍵の配送を行う必要がない。そこで鍵の配送を行うことなく、暗号化・復号処理モジュール6は通信相手Aに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを使用中ステータスに鍵(B)の状態フラグを非使用中ステータスにする。
T206において、第3のメモリ9には鍵(C)が保持されていないので、鍵管理モジュール5は第2のメモリ8から鍵(C)を読出し、バス100を介して暗号化・復号処理モジュール6に送信する。鍵(C)を受信した暗号化・復号処理モジュール6は鍵の状態フラグを検査し、状態フラグが非使用中ステータスの鍵(B)を鍵(C)に書き換える。また、鍵(C)の状態フラグを非使用中ステータスにする。
T207において、暗号化・復号処理モジュール6は通信相手Cに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを非使用中ステータスに、鍵(C)の状態フラグを使用中ステータスする。
T208では、T205と同様に鍵の配送を行うことなく、暗号化・復号処理モジュール6は通信相手Aに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを使用中ステータスに鍵(C)の状態フラグを非使用中ステータスにする。
T209において、第3のメモリ9には鍵(C)が保持されているので改めて鍵の配送を行う必要がない。そこで、鍵の配送を行うことなく、暗号化・復号処理モジュール6は通信相手Cに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを非使用中ステータスに鍵(C)の状態フラグを使用中ステータスにする。
T210において、第3のメモリには鍵(B)が保持されていないので、鍵管理モジュール5は第2のメモリ8から鍵(B)を読出し、バス100を介して暗号化・復号処理モジュール6に送信する。鍵(C)を受信した暗号化・復号処理モジュール6は鍵の状態フラグを検査し、状態フラグが非使用中ステータスの鍵(A)を鍵(B)に書き換える。また、鍵(B)の状態フラグを非使用中ステータスにする。
T211において、暗号化・復号処理モジュール6は通信相手Bに送信するデータの暗号化を行う。また鍵(B)の状態フラグを使用中ステータスに、鍵(C)の状態フラグを非使用中ステータスにする。
図10及び図11のように、第3のメモリ9に所望の鍵が保持されている場合には、制御プログラム301は鍵管理モジュール5へ鍵の配送要求データを送信することなく、暗号化・復号処理モジュール6に暗号処理要求データを送信することができる。このため、より高速に処理を行うことができる。
以上、通信暗号SSL/TLSを行う通信暗号化処理装置について説明したがこれに限定されることではなく、例えば他の通信暗号技術であるIPsecや単体の共通鍵暗号、公開鍵暗号、鍵付きハッシュ関数等にも本手法を適用することができる。
<実施例2>
図12は本発明の実施例2における、通信暗号化処理SSL/TLSを行う通信暗号処理装置41のブロック図を示したものである。次に、図12を用いて実施例2における通信暗号処理装置41の構成について説明する。ただし、従来技術及び実施例1と同じ番号のものは同じ動作を行う。
図12において、960はセキュリティ・チップ、41は通信暗号化処理SSL/TLSを行う通信暗号化処理装置である。46は鍵管理モジュール5より供給される鍵を使用してワークメモリ3から読み出したデータに対する暗号化処理または復号処理を行ったり、メッセージ認証コードを生成したりするための暗号化・復号処理モジュールである。49は暗号化・復号処理モジュール46で使用する鍵を保持するレジスタ、401は鍵管理モジュール5や暗号化・復号処理モジュール6を制御するCPU2に搭載された制御プログラムである。
図13は制御プログラム401が管理しているセッション情報の例を表す図である。図13を用いて、制御プログラム401が管理しているセッション情報の例について説明する。
図13において、エントリ番号、活性化フラグ、識別子、サイファー・スイートは実施例1と同様である。実施例2の場合では実施例1の場合と異なり、制御プログラム401は活性化フラグを管理していない。
図14は暗号化・復号処理モジュール46が管理している情報の例を表す図である。図5を用いて、暗号化・復号処理モジュール46が管理している情報の例について説明する。
図14において、エントリ番号、サイファー・スイート、状態フラグは実施例1と同様である。レジスタ・アドレスは暗号化・復号処理モジュール46で使用する鍵がレジスタ49上で保持されているアドレスを示すものである。
図15は暗号化・復号処理モジュール46の内部構成を示す図である。図15を用いて、暗号化・復号処理モジュール46の内部構成を説明する。ただし、実施例1と同じ番号のものは同じ動作を行う。
図15において45は鍵管理制御部である。
図16は通信暗号化処理装置41で新たに通信暗号路を作成する際における、SSL/TLSの通信開始から通信終了までの制御プログラム401、鍵管理モジュール5、暗号化・復号処理モジュール46の間のデータ送受信を示したシーケンス図である。図16を用いてデータ送受信シーケンスについて説明する。
ステップS101〜ステップS114においては、実施例1の図8と同様の処理を行う。
ステップS315においてコマンド制御部24は図9(k)に示す鍵配送終了を示すコマンドとエントリ番号から構成されるデータグラムを生成し、信号線206、DMAコントローラ21、バス100を介して制御プログラム401に送信する。
制御プログラム301は暗号処理を行うタイミングを管理しており、図9(l)に示すデータグラムを生成し、所望のタイミングで暗号処理モジュール6へ送信する。
ステップS117〜ステップS121においては、実施例1の図8と同様の処理を行う。
図17は実施例2における暗号通信路が既に存在している際のSSL/TLSのレコード・プロトコルを行う制御プログラムのフローチャートである。図18は実施例2における、制御プログラム401が暗号化・復号処理モジュール46にレジスタ49に保持されている鍵の確認を行う際に送受信されるデータフォーマットを示した図である。図17及び図18を用いて実施例3における暗号通信路が既に存在している際のSSL/TLSのレコード・プロトコルを行う制御プログラム401の動作について説明する。
ステップS401において、制御プログラム401は、図18(p)に示すように保持鍵確認要求を示すコマンドと所望の鍵のエントリ番号を連結したデータグラムを生成し、暗号化・復号処理モジュール46に送信する。この処理は、レジスタ49に被処理データを暗号処理する際に用いる鍵が保持されているか否か検査するための処理である。
ステップS402において、制御プログラム401は暗号化・復号処理モジュール46から図18(q)に示す保持鍵確認終了を受信したか否か検査する。検査した結果、受信していない場合には受信するまで待機する。受信した場合には、後述するステップS403以降の処理を行う。
ステップS403において、S402の結果から、レジスタ49に所望の鍵が保持されている場合には後述するステップS406以降の処理を、保持されていない場合には後述するステップS404以降の処理を行う。
ステップS404において、制御プログラム401は所望のエントリ番号の鍵を暗号処理モジュール46に配送するように、鍵管理モジュール5に図8(h)で示される鍵配送要求を送信する。
ステップS405において、制御プログラム401は鍵管理モジュール5から図9(k)に示される鍵配送終了を受信したか否か検査する。検査した結果、受信していない場合には受信するまで待機する。受信した場合には、後述するステップS406以降の処理を行う。
ステップS406において、制御プログラム401は暗号化・復号処理モジュール46に図9(l)に示される暗号処理要求を送信する。
ステップS407において、制御プログラム401は暗号化・復号処理モジュール46から図9(m)に示される暗号処理終了を受信したか否か検査する。検査した結果、受信していない場合には受信するまで待機する。受信した場合には動作を終了する。
図19は本発明の実施例2において通信暗号処理装置41が複数の相手と暗号通信する時の鍵管理モジュール5と暗号化・復号処理モジュール46の動作、及びレジスタ49に保持される鍵を表したタイミングの例を示した図である。この図19を用いて通信暗号処理装置41が複数の相手と暗号通信する時の鍵管理モジュール5と暗号化・復号処理モジュール46の動作、及びレジスタ49に保持される鍵を表したタイミングを説明する。ただし、図19では複数の通信相手をA、B、Cとし、またそれぞれの通信相手に対応した鍵を鍵(A)、鍵(B)、鍵(C)としている。また、簡単のため図19では複数の通信相手の鍵は既に生成されて第2のメモリに保持されており、また、レジスタ49に鍵は保持されていないものとする。また、通信を行う順番はA→B→A→C→A→C→Bの順である。
T301において、レジスタ49には鍵(A)が保持されていないので、鍵管理モジュール5は第2のメモリから鍵(A)を読出し、バス100を介して暗号化・復号処理モジュール46に送信する。鍵(A)を受信した暗号化・復号処理モジュール46はレジスタ49に鍵(A)を保持する。また鍵(A)の状態フラグを非使用中ステータスにする。
T302において、暗号化・復号処理モジュール46は通信相手Aに送信するデータの暗号化を行う。また鍵(A)の状態フラグを使用中ステータスにする。
T303において、レジスタ49には鍵(B)が保持されていないので、鍵管理モジュール5は第2のメモリから鍵(B)を読出し、バス100を介して暗号化・復号処理モジュール46に送信する。鍵(B)を受信した暗号化・復号処理モジュール46はレジスタ49に鍵(B)を保持する。また、鍵(B)の状態フラグを非使用中ステータスにする。
T304において、暗号化・復号処理モジュール46は通信相手Bに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを非使用中ステータスに、鍵(B)の状態フラグを使用中ステータスする。
T305において、第3のメモリ49には鍵(A)が保持されているので改めて鍵の配送を行う必要がない。そこで鍵の配送を行うことなく、暗号化・復号処理モジュール46は通信相手Aに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを使用中ステータスに鍵(B)の状態フラグを非使用中ステータスにする。
T306において、第3のメモリ49には鍵(C)が保持されていないので、鍵管理モジュール5は第2のメモリ8から鍵(C)を読出し、バス100を介して暗号化・復号処理モジュール46に送信する。鍵(C)を受信した暗号化・復号処理モジュール46は鍵の状態フラグを検査し、状態フラグが非使用中ステータスの鍵(B)を鍵(C)に書き換える。また、鍵(C)の状態フラグを非使用中ステータスにする。
T307において、暗号化・復号処理モジュール46は通信相手Cに送信するデータの暗号化を行う。また鍵(A)の状態フラグを非使用中ステータスに、鍵(C)の状態フラグを使用中ステータスする。
T308では、T305と同様に鍵の配送を行うことなく、暗号化・復号処理モジュール46は通信相手Aに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを使用中ステータスに鍵(C)の状態フラグを非使用中ステータスにする。
T309において、レジスタ49には鍵(C)が保持されているので改めて鍵の配送を行う必要がない。そこで、鍵の配送を行うことなく、暗号化・復号処理モジュール46は通信相手Cに送信するデータの暗号化を行う。また、鍵(A)の状態フラグを非使用中ステータスに鍵(C)の状態フラグを使用中ステータスにする。
T310において、レジスタ49には鍵(B)が保持されていないので、鍵管理モジュール5は第2のメモリ8から鍵(B)を読出し、バス100を介して暗号化・復号処理モジュール46に送信する。鍵(C)を受信した暗号化・復号処理モジュール46は鍵の状態フラグを検査し、状態フラグが非使用中ステータスの鍵(A)を鍵(B)に書き換える。また、鍵(B)の状態フラグを非使用中ステータスにする。
T311において、暗号化・復号処理モジュール46は通信相手Bに送信するデータの暗号化を行う。また、鍵(B)の状態フラグを使用中ステータスに、鍵(C)の状態フラグを非使用中ステータスにする。
図17及び図19のように、レジスタ49に所望の鍵が保持されている場合には、制御プログラム401は鍵管理モジュール5へ鍵の配送要求を送信することなく暗号化・復号処理モジュール46に暗号処理要求を送信することができる。このため、より高速に処理を行うことができる。
以上、通信暗号SSL/TLSを行う通信暗号化処理装置について説明したがこれに限定されることではなく、例えば他の通信暗号技術であるIPsecや単体の共通鍵暗号、公開鍵暗号、鍵付きハッシュ関数等にも本手法を適用することができる。
なお、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
本発明の実施例1における通信暗号処理装置1の構成図である。 本発明の実施例1における制御プログラム301が管理しているセッション情報の例を表す図である。 本発明の実施例1における使用フラグが変化する様子の例を示した図である。 本発明の実施例1における鍵管理モジュール5が管理している情報の例を表す図である。 本発明の実施例1における暗号化・復号処理モジュール6が管理している情報の例を表す図である。 本発明の実施例1における鍵管理モジュール5の構成図である。 本発明の実施例1における暗号化・復号処理モジュール6の構成図である。 本発明の実施例1における新たに通信暗号路を作成する際における、SSL/TLSの通信開始から通信終了までの制御プログラム301、鍵管理モジュール5、暗号化・復号処理モジュール6の間のデータ送受信を示したシーケンス図である。 本発明の実施例1におけるデータフォーマット図である。 本発明の実施例1における暗号通信路が既に存在している際のSSL/TLSのレコード・プロトコルを行う制御プログラム301のフローチャートである。 本発明の実施例1において通信暗号処理装置1が複数の相手と暗号通信を行うときのタイミング図である。 本発明の実施例2における通信暗号処理装置41の構成図である。 本発明の実施例2における制御プログラム401が管理しているセッション情報の例を表す図である。 本発明の実施例2における暗号化・復号処理モジュール46が管理している情報の例を表す図である。 本発明の実施例2における暗号化・復号処理モジュール46の構成図である。 本発明の実施例2における新たに通信暗号路を作成する際における、SSL/TLSの通信開始から通信終了までの制御プログラム401、鍵管理モジュール5、暗号化・復号処理モジュール46の間のデータ送受信を示したシーケンス図である。 本発明の実施例2における暗号通信路が既に存在している際のSSL/TLSのレコード・プロトコルを行う制御プログラム401のフローチャートである。 鍵の確認を行う際に送受信されるデータフォーマットを示した図である。 本発明の実施例2において通信暗号処理装置41が複数の相手と暗号通信を行うときのタイミング図である。 従来の通信暗号処理装置901の構成図である。 従来の通信暗号処理装置901が複数の相手と暗号通信を行うときのタイミング図である。
符号の説明
1:通信暗号化処理装置、2:CPU、3:ワークメモリ、4:外部I/F、5:鍵管理モジュール、6:暗号化・復号処理モジュール、7:第1のメモリ、8:第2のメモリ、9:第3のメモリ、10:メインCPU、11:通信I/F、12:外部装置A、13:外部装置B、14:外部装置C、21:DMAC、22:コマンド制御部、23:乱数・鍵生成部、24:鍵管理制御部、31:DMAC、32:コマンド制御部、33:ブロック暗号化部、34:鍵付きハッシュ演算部、35:鍵管理制御部、41:通信暗号化処理装置、45:鍵管理制御部、46:暗号化・復号処理モジュール、49:レジスタ、100:バス、101:バス、102:ネットワーク、201:メモリバス、202、メモリバス、203:メモリバス、206:信号線、207:信号線、208:信号線、209:信号線、210:信号線、211:信号線、301:制御プログラム、306:信号線、307:信号線、308:信号線、309:信号線、310:信号線、311:信号線、312:信号線、313:信号線、314:信号線、401:制御プログラム、403:メモリバス、409:信号線、412:信号線、413:信号線、414:信号線、900:セキュリティ・チップ、901:通信暗号化処理装置、905:鍵管理モジュール、906:暗号化・復号処理モジュール、908:メモリ、912:メモリバス、930:セキュリティ・チップ、960:セキュリティ・チップ

Claims (1)

  1. 装置全体の制御を制御プログラムに基づいて実行する制御手段と、
    入力データを暗号化・復号処理するための暗号化・復号処理モジュールと、
    前記暗号化・復号処理モジュールで使用する鍵を生成し、前記暗号化・復号処理モジュールへ配送するための鍵管理モジュールと、
    前記鍵管理モジュールから前記暗号化・復号処理モジュール経由で配送された鍵を保持し、該鍵が前記暗号化・復号処理モジュールから参照されて暗号化・復号処理に用いられる記憶手段と
    前記記憶手段に保持されている鍵の使用状況を表わす管理情報を保持する管理情報保持手段と、
    を備え、
    前記制御手段は、前記管理情報保持手段を参照して、前記記憶手段に予め定められた鍵が保持されているか否かを判断し、
    前記記憶手段に予め定められた鍵が保持されていないと判断した場合には、前記鍵管理モジュールに鍵配送要求を送信し、鍵配送の終了後に前記暗号化・復号処理モジュールに暗号化処理命令を送信し、
    前記記憶手段に前記予め定められた鍵が保持されていると判断した場合には、前記鍵管理モジュールに鍵配送命令を行うことなく、前記暗号化・復号処理モジュールに暗号化処理命令を送信し、
    前記記憶手段は、前記暗号化・復号処理モジュールとは接続されているが、前記制御手段及び前記鍵管理モジュールとは接続されていないことを特徴とする通信暗号化処理装置。
JP2006213415A 2006-08-04 2006-08-04 通信暗号化処理装置 Expired - Fee Related JP5032806B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006213415A JP5032806B2 (ja) 2006-08-04 2006-08-04 通信暗号化処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006213415A JP5032806B2 (ja) 2006-08-04 2006-08-04 通信暗号化処理装置

Publications (3)

Publication Number Publication Date
JP2008042469A JP2008042469A (ja) 2008-02-21
JP2008042469A5 JP2008042469A5 (ja) 2009-09-17
JP5032806B2 true JP5032806B2 (ja) 2012-09-26

Family

ID=39177018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006213415A Expired - Fee Related JP5032806B2 (ja) 2006-08-04 2006-08-04 通信暗号化処理装置

Country Status (1)

Country Link
JP (1) JP5032806B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4994741B2 (ja) * 2006-08-08 2012-08-08 キヤノン株式会社 通信暗号化処理装置
CN105531962A (zh) 2013-09-19 2016-04-27 索尼公司 信息处理设备、信息处理方法以及计算机程序

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138643A (ja) * 1995-11-15 1997-05-27 Fujitsu Ltd データ秘匿及びデータ署名用鍵蓄積システムおよび鍵蓄積機能を備えたセキュリティ・モジュール
JP3009878B1 (ja) * 1998-09-21 2000-02-14 株式会社高度移動通信セキュリティ技術研究所 暗号通信装置
JP2005006033A (ja) * 2003-06-12 2005-01-06 Sanyo Electric Co Ltd 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム

Also Published As

Publication number Publication date
JP2008042469A (ja) 2008-02-21

Similar Documents

Publication Publication Date Title
JP4599852B2 (ja) データ通信装置および方法、並びにプログラム
TW564624B (en) Non-invasive SSL payload processing for IP packet using streaming SSL parsing
JP4219965B2 (ja) ワンタイムidによる認証
EP1902540B1 (en) Method and apparatus for establishing a communication key between a first communication partner and a second communication partner using a third party
JP2009526321A5 (ja)
JP2009526322A5 (ja)
KR20110140122A (ko) 인증서 및 키를 가지는 제품을 생산하기 위한 방법
CN108964893B (zh) 一种密钥处理方法、装置、设备和介质
CN110602140A (zh) 芯片授权的加密、解密方法及系统
US20110305334A1 (en) Transmission/Reception System, Transmission Device, Reception Device, Authentication Device, User Device, Method Executed by the Aforementioned, and Program
CN109714176A (zh) 口令认证方法、装置及存储介质
JP4994741B2 (ja) 通信暗号化処理装置
JPWO2015111221A1 (ja) 機器証明書提供装置、機器証明書提供システムおよび機器証明書提供プログラム
CN101325483B (zh) 对称密钥更新方法和对称密钥更新装置
CN103973440A (zh) 基于cpk的文件云安全管理方法及系统
JP4226582B2 (ja) データ更新システム
JP5169866B2 (ja) 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
CN115664643A (zh) 基于聚合密钥分发的双向身份认证方法和系统
JP5032806B2 (ja) 通信暗号化処理装置
JP5195552B2 (ja) 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
WO2017008556A1 (zh) 一种无线接入点和管理平台鉴权的方法和装置
JP4437310B2 (ja) 公衆ネットワークを用いて専用仮想ネットワークを生成する方法
JP2022061275A (ja) ライセンス管理方法、ライセンス管理装置、及びプログラム
CN108243158A (zh) 一种安全认证的方法和装置
CN112350920A (zh) 基于区块链的即时通讯系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120629

R151 Written notification of patent or utility model registration

Ref document number: 5032806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees