JP5414346B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP5414346B2
JP5414346B2 JP2009109753A JP2009109753A JP5414346B2 JP 5414346 B2 JP5414346 B2 JP 5414346B2 JP 2009109753 A JP2009109753 A JP 2009109753A JP 2009109753 A JP2009109753 A JP 2009109753A JP 5414346 B2 JP5414346 B2 JP 5414346B2
Authority
JP
Japan
Prior art keywords
value
unit
data
calculation
authentication
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.)
Expired - Fee Related
Application number
JP2009109753A
Other languages
Japanese (ja)
Other versions
JP2010258993A (en
Inventor
清彦 鈴木
明彦 渡邊
啓嗣 渡邊
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 Techno-Service Co Ltd
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/en
Publication of JP2010258993A publication Critical patent/JP2010258993A/en
Application granted granted Critical
Publication of JP5414346B2 publication Critical patent/JP5414346B2/en
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)

Description

本発明は、データ処理装置での通信における機器認証、データ完全性認証、データ秘匿化に関し、特に、LCNA(Low Cost Network Appliance:以下LCNA)間通信に求められるセキュリティ強度を保ちながら、機器間通信の機器認証、データ完全性認証、データ秘匿化を軽量に行う技術に関する。   The present invention relates to device authentication, data integrity authentication, and data concealment in communication with a data processing device, and in particular, inter-device communication while maintaining the security strength required for LCNA (Low Cost Network Application: LCNA) communication. Technology for lightweight device authentication, data integrity authentication, and data concealment.

ビル設備(ファシリティ)機器とその管理機器からなるファシリティネットワークでは、空調管理や入退室管理といった各々の機能を実現するための多数の設備機器がビル内に存在し、これらは機能毎に制御装置により管理される。
制御装置は、管理サーバあるいは管理センタにより管理される。
制御装置は設備機器から取得したビル内の各種情報を管理サーバなどに送信すると共に、管理サーバからの各種コマンドに従い設備機器を制御する。
In a facility network consisting of building equipment (facility) equipment and its management equipment, there are many equipment equipment in the building to realize each function such as air conditioning management and entrance / exit management, and these are controlled by the control device for each function. Managed.
The control device is managed by a management server or a management center.
The control device transmits various information in the building acquired from the equipment to the management server and the like, and controls the equipment according to various commands from the management server.

制御装置は、コスト面の制約から一般にLCNAが用いられる。   For the control device, LCNA is generally used because of cost limitations.

近年のファシリティネットワークではシステムのオープン化が求められている。
オープン化は機器コストや施設作業コストの低減が期待できる半面、接続の容易性からセキュリティの確保が必達である。
In recent years, facility networks are required to open systems.
Opening can be expected to reduce equipment costs and facility work costs, but security is inevitable due to ease of connection.

近年、ファシリティネットワーク内のLCNA間の通信では、オープンなプロトコルの1つであるIPv6プロトコルが普及しつつある。
その理由として、IPv6は多棟管理性、群管理性に優れ、広大なアドレス空間は大量の管理点数を管理する必要性に合致し、またアクセス制御に優れたサービス網を比較的安価に構築可能であることが挙げられる。
In recent years, the IPv6 protocol, which is one of open protocols, is becoming widespread in communication between LCNAs in a facility network.
The reason for this is that IPv6 is superior in multi-building management and group management, and a vast address space meets the need to manage a large number of management points, and a service network with excellent access control can be constructed at a relatively low cost. It is mentioned that.

また、IPv6プロトコルスタックはIPsecを実装することが必須であるため、セキュリティの面においてもファシリティネットワークの要求に合致する。   In addition, since it is essential for the IPv6 protocol stack to implement IPsec, it also meets the requirements of the facility network in terms of security.

しかしながら、IPv6はパーソナルコンピュータ(PC)がインターネットにアクセスすることを前提に作られた経緯がある。
従い、IPsecで用いられる暗号アルゴリズム、認証アルゴリズムは、高いセキュリティ強度を実現する反面、高い演算処理能力と計算容量を必要とする。
However, IPv6 has been created on the assumption that a personal computer (PC) accesses the Internet.
Accordingly, the encryption algorithm and authentication algorithm used in IPsec achieve high security strength, but require high calculation processing capacity and calculation capacity.

計算資源が豊富にあるPCと異なり、LCNAでIPsecを用いると、不必要に高いセキュリティ強度のために性能を犠牲とすることとなり、通信性能が数十分の一にまで低下してしまう。   Unlike IPsec, which uses abundant computing resources, if IPsec is used in LCNA, the performance is sacrificed due to an unnecessarily high security strength, and the communication performance is reduced to several tenths.

ファシリティネットワークに求められるセキュリティは、インターネットなど広域網に求められるセキュリティとは異なる。
これはデータを保護すべき期間によるものである。
Security required for facility networks is different from security required for wide area networks such as the Internet.
This is due to the period during which data should be protected.

ファシリティネットワークにおいて機器認証及び秘匿通信を行う理由の1つは、緊急停止などの管理者コマンドを第三者が任意に発行することを防ぐことである。   One of the reasons for device authentication and confidential communication in the facility network is to prevent a third party from issuing an administrator command such as an emergency stop arbitrarily.

顧客がファシリティネットワーク内の各種情報を閲覧する際、リアルタイムに第三者が傍受可能であれば、スプーフィング技術などを用いて第三者が顧客に事実と異なる情報を見せる恐れもある。
これを防ぐこともまた機器認証及び秘匿通信を行う理由の1つである。
When a customer browses various information in the facility network, if the third party can intercept the information in real time, the third party may show information different from the fact to the customer using spoofing technology.
Preventing this is also one of the reasons for performing device authentication and confidential communication.

一方、インターネットなどの広域網において機器認証及び秘匿通信が用いられる場合には、非公開文書の送受信やキャッシュカードの暗証番号の送信などがある。
こうした情報は、通信が終了した後でも長期間守られる必要がある。これに反して、ファシリティネットワークでは安全性の保証を必要とする期間が短く、通信する両者において送受信が完了した段階で完了する。
On the other hand, when device authentication and confidential communication are used in a wide area network such as the Internet, there are transmission / reception of non-public documents and transmission of a password of a cash card.
Such information needs to be protected for a long time even after the communication is completed. On the other hand, in the facility network, the period for which the security guarantee is required is short, and it is completed when transmission and reception are completed in both communicating parties.

一例として、秘密鍵を3ヶ月毎に交換する場合、ファシリティネットワークの通信では、仮に秘匿通信内容が4ヶ月後に解読されたとしても、その時には既に秘密鍵は交換されており、従い緊急停止コマンドを送りつけて誤動作を引き起こすことを計画しても実施することは不可能である。   As an example, when the secret key is exchanged every three months, even if the secret communication contents are decrypted after four months in the facility network communication, the secret key has already been exchanged at that time, so an emergency stop command is issued. Even if it is planned to cause a malfunction by sending it, it cannot be implemented.

反して、秘密鍵を3ヶ月毎に交換するとしても、長期間守られる必要のある情報の場合は鍵交換後に解読されても有意な情報である。
こうした情報を秘匿するためには暗号論的秘匿強度が必要となるが、ファシリティネットワークの通信では必ずしも必要では無い。
On the other hand, even if the secret key is exchanged every three months, the information that is required to be protected for a long time is significant information even if it is decrypted after the key exchange.
In order to conceal such information, cryptological secrecy is required, but it is not always necessary for facility network communication.

また、ファシリティネットワークは通常数ヶ月周期でメンテナンスを行うため、自動的な秘密鍵交換プロトコルを有さないLCNAであっても、メンテナンス作業の一環としてこの周期で秘密鍵の交換が行えることが期待できる。   In addition, since the facility network normally performs maintenance every several months, it can be expected that private keys can be exchanged during this period even as part of maintenance work even for LCNAs that do not have an automatic secret key exchange protocol. .

秘密鍵は数ヶ月毎の交換が期待できるため、仮にアルゴリズム自体に暗号論的秘匿強度が期待できないとしても、高々数ヶ月程度の秘匿強度さえ保証できれば、ファシリティネットワーク内のLCNAとの通信では秘密鍵の交換により第三者の脅威を防ぐことが可能である。   Since the secret key can be expected to be exchanged every several months, even if the algorithm itself cannot be expected to have cryptographically confidential strength, it can be used for communication with the LCNA in the facility network as long as the secret strength of about several months can be guaranteed. It is possible to prevent third-party threats by exchanging.

岡部ほか「非PC系ディジタル機器への適用に向けたIPv6最小要求仕様の検討」情報処理学会誌,Vol.42,No.9,pp.920−925,2001.Okabe et al. “Examination of IPv6 minimum requirement specification for application to non-PC digital devices”, Information Processing Society of Japan, Vol. 42, no. 9, pp. 920-925, 2001.

以上の如く、LCNAの通信では必ずしも暗号論的秘匿強度は必要ではない。
処理に要する計算量が少ない代わりに数ヶ月程度の強度しか無いアルゴリズムであっても、数ヶ月程度の強度が保証できるのであれば、秘密鍵の管理を行う限りファシリティネットワークでは永続的にセキュリティ強度を保つことが可能である。
注意として、この時間的前提は秘匿通信の鍵をビル設備のメンテナンス周期毎に交換することに依存するため、上記程度の強度は保証できなければならない。
As described above, the cryptographically confidential strength is not necessarily required for LCNA communication.
Even if the algorithm requires only a few months instead of a small amount of computation, if the strength can be guaranteed for a few months, the facility network will permanently secure the security as long as the private key is managed. It is possible to keep.
As a reminder, this temporal premise depends on the exchange of the secret communication key at every maintenance period of the building equipment, so the above-mentioned strength must be guaranteed.

ここで秘匿通信は、送信元認証とメッセージの改ざん検知機能もまた有する必要がある。
こうした処理を追加するために新たなハードウェアを追加することはコスト増加となるため、LCNAでは通常これらの処理をソフトウェア(以下、S/W)にて行う。
Here, the secret communication needs to have a source authentication function and a message tampering detection function.
Since adding new hardware to add such processing increases the cost, LCNA normally performs these processing by software (hereinafter referred to as S / W).

本質的に、メッセージ認証はメッセージパケットが秘匿化処理を完了していなければ実施できない。
単一のCPU(Central Processing Unit)により秘匿化処理と認証処理を行う場合、各々の処理のために異なるアルゴリズムを用いるのであれば、両処理は別々に行う必要がある。
すなわち、秘匿化処理中に該メッセージの認証処理を行うことは出来ず、メッセージの認証処理中に次のメッセージの秘匿化処理を行うことは出来ない。
Essentially, message authentication cannot be performed unless the message packet has been concealed.
When the concealment process and the authentication process are performed by a single CPU (Central Processing Unit), if different algorithms are used for each process, both processes need to be performed separately.
That is, the message authentication process cannot be performed during the concealment process, and the next message concealment process cannot be performed during the message authentication process.

通信の秘匿化処理や認証処理が如何に軽量であっても、秘匿化処理と認証処理が別々に動作する場合、こうした処理の排他性により処理時間が増加して通信性能が劣化する。   No matter how lightweight the communication concealment process or authentication process is, if the concealment process and the authentication process operate separately, the processing time increases due to the exclusivity of these processes and the communication performance deteriorates.

本発明は、上記の課題に鑑みたものであり、機器間通信のためのデータの秘匿化処理と並行して実施できるデータの完全性認証処理を実現し、データ秘匿化処理とデータ完全性認証処理を並行して実施することにより、処理時間を低減させる仕組みを実現することを主な目的とする。
なお、IPsecプロトコルでは暗号アルゴリズム、認証アルゴリズムはプロトコル自身と独立して実装可能である。上記の課題を解決する仕組みがIPsecプロトコルから利用可能であれば、IPv6のIPsec通信をLCNAで利用することが可能となる。
The present invention has been made in view of the above problems, and realizes data integrity authentication processing that can be performed in parallel with data concealment processing for device-to-device communication, and provides data concealment processing and data integrity authentication. The main purpose is to realize a mechanism for reducing processing time by performing processing in parallel.
In the IPsec protocol, the encryption algorithm and the authentication algorithm can be implemented independently of the protocol itself. If a mechanism for solving the above problem can be used from the IPsec protocol, IPv6 IPsec communication can be used in LCNA.

本発明に係るデータ処理装置は、
ざん検知の対象となる改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行一方向演算値を出する一方向演算部と、
一方向演算部により算出された方向演算値累積加算する演算値累積加算部と、
演算値累積加算部により累積加算された累積加算値を前記改ざん検知対象データの認証値とする認証値指定部と
前記演算値累積加算部により累積加算された累積加算値に基づいて、前記改ざん検知対象データの秘匿化処理を行う秘匿化処理部とを有することを特徴とする。
また、秘匿化処理が行われ改ざん検知の対象となる改ざん検知対象データと、前記改ざん検知対象データの改ざん検知に用いられる認証値を受信するデータ受信部と、
前記改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行い一方向演算値を算出する一方向演算部と、
該一方向演算部により算出された一方向演算値を累積加算する演算値累積加算部と、
該演算値累積加算部により累積加算された累積加算値と、前記データ受信部により受信された認証値とを照合する照合部と、
前記演算値累積加算部により累積加算された累積加算値に基づいて、前記改ざん検知対象データの復号処理を行う復号処理部とを有することを特徴とする。
The data processing apparatus according to the present invention
A one-way operation portion for a one-way operation of the tamper detection target data to be subjected to tampering detection de San rows have unidirectional operation value for each predetermined calculation target data length,
A calculation value accumulating unit for cumulatively adding one direction calculation value calculated by the one-way computation unit,
An authentication value specifying portion which the accumulated value which is cumulatively added by the arithmetic value accumulating unit and the authentication value of the tampering detection target data,
And a concealment processing unit configured to conceal the alteration detection target data based on the cumulative addition value cumulatively added by the calculation value cumulative addition unit .
In addition, a data reception unit that receives an authentication value used for falsification detection of the falsification detection target data, and falsification detection target data that is subject to falsification detection after being concealed;
A one-way calculation unit that calculates a one-way calculation value by performing one-way calculation of the falsification detection target data for each predetermined calculation target data length;
A calculation value cumulative addition unit that cumulatively adds the one-way calculation values calculated by the one-way calculation unit;
A collation unit that collates the cumulative addition value cumulatively added by the calculation value cumulative addition unit with the authentication value received by the data reception unit;
And a decoding processing unit that performs a decoding process on the alteration detection target data based on the cumulative addition value cumulatively added by the calculation value cumulative addition unit.

本発明によれば、改ざん検知対象データの一方向演算値を順次算出して、算出した一方向演算値を累積加算することでデータ改ざん検知のための認証値を生成し、累積加算値に基づいてデータ秘匿化処理を行うので、計算処理量を低減させることができる。また、受信した秘匿化処理が行われている改ざん検知対象データの一方向演算値を順次算出して、算出した一方向演算値の累積加算値と受信した認証値とを照合し、累積加算値に基づいてデータ復号処理を行うため、計算処理量を低減させることができる。 According to the present invention, the one-way calculated value of the falsification detection target data is sequentially calculated, and the authentication value for data falsification detection is generated by cumulatively adding the calculated one-way calculated value, and based on the cumulative added value. Since the data concealment process is performed, the amount of calculation processing can be reduced. In addition, the one-way calculation value of the tampering detection target data that has been subjected to the concealment process is sequentially calculated, and the cumulative addition value of the calculated one-way calculation value is compared with the received authentication value. Therefore, the amount of calculation processing can be reduced.

実施の形態1〜6に係るファシリティネットワークの構成例を示す図。The figure which shows the structural example of the facility network which concerns on Embodiment 1-6. 実施の形態1に係る制御装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a control device according to the first embodiment. 実施の形態1に係るストリームHASHを説明する図。FIG. 6 is a diagram for explaining a stream HASH according to the first embodiment. 実施の形態1に係る制御装置のデータ送信時の処理例を示す図。FIG. 4 is a diagram illustrating a processing example when data is transmitted by the control device according to the first embodiment. 実施の形態1に係る制御装置のデータ受信時の処理例を示す図。FIG. 3 is a diagram illustrating a processing example when data is received by the control device according to the first embodiment. 実施の形態1に係る制御装置の認証値の計算の流れを示す図。FIG. 4 is a diagram showing a flow of calculation of an authentication value of the control device according to the first embodiment. 実施の形態2に係る送信データの例を示す図。FIG. 10 shows an example of transmission data according to the second embodiment. 実施の形態2に係る制御装置の構成例を示す図。FIG. 5 is a diagram illustrating a configuration example of a control device according to a second embodiment. 実施の形態2に係る制御装置のデータ送信時の処理例を示すフローチャート図。The flowchart figure which shows the process example at the time of the data transmission of the control apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る初期位置秘匿処理を示すフローチャート図。The flowchart figure which shows the initial position concealment process which concerns on Embodiment 2. FIG. 実施の形態2に係る初期秘匿処理を示すフローチャート図。The flowchart figure which shows the initial concealment process which concerns on Embodiment 2. FIG. 実施の形態2に係る秘匿認証処理を示すフローチャート図。The flowchart figure which shows the confidential authentication process which concerns on Embodiment 2. FIG. 実施の形態2に係る制御装置の認証値の計算と秘匿化処理の流れを示す図。The figure which shows the flow of the calculation of the authentication value of the control apparatus which concerns on Embodiment 2, and a concealment process. 実施の形態2に係る制御装置の認証値の計算と秘匿化処理の流れを示す図。The figure which shows the flow of the calculation of the authentication value of the control apparatus which concerns on Embodiment 2, and a concealment process. 実施の形態2に係る受信データの例を示す図。FIG. 10 is a diagram illustrating an example of received data according to the second embodiment. 実施の形態2に係る制御装置のデータ受信時の処理例を示すフローチャート図。The flowchart figure which shows the process example at the time of the data reception of the control apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る初期位置復号処理を示すフローチャート図。FIG. 9 is a flowchart showing initial position decoding processing according to the second embodiment. 実施の形態2に係る復号処理を示すフローチャート図。FIG. 9 is a flowchart showing decoding processing according to the second embodiment. 実施の形態2に係るスライディング処理を示すフローチャート図。FIG. 9 is a flowchart showing a sliding process according to the second embodiment. 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。The figure which shows the flow of the calculation of the authentication value of the control apparatus which concerns on Embodiment 2, and a decoding process. 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。The figure which shows the flow of the calculation of the authentication value of the control apparatus which concerns on Embodiment 2, and a decoding process. 実施の形態2に係る制御装置の認証値の計算と復号処理の流れを示す図。The figure which shows the flow of the calculation of the authentication value of the control apparatus which concerns on Embodiment 2, and a decoding process. 実施の形態2に係る認証値を判定する動作を示す図。FIG. 10 is a diagram illustrating an operation for determining an authentication value according to the second embodiment. 実施の形態2に係る認証値判定後の動作を示す図。The figure which shows the operation | movement after the authentication value determination which concerns on Embodiment 2. FIG.

実施の形態1.
図1は、本実施の形態及び以降の実施の形態で説明するファシリティネットワークの構成例を示す。
ビル側ネットワークでは、空調管理や入退室管理といった各々の機能を実現するための多数の設備機器がビル内に存在し、これらは機能毎に制御装置1により管理される。
制御装置1は、管理サーバあるいは管理センタにより管理される。
制御装置1は設備機器から取得したビル内の各種情報を管理サーバなどに送信すると共に、管理サーバからの各種コマンドに従い設備機器を制御する。
Embodiment 1 FIG.
FIG. 1 shows a configuration example of a facility network described in the present embodiment and the following embodiments.
In the building-side network, a large number of equipments for realizing each function such as air-conditioning management and entrance / exit management exist in the building, and these are managed by the control device 1 for each function.
The control device 1 is managed by a management server or a management center.
The control device 1 transmits various information in the building acquired from the equipment to a management server and the like, and controls the equipment according to various commands from the management server.

制御装置1は、コスト面の制約から一般にLCNAが用いられる。
制御装置1は、データ処理装置の例である。
The control device 1 generally uses LCNA due to cost limitations.
The control device 1 is an example of a data processing device.

本実施の形態では、制御装置1においてデータの完全性を保持するための構成と方式について述べる。
つまり、本実施の形態では、データ秘匿化処理と並行して実施できるデータの完全性を保持するための処理(以下、データ完全性認証処理ともいう)を説明する。
本実施の形態で説明するデータ完全性認証処理と並行してデータ秘匿化処理を行う例は実施の形態2以降で説明する。
換言すると、実施の形態2以降に示す制御装置1の動作からデータ秘匿化処理を捨象してデータ完全性認証処理を抽出すると、抽出されたデータ完全性認証処理は本実施の形態で説明するデータ完全性認証処理と同じ内容である。
実施の形態2以降で説明するようにデータ秘匿化処理とデータ完全性認証処理を並行して実行することにより、処理時間を短縮することができる。
なお、データ完全性認証処理とは、制御装置1がデータの送信側である場合は、制御装置1が送信データの改ざん検知に用いられる認証値を生成し、送信データに認証値を付加することであり、制御装置1がデータの受信側である場合は、受信データに対して演算を行って認証値を算出するとともに、受信データに付加されている認証値と算出した認証値とを照合して受信データの改ざんを検知することである。
In the present embodiment, a configuration and a method for maintaining data integrity in the control device 1 will be described.
That is, in the present embodiment, a process for maintaining data integrity (hereinafter also referred to as data integrity authentication process) that can be performed in parallel with the data concealment process will be described.
An example of performing the data concealment process in parallel with the data integrity authentication process described in the present embodiment will be described in the second and subsequent embodiments.
In other words, if the data integrity authentication process is extracted by discarding the data concealment process from the operation of the control device 1 shown in the second and subsequent embodiments, the extracted data integrity authentication process is the data described in the present embodiment. The content is the same as the integrity authentication process.
As described in the second and subsequent embodiments, the processing time can be shortened by executing the data concealment processing and the data integrity authentication processing in parallel.
In the data integrity authentication process, when the control device 1 is the data transmission side, the control device 1 generates an authentication value used for detection of falsification of the transmission data, and adds the authentication value to the transmission data. When the control device 1 is the data receiving side, the authentication value is calculated by performing an operation on the received data, and the authentication value added to the received data is collated with the calculated authentication value. The detection of falsification of received data.

図2は、本実施の形態に係る制御装置1の構成例を示す。
制御装置1は設備機器制御部2と通信制御部3の間にデータ完全性確保手段4が設けられている。
なお、通信制御部3は、データ送信部及びデータ受信部の例である。
FIG. 2 shows a configuration example of the control device 1 according to the present embodiment.
In the control device 1, a data integrity ensuring unit 4 is provided between the equipment control unit 2 and the communication control unit 3.
The communication control unit 3 is an example of a data transmission unit and a data reception unit.

データ完全性確保手段4は、その内部に送信側秘匿処理制御部41と、受信側秘匿処理制御部42、及びHASH計算部43を持つ。   The data integrity ensuring unit 4 includes a transmission side concealment processing control unit 41, a reception side concealment processing control unit 42, and a HASH calculation unit 43 therein.

送信側秘匿処理制御部41は、HASH計算管理部411と、送信側秘匿通信処理部412を持つ。
本実施の形態では、送信側秘匿通信処理部412は、データの秘匿化処理は行わずに、データ送信時に、HASH計算管理部411、ストリームHASH計算部431、演算値累積加算部430の制御を行う。また、送信側秘匿通信処理部412は、認証値を決定し、認証値を送信データに付加する。送信側秘匿通信処理部412は、認証値指定部の例である。
The transmission-side confidential processing control unit 41 includes a HASH calculation management unit 411 and a transmission-side confidential communication processing unit 412.
In the present embodiment, the transmission side secret communication processing unit 412 performs control of the HASH calculation management unit 411, the stream HASH calculation unit 431, and the calculation value accumulation addition unit 430 during data transmission without performing data concealment processing. Do. Further, the transmission side secret communication processing unit 412 determines an authentication value and adds the authentication value to the transmission data. The transmission side secret communication processing unit 412 is an example of an authentication value designating unit.

受信側秘匿処理制御部42は、HASH計算管理部421と、受信側秘匿通信処理部422を持つ。
このHASH計算管理部421は送信側秘匿処理制御部41が有するHASH計算管理部411と同じ機構である。
本実施の形態では、受信側秘匿通信処理部422は、データの復号処理は行わずに、データ受信時に、HASH計算管理部421、ストリームHASH計算部431、演算値累積加算部430の制御を行う。また、受信側秘匿通信処理部422は、受信データに付加されている認証値と、HASH演算により導出された認証値とを照合して、データの改ざんの有無を検証する。受信側秘匿通信処理部422は、照合部の例である。
The reception side confidential processing control unit 42 includes a HASH calculation management unit 421 and a reception side confidential communication processing unit 422.
The HASH calculation management unit 421 has the same mechanism as the HASH calculation management unit 411 included in the transmission-side confidential processing control unit 41.
In the present embodiment, the reception side secret communication processing unit 422 controls the HASH calculation management unit 421, the stream HASH calculation unit 431, and the calculation value accumulation addition unit 430 at the time of data reception without performing the data decoding process. . In addition, the reception side secret communication processing unit 422 verifies whether the data has been tampered with by collating the authentication value added to the received data with the authentication value derived by the HASH calculation. The reception side secret communication processing unit 422 is an example of a collation unit.

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は、例えば、累積加算レジスタを用いて構成される。
The HASH calculation unit 43 includes a stream HASH calculation unit 431 and a calculation value accumulation addition unit 430 therein.
The stream HASH calculation unit 431 performs HASH calculation that is one-way calculation. The stream HASH calculation unit 431 is an example of a one-way calculation unit.
Note that the stream HASH calculation unit 431 is not necessarily required to calculate the stream HASH, and may be any unit that provides a means for calculating the HASH value. However, it is preferable to adopt the stream HASH from the viewpoint of calculation amount.
In the present embodiment, Rabin Fingerprinting based on the Rabin-Karp method is adopted as the HASH function.
This HASH function is described in Non-Patent Document 2, and the output length is 64 bits. The amount of calculation of Rabin Fingerprinting is XOR 2 times, 2 shifts, and OR 1 time per data 1 byte.
In addition, every time the stream HASH calculation unit 431 calculates the HASH value, the calculation value accumulation addition unit 430 sequentially accumulates the calculated HASH value.
The calculation value cumulative addition unit 430 is configured using, for example, a cumulative addition register.

非特許文献2:M.Rabin,“Fingerprinting by random polynomials,” Technical Report TR−15−81,Harvard University, Department of Computer Science,1981.   Non-Patent Document 2: M.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でなくてもよい。
FIG. 3 is a diagram illustrating the description of the stream HASH.
Data of a certain input length called window size is cut out from the calculation target data 5 for calculating the HASH value and input to the HASH function 6. The window size is a data length that is a target of hash calculation, and is an example of a calculation target data length.
The cutting method is to slide out by one byte at a time, like 51, 52, 53.
HASH values such as 61, 62, and 63 are generated for the data extracted as 51, 52, and 53, respectively.
In this specification, the sliding amount of the window is described as 1 byte. However, if the sliding amount is smaller than the window size (sliding amount <window size), the sliding amount may not be 1 byte.

HASH関数6は64bitの鍵により初期化されるため、異なる鍵で初期化されたHASH関数は同じ入力値であっても異なるHASH値を出力する。
また逆に、同じ鍵を用いて初期化されたHASH関数であっても、ウィンドウサイズが異なるHASH関数であれば異なる値を出力する。
すなわち、ストリームHASHは鍵とウィンドウサイズが一致することで初めて同じHASH関数が構成できる。
Since the HASH function 6 is initialized with a 64-bit key, HASH functions initialized with different keys output different HASH values even with the same input value.
Conversely, even if the HASH functions are initialized using the same key, different values are output if the HASH functions have different window sizes.
That is, the same HASH function can be configured for the stream HASH only when the key and the window size match.

制御装置1は、設備機器からのデータを他の機器へ送信する際、前記データ完全性確保手段4を経由して、データの認証対象範囲(改ざん検知対象データ)に従い認証値を計算する。
この動作を図4に示す。
ここで、認証範囲は必ずしもMSB(Most Significant Bit)から送信データ全域である必要は無く、その一部であっても良い。
指定可能な最大範囲は送信データ全域であり、最小範囲は1bitである。
ただし実用上の最小単位は1Byteであるため、本明細書の以降の説明では最小範囲を1Byteで説明する。
認証開始位置と認証範囲を指定する方法は本実施の形態では問わないが、通常、送信データが有するヘッダに格納されているか、あるいは事前の取り決めによりなされる。
The control device 1 calculates an authentication value according to a data authentication target range (falsification detection target data) via the data integrity ensuring unit 4 when transmitting data from the facility device to another device.
This operation is shown in FIG.
Here, the authentication range does not necessarily have to be the entire transmission data from the MSB (Most Significant Bit), and may be a part thereof.
The maximum range that can be specified is the entire transmission data, and the minimum range is 1 bit.
However, since the practical minimum unit is 1 byte, the minimum range will be described in 1 byte in the following description of this specification.
The method for designating the authentication start position and the authentication range is not limited in the present embodiment, but is usually stored in the header of the transmission data or is determined in advance.

制御装置1は、他の機器からデータを受取った際、前記データ完全性確保手段4により受信データの完全性を検証する。
この動作を図5に示す。
認証範囲に従って受信データの認証値を計算した後、受信データが保持する認証値との比較を行う。
認証値が一致した場合、受信データは送信元から送信されたままのデータであるため正しい受信データとして扱う。
認証値が不一致の場合、受信データは経路の途中で改ざんされたか、あるいはデータが破損した場合である。
いずれの場合であっても受信データとして採用することは出来ず、ゆえにデータを破棄する。
受信側においても、認証開始位置と認証範囲を指定する方法は本実施の形態では特に問わない。
When the control device 1 receives data from another device, the data integrity ensuring means 4 verifies the integrity of the received data.
This operation is shown in FIG.
After calculating the authentication value of the received data according to the authentication range, it is compared with the authentication value held by the received data.
If the authentication values match, the received data is data that has been transmitted from the transmission source, and therefore is treated as correct received data.
If the authentication values do not match, the received data has been altered in the middle of the route or the data has been corrupted.
In either case, it cannot be used as received data, and therefore the data is discarded.
Even on the receiving side, the method for specifying the authentication start position and the authentication range is not particularly limited in the present embodiment.

従来、メッセージに誤りが含まれていないことを確認する手段として、確認対象領域の全体に対するチェックサムが広く用いられている。
しかしながらチェックサムは容易に再計算可能であるため、データの改ざんを狙う第三者が通信路上に存在した場合、チェックサムも改ざんされていることが考えられる。
そこで本実施の形態では、データのチェックサムを用いる替わりに、改ざん検出したいデータの全域に対してHASH値を計算し、その総和を、データの完全性を保証する認証値として用いている。
認証値は共有する情報を知らなければ容易に再計算することは出来ない。
本実施の形態では、非特許文献2に基づきHASH値を計算するので、通信端点の両者において多項式の基数とウィンドウサイズの2つの情報を共有する必要がある。
本実施の形態では多項式の基数を鍵として用いる。
Conventionally, as a means for confirming that an error is not included in a message, a checksum for the entire confirmation target area has been widely used.
However, since the checksum can be easily recalculated, it is possible that the checksum has been tampered with when there is a third party on the communication path aiming at tampering with the data.
Therefore, in this embodiment, instead of using the data checksum, the HASH value is calculated for the entire area of the data to be detected for falsification, and the sum is used as an authentication value for guaranteeing the integrity of the data.
Authentication values cannot be easily recalculated without knowing the shared information.
In this embodiment, since the HASH value is calculated based on Non-Patent Document 2, it is necessary to share two types of information, that is, the radix of the polynomial and the window size, at both communication end points.
In this embodiment, the radix of a polynomial is used as a key.

該基数の選択は、多項式であるHASH関数が既約となるように定めることが望ましい。   The selection of the radix is preferably determined so that the HASH function that is a polynomial is irreducible.

次に、データ完全性確保手段4が認証値を計算するまでの処理の流れを説明する。   Next, the flow of processing until the data integrity ensuring unit 4 calculates the authentication value will be described.

まず、制御装置1が送信側である場合の制御装置1の処理について記述する。
送信側秘匿処理制御部41内のHASH計算管理部411では、通信端点の両者で共有すべき情報を管理し、最低限、認証値の計算に用いる鍵を含む。
本例の如くRabin FingerprintingをHASH関数として採用する場合、64bitの鍵と、ウィンドウサイズ、鍵より計算される係数テーブルである。これらが必要である理由は非特許文献2に依る。
係数テーブルは鍵が替わる毎に計算される。
First, the processing of the control device 1 when the control device 1 is the transmission side will be described.
The HASH calculation management unit 411 in the transmission side concealment processing control unit 41 manages information to be shared by both communication end points, and includes at least a key used for calculating an authentication value.
When Rabin Fingerprinting is adopted as the HASH function as in this example, the coefficient table is calculated from a 64-bit key, a window size, and the key. The reason why these are necessary depends on Non-Patent Document 2.
The coefficient table is calculated every time the key is changed.

送信側秘匿通信処理部412は認証値を計算すべき送信データが発生すると、HASH計算部43のストリームHASH計算部431と、HASH計算管理部411を用いて認証値の計算を行う。   When transmission data whose authentication value is to be calculated is generated, the transmission side secret communication processing unit 412 calculates the authentication value using the stream HASH calculation unit 431 and the HASH calculation management unit 411 of the HASH calculation unit 43.

認証開始位置と認証範囲は事前設定あるいは送信データヘッダに情報が格納されているものとする。
認証値の計算に先立ち、送信側秘匿通信処理部412はストリームHASH計算部431の初期化を行う。
この処理はHASH計算管理部411の係数テーブルをストリームHASH計算部431に設定することと、ウィンドウサイズ分の値0をストリームHASH計算部431に与えることで実現される。
It is assumed that the authentication start position and the authentication range are preset or information is stored in the transmission data header.
Prior to the calculation of the authentication value, the transmission side secret communication processing unit 412 initializes the stream HASH calculation unit 431.
This processing is realized by setting the coefficient table of the HASH calculation management unit 411 in the stream HASH calculation unit 431 and providing the stream HASH calculation unit 431 with a value 0 corresponding to the window size.

初期化を終えた後、送信側秘匿通信処理部412は認証値の計算を行う。
この流れを図6に示す。
累積加算レジスタ4121の初期値は0である。累積加算レジスタ4121は、演算値累積加算部430を構成するレジスタである。
認証範囲の先頭からウィンドウサイズ分をストリームHASH計算部431に入力するとHASH値が出力されるため、この値を累積加算レジスタ4121に加算する。
本実施の形態では認証値のbit幅を64bitと想定しており、従い累積加算レジスタ4121もまた64bitである。
ただし、該bit幅は利用に際して適切な幅を選択してもよい。
After the initialization is completed, the transmission side secret communication processing unit 412 calculates an authentication value.
This flow is shown in FIG.
The initial value of the cumulative addition register 4121 is 0. The cumulative addition register 4121 is a register constituting the calculation value cumulative addition unit 430.
When the window size from the beginning of the authentication range is input to the stream HASH calculation unit 431, a HASH value is output, and this value is added to the cumulative addition register 4121.
In this embodiment, it is assumed that the bit width of the authentication value is 64 bits, and accordingly, the cumulative addition register 4121 is also 64 bits.
However, an appropriate width may be selected for use as the bit width.

認証範囲701がウィンドウサイズに満たない場合、認証範囲以外を0と見なしてストリームHASH計算部431に入力する。   When the authentication range 701 is less than the window size, the area other than the authentication range is regarded as 0 and is input to the stream HASH calculation unit 431.

ウィンドウサイズの次の1ByteをストリームHASH計算部431に入力することで、ストリームHASHは1Byte分スライディングすることとなる。
以降、ストリームHASH計算部431はスライディングするたびにHASH値を出力するため、累積加算レジスタ4121にて、HASH演算の順序に従って順次累積加算を行う。
By inputting the next 1 Byte of the window size to the stream HASH calculator 431, the stream HASH is slid by 1 Byte.
Thereafter, the stream HASH calculation unit 431 outputs a HASH value every time it is slid, so that the cumulative addition register 4121 sequentially performs cumulative addition according to the order of HASH calculation.

ウィンドウの端が認証範囲の終点に到達し、その時に出力されたHASH値を累積加算レジスタ4121にて加算し終えると、送信側秘匿通信処理部412が累積加算レジスタの最終値(最終的な累積加算値)を認証値として採用する。
送信データ700を通信路に送信する際、送信側秘匿通信処理部412がこの認証値712を送信データ700に続けて送信する。
以上で送信側の認証値の計算を完了する。
When the end of the window reaches the end point of the authentication range and the HASH value output at that time has been added in the cumulative addition register 4121, the transmission side secret communication processing unit 412 causes the final value of the cumulative addition register (final cumulative Addition value) is adopted as the authentication value.
When transmitting the transmission data 700 to the communication path, the transmission side secret communication processing unit 412 transmits the authentication value 712 following the transmission data 700.
This completes the calculation of the authentication value on the transmission side.

受信側の処理は、通信制御部3がデータを受信した後、データ完全性確保手段4に渡されることで開始される。   The processing on the receiving side is started when the communication control unit 3 receives the data and then passes it to the data integrity ensuring unit 4.

認証値の計算方法は送信側の計算方法と同一である。
つまり、受信データの認証範囲(改ざん検知対象データ)を先頭から1ByteずつウィンドウをスライドさせながらストリームHASH計算部431がウィンドウサイズ分のHASH値を生成し、演算値累積加算部430が、ストリームHASH計算部431によりHASH値が算出される度に、HASH演算の順序に従って累積加算していく。
ただし、受信データは送信側で計算した認証値が付与されているため、受信側秘匿通信処理部422は、自身が計算した認証値(演算値累積加算部430の最終的な累積加算値)と送信側が付与した認証値との照合を行い、その結果をもって受信データの完全性の判定を行う。
The calculation method of the authentication value is the same as the calculation method on the transmission side.
That is, the stream HASH calculation unit 431 generates a HASH value corresponding to the window size while sliding the window 1 byte at a time from the beginning of the authentication range (falsification detection target data) of the received data, and the operation value accumulation addition unit 430 calculates the stream HASH calculation. Each time the HASH value is calculated by the unit 431, cumulative addition is performed according to the order of HASH calculation.
However, since the authentication value calculated on the transmission side is given to the reception data, the reception side secret communication processing unit 422 and the authentication value calculated by itself (the final cumulative addition value of the calculation value cumulative addition unit 430) and The authentication value given by the transmission side is collated, and the integrity of the received data is determined based on the result.

送信側と受信側で同じ値となるためには同じHASH関数を構成する必要があり、そのためには通信端点の両者で同じ鍵とウィンドウサイズを共有する必要がある。
受信側で計算した認証値が、送信側から付加された認証値と一致するならば、認証範囲のデータは通信経路上で改ざんされていないといえる。
通信路上でデータが改ざんされると受信側で計算した認証値と送信側で付与した認証値が一致せず、改ざんを検出することが可能である。
In order to have the same value on the transmission side and the reception side, it is necessary to configure the same HASH function, and for this purpose, both communication end points need to share the same key and window size.
If the authentication value calculated on the reception side matches the authentication value added from the transmission side, it can be said that the data in the authentication range has not been altered on the communication path.
When data is tampered on the communication path, the authentication value calculated on the receiving side does not match the authentication value assigned on the transmitting side, and tampering can be detected.

秘密情報を共有していなければ認証値が一致しないため、当該処理は相手認証としても機能する。以上により、データ完全性機能、相手認証機能が実現できる。   Since the authentication values do not match unless the secret information is shared, the process also functions as partner authentication. As described above, the data integrity function and the partner authentication function can be realized.

国や地域によってはデータの秘匿化が禁止されている場合もあり、本実施の形態はこうした場合に対応することが可能である。
上記に述べた方法により、秘匿化処理を行わずに、平文に対するデータ完全性機能、相手認証機能を提供することが可能である。
In some countries and regions, data concealment may be prohibited, and this embodiment can cope with such a case.
By the method described above, it is possible to provide a data integrity function and a partner authentication function for plain text without performing concealment processing.

なお、以上では、HASH値の累積加算値の最終値を認証値とする例を説明したが、途中の累積加算値を認証値にしてもよい。
例えば、送信側と受信側がN(N≧2)回目に算出された累積加算値を認証値とする旨を事前に取り決めておけば、N回目の累積加算値を認証値として用いることができる。
In the above description, the example in which the final value of the cumulative addition value of the HASH value is used as the authentication value has been described, but the intermediate cumulative addition value may be used as the authentication value.
For example, if the transmitting side and the receiving side decide in advance that the cumulative addition value calculated for the Nth (N ≧ 2) th time is used as the authentication value, the Nth cumulative addition value can be used as the authentication value.

実施の形態2.
本実施の形態では、実施の形態1で説明したデータ完全性認証処理と同時にデータ秘匿化処理を行う例を説明する。
ここで、秘匿通信におけるデータの完全性機能とは、秘匿処理後のデータに対して提供されなければならないことに注意されたい。
つまり、本実施の形態では、データ送信時には、秘匿化処理がされた後のデータに対してHASH値を算出し、算出したHASH値の累積加算を行う。また、秘匿化処理は、HASH値の累積加算値を用いて行われる。
また、データ受信時には、復号処理が行われていない(秘匿化されたままの状態の)データに対してHASH値を算出し、算出したHASH値の累積加算を行う。また、復号処理は、HASH値の累積加算値を用いて行われる。
Embodiment 2. FIG.
In this embodiment, an example will be described in which the data concealment process is performed simultaneously with the data integrity authentication process described in the first embodiment.
Here, it should be noted that the data integrity function in the confidential communication must be provided for the data after the confidential processing.
That is, in the present embodiment, at the time of data transmission, the HASH value is calculated for the data after the concealment process, and the calculated HASH value is cumulatively added. The concealment process is performed using the cumulative addition value of the HASH value.
Further, at the time of data reception, a HASH value is calculated for data that has not been decrypted (in a state of being concealed), and a cumulative addition of the calculated HASH value is performed. The decoding process is performed using the cumulative addition value of the HASH value.

以降では、処理の一例として図7に示す送信データ700の秘匿化処理及び認証計算を行う。
本実施の形態で述べる秘匿化計算では、ソフトウェア(S/W)実装であっても秘匿化処理と認証計算を同時処理することが可能である。
これにより、秘匿処理と認証計算に各々別のアルゴリズムを用いる場合と比較して高速に処理を終えることが可能となる。
Thereafter, the concealment process and the authentication calculation of the transmission data 700 shown in FIG. 7 are performed as an example of the process.
In the concealment calculation described in the present embodiment, the concealment process and the authentication calculation can be performed simultaneously even with software (S / W) implementation.
This makes it possible to finish the processing at a higher speed than when using different algorithms for the confidential processing and the authentication calculation.

秘匿通信機能まで提供する制御装置1の構成を図8に示す。
図2の構成と比較して、HASH計算部43に初期HASH計算部432を取り付ける。
初期HASH計算部432はストリームHASH計算部431と異なるHASH計算部であれば任意であるが、本実施の形態では該手段の実装としてAdler−32やCRC−32などの32bitチェックサム計算手段の実装を想定する。
この理由は、S/W実装であっても処理が高速であり、かつ、鍵などの事前に既知とする前提条件が不要な計算部だからである。
なお、初期HASH計算部432もストリームHASH計算部431とともに一方向演算部の例である。
FIG. 8 shows the configuration of the control device 1 that provides the secret communication function.
Compared with the configuration of FIG. 2, an initial HASH calculation unit 432 is attached to the HASH calculation unit 43.
The initial HASH calculation unit 432 is arbitrary as long as it is a HASH calculation unit different from the stream HASH calculation unit 431. However, in this embodiment, a 32-bit checksum calculation unit such as Adler-32 or CRC-32 is mounted as the unit. Is assumed.
This is because, even in the case of S / W implementation, the processing is fast, and the calculation unit does not require pre-known conditions such as keys.
The initial HASH calculation unit 432 is an example of a one-way calculation unit together with the stream HASH calculation unit 431.

送信側は通信データを秘匿化し、そして受信側は秘匿化されたデータを復号する必要がある。
そのため、送信側秘匿通信処理部412と受信側秘匿通信処理部422の処理内容もまた実施の形態1で示した処理と異なる。
実施の形態1と異なり、送信側秘匿通信処理部412はデータ秘匿化処理を行い、受信側秘匿通信処理部422はデータの復号処理を行う。
本実施の形態に係る送信側秘匿通信処理部412は秘匿化処理部及び認証値指定部の例であり、本実施の形態に係る受信側秘匿通信処理部422は復号処理部及び照合部の例である。
以降、送信側秘匿通信処理部412及び受信側秘匿通信処理部422の処理の詳細を述べる。
The transmission side needs to conceal communication data, and the reception side needs to decrypt the concealed data.
For this reason, the processing contents of the transmission-side secret communication processing unit 412 and the reception-side secret communication processing unit 422 are also different from the processing shown in the first embodiment.
Unlike the first embodiment, the transmission-side secret communication processing unit 412 performs data concealment processing, and the reception-side secret communication processing unit 422 performs data decryption processing.
The transmission side secret communication processing unit 412 according to the present embodiment is an example of a concealment processing unit and an authentication value designating unit, and the reception side secret communication processing unit 422 according to the present embodiment is an example of a decoding processing unit and a verification unit. It is.
Hereinafter, details of the processing of the transmission-side secret communication processing unit 412 and the reception-side secret communication processing unit 422 will be described.

送信側秘匿通信処理部412のフローチャートを図9、図10、図11、図12に示す。
また、フローチャートが述べる処理の内容を図13、図14に示す。
以下、これらの図面をもとに説明を行う。
The flowchart of the transmission side secret communication processing unit 412 is shown in FIGS. 9, 10, 11, and 12.
The contents of the processing described in the flowchart are shown in FIGS.
The following description is based on these drawings.

まず、HASH計算管理部411に保持した係数テーブルをストリームHASH計算部431に設定することで初期化を行う。
送信データ700の秘匿認証範囲702の秘匿化と認証値計算のためにストリームHASH計算部431を用いるが、範囲702の先頭からウィンドウサイズ分はストリームHASHの性質上ストリームHASH計算部431を用いて秘匿化することが出来ない。
そのため、該部分の秘匿化処理は初期位置秘匿処理を用いて行う。
First, initialization is performed by setting the coefficient table held in the HASH calculation management unit 411 in the stream HASH calculation unit 431.
The stream HASH calculation unit 431 is used for concealing the confidential authentication range 702 of the transmission data 700 and calculating the authentication value, but the window size from the beginning of the range 702 is concealed using the stream HASH calculation unit 431 due to the nature of the stream HASH. It cannot be made.
Therefore, the concealment process for the portion is performed using the initial position concealment process.

図9の初期位置秘匿処理では秘匿認証範囲702の先頭からウィンドウサイズ分のデータの秘匿処理を行う。
この初期位置秘匿処理のフローチャートは図10及び図11である。
ここで、図13は図11の動作を説明するための図である。
範囲702の先頭からウィンドウサイズ分の秘匿処理を行うために、送信側秘匿通信処理部412は、共有情報である鍵値4111を初期HASH計算部432に入力して、鍵値から計算した32bit値4321を得る。
この値4321を初期HASH計算部432の入力に用い、新たな32bit値4322を得る。この値4322と、送信データの先頭から32bit分とを送信側秘匿通信処理部412がXORし、その結果値を秘匿済みデータとする。
なお、図13〜図15において、秘匿認証範囲の着色部分は秘匿化済みのデータ部分を示している。
In the initial position concealment process in FIG. 9, the concealment process is performed on the data corresponding to the window size from the top of the concealment authentication range 702.
The flowchart of this initial position concealment process is shown in FIGS.
Here, FIG. 13 is a diagram for explaining the operation of FIG.
In order to perform concealment processing for the window size from the beginning of the range 702, the transmission side concealment communication processing unit 412 inputs the key value 4111 that is shared information to the initial HASH calculation unit 432, and calculates the 32-bit value calculated from the key value. 4321 is obtained.
This value 4321 is used as an input to the initial HASH calculation unit 432 to obtain a new 32-bit value 4322. The transmission side secret communication processing unit 412 XORs this value 4322 and 32 bits from the top of the transmission data, and sets the result value as the secret data.
In addition, in FIGS. 13-15, the colored part of the secret authentication range has shown the data part which has been concealed.

本実施の形態のウィンドウサイズは6Byteなので、残り2Byteが未だ平文のままである。
この領域を秘匿処理するために、送信側秘匿通信処理部412は、32bit値4322を初期HASH計算部432に入力して次の32bit値4323を得る。
この値4323と2Byte分の秘匿認証処理対象データを送信側秘匿通信処理部412がXORし、その結果値を秘匿済みデータとする。
以上によりウィンドウサイズ分の秘匿処理が完了する。
Since the window size of the present embodiment is 6 bytes, the remaining 2 bytes are still in plain text.
In order to conceal this area, the transmission side concealment communication processing unit 412 inputs the 32-bit value 4322 to the initial HASH calculation unit 432 and obtains the next 32-bit value 4323.
The value 4323 and 2 bytes of secret authentication processing target data are XORed by the transmitting side secret communication processing unit 412 and the result value is set as secret data.
This completes the concealment process for the window size.

図9の秘匿認証処理では、ウィンドウサイズ分の秘匿処理を終えた後、秘匿認証範囲702全域の秘匿化と認証値計算を行う。
フローチャートは図12であり、その説明は図14である。
In the secret authentication process in FIG. 9, after the secret process for the window size is completed, the entire secret authentication range 702 is concealed and the authentication value is calculated.
The flowchart is shown in FIG. 12, and the description thereof is shown in FIG.

図14を用いて説明を行う。
送信側秘匿通信処理部412は、ウィンドウサイズ分の秘匿化済みデータをストリームHASH計算部431に入力し、その結果を累積加算レジスタ4121に加算する。
累積加算レジスタ4121の初期値は0である。
その後、ウィンドウの次の位置から8Byte分の送信データと、累積加算レジスタ4121の累積加算値とで送信側秘匿通信処理部412がXOR計算を行い、得られた結果を秘匿化データとする。
This will be described with reference to FIG.
The transmission side secret communication processing unit 412 inputs the concealed data for the window size to the stream HASH calculation unit 431, and adds the result to the accumulation addition register 4121.
The initial value of the cumulative addition register 4121 is 0.
Thereafter, the transmission side secret communication processing unit 412 performs XOR calculation with the transmission data for 8 bytes from the next position of the window and the cumulative addition value of the cumulative addition register 4121, and the obtained result is set as the confidential data.

引き続き、送信側秘匿通信処理部412は、1Byte分スライディングし、前記同様にウィンドウサイズ分の秘匿化済みデータをストリームHASH計算部431に入力し、その結果を累積加算レジスタ4121に加算する。
その後、ウィンドウの次のデータから8Byte分の送信データと、累積加算レジスタ4121の累積加算値とで送信側秘匿通信処理部412がXOR計算を行い、得られた結果を秘匿化データとする。
注意として、XOR計算対象である8Byte分の送信データのうち7Byteは、スライディングする前にXOR計算を実施済みの領域である。重複してXORを行うことで、ビット系列の攪拌性が向上すると期待できる。
Subsequently, the transmission side secret communication processing unit 412 slides by 1 byte, inputs the concealed data for the window size to the stream HASH calculation unit 431 as described above, and adds the result to the cumulative addition register 4121.
Thereafter, the transmission side secret communication processing unit 412 performs XOR calculation with the transmission data for 8 bytes from the next data of the window and the cumulative addition value of the cumulative addition register 4121, and the obtained result is set as the confidential data.
As a note, 7 bytes of 8 bytes of transmission data that are XOR calculation objects are areas in which XOR calculation has been performed before sliding. By performing XOR in duplicate, it can be expected that the stirrability of the bit series is improved.

以降、送信側秘匿通信処理部412は、秘匿認証範囲702の終端から1Byte手前まで同様の処理を行い、範囲702の全域を秘匿化する。
その後、最後の1ByteについてHASH計算とHASH値の累積加算を行う。
この、累積加算レジスタ4121の最後の値を送信側秘匿通信処理部412が認証値712として送信データに付加する。
なお、データ秘匿化処理(XOR)がHASH演算に先行するため、秘匿認証範囲702の終端に近づくと7Byteの範囲でXOR計算を行い、更に1Byteスライドさせて6Byteの範囲でXOR計算を行うというように、1Byteスライドさせる度にXORの対象となるデータ量が1Byteずつ減少していく。
Thereafter, the transmission-side secret communication processing unit 412 performs the same processing from the end of the secret authentication range 702 to 1 byte before, thereby concealing the entire range 702.
After that, HASH calculation and cumulative addition of HASH values are performed for the last 1 byte.
The transmission side secret communication processing unit 412 adds the last value of the cumulative addition register 4121 to the transmission data as the authentication value 712.
Since the data concealment process (XOR) precedes the HASH operation, when approaching the end of the cipher authentication range 702, XOR calculation is performed in a range of 7 bytes, and further, XOR calculation is performed in a range of 6 bytes by sliding 1 byte. Moreover, every time 1 byte is slid, the amount of data subject to XOR decreases by 1 byte.

以上で送信側秘匿通信処理部412の処理を終了する。
送信側秘匿通信処理部412の処理において、秘匿処理と認証処理が同時に行われることがわかる。
つまり、本実施の形態では、ストリームHASH計算部431は、秘匿認証範囲(改ざん検知対象データ)の前方から順に、ウィンドウサイズ(演算対象データ長)分のデータのHASH演算を行ってHASH値を算出するとともに、送信側秘匿通信処理部412による秘匿化処理が行われる度に、所定のスライド量(スライド量<ウィンドウサイズ)分ウィンドウの対象範囲を後方にスライドさせスライド後のウィンドウサイズ分のデータのHASH演算を行ってHASH値を算出する。また、演算値累積加算部430は、ストリームHASH計算部431によりHASH値が新たに算出される度に、新たに算出されたHASHと、それまでに算出されているHASHの累積加算値とを累積加算して新たな累積加算値を算出し、送信側秘匿通信処理部412は、演算値累積加算部430により新たに累積加算値が算出される度に、新たに算出された累積加算値を用いて秘匿認証範囲の秘匿化処理を行う。
このようにして、本実施の形態では、データ完全性認証処理(HASH値の累積加算)とデータ秘匿化処理を並行して行っている。
Above, the process of the transmission side secret communication process part 412 is complete | finished.
It can be seen that the confidential processing and the authentication processing are performed simultaneously in the processing of the transmission side confidential communication processing unit 412.
That is, in the present embodiment, the stream HASH calculation unit 431 calculates the HASH value by performing HASH calculation of data for the window size (calculation target data length) in order from the front of the secret authentication range (falsification detection target data). In addition, each time the concealment process is performed by the transmission side confidential communication processing unit 412, the window target range is slid backward by a predetermined slide amount (slide amount <window size), and the data of the window size after the slide is A HASH operation is performed to calculate a HASH value. In addition, every time the HASH value is newly calculated by the stream HASH calculation unit 431, the calculation value accumulation addition unit 430 accumulates the newly calculated HASH and the cumulative addition value of HASH calculated so far. The transmission side secret communication processing unit 412 uses the newly calculated cumulative addition value every time the calculation value cumulative addition unit 430 calculates a new cumulative addition value. To conceal the secret authentication range.
In this way, in the present embodiment, the data integrity authentication process (HASH value cumulative addition) and the data concealment process are performed in parallel.

次に受信側秘匿通信処理部422の処理について述べる。
図15は受信データの一例であり、本図の受信データ800を例に復号側の処理を述べる。
注意として、受信側秘匿通信処理部422は、認証値と同じサイズのデータを、{ウィンドウサイズ+認証値のサイズ}で計算されるエントリだけ格納可能なFIFO(First In First Out)(FIFO蓄積部)を有する。
本例ではウィンドウサイズは6Byte、認証値のサイズは8Byteなので、8Byte×14エントリ格納可能なFIFOを有するものとする。
Next, processing of the reception side secret communication processing unit 422 will be described.
FIG. 15 shows an example of the received data, and the processing on the decoding side will be described by taking the received data 800 in this figure as an example.
It should be noted that the receiving side secret communication processing unit 422 has a FIFO (First In First Out) (FIFO storage unit) capable of storing data having the same size as the authentication value only in an entry calculated by {window size + authentication value size}. ).
In this example, since the window size is 6 bytes and the authentication value size is 8 bytes, it is assumed to have a FIFO capable of storing 8 bytes × 14 entries.

受信側秘匿通信処理部422のフローチャートを図16、図17、図18、図19に示す。
また、これらフローチャートに従い、受信側秘匿通信処理部422が受信データ800を復号しながら認証値の判定も併せて行う動作を図20、図21、図22、図23、図24に示す。
The flowcharts of the reception side secret communication processing unit 422 are shown in FIGS. 16, 17, 18, and 19.
In addition, according to these flowcharts, FIG. 20, FIG. 21, FIG. 22, FIG. 23, and FIG. 24 show operations in which the reception side secret communication processing unit 422 also performs authentication value determination while decrypting the received data 800.

復号処理の開始直後の動作を図20に示す。
処理の全体を示すフローチャートである図16のうち、初期位置復号処理、及び復号処理は直ちに終了する。
その理由は、スライディング処理が{ウィンドウサイズ+認証値のサイズ}で計算されるByte長まで処理を終えなければ、フラグ条件が成立しないためである。
スライディング処理は、未だ秘匿化が為されたままのデータの上を、ウィンドウをスライドしながら順次HASHを計算して累積加算レジスタを更新する処理である。
The operation immediately after the start of the decoding process is shown in FIG.
In FIG. 16, which is a flowchart showing the entire process, the initial position decoding process and the decoding process are immediately terminated.
The reason is that the flag condition is not satisfied unless the sliding process is completed up to the byte length calculated by {window size + authentication value size}.
The sliding process is a process of updating the cumulative addition register by sequentially calculating HASH on the data that is still concealed while sliding the window.

スライディング処理は、受信側秘匿通信処理部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において、秘匿認証範囲の着色部分は秘匿化済み(未復号)のデータ部分を示している。
In the sliding process, prior to the start of the decryption process by the reception-side secret communication processing unit 422, as shown in FIG. 20, the stream HASH calculation unit 431 performs the window in order from the top of the secret authentication range in which the concealment process is performed. HASH calculation is performed on the data for the size, and the HASH value is calculated. At the same time, the target range of the window is slid backward by the slide amount (1 byte), and the HASH calculation is performed on the data for the window size after the slide. Then, the operation value accumulation / addition unit 430 cumulatively adds the HASH values calculated by the stream HASH calculation unit 431 according to the order of HASH operations.
The stream HASH calculation unit 431 sequentially calculates 14 64-bit HASH values, and the operation value accumulation addition unit 430 sequentially accumulates and adds 14 HASH values to calculate 14 accumulation addition values. Are output to a 64-bit × 14-stage FIFO 4222, and the 64-bit × 14-stage FIFO 4222 stores 14 64-bit cumulative addition values.
20 to 24, the colored portion of the secret authentication range indicates the data portion that has been concealed (undecrypted).

スライディング処理が{ウィンドウサイズ+認証値のサイズ}を超えると、初期位置復号処理と復号処理が開始される。   When the sliding process exceeds {window size + authentication value size}, the initial position decoding process and the decoding process are started.

図21は初期位置復号処理の動作を示す図である。またフローチャートは図17である。
この処理は、送信側の初期位置秘匿処理に対応する処理であり、秘匿化されている受信データに送信側と同じ操作を行うことで復号する。
この処理は、スライディング処理におけるストリームHASHのスライディングウィンドウの左端が、秘匿認証範囲の開始位置から{ウィンドウサイズ+認証値のサイズ}Byte進んだ時に一度だけ実行される。
FIG. 21 is a diagram showing the operation of the initial position decoding process. The flowchart is shown in FIG.
This process is a process corresponding to the initial position concealment process on the transmission side, and is decrypted by performing the same operation as the transmission side on the concealed received data.
This process is executed only once when the left end of the sliding window of the stream HASH in the sliding process advances {window size + authentication value size} bytes from the start position of the secret authentication range.

復号処理のフローチャートを図18に示す。この処理は、初期位置秘匿処理が終了した以降から行われる。この段階でFIFOエントリはフル状態である。   A flowchart of the decoding process is shown in FIG. This process is performed after the initial position concealment process is completed. At this stage, the FIFO entry is full.

図22は、初期位置秘匿処理が終了した後、図16のループにおいて復号処理とスライディング処理が行われている場合の処理動作を図示したものである。
この動作は、スライディング処理におけるストリームHASHのスライディングウィンドウの右端が、秘匿認証範囲の右端に到達するまで為される。
FIG. 22 illustrates the processing operation when the decoding process and the sliding process are performed in the loop of FIG. 16 after the initial position concealment process is completed.
This operation is performed until the right end of the sliding window of the stream HASH in the sliding process reaches the right end of the secret authentication range.

図22では、まず復号処理が為され、次いでスライディング処理が為される。
初めて復号処理が為された時、初期位置秘匿処理の終了直後であり、復号の開始位置は秘匿認証範囲の開始位置からスライディングウィンドウサイズだけ進んだ位置である。
受信側秘匿通信処理部422は、FIFO4222からエントリを1つ取り出し、該位置から認証値と同じByte長の受信データとXOR演算を行う。
本例では8ByteのXOR演算が為される。
この際、復号されるのは、左側の1Byte分であり、残り7Byte及びその他の秘匿認証範囲の全域は以降の処理により1Byteずつ順次復号される。
一方、復号処理が終わると、スライディング処理が行われ、ストリームHASH計算部431によりHASH値が算出され、更に累積加算レジスタ4221がHASH値の累積加算を行い、累積加算値が、新たなエントリとしてFIFO4222へ格納される。
In FIG. 22, the decoding process is first performed, and then the sliding process is performed.
When the decryption process is performed for the first time, it is immediately after the end of the initial position concealment process, and the decryption start position is a position advanced by the sliding window size from the start position of the concealment authentication range.
The reception side secret communication processing unit 422 extracts one entry from the FIFO 4222, and performs XOR operation with the received data having the same Byte length as the authentication value from the position.
In this example, an 8-byte XOR operation is performed.
At this time, what is decoded is one byte on the left side, and the remaining 7 bytes and the entire other secret authentication range are sequentially decoded by 1 byte by subsequent processing.
On the other hand, when the decoding process is finished, the sliding process is performed, the HASH value is calculated by the stream HASH calculation unit 431, and the cumulative addition register 4221 performs the cumulative addition of the HASH value, and the cumulative addition value becomes a FIFO 4222 as a new entry. Stored in

図23は、スライディング処理におけるストリームHASHのスライディングウィンドウの右端が、秘匿認証範囲の右端に到達した際の図である。
受信データ800が、秘密情報を共有する送信者が送信した時のまま、通信路上で改ざんされていないならば、このとき得られるHASH値を累積加算レジスタ4221に加算することで累積加算レジスタ4221の値は認証値812と一致するはずである。
受信側秘匿通信処理部422は、累積加算レジスタ4221の値と認証値812とを照合して秘匿認証範囲の改ざん有無を判定する。
もし一致しない場合、受信データは通信路上で欠損あるいは何らかの操作が為されたものであり、廃棄して受信側秘匿通信処理部422の処理を終了する。
FIG. 23 is a diagram when the right end of the sliding window of the stream HASH in the sliding process has reached the right end of the secret authentication range.
If the received data 800 has not been tampered with on the communication path as it was sent by the sender sharing the secret information, the HASH value obtained at this time is added to the cumulative addition register 4221 so that the cumulative addition register 4221 The value should match the authentication value 812.
The receiving side secret communication processing unit 422 compares the value of the cumulative addition register 4221 with the authentication value 812 to determine whether the secret authentication range has been tampered with.
If they do not match, the received data has been lost or some operation has been performed on the communication path, and is discarded and the processing of the receiving side secret communication processing unit 422 is terminated.

右端に到達した際の累積加算レジスタ4221の値は認証値の判定にのみ用いられ、FIFO4222には格納しない。
また、図18ではSflgがONとなりスライディング処理が停止する。
The value of the cumulative addition register 4221 when reaching the right end is used only for determination of the authentication value, and is not stored in the FIFO 4222.
In FIG. 18, Sflg is turned on and the sliding process is stopped.

図24は図23の後、未だ秘匿されている領域を復号する際の図である。
図18に従い、受信側秘匿通信処理部422は、FIFO4222からデータを抜き出し、秘匿化が為されているデータとXOR処理を行う。
1Byteずつずらしながらこの処理を行い全ての領域を復号する。
処理対象のデータが8Byteに満たない場合、送信側の処理との対応からFIFOエントリの右端側を用いてXOR処理を行う。
FIG. 24 is a diagram when the area that is still concealed after FIG. 23 is decrypted.
According to FIG. 18, the receiving side secret communication processing unit 422 extracts data from the FIFO 4222 and performs XOR processing with the data that has been concealed.
This process is performed while shifting 1 byte at a time, and all areas are decoded.
If the data to be processed is less than 8 bytes, XOR processing is performed using the right end side of the FIFO entry in order to correspond to processing on the transmission side.

以上により、受信側の認証値判定と復号処理を終了する。
受信側においても、送信側と同様に復号処理と認証処理が同時に行われることがわかる。
This completes the authentication value determination and decryption processing on the receiving side.
It can be seen that the decryption process and the authentication process are performed at the reception side as well as the transmission side.

つまり、本実施の形態では、受信側秘匿通信処理部422は、FIFO4222から累積加算値を順に取得し、取得した累積加算値を用いて、秘匿化処理が行われている秘匿認証範囲の前方から順に8Byte(復号対象データ長)分のデータの復号処理を行い、ストリームHASH計算部431は、受信側秘匿通信処理部422により8Byte分のデータの復号処理が行われる度に、秘匿認証範囲の前方から順に、所定のスライド量(スライド量<ウィンドウサイズ)分ウィンドウの対象範囲を後方にスライドさせながら、ウィンドウサイズ(演算対象データ長)分の復号されていないデータのHASH演算を行ってHASH値を算出し、演算値累積加算部430は、ストリームHASH計算部431によりHASH値が新たに算出される度に、新たに算出されたHASH値と、それまでに算出されているHASH値の累積加算値とを累積加算して新たな累積加算値を算出し、算出した新たな累積加算値をFIFO4222に出力する。
このようにして、本実施の形態では、データ完全性認証処理(HASH値の累積加算)とデータ復号処理を並行して行っている。
In other words, in the present embodiment, the reception-side secret communication processing unit 422 sequentially acquires the cumulative addition value from the FIFO 4222 and uses the acquired cumulative addition value from the front of the secret authentication range where the concealment process is performed. The data corresponding to 8 bytes (data length to be decoded) is sequentially decoded, and the stream HASH calculation unit 431 moves forward of the secret authentication range every time the reception-side secret communication processing unit 422 performs the data decoding for 8 bytes. In order, the HASH value of the undecoded data corresponding to the window size (calculation target data length) is calculated by sliding the object range of the window backward by a predetermined slide amount (slide amount <window size) to obtain the HASH value. The calculation value cumulative addition unit 430 calculates a new HASH value by the stream HASH calculation unit 431. Each time, the newly calculated HASH value and the cumulative addition value of the HASH value calculated so far are cumulatively added to calculate a new cumulative addition value, and the calculated new cumulative addition value is input to the FIFO 4222. Output.
In this way, in the present embodiment, the data integrity authentication process (HASH value cumulative addition) and the data decryption process are performed in parallel.

次に秘匿強度を考える。
注意として、ウィンドウサイズと鍵によりHASH関数が構成される。
いま、ウィンドウサイズを既知の固定長とし、鍵によってのみHASH関数が変化すると仮定する。また、解読に用いる計算機の演算能力は約56200MIPS程度と仮定する。この演算能力は現時点で現実的に入手可能な計算機のうち、演算能力の高い計算機の演算能力と同等である。非現実的な演算能力ではなく現実的な演算能力を想定することで、実際に攻撃を受けた場合を想定して強度の検証を行うことが可能となる。
Next, consider the strength of secrecy.
Note that the HASH function is composed of the window size and the key.
Assume that the window size is a known fixed length and that the HASH function changes only with the key. Further, it is assumed that the computing capacity of the computer used for decoding is about 56200 MIPS. This computing capability is equivalent to that of a computer with high computing capability among computers that are practically available at present. By assuming realistic computing ability instead of unrealistic computing ability, it is possible to verify the strength assuming an actual attack.

HASH関数自体の計算量は1Byteあたり{XOR2回、シフト2回、OR1回}である。また、鍵によりHASH関数の出力値が変わるため、全数探索を行うためには、鍵を変えながらHASH関数のコリジョンを探索する必要がある。   The calculation amount of the HASH function itself is {XOR 2 times, shift 2 times, OR 1 time} per 1 byte. Further, since the output value of the HASH function varies depending on the key, in order to perform an exhaustive search, it is necessary to search for the collision of the HASH function while changing the key.

まず、鍵が定まりHASH関数が定まっている場合、コリジョンを計算するためには、いわゆる誕生日攻撃により、2^(64/2)通りを計算すれば、コリジョンを起こすデータを50%の確立で特定できる。
すなわち、鍵を固定した場合、平文の冒頭の候補を見つけるまで凡そ0.382(秒)である。
しかし鍵が一致しない場合、スライディング計算を行うと値が異なるため全体を解読できない。
そして鍵が異なればHASH関数の出力値も変化するため、コリジョンを起こすための候補値を再計算し直す必要がある。
First, when the key is determined and the HASH function is determined, in order to calculate the collision, if 2 ^ (64/2) are calculated by the so-called birthday attack, the data causing the collision can be established by 50%. Can be identified.
That is, when the key is fixed, it is approximately 0.382 (seconds) until a candidate for the beginning of the plaintext is found.
However, if the keys do not match, the whole value cannot be deciphered because the value is different when sliding calculation is performed.
If the key is different, the output value of the HASH function also changes, so it is necessary to recalculate the candidate value for causing the collision.

ゆえに、1つの鍵に対して0.382(秒)必要で、鍵の試行に2^64回必要である。ただし、非特許文献3、非特許文献4に述べるDES Challenge IIIの事例より、探索領域の20%程度で特定できると仮定する。   Therefore, 0.382 (seconds) is required for one key, and 2 ^ 64 times are required for the key attempt. However, from the case of DES Challenge III described in Non-Patent Document 3 and Non-Patent Document 4, it is assumed that it can be specified in about 20% of the search area.

以上により、全数探索に掛かる時間は0.386×((2^(64))×0.20)(秒)=1.117×10^(10)(年)となるため、全数探索が非常に困難であるとわかる。   As described above, the time required for exhaustive search is 0.386 × ((2 ^ (64)) × 0.20) (seconds) = 1.117 × 10 ^ (10) (year). It is difficult to understand.

ここで、全数探索で鍵を特定する確率は、探索領域に対して一様である。
20%の探索で特定するという仮定は、過去の公式な解読事例のうち高速に解読が為された事例である非特許文献4より設定した値である。
Here, the probability of specifying the key by exhaustive search is uniform for the search area.
The assumption of 20% search is a value set from Non-Patent Document 4, which is an example of high-speed decoding among past official decoding examples.

非特許文献3:独立行政法人 情報処理推進機構「暗号の危殆化に関する調査報告書」
非特許文献4:RSA(登録商標) Laboratories, DES Challenge III:http://www.rsa.com/rsalabs/node.asp?id=2108
Non-Patent Document 3: Information-technology Promotion Agency, “An Investigation Report on Compromised Cryptography”
Non-Patent Document 4: RSA (registered trademark) Laboratories, DES Challenge III: http: // www. rsa. com / rsalabs / node. asp? id = 2108

このように、本実施の形態によれば、高い演算処理能力と計算容量を持たないLCNAにおいて、LCNAの通信で要求される程度の秘匿強度、認証強度が保障できるスクランブル通信を提供することができる。   As described above, according to the present embodiment, it is possible to provide scrambled communication that can guarantee the level of confidentiality and authentication strength required for LCNA communication in LCNA that does not have high calculation processing capacity and calculation capacity. .

さらに、ソフトウェア実装であってもデータの秘匿化と認証計算が同時進行するため、高速な秘匿通信を実現することが可能である。
つまり、データ秘匿化処理とデータ完全性認証処理とを並行して実行することができるので、処理時間を低減させることができ、これにより、通信性能が劣化することを回避することができる。
Furthermore, even in software implementation, data concealment and authentication calculation proceed simultaneously, so that high-speed secret communication can be realized.
That is, since the data concealment process and the data integrity authentication process can be executed in parallel, the processing time can be reduced, thereby preventing the communication performance from deteriorating.

本実施の形態に示したアルゴリズムはデータの秘匿化と完全性認証値計算を行うため、IPsecの暗号アルゴリズム及びデータ完全性認証アルゴリズムとして用いることが可能である。   Since the algorithm shown in the present embodiment performs data concealment and integrity authentication value calculation, it can be used as an IPsec encryption algorithm and data integrity authentication algorithm.

IPsec自体は秘匿化アルゴリズム、データ完全性認証アルゴリズム共に特に規定しておらず、ただ実装必須アルゴリズム(DES、MD5、SHA−1)を定めているのみである。
しかしながら、IPsec自体がPC間通信を想定して設計されたため、実装必須アルゴリズムの計算負荷は高い。
IPsecはデータの秘匿化、完全性認証のみならず、リプレイ攻撃の防止などセキュリティ上優れた性質を有する。
しかしながらLCNAにてIPsecを用いると、セキュアな通信を実現できる一方、秘匿化、完全性認証処理が重く通信性能が低下する。
In IPsec itself, neither the concealment algorithm nor the data integrity authentication algorithm is defined in particular, but only implementation-required algorithms (DES, MD5, SHA-1) are defined.
However, since IPsec itself is designed assuming communication between PCs, the computational load of the implementation-required algorithm is high.
IPsec has not only data concealment and integrity authentication, but also excellent security properties such as prevention of replay attacks.
However, when IPsec is used in LCNA, secure communication can be realized, but concealment and integrity authentication processing are heavy and communication performance is lowered.

本実施の形態に係るアルゴリズムをIPsec処理に用いれば、計算量が少ないのみならず、秘匿化と完全性認証計算を一度に行うことが可能なので、秘匿化と認証計算が切り離された従来法よりも高速な処理が可能となる。   If the algorithm according to the present embodiment is used for IPsec processing, not only the amount of calculation is small, but also concealment and integrity authentication calculation can be performed at one time. Can be processed at high speed.

秘匿強度は通常のIPsecで利用されるアルゴリズムと比較して脆弱だが、LCNA間の通信に求められる強度としては十分である。   The secrecy strength is weaker than the algorithm used in normal IPsec, but it is sufficient as the strength required for communication between LCNAs.

以上、本実施の形態では、機器認証、データ完全性認証、データ秘匿化を行う非PC系の安価な機器において、
鍵値とウィンドウサイズを特定することで構成可能なストリームHASH計算部と、Adler32演算論理と、ストリームHASHの出力値を累積して加算する加算装置とを含み、加算装置は値0で初期化され、通信路上で改ざんされたことを検出したい領域全体についてHASH計算を行い、HASH値を累積加算し、その結果の値をデータ完全性認証とすることで改ざんを検出する改ざん検出機能を有する通信方式および通信装置を説明した。
As described above, in the present embodiment, in a non-PC inexpensive device that performs device authentication, data integrity authentication, and data concealment,
A stream HASH calculation unit that can be configured by specifying a key value and a window size, an Adder32 arithmetic logic, and an adder that accumulates and adds the output values of the stream HASH, and the adder is initialized with a value of 0 , A communication system having a falsification detection function for detecting falsification by performing HASH calculation for the entire area where it is desired to detect falsification on the communication path, accumulating HASH values, and using the result as data integrity authentication And a communication device has been described.

また、本実施の形態では、ストリームHASHの鍵値とウィンドウサイズを共有することで、送信側と受信側が同じ計算を行うことが可能となり、これにより機器認証を行う通信方式および通信装置を説明した。   Further, in the present embodiment, by sharing the key value and the window size of the stream HASH, it is possible to perform the same calculation on the transmission side and the reception side, and the communication method and communication apparatus for performing device authentication have been described. .

また、本実施の形態では、加算装置の値を用いることで、改ざん検出機能と機器認証を行いながら、送信側であれば秘匿化処理を、受信側であれば復号処理を同時に行うことを可能とし、これにより高速な処理を行うことを可能とする通信方式および通信装置を説明した。   Also, in this embodiment, by using the value of the adder, it is possible to perform concealment processing on the transmission side and decryption processing on the reception side simultaneously while performing the falsification detection function and device authentication. Thus, the communication method and the communication apparatus that can perform high-speed processing have been described.

また、本実施の形態に係る通信方式および通信装置の秘匿強度は、全数探索に対して机上計算可能であり、該計算により秘匿強度が十分であるかを検討可能であることを説明した。   In addition, it has been described that the confidentiality of the communication method and the communication device according to the present embodiment can be calculated on a desktop for the exhaustive search, and it is possible to examine whether the confidentiality is sufficient by the calculation.

また、本実施の形態に係る通信方式はIPsecの暗号アルゴリズム及びデータ完全性認証アルゴリズムとして用いることが可能であることを説明した。   Further, it has been described that the communication method according to the present embodiment can be used as an IPsec encryption algorithm and a data integrity authentication algorithm.

なお、上記では、ウィンドウサイズ(6Byte)とXOR演算の対象範囲(8Byte)が異なっている例を説明したが、ウィンドウサイズとXOR演算の対象範囲が同じByte数であってもよい。   In the above description, the window size (6 bytes) and the XOR operation target range (8 bytes) are different from each other. However, the window size and the XOR operation target range may be the same number of bytes.

実施の形態3.
実施の形態2では、図14の最初の処理が終了した段階で、認証値のサイズまで、即ち本例では8Byte先までは秘匿化が行われている。
そのため、図12の如く1Byte毎に秘匿計算を行うことを止め、秘匿化を行った後7Byte分のスライディングは出力されるHASH値の加算のみを行い、秘匿化は8Byteスライディング周期で行うこともまた可能である。
つまり、秘匿化は8Byteごとにウィンドウをスライドさせ、HASH値の計算は1Byteごとにウィンドウをスライドさせ、HASH値の累積加算は、算出されたすべてのHASH値を順次累積加算する。
これにより計算量を削減することが可能である。
すなわち、重複してXOR演算を行いビット系列の攪拌性向上を期待することを止めることに相当する。
Embodiment 3 FIG.
In the second embodiment, the concealment is performed up to the size of the authentication value, that is, up to 8 bytes in this example, at the stage when the first process of FIG. 14 is completed.
Therefore, as shown in FIG. 12, the secret calculation is stopped every 1 byte, and after the concealment is performed, the 7-byte sliding is performed only by adding the output HASH value, and the concealment is performed at the 8-byte sliding period. Is possible.
That is, the concealment slides the window every 8 bytes, the calculation of the HASH value slides the window every 1 byte, and the cumulative addition of the HASH values sequentially adds all the calculated HASH values.
This can reduce the amount of calculation.
That is, it corresponds to stopping the expectation of the bit sequence agitation improvement by performing the XOR operation repeatedly.

この実装の場合、復号側のFIFOはCEIL{(ウィンドウサイズ+認証値のサイズ)/認証値のサイズ}分のエントリのみ用意すればよい。
ここでCEIL{数値}はその数値以上でかつ最も近い整数である。復号側ではFIFOに保持するエントリ数が少なくなるため、計算量のみならず記憶容量も削減される。
In the case of this implementation, the FIFO on the decoding side only needs to have entries for CEIL {(window size + authentication value size) / authentication value size}.
Here, CEIL {numerical value} is the closest integer that is greater than or equal to the numerical value. Since the number of entries held in the FIFO is reduced on the decoding side, not only the calculation amount but also the storage capacity is reduced.

この場合もまた、メッセージとのXORを取らなければ、実施の形態1と同様に、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。   Also in this case, if the XOR with the message is not taken, the data integrity function and the partner authentication function for plaintext are provided without performing the concealment process as in the first embodiment.

実施の形態4.
実施の形態2では、図14の最初の処理が終了した段階で、認証値のサイズまで、即ち本例では8Byte先までは秘匿化が行われている。
そのため、図12の如く1Byte毎に秘匿計算を行うことを止め、スライディングのみ行い、秘匿化を行った後7Byte分のスライディングは出力されるHASH値の加算も行わず、秘匿化と累積加算を8Byteスライディング周期で行うこともまた可能である。
つまり、秘匿化は8Byteごとにウィンドウをスライドさせ、HASH値の計算は1Byteごとにウィンドウをスライドさせ、HASH値の累積加算は8Byteごとに行う。
Embodiment 4 FIG.
In the second embodiment, the concealment is performed up to the size of the authentication value, that is, up to 8 bytes in this example, at the stage when the first process of FIG. 14 is completed.
Therefore, as shown in FIG. 12, the secret calculation is stopped every 1 byte, only the sliding is performed, and after the concealment is performed, the 7-byte sliding does not add the output HASH value, and the concealment and the cumulative addition are performed by 8 bytes. It is also possible to do with a sliding period.
That is, concealment is performed by sliding the window every 8 bytes, calculation of the HASH value is performed by sliding the window every 1 byte, and cumulative addition of the HASH value is performed every 8 bytes.

この場合もまた、復号側のFIFOはCEIL{(ウィンドウサイズ+認証値のサイズ)/認証値のサイズ}分のエントリのみ用意すればよい。
ここでCEIL{数値}はその数値以上でかつ最も近い整数である。復号側ではFIFOに保持するエントリ数が少なくなるため、計算量のみならず記憶容量も削減される。
Also in this case, the FIFO on the decryption side only needs to have entries corresponding to CEIL {(window size + authentication value size) / authentication value size}.
Here, CEIL {numerical value} is the closest integer that is greater than or equal to the numerical value. Since the number of entries held in the FIFO is reduced on the decoding side, not only the calculation amount but also the storage capacity is reduced.

この場合もまた、メッセージとのXORを取らなければ、実施の形態1と同様に、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。   Also in this case, if the XOR with the message is not taken, the data integrity function and the partner authentication function for plaintext are provided without performing the concealment process as in the first embodiment.

実施の形態5.
前記の実施の形態4からさらに、秘匿化を行った後7Byte分はスライディングも行わず、スライディングウィンドウを8ByteステップでHASH値の計算、秘匿化及び累積加算を行うことで、計算量を大幅に削減することもまた可能である。
つまり、秘匿化、HASH値の計算、HASH値の累積加算のすべてを8Byteごとに行う。
Embodiment 5 FIG.
Furthermore, from the fourth embodiment, after the concealment is performed, the sliding amount is not performed for 7 bytes, and the calculation amount is conspicuously reduced by calculating, concealing, and accumulatively adding the HASH value in 8 bytes steps to the sliding window. It is also possible to do.
That is, concealment, calculation of HASH value, and cumulative addition of HASH value are all performed every 8 bytes.

上記による計算量の削減では、HASHウィンドウサイズが8Byte以上か以下かに注意が必要である。
ウィンドウサイズが8Byte以上の場合、上記の処理であっても、メッセージ全域に対してメッセージ完全性が保障できる。
In reducing the amount of calculation by the above, it is necessary to pay attention to whether the HASH window size is 8 bytes or more.
When the window size is 8 bytes or more, message integrity can be guaranteed for the entire message even in the above processing.

しかしながら8Byte以下の場合、HASHスライディングせず8Byteスキップを行うため、8Byte毎に(8−ウィンドウサイズ)分のメッセージ精査抜けが生じる。   However, in the case of 8 bytes or less, since 8 bytes are skipped without performing the HASH sliding, a message close check (8-window size) occurs every 8 bytes.

この場合、メッセージとのXORを取らなければ、平文に改ざん可能な余地を残すこととなる。   In this case, if the XOR with the message is not taken, there is room for tampering with plain text.

さらに、メッセージとのXORにより秘匿化処理が成されているとしても、秘匿化されたデータの完全性が保証できなくなり、第三者により一部のデータが破壊された際にそれを検出できない余地を残す。この場合、受信側ではデータの複号処理を実施してもデータが破壊されており、またそのことはデータの意味的な解釈でしか検出することが出来ない。   Furthermore, even if concealment processing is performed by XOR with the message, the integrity of the concealed data can no longer be guaranteed, and there is room for it to not be detected when some data is destroyed by a third party Leave. In this case, even if data decryption processing is performed on the receiving side, the data is destroyed, and this can be detected only by semantic interpretation of the data.

ゆえに、この計算量の削減を行う場合、ウィンドウサイズは8Byte以上である必要がある。   Therefore, in order to reduce the calculation amount, the window size needs to be 8 bytes or more.

この場合もまた、メッセージとのXORを取らなければ、秘匿化処理を行わず平文に対するデータ完全性機能、相手認証機能を提供する。   Also in this case, if the XOR with the message is not taken, the data integrity function and the partner authentication function for plain text are provided without performing the concealment process.

このように、本実施の形態によれば、Rabin Fingerprintingに要するXOR2回、シフト2回、OR1回と、HASH値の累積のための加算1回、また秘匿化処理を行う場合、これに要するXOR演算1回(全て64bit演算)、を8Byte毎に行えばよく、非常に軽量にスクランブル処理を行うことを可能とする。   Thus, according to the present embodiment, XOR required for Rabin Fingerprinting, two shifts, one OR, and one addition for accumulating HASH values, or when performing concealment processing, XOR required for this One calculation (all 64-bit calculations) may be performed every 8 bytes, and the scramble process can be performed very lightly.

実施の形態6.
図16において、Aflgの値に従いデータを採用あるいは廃棄する。
Aflgは受信データの認証値と受信側で再計算した認証値が一致するかどうかの判定結果を格納したものであり、受信データの認証値と受信側で再計算した認証値が一致した場合は受信データを採用し、そうではない場合は廃棄している。
Embodiment 6 FIG.
In FIG. 16, data is adopted or discarded according to the value of Aflg.
Aflg stores the determination result of whether the authentication value of the received data matches the authentication value recalculated on the receiving side, and if the authentication value of the received data matches the authentication value recalculated on the receiving side Received data is adopted, otherwise it is discarded.

一致した場合や、一致しない場合の、受信データに対する操作ポリシーを予めメモリ等に格納しておき、そのポリシーにより、各場合の操作を決定することもまた可能である。ポリシーとは各場合に該受信データをどのように扱うかを記述した設定データである。
たとえば、受信データの認証値と受信側で再計算した認証値が一致しない場合に、改ざん状況の解析のためのデータベースに受信データを登録する等の操作ポリシーを設定することが考えられる。
また、操作ポリシーを送信元別に定めることもまた可能である。
たとえば、送信元Aからの受信データは、認証値が一致しない場合に破棄し、送信元Bからの受信データは、認証値が一致しない場合は改ざん状況の解析のためのデータベースに登録する等の操作ポリシーを設定することが考えられる。
It is also possible to store an operation policy for received data in the case of matching or not matching in advance in a memory or the like, and determine the operation in each case based on the policy. A policy is setting data describing how to handle the received data in each case.
For example, when the authentication value of the received data and the authentication value recalculated on the receiving side do not match, it may be possible to set an operation policy such as registering the received data in the database for analyzing the falsification status.
It is also possible to define an operation policy for each transmission source.
For example, the reception data from the transmission source A is discarded when the authentication values do not match, and the reception data from the transmission source B is registered in the database for analyzing the tampering status when the authentication values do not match. It is possible to set an operation policy.

なお、実施の形態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で示したデータ秘匿化処理及びデータ完全性認証処理を行うことになる。
In the description of the first to sixth embodiments, an example in which a non-PC LCNA is targeted has been described, but the target is not limited to LCNA. For example, as long as the conditions such as the confidentiality strength and the authentication strength are met, the method described in the first to sixth embodiments may be applied to the PC.
When the methods described in the first to sixth embodiments are applied to a PC, the CPU uses the data stored in a RAM (Random Access Memory), a ROM (Read Only Memory), a magnetic disk device, etc. Control unit 2, communication control unit 3, transmission side confidential processing control unit 41, reception side confidential processing control unit 42, HASH calculation unit 43, HASH calculation management unit 411, transmission side confidential communication processing unit 412, HASH calculation management unit 421, The data concealment shown in the first to sixth embodiments is executed by executing a program that realizes the functions of the reception side secret communication processing unit 422, the operation value accumulation addition unit 430, the stream HASH calculation unit 431, and the initial HASH calculation unit 432 Processing and data integrity authentication processing will be performed.

1 制御装置、2 設備機器制御部、3 通信制御部、4 データ完全性確保手段、41 送信側秘匿処理制御部、42 受信側秘匿処理制御部、43 HASH計算部、411 HASH計算管理部、412 送信側秘匿通信処理部、421 HASH計算管理部、422 受信側秘匿通信処理部、430 演算値累積加算部、431 ストリームHASH計算部、432 初期HASH計算部。   DESCRIPTION OF SYMBOLS 1 Control apparatus, 2 Equipment control part, 3 Communication control part, 4 Data integrity ensuring means, 41 Transmission side concealment process control part, 42 Reception side concealment process control part, 43 HASH calculation part, 411 HASH calculation management part, 412 Transmission side secret communication processing unit, 421 HASH calculation management unit, 422 Reception side secret communication processing unit, 430 calculation value accumulation addition unit, 431 stream HASH calculation unit, 432 initial HASH calculation unit.

Claims (19)

ざん検知の対象となる改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行一方向演算値を出する一方向演算部と、
一方向演算部により算出された方向演算値累積加算する演算値累積加算部と、
演算値累積加算部により累積加算された累積加算値を前記改ざん検知対象データの認証値とする認証値指定部と
前記演算値累積加算部により累積加算された累積加算値に基づいて、前記改ざん検知対象データの秘匿化処理を行う秘匿化処理部とを有することを特徴とするデータ処理装置。
A one-way operation portion for a one-way operation of the tamper detection target data to be subjected to tampering detection de San rows have unidirectional operation value for each predetermined calculation target data length,
A calculation value accumulating unit for cumulatively adding one direction calculation value calculated by the one-way computation unit,
An authentication value specifying portion which the accumulated value which is cumulatively added by the arithmetic value accumulating unit and the authentication value of the tampering detection target data,
A data processing apparatus comprising: a concealment processing unit configured to conceal the alteration detection target data based on the cumulative addition value cumulatively added by the calculation value cumulative addition unit .
前記一方向演算部におけるスライド量は、前記演算対象データ長よりも短いことを特徴とする請求項1に記載のデータ処理装置。 The data processing apparatus according to claim 1 , wherein a slide amount in the one-way calculation unit is shorter than the calculation target data length. 前記秘匿化処理部が秘匿化処理を行う処理と、前記認証値指定部が前記改ざん検知対象データの認証値を算出する処理と、を並行して行うことを特徴とする請求項1又は2に記載のデータ処理装置。 3. The process according to claim 1, wherein the concealment processing unit performs the concealment process and the authentication value designation unit performs a process of calculating the authentication value of the alteration detection target data in parallel. The data processing apparatus described. 前記一方向演算部は、前記秘匿化処理が行われる度に、順次前記改ざん検知対象データの前記一方向演算値を算出することを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。 The data processing according to any one of claims 1 to 3, wherein the one-way operation unit sequentially calculates the one-way operation value of the alteration detection target data every time the concealment process is performed. apparatus. 前記演算値累積加算部は、前記一方向演算により算出された順に、算出された全ての前記一方向演算値を累積加算ることを特徴とする請求項1〜4のいずれかに記載のデータ処理装置。 The calculated value accumulating unit in turn the calculated one-way operation, the data according to all of the one-way operation value calculated in any one of claims 1-4, characterized that you added cumulatively Processing equipment. 前記演算値累積加算部は、前記一方向演算部により算出された順に、算出された前記一方向演算値から2以上を選択して累積加算することを特徴とする請求項1〜4のいずれかに記載のデータ処理装置。 The calculation value cumulative addition unit selects and adds two or more from the calculated one-way calculation values in the order calculated by the one-way calculation unit, according to any one of claims 1 to 4. The data processing apparatus described in 1. 前記認証値が付加され秘匿化処理を行った前記改ざん検知対象データを送信先装置に送信するデータ送信部を更に備えたことを特徴とする請求項1〜6のいずれかに記載のデータ処理装置。 The data processing apparatus according to claim 1, further comprising a data transmission unit that transmits the tampering detection target data to which the authentication value is added and concealed to a transmission destination apparatus. . 前記データ処理装置は、前記演算対象データ長と、前記一方向演算部による最初の一方向演算に用いられる鍵値とを前記送信先装置と共有していることを特徴とする請求項に記載のデータ処理装置。 Wherein the data processing device according to claim 7, wherein said arithmetic target data length, that the first and the key value used in one direction operation shared with the transmission destination device by the direction calculation unit Data processing equipment. 前記一方向演算部は、一方向演算として、ストリームハッシュ演算を行うことを特徴とする請求項1〜8のいずれかに記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the one-way operation unit performs a stream hash operation as the one-way operation. 秘匿化処理が行われ改ざん検知の対象となる改ざん検知対象データと、前記改ざん検知対象データの改ざん検知に用いられる認証値を受信するデータ受信部と、
前記改ざん検知対象データの一方向演算を所定の演算対象データ長ごとに行一方向演算値を出する一方向演算部と、
一方向演算部により算出された方向演算値累積加算する演算値累積加算部と、
演算値累積加算部により累積加算された累積加算値と、前記データ受信部により受信された認証値とを照合する照合部と
前記演算値累積加算部により累積加算された累積加算値に基づいて、前記改ざん検知対象データの復号処理を行う復号処理部とを有することを特徴とするデータ処理装置。
A data reception unit that receives an authentication value used for falsification detection of the falsification detection target data, and falsification detection target data that is subject to falsification detection after being concealed ;
A one-way operation portion to leave calculate the one-way operation value had line a one-way operation on each prescribed operation target data length of the tamper detection target data,
A calculation value accumulating unit for cumulatively adding one direction calculation value calculated by the one-way computation unit,
A collation unit for collating the accumulated value which is cumulatively added by the arithmetic value accumulating unit, an authentication value received by the data receiving unit,
A data processing apparatus comprising: a decoding processing unit that performs a decoding process on the alteration detection target data based on the cumulative addition value cumulatively added by the calculation value cumulative addition unit .
前記一方向演算部におけるスライド量は、前記演算対象データ長よりも短いことを特徴とする請求項10に記載のデータ処理装置。 The data processing apparatus according to claim 10 , wherein a slide amount in the one-way calculation unit is shorter than the calculation target data length. 前記演算値累積加算部は、前記一方向演算により算出された順に、算出された全ての前記一方向演算値を累積加算ることを特徴とする請求項10又は11に記載のデータ処理装置。 The calculated value accumulating unit, the one-way operation sequentially calculated by the data processing apparatus according to any of the one-way operation value calculated in claim 10 or 11, characterized that you added cumulatively. 前記照合部が前記改ざん検知対象データを前記認証値と照合する処理と、前記復号処理部が前記改ざん検知対象データの復号処理を行う処理と、を並行して行うことを特徴とする請求項10〜12のいずれかに記載のデータ処理装置。 Claim 10, wherein the matching unit is performed in parallel with processing to be matched with the authentication value the falsification detection target data, a process of the decoding unit performs decoding processing of the falsification detection target data, the The data processing apparatus in any one of -12 . 前記累積加算値を先入れ先出し方式により蓄積するFIFO蓄積部を更に備え
前記復号処理部は、前記FIFO蓄積部から得した累積加算値を用いて、号処理を行い、
前記一方向演算部は、号されていない前記改ざん検知対象データの新たな一方向演算値を算出し、
前記演算値累積加算部は、前記新たな一方向演算値と、それまでに算出されている前記累積加算値とを累積加算し新たな累積加算値を記FIFO蓄積部に出力することを特徴とする請求項10〜13のいずれかに記載のデータ処理装置。
Further comprising a FIFO storage section for storing the first-in first-out the accumulated value,
The decoding processing unit, by using the cumulative addition value retrieved from the FIFO storage unit, performs decrypt process,
The one direction calculation unit calculates a new way calculated value of the tampering detection target data which is not decrypt,
The calculated value accumulating unit is configured and a new one-way operation values, outputting the new accumulated value obtained by accumulating the said accumulated value that is calculated so far before Symbol FIFO storage unit The data processing device according to claim 10, wherein the data processing device is a data processing device.
前記一方向演算部は、前記復号処理が行われる度に、順次前記改ざん検知対象データの前記一方向演算値を算出することを特徴とする請求項10〜14のいずれかに記載のデータ処理装置。 The one direction calculating unit, every time the decoding process is performed, a sequential data processing apparatus according to any one of claims 10 to 14, characterized in that to calculate the one-way operation value of the tampering detection target data . 前記FIFO蓄積部は、複数の蓄積段数を有し、
記一方向演算部は、前記復号処理部による復号処理の開始前に、複数の前記一方向演算値を算出し、
前記演算値累積加算部は、記一方向演算値が算出される度に累積加算した複数の累積加算値を前記FIFO蓄積部に出力し、
前記復号処理部は、前記FIFO蓄積部に蓄積段数の累積加算値が蓄積されると、復号処理を開始することを特徴とする請求項14に記載のデータ処理装置。
The FIFO storage unit has a plurality of storage stages.
Before SL unidirectional operation unit, before the start of the decoding process by the decoding unit, it calculates a plurality of said one-way operation value,
The calculated value accumulating unit outputs a plurality of cumulative addition value obtained by accumulating the time the previous SL unidirectional operation value is calculated for the FIFO storage unit,
15. The data processing apparatus according to claim 14 , wherein the decoding processing unit starts decoding processing when a cumulative addition value of the number of storage stages is stored in the FIFO storage unit.
前記一方向演算部は、前記改ざん検知対象データに対して、nバイト(nは2以上の整数)の演算対象データ長一方向演算を行い、mバイト(mは2以上の整数)の一方向演算値を算出し、
前記FIFO蓄積部は、×m段の蓄積段数を有することを特徴とする請求項16に記載のデータ処理装置。
The one-way operation unit performs a one-way operation on an operation target data length of n bytes (n is an integer of 2 or more) for the tampering detection target data, and one m byte (m is an integer of 2 or more). Calculate the direction calculation value,
The data processing apparatus according to claim 16 , wherein the FIFO storage unit has n × m stages of storage stages.
前記データ処理装置は、演算対象データ長と、前記一方向演算部による最初の一方向演算に用いられる鍵値とを前記改ざん検知対象データの送信元の装置と共有していることを特徴とする請求項10〜17のいずれかに記載のデータ処理装置。 The data processing apparatus shares the calculation target data length and the key value used for the first one-way calculation by the one-way calculation unit with the transmission source apparatus of the alteration detection target data. The data processing apparatus according to claim 10 . 前記一方向演算部は、
一方向演算として、ストリームハッシュ演算を行うことを特徴とする請求項10〜18
のいずれかに記載のデータ処理装置。
The one-way operation unit is
As a one-way operation, claim and performs stream hash operation 10 to 18
A data processing apparatus according to any one of the above.
JP2009109753A 2009-04-28 2009-04-28 Data processing device Expired - Fee Related JP5414346B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009109753A JP5414346B2 (en) 2009-04-28 2009-04-28 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009109753A JP5414346B2 (en) 2009-04-28 2009-04-28 Data processing device

Publications (2)

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

Family

ID=43319360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009109753A Expired - Fee Related JP5414346B2 (en) 2009-04-28 2009-04-28 Data processing device

Country Status (1)

Country Link
JP (1) JP5414346B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6238774B2 (en) 2013-02-21 2017-11-29 キヤノン株式会社 Hash value generator
JP6113091B2 (en) 2013-03-07 2017-04-12 キヤノン株式会社 Hash value generator
US20150261810A1 (en) * 2014-03-13 2015-09-17 Electronics And Telecommunications Research Institute Data transfer apparatus and method
CN107016542A (en) 2016-12-06 2017-08-04 阿里巴巴集团控股有限公司 A kind of business data processing method, verification method, apparatus and system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200196A (en) * 1996-01-24 1997-07-31 Brother Ind Ltd Ciphering communication system
JPH1079732A (en) * 1996-09-03 1998-03-24 Iryo Joho Syst Kaihatsu Center Network security system and method therefor
DK1376922T3 (en) * 2001-04-03 2014-10-27 Mitsubishi Electric Corp encryption device
KR100593491B1 (en) * 2001-07-17 2006-06-30 샤프 가부시키가이샤 Apparatus and method for generating data for detecting false alteration of encrypted data during processing
US6962530B2 (en) * 2002-04-25 2005-11-08 Igt Authentication in a secure computerized gaming system
JP2004134855A (en) * 2002-10-08 2004-04-30 Nippon Telegraph & Telephone East Corp Sender authentication method in packet communication network
JP4408648B2 (en) * 2003-04-17 2010-02-03 富士通マイクロエレクトロニクス株式会社 Encryption / authentication processing apparatus, data communication apparatus, and encryption / authentication processing method
JP4346962B2 (en) * 2003-06-05 2009-10-21 日本電気株式会社 Encrypted communication control device

Also Published As

Publication number Publication date
JP2010258993A (en) 2010-11-11

Similar Documents

Publication Publication Date Title
US9674204B2 (en) Compact and efficient communication security through combining anti-replay with encryption
US7715553B2 (en) Encrypting a plaintext message with authentication
US9166793B2 (en) Efficient authentication for mobile and pervasive computing
TWI528773B (en) Block encryption apparatus, block encryption method, block decryption apparatus, and block decryption method having integrity verification
US20100268960A1 (en) System and method for encrypting data
JP2007089147A (en) Method for authentication
Dworkin NIST special publication 800-38B
JPH04265031A (en) Method and apparatus for utilization control of open key
WO2014136386A1 (en) Tag generation device, tag generation method, and tag generation program
US9917695B2 (en) Authenticated encryption method using working blocks
CN109428867A (en) A kind of message encipher-decipher method, network equipment and system
JP5414346B2 (en) Data processing device
Widiasari Combining advanced encryption standard (AES) and one time pad (OTP) encryption for data security
US8122247B2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
Khan et al. Evolution and Analysis Of Secure Hash Algorithm (Sha) Family
Gligoroski et al. π-cipher: Authenticated encryption for big data
EP2087635A2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
Easttom et al. Cryptographic Hashes
Nowakowski et al. Performance analysis of data security algorithms used in the railway traffic control systems
Hwang et al. IAR‐CTR and IAR‐CFB: integrity aware real‐time based counter and cipher feedback modes
Wu et al. Fundamentals of cryptography
Soni et al. Comparative Analysis of Cryptographic Algorithms in Computer Network
Mohamed et al. Cryptography concepts: Confidentiality
WO2008084271A2 (en) Method and system for message integrity architecture for use in industrial control systems

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