(57)【要約】【課題】暗号鍵の寿命を延ばして安全なデータ通信を行う。【解決手段】本発明は、局側装置と加入者側装置とを備え、ＩＰ網に接続する上記局側装置と、上記加入者側装置とがＰＯＮシステム上の光伝送媒体を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う共通鍵暗号通信システムである。本システムは、サイクルカウンタおよびクロックカウンタの組み合わせを使用して平文データを暗号化する暗号化部を備えた。また、サイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部を備えた。【選択図】      図１
2013072965.tif 000002
【特許請求の範囲】
【請求項１】
局側装置と加入者側装置とを備え、ＩＰ網に接続する上記局側装置と、上記加入者側装置とがＰＯＮシステム上の光伝送媒体を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う共通鍵暗号通信システムにおいて、
上記局側装置から全ての上記加入者側装置へ送信すると判定されたマルチキャストフレームについて、ブロードキャスト用の事前共有暗号鍵を選択し、上記マルチキャストフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとしてサイクルカウンタおよびクロックカウンタの組み合わせを使用して平文データを暗号化する暗号化部を備えて構成されたことを特徴とする共通鍵暗号通信システム。
【請求項２】
局側装置と加入者側装置とを備え、ＩＰ網に接続する上記局側装置と、上記加入者側装置とがＰＯＮシステム上の光伝送媒体を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う共通鍵暗号通信システムにおいて、
上記局側装置からシングルコピーブロードキャストにて送信されたマルチキャストフレームでかつ暗号化情報が付加されている場合に、ブロードキャスト用の事前共有暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部を備えたことを特徴とする共通鍵暗号通信システム。
【請求項３】
上記暗号化部で暗号化されたマルチキャストフレームをシングルコピーブロードキャストにて上記加入者側装置へ送信する送信部と、
上記加入者側装置との間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記加入者側装置へ送信するよう制御する制御部とを備え、
上記暗号化部が、上記加入者側装置へ送信するデータフレームが上記加入者側装置との間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記加入者側装置が生成して上記局側装置に通知した個別の暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、平文データを暗号化することを特徴とする、請求項1に記載の共通鍵暗号通信システム。
【請求項４】
上記復号化部が、上記局側装置から受信したデータフレームが上記局側装置との間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化することを特徴とする、請求項２に記載の共通鍵暗号通信システム。
【請求項５】
上記局側装置へ送信するデータフレームが上記局側装置との間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、平文データを暗号化する暗号化部と、
上記局側装置との間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記局側装置へ送信するよう制御する制御部とを備えたことを特徴とする、請求項２又は４に記載の共通鍵暗号通信システム。
【請求項６】
上記加入者側装置から受信したデータフレームが上記加入者側装置との間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した個別の暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部を備えたことを特徴とする、請求項1又は３に記載の共通鍵暗号通信システム。
【請求項７】
局側装置と加入者側装置とを備え、ＩＰ網に接続する上記局側装置と、上記加入者側装置とがＰＯＮシステム上の光伝送媒体を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う共通鍵暗号通信システムにおいて、
上記局側装置が、当該局側装置から全ての上記加入者側装置へ送信すると判定されたマルチキャストフレームについて、ブロードキャスト用の事前共有暗号鍵を選択し、上記マルチキャストフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとしてサイクルカウンタおよびクロックカウンタの組み合わせを使用して平文データを暗号化する暗号化部と、上記暗号化部で暗号化されたマルチキャストフレームをシングルコピーブロードキャストにて上記加入者側装置へ送信する送信部と、上記加入者側装置との間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記加入者側装置へ送信するよう制御する制御部と、上記加入者側装置から受信したデータフレームが上記加入者側装置との間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した個別の暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部とを備え、
上記局側装置の暗号化部が、上記加入者側装置へ送信するデータフレームが上記加入者側装置との間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記加入者側装置が生成して上記局側装置に通知した個別の暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、平文データを暗号化し、
上記加入者側装置が、上記局側装置からシングルコピーブロードキャストにて送信されたマルチキャストフレームでかつ暗号化情報が付加されている場合に、ブロードキャスト用の事前共有暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部と、上記局側装置へ送信するデータフレームが上記局側装置との間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、平文データを暗号化する暗号化部と、上記局側装置との間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記局側装置へ送信するよう制御する制御部とを備え、
上記加入者側装置の復号化部が、上記局側装置から受信したデータフレームが上記局側装置との間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記加入者側装置にて生成して上記局側装置に通知した暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化することを特徴とする、請求項２に記載の共通鍵暗号通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光アクセスシステムのＰＯＮ( Passive Optical Network: 受動光ネットワーク) に関し、データ伝送の安全性を確保する共通鍵暗号通信システムに関するものである。
【背景技術】
【０００２】
非特許文献１のIEEE802.3ahで規格化されたポイント・マルチポイント通信方式 Ethernet Passive Optical Network（EPON）（Ethernetは登録商標）が光加入者収容方式として普及している。近年、次世代のEPONとして、非特許文献２のIEEE802.3avが標準化され、それに準拠したシステムの開発が進められている。図２に示すように、両方のシステムの局側装置であるOLT (Optical Line Terminal)と、加入者側装置である複数のONU (Optical Network Unit)とを光伝送媒体（光ファイバー及び光スプリッタ）で接続し、MAC（Media Access Control） フレームによってデータの送受信を行っている。OLTは通信網事業者局に設置され、ONUは加入者の宅内や屋外に設置される。
【０００３】
一方、PONの特性上、悪意有る加入者が他の加入者宛のフレームを盗聴できてしまう為、ONUなど各論理リンク毎に暗号鍵を用いてフレームを暗号化し、秘匿性を保持する必要がある。しかし、非特許文献１のIEEE802.3ahや非特許文献２のIEEE802.3avでは、イーサネットフレーム（イーサネットは登録商標）のような可変長データの暗号化方式を規定していない。
【０００４】
非特許文献４のIEEE802.1AEで規格化されたイーサネットの暗号通信方式は、非特許文献３に開示されたAES-128-GCM方式が採用されたものであるが、EPONシステムにも適用可能な暗号化方式として提案されている。
【０００５】
非特許文献４のIEEE802.1AEの規格では、MACフレームの宛先アドレスDA（Destination Address）および送信元アドレスSA (Source Address)以外のフィールドを暗号化したSecure Dataフィールドに、暗号化情報を示すSecTAG (MAC Security TAG)フィールドと、認証情報を示すICV (Integrity Check Value) フィールドを付加することで、セキュリティ通信を可能としている。
【０００６】
また、特許文献１に記載のPONシステムでは、マルチキャストグループに対応するマルチキャスト用暗号鍵でマルチキャストフレームを暗号化するとともにブロードキャストで加入者側装置へ送信する。このため、PONシステム上でデータフレームの秘匿性を保持しつつ効率良くデータ通信を行うことが可能である。
【０００７】
また、特許文献２に記載のEPON上の通信の安全を確保するシステムでは、OAM（Operation Administration and Maintenance）パケットとMPCP (Multi Point Control Protocol) パケットを暗号化し、ONUからOLTへの上流方向、およびOLTからONUへの下流方向のデータ通信の保護を行う。このため、盗聴者が特定のONUの身元を確認し、上流方向の妨害を阻止することが可能である。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】IEEE Std 802.3ah, 2004：IEEE編、「Physical Layers, and Management Parameters for Subscriber Access Networks.（IEEE Std 802.3ah-2004）[Online]、INTERNET、[2011年9月1日検索]＜URL:http://standards.ieee.org/getieee802/download/802.3ah-2004.pdf＞
【非特許文献２】IEEE Std 802.3av, 2009：IEEE編、「Physical Layer Specifications and Management Parameters for 10Gb/s Passive Optical Networks(IEEE Std 802.3avTM-2009)」[Online]、INTERNET、[2011年9月1日検索]＜URL:http://standards.ieee.org/getieee802/download/802.3av-2009.pdf＞
【非特許文献３】NIST Special Publication 800-38D：  Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC
【非特許文献４】IEEE Std 802.1AE: IEEE Standard for Local and metropolitan area networks Media Access Control (MAC) Security, 2006
【特許文献】
【０００９】
【特許文献１】特許第4685659号公報
【特許文献２】特開2010-158028号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来技術のようにIEEE Std 802.1AE準拠のフレームを用いると、SecTAG (MAC Security TAG)に定義された32ビット長のPN （Packet Number）フィールドにパケット毎にインクリメントされるカウンタ値を使用することになる。この場合、Counter Mode固有の脆弱性が存在するので、PNフィールドに一度使用した値を二度以上使用することは許されない為、PNの値がオーバーフローする前に暗号鍵を更新しなければならない。
【００１１】
一つの暗号鍵の寿命は、PNフィールドから暗号化するパケット数により決まる。SCI (Secure Channel Identifier；安全確保したチャネル識別子) オプションヘッダを付与しないSecTAGのサイズが8バイト、ICV (Integrity Check Value；完全性チェック値)のサイズが16バイトの場合、IEEE 802.1AE準拠のフレームサイズは24バイト増えることになるが、非特許文献２のIEEE802.3av準拠の光伝送路においての寿命を算出すると、最短で約426秒である。なお、算出根拠は以下の通りである。最小パケットの時間は86.4ns  （64バイト長が暗号化されて88バイトとなるので、プリアンブル8バイトとIFG12バイトを加算すると108バイトかつバイト当たりの時間0.8nsから算出）であるので、8.709GbpsのFEC（前方誤り訂正）レートだと、約10,080,645個／秒と算出できる。よって、PNフィールドで表せる2の32乗-1の値から最短時間を算出すると、約426秒と計算できる。
【００１２】
このように、IEEE802.3avにおける802.1AE準拠の暗号方式を使用した暗号鍵の最短の寿命時間は、約426秒と短い。
【００１３】
また、LLID毎に異なる暗号鍵を使用するユニキャストのデータ通信においては、新しい鍵交換は、再認証のシーケンスにより、ONUにてLLID毎に新しい暗号鍵を生成し、それをOLTに伝えることにより行われる。このとき、もしも再認証のシーケンスに異常があり、再認証に失敗すると、寿命が切れた古い暗号鍵を継続して使用することになる。この結果、脆弱性を持ったまま通信サービスを提供することになるか、もしくは、再認証が失敗したとして通信サービスを停止することになる。このため、新しい鍵交換の時間間隔は極力長いほうが望ましい。
【００１４】
さらに、全てのONUが同一のPSK (Pre-Shared Key；事前共通鍵)を使用するブロードキャストのデータ通信においては、鍵更新が困難ゆえ、鍵の寿命を極力長くして、脆弱性を低減する仕組みが必要である。
【００１５】
本発明は、このような課題に鑑みてなされたもので、PONシステム上で、暗号鍵の寿命を延ばし、安全なデータ通信を行うことができる共通鍵暗号通信システムを提供するものである。
【課題を解決するための手段】
【００１６】
本発明は、局側装置と加入者側装置とを備え、ＩＰ網に接続する上記局側装置と、上記加入者側装置とがＰＯＮシステム上の光伝送媒体を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う共通鍵暗号通信システムにおいて、上記局側装置から全ての上記加入者側装置へ送信すると判定されたマルチキャストフレームについて、ブロードキャスト用の事前共有暗号鍵を選択し、上記マルチキャストフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとしてサイクルカウンタおよびクロックカウンタの組み合わせを使用して平文データを暗号化する暗号化部を備えたことを特徴とする。また、上記局側装置からシングルコピーブロードキャストにて送信されたマルチキャストフレームでかつ暗号化情報が付加されている場合に、ブロードキャスト用の事前共有暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記局側装置と同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する復号化部を備えたことを特徴とする。
【発明の効果】
【００１７】
上記発明の構成により、暗号鍵の寿命が延びて、安全なデータ通信を行うことができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るＥＰＯＮ暗号化システムの構成例を示すブロック図である。
【図２】光通信ネットワークシステムの一例を示す構成図である。
【図３】通常フレームとIEEE802.1AE準拠の暗号フレームを示す構成図である。
【図４】EPON暗号化システムの暗号化ルールを示す表である。
【図５】GCMにおけるカウンターモードの動作説明図である。
【図６】GCMにおけるハッシュ演算部の動作説明図である。
【発明を実施するための形態】
【００１９】
以下に、本発明の実施形態について説明する。図１は本発明の実施形態に係るＥＰＯＮ暗号化システムの構成例を示すブロック図である。本発明の共通鍵暗号通信システムを構成するＥＰＯＮ暗号化システムは、局側装置と加入者側装置とを備えて構成されている。ＩＰ網に接続する上記局側装置と、上記加入者側装置とが、ＰＯＮシステム上の光伝送媒体（光ファイバー及び光スプリッタ）を介して接続され、暗号鍵を用いて上記光伝送媒体上でデータフレームによってデータ送受信を行う。局側装置及び加入者側装置は、送信機300と受信機400とを備えている。
【００２０】
送信機300は、送信平文フレーム310を暗号化パケット301に変換し、受信機400に送信する装置である。受信機400は、送信機300からの暗号化パケット301を受けて、暗号を復号し、受信平文フレーム410に変換する装置である。
【００２１】
送信機300は、OLTの下流方向への送信側、およびONUの上流方向への送信側に搭載される。受信機400は、ONUの下流方向の受信側、およびOLTの上流方向の受信側に搭載される。
【００２２】
送信機300内の各ブロックの構成は以下のようになっている。
【００２３】
送信平文フレーム310は、図３の13の平文のパケットフォーマットである。ヘッダ判定部311は、送信平文フレーム310のプリアンブル(Preamble)に含まれるLLID（PON固有のロジカルリンクID）を参照し、このLLIDの値で一意に決まる、個別のONU宛てか、PON内の全ONU宛のブロードキャストLLIDつまり下位15ビットが0x7FFEであるかを判定する。
【００２４】
SCI/PNテーブル351は、ヘッダ判定部311から受信したLLID値に対応したSCI(Secure Channel ID)の情報を読み出し、カウンタ処理部32へ送る。また、SCI/PNテーブル351は、LLID値と、そのLLIDに対応した現在使用中のAN（Association Number）の組み合わせに対応したPN（Packet Number）の値を読み出し、カウンタ処理部32へ送る。なお、読み出しPN（Packet Number）の値を＋１加算して、PNテーブルを更新しておく。暗号鍵/ハッシュ鍵テーブル352は、暗号鍵及びハッシュ鍵を記録しておく記憶手段である。
【００２５】
さらに、SCI/PNテーブル351は、LLID値と、そのLLIDに対応した現在使用中のAN（Association Number）の組み合わせに対応した暗号鍵およびハッシュ鍵を暗号鍵/ハッシュ鍵テーブル352から読み出して、暗号鍵Kを暗号コア381に送り、ハッシュ鍵Hをハッシュ演算部386へ送る。
【００２６】
フレーム内カウンタ36は平文をブロック単位、つまり128ビット単位に分割した場合の通し番号を生成し、カウンタ処理部32へ送る。PONクロックカウンタ33は、16ns周期でカウントアップされる32ビット長で、かつ、OLTとONUで同期しているPONクロックカウンタであり、カウンタ処理部32に接続される。サイクルカウンタ34は、PONクロックカウンタ33のオーバーフロー時に加算される周期カウンタであり、カウンタ処理部32に接続される。カウンタ処理部32は、入力ブロックカウンタ37を生成するブロックである。カウンタ処理部32の具体的な機能は後述する。
【００２７】
暗号認証生成部38は、暗号文とintegrity check value (ICV；完全性チェック値)を生成するブロックである。暗号認証生成部38の内部の構成は次のようになっている。
【００２８】
暗号コア381は、入力ブロックカウンタ37を入力として、暗号ストリームを出力するブロックである。Ex-OR部382は、送信平文フレーム310の暗号範囲の平文と、暗号コア381の出力した暗号ストリームとで、排他的論理和をかけて、結果をセレクタ385およびフレーム生成部39へ送る。Ek(Y0)384は、各パケットの最初の入力ブロックカウンタ値にて暗号化されたカウンタを保持するレジスターであり、セレクタ385に接続される。Length383は、非暗号文ブロックAの長さ、および暗号文Cの長さを保持するレジスターであり、セレクタ385に接続される。セレクタ385は、ハッシュ演算部386への入力を、図６の動作のように、適切に切り替えるセレクタである。ハッシュ演算部386は、内部に入力０をAES暗号コアで暗号化して演算されたハッシュ鍵Hを入力して保持するレジスター、直前のハッシュ演算結果Ｇを保持するレジスター、Ｇと入力の排他的論理和、および排他的論理和の出力とＨを掛け算するGF(2128)のガロア体乗算器を備えている。ハッシュ演算部386のハッシュ演算の最終出力T(87)は、ICV値としてフレーム生成部39に送られる。
【００２９】
図１のフレーム生成部39は、平文フレームを暗号化パケット301のフォーマットに変換する機能を有する。暗号化パケット301のフォーマットは、図３の１５のIEEE802.1AEに準拠したフレームフォーマットであり、MAC Security TAG (SecTAG)、integrity check value (ICV)を付与し、FCSを再演算して付与する。
【００３０】
次に、受信機400内の各ブロックの構成について説明する。
【００３１】
ヘッダ判定部411は、送信機300から受信した暗号化パケット301のプリアンブル(Preamble)に含まれるLLID（PON固有のロジカルリンクID）を参照し、LLIDの値で一意に決まる個別のONU宛てか、PON内の全ONU宛てのブロードキャストLLIDつまり下位15ビットが0x7FFEであるかを判定する。
【００３２】
SCI/PNテーブル451は、ヘッダ判定部411からのLLID値に対応したSCI(Secure Channel ID)の情報を読み出し、カウンタ処理部42へ送る。暗号鍵/ハッシュ鍵テーブル452は、暗号鍵及びハッシュ鍵を記録しておく記憶手段である。また、SCI/PNテーブル451は、LLID値と、受信フレームのSecTAGヘッダ内のAN（Association Number）フィールド値との組み合わせに対応した暗号鍵Kおよびハッシュ鍵Hを暗号鍵/ハッシュ鍵テーブル452から読み出す。そして、暗号鍵Kは暗号コア481に送り、ハッシュ鍵Hはハッシュ演算部486へ送る。また、上記ヘッダ判定部411は、SecTAGヘッダ内のPN(Packet Number)フィールド値をカウンタ処理部42へ送る。
【００３３】
フレーム内カウンタ46は暗号文をブロック単位つまり128ビット単位に分割した場合の通し番号を生成し、カウンタ処理部42へ送る。PONクロックカウンタ43は、16ns周期でカウントアップされる32ビット長、かつOLTとONUで同期しているクロックカウンタであり、カウンタ処理部42に接続される。サイクルカウンタ44は、PONクロックカウンタのオーバーフロー時に加算される周期カウンタであり、カウンタ処理部42に接続される。カウンタ処理部42は、入力ブロックカウンタ47を生成するブロックである。カウンタ処理部42の具体的な機能は後述する。
【００３４】
暗号認証復号部48は、暗号文を復号し、かつ、integrity check value (ICV)の正常性を判定するブロックである。暗号認証復号部48の内部の構成は次のようになっている。
【００３５】
暗号コア481は、カウンタ処理部42からの入力ブロックカウンタ47を入力として、暗号ストリームを出力するブロックである。Ex-OR部482は、暗号化フレーム301の暗号範囲の暗号文と、暗号コア481の出力した暗号ストリームとで、排他的論理和をかけて、結果をセレクタ485およびフレーム復号部49へ送る。Ek(Y0)484は、各パケットの最初の入力ブロックカウンタ値にて暗号化されたカウンタを保持するレジスターであり、セレクタ485に接続される。Length483は、非暗号文ブロックAの長さ、および暗号文Cの長さを保持するレジスターであり、セレクタ485に接続される。セレクタ485は、ハッシュ演算部486への入力を、図６の動作のように、適切に切り替えるセレクタである。ハッシュ演算部486は、内部に入力０をAES暗号コアで暗号して演算されたハッシュ鍵Hを入力して保持するレジスター、直前のハッシュ演算結果Ｇを保持するレジスター、Ｇと入力の排他的論理和、および排他的論理和の出力とＨを掛け算するGF(2128)のガロア体乗算器を備えている。ハッシュ演算部486のハッシュ演算の最終出力T(87)は、ICV比較487へ接続される。
【００３６】
ICV比較487は、受信した暗号化フレーム301内のICVフィールド値と、ハッシュ演算部486の出力Tとを比較し、一致すれば正常、不一致であれば異常と判定する。ICVの正常性の判定結果は、フレーム復号部49へ送られる。
【００３７】
フレーム復号部49は、通常の暗号化されていないパケットフォーマットへ変換する機能を有する。暗号化パケット301の場合、具体的には、図３の１５のIEEE802.1AEに準拠したフレームフォーマットから、MAC Security TAG (SecTAG)、integrity check value (ICV)を削除し、FCSの正常性を判定する。これにより、暗号化パケット301を図３の１３のフレームフォーマットへ変換する。
【００３８】
そして、上記送信機300及び受信機400を用いて以下の機能が実現される。
【００３９】
局側装置OLTでは、暗号化部と、送信部と、制御部と、復号化部としての機能を備えている。
【００４０】
上記暗号化部は、OLTから全ての加入者側装置ONUへ送信すると判定されたマルチキャストフレームについて、ブロードキャスト用の事前共有暗号鍵を選択し、上記マルチキャストフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとしてサイクルカウンタおよびクロックカウンタの組み合わせを使用して平文データを暗号化する。
【００４１】
上記送信部は、上記暗号化部で暗号化されたマルチキャストフレームをシングルコピーブロードキャストにて上記ONUへ送信する。
【００４２】
上記制御部は、上記ONUとの間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記ONUへ送信するよう制御する。
【００４３】
上記復号化部は、上記ONUから受信したデータフレームが上記ONUとの間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記ONUにて生成して上記OLTに通知した個別の暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、暗号データを復号化する。
【００４４】
そして、上記OLTの暗号化部は、上記ONUへ送信するデータフレームが上記ONUとの間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記ONUが生成して上記OLTに通知した個別の暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして任意の値およびクロックカウンタの組み合わせを使用して、平文データを暗号化する。
【００４５】
上記ONUは、復号化部と、暗号化部と、制御部としての機能を備えている。
【００４６】
上記復号化部は、上記OLTからシングルコピーブロードキャストにて送信されたマルチキャストフレームでかつ暗号化情報が付加されている場合に、ブロードキャスト用の事前共有暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記OLTと同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する。
【００４７】
上記暗号化部は、上記OLTへ送信するデータフレームが上記OLTとの間のＰＯＮ区間に固有のデータフレームである場合に、事前に上記ONUにて生成して上記OLTに通知した暗号鍵を選択し、上記データフレームに暗号化に関する情報を付加し、暗号化の初期ベクトルの上位４８ビットとして上記OLTと同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、平文データを暗号化する。
【００４８】
上記制御部は、上記OLTとの間のＰＯＮ区間に固有のフレームであることを示すＰＯＮ固有情報をプリアンブルに付加したデータフレームを、上記OLTへ送信するよう制御する。
【００４９】
上記ONUの復号化部は、上記OLTから受信したデータフレームが上記OLTとの間のＰＯＮ区間に固有のデータフレームでかつ暗号化情報が付加されている場合に、事前に上記ONUにて生成して上記OLTに通知した暗号鍵を選択し、復号化の初期ベクトルの上位４８ビットとして上記OLTと同期の取れたサイクルカウンタおよびクロックカウンタの組み合わせを使用して、暗号データを復号化する。
【００５０】
以上のように構成された共通鍵暗号通信システムは、次のように動作する。
【００５１】
図１の送信機300は、ユニキャストなどLLIDの値で一意に決まる個別のONU宛てのLLIDを付与するパケットに対しても、マルチキャストなど下り方向のPON内の全ONU宛てのBroadcast LLIDを付与するパケットに対しても、AES-128-GCM方式にて暗号化する。この送信機300によって、図３の１３の平文パケットが、図３の１５の暗号文パケットのフォーマットに変換されて出力される。
【００５２】
図１の受信機400は、ユニキャストなどLLIDの値で一意に決まる個別のONU宛てのLLIDを付与するパケットに対しても、マルチキャストなど下り方向のPON内の全ONU宛てのBroadcast LLIDを付与するパケットに対しても、AES-128-GCM方式にて暗号を復号化する。受信機400によって、図３の１５の暗号文パケットが、図３の１３の平文パケットのフォーマットに変換されて出力される。
【００５３】
まず、送信機300での暗号化動作について図５を用いて説明する。送信機300には、インプットブロックカウンタ72と暗号化回路73とEx-OR部74を備えられている。
【００５４】
Ex-OR部74は、入力フレーム71のDestination AddressとSource Addressの次から128ビット長毎に分割した平文Pm（m=0・・・n）と、インプットブロックカウンタ72を入力とした暗号化回路７３の出力（暗号ストリーム）とを、排他的論理和をかけて、暗号文Cm（m=0・・・n）を生成する。ここで、インプットブロックカウンタ72は、初期ベクトル(IV；Initial Vector)の上位64ビット、SecTAGに挿入するPN値32ビット、25ビットの0値、フレーム内カウンタ36の7ビットを結合した128ビットのカウンタである。インプットブロックカウンタ72では、パケット毎に初期化され、128ビットのブロック毎に＋１ずつ加算されていく。初期ベクトル(IV；Initial Vector)の上位64ビットについては後述する。
【００５５】
受信機400での暗号復号化動作では、暗号化されたイーサネットフレームのSecTAGの次から128ビット長毎に分割した平文Cm（m=0・・・n）と、インプットブロックカウンタを入力とした暗号化回路の出力（暗号ストリーム）とを、排他的論理和をかけて、元の平文Pm（m=0・・・n）を生成する。上記インプットブロックカウンタは、初期ベクトル(IV；Initial Vector)の上位64ビット、受信したSecTAG内のPN値32ビット、0値25ビット、フレーム内カウンタの7ビットを結合した128ビットのカウンタであり、パケット毎に初期化され、128ビットのブロック毎に＋１ずつ加算されていく値である。なお、Ek(Y0)７５は、インプットブロックカウンタ72の初期値を入力とした暗号化回路の出力（最初に暗号化されたカウンタ）である。
【００５６】
ハッシュ演算動作について、図６を用いて説明する。非暗号文ブロック81は、Destination Address、Source AddressおよびMAC Security TAG (SecTAG)から構成されている。この非暗号文ブロック81を128ビット長のブロック毎に分割し、ハッシュ演算を行う。第一ブロックA0はDestination Address、Source AddressおよびSecTAGのMACsecType16ビット、TCI/ANの8ビット、SLの8ビットである。SCIオプションを挿入する場合の第二ブロックA1は、SecTAGのPNの32ビット、SCI64ビットおよび0値32ビットであり、SCIオプションを挿入しない場合の第二ブロックA1は、SecTAGのPNの32ビットおよび0値96ビットである。なお、本発明ではSCIオプションを挿入せずに使用する。第一ブロックA0とハッシュ鍵HをGF(2128)のガロア体乗算器８５上で乗算し、その結果G0と、第二ブロックA1の排他的論理和をおこない、その結果とハッシュ鍵HをGF(2128))のガロア体乗算器８５上で乗算し、結果G1を得る。
【００５７】
暗号文ブロック82は、Destination AddressとSource Addressの次から128ビット長毎に分割して、暗号化された暗号文C0、C1・・・C(n-1)を指す。前述の結果G1と、暗号文C0の排他的論理和を行い、その結果とハッシュ鍵HをGF(2128)のガロア体乗算器８５上で乗算し、結果G2を得る。
【００５８】
以下、上記同様に繰り返し、結果G(n)と暗号文C(n-1)の排他的論理和を行い、その結果とハッシュ鍵HをGF(2128)のガロア体乗算器８５上で乗算し、結果G(n+1)を得る。第一ブロックA0と、第二ブロックA1を結合したAのビット長を64ビットに拡張した値Len(A)と、暗号文ブロック82の全体Cのビット長を64ビットに拡張した値Len(C)を結合してできる128ビットの値と、前述の結果G(n+1)の排他的論理和を行い、その結果とハッシュ鍵HをGF(2128)のガロア体乗算器８５上で乗算し、結果G(n+2)を得る。最後に、前述のEk(Y0)と前述の結果G(n+2)の排他的論理和を行い、その結果T(87)がハッシュ演算部の出力となる。次いで、ICVの長さ（８〜１６バイト）に応じて、T (87)の上位ビットから取り出して、ICVの値となる。
【００５９】
なお、本発明ではICVの長さは１６バイトを用いる。ICVの値は、送信機300のフレーム生成部39により、暗号化フレーム301のICVフィールドに挿入される。また、受信機400の暗号認証復号部48内のICV比較487にて、受信した暗号化フレーム301内のICVの値と、ハッシュ演算部486で演算して得られたICVの結果を比較して、不一致の場合は、異常フレームとして廃棄させ、一致した場合は正常フレームとして透過させる。
【００６０】
暗号化フレーム301へのSecTAGの付与動作について、説明する。
【００６１】
SCI/PNテーブル35１では、個別ONU宛のLLIDに対するSCI値および現在のPN値と、ブロードキャストLLIDに対する共通のSCI値および現在のPN値を保持している。SCI/PNテーブル45１も同様に、個別ONU宛のLLIDに対するSCI値および現在のPN値と、ブロードキャストLLIDに対する共通のSCI値および現在のPN値を保持している。個別ONU宛のLLIDに対するSCI値は、カウンタ処理部32および42にて入力ブロックカウンタを生成する際に、使用される。この場合は、SecTAGのSCBビットは0かつ、SCビットは0とし、SCIオプションフィールドを暗号化フレームフォーマット301に含めない。ブロードキャストLLIDに対する共通のSCI値は、カウンタ処理部32および42にて入力ブロックカウンタを生成する際に、使用される。この場合は、SecTAGのSCBビットは1かつSCビットは0とし、SCIオプションフィールドを暗号化フレームフォーマット301に含めない。その他のV (Version)フィールドは0固定、ES（End Station）フィールドは0固定とし、EビットおよびCビットは、ICV付き暗号化が有効なので、両方1として付与される。
【００６２】
SCIフィールドと初期ベクトル（Initial Vector）の上位64ビットに関し、図４を用いて説明する。
【００６３】
SCIフィールドは、システム識別子(System Identifier、以降SCI.SID)の上位48ビットと、ポート識別子(Port Identifier、以降SCI.PID)の下位16ビットの二つの情報を持つ。システム識別子(SCI.SID)は、非特許文献４のIEEE802.1AEによれば、送信元の暗号化ブロックに関連付けられたグローバルでユニークなMACアドレスと定義されている。また、ポート識別子(SCI.PID)は、前述のユニークなMACアドレスに関連するユニークなポート識別子を割り当てられると定義されている。ただし、ポート識別子(SCI.PID)は、ES=1かつSCB=0の時は、0x0001が予約されていて、SCB=1の時は、0x0000が予約されている。
【００６４】
すなわち、SCIフィールドは初期ベクトル（Initial Vector）の上位64ビットとして使用するが、システムが動作すると変更されることがない為、PNフィールドの値がオーバーフローすると暗号強度が脆弱になる。そこで、本発明では、PNフィールドの値がオーバーフローしても、暗号強度が下がらない仕組みを持つ。具体的には、図４のSCI.SIDおよびSCI.PIDを初期ベクトル（Initial Vector）の上位64ビットとして使用する。
【００６５】
図４の第１項目は、OLTからONUの下流方向へのディスカバリーゲート（Discovery Gate）やレジスター（Register）に使用する場合の、暗号化ルールを示している。ディスカバリーゲートは、未接続のONUを探すために定義されたMPCP（Multi-Point Control Protocol）と呼ばれるプロトコルの１つである。レジスターは、ONUにLLID（Logical Link Identifier）と呼ばれる論理リンク番号を付与するためのMPCPプロトコルの１つである。SCBは1をセットし、暗号鍵としては、システム固定のある値を事前に決めたPSKを用い、SCI.PIDとしては、0x0000を使用する。SCI.SIDとしては、OLT側はOLT自身のMACアドレスの48ビットを使用し、ONU側は送信元MACアドレスから抽出したアドレス（つまりOLT自身のMACアドレス）の48ビットを使用する。
【００６６】
図４の第２項目は、ONUからOLTへの上流方向への登録リクエスト（Register Request）に使用する場合の、暗号化ルールを示している。登録リクエストは、未接続のONUがOLTへリンク登録を要求する為に定義されたMPCPプロトコルの１つである。SCBは0をセットし、暗号鍵としては、システム固定のある値を事前に決めたPSKを用い、SCI.PIDとしては、0x0000を使用する。SCI.SIDとしては、ONU側は受信したDiscovery Gateの送信元MACアドレスから抽出したアドレス（つまりOLT自身のMACアドレス）の48ビットを使用し、OLT側はOLT自身のMACアドレスの48ビットを使用する。
【００６７】
図４の第３項目は、OLTからONUへの下流方向へのSCB（Single Copy Broadcast）の対象となるユーザフレームの場合の暗号化ルールである。SCBは1をセットし、暗号鍵としては、システム固定のある値を事前に決めたPSKを用い、SCI.PIDとしては、0x0000を使用する。SCI.SIDが特殊であることを示すために、SLの上位から２番目のビット（すなわち図３のUD2のビット）に１をセットする。SCI.SIDとしては、24ビットのサイクルカウンタと、PONクロックカウンタの上位24ビットを結合して48ビットを生成する。PONクロックカウンタとは、Optical Line Terminal(OLT; 局側装置)とOptical Network Unit（ONU；加入者側装置）間で同期しているPONクロックカウンタ（図１の33および43）のことである。24ビットのサイクルカウンタはOLT起動時から、PONクロックカウンタが桁あふれする度に＋１加算されるカウンタであり、本発明では、レジスター（Register）フレームの予約領域を用いて、サイクルカウンタの最新値がOLTからONUへ通知される。
【００６８】
なお、サイクルカウンタとPONクロックカウンタの組み合わせを初期ベクトルの一部とすることは、文献[CTR Mode of Encryption : Onn Haran, Passave, Olli-PekkaHiironen, Nokia , ［online］, ［平成22年8月25日検索］,インターネット＜URL：http://www.ieee802.orn/1/linksec/meetings/PrevSep02/haran_p2mp_2_0702.pdf＞]に提案されている。
【００６９】
以上は、フレームのプリアンブル(Preamble)に含まれるLLIDがブロードキャスト（Broadcast）つまり下位15ビットが0x7FFEである場合であり、以下は、そのLLIDが個別のユニキャスト(Unicast)の場合である。
【００７０】
図４の第４項目は、OLTからONUへの下流方向へのSCB（Single Copy Broadcast）の対象ではないユーザフレームや制御フレーム（MPCPやOAM等）の場合の暗号化ルールである。SCBは0をセットし、暗号鍵としては、LLID毎のデフォルトのPSK (Pre-Shared Key)または鍵交換したSAK（Security Association Key）を用い、SCI.PIDとしては、LLIDの値を使用する。SCI.SIDが特殊であることを示すために、SLの上位から２番目のビット（すなわち図３のUD2のビット）に１をセットする。SCI.SIDとしては、ONUのLLIDのMACアドレスの下位24ビットと、PONクロックカウンタの上位24ビットを結合して48ビットを生成する。
【００７１】
図４の第５項目は、ONUからOLTへの上流方向へのSCB（Single Copy Broadcast）の対象ではないユーザフレームや制御フレーム（MPCPやOAM等）の場合の暗号化ルールである。SCBは0をセットし、暗号鍵としては、LLID毎のデフォルトのPSK (Pre-Shared Key)または鍵交換したSAK（Security Association Key）を用い、SCI.PIDとしては、LLIDの値を使用する。SCI.SIDが特殊であることを示すために、SLの上位から２番目のビット（すなわち図３のUD2のビット）に１をセットする。SCI.SIDとしては、ONUのLLIDのMACアドレスの下位24ビットと、PONクロックカウンタの上位24ビットを結合して48ビットを生成する。
【００７２】
なお、該当ONU側で暗号開始した時のPONクロックカウンタの値と、OLT側で復号開始する時のOLTのPONクロックカウンタは、OLTと該当ONU間の往復遅延時間（Round Trip Time）分の時間差が有る為、復号開始のPONクロックカウンタは前述の往復遅延時間だけ過去に戻したPONクロックカウンタの値を用いる。
【００７３】
以上のように、SCB対象ユーザフレームの下流方向のブロードキャストLLIDに関し、暗号化または復号時の初期ベクトルの上位48ビットとして、サイクルカウンタ24ビットとPONクロックカウンタの上位24ビットの結合を使うことにより、暗号鍵の寿命を36.5年（16ns単位で加算される48ビットのカウンタがオーバーフローするまでの時間）に延ばすことができるようになる。
【００７４】
この結果、実質的に暗号鍵を変更することなく、ブロードキャスト用のPSK（Pre-Shared Key；事前共有鍵）を継続使用することが可能となる。
【００７５】
また、下流方向または上流方向のユニキャストLLIDのフレームに関し、初期ベクトルの上位48ビットとして、該当LLID自身のMACアドレスの下位24ビットと、PONクロックカウンタの上位24ビットの結合を使うことにより、PN（Packet Number）フィールドのオーバーフローが発生し、２度以上同じPN値を使うことになっても、PONクロックカウンタにより初期ベクトルが変化するので、暗号強度の脆弱性が軽減され、実質的に暗号鍵の寿命を延ばすことができるようになる。
【００７６】
この結果、PN（Packet Number）フィールドの閾値超過の度に鍵交換をする必要がなくなる。これにより、１時間や24時間などの間隔で周期的に鍵交換を実施すれば済むようになる。
【００７７】
なお、上記実施形態では、図４の第１項目〜第３項目のSCI.PIDの値として「0x0000」を指定したが、システムで共通の値を使うのであれば、任意の値でかまわない。
【００７８】
また、図４の第１項目〜第２項目のSCI.SIDの値として「OLT自身のMACアドレス」を指定したが、システムで共通の値を使うのであれば、任意の値でかまわない。
【００７９】
また、図４の第４項目〜第５項目のSCI.SIDの値として、「各ONUのLLID自身のMACアドレスの下位24ビットおよびPONクロックカウンタ上位24ビット」を指定したが、「OLTのMACアドレスの下位24ビットおよびPONクロックカウンタ上位24ビット」、もしくは、「OLTのMACアドレスの上位24ビットおよびPONクロックカウンタ上位24ビット」、もしくは、「システム共通の任意の24ビットの値およびPONクロックカウンタ上位24ビット」使用してもかまわない。
【００８０】
さらに、本発明は上記実施形態そのものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々の構成要素、公知技術等を付加、削除、変更等が可能である。また、上記実施形態に開示されている複数の構成要素を適宜組み合わせて、種々の発明を形成できる。
【符号の説明】
【００８１】
300：送信機、301：暗号化パケット、310：送信平文フレーム、311：ヘッダ判定部、32：カウンタ処理部、33：PONクロックカウンタ、34：サイクルカウンタ、351：SCI/PNテーブル、352：暗号鍵/ハッシュ鍵テーブル、36：フレーム内カウンタ、37：入力ブロックカウンタ、38：暗号認証生成部、381：暗号コア、382：Ex-OR部、383：Length、384：Ek(Y0)、385：セレクタ、386：ハッシュ演算部、39：フレーム生成部、400：受信機、410：受信平文フレーム、411：ヘッダ判定部、42：カウンタ処理部、43：PONクロックカウンタ、451：SCI/PNテーブル、452：暗号鍵/ハッシュ鍵テーブル、46：フレーム内カウンタ、44：サイクルカウンタ、48：暗号認証復号部、481：暗号コア、482：Ex-OR部、483：Length 、484：Ek(Y0)、485：セレクタ、486：ハッシュ演算部、487：ICV比較、49：フレーム復号部、ONU：加入者側装置、OLT：局側装置、K：暗号鍵、H：ハッシュ鍵。
【図１】
2013072965.tif 000003
【図２】
2013072965.tif 000004
【図３】
2013072965.tif 000005
【図４】
2013072965.tif 000006
【図５】
2013072965.tif 000007
【図６】
2013072965.tif 000008