特表2024-538429IP Force 特許公報全文掲載

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】
(54)【発明の名称】送信方法及び受信方法、通信デバイス、並びにローカルエリアネットワーク
(51)【国際特許分類】
   
【FI】
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】
(86)(22)【出願日】
(85)【翻訳文提出日】
(86)【国際出願番号】
(87)【国際公開番号】
(87)【国際公開日】
(31)【優先権主張番号】22305060.0
(32)【優先日】
(33)【優先権主張国・地域又は機関】
(81)【指定国・地域】
(71)【出願人】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100188514
【弁理士】
【氏名又は名称】松岡 隆裕
(72)【発明者】
【氏名】ロレ、ロマン
(57)【要約】
通信チャネル上で通信デバイスによってデータを送信する方法に関する。本送信方法は、時間サイクルごとに、通信デバイスが送信対象のデータに基づいて保護されたデータフレームを求めることと、通信デバイスが通信チャネル上で保護されたデータフレームを送信することとを含む。各保護されたデータフレームは、初期化ベクトルを使用することによって求められる保護されたコンテンツを含み、初期化ベクトルは、当該初期化ベクトルに関連付けられた寿命を有し、この寿命は複数のサイクル期間以上であり、初期化ベクトルは、当該初期化ベクトルの寿命が満了していないことを条件として、送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるときは変更されない。
【特許請求の範囲】
【請求項】
複数の通信デバイスによって共有される通信チャネル上で前記通信デバイスによってデータを送信する送信方法であって、前記通信チャネルを介した通信は、所定のサイクル期間で繰り返される時間サイクルに従って編成され、前記通信デバイスは、前記時間サイクルごとにデータを送信する必要があり、送信対象の新たなデータがない場合には、送信対象のデータは、ある時間サイクルから後続の時間サイクルまでの間で繰り返され、前記送信方法は、前記時間サイクルごとに、
前記通信デバイスが、前記送信対象のデータに基づいて保護されたデータフレームを求めることと、
前記通信デバイスが、前記通信チャネル上で前記保護されたデータフレームを送信することと、
を含み、
各前記保護されたデータフレームは、所定の初期化ベクトルを使用することによって求められる保護されたコンテンツを含み、前記初期化ベクトルは、前記初期化ベクトルを変更せずに維持することができる最大継続時間に対応する、前記初期化ベクトルに関連付けられた寿命を有し、前記寿命は、所定の複数のサイクル期間以上であり、前記初期化ベクトルは、前記初期化ベクトルの前記寿命が満了していないことを条件として、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるときは変更されない、送信方法。
【請求項】
前記以前の時間サイクルの保護されたデータフレームの保護されたコンテンツは、前記現在の時間サイクルの保護されたコンテンツを再計算することが前記以前の時間サイクルと同じ保護されたコンテンツをもたらすと判断したことに応じて、保護されたコンテンツを再計算することなく、前記現在の時間サイクルにおいて繰り返される、請求項1に記載の送信方法。
【請求項】
前記保護されたデータフレームの前記保護されたコンテンツを求めることは、ソフトウェアによって実施される、請求項2に記載の送信方法。
【請求項】
各前記時間サイクルは、少なくとも第1のタイムスライス及び第2のタイムスライスを含み、前記第1のタイムスライスは、前記第2のタイムスライスの間に通信されるデータよりも高いタイミング制約を有するデータを通信するためのものであり、前記保護されたデータフレームは、前記第1のタイムスライスの間に送信される、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
前記保護されたデータフレームは、前記保護されたコンテンツを産業用イーサネットプロトコルスタック又は産業用イーサネットタイムセンシティブネットワーキング(TSN)プロトコルスタックに提供することによって求められる、請求項1~4のいずれか1項に記載の送信方法。
【請求項】
前記初期化ベクトルの前記寿命は、N≧2に対して前記サイクル期間のN倍以上である、請求項1~5のいずれか1項に記載の送信方法。
【請求項】
各保護されたデータフレームの前記保護されたコンテンツは、所定の対称鍵を使用することによって更に求められる、請求項1~6のいずれか1項に記載の送信方法。
【請求項】
前記保護されたコンテンツは、署名及び/又は暗号化データを含む、請求項1~7のいずれか1項に記載の送信方法。
【請求項】
前記保護されたデータフレームは、前記初期化ベクトルの全て又は一部を含む、請求項1~8のいずれか1項に記載の送信方法。
【請求項】
通信デバイスによってデータフレームを受信する受信方法であって、前記データフレームは、請求項1~9のいずれか1項に記載の送信方法を使用することによって別の通信デバイスによって送信され、前記通信デバイスは、前記保護されたデータフレームに含まれる前記保護されたコンテンツを処理して、前記別の通信デバイスを認証し及び/又は前記保護されたデータフレームに含まれるデータを解読し、前記受信方法は、
前記現在の時間サイクルにおける保護されたデータフレームを受信することと、
前記現在の時間サイクルの前記保護されたデータフレームから前記保護されたコンテンツを抽出することと、
前記現在の時間サイクルの前記保護されたデータフレームから抽出された前記保護されたコンテンツが、前記以前の時間サイクルにおいて受信された前記保護されたデータフレームから抽出された前記保護されたコンテンツと同一であることを検出したことと、前記初期化ベクトルが満了していないことを検出したこととに応じて、前記現在の時間サイクルの前記保護されたデータフレームの前記保護されたコンテンツを処理することなく、前記以前の時間サイクルの前記保護されたデータフレームの前記保護されたコンテンツの処理の結果を再利用することと、
を含む、受信方法。
【請求項】
前記保護されたコンテンツの処理は、ソフトウェアによって実施される、請求項10に記載の受信方法。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項1~9のいずれか1項に記載の送信方法及び/又は請求項10若しくは11に記載の受信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータプログラム製品。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項1~9のいずれか1項に記載の送信方法及び/又は請求項10若しくは11に記載の受信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータ可読記憶媒体。
【請求項】
少なくとも1つのプロセッサ及び少なくとも1つのメモリを備え、請求項1~9のいずれか1項に記載の送信方法及び/又は請求項10若しくは11に記載の受信方法を実行するように構成される、通信デバイス。
【請求項】
請求項14に記載の通信デバイスを複数備えるローカルエリアネットワーク(LAN)であって、前記通信デバイスのうちの少なくともいくつかは、デイジーチェーントポロジーに従って互いに接続される、ローカルエリアネットワーク。
【発明の詳細な説明】
【技術分野】
【】
通信システムに関し、より具体的には、ローカルエリアネットワーク(LAN)、例えば、産業用イーサネットベースのLANにおける通信を保護された保護する方法及び通信デバイス
【背景技術】
【】
通常の産業用ネットワークでは、通信デバイスは、通例、デイジーチェーントポロジーを使用してバスによって接続される。通常、マスター通信デバイス(通例、プログラマブルロジックコントローラ(PLC))が、スレーブ通信デバイスにデータフレームを送信し、データフレームを受信した各通信デバイスは、受信データフレームの受信者でない場合には、そのデータフレームを隣接する通信デバイスにデータフレームを転送する。逆方向では、各通信デバイスは、マスター通信デバイスにデータフレームを送信することもできる。デイジーチェーントポロジーのマスター通信デバイスに対してデイジーチェーントポロジーの反対側に位置する通信デバイスによって生成されるデータフレームは、マスター通信デバイスまでのあらゆる中間通信デバイスによって転送される。
【】
例えば、通信デバイスの間で交換されるデータフレームは、イーサネットデータフレームとすることができる。産業用ネットワークでは、例えば、30マイクロ秒(μs)ごとのように、厳格な時間遅延要件によって、データフレームを交換することが必要な場合がある。タイムセンシティブネットワーキング(TSN)は、標準イーサネット(商標)プロトコルにおいて決定論的メッセージングを提供するために定義されたIEEE802.1規格技術のセットである。時間制約のあるデータフレームのオンタイム配信で提供する鍵となるものは、IEEE802.1Qbv規格である。より具体的には、IEEE802.1Qbv規格は、イーサネット通信チャネル上の通信を一定の継続時間の繰り返される時間サイクルに分離するように設計された時間認識スケジューラを定義する。これらの時間サイクル内では、様々な優先度を有するトラフィッククラスに割り当てることができる様々なタイムスライスを構成することができる。そのようなタイムスライスは、仮想通信チャネルとみなすことができ、時間制約のないバックグラウンドトラフィックと時間制約のあるトラフィックとの分離を可能にする。
【】
図1は、IEEE802.1Qbv規格が依拠する時間サイクル及びタイムスライスを示す時間的ダイアグラムを模式的に表したものである。図1によって示される例において、2つの時間サイクルがそれぞれ「時間サイクル#n」及び「時間サイクル#n+1」によって示されている。各時間サイクルは、「タイムスライス#1」及び「タイムスライス#2」によってそれぞれ示される2つのタイムスライスを備える。また、ガードバンドが、各時間サイクルのタイムスライス#2の後であって、次の時間サイクルのタイムスライス#1の開始前に設けられている。例えば、タイムスライス#1は、仮想ローカルエリアネットワーク(VLAN)優先度7(IEEE802.1Q規格によって定義されている)でタグ付けされるデータフレーム用に確保することができる一方、タイムスライス#2は、VLAN優先度0~6でタグ付けされるデータフレーム用に使用することができる。
【】
従来、産業用フィールドバスネットワークは、他のネットワーク、特にインターネットに接続されていないという意味で隔離されたLANであった。したがって、そのような産業用ネットワークは、実際には外部の脅威に晒されることはなく、セキュリティメカニズムのサポートはほとんど提供されていなかった。
【】
しかしながら、IEEE802.1TSN規格セットによって定義されるような、時間制約のあるデータフレームと時間制約のないデータフレームとを同じ通信チャネル上で共存できるプロトコルの出現により、産業用ネットワークは、時間遅延要件がそれほど厳しくないアプリケーションにも使用することができる。したがって、時間遅延要件がそれほど厳しくない新たな通信デバイス(例えば、マスターPLC及びそのスレーブ通信デバイス以外のもの)を産業用ネットワークに追加して接続することができる。
【】
これらの新たな通信デバイスが接続されると、例えば、1つ以上の新たな通信デバイスがインターネットに接続できる場合に、産業用ネットワークは、もはや厳密に隔離されたネットワークとみなすことはできないので、新たな脅威にさらされるおそれがある。
【】
例えば、デイジーチェーントポロジーを使用してバスによって接続された通信デバイスを備えた産業用ネットワークの場合、それらの通信デバイスのうちの1つが破損していると、起こり得る攻撃としては以下のものがある。
-傍受:攻撃者は、破損した通信デバイスを使用して、破損した通信デバイスによって中継されるデータフレームを傍受するおそれがある;ただし、例えばマスターPLCとそのスレーブ通信デバイスとの間で交換されるデータは、通常、非常に低レベルであり、攻撃者がそれ自体を悪用するのは困難である。
-データフレーム注入:攻撃者は、破損した通信デバイスを使用して、悪意のあるデータフレームを通信チャネルに注入し、マスターPLC及びそのスレーブ通信デバイスの機能不良、及び場合によっては深刻なハードウェア損傷を引き起こすおそれがある。
-データフレームリプレイ:攻撃者は、破損した通信デバイスを使用して、破損していない通信デバイスによって送信され、破損した通信デバイスによって傍受された正当なデータフレームから巧みに作成された悪意のあるデータフレームを注入するおそれがある。
-データフレームの改ざん又は削除:攻撃者は、破損した通信デバイスを使用して、中継データフレームの改ざん又は削除を行い、マスターPLC及びそのスレーブ通信デバイスの機能不良を引き起こすおそれがある。
【】
したがって、上述した攻撃の全て又は一部に対する産業用ネットワークのロバスト性を高めることができるようにするためには、従来隔離されたネットワークとして設計されていた産業用ネットワークにセキュリティメカニズムを導入する必要がある。ただし、そのようなセキュリティメカニズムは、厳格な遅延要件を引き続き満たすことができることを確保しつつ、好ましくは既存の通信デバイスに導入される変更を制限しながら、導入する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【】
状況を改善することを目的とする。特に、産業用ネットワークにセキュリティメカニズムを導入する解決策を提案することによって、上述した従来技術の制約のうちの少なくともいくつかを克服することを目的とする。好ましい実施の形態において、例えばソフトウェア更新によって、既存の通信デバイス上であっても、展開することができる解決策を提案することを目的とする。
【課題を解決するための手段】
【】
この目的のために、第1の態様によれば、複数の通信デバイスによって共有される通信チャネル上で通信デバイスによってデータを送信する方法に関し、通信チャネル上の通信は、所定のサイクル期間で繰り返される時間サイクルに従って編成され、通信デバイスは、時間サイクルごとにデータを送信する必要があり、送信対象の新たなデータがない場合には、送信対象のデータは、ある時間サイクルから後続の時間サイクルまでの間で繰り返される。送信方法は、時間サイクルごとに、
通信デバイスによって、送信対象のデータに基づいて保護されたデータフレームを求めることと、
通信デバイスによって、通信チャネル上で保護されたデータフレームを送信することと、
を含む。
【】
また、各保護されたデータフレームは、所定の初期化ベクトルを使用することによって求められる保護されたコンテンツを含み、初期化ベクトルは、初期化ベクトルを変更せずに維持することができる最大継続時間に対応する、初期化ベクトルに関連付けられた寿命を有し、寿命は、所定の複数のサイクル期間以上である。初期化ベクトルは、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるとき、初期化ベクトルの寿命が満了していなければ、変更されない。
【】
したがって、本開示では、周期的送信の場合、すなわち、通信デバイス(例えばマスターPLC)が時間サイクルごとにデータを送信する必要がある場合を検討する。例えば100μsのサイクル期間で時間サイクルが繰り返される場合には、通信デバイスは、100μsごとにデータを送信する必要がある。通信デバイスは、サイクル期間ごとに送信する新たなデータを有しない場合があり、新たなデータがない場合には、通信デバイスは、以前の時間サイクルに送信されたデータを再送信する。したがって、サイクル期間が非常に短い(例えば30μs)場合には、通信デバイスは、全く同じデータを数回再送信しなければならない場合がある。
【】
時間サイクルごとに、通信デバイスは、初期化ベクトルに基づいて保護されたコンテンツを求める。従来の暗号アルゴリズムと同様に、この初期化ベクトルは、暗号アルゴリズムを初期化するのに使用される入力である。初期化ベクトルは、例えば、乱数または擬似乱数、もしくは暗号アルゴリズムの状態を変更するために少なくとも部分的に更新することができる任意の数を含む。保護されたコンテンツは、送信対象のデータを暗号化することによって求められる通信デバイスの暗号化データを認証する署名等を含むことができる。保護されたコンテンツは、当業者に既知の任意の暗号アルゴリズムを使用して計算することができる。通信デバイスは、その後、保護されたコンテンツを含む保護されたデータフレームを生成し、通信チャネル上で送信する。
【】
保護されたコンテンツを求めるために必要とされる計算複雑度を限定して、非常に短いサイクル期間であっても保護されたコンテンツを求めることを容易にするために、初期化ベクトルは、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルに送信されたデータと異なるときにのみ更新される。したがって、初期化ベクトルは、必ずしも各時間サイクルにおいて更新されるわけではないため、保護されたコンテンツを計算するのに使用される暗号アルゴリズムを、各時間サイクルにおいて実行する必要はなく、送信対象のデータが更新されるときにのみ実行される。サイクル期間が非常に短い、例えば30μsの産業用ネットワークでは、同じ保護されたコンテンツを、各時間サイクルにおいて最初から再計算する必要なく、いくつかの時間サイクルにわたって使用することができるように、同じデータを複数回繰り返すことができ、それによって、各時間サイクルにおける保護されたコンテンツの更新に関する計算複雑度を大幅に限定することができる。この限定された計算複雑度によって、保護されたコンテンツをソフトウェアで求めることを実施することができるため、既存の産業用ネットワークにおいても、ハードウェアの変更を伴うことなく簡単なソフトウェアアップデートによって本方法を使用することができる。
【】
ただし、同じ保護されたコンテンツを過度に多くの回数繰り返すことを防止し、リプレイ攻撃に対するロバスト性を高めるために、初期化ベクトルは、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるときであっても、通信デバイスに初期化ベクトルを強制的に反復して変更させる、寿命を有する。この寿命は、例えば、N≧2に対してN個のサイクル期間に等しいとすると、初期化ベクトル(及び初期化ベクトルから計算される保護されたコンテンツ)は、N個の連続した時間サイクルよりも長い間変更されずに維持されることができないようにしている。例えば、N≧3又はN≧5である。
【】
特定の実施の形態において、送信方法は、単独又は任意の技術的に可能な組み合わせのいずれかで考慮される以下の任意選択の特徴のうちの1つ以上を更に含むことができる。
【】
特定の実施の形態において、以前の時間サイクルのセキュア保護されたデータフレームのセキュア保護されたコンテンツは、現在の時間サイクルの保護されたコンテンツを再計算することが以前の時間サイクルと同じ保護されたコンテンツが得られると判断したことに応じて、保護されたコンテンツを再計算することなく、現在の時間サイクルにおいて繰り返される。
【】
特定の実施の形態において、保護されたデータフレームの保護されたコンテンツを求めることは、ソフトウェアによって実施される。
【】
特定の実施の形態において、各時間サイクルは、少なくとも第1のタイムスライス及び第2のタイムスライスを含み、第1のタイムスライスは、第2のタイムスライスの間に通信されるデータよりも高いタイミング制約を有するデータを通信するためのものであり、保護されたデータフレームは、第1のタイムスライスの間に送信される。
【】
特定の実施の形態において、保護されたデータフレームは、保護されたコンテンツを産業用イーサネットプロトコルスタックに提供することによって求められる。
【】
特定の実施の形態において、保護されたデータフレームは、保護されたコンテンツを産業用イーサネットタイムセンシティブネットワーキング(TSN)プロトコルスタックに提供することによって求められる。
【】
特定の実施の形態において、各保護されたデータフレームの保護されたコンテンツは、所定の対称鍵を使用することによって更に求められる。
【】
特定の実施の形態において、保護されたコンテンツは、署名及び/又は暗号化データを含む。
【】
特定の実施の形態において、保護されたデータフレームは、初期化ベクトルの全て又は一部を含む。
【】
特定の実施の形態において、初期化ベクトルの寿命は、N≧2である、サイクル期間のN倍以上である。好ましい実施の形態において、N≧5である。
【】
第2の態様によれば、通信デバイスによってデータフレームを受信する方法であって、データフレームは、本開示の実施の形態のいずれか1つに記載の送信方法を使用することによって別の通信デバイスによって送信され、通信デバイスは、保護されたデータフレームに含まれる保護されたコンテンツを処理して、別の通信デバイスを認証し及び/又は保護されたデータフレームに含まれるデータを解読する。受信方法は、
現在の時間サイクルにおける保護されたデータフレームを受信することと、
現在の時間サイクルの保護されたデータフレームから保護されたコンテンツを抽出することと、
現在の時間サイクルの保護されたデータフレームから抽出された保護されたコンテンツが、以前の時間サイクルにおいて受信された保護されたデータフレームから抽出された保護されたコンテンツと同一であることを検出したことと、初期化ベクトルが満了していないことを検出したこととに応じて、現在の時間サイクルの保護されたデータフレームの保護されたコンテンツを処理することなく、以前の時間サイクルの保護されたデータフレームの保護されたコンテンツの処理の結果を再利用することと、
を含む、受信方法
【】
特定の実施の形態において、受信方法は、単独又は任意の技術的に可能な組み合わせのいずれかで考慮される以下の任意選択の特徴のうちの1つ以上を更に含むことができる。
【】
特定の実施の形態において、保護されたコンテンツの処理は、ソフトウェアによって実施される。
【】
第3の態様によれば、少なくとも1つのプロセッサによって実行されると、本開示の実施の形態のいずれか1つに記載の送信方法及び/又は受信方法を実行するように少なくとも1つのプロセッサを構成する命令を含む、コンピュータプログラム製品
【】
第4の態様によれば、少なくとも1つのプロセッサによって実行されると、本開示の実施の形態のいずれか1つに記載の送信方法及び/又は受信方法を実行するように少なくとも1つのプロセッサを構成する命令を含む、コンピュータ可読記憶媒体
【】
第5の態様によれば、少なくとも1つのプロセッサ及び少なくとも1つのメモリを備え、本開示の実施の形態のいずれか1つに記載の送信方法及び/又は受信方法を実行するように構成される、通信デバイス
【】
第6の態様によれば、本開示の実施の形態のいずれか1つに記載の通信デバイスを複数備えるローカルエリアネットワーク(LAN)であって、通信デバイスのうちの少なくともいくつかは、デイジーチェーントポロジーに従って互いに接続されている、ローカルエリアネットワーク
【】
本発明は、以下の説明を読むことでより良く理解される。以下の説明は、決して限定的なものではなく一例として与えられ、図に関して作成されている。
【図面の簡単な説明】
【】
【図】IEEE802.1Qbv規格に従った時間サイクル及びタイムスライスの一例を表す図である。
【図】通信デバイスの概略図である。
【図】送信方法の一例示的な実施形態の主なステップを表す図である。
【図】送信方法の別の例示的な実施形態の主なステップを表す図である。
【図】セキュリティサブレイヤを含めて実施される種々のプロトコルレイヤの概略図である。
【図】受信方法の一例示的な実施形態の主なステップを表す図である。
【図】対称鍵を使用する署名計算の一例の概略図である。
【図】産業用イーサネットTSNで保護されたデータフレームの一例の概略図である。
【発明を実施するための形態】
【】
これらの図において、同一の参照符号は、同一又は類似の要素を示す。明瞭にするために、図示した要素は、別段の明示の指定がない限り、一律の縮尺でない。
【】
また、図に表されるステップの順序は、説明を目的として提供されているものにすぎず、本開示を限定することを意図するものではなく、同じステップが異なる順序で実行される場合にも適用することができる。
【】
図2は、産業用ローカルエリアネットワーク(LAN)等のLANに接続することができる通信デバイス20の一例示的な実施形態を概略的に表している。
【】
図2に示されるように、通信デバイス20は、アプリケーションユニット21及び通信ユニット22を備える。
【】
通信ユニット22は、少なくとも1つの有線通信プロトコルに従って、通信チャネル上でデータを送信及び受信するように適合されている。より具体的には、通信チャネルを介した通信は、所定のサイクル期間T0において繰り返される時間サイクルに従って編成される。すなわち、新たな時間サイクルはT0ごとに開始される。通信ユニット22は、周期的送信を行うように構成される。すなわち、通信ユニット22は、データの送信が、以前に送信されたデータを繰り返すことを意味するものであっても、時間サイクルごとに正確な時刻において通信チャネル上でデータを送信するように構成される。好ましい実施形態において、通信ユニット22は、少なくとも1つの産業用イーサネットプロトコル、すなわち、産業環境における標準イーサネットプロトコルに依拠し、決定性及びリアルタイム制御を提供するプロトコルを実施する。産業用イーサネットプロトコル、及びこの産業用イーサネットプロトコルの下位にある標準イーサネットプロトコルは、「産業用イーサネットプロトコルスタック」と総称される。ほとんどの産業用イーサネットプロトコルは、独自開発のプロトコルであり、標準イーサネットプロトコルに依拠することによって或る程度の相互運用性が導入される。例えば、通信ユニット22は、10BASE-T/100BASE-TX IEEE802.3規格等のIEEE規格に準拠する。通信ユニット22は、VLANタグ検出用のIEEE802.1Q規格及び/又は高精度のネットワーククロック同期若しくはギガビット速度用のIEEE1588-2008規格をサポートすることができる。好ましい実施形態において、通信ユニット22は、IEEE802.1Qbv規格等のIEEE TSN拡張版をサポートすることができる。産業用イーサネットプロトコルの例として、Ether-CAT(商標)、EtherNet/IP(商標)、PROFINET(商標)、POWERLINK、SERCOS(商標)III、CC-Link(商標)IE、Modbus(商標)等がある。本開示では、IEEE802.1Qbv規格等のTSN拡張版に依拠した産業用イーサネットプロトコルを、産業用イーサネットTSN(IE-TSN)プロトコルと呼ぶ。プロトコルCC-Link IE TSN(CCIET)は、IE-TSNプロトコルの非限定的な例である。IE-TSNプロトコルと、その下にある標準イーサネットプロトコル(TSN拡張版を含む)とを組み合わせたものを、「産業用イーサネットTSNプロトコルスタック」と呼ぶ。
【】
アプリケーションユニット21は、アプリケーションレイヤを実施する。アプリケーションレイヤは、通信ユニット22のサービスを使用し、その結果、通信チャネル上で別の通信デバイス20へ送信するデータを生成し、通信チャネル上で別の通信デバイス20から受信されたデータを処理する。複数の通信デバイス20が通信チャネルによって接続される産業用LANでは、各通信デバイス20は、例えば、PLC、センサ、アクチュエータ、ヒューマンマシンインターフェース(HMI)の中の1つとすることができ、アプリケーションレイヤは、考慮対象の通信デバイス20のタイプに依存する。
【】
通信ユニット22及びアプリケーションユニット21のそれぞれは、例えば、1つ以上のプロセッサ及び1つ以上のメモリを備える。1つ以上のプロセッサは、例えば、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)を含む。1つ以上のメモリは、任意のタイプのコンピュータ可読揮発性メモリ及び不揮発性メモリ(磁気ハードディスク、固体ディスク、光ディスク、電子メモリ等)を含む。1つ以上のメモリは、送信方法30及び/又は受信方法60のステップの全て又は一部を実施するために1つ以上のプロセッサによって実行される一組のプログラムコード命令の形態のコンピュータプログラム製品(ソフトウェア)を記憶することができる。代替として、又はそれらの組み合わせとして、通信ユニット22及びアプリケーションユニット21の一方又は双方は、送信方法30及び/又は受信方法60のステップの全て又は一部を実施する1つ以上のプログラマブルロジック回路(FPGA、PLD等)、及び/又は1つ以上の専用集積回路(ASIC)、及び/又は一組のディスクリート電子コンポーネント等を備えることができる。いくつかの場合には、基礎をなすハードウェアリソースの全て又は一部は、通信ユニット22及びアプリケーションユニット21が共有することができる。例えば、同じプロセッサ及び同じメモリを、通信デバイス20の通信ユニット22及びアプリケーションユニット21の双方が使用してもよい。
【】
好ましい実施形態において、通信ユニット22は、特に、非常に短いサイクル期間(100μs未満、例えば30μs)をサポートするために、専らハードウェア(FPGA、PLD、ASIC)で実施することができる。一方、アプリケーションユニット21は、ソフトウェア(すなわち、1つ以上のプロセッサによって実行されるプログラムコード命令)で実施することができる。アプリケーションユニット21及び通信ユニット22は、例えば、共有メモリを介してデータを交換することができる。
【】
好ましい実施形態において、通信デバイス20の全て又は一部は、デイジーチェーントポロジーに従って接続することができる。ただし、本開示では、他のトポロジーも考慮することができる。
【】
図3は、産業用LAN等のLANにおける通信デバイス20の周期的送信を保護する送信方法30の一例示的な実施形態の主なステップを概略的に表している。
【】
上述したように、従来の暗号アルゴリズムに依拠して、通信デバイス20による送信対象のデータを保護する。特に、初期化ベクトルが、通信チャネル上で送信される保護されたデータフレームに含まれる保護されたコンテンツ(例えば、通信デバイス20を認証する署名及び/又は送信対象のデータを暗号化することによって取得される暗号化データに対応する)を求めるのに使用される。一方、周期的送信の特異性を利用して、必要とされる計算複雑度を限定しつつ、そのようなセキュリティメカニズムを導入する。特に、従来のセキュリティメカニズムは、初期化ベクトルが各送信において更新されることを必要とするが、暗号アルゴリズムが時間サイクルごとに、すなわち、サイクル期間T0とともに実行される必要がないように、各送信(すなわち、各時間サイクル)における初期化ベクトルの更新を必要としない。
【】
図3に示されるように、送信方法30は、別の通信デバイス20へ送信対象のデータを取り出すステップS30を含む。このデータは、アプリケーションレイヤ(アプリケーションユニット21によって実施される)によって生成される。したがって、ステップS30の間に取り出される送信対象のデータは、アプリケーションデータに対応する。通信デバイス20は、周期的送信を行うので、現在の時間サイクルにおける送信対象のデータは、以前の時間サイクルに送信されたデータと同一である場合がある。実際、新たなデータが送信可能でない場合には、以前の時間サイクルにおいて送信されたデータが、現在の時間サイクルにおいて繰り返される。
【】
図3に示される例では、通信デバイス20、例えばアプリケーションユニット21は、ステップS31の間に、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるか否かを評価する。
【】
現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと異なる場合には(図3における参照符号S31a)、送信方法30は、初期化ベクトルを更新するステップS32へ進む。例えば、初期化ベクトルが乱数又は擬似乱数を含む場合には、初期化ベクトルを更新することは、(擬似)乱数発生器を使用して別の乱数又は擬似乱数を選択することを含む。代替として、又はそれらの組み合わせとして、初期化ベクトルは、更新されたときにインクリメント(又はデクリメント)されるカウンタを含むことができる。いくつかの場合には、初期化ベクトルは、更新されない静的部分(送信の通信デバイス20のアドレス若しくは宛先の通信デバイス20のアドレス、又はそれらの組み合わせ等)と、更新することができる動的部分とを含むこともできる。
【】
現在の時間サイクルにおける送信対象のデータが、以前の時間サイクルにおいて送信されたデータと同一である場合には(図3における参照符号S31b)、送信方法30は、初期化ベクトルの寿命が満了しているか否かを評価するステップS33へ進む。実際、初期化ベクトルが過度に多くの時間サイクルの間に変更されないことを防止するために、当該初期化ベクトルを変更せずに維持することができる最大継続時間を表す寿命が初期化ベクトルに関連付けられる。この寿命は、所定の複数のサイクル期間T0以上であり、送信対象のデータが以前の時間サイクルから変更されていないことを条件として、初期化ベクトルを少なくとも2つの時間サイクル(好ましくは3つ以上の時間サイクル)の間変更せずに維持することができることを保証するために、例えば、NがN≧2の整数であるとすると、寿命はN×T0に等しい。例えば、N≧3又はN≧5である。
【】
初期化ベクトルの寿命が満了している場合には(図3における参照符号S33a)、初期化ベクトルを更新する必要があり、ステップS32が実行される。初期化ベクトルの寿命が満了していない場合には(図3における参照符号S33b)、初期化ベクトルは更新されない。
【】
例えば、初期化ベクトルが(ステップS32の間に)更新されるごとに、カウンタLTがNに設定され(LT←N)、ステップS33は、寿命が満了しているか否かを評価する前にカウンタLTを最初にデクリメントする(LT←LT-1)。ステップS33において、LT=0である場合には、寿命は満了しているとみなすことができる。
【】
図3に示されるように、送信方法30は、その後、初期化ベクトルを使用することによって保護されたコンテンツを求めるステップS34へ進む。保護されたコンテンツは、例えば、通信デバイス20を認証する署名及び/又は暗号化データ(この場合、保護されたコンテンツは送信対象のデータにも基づいて求められる)を含むことができる。ステップS34は、好ましくはアプリケーションユニット21によって実行される。以下で詳述するように、保護されたコンテンツを求めることは、暗号アルゴリズムを実行することによって当該保護されたコンテンツを計算すること、又は、可能であるときは、以前の時間サイクルに送信された保護されたコンテンツを繰り返すことのいずれかに対応する。
【】
前述したように、保護されたコンテンツを求めることは、当業者に既知の任意の暗号アルゴリズムを使用することができる。好ましい実施形態において、保護されたコンテンツは、所定の対称鍵、すなわち、送信の通信デバイス20及び任意の受信の通信デバイス20の双方に既知の鍵を使用することによって更に求められる。対称鍵は、保護されたコンテンツを送信及び/又は受信する必要がある通信デバイス20に、従来の鍵配布方法を介して、例えば、当該通信デバイス20とトラステッド鍵サーバとの間に保護されたチャネルを確立することによって配布することができる。対称鍵配布は、本開示の範囲外である。一方、対称鍵は、反復的に、例えば、初期化ベクトルの寿命よりも長い(好ましくは、例えば、数時間以上といった、この寿命よりも大幅に長い)鍵更新周期を用いて周期的に更新されてもよい。したがって、いくつかの場合には、保護されたコンテンツは、初期化ベクトルが変更されない場合であっても、対称鍵の更新に起因して時間サイクル間で異なる場合がある。
【】
図3に示されるように、送信方法30は、その後、保護されたコンテンツを含む保護されたデータフレームを求めるステップS35へ進む。保護されたコンテンツが暗号化データを含まない場合には、アプリケーションレイヤによってステップS30の間に生成された送信対象のデータも、保護されたデータフレームに含まれる。保護されたデータフレームは、その後、ステップS36の間に通信チャネル上で送信される。保護されたデータフレームを求めるステップS35及び保護されたデータフレームを送信するステップS36は、通信デバイス20の通信ユニット22によって実行される。
【】
少なくとも1つの保護されたデータフレームが、時間サイクルごとに通信チャネル上で送信されることになるので、図3に示す送信方法30のステップは、各時間サイクルにおいて繰り返される。
【】
図4は、送信方法30の別の例示的な実施形態の主なステップを概略的に表している。図3に関して説明したステップは全て図4に含まれるが、寿命を取り扱う方法を変更するわずかに異なる順序を有する。図4に示されるように、送信方法30は、送信対象のデータを取り出すステップS30を含む。その後、送信方法30は、寿命が満了しているか否かを評価するステップS33に進む。寿命が満了している場合には(図4における参照符号S33a)、初期化ベクトルを更新するステップS32が実行される。寿命が満了していない場合には(図4における参照符号S33b)、送信方法30は、現在の時間サイクルにおける送信対象のデータが、以前の時間サイクルにおいて送信されたデータと同一であるか否かを評価するステップS31に進む。現在の時間サイクルにおける送信対象のデータが、以前の時間サイクルにおいて送信されたデータと異なる場合には(図4における参照符号S31a)、初期化ベクトルを更新するステップS32が実行される。現在の時間サイクルにおける送信対象のデータが、以前の時間サイクルにおいて送信されたデータと同一である場合には(図4における参照符号S31b)、初期化ベクトルは更新されない。その後、送信方法30は、保護されたコンテンツを求めるステップS34と、保護されたデータフレームを求めるステップS35と、保護されたデータフレームを通信チャネル上で送信するステップS36とを含む。例えば、寿命が満了している場合に(ステップS32の間に)初期化ベクトルが更新されるときにのみ、カウンタLTをNに設定することができる(LT←N)。したがって、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと異なることを理由として初期化ベクトルが更新される場合には、カウンタLTはNに設定されない。同様に、ステップS33は、寿命が満了しているか否かを評価する前にカウンタLTを最初にデクリメントし(LT←LT-1)、LT=0である場合には、寿命は満了しているとみなす。図4の実施形態において、初期化ベクトルは、その結果、N個の時間サイクルごとに周期的に更新され、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと異なるときにも更に更新することができる。したがって、図3の図4の実施形態よりも初期化ベクトルの更新がより少なくなる。
【】
上述したように、保護されたデータフレームを求めるステップS35及び保護されたデータフレームを送信するステップS36は、通信デバイス20の通信ユニット22によって実行される。本開示において導入されるセキュリティメカニズムがない場合、通信ユニット22は、アプリケーションレイヤによって生成された送信対象のデータを主に含むプロトコルデータユニット(PDU)を処理することになる。本開示によると、処理対象のPDUは、保護されたコンテンツを含むとともに、保護されたコンテンツが暗号化データを含まない場合には、送信対象のデータを含む場合がある。したがって、通信ユニット22とのインターフェースは、提案されたセキュリティメカニズムを導入するために実際に変更されるわけではなく、わずかに大きなサイズのPDUを処理するだけでよい。したがって、通信ユニット22がハードウェア(FPGA、ASIC)によって高速化される通信デバイス20では、本解決策は、通信ユニット22に対するハードウェアの変更を要しない。
【】
これは、下位のプロトコルレイヤがセキュリティメカニズムの導入による影響を受けないように、セキュリティメカニズムを高位のプロトコルレイヤに導入することに起因しており、これは、下位のプロトコルレイヤがハードウェア(FPGA、ASIC)によって高速化されているときに特に便利である。実際、図5に示されるように、セキュリティメカニズム(及び特に保護されたコンテンツのハンドリング)は、例えば、送信対象のデータを生成する(及び、他の通信デバイス20からデータを受信することができる)アプリケーションレイヤ50と、例えば産業用イーサネット(TSN)プロトコルスタックとすることができる周期的トランスポートプロトコルスタック52との間に位置するセキュリティサブレイヤ51によって実施される。周期的トランスポートプロトコルスタック52は、保護されたコンテンツを含むPDUを使用することによって送信対象の保護されたデータフレームを生成し、セキュリティサブレイヤ51に転送される保護されたコンテンツを、通信チャネル上で受信される保護されたデータフレームから抽出する。セキュリティサブレイヤ51は、いくつかの場合には迂回することができる。実際、セキュリティメカニズムが使用されないいくつかの場合がある。例えば、図1では、タイムスライス#1においてのみ保護されたデータフレームを使用することが可能であり、その場合に、保護されたコンテンツは、タイムスライス#2において送信されるデータフレームに含まれない。
【】
初期化ベクトル(又は、使用される場合には対称鍵)は、各時間サイクルにおいて必ずしも更新されるわけではない。そのため、保護されたコンテンツを計算するのに使用される暗号アルゴリズムは、各時間サイクルにおいて実行される必要はなく、この暗号アルゴリズムは、以前の時間サイクルの間に送信された保護されたデータフレームに含まれる保護されたコンテンツと異なる保護されたコンテンツを与える可能性があるときにのみ実行される。したがって、初期化ベクトルが更新された(すなわち、送信対象のデータが変化しているか又は寿命が満了している)とき、及び、対称鍵が使用される場合には対称鍵が更新されたときにのみ、暗号アルゴリズムを実行することによって保護されたコンテンツを計算する必要がある。それ以外の場合(初期化ベクトルの更新がない場合、及び、対称鍵が使用される場合には対称鍵の更新がない場合)には、ステップS34において保護されたコンテンツを求めることは、以前の時間サイクルの保護されたデータフレームにおいて送信された以前の保護されたコンテンツを取り出すこととすることができる。例えば30μsといった非常に短いサイクル期間では、ほとんどの場合において保護されたコンテンツを実際に計算する必要がなく、以前の保護されたコンテンツを繰り返すことができる。したがって、保護されたコンテンツを求めるために必要とされる計算複雑度は限定することができ、ソフトウェアの実施に適合することができる。より長いサイクル期間では、短いサイクル期間よりも多くの時間サイクルにわたって保護されたコンテンツを実際に計算することが必要となる場合であっても、この計算に利用可能な時間がより多くあり、したがって、これもソフトウェアの実施に適合する。したがって、保護されたコンテンツを求めるステップS34は、ソフトウェアで完全に実施することができ、その場合に、既存の産業用ネットワークにおいても、ハードウェアを変更することなく、通信デバイス20の簡単なソフトウェア更新によって本方法を導入することができる。
【】
図6は、受信の通信デバイス20によってデータを受信する方法60の一例示的な実施形態の主なステップを概略的に表している。データは、本開示の実施形態のうちの任意の1つによる送信方法30を使用することによって送信の通信デバイス20によって送信される。したがって、受信の通信デバイス20は、通信チャネル上で保護されたデータフレームを受信し、この保護されたデータフレームは、前述したような保護されたコンテンツを含む。受信の通信デバイス20は、保護されたコンテンツを処理して、送信の通信デバイス20を認証し(保護されたコンテンツが署名を含む場合)、及び/又は、データを解読する(保護されたコンテンツが暗号化データを含む場合)。ただし、保護されたコンテンツは、時間サイクル間で変更されずに維持される場合があるので、以前の時間サイクルにおいて受信された保護されたコンテンツの処理の結果を再利用することができるときは、処理は必ずしも時間サイクルごとに行われるわけではなく、それによって、受信側における計算複雑度も削減される。
【】
図6に示されるように、受信方法60は、通信チャネル上で現在の時間サイクルにおける保護されたデータフレームを受信するステップS60と、現在の時間サイクルの保護されたデータフレームから保護されたコンテンツを抽出するステップS61とを含み、これらのステップは、受信の通信デバイス20の通信ユニット22によって実行される。
【】
図6に示されるように、受信方法60は、その後、現在の時間サイクルの保護されたデータフレームから抽出された保護されたコンテンツが、以前の時間サイクルにおいて受信された保護されたデータフレームから抽出された保護されたコンテンツと同一であるか否かを評価するステップS62に進む。
【】
保護されたコンテンツが、以前の時間サイクルの保護されたコンテンツと異なる場合には(図6における参照符号S62a)、受信方法60は、現在の時間サイクルにおいて受信された保護されたデータフレームから抽出された保護されたコンテンツを(セキュリティサブレイヤ51によって)処理して、送信の通信デバイス20を認証し、及び/又は、データを解読するステップS63へ進む。初期化ベクトルが保護されたデータフレームに含まれていない場合には、受信の通信デバイス20は、当該受信の通信デバイスの初期化ベクトルが送信の通信デバイス20の初期化ベクトルと同期されていることを維持するために、その初期化ベクトルを更新し、更新された初期化ベクトルを使用することによって保護されたコンテンツを処理する。対称鍵が使用される場合には、対称鍵の更新によって、異なる保護されたコンテンツが明らかにされる場合もある。したがって、受信の通信デバイス20は、更新された対称鍵及びその以前の(更新されていない)初期化ベクトルを使用することと、更新された対称鍵及び更新された初期化ベクトルを使用することとによって、保護されたコンテンツを処理することができる。送信の通信デバイス20によって使用された初期化ベクトルが、保護されたデータフレームに(少なくとも部分的に)含まれる場合に、この初期化ベクトルを抽出して使用し、保護されたコンテンツを処理することができる。保護されたコンテンツを処理する前に、受信の通信デバイス20は、保護されたデータフレームから抽出された初期化ベクトルに対して更なる検証を行うことができる。例えば、使用された初期化ベクトルが、受信された保護されたデータフレームに少なくとも部分的に含まれるとき、受信方法60は、いくつかの場合には、使用された初期化ベクトルが満了しているか否かを評価する任意選択のステップS68を含む。抽出された初期化ベクトルの寿命が満了している場合には(図6における参照符号S68a)、潜在的なセキュリティ問題が検出され、受信方法60は、潜在的なセキュリティ問題をアプリケーションレイヤ50及び/又は(産業用)LANのアドミニストレータに報告するステップS66を任意選択で含む。初期化ベクトルの寿命が満了していない場合には(図6における参照符号S68b)、抽出された保護されたコンテンツを処理するステップS63が実行される。
【】
保護されたコンテンツの処理が成功した(すなわち、送信の通信デバイス20の認証及び/又はデータの解読が成功した)場合には、受信方法60は、保護されたデータフレームから抽出されたデータをアプリケーションユニット21のアプリケーションレイヤ50に転送するステップS64へ進む。
【】
保護されたコンテンツが、以前の時間サイクルの保護されたコンテンツと同一である場合には(図6における参照符号S62b)、現在の時間サイクルの保護されたデータフレームの保護されたコンテンツを処理することなく、以前の時間サイクルの保護されたデータフレームの保護されたコンテンツの処理の結果を再利用することができる。例えば、以前の時間サイクルの間に受信されたデータを現在の時間サイクルにおいて受信されたデータとしてアプリケーションレイヤ50に転送することができる。
【】
一方、いくつかの場合には、更なる検証を行うことができ、図6の受信方法60は、例えば、送信の通信デバイス20によって使用された初期化ベクトルが満了しているか否かを評価する任意選択のステップS65を含む。実際、受信の通信デバイス20は、初期化ベクトルがその寿命の満了のために更新されているはずであると判断することができる。したがって、初期化ベクトルが満了している場合に、これは、送信の通信デバイス20が、更新された初期化ベクトルを使用したはずであり、保護されたコンテンツが以前の時間サイクルの保護されたコンテンツと同一であるべきでないことを意味し、同一であることは、リプレイ攻撃等の潜在的なセキュリティ問題を示唆する。対称鍵が使用される場合には、同様の評価を行うことができる。実際、更新された対称鍵が送信の通信デバイス20によって使用されたはずである場合に、保護されたコンテンツは、以前の時間サイクルの保護されたコンテンツと同一であるべきでなく、同一であることは、同様にリプレイ攻撃等の潜在的なセキュリティ問題を示唆する。
【】
初期化ベクトルの寿命が満了している場合には(図6における参照符号S65a)、潜在的なセキュリティ問題が検出され、受信方法60は、潜在的なセキュリティ問題をアプリケーションレイヤ50及び/又はアドミニストレータに報告するステップS66を任意選択で含む。
【】
初期化ベクトルの寿命が満了していない場合には(図6における参照符号S65b)、同じ保護されたコンテンツ(以前の時間サイクルにおいて受信されたもの)の最後の処理の結果を再利用することができ、現在の時間サイクルにおいて受信された保護されたコンテンツを処理する必要はない。受信方法は、以前の時間サイクルの以前の保護されたコンテンツの処理の結果を再利用するステップS67を含む。このステップは、例えば、以前の時間サイクルの間に受信されたデータを現在の時間サイクルにおいて受信されたデータとしてアプリケーションレイヤ50に転送することを含む。時間サイクルごとに保護されたコンテンツを処理する必要がないので、保護されたコンテンツの処理(及び一般的にセキュリティサブレイヤ51)の計算複雑度は限定され、ソフトウェアの実施に適合する。したがって、保護されたコンテンツを処理するステップS63は、ソフトウェアで完全に実施することができ、その場合に、既存の産業用ネットワークにおいても、ハードウェアを変更することなく、通信デバイス20の簡単なソフトウェア更新によって本方法を導入することができる。
【】
次に、IE-TSNプロトコルスタックがアプリケーションユニット21のアプリケーションレイヤ50によって生成されたデータを伝送するのに使用される非限定的な場合における保護されたコンテンツ計算の非限定的な例を説明する。
【】
IE-TSNプロトコルスタックによる送信対象のPDUは、16ビット値レジスタの集合体(Reg16レジスタと呼ばれる)と、ブール値I/O状態(IOビットと呼ばれる)とを含み、これらは全てアプリケーションレイヤ50によって管理される。例えば、アプリケーションレイヤは、IO[1...n]と呼ばれるn個のIOビットと、Reg16[1...m]と呼ばれるm個のReg16(16ビット)レジスタとを管理することができる。
【】
例えば、保護されたコンテンツが署名に対応する場合には、署名が求められた後に当該署名をコピーすることができるReg16sigレジスタと呼ばれる追加のReg16レジスタを導入することができる(署名が以前の時間サイクルから変更されていない場合には、署名を再計算する必要はなく、Reg16sigレジスタの内容は、以前の時間サイクルから変更せずに維持することができる)。署名計算は、当業者に既知の任意の暗号アルゴリズム、例えば、SHA、MD5等の暗号ハッシュ関数、ハッシュ関数を使用することができる。
【】
保護されたコンテンツが暗号化データに対応する場合には、この暗号化データをIOビット及び/又はReg16レジスタにおいてコピーすることができる(それによって、アプリケーションレイヤ50によってIOビット及びReg16レジスタにおいて以前にコピーされた暗号化されていない送信対象のデータは消去される)。ただし、高度暗号化標準規格(AES)等のいくつかの暗号化アルゴリズムは、固定サイズのワード、例えば、AES-256アルゴリズムの場合には256ビットのワードを処理する。したがって、IOビット及びReg16レジスタにおけるビット数(送信対象のデータ)が、例えば256ビットよりも少ない場合には、256ビットのワードを取得するために、送信対象のデータを(例えば、0に設定されたビットを用いて)最初にパディングすることができ、256ビットの暗号化(パディング)されたデータをIO、Reg16レジスタ及びReg16encレジスタに記憶することができるように、Reg16encレジスタと呼ばれる追加のReg16レジスタを使用することができる。もちろん、データの一部のみを暗号化し、残りのデータを暗号化することなく送信することも可能である。例えば、Reg16レジスタ内のデータを暗号化することができる一方、IOビット内のデータは、暗号化することなく送信することができる。暗号化データの計算は、当業者に既知の任意の暗号アルゴリズム、例えば、AES、Triple DES、RSA等を使用することができる。
【】
図7は、対称鍵を使用する署名計算の非限定的な例を概略的に表している。図7に示される例では、初期化ベクトルの動的部分も、アプリケーションレイヤから受信されたデータ及び署名とともに送信され、Reg16IVレジスタと呼ばれる追加のReg16レジスタに含まれる。図7に示される例では、Reg16IV[1...nIV]と呼ばれるnIV個のReg16IVレジスタが使用され、初期化ベクトルの動的部分が32ビットを備えるようにnIV=2である。初期化ベクトルは静的部分も含み、この静的部分は送信されず、この例では、Reg16IV[1...nIV]における初期化ベクトルの動的部分と連結される送信通信デバイス20の16ビットのIE-TSNアドレスに対応する。署名を計算するために、初期化ベクトル(静的部分及び動的部分)は、IO[1...n]及びReg16[1...m]において、アプリケーションレイヤから受信されたデータと連結される。その結果得られた連結データは、例えば、鍵付きハッシュメッセージ認証コード(HMAC)(RFC2104によって定義されている)を取得するために、暗号ハッシュ関数を使用することによって256ビットの対称鍵と組み合わされる。例えば、使用されるハッシュ関数は、SHA関数(RFC6234によって定義されている)である。そうすることによって、256ビットHMACが取得される。IE-TSNプロトコルスタックに転送されるPDUのサイズを削減するために、HMACは、署名を生成するように任意選択でトランケートされてもよい。例えば、HMACの最上位から32ビット(MSB)のみが維持され、それによって、送信通信デバイス20を認証するのに使用することができる32ビットの署名が生成される。この署名は、Reg16sig[1...nsig]と呼ばれるnsig=2個のReg16sigレジスタにおいてコピーすることができる。
【】
図8は、図7の署名(保護されたデータ)を含むIE-TSN保護されたデータフレームの非限定的な例を概略的に表している。上述したように、この例は、初期化ベクトルの動的部分も、通信ユニット22によって実施されるIE-TSNプロトコルスタックに転送されるPDUに含まれることを非限定的に考慮している。ただし、他の例では、初期化ベクトルは、IE-TSNプロトコルスタックに転送されるPDUに完全に含まれる場合もあるし、部分的にしか含まれない場合もあるし、全く含まれない場合もある。
【】
図8に見られるように、IE-TSNフレーム構造は変更されておらず、唯一の変更は、IE-TSNプロトコルスタックに転送されるPDUのサイズが、レジスタReg16IV[1...nIV]及びReg16sig[1...nsig]の追加に伴って増加していることである。したがって、セキュリティメカニズムが、IE-TSNプロトコルスタックの上位であってアプリケーションレイヤ50の下位である上位セキュリティサブレイヤ51によって適用されるので、IE-TSNプロトコルスタックは変更されていない。通信ユニット22によって実施される周期的データフレーム生成がハードウェア(FPGA、ASIC)によって高速化される場合には、セキュリティメカニズムの導入は、既存のハードウェアによって高速化された周期的データフレーム生成に対して変更を要しない。
【】
したがって、限定された計算複雑度を有するセキュリティメカニズムを、LAN、特に産業用LANにおける周期的送信に導入する解決策を提案する。例えば、アプリケーションレイヤ50の直下にある高いプロトコルレイヤ(セキュリティサブレイヤ51)においてセキュリティメカニズムを導入することによって、下位のプロトコルレイヤは、セキュリティメカニズムの導入による影響を受けない。特に、セキュリティメカニズムは、任意の産業用イーサネット(TSN)プロトコルスタックの上位に円滑に導入することができる。また、セキュリティサブレイヤ51をソフトウェアによって実施することができ、既存の産業用ネットワークにおいても簡単なソフトウェア更新によって展開することができるように、計算複雑度は、保護されたコンテンツを計算する(すなわち、暗号アルゴリズムを実際に実行することによって計算する)必要がある頻度を限定することによって限定される。提案されたセキュリティメカニズムによって、上述した潜在的な攻撃の少なくとも一部に対するロバスト性が高められる。例えば、データを暗号化することによって、傍受に対するロバスト性が高められる。署名を含めることによって、データフレームインジェクション攻撃及びデータフレームリプレイ攻撃に対するロバスト性が高められる。
【図】
【図】
【図】
【図】
【図】
【図】
【図】
【図】
【手続補正書】
【提出日】
【手続補正】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項】
複数の通信デバイスによって共有される通信チャネル上で前記通信デバイスによってデータを送信する送信方法であって、前記通信チャネルを介した通信は、所定のサイクル期間で繰り返される時間サイクルに従って編成され、前記通信デバイスは、前記時間サイクルごとにデータを送信する必要があり、送信対象の新たなデータがない場合には、送信対象のデータは、ある時間サイクルから後続の時間サイクルまでの間で繰り返され、前記送信方法は、前記時間サイクルごとに、
前記通信デバイスが、前記送信対象のデータに基づいて保護されたデータフレームを求めることと、
前記通信デバイスが、前記通信チャネル上で前記保護されたデータフレームを送信することと、
を含み、
各前記保護されたデータフレームは、所定の初期化ベクトルを使用することによって求められる保護されたコンテンツを含み、前記初期化ベクトルは、前記初期化ベクトルを変更せずに維持することができる最大継続時間に対応する、前記初期化ベクトルに関連付けられた寿命を有し、前記寿命は、所定の複数のサイクル期間以上であり、前記初期化ベクトルは、前記初期化ベクトルの前記寿命が満了していないことを条件として、現在の時間サイクルにおける送信対象のデータが以前の時間サイクルにおいて送信されたデータと同一であるときは変更されない、送信方法。
【請求項】
前記以前の時間サイクルの保護されたデータフレームの保護されたコンテンツは、前記現在の時間サイクルの保護されたコンテンツを再計算することが前記以前の時間サイクルと同じ保護されたコンテンツをもたらすと判断したことに応じて、保護されたコンテンツを再計算することなく、前記現在の時間サイクルにおいて繰り返される、請求項1に記載の送信方法。
【請求項】
前記保護されたデータフレームの前記保護されたコンテンツを求めることは、ソフトウェアによって実施される、請求項2に記載の送信方法。
【請求項】
各前記時間サイクルは、少なくとも第1のタイムスライス及び第2のタイムスライスを含み、前記第1のタイムスライスは、前記第2のタイムスライスの間に通信されるデータよりも高いタイミング制約を有するデータを通信するためのものであり、前記保護されたデータフレームは、前記第1のタイムスライスの間に送信される、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
前記保護されたデータフレームは、前記保護されたコンテンツを産業用イーサネットプロトコルスタック又は産業用イーサネットタイムセンシティブネットワーキング(TSN)プロトコルスタックに提供することによって求められる、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
前記初期化ベクトルの前記寿命は、N≧2に対して前記サイクル期間のN倍以上である、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
各保護されたデータフレームの前記保護されたコンテンツは、所定の対称鍵を使用することによって更に求められる、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
前記保護されたコンテンツは、署名及び/又は暗号化データを含む、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
前記保護されたデータフレームは、前記初期化ベクトルの全て又は一部を含む、請求項1~3のいずれか1項に記載の送信方法。
【請求項】
通信デバイスによってデータフレームを受信する受信方法であって、前記データフレームは、請求項1~3のいずれか1項に記載の送信方法を使用することによって別の通信デバイスによって送信され、前記通信デバイスは、前記保護されたデータフレームに含まれる前記保護されたコンテンツを処理して、前記別の通信デバイスを認証し及び/又は前記保護されたデータフレームに含まれるデータを解読し、前記受信方法は、
前記現在の時間サイクルにおける保護されたデータフレームを受信することと、
前記現在の時間サイクルの前記保護されたデータフレームから前記保護されたコンテンツを抽出することと、
前記現在の時間サイクルの前記保護されたデータフレームから抽出された前記保護されたコンテンツが、前記以前の時間サイクルにおいて受信された前記保護されたデータフレームから抽出された前記保護されたコンテンツと同一であることを検出したことと、前記初期化ベクトルが満了していないことを検出したこととに応じて、前記現在の時間サイクルの前記保護されたデータフレームの前記保護されたコンテンツを処理することなく、前記以前の時間サイクルの前記保護されたデータフレームの前記保護されたコンテンツの処理の結果を再利用することと、
を含む、受信方法。
【請求項】
前記保護されたコンテンツの処理は、ソフトウェアによって実施される、請求項10に記載の受信方法。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項1~3のいずれか1項に記載の送信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータプログラム製品。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項10に記載の受信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータプログラム製品。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項1~3のいずれか1項に記載の送信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータ可読記憶媒体。
【請求項】
少なくとも1つのプロセッサによって実行されると、請求項10に記載の受信方法を実行するように前記少なくとも1つのプロセッサを構成する命令を含む、コンピュータ可読記憶媒体。
【請求項】
少なくとも1つのプロセッサ及び少なくとも1つのメモリを備え、請求項1~3のいずれか1項に記載の送信方法を実行するように構成される、通信デバイス。
【請求項】
少なくとも1つのプロセッサ及び少なくとも1つのメモリを備え、請求項10に記載の受信方法を実行するように構成される、通信デバイス。
【請求項】
請求項16に記載の通信デバイスを複数備えるローカルエリアネットワーク(LAN)であって、前記通信デバイスのうちの少なくともいくつかは、デイジーチェーントポロジーに従って互いに接続される、ローカルエリアネットワーク。
【請求項】
請求項17に記載の通信デバイスを複数備えるローカルエリアネットワーク(LAN)であって、前記通信デバイスのうちの少なくともいくつかは、デイジーチェーントポロジーに従って互いに接続される、ローカルエリアネットワーク。
【国際調査報告】

[広告欄]

ログインすれば広告は減ります

ログインすれば広告は減ります