JP2022507141A - ショートメッセージに適したメッセージ認証コードを提供するための方法及び装置 - Google Patents

ショートメッセージに適したメッセージ認証コードを提供するための方法及び装置 Download PDF

Info

Publication number
JP2022507141A
JP2022507141A JP2021525561A JP2021525561A JP2022507141A JP 2022507141 A JP2022507141 A JP 2022507141A JP 2021525561 A JP2021525561 A JP 2021525561A JP 2021525561 A JP2021525561 A JP 2021525561A JP 2022507141 A JP2022507141 A JP 2022507141A
Authority
JP
Japan
Prior art keywords
message
mac
code
shortened
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021525561A
Other languages
English (en)
Other versions
JP7300506B2 (ja
JPWO2020099446A5 (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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
Priority claimed from EP18205989.9A external-priority patent/EP3654579A1/en
Application filed by Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of JP2022507141A publication Critical patent/JP2022507141A/ja
Publication of JPWO2020099446A5 publication Critical patent/JPWO2020099446A5/ja
Application granted granted Critical
Publication of JP7300506B2 publication Critical patent/JP7300506B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/3215Cryptographic 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 a plurality of channels
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本出願は、送信機と受信機との間でネットワークを介して交換されるメッセージを認証する装置および方法に関し、送信機側において、メッセージを送信するために、メッセージの所定の部分と、以前に送信されたメッセージの少なくとも1つの所定の部分との連結にわたって計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することによって、短縮されたMACコードを生成し、短縮されたMACコードのビット長は、メッセージ認証コード(MAC)のビット長よりも短く、短縮されたMACコードは伝送用のメッセージに付加され、受信側において、メッセージを認証するために、前に送信されたメッセージ、メッセージおよび短縮されたMACコードを受信し、前に送信されたメッセージの少なくとも所定の部分とメッセージの所定の部分の連結を介して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することによって、期待される短縮されたMACコードを生成し、受信された短縮されたMACコードが、期待される短縮されたMACコードと同一である場合、メッセージと以前に送信されたメッセージを認証する。

Description

本発明は、認証ショートメッセージに適したメッセージ認証コードを提供するための方法および装置に関する。特に、本発明は、メッセージおよび対応する認証コードを送信するための送信装置および方法、ならびに受信されたメッセージの認証のための対応する受信装置および方法に関する。
本発明は、モバイルネットワーク、wifiネットワークまたはbluetoothネットワークなどのネットワークを介して送信されるメッセージの認証の分野に関する。
IoT(Internet of things)装置領域が普及しつつある。これらの装置の多く、例えばセンサ装置は、非常に短いメッセージ、例えば32ビットのユーザ又はセンサID、32ビットのタイムスタンプ及び8ビットのセンサ値を定期的に送信することが期待される。これら全ての安価な装置の公知の問題は、それに関連する比較的弱いセキュリティである。関連するセキュリティ上の懸念の1つは、ネットワークへの不正メッセージの挿入であり、したがって、そのようなIoT装置からの伝送の完全性保護の必要性である。これを行うための公知の技術は、メッセージにメッセージ認証コード(Message Authentication Code:MAC)を追加することによる。MAC計算への入力は、送信者と受信者に知られている秘密鍵と、保護される必要があるメッセージのビットである。MAC計算の出力は、ランダムに見えるnビットである。メッセージのビットのうちの1つだけが変化する場合、MAC計算の出力は、鍵を知らない誰かにとって予測不可能な態様で根本的に異なる。優れた暗号化ハッシュの場合と同様に、適切なMACの場合、入力内の1つのビットのみが変更されると、出力ビットの約半分が変更される。MACの計算に使用できる関数のクラスの例は、HMACアルゴリズムのクラスである(鍵付きハッシュメッセージ認証コードまたはハッシュベースのメッセージ認証コード、例えば[RFC 2104]を参照)。HMACの例はHMAC-SHA256である([RFC 4868]を参照)。
HMAC-SHA256の出力は256ビットの数値である。鍵が分からないときに正しいHMAC-SHA256出力を推測する確率は2^-256で、これは実際には正しく推測できないほど低い。しかしながら、上の例のように72ビットのメッセージの保護のために256ビットを加えなければならないことは、メッセージに大きなオーバヘッドを加える。
もちろん、MACのビット数を減らすことはできるが、その場合には、攻撃者によってメッセージの正しいMACを推測しやすくなるため、攻撃者がメッセージを偽造しやすくなる。したがって、強力な保護のためには、より長いMACサイズが望ましい。
大きなオーバヘッドを避ける潜在的な解決策は、いくつかのメッセージを連結し、ひとつのメッセージのサイズを拡大し、連結されたメッセージに対して従来のサイズのMACを持つメッセージ認証を提供することである。しかしながら、送信されるべき第1の測定値の受信機側での処理または表示は遅延される。これは、一部の送信は時間に敏感であり、他のメッセージを連結するために待つことがシステムの機能に影響を与える可能性があるため、魅力的ではない。
本発明の目的は、上記の問題の少なくとも1つを軽減する。ショートメッセージに適したメッセージ認証コードを提供する方法を提供することである。
この目的は、請求項1に記載の方法によって達成される。基本的に、この解決策は、送信機(例えば、IoT装置)が、通常、2つ以上のメッセージを送信するという事実を利用する。
送信機(例えば、IoT装置)がメッセージを送信するとき、少なくとも1つの以前のメッセージの保護されるべきビットの大部分またはすべてが、第2のメッセージの完全性保護のためのMAC計算の入力のためにも使用される。これは、第1のメッセージからの保護されるべきビットを第2のメッセージの保護されるべきビットに連結し(プレペンディングやアペンディングなど)、その結果をMAC計算の入力として使用することによって、実行されることができる。結果のMACはNビットに短縮され、第2のメッセージ短縮されたMACが生成される。たとえば、Nは1バイト、つまり8 ビットにすることができる。第2のメッセージが送信された後、攻撃者は前者のメッセージを偽造するために2^(2*N)分の1の確率を持ち、後者のメッセージを偽造するために2^N分の1の確率を持つ。したがって、本発明による方法が使用される場合、後者のメッセージに対するMAC保護は、以前のメッセージにおける信頼レベルを増加させる。所定の数のメッセージ(M個)を組み合わせる場合、攻撃者が最も早いメッセージを偽造する確率は、2^(M*N)分の1に減少する。
最初のM-1個のメッセージがMAC保護なしで送信され、次いで、メッセージ番号Mが前のM個のメッセージおよびこのメッセージ番号Mにわたって計算された通常の長さのMAC保護(すなわち、長さはM*Nである)で送信されるシステムを考えることができる。このシステムに対する請求項記載の方法の利点は2つある。第一に、データの信頼性が存在する必要がありデータの使用が時間に敏感であるシステムにとって重要な顕著な完全性保護を以前のメッセージが既に有している。第二に、すべてのメッセージが同じサイズの短縮されたMACをもつ。固定のメッセージ長を有することは、多くのシステムにとって有利である。
本発明による装置および方法の更なる好ましい実施形態は添付の従属請求項に与えられ、その開示は参照により本明細書に組み込まれる。
本発明の一実施形態では、送信機(例えば、IoT装置)は、以前のメッセージに依存することなく、送信する第1のメッセージに短縮されたMACを追加する。有利なことに、このような第1のメッセージは、この単一のメッセージ上でMACが計算されなければならないことを受信機が知ることができるように、特定の識別子でタグ付けされてもよい。
本発明の一実施形態では、新しいメッセージの完全性保護に含めるべきメッセージの数が定義される。これは、この数をメッセージに(そして完全性保護されるメッセージの一部として)加えることによって実行されることができ、したがって、例えば、最初に送信するメッセージのために0を用いる(「このメッセージのための短縮されたMACの計算のために、以前に送信された0のメッセージを使用する」)。この値は予め決定されていてもよいし、規格で指定されていてもよい。
本発明のさらなる実施の形態では、メッセージのビット長を節約するために、これが完全性保護のための最初のメッセージであるかどうかを示す、あるいは、それが最初のメッセージであることの指標を有する最初のメッセージまでかつ最初のメッセージを含む全ての以前に送信されたメッセージを、現在のメッセージのための短縮されたMACの計算において、含めなければならないことを示す、1つのビットのみを持つことができる。
強力な暗号化特性を有するハッシュ関数は、入力ビットにおけるいずれかの変化に対する1ビットフリッピングの確率が0.5であるように、そしていずれかの出力ビットのフリッピングが他のいずれかのフリッピングと相関しないように、すべての入力ビットを混合する必要があることに留意されたい。したがって、所望の保護強度がNビット完全性保護(すなわち、N/Lのより短いハッシュを使用することによる2^(-N)の推定確率)である場合、大きなハッシュの入力混合特性が必要である。たとえば、SHA 256 では、メッセージは512 ビットチャンクで分割される。ビット処理アルゴリズムは、チャンク値の出力を取得するために64 回('ラウンド') 適用される。内部的には、各ラウンドで2048 ビットの状態が使用される。それぞれのチャンクの出力が結合され、メッセージ全体のハッシュが計算される。結合は単純なEXORであり、したがって、ここでは、1ビット当たりの計算の数を、最終結果の最初の8ビットのみの計算へと減らすことができる。したがって、メッセージの所定の部分と以前に送信されたメッセージの少なくとも1つの所定の部分とを連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより、非使用のビットを計算するために必要な最終的な演算とは別に、所望のビットを得るためにそれぞれのアルゴリズムに従う必要なすべての計算が実行されることになる。
メッセージから認証方法への入力に関して、完全なメッセージまたはその所定のビット(例えば、既知の構造/値を有する場合があるヘッダビットを除く)のいずれかが使用される。
新しいメッセージの完全性保護に含めるメッセージの数は、何らかの方法で定義する必要がある。これは、この数をメッセージに(そして完全性保護されるメッセージの一部として)加えることによって実行されることができ、したがって、例えば、最初に送信するメッセージのために0を用いる(「このメッセージのための短縮されたMACの計算のために、以前に送信された0のメッセージを使用する」)。この値は規格で指定することもできる。空間を節約するために、これが完全性保護のための最初のメッセージであるかどうかを示す、あるいは、それが最初のメッセージであることの指標を有する最初のメッセージまでかつ最初のメッセージを含む全ての以前に送信されたメッセージを、現在のメッセージのための短縮されたMACの計算において、含めなければならないことを示す、1つのビットのみを持つことができる。
本出願では、メッセージという用語は、通信スタック内の任意のレベルで、1 つのパーティから1 つの(ユニキャスト)または多数の(マルチキャスト、ブロードキャスト)受信機に送信される任意のビットの集合体を示す。下位レベルのメッセージの例は、PHYレイヤパケット、MACパケット(Media Access Control:MACにはMedia Access ControlとMessage Authentication Codeの両方の意味があるため、一部の規格ではMessage Authentication Codeの代わりにMessage Integrity Codeという用語が使われている)、またはMACフレームであり、これらの場合、リンクセキュリティが可能となる。より高いレベルのメッセージの例は、IPパケット、UDPパケット、TCP-IPパケット、IPsecパケットなどであることができ、その場合、セキュリティは送信者と受信者の間にあり、このセキュリティは、いくつかのリンクにまたがる可能性がある。メッセージの他の例としては、MPEGトランスポートストリームパケット、MPEGプログラムストリームパケット、あるいは、MPEG TSまたはMPEG PSパケットのペイロードにおいて多重化されるエレメンタリストリームパケットなどがある。アプリケーションは、セキュリティが通常エンドツーエンドである独自のメッセージを定義することもできる。
通常、メッセージ(またはパケット)は、ヘッダとペイロードを有する。ペイロードは、送信者から受信者に伝送されるコンテンツまたは情報である。ヘッダは送信者のソースアドレスを含むことができる。ヘッダは意図された受信者の一つ以上の宛先アドレスを含むことができる。ヘッダはペイロードの長さを示す場合がある。ヘッダは、セキュリティ対策、例えば、ペイロードが暗号化されているか否か、および/または、ペイロードが暗号的に完全性保護されているか否かを示すことができる。通常、ペイロードにはCRCが付加されるが、これは暗号で保護された値ではない。CRCは通常、伝送エラーを迅速に判定し、エラーの場合に再伝送を要求するために使用される。
メッセージ(またはパケット)のペイロードには、メッセージ認証コード(MAC)またはメッセージ整合性コード(Message Integrity Code)が付加される場合もある。MACおよびMICの両方の作成は、秘密鍵の知識を必要とするので、MACおよびMICは容易に偽造することができない。通常(但し必ずではない)、メッセージやパケットのヘッダは、MACやMICの存在、そのサイズ、使用される暗号アルゴリズム、使用する鍵の指標などを示す。
本発明を使用する典型的な方法は以下の通りである。既に何らかの形式の暗号保護が指定されているメッセージタイプに本発明を使用することが最も簡単であるが、これは特定のメッセージタイプに本発明を使用できるようにするために必要ではないことに留意されたい。
本発明が使用されていることを示すために、メッセージ(またはパケット)ヘッダ内の以前に予約されたビット、またはセキュリティアルゴリズムを示すためにメッセージヘッダ内のフィールドにおいて以前に使用されていない値または未使用のビットが使用される。メッセージ番号ビットパターン(以下で説明する)には、メッセージヘッダ内の以前に使用されていなかった別のビットが使用される。
本発明が使用されていることをセキュリティ指標が示す場合、メッセージ番号ビットパターンにどのビットが使用されているか、短縮されたMACがどれくらいの大きさで、それがメッセージ全体のどこに配置されているか、および短縮されたMAC計算にどの特定のアルゴリズムが使用されているかを、規格で示すことができる。これらの態様(例えば、短縮されたMACサイズ、または短縮されたMACの計算に使用されるアルゴリズム)のいずれかまたはすべては、セキュリティ指標自体で示されることができる。これらは、通信システムの上位層によっても通知されることができる。
複数のメッセージにわたって短縮されたMACまたはMICを計算する場合、これらはすべて、同一の送信者から同一の受信者へのものであることが望ましい。
本発明がメッセージに使用されるという前述の指標と共に本発明を使用することができる典型的な態様は、以下の通りである。メッセージ番号ビットパターンに加えて、実施形態はまた、メッセージ内のMACが短縮されているか否かの指標を使用してもよい。この指標は、MAC短縮ビットパターンと呼ばれることがあり、この例では1ビットパターンである。これにより、短縮されたMACを持つメッセージと通常サイズのMACを持つメッセージとを同じ通信システムで使用できるという利点がある。
短縮されたMACをメッセージが使用するかどうかの指標に加えて、または短縮されたMACをメッセージが使用するかどうかの1ビット指標の代替として、MACまたはMICが何ビット短縮されて例えば8ビットになったかを示すMAC短縮ビットパターンを使用できる。MAC短縮ビットパターンは、通常のMACまたはMICからいくつのビットが取られたかを示すこともでき、したがって、0の指標は、通常の短縮されていないMACまたはMICが使用されることを意味する。マルチビットMAC短縮ビットパターンの使用は、メッセージサイズの減少における柔軟性の利点を有する。
単純な実施形態では、1ビットのMAC短縮ビットパターン「T」ビットおよび1ビットのメッセージ番号ビットパターン「N」ビットが各メッセージのヘッダ内で使用される。メッセージのMACまたはMICは、'T' ビットが1 の場合、たとえば8 ビットに短縮される。完全なMACまたはMICは、'T' ビットが0 のときに使用される。メッセージが「最初のメッセージ」 の場合、'N' ビットに0 の値が設定され、メッセージが「次のメッセージ」 の場合、つまり「最初のメッセージ」ではない場合、'N' ビットに1 の値が設定される。(1,0)と(1,1) の'T' および'N' ビットの組み合わせを使用するメッセージは、オーバヘッドが削減される。(0,0)の'T'ビットと'N'ビットの組み合わせを使用するメッセージは完全なMACまたはMICを使用し、MACまたはMICに以前のメッセージを使用しないため、(0,0)は実質的に既知の完全性保護である。この組み合わせを有する利点は、本発明のメッセージ完全性保護が既知の完全性保護も使用するシステムにおいて柔軟に使用され得ることである。(1,1)の'T'ビットと'N'ビットの組み合わせをもつメッセージのシリーズは、(0,1)の'T'ビットと'N'ビットの組み合わせをもつメッセージで終わることができるので、(0,1)の組み合わせをもつメッセージのMACまたはMICの計算に使用される(1,1)シリーズの最後のメッセージは今や完全なMAC完全性保護を即座に得ることができる。これは、送信機が組み合わせ(0,0)を使用してレガシー完全性保護に切り替えることを望み、しかもすべてのメッセージの完全性保護を提供する場合に有利である。
本発明のこれらおよび他の態様は以下の説明および添付の図面を参照して例として説明される実施形態を参照して、さらに明らかになり、説明されるであろう。
本発明の一実施形態による、メッセージおよび関連するメッセージ認証コードを送受信し、受信されたメッセージを認証するための、ネットワーク内に送信機および受信機を有する通信システムを示す図。 本発明の実施形態によるメッセージおよび関連するメッセージ認証コードの送信方法を示す図。 本発明の実施形態によるメッセージおよび関連するメッセージ認証コードを受信し、受信したメッセージを認証する方法を示す図。 コンピュータ可読媒体を示す図。 プロセッサシステムの概略図。 図面は概略的であり、一定の縮尺で描かれていない。図面において、既に説明された要素に対応する要素は、同じ参照番号を有する場合がある。
図1は、ネットワーク内の通信のための2つの装置を示しており、一方は短縮されたMACを使用してメッセージを送信するように構成され、他方は短縮されたMACを使用してメッセージを受信するように構成されている。
通信システム100において、ネットワークは、通信プロトコルに従って、2つの装置110と120との間の通信130を提供する。
通信プロトコルは、2つの装置間、または装置のプロセッサ113、123上で実行される2つのアプリケーション間、またはプロセッサ123上で実行されるアプリケーションと装置120からのメッセージを装置110が転送するプロセッサ(図には示されていない)との間のリンク上のメッセージを定義する。メッセージには、完全性保護を必要としないデータ、完全性保護を必要とするータ、および短いメッセージ認証コード(MAC)が含まれている。
装置120は、通信プロトコルに従って送受信するように構成されたトランシーバ121と、メッセージの完全性保護のために短縮されたMACコードを生成する短縮MAC生成器122と、装置110へのリンク上のメッセージ伝送を管理するように構成されたプロセッサ123とを有する。
プロセッサ123はさらに、短縮されたMACを計算するための正しいキーを短縮MAC生成器122に提供するように構成され、さらに、例えば、物理的特性126を測定するセンサであってもよいメッセージコンテンツ生成器124からメッセージコンテンツを取得するように構成される。
短縮MAC生成器122はさらに、以前に送信されたメッセージをメッセージメモリ125に記憶し、短縮されたMACの計算に使用するために、以前に送信されたメッセージをメッセージメモリ125から取得するように構成される。
トランシーバ121は、短縮MAC生成器122から、それが送信するすべてのメッセージについて、短縮されたMACを取得する。
同様に、装置110は、通信プロトコルに従って送受信するように構成されたトランシーバ111と、受信されたメッセージの完全性保護をチェックするための短縮されたMACコードを生成する短縮MAC生成器112と、装置110へのリンク上のメッセージ伝送を管理するように構成されたプロセッサ113とを有する。
プロセッサ113は、短縮MAC生成器112に、短縮されたMACを計算するための正しい鍵を提供するようにさらに構成され、さらに、受信されたメッセージを、メッセージがさらに処理されてそれらの内容が表示されるなどする別の装置(図示せず)または他のアプリケーション(図示せず)に転送するように構成されてもよい。
短縮MAC生成器112はさらに、前に受信したメッセージをメッセージメモリ115に記憶し、短縮されたMACの計算に使用するために、前に受信したメッセージをメッセージメモリ115から取得するように構成される。
トランシーバ111は、受信したメッセージごとに短縮MAC生成器112から短縮されたMACを取得するので、短縮MAC生成器112から取得された短縮されたMACを受信されたメッセージ内のものと比較することによって、短縮されたMACによって提供される完全性保護を実行することができる。あるいは、プロセッサ113または短縮MAC生成器112がこの比較を実行する。
実際には、通信プロトコルは、例えば、3GPPによって定義される任意のセルラーネットワークプロトコルなどの任意の無線通信プロトコルであってもよく、Wi-Fi、Bluetooth、ZigBee、任意のIoT無線通信プロトコル、例えば、LoRa、Narrowband IoT(NB-IoT)、LTE Cat 1、LTE Cat 0、LTE Cat M1(eMTC)、LTE Cat NB1などであってもよい。通信プロトコルは、任意の有線通信プロトコル、例えばイーサネットであってもよい。
実際には、装置110は、セルラーネットワーク基地局(eNodeB、E-UTRAN Node B、Evolved Node Bとしても知られる)、Wi-Fiアクセスポイント(AP)、Wi-Fiピアツーピア装置、Bluetooth装置、ZigBee装置、IoT無線通信プロトコルを使用するIoT装置などであり得る。装置120は、前述の通信プロトコルのいずれかを使用するIoT装置など、装置110にメッセージを送信する任意の装置とすることができる。もちろん、装置120が装置110について言及された装置のいずれであってもよく、装置110が装置120について言及された装置のいずれであってもよく、装置120は装置110にメッセージを送信する。
一実施形態では、装置120は、装置110に送信するための最初のメッセージを作成する。これが最初のメッセージであるという事実は、メッセージ番号ビットパターンによってメッセージ内で示されることができる。このメッセージ番号ビットパターンは、メッセージヘッダの一部であってもよいが、メッセージ本体の一部であってもよい。このビットパターンは1ビットのみであってもよく、例えば、「0」が最初のメッセージであることを意味し、「1」が次のメッセージであることを意味する。次のメッセージは、最初のメッセージではない、最初のメッセージの後の任意のメッセージである。
メッセージ番号ビットパターンは、このメッセージの短縮されたMACの計算に、以前に送信されたメッセージがいくつ使用されたかを示す数を示すこともできる。たとえば、短縮されたMAC長が8ビットの場合、5ビットのビットパターンは、最大で、31個の以前に送信されたメッセージが現在のメッセージの短縮されたMACの計算に含まれていることを示すことができる。これらの数字を使用すると、最初のメッセージのための有効なMACサイズは、最初のメッセージの後にさらに31個のメッセージが送信された後、32*8 = 256ビットとなり、これはHMAC-SHA256の保護強度に等しい好ましくは、メッセージ番号ビットパターンは、完全性を保護するメッセージビットに含まれる。
プロセッサ123は、例えば、メッセージコンテンツ生成器124からのコンテンツに基づいて最初のメッセージを生成する。プロセッサ123はまた、上述したように、最初のメッセージを示すメッセージ番号ビットパターンを作成し、これをトランシーバ121に送信する。あるいは、トランシーバ121がメッセージ番号ビットパターン自体を作成する。
短縮MAC生成器122は、完全性保護されるべき最初のメッセージのすべてのビットを収集し、これらをMACアルゴリズム、たとえばHMAC-SHA256のための入力として使用する。完全な最初のメッセージ、または少なくとも、次のメッセージのために短縮されたMAC計算で使用される最初のメッセージのビットは、メッセージメモリ125に記憶され、このビットはこのメッセージのために短縮MAC生成器が計算した短縮されたMACを含んでも含まなくてもよい。MAC生成に使用される鍵は、プロセッサ123によって短縮MAC生成器122に供給される。鍵配布は周知であり、例えば、工場設定で行うことができ、または通信130を介してセキュアメッセージを使用して装置120に送信されることができる。
短縮MAC生成器122は、MACから任意のNビット、例えば最初のNビットを取ることによって、計算されたMACを短縮されたMACに短縮し、ここで、NはMACサイズより小さい。例えば、Nは8 bitである可能性があり、一方、MACサイズは、HMAC-SHA256について、256 bitである可能性がある。
短縮MAC生成器122がトランシーバ121に短縮されたMACを提供し、トランシーバが送信されるメッセージに短縮されたMACを含めることができる。短縮されたMACをメッセージに含めた後、トランシーバ121は、通信130を使用して、メッセージを装置110に送信する。
次のメッセージが送信される場合、プロセッサ123は、例えばメッセージコンテンツ生成器124からのコンテンツに基づいて新しいメッセージを作成し、通信ネットワークを介して送信するためにそれをトランシーバ121に送信する。プロセッサ123はまた、上記のように次のメッセージを示すメッセージ番号ビットパターンを作成し、これをトランシーバ121に送信する。あるいは、トランシーバ121がメッセージ番号ビットパターン自体を作成する。短縮MAC生成器122もこのビットパターンを知る必要がある。
次のメッセージのために、短縮MAC生成器122は、完全性保護されるべき次のメッセージのすべてのビットを収集するだけでなく、完全性保護される必要があるいくつかの以前に送信されたメッセージのビットも収集し、これらのビットは以前に送信されたメッセージの短縮されたMACを含んでも含まなくてもよい。そしてこれらのビットはすべて、MACアルゴリズム、例えば、HMAC-SHA256の入力として使われる。これは、これらのビットを次々に付加するだけで行うことができる。最初のメッセージに対して行ったものと同様に、短縮MAC生成器122は、完全な次のメッセージ、または、少なくとも、完全性が保護されるべき次のメッセージのビットをメッセージメモリ125に格納し、これらのビットは短縮されたMACを含むかもしれないし含まないかもしれない。
短縮されたMACの計算で使用される以前に格納されたメッセージの量は、メッセージ番号ビットパターンで示されることができる。メッセージ番号ビットパターンのサイズのためのビット量は、この場合、1より大きいことが好ましいが、1ビットだけでも機能し、この場合、最後に送信されたメッセージのみが短縮されたMACの計算に含まれる。
あるいは、短縮されたMACの計算で使用されるべき以前に格納されたメッセージの量は、最初のメッセージまでの且つ最初のメッセージを含むすべての以前に送信されたメッセージであることができる(以前に送信されたメッセージの数の最大)。この最大値は、ブルートゥースSIG(https://www.bluetooth.com/)、IEEE(https://www.ieee.org/)、Wi-Fiアライアンス(https://www.wi-fi.org/)、または3GPP(http://www.3gpp.org/)などの規格で指定されることができる。たとえば、この最大値が31 で、次のメッセージが最初のメッセージの後に送信される2 番目のメッセージの場合、以前に送信された2 つのメッセージ(最初のメッセージと、最初のメッセージの後の最初のメッセージ)が短縮されたMACの計算に含まれる。たとえば、この最大値が31 で、次のメッセージが最初のメッセージの後に送信される32 番目のメッセージである場合、以前に送信された31 個のメッセージは短縮されたMAC計算に含まれるため、最初のメッセージの後のすべてのメッセージが含まれる。メッセージメモリ125は、この最大量を超えるメッセージを記憶する必要はない。使用されるメッセージの最大数は未定義である場合もあり、その場合、単に、最初のメッセージまでの、かつ最初のメッセージを含む、すべての以前に送られたメッセージが、短縮されたMAC計算のために使用される。この場合には、装置120は、MAC計算への入力の量およびメッセージメモリ125に記憶する量が大きくなりすぎないように、時々、メッセージを最初のメッセージとして送信するよう決定すべきである。これらすべての場合において、メッセージ番号ビットパターンは上述のように、1ビットのみとすることができる。
最初のメッセージとしてメッセージを送信することを決定することは、例えば、装置110からのメッセージに対する反応として行われてもよい。装置110は、1つ以上の以前に送信されたメッセージが失われたか、受信されなかったか、またはエラーで受信された場合に、それを行うことを望むことがある。
次のメッセージのための手順の残りは、最初のメッセージの手順と同様である。短縮MAC生成器122は、MACから任意のNビット、例えば最初のNビットを取ることによって、計算されたMACを短縮されたMACに短縮し、ここで、NはMACサイズより小さい。たとえば、Nは8 ビットで、MACサイズはHMAC-SHA256 の場合は256 である。短縮MAC生成器122は、トランシーバ121に短縮されたMACを提供し、トランシーバは送信される次のメッセージに短縮されたMACを含めることができる。短縮されたMACをメッセージに含めた後、トランシーバ121は、通信130を使用して、メッセージを装置110に送信する。
一実施形態では、装置110は、トランシーバ111において装置120からのメッセージを受信する。当業者には理解されるように、装置110の動作は、装置120の動作とかなり類似している。例えば、装置110が8ビットに短縮されたHMAC-SHA256を短縮されたMACとして使用する場合、装置120も同様である。どちらの装置も、短縮されたMACの計算に含まれる以前に送信されたメッセージの数として同じ最大値を使用する必要がある。
トランシーバ111は、少なくとも、このメッセージからの完全性保護されるべきビット、受信されたメッセージからの短縮されたMAC、ならびに受信されたメッセージ内のメッセージ番号ビットパターンを、短縮MAC生成器112に提供する。短縮MAC生成器112は、受信されたメッセージ全体、または少なくとも、後のメッセージのための短縮されたMAC計算で使用されるべき受信されたメッセージのビットを、メッセージメモリ115に記憶する。
メッセージ番号ビットパターンが、それが最初のメッセージであることを示す場合、短縮MAC生成器112は、MACアルゴリズム、例えば、HMAC-SHA256のための入力として、完全性保護されるべき最初のメッセージのビットのすべてを使用する。
メッセージ番号ビットパターンが、受信されたメッセージが次のメッセージであることを示す場合、短縮MAC生成器112は、完全性保護されるべき受信されたメッセージのすべてのビットだけでなく、メッセージメモリ115に記憶されている、完全性保護される必要があるいくつかの以前に受信されたメッセージのビットも収集し、この記憶されたビットは、以前に送信されたメッセージの短縮されたMACが含んでいても、含んでいなくても。そして、これらのビットのすべてが、MACアルゴリズム、例えばHMAC-SHA256の入力として使用される。これは、これらのビットを次々に付加するだけで行うことができる。
上述したように、短縮MAC生成器112による短縮されたMACの計算で使用すべき前に受信されたメッセージの数は、メッセージ番号ビットパターンで示されてもよく、最初のメッセージとして示されたメッセージまでの、且つこれを含む、先に受信されたすべてのメッセージであることができ、上述したように、これは最大数である。メッセージメモリ115は、この最大数を超えるメッセージを記憶する必要はない。
MAC生成に使用される鍵は、プロセッサ113によって短縮MAC生成器112に供給される。鍵配送はよく知られており、工場設定によって行われるか、または任意の通信ネットワーク(図示せず)を介してセキュアメッセージを使用して装置110に送ることができる。
短縮MAC生成器112は、MACから任意のNビット、例えば最初のNビットを取ることによって、計算されたMACを短縮されたMACに短縮し、ここで、NはMACサイズより小さい。たとえば、Nは8 ビットで、MACサイズはHMAC-SHA256 の場合は256 である。
短縮MAC生成器112は、計算された短縮されたMACを、受信されたメッセージからの短縮されたMACと比較する。これらの2つの値が同じ場合、受信メッセージと、短縮されたMAC計算で使用された以前に受信されたすべてのメッセージは、OKとして示される。この指標は、受信されたメッセージごとに、そのメッセージに対して正しいと判明した短縮されたMACの量を含むことができ、これは信頼性の測度として機能する。信頼性の他の測度として、例えば、短縮されたMACを攻撃者がランダムに使用した場合にメッセージが偽である確率も可能である。これらの2 つの値が同じでない場合、受信されたメッセージと、短縮されたMACの計算で使用されたすべての以前に受信されたメッセージは不良として常に示され、これは以前に設定された「OK」ステータスを無効にする。
あるいは、トランシーバ111またはプロセッサ113が、短縮されたMACの比較および結果の処理を実行してもよい。
図2は、本発明の一実施形態によるメッセージおよび関連するメッセージ認証コードを送信する方法を示す。この方法は、送信機と受信機との間の接続の確立に関連するリンク管理ステップ503から開始する。ステップ504では、この認証方法に必要な鍵または他の秘密情報が送信機および受信機のそれぞれによって交換されるか、または決定される。ステップ505で、メッセージ認証コードを計算するために必要な演算が実行される。ステップ506では、先に述べたようなメッセージ認証コードの短縮が行われる。ステップ507で、短縮されたMACコードが伝送のためにメッセージに付加され、この方法は次のブロック/メッセージに進行する。
図3は、本発明の一実施形態による、メッセージおよび関連するメッセージ認証コードを受信し、受信したメッセージを認証する方法を示す。この方法は、送信機と受信機との間の接続の確立に関連するリンク管理ステップ503から開始する。ステップ504では、認証方法に必要な鍵または他の秘密情報が送信機および受信機のそれぞれによって交換されるか、または決定される。ステップ505で、メッセージ認証コードを計算するために必要な演算が実行される。ステップ506では、先に述べたようなメッセージ認証コードの短縮が行われる。ステップ606および607において、計算された短縮コードと受信された短縮コードとの比較が行われる。2つが同一である場合、現在のメッセージと以前のメッセージの両方が認証され、方法は次のブロック609に進行する。2つが同一でない場合、エラーメッセージ610が生成され、メッセージと前のメッセージは認証されない
上記では本発明の様々な実施形態をメッセージを保護する方法に関して説明したが、以下ではl本発明の実施形態を、例えば3GPP、WiFi、およびBluetoothを含む様々なデータ伝送規格でどのように使用することができるかについて詳細に説明する。
Wi-FiのMACフレーム([802.11]を参照)に関しては、CBC-MACプロトコルによるCTR(CCMP、[802.11]の12.5.3項)が、802.11n、802.11ac、802.11ax、802.11ahで使用されるフレームを含むWi-Fiフレームの保護に広く使用されている。802.11ahの商標名はHaLowである。一例として、本発明は、8オクテットCCMPヘッダ内の予約ビットB0~B4を使用することによって、CCMPと共に使用することができる。例えば、8オクテットCCMP MICの代わりに、本発明に従って短縮されたMICが使用されることを示すためにB0が使用されることができる。MICはCCMPと同じアルゴリズムと鍵で計算されるが、以下で説明されるように、同じ送信元から同じ宛先に以前に送信されたMACフレームのコンテンツを使用する。例えば、以下に説明するように、現在のフレームが最初のフレーム(メッセージ)であることを示すためにビットB1が使用されることができる。例えば、ビットB2とB3は、短縮されたMICの長さ(例えば、1、2、3または4オクテット)を示すことができる。元のCCMP MICは8~16オクテットのサイズであるので、本発明によってかなりの低減を達成することができる。[802.11]の新しいバージョンにおいて、短縮されたMICが例えば1オクテットのサイズであることを指定することもできる。ビットB1-B2は、例えば、2ビットのメッセージ番号ビットパターンとしても使用されることができ、この値は、「このメッセージのための短縮されたMICの計算において、このメッセージのためのものと同じ送信者から同じ受信者へのN個の以前に送信されたメッセージを含む」ことを意味する。
Wi-Fi MACフレームが短縮されたMICを使用するための最初のメッセージである場合、MICは、[802.11]の12.5.3節のCCMP規格によって規定されているように計算され、通常のMICは、例えば8ビットに短縮され、このWi-Fi MACフレームのペイロードの後に付加される。メッセージ番号ビットパターンは、これが最初のメッセージであることを示すように設定される。
以前に送信されたWi-Fi MACパケットを短縮されたMICの計算に使用する必要がある場合、以前のWi-Fi MACパケットの通常のMICの計算に使用されるすべてのビットが、通常のMICの計算に使用される現在のWi-Fi MACパケットのビットの前に付加(または後に付加)され、CCMP MIC計算の通常のアルゴリズムが使用されるが、入力が長くなる。MIC結果は、例えば8 ビットに短縮され、Wi-Fi MACパケットのペイロードの後に付加される。メッセージ番号ビットパターンは正しい番号に設定される。
802.11ad (WiGigまたは60GHz Wi-Fi、またはディレクショナルマルチギガビット(DMG))で使用されるWi-Fiフレームは[802.11]参照のとおり、通常、その保護のためにGCMプロトコル(GCMP、[802.11]の12.5.5節)を使用する。本発明は、GCMPヘッダの予約ビットB0~B4のいずれかおよび短縮されたMICを使用して、CCMPについて上述したのと同様の態様で使用されることができる。元のGCMP MICはサイズが16オクテットであるので、本発明によってかなりの低減を達成することができる。
セルラー通信プロトコルは3GPP(http://www.3gpp.org/)、例えば、LTE、4g及び5g移動通信規格によって規定されている。
パケット、例えばIPパケットを移動基地局(3GPP用語ではeNodeB)からモバイル装置(3GPP用語ではユーザ機器UE)に送信する、あるいはその逆に送信する必要がある場合、パケットヘッダ圧縮、暗号化、完全性保護を行うパケットデータコンバージェンスプロトコル(PDCP)を用いて送信される。このプロトコルは、オプションで圧縮されたヘッダを持つパケットの伝送のためのPDCPヘッダとペイロードを持つPDCPパケットを使用する。PDCPは、RTP/UDP/IP、UDP/IP、ESP/IP、IP、TCP/IP、RTP/UDP/IP、UDP/IP、ESP/IPパケットなどのトランスポートをサポートしている。携帯電話のインターネットアクセスは、PDCPおよびPDCPパケットを利用するだけでなく、ナローバンドIoT(NB-IoT)カテゴリNB1およびNB2、ならびにLTE-MカテゴリCAT-M1およびCAT-M2など、IoT目的のために3GPPによって定義されたプロトコルも利用することに留意されたい。PDCPは[38.323]で規定される。
パケットヘッダ圧縮技術は、IPヘッダ圧縮[RFC 2507]またはロバストヘッダ圧縮(RObust Header Compression :RFC 3095またはより最近の[RFC 5795])のいずれかに基づくことができる。
PDCPパケットの完全性保護は[38.331]で規定されているように、上位層によって、[33.501]で規定されているように完全性保護方式を使用して設定される。
同様に、上述したように、本発明は、PDCPパケットの完全性保護のために使用されることができる。本発明およびいくつかの一般的なパラメータ、例えば、短縮されたMICのためのアルゴリズムおよび短縮されたMICのサイズは、従来のMIC計算のために既に規定されているものと同様に、より上位の層によって構成することができる。PDCPヘッダ内の1つ以上の予約ビットを使用して、メッセージ番号ビットパターンを伝送することができる。[38.323]の6.2.2節は、データPDU(プロトコルデータユニット)のためのPDCPヘッダを規定する。異なるタイプのデータPDUのオクテット1に少なくとも3つの予約ビットがある。これらの間の差は、PDCPシーケンス番号(SN)のサイズである。制御PDUは、現在の3GPP規格では完全性保護されていない。しかしながら、それらのPDCPヘッダは4つの予約ビットを持っており([38.323]の6.2.3節参照)、これらは発明の使用を示すために、そしてメッセージ番号ビットパターンを伝送するために使用されることができる。
PDCPパケットが短縮されたMICを使う最初のメッセージである場合、MICは、[38.331]で指定されるように、[38.323]の5.9節で規定され、上位層によって設定されるメッセージのビット上で計算され、通常のMICは8ビットに短縮され、このPDCPパケットのペイロードの後に付加される。メッセージ番号ビットパターンは、これが最初のメッセージであることを示すように設定される。
以前に送信されたPDCPパケットを短縮されたMICの計算で使用する必要がある場合、以前のPDCPパケットの通常のMICの通常の計算に使用されるすべてのビットが、通常のMICの通常の計算に使用される現在のPDCPパケットのビットの前に付加(または後に付加)され、DPCP MIC計算の通常のアルゴリズムが使用されるが、長い入力で使用される。MIC結果は、例えば8ビットに短縮され、PDCPパケットのペイロードの後に追加される。メッセージ番号ビットパターンは正しい番号に設定される。
PDCPは、PDCPパケットの伝送に無線リンク制御(RLC)を使用する。RLCは、セグメンテーション/連結、再送処理、重複検出、上位層へのシーケンス内デリバリを担当する。RLCは、RLCヘッダとペイロードを含むRLCパケットを使用する。ペイロードは、PDCPパケット(の一部)を伝送するために使用される。現在、RLCパケットのために規定された暗号保護はない。それにもかかわらず、本発明は、上述のように使用されることができる。RLCへの本発明の適用は、新しい鍵が送信側と受信側との間で確立される必要があることを意味する場合がある。
RLCは、メディアアクセス制御(MAC)パケットを使用してRLCパケットを伝送する。MACパケットもヘッダとペイロードを有し、後者はRLCパケットの伝送に使用される。3GPPシステムにおけるメディアアクセス制御は、論理チャネルの多重化、ハイブリッドARQ再送信、ならびにアップリンクスケジューリングおよびダウンリンクスケジューリングを処理する。現在、MACパケットのために規定された暗号保護はない。それにもかかわらず、本発明は、上述のように使用されることができる。MAC層に対する本発明の適用は、新しい鍵が送信側と受信側との間で確立される必要があることを意味する場合がある。
Bluetooth LEは、[BT v5.0]の規格volume6に規定されている。
リンク層上のBluetooth LEパケットは、プロトコルデータユニット(PDU)と呼ばれる。他のBluetoothの変形例も、本明細書で説明するものと同様である。Bluetooth (LE)PDUには、16 ビットのヘッダ、ペイロードがあり、MICがある場合がある。Bluetooth LE PDUは、リンク層パケットで伝送される。後者には、2 つの特定の装置間の既存のリンクを指定する32 ビットのアクセスアドレスが含まれる。同じアクセスアドレスは、2つの装置の同じセット間のリンクを意味する。PDUヘッダには予約ビットはない。PDUヘッダには、ペイロードにデータ(データPDU)と制御情報(制御PDU)のどちらが含まれているかを示すビットがある。PDUヘッダは、ペイロードが暗号化されて、MICが存在するかどうかを示す指標を有していない。代わりに、これは、特定の制御PDUによって示される。制御PDUパケットには、'暗号化開始'(LL_START_ENC_REQ)や、'暗号化一時停止'(LL_PAUSE_ENC_REQ)などのOpcode(動作を示すコード)が含まれている。'暗号化開始' コマンドは、暗号化とMICを使用した完全性保護との両方を開始する。これは、両方が常に一緒に使用されるか、まったく使用されないためである。本発明は、BLEにおいて、制御PDUのためのいくつかの新しいOpcode、例えば、メッセージ番号ビットパターンを送るための1つ以上のOpcode、暗号化を開始するための信号に対するOpcodeを追加し、短縮されたMICを使用することによって、使用されることができ、このOpcodeは、同じアクセスアドレスをもつ次のデータPDUが短縮されたMICの計算において使用される最初のメッセージであることを示す機能を果たすことができる。通常の「暗号化一時停止」(LL_PAUSE_ENC_REQ)は、同じアクセスアドレスをもつ次のDATA PDUもはや暗号化されず、短縮されたMICをもはや含まないことの指標として機能することができる。
データPDUが短縮されたMICを使用する最初のメッセージである場合、MICは、Bluetooth規格で規定されたように計算され、32 ビットの通常のMICは8 ビットに短縮され、このデータPDUのペイロードの後に追加される。これは、各データPDUの24ビットの減少を意味する。メッセージ番号ビットパターンは、これが最初のメッセージであることを示すように設定される。
以前に送信されたデータPDUを短縮されたMICの計算に使用する必要がある場合、以前のメッセージの通常のMICの計算に使用されるすべてのビットが、通常のMICの計算に使用される現在のメッセージのビットの前に付加(または後に付加) され、Bluetooth MIC計算(CCM) の通常のアルゴリズムが使用されるが、長い入力で使用される。MIC結果は、例えば8ビットに短縮され、データPDUのペイロードの後に付加される。メッセージ番号ビットパターンは正しい番号に設定される。
短縮されたMICの計算は、Bluetooth規格で規定されているものと同じMICアルゴリズムと同じ鍵を使用できるが、もちろん、他のMICアルゴリズムや他の鍵も定義できる。
Bluetooth規格のバージョンによって、データPDUと制御PDUで同じ分割が使用されるが、アドレス指定は異なる場合があり、セキュリティアルゴリズムが異なる場合がある。それにもかかわらず、本発明は、他のBluetoothバージョンについても同様に使用されることができる。
LoRaWANは[LoRaWAN] で規定される。LoRaWANは、モバイルであっても、固定位置に取り付けられていてもよいバッテリ駆動のエンド装置に最適化されたネットワークプロトコルである。LoRaWANネットワークは、通常、スター型トポロジでレイアウトされ、スター型トポロジでは、ゲートウェイがエンド装置と中央ネットワークサーバ間でメッセージを中継し、ネットワークサーバはネットワークの各装置から関連するアプリケーションサーバにパケットをルーティングする。無線伝送を保護するために、LoRaWANプロトコルは、装置のルート鍵から導出したセッション鍵を使用した対称暗号に依存している。バックエンドでは、装置のルート鍵のストレージと関連する鍵導出演算がJoin Serverによって保証される。
LoRaWANネットワークにおける通信の最下位層は、アップリンクおよびダウンリンクメッセージがPHYペイロードを伝送する無線PHY層である。PHYペイロードは、MACヘッダ(MHDR)、MACペイロード(MACPayload)、および暗号で構成されるMACパケットを伝送できる。4オクテットのメッセージ完全性コード(MIC)。LoRaWANに本発明を適用する1つの方法は、本発明が使用されることを示すために、MHDRの2ビット主フィールドの将来の使用値のために予約された3つのうちの1つを使用することである。発明が使用されることを主フィールドが示している場合、これは、以下に説明するように、メッセージ番号ビットパターンのための1つ以上のビットでMHDRが拡張されることも意味する。さらに、MHDRは、短縮されたMICの長さを示す1ビットまたは2ビットで拡張されることができる。あるいは、主フィールドの3つの未使用値のうちの2つを使用することができる。本発明が使用され、このMACパケットが最初のメッセージであることを示すために一方の値が使用され、本発明が使用され、このMACパケットが次のメッセージであることを示すために他方の値が使用されることができる。
例えば、Bluetoothについて前述したように、MACパケットが最初のメッセージとして示される場合、MICは、同じ鍵とアルゴリズムを使用してLoRaWAN規格によって規定されたように計算されることができる。しかしながら、通常通り計算されたMICを付加する代わりに、MICは、例えば8ビットに短縮され、短縮されたMICはMACペイロードの後に付加される。
たとえば、Bluetoothの場合と同様に、以前に送信されたMACパケットを短縮されたMICの計算に使用する必要がある場合、以前のMACメッセージの通常のMICの通常の計算に使用されるすべてのビットが、通常のMICの通常の計算に使用される現在のMACメッセージのビットの前に付加(または後に付加) され、LoRaWAN MIC計算の通常のアルゴリズムが使用されるが、長い入力で使用される。MIC結果は、例えば8ビットに短縮され、MACペイロードの後に付加される。
図4aはコンピュータプログラム1020を含む書き込み可能部分1010を有するコンピュータ可読媒体1000を示し、コンピュータプログラム1020は図1を参照して説明したように、プロセッサシステムに上記の方法およびプロセスのうちの1-3つ以上を実行させるための命令を含む。コンピュータプログラム1020は、物理マークとして、またはコンピュータ可読媒体1000の磁気化によって、コンピュータ可読媒体1000上に実現されてもよい。しかしながら、任意の他の適切な実施形態も考えられる。さらに、コンピュータ可読媒体1000は、ここでは光ディスクとして示されているが、コンピュータ可読媒体1000はハードディスク、固体メモリ、フラッシュメモリなどの任意の適切なコンピュータ可読媒体であってもよく、記録不可能または記録可能であってもよいことが理解されるのであろう。コンピュータプログラム1020は、プロセッサシステムに上記方法を実行させるための命令を含む。
図4bは、図1から図3を参照して説明した装置または方法の一実施形態によるプロセッサシステム1100の概略図を示す。プロセッサシステムは回路1110、例えば、1つまたは複数の集積回路を備えることができる。回路1110のアーキテクチャを図に概略的に示す。回路1110は、一実施形態による方法を実行し、かつ/またはそのモジュールもしくはユニットを実装するためにコンピュータプログラムコンポーネントを実行するための処理ユニット1120、例えばCPUを備える。回路1110は、プログラムコード、データなどを記憶するためのメモリ1122を備える。メモリ1122の一部は、読み出し専用であってもよい。回路1110は、通信要素1126、例えば、アンテナ、トランシーバ、コネクタまたはその両方などを含んでもよい。回路1110は、方法で定義された処理の一部または全部を実行するための専用集積回路1124を含んでもよい。プロセッサ1120、メモリ1122、専用IC 1124、および通信要素1126は、相互接続1130、たとえばバスを介して互いに接続することができる。プロセッサシステム1110は、それぞれコネクタおよび/またはアンテナを使用して、有線および/または無線通信のために構成され得る。
あるいは、装置は、全体的にまたは部分的に、プログラマブルロジック、例えば、フィールドプログラマブルゲートアレイ(FPGA)として実装されてもよい。装置およびサーバは、全体的または部分的に、いわゆる特定用途向け集積回路(ASIC)、すなわち、それらの特定の使用のためにカスタマイズされた集積回路(IC)として実装され得る。例えば、回路は、Verilog、VHDLなどのハードウェア記述言語を使用して、CMOSで実装されてもよい。
明確にするために、上記の説明は、異なる機能ユニットおよびプロセッサを参照して本発明の実施形態を説明することが理解されるのであろう。しかし、本発明から逸脱することなく、異なる機能ユニットまたはプロセッサ間の機能の任意の適切な分散を使用することができることは明らかであろう。例えば、別個のユニット、プロセッサまたはコントローラによって実行されることが示されている機能が同じプロセッサまたはコントローラによって実行されてもよい。したがって、特定の機能ユニットへの言及は、厳密な論理的もしくは物理的構造又は編成を示すのではなく、説明された機能を提供するための適切な手段への言及としてのみ見なされるべきである。本発明は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの任意の組合せを含む任意の適切な形態で実施することができる。
本文書において、動詞'comprise'は、列挙されたもの以外の要素またはステップの存在を除外するものではなく、要素に先行する単語'a'または'an'は、そのような要素の複数の存在を除外するものではないことに留意されたい。要素のリストに先行する場合の「少なくとも1つ」のような表現は、リストからの要素のすべてまたは任意のサブセットの選択を表す。例えば、表現「A、BおよびCのうちの少なくとも1つ」はAのみ、Bのみ、Cのみ、AおよびBの両方、AおよびCの両方、BおよびCの両方、またはA、BおよびCのすべてを含むものとして理解されるべきである。いかなる参照符号も、特許請求の範囲を限定するものではない。本発明は、ハードウェアおよびソフトウェアのいずれかまたは両方によって実施することができる。さらに、本発明は実施形態に限定されるものではなく、本発明は、上述した、または相互に異なる従属請求項に記載された、すべての新規な特徴または特徴の組み合わせにある。


参考文献:
[33.501] 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Security architecture and procedures for 5G system (Release 15); 3GPP TS 33.501 V15.2.0 (2018-09); http://www.3gpp.org/ftp//Specs/archive/33_series/33.501/33501-f20.zip
[38.323] 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Packet Data Convergence Protocol (PDCP) specification (Release 15); 3GPP TS 38.323 V15.3.0 (2018-09), http://www.3gpp.org/ftp//Specs/archive/38_series/38.323/38323-f30.zip
[38.331] 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Radio Resource Control (RRC) protocol specification (Release 15); 3GPP TS 38.331 V15.3.0 (2018-09), http://www.3gpp.org/ftp//Specs/archive/38_series/38.331/38331-f30.zip
[802.11] IEEE Computer Society, "IEEE Standard for Information Technology- Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications," (IEEE Std. 802.11-2016), December 2016
[BT v5.0] Bluetooth Core Specification, v5.0, https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=421043&_ga=2.98314335.1543434637.1541687761-711838721.1541687761.
[LoRaWAN] LoRaWAN(tm) 1.1 Specification, authored by the LoRa Alliance Technical Committee, https://lora-alliance.org/resource-hub/lorawantm-specification-v11
[RFC 2507] "IP Header Compression", February 1999, https://datatracker.ietf.org/doc/rfc2507/
[RFC 2104] "HMAC: Keyed-Hashing for Message Authentication", February 1997, https://datatracker.ietf.org/doc/rfc2104/
[RFC 4868] "Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec", May 2007, https://datatracker.ietf.org/doc/rfc4868/
[RFC 5795] "The RObust Header Compression (ROHC) Framework", March 2010, https://datatracker.ietf.org/doc/rfc5795/

Claims (22)

  1. 送信機と受信機との間でネットワーク上で交換されるメッセージを認証する方法であって、
    送信機側で、メッセージを送信するために、
    前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分に連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより、短縮されたMACコードを生成し、短縮されたMACコードのビット長は前記メッセージ認証コードのビット長より短く、
    送信のための前記メッセージに前記短縮されたMACコードを付加し、
    受信機側において、メッセージの認証のために、
    以前に送信されたメッセージ、前記メッセージ及び前記短縮されたMACコードを受信し、
    前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分に連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより、期待される短縮されたMACコードを生成し、
    受信された前記短縮されたMACコードが前記期待される短縮されたMACコードと同一である場合に、前記メッセージおよび前記以前に送信されたメッセージを認証する、方法。
  2. 最初の送信メッセージにために、前記メッセージ認証コードは、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく、前記最初のメッセージの所定の部分により計算される、請求項1に記載の方法。
  3. 前記メッセージ認証コードが、短い方のシーケンスに応じて、
    前記メッセージの所定の部分を以前に送信されたメッセージの第2の所定の数の部分のシーケンスに連結して、または
    前記メッセージの所定の部分を前記最初の送信メッセージから始まる各々の先行するメッセージの所定の部分のシーケンスを連結して、
    計算される、請求項2に記載の方法。
  4. 前記メッセージが、
    前記メッセージ認証コードが、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージの所定の部分から計算されることを識別する第1識別子、
    前記メッセージ認証コードが、前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分と連結して計算されることを識別する第2識別子、
    のうちの少なくとも1つを備える、請求項2または3に記載の方法。
  5. 前記メッセージが、
    前記メッセージ識別コードが短縮されていることを識別する第3識別子、
    前記メッセージ識別コードがnビットに短縮されていること識別する第4識別子、
    のうちの少なくとも1つを備える、請求項1から4のいずれか一項に記載の方法。
  6. 前記メッセージが、
    前記メッセージ識別コードが短縮されていることを識別する第3識別子、
    前記メッセージ識別コードが短縮されていないこと識別する第4識別子、
    のうちの少なくとも1つを備える、請求項1から4のいずれか一項に記載の方法。
  7. 受信機側において、メッセージの認証のために、
    受信された前記短縮されたMACコードが前記期待される短縮されたMACコードと同一でない場合に、前記メッセージおよび前記以前に送信されたメッセージを認証せず、前記以前に送信されたメッセージの認証を無効にする、請求項3に記載の方法。
  8. 前記第1識別子及び前記第2識別子の少なくとも1つは1ビットのビット長を有する、請求項4に記載の方法。
  9. 前記第1識別子及び前記第2識別子の少なくとも1つは、パケットヘッダ内に提供されるか、または、前記短縮されたMACコードと連結される、請求項8に記載の方法。
  10. 送信機によりネットワーク上でメッセージ及び認証コードを送信する方法であって、
    前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分に連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより短縮されたMACコードを生成し、
    前記短縮されたMACコードのビット長は前記メッセージ認証コードのビット長より短く、
    前記短縮されたMACコードを送信のための前記メッセージに付加する、方法。
  11. 最初に送信されるメッセージに対して、前記メッセージ認証コードは、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージの所定の部分から計算される、請求項10に記載の方法。
  12. 前記メッセージ認証コードが、短い方のシーケンスに応じて、
    前記メッセージの所定の部分を以前に送信されたメッセージの第2の所定の数の部分のシーケンスに連結して、または
    前記メッセージの所定の部分を前記最初の送信メッセージから始まる各々の先行するメッセージの所定の部分のシーケンスを連結して、
    計算される、請求項10または11に記載の方法。
  13. 前記メッセージが、
    前記メッセージ認証コードが、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージの所定の部分から計算されることを識別する第1識別子、
    前記メッセージ認証コードが、前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分と連結して計算されることを識別する第2識別子、
    のうちの少なくとも1つを備える、請求項10から12のいずれか一項に記載の方法。
  14. 前記第1識別子または前記第2識別子を格納するために1ビットのビット長を有するフィールドが使用される、請求項13に記載の方法。
  15. ネットワーク上で受信機により受信されたメッセージを認証する方法であって、前記メッセージは、前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分に連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより計算された短縮されたMACコードを有し、前記短縮されたMACコードのビット長は、前記メッセージ認証コードのビット長より短く、前記方法は、
    以前に送信されたメッセージ、前記メッセージ及び前記短縮されたMACコードを受信し、
    前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分に連結して計算されたメッセージ認証コード(MAC)から所定のビットを選択または生成することにより、期待される短縮されたMACコードを生成し、
    受信された前記短縮されたMACコードが前記期待される短縮されたMACコードと同一である場合に、前記メッセージ及び前記以前に送信されたメッセージを認証する、方法。
  16. 最初に送信されたメッセージである受信された最初のメッセージに対して、前記メッセージ認証コードは、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージの所定の部分から計算されており、当該方法は、
    以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージから計算されたメッセージ認証コードから所定のビットを選択または生成することにより、期待される短縮されたMACコードを生成する、請求項15に記載の方法。
  17. 前記短縮されたMACコードがそこから生成される前記メッセージ認証コードが、短い方のシーケンスに応じて、
    前記メッセージの所定の部分を以前に送信されたメッセージの第2の所定の数の部分のシーケンスに連結して、または
    前記メッセージの所定の部分を前記最初の送信メッセージから始まる各々の先行するメッセージの所定の部分のシーケンスを連結して、
    計算される、請求項15または16に記載の方法。
  18. 前記メッセージが、
    前記メッセージ認証コードが、以前に送信されたメッセージの少なくとも1つの所定の部分と連結することなく前記最初のメッセージの所定の部分から計算されることを識別する第1識別子、
    前記メッセージ認証コードが、前記メッセージの所定の部分を以前に送信されたメッセージの少なくとも1つの所定の部分と連結して計算されることを識別する第2識別子、
    のうちの少なくとも1つを備え、前記方法が、
    期待される短縮されたMACコードの生成に使用されるべき以前に送信されたメッセージの決定に前記第1識別子または前記第2識別子を使用する、
    請求項15から17のいずれか一項に記載の方法。
  19. 前記第1識別子及び前記第2識別子の少なくとも1つが、パケットヘッダから、または、前記短縮されたMACコードとの連結から抽出される、請求項18に記載の方法。
  20. ネットワーク上でショートメッセージ及び対応するメッセージ認証コードを送信する送信機であって、
    メッセージを送信するためのアンテナ及びトランシーバと、
    メッセージ認証コードの送信及び生成を制御するための前記アンテナ及び前記トランシーバに接続されたプロセッサと、
    を有し、
    前記プロセッサが、請求項7から11のいずれか一項に記載の方法を実行する、送信機。
  21. ネットワーク上でショートメッセージ及び対応するメッセージ認証コードを受信する受信機であって、
    メッセージ認証コードを有するメッセージを受信するためのアンテナ及びトランシーバと、
    メッセージ認証コードの受信及び生成を制御するための前記アンテナ及び前記トランシーバに接続されたプロセッサと、
    を有し、
    前記プロセッサが、請求項12から16のいずれか一項に記載の方法を実行する、受信機。
  22. メッセージおよび短縮されたMACコードを有する信号であって、前記短縮されたMACコードは請求項10から14のいずれか一項に記載の方法により生成されたコードである、信号。
JP2021525561A 2018-11-13 2019-11-13 ショートメッセージに適したメッセージ認証コードを提供するための方法及び装置 Active JP7300506B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18205989.9 2018-11-13
EP18205989.9A EP3654579A1 (en) 2018-11-13 2018-11-13 Methods and devices for providing message authentication code suitable for short messages
EP19170456.8 2019-04-23
EP19170456 2019-04-23
PCT/EP2019/081084 WO2020099446A1 (en) 2018-11-13 2019-11-13 Methods and devices for providing message authentication code suitable for short messages

Publications (3)

Publication Number Publication Date
JP2022507141A true JP2022507141A (ja) 2022-01-18
JPWO2020099446A5 JPWO2020099446A5 (ja) 2022-10-19
JP7300506B2 JP7300506B2 (ja) 2023-06-29

Family

ID=68470545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021525561A Active JP7300506B2 (ja) 2018-11-13 2019-11-13 ショートメッセージに適したメッセージ認証コードを提供するための方法及び装置

Country Status (5)

Country Link
US (1) US12010243B2 (ja)
EP (1) EP3881490B1 (ja)
JP (1) JP7300506B2 (ja)
CN (1) CN113302877A (ja)
WO (1) WO2020099446A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115835193B (zh) * 2023-02-08 2023-06-20 数安在线(北京)信息技术有限公司 一种数据安全传输方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012249107A (ja) * 2011-05-27 2012-12-13 Toshiba Corp 通信システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2341913C2 (ru) * 2004-06-23 2008-12-20 Самсунг Электроникс Ко., Лтд. Способ конфигурирования и обновления идентификатора соединения в системе связи широкополосного беспроводного доступа
US10313129B2 (en) * 2015-06-26 2019-06-04 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
EP3264718B1 (en) * 2016-06-29 2021-03-03 Argus Cyber Security Ltd System and method for detection and prevention of attacks on in-vehicle networks
US10630481B2 (en) * 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012249107A (ja) * 2011-05-27 2012-12-13 Toshiba Corp 通信システム

Also Published As

Publication number Publication date
US20220006644A1 (en) 2022-01-06
EP3881490A1 (en) 2021-09-22
EP3881490B1 (en) 2023-06-07
EP3881490C0 (en) 2023-06-07
CN113302877A (zh) 2021-08-24
WO2020099446A1 (en) 2020-05-22
US12010243B2 (en) 2024-06-11
JP7300506B2 (ja) 2023-06-29

Similar Documents

Publication Publication Date Title
US11695742B2 (en) Security implementation method, device, and system
KR101699915B1 (ko) 무선 네트워크에서 갈루아/카운터 모드 암호화
WO2020029938A1 (zh) 安全会话方法和装置
KR20190015562A (ko) 키 구성 방법, 보안 정책 결정 방법 및 장치
TW201644238A (zh) 用於服務-使用者平面方法的使用網路符記的高效策略實施
KR101461236B1 (ko) 무선 호를 연결 과정에서 엔티티의 인증을 수행하는 방법
US9462005B2 (en) Systems and methods for broadcast WLAN messages with message authentication
CN101379796A (zh) 采用公共协议实现完整性保护和信源认证的快速漫游方法和移动站
US20140351598A1 (en) Systems and methods for broadcast wlan messages with message authentication
WO2022001324A1 (zh) 通信方法、装置及***
CN110024427B (zh) 用于更新安全密钥的方法、装置以及计算机可读介质
EP3654579A1 (en) Methods and devices for providing message authentication code suitable for short messages
WO2011137819A1 (zh) 时间消息处理方法、装置及***
US20210168614A1 (en) Data Transmission Method and Device
JP7300506B2 (ja) ショートメッセージに適したメッセージ認証コードを提供するための方法及び装置
WO2020146661A1 (en) Integrity protection for user plane edt with multiple pdcp pdus
Oniga et al. Application-level authentication and encryption atop bluetooth stack for sensitive data communication
EP3782343A1 (en) Apparatuses and methods for handling data packets
Abdulelah et al. Advanced Secure Architecture for The Internet of Things based on DTLS Protocol
US20240147568A1 (en) Managing early data communication
NZ755869B2 (en) Security implementation method, device and system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221011

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221011

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7300506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150