JP6743702B2 - Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム - Google Patents

Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム Download PDF

Info

Publication number
JP6743702B2
JP6743702B2 JP2016555082A JP2016555082A JP6743702B2 JP 6743702 B2 JP6743702 B2 JP 6743702B2 JP 2016555082 A JP2016555082 A JP 2016555082A JP 2016555082 A JP2016555082 A JP 2016555082A JP 6743702 B2 JP6743702 B2 JP 6743702B2
Authority
JP
Japan
Prior art keywords
tag list
mac tag
mac
group test
pseudo
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
Application number
JP2016555082A
Other languages
English (en)
Other versions
JPWO2016063512A1 (ja
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016063512A1 publication Critical patent/JPWO2016063512A1/ja
Application granted granted Critical
Publication of JP6743702B2 publication Critical patent/JP6743702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、共通鍵暗号ないしハッシュ関数を用いたメッセージ認証技術に関する。
メッセージ認証コード(Message Authentication Code、以降、「メッセージ認証」あるいは「MAC」と称する)方式は、メッセージに対して秘密鍵を知るものだけが計算できるタグを付与することで、メッセージが正当であることを保証する技術である。メッセージ認証方式を用いれば、例えば、秘密鍵を共有した2者の通信において、通信の間に行われた、第3者による改ざんを検知することが可能となる。
具体的には、送信者からメッセージとタグが受信者に送られると、受信者は、受け取ったメッセージからタグを計算すると共に、計算したタグと受信したタグとの一致を判断する。これにより、受信者は、メッセージが正当な送信元から送られたものかどうかを判断できる。
MACの基本的な入出力について説明する。秘密鍵Kを共有する2者AliceとBobにおいて、AliceからBobへメッセージMを送る場合について説明する。Aliceは、Mに対して、Kを用いたMAC関数MAC_Kを適用し、認証タグT=MAC_K(M)を求めると共に、メッセージ(M,T)をBobへ送信する。
Bobが受信した情報を(M’,T’)とする。Bobは、T’とMAC_K(M’)の一致を判断することにより、受け取ったメッセージ(M’,T’)が、Aliceが送ったメッセージと認証タグとの対であるか否かがわかる。これにより、改ざんの有無をチェック可能である。
このような方式の一例として、非特許文献1のCMAC(Cipher−based MAC)や非特許文献2のHMAC(Hash−based MAC)がある。
一般的なメッセージ認証を用いる場合、メッセージ中の改ざんされた位置に関して情報を得ることは困難である。これは、改ざんが行われた場合、認証タグの値は、正しい値とは異なるランダムな値となるからである。
これに対して、メッセージの全体にMAC関数を一度適用するのではなく、メッセージを任意の部分に分割し、それらの部分ごとにMAC関数を適用することにより、部分ごとのチェックを可能とする技術が一般に用いられている。これにより、メッセージに対する改ざん位置を特定することが可能となる。
例えば、メッセージMがm個のアイテムM[1],...,M[m]からなる場合、各アイテムに対して、以下のようにタグを求める。
Figure 0006743702
そして、(M,T[1],...,T[m])を受信者に送信する。受信者は、受信した(M,T[1],...,T[m])に基づいて、改ざん位置を特定することができる。
ハードディスクにおけるデータに対し、ファイルごとや、ディスクセクターごとにMACを適用することがこの方法の例として挙げられる。しかし、この方法は、m個のアイテムに対してm個のタグが生成されるので、保存すべきデータ量の増加が大きいという問題がある。
一方、非特許文献3に記載されるように、メッセージを、互いに重なりを許し、長さも異なる複数の部分系列に分解し、この部分系列ごとにMACを適用するというアプローチがある。
例えば、非特許文献3に記載される「例1」について説明する。「例1」では、メッセージMが7個のアイテムからなるとき、(M[1],M[2],...,M[7])を、
Figure 0006743702
という3つの部分系列に分解する。そして、それぞれに対してMACを適用し、3つのタグ、
Figure 0006743702
を計算する。
この例では、アイテムごとにMACを適用する場合に7個必要であったタグの数を、3つに減らすことが可能となる。さらに、検証時における各(T[i],S[i])に対する検証結果を2値(すなわち、”0”ならMACは正しい、”1”なら改ざんされた)のB[i]で表現すると、以下のように改ざん位置が特定できる。すなわち、ある時点でメッセージMに対してMACタグのチェックを行った結果が、
Figure 0006743702
である場合、結果が”1”であるB[2]のみに含まれるアイテムがM[6]であることから、M[6]が改ざんされたと特定できる。より正確には、この例では、任意の1アイテムの改ざんであれば、改ざんされたアイテムの特定が可能である。
この性質は、部分系列の作り方を工夫することにより、改ざんされたアイテム数が所与のしきい値以下のときには、改ざんされたアイテムを特定することが可能であるということを示している。
どのような部分系列に分解し、またその結果どのような改ざんアイテムの特定が可能になるかは、非特許文献3で述べられているように、組み合わせグループテスト(combinatorial group testing:以降、「CGT」と称する)と呼ばれる組み合わせ問題と密接に関連がある。
m個のアイテムと、s個のテストからなるCGTでは、s行m列の2値行列W(ここでは、「CGT行列」と呼ぶ)を構成し、Wに従ってテストを行う。すなわち、Wのj行i列目の要素が1であれば、j番目のテストでi番目のアイテムをテストに含める、ということをさしている。
例えば、データベースシステムへの適用を考えた場合、現実的なシステムの制約などから、不正を行うものが一度に大量のアイテムを改ざんすることは考えにくい。したがって、このように、CGTとMACとを組み合わせることにより、タグの総数を抑えつつ、現実的に起こりうる改ざんに対し、その場所を特定可能なデータベースシステムを構築することが可能となる。なお、通常のMACと同様に、CGTとMACを組み合わせた場合、任意の改ざんに対して、改ざんがあったという事実を検出可能という性質は変わらない。
ここで、非特許文献4に記載のCorruption−localizing hashのように、鍵のないハッシュ関数をMACの代わりに用いた場合でも、ハッシュ値をメッセージと別の安全な場所に保存するという前提のもとでは、同様の効果が望める。また、改ざんされたアイテムの特定に至らなくても、改ざんされた範囲を絞ることは一般に可能である。
非特許文献5には、符号理論を用いてテストを構成する手法が開示される。非特許文献6には、nビットブロック暗号Eを用いたPMAC(Parallelizable MAC)について開示される。
NIST Special Publication 800-38B, Morris Dworkin, Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication. Mihir Bellare、 Ran Canetti、 Hugo Krawczyk, "Keying Hash Functions for Message Authentication", CRYPTO'96, pp.1-15, 1996. Michael T. Goodrich, Mikhail J. Atallah, Roberto Tamassia, "Indexing Information for Data Forensics", Applied Cryptography and Network Security, Third International Conference, ACNS 2005, New York, NY, USA, June 7-10, 2005, Proceedings, 2005 Lecture Notes in Computer Science ISBN 3-540-26223-7, pp. 206-221. Giovanni Di Crescenzo, Shaoquan Jiang, Reihaneh Safavi-Naini, "Corruption-Localizing Hashing, Computer Security - ESORICS 2009, 14th European Symposium on Research in Computer Security, Saint-Malo, France, September 21-23, 2009, Proceedings, Springer 2009 Lecture Notes in Computer Science ISBN 978-3-642-04443-4, pp. 489-504. Explicit Non-Adaptive Combinatorial Group Testing Schemes, Ely Porat, Amir Rothschild, ICALP 2008. P. Rogaway, Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC, Advances in Cryptology- ASIACRYPT'04, LNCS 3329, pp. 16-31, 2004.
非特許文献3、非特許文献4に記載の技術を、既知の”SHA(Secure Hash Algorithm)−2”などのハッシュ関数や、”CMAC”といったメッセージ認証方式で実行すると、タグを一つだけ計算する基本的な方法に比べ、計算量が大幅に増加する。一般的なMAC関数は、入力長に対して線形オーダの計算量を持つ。したがって、大まかに言うと、s個のMAC計算をm個のアイテムに対して行うことは、計算量をs倍にする。
より正確に言うと、計算量の増加は、どのようなCGTを実行するかに依存している。例えば、「例1」と同様に、任意の1アイテムの改ざんを特定可能なCGTを構成する場合、アイテム数がmのとき、テストの数(すなわちタグの数)はlogm(以降、「log_2m」とも表記する)個必要である。また、ほぼすべてのテストは、m/2個のメッセージを用いる。
このように、MACの計算量は処理するアイテム数に比例すると考えると、上記実行は、通常のMACのタグを一つ生成する場合に比べて、約(1/2)log_2m倍の計算量となる。
データベースなどのアプリケーションでは、mの数は極めて大きいことが予想されるので、たとえ(1/2)log_2m倍であっても、計算量の増加は著しいものとなる。さらに、一般にd個のアイテムの改ざんを同定しようとする場合、テストの数はO(d^2log_2m)個必要となることが知られている。したがって、仮に、各テストがm/2程度のアイテムを含んでいるとすると、約(d^2/2)log_2m倍の計算量となる。なお、”O”は計算量を示す記号である。
また、アプリケーションによっては、既にタグを計算したアイテムの値を更新することがありうる。しかしながら、非特許文献3、非特許文献4に記載の技術を、既知のハッシュ関数やメッセージ認証方式で実現している場合、アイテムの更新に伴うタグの再計算を効率的に行うことができず、該当するテストすべてを最初から再計算する必要がある。
本願発明は、上記課題を鑑みてなされたものであり、改ざんの有無だけでなく改ざんされた位置に関して情報を得られるメッセージ認証を、効率よく実施可能なMACタグリスト生成装置等を提供することを主要な目的とする。
本発明の第1のMACタグリスト生成装置は、取得したメッセージMが分割されてなる複数のアイテムに基づいて、組み合わせグループテストのパラメータであるグループテスト行列Wを生成するグループテスト行列生成手段と、前記生成されたグループテスト行列Wの行ごとに、当該行を構成する前記アイテムに擬似ランダム関数を適用した結果を共有しながら、当該結果を加算し、当該加算した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストTを生成するMACタグリスト生成手段を備える。
本発明の第1のMACタグリスト検証装置は、MACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する取得手段と、取得したメッセージMが分割されてなる複数のアイテムのうち、前記取得したグループテスト行列Wの行を構成する前記アイテムに、擬似ランダム関数を適用した結果を共有しながら、当該結果の排他的論理和を算出し、当該算出した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストT’を生成する検証MACタグリスト生成手段と、前記取得手段が取得したMACタグリストTと、前記検証MACタグリスト生成部が生成したMACタグリストT’とを比較することにより、メッセージMに含まれる各アイテムについて改ざんの有無を判定する検証手段とを備える。
本発明の第1のMACタグリスト更新装置は、MACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する取得手段と、更新するアイテムのインデックスiと、更新後のアイテムの値M’[i]とを取得し、前記MACタグリストTのうち、前記グループテスト行列Wの、i列目が”1”であるすべての行のインデックスの集合Bに関するMACタグリストTに、擬似ランダム置換の逆関数を適用し、得られた結果と、前記インデックスiと前記アイテムM[i]と前記アイテムM’[i]と、前記擬似ランダム置換とに基づいて、前記MACタグリストTを更新するMACタグリスト更新手段とを備える。
本発明の第1のMACタグリスト生成方法は、取得したメッセージMが分割されてなる複数のアイテムに基づいて、組み合わせグループテストのパラメータであるグループテスト行列Wを生成し、前記生成されたグループテスト行列Wの行ごとに、当該行を構成する前記アイテムに擬似ランダム関数を適用した結果を共有しながら、当該結果を加算し、当該加算した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストTを生成する。
なお同目的は、上記の各構成を有するMACタグリスト生成方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記録媒体によっても達成される。
本願発明によれば、改ざんの有無だけでなく改ざんされた位置に関して情報を得られるメッセージ認証を、効率よく実施可能であるという効果が得られる。
本発明の第1の実施形態に係るMACタグリスト生成装置の構成を示す図である。 本発明の第1の実施形態に係るMACタグリスト生成装置によるMACタグリストの生成の流れを示すフローチャートである。 本発明の第1の実施形態に係るMACタグリスト生成装置によりMACタグTが算出される過程を説明する図である。 PMACをS[1]からS[3]に適用してMACタグTを算出する過程を説明する図である。 本発明の第1の実施形態に係るMACタグリスト生成装置による方式をS[1]からS[3]に適用してMACタグTを算出する過程を説明する図である。 本発明の第2の実施形態に係るMACタグリスト検証装置の構成を示すブロック図である。 本発明の第2の実施形態に係るMACタグリスト検証装置によるMACタグリストの検証の流れを示すフローチャートである。 本発明の第3の実施形態に係るMACタグリスト更新装置の構成を示すブロック図である。 本発明の第3の実施形態に係るMACタグリスト更新装置によるMACタグリストの更新の流れを示すフローチャートである。 本発明の第4の実施形態に係るMACタグリスト生成装置の構成を示すブロック図である。 本発明の各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
第1の実施形態
図1は、本発明の第1の実施形態に係るMACタグリスト生成装置100の構成を示す図である。図1に示すように、MACタグリスト生成装置100は、メッセージ入力部101、グループテスト行列生成部102、ブロックスライス並列MAC適用部(MACタグリスト生成手段)103およびMACタグリスト出力部104を備える。
MACタグリスト生成装置100は、CPU(Central Processing Unit)と、メモリと、ディスク(記憶媒体)により実現可能である。MACタグリスト生成装置の各部は、プログラムをディスクに格納しておき、このプログラムをCPUがメモリに読み出すと共に実行することにより、実現できる。なお、以下の説明では、特に断りのない限り、1アイテムの長さをnビットとする。また、”+”または”加算”は、ビットごとの排他的論理和(XOR)を表す。
次に、MACタグリスト生成装置100の構成要素の動作について説明する。図2は、MACタグリスト生成装置100によるMACタグリストの生成の流れを示すフローチャートである。図1、図2を参照して、MACタグリスト生成装置100がMACタグリストを生成する動作について説明する。
メッセージ入力部101は、対象となるメッセージMを、グループテスト行列生成部102に供給する(S111)。例えば、メッセージ入力部101は、キーボードなどの文字入力装置により実現される。またメッセージ入力部101は、コンピュータのLAN(Local Area Network)やUSB(Universal Serial Bus)などの通信インタフェース、またはプログラムの入力インタフェースであってもよい。
ここでは、メッセージMは、m個の個別のアイテムM[1],...,M[m]から構成されていると仮定する。それぞれのアイテムは、異なる長さを有してもよいし、同じ値のアイテムが含まれてもよい。メッセージMは、例えば、ハードディスクの1セクタを示す情報でも、データベースの1エントリを示す情報でも、あるいは文章情報の1キャラクタでもよい。
グループテスト行列生成部102は、メッセージ入力部101から取得したメッセージMに基づいて、改ざん位置特定のための組み合わせグループテスト行列Wを生成する(S112)。具体的には、グループテスト行列生成部102は、テストの数(すなわちMACの数)sと、特定可能な改ざんアイテムの数の最大値dに応じて、s行m列の2値行列Wを生成する。
例えば、非特許文献3に記載されている「例1」の場合、M=(M[1],M[2],...,M[7])は、
Figure 0006743702
という3つの部分系列に分解されることを示した。これは、
Figure 0006743702
という3×7行列のグループテスト行列Wを生成することを意味している。このWにおいて、各部分系列がアイテムを含む位置に1が立つ。この他にも、グループテスト行列の生成には、任意の既存の手法が利用可能である。
例えば、非特許文献3は、特定の分布を持つ乱数を用いて、グループテスト行列を生成する方法を開示する。また、非特許文献4は、部分系列の巡回を用いて、グループテスト行列を生成する方法を開示する。
一般に、テストの数sはO(d^2log_2m)となることが知られている。これを達成するように、符号理論を用いてテストを構成する手法として、例えば、非特許文献5に記載の技術が知られている。
続いて、ブロックスライス並列MAC適用部103は、m個のアイテムからなるメッセージM=(M[1],...,M[m])について、s行m列のグループテスト行列Wに基づいて、s個のMACタグからなるMACタグリストTを生成する(S113)。
MACタグリスト出力部104は、ブロックスライス並列MAC適用部103が生成したMACタグリストTを、コンピュータディスプレイやプリンターなどへ出力する(S114)。
以下、ブロックスライス並列MAC適用部103によるMACタグリストの生成について、詳細に説明する。
MACタグの生成には、可変長を入力し固定長を出力する(可変長入力固定長出力)関数である擬似ランダム関数(pseudorandom function, PRF)Fと、固定長を入力し固定長を出力する(固定長入出力)擬似ランダム置換(pseudorandom permutation, PRP)Gが用いられる。
説明の便宜上、Fの出力長はGの入出力長と等しいものとする。Fの出力長がGの入出力長と異なる場合、Fの出力に適宜パディングや短縮を用いることにより、長さを合わせればよい。
Wの役割は、そのi行目の行ベクトルがi番目のテストでどのアイテムをMACタグ計算に含めるかを示すものである。
具体的には、ブロックスライス並列MAC適用部103は、まず、Wのj行目で1がたつすべての列のインデックスiについて、i番目のアイテムM[i]とインデックスiとを連結して、Fに入力し、出力F(i,M[i])を得る。
次に、上記1がたつすべてのiについてF(i,M[i])の和(排他的論理和)を算出し、算出した結果をZとしてGへ入力する。それにより得られた出力G(Z)を、j番目のテストに対応するMACタグT[j]とする。
これをすべてのj=1,...,sについて行い、MACタグリストT=(T[1],...,T[s])を生成する。
FとGは、標準的なブロック暗号やハッシュ関数を用いて構成可能である。例えば、各アイテムのビット長が、高々nビットである場合、FとGは、nビットブロック暗号Eを用いた非特許文献6のPMACと類似した構成が可能である。なお、ブロックサイズがnビット(nは1以上の整数)のブロック暗号を、一般にnビットブロック暗号と呼ぶ。
具体的には、j行目で1がたつ列のインデックスがi[1],...,i[h]であるとき、F(i,M[i])をE(mult(const(i),L)+M[i])とし、Z=F(i[1],M[i[1]])+F(i[2],M[i[2]])+...+F(i[h],M[i[h]])とし、G(Z)をE(mult(const’,L)+Z)とすると、G(Z)がT[j]となる。
ただし、LはE(const’’)、const(i),const’,const’’は、ガロア体GF(2^n)上の元、mult(A,B)は、ガロア体GF(2^n)上の元であるAとBの乗算、A+Bは、AとBのガロア体GF(2^n)上の加算、すなわちビットごとのXOR(Exclusive OR)を、それぞれ表す。
ここで、const(1),...,const(m),const’,const’’は、互いに異なるという条件が安全性の観点から必要である。例えば、PMACと同様に、const(i)=2^i,const’=0,const’’=3とすることが可能である。これは、ブロック暗号の入力に、iに依存したマスクを施していると考えることができる。
ただし、PMACでは、メッセージの最終ブロックをEに適用せず、直接、排他的論理和を算出(XOR)しているが、これは本実施形態では安全性の観点から行うことはできない。
なお、各アイテムの長さがnビット以上の場合は、可変長入力固定長出力の擬似ランダム関数Fを、HMACなどの鍵付きハッシュ関数Hで直接的に実現、すなわちiとM[i]とを連結してHに与えることで、F(i,M[i])を実現すればよい。より効率よい方式としては、上記と同様に、Hの入力前半のnビットに、iに応じたマスクを施すことで、F(i,M[i])を実現すればよい。いずれの場合においても、擬似ランダム置換Gは、AES(Advanced Encryption Standard)などのブロック暗号で実現可能である。
図3は、上記のように、可変長入力固定長出力の擬似ランダム関数Fと、固定長入出力の擬似ランダム置換Gとを用いて、MACタグTが算出される例を説明する図である。図3に示すF300は、可変長のデータ(例えば0^n(オールゼロのnビット系列))を入力し、固定長のデータ(例えばL)を出力する擬似ランダム関数であるF(K,*)を示す。また、GK’240は、中間変数Sを入力し、MACタグTを出力する擬似ランダム置換G(K’)を示す。
ここで、各MACタグの計算は、テストごとに個別に行うのではなく、途中の計算結果(中間変数)を共有しつつ並列に行うことで、大幅に効率よく計算が可能である。なぜなら、M[i]を含む二つのテストでは、共にF(i,M[i])を用いるからである。
例えば、上述の「例1」の場合について説明する。3つの状態変数Z[1],Z[2],Z[3]を用意し、それぞれ初期値を0とすると、以下の手続きによりMACタグリストが計算できる。すなわち、
Figure 0006743702

Figure 0006743702

Figure 0006743702

Figure 0006743702

Figure 0006743702

Figure 0006743702

Figure 0006743702

Figure 0006743702
という手続きにより、3つのMACタグリストが計算できる。このとき、Fの呼び出し回数は、アイテム数と同じ7回となる(詳細は図5を参照して後述する)。
仮に、これを通常のMAC、例えば非特許文献1のCMACを用いて部分系列、
Figure 0006743702
に対するMACをそれぞれ計算する場合、各部分系列の語頭が同じ部分を除けば計算を共有できない。したがって、全体の計算量がより大きくなる。
非特許文献6のPMACを用いる場合は、より共有可能な部分が増えるが、それでも一般に大部分は共有不可能である。
図4は、PMACをS[1]からS[3]に適用してMACタグTを算出する過程を説明する図である。また、図5は、本実施形態の方式をS[1]からS[3]に適用してMACタグTを算出する過程を説明する図である。図4において、関数250は、図3と同様に、可変長のアイテムM[1]を入力し、固定長のF(1,M[1])を出力する擬似ランダム関数Fを表す。また、図4において、G260は、F(1,M[1]),...,F(4,M[4])の排他的論理和を入力し、MACタグT[1]を出力する擬似ランダム置換Gを示す。図4および図5において、関数250およびG260とそれぞれ同形の図形は、それぞれ同様の意味を示す。
図4に示すように、PMACをS[1]からS[3]に対して用いる場合、M[3]に対する計算結果は、S[2]を算出する過程で異なる値となるので、他のテストに対して共有できない。したがって、図4に示す場合では、点線で囲った部分における計算をする必要がある。すなわち、Fを8回呼び出す必要がある。
これに対して、図5に示すように、本実施形態の方式によれば、M[3]に対する計算結果を、他のテストに共有可能である。したがって、図5に示す場合では、点線で囲った部分の計算をすればよい。すなわちFを7回呼び出すのみでよい。図4と図5に示す例では、Fの呼び出し回数の差はわずか1回であるが、アイテム数が増えればこの差は大きく広がる。例えば、アイテム数が15であれば、Fの呼び出し回数の差は5回となり、呼び出し回数削減の効果は大きい。
本実施形態の計算手続きは、上記の例を一般化したものである。すなわち、本実施形態によれば、任意のs行m列グループテスト行列に対して、Fの呼び出し回数はm、Gの呼び出し回数はsとなる。つまり、本実施形態による計算量は、行列の内容にかかわらず(s+m)に比例した計算量となる。これに対して、通常のMACを用い、仮に、計算結果の共有を全く行うことができず、かつ行列が十分密であるとすれば、Fの呼び出し回数はおよそs×m回となる。したがって、本実施形態によれば、大幅な計算量の削減が可能となる。
このように、本実施形態では、各MACタグの計算を個別に行わず中間変数を共有しつつ、並列に行う。本実施形態では、この方法を、「ブロックスライス並列MAC」と呼ぶ。
本実施形態におけるブロックスライス並列MACは、以下のように捉えることもできる。すなわち、PMACなどの並列実行可能なMACにおいて、グループテスト行列の行ベクトルのi番目の成分の値が、”1”のときにはアイテムそのものとインデックスiの情報を用いて生成した擬似乱数をMACの中間変数へ加算し、上記成分が”0”のときにはアイテムの値によらず全ゼロ値を加算する、と捉えることもできる。
また、本実施形態におけるブロックスライス並列MACを行う場合、通常のMACをそれぞれのテストで行う場合と同様に、Fが擬似ランダム関数であれば、任意のメッセージについて、MACタグを攻撃者が予測することは困難である。
これは、任意の異なるアイテムインデックスの集合(ただし空集合は除く)BとB’を考えたとき、
Bに含まれるすべてのiについてF(i,M[i])の和を算出した値と、
B’に含まれるすべてのjについてF(j,M[j])の和を算出した値と、
が一致する確率は、アイテムの値によらず非常に低いからである。
それぞれのMACタグは、F(i,M[i])の和を算出した値を、擬似ランダム置換Gに適用した値であるので、Gへの入力が一致しない限り、出力の予測は困難である。したがって、改ざんは困難となる。
以上のように、本第1の実施形態よれば、s行m列グループテスト行列Wのある列が共に”1”である行(すなわちテスト)に関するMACタグの生成において、それぞれi番目のアイテムを擬似ランダム関数に与えた出力F(i,M[i])を、互いに共用できる。すべてのiに対してF(i,M[i])の和Zを擬似ランダム置換Gに適用することにより、MACタグを生成する。上記構成を採用することにより、本第1の実施形態によれば、MACタグリストの生成にあたる計算量は(s+m)に比例した計算量となる。したがって、組み合わせグループテストを用いて改ざんの有無および改ざん位置を特定するメッセージ認証を、計算量を増大させることなく効率よく実行できるという効果が得られる。
第2の実施形態
次に、本発明の第2の実施形態について、図面を参照して説明する。
図6は、本発明の第2の実施形態に係るMACタグリスト検証装置200の構成を示すブロック図である。図6に示すように、MACタグリスト検証装置200は、メッセージ入力部(取得手段)201と、ブロックスライス並列MAC適用部(検証MACタグリスト生成手段)202と、検証部(検証手段)203と、検証結果出力部204と、を備える。
MACタグリスト検証装置200は、CPUと、メモリと、ディスク(記憶媒体)により実現可能である。MACタグリスト検証装置200の各部は、プログラムをディスクに格納しておき、このプログラムをCPUがメモリに読み出すと共に実行することにより、実現できる。
次に、MACタグリスト検証装置200の構成要素の動作について説明する。図7は、MACタグリスト検証装置200によるMACタグリストの検証の流れを示すフローチャートである。図6、図7を参照して、MACタグリスト検証装置200がMACタグリストを検証する動作について説明する。
メッセージ入力部201は、対象となるメッセージMをブロックスライス並列MAC適用部202に供給する(S211)。メッセージ入力部201は、また、第1の実施形態において説明したMACタグリスト生成装置100が出力するMACタグリストTとs行m列の2値グループテスト行列Wとを、ブロックスライス並列MAC適用部202に供給する(S211)。メッセージ入力部201は、例えばキーボードなどの文字入力装置により実現される。またメッセージ入力部201は、コンピュータのLANやUSBなどの通信インタフェース、またはプログラムの入力インタフェースであってもよい。
第1の実施形態と同じく、ここでは、メッセージMは、m個の個別のアイテムM[1],...,M[m]から構成されていると仮定する。
ブロックスライス並列MAC適用部202は、第1の実施形態のMACタグリスト生成装置100におけるブロックスライス並列MAC適用部103と同一の構成を有する。すなわち、ブロックスライス並列MAC適用部202は、グループテスト行列Wに基づいて、第1の実施形態にて説明した擬似ランダム関数Fと擬似ランダム置換Gを用いたブロックスライス並列MACを、対象となるメッセージMに適用する。これにより、s個のMACタグからなるMACタグリストを生成する(S212)。ここでは、ブロックスライス並列MAC適用部202が生成したMACタグリストを、T=(T[1],...,T[s])とし、これを「チェック用MACタグリスト」と呼ぶ。
検証部203は、生成されたチェック用MACタグリストTと、メッセージ入力部201から取得したMACタグリストTとを比較し、メッセージMに対する改ざん有無の判断と、改ざんが有った場合は改ざんされた位置(アイテム)の特定を行う(S213)。
検証結果出力部204は、検証部203が行った、改ざん有無の判断結果と、改ざんされたアイテムを特定する情報とを、コンピュータディスプレイやプリンターなどへ出力する(S214)。
以下、検証部203の動作について具体的に説明する。
検証部203は、T=(T[1],...,T[s])と、T=(T[1],...,T[s])とのエントリごとの差を検出する。検証部203は、上記差がゼロとなるケースを”0”、非ゼロとなるケースを”1”とする2値ベクトルB=(B[1],...,B[s])を作成する。そして、検証部203は、Bに対して所定の手続き(復号:decode)を行い、その結果を出力する。
具体的には、検証部203は、Bのエントリがすべて”0”である場合、改ざんがないと判定し、それ以外の場合、全体のうち少なくとも一つのアイテムに改ざんがあると判定する。
改ざんがあると判定した場合、検証部203は、さらに、B[i]=0となるすべてのi=1,...,sについて、メッセージ入力部201から取得したグループテスト行列Wのi行目ベクトルV=(V[1],...,V[m])を取り出す。検証部203は、V[j]=1となるすべてのjについて、M[j]は改ざんなしと判定する。
そして、検証部203は、上記処理の結果、改ざんなしと判定されなかったアイテムすべてを、改ざんありと判定する。
グループテスト行列Wがd−disjunctiveと呼ばれる性質を満たす場合、上記の手続きにより、もし改ざんされたアイテムの数がd以下の場合、すべての改ざんされたアイテムを特定することが可能である。
また非特許文献4に記載のように、改ざんなしと判定されたアイテムが実際は改ざんされていたという事態は起きないので、d−disjunctiveであるか否かに関わらず、一般的に、改ざんの可能性がある範囲を狭める効果がある。
以上のように、本第2の実施形態によれば、ブロックスライス並列MAC適用部202は、MACタグリスト生成装置100が生成したグループテスト行列Wと、擬似ランダム関数Fと擬似ランダム置換Gとを用いたブロックスライス並列MACを、対象となるメッセージMに適用する。これにより、ブロックスライス並列MAC適用部202は、チェック用MACタグリストTを生成する。検証部203は、生成されたチェック用MACタグリストTと、メッセージ入力部201から取得したMACタグリストTとを比較し、メッセージMに対する改ざん有無の判断と、改ざんされた位置の特定を行う。この構成を採用することにより、本第2の実施形態によれば、組み合わせグループテストを用いて改ざんの有無および改ざん位置を特定するメッセージ認証を、計算量を増大させることなく効率よく実行できるという効果が得られる。
第3の実施形態
次に、本発明の第3の実施形態について、図面を参照して説明する。
図8は、本発明の第3の実施形態に係るMACタグリスト更新装置300の構成を示すブロック図である。図8に示すように、MACタグリスト更新装置300は、メッセージ入力部301と、ブロックスライス並列MAC更新部(MACタグリスト更新手段)302と、MACタグリスト出力部303と、を備える。
MACタグリスト更新装置300は、CPUと、メモリと、ディスク(記憶媒体)により実現可能である。MACタグリスト更新装置300の各部は、プログラムをディスクに格納しておき、このプログラムをCPUがメモリに読み出すと共に実行することにより、実現できる。
本第3の実施形態では、上記第1の実施形態において説明した、m個の個別のアイテムM[1],...,M[m]から構成されるメッセージMのうち、いずれかのアイテムが更新された場合のMACタグリストの更新について説明する。すなわち、メッセージMのうち、いずれかのアイテムが更新された場合に、メッセージMに関して全体を再計算するのではなく、ブロックスライス並列MAC更新部302によりMACタグリストを更新することについて説明する。
次に、MACタグリスト更新装置300の構成要素の動作について説明する。図9は、MACタグリスト更新装置300によるMACタグリストの更新の流れを示すフローチャートである。図8、図9を参照して、MACタグリスト更新装置300がMACタグリストを更新する動作について説明する。
メッセージ入力部301は、対象となるメッセージMをブロックスライス並列MAC更新部302(以下、単に「更新部302」とも表記する)に供給する(S311)。メッセージ入力部201は、また、第1の実施形態において説明したMACタグリスト生成装置100が出力するMACタグリストTとs行m列の2値グループテスト行列Wとを、更新部302に供給する(S311)。
さらに、メッセージ入力部301は、更新するアイテムのインデックスiと、更新後のアイテムの値M’[i]を、更新部302に供給する(S311)。
メッセージ入力部301は、例えばキーボードなどの文字入力装置により実現される。またメッセージ入力部301は、コンピュータのLANやUSBなどの通信インタフェース、またはプログラムの入力インタフェースであってもよい。
第1の実施形態と同じく、ここでは、メッセージMが、m個の個別のアイテムM[1],...,M[m]から構成されていると仮定し、更新するアイテムのインデックスiは、1以上m以下であると仮定する。
更新部302は、第1の実施形態のMACタグリスト生成装置100が出力するグループテスト行列Wから、i列目が”1”である行ベクトルのインデックスの集合B={i[1],...,i[h]}に含まれるすべてのテストについて、M[i]とM’[i]を用いてMACタグを更新する(S312)。
MACタグリスト出力部303は、更新部302が更新したMACタグリストを、コンピュータディスプレイやプリンターなどへ出力する(S313)。
以下、更新部302の具体的な動作について説明する。
更新部302は、第1の実施形態のMACタグリスト生成装置100が出力するグループテスト行列Wから、i列目が”1”である行ベクトルのインデックスをすべて取り出し、それらを集合B={i[1],...,i[h]}とする。
インデックスがBに含まれるテストについて、M[i]を使ってMACタグ計算を行っているので、M[i]をM’[i]に更新した場合、M’[i]を使ってMACタグを計算しなければならない。これは、非特許文献6のPMACにおけるタグ更新と同様な手続きで実現可能である。具体的には以下の手続きを行う。
まず、更新部302は、第1および第2の実施形態において説明した可変長入力固定長出力の擬似ランダム関数F、固定長入出力の擬似ランダム置換Gを用いて、Gの逆関数G^−1を、MACタグリストT=(T[1],...,T[s])のうちインデックスがBに含まれるもののリスト、すなわち(T[i[1]],...,T[i[h]])に適用する。
続いて、更新部302は、得られた中間変数Z[i[1]],...,Z[i[h]]に、F(i,M[i])とF(i,M’[i])を加算し、新たな中間変数Z’[i[1]],...,Z’[i[h]](Z’[i[j]]=Z[i[j]]+F(i,M[i])+F(i,M’[i])、ただしj=1,...,h)を求める。
さらに、更新部302は、各中間変数Z’にGを適用し、
Figure 0006743702
を求める。更新部302は、ここで求められたT’[i[1]],...,T’[i[h]]により、タグの値を更新する。
更新部302は、残りのタグを、値を変えずに更新し(iはBに含まれない場合、T’[i]=T[i])、更新されたMACタグリストT’=(T’[1],...,T’[s])を出力する。
上記手続きは、Bの大きさhに対し、2h回Fを呼び出し、h回GとG^−1を呼び出すと終了する。したがって、(s+m)に比例した計算量を有する全体の再計算よりも、上記更新手続きにより、効率的にMACタグリストを更新できる。
以上のように、本第3の実施形態によれば、ブロックスライス並列MAC更新部302は、第1の実施形態のMACタグリスト生成装置100が出力するグループテスト行列Wから、以下についてMACタグを更新する。すなわち、i列目が”1”である行ベクトルのインデックスの集合B={i[1],...,i[h]}に含まれるすべてのテストについて、M[i]とM’[i]を用いてMACタグを更新する。この構成を採用することにより、本第3の実施形態によれば、アイテムの値が更新された際にMACタグの再計算を、効率的に実行できるという効果が得られる。
なお、上記各実施形態では、MACタグリスト生成装置、MACタグリスト検証装置およびMACタグリスト更新装置を、それぞれ個別の装置として説明したが、MACタグリスト検証装置が、MACタグリスト生成装置を含む構成としてもよい。あるいは、MACタグリスト更新装置が、MACタグリスト生成装置を含む構成としてもよい。あるいは、MACタグリスト生成装置、MACタグリスト検証装置およびMACタグリスト更新装置を含む装置を構成してもよい。
第4の実施形態
図10は、本発明の第4の実施形態に係るMACタグリスト生成装置400の構成を示す図である。図10に示すように、MACタグリスト生成装置400は、グループテスト行列生成部410と、MACタグリスト生成部420を備える。
グループテスト行列生成部410は、取得したメッセージMが分割されてなる複数のアイテムに基づいて、組み合わせグループテストのパラメータであるグループテスト行列Wを生成する。
MACタグリスト生成部420は、生成されたグループテスト行列Wの行ごとに、当該行を構成する前記アイテムに擬似ランダム関数を適用した結果を共有しながら、当該結果を加算する。そして、MACタグリスト生成部420は、当該加算した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストTを生成する。
上記構成を採用することにより、本第4の実施形態によれば、改ざんの有無だけでなく改ざんされた位置に関して情報を得られるメッセージ認証を、効率よく実施可能であるという効果が得られる。
なお、図1等に示したMACタグリスト生成装置、MACタグリスト検証装置およびMACタグリスト更新装置の各部は、図11に例示するハードウエア資源において実現される。すなわち、図11に示す構成は、CPU10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、外部接続インタフェース13および記憶媒体14を備え、これらは互いに内部バス15により接続されている。CPU10は、ROM12または記憶媒体14に記憶された各種ソフトウエア・プログラム(コンピュータ・プログラム)を、RAM11に読み出して実行することにより、上記各装置の全体的な動作を司る。すなわち、上記各実施形態において、CPU10は、ROM12または記憶媒体14を適宜参照しながら、上記各装置が備える各機能(各部)を実行するソフトウエア・プログラムを実行する。
また、上述した各実施形態では、図1等に示した各装置における各ブロックに示す機能を、図11に示すCPU10が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図1等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
また、各実施形態を例に説明した本発明は、上記各装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、CPU10がRAM11に読み出して実行することによって達成される。
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2014年10月23日に出願された日本出願特願2014−216361を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、例えば、無線もしくは有線のデータ通信、あるいはデータベース、ファイルシステム、ウィルススキャン、バージョン管理システムにおける改ざんの検知と改ざん位置特定といった用途に適用できる。
10 CPU
11 RAM
12 ROM
13 外部接続インタフェース
14 記憶媒体
100、400 MACタグリスト生成装置
101、201、301 メッセージ入力部
102、410 グループテスト行列生成部
103、202 ブロックスライス並列MAC適用部
104、303 MACタグリスト出力部
200 MACタグリスト検証装置
201 メッセージ入力部
204 検証結果出力部
300 MACタグリスト更新装置
302 ブロックスライス並列MAC更新部
420 MACタグリスト生成部

Claims (10)

  1. 取得したメッセージMが分割されてなる複数のアイテムに基づいて、組み合わせグループテストのパラメータであるグループテスト行列Wを生成するグループテスト行列生成手段と、
    前記生成されたグループテスト行列Wの行ごとに、当該行を構成する前記アイテムに擬似ランダム関数を適用した結果を共有しながら、当該結果を加算し、当該加算した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストTを生成するMACタグリスト生成手段と
    を備え、
    前記グループテスト行列生成手段は、前記メッセージMが分割されてなる前記アイテムの数がm、前記MACタグリスト生成手段が生成するMACタグの数がsのとき、s行m列の2値グループテスト行列を生成し、
    前記MACタグリスト生成手段は、前記グループテスト行列Wのj行目で、”1”がたつすべての列のインデックスiについて、当該行のi列目にあたるアイテムと前記インデックスiとを、前記擬似ランダム関数に入力し、得られた結果の排他的論理和を前記擬似ランダム置換に入力し、得られた結果を、j行目を構成するアイテムに関するMACタグT[j]として生成する
    MACタグリスト生成装置。
  2. 前記MACタグリスト生成手段は、前記生成したj行目を構成するアイテムに関するMACタグT[j]を、j=1,・・・,s行について生成した結果を、前記MACタグリストT=(T[1],・・・,T[s])として生成する
    請求項1記載のMACタグリスト生成装置。
  3. 請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する取得手段と、
    取得したメッセージMが分割されてなる複数のアイテムのうち、前記取得したグループテスト行列Wの行を構成する前記アイテムに、擬似ランダム関数を適用した結果を共有しながら、当該結果の排他的論理和を算出し、当該算出した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストT’を生成する検証MACタグリスト生成手段と、
    前記取得手段が取得したMACタグリストTと、前記検証MACタグリスト生成手段が生成したMACタグリストT’とを比較することにより、メッセージMに含まれる各アイテムについて改ざんの有無を判定する検証手段と
    を備えたMACタグリスト検証装置。
  4. 請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する取得手段と、
    更新するアイテムのインデックスiと、更新後のアイテムの値M’[i]とを取得し、前記MACタグリストTのうち、前記グループテスト行列Wの、i列目が”1”であるすべての行のインデックスの集合Bに関するMACタグリストTに、擬似ランダム置換の逆関数を適用し、得られた結果と、前記インデックスiと前記アイテムM[i]と前記アイテムM’[i]と、前記擬似ランダム置換とに基づいて、前記MACタグリストTを更新するMACタグリスト更新手段と
    を備えたMACタグリスト更新装置。
  5. 前記MACタグリスト更新手段は、前記擬似ランダム置換の逆関数を適用して得られた結果に、前記アイテムM[i]と前記インデックスiとを前記擬似ランダム関数に入力して得られた結果と、前記アイテムM’[i]と前記インデックスiとを前記擬似ランダム関数に入力し得られた結果とを加算し、得られた結果を、前記擬似ランダム置換に適用した結果により、前記MACタグを更新する
    を備えた請求項4記載のMACタグリスト更新装置。
  6. コンピュータが、
    請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得し、
    取得したメッセージMが分割されてなる複数のアイテムのうち、前記取得したグループテスト行列Wの行を構成する前記アイテムに、擬似ランダム関数を適用した結果を共有しながら、当該結果の排他的論理和を算出し、当該算出した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストT’を生成し、
    前記取得したMACタグリストTと、前記生成されたMACタグリストT’とを比較することにより、メッセージMに含まれる各アイテムについて改ざんの有無を判定する
    MACタグリスト検証方法。
  7. コンピュータが、
    請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得し、
    更新するアイテムのインデックスiと、更新後のアイテムの値M’[i]とを取得し、前記MACタグリストTのうち、前記グループテスト行列Wの、i列目が”1”であるすべての行のインデックスの集合Bに関するMACタグリストTに、擬似ランダム置換の逆関数を適用し、得られた結果と、前記インデックスiと前記アイテムM[i]と前記アイテムM’[i]と、前記擬似ランダム置換とに基づいて、前記MACタグリストTを更新する
    MACタグリスト更新方法。
  8. 取得したメッセージMが分割されてなる複数のアイテムに基づいて、組み合わせグループテストのパラメータであるグループテスト行列Wを生成するグループテスト行列生成処理と、
    前記生成されたグループテスト行列Wの行ごとに、当該行を構成する前記アイテムに擬似ランダム関数を適用した結果を共有しながら、当該結果を加算し、当該加算した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストTを生成するMACタグリスト生成処理と
    を、コンピュータに実行させ、
    前記グループテスト行列生成処理は、前記メッセージMが分割されてなる前記アイテムの数がm、前記MACタグリスト生成処理が生成するMACタグの数がsのとき、s行m列の2値グループテスト行列を生成し、
    前記MACタグリスト生成処理は、前記グループテスト行列Wのj行目で、”1”がたつすべての列のインデックスiについて、当該行のi列目にあたるアイテムと前記インデックスiとを、前記擬似ランダム関数に入力し、得られた結果の排他的論理和を前記擬似ランダム置換に入力し、得られた結果を、j行目を構成するアイテムに関するMACタグT[j]として生成する
    プログラム。
  9. 請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する取得処理と、
    取得したメッセージMが分割されてなる複数のアイテムのうち、前記取得したグループテスト行列Wの行を構成する前記アイテムに、擬似ランダム関数を適用した結果を共有しながら、当該結果の排他的論理和を算出し、当該算出した結果を擬似ランダム置換に適用することにより、前記メッセージMに関するMACタグのリストであるMACタグリストT’を生成する検証MACタグリスト生成処理と、
    前記取得したMACタグリストTと、前記検証MACタグリスト生成処理が生成したMACタグリストT’とを比較することにより、メッセージMに含まれる各アイテムについて改ざんの有無を判定する検証処理と
    を、コンピュータに実行させるプログラム。
  10. 請求項1又は請求項2記載のMACタグリスト生成装置からグループテスト行列WとMACタグリストTとを取得する処理と、
    更新するアイテムのインデックスiと、更新後のアイテムの値M’[i]とを取得し、前記MACタグリストTのうち、前記グループテスト行列Wの、i列目が”1”であるすべての行のインデックスの集合Bに関するMACタグリストTに、擬似ランダム置換の逆関数を適用し、得られた結果と、前記インデックスiと前記アイテムM[i]と前記アイテムM’[i]と、前記擬似ランダム置換とに基づいて、前記MACタグリストTを更新するMACタグリスト更新処理と
    を、コンピュータに実行させるプログラム。
JP2016555082A 2014-10-23 2015-10-16 Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム Active JP6743702B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014216361 2014-10-23
JP2014216361 2014-10-23
PCT/JP2015/005247 WO2016063512A1 (ja) 2014-10-23 2015-10-16 Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム記録媒体

Publications (2)

Publication Number Publication Date
JPWO2016063512A1 JPWO2016063512A1 (ja) 2017-08-03
JP6743702B2 true JP6743702B2 (ja) 2020-08-19

Family

ID=55760571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016555082A Active JP6743702B2 (ja) 2014-10-23 2015-10-16 Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム

Country Status (3)

Country Link
US (1) US10355862B2 (ja)
JP (1) JP6743702B2 (ja)
WO (1) WO2016063512A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3285512A1 (en) * 2016-08-17 2018-02-21 Gemalto Sa Authentication server of a cellular telecommunication network and corresponding uicc
WO2018193507A1 (ja) 2017-04-17 2018-10-25 日本電気株式会社 認証タグ生成装置、認証タグ検証装置、方法及びプログラム
JP7107381B2 (ja) * 2018-09-27 2022-07-27 日本電気株式会社 Macタグリスト生成装置、macタグリスト検証装置、集約mac検証システム及び方法
US11824993B2 (en) 2019-04-18 2023-11-21 Nec Corporation MAC tag list generation apparatus, MAC tag list verification apparatus, method, and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function
JP4549303B2 (ja) * 2005-02-07 2010-09-22 株式会社ソニー・コンピュータエンタテインメント パイプラインを用いてメッセージ認証コードを提供する方法および装置
US8452984B2 (en) * 2008-08-28 2013-05-28 Alcatel Lucent Message authentication code pre-computation with applications to secure memory
JP2013005293A (ja) * 2011-06-17 2013-01-07 Toshiba Corp 認証コンポーネント、被認証コンポーネントおよびその認証方法
WO2013065241A1 (ja) * 2011-10-31 2013-05-10 日本電気株式会社 インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
US20130238900A1 (en) * 2011-12-12 2013-09-12 Cleversafe, Inc. Dispersed storage network secure hierarchical file directory
JP6295961B2 (ja) * 2012-11-13 2018-03-20 日本電気株式会社 メッセージ認証システム、およびメッセージ認証方法

Also Published As

Publication number Publication date
US10355862B2 (en) 2019-07-16
WO2016063512A1 (ja) 2016-04-28
JPWO2016063512A1 (ja) 2017-08-03
US20180013550A1 (en) 2018-01-11

Similar Documents

Publication Publication Date Title
Aumasson et al. The hash function BLAKE
EP3134994B1 (en) Method of obfuscating data
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
US7813503B2 (en) Method and system for generation of cryptographic keys for use in cryptographic systems
JP6477461B2 (ja) 順序保存暗号化システム、装置、方法およびプログラム
JP6743702B2 (ja) Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム
JP2008545163A (ja) セキュアハッシュ関数の強化
JP6844696B2 (ja) 認証タグ生成装置、認証タグ検証装置、方法及びプログラム
KR20140011534A (ko) 특정 포맷을 가지는 대체 데이터의 생성 및 검증
JP7347501B2 (ja) Macタグリスト生成装置、macタグリスト検証装置、方法及びプログラム
CN112328639A (zh) 数据查询方法、装置、系统以及数据集处理方法
JP2017073716A (ja) タグリスト生成装置、タグリスト検証装置、タグリスト更新装置、タグリスト生成方法及びプログラム
EP2991266B1 (en) Encrypted text matching system, method, and computer readable medium
Sanober et al. Crytographical primitive for blockchain: a secure random DNA encoded key generation technique
JP2017005409A (ja) データ認証システム、データ認証装置、方法およびプログラム
Roh et al. Winternitz signature scheme using nonadjacent forms
Di Crescenzo et al. Cryptographic password obfuscation
Park et al. A study on the processing and reinforcement of message digest through two-dimensional array masking
Hłobaż et al. Enhancements of encryption method used in SDEx
JP7107381B2 (ja) Macタグリスト生成装置、macタグリスト検証装置、集約mac検証システム及び方法
Abo-Taleb et al. An enhanced SHA3-based hashing method: A side-channel attack countermeasure
JP2017201783A (ja) ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化
Ciocan et al. A Modified Argon2i Using a Tweaked Variant of Blake3
hasan Alwan et al. Enhancing Security in Medical Image Integrity: A 4D Hyperchaotic Keyed Hash Algorithm Approach
KR20230061028A (ko) 부채널 공격을 방지하기 위한 암호문 비교 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200521

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200602

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: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200713

R150 Certificate of patent or registration of utility model

Ref document number: 6743702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150