JP2010258993A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2010258993A
JP2010258993A JP2009109753A JP2009109753A JP2010258993A JP 2010258993 A JP2010258993 A JP 2010258993A JP 2009109753 A JP2009109753 A JP 2009109753A JP 2009109753 A JP2009109753 A JP 2009109753A JP 2010258993 A JP2010258993 A JP 2010258993A
Authority
JP
Japan
Prior art keywords
calculation
value
way
unit
data
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.)
Granted
Application number
JP2009109753A
Other languages
English (en)
Other versions
JP5414346B2 (ja
Inventor
Kiyohiko Suzuki
清彦 鈴木
Akihiko Watanabe
明彦 渡邊
Keiji Watanabe
啓嗣 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric Building Solutions Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Building Techno Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Mitsubishi Electric Building Techno Service Co Ltd filed Critical Mitsubishi Electric Corp
Priority to JP2009109753A priority Critical patent/JP5414346B2/ja
Publication of JP2010258993A publication Critical patent/JP2010258993A/ja
Application granted granted Critical
Publication of JP5414346B2 publication Critical patent/JP5414346B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】機器間通信のためのデータの秘匿化処理と並行して実施できるデータの完全性認証処理を実現し、処理時間を低減させる。
【解決手段】制御装置1がデータを送信する場合は、送信データの認証範囲を先頭から1ByteずつウィンドウをスライドさせてストリームHASH計算部431がウィンドウサイズ分のHASH値を生成し、演算値累積加算部430が、HASH値が算出される度に、HASH演算の順序に従って累積加算していき、演算値累積加算部430の最終的な累積加算値を認証値として送信データに付加して、送信する。制御装置1がデータを受信する場合は、同様の手順によりストリームHASH計算部431がHASH値を算出するとともに演算値累積加算部430がHASH値を累積加算していき、演算値累積加算部430の最終的な累積加算値と受信データに付加されている認証値とを照合して、データの改ざんの有無を検証する。
【選択図】図1

Description

本発明は、データ処理装置での通信における機器認証、データ完全性認証、データ秘匿化に関し、特に、LCNA(Low Cost Network Appliance:以下LCNA)間通信に求められるセキュリティ強度を保ちながら、機器間通信の機器認証、データ完全性認証、データ秘匿化を軽量に行う技術に関する。
ビル設備(ファシリティ)機器とその管理機器からなるファシリティネットワークでは、空調管理や入退室管理といった各々の機能を実現するための多数の設備機器がビル内に存在し、これらは機能毎に制御装置により管理される。
制御装置は、管理サーバあるいは管理センタにより管理される。
制御装置は設備機器から取得したビル内の各種情報を管理サーバなどに送信すると共に、管理サーバからの各種コマンドに従い設備機器を制御する。
制御装置は、コスト面の制約から一般にLCNAが用いられる。
近年のファシリティネットワークではシステムのオープン化が求められている。
オープン化は機器コストや施設作業コストの低減が期待できる半面、接続の容易性からセキュリティの確保が必達である。
近年、ファシリティネットワーク内のLCNA間の通信では、オープンなプロトコルの1つであるIPv6プロトコルが普及しつつある。
その理由として、IPv6は多棟管理性、群管理性に優れ、広大なアドレス空間は大量の管理点数を管理する必要性に合致し、またアクセス制御に優れたサービス網を比較的安価に構築可能であることが挙げられる。
また、IPv6プロトコルスタックはIPsecを実装することが必須であるため、セキュリティの面においてもファシリティネットワークの要求に合致する。
しかしながら、IPv6はパーソナルコンピュータ(PC)がインターネットにアクセスすることを前提に作られた経緯がある。
従い、IPsecで用いられる暗号アルゴリズム、認証アルゴリズムは、高いセキュリティ強度を実現する反面、高い演算処理能力と計算容量を必要とする。
計算資源が豊富にあるPCと異なり、LCNAでIPsecを用いると、不必要に高いセキュリティ強度のために性能を犠牲とすることとなり、通信性能が数十分の一にまで低下してしまう。
ファシリティネットワークに求められるセキュリティは、インターネットなど広域網に求められるセキュリティとは異なる。
これはデータを保護すべき期間によるものである。
ファシリティネットワークにおいて機器認証及び秘匿通信を行う理由の1つは、緊急停止などの管理者コマンドを第三者が任意に発行することを防ぐことである。
顧客がファシリティネットワーク内の各種情報を閲覧する際、リアルタイムに第三者が傍受可能であれば、スプーフィング技術などを用いて第三者が顧客に事実と異なる情報を見せる恐れもある。
これを防ぐこともまた機器認証及び秘匿通信を行う理由の1つである。
一方、インターネットなどの広域網において機器認証及び秘匿通信が用いられる場合には、非公開文書の送受信やキャッシュカードの暗証番号の送信などがある。
こうした情報は、通信が終了した後でも長期間守られる必要がある。これに反して、ファシリティネットワークでは安全性の保証を必要とする期間が短く、通信する両者において送受信が完了した段階で完了する。
一例として、秘密鍵を3ヶ月毎に交換する場合、ファシリティネットワークの通信では、仮に秘匿通信内容が4ヶ月後に解読されたとしても、その時には既に秘密鍵は交換されており、従い緊急停止コマンドを送りつけて誤動作を引き起こすことを計画しても実施することは不可能である。
反して、秘密鍵を3ヶ月毎に交換するとしても、長期間守られる必要のある情報の場合は鍵交換後に解読されても有意な情報である。
こうした情報を秘匿するためには暗号論的秘匿強度が必要となるが、ファシリティネットワークの通信では必ずしも必要では無い。
また、ファシリティネットワークは通常数ヶ月周期でメンテナンスを行うため、自動的な秘密鍵交換プロトコルを有さないLCNAであっても、メンテナンス作業の一環としてこの周期で秘密鍵の交換が行えることが期待できる。
秘密鍵は数ヶ月毎の交換が期待できるため、仮にアルゴリズム自体に暗号論的秘匿強度が期待できないとしても、高々数ヶ月程度の秘匿強度さえ保証できれば、ファシリティネットワーク内のLCNAとの通信では秘密鍵の交換により第三者の脅威を防ぐことが可能である。
岡部ほか「非PC系ディジタル機器への適用に向けたIPv6最小要求仕様の検討」情報処理学会誌,Vol.42,No.9,pp.920−925,2001.
以上の如く、LCNAの通信では必ずしも暗号論的秘匿強度は必要ではない。
処理に要する計算量が少ない代わりに数ヶ月程度の強度しか無いアルゴリズムであっても、数ヶ月程度の強度が保証できるのであれば、秘密鍵の管理を行う限りファシリティネットワークでは永続的にセキュリティ強度を保つことが可能である。
注意として、この時間的前提は秘匿通信の鍵をビル設備のメンテナンス周期毎に交換することに依存するため、上記程度の強度は保証できなければならない。
ここで秘匿通信は、送信元認証とメッセージの改ざん検知機能もまた有する必要がある。
こうした処理を追加するために新たなハードウェアを追加することはコスト増加となるため、LCNAでは通常これらの処理をソフトウェア(以下、S/W)にて行う。
本質的に、メッセージ認証はメッセージパケットが秘匿化処理を完了していなければ実施できない。
単一のCPU(Central Processing Unit)により秘匿化処理と認証処理を行う場合、各々の処理のために異なるアルゴリズムを用いるのであれば、両処理は別々に行う必要がある。
すなわち、秘匿化処理中に該メッセージの認証処理を行うことは出来ず、メッセージの認証処理中に次のメッセージの秘匿化処理を行うことは出来ない。
通信の秘匿化処理や認証処理が如何に軽量であっても、秘匿化処理と認証処理が別々に動作する場合、こうした処理の排他性により処理時間が増加して通信性能が劣化する。
本発明は、上記の課題に鑑みたものであり、機器間通信のためのデータの秘匿化処理と並行して実施できるデータの完全性認証処理を実現し、データ秘匿化処理とデータ完全性認証処理を並行して実施することにより、処理時間を低減させる仕組みを実現することを主な目的とする。
なお、IPsecプロトコルでは暗号アルゴリズム、認証アルゴリズムはプロトコル自身と独立して実装可能である。上記の課題を解決する仕組みがIPsecプロトコルから利用可能であれば、IPv6のIPsec通信をLCNAで利用することが可能となる。
本発明に係るデータ処理装置は、
データの改ざん検知に用いられる認証値を生成するデータ処理装置であって、
改ざん検知の対象となる改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行って、演算対象データ長ごとの一方向演算値を複数算出する一方向演算部と、
前記一方向演算部により算出された複数の一方向演算値のうちの2以上の一方向演算値を一方向演算の順序に従って累積加算する演算値累積加算部と、
前記演算値累積加算部により累積加算された累積加算値を前記改ざん検知対象データの認証値とする認証値指定部とを有することを特徴とする。
本発明によれば、一方向演算値を順次算出するとともに、一方向演算値を累積加算することでデータ改ざん検知のための認証値を生成することができ、これにより、データ秘匿化処理と認証値を生成する処理とを並行して実施することができ、処理時間を低減させることができる。
実施の形態1〜6に係るファシリティネットワークの構成例を示す図。 実施の形態1に係る制御装置の構成例を示す図。 実施の形態1に係るストリームHASHを説明する図。 実施の形態1に係る制御装置のデータ送信時の処理例を示す図。 実施の形態1に係る制御装置のデータ受信時の処理例を示す図。 実施の形態1に係る制御装置の認証値の計算の流れを示す図。 実施の形態2に係る送信データの例を示す図。 実施の形態2に係る制御装置の構成例を示す図。 実施の形態2に係る制御装置のデータ送信時の処理例を示すフローチャート図。 実施の形態2に係る初期位置秘匿処理を示すフローチャート図。 実施の形態2に係る初期秘匿処理を示すフローチャート図。 実施の形態2に係る秘匿認証処理を示すフローチャート図。 実施の形態2に係る制御装置の認証値の計算と秘匿化処理の流れを示す図。 実施の形態2に係る制御装置の認証値の計算と秘匿化処理の流れを示す図。 実施の形態2に係る受信データの例を示す図。 実施の形態2に係る制御装置のデータ受信時の処理例を示すフローチャート図。 実施の形態2に係る初期位置復号処理を示すフローチャート図。 実施の形態2に係る復号処理を示すフローチャート図。 実施の形態2に係るスライディング処理を示すフローチャート図。 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。 実施の形態2に係る認証値を判定する動作を示す図。 実施の形態2に係る認証値判定後の動作を示す図。
実施の形態1.
図1は、本実施の形態及び以降の実施の形態で説明するファシリティネットワークの構成例を示す。
ビル側ネットワークでは、空調管理や入退室管理といった各々の機能を実現するための多数の設備機器がビル内に存在し、これらは機能毎に制御装置1により管理される。
制御装置1は、管理サーバあるいは管理センタにより管理される。
制御装置1は設備機器から取得したビル内の各種情報を管理サーバなどに送信すると共に、管理サーバからの各種コマンドに従い設備機器を制御する。
制御装置1は、コスト面の制約から一般にLCNAが用いられる。
制御装置1は、データ処理装置の例である。
本実施の形態では、制御装置1においてデータの完全性を保持するための構成と方式について述べる。
つまり、本実施の形態では、データ秘匿化処理と並行して実施できるデータの完全性を保持するための処理(以下、データ完全性認証処理ともいう)を説明する。
本実施の形態で説明するデータ完全性認証処理と並行してデータ秘匿化処理を行う例は実施の形態2以降で説明する。
換言すると、実施の形態2以降に示す制御装置1の動作からデータ秘匿化処理を捨象してデータ完全性認証処理を抽出すると、抽出されたデータ完全性認証処理は本実施の形態で説明するデータ完全性認証処理と同じ内容である。
実施の形態2以降で説明するようにデータ秘匿化処理とデータ完全性認証処理を並行して実行することにより、処理時間を短縮することができる。
なお、データ完全性認証処理とは、制御装置1がデータの送信側である場合は、制御装置1が送信データの改ざん検知に用いられる認証値を生成し、送信データに認証値を付加することであり、制御装置1がデータの受信側である場合は、受信データに対して演算を行って認証値を算出するとともに、受信データに付加されている認証値と算出した認証値とを照合して受信データの改ざんを検知することである。
図2は、本実施の形態に係る制御装置1の構成例を示す。
制御装置1は設備機器制御部2と通信制御部3の間にデータ完全性確保手段4が設けられている。
なお、通信制御部3は、データ送信部及びデータ受信部の例である。
データ完全性確保手段4は、その内部に送信側秘匿処理制御部41と、受信側秘匿処理制御部42、及びHASH計算部43を持つ。
送信側秘匿処理制御部41は、HASH計算管理部411と、送信側秘匿通信処理部412を持つ。
本実施の形態では、送信側秘匿通信処理部412は、データの秘匿化処理は行わずに、データ送信時に、HASH計算管理部411、ストリームHASH計算部431、演算値累積加算部430の制御を行う。また、送信側秘匿通信処理部412は、認証値を決定し、認証値を送信データに付加する。送信側秘匿通信処理部412は、認証値指定部の例である。
受信側秘匿処理制御部42は、HASH計算管理部421と、受信側秘匿通信処理部422を持つ。
このHASH計算管理部421は送信側秘匿処理制御部41が有するHASH計算管理部411と同じ機構である。
本実施の形態では、受信側秘匿通信処理部422は、データの復号処理は行わずに、データ受信時に、HASH計算管理部421、ストリームHASH計算部431、演算値累積加算部430の制御を行う。また、受信側秘匿通信処理部422は、受信データに付加されている認証値と、HASH演算により導出された認証値とを照合して、データの改ざんの有無を検証する。受信側秘匿通信処理部422は、照合部の例である。
HASH計算部43は、その内部にストリームHASH計算部431と演算値累積加算部430を有する。
ストリームHASH計算部431は、一方向演算であるHASH演算を行う。ストリームHASH計算部431は、一方向演算部の例である。
なお、ストリームHASH計算部431は、必ずしもストリームHASHを計算する必要は無く、HASH値を計算する手段を提供するものであれば良い。しかしながら、計算量の点からストリームHASHを採用することが好ましい。
本実施の形態ではRabin−Karp法に基づくRabin FingerprintingをHASH関数として採用する。
このHASH関数は、非特許文献2に述べられるものであり、出力長は64bitである。Rabin Fingerprintingの演算量は、データ1Byte辺りXOR2回、シフト2回、OR1回である。
また、演算値累積加算部430は、ストリームHASH計算部431によりHASH値が計算される度に、計算されたHASH値を順次累積加算していく。
演算値累積加算部430は、例えば、累積加算レジスタを用いて構成される。
非特許文献2:M.Rabin,“Fingerprinting by random polynomials,” Technical Report TR−15−81,Harvard University, Department of Computer Science,1981.
図3は、ストリームHASHについての説明を示す図である。
HASH値を計算する計算対象データ5から、ウィンドウサイズと呼ぶ一定の入力長のデータを切り出してHASH関数6に入力する。ウィンドウサイズは、ハッシュ演算の対象となるデータ長であり、演算対象データ長の例である。
切り出し方は51、52、53の如く、1Byteずつスライディングして切り出す。
51、52、53の如く切り出されたデータは、各々について、61、62、63の如くHASH値が生成される。
なお、本明細書では、ウィンドウのスライド量を1Byteとして説明するが、ウィンドウサイズよりもスライド量が少なければ(スライド量<ウィンドウサイズ)、スライド量は1Byteでなくてもよい。
HASH関数6は64bitの鍵により初期化されるため、異なる鍵で初期化されたHASH関数は同じ入力値であっても異なるHASH値を出力する。
また逆に、同じ鍵を用いて初期化されたHASH関数であっても、ウィンドウサイズが異なるHASH関数であれば異なる値を出力する。
すなわち、ストリームHASHは鍵とウィンドウサイズが一致することで初めて同じHASH関数が構成できる。
制御装置1は、設備機器からのデータを他の機器へ送信する際、前記データ完全性確保手段4を経由して、データの認証対象範囲(改ざん検知対象データ)に従い認証値を計算する。
この動作を図4に示す。
ここで、認証範囲は必ずしもMSB(Most Significant Bit)から送信データ全域である必要は無く、その一部であっても良い。
指定可能な最大範囲は送信データ全域であり、最小範囲は1bitである。
ただし実用上の最小単位は1Byteであるため、本明細書の以降の説明では最小範囲を1Byteで説明する。
認証開始位置と認証範囲を指定する方法は本実施の形態では問わないが、通常、送信データが有するヘッダに格納されているか、あるいは事前の取り決めによりなされる。
制御装置1は、他の機器からデータを受取った際、前記データ完全性確保手段4により受信データの完全性を検証する。
この動作を図5に示す。
認証範囲に従って受信データの認証値を計算した後、受信データが保持する認証値との比較を行う。
認証値が一致した場合、受信データは送信元から送信されたままのデータであるため正しい受信データとして扱う。
認証値が不一致の場合、受信データは経路の途中で改ざんされたか、あるいはデータが破損した場合である。
いずれの場合であっても受信データとして採用することは出来ず、ゆえにデータを破棄する。
受信側においても、認証開始位置と認証範囲を指定する方法は本実施の形態では特に問わない。
従来、メッセージに誤りが含まれていないことを確認する手段として、確認対象領域の全体に対するチェックサムが広く用いられている。
しかしながらチェックサムは容易に再計算可能であるため、データの改ざんを狙う第三者が通信路上に存在した場合、チェックサムも改ざんされていることが考えられる。
そこで本実施の形態では、データのチェックサムを用いる替わりに、改ざん検出したいデータの全域に対してHASH値を計算し、その総和を、データの完全性を保証する認証値として用いている。
認証値は共有する情報を知らなければ容易に再計算することは出来ない。
本実施の形態では、非特許文献2に基づきHASH値を計算するので、通信端点の両者において多項式の基数とウィンドウサイズの2つの情報を共有する必要がある。
本実施の形態では多項式の基数を鍵として用いる。
該基数の選択は、多項式であるHASH関数が既約となるように定めることが望ましい。
次に、データ完全性確保手段4が認証値を計算するまでの処理の流れを説明する。
まず、制御装置1が送信側である場合の制御装置1の処理について記述する。
送信側秘匿処理制御部41内のHASH計算管理部411では、通信端点の両者で共有すべき情報を管理し、最低限、認証値の計算に用いる鍵を含む。
本例の如くRabin FingerprintingをHASH関数として採用する場合、64bitの鍵と、ウィンドウサイズ、鍵より計算される係数テーブルである。これらが必要である理由は非特許文献2に依る。
係数テーブルは鍵が替わる毎に計算される。
送信側秘匿通信処理部412は認証値を計算すべき送信データが発生すると、HASH計算部43のストリームHASH計算部431と、HASH計算管理部411を用いて認証値の計算を行う。
認証開始位置と認証範囲は事前設定あるいは送信データヘッダに情報が格納されているものとする。
認証値の計算に先立ち、送信側秘匿通信処理部412はストリームHASH計算部431の初期化を行う。
この処理はHASH計算管理部411の係数テーブルをストリームHASH計算部431に設定することと、ウィンドウサイズ分の値0をストリームHASH計算部431に与えることで実現される。
初期化を終えた後、送信側秘匿通信処理部412は認証値の計算を行う。
この流れを図6に示す。
累積加算レジスタ4121の初期値は0である。累積加算レジスタ4121は、演算値累積加算部430を構成するレジスタである。
認証範囲の先頭からウィンドウサイズ分をストリームHASH計算部431に入力するとHASH値が出力されるため、この値を累積加算レジスタ4121に加算する。
本実施の形態では認証値のbit幅を64bitと想定しており、従い累積加算レジスタ4121もまた64bitである。
ただし、該bit幅は利用に際して適切な幅を選択してもよい。
認証範囲701がウィンドウサイズに満たない場合、認証範囲以外を0と見なしてストリームHASH計算部431に入力する。
ウィンドウサイズの次の1ByteをストリームHASH計算部431に入力することで、ストリームHASHは1Byte分スライディングすることとなる。
以降、ストリームHASH計算部431はスライディングするたびにHASH値を出力するため、累積加算レジスタ4121にて、HASH演算の順序に従って順次累積加算を行う。
ウィンドウの端が認証範囲の終点に到達し、その時に出力されたHASH値を累積加算レジスタ4121にて加算し終えると、送信側秘匿通信処理部412が累積加算レジスタの最終値(最終的な累積加算値)を認証値として採用する。
送信データ700を通信路に送信する際、送信側秘匿通信処理部412がこの認証値712を送信データ700に続けて送信する。
以上で送信側の認証値の計算を完了する。
受信側の処理は、通信制御部3がデータを受信した後、データ完全性確保手段4に渡されることで開始される。
認証値の計算方法は送信側の計算方法と同一である。
つまり、受信データの認証範囲(改ざん検知対象データ)を先頭から1ByteずつウィンドウをスライドさせながらストリームHASH計算部431がウィンドウサイズ分のHASH値を生成し、演算値累積加算部430が、ストリームHASH計算部431によりHASH値が算出される度に、HASH演算の順序に従って累積加算していく。
ただし、受信データは送信側で計算した認証値が付与されているため、受信側秘匿通信処理部422は、自身が計算した認証値(演算値累積加算部430の最終的な累積加算値)と送信側が付与した認証値との照合を行い、その結果をもって受信データの完全性の判定を行う。
送信側と受信側で同じ値となるためには同じHASH関数を構成する必要があり、そのためには通信端点の両者で同じ鍵とウィンドウサイズを共有する必要がある。
受信側で計算した認証値が、送信側から付加された認証値と一致するならば、認証範囲のデータは通信経路上で改ざんされていないといえる。
通信路上でデータが改ざんされると受信側で計算した認証値と送信側で付与した認証値が一致せず、改ざんを検出することが可能である。
秘密情報を共有していなければ認証値が一致しないため、当該処理は相手認証としても機能する。以上により、データ完全性機能、相手認証機能が実現できる。
国や地域によってはデータの秘匿化が禁止されている場合もあり、本実施の形態はこうした場合に対応することが可能である。
上記に述べた方法により、秘匿化処理を行わずに、平文に対するデータ完全性機能、相手認証機能を提供することが可能である。
なお、以上では、HASH値の累積加算値の最終値を認証値とする例を説明したが、途中の累積加算値を認証値にしてもよい。
例えば、送信側と受信側がN(N≧2)回目に算出された累積加算値を認証値とする旨を事前に取り決めておけば、N回目の累積加算値を認証値として用いることができる。
実施の形態2.
本実施の形態では、実施の形態1で説明したデータ完全性認証処理と同時にデータ秘匿化処理を行う例を説明する。
ここで、秘匿通信におけるデータの完全性機能とは、秘匿処理後のデータに対して提供されなければならないことに注意されたい。
つまり、本実施の形態では、データ送信時には、秘匿化処理がされた後のデータに対してHASH値を算出し、算出したHASH値の累積加算を行う。また、秘匿化処理は、HASH値の累積加算値を用いて行われる。
また、データ受信時には、復号処理が行われていない(秘匿化されたままの状態の)データに対してHASH値を算出し、算出したHASH値の累積加算を行う。また、復号処理は、HASH値の累積加算値を用いて行われる。
以降では、処理の一例として図7に示す送信データ700の秘匿化処理及び認証計算を行う。
本実施の形態で述べる秘匿化計算では、ソフトウェア(S/W)実装であっても秘匿化処理と認証計算を同時処理することが可能である。
これにより、秘匿処理と認証計算に各々別のアルゴリズムを用いる場合と比較して高速に処理を終えることが可能となる。
秘匿通信機能まで提供する制御装置1の構成を図8に示す。
図2の構成と比較して、HASH計算部43に初期HASH計算部432を取り付ける。
初期HASH計算部432はストリームHASH計算部431と異なるHASH計算部であれば任意であるが、本実施の形態では該手段の実装としてAdler−32やCRC−32などの32bitチェックサム計算手段の実装を想定する。
この理由は、S/W実装であっても処理が高速であり、かつ、鍵などの事前に既知とする前提条件が不要な計算部だからである。
なお、初期HASH計算部432もストリームHASH計算部431とともに一方向演算部の例である。
送信側は通信データを秘匿化し、そして受信側は秘匿化されたデータを復号する必要がある。
そのため、送信側秘匿通信処理部412と受信側秘匿通信処理部422の処理内容もまた実施の形態1で示した処理と異なる。
実施の形態1と異なり、送信側秘匿通信処理部412はデータ秘匿化処理を行い、受信側秘匿通信処理部422はデータの復号処理を行う。
本実施の形態に係る送信側秘匿通信処理部412は秘匿化処理部及び認証値指定部の例であり、本実施の形態に係る受信側秘匿通信処理部422は復号処理部及び照合部の例である。
以降、送信側秘匿通信処理部412及び受信側秘匿通信処理部422の処理の詳細を述べる。
送信側秘匿通信処理部412のフローチャートを図9、図10、図11、図12に示す。
また、フローチャートが述べる処理の内容を図13、図14に示す。
以下、これらの図面をもとに説明を行う。
まず、HASH計算管理部411に保持した係数テーブルをストリームHASH計算部431に設定することで初期化を行う。
送信データ700の秘匿認証範囲702の秘匿化と認証値計算のためにストリームHASH計算部431を用いるが、範囲702の先頭からウィンドウサイズ分はストリームHASHの性質上ストリームHASH計算部431を用いて秘匿化することが出来ない。
そのため、該部分の秘匿化処理は初期位置秘匿処理を用いて行う。
図9の初期位置秘匿処理では秘匿認証範囲702の先頭からウィンドウサイズ分のデータの秘匿処理を行う。
この初期位置秘匿処理のフローチャートは図10及び図11である。
ここで、図13は図11の動作を説明するための図である。
範囲702の先頭からウィンドウサイズ分の秘匿処理を行うために、送信側秘匿通信処理部412は、共有情報である鍵値4111を初期HASH計算部432に入力して、鍵値から計算した32bit値4321を得る。
この値4321を初期HASH計算部432の入力に用い、新たな32bit値4322を得る。この値4322と、送信データの先頭から32bit分とを送信側秘匿通信処理部412がXORし、その結果値を秘匿済みデータとする。
なお、図13〜図15において、秘匿認証範囲の着色部分は秘匿化済みのデータ部分を示している。
本実施の形態のウィンドウサイズは6Byteなので、残り2Byteが未だ平文のままである。
この領域を秘匿処理するために、送信側秘匿通信処理部412は、32bit値4322を初期HASH計算部432に入力して次の32bit値4323を得る。
この値4323と2Byte分の秘匿認証処理対象データを送信側秘匿通信処理部412がXORし、その結果値を秘匿済みデータとする。
以上によりウィンドウサイズ分の秘匿処理が完了する。
図9の秘匿認証処理では、ウィンドウサイズ分の秘匿処理を終えた後、秘匿認証範囲702全域の秘匿化と認証値計算を行う。
フローチャートは図12であり、その説明は図14である。
図14を用いて説明を行う。
送信側秘匿通信処理部412は、ウィンドウサイズ分の秘匿化済みデータをストリームHASH計算部431に入力し、その結果を累積加算レジスタ4121に加算する。
累積加算レジスタ4121の初期値は0である。
その後、ウィンドウの次の位置から8Byte分の送信データと、累積加算レジスタ4121の累積加算値とで送信側秘匿通信処理部412がXOR計算を行い、得られた結果を秘匿化データとする。
引き続き、送信側秘匿通信処理部412は、1Byte分スライディングし、前記同様にウィンドウサイズ分の秘匿化済みデータをストリームHASH計算部431に入力し、その結果を累積加算レジスタ4121に加算する。
その後、ウィンドウの次のデータから8Byte分の送信データと、累積加算レジスタ4121の累積加算値とで送信側秘匿通信処理部412がXOR計算を行い、得られた結果を秘匿化データとする。
注意として、XOR計算対象である8Byte分の送信データのうち7Byteは、スライディングする前にXOR計算を実施済みの領域である。重複してXORを行うことで、ビット系列の攪拌性が向上すると期待できる。
以降、送信側秘匿通信処理部412は、秘匿認証範囲702の終端から1Byte手前まで同様の処理を行い、範囲702の全域を秘匿化する。
その後、最後の1ByteについてHASH計算とHASH値の累積加算を行う。
この、累積加算レジスタ4121の最後の値を送信側秘匿通信処理部412が認証値712として送信データに付加する。
なお、データ秘匿化処理(XOR)がHASH演算に先行するため、秘匿認証範囲702の終端に近づくと7Byteの範囲でXOR計算を行い、更に1Byteスライドさせて6Byteの範囲でXOR計算を行うというように、1Byteスライドさせる度にXORの対象となるデータ量が1Byteずつ減少していく。
以上で送信側秘匿通信処理部412の処理を終了する。
送信側秘匿通信処理部412の処理において、秘匿処理と認証処理が同時に行われることがわかる。
つまり、本実施の形態では、ストリームHASH計算部431は、秘匿認証範囲(改ざん検知対象データ)の前方から順に、ウィンドウサイズ(演算対象データ長)分のデータのHASH演算を行ってHASH値を算出するとともに、送信側秘匿通信処理部412による秘匿化処理が行われる度に、所定のスライド量(スライド量<ウィンドウサイズ)分ウィンドウの対象範囲を後方にスライドさせスライド後のウィンドウサイズ分のデータのHASH演算を行ってHASH値を算出する。また、演算値累積加算部430は、ストリームHASH計算部431によりHASH値が新たに算出される度に、新たに算出されたHASHと、それまでに算出されているHASHの累積加算値とを累積加算して新たな累積加算値を算出し、送信側秘匿通信処理部412は、演算値累積加算部430により新たに累積加算値が算出される度に、新たに算出された累積加算値を用いて秘匿認証範囲の秘匿化処理を行う。
このようにして、本実施の形態では、データ完全性認証処理(HASH値の累積加算)とデータ秘匿化処理を並行して行っている。
次に受信側秘匿通信処理部422の処理について述べる。
図15は受信データの一例であり、本図の受信データ800を例に復号側の処理を述べる。
注意として、受信側秘匿通信処理部422は、認証値と同じサイズのデータを、{ウィンドウサイズ+認証値のサイズ}で計算されるエントリだけ格納可能なFIFO(First In First Out)(FIFO蓄積部)を有する。
本例ではウィンドウサイズは6Byte、認証値のサイズは8Byteなので、8Byte×14エントリ格納可能なFIFOを有するものとする。
受信側秘匿通信処理部422のフローチャートを図16、図17、図18、図19に示す。
また、これらフローチャートに従い、受信側秘匿通信処理部422が受信データ800を復号しながら認証値の判定も併せて行う動作を図20、図21、図22、図23、図24に示す。
復号処理の開始直後の動作を図20に示す。
処理の全体を示すフローチャートである図16のうち、初期位置復号処理、及び復号処理は直ちに終了する。
その理由は、スライディング処理が{ウィンドウサイズ+認証値のサイズ}で計算されるByte長まで処理を終えなければ、フラグ条件が成立しないためである。
スライディング処理は、未だ秘匿化が為されたままのデータの上を、ウィンドウをスライドしながら順次HASHを計算して累積加算レジスタを更新する処理である。
スライディング処理は、受信側秘匿通信処理部422による復号処理の開始に先立ち、図20に示すように、ストリームHASH計算部431が、秘匿化処理が行われている秘匿認証範囲の先頭から順に、ウィンドウサイズ分のデータのHASH演算を行ってHASH値を算出するとともに、スライド量(1Byte)分ウィンドウの対象範囲を後方にスライドさせスライド後のウィンドウサイズ分のデータのHASH演算を行ってHASH値を算出し、演算値累積加算部430は、ストリームHASH計算部431により算出されたHASH値をHASH演算の順序に従って累積加算する。
ストリームHASH計算部431は、64bitのHASH値を順次14個算出し、演算値累積加算部430は、14個のHASH値を順次累積加算して、14個の累積加算値を算出し、14個の64bit累積加算値を64bit×14段FIFO4222に出力し、64bit×14段FIFO4222が14個の64bit累積加算値を蓄積する。
なお、図20〜図24において、秘匿認証範囲の着色部分は秘匿化済み(未復号)のデータ部分を示している。
スライディング処理が{ウィンドウサイズ+認証値のサイズ}を超えると、初期位置復号処理と復号処理が開始される。
図21は初期位置復号処理の動作を示す図である。またフローチャートは図17である。
この処理は、送信側の初期位置秘匿処理に対応する処理であり、秘匿化されている受信データに送信側と同じ操作を行うことで復号する。
この処理は、スライディング処理におけるストリームHASHのスライディングウィンドウの左端が、秘匿認証範囲の開始位置から{ウィンドウサイズ+認証値のサイズ}Byte進んだ時に一度だけ実行される。
復号処理のフローチャートを図18に示す。この処理は、初期位置秘匿処理が終了した以降から行われる。この段階でFIFOエントリはフル状態である。
図22は、初期位置秘匿処理が終了した後、図16のループにおいて復号処理とスライディング処理が行われている場合の処理動作を図示したものである。
この動作は、スライディング処理におけるストリームHASHのスライディングウィンドウの右端が、秘匿認証範囲の右端に到達するまで為される。
図22では、まず復号処理が為され、次いでスライディング処理が為される。
初めて復号処理が為された時、初期位置秘匿処理の終了直後であり、復号の開始位置は秘匿認証範囲の開始位置からスライディングウィンドウサイズだけ進んだ位置である。
受信側秘匿通信処理部422は、FIFO4222からエントリを1つ取り出し、該位置から認証値と同じByte長の受信データとXOR演算を行う。
本例では8ByteのXOR演算が為される。
この際、復号されるのは、左側の1Byte分であり、残り7Byte及びその他の秘匿認証範囲の全域は以降の処理により1Byteずつ順次復号される。
一方、復号処理が終わると、スライディング処理が行われ、ストリームHASH計算部431によりHASH値が算出され、更に累積加算レジスタ4221がHASH値の累積加算を行い、累積加算値が、新たなエントリとしてFIFO4222へ格納される。
図23は、スライディング処理におけるストリームHASHのスライディングウィンドウの右端が、秘匿認証範囲の右端に到達した際の図である。
受信データ800が、秘密情報を共有する送信者が送信した時のまま、通信路上で改ざんされていないならば、このとき得られるHASH値を累積加算レジスタ4221に加算することで累積加算レジスタ4221の値は認証値812と一致するはずである。
受信側秘匿通信処理部422は、累積加算レジスタ4221の値と認証値812とを照合して秘匿認証範囲の改ざん有無を判定する。
もし一致しない場合、受信データは通信路上で欠損あるいは何らかの操作が為されたものであり、廃棄して受信側秘匿通信処理部422の処理を終了する。
右端に到達した際の累積加算レジスタ4221の値は認証値の判定にのみ用いられ、FIFO4222には格納しない。
また、図18ではSflgがONとなりスライディング処理が停止する。
図24は図23の後、未だ秘匿されている領域を復号する際の図である。
図18に従い、受信側秘匿通信処理部422は、FIFO4222からデータを抜き出し、秘匿化が為されているデータとXOR処理を行う。
1Byteずつずらしながらこの処理を行い全ての領域を復号する。
処理対象のデータが8Byteに満たない場合、送信側の処理との対応からFIFOエントリの右端側を用いてXOR処理を行う。
以上により、受信側の認証値判定と復号処理を終了する。
受信側においても、送信側と同様に復号処理と認証処理が同時に行われることがわかる。
つまり、本実施の形態では、受信側秘匿通信処理部422は、FIFO4222から累積加算値を順に取得し、取得した累積加算値を用いて、秘匿化処理が行われている秘匿認証範囲の前方から順に8Byte(復号対象データ長)分のデータの復号処理を行い、ストリームHASH計算部431は、受信側秘匿通信処理部422により8Byte分のデータの復号処理が行われる度に、秘匿認証範囲の前方から順に、所定のスライド量(スライド量<ウィンドウサイズ)分ウィンドウの対象範囲を後方にスライドさせながら、ウィンドウサイズ(演算対象データ長)分の復号されていないデータのHASH演算を行ってHASH値を算出し、演算値累積加算部430は、ストリームHASH計算部431によりHASH値が新たに算出される度に、新たに算出されたHASH値と、それまでに算出されているHASH値の累積加算値とを累積加算して新たな累積加算値を算出し、算出した新たな累積加算値をFIFO4222に出力する。
このようにして、本実施の形態では、データ完全性認証処理(HASH値の累積加算)とデータ復号処理を並行して行っている。
次に秘匿強度を考える。
注意として、ウィンドウサイズと鍵によりHASH関数が構成される。
いま、ウィンドウサイズを既知の固定長とし、鍵によってのみHASH関数が変化すると仮定する。また、解読に用いる計算機の演算能力は約56200MIPS程度と仮定する。この演算能力は現時点で現実的に入手可能な計算機のうち、演算能力の高い計算機の演算能力と同等である。非現実的な演算能力ではなく現実的な演算能力を想定することで、実際に攻撃を受けた場合を想定して強度の検証を行うことが可能となる。
HASH関数自体の計算量は1Byteあたり{XOR2回、シフト2回、OR1回}である。また、鍵によりHASH関数の出力値が変わるため、全数探索を行うためには、鍵を変えながらHASH関数のコリジョンを探索する必要がある。
まず、鍵が定まりHASH関数が定まっている場合、コリジョンを計算するためには、いわゆる誕生日攻撃により、2^(64/2)通りを計算すれば、コリジョンを起こすデータを50%の確立で特定できる。
すなわち、鍵を固定した場合、平文の冒頭の候補を見つけるまで凡そ0.382(秒)である。
しかし鍵が一致しない場合、スライディング計算を行うと値が異なるため全体を解読できない。
そして鍵が異なればHASH関数の出力値も変化するため、コリジョンを起こすための候補値を再計算し直す必要がある。
ゆえに、1つの鍵に対して0.382(秒)必要で、鍵の試行に2^64回必要である。ただし、非特許文献3、非特許文献4に述べるDES Challenge IIIの事例より、探索領域の20%程度で特定できると仮定する。
以上により、全数探索に掛かる時間は0.386×((2^(64))×0.20)(秒)=1.117×10^(10)(年)となるため、全数探索が非常に困難であるとわかる。
ここで、全数探索で鍵を特定する確率は、探索領域に対して一様である。
20%の探索で特定するという仮定は、過去の公式な解読事例のうち高速に解読が為された事例である非特許文献4より設定した値である。
非特許文献3:独立行政法人 情報処理推進機構「暗号の危殆化に関する調査報告書」
非特許文献4:RSA(登録商標) Laboratories, DES Challenge III:http://www.rsa.com/rsalabs/node.asp?id=2108
このように、本実施の形態によれば、高い演算処理能力と計算容量を持たないLCNAにおいて、LCNAの通信で要求される程度の秘匿強度、認証強度が保障できるスクランブル通信を提供することができる。
さらに、ソフトウェア実装であってもデータの秘匿化と認証計算が同時進行するため、高速な秘匿通信を実現することが可能である。
つまり、データ秘匿化処理とデータ完全性認証処理とを並行して実行することができるので、処理時間を低減させることができ、これにより、通信性能が劣化することを回避することができる。
本実施の形態に示したアルゴリズムはデータの秘匿化と完全性認証値計算を行うため、IPsecの暗号アルゴリズム及びデータ完全性認証アルゴリズムとして用いることが可能である。
IPsec自体は秘匿化アルゴリズム、データ完全性認証アルゴリズム共に特に規定しておらず、ただ実装必須アルゴリズム(DES、MD5、SHA−1)を定めているのみである。
しかしながら、IPsec自体がPC間通信を想定して設計されたため、実装必須アルゴリズムの計算負荷は高い。
IPsecはデータの秘匿化、完全性認証のみならず、リプレイ攻撃の防止などセキュリティ上優れた性質を有する。
しかしながらLCNAにてIPsecを用いると、セキュアな通信を実現できる一方、秘匿化、完全性認証処理が重く通信性能が低下する。
本実施の形態に係るアルゴリズムをIPsec処理に用いれば、計算量が少ないのみならず、秘匿化と完全性認証計算を一度に行うことが可能なので、秘匿化と認証計算が切り離された従来法よりも高速な処理が可能となる。
秘匿強度は通常のIPsecで利用されるアルゴリズムと比較して脆弱だが、LCNA間の通信に求められる強度としては十分である。
以上、本実施の形態では、機器認証、データ完全性認証、データ秘匿化を行う非PC系の安価な機器において、
鍵値とウィンドウサイズを特定することで構成可能なストリームHASH計算部と、Adler32演算論理と、ストリームHASHの出力値を累積して加算する加算装置とを含み、加算装置は値0で初期化され、通信路上で改ざんされたことを検出したい領域全体についてHASH計算を行い、HASH値を累積加算し、その結果の値をデータ完全性認証とすることで改ざんを検出する改ざん検出機能を有する通信方式および通信装置を説明した。
また、本実施の形態では、ストリームHASHの鍵値とウィンドウサイズを共有することで、送信側と受信側が同じ計算を行うことが可能となり、これにより機器認証を行う通信方式および通信装置を説明した。
また、本実施の形態では、加算装置の値を用いることで、改ざん検出機能と機器認証を行いながら、送信側であれば秘匿化処理を、受信側であれば復号処理を同時に行うことを可能とし、これにより高速な処理を行うことを可能とする通信方式および通信装置を説明した。
また、本実施の形態に係る通信方式および通信装置の秘匿強度は、全数探索に対して机上計算可能であり、該計算により秘匿強度が十分であるかを検討可能であることを説明した。
また、本実施の形態に係る通信方式はIPsecの暗号アルゴリズム及びデータ完全性認証アルゴリズムとして用いることが可能であることを説明した。
なお、上記では、ウィンドウサイズ(6Byte)とXOR演算の対象範囲(8Byte)が異なっている例を説明したが、ウィンドウサイズとXOR演算の対象範囲が同じByte数であってもよい。
実施の形態3.
実施の形態2では、図14の最初の処理が終了した段階で、認証値のサイズまで、即ち本例では8Byte先までは秘匿化が行われている。
そのため、図12の如く1Byte毎に秘匿計算を行うことを止め、秘匿化を行った後7Byte分のスライディングは出力されるHASH値の加算のみを行い、秘匿化は8Byteスライディング周期で行うこともまた可能である。
つまり、秘匿化は8Byteごとにウィンドウをスライドさせ、HASH値の計算は1Byteごとにウィンドウをスライドさせ、HASH値の累積加算は、算出されたすべてのHASH値を順次累積加算する。
これにより計算量を削減することが可能である。
すなわち、重複してXOR演算を行いビット系列の攪拌性向上を期待することを止めることに相当する。
この実装の場合、復号側のFIFOはCEIL{(ウィンドウサイズ+認証値のサイズ)/認証値のサイズ}分のエントリのみ用意すればよい。
ここでCEIL{数値}はその数値以上でかつ最も近い整数である。復号側ではFIFOに保持するエントリ数が少なくなるため、計算量のみならず記憶容量も削減される。
この場合もまた、メッセージとのXORを取らなければ、実施の形態1と同様に、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。
実施の形態4.
実施の形態2では、図14の最初の処理が終了した段階で、認証値のサイズまで、即ち本例では8Byte先までは秘匿化が行われている。
そのため、図12の如く1Byte毎に秘匿計算を行うことを止め、スライディングのみ行い、秘匿化を行った後7Byte分のスライディングは出力されるHASH値の加算も行わず、秘匿化と累積加算を8Byteスライディング周期で行うこともまた可能である。
つまり、秘匿化は8Byteごとにウィンドウをスライドさせ、HASH値の計算は1Byteごとにウィンドウをスライドさせ、HASH値の累積加算は8Byteごとに行う。
この場合もまた、復号側のFIFOはCEIL{(ウィンドウサイズ+認証値のサイズ)/認証値のサイズ}分のエントリのみ用意すればよい。
ここでCEIL{数値}はその数値以上でかつ最も近い整数である。復号側ではFIFOに保持するエントリ数が少なくなるため、計算量のみならず記憶容量も削減される。
この場合もまた、メッセージとのXORを取らなければ、実施の形態1と同様に、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。
実施の形態5.
前記の実施の形態4からさらに、秘匿化を行った後7Byte分はスライディングも行わず、スライディングウィンドウを8ByteステップでHASH値の計算、秘匿化及び累積加算を行うことで、計算量を大幅に削減することもまた可能である。
つまり、秘匿化、HASH値の計算、HASH値の累積加算のすべてを8Byteごとに行う。
上記による計算量の削減では、HASHウィンドウサイズが8Byte以上か以下かに注意が必要である。
ウィンドウサイズが8Byte以上の場合、上記の処理であっても、メッセージ全域に対してメッセージ完全性が保障できる。
しかしながら8Byte以下の場合、HASHスライディングせず8Byteスキップを行うため、8Byte毎に(8−ウィンドウサイズ)分のメッセージ精査抜けが生じる。
この場合、メッセージとのXORを取らなければ、平文に改ざん可能な余地を残すこととなる。
さらに、メッセージとのXORにより秘匿化処理が成されているとしても、秘匿化されたデータの完全性が保証できなくなり、第三者により一部のデータが破壊された際にそれを検出できない余地を残す。この場合、受信側ではデータの複号処理を実施してもデータが破壊されており、またそのことはデータの意味的な解釈でしか検出することが出来ない。
ゆえに、この計算量の削減を行う場合、ウィンドウサイズは8Byte以上である必要がある。
この場合もまた、メッセージとのXORを取らなければ、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。
このように、本実施の形態によれば、Rabin Fingerprintingに要するXOR2回、シフト2回、OR1回と、HASH値の累積のための加算1回、また秘匿化処理を行う場合、これに要するXOR演算1回(全て64bit演算)、を8Byte毎に行えばよく、非常に軽量にスクランブル処理を行うことを可能とする。
実施の形態6.
図16において、Aflgの値に従いデータを採用あるいは廃棄する。
Aflgは受信データの認証値と受信側で再計算した認証値が一致するかどうかの判定結果を格納したものであり、受信データの認証値と受信側で再計算した認証値が一致した場合は受信データを採用し、そうではない場合は廃棄している。
一致した場合や、一致しない場合の、受信データに対する操作ポリシーを予めメモリ等に格納しておき、そのポリシーにより、各場合の操作を決定することもまた可能である。ポリシーとは各場合に該受信データをどのように扱うかを記述した設定データである。
たとえば、受信データの認証値と受信側で再計算した認証値が一致しない場合に、改ざん状況の解析のためのデータベースに受信データを登録する等の操作ポリシーを設定することが考えられる。
また、操作ポリシーを送信元別に定めることもまた可能である。
たとえば、送信元Aからの受信データは、認証値が一致しない場合に破棄し、送信元Bからの受信データは、認証値が一致しない場合は改ざん状況の解析のためのデータベースに登録する等の操作ポリシーを設定することが考えられる。
なお、実施の形態1〜6の説明では、非PCのLCNAを対象とする例を説明したが、対象はLCNAに限らない。例えば、秘匿強度、認証強度等の条件が合致する環境であれば、PCに実施の形態1〜6で説明した方式を適用してもよい。
実施の形態1〜6で説明した方式をPCに適用する場合は、CPUがRAM(Random Access Memory)、ROM(Read Only Memory)、磁気ディスク装置等に格納されているデータを用いながら、設備機器制御部2、通信制御部3、送信側秘匿処理制御部41、受信側秘匿処理制御部42、HASH計算部43、HASH計算管理部411、送信側秘匿通信処理部412、HASH計算管理部421、受信側秘匿通信処理部422、演算値累積加算部430、ストリームHASH計算部431、初期HASH計算部432の各機能を実現するプログラムを実行して、実施の形態1〜6で示したデータ秘匿化処理及びデータ完全性認証処理を行うことになる。
1 制御装置、2 設備機器制御部、3 通信制御部、4 データ完全性確保手段、41 送信側秘匿処理制御部、42 受信側秘匿処理制御部、43 HASH計算部、411 HASH計算管理部、412 送信側秘匿通信処理部、421 HASH計算管理部、422 受信側秘匿通信処理部、430 演算値累積加算部、431 ストリームHASH計算部、432 初期HASH計算部。

Claims (20)

  1. データの改ざん検知に用いられる認証値を生成するデータ処理装置であって、
    改ざん検知の対象となる改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行って、演算対象データ長ごとの一方向演算値を複数算出する一方向演算部と、
    前記一方向演算部により算出された複数の一方向演算値のうちの2以上の一方向演算値を一方向演算の順序に従って累積加算する演算値累積加算部と、
    前記演算値累積加算部により累積加算された累積加算値を前記改ざん検知対象データの認証値とする認証値指定部とを有することを特徴とするデータ処理装置。
  2. 前記一方向演算部は、
    前記改ざん検知対象データの前方から順に、演算対象データ長分のデータの一方向演算を行って一方向演算値を算出するとともに、所定のスライド量(スライド量<演算対象データ長)分演算対象データ長の対象範囲を後方にスライドさせスライド後の演算対象データ長分のデータの一方向演算を行って一方向演算値を算出することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記演算値累積加算部は、
    前記一方向演算部により算出された複数の一方向演算値の全てを一方向演算の順序に従って累積加算し、
    前記認証値指定部は、
    前記演算値累積加算部により全ての一方向演算値が累積加算された後の累積加算値を前記改ざん検知対象データの認証値とすることを特徴とする請求項1又は2に記載のデータ処理装置。
  4. 前記データ処理装置は、更に、
    前記一方向演算部による一方向演算値の算出と前記演算値累積加算部による一方向演算値の累積加算と並行して前記改ざん検知対象データの秘匿化処理を行う秘匿化処理部を有することを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。
  5. 前記演算値累積加算部は、
    前記一方向演算部により一方向演算値が新たに算出される度に、新たに算出された一方向演算値と、それまでに算出されている一方向演算値の累積加算値とを累積加算して新たな累積加算値を算出し、
    前記秘匿化処理部は、
    前記演算値累積加算部により新たに累積加算値が算出される度に、新たに算出された累積加算値を用いて前記改ざん検知対象データの秘匿化処理を行うことを特徴とする請求項4に記載のデータ処理装置。
  6. 前記一方向演算部は、
    前記改ざん検知対象データの前方から順に、演算対象データ長分のデータの一方向演算を行って一方向演算値を算出するとともに、前記秘匿化処理部による秘匿化処理が行われる度に、所定のスライド量(スライド量<演算対象データ長)分演算対象データ長の対象範囲を後方にスライドさせスライド後の演算対象データ長分のデータの一方向演算を行って一方向演算値を算出することを特徴とする請求項5に記載のデータ処理装置。
  7. 前記演算値累積加算部は、
    一方向演算の順序に基づいて、前記一方向演算部により算出された複数の一方向演算値の中から2以上の一方向演算値を選択し、選択した一方向演算値を累積加算し、
    前記認証値指定部は、
    前記演算値累積加算部により選択された全ての一方向演算値が累積加算された後の累積加算値を前記改ざん検知対象データの認証値とすることを特徴とする請求項1又は2に記載のデータ処理装置。
  8. 前記データ処理装置は、更に、
    前記改ざん検知対象データに前記認証値指定部により指定された認証値を付加し、認証値が付加された改ざん検知対象データを送信先装置に送信するデータ送信部を有することを特徴とする請求項1〜7のいずれかに記載のデータ処理装置。
  9. 前記データ処理装置は、
    演算対象データ長と、前記一方向演算部による最初の一方向演算に用いられる鍵値とを前記送信先装置と共有していることを特徴とする請求項8に記載のデータ処理装置。
  10. 前記一方向演算部は、
    一方向演算として、ストリームハッシュ演算を行うことを特徴とする請求項1〜9のいずれかに記載のデータ処理装置。
  11. 改ざん検知の対象となる改ざん検知対象データと、前記改ざん検知対象データの改ざん検知に用いられる認証値を受信するデータ受信部と、
    前記改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行って、演算対象データ長ごとの一方向演算値を複数算出する一方向演算部と、
    前記一方向演算部により算出された複数の一方向演算値のうちの2以上の一方向演算値を一方向演算の順序に従って累積加算する演算値累積加算部と、
    前記演算値累積加算部により累積加算された累積加算値と、前記データ受信部により受信された認証値とを照合する照合部とを有することを特徴とするデータ処理装置。
  12. 前記一方向演算部は、
    前記改ざん検知対象データの前方から順に、演算対象データ長分のデータの一方向演算を行って一方向演算値を算出するとともに、所定のスライド量(スライド量<演算対象データ長)分演算対象データ長の対象範囲を後方にスライドさせスライド後の演算対象データ長分のデータの一方向演算を行って一方向演算値を算出することを特徴とする請求項11に記載のデータ処理装置。
  13. 前記演算値累積加算部は、
    前記一方向演算部により算出された複数の一方向演算値の全てを一方向演算の順序に従って累積加算し、
    前記照合部は、
    前記演算値累積加算部により全ての一方向演算値が累積加算された後の累積加算値と、前記データ受信部により受信された認証値とを照合することを特徴とする請求項11又は12に記載のデータ処理装置。
  14. 前記データ受信部は、
    秘匿化処理が行われている改ざん検知対象データを受信し、
    前記データ処理装置は、更に、
    前記一方向演算部による一方向演算値の算出と前記演算値累積加算部による一方向演算値の累積加算と並行して秘匿化処理が行われている改ざん検知対象データの復号処理を行う復号処理部を有することを特徴とする請求項11〜13のいずれかに記載のデータ処理装置。
  15. 前記データ処理装置は、更に、
    前記演算値累積加算部により算出された累積加算値をFIFO(First In First Out)方式により蓄積するFIFO蓄積部を有し、
    前記復号処理部は、
    前記FIFO蓄積部から累積加算値を順に取得し、取得した累積加算値を用いて、秘匿化処理が行われている改ざん検知対象データの前方から順に所定の復号対象データ長分のデータの復号処理を行い、
    前記一方向演算部は、
    前記復号処理部により復号対象データ長分のデータの復号処理が行われる度に、前記改ざん検知対象データの前方から順に、演算対象データ長分の復号されていないデータの一方向演算を行って一方向演算値を算出し、
    前記演算値累積加算部は、
    前記一方向演算部により一方向演算値が新たに算出される度に、新たに算出された一方向演算値と、それまでに算出されている一方向演算値の累積加算値とを累積加算して新たな累積加算値を算出し、算出した新たな累積加算値を前記FIFO蓄積部に出力することを特徴とする請求項14に記載のデータ処理装置。
  16. 前記一方向演算部は、
    前記改ざん検知対象データの前方から順に、演算対象データ長分のデータの一方向演算を行って一方向演算値を算出するとともに、前記復号処理部による復号処理が行われる度に、所定のスライド量(スライド量<演算対象データ長)分演算対象データ長の対象範囲を後方にスライドさせスライド後の演算対象データ長分のデータの一方向演算を行って一方向演算値を算出することを特徴とする請求項15に記載のデータ処理装置。
  17. 前記FIFO蓄積部は、
    複数の蓄積段数を有し、前記複数の蓄積段数分の累積加算値を蓄積可能であり、
    前記一方向演算部は、
    前記復号処理部による復号処理の開始に先立ち、秘匿化処理が行われている改ざん検知対象データの先頭から順に、演算対象データ長分のデータの一方向演算を行って一方向演算値を算出するとともに、前記スライド量分演算対象データ長の対象範囲を後方にスライドさせスライド後の演算対象データ長分のデータの一方向演算を行って一方向演算値を算出し、前記FIFO蓄積部の蓄積段数分の一方向演算値を算出し、
    前記演算値累積加算部は、
    前記復号処理部による復号処理の開始に先立ち、前記一方向演算部により算出された前記FIFO蓄積部の蓄積段数分の一方向演算値を一方向演算の順序に従って累積加算し、前記FIFO蓄積部の蓄積段数分の累積加算値を算出し、算出した累積加算値を前記FIFO蓄積部に出力し、
    前記復号処理部は、
    前記FIFO蓄積部に蓄積段数分の累積加算値が蓄積された後に、復号処理を開始することを特徴とする請求項16に記載のデータ処理装置。
  18. 前記一方向演算部は、
    nバイト(nは2以上の整数)の演算対象データ長分のデータの一方向演算を行ってmバイト(mは2以上の整数)の一方向演算値を算出し、
    前記FIFO蓄積部は、
    前記複数の蓄積段数として、n×m段の蓄積段数を有することを特徴とする請求項17に記載のデータ処理装置。
  19. 前記データ処理装置は、
    演算対象データ長と、前記一方向演算部による最初の一方向演算に用いられる鍵値とを前記改ざん検知対象データの送信元の装置と共有していることを特徴とする請求項11〜18のいずれかに記載のデータ処理装置。
  20. 前記一方向演算部は、
    一方向演算として、ストリームハッシュ演算を行うことを特徴とする請求項11〜19のいずれかに記載のデータ処理装置。
JP2009109753A 2009-04-28 2009-04-28 データ処理装置 Expired - Fee Related JP5414346B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009109753A JP5414346B2 (ja) 2009-04-28 2009-04-28 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009109753A JP5414346B2 (ja) 2009-04-28 2009-04-28 データ処理装置

Publications (2)

Publication Number Publication Date
JP2010258993A true JP2010258993A (ja) 2010-11-11
JP5414346B2 JP5414346B2 (ja) 2014-02-12

Family

ID=43319360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009109753A Expired - Fee Related JP5414346B2 (ja) 2009-04-28 2009-04-28 データ処理装置

Country Status (1)

Country Link
JP (1) JP5414346B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015177540A (ja) * 2014-03-13 2015-10-05 韓國電子通信研究院Electronics and Telecommunications Research Institute データ伝達装置およびその方法
CN105074799A (zh) * 2013-02-21 2015-11-18 佳能株式会社 哈希值生成装置
US9973336B2 (en) 2013-03-07 2018-05-15 Canon Kabushiki Kaisha Hash value generating device
US10789356B2 (en) 2016-12-06 2020-09-29 Alibaba Group Holding Limited Method, apparatus, and system for service data processing and verification

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200196A (ja) * 1996-01-24 1997-07-31 Brother Ind Ltd 暗号通信方式
JPH1079732A (ja) * 1996-09-03 1998-03-24 Iryo Joho Syst Kaihatsu Center ネットワークセキュリティシステムおよびネットワークセキュリティ方法
WO2002082715A1 (en) * 2001-04-03 2002-10-17 Mitsubishi Denki Kabushiki Kaisha Encrypting device
WO2003013054A1 (fr) * 2001-07-17 2003-02-13 Sharp Kabushiki Kaisha Dispositif et procede permettant de generer des donnees afin de detecter une mauvaise modification de donnees chiffrees pendant un traitement
JP2004134855A (ja) * 2002-10-08 2004-04-30 Nippon Telegraph & Telephone East Corp パケット通信網における送信元認証方法
JP2004320533A (ja) * 2003-04-17 2004-11-11 Fujitsu Ltd データ保障装置、データ通信装置、およびデータ保障方法
JP2004364022A (ja) * 2003-06-05 2004-12-24 Nec Corp 暗号化通信制御方式
JP2005523668A (ja) * 2002-04-25 2005-08-04 アイジーティー 暗号化コンピュータ化ゲームシステムにおける認証

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200196A (ja) * 1996-01-24 1997-07-31 Brother Ind Ltd 暗号通信方式
JPH1079732A (ja) * 1996-09-03 1998-03-24 Iryo Joho Syst Kaihatsu Center ネットワークセキュリティシステムおよびネットワークセキュリティ方法
WO2002082715A1 (en) * 2001-04-03 2002-10-17 Mitsubishi Denki Kabushiki Kaisha Encrypting device
WO2003013054A1 (fr) * 2001-07-17 2003-02-13 Sharp Kabushiki Kaisha Dispositif et procede permettant de generer des donnees afin de detecter une mauvaise modification de donnees chiffrees pendant un traitement
JP2005523668A (ja) * 2002-04-25 2005-08-04 アイジーティー 暗号化コンピュータ化ゲームシステムにおける認証
JP2004134855A (ja) * 2002-10-08 2004-04-30 Nippon Telegraph & Telephone East Corp パケット通信網における送信元認証方法
JP2004320533A (ja) * 2003-04-17 2004-11-11 Fujitsu Ltd データ保障装置、データ通信装置、およびデータ保障方法
JP2004364022A (ja) * 2003-06-05 2004-12-24 Nec Corp 暗号化通信制御方式

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
CSNB200800385001; 馬場 達也: マスタリングIPsec 第2版 第2版, 20060818, p.36-39, 株式会社オライリー・ジャパン *
CSNG200500624001; 藤川 裕充 他: '文章密度に基づくマスメールの高速検出手法と評価' 情報処理学会研究報告 Vol.2004 No.55, 20040526, p.1-6, 社団法人情報処理学会 Information Processing Socie *
CSNG200600778012; 宇田 隆哉 他: 'IP電話向け音声ストリーム認証手法' 情報処理学会論文誌 第47巻 第8号, 20060815, p.2535〜2547, 社団法人情報処理学会 *
CSNJ200710045167; 時庭 康久 他: '侵入検知システムにおけるシグニチャ自動生成方法の検討' 第69回(平成19年)全国大会講演論文集(3) , 20070306, p.3-349〜3-350, 社団法人情報処理学会 *
JPN6013036290; Daniel Lemire et al: 'One-Pass, One-Hash n-Gram Statistics Estimation' [online] , 20061017 *
JPN6013036291; Randal C. Burns: 'Differential compression: a generalized solution for binary files' [online] , 1996 *
JPN6013036292; 宇田 隆哉 他: 'IP電話向け音声ストリーム認証手法' 情報処理学会論文誌 第47巻 第8号, 20060815, p.2535〜2547, 社団法人情報処理学会 *
JPN6013036293; 時庭 康久 他: '侵入検知システムにおけるシグニチャ自動生成方法の検討' 第69回(平成19年)全国大会講演論文集(3) , 20070306, p.3-349〜3-350, 社団法人情報処理学会 *
JPN6013036294; Daniel Lemire et al: 'Recursive Hashing and One-Pass, One-Hash n-Gram Count Estimation' [online] , 20070531 *
JPN6013051059; 馬場 達也: マスタリングIPsec 第2版 第2版, 20060818, p.36-39, 株式会社オライリー・ジャパン *
JPN6013051061; 藤川 裕充 他: '文章密度に基づくマスメールの高速検出手法と評価' 情報処理学会研究報告 Vol.2004 No.55, 20040526, p.1-6, 社団法人情報処理学会 Information Processing Socie *
JPN6013051063; カール・H・マイアー 他: 暗号:コンピュータ・データ保護の新展開 初版, 19860210, p.103-109, 株式会社自然社 *
JPN6013051065; Utku Irmak et al: 'Hierarchical Substring Caching for Efficient Content Distribution to Low-Bandwidth Clients' [online] , 2005 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074799A (zh) * 2013-02-21 2015-11-18 佳能株式会社 哈希值生成装置
US9985780B2 (en) 2013-02-21 2018-05-29 Canon Kabushiki Kaisha Hash value generating device that performs round processing of a hash algorithm
US9973336B2 (en) 2013-03-07 2018-05-15 Canon Kabushiki Kaisha Hash value generating device
JP2015177540A (ja) * 2014-03-13 2015-10-05 韓國電子通信研究院Electronics and Telecommunications Research Institute データ伝達装置およびその方法
US10789356B2 (en) 2016-12-06 2020-09-29 Alibaba Group Holding Limited Method, apparatus, and system for service data processing and verification

Also Published As

Publication number Publication date
JP5414346B2 (ja) 2014-02-12

Similar Documents

Publication Publication Date Title
US7715553B2 (en) Encrypting a plaintext message with authentication
US9674204B2 (en) Compact and efficient communication security through combining anti-replay with encryption
US9166793B2 (en) Efficient authentication for mobile and pervasive computing
TWI528773B (zh) 兼具完整性驗證之區塊加密裝置、區塊加密方法、區塊解密裝置及區塊解密方法
US8744078B2 (en) System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
JP2007089147A (ja) 認証方法
CN109428867A (zh) 一种报文加解密方法、网路设备及系统
WO2014136386A1 (ja) タグ生成装置、タグ生成方法およびタグ生成プログラム
Dworkin NIST special publication 800-38B
US9917695B2 (en) Authenticated encryption method using working blocks
JP5414346B2 (ja) データ処理装置
Widiasari Combining advanced encryption standard (AES) and one time pad (OTP) encryption for data security
Khan et al. Evolution and Analysis Of Secure Hash Algorithm (Sha) Family
Gligoroski et al. π-cipher: Authenticated encryption for big data
Paterson et al. Plaintext-dependent decryption: A formal security treatment of SSH-CTR
EP2087635A2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
Santoso et al. Implementation of AES cryptography and twofish hybrid algorithms for cloud
CN115865313A (zh) 一种轻量级隐私保护纵向联邦学习模型参数聚合方法
Easttom et al. Cryptographic Hashes
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
Hwang et al. IAR‐CTR and IAR‐CFB: integrity aware real‐time based counter and cipher feedback modes
KR100381710B1 (ko) 회원제 운용 인터넷 서버의 보안 방법 및 그에 관한 서버시스템
JP2014220668A (ja) 送信側装置および受信側装置
Wu et al. Fundamentals of Cryptography
Hwang et al. PFX: an essence of authencryption for block‐cipher security

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees