JP6289680B2 - パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム - Google Patents
パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム Download PDFInfo
- Publication number
- JP6289680B2 JP6289680B2 JP2016570218A JP2016570218A JP6289680B2 JP 6289680 B2 JP6289680 B2 JP 6289680B2 JP 2016570218 A JP2016570218 A JP 2016570218A JP 2016570218 A JP2016570218 A JP 2016570218A JP 6289680 B2 JP6289680 B2 JP 6289680B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- xth
- data block
- authentication code
- message 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims description 78
- 238000000034 method Methods 0.000 claims description 168
- 238000012545 processing Methods 0.000 claims description 38
- 239000000284 extract Substances 0.000 claims description 14
- 230000006870 function Effects 0.000 description 60
- 238000004891 communication Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
送信中のデータに対する改ざんを行えないようにするには、限られた人物のみが正しいMACを生成できるという状況が必要である。そのためには、送信者と受信者との間で秘密裏に共通鍵とMAC生成関数とを共有する必要がある。
送信者は、メッセージデータと共通鍵とをMAC生成関数に入力し、メッセージデータとMACとを含んだパケットを送信する。受信者は、メッセージデータと共通鍵とを用いてMACを送信者と同様に生成し、生成したMACが受信したMACと一致するか検証する。改ざんがなければ両方のMACが一致する。両方のMACが一致しなければ、メッセージデータ、MACまたはその両方に改ざんがあったと判断されて、パケットが破棄される。
HMACでは、MACを生成する演算のコアの部分にSHA―1やMD5などのハッシュアルゴリズムが用いられ、それぞれHMAC−SHA1やHMAC−MD5と呼ばれる。
HMACはハッシュアルゴリズムをブラックボックスとして扱うことができるため、特定の条件を満たすハッシュアルゴリズムを利用することができる。なお、HMACの安全性は、利用するハッシュアルゴリズムの安全性に依存する。
例えば、HMAC−SHA256を利用した場合に生成される256ビットのMACのうちの上位128ビットを、付加するMACとして利用することが可能である。
但し、付加するMACが短くなると、HMACの安全性は低くなる。
このシステムおよびサービスは、計算リソースが制限されたデバイスを多数用いて構成されたネットワークによって提供される。そして、人間の制御を介在させずに、各デバイスが自律的に稼働する。計算リソースが制限されたデバイスはセンサーノードまたはRFIDタグなどである。RFIDはRadio Frequency IDentifierの略称である。
この場合、メッセージデータ全体から生成されたMACを最終パケットに付与して送信することができる。しかし、受信者は最終パケットを受け取るまで各パケットの信頼性を検証することができない。
これに対し、特許文献1は、分割データごとにMACを生成し、分割データとMACとを含んだパケットを送信する技術を開示している。
しかし、狭帯域通信において分割データ毎にMACを付加すると、帯域上限を超過する可能性がある。そのため、MACが固定長である場合、分割データのサイズを小さくする必要がある。その結果、パケット数が増えるため、全てのパケットの伝送に時間がかかってしまう。そして、通信路に大きな負荷がかかってしまう。
N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X−1のデータブロックのメッセージ認証コードと、を用いて生成されるデータである第Xの編集データを生成する編集データ生成部と、
前記第Xのデータブロックに付加するデータである第Xの付加データを前記第Xの編集データを用いて生成する付加データ生成部と、
前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成部と、
前記第Xのパケットを送信するパケット送信部とを備える。
データブロックを検証するための付加データをデータブロックに付加する形態について、図1から図14に基づいて説明する。
図1に基づいて、パケット通信システム100について説明する。
パケット通信システム100はパケット110を通信するシステムである。
パケット通信システム100は、パケット110を送信するパケット送信装置200と、パケット110を受信するパケット受信装置300とを備える。
パケット送信装置200およびパケット受信装置300は、ネットワーク109を介してパケット110を送受信する。
メッセージデータ201は送信されるデータである。
メッセージデータ201はパケット110のサイズに合わせて複数のデータブロック202に分割される。メッセージデータ201の分割数はNである。Nは2以上の整数である。
パケット110はヘッダ111とデータブロック202と付加データ205とを含む。
ヘッダ111はパケット110を識別するパケット番号を含む。第1のヘッダ111−1に含まれるパケット番号は1であり、第Nのヘッダ111−Nに含まれるパケット番号はNである。パケット番号はデータブロック202を識別するデータブロック番号としても機能する。
付加データ205は、データブロック202が正しいデータブロックであるか判定するための情報である。
第N+1のパケット120は第N+1のヘッダ121と残りメッセージ認証コード206とを含む。図中のMACはメッセージ認証コードの略称である。
第N+1のヘッダ121は第N+1のパケット120を識別するパケット番号を含む。第N+1のパケット120に含まれるパケット番号はN+1である。
残りメッセージ認証コード206は、第Nのデータブロック202−Nが正しいデータブロックであるか判定するための情報である。
パケット送信装置200は、メッセージデータ取得部210と、データ分割部220と、メッセージ認証コード生成部230と、編集データ生成部240と、付加データ生成部250と、パケット生成部260と、パケット送信部270とを備える。
さらに、パケット送信装置200は、パケットカウント部280と送信記憶部290とメッセージ認証コード記憶部291とを備える。
データ分割部220は、メッセージデータ201をN個のデータブロック202に分割する。
メッセージ認証コード生成部230は、N個のデータブロック202に含まれるデータブロック202毎にデータブロック202のメッセージ認証コード203を生成する。
第Xのデータブロック202は、N個のデータブロック202のうちの第2のデータブロック202−2から第Nのデータブロック202−Nまでのいずれかのデータブロックである。
第Xの編集データ204−Xは、第Xのメッセージ認証コード203−Xと第X−1のメッセージ認証コード203−X−1とを用いて生成されるデータである。
第Xの付加データ205−Xは、第Xのデータブロック202−Xに付加するデータである。
パケット送信部270は第Xのパケット110−Xを送信する。
パケットカウント部280はパケット番号(X)をカウントする。
メッセージ認証コード記憶部291は第X−1のメッセージ認証コード203−X−1を記憶する。
パケット受信装置300は、パケット受信部310と、メッセージ認証コード生成部320と、編集データ生成部330と、比較データ生成部340と、データブロック判定部350と、データ復元部360とを備える。
さらに、パケット受信装置300は、パケットカウント部380と、受信記憶部390と、メッセージ認証コード記憶部391とを備える。
メッセージ認証コード生成部320は、第X−1のパケット110−X−1に含まれる第X−1のデータブロック202−X−1を用いて、第X−1のメッセージ認証コード302−X−1を生成する。第X−1のメッセージ認証コード302−X−1は、第X−1のデータブロック202−Xのメッセージ認証コード302である。
第Xの編集データ303−Xは、第Xのメッセージ認証コード302−Xと第X−1のメッセージ認証コード302−X−1とを用いて生成されるデータである。
第Xの比較データ304−Xは、第Xのデータブロック202−Xに付加されるべきデータである。
受信記憶部390は、パケット受信装置300で使用、生成または入出力されるデータを記憶する。受信記憶部390には共通鍵101などが記憶される。この共通鍵101はパケット送信装置200が使用する共通鍵101と同じである。
メッセージ認証コード記憶部391は、第X−1のメッセージ認証コード302−X−1を記憶する。
パケット送信装置200およびパケット受信装置300は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置907に接続されている。ディスプレイインタフェース906はケーブル912を介してディスプレイ908に接続されている。
補助記憶装置902は、例えば、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903は例えばRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。例えば、通信装置904は通信チップまたはNICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
ディスプレイインタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
入力装置907は、例えば、マウス、キーボードまたはタッチパネルである。
ディスプレイ908は例えばLCDである。LCDはLiquid Crystal Displayの略称である。
パケット送信装置200の補助記憶装置902には、パケット送信装置200に備わるメッセージデータ取得部210、データ分割部220、メッセージ認証コード生成部230、編集データ生成部240、付加データ生成部250、パケット生成部260およびパケット送信部270といった「部」の機能を実現するプログラムが記憶されている。
パケット受信装置300の補助記憶装置902には、パケット受信装置300に備わるパケット受信部310、メッセージ認証コード生成部320、編集データ生成部330、比較データ生成部340、データブロック判定部350およびデータ復元部360といった「部」の機能を実現するプログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら「部」の機能を実現するプログラムを実行する。「部」の機能を実現するプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、パケット送信装置200およびパケット受信装置300が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
パケット通信システム100の動作はパケット通信方法に相当し、パケット送信装置200の動作はパケット送信方法に相当し、パケット受信装置300の動作はパケット受信方法に相当する。
また、パケット通信方法はパケット通信プログラムの処理手順に相当し、パケット送信方法はパケット送信プログラムの処理手順に相当し、パケット受信方法はパケット受信プログラムに相当する。
図中の「H」はMAC生成関数を意味する。また、「||」は連結を意味し、「MAC(Y)」は第Yの編集データ204のメッセージ認証コードを意味する。
第1のデータブロック202−1およびパケット番号(1)がMAC生成関数に入力されて、第1のメッセージ認証コード203−1が生成される。
第1のメッセージ認証コード203−1にメッセージ認証コード203の初期値(0)が連結されて、第1の編集データ204−1が生成される。
第1の編集データ204−1がMAC生成関数に入力されて、第1の編集データ204−1のメッセージ認証コードが生成される。
第1の編集データ204−1のメッセージ認証コードから第1の付加データ205−1が抽出される。
第1のデータブロック202−1と第1の付加データ205−1とを含んだ第1のパケット110−1が生成される。第1のパケット110−1が送信される。
第2のメッセージ認証コード203−2に第1のメッセージ認証コード203−1が連結されて、第2の編集データ204−2が生成される。
第2の編集データ204−2がMAC生成関数に入力されて、第2の編集データ204−2のメッセージ認証コードが生成される。
第2の編集データ204−2のメッセージ認証コードから第2の付加データ205−2が抽出される。
第2のデータブロック202−2と第2の付加データ205−2とを含んだ第2のパケット110−2が生成される。第2のパケット110−2が送信される。
第3のメッセージ認証コード203−3に第2のメッセージ認証コード203−2が連結されて、第3の編集データ204−3が生成される。
第3の編集データ204−3がMAC生成関数に入力されて、第3の編集データ204−3のメッセージ認証コードが生成される。
第3の編集データ204−3のメッセージ認証コードから第3の付加データ205−3が抽出される。
第3のデータブロック202−3と第3の付加データ205−3とを含んだ第3のパケット110−3が生成される。第3のパケット110−3が送信される。
残りメッセージ認証コード206を含んだ第N+1のパケット120として第4のパケットが生成される。第4のパケットが送信される。
S110はメッセージデータ取得処理である。
S110において、メッセージデータ201は、ユーザインタフェースまたは入力装置を用いて、パケット送信装置200に入力される。
メッセージデータ取得部210は、パケット送信装置200に入力されたメッセージデータ201を取得する。
S120において、データ分割部220は、メッセージデータ201をN個のデータブロック202に分割する。
図8に基づいて、第1のデータブロック処理(S130)について説明する。
S131において、メッセージ認証コード生成部230は、第1のデータブロック202−1とパケット番号(1)と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1のメッセージ認証コード203−1が生成される。MACはメッセージ認証コードの略称である。
第1のメッセージ認証コード203−1は、第1のデータブロック202−1のメッセージ認証コード203である。
S132において、編集データ生成部240は、第1のメッセージ認証コード203−1とメッセージ認証コード203の初期値とを用いて、第1の編集データ204−1を生成する。
第1の編集データ204−1は、第1のメッセージ認証コード203−1にメッセージ認証コード203の初期値を連結したデータである。メッセージ認証コード203の初期値はオールゼロである。
S133において、付加データ生成部250は、第1の編集データ204−1を用いて、以下のように第1の付加データ205−1を生成する。
付加データ生成部250は、第1の編集データ204−1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集データ204−1のメッセージ認証コードが生成される。このMAC生成関数は、S131で演算されるMAC生成関数と同じである。
付加データ生成部250は、第1の編集データ204−1のメッセージ認証コードを用いて、第1の付加データ205−1を生成する。第1の付加データ205−1は、第1の編集データ204−1のメッセージ認証コードから抽出される部分である。
第1の編集データ204−1のメッセージ認証コードは256ビットのビット列であり、第1の付加データ205−1は第1の編集データ204−1のメッセージ認証コードの前半のYビット(0<Y≦256)である。
S134において、パケット生成部260は、第1のヘッダ111−1と第1のデータブロック202−1と第1の付加データ205−1とを含んだ第1のパケット110−1を生成する。
S135において、パケット送信部270は、第1のパケット110−1をパケット受信装置300に送信する。
S135の後、第1のデータブロック処理(S130)は終了する。
S140は第Xのデータブロック処理である。
図9に基づいて、第Xのデータブロック処理(S140)について説明する。
S141において、メッセージ認証コード生成部230は、第Xのデータブロック202−Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xのメッセージ認証コード203−Xが生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
S142において、編集データ生成部240は、第Xのメッセージ認証コード203−Xと第X−1のメッセージ認証コード203−X−1とを用いて、第Xの編集データ204−Xを生成する。
第Xの編集データ204−Xは、第Xのメッセージ認証コード203−Xに第X−1のメッセージ認証コード203−X−1を連結したデータである。
S143において、付加データ生成部250は、第Xの編集データ204−Xを用いて、以下のように第Xの付加データ205−Xを生成する。
付加データ生成部250は、第Xの編集データ204−Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集データ204−Xのメッセージ認証コードが生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
付加データ生成部250は、第Xの編集データ204−Xのメッセージ認証コードを用いて、第Xの付加データ205−Xを生成する。第Xの付加データ205−Xは、第Xの編集データ204−Xのメッセージ認証コードから抽出される部分である。
第Xの編集データ204−Xのメッセージ認証コードは256ビットのビット列であり、第Xの付加データ205−Xは第Xの編集データ204−Xのメッセージ認証コードの前半のYビット(0<Y≦256)である。
S144において、パケット生成部260は、第Xのヘッダ111−Xと第Xのデータブロック202−Xと第Xの付加データ205−Xとを含んだ第Xのパケット110−Xを生成する。
S145において、パケット送信部270は、第Xのパケット110−Xをパケット受信装置300に送信する。
S150は残りメッセージ認証コード処理である。
図10に基づいて、残りメッセージ認証コード処理(S150)について説明する。
S151において、パケット生成部260は、第N+1のヘッダ121と残りメッセージ認証コード206とを含んだ第N+1のパケット120を生成する。
残りメッセージ認証コード206は、第Nの編集データ204−Nのメッセージ認証コードから第Nの付加データ205−Nを除いた部分である。
第Nの編集データ204−Nのメッセージ認証コードおよび第Nの付加データ205−Nは、S143(図9参照)において変数Xの値がNであるときに生成されている。
つまり、残りメッセージ認証コード206は、第Nの編集データ204−Nのメッセージ認証コードの後半のYビット(0<Y≦256)である。
S152において、パケット送信部270は、第N+1のパケット120をパケット受信装置300に送信する。
S152の後、残りメッセージ認証コード処理(S150)は終了する。
第1のデータブロック202−1と第1の付加データ205−1とを含んだ第1のパケット110−1が受信される。
第1のデータブロック202−1およびパケット番号(1)がMAC生成関数に入力されて、第1のメッセージ認証コード302−1が生成される。
第1のメッセージ認証コード302−1にメッセージ認証コード302の初期値(0)が連結されて、第1の編集データ303−1が生成される。
第1の編集データ303−1がMAC生成関数に入力されて、第1の編集データ303−1のメッセージ認証コードが生成される。
第1の編集データ303−1のメッセージ認証コードから第1の比較データ304−1が抽出される。
第1の比較データ304−1が第1の付加データ205−1と比較される。
第2のデータブロック202−2およびパケット番号(2)がMAC生成関数に入力されて、第2のメッセージ認証コード302−2が生成される。
第2のメッセージ認証コード302−2に第1のメッセージ認証コード302−1が連結されて、第2の編集データ303−2が生成される。
第2の編集データ303−2がMAC生成関数に入力されて、第2の編集データ303−2のメッセージ認証コードが生成される。
第2の編集データ303−2のメッセージ認証コードから第2の比較データ304−2が抽出される。
第2の比較データ304−2が第2の付加データ205−2と比較される。
第3のデータブロック202−3およびパケット番号(3)がMAC生成関数に入力されて、第3のメッセージ認証コード302−3が生成される。
第3のメッセージ認証コード302−3に第2のメッセージ認証コード302−2が連結されて、第3の編集データ303−3が生成される。
第3の編集データ303−3がMAC生成関数に入力されて、第3の編集データ303−3のメッセージ認証コードが生成される。
第3の編集データ303−3のメッセージ認証コードから第3の比較データ304−3が抽出される。
第3の比較データ304−3が第3の付加データ205−3と比較される。
第3の編集データ303−3のメッセージ認証コードから残り比較データ305が抽出される。
残り比較データ305が残りメッセージ認証コード206と比較される。
S210はパケット受信処理である。
S210において、パケット受信部310は第1から第Nまでのパケット110を受信する。
図13に基づいて、第1のデータブロック処理(S220)について説明する。
S221において、メッセージ認証コード生成部320は、第1のデータブロック202−1とパケット番号(1)と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1のメッセージ認証コード302−1が生成される。このMAC生成関数は、S131(図8参照)で演算されるMAC生成関数と同じである。
第1のメッセージ認証コード302−1は、第1のデータブロック202−1のメッセージ認証コード302である。
S222において、編集データ生成部330は、第1のメッセージ認証コード302−1とメッセージ認証コード302の初期値とを用いて、第1の編集データ303−1を生成する。
第1の編集データ303−1は、第1のメッセージ認証コード302−1にメッセージ認証コード302の初期値を連結したデータである。メッセージ認証コード302の初期値はオールゼロである。
S223において、比較データ生成部340は、第1の編集データ303−1を用いて、以下のように第1の比較データ304−1を生成する。
比較データ生成部340は、第1の編集データ303−1と共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第1の編集データ303−1のメッセージ認証コードが生成される。このMAC生成関数は、S133(図8参照)で演算されるMAC生成関数と同じである。
比較データ生成部340は、第1の編集データ303−1のメッセージ認証コードを用いて、第1の比較データ304−1を生成する。第1の比較データ304−1は、第1の編集データ303−1のメッセージ認証コードから抽出される部分である。
第1の編集データ303−1のメッセージ認証コードは256ビットのビット列であり、第1の比較データ304−1は第1の編集データ303−1のメッセージ認証コードの前半のYビット(0<Y≦256)である。
S224において、データブロック判定部350は、第1の比較データ304−1と第1のパケット110−1に含まれる第1の付加データ205−1とを比較する。
そして、データブロック判定部350は、第1のパケット110−1に含まれる第1のデータブロック202−1が正しいデータブロック202であるか、比較結果に基づいて判定する。
第1の比較データ304−1が第1の付加データ205−1と同じである場合、第1のデータブロック202−1は正しいデータブロック202である。
第1の比較データ304−1が第1の付加データ205−1と異なる場合、第1のデータブロック202−1は誤ったデータブロック202である。
S224の後、第1のデータブロック処理(S220)は終了する。
第1のデータブロック202−1が誤ったデータブロック202であった場合、パケット受信方法の処理は終了する。
第1のデータブロック202−1が正しいデータブロック202であった場合、処理はS230に進む。
図14に基づいて、第Xのデータブロック処理(S230)について説明する。
S231において、メッセージ認証コード生成部320は、第Xのデータブロック202−Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xのメッセージ認証コード302−Xが生成される。このMAC生成関数は、S141(図9参照)で演算されるMAC生成関数と同じである。
S232において、編集データ生成部330は、第Xのメッセージ認証コード302−Xと第X−1のメッセージ認証コード302−X−1とを用いて、第Xの編集データ303−Xを生成する。
第Xの編集データ303−Xは、第Xのメッセージ認証コード302−Xに第X−1のメッセージ認証コード302−X−1を連結したデータである。
S233において、比較データ生成部340は、第Xの編集データ303−Xを用いて、以下のように第Xの比較データ304−Xを生成する。
比較データ生成部340は、第Xの編集データ303−Xと共通鍵101とを入力として用いて、MAC生成関数を演算する。これにより、第Xの編集データ303−Xのメッセージ認証コードが生成される。このMAC生成関数は、S143(図9参照)で演算されるMAC生成関数と同じである。
比較データ生成部340は、第Xの編集データ303−Xのメッセージ認証コードを用いて、第Xの比較データ304−Xを生成する。第Xの比較データ304−Xは、第Xの編集データ303−Xのメッセージ認証コードから抽出される部分である。
第Xの編集データ303−Xのメッセージ認証コードは256ビットのビット列であり、第Xの比較データ304−Xは第Xの編集データ303−Xのメッセージ認証コードの前半のYビット(0<Y≦256)である。
S234において、データブロック判定部350は、第Xの比較データ304−Xと第Xのパケット110−Xに含まれる第Xの付加データ205−Xとを比較する。
そして、データブロック判定部350は、第Xのパケット110−Xに含まれる第Xのデータブロック202−Xが正しいデータブロック202であるか、比較結果に基づいて判定する。
第Xの比較データ304−Xが第Xの付加データ205−Xと同じである場合、第Xのデータブロック202−Xは正しいデータブロック202である。
第Xの比較データ304−Xが第Xの付加データ205−Xと異なる場合、第Xのデータブロック202−Xは誤ったデータブロック202である。この場合、第Xのデータブロック処理(S230)は終了する。
第Xのデータブロック202−Xが誤ったデータブロック202であった場合、パケット受信方法の処理は終了する。
第Xのデータブロック202−Xが正しいデータブロック202であった場合、処理はS240に進む。
S240において、データブロック判定部350は、残り比較データと第N+1のパケット120に含まれる残りメッセージ認証コード206とを比較する。残り比較データについては後述する。
そして、データブロック判定部350は、第Nのパケット110−Nに含まれる第Nのデータブロック202−Nが正しいデータブロック202であるか、比較結果に基づいて判定する。
残り比較データが残りメッセージ認証コード206と同じである場合、第Nのデータブロック202−Nは正しいデータブロック202である。
残り比較データが残りメッセージ認証コード206と異なる場合、第Nのデータブロック202−Nは誤ったデータブロック202である。
第Nの編集データ303−Nのメッセージ認証コードおよび第Nの比較データ304−Nは、S233(図14参照)において変数Xの値がNであるときに生成されている。
つまり、残り比較データは、第Nの編集データ303−Nのメッセージ認証コードの後半のYビット(0<Y≦256)である。
第Nのデータブロック202−Nが正しいデータブロック202であった場合、処理はS250に進む。
S250において、データ復元部360は、第1から第Nまでのデータブロック202を連結することによって、メッセージデータ201を復元する。
第Xのデータブロック202−Xと第X−1のデータブロック202−X−1とに基づいた第Xの付加データ205−Xを第Xのデータブロック202−Xに付加することによって、第Xのデータブロック202−Xを検証することができる。
これにより、第Xの編集データ204−Xのメッセージ認証コードの一部を第Xの付加データ205−Xから切り捨てて第Xの付加データ205−Xのサイズを小さくし、第Xのデータブロック202−Xの改ざんの検出率を高め、パケット通信の安全性を向上させることができる。
実施の形態が特に有効なシステムの一例として、工場、プラントおよび建築現場の機器の稼働状態を監視するセンサとそれらのデータを集約するサーバとから構成されるシステムが挙げられる。その他に、車載機器間の通信または建物のエネルギーマネジメントなどのアプリケーションで限定された小さなデータが多数のデバイスによって断続的または連続的に送受信されるシステムが挙げられる。また、エナジーハーベストまたは無線給電を行うセンサーノードネットワークシステムが挙げられる。
編集データ204を生成する方法が実施の形態1と異なる形態について、図15から図24に基づいて説明する。但し、実施の形態1と重複する説明は省略する。
図15に基づいて、パケット送信装置200の機能構成について説明する。
編集データ生成部240は、第Xのデータブロック202−Xと第X−1の編集MAC259−X−1とを用いて、第Xの編集データ204−Xを生成する。
メッセージ認証コード生成部230は、第Xの編集MAC207−Xを生成する。第Xの編集MAC207−Xは、第Xの編集データ204−Xのメッセージ認証コードである。
付加データ生成部250は、第Xの編集MAC207−Xの一部を第Xの付加データ205−Xとして抽出する。
編集データ生成部330は、第Xのデータブロック202−Xと第X−1の編集MAC306−X−1とを用いて、第Xの編集データ303−Xを生成する。
メッセージ認証コード生成部320は、第Xの編集MAC306−Xを生成する。第Xの編集MAC306−Xは、第Xの編集データ303−Xのメッセージ認証コードである。
比較データ生成部340は、第Xの編集MAC306−Xの一部を第Xの比較データ304−Xとして抽出する。
図17に基づいて、Nが3である場合のパケット送信方法について説明する。
第1のデータブロック202−1にパケット番号(1)および編集MAC207の初期値(0)が連結されて、第1の編集データ204−1が生成される。
第1の編集データ204−1がMAC生成関数に入力されて、第1の編集MAC207−1が生成される。
第1の編集MAC207−1から第1の付加データ205−1が抽出される。
第1のデータブロック202−1と第1の付加データ205−1とを含んだ第1のパケット110−1が生成される。第1のパケット110−1が送信される。
第2の編集データ204−2がMAC生成関数に入力されて、第2の編集MAC207−2が生成される。
第2の編集MAC207−2から第2の付加データ205−2が抽出される。
第2のデータブロック202−2と第2の付加データ205−2とを含んだ第2のパケット110−2が生成される。第2のパケット110−2が送信される。
第3の編集データ204−3がMAC生成関数に入力されて、第3の編集MAC207−3が生成される。
第3の編集MAC207−3から第3の付加データ205−3が抽出される。
第3のデータブロック202−3と第3の付加データ205−3とを含んだ第3のパケット110−3が生成される。第3のパケット110−3が送信される。
残りメッセージ認証コード206を含んだ第N+1のパケット120として第4のパケットが生成される。第4のパケットが送信される。
メッセージ送信方法の処理の流れは、実施の形態1(図7参照)と同じである。
メッセージデータ取得処理(S110)、データ分割処理(S120)および残りMAC処理(S150)は実施の形態1と同じである。
以下に、第1のデータブロック処理(S130B)と第Xのデータブロック処理(S140B)とについて説明する。
S131Bにおいて、編集データ生成部240は、第1のデータブロック202−1と編集MAC207の初期値とを用いて、第1の編集データ204−1を生成する。
第1の編集データ204−1は、第1のデータブロック202−1に編集MAC207の初期値を連結したデータである。編集MAC207の初期値はオールゼロである。
第1の編集MAC207−1は、第1の編集データ204−1のメッセージ認証コードである。
S141Bにおいて、編集データ生成部240は、第Xのデータブロック202−Xと第X−1の編集MAC207−X−1を用いて、第Xの編集データ204−Xを生成する。
第Xの編集データ204−Xは、第Xのデータブロック202−Xにパケット番号(X)および第X−1の編集MAC207−X−1を連結したデータである。
第Xの編集MAC207−Xは、第Xの編集データ204−Xのメッセージ認証コードである。
第1のデータブロック202−1と第1の付加データ205−1とを含んだ第1のパケット110−1が受信される。
第1のデータブロック202−1にパケット番号(1)および編集MAC306の初期値(0)が連結されて、第1の編集データ303−1が生成される。
第1の編集データ303−1がMAC生成関数に入力されて、第1の編集MAC306−1が生成される。
第1の編集MAC306−1から第1の比較データ304−1が抽出される。
第1の比較データ304−1が第1の付加データ205−1と比較される。
第2のデータブロック202−2にパケット番号(2)および第1の編集MAC306−1が連結されて、第2の編集データ303−2が生成される。
第2の編集データ303−2がMAC生成関数に入力されて、第2の編集MAC306−2が生成される。
第2の編集MAC306−2から第2の比較データ304−2が抽出される。
第2の比較データ304−2が第2の付加データ205−2と比較される。
第3のデータブロック202−3にパケット番号(3)および第2の編集MAC306−2が連結されて、第3の編集データ303−3が生成される。
第3の編集データ303−3がMAC生成関数に入力されて、第3の編集MAC306−3が生成される。
第3の編集MAC306−3から第3の比較データ304−3が抽出される。
第3の比較データ304−3が第3の付加データ205−3と比較される。
第3の編集MAC306−3のメッセージ認証コードから残り比較データ305が抽出される。
残り比較データ305が残りメッセージ認証コード206と比較される。
パケット受信方法の処理の流れは、実施の形態1(図12参照)と同じである。
パケット受信処理(S210)、データブロック判定処理(S240)およびデータ復元処理(S250)は、実施の形態1と同じである。
以下に、第1のデータブロック処理(S220B)と第Xのデータブロック処理(S230B)とについて説明する。
S221Bにおいて、編集データ生成部330は、第1のデータブロック202−1とパケット番号(1)と編集MAC306の初期値とを用いて、第1の編集データ303−1を生成する。
第1の編集データ303−1は、第1のデータブロック202−1にパケット番号(1)および編集MAC306の初期値を連結したデータである。編集MAC306の初期値はオールゼロである。
第1の編集MAC306−1は、第1の編集データ303−1のメッセージ認証コードである。
S231Bにおいて、編集データ生成部330は、第Xのデータブロック202−Xとパケット番号(X)と第X−1の編集MAC306−X−1とを用いて、第Xの編集データ303−Xを生成する。
第Xの編集データ303−Xは、第Xのデータブロック202−Xにパケット番号(X)および第X−1の編集MAC306−X−1を連結したデータである。
第Xの編集MAC306−Xは、第Xの編集データ303−Xのメッセージ認証コードである。
第Xの付加データ205−Xには第X−1のデータブロック202−X−1より前の各データブロック202の情報も含まれるため、第Xのデータブロック202−Xの改ざんの検出率を高めることができる
MAC生成関数の演算の回数が実施の形態1の半分であるため、データブロック202に対する処理時間を短縮することができる。
実施の形態1におけるデータブロック202を暗号化する形態について、図25から図30に基づいて説明する。
図25に示すように、パケット送信装置200は、実施の形態1(図3参照)で説明した機能に加えて、暗号化部281を備える。
暗号化部281は、第Xのデータブロック202−Xを暗号化することによって、第Xの暗号化ブロック208−Xを生成する。第Xの暗号化ブロック208−Xは、暗号化された第Xのデータブロック202−Xである。
メッセージ認証コード生成部230は、第Xのデータブロック202−Xの代わりに第Xの暗号化ブロック208−Xを用いて、第Xのメッセージ認証コード203−Xを生成する。
パケット生成部260は、第Xのデータブロック202−Xの代わりに第Xの暗号化ブロック208−Xを含んだ第Xのパケット110−Xを生成する。
復号部381は、第1から第Nのデータブロック202を復号する。
図27に基づいて、パケット送信方法の処理の流れについて説明する。
S110、S120およびS150は実施の形態1(図7参照)と同じである。
S121において、暗号化部281は、N個のデータブロック202を暗号化鍵を用いて暗号化することによって、N個の暗号化ブロック208を生成する。暗号化鍵は共通鍵101または別の鍵である。
第1の暗号化ブロック処理(S130C)は、実施の形態1の第1のデータブロック処理(S130)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
第Xの暗号化ブロック処理(S140C)は、実施の形態1の第Xのデータブロック処理(S140)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
S210は実施の形態1(図12参照)と同じである。
第1の暗号化ブロック処理(S220C)は、実施の形態1の第1のデータブロック処理(S220)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
第Xの暗号化ブロック処理(S230C)は、実施の形態1の第Xのデータブロック処理(S230)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
第Nのデータブロック判定処理(S240C)は、実施の形態1の第Nのデータブロック判定処理(S240)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
S251において、復号部381は第1から第Nまでの暗号化ブロック208を復号鍵を用いて復号する。復号鍵は共通鍵101または別の鍵である。
S250は実施の形態1と同じである。
データブロック202の暗号化によって、メッセージデータ201の秘匿性を担保することができる。
実施の形態2におけるデータブロック202を暗号化する形態について、図31から図34に基づいて説明する。
図31に示すように、パケット送信装置200は、実施の形態2(図15参照)で説明した機能に加えて、暗号化部281を備える。
暗号化部281は、第Xのデータブロック202−Xを暗号化することによって、第Xの暗号化ブロック208−Xを生成する。第Xの暗号化ブロック208−Xは、暗号化された第Xのデータブロック202−Xである。
編集データ生成部240は、第Xのデータブロック202−Xの代わりに第Xの暗号化ブロック208−Xを用いて、第Xの編集データ204−Xを生成する。
パケット生成部260は、第Xのデータブロック202−Xの代わりに第Xの暗号化ブロック208−Xを含んだ第Xのパケット110−Xを生成する。
復号部381は、第1から第Nのデータブロック202を復号する。
パケット送信方法の処理の流れは、実施の形態3(図27参照)と同じである。
但し、第1の暗号化ブロック処理(S130C)は、実施の形態2の第1のデータブロック処理(S130B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
また、第Xの暗号化ブロック処理(S140C)は、実施の形態2の第Xのデータブロック処理(S140B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
但し、第1の暗号化ブロック処理(S220C)は、実施の形態2の第1のデータブロック処理(S220B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
また、第Xの暗号化ブロック処理(S230C)は、実施の形態2の第Xのデータブロック処理(S230B)においてデータブロック202を暗号化ブロック208に置き換えた処理である。
データブロック202の暗号化によって、メッセージデータ201の秘匿性を担保することができる。
フローチャート等を用いて説明した処理手順は、パケット送信方法、パケット送信プログラム、パケット受信方法およびパケット受信プログラムの処理手順の一例である。
パケット送信装置200は、パケット受信装置300の機能を備えるパケット通信装置であってもよい。
編集データは連結以外の編集によって生成されてもよい。
付加データおよび比較データは、編集データのメッセージ認証コードの一部ではなくて、編集データのメッセージ認証コードの全部であってもよい。さらに、付加データおよび比較データは、編集データを用いて生成されるデータあれば、編集データのメッセージ認証コードの一部および編集データのメッセージ認証コードの全部と異なるデータであってもよい。
Claims (14)
- N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X−1のデータブロックのメッセージ認証コードとを用いて、前記第Xのデータブロックのメッセージ認証コードに前記第X−1のデータブロックのメッセージ認証コードを連結して第Xの編集データを生成する編集データ生成部と、
前記第Xの編集データを用いて第Xの編集データのメッセージ認証コードを生成し、前記第Xの編集データのメッセージ認証コードの一部を、前記第Xのデータブロックに付加するデータである第Xの付加データとして抽出する付加データ生成部と、
前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成部と、
前記第Xのパケットを送信するパケット送信部と
を備えるパケット送信装置。 - 前記付加データ生成部は、第Nの編集データのメッセージ認証コードを生成し、前記第Nの編集データのメッセージ認証コードから第Nの付加データを抽出し、
前記パケット生成部は、前記第Nの編集データのメッセージ認証コードから前記第Nの付加データを除いた部分を含んだパケットを第N+1のパケットとして生成し、
前記パケット送信部は、前記第N+1のパケットを送信する
請求項1に記載のパケット送信装置。 - 前記編集データ生成部は、第1のデータブロックのメッセージ認証コードとメッセージ認証コードの初期値とを用いて第1の編集データを生成し、
前記付加データ生成部は、前記第1の編集データを用いて第1の付加データを生成し、
前記パケット生成部は、前記第1のデータブロックと前記第1の付加データとを含んだ第1のパケットを生成し、
前記パケット送信部は、前記第1のパケットを送信する
請求項1に記載のパケット送信装置。 - 前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項1に記載のパケット送信装置。
- N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットと、第X−1のデータブロックを含んだ第X−1のパケットとを受信するパケット受信部と、
前記第Xのパケットに含まれる前記第Xのデータブロックを用いて前記第Xのデータブロックのメッセージ認証コードを生成し、前記第X−1のパケットに含まれる前記第X−1のデータブロックを用いて前記第X−1のデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記第Xのデータブロックのメッセージ認証コードに前記第X−1のデータブロックのメッセージ認証コードを連結して第Xの編集データを生成する編集データ生成部と、
前記第Xの編集データを用いて第Xの編集データのメッセージ認証コードを生成し、前記第Xの編集データのメッセージ認証コードの一部を、前記第Xのデータブロックに付加されるべきデータである第Xの比較データとして抽出する比較データ生成部と、
前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するデータブロック判定部と
を備えるパケット受信装置。 - 前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項5に記載のパケット受信装置。
- N個のデータブロックのうちの第2のデータブロックから第N−1のデータブロックまでのいずれかのデータブロックである第X−1のデータブロックに第X−2のデータブロックに対応する第X−2の編集データのメッセージ認証コードを連結して第X−1の編集データを生成する編集データ生成部と、
前記第X−1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記第X−1の編集データのメッセージ認証コードの一部を第X−1の付加データとして抽出する付加データ生成部と、
前記第X−1のデータブロックと前記第X−1の付加データとを含んだ第X−1のパケットを生成するパケット生成部と、
前記第X−1のパケットを送信するパケット送信部とを備え、
前記編集データ生成部は、前記N個のデータブロックのうちの第Xのデータブロックに前記第X−1の編集データのメッセージ認証コードを連結して第Xの編集データを生成し、
前記メッセージ認証コード生成部は、前記第Xの編集データのメッセージ認証コードを生成し、
前記付加データ生成部は、前記第Xの編集データのメッセージ認証コードの一部を第Xの付加データとして抽出し、
前記パケット生成部は、前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成し、
前記パケット送信部は、前記第Xのパケットを送信する
パケット送信装置。 - 前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項7に記載のパケット送信装置。
- N個のデータブロックのうちの第2のデータブロックから第N−1のデータブロックまでのいずれかのデータブロックである第X−1のデータブロックと前記第X−1のデータブロックを用いて生成されたデータである第X−1の付加データとを含んだ第X−1のパケットと、第X−2のデータブロックと前記第X−2のデータブロックを用いて生成されたデータである第X−2の付加データとを含んだ第X−2のパケットとを受信するパケット受信部と、
前記第X−1のパケットに含まれる前記第X−1のデータブロックと前記第X−2のパケットに含まれる前記第X−2のデータブロックとを用いて、前記第X−1のデータブロックに前記第X−2のデータブロックに対応する第X−2の編集データのメッセージ認証コードを連結して第X−1の編集データを生成する編集データ生成部と、
前記第X−1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記第X−1の編集データのメッセージ認証コードの一部を第X−1の比較データとして抽出する比較データ生成部と、
前記第X−1の比較データと前記第X−1の付加データとを比較することによって、前記第X−1のデータブロックが正しいデータブロックであるか判定するデータブロック判定部とを備え、
前記パケット受信部は、第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットを受信し、
前記編集データ生成部は、前記第Xのデータブロックに前記第X−1の編集データのメッセージ認証コードを連結して第X−1の編集データを生成し、
前記メッセージ認証コード生成部は、前記第Xの編集データのメッセージ認証コードを生成し、
前記比較データ生成部は、前記第Xの編集データのメッセージ認証コードの一部を第Xの比較データとして抽出し、
前記データブロック判定部は、前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するパケット受信装置。 - 前記N個のデータブロックのそれぞれのデータブロックは暗号化されたデータブロックである請求項9に記載のパケット受信装置。
- N個のデータブロックに含まれるデータブロック毎にデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
前記N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックのメッセージ認証コードと、前記N個のデータブロックのうちの第X−1のデータブロックのメッセージ認証コードとを用いて、前記第Xのデータブロックのメッセージ認証コードに前記第X−1のデータブロックのメッセージ認証コードを連結して第Xの編集データを生成する編集データ生成処理と、
前記第Xの編集データを用いて第Xの編集データのメッセージ認証コードを生成し、前記第Xの編集データのメッセージ認証コードの一部を、前記第Xのデータブロックに付加するデータである第Xの付加データとして抽出する付加データ生成処理と、
前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成するパケット生成処理と、
前記第Xのパケットを送信するパケット送信処理と
をコンピュータに実行させるためのパケット送信プログラム。 - N個のデータブロックのうちの第2のデータブロックから第Nのデータブロックまでのいずれかのデータブロックである第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットと、第X−1のデータブロックを含んだ第X−1のパケットとを受信するパケット受信処理と、
前記第Xのパケットに含まれる前記第Xのデータブロックを用いて前記第Xのデータブロックのメッセージ認証コードを生成し、前記第X−1のパケットに含まれる前記第X−1のデータブロックを用いて前記第X−1のデータブロックのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
前記第Xのデータブロックのメッセージ認証コードに前記第X−1のデータブロックのメッセージ認証コードを連結して第Xの編集データを生成する編集データ生成処理と、
前記第Xの編集データを用いて第Xの編集データのメッセージ認証コードを生成し、前記第Xの編集データのメッセージ認証コードの一部を、前記第Xのデータブロックに付加されるべきデータである第Xの比較データとして抽出する比較データ生成処理と、
前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定するデータブロック判定処理と
をコンピュータに実行させるためのパケット受信プログラム。 - N個のデータブロックのうちの第2のデータブロックから第N−1のデータブロックまでのいずれかのデータブロックである第X−1のデータブロックに第X−2のデータブロックに対応する第X−2の編集データのメッセージ認証コードを連結して第X−1の編集データを生成する編集データ生成処理と、
前記第X−1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
前記第X−1の編集データのメッセージ認証コードの一部を第X−1の付加データとして抽出する付加データ生成処理と、
前記第X−1のデータブロックと前記第X−1の付加データとを含んだ第X−1のパケットを生成するパケット生成処理と、
前記第X−1のパケットを送信するパケット送信処理とをコンピュータに実行させて、
前記編集データ生成処理は、前記N個のデータブロックのうちの第Xのデータブロックに前記第X−1の編集データのメッセージ認証コードを連結して第Xの編集データを生成し、
前記メッセージ認証コード生成処理は、前記第Xの編集データのメッセージ認証コードを生成し、
前記付加データ生成処理は、前記第Xの編集データのメッセージ認証コードの一部を第Xの付加データとして抽出し、
前記パケット生成処理は、前記第Xのデータブロックと前記第Xの付加データとを含んだ第Xのパケットを生成し、
前記パケット送信処理は、前記第Xのパケットを送信する
パケット送信プログラム。 - N個のデータブロックのうちの第1のデータブロックから第N−1のデータブロックまでのいずれかのデータブロックである第X−1のデータブロックと前記第X−1のデータブロックを用いて生成されたデータである第X−1の付加データとを含んだ第X−1のパケットと、第X−2のデータブロックと前記第X−2のデータブロックを用いて生成されたデータである第X−2の付加データとを含んだ第X−2のパケットとを受信するパケット受信処理と、
前記第X−1のパケットに含まれる前記第X−1のデータブロックと前記第X−2のパケットに含まれる前記第X−2のデータブロックとを用いて、前記第X−1のデータブロックに前記第X−2のデータブロックに対応する第X−2の編集データのメッセージ認証コードを連結して第X−1の編集データを生成する編集データ生成処理と、
前記第X−1の編集データのメッセージ認証コードを生成するメッセージ認証コード生成処理と、
前記第X−1の編集データのメッセージ認証コードの一部を第X−1の比較データとして抽出する比較データ生成処理と、
前記第X−1の比較データと前記第X−1の付加データとを比較することによって、前記第X−1のデータブロックが正しいデータブロックであるか判定するデータブロック判定処理とをコンピュータに実行させて、
前記パケット受信処理は、第Xのデータブロックと前記第Xのデータブロックを用いて生成されたデータである第Xの付加データとを含んだ第Xのパケットを受信し、
前記編集データ生成処理は、前記第Xのデータブロックに前記第X−1の編集データのメッセージ認証コードを連結して第X−1の編集データを生成し、
前記メッセージ認証コード生成処理は、前記第Xの編集データのメッセージ認証コードを生成し、
前記比較データ生成処理は、前記第Xの編集データのメッセージ認証コードの一部を第Xの比較データとして抽出し、
前記データブロック判定処理は、前記第Xの比較データと前記第Xの付加データとを比較することによって、前記第Xのデータブロックが正しいデータブロックであるか判定する
パケット受信プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/051192 WO2016116999A1 (ja) | 2015-01-19 | 2015-01-19 | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016116999A1 JPWO2016116999A1 (ja) | 2017-04-27 |
JP6289680B2 true JP6289680B2 (ja) | 2018-03-07 |
Family
ID=56416567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016570218A Active JP6289680B2 (ja) | 2015-01-19 | 2015-01-19 | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US10412069B2 (ja) |
JP (1) | JP6289680B2 (ja) |
CN (1) | CN107113180B (ja) |
DE (1) | DE112015005991B4 (ja) |
TW (1) | TW201628379A (ja) |
WO (1) | WO2016116999A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150504A (zh) * | 2017-06-14 | 2019-01-04 | 深圳市中兴微电子技术有限公司 | 一种实现数据传输处理的方法及高级加密标准系统 |
WO2019043921A1 (ja) * | 2017-09-01 | 2019-03-07 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム |
WO2019142306A1 (ja) * | 2018-01-19 | 2019-07-25 | ルネサスエレクトロニクス株式会社 | 半導体装置、データ提供方法、データ復号方法、およびプログラム |
JPWO2019234850A1 (ja) * | 2018-06-06 | 2020-06-25 | サスメド株式会社 | セキュリティシステムおよびデータ処理装置 |
CN110098939B (zh) * | 2019-05-07 | 2022-02-22 | 浙江中控技术股份有限公司 | 消息认证方法及装置 |
US11343097B2 (en) * | 2020-06-02 | 2022-05-24 | Bank Of America Corporation | Dynamic segmentation of network traffic by use of pre-shared keys |
US11818045B2 (en) | 2021-04-05 | 2023-11-14 | Bank Of America Corporation | System for performing dynamic monitoring and prioritization of data packets |
US11743156B2 (en) * | 2021-04-05 | 2023-08-29 | Bank Of America Corporation | System for performing dynamic monitoring and filtration of data packets |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757913A (en) | 1993-04-23 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for data authentication in a data communication environment |
JP2001519930A (ja) | 1998-02-04 | 2001-10-23 | サンマイクロシステムズ インコーポレーテッド | 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置 |
US6754824B1 (en) | 1999-06-25 | 2004-06-22 | Telefonaktiebolaget L M Ericsson (Publ) | Modulated message authentication system and method |
US7373506B2 (en) * | 2000-01-21 | 2008-05-13 | Sony Corporation | Data authentication system |
JP3948595B2 (ja) * | 2000-03-06 | 2007-07-25 | Kddi株式会社 | メッセージ認証装置 |
JP4333351B2 (ja) | 2003-12-05 | 2009-09-16 | 株式会社デンソー | 通信システム |
US7457954B2 (en) | 2003-06-18 | 2008-11-25 | Denso Corporation | Communications system and packet structure |
JP2005012466A (ja) | 2003-06-18 | 2005-01-13 | Denso Corp | メッセージ認証方法及びメッセージ認証システム |
US20060136728A1 (en) | 2003-08-15 | 2006-06-22 | Gentry Craig B | Method and apparatus for authentication of data streams with adaptively controlled losses |
JP2005072650A (ja) | 2003-08-22 | 2005-03-17 | Ntt Docomo Inc | 被検証装置、検証装置、被検証方法及び検証方法 |
CN101507178A (zh) * | 2006-08-28 | 2009-08-12 | 三菱电机株式会社 | 数据处理系统、数据处理方法以及程序 |
JP4938409B2 (ja) | 2006-10-13 | 2012-05-23 | Kddi株式会社 | デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム |
US8122247B2 (en) | 2006-10-23 | 2012-02-21 | Alcatel Lucent | Processing method for message integrity with tolerance for non-sequential arrival of message data |
US8204216B2 (en) | 2006-10-23 | 2012-06-19 | Alcatel Lucent | Processing method for message integrity with tolerance for non-sequential arrival of message data |
US8949600B2 (en) | 2006-10-27 | 2015-02-03 | Qualcomm Incorporated | Composed message authentication code |
JP2010510756A (ja) | 2006-11-21 | 2010-04-02 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | メッセージデータの非順次到着に対する許容性があるメッセージの完全性のための処理方法 |
JP5148190B2 (ja) * | 2007-07-20 | 2013-02-20 | 京セラ株式会社 | 受信方法および受信装置 |
JP5556659B2 (ja) | 2008-08-29 | 2014-07-23 | 日本電気株式会社 | 通信システム、送信側及び受信又は転送側の通信装置、データ通信方法、データ通信プログラム |
JP5245935B2 (ja) | 2009-03-11 | 2013-07-24 | 株式会社Ihi | ロボットハンド及び移送ロボット |
CN103109493B (zh) * | 2010-03-17 | 2016-01-13 | 富士通株式会社 | 通信装置、程序以及方法 |
DE102010042539B4 (de) * | 2010-10-15 | 2013-03-14 | Infineon Technologies Ag | Datensender mit einer sicheren, aber effizienten Signatur |
JP5286380B2 (ja) * | 2011-03-07 | 2013-09-11 | 株式会社東芝 | データ送信装置および送信方法 |
US20120331308A1 (en) * | 2011-06-22 | 2012-12-27 | Media Patents, S.L. | Methods, apparatus and systems to improve security in computer systems |
JP5770602B2 (ja) | 2011-10-31 | 2015-08-26 | トヨタ自動車株式会社 | 通信システムにおけるメッセージ認証方法および通信システム |
DE102013206202A1 (de) * | 2013-04-09 | 2014-10-30 | Robert Bosch Gmbh | Sensormodul und Verfahren zum Betreiben eines Sensorsmoduls |
US20140351598A1 (en) * | 2013-05-24 | 2014-11-27 | Qualcomm Incorporated | Systems and methods for broadcast wlan messages with message authentication |
US10042780B2 (en) * | 2014-11-07 | 2018-08-07 | Synopsys, Inc. | Integrity protection for data storage |
US9350732B1 (en) * | 2014-11-07 | 2016-05-24 | Elliptic Technologies Inc. | Integrity protection for data storage |
CN107094080B (zh) * | 2016-02-12 | 2020-07-17 | 东芝存储器株式会社 | 通信装置 |
-
2015
- 2015-01-19 JP JP2016570218A patent/JP6289680B2/ja active Active
- 2015-01-19 CN CN201580073137.2A patent/CN107113180B/zh active Active
- 2015-01-19 US US15/544,469 patent/US10412069B2/en active Active
- 2015-01-19 WO PCT/JP2015/051192 patent/WO2016116999A1/ja active Application Filing
- 2015-01-19 DE DE112015005991.1T patent/DE112015005991B4/de active Active
- 2015-03-05 TW TW104106965A patent/TW201628379A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JPWO2016116999A1 (ja) | 2017-04-27 |
DE112015005991T5 (de) | 2017-11-09 |
TW201628379A (zh) | 2016-08-01 |
CN107113180A (zh) | 2017-08-29 |
US20170353440A1 (en) | 2017-12-07 |
WO2016116999A1 (ja) | 2016-07-28 |
US10412069B2 (en) | 2019-09-10 |
CN107113180B (zh) | 2020-01-17 |
DE112015005991B4 (de) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6289680B2 (ja) | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム | |
US9614668B1 (en) | Conversion schemes for cryptography systems | |
US8086865B2 (en) | Supplying cryptographic algorithm constants to a storage-constrained target | |
RU2638639C1 (ru) | Кодер, декодер и способ кодирования и шифрования входных данных | |
EP3183836B1 (en) | Generating cryptographic checksums | |
JP2007089147A (ja) | 認証方法 | |
JP5630913B2 (ja) | 通信チャネルでの暗号化の存在を隠すための帯域効率的な方法及びシステム | |
CN112600665B (zh) | 一种基于区块链和加密技术的隐蔽通信方法、装置及系统 | |
CN113259132B (zh) | 数据传输加解密方法、装置、计算机设备及存储介质 | |
US20180253559A1 (en) | Secured lossless data compression using encrypted headers | |
CN102780698A (zh) | 物联网平台中用户终端安全通信的方法 | |
CN110912920A (zh) | 数据处理方法、设备及介质 | |
WO2016140033A1 (en) | Classification device and method of performing a real- time classification of a data stream, computer program product, and system | |
CN115580396A (zh) | 匿踪查询系统及匿踪查询方法 | |
CN113449338B (zh) | 基于区块链的信息加密存储方法及系统 | |
CN117640256B (zh) | 一种无线网卡的数据加密方法、推荐装置和存储介质 | |
US10200356B2 (en) | Information processing system, information processing apparatus, information processing method, and recording medium | |
CN111615106A (zh) | 一种语音数据包的加密方法及装置 | |
CN103825725B (zh) | 一种基于矢量量化的高效随机物理层密钥产生方法 | |
CN116488919A (zh) | 一种数据处理方法、通信节点及存储介质 | |
CN115277094A (zh) | 一种基于区块链的通信方法、终端、系统及存储介质 | |
CN115102768B (zh) | 一种数据处理方法、装置及计算机设备 | |
US11336456B2 (en) | Message authentication system, apparatus, and message verification method | |
GB2590282A (en) | Cryptographic key management for end-to-end communication security | |
US9948755B1 (en) | Methods and systems of transmitting header information using rateless codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161012 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6289680 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |