JP2004247810A - Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program - Google Patents
Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program Download PDFInfo
- Publication number
- JP2004247810A JP2004247810A JP2003033342A JP2003033342A JP2004247810A JP 2004247810 A JP2004247810 A JP 2004247810A JP 2003033342 A JP2003033342 A JP 2003033342A JP 2003033342 A JP2003033342 A JP 2003033342A JP 2004247810 A JP2004247810 A JP 2004247810A
- Authority
- JP
- Japan
- Prior art keywords
- key
- authentication
- packet
- database
- encryption
- 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
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、パケットを認証処理する暗号化装置及び復号装置に関する。
【0002】
【従来の技術】
パケットのIPSEC(IP SECURITY)処理方式はIETF(INTERNET ENGINEERING TASK FORCE)による仕様書RFC(REQUEST FOR COMMENTS)2402にて「IP認証ヘッダ(AH)」、RFC2406にて「IP暗号ペイロード(ESP)」について記述されている。
【0003】
IPSECを通信装置に実装する上でサポートしなければならない認証処理方式はHMAC(KEYED−HASHING FOR MESSAGE AUTHENTICATION)であり、HMAC処理中のハッシュ関数に使用される認証アルゴリズムは、MD5もしくはSHA1である。
【0004】
従来のHMAC処理の流れについて説明する。
まず、認証鍵Kに0をパディングし、使用するハッシュ関数のブロックサイズに合わせ、これとipadの排他的論理和を行いIK1を生成する(ステップ1)。
次にIK1の後ろにHMAC処理対象データPを付加し、さらにパディングデータ PAD DATA、データ長Lを付加し、ハッシュ関数のブロックサイズの倍数となるハッシュ処理対象データIP1を生成する(ステップ2)。
次に、ハッシュ関数HによるIP1のハッシュ処理を行い、ダイジェストD1を生成する(ステップ3)。
次に、ステップ1と同様、認証鍵Kに0をパディングし、使用するハッシュ関数のブロックサイズにあわせ、これとopadの排他的論理和を行い、IK2を生成する(ステップ4)。
次に、IK2の後ろにステップ3の結果得られたダイジェストD1を付加し、さらにパディングデータPAD DATA、データ長Lを追加し、ハッシュ関数の2ブロックサイズになるハッシュ処理対象データIP2を生成する(ステップ5)。
次に、ハッシュ関数HによるIP2のハッシュ処理を行い、ダイジェストD2を生成する。最終的にD2の上位96bitがIPSECパケットの認証ダイジェストとして付加される(ステップ6)。
【0005】
次に、上記ステップ3のハッシュ処理の詳細を説明する。
ハッシュ処理はハッシュ初期値、ハッシュ処理対象データを用いて1ブロックずつ行う。
まず、ハッシュ初期値はハッシュ関数MD5、ハッシュ関数SHA1で定義されているハッシュ初期値H0を用い、被ハッシュデータをIK1として1ブロックサイズのハッシュ処理を行い、MK1を生成する(鍵ブロックのハッシュ処理1)。
次に、ハッシュ初期値としてMK1を用い、被ハッシュデータをIP1におけるIK1の後ろの1ブロック分IP1(1)として1ブロックサイズのハッシュ処理を行い、MP1(1)を生成する(平文ブロックのハッシュ処理1)。
次に、ハッシュ処理対象データ分の処理が完了したかどうか判定し、未処理のハッシュ処理対象データがある場合は上述した「平文ブロックのハッシュ処理1」を繰り返し行う。ここで「平文ブロックのハッシュ処理1」におけるハッシュ初期値は前回の「平文ブロックのハッシュ処理1」の結果MP1(N−1)とする。
ハッシュ処理対象データ分の処理が完了されたと判断した場合は最終的に得たMP1(N)をD1として終了する。
【0006】
次に、上記ステップ6のハッシュ処理の詳細を説明する。
上記ステップ3のハッシュ処理と同様、ハッシュ初期値はハッシュ関数MD5、SHA1で定義されているハッシュ初期値H0を用い、被ハッシュデータをIK2として1ブロックサイズのハッシュ処理を行いMK2を生成する(鍵ブロックのハッシュ処理2)。
次に、ハッシュ初期値としてMK2を用い、被ハッシュデータをIP2(1)として1ブロックサイズのハッシュ処理を行い、この結果をD2とする(平文ブロックのハッシュ処理2)。
【0007】
上のハッシュ処理において時間を要するのはステップ3、ステップ6であり、その処理時間はハッシュ処理対象データのブロックサイズに比例して増加する。
【0008】
次にハッシュ処理のデータ長について述べる。SHA1、MD5共に1ブロック=512bitである。あるデータに対してハッシュ処理を行う場合、このハッシュ処理対象データの後ろにパディングデータ(1〜512bit)、データ長(64bit)が付加される。
パディングデータは、ハッシュ処理対象データ、パディングデータ、データ長を合わせたデータサイズを512bitの倍数に合わせるためのものであり、データ長はパディングビット付加前のハッシュ処理対象データ長を示す。
【0009】
次にハッシュ処理時間について述べる。ハッシュ処理に要する時間は、パディングデータ、データ長付加前のハッシュ処理対象データ長が1bit〜447bitの場合1ブロック分、448bit〜959(447+512)bitの場合2ブロック分、以後512bit刻みにつき1ブロック分ずつ増えていくことになる。
これによりHMAC処理中の認証アルゴリズムによるハッシュ処理のステップ3とステップ6の処理時間は、ハッシュ処理対象データ長のブロックサイズに比例して増加する。
【0010】
短パケットを例にしてHMAC処理時間について述べる。
短パケットに対しIPSEC認証処理する場合、HMAC処理適用範囲はESPで448bit、AHで624bitである。
これについてHMAC処理を行った場合、パケットのHMAC処理適用範囲のハッシュ処理(平文ブロックのハッシュ処理1)で2ブロック分、認証鍵のハッシュ処理(鍵ブロックのハッシュ処理1、鍵ブロックのハッシュ処理2)で2ブロック分、最終的に認証ダイジェストを求めるハッシュ処理(平文ブロックのハッシュ処理2)で1ブロック分の合計5ブロック分を必要とする。
【0011】
一般的に考えられるVPN(VIRTUAL PRIVATE NETWORK)装置の暗号側の構成を説明する。
暗号側のVPN装置は、ユーザインタフェースと、自局端末としての機能を実現し、自局端末宛のパケットを振分部より受け取り、自局端末発のパケットを送信制御部に渡し、ユーザインタフェースより設定されたVPNの設定情報をSP・SA生成部に渡す自局制御部と、VPNの設定情報、他VPN装置と相互通信して受け取った情報を自局制御部より受け取り、これらの情報からSP(SECURITY POLICY)データ、SA(SECURITY ASSOCIATION)データを生成して、SPデータを精査部に、SAデータを振分部7に渡すSP・SA生成部と、パケットを受信する受信部と、SPデータをSPD 6(SECURITY POLICY DATABASE)に登録し、パケットの精査を行う精査部と、SPデータを保存するデータベースであるSPDと、SAデータをSAD(SECURITY ASSOCIATION DATABASE)に登録し、自局宛パケットを自局制御部に、IPSEC対象外パケットを送信制御部に、IPSEC処理対象パケットを暗号・認証処理部に、またこのときSADよりSAデータを読み出して暗号・認証処理部に渡す振分部と、SAデータを保存するデータベースであるSADと、パケットのIPSEC処理を行う暗号・認証処理部と、自局制御部、暗号・認証処理部、振分部より受け取った送信パケットの宛先を制御する送信制御部と、パケットを送信する送信部とから構成される。
【0012】
次にこの一般的なVPN装置における暗号側の処理の流れを説明する。
パケット処理の前準備として、まずはSPデータ、SAデータを生成して、それぞれSPD、SADに登録し、その後パケットのIPSEC処理を行う。
【0013】
まずSPデータ、SAデータを生成するために、VPN管理者がVPN装置自局端末のユーザインタフェースを介してVPN装置の設定を行い、自局制御部はユーザインタフェースから受け取った情報をSP・SA生成部に渡し、SP・SA生成部はSPデータを生成後、これを精査部に渡し、精査部はSPデータをSPDに登録する。
【0014】
次に、装置間でVPNを構築するため、装置間で相互通信を行いSAデータを生成する。SP・SA生成部は、SAデータを決定するための他VPN装置宛のデータを自局制御部に渡し、自局制御部はこれをパケット化して送信制御部に渡し、送信制御部は送信部に渡し、送信部はこれを装置外に送信する。受信部は他VPN装置からのSAデータを決定するための情報を持つ受信パケットを精査部に渡し、精査部は振分部に渡し、振分部は自局宛と判断し、このパケットを自局制御部に渡し、自局制御部はこれをSP・SA生成部に渡す。
以上の通信によりSAデータを決定したら、SP・SA生成部はSAデータを振分部に渡し、振分部はこれをSADに登録する。
【0015】
次に受信部はIPSEC処理対象パケットを受信し、精査部に渡す。精査部は、パケットヘッダの発信元アドレス、宛先アドレス、プロトコル、ポート番号を元に、このパケットはIPSEC処理対象であると判断し、SPDよりこのパケットに対応するSPI(SECURITY PARAMETER INDEX)を読み出し、これとパケットを振分部に渡す。振分部はSPIを元にSADを参照して、暗号アルゴリズム、認証アルゴリズム、暗号鍵、認証鍵といったSAデータを暗号・認証処理部に渡す。
暗号・認証処理部はSAデータに含まれる処理情報を元にパケットのIPSEC処理を行い、処理後のパケットを送信制御部に渡す。ここで、SAデータで示された処理が認証処理を含む場合、暗号・認証処理部はパケットのHMAC処理を行う。送信制御部は、暗号・認証処理部から受け取ったパケットが他VPN装置宛であると判断し、これを送信部に渡す。送信部はパケットを装置の外へ送信する(例えば、特許文献1参照)。
【0016】
【特許文献1】
特開平11−8620号公報
【0017】
【発明が解決しようとする課題】
上記のようなVPN装置構成の場合、HMAC処理を全て暗号・認証処理部で行うことになる。HMAC処理には、パケットデータを必要とせず、認証鍵データを必要とするハッシュ処理部分が存在する(鍵ブロックのハッシュ処理1、鍵ブロックのハッシュ処理2)。これをHMAC鍵処理とする。
同一の認証鍵を使用するパケットが複数存在した場合、HMAC鍵処理がパケットごとに実行されるので時間がかかり非効率であるという問題があった。
【0018】
本発明は、VPN装置のスループットを向上させる暗号化装置及び復号装置及びその方法を提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明に係る暗号化装置は、
鍵に関する所定のデータから中間鍵を生成する鍵処理部と、
上記鍵処理部が生成した中間鍵を記憶するデータベースと、
パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する暗号・認証処理部とを備える。
【0020】
【発明の実施の形態】
実施の形態1.
実施の形態1について説明する。
図1は、本実施の形態1の発明を示したVPN装置30のシステム構成図である。VPN装置30は、本発明の暗号化装置20に通信機能及びインタフェース機能を付加した通信装置の一例である。
図1において、自局制御部2は、自局端末としての機能を実現し、自局端末宛のパケットを振分部7より受け取り、自局端末発のパケットを送信制御部10に渡し、ユーザインタフェース1より設定されたVPNの設定情報をSP・SA生成部3に渡す部である。
SP・SA生成部3は、VPNの設定情報、他VPN装置と相互通信して受け取った情報を自局制御部2より受け取り、これらの情報からSPデータ,SAデータを生成して、SPデータを精査部5に、SAデータの認証鍵を鍵処理部12に渡し、鍵処理部12から受け取ったHMAC鍵処理後のデータをSAデータの一部として、SAデータを振分部7に渡す部である。以下、鍵処理部12から受け取ったHMAC鍵処理後のデータを中間鍵という。HMAC鍵処理については後述する。
【0021】
受信部4はパケットを受信し、精査部5はSPデータのデータベースA(SPD)6への登録及び受信部4によって受信されたパケットの精査を行う。したがって、データベースA(SPD)6は、SPデータを保存する。
振分部7は、SAデータをデータベースB(SAD)8に登録し、自局宛パケットを自局制御部2に、IPSEC対象外パケットを送信制御部10に、IPSEC処理対象パケットを暗号・認証処理部9に、またこのときデータベースB(SAD)8よりSAデータを読み出して暗号・認証処理部9に渡す部である。したがって、データベースB(SAD)8は、SAデータを保存するデータベースであり、下記に示す鍵処理部が生成した中間鍵を記憶するデータベースの一例である。
暗号・認証処理部9は、パケットのIPSEC処理を行い、パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する。
送信制御部10は自局制御部2、暗号・認証処理部9、振分部7より受け取った送信パケットの宛先を制御し、送信部11はパケットを送信する部である。
鍵処理部12はSP・SA生成部3から受け取った認証鍵のHMAC鍵処理を行い、中間鍵を生成して、これをSP・SA生成部に渡す部である。すなわち、鍵処理部12は、鍵に関する所定のデータ(SP・SA生成部3から受け取った認証鍵)から中間鍵を生成する。
暗号化装置20は、上記鍵処理部12と暗号・認証処理部9によって構成され、データベースB(SAD)8を内部に記憶していても外部に記憶していてもよい。
【0022】
次に、本実施の形態における発明のVPN装置30の処理の流れを図2に添って説明する。パケット処理の前準備として、まずはSPデータ、SAデータの登録を行い、その後パケットのIPSEC処理を行う。
【0023】
まず、SPデータ、SAデータを生成するために、VPN管理者がVPN装置自局端末のユーザインタフェース1を介してVPN装置30の設定を行い、自局制御部2はユーザインタフェース1から受け取った情報をSP・SA生成部3に渡し、SP・SA生成部3はVPN装置30の設定データであるSPデータを生成後(T1)、これを精査部5に渡し、精査部5はSPデータをデータベースA(SPD)6に登録する(T2)。
【0024】
次にVPN装置間でVPNを構築するため、VPN装置間で他のVPN装置と相互通信を行いSAデータを生成する。SP・SA生成部3は、SAデータを決定するための他VPN装置宛のデータを自局制御部2に渡し、自局制御部2はこれをパケット化して送信制御部10に渡し、送信制御部10は送信部11に渡し、送信部11はこれを装置外に送信する。
受信部4は他VPN装置からのSAデータを決定するための情報を持つ受信パケットを精査部5に渡し、精査部5は振分部7に渡し、振分部7は本装置宛と判断し、このパケットをSP・SA生成部3に渡す。以上の通信によりSAデータを生成、決定(T3)したら、SP・SA生成部3はSAデータの認証鍵を鍵処理部12に渡し、鍵処理部12はHMAC鍵処理(図2では鍵(Y1)のハッシュ処理1:T4,鍵(Z1)のハッシュ処理2:T5で示す)を行い、これにより得た中間鍵をSP・SA生成部3に渡す。
SP・SA生成部3はSAデータを振分部7に渡し、振分部7はこれをデータベースB(SAD)8に登録する(T6)。
【0025】
受信部4は、IPSEC処理対象パケットを受信し(T7)、精査部5に渡す。
精査部5は、このパケットはIPSEC処理対象であると判断し、データベースA(SPD)6よりこのパケットに対応するSPIを読み出し、これとパケットを振分部7に渡す。振分部7はSPI(SECURITY PARAMETERS INDEX)を元にデータベースB(SAD)8からSAデータを読み出し、これとパケットを暗号・認証処理部9に渡す。
暗号・認証処理部9はSAデータに含まれる処理情報を元にパケットのIPSEC処理を行い、処理後のパケットを送信制御部10に渡す。
ここで、SAデータで示された処理が認証処理を含む場合、暗号・認証処理部9はパケットに含まれるメッセージのHMAC処理を行う((図2ではメッセージ(Y2)のハッシュ処理1:T8、メッセージ(Z2)のハッシュ処理2:T9で示す)。
送信制御部10は、暗号・認証処理部9から受け取ったパケットが他VPN装置宛であると判断し、これを送信部11に渡す。送信部11はパケットを装置の外へ送信する。
【0026】
次に、図2のT4で示す鍵(Y1)のハッシュ処理1(HMAC鍵処理)について図3を用いて説明する。
まず、鍵処理部12は、認証鍵Kに0をパディングし、使用するハッシュ関数のブロックサイズに合わせ、これとipadの排他的論理和を行いIK1を生成する(Y0)。
次に、鍵処理部12は、中間鍵aであるMK1を生成する。ハッシュ初期値はハッシュ関数MD5、ハッシュ関数SHA1で定義されているハッシュ初期値H0を用い、被ハッシュデータは上記Y0で生成したIK1を用いて、これらのデータに1ブロックサイズのハッシュ処理を行い、MK1(中間鍵a)を生成する(Y1)。
【0027】
次に、上記T5で示す鍵(Z1)のハッシュ処理2(HMAC鍵処理)について図4を用いて説明する。
Z0では、鍵処理部12は、Y0と同様、認証鍵Kに0をパディングし、使用するハッシュ関数のブロックサイズにあわせ、これとopadの排他的論理和を行い、IK2を生成する。
次に、上記鍵(Y1)のハッシュ処理1と同様、鍵処理部12は、中間鍵bであるMK2を生成する。ハッシュ初期値はハッシュ関数MD5、SHA1で定義されているハッシュ初期値H0を用い、被ハッシュデータをIK2として1ブロックサイズのハッシュ処理を行い、MK2(中間鍵b)を生成する。
【0028】
本実施の形態の発明のVPN装置30の暗号側におけるデータベースA(SPD)6とデータベースB(SAD)8の構造を図5に示す。
HMAC鍵処理において、鍵処理部12は、Y1の処理後のデータ(MK1)を中間鍵a、鍵(Z1)のハッシュ処理2後のデータ(MK2)を中間鍵bとし、この中間鍵a、中間鍵bは、振分部7によって認証鍵としてデータベースB(SAD)8に登録される。中間鍵a、中間鍵bは、従来の認証鍵の代わりに登録される鍵である。
【0029】
次に、図2で示されるT8の処理について説明する。
図6にメッセージ(Y2)のハッシュ処理1(T8)で行われる処理を示す。まず、暗号・認証処理部9は、Y20にてIK1の後ろにHMAC処理対象データPを付加し、さらにパディングデータ PAD DATA、データ長Lを付加し、ハッシュ関数のブロックサイズの倍数となるハッシュ処理対象データIP1を生成する。
次に、暗号・認証処理部9は、ハッシュ初期値としてMK1(中間鍵a)を用い、被ハッシュデータをIP1におけるIK1の後ろの1ブロック分IP1(1)として1ブロックサイズのハッシュ処理を行いMP1(1)を生成する。次に、ハッシュ処理対象データ分の処理が完了したかどうか判定し(Y24)、未処理のハッシュ処理対象データがある場合は上述したY22の処理を繰り返し行う。ここでY22におけるハッシュ初期値は前回のY22の結果MP1(N−1)とする。
ハッシュ処理対象データ分の処理が完了されたと判断した場合は(Y24)、最終的に得たMP1(N)をD1として終了する。
【0030】
次に、図2で示されるT9の処理について説明する。
図7にメッセージ(Z2)のハッシュ処理2(T9)で行われる処理を示す。まず、暗号・認証処理部9は、Z20にてIK2の後ろにT8の結果得られたダイジェストD1を付加し、さらにパディングデータPAD DATA、データ長Lを追加し、ハッシュ関数の2ブロックサイズになるハッシュ処理対象データIP2を生成する。
次に、暗号・認証処理部9は、Z22にて、ハッシュ初期値としてMK2(中間鍵b)を用い、被ハッシュデータをIP2(1)として1ブロックサイズのハッシュ処理を行い、この結果をダイジェストD2とする。
最終的にダイジェストD2の上位96bitがIPSECパケットの認証ダイジェストとして付加される。
【0031】
以上、暗号化装置20によってHMAC処理によりIPSEC認証処理を行うVPN装置30において、認証鍵データに対するハッシュ処理のみを先に実行する鍵処理部12を設け、ハッシュした結果(中間鍵a、中間鍵b)を認証鍵の代わりにデータベースB(SAD)8に記憶し、HMAC処理にて繰り返し認証鍵データのハッシュ処理を行う代わりに、データベースB(SAD)8に記憶してあるハッシュ結果のデータ(中間鍵a、中間鍵b)を読み出して使うことにより、IPSEC認証処理対象パケットごとに実行することが必要であった認証鍵データのハッシュ処理を1回で済むようにすることにより、HMAC処理を高速に行えるようにしたことで、IPSEC認証処理を高速に行えるようにしたことを特徴とするVPN装置について説明した。
【0032】
このように、VPN装置30に含まれる暗号化装置20は、鍵に関する所定のデータから中間鍵を生成する鍵処理部12と、鍵処理部12が生成した中間鍵を記憶するデータベース(データベースB(SAD)8)と、パケットに含まれるメッセージを暗号化するとともにデータベース(データベースB(SAD)8)に記憶した中間鍵を認証鍵として使用して、上記中間鍵をハッシュ関数に代入することにより暗号化したメッセージを認証する暗号・認証処理部9とを備えている。
【0033】
そして、暗号化装置20は、上記暗号・認証処理部9が認証したメッセージを含むパケットの通信をIPSECプロトコル(IP SECURITY PROTOCOL)に準拠して行うことでVPN(VIRTUAL PRIVATE NETWORK)によるパケット通信を行う。
【0034】
また、本実施の形態の通信装置(VPN装置30)は、上記暗号化装置20の鍵処理部12による中間鍵生成と、鍵処理部12が生成した中間鍵を記憶するデータベース(データベースB(SAD)8)と、パケットに含まれるメッセージを暗号化するとともにデータベース(データベースB(SAD)8)に記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する暗号・認証処理部9と、上記暗号・認証処理部9によって認証されたメッセージを含むパケットを送信する送信部11を備える。
【0035】
このように構成されたVPN装置では、HMAC鍵処理については、SAデータ登録時に鍵処理部12で行われるため、暗号・認証処理部9で行う必要はない。
上述したHMAC鍵処理は図2の鍵(Y1)のハッシュ処理1(T4)及び鍵(Z1)のハッシュ処理2(T5)に相当し、計2ブロック分の時間を要する。従来の認証鍵の代わりにHMAC鍵処理部で生成された中間鍵(中間鍵a、中間鍵b)をSAデータの一部とし、SP・SA生成部3はSAデータを振分部7に渡し、振分部7はこれをデータベースB(SAD)8に登録する。暗号・認証処理部9では、この中間鍵を用いることで1つのパケット認証処理ごとに2ブロック分減らすことができる。
【0036】
実施の形態2.
実施の形態1では鍵処理部12を設けているが、図8のようにデータベースB(SAD)8へのアクセスを振分部7から暗号・認証処理部9に移し、SAデータ登録時に振分部7はSAデータを暗号・認証処理部9に渡し、暗号・認証処理部9はHMAC鍵処理を行い、その後に暗号・認証処理部は中間鍵を含むSAデータをデータベースB(SAD)8に登録することで、鍵処理部12を設けずに本発明を実現することも可能である。
【0037】
このように、本実施の形態では、図8のようにシステムを構成することによって、データベースB(SAD)8への登録時に認証鍵データに対するハッシュ処理のみを先に実行し、ハッシュした結果(中間鍵a、中間鍵b)を認証鍵の代わりにデータベースB(SAD)8に記憶し、HMAC処理にて繰り返し認証鍵データのハッシュ処理を行う代わりに、データベースB(SAD)8に記憶してあるハッシュ結果のデータ(中間鍵a、中間鍵b)を読み出して使うことにより、IPSEC認証処理対象パケットごとに実行することが必要であった認証鍵データのハッシュ処理を1回で済むようにすることにより、HMAC処理を高速に行えるようにしたことで、IPSEC認証処理を高速に行えるVPN装置を構築することができる。
【0038】
このように、本実施の形態のVPN装置30に含まれる暗号化装置20は、鍵に関する情報を記憶するデータベース(データベースB(SAD)8)と、鍵に関する所定のデータから中間鍵を生成し、生成した中間鍵を上記データベース(データベースB(SAD)8)に記憶し、パケットに含まれるメッセージを暗号化するとともに上記データベース(データベースB(SAD)8)に記憶した中間鍵を認証鍵として繰り返し使用してメッセージを認証する暗号・認証処理部9とを備える。
【0039】
実施の形態3.
他の実施の形態として、暗号・認証処理部9に中間鍵を保存する領域を設けることが考えられる。
本実施の形態を図9に示す。暗号・認証処理部9は中間鍵メモリ15を内部に持ち、ある認証鍵における最初のパケット認証処理時に中間鍵を中間鍵メモリ15に保存し、以降同鍵を使用するパケット認証処理時はこの中間鍵を中間鍵メモリ15より読み出して使用することで実施の形態1、実施の形態2と同等の効果が得られる。
【0040】
このように、本実施の形態では、図9のようにシステムを構成することによって、認証鍵データに対するハッシュ処理の結果(中間鍵a、中間鍵b)を保存する領域(中間鍵メモリ15)を設け、ある認証鍵での最初のパケット認証時に中間鍵メモリ15に保存し、以降のパケット認証処理時に中間鍵メモリ15に保存された中間鍵(中間鍵a、中間鍵b)読み出して使うことにより、IPSEC認証処理対象パケットごとに実行することが必要であった認証鍵データのハッシュ処理を、1回で済むようにすることにより、HMAC処理を高速に行えるようにしたことで、IPSEC認証処理を高速に行えるようにしたVPN装置を構築することができる。
【0041】
このように、本実施の形態のVPN装置30に含まれる暗号化装置20は、鍵に関する所定のデータから中間鍵を生成し、複数のパケットの第1のパケットに含まれるメッセージを暗号化し、生成した中間鍵を使用して暗号化したメッセージを認証するとともに生成した中間鍵を中間鍵メモリ15に記憶し、上記複数のパケットの第1のパケット以外のパケットに含まれるメッセージを暗号化するとともに中間鍵メモリ15に記憶した中間鍵を繰り返し使用して認証する暗号・認証処理部9を備える。
【0042】
上述した全ての実施の形態で得られる効果について説明する。
図10は、短パケットに対しIPSEC認証処理する場合の、一般的なVPN装置と上記すべての実施の形態に係る発明のVPN装置におけるHMAC処理時間の比較を図10に示す。
図10の通り、あるSAデータによる1個目のパケット処理完了までに要する時間は従来の方法とほぼ同じである。しかし2個目以降は各パケットに付き2ブロック分の処理時間短縮となり、N個処理した場合は2(N−1)ブロック分の時間短縮となる。図10は短パケットのときを例としているが、それ以外の長さのパケットを処理した場合も効果は同等である。
【0043】
上記すべての実施の形態の暗号側のVPN装置は、復号側のVPN装置にも適用することができる。復号側のVPN装置ではIPSEC処理のうち、認証処理手順は暗号側と同じなので、同様の効果が実現可能である。
【0044】
すなわち、IPSEC処理の流れとして、暗号化装置の中では暗号処理部の後に認証処理部があり、暗号処理後のデータを認証処理部で認証処理を行う。一方、復号装置の中では認証処理部の後に復号処理部があり、認証処理部で認証処理を行った後で復号処理を行う。ここで暗号側、復号側の認証処理部は同一のものであるため、復号側においても上記すべての実施の形態の発明による認証処理手順を用いることができ、また、認証処理対象データ、認証鍵についても同一であるため、復号装置でも暗号化装置と同様の効果が実現可能である。
【0045】
また、上記すべての実施の形態の発明はHMAC内で使用される認証アルゴリズムに依存することなく、SHA1、MD5の両方で適用可能であり、また他のブロックサイズの認証アルゴリズムにも適用可能である。
【0046】
また、上記すべての実施の形態における発明では、通信装置の例としてVPN装置を挙げているが、ソフトウェアによって実装する場合においても本発明は有効である。
【0047】
図11は、上記すべての実施の形態における通信装置のコンピュータ基本構成図である。
図11において、プログラムを実行するCPU40は、バス38を介してモニタ41、キーボード42、マウス43、通信ポート44、磁気ディスク装置46等と接続されている。
磁気ディスク装置46には、OS47、プログラム群49、ファイル群50が記憶されている。ただし、プログラム群49、ファイル群50が一体となってオブジェクト指向のプログラム群49を形成する形態も一実施の形態として考えられる。
上記鍵処理部12や上記暗号・認証処理部9等が行う動作は、プログラムとして記述することができる。これらのプログラム群49が磁気ディスク装置46に記憶され、OS47を使用してCPU40により実行されることにより、上記鍵処理部12や上記暗号・認証処理部9等が行う動作はソフトウェアによって実装することができる。
上記各実施の形態では、通信装置は、通信ポート44の機能を使用して、他の通信装置と通信を行う。
【0048】
以上に記載した「登録する」、「記憶する」という用語は、記録媒体に保存することを意味する。
【0049】
すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示された動作の関連を考慮しながら、一連の動作として置き換えることができる。そして、このように置き換えることにより、方法の発明の実施形態とすることができる。
また、上記各構成要素の動作を、各構成要素の処理と置き換えることにより、プログラムの実施の形態とすることができる。
また、プログラムを、プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで、プログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【0050】
プログラムの実施の形態及びプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
プログラムの実施の形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置(CPU)に読み込まれ、中央処理装置によって、各フローチャートが実行されることになる。
また、各実施の形態のソフトウェアやプログラムは、ROM(READ ONLY MEMORY)に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアとファームウェアとハードウェアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【0051】
【発明の効果】
以上のように本発明によれば、IPSEC認証処理において装置全体の処理時間が短縮され、スループットの向上が測られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるVPN装置のブロック構成図である。
【図2】本発明の実施の形態1のVPN装置におけるIPSEC認証処理フローである。
【図3】MK1(中間鍵a)生成フロー図である。
【図4】MK2(中間鍵b)生成フロー図である。
【図5】各データベースの構造図である。
【図6】HMAC処理の流れを示したフロー図である。
【図7】HMAC処理の流れを示したフロー図である。
【図8】本発明の実施の形態2におけるVPN装置のブロック構成図である。
【図9】本発明の実施の形態3におけるVPN装置のブロック構成図である。
【図10】一般的なVPN装置とすべての実施の形態に係る発明のVPN装置におけるHMAC処理の効果の差を示した図である。
【図11】通信装置のコンピュータ基本構成図である。
【符号の説明】
1 ユーザインタフェース、2 自局制御部、3 SP・SA生成部、4 受信部、5 精査部、6 データベースA(SPD)、7 振分部、8 データベースB(SAD)、9 暗号・認証処理部、10 送信制御部、11 送信部、12 鍵処理部、15 中間鍵メモリ、38 バス、40 CPU、41 モニタ、42 キーボード、43 マウス、44 通信ポート、46 磁気ディスク装置、47 OS、49 プログラム群、50 ファイル群。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encryption device and a decryption device that authenticate a packet.
[0002]
[Prior art]
The IPSEC (IP SECURITY) processing method of the packet is “IP authentication header (AH)” in RFC (REQUEST FOR COMMENTS) 2402 according to IETF (INTERNET ENGINEERING TASK FORCE), and “IP encryption payload (ESP)” in RFC 2406. It has been described.
[0003]
An authentication processing method that must be supported when the IPSEC is implemented in the communication device is HMAC (KEYED-HASHING FOR MESSAGE AUTHENTICATION), and the authentication algorithm used for the hash function during the HMAC processing is MD5 or SHA1.
[0004]
The flow of the conventional HMAC process will be described.
First, the authentication key K is padded with 0, and is adjusted to the block size of the hash function to be used, and an exclusive OR of this and ipad is performed to generate IK1 (step 1).
Next, HMAC processing target data P is added after IK1, padding data PAD DATA and data length L are further added, and hash processing target data IP1 which is a multiple of the block size of the hash function is generated (step 2).
Next, IP1 hash processing is performed by the hash function H to generate a digest D1 (step 3).
Next, as in
Next, the digest D1 obtained as a result of
Next, IP2 hash processing is performed by the hash function H to generate a digest D2. Finally, the upper 96 bits of D2 are added as an authentication digest of the IPSEC packet (step 6).
[0005]
Next, the details of the hash processing in
The hash processing is performed one block at a time using the hash initial value and the hash processing target data.
First, the hash initial value H0 defined by the hash function MD5 and the hash function SHA1 is used as the hash initial value, and a hash process of one block size is performed using the hashed data as IK1 to generate MK1 (the hash process of the key block). 1).
Next, using MK1 as a hash initial value and performing hash processing of one block size as IP1 (1) for one block behind IK1 in IP1 to generate MP1 (1) (Hash of plaintext block) Processing 1).
Next, it is determined whether or not the processing for the hash processing target data has been completed, and if there is unprocessed hash processing target data, the above-described “plain text
If it is determined that the processing for the data to be subjected to hash processing has been completed, MP1 (N) finally obtained is set as D1, and the processing ends.
[0006]
Next, the details of the hash processing in
Similarly to the hash processing in
Next, MK2 is used as a hash initial value, hash processing of one block size is performed with the hashed data as IP2 (1), and the result is set to D2 (plaintext block hash processing 2).
[0007]
[0008]
Next, the data length of the hash processing will be described. One block = 512 bits for both SHA1 and MD5. When hash processing is performed on certain data, padding data (1 to 512 bits) and a data length (64 bits) are added after the data to be hashed.
The padding data is for adjusting the data size obtained by combining the hash processing target data, the padding data, and the data length to a multiple of 512 bits, and the data length indicates the length of the hash processing target data before padding bits are added.
[0009]
Next, the hash processing time will be described. The time required for the hash processing is one block when the padding data and the data length of the hash processing target before adding the data length are 1 bit to 447 bits, two blocks when the data length is 448 bits to 959 (447 + 512) bits, and one block for every 512 bits thereafter. It will increase gradually.
As a result, the processing time of
[0010]
The HMAC processing time will be described using a short packet as an example.
When performing IPSEC authentication processing on short packets, the applicable range of HMAC processing is 448 bits for ESP and 624 bits for AH.
When HMAC processing is performed on this, two blocks are used for hash processing (
[0011]
The configuration on the encryption side of a generally considered VPN (VIRTUAL PRIVATE NETWORK) device will be described.
The VPN device on the encryption side realizes a user interface and a function as a local station terminal, receives a packet addressed to the local station terminal from the distribution unit, passes a packet from the local station terminal to the transmission control unit, and receives a packet from the user interface. The own station control unit that passes the set VPN setting information to the SP / SA generation unit, and the VPN setting information and the information received through mutual communication with another VPN device are received from the own station control unit. (SECURITY POLICY) data, SA (SECURITY ASSOCIATION) data, and an SP / SA generation unit that passes SP data to the reconciliation unit and SA data to the
[0012]
Next, the flow of processing on the encryption side in this general VPN device will be described.
As preparation for packet processing, first, SP data and SA data are generated and registered in SPD and SAD, respectively, and then IPSEC processing of the packet is performed.
[0013]
First, in order to generate SP data and SA data, the VPN administrator sets the VPN device via the user interface of the VPN device own station terminal, and the own station control unit generates the SP / SA information received from the user interface. After the SP / SA generation unit generates the SP data, the SP / SA generation unit passes the SP data to the inspection unit, and the inspection unit registers the SP data in the SPD.
[0014]
Next, in order to construct a VPN between the devices, the devices communicate with each other to generate SA data. The SP / SA generation unit passes the data addressed to the other VPN device for determining the SA data to the own station control unit, and the own station control unit packetizes this and sends it to the transmission control unit. And the transmitting unit transmits this to the outside of the device. The receiving unit passes a received packet having information for determining SA data from another VPN device to the reconciliation unit, which passes the received packet to the distribution unit, and the distribution unit determines that the packet is addressed to the own station. The self-station control unit passes this to the SP / SA generation unit.
When the SA data is determined by the above communication, the SP / SA generation unit passes the SA data to the distribution unit, and the distribution unit registers this in the SAD.
[0015]
Next, the receiving unit receives the IPSEC processing target packet and passes it to the scrutinizing unit. The inspection unit determines that the packet is to be subjected to the IPSEC process based on the source address, the destination address, the protocol, and the port number of the packet header, and reads out the SPI (SECURITY PARAMETER INDEX) corresponding to the packet from the SPD, This and the packet are passed to the distribution unit. The distribution unit refers to the SAD based on the SPI and passes SA data such as an encryption algorithm, an authentication algorithm, an encryption key, and an authentication key to the encryption / authentication processing unit.
The encryption / authentication processing unit performs IPSEC processing of the packet based on the processing information included in the SA data, and passes the processed packet to the transmission control unit. Here, when the process indicated by the SA data includes an authentication process, the encryption / authentication processing unit performs the HMAC process on the packet. The transmission control unit determines that the packet received from the encryption / authentication processing unit is addressed to another VPN device, and passes the packet to the transmission unit. The transmitting unit transmits the packet out of the device (for example, see Patent Document 1).
[0016]
[Patent Document 1]
JP-A-11-8620
[0017]
[Problems to be solved by the invention]
In the case of the VPN device configuration as described above, all the HMAC processing is performed by the encryption / authentication processing unit. In the HMAC processing, there is a hash processing part that does not require packet data but requires authentication key data (key
When there are a plurality of packets using the same authentication key, the HMAC key processing is executed for each packet, so that there is a problem that it takes time and is inefficient.
[0018]
An object of the present invention is to provide an encryption device, a decryption device, and a method for improving the throughput of a VPN device.
[0019]
[Means for Solving the Problems]
The encryption device according to the present invention comprises:
A key processing unit that generates an intermediate key from predetermined data related to the key,
A database for storing an intermediate key generated by the key processing unit,
An encryption / authentication processing unit that encrypts a message included in the packet and authenticates the encrypted message using the intermediate key stored in the database as an authentication key.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a system configuration diagram of a VPN device 30 showing the invention of the first embodiment. The VPN device 30 is an example of a communication device in which a communication function and an interface function are added to the encryption device 20 of the present invention.
In FIG. 1, a local
The SP /
[0021]
The receiving unit 4 receives the packet, and the scrutinizing
The
The encryption /
The
The
The encryption device 20 includes the
[0022]
Next, a processing flow of the VPN device 30 of the present invention in the present embodiment will be described with reference to FIG. As preparation for packet processing, first, SP data and SA data are registered, and then IPSEC processing of the packet is performed.
[0023]
First, in order to generate SP data and SA data, the VPN administrator sets the VPN device 30 through the
[0024]
Next, in order to construct a VPN between the VPN devices, the VPN devices mutually communicate with other VPN devices to generate SA data. The SP /
The receiving unit 4 passes a received packet having information for determining SA data from another VPN device to the scrutinizing
The SP /
[0025]
The receiving unit 4 receives the packet to be subjected to the IPSEC processing (T7) and passes the packet to the scrutinizing
The scrutinizing
The encryption /
Here, if the process indicated by the SA data includes an authentication process, the encryption /
The
[0026]
Next, hash processing 1 (HMAC key processing) of the key (Y1) indicated by T4 in FIG. 2 will be described with reference to FIG.
First, the
Next, the
[0027]
Next, hash processing 2 (HMAC key processing) of the key (Z1) indicated by T5 will be described with reference to FIG.
In Z0, the
Next, the
[0028]
FIG. 5 shows the structure of the database A (SPD) 6 and the database B (SAD) 8 on the encryption side of the VPN device 30 according to the present embodiment.
In the HMAC key processing, the
[0029]
Next, the process of T8 shown in FIG. 2 will be described.
FIG. 6 shows the processing performed in the hash processing 1 (T8) of the message (Y2). First, the encryption /
Next, the encryption /
If it is determined that the processing for the hash processing target data has been completed (Y24), the process ends with the finally obtained MP1 (N) as D1.
[0030]
Next, the process of T9 shown in FIG. 2 will be described.
FIG. 7 shows a process performed in the hash process 2 (T9) of the message (Z2). First, the encryption /
Next, in Z22, the encryption /
Finally, the upper 96 bits of the digest D2 are added as an authentication digest of the IPSEC packet.
[0031]
As described above, in the VPN device 30 that performs the IPSEC authentication process by the HMAC process by the encryption device 20, the
[0032]
As described above, the encryption device 20 included in the VPN device 30 includes a
[0033]
Then, the encryption device 20 performs packet communication by VPN (VIRTUAL PRIVATE NETWORK) by performing communication of a packet including the message authenticated by the encryption /
[0034]
The communication device (VPN device 30) of the present embodiment generates an intermediate key by the
[0035]
In the VPN device configured as described above, the HMAC key processing is performed by the
The above-described HMAC key processing corresponds to the hash processing 1 (T4) of the key (Y1) and the hash processing 2 (T5) of the key (Z1) in FIG. 2, and requires a total of two blocks. The intermediate key (intermediate key a, intermediate key b) generated by the HMAC key processing unit instead of the conventional authentication key is used as a part of the SA data, and the SP /
[0036]
Although the
[0037]
As described above, in the present embodiment, by configuring the system as shown in FIG. 8, only the hash processing for the authentication key data is performed first at the time of registration in the database B (SAD) 8, and the hashed result (intermediate The key a and the intermediate key b) are stored in the database B (SAD) 8 instead of the authentication key, and are stored in the database B (SAD) 8 instead of repeatedly performing the hash processing of the authentication key data in the HMAC processing. By reading and using the data of the hash result (intermediate key a and intermediate key b), the hash processing of the authentication key data, which had to be executed for each packet to be subjected to the IPSEC authentication processing, can be performed only once. As a result, the HMAC process can be performed at a high speed, so that a VPN device that can perform the IPSEC authentication process at a high speed can be constructed.
[0038]
As described above, the encryption device 20 included in the VPN device 30 according to the present embodiment generates an intermediate key from a database (database B (SAD) 8) that stores information about keys and predetermined data about keys. The generated intermediate key is stored in the database (database B (SAD) 8), a message included in the packet is encrypted, and the intermediate key stored in the database (database B (SAD) 8) is repeatedly used as an authentication key. And an encryption /
[0039]
As another embodiment, it is conceivable to provide an area for storing an intermediate key in the encryption /
FIG. 9 shows this embodiment. The encryption /
[0040]
As described above, in the present embodiment, by configuring the system as shown in FIG. 9, the area (intermediate key memory 15) for storing the hash processing result (intermediate key a and intermediate key b) for the authentication key data is provided. The intermediate key (the intermediate key a and the intermediate key b) stored in the intermediate key memory 15 during the first packet authentication with a certain authentication key and read and used during the subsequent packet authentication processing. The HMAC process can be performed at a high speed by performing the hash process of the authentication key data, which has to be performed for each packet to be subjected to the IPSEC authentication process, only once. A high-speed VPN device can be constructed.
[0041]
As described above, the encryption device 20 included in the VPN device 30 of the present embodiment generates an intermediate key from predetermined data related to the key, encrypts the message included in the first packet of the plurality of packets, and generates the intermediate key. Authenticates the message encrypted using the intermediate key and stores the generated intermediate key in the intermediate key memory 15, encrypts the message included in the packets other than the first packet of the plurality of packets, An encryption /
[0042]
Effects obtained in all the above-described embodiments will be described.
FIG. 10 shows a comparison of the HMAC processing time between the general VPN device and the VPN device of the invention according to all the above-described embodiments when performing the IPSEC authentication process on the short packet.
As shown in FIG. 10, the time required for completing the first packet processing based on certain SA data is almost the same as that of the conventional method. However, for the second and subsequent packets, the processing time is reduced by two blocks for each packet, and when N packets are processed, the time is reduced by 2 (N-1) blocks. FIG. 10 shows a case of a short packet as an example, but the effect is the same when a packet of other length is processed.
[0043]
The encryption-side VPN devices in all of the above embodiments can be applied to the decryption-side VPN device. In the decryption-side VPN device, of the IPSEC process, the authentication processing procedure is the same as that of the encryption-side, so that the same effect can be realized.
[0044]
That is, in the flow of the IPSEC process, an authentication processing unit is provided after the encryption processing unit in the encryption apparatus, and the authentication processing unit performs authentication processing on the data after the encryption processing. On the other hand, in the decryption device, there is a decryption processing unit after the authentication processing unit, and the decryption processing is performed after the authentication processing unit performs the authentication processing. Here, since the authentication processing units on the encryption side and the decryption side are the same, the authentication processing procedure according to the inventions of all the above embodiments can be used on the decryption side. Are the same, the same effect as the encryption device can be realized in the decryption device.
[0045]
In addition, the inventions of all the above embodiments can be applied to both SHA1 and MD5 without depending on the authentication algorithm used in the HMAC, and can also be applied to authentication algorithms of other block sizes. .
[0046]
Further, in the inventions in all of the above embodiments, a VPN device is given as an example of a communication device, but the present invention is also effective when implemented by software.
[0047]
FIG. 11 is a computer basic configuration diagram of the communication device in all of the above embodiments.
In FIG. 11, a
The
The operations performed by the
In each of the above embodiments, the communication device communicates with another communication device using the function of the
[0048]
The terms “register” and “store” described above mean that the information is stored in a recording medium.
[0049]
In all embodiments, each operation of each component is related to each other, and the operation of each component can be replaced as a series of operations while taking into account the relation of the operations described above. Then, by substituting in this way, an embodiment of the method invention can be obtained.
Further, by replacing the operation of each of the above components with the processing of each of the components, an embodiment of a program can be realized.
In addition, by storing the program on a computer-readable recording medium on which the program is recorded, an embodiment of a computer-readable recording medium on which the program is recorded can be provided.
[0050]
The embodiment of the program and the embodiment of the computer-readable recording medium recorded in the program can all be configured by a computer-operable program.
Each process in the embodiment of the program and the embodiment of the computer-readable recording medium on which the program is recorded is executed by the program, and the program is recorded in the recording device, and is transmitted from the recording device to the central processing unit ( CPU) and each flowchart is executed by the central processing unit.
Also, the software and programs of each embodiment may be implemented by firmware stored in a ROM (READ ONLY MEMORY). Alternatively, each function of the above-described program may be realized by a combination of software, firmware, and hardware.
[0051]
【The invention's effect】
As described above, according to the present invention, the processing time of the entire apparatus in the IPSEC authentication processing is reduced, and the improvement of the throughput is measured.
[Brief description of the drawings]
FIG. 1 is a block diagram of a VPN device according to a first embodiment of the present invention.
FIG. 2 is an IPSEC authentication processing flow in the VPN device according to the first embodiment of the present invention.
FIG. 3 is a flowchart of MK1 (intermediate key a) generation.
FIG. 4 is a flowchart of MK2 (intermediate key b) generation.
FIG. 5 is a structural diagram of each database.
FIG. 6 is a flowchart showing a flow of an HMAC process.
FIG. 7 is a flowchart showing a flow of an HMAC process.
FIG. 8 is a block diagram of a VPN device according to a second embodiment of the present invention.
FIG. 9 is a block diagram of a VPN device according to a third embodiment of the present invention.
FIG. 10 is a diagram showing a difference between the effects of the HMAC process in a general VPN device and the VPN devices of the invention according to all the embodiments.
FIG. 11 is a basic configuration diagram of a computer of the communication device.
[Explanation of symbols]
1 user interface, 2 own station control unit, 3 SP / SA generation unit, 4 reception unit, 5 scrutiny unit, 6 database A (SPD), 7 distribution unit, 8 database B (SAD), 9 encryption / authentication processing unit , 10 transmission control section, 11 transmission section, 12 key processing section, 15 intermediate key memory, 38 bus, 40 CPU, 41 monitor, 42 keyboard, 43 mouse, 44 communication port, 46 magnetic disk drive, 47 OS, 49 program group , 50 files.
Claims (12)
上記鍵処理部が生成した中間鍵を記憶するデータベースと、
パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する暗号・認証処理部とを備えた暗号化装置。A key processing unit that generates an intermediate key from predetermined data related to the key,
A database for storing an intermediate key generated by the key processing unit,
An encryption device comprising: an encryption / authentication processing unit that encrypts a message included in a packet and authenticates the encrypted message using an intermediate key stored in the database as an authentication key.
鍵に関する所定のデータから中間鍵を生成し、生成した中間鍵を上記データベースに記憶し、パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として繰り返し使用してメッセージを認証する暗号・認証処理部とを備えた暗号化装置。A database for storing information about the key;
An intermediate key is generated from predetermined data related to the key, the generated intermediate key is stored in the database, the message included in the packet is encrypted, and the message is repeatedly used by using the intermediate key stored in the database as an authentication key. An encryption device including an encryption / authentication processing unit for performing authentication.
上記鍵処理部が生成した中間鍵を記憶するデータベースと、
パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する暗号・認証処理部と、
上記暗号・認証処理部によって認証されたメッセージを含むパケットを送信する送信部を備えた通信装置。A key processing unit that generates an intermediate key from predetermined data related to the key,
A database for storing an intermediate key generated by the key processing unit,
An encryption / authentication processing unit that encrypts the message included in the packet and authenticates the encrypted message using the intermediate key stored in the database as an authentication key;
A communication device comprising: a transmission unit that transmits a packet including a message authenticated by the encryption / authentication processing unit.
上記鍵処理部が生成した中間鍵を記憶するデータベースと、
パケットに含まれるメッセージを復号するとともに上記データベースに記憶した中間鍵を認証鍵として繰り返し使用して復号したメッセージを認証する復号・認証処理部とを備えた復号装置。A key processing unit that generates an intermediate key from predetermined data related to the key,
A database for storing an intermediate key generated by the key processing unit,
A decryption device comprising: a decryption / authentication processing unit that decrypts a message included in a packet and repeatedly authenticates the decrypted message by repeatedly using the intermediate key stored in the database as an authentication key.
上記生成した中間鍵をデータベースに記憶し、
パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する暗号化方法。Generate an intermediate key from predetermined data on the key,
The generated intermediate key is stored in a database,
An encryption method for encrypting a message included in a packet and authenticating the encrypted message using an intermediate key stored in the database as an authentication key.
上記生成した中間鍵をデータベースに記憶し、
パケットに含まれるメッセージを復号するとともに上記データベースに記憶した中間鍵を認証鍵として繰り返し使用して復号したメッセージを認証する復号方法。Generate an intermediate key from predetermined data on the key,
The generated intermediate key is stored in a database,
A decryption method for decrypting a message included in a packet and authenticating the decrypted message by repeatedly using the intermediate key stored in the database as an authentication key.
上記生成した中間鍵をデータベースに記憶する処理と、
パケットに含まれるメッセージを暗号化するとともに上記データベースに記憶した中間鍵を認証鍵として使用して暗号化したメッセージを認証する処理とをコンピュータに実行させる暗号化プログラム。A process of generating an intermediate key from predetermined data related to the key;
Processing for storing the generated intermediate key in a database;
An encryption program for encrypting a message included in the packet and authenticating the encrypted message using the intermediate key stored in the database as an authentication key.
上記生成した中間鍵をデータベースに記憶する処理と、
パケットに含まれるメッセージを復号するとともに上記データベースに記憶した中間鍵を認証鍵として繰り返し使用して復号したメッセージを認証する処理とをコンピュータに実行させる復号プログラム。Generating an intermediate key from predetermined data related to the key;
Processing for storing the generated intermediate key in a database;
A decryption program for causing a computer to execute a process of decrypting a message included in a packet and repeatedly using the intermediate key stored in the database as an authentication key to authenticate the decrypted message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003033342A JP2004247810A (en) | 2003-02-12 | 2003-02-12 | Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003033342A JP2004247810A (en) | 2003-02-12 | 2003-02-12 | Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004247810A true JP2004247810A (en) | 2004-09-02 |
Family
ID=33019345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003033342A Pending JP2004247810A (en) | 2003-02-12 | 2003-02-12 | Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004247810A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007166279A (en) * | 2005-12-14 | 2007-06-28 | Nippon Telegr & Teleph Corp <Ntt> | IPsec CIRCUIT AND IPsec PROCESSING METHOD |
CN102780625A (en) * | 2012-07-30 | 2012-11-14 | 成都卫士通信息产业股份有限公司 | Method and device for realizing internet protocol security (IPSEC) virtual private network (VPN) encryption and decryption processing |
-
2003
- 2003-02-12 JP JP2003033342A patent/JP2004247810A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007166279A (en) * | 2005-12-14 | 2007-06-28 | Nippon Telegr & Teleph Corp <Ntt> | IPsec CIRCUIT AND IPsec PROCESSING METHOD |
JP4647479B2 (en) * | 2005-12-14 | 2011-03-09 | 日本電信電話株式会社 | IPsec circuit and IPsec processing method |
CN102780625A (en) * | 2012-07-30 | 2012-11-14 | 成都卫士通信息产业股份有限公司 | Method and device for realizing internet protocol security (IPSEC) virtual private network (VPN) encryption and decryption processing |
CN102780625B (en) * | 2012-07-30 | 2014-12-17 | 成都卫士通信息产业股份有限公司 | Method and device for realizing internet protocol security (IPSEC) virtual private network (VPN) encryption and decryption processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652015B2 (en) | Confidential communication management | |
US8458461B2 (en) | Methods and apparatus for performing authentication and decryption | |
US7134014B2 (en) | Methods and apparatus for accelerating secure session processing | |
US7376826B2 (en) | Methods and apparatus for performing encryption and authentication | |
US7392390B2 (en) | Method and system for binding kerberos-style authenticators to single clients | |
US7941662B2 (en) | Data transfer efficiency in a cryptography accelerator system | |
US8732461B2 (en) | Client apparatus, server apparatus, and program using entity authentication and biometric authentication | |
US7734913B2 (en) | Content transmission control device, content distribution device and content receiving device | |
US7979707B2 (en) | Secure seed generation protocol | |
KR101265873B1 (en) | Distributed single sign-on service | |
US8130961B2 (en) | Method and system for client-server mutual authentication using event-based OTP | |
US8281122B2 (en) | Generation and/or reception, at least in part, of packet including encrypted payload | |
WO2018202109A1 (en) | Certificate request message sending method and receiving method and apparatus | |
JP7059282B6 (en) | Network devices and trusted third-party devices | |
JP2004247810A (en) | Encrypting apparatus, communication apparatus, decoder, encrypting method, decoding method, encryption program, and decoding program | |
JP2004157164A (en) | Message digest generating circuit and padding circuit | |
Gerdes et al. | RFC 9202: Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE) | |
CN113726507A (en) | Data transmission method, system, device and storage medium | |
JP2010268293A (en) | Communications apparatus and communication processing method | |
Leu et al. | A handover security mechanism employing diffie-Hellman PKDS for IEEE802. 16e wireless networks | |
Gajek et al. | Whitestein Series in Software Agent Technologies, 141-157 2008 Birkhäuser Verlag Basel/Switzerland |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040519 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041026 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091104 |