説明

暗号処理方法および暗号処理装置

【課題】セキュアマルチメディア通信の暗号処理性能を効果的に増進すること。
【解決手段】暗号処理方法は、識別条件を含むセキュア処理情報を記憶するステップと、平文のマルチメディアパケットを仮想ネットワークインタフェースへ送信するステップと、セキュア処理情報に含まれる識別条件に基づいて平文のマルチメディアパケットをネットワークプロトコルスタック内でフィルタリングするステップと、平文のマルチメディアパケットがセキュア処理情報に含まれる識別条件と合致する場合、平文のマルチメディアパケットに対して暗号処理または認証処理を実行して、セキュリティプロトコルに適合するように、セキュアマルチメディアパケットのペイロードを修正するステップと、仮想ネットワークインタフェースへの宛先アドレスを、セキュアマルチメディアパケットの送信先アドレスに置き換えるステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーション層のセキュリティを増進するための暗号処理方法および暗号処理装置に関する。
【背景技術】
【0002】
特許文献1は、アプリケーション層セキュリティプロトコルに対応した処理性能を増進する方法を提案している。特許文献1は、処理性能を増進するために、暗号化アクセラレータが暗号処理の負荷をCPUから取り除くことを開示する。しかし、特許文献1に開示された方法では、各入力メッセージまたは出力メッセージごとにユーザ空間とカーネル空間の間で2回のメモリコピー動作が発生し、大きなオーバヘッドを招く。
【0003】
そこで、アプリケーション層セキュリティプロトコルにおけるユーザ-カーネル空間でのメモリコピーのオーバヘッドに対処するために、次の発明が提案されている(特許文献2)。
【0004】
特許文献2は、暗号処理とネットワークプロトコルスタック処理の両方の負荷を暗号化アクセラレータと、ネットワークプロトコルスタックプロセッサとの両方からなるネットワークプロトコルオフロードチップに担わせることにより、メモリコピーのオーバヘッドを減少させる方法を提案している。しかし、この方法を実現するには特定のネットワークハードウェア構成が必要であり、装置に組み込まれたソフトウェアベースのTCP/IPスタックには適合しない。
【特許文献1】米国特許第7,047,405号明細書
【特許文献2】米国特許第6,983,382号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、アプリケーション層セキュリティプロトコルを実行するとき、各入力メッセージまたは出力メッセージごとに、ユーザ空間とカーネル空間との間で、各マルチメディアペイロードを複数回のメモリコピーを行うため、暗号処理性能が悪いという問題が生じる。ここで、ペイロードとはデータブロックのうちヘッダ等をのぞいたデータ本体を指す。オーディオビデオ等の大きいサイズのペイロードを処理する際には、この性能はより悪化する。
【0006】
特許文献2では、メモリコピーのオーバヘッドを回避できても、大きいサイズのペイロードのセグメント化された部分の連続を処理する場合、連続する二つのセグメントを関係付けるための暗号化に関する情報がないので、アプリケーション層セキュアプロトコルを適用する際、各セグメントに対して個々にCBCまたはカウンターモードの暗号化および認証処理を行う際に困難が生じる。
【0007】
本発明は、かかる点に鑑みてなされたものであり、セキュアマルチメディア通信の暗復号処理性能または認証処理性能を効果的に増進する暗号処理方法および暗号処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の暗号処理方法は、セキュリティプロトコルによってセキュア化されたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理方法であり、前記マルチメディア通信の開始時に、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶し、平文のマルチメディアパケットを前記仮想ネットワークインタフェースへ送信し、前記セキュア処理情報に含まれる前記識別条件に基づいて前記平文のマルチメディアパケットをネットワークプロトコルスタック内でフィルタリングし、前記平文のマルチメディアパケットがフィルタリングされるときに、前記平文のマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致する場合、前記平文のマルチメディアパケットに対して暗号処理または認証処理を実行して、セキュリティプロトコルに適合するように、前記セキュアマルチメディアパケットのペイロードを修正し、前記仮想ネットワークインタフェースへの宛先アドレスを、前記セキュアマルチメディアパケットの送信先アドレスに置き換え、前記セキュアマルチメディアパケットをネットワークインタフェースから送出するようにした。
【0009】
本発明の暗号処理装置は、セキュリティプロトコルによってセキュアされたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理装置であり、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶する記憶手段と、平文のマルチメディアパケットを前記仮想ネットワークインタフェースへ送信する送信手段と、前記平文のマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致するか否かを判断し、前記識別条件が合致した場合に前記平文のマルチメディアパケットに対して暗号処理または認証処理を実行して、セキュリティプロトコルに適合するように前記セキュアマルチメディアパケットのペイロードを修正する修正手段と、前記仮想ネットワークインタフェースへの宛先アドレスを、前記セキュアマルチメディアパケットの送信先アドレスに置き換える置換手段と、前記セキュアマルチメディアパケットをネットワークインタフェースから送出する送出手段とを有する構成を採る。
【0010】
本発明の暗号処理方法は、セキュリティプロトコルによってセキュアされたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理方法であり、前記マルチメディア通信の開始時に、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶し、前記セキュア処理情報に含まれる前記識別条件に基づいて、入力されるセキュアマルチメディアパケットをネットワークプロトコルスタック内でフィルタリングし、前記セキュアマルチメディアパケットがフィルタリングされるときに、前記セキュアマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致する場合、前記セキュアマルチメディアパケットに対して復号処理または認証処理を実行し、前記セキュアマルチメディアパケットのペイロードを平文ペイロードとして修正し、平文のマルチメディアパケットを前記入力マルチメディア通信のアプリケーション層へ送信するようにした。
【0011】
本発明の暗号処理装置は、セキュリティプロトコルによってセキュアされた入力マルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理装置であり、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶するための記憶手段と、入力されるセキュアマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致するか否かを判断し、前記識別条件が合致する場合に前記セキュアマルチメディアパケットに対して復号処理または認証処理を実行し、前記セキュアマルチメディアパケットのペイロードを平文ペイロードとして修正するための修正手段と、前記平文のマルチメディアパケットを前記入力マルチメディア通信のアプリケーション層へ送信する送信手段と有する構成を採る。
【発明の効果】
【0012】
本発明によれは、セキュアマルチメディア通信の暗復号処理性能または認証処理性能を効果的に増進することができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0014】
本実施の形態では、大きいサイズのペイロードを、ネットワークへ実際に送出する際に使用される最大送信単位よりも十分に大きい最大送信単位を設定した仮想ネットワーク装置(仮想ネットワークインタフェース)に転送し、仮想ネットワーク装置のネットワークプロトコルスタックにいったん取り込んだ大きいサイズのペイロード全体に対して、カーネルレベルの暗復号処理または認証処理を起動し、セキュア化されたペイロードを実在のネットワーク装置(ネットワークインタフェース)のネットワークプロトコルスタックに送信する構成について説明する。
【0015】
図1は、本発明の実施の形態に係る暗号処理通信システムの一例を示す構成図である。
【0016】
暗号処理通信システム100は、ユーザ空間110とカーネル空間120を含む。
【0017】
ユーザ空間110は、セキュアマルチメディアアプリケーション112、ソケット114、セキュアマルチメディアアプリケーションの統制部116、およびセキュア制御インタフェース118を含む。
【0018】
セキュアマルチメディアアプリケーション112は、セキュアリアルタイムトランスポートプロトコル(SRTP)等のアプリケーション層セキュリティプロトコルの保護の下で、インターネットを介してオーディオまたはビデオ等のマルチメディアコンテンツを楽しむアプリケーションである。
【0019】
オーディオまたはビデオ等のマルチメディアコンテンツは、ペイロードの形でパケット化される。高精細度のマルチメディアコンテンツがトレンドであるので、ペイロードは、一般に、大きいサイズのペイロードになる。
【0020】
マルチメディアコンテンツを運ぶペイロードは、ネットワーク処理のためにソケット114に入力される。
【0021】
セキュアマルチメディアアプリケーション112は、セキュアマルチメディアアプリケーションの統制部116によって、セキュアマルチメディア通信を起動する。
【0022】
セキュアマルチメディアアプリケーションの統制部116は、セキュアマルチメディア通信の開始や終了等のコマンドをセキュア制御インタフェース118へ送る。
【0023】
カーネル空間120は、ネットワークプロトコルスタック130、仮想ネットワークインタフェース140、ネットワークインタフェース150、およびカーネルレベル暗号モジュール160から構成される。
【0024】
ネットワークプロトコルスタック130は、セキュアマルチメディアパケットの出力フィルタ132、およびセキュアマルチメディアパケットの入力フィルタ134から構成される。
【0025】
ネットワークプロトコルスタック130の一例としては、TCP/IPスタックがある。
【0026】
仮想ネットワークインタフェース140としては、大きいサイズのマルチメディアペイロードをセグメントに分割するのを避けるために比較的大きなMTU(最大送信単位)をもつ仮想ネットワークインタフェースを設定する。
【0027】
セキュアマルチメディアアプリケーションの統制部 116は、セキュアマルチメディアパケットの出力フィルタ132と、セキュアマルチメディアパケットの入力フィルタ134とを設定および起動する。
【0028】
マルチメディアパケットが、出力フィルタ132、または、入力フィルタ134でフィルタリングされるとき、マルチメディアパケットが出力フィルタ132、または、入力フィルタ134にて設定された識別条件を満たせば、マルチメディアパケットのペイロードはアプリケーション層セキュリティプロトコルに適合する暗復号処理または認証処理を受ける。ここで、識別条件は、暗復号処理または認証処理に必要なパラメタであり、または暗復号処理または認証処理が必要なパケットを識別するための条件である。
【0029】
カーネルレベル暗号モジュール160は、アプリケーション層セキュア処理情報格納部162、アプリケーション層セキュリティ処理ユニット164、および暗号処理ユニット168から構成される。なお、暗号処理ユニット168は、暗号ユニット1682とメッセージ認証ユニット1684を含む。カーネルレベル暗号モジュール160は、アプリケーション層セキュリティプロトコルに適合する暗号処理または認証処理を実行する。
【0030】
図2は、出力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理または認証処理を実行するための本発明の実施の形態を示すフローチャートである。
【0031】
ステップS102において、セキュアマルチメディアアプリケーション112は、セキュアマルチメディアアプリケーション自身の処理を開始し、出力セキュアマルチメディアパケットに対応した設定を行うように、セキュアマルチメディアアプリケーションの統制部116を起動する。
【0032】
これにより、セキュアマルチメディアアプリケーションの統制部116は、仮想ネットワークインタフェース140のネットワークプロトコルスタック130内で、一つの出力暗号処理フィルタリングポイント132を有効化する。そして、統制部116は、アプリケーション層セキュア処理情報格納部162(本発明の「記憶手段」に相当)中にセキュア処理情報エントリーを作成し、アプリケーション層セキュリティ処理ユニット164および暗号処理ユニット168における暗号処理または認証処理の設定を含む、カーネルレベル暗号モジュール160の設定を行う。
【0033】
ステップS104において、ユーザ空間110で出力マルチメディアコンテンツが発生すると、セキュアマルチメディアアプリケーション112は、マルチメディアトランスポートパケットを生成する。
【0034】
ステップS106において、セキュアマルチメディアアプリケーション112は、マルチメディアトランスポートパケットを、ソケット114を介して、仮想ネットワークインタフェース140のネットワークプロトコルスタック130へ送信する。
【0035】
ステップS108で、カーネル空間120において、マルチメディアトランスポートパケットが出力フィルタ132の識別条件を満たす場合は、ネットワークプロトコルスタック130は、カーネルレベル暗号モジュール160を起動して、マルチメディアトランスポートパケットに対する暗号処理または認証処理を行わせ、アプリケーション層セキュリティに適合するようにペイロードを修正させる。
【0036】
アプリケーション層セキュア処理情報格納部162中のセキュア処理情報エントリーに基づいて、カーネルレベル暗号モジュール160は、暗号ユニット1682において、マルチメディアトランスポートパケットの暗号化を実行する。メッセージ認証ユニット1684は、メッセージ認証を実行する。そして、アプリケーション層セキュリティ処理ユニット164は、例えば、SRTPにより暗号化された部分と、SRTPにより認証された部分とに適合するような、アプリケーション層セキュリティをもつペイロードにマルチメディアトランスポートパケットを作り変える。すなわち、マルチメディアトランスポートパケットは、セキュアマルチメディアパケットに変換される。
【0037】
ステップS110において、アプリケーション層セキュリティ処理ユニット164は、仮想ネットワークインタフェースになっているセキュアマルチメディアパケットの宛先アドレスを実際の送信先である送信先アドレスに置き換える。
【0038】
ステップS112において、セキュアマルチメディアパケットはネットワークインタフェース150のネットワークプロトコルスタック130へ送信される。
【0039】
ステップS114で、ネットワークインタフェース150のネットワークプロトコルスタック130において、セキュアマルチメディアパケットは、ペイロードサイズをネットワークインタフェース150のMTUに照らし合わせて、パケットのセグメント分割を行うか否かが判断される。セグメント分割条件に合う場合は、ステップS116へ進み、パケット分割を行い、生成された複数の分割されたパケットをネットワークインタフェース150から送出する。そうでない場合は、ステップS118へ進み、セキュアマルチメディアパケットをネットワークインタフェース150から送出する。
【0040】
図3は、入力されるセキュアマルチメディアパケットに対してカーネルレベル復号処理または認証処理を実行するための本発明の実施の形態を示すフローチャートである。
【0041】
ステップS202において、セキュアマルチメディアアプリケーション112が、セキュアマルチメディアアプリケーションを始動し、入力されるセキュアマルチメディアアプリケーションに対応した設定を行うように、セキュアマルチメディアアプリケーションの統制部116を起動する。
【0042】
これにより、セキュアマルチメディアアプリケーションの統制部116は、ネットワークインタフェース150のネットワークプロトコルスタック130内で、一つの入力暗号処理フィルタリングポイント134を有効化する。そして統制部116は、アプリケーション層セキュア処理情報格納部162(本発明の「記憶手段」に相当)中にセキュア処理情報エントリーを作成し、アプリケーション層セキュリティ処理ユニット164および暗号処理ユニット168における復号処理または認証処理の設定を含む、カーネルレベル暗号モジュール160の設定を行う。
【0043】
ステップS204で、入力されるセキュアマルチメディアパケットがネットワークインタフェース150により受信され、その後のネットワークプロトコル処理のためにスケジュールされる。
【0044】
ステップS206において、カーネル空間120において、マルチメディアパケットが、入力フィルタ134の識別条件を満たす場合は、ネットワークプロトコルスタック130は、カーネルレベル暗号モジュール160を起動して、パケットの復号処理または認証処理を行わせ、ペイロードがアプリケーション層セキュリティに適合することを確認させる。
【0045】
アプリケーション層セキュア処理情報格納部162中のセキュア処理情報エントリーに基づいて、カーネルレベル暗号モジュール160は、暗号ユニット1682においてマルチメディアパケットの復号化を実行する。メッセージ認証ユニット1684は、セキュアマルチメディアパケットからメッセージ認証値を算出し、算出結果とセキュアマルチメディアパケットに含まれているメッセージ認証値を照合することにより、セキュリティパケットの信頼性を確認する。これらが厳密に一致する場合、セキュアマルチメディアパケットは本当に信頼できるものであり、通信相手によって真正に送信されていることを意味する。セキュアマルチメディアパケット中のペイロードは、平文のペイロードになる。
【0046】
ここで、平文とは暗号化する前、または、復号化した後の、暗号化されていない状態のデータを指す。
【0047】
ステップS208において、ネットワークプロトコルスタック130は、平文のマルチメディアパケットを、ソケット114を介してセキュアマルチメディアアプリケーション112へ送信する。これにより、セキュアマルチメディアアプリケーション112は、平文のマルチメディアパケットを受信する。
【0048】
図4は、セキュアマルチメディアアプリケーションの統制部、アプリケーション層セキュア処理情報、アプリケーション層セキュリティ処理ユニット、および暗号処理ユニットの構成図である。
【0049】
セキュアマルチメディアアプリケーションの統制部116は、セキュアアプリケーションセッションの開始ユニット1162とセキュアアプリケーションセッションの終了ユニット1164を含む。
【0050】
セキュアマルチメディアアプリケーション112から出力セキュアマルチメディアアプリケーション開始を受信すると、セキュアアプリケーションセッションの開始ユニット1162は、仮想ネットワークインタフェース140のネットワークプロトコルスタック130内のセキュアマルチメディアパケットの出力フィルタ132を起動し、アプリケーション層セキュア処理情報格納部162中のエントリーを初期化する。
【0051】
本実施の形態では、仮想ネットワークインタフェース140として、ローカルループバックインタフェースが適用可能であり、フィルタリング方法は、ネットフィルタであり、出力フィルタリングポイント132はネットフィルタのNF_IP_LOCAL_OUTである。
【0052】
セキュアマルチメディアアプリケーション112から入力セキュアマルチメディアアプリケーション開始を受信すると、セキュアアプリケーションセッションの開始ユニット1162は、ネットワークインタフェース150のネットワークプロトコルスタック130内のセキュアマルチメディアパケットの入力フィルタ134を起動し、アプリケーション層セキュア処理情報格納部162中のエントリーを初期化する。
【0053】
本実施の形態では、仮想ネットワークインタフェース140として、イーサネットネット(登録商標)ワークカードが適用可能であり、フィルタリング方法はネットフィルタであり、入力フィルタリングポイント134はネットフィルタのNF_IP_LOCAL_INである。
【0054】
セキュアマルチメディアアプリケーション112から入力セキュアまたは出力マルチメディアアプリケーション終了を受信すると、セキュアアプリケーションセッションの終了ユニット1164は、ネットフィルタの入力または出力フィルタポイントを無効化することによって、セキュアマルチメディアパケットの入力フィルタ134またはセキュアマルチメディアパケットの出力フィルタ132を無効化する。
【0055】
アプリケーション層セキュア処理情報格納部162は、複数のセキュア処理情報のエントリーを記憶する。セキュア処理情報の一つのエントリー1620は、入力セキュアまたは出力マルチメディアアプリケーションのいずれかに対応する。アプリケーション層セキュア処理情報格納部162中のセキュア処理情報の各エントリーは、セキュアマルチメディアアプリケーションを特定するため並びに暗号処理を実行するために必要な暗号化に関する情報を記憶するための複数のフィールドを含む。
【0056】
セキュア処理情報の一つのエントリー1620は、同期ソース(SSRC)識別子1621、送信先ネットワークアドレス1622、送信先トランスポートポート番号1623、暗号アルゴリズム識別子1624、認証アルゴリズム識別子1625、マスターキー1626、マスターSalt1627、暗号キー1628、および認証キー1629のフィールドを含む。
【0057】
SSRC識別子1621、送信先ネットワークアドレス1622および送信先トランスポートポート番号1623は、セキュアアプリケーションの暗号コンテクスト(cryptographic context)を照合するために使用される。
【0058】
暗号アルゴリズム識別子1624は、セキュアアプリケーションの暗号アルゴリズムを特定するために使用される。サポートされるアルゴリズムは、CBCまたはカウンターモードを含むDES、3DES、AES、AES192、およびAES256などである。
【0059】
認証アルゴリズム識別子1625は、セキュアアプリケーションの認証アルゴリズムを特定するために使用される。サポートされるアルゴリズムは、たとえば、HMAC−SHA1、HMAC−MD5、DES−XCBC−MAC、3DES−XCBC−MAC、およびAES−XCBC−MACである。
【0060】
マスターキー1626とマスターソルト1627は、暗号キー1628と認証キー1629が生成されていない場合に暗号処理に用いる暗号キー1628と認証キー1629とを生成するためのキー導出、または新たに受信したマスターキー1626に対してマスターキー再キーイングを行うために使用される。ここで、ソルトとはパスワードを複雑化するための乱数を指す。
【0061】
暗号キー1628は、暗号化や復号化等のセキュアアプリケーションのための暗号処理を実行するために使用される。認証キー1629は、メッセージ認証またはメッセージダイジェストを実行するために使用される。
【0062】
アプリケーション層セキュリティ処理ユニット164は、セキュアマルチメディアパケットの暗号化された部分を特定し、セキュアマルチメディアパケットの認証部分を特定するような、メッセージ認証の確認等のアプリケーション層セキュリティプロトコル編成を実行する。アプリケーション層セキュリティ処理ユニット164は、暗号化および復号化部分の特定部(locator)1642、認証部分および認証タグの特定部1646、認証タグ生成部1644および認証タグ確認部1648を含む。
【0063】
暗号化および復号化部分の特定部1642は、暗号化または復号化の暗号処理で処理されるペイロードの開始アドレスと終了アドレスを特定するために使用される。ペイロードのこの特定された部分内で、暗号処理が実行される。出力リアルタイムトランスポートプロトコル(RTP)パケットを例にとると、開始アドレスは、通常、RTPヘッダーに続く最初のバイトに一致する。終了アドレスはRTPペイロードの最終バイトである。
【0064】
認証部分および認証タグの特定部1646は、認証処理で処理されるペイロードの開始アドレスと終了アドレスを特定するためにおよび認証タグを記憶するまたは読み出すための開始アドレスを特定するために使用される。ペイロードのこの特定された部分内で、認証処理が実行される。出力RTPパケットを例にとると、開始アドレスは、通常、RTPヘッダーの先頭バイトに一致する。終了アドレスはRTPペイロードの最終バイトである。出力RTPパケットを例にとると、認証タグ開始アドレスは、通常、RTPペイロードの最終バイトに続く最初のバイトに一致し、認証タグは、通常、80ビットの長さをもつ。
【0065】
認証タグ生成部1644は、演算処理により得た認証タグを出力パケットのペイロードの最後に付加するために使用される。
【0066】
認証タグ確認部1648は、演算処理により得た認証タグを入パケットのペイロード中の認証タグに照合して確認するために使用される。これらのタグが一致しない場合、確認は失敗しパケットを破棄する。そうではなく、これらのタグが一致する場合、セキュアマルチメディアパケットが本当に信頼できるものであり、通信相手によって真正に送信されていることを意味する。
【0067】
暗号処理ユニット168は、暗号ユニット1682とメッセージ認証ユニット1684とを含む。暗号ユニット1682は、CBCまたはカウンターモードを含むDES、3DES、AES、AES192、AES256などの暗号化と復号化をサポートする。
【0068】
メッセージ認証ユニット1684は、たとえば、HMAC−SHA1、HMAC−MD5、DES−XCBC−MAC、3DES−XCBC−MAC、およびAES−XCBC−MACのメッセージ認証処理をサポートする。
【0069】
図5は、本発明の実施の形態による大きいサイズのセキュリティマルチメディアペイロードの構成図である。
【0070】
セキュアマルチメディアアプリケーション112は、マルチメディアコンテンツを送信するためにリアルタイムトランスポートプロトコル(RTP)を使用し、RTPヘッダー412と大きいサイズのペイロード414を含む平文のマルチメディアパケット410を生成する。
【0071】
ネットワーク層の平文のマルチメディアパケット420は、ソケットバッファ構造体(Sk_buff構造体)422、IPヘッダー424、UDPヘッダー426、RTPヘッダー412、および大きいサイズのペイロード414を含む。
【0072】
アプリケーション層セキュリティプロトコルに適合するカーネルレベル暗号処理後、ネットワーク層の平文のマルチメディアパケット420はネットワーク層のセキュアマルチメディアパケット430になる。
【0073】
ネットワーク層のセキュアマルチメディアパケット430は、 ソケットバッファ構造体422、IPヘッダー424、UDPヘッダー426、RTPヘッダー412、暗号化された大きいサイズのペイロード432、およびメッセージ認証コード434を含む。
【0074】
ネットワークプロトコルスタック130は、ネットワークインタフェース150のMTUに応じて、大きいサイズのネットワーク層のセキュアマルチメディアパケット430のセグメント分割処理を実行する。
【0075】
ネットワーク層のセキュアマルチメディアパケットのネットワークプロトコルスタック130によるセグメント分割処理後、ネットワーク層のセキュアマルチメディアパケット430は、一連のセグメント化されたセキュアマルチメディアパケット440になる。一連のセグメント化されたセキュアマルチメディアパケット440は、第1のセグメント化されたセキュアマルチメディアパケット442、第1のセグメント化されたセキュアマルチメディアパケット444、および第nのセグメント化されたセキュアマルチメディアパケット446を含む。
【0076】
第1のセグメント化されたセキュアマルチメディアパケット442は、ソケットバッファ構造体422、IPヘッダー424、UDPヘッダー426、RTPヘッダー412、および第1のセグメント化された暗号化ペイロード4422を含む。第2のセグメント化されたセキュアマルチメディアパケット444は、ソケットバッファ構造422、IPヘッダー424、および第2のセグメント化された暗号化ペイロード4442を含む。第nのセグメント化されたセキュアマルチメディアパケット446は、ソケットバッファ構造422、IPヘッダー424、および第nのセグメント化した暗号化ペイロード4462を含む。
【0077】
図6は、本発明の実施の形態に係る出力処理において様々に形態が変わるマルチメディアパケットを処理する暗号処理通信システムの一例を示す構成図である。
【0078】
セキュアマルチメディアアプリケーション112は、平文のマルチメディアパケット410を生成し、平文のマルチメディアパケット410を、ソケット114を介して、仮想ネットワークインタフェース140のネットワークプロトコルスタック130へ送信する。
【0079】
平文のマルチメディアパケット410がいったんネットワークプロトコルスタック130へ入力されると、ネットワーク層のパケットフォーマットの形態をとり、ネットワーク層の平文のマルチメディアパケット420になる。
【0080】
出力フィルタ132は、ネットワーク層の平文のマルチメディアパケット420を選別し、カーネルレベル暗号モジュール160を起動して、アプリケーション層セキュリティプロトコルを実行させる。これにより、ネットワーク層の平文のマルチメディアパケット420はネットワーク層のセキュアマルチメディアパケット430になる。
【0081】
ネットワーク層のセキュアマルチメディアパケット430は、仮想ネットワークインタフェース140に属する。
【0082】
ネットワーク層のセキュアマルチメディアパケット430のIPヘッダー424中の仮想ネットワークインタフェース140への宛先アドレスを実際の送信先アドレスに置き換えた後、ネットワーク層のセキュアマルチメディアパケット430はネットワークインタフェース150のネットワークプロトコルスタック130へ送信される。
【0083】
ネットワークインタフェース150のネットワークプロトコルスタック130へ到着すると、ネットワーク層のセキュアマルチメディアパケット430のセグメント分割が行われる。
【0084】
最後に、一連のセグメント化したセキュアマルチメディアパケット440がネットワークインタフェース150から送出される。すなわち、第1のセグメント化されたセキュアマルチメディアパケット442、第2のセグメント化されたセキュアマルチメディアパケット444、第nのセグメント化されたセキュアマルチメディアパケット446は、ネットワークインタフェース150から送出される。
【0085】
図7は、本発明の実施の形態による入力処理において様々に形態が変わるマルチメディアパケットを処理する暗号処理通信システムを示す構成図である。
【0086】
一連のセグメント化されたセキュアマルチメディアパケット440またはネットワーク層のセキュアマルチメディアパケット430のいずれかがネットワーク150によって受信される。
【0087】
大きいサイズのセキュアマルチメディアペイロードの場合は,第1のセグメント化されたセキュアマルチメディアパケット442、第2のセグメント化されたセキュアマルチメディアパケット444、第nのセグメント化されたセキュアマルチメディアパケット446を含む、一連のセグメント化されたセキュアマルチメディアパケット440がネットワーク150によって受信される。そうでない場合には場合は、ネットワーク層のセキュアマルチメディアパケット430がネットワーク150によって受信される。
【0088】
ネットワークプロトコルスタック130にいったんパケットが到着すると、一連のセグメント化されたセキュアマルチメディアパケット440のネットワークプロトコルスタックによる復元処理が行われる。一連のセグメント化したセキュアマルチメディアパケット440は、ネットワーク層のセキュアマルチメディアパケット430に再組立てされる。
【0089】
入力フィルタ134は、ネットワーク層のセキュアマルチメディアパケット430を選別し、カーネルレベル暗号モジュール160を起動し、復号化やメッセージ認証確認等のアプリケーション層セキュリティプロトコルを実行させる。これにより、ネットワーク層のセキュアマルチメディアパケット430は、ネットワーク層の平文のマルチメディアパケット420になる。
【0090】
ネットワーク層の平文のマルチメディアパケット420は、ソケット114を介してセキュアマルチメディアアプリケーション112へ送信される。最後に、セキュアマルチメディアアプリケーション112は、平文のマルチメディアパケット410を受信する。
【0091】
図8は、出力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すシーケンスフローである。
【0092】
ステップS302において、セキュアマルチメディアアプリケーション112は、平文のマルチメディアパケット410を生成する。平文のマルチメディアパケット410は、リアルタイムトランスポートプロトコル(RTP)の形式で表わすことができる。
【0093】
ステップS304において、セキュアマルチメディアアプリケーション112は、平文のマルチメディアパケット410を、ソケット114を介して、仮想ネットワークインタフェース140のネットワークプロトコルスタック130へ送信する。
【0094】
ステップS306において、平文のマルチメディアパケット410がいったんネットワークプロトコルスタック130へ入力されると、ネットワーク層のパケットフォーマットの形態をとり、420のようなソケットバッファ構造体422によって表わすことができる。
【0095】
ステップS308において、ネットワーク層の平文のマルチメディアパケット420は、出力フィルタリングポイント132に入力される。このフィルタリングポイントはネットフィルタのNF_IP_LOCAL_OUTであり得る。
【0096】
ステップS310において、RTPヘッダー412中の3項目{SSRC ID 1621、送信先ネットワークアドレス1622、送信先トランスポートポート番号1634}がフィルタリング条件に合致するので、ネットワーク層の平文のマルチメディアパケット420は、アプリケーション層セキュア処理情報格納部162中のセキュア処理情報エントリー1620に相当するフィルタリング条件に合致するか判定する。
【0097】
ステップS312において、フィルタリング条件に合致する場合(S310:YES)、ネットワーク層の平文のマルチメディアパケット420に対するカーネルレベル暗号処理が起動される。また、フィルタリング条件に合致しない場合(S310:NO)、処理を終了する。
【0098】
ステップS314において、RTPヘッダー412中の3項目{SSRC ID 1621、送信先ネットワークアドレス1622、送信先トランスポートポート番号1634}が、暗号処理を実行するための指標として使用される。暗号キー1628と認証キー1629とが生成されていない場合は、または新たに受信したマスターキー1626のマスターキー再キーイングを行う場合は、暗号キー1628と認証キー1629を生成するためにマスターキー1626とマスターソルト1627が使用される。
【0099】
暗号化の開始アドレスが、暗号化および復号化部分の特定部1642によって決定され、暗号化部分432に対する暗号化を実行するために暗号アルゴリズムID1624と暗号キー1628が使用される。
【0100】
メッセージ認証の開始アドレスが、認証部分および認証タグの特定部1646によって決定され、認証部分432に対して認証を実行し、結果をメッセージ認証タグ434として保存するために、認証アルゴリズムID1625と認証キー1629が使用される。
【0101】
認証後、認証タグ生成部1644は、認証部分432対する認証の結果であるメッセージ認証タグ434をパケットに付加する。
【0102】
暗号化および認証後、カーネルレベル暗号モジュール160は、セキュアリアルタイムトランスポートプロトコル(SRTP)等のアプリケーション層セキュリティプロトコルに適合させることにより、ネットワーク層の平文のマルチメディアパケット420を、暗号化部分432とメッセージ認証コード434をもつネットワーク層のセキュアマルチメディアパケット430になるように修正する。
【0103】
ステップS316において、パケットは、セキュアリアルタイムトランスポートプロトコル(SRTP)等のアプリケーション層セキュリティプロトコルの適合によって暗号化部分432とメッセージ認証コード434をもつネットワーク層のパケットフォーマット430の形態をとる。
【0104】
ステップS318において、セキュアマルチメディアパケット上のネットワーク層のセキュアマルチメディアパケット430のIPヘッダー424中の宛先アドレスを実際の送信先アドレスに置き換えた後、ステップS320でネットワーク層のセキュアマルチメディアパケット430は、ネットワークインタフェース150のネットワークプロトコルスタック130へ送信される。これにより、ステップS322で、ネットワーク層のセキュアマルチメディアパケット430は出力フィルタリングポイント132を通過する。ネットワーク層のセキュアマルチメディアパケット430は、ネットワークインタフェース150のネットワークプロトコルスタック130へ入力される。
【0105】
ステップS324において、ネットワーク層のセキュアマルチメディアパケット430のセグメント分割が発生するか否かの判断が行われる。ネットワーク層のセキュアマルチメディアパケット430がネットワークインタフェース150のMTUよりも大きければ、この判断状態は真である。
【0106】
ステップS326へ進み、セグメント分割を行う。セグメント分割後、ネットワーク層のセキュアマルチメディアパケット430は、一連のセグメント化されたセキュアマルチメディアパケット440になる。その結果、728で、第1のセグメント化されたセキュアマルチメディアパケット442、第2のセグメント化されたセキュアマルチメディアパケット444、第nのセグメント化されたセキュアマルチメディアパケット446を含む、一連のセグメント化されたセキュアマルチメディアパケット440がネットワークインタフェース150からネットワークへ送出される。
【0107】
一方、ネットワーク層のセキュアマルチメディアパケット430がネットワークインタフェース150のMTUよりも小さければ、判断状態は偽である。ステップS328へ進み、ネットワーク層のセキュアマルチメディアパケット430がネットワークインタフェース150からネットワークへ送出される。
【0108】
図9は、入力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すシーケンスフローである。
【0109】
ステップS402において、ネットワークインタフェースは、セキュアマルチメディアパケット(セキュアマルチメディアパケット)を受信し、ネットワークプロトコル処理にスケジュールする。
【0110】
セキュアマルチメディアパケットは、第1のセグメント化されたセキュアマルチメディアパケット442、第2のセグメント化されたセキュアマルチメディアパケット444、第nのセグメント化されたセキュアマルチメディアパケット446を含む、一連のセグメント化したセキュアマルチメディアパケット440の形態、またはネットワーク層のセキュアマルチメディアパケット430の形態のいずれかであり得る。
【0111】
ステップS404で、セキュアマルチメディアパケットが一連のセグメント化されたセキュアマルチメディアパケット440の形態である場合、ネットワークインタフェース150のネットワークプロトコルスタック130は、第1のセグメント化されたセキュアマルチメディアパケット442、第2のセグメント化されたセキュアマルチメディアパケット444、第nのセグメント化されたセキュアマルチメディアパケット446を含む、一連のセグメント化したセキュアマルチメディアパケット440がネットワーク層のセキュアマルチメディアパケット430になるように復元を行う。
【0112】
ステップS404の後、セキュアマルチメディアパケットは、ソケットバッファ構造422の形式によって表わされるネットワーク層のセキュアマルチメディアパケット430になる。
【0113】
ステップS406において、ネットワーク層のセキュアマルチメディアパケット430は、入力フィルタリングポイント134へ入力される。このフィルタリングポイントは、ネットフィルタのNF_IP_LOCAL_INであり得る。
【0114】
ステップS408において、RTPヘッダー412中の3項目{SSRC ID1621、送信先ネットワークアドレス1622、送信先トランスポートポート番号1634}がフィルタリング条件に合致するので、ネットワーク層のセキュアマルチメディアパケット430は、アプリケーション層セキュア処理情報格納部162中のセキュア処理情報エントリー1620に相当するフィルタリング条件に合致する。
【0115】
ステップS410において、フィルタリング条件に合致する場合(S408:YES)、ネットワーク層のセキュアマルチメディアパケット430に対するカーネルレベル暗号処理は、起動される。フィルタリング条件に合致する場合(S408:NO)、処理を終了する。
【0116】
ステップS412において、RTPヘッダー412中の3項目{SSRC ID1621、送信先ネットワークアドレス1622、送信先トランスポートポート番号1634}は、暗号処理を実行するための指標として使用される。
【0117】
暗号キー1628と認証キー1629が生成されていない場合、または新たに受信したマスターキー1626のマスターキー再キーイングを行う場合は、暗号キー1628と認証キー1629を生成するためにマスターキー1626とマスターソルト1627が使用される。
【0118】
復号化の開始アドレスが、暗号化および復号化部分の特定部1642によって決定され、復号化部分432に対する復号化を実行するために暗号アルゴリズムID1624と暗号キー1628が使用される。
【0119】
メッセージ認証の開始アドレスが、認証部分および認証タグの特定部1646によって決定され、認証部分432に対して認証を実行するために、認証アルゴリズムID1625と認証キー1629が使用される。この結果は演算処理されたメッセージ認証という。
【0120】
ステップS414において、演算処理されたメッセージ認証がメッセージ認証コード434に厳密に一致するか否かを確認するために、認証タグ確認部1648が使用される。
【0121】
これらが厳密に一致する場合、ネットワーク層のセキュアマルチメディアパケット430は本当に信頼できるものであり、通信相手によって真正に送信されていることを意味する。
【0122】
これらが厳密に一致しない場合、ネットワーク層のセキュアマルチメディアパケット430は偽物であることを意味し、フローはステップS416へ進み、ネットワーク層のセキュアマルチメディアパケット430を廃棄する。
【0123】
これらが厳密に一致する場合、フローはステップS418へ進み、復号化部分432とメッセージ認証コード434をもつネットワーク層のセキュアマルチメディアパケット430がリアルタイムトランスポートプロトコル(RTP)に適合するネットワーク層の平文のマルチメディアパケット420になるようにセキュアマルチメディアパケット430のペイロードを修正する。
【0124】
ステップS420において、ネットワーク層の平文のマルチメディアパケット420は前記入力フィルタリングポイント134を通過する。
【0125】
ステップS422において、ソケットバッファ構造体422の形式によって表わされる、ネットワーク層の平文のマルチメディアパケット420は、ソケット114によってセキュアマルチメディアアプリケーション112へ送信される。
【0126】
最後に、ステップS424において、平文のマルチメディアパケット410がソケット114から受信され、マルチメディアコンテンツがRTPペイロード414から取り出される。
【0127】
このように、本実施の形態によれば、セグメント分割の問題を避けるために比較的大きな最大送信単位(MTU)をもつ仮想ネットワークインタフェースへ大きいサイズのペイロードを送信し、仮想ネットワークインタフェースのネットワークプロトコルスタックにいったん取り込んだ大きいサイズのペイロード全体に対して、カーネルレベルの暗号処理を起動し、セキュア化されたペイロードをネットワークインタフェースのネットワークプロトコルスタックへ送信することにより、既存のネットワークプロトコルスタックを生かしつつ、最低限のメモリコピー回数でアプリケーション層セキュアプロトコル処理を実現することが可能になる。
【産業上の利用可能性】
【0128】
本発明の暗号処理装置は、セキュアマルチメディア通信の暗号処理性能を効果的に増進する暗号処理装置として有用である。
【図面の簡単な説明】
【0129】
【図1】本発明の実施の形態を示す暗号処理通信システムの構成図
【図2】出力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すフローチャート
【図3】入力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すフローチャート
【図4】セキュアマルチメディアアプリケーションの統制部、アプリケーション層セキュア処理情報、アプリケーション層セキュリティ処理ユニット、および暗号処理ユニットの構成図
【図5】本発明の実施の形態による大きいサイズのセキュリティマルチメディアペイロードの構成図
【図6】本発明の実施の形態による出力処理において様々に形態が変わるマルチメディアパケットを処理する暗号処理通信システムを示す構成図
【図7】本発明の実施の形態による入処理において様々に形態が変わるマルチメディアパケットを処理する暗号処理通信システムを示す構成図
【図8】出力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すシーケンスフロー
【図9】入力されるセキュアマルチメディアパケットに対してカーネルレベル暗号処理を実行するための本発明の実施の形態を示すシーケンスフロー
【符号の説明】
【0130】
110 ユーザ空間
114 ソケット
120 カーネル空間
112 セキュアマルチメディアアプリケーション
116 セキュアマルチメディアアプリケーションの統制部
1162 セキュアアプリケーションセッションの開始ユニット
1164 セキュアアプリケーションセッションの終了ユニット
118 セキュア制御インタフェース
130 ネットワークプロトコルスタック
132 セキュアマルチメディアパケットの出力フィルタ
134 セキュアマルチメディアパケットの入力フィルタ
140 仮想ネットワークインタフェース
150 ネットワークインタフェース
160 カーネルレベル暗号モジュー
162 アプリケーション層セキュア処理情報格納部
1620 セキュア処理情報のエントリー
1622 送信先ネットワークアドレス
1623 送信先トランスポートポート番号
1624 暗号アルゴリズムID
1625 認証アルゴリズムID
1626 マスターキー
1627 マスターソルト
1628 暗号キー
1629 認証キー
164 アプリケーション層セキュリティ処理ユニット
1642 暗号化および復号化部分の特定部
1644 認証タグ生成部
1646 認証部分および認証タグの特定部
1648 認証タグ確認部
168 暗号処理ユニット
1682 暗号ユニット
1684 メッセージ認証ユニット
412 RTPヘッダー
414 マルチメディアコンテンツを運ぶための大きいサイズのペイロード
424 IPヘッダー
426 UDPヘッダー
412 RTPヘッダー
432 マルチメディアコンテンツを運ぶための大きいサイズのペイロード
434 メッセージ認証コード

【特許請求の範囲】
【請求項1】
セキュリティプロトコルによってセキュア化されたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理方法であり、
前記マルチメディア通信の開始時に、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶するステップと、
平文のマルチメディアパケットを前記仮想ネットワークインタフェースへ送信するステップと、
前記セキュア処理情報に含まれる前記識別条件に基づいて前記平文のマルチメディアパケットをネットワークプロトコルスタック内でフィルタリングするステップと、
前記平文のマルチメディアパケットがフィルタリングされるときに、前記平文のマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致する場合、前記平文のマルチメディアパケットに対して暗号処理または認証処理を実行して、セキュリティプロトコルに適合するように、前記セキュアマルチメディアパケットのペイロードを修正するステップと、
前記仮想ネットワークインタフェースへの宛先アドレスを、前記セキュアマルチメディアパケットの送信先アドレスに置き換えるステップと、
前記セキュアマルチメディアパケットをネットワークインタフェースから送出するステップと、
を有する暗号処理方法。
【請求項2】
セキュリティプロトコルによってセキュアされたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理装置であり、
暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶する記憶手段と、
平文のマルチメディアパケットを前記仮想ネットワークインタフェースへ送信する送信手段と、
前記平文のマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致するか否かを判断し、前記識別条件が合致した場合に前記平文のマルチメディアパケットに対して暗号処理または認証処理を実行して、セキュリティプロトコルに適合するように前記セキュアマルチメディアパケットのペイロードを修正する修正手段と、
前記仮想ネットワークインタフェースへの宛先アドレスを、前記セキュアマルチメディアパケットの送信先アドレスに置き換える置換手段と、
前記セキュアマルチメディアパケットをネットワークインタフェースから送出する送出手段と、
を有する暗号処理装置。
【請求項3】
セキュリティプロトコルによってセキュアされたマルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理方法であり、
前記マルチメディア通信の開始時に、暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶するステップと、
前記セキュア処理情報に含まれる前記識別条件に基づいて、入力されるセキュアマルチメディアパケットをネットワークプロトコルスタック内でフィルタリングするステップと、
前記セキュアマルチメディアパケットがフィルタリングされるときに、前記セキュアマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致する場合、前記セキュアマルチメディアパケットに対して復号処理または認証処理を実行し、前記セキュアマルチメディアパケットのペイロードを平文ペイロードとして修正するステップと、
平文のマルチメディアパケットを前記入力マルチメディア通信のアプリケーション層へ送信するステップと、
を有する暗号処理方法。
【請求項4】
セキュリティプロトコルによってセキュアされた入力マルチメディア通信に対する暗復号処理または認証処理を増進するための暗号処理装置であり、
暗復号処理または認証処理が必要なパケットを識別するための識別条件を含むセキュア処理情報を記憶するための記憶手段と、
入力されるセキュアマルチメディアパケットが前記セキュア処理情報に含まれる前記識別条件と合致するか否かを判断し、前記識別条件が合致する場合に前記セキュアマルチメディアパケットに対して復号処理または認証処理を実行し、前記セキュアマルチメディアパケットのペイロードを平文ペイロードとして修正するための修正手段と、
前記平文のマルチメディアパケットを前記入力マルチメディア通信のアプリケーション層へ送信する送信手段と、
を有する暗号処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−194559(P2009−194559A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−32228(P2008−32228)
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】