(57)【要約】【課題】ＴＬＰ全体を暗号化する場合と比較して、暗号化に対応していないスイッチデバイスを介してデバイス間でデータ転送を行うことができる情報処理装置及び情報通信システムを提供する。【解決手段】情報通信システム１０は、ＲｏｏｔＣｏｍｐｌｅｘ１２、Ｓｗｉｔｃｈ１４、複数のＥｎｄＰｏｉｎｔ１６−１〜１６−３を含んで構成されている。これらは、ＰＣＩｅインターフェース１８により接続されている。ＲｏｏｔＣｏｍｐｌｅｘ１２がＳｗｉｔｃｈ１４を介してＥｎｄＰｏｉｎｔ１６−１〜１６−３にデータを送信する場合、トランザクションレイヤパケット（ＴＬＰ）のうち、ヘッダ情報は暗号化せずに、データペイロードのみを暗号化して転送する。【選択図】図１
2010147572.tif 000002
【特許請求の範囲】
【請求項１】
予め定めたシリアルバスインターフェースを介して接続されたスイッチデバイスを介して送信先デバイスへ送信すべきデータに基づいて、少なくとも前記送信先デバイスのアドレスに関するアドレス情報を含むヘッダデータと、前記送信すべきデータを含むデータペイロードと、を少なくとも含む送信データを生成する生成手段と、
前記生成手段により生成された送信データのうち、前記データペイロードのみを暗号化する暗号化手段と、
前記データペイロードが暗号化された送信データを、前記スイッチデバイスを介して前記送信先デバイスへ送信する送信手段と、
を備えた情報処理装置。
【請求項２】
前記ヘッダデータ及び暗号化前の前記データペイロードに基づいて演算したエラー訂正符号を前記送信データに付加する付加手段と、
前記付加手段により前記エラー訂正符号が前記送信データに付加された場合には、前記ヘッダデータ及び暗号化後の前記データペイロードに基づいて前記エラー訂正符号を再演算する再演算手段と、
をさらに備えた請求項１記載の情報処理装置。
【請求項３】
前記送信先デバイスが、前記送信手段により送信された暗号化データを復号する復号化手段を有しているか否かを示す情報を取得する取得手段をさらに備え、
前記暗号化手段は、前記取得手段により取得した情報に基づいて、前記送信先デバイスが前記復号化手段を有している場合にのみ、前記生成手段により生成された送信データのうち、前記データペイロードのみを暗号化する
請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記スイッチデバイスを介して送信元デバイスから送信されたデータを受信する受信手段と、
前記受信手段により受信された受信データのうち、前記データペイロードが暗号化されている場合には、前記データペイロードを復号化する復号化手段と、
をさらに備えた請求項１〜請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記シリアルバスインターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓである
請求項１〜請求項４の何れか１項に記載の情報処理装置。
【請求項６】
コンピュータを、請求項１〜請求項５の何れか１項に記載の情報処理装置を構成する各手段として機能させるための情報処理プログラム。
【請求項７】
複数の前記請求項１〜請求項５の何れか１項に記載の情報処理装置と、
前記送信データの送信元デバイスが前記送信データを暗号化する暗号化手段を備えているか否か、及び、前記送信データの送信先デバイスが前記送信データを復号化する復号化手段を備えているか否か、に応じて、前記送信元デバイスから送信された前記送信データをそのまま前記送信先デバイスに送信する、前記送信データを暗号化して送信する、及び前記送信データを復号化して送信する、の何れかにより、前記送信データを前記送信先デバイスに送信する通信ポートを複数備え、各通信ポートが前記複数の情報処理装置の各々と前記シリアルバスインターフェースを介して接続されたスイッチデバイスと、
を備えた情報通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、及び情報通信システムに関する。
【背景技術】
【０００２】
デバイスを相互接続するための第３世代の入出力インターフェースであるＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）の規格では、データ転送をする場合、ヘッダー情報、データペイロード（データ本体）、エラー訂正符号であるＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）情報をパケットにして転送する。
【０００３】
ＰＣＩｅ規格の入出力インターフェース（以下、ＰＣＩｅインターフェースという）を有するデバイス（以下、ＰＣＩｅデバイスという）間で通信されるパケットには、ＴＬＰ（Ｔｒａｎｓａｃｔｉｏｎ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）と呼ばれる、実際に転送されるべきデータペイロードを含むパケットと、ＤＬＬＰ（Ｄａｔａ  Ｌｉｎｋ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）、Ｏｒｄｅｒｅｄ  Ｓｅｔと呼ばれるＰＣＩｅデバイス間でローカルに通信される２種類のパケットがあり、ＤＬＬＰ／Ｏｒｄｅｒｄ  Ｓｅｔに関しては、データフォーマットがＰＣＩｅ規格で厳格に規定されている。
【０００４】
ＰＣＩｅ規格では、転送されるデータの暗号化等、転送されるデータのセキュリティに関しては規定されていないため、例えば特許文献１には、ＰＣＩｅインターフェースで接続されたＰＣＩｅデバイス間におけるデータ転送において、ＰＣＩｅデバイスであるＲｏｏｔＣｏｍｐｌｅｘとＥｎｄＰｏｉｎｔとの間で通信されるパケットデータを監視し、パケットデータが、ユーザーデータが含まれるＴＬＰであると判別された場合は、暗号復号回路によってＴＬＰ全体を暗号化及び復号化して通信する技術が開示されている。
【特許文献１】特開２００６−３５２６７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、ＴＬＰ全体を暗号化する場合と比較して、暗号化に対応していないスイッチデバイスを介してデバイス間でデータ転送を行うことができる情報処理装置、情報処理プログラム、及び情報通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載の発明は、予め定めたシリアルバスインターフェースを介して接続されたスイッチデバイスを介して送信先デバイスへ送信すべきデータに基づいて、少なくとも前記送信先デバイスのアドレスに関するアドレス情報を含むヘッダデータと、前記送信すべきデータを含むデータペイロードと、を少なくとも含む送信データを生成する生成手段と、前記生成手段により生成された送信データのうち、前記データペイロードのみを暗号化する暗号化手段と、前記データペイロードが暗号化された送信データを、前記スイッチデバイスを介して前記送信先デバイスへ送信する送信手段と、を備えたことを特徴とする。
【０００７】
請求項２記載の発明は、前記ヘッダデータ及び暗号化前の前記データペイロードに基づいて演算したエラー訂正符号を前記送信データに付加する付加手段と、前記付加手段により前記エラー訂正符号が前記送信データに付加された場合には、前記ヘッダデータ及び暗号化後の前記データペイロードに基づいて前記エラー訂正符号を再演算する再演算手段と、をさらに備えたことを特徴とする。
【０００８】
請求項３記載の発明は、前記送信先デバイスが、前記送信手段により送信された暗号化データを復号する復号化手段を有しているか否かを示す情報を取得する取得手段をさらに備え、前記暗号化手段は、前記取得手段により取得した情報に基づいて、前記送信先デバイスが前記復号化手段を有している場合にのみ、前記生成手段により生成された送信データのうち、前記データペイロードのみを暗号化することを特徴とする。
【０００９】
請求項４記載の発明は、前記スイッチデバイスを介して送信元デバイスから送信されたデータを受信する受信手段と、前記受信手段により受信された受信データのうち、前記データペイロードが暗号化されている場合には、前記データペイロードを復号化する復号化手段と、をさらに備えたことを特徴とする。
【００１０】
請求項５記載の発明は、前記シリアルバスインターフェースは、ＰＣＩ  Ｅｘｐｒｅｓｓであることを特徴とする。
【００１１】
請求項６記載の発明は、コンピュータを、請求項１〜請求項５の何れか１項に記載の情報処理装置を構成する各手段として機能させるための情報処理プログラムである。
【００１２】
請求項７記載の発明は、複数の前記請求項１〜請求項５の何れか１項に記載の情報処理装置と、前記送信データの送信元デバイスが前記送信データを暗号化する暗号化手段を備えているか否か、及び、前記送信データの送信先デバイスが前記送信データを復号化する復号化手段を備えているか否か、に応じて、前記送信元デバイスから送信された前記送信データをそのまま前記送信先デバイスに送信する、前記送信データを暗号化して送信する、及び前記送信データを復号化して送信する、の何れかにより、前記送信データを前記送信先デバイスに送信する通信ポートを複数備え、各通信ポートが前記複数の情報処理装置の各々と前記シリアルバスインターフェースを介して接続されたスイッチデバイスと、を備えたことを特徴とする。
【発明の効果】
【００１３】
請求項１記載の発明によれば、ＴＬＰ全体を暗号化する場合と比較して、暗号化に対応していないスイッチデバイスを介してデバイス間でデータ転送を行うことができる、という効果を有する。
【００１４】
請求項２記載の発明によれば、エラー訂正符号を再演算しない場合と比較して、エラー訂正を正常に行うことができる、という効果を有する。
【００１５】
請求項３記載の発明によれば、送信先デバイスが暗号化データを復号する復号化手段を有しているか否かを示す情報を取得しない場合と比較して、復号化手段を有さない送信先デバイスに暗号化データを送信してしまうのを防ぐことができる、という効果を有する。
【００１６】
請求項４記載の発明によれば、復号化手段を有さない場合と比較して、暗号化手段を有するデバイスとデータ通信することができる、という効果を有する。
【００１７】
請求項５記載の発明によれば、本構成を有さない場合と比較して、ＰＣＩｅ  Ｅｘｐｒｅｓｓデバイス間で暗号化したデータを通信することができる、という効果を有する。
【００１８】
請求項６記載の発明によれば、ＴＬＰ全体を暗号化する場合と比較して、暗号化に対応していないスイッチデバイスを介してデバイス間でデータ転送を行うことができる、という効果を有する。
【００１９】
請求項７記載の発明によれば、本構成を有さない場合と比較して、暗号化対応の情報処理装置と暗号化対応ではない情報処理装置とが混在してスイッチデバイスを介して接続されている場合でも、暗号化したデータの転送を行うことができる、という効果を有する。
【発明を実施するための最良の形態】
【００２０】
（第１実施形態）
以下、本発明の第１実施形態について説明する。
【００２１】
図１には、本実施形態に係る情報通信システム１０の概略構成を示した。同図に示すように、情報通信システム１０は、ＲｏｏｔＣｏｍｐｌｅｘ１２、Ｓｗｉｔｃｈ１４、複数のＥｎｄＰｏｉｎｔ１６−１〜１６−３を含んで構成されている。これらは、ＰＣＩｅインターフェース１８により接続されている。このような情報通信システム１０は、例えば図１に示すようにＣＰＵ２０やメモリ２２等を含んで構成されたパーソナルコンピュータ等に用いられる。なお、図１に示した接続例は一例であり、ＰＣＩｅ規格に準拠した複数のデバイスが、ＰＣＩｅインターフェースを介してＳｗｉｔｃｈと接続されるものであれば、図１に示した構成に限られるものではない。また、以下では、ＥｎｄＰｏｉｎｔ１６−１〜１６−３全てにおいて共通する事項について説明する場合は、単にＥｎｄＰｏｉｎｔ１６と称する。
【００２２】
次に、ＰＣＩｅにおけるデータ転送について説明する。
【００２３】
ＰＣＩｅでは、データ転送に関して、図２（Ａ）に示すように、トランザクションレイヤ（Ｔｒａｎｓａｃｔｉｏｎ  Ｌａｙｅｒ）ＴＬ、データリンクレイヤ（Ｄａｔａ  Ｌｉｎｋ  Ｌａｙｅｒ）ＤＬ、物理レイヤ（Ｐｈｙｓｙｃａｌ  Ｌａｙｅｒ）ＰＬの３層構造が定義されている。ＰＣＩｅ規格に準拠したデバイスでは、この３層構造の機能を有する通信装置を備える。
【００２４】
トランザクションレイヤＴＬでは、図２（Ｂ）に示すように、送信先デバイスのアドレス等が含まれるヘッダー情報（Ｈｅａｄｅｒ）ＨＥと、送信すべきデータが含まれるデータペイロード（Ｄａｔａ  Ｐａｙｌｏａｄ）ＤＰと、ヘッダー情報ＨＥ及びデータペイロードＤＰに基づいて算出されたエラー訂正符号（巡回符号）であるＥＣＲＣデータＥＣと、から成るトランザクションレイヤパケット（ＴＬＰ）を生成する。また、復号時には、データリンクレイヤＤＬからＴＬＰを受け取り、ＥＣＲＣデータＥＣに基づいてヘッダー情報ＨＥ及びデータペイロードＤＰの誤り訂正を行い、データペイロードＤＰのみを上位のアプリケーションに渡す。
【００２５】
データリンクレイヤＤＬでは、図２（Ｂ）に示すように、ＴＬＰの先頭にシーケンス番号（ＳｅｑＮｕｍ）ＳＮを付加すると共に、このシーケンス番号ＳＮ及びＴＬＰに基づいて算出されたエラー訂正符号（巡回符号）であるＬＣＲＣデータＬＣをＴＬＰの最後に付加する(以下、この処理をＤＬ送信処理と呼ぶ)。また、復号時には、物理レイヤＰＬからＴＬＰを受け取り、ＬＣＲＣデータＬＣに基づいてシーケンス番号ＳＮ及びＴＬＰの誤り訂正を行い、トランザクションレイヤＴＬに渡す(以下、この処理をＤＬ受信処理と呼ぶ)。
【００２６】
物理層ＰＬでは、図２（Ｂ）に示すように、ＴＬＰの先頭に開始符号（Ｓｔａｒｔ）Ｓを付加すると共に、ＴＬＰの最後に終了符号（Ｅｎｄ）Ｅを付加する(以下、この処理をＰＬ送信処理と呼ぶ)。また、復号時には、相手先のデバイスから送信されたＴＬＰを受け取り、開始符号Ｓ及び終了符号Ｅを取り除いてデータリンクレイヤＤＬに渡す(以下、この処理をＰＬ受信処理と呼ぶ)。
【００２７】
なお、ＰＣＩｅ規格ではＥＣＲＣデータを付加するか否かはオプション機能であり、ＥＣＲＣデータが付加されない場合もある。
【００２８】
ＲｏｏｔＣｏｍｐｌｅｘ１２、Ｓｗｉｔｃｈ１４、及びＥｎｄＰｏｉｎｔ１６は、上記の３層構造の機能を有する通信装置を各々備えるが、詳細は後述するが、ＲｏｏｔＣｏｍｐｌｅｘ１２及びＥｎｄＰｏｉｎｔ１６が備える通信装置については、トランザクションレイヤＴＬにおいて、データペイロードＤＰのみを暗号化する機能及び暗号化されたデータペイロードＤＰを復号化する機能が追加されている。
【００２９】
ＲｏｏｔＣｏｍｐｌｅｘ１２は、ＰＣＩｅインターフェースによりＰＣＩｅデバイスが接続されるＰＣＩｅシステムの最上位に配置される。ＲｏｏｔＣｏｍｐｌｅｘ１２は、例えばＣＰＵ２０やメモリ２２等と接続され、ＣＰＵ等の指示によって、データをＳｗｉｔｃｈ１４を介してＥｎｄＰｏｉｎｔ１６に送信したり、ＥｎｄＰｏｉｎｔ１６から送信されたデータをＳｗｉｔｃｈ１４を介して受信し、受信したデータをＣＰＵ等に送信したりする。
【００３０】
ＥｎｄＰｏｉｎｔ１６は、ＰＣＩｅ規格に準拠したＰＣＩｅデバイスであり、ＰＣＩｅシステムの末端に配置される。
【００３１】
図３には、ＲｏｏｔＣｏｍｐｌｅｘ１２及びＥｎｄＰｏｉｎｔ１６が備える通信装置２４の機能ブロック図を示した。同図に示すように、通信装置２４は、送信装置２６及び受信装置２８により構成されている。
【００３２】
送信装置２６は、取得部３０、生成部３２、付加部３４、暗号化部３６、ＣＲＣ再演算部３８、及び送信部４０を含んで構成されている。
【００３３】
取得部３０は、送信先のデバイスが復号化機能を備えているか否かについての情報を取得する。
【００３４】
生成部３２は、送信先のデバイスのアドレスに関する情報を含むヘッダー情報を生成する。また、図示しない上位装置（アプリケーション）から入力されたデータをデータペイロードとして、これの先頭にヘッダー情報ＨＥを付加した送信データを生成する。
【００３５】
付加部３４は、生成部３２により生成された送信データに基づいてＥＣＲＣデータＥＣを算出し、これを送信データに付加してＴＬＰを生成する。なお、オプションとしてＥＣＲＣデータＥＣの付加が設定されていない場合には、このＥＣＲＣデータＥＣの演算は行われない。
【００３６】
暗号化部３６は、付加部３４により生成されたＴＬＰのうち、データペイロードのみを予め定めた暗号化方法によって暗号化する。
【００３７】
ＣＲＣ再演算部３８は、付加部３４でＥＣＲＣデータＥＣが演算された場合には、ヘッダー情報ＨＥと、暗号化部３６によって暗号化されたデータペイロードＤＰとに基づいてＥＣＲＣデータＥＣを再演算し、この再演算したＥＣＲＣデータＥＣを、付加部３４で暗号化前に演算したＥＣＲＣデータＥＣと置換する。
【００３８】
送信部４０は、ＣＲＣ再演算部３８から入力されたＴＬＰの先頭にシーケンス番号ＳＮを付加すると共に、シーケンス番号ＳＮ及びＴＬＰに基づいてＬＣＲＣデータＬＣを演算し、これをＴＬＰの最後に付加する。さらに、ＴＬＰの先頭に開始符号Ｓを付加すると共にＴＬＰの最後に終了符号Ｅを付加して、これをＰＣＩｅインターフェース１８に出力する。
【００３９】
このように、生成部３２、付加部３４、暗号化部３６、及び再演算部３８がトランザクションレイヤＴＬに相当し、送信部４０がデータリンクレイヤＤＬ及び物理レイヤＰＬに相当する。
【００４０】
受信装置２８は、受信部４２及び復号化部４４を含んで構成されている。受信部４２は、ＰＣＩｅインターフェース１８から入力されたＴＬＰから開始符号Ｓ、終了符号Ｅをとり除き、ＬＣＲＣデータＬＣに基づいて誤り訂正を行って復号する。
【００４１】
復号化部４４は、受信部４２から入力されたＴＬＰのデータペイロードが暗号化されている場合には、データペイロードを予め定めた復号化処理により復号し、復号したデータペイロードを上位装置に出力する。
【００４２】
このように、受信部４２が物理レイヤ及びデータリンクレイヤに相当し、復号化部４４がトランザクションレイヤＴＬに相当する。
【００４３】
図４には、通信装置２４によるデータ送信時及びデータ受信時における各レイヤから入出力されるパケットを示した。同図に示すように、下向きの矢印で示すデータ送信時には、トランザクションレイヤＴＬは、入力されたデータを暗号化して暗号化データペイロードとし、ヘッダー情報ＨＥ及びＥＣＲＣデータＥＣを付加してＴＬＰを生成してデータリンクレイヤＤＬに出力する。データリンクレイヤＤＬでは、入力されたＴＬＰにシーケンス番号ＳＮ及びＬＣＲＣデータＬＣを付加して物理レイヤＰＬに出力する。物理レイヤＰＬは、入力されたＴＬＰに開始符号Ｓ及び終了符号Ｅを付加してＰＣＩｅインターフェース１８に出力する。
【００４４】
一方、図４において上向きの矢印で示すデータ受信時には、ＰＣＩｅインターフェース１８から入力されたＴＬＰから開始符号Ｓ及び終了符号Ｅを取り除いて、データリンクレイヤＤＬに出力する。データリンクレイヤＤＬは、入力されたＴＬＰのＬＣＲＣデータＬＣに基づいて誤り訂正処理を行い、シーケンス番号ＳＮ及びＬＣＲＣデータＬＣを取り除いて、トランザクションレイヤＴＬに出力する。トランザクションレイヤＴＬは、入力されたＴＬＰのＥＣＲＣデータＥＣに基づいて誤り訂正処理を行い、ＴＬＰからヘッダー情報ＨＥ及びＥＣＲＣデータＥＣを除いて上位装置に出力する。
【００４５】
Ｓｗｉｔｃｈ１４は、図５に示すように、複数の通信ポート５０−０〜５０−３を備えており、各通信ポート間におけるパケットのルーティングを行う。各通信ポートは、他の通信ポートに接続されたデバイスのアドレスに関する情報等を、例えば情報通信システム１０の初期化時等に予め取得し、通信ポートと接続デバイスのアドレスとの対応関係を示すアドレステーブルとして内部のメモリに記憶しておく。
【００４６】
各通信ポートは、送信装置５２及び受信装置５４を備えており、図２（Ａ）に示したトランザクションレイヤＴＬ、データリンクレイヤＤＬ、及び物理レイヤＰＬの機能を有している。
【００４７】
各通信ポートは、ＰＣＩｅインターフェースを介して各種デバイスと接続される。本実施形態では、通信ポート５０−０にＲｏｏｔＣｏｍｐｌｅｘ１２が、通信ポート５０−２にＥｎｄＰｏｉｎｔ１６が接続されている場合について説明する。
【００４８】
次に、一例としてＲｏｏｔＣｏｍｐｌｅｘ１２がＳｗｉｔｃｈ１４を介してＥｎｄＰｏｉｎｔ１６−２にデータを送信する場合について図６、７に示すフローチャートを参照して説明する。なお、以下では、ＲｏｏｔＣｏｍｐｌｅｘ１２が備える通信装置及び当該通信装置の各部の符号に‘Ｒ’を付し、ＥｎｄＰｏｉｎｔ１６が備える通信装置及び当該通信装置の各部の符号‘Ｅ’を付して区別する。
【００４９】
なお、データ送信に先立って、例えば情報通信システム１０の初期化時等において、ＲｏｏｔＣｏｍｐｌｅｘ１２の通信装置２４Ｒの取得部３０Ｒによって、Ｓｗｉｔｃｈ１４に接続されたデバイスが暗号化対応であるか否か、すなわち暗号化機能及び復号化機能を有しているか否かに関する情報が取得されているものとする。
【００５０】
このＳｗｉｔｃｈ１４に接続されたデバイスが暗号化対応であるか否かに関する情報を取得する方法については、例えば、Ｓｗｉｔｃｈ１４に接続された各デバイスが、情報通信システム１０の初期化時等において、他のデバイスに暗号化対応であるか否かを問い合わせる方法等があるがこれに限られるものではない。
【００５１】
図６に示す処理は、ＲｏｏｔＣｏｍｐｌｅｘ１２の通信装置２４Ｒにより実行され、上位装置からデータの送信が指示された場合に実行される。
【００５２】
まず、ステップ１００では、生成部３２Ｒにより、前述したような送信データの生成処理、すなわちデータペイロードにヘッダー情報ＨＥを付加した送信データの生成処理が行われる。
【００５３】
ステップ１０２では、付加部３４Ｒにより、前述したようなＴＬＰの生成処理、すなわちＥＣＲＣデータＥＣを算出し、これを送信データに付加してＴＬＰを生成する処理が行われる。
【００５４】
ステップ１０４では、暗号化部３６Ｒにより、取得部３０Ｒが取得した情報に基づいて、送信先のデバイスであるＥｎｄＰｏｉｎｔ１６が暗号化対応であるか否かを判断し、暗号化対応である場合にはステップ１０６へ移行して、前述したようなデータペイロードの暗号化処理が行われる。さらに、ヘッダー情報ＨＥの予め定めたＲｅｓｅｒｖｅｄビットを、暗号化処理を行った旨を示すビット、例えば‘１’にセットする。一方、ＥｎｄＰｏｉｎｔ１６が暗号化対応でない場合には、暗号化処理は行わず、ヘッダー情報ＨＥの予め定めたＲｅｓｅｒｖｅｄビットを、暗号化処理を行っていない旨を示すビット、例えば‘０’にセットしてステップ１１０へ移行する。
【００５５】
ヘッダー情報ＨＥは、図８に示すような構成であり、図中‘Ｒ’で示すように、ＰＣＩｅ規格に影響を与えないＲｅｓｅｒｖｅｄビットが含まれている。例えばＢｙｔｅ０の第７ビット目はＲｅｓｅｒｖｅｄビットであり、このビットを用いてデータペイロードが暗号化されているか否かを送信先のデバイスに知らせる。なお、Ｂｙｔｅ１の第０ビット〜第３ビットの４ビットもＲｅｓｅｒｖｅｄビットである。従って、この４ビットのＲｅｓｅｒｖｅｄビットを用いて、暗号化方法（復号化方法）等を指定するようにしてもよい。
【００５６】
ステップ１０８では、ＣＲＣ再演算部３８Ｒにより、前述したようなＥＣＲＣデータＥＣの再演算処理、すなわちＥＣＲＣデータＥＣを再演算し、この再演算したＥＣＲＣデータＥＣを暗号化前に演算したものと置換する処理が行われる。
【００５７】
ステップ１１０では、送信部４０により、前述したようなＤＬ送信処理、ＰＬ送信処理、ＴＬＰの送信処理が行われる。
【００５８】
これにより、データペイロードＤＰのみが暗号化されたＴＬＰがＳｗｉｔｃｈ１４の通信ポート５０−０に出力される。通信ポート５０−０では、物理レイヤＰＬ、データリンクレイヤＤＬ、トランザクションレイヤＴＬによって前述した各処理が行われる。そして、通信ポート５０−０は、暗号化されていないヘッダー情報ＨＥを参照し、このヘッダー情報ＨＥに含まれる送信先デバイスのアドレスに対応した通信ポート、すなわちＥｎｄＰｏｉｎｔ１６−２が接続された通信ポート５０−２に、ＴＬＰを転送する。通信ポート５０−２では、転送されたＴＬＰに対してトランザクションレイヤＴＬ、データリンクレイヤＤＬ、及び物理レイヤＰＬで前述した処理を順次行って送信用のＴＬＰを生成し、ＥｎｄＰｏｉｎｔ１６にＰＣＩｅインターフェース１８を介して出力する。
【００５９】
ＥｎｄＰｏｉｎｔ１６−２の通信装置２４Ｅでは、図７に示すような処理が実行される。なお、図７に示す処理は、通信装置２４ＲがＰＣＩｅインターフェース１８を介してＴＬＰを受信した場合に実行される。
【００６０】
まず、ステップ２００では、受信部４２Ｅにより、前述したようなＰＣＩｅインターフェース１８から入力されたＴＬＰに対してＰＬ受信処理とＤＬ受信処理が行われる。
【００６１】
ステップ２０２では、復号化部４４Ｒにより、入力されたＴＬＰのデータペイロードが暗号化されているか否かが判断される。これは、前述したヘッダー情報ＨＥの予め定めたＲｅｓｅｒｖｅｄビットを参照することにより判断される。
【００６２】
そして。データペイロードが暗号化されていると判断された場合には、ステップ２０４へ移行し、データペイロードが暗号化されていないと判断された場合には、ステップ２０６へ移行する。
【００６３】
ステップ２０４では、復号化部４４により、前述したようなデータペイロードを予め定めた復号化処理により復号する処理が行われる。
【００６４】
ステップ２０６では、復号化部４４により、復号されたデータペイロードを上位装置に出力する処理が行われる。
【００６５】
なお、通信装置２４を、図９に示すようなコンピュータ６０を含む構成としてもよい。図９に示すコンピュータ６０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０Ａ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０Ｂ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０Ｃ、不揮発性メモリ６０Ｄ、及び入出力インターフェース（Ｉ／Ｏ）６０Ｅがバス６０Ｆを介して各々接続された構成となっている。この場合、図６、７に示した処理をコンピュータ６０に実行させるプログラムを、例えば不揮発性メモリ６０Ｄに書き込んでＣＰＵ６０Ａに実行させることにより、コンピュータ６０が通信装置２４として機能する。を構成する各部として機能する。
【００６６】
また、この場合のプログラムは、例えばネットワークを介してダウンロードしたり、ＣＤ−ＲＯＭ等の記録媒体に記録したりする等の方法により提供される。
【００６７】
（第２実施形態）
次に、本発明の第２実施形態について説明する。第２実施形態では、暗号化対応のデバイス、すなわち暗号化機能及び復号化機能を有しているデバイスと非暗号化対応のデバイス、すなわち暗号化機能及び復号化機能を有していないデバイスがＳｗｉｔｃｈ１４に接続されている場合に、Ｓｗｉｔｃｈ１４の各通信ポートが必要に応じてパケットを暗号化（復号化）する場合について説明する。
【００６８】
本実施形態では、一例として、通信ポート５０−０に暗号化対応のＲｏｏｔＣｏｍｐｌｅｘ１２が、通信ポート５０−１に暗号化対応のＥｎｄＰｏｉｎｔ１６−１が、通信ポート５０−２に非暗号化対応のＥｎｄＰｏｉｎｔ１６−２が、通信ポート５０−３に暗号化対応のＥｎｄＰｏｉｎｔ１６−３が接続されている場合について説明する。
【００６９】
また、本実施形態では、Ｓｗｉｔｃｈ１４の各通信ポートは、図１０に示すようなレジスタ７０を各々備えている。このレジスタ７０は、例えばビット０は自ポートに接続されたデバイスが暗号化対応であるか否かを示すビットであり、ビット１以降は他の通信ポートに接続されたデバイスが暗号化対応であるか否かを示すビットを表わす。例えば通信ポート５０−０が備えるレジスタ７０のビット０は、通信ポート５０−０が接続されたデバイス、すなわちＲｏｏｔＣｏｍｐｌｅｘ１２が暗号化対応であるか否かを示すビットであり、この場合は暗号化対応であることを示す‘１’がセットされる。また、通信ポート５０−０が備えるレジスタ７０のビット１は、通信ポート５０−１が接続されたデバイス、すなわちＥｎｄＰｏｉｎｔ１６−１が暗号化対応であるか否かを示すビットであり、同様に、通信ポート５０−０が備えるレジスタ７０のビット２は、通信ポート５０−２が接続されたデバイス、すなわちＥｎｄＰｏｉｎｔ１６−２が暗号化対応であるか否かを示すビットであり、通信ポート５０−０が備えるレジスタ７０のビット３は、通信ポート５０−３が接続されたデバイス、すなわちＥｎｄＰｏｉｎｔ１６−３が暗号化対応であるか否かを示すビットである。従って、通信ポート５０−０が備えるレジスタ７０のビット１、２には‘１’が、ビット３には‘０’がセットされることとなる。
【００７０】
レジスタ７０の各ビットへの設定は、例えば情報通信システム１０の初期化時等に行われる。例えば、各通信ポートは、自ポートに接続されたデバイスが暗号化機対応であるか否かをそのデバイスに問い合わせることにより、又は、自ポートに接続されたデバイスからの指示により、レジスタ７０のビット０に自ポートのデバイスが暗号化対応であるか否かを設定する。そして、他の通信ポートのレジスタのビット０を各々読み出して、自ポートのレジスタのビット１〜３に設定する。従って、レジスタ７０のビット１〜３を読み出すことにより、他の通信ポートに接続されているデバイスが暗号化対応であるか否かが認識される。
【００７１】
次に、各通信ポートの受信装置５４のトランザクションレイヤＴＬが実行する処理について、図１１に示すフローチャートを参照して説明する。なお、この処理は、自ポートに接続されたデバイスからのデータが物理レイヤＰＬ、データリンクレイヤＤＬにより処理されてＴＬＰがトランザクションレイヤＴＬに入力された場合に実行される。
【００７２】
まず、ステップ３００では、ヘッダ情報ＨＥに含まれる送信先のアドレスを参照し、このアドレスに対応した通信ポートを、通信ポートとその通信ポートの接続デバイスのアドレスとの対応関係を示すアドレステーブルを参照して送信先ポートとして決定する。
【００７３】
ステップ３０２では、自ポートに接続されたデバイスが暗号化対応であるか否かを、レジスタ７０を参照して判断し、自ポートに接続されたデバイスが暗号化対応である場合にはステップ３０４へ移行し、暗号化対応でない場合にはステップ３０６へ移行する。
【００７４】
ステップ３０４では、送信先ポートに接続されたデバイスが暗号化対応であるか否かを判断する。これは、前述したレジスタ７０を参照することにより判断される。
【００７５】
そして、送信先ポートが暗号化対応である場合にはステップ３０６へ移行し、非暗号化対応である場合にはステップ３０８へ移行する。
【００７６】
ステップ３０６では、ＴＬＰをそのまま送信先ポートへ転送する。一方、ステップ３０８では、ＴＬＰのデータペイロードを復号して送信先ポートへ転送する。
【００７７】
このように、送信先ポートに接続されたデバイスが暗号化対応である場合には、自ポートに接続されたデバイスが暗号化対応であるか否かに拘わらず、ＴＬＰをそのまま送信先ポートに転送する。また、自ポートに接続されたデバイスが暗号化対応で且つ送信先ポートに接続されたデバイスが非暗号化対応の場合（例えばＲｏｏｔＣｏｍｐｌｅｘ１２からＥｎｄＰｏｉｎｔ１６−２へデータを転送する場合）には、データペイロードを復号して送信先ポートへ転送する。
【００７８】
次に、各通信ポートの送信装置５２のトランザクションレイヤＴＬが実行する処理について、図１２に示すフローチャートを参照して説明する。なお、この処理は、送信元のデバイスが接続された通信ポート（送信元ポート）からのＴＬＰを受信した場合に実行される。
【００７９】
まず、ステップ４００では、送信元ポートに接続されたデバイスが暗号化対応か否かをレジスタ７０を参照して判断し、送信元ポートに接続されたデバイスが暗号化対応である場合にはステップ４０２へ移行し、暗号化対応でない場合にはステップ４０４へ移行する。
【００８０】
ステップ４０２では、受信したＴＬＰをデータリンクレイヤＤＬにそのまま出力する。これにより、データリンクレイヤＤＬは、受信したＴＬＰに対してＤＬ受信処理を行って物理レイヤＰＬに出力し、物理レイヤＰＬは、受信したＴＬＰに対してＰＬ受信処理を行って自ポートに接続されたデバイスに出力する。
【００８１】
一方、ステップ４０４では、自ポートに接続されたデバイスが暗号化対応であるか否かを、レジスタ７０を参照して判断し、自ポートに接続されたデバイスが暗号化対応である場合にはステップ４０６へ移行し、暗号化対応でない場合にはステップ４０２へ移行する。
【００８２】
ステップ４０６では、受信したＴＬＰのうちデータペイロードのみを暗号化してデータリンクレイヤＤＬに出力する。これにより、データリンクレイヤＤＬは、受信したＴＬＰに対してＤＬ受信処理を行って物理レイヤＰＬに出力し、物理レイヤＰＬは、受信したＴＬＰに対してＤＬ受信処理を行って自ポートに接続されたデバイスに出力する。
【００８３】
このように、送信元ポートに接続されたデバイスが暗号化対応である場合には、自ポートに接続されたデバイスが暗号化対応であるか否かに拘わらず、ＴＬＰをそのままデータリンクレイヤＤＬに出力し、送信元ポートに接続されたデバイスが非暗号化対応で且つ自ポートに接続されたデバイスが暗号化対応の場合（例えばＥｎｄＰｏｉｎｔ１６−２からＲｏｏｔＣｏｍｐｌｅｘ１２へデータを転送する場合）には、データペイロードを暗号化してデータリンクレイヤＤＬに出力する。
【００８４】
すなわち、本実施形態では、送信元ポートに接続されたデバイス及び送信先ポートに接続されたデバイスが、共に暗号化対応である場合及び共に非暗号化対応である場合には、送信元ポートに接続されたデバイスからのデータは、送信先ポートに接続されたデバイスにそのまま転送される。
【００８５】
また、送信元ポートに接続されたデバイスが非暗号化対応で送信先ポートに接続されたデバイスが暗号化対応である場合には、送信先ポートでデータペイロードが暗号化され、送信元ポートに接続されたデバイスが暗号化対応で送信先ポートに接続されたデバイスが非暗号化対応である場合には、送信元ポートでデータペイロードが復号化される。
【００８６】
（第３実施形態）
次に、本発明の第３実施形態について説明する。本実施形態では、送信元ポートに接続されたデバイスが非暗号化対応で送信先ポートに接続されたデバイスが暗号化対応である場合には、送信元ポートでデータペイロードを暗号化し、送信元ポートに接続されたデバイスが暗号化対応で送信先ポートに接続されたデバイスが非暗号化対応である場合には、送信先ポートでデータペイロードを復号化する場合について説明する。
【００８７】
まず、各通信ポートの受信装置５４のトランザクションレイヤＴＬが実行する処理について、図１３に示すフローチャートを参照して説明する。なお、この処理は、自ポートに接続されたデバイスからのデータが物理レイヤＰＬ、データリンクレイヤＤＬにより処理されてＴＬＰがトランザクションレイヤＴＬに入力された場合に実行される。
【００８８】
まず、ステップ５００では、ヘッダ情報ＨＥに含まれる送信先のアドレスを参照し、このアドレスに対応した通信ポートを、通信ポートとその通信ポートの接続デバイスのアドレスとの対応関係を示すアドレステーブルを参照して送信先ポートとして決定する。
【００８９】
ステップ５０２では、自ポートに接続されたデバイスが暗号化対応か否かをレジスタ７０を参照して判断し、自ポートに接続されたデバイスが暗号化対応である場合にはステップ５０４へ移行し、暗号化対応でない場合にはステップ５０６へ移行する。
【００９０】
ステップ５０４では、受信したＴＬＰを送信先ポートにそのまま転送する。一方、ステップ５０６では、送信先ポートに接続されたデバイスが暗号化対応であるか否かを、レジスタ７０を参照して判断し、送信先ポートに接続されたデバイスが暗号化対応である場合にはステップ５０８へ移行し、暗号化対応でない場合にはステップ５０４へ移行する。
【００９１】
ステップ５０８では、受信したＴＬＰのうちデータペイロードのみを暗号化して送信先ポートに転送する。
【００９２】
このように、自ポートに接続されたデバイスが暗号化対応である場合には、送信先ポートに接続されたデバイスが暗号化対応であるか否かに拘わらず、ＴＬＰをそのまま送信先ポートにそのまま出力し、自ポートに接続されたデバイスが非暗号化対応で且つ送信先ポートに接続されたデバイスが暗号化対応の場合には、データペイロードを暗号化して送信先ポートに転送する。
【００９３】
次に、各通信ポートの送信装置５２のトランザクションレイヤＴＬが実行する処理について、図１４に示すフローチャートを参照して説明する。なお、この処理は、送信元のデバイスが接続された通信ポート（送信元ポート）からのＴＬＰを受信した場合に実行される。
【００９４】
ステップ６００では、送信元ポートに接続されたデバイスが暗号化対応であるか否かを、レジスタ７０を参照して判断し、送信元ポートに接続されたデバイスが暗号化対応である場合にはステップ６０２へ移行し、暗号化対応でない場合にはステップ６０４へ移行する。
【００９５】
ステップ６０２では、自ポートに接続されたデバイスが暗号化対応であるか否かを判断する。これは、前述したレジスタ７０を参照することにより判断される。
【００９６】
そして、自ポートが暗号化対応である場合にはステップ６０４へ移行し、非暗号化対応である場合にはステップ６０６へ移行する。
【００９７】
ステップ６０４では、受信したＴＬＰをデータリンクレイヤＤＬにそのまま出力する。これにより、データリンクレイヤＤＬは、受信したＴＬＰに対してＤＬ受信処理を行って物理レイヤＰＬに出力し、物理レイヤＰＬは、受信したＴＬＰに対してＰＬ受信処理を行って自ポートに接続されたデバイスに出力する。
【００９８】
一方、ステップ６０６では、受信したＴＬＰのデータペイロードを復号化してデータリンクレイヤＤＬに出力する。これにより、データリンクレイヤＤＬは、受信したＴＬＰに対してＤＬ受信処理を行って物理レイヤＰＬに出力し、物理レイヤＰＬは、受信したＴＬＰに対してＰＬ受信処理を行って自ポートに接続されたデバイスに出力する。
【００９９】
このように、自ポートに接続されたデバイスが暗号化対応である場合、送信元ポートに接続されたデバイスが暗号化対応であるか非暗号化対応であるかに拘わらず、ＴＬＰをそのままデータリンクレイヤＤＬにそのまま出力し、送信元ポートに接続されたデバイスが暗号化対応で且つ自ポートに接続されたデバイスが非暗号化対応の場合には、データペイロードを復号してデータリンクレイヤＤＬに出力する。
【０１００】
すなわち、本実施形態では、送信元ポートに接続されたデバイス及び送信先ポートに接続されたデバイスが、共に暗号化対応である場合及び共に非暗号化対応である場合には、送信元ポートに接続されたデバイスからの送信先ポートに接続されたデバイスにそのまま転送される。
【０１０１】
また、送信元ポートに接続されたデバイスが非暗号化対応で送信先ポートに接続されたデバイスが暗号化対応である場合には、送信元ポートでデータペイロードを暗号化して送信先ポートに転送し、送信元ポートに接続されたデバイスが暗号化対応で送信先ポートに接続されたデバイスが非暗号化対応である場合には、送信先ポートでデータペイロードを復号化して自ポートに接続されたデバイスに出力する。
【図面の簡単な説明】
【０１０２】
【図１】第１実施形態に係る情報通信システムの概略構成を示すブロック図である。
【図２】（Ａ）はＰＣＩｅにおけるデータ転送の階層構造を示す図、（Ｂ）はＰＣＩｅにおけるパケットの構造を示す図である。
【図３】通信装置の概略構成を示す機能ブロック図である。
【図４】データ転送の階層構造とパケットとの関係を示す図である。
【図５】スイッチの概略構成を示す図である。
【図６】第１実施形態に係るＰＣＩｅデバイスの送信装置の処理の流れを示すフローチャートである。
【図７】第１実施形態に係るＰＣＩｅデバイスの受信装置の処理の流れを示すフローチャートである。図である。
【図８】ヘッダー情報の構成を示す図である。
【図９】コンピュータの構成を示す図である。
【図１０】レジスタの構成を示す図である。
【図１１】第２実施形態に係るスイッチの受信装置の処理の流れを示すフローチャートである。
【図１２】第２実施形態に係るスイッチの送信装置の処理の流れを示すフローチャートである。
【図１３】第３実施形態に係るスイッチの受信装置の処理の流れを示すフローチャートである。
【図１４】第３実施形態に係るスイッチの送信装置の処理の流れを示すフローチャートである。
【符号の説明】
【０１０３】
１０  情報通信システム
１２  ＲｏｏｔＣｏｍｐｌｅｘ
１４  Ｓｗｉｔｃｈ（スイッチデバイス）
１６−１、１６−２、１６−３  ＥｎｄＰｏｉｎｔ
１８  ＰＣＩｅインターフェース
２４  通信装置（情報処理装置）
２６  送信装置
２８  受信装置
３０  取得部（取得手段）
３２  生成部（生成手段）
３４  付加部（付加手段）
３６  暗号化部（暗号化手段）
３８  ＣＲＣ再演算部（再演算手段）
４０  送信部（送信手段）
４２  受信部（受信手段）
４４  復号化部（復号化手段）
５０−１、５０−２、５０−３  通信ポート（通信装置）
６０  コンピュータ
７０レジスタ
【図１】
2010147572.tif 000003
【図２】
2010147572.tif 000004
【図３】
2010147572.tif 000005
【図４】
2010147572.tif 000006
【図５】
2010147572.tif 000007
【図６】
2010147572.tif 000008
【図７】
2010147572.tif 000009
【図８】
2010147572.tif 000010
【図９】
2010147572.tif 000011
【図１０】
2010147572.tif 000012
【図１１】
2010147572.tif 000013
【図１２】
2010147572.tif 000014
【図１３】
2010147572.tif 000015
【図１４】
2010147572.tif 000016