JP2022544461A - クライアントデバイスからの通信の完全性の保護 - Google Patents

クライアントデバイスからの通信の完全性の保護 Download PDF

Info

Publication number
JP2022544461A
JP2022544461A JP2022506215A JP2022506215A JP2022544461A JP 2022544461 A JP2022544461 A JP 2022544461A JP 2022506215 A JP2022506215 A JP 2022506215A JP 2022506215 A JP2022506215 A JP 2022506215A JP 2022544461 A JP2022544461 A JP 2022544461A
Authority
JP
Japan
Prior art keywords
token
request
integrity
client device
attestation
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
JP2022506215A
Other languages
English (en)
Other versions
JP7286004B2 (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2022544461A publication Critical patent/JP2022544461A/ja
Application granted granted Critical
Publication of JP7286004B2 publication Critical patent/JP7286004B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

方法、システム、ならびに要求の完全性およびその要求を送ったデバイスの完全性を確認するための装置を含む装置が提供される。いくつかの態様では、方法は、クライアントデバイスから、そのクライアントデバイスによって生成されたアテステーショントークンを含む要求を受信することを含む。アテステーショントークンは、クライアントデバイスの公開鍵、トークン作成、および判定情報を含んだデバイス完全性トークンを少なくとも含む、データセットを含む。アテステーショントークンは、公開鍵に対応する秘密鍵を使用して生成された、データセットのデジタル署名も含む。要求の完全性は、アテステーショントークンを使用して、トークン作成時刻が、要求が受信された時刻のしきい値期間内にあり、アテステーショントークンが作成されてからデータセットが修正されておらず、かつクライアントデバイスに信頼価値があることを判定情報が示す、との判定をすることによって、確認される。

Description

クライアントデバイスは、要求および他のデータを、インターネットなどの公衆ネットワーク経由で送信する。これらの通信は、通信を傍受するパーティおよび/または通信を受信しそれらを他のパーティへと転送する中継物など、他のパーティによって改変されることがある。
クライアントデバイスは、ユーザの気づかぬうちに、またはユーザの認可なく不正な要求を送ることのできるウィルスやマルウェアなど、悪意ある攻撃の対象にもなる。加えて、他のパーティがクライアントデバイスを模倣して要求を送ることもあり、この要求は、そのクライアントデバイスから生じたように見えるが、実際には他のパーティのデバイスから到来するものである。
本明細書では、クライアントデバイスによって送信された通信の完全性を保護するための認証技法に関する技術について説明する。
一般に、本明細書において説明する本主題の革新的な一態様は、方法であって、クライアントデバイスから、そのクライアントデバイスによって生成されたアテステーション(attestation)トークンを含む要求を受信することであって、アテステーショントークンが、(i)クライアントデバイスの公開鍵、(ii)アテステーショントークンが作成された時刻を示すトークン作成時刻、および(iii)クライアントデバイスの信頼価値性レベルを示す判定情報(verdict)を含んだデバイス完全性トークンを少なくとも含む、データセット、ならびに公開鍵に対応する秘密鍵を使用して生成された、データセットのデジタル署名を含む、受信することと、アテステーショントークンを使用して要求の完全性を確認することであって、トークン作成時刻が、要求が受信された時刻のしきい値期間(threshold duration)内にあるかどうかを判定すること、公開鍵、および秘密鍵を使用して生成されたデータセットのデジタル署名を使用して、アテステーショントークンが作成された後にデータセットが修正されたかどうかを判定すること、クライアントデバイスが信頼価値のあるクライアントデバイスであることをデバイス完全性トークンの判定情報が示すかどうかを判定すること、ならびにトークン作成時刻が、要求が受信された時刻のしきい値期間内にあるとの判定、アテステーショントークンが作成されてからデータセットが修正されていないとの判定、およびクライアントデバイスが信頼価値のあるクライアントデバイスであることを判定情報が示すとの判定に少なくとも基づいて、要求の完全性が有効であるとの判定をすることを含む、確認することと、判定が、要求が有効であるとのものである場合、要求の完全性が有効であるとの判定に応答して、要求に応答することとを含む、方法として具現化することができる。本態様の他の実装形態は、コンピュータ記憶デバイス上に符号化された本方法の態様を実施するように構成された、対応する装置、システム、およびコンピュータプログラムを含む。
上記および他の実装形態はそれぞれ、任意選択で、以下の特徴のうちの1つまたは複数を含むことができる。いくつかの態様では、データセットは、要求に特有のデータを含んだペイロードをさらに含む。要求は、ユーザデータを削除せよとの要求とすることができ、ペイロードは、ユーザデータを削除する動作を指定するデータを含むことができる。
いくつかの態様は、判定が、要求が有効であるとのものでない場合、要求を無視することを含むことができる。いくつかの態様では、デバイス完全性トークンは、クライアントデバイスとは異なるデバイス完全性システムによって、クライアントデバイスから受信した信号に基づいて生成される。
いくつかの態様では、デバイス完全性トークンは、デバイス完全性トークン内に含まれた第2のデータセットのデジタル署名を含み、第2のデータセットのデジタル署名は、デバイス完全性システムの第2の秘密鍵を使用して生成され、要求の完全性が有効であるとの判定をすることは、第2の秘密鍵に対応する第2の公開鍵を使用して第2のデータセットのデジタル署名の正しさを確認することによって、デバイス完全性トークンが生成されてから第2のデータセットが変更されていなかったとの判定をすることを含む。
いくつかの態様では、第2のデータセットは、クライアントデバイスによって生成された公開鍵を含み、要求の完全性が有効であるとの判定をすることは、アテステーショントークンのデータセット内の公開鍵が、デバイス完全性トークンの第2のデータセット内の公開鍵と一致するとの判定をすることを含む。
いくつかの態様では、第2のデータセットは、デバイス完全性トークンが作成された時刻を示す第2のトークン作成時刻を含むことができ、要求の完全性が有効であるとの判定をすることは、第2のトークン作成時刻が、要求が受信された時刻の第2のしきい値期間内にあるとの判定をすることをさらに含む。
本明細書において説明する本主題は、特定の実施形態において、以下の利点のうちの1つまたは複数を実現するように実装することができる。
アテステーショントークンを使用してクライアントデバイスからデータを送信すると、クライアントデバイスと他のエンティティのコンピュータまたは他のデバイスとの間のセキュアな通信チャネルがもたらされる。アテステーショントークンとともに、アテステーショントークン内に含まれたデータのデジタル署名を含めると、アテステーショントークンが作成された後にアテステーショントークン内のデータが変更されていなかったことを、エンティティが確認できるようになる。加えて、アテステーショントークン内にトークン作成時刻を含めると、要求が新しいものであるかどうか、または要求が反射攻撃の一部の可能性があるかどうかを、受信者が判定できるようになる。これらの効果は、クライアントデバイスから受信される要求など、通信の信頼価値性を高める働きをする。これにより、要求に応答する決定をそれをもって行うことのできる信頼性が高まる。これらの効果は、クライアントデバイスと他のエンティティのコンピュータまたは他のデバイスとの間の通信チャネルの信頼価値性を高める働きをする。
アテステーショントークンは、アテステーショントークンを送信したクライアントデバイスの完全性を示すデバイス完全性トークンを含むこともでき、それにより、データが例えばエミュレータまたは侵害された(compromised)デバイスからではなく信頼されたクライアントデバイスから到来したことを、アテステーショントークンの受信者が確認できるようになる。デバイス完全性トークンは、サードパーティデバイスアナライザによって生成され、デジタル署名されることが可能であり、それによって、クライアントデバイスがサードパーティデバイスアナライザによって評価されたこと、およびサードパーティデバイスアナライザによる作成後にデバイス完全性トークン内のデータが修正されていなかったことを、アテステーショントークンの受信者が確認することができる。これらの効果は、クライアントデバイスから受信したデータの信頼価値性を高める働きをする。これにより、要求に応答する決定をそれをもって行うことのできる信頼性が高まる。
デバイス完全性トークンは、クライアントデバイスの公開鍵、または公開鍵の暗号ハッシュ(cryptohash)(こちらのほうがよりサイズが小さい可能性がある)を含むこともでき、これは、アテステーショントークンにデジタル署名するために使用される。これは、デバイス完全性トークンをアテステーショントークンにバウンドさせる。これは、デバイス完全性トークンがそのクライアントデバイスに属しており、そのクライアントデバイスの完全性を表していることを確認するために使用されることも可能である。デバイス完全性トークンが作成されたのはいつであるかを示すトークン作成時刻を含めることにより、クライアントデバイスが評価されたのはいつであるかを受信者が特定できるようになり、その特定された内容を受信者が使用して、クライアントデバイスの信頼レベルを決定することができる。クライアントデバイスは定期的に評価されることが可能であり、各評価に基づいて新たなデバイス完全性トークンが発行されることが可能であり、したがって、クライアントデバイスについてのデバイス完全性トークンは、例えば新たな攻撃に応答して時間の経過とともに変化することのある、クライアントデバイスの現在の完全性を表す。これらの効果は、特定のクライアントデバイスの信頼価値性を高める働きをする。これにより、特定のクライアントデバイスから受信したデータの信頼価値性が高まる。これにより、要求に応答する決定をそれをもって行うことのできる信頼性が高まる。
前述の本主題のさまざまな特徴および利点については下で、図に関して説明する。さらなる特徴および利点が、本明細書において説明する本主題および特許請求の範囲から明らかである。
デジタルコンポーネントシステムがデジタルコンポーネントを配信する環境のブロック図である。 要求の完全性およびその要求を送った、かつその要求に応答するクライアントデバイスの完全性の有効性確認をするための、例示的なプロセスを示すフロー図である。 アテステーショントークンを使用して、要求の完全性およびその要求を送ったクライアントデバイスの完全性が有効であるかどうかを判定するための、例示的なプロセスを示すフロー図である。
さまざまな図面中の同様の参照番号および名称は、同様の要素を示す。
一般に、本明細書において説明するシステムおよび技法は、クライアントデバイスと、コンテンツ発行者、デジタルコンポーネント配信システム、およびデジタルコンポーネント配信システムによって配信するためのデジタルコンポーネントを制作し提供するデジタルコンポーネントプロバイダなど、他のエンティティとの間の、セキュアな通信チャネルを提供することができる。クライアントデバイスは、要求およびネットワーク経由での他のデータ送信とともに、他のエンティティによって要求の完全性およびクライアントデバイスの完全性の有効性確認をするために使用されるアテステーショントークンを提供することができる。要求としては、例えば、ユーザのデータを管理せよ(例えばユーザ関連のデータを削除せよ)との要求、コンテンツを求める要求、および/または他のコンテンツとともに提示するためのデジタルコンポーネントを求める要求があり得る。アテステーショントークンを使用して通信チャネルをセキュアにすることにより、不正なユーザが、ユーザデータを変更し、削除し、もしくはその他の方法でユーザデータにアクセスすること、または要求の内容を、例えばデジタルコンポーネントの配信システム、プロバイダ、および/もしくは他のエンティティを欺くように変更することが、確実にできないようになる。アテステーショントークンは、送信の有効性を証明するものである。
アテステーショントークンは、クライアントデバイスの秘密鍵を使用してデジタル署名されることが可能である。アテステーショントークン内に含まれたデータセットにデジタル署名する結果、やはりアテステーショントークン内に含まれる、データセットのデジタル署名が得られる。クライアントデバイスは、この秘密鍵を機密に維持することができる。アテステーショントークンは、さまざまなものの中でもとりわけ、この秘密鍵に対応する公開鍵、ペイロード、およびデバイス完全性トークンを含むことができる。デバイス完全性トークンは、サードパーティデバイス完全性システムによって判定された、クライアントデバイスの完全性レベルを示す判定情報を含むことができる。デバイス完全性トークンは、サードパーティデバイス完全性システムによって、サードパーティデバイス完全性システムが機密に保持する秘密鍵を使用してデジタル署名されることが可能である。この秘密鍵に対応する公開鍵は、受信者に提供されることが可能であり、それによって、クライアントデバイスがデバイス完全性システムによって評価されたことを受信者が信頼することができる。2対の鍵を使用するこの組合せにより、例えば2つの鍵を結び付けることによって、受信者がクライアントデバイスの完全性およびクライアントデバイスから受信した通信の完全性の有効性確認をすることのできるセキュアな通信チャネルがもたらされる。
図1は、デジタルコンポーネントシステム150がデジタルコンポーネント129を配信する環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せなどのデータ通信ネットワーク105を含む。ネットワーク105は、クライアントデバイス110、発行者130、ウェブサイト140、デジタルコンポーネント配信システム150、およびデバイス完全性システム170を接続する。例示的な環境100は、多くの異なるクライアントデバイス110、発行者130、およびウェブサイト140を含んでよい。
ウェブサイト140は、ドメイン名に関連付けられ、1つまたは複数のサーバによってホストされた、1つまたは複数のリソース145である。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびスクリプトなどのプログラミング要素を収容することのできる、HTMLでフォーマットされたウェブページの集合である。各ウェブサイト140は発行者130によって維持され、発行者130は、ウェブサイト140を制御、管理、および/または所有するエンティティである。
リソース145は、ネットワーク105経由で提供されることの可能な任意のデータである。リソース145は、リソース145に関連付けられたリソースアドレス、例えばユニバーサルリソースロケータ(URL)によって識別される。リソースとしては、ほんの数例を挙げると、HTMLページ、ワードプロセッシング文書、およびポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、ならびにフィードソースがある。リソースは、単語、語句、画像、および音などのコンテンツを含むことができ、コンテンツは、(ハイパーリンク内のメタ情報などの)埋込み情報および/または(スクリプトなどの)埋込み命令を含んでよい。
クライアントデバイス110は、ネットワーク105経由で通信することの可能な電子デバイスである。例示的なクライアントデバイス110としては、ネットワーク105経由でデータを送り、受信することのできる、パーソナルコンピュータ、モバイル通信デバイス、例えばスマートフォン、デジタルメディアプレーヤ、スマートスピーカ、ウェアラブルデバイス(例えばスマートウォッチ)、および他のデバイスがある。クライアントデバイス110は、典型的には、ネットワーク105経由でデータを送り、受信することを円滑にする、ウェブブラウザおよび/またはネイティブアプリケーションなどのアプリケーション111を含む。ネイティブアプリケーションは、特定のプラットフォームまたは特定のデバイス用に開発されたアプリケーションである。発行者130はネイティブアプリケーションを開発し、それをクライアントデバイス110に提供することができる。
一部のリソース145、アプリケーションページ、または他のアプリケーションコンテンツは、デジタルコンポーネントをリソース145またはアプリケーションページとともに提示するためのデジタルコンポーネントスロットを含むことができる。本文献全体を通して、「デジタルコンポーネント」という語句は、デジタルコンテンツまたはデジタル情報の不連続単位(discrete unit)(例えばビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または別のコンテンツ単位)を指す。デジタルコンポーネント129は、物理メモリデバイス内に単一のファイルとしてまたはファイルの集合の形で電子的に記憶されることが可能であり、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとることができ、また広告情報を含むことができ、したがって、広告はデジタルコンポーネントの一タイプである。例えば、デジタルコンポーネント129は、アプリケーション111によって提示されるウェブページ、リソース、またはアプリケーションページのコンテンツを補足するためのものであるコンテンツとすることができる。より具体的には、デジタルコンポーネント129は、リソースコンテンツに関連のあるデジタルコンテンツを含んでよい(例えばデジタルコンポーネントはウェブページコンテンツと同じトピックに、または関連するトピックに関連していてよい)。したがって、デジタルコンポーネント配信システム150によるデジタルコンポーネントの提供は、ウェブページコンテンツを補足し、一般には強化することができる。
アプリケーション111が、1つまたは複数のデジタルコンポーネントスロットを含むリソース145またはアプリケーションコンテンツをロードするとき、ウェブブラウザ111は、デジタルコンポーネント配信システム150に各スロットのデジタルコンポーネント129を要求することができる。デジタルコンポーネント配信システム150は、デジタルコンポーネントプロバイダ160にデジタルコンポーネントを要求することができる。デジタルコンポーネントプロバイダ160は、リソース145および/または他のコンテンツとともに提示するためのデジタルコンポーネントを提供するエンティティである。例示的なデジタルコンポーネントプロバイダは、広告を提供する広告主である。
いくつかの場合には、デジタルコンポーネント配信システム150は、1つまたは複数のデジタルコンポーネントパートナー152にデジタルコンポーネントを要求することもできる。デジタルコンポーネントパートナー152は、デジタルコンポーネント要求に応答してデジタルコンポーネントプロバイダ160に代わってデジタルコンポーネントを選択するエンティティである。
デジタルコンポーネント配信システム150は、各デジタルコンポーネントスロットのデジタルコンポーネントを、さまざまな基準に基づいて選択することができる。例えば、デジタルコンポーネント配信システム150は、デジタルコンポーネントプロバイダ160および/またはデジタルコンポーネントパートナー152から受信したデジタルコンポーネントから、リソース145または他のアプリケーションコンテンツに対する関連性、デジタルコンポーネントの性能(例えばユーザがデジタルコンポーネントと対話する割合)などに基づいて、デジタルコンポーネントを選択することができる。次いで、デジタルコンポーネント配信システム150は、選択されたデジタルコンポーネントを、リソース145または他のアプリケーションコンテンツとともに提示するために、クライアントデバイス110に提供することができる。デジタルコンポーネント配信システム150は、選択されたデジタルコンポーネント129を、1つまたは複数のクライアントデバイス110上で動作するアプリケーション111によって提示するために、クライアントデバイス110に送信することができる。
アプリケーション111がネットワーク105経由で要求120を送るとき、アプリケーション111は要求とともにアテステーショントークン122を送ることができる。例えば、アプリケーション111がデジタルコンポーネント要求をデジタルコンポーネント配信システム150に送る場合、この要求はアテステーショントークン122を含むことができる。同様に、アプリケーション111が要求または他のデータを別のエンティティに(例えば発行者130、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナー152、またはデジタルコンポーネントプロバイダ160に)、そのエンティティによって記憶されたデータを管理、例えば削除するために送る場合、この要求はアテステーショントークン122を含むことができる。
いくつかの実装形態では、アプリケーション111は、指定されたタイプの要求に対してアテステーショントークン122を送るように構成される。例えば、アテステーショントークン122を送る各アプリケーション111は、アプリケーション111にアテステーショントークン122を生成させ、かつ/または送らせる、ソフトウェア開発キット(SDK)またはアプリケーションプログラミングインターフェース(API)を含むことができる。SDKは、アテステーショントークン122がそれに対して含められるべき要求、例えばユーザデータを管理するための要求、デジタルコンポーネントを要求するための要求などのセットを指定することができる。例えばニュースウェブページを要求する他のタイプの要求は、アテステーショントークン122を必要としない場合がある。
いくつかの実装形態では、アプリケーション111は、指定されたタイプの各要求に対してアテステーショントークン122を生成するように構成される。いくつかの実装形態では、アプリケーション111は、クライアントデバイス110のオペレーティングシステムまたはクライアントデバイス110上で動作する別のアプリケーションに、要求120とともに送るアテステーショントークン122を要求するように構成される。例えば、ウェブブラウザのブラウザバイナリ内のオペレーティングシステムの信頼されたコードが、アテステーショントークン122を生成することができる。この例では、アプリケーション111は他方のアプリケーションに、アテステーショントークン122内に含めるためのデータセット123を送ることができる。
アテステーショントークン122は、エンティティによって、要求の完全性およびクライアントデバイス110の完全性の有効性確認をするために使用される。例えば、他のエンティティによって記憶されているユーザのデータをユーザが管理できるようにすると、悪意あるユーザが他のユーザのデータを管理しようと、かつ/または盗もうと試みる可能性が広がるおそれがある。デジタルコンポーネントの場合、一部の悪意あるエンティティが、要求をその実際よりも価値あるものに見せるために、デジタルコンポーネント要求のパラメータを改ざんしようと、例えばデジタルコンポーネントがそれとともに提供されるリソースを異なるものに指定しようと、かつ/またはデジタルコンポーネントの提示先に異なるユーザを指定しようと、試みる可能性がある。加えて、不正目的で他者のクライアントデバイスを模倣しようと試みる可能性のある、悪意あるパーティもある。
アテステーショントークン122は、クライアントデバイス110と、中継物を通じて他のエンティティのコンピュータまたは他のデバイスとの間のセキュアな通信チャネルをもたらし、このセキュアな通信チャネルは、他者が要求120を改変するのを防止し、また要求120が有効性確認済みのクライアントデバイス110から到来したことを確実にするものである。アテステーショントークン122は、データセット123、およびデータセット123に基づいて生成された署名124、例えばデジタル署名を含む。データセット123は、要求を送るクライアントデバイス110の公開鍵(例えば公開鍵113)、アテステーショントークン122が作成された時刻を示すトークン作成時刻、ペイロード、および/またはデバイス完全性トークン125を含むことができる。
クライアントデバイス110は、秘密鍵112と、秘密鍵112に対応しそれと数学的に関係付けられている公開鍵113とを含む、関連する暗号鍵の1つまたは複数の対を生成し、維持する。秘密鍵112を使用してデジタル署名されたデータは、対応する公開鍵113を使用することでしか確認することができない。公開鍵113に対応する秘密鍵112を使用して生成されたデジタル署名124を含むアテステーショントークン122は、対応する公開鍵113を使用することでしか確認することができない。同様に、公開鍵113を使用して暗号化されたデータは、対応する秘密鍵112を使用することでしか復号することができない。
要求を開始するアプリケーション111(またはクライアントデバイス110上で動作する別のアプリケーション)は、秘密鍵112を使用してデータセット123の署名124を生成する。いくつかの実装形態では、アプリケーション111は、楕円曲線デジタル署名アルゴリズム(ECDSA)を使用してデジタル署名を生成するが、RSAなど、他の署名技法が使用されることも可能である。アテステーショントークン122は、モバイルデバイスから送られることがあるので、より小さなデータサイズをもたらす署名技法が好ましい場合がある。アテステーショントークン122を受信したエンティティが公開鍵113を使用してデータセット123の署名124の正しさを確認することができるように、アテステーショントークン122とともに公開鍵113が提供される。
クライアントデバイス110の秘密鍵112および公開鍵113は、取り替えられることが可能である。例えば、エンティティがアテステーショントークン122内に含まれた公開鍵113を使用してユーザを追跡するのを防止するために、鍵112および113は、指定された時間期間に基づいて定期的に取り替えられることが可能である。別の例では、ユーザが鍵の取り替えを開始することができ、それに応答して、クライアントデバイス110によって秘密鍵と公開鍵の新たな対が生成されることが可能である。
クライアントデバイス110の公開鍵113は、クライアントデバイス110にとって一意のデバイス識別子としての働きをすることができる。下でより詳細に説明するように、この役割における公開鍵113は、要求120がクライアントデバイス110から生じたことを要求120の受信者が確認できるようにすることができる。
上述したように、トークン作成時刻は、アテステーショントークン122が作成された時刻を示す。アプリケーション111は、アプリケーションがアテステーショントークンを作成したときに、作成時刻を記録することができる。このトークン作成時刻は、高分解能タイムスタンプ(例えば秒の精度、ミリ秒の精度、またはマイクロ秒の精度)とすることができる。トークン作成時刻は、アテステーショントークン122を含む要求120が新しい要求または最近の要求かどうかを判定するために使用されることが可能である。例えば、アテステーショントークン122を受信したエンティティは、トークン作成時刻を現在時刻またはアテステーショントークン122が受信された時刻と比較することができる。2つの時刻の間の差がしきい値を超えた場合、下でより詳細に説明するように、エンティティは、要求が新しいものでない、すなわち無効であるとの判定をすることができる。
トークン作成時刻は、反射攻撃を検出するために使用されることも可能である。例えば、同じデータセット123を有する複数の要求であって、同じトークン作成時刻を含む要求が受信された場合、それらの要求を受信したエンティティは、それらの要求が重複しているとの、かつ/またはそれらの要求が反射攻撃の一部であるとの決定をすることができる。
トークン作成時刻と他のデータとがあいまって、要求120のトランザクション識別子としての働きをすることもできる。例えば、トランザクション識別子は、アテステーショントークン122のトークン作成時刻およびアテステーショントークン122の公開鍵113のうちの2つ以上のものの組合せとすることができる。トランザクション識別子は、複数のチャネルから受信した同一要求の複数のバージョンを重複排除するために使用されることが可能である。例えば、デジタルコンポーネントプロバイダ160-3は、デジタルコンポーネント配信システム150とデジタルコンポーネントパートナー152の両方から同一要求を受信することができる。この例では、トランザクション識別子は、アテステーショントークン122のトークン作成時刻およびアテステーショントークン122の公開鍵113に基づくことができる。デジタルコンポーネントプロバイダ160-3は、2つ以上の要求内のこの2つのデータを比較して、要求が重複しているかどうかを判定することができる。
ペイロードは、個々の要求120のデータを含むことができる。例えば、要求120がデジタルコンポーネントを求めるものである場合、ペイロードは、デジタルコンポーネントを選択するために使用されることの可能なデータを含むことができる。このペイロードは、デジタルコンポーネントスロットを有するリソース145(もしくはリソース145のURL)、リソース145についての情報(例えばリソースのトピック)、デジタルコンポーネントスロットについての情報(例えばスロットの数、スロットのタイプ、スロットのサイズなど)、ユーザがこの機能をイネーブルにしていた場合、クライアントデバイス110についての情報(例えばデバイスのタイプ、デバイスのIPアドレス、クライアントデバイス110の地理的位置)、および/または他の適切な情報を含むことができる。
要求120が、発行者130、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナー152、デジタルコンポーネントプロバイダ160、または別のエンティティにおけるユーザのデータを管理するためのものである場合、要求120は、要求された変更を指定するデータを含むことができる。例えば、ユーザが、デジタルコンポーネントプロバイダ160-2からユーザのデータを全て除去することを選択した場合、ペイロードは、データのこの除去およびデジタルコンポーネントプロバイダ160-2(例えばデジタルコンポーネントプロバイダ160-2の識別子またはネットワークアドレス)を指定するデータを含むことになる。
デバイス完全性トークン125は、アテステーショントークン122の不正検出能力を、信頼されたクライアントデバイス110によって要求120が送られたかどうかを受信者が判定できるようにすることによって強化する。クライアントデバイス110は、デバイス完全性システム170にデバイス完全性トークン125を要求することができる。例えば、クライアントデバイス110は、不正検出信号、例えばクライアントデバイス110に関連するデバイスレベルの不正信号を取得し、それらの信号をデバイス完全性システム170に送る、デバイス完全性アプリケーションを含むことができる。デバイス完全性システム170は、不正検出信号を評価し、クライアントデバイス110に信頼価値があるかどうかを判定することができる。いくつかの実装形態では、デバイス完全性システム170は、クライアントデバイス110に、評価に基づく信頼価値性レベルを表す判定情報を割り当てることができる。例えば、信頼価値性レベルには、十分に信頼されたデバイスを示す第1の値、十分に信頼されたのではない信頼されたデバイスを示す第2の値、疑わしいデバイスを示す第3の値、および信頼されないデバイスを示す第4の値が含まれ得る。次いで、デバイス完全性システム170は、判定情報を含むデバイス完全性トークン125を、クライアントデバイス110に送ることができる。
クライアントデバイス110は、クライアントデバイス110から送られる、アテステーショントークン122を含む各要求120について、デバイス完全性トークン125を要求することができる。しかし、数千ものクライアントデバイス110が数百万もの要求を日々生成している可能性があるため、これによりデバイス完全性システム170に過度な負荷がかかるおそれがある。いくつかの実装形態では、各クライアントデバイス110は、クライアントデバイス110についてのデバイス完全性トークン125を、指定された時間期間、例えば毎時、毎日、毎週などに基づいて、定期的に要求することができる。その場合、クライアントデバイス110は、デバイス完全性トークン125をトークンキャッシュ115内に記憶することができる。次いで、要求120のアテステーショントークン122を生成するアプリケーションが、トークンキャッシュ115からデバイス完全性トークン125にアクセスすることができる。
クライアントデバイス110についてのデバイス完全性トークン125を定期的に更新し、置き換えることによって、デバイス完全性トークン125は、クライアントデバイス110の(指定された時間期間に基づく)現在の完全性を表す。例えば、クライアントデバイス110の完全性は、例えばウィルスをダウンロードしたことに応答して時間の経過とともに変化することがある。したがって、デバイス完全性トークンを頻繁に更新するほど、クライアントデバイスの完全性を良好に表すことができるが、より多くの要求をデバイス完全性システム170に送り(例えばより多くの帯域幅を使用し)、デバイス完全性システム170によってより多くの要求を処理する(例えばより多くの処理電力を必要とする)、という犠牲を払う。
デバイス完全性トークン125は、クライアントデバイス110の公開鍵113(またはクライアントデバイス110の公開鍵113の暗号ハッシュもしくはクライアントデバイス110の別の識別子)、デバイス完全性トークン125が作成された時刻を示すトークン作成時刻、判定情報、および署名、例えばデジタル署名を含むことができる。デバイス完全性トークン125内に公開鍵113を含めると、両トークンが公開鍵113を含むとき、デバイス完全性トークン125がアテステーショントークン122に結び付く。デバイス完全性トークン125内にクライアントデバイス110の公開鍵113を含めることによって、アテステーショントークン122の受信者が、デバイス完全性トークン125がそのクライアントデバイス110について生成されたものであると特定することができる。これにより、他のパーティが、エミュレータまたは侵害されたクライアントデバイスからの要求内に、信頼されたデバイスについてのデバイス完全性トークン125を含めることができないようになる。
このトークン作成時刻により、クライアントデバイス110が最後に評価されたのはいつであるかを、デバイス完全性トークン125を含む要求120の受信者が特定できるようになる。一方、この特定された内容は、クライアントデバイス110を信頼するかどうかを判定するために使用されることが可能である。例えば、要求120が生成され受信された数週間前に、デバイス完全性トークン125が作成された場合、受信者は、クライアントデバイス110の完全性がその数週間の間に変化した可能性があるので、クライアントデバイス110を信頼することを躊躇する可能性がある。
上述したように、判定情報は、デバイス完全性トークン125が生成された時点の、クライアントデバイス110の信頼価値性(または完全性)レベルを示す。受信者は判定情報を使用して、デバイス完全性トークン125を含む要求120を信頼するかどうかを判定することができる。例えば、クライアントデバイス110に信頼価値がないことを判定情報が示す場合、受信者は要求を無視する、例えば要求に応答しないことができる。
デバイス完全性システム170は、秘密鍵およびデバイス完全性トークン125内のデータを使用して、デバイス完全性トークン125とともに含められるデジタル署名を生成することができる。デバイス完全性システム170は、この秘密鍵を機密に保持し、秘密鍵に対応する公開鍵を、発行者130、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナー152、およびデジタルコンポーネントプロバイダ160など、クライアントデバイス110によって送られる要求の潜在的受信者に配信することができる。これにより、受信者が、デバイス完全性トークン125のデジタル署名の正しさを確認できるようになる。これにより、受信者が、クライアントデバイス110がデバイス完全性システム170によって評価され、したがって判定情報が信頼できることを知ることも可能になる。
クライアントデバイス110は、アテステーショントークン122を含む要求120を送ることができ、アテステーショントークン122は、デバイス完全性トークン125を含む。クライアントデバイス110が、ワイヤレスで通信するモバイルデバイスである場合があるので、アテステーショントークン122のサイズは、アテステーショントークン122を送信するのに必要な帯域幅の大きさを低減させることの可能な小ささでなければならない。いくつかの技法を使用して、アテステーショントークン122のサイズを低減させることができる。図示の例では、アテステーショントークン122とデバイス完全性トークン125の両方が、クライアントデバイス110の公開鍵113を含む。
いくつかの実装形態では、アテステーショントークン122を生成するアプリケーションが、デジタル署名が生成された後であるがアテステーショントークン122を送信する前に、公開鍵のうちの一方を除去することができる。例えば、アプリケーションは、アテステーショントークン122から公開鍵113を除去するが、デバイス完全性トークン125内の公開鍵113を残すことができる。この例では、アテステーショントークン122の受信者は、アテステーショントークン122のデジタル署名の正しさの確認で使用するために、デバイス完全性トークン125から公開鍵113を取得することができる。
同様に、アプリケーションは、デバイス完全性トークン125から公開鍵113を除去するが、アテステーショントークン122内の公開鍵を残すことができる。この例では、アテステーショントークン122の受信者は、デバイス完全性トークン125のデジタル署名の正しさの確認で使用するために、アテステーショントークン122から公開鍵を取得することができる。例えば、受信者のデバイスは、両方のトークンに公開鍵113があるかどうかをチェックするように構成されることが可能である。トークンのうちの一方のみが公開鍵113を含む場合、デバイスは、公開鍵113を含まないトークンのデジタル署名の正しさの確認で使用するために、公開鍵113を含むトークンから公開鍵113を取得することができる。例えば、デバイスは、公開鍵113をトークン内の公開鍵113が通常位置する場所にコピーし、次いで、トークンのデータを使用して、デジタル署名の正しさを確認することができる。
一部のアプリケーションでは、クライアントデバイス110は、アテステーショントークン122を、デバイス完全性トークン125と、デバイスの公開鍵113を除く、本出願において論じた他の全てのデータとで埋め、次いで、(やはりアテステーショントークン122内にデバイス公開鍵はないが、デバイス完全性トークン125内にデバイス公開鍵がある状態で)アテステーショントークンにデジタル署名することができる。受信者は、デバイス完全性トークン125内に含まれたデバイス公開鍵113をデジタル署名の有効性確認に使用することを除き、本明細書において論じたように、アテステーショントークン122および埋め込まれたデバイス完全性トークン125の有効性確認をすることになる。さらにいくつかのアプリケーションでは、デバイス公開鍵113の暗号ハッシュがその暗号ハッシュよりも小さい場合、デバイス完全性トークン125がデバイス公開鍵113の暗号ハッシュを収容してよく、アテステーショントークン122がデバイス公開鍵113を収容してよい。これにより、不正要求または改ざんされた要求を検出するための暗号能力を低下させることなく、送信の際のアテステーショントークン122のサイズが低減し得ることに留意されたい。
図2および図3において説明するように、受信者は、アテステーショントークン122を含む要求120(または他のデータ通信)を受信したとき、アテステーショントークン122を使用して、要求120の完全性および要求120または他のデータ通信を送ったクライアントデバイス110の完全性の有効性確認をすることができる。
図2は、要求の完全性およびその要求を送った、かつその要求に応答するクライアントデバイスの完全性の有効性確認をするための、例示的なプロセス200を示すフロー図である。プロセス200は、例えば、図1の発行者130、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナー152、またはデジタルコンポーネントプロバイダ160など、要求の受信者によって実装されることが可能である。プロセス200の動作は、非一時的コンピュータ可読媒体上に記憶された命令として実装されることも可能であり、1つまたは複数のデータ処理装置による命令の実行が、1つまたは複数のデータ処理装置にプロセス200の動作を実施させることができる。
アテステーショントークンを含む要求が受信される(202)。クライアントデバイスのアプリケーションが、そのアプリケーションとのユーザ対話に応答して要求を送ることができる。例えば、ユーザがリソースを閲覧するためにウェブサイトにナビゲーションされる場合、ウェブブラウザアプリケーションがそのウェブサイトに要求を送ることができる。別の例では、リソースまたはアプリケーションコンテンツがデジタルコンポーネントスロットを含む場合、アプリケーションは、デジタルコンポーネント配信システムに、デジタルコンポーネントを求める要求を送ることができる。さらに別の例では、ユーザのデータを記憶するための設定、例えばクッキー内に取り込まれ、別のエンティティに送られたユーザのデータの記憶の設定をユーザが変更する場合、要求は、ユーザのデータを修正(例えば削除)せよとの要求とすることができる。
上述したように、要求は、データセットおよびデータセットのデジタル署名を含んだ、アテステーショントークンを含むことができる。データセットは、要求を送ったクライアントデバイスの公開鍵、アテステーショントークンが作成された時刻を示すトークン作成時刻、ペイロード、および/またはデバイス完全性トークンを含むことができる。アプリケーションは、クライアントデバイスの公開鍵を使用して、データセットのデジタル署名を生成することができる。
要求の完全性が有効であるかどうかの判定が行われる(204)。データセット内の任意のデータが、アテステーショントークンが作成された時刻後に変化した、またはトークン作成時刻と要求が受信された時刻との間の持続時間(duration of time)がしきい値を超えた場合、要求の完全性は無効とすることができる。換言すれば、決定されたトークン作成時刻が、要求が受信された時刻のしきい値期間を超えた場合、要求の完全性は無効であるとの判定がされることが可能である。
要求の完全性が無効であるとの判定が行われた場合、要求への応答が行われない(208)。すなわち、受信者は要求を無視することができる。例えば、要求がリソースを求めるものである場合、ウェブサイトはリソースを提供しない可能性がある。要求がデジタルコンポーネントを求めるものである場合、要求が無効であるとの判定をした受信者は、デジタルコンポーネントを提供しない可能性がある。要求が、ユーザデータを削除または変更せよというものである場合、受信者は、要求の完全性が無効である場合、要求に応答してユーザデータを削除または変更しない可能性がある。
要求の完全性が有効であるとの判定が行われた場合、要求を送ったクライアントデバイスの完全性が有効であるかどうかの判定が行われる(206)。この判定は、デバイス完全性トークンに基づいて行われることが可能である。上述したように、デバイス完全性トークンは、要求を送ったクライアントデバイスの公開鍵、デバイス完全性トークンが作成されたのはいつであるかを示すトークン作成時刻、要求を送ったクライアントデバイスの信頼価値性レベルを示す判定情報を含んだ、データセットを含むことができる。デバイス完全性トークンは、デバイス完全性システムの秘密鍵およびデバイス完全性トークンのデータセットを使用して生成された、デジタル署名を含むこともできる。
クライアントデバイスの完全性が有効であるかどうかの判定は、デバイス完全性トークンが生成された後にデバイス完全性トークンのデータが変更されたかどうか、デバイス完全性トークンの判定情報、および/またはトークン作成時刻と要求が受信された時刻との間の持続時間がしきい値を超えるかどうかに基づくことができる。例えば、クライアントデバイスに信頼価値がないことを判定情報が示す場合、受信者は、クライアントデバイスの完全性が無効であるとの判定をすることができる。要求の完全性が有効であるかどうか、またクライアントデバイスの完全性が有効であるかどうかを判定するための例示的なプロセスが、図3に示されており、それについて下で説明する。
要求の完全性が無効であるとの判定が行われた場合、要求への応答が行われない(208)。要求の完全性が有効であり、かつクライアントデバイスの完全性が有効であるとの判定が行われた場合、要求への応答が行われる(210)。例えば、要求がリソースを求めるものである場合、ウェブサイトは要求に応答してリソースを提供する可能性がある。要求がデジタルコンポーネントを求めるものである場合、要求が有効であるとの判定をした受信者は、要求に応答してデジタルコンポーネントを提供する可能性がある。要求が、ユーザデータを削除または変更せよというものである場合、受信者は、要求の完全性が有効である場合、要求に応答してユーザデータを削除または変更する可能性がある。
図3は、アテステーショントークンを使用して要求の完全性が有効であるかどうかを判定するための、例示的なプロセス300を示すフロー図である。プロセス300は、例えば、図1の発行者130、デジタルコンポーネント配信システム150、デジタルコンポーネントパートナー152、またはデジタルコンポーネントプロバイダ160など、要求の受信者によって実装されることが可能である。プロセス300の動作は、非一時的コンピュータ可読媒体上に記憶された命令として実装されることも可能であり、1つまたは複数のデータ処理装置による命令の実行が、1つまたは複数のデータ処理装置にプロセス300の動作を実施させることができる。
アテステーショントークンがアクセスされる(302)。アテステーショントークンは、クライアントデバイスから、例えばクライアントデバイス上で動作するアプリケーションから受信した要求とともに含められることが可能である。上述したように、アテステーショントークンは、データセットおよびデータセットのデジタル署名を含む。データセットは、要求を送ったクライアントデバイスの公開鍵、アテステーショントークンがクライアントデバイスによって作成された時刻を示すトークン作成時刻、ペイロード、および/またはデバイス完全性トークンを含むことができる。
トークン作成時刻が、要求が受信された時刻のしきい値期間(threshold time duration)内または現在時刻のしきい値期間内にあるかどうかの判定が行われる(304)。例えば、要求が受信された時刻(または現在時刻)とトークン作成時刻との間の差の決定が行われることが可能である。この差がしきい値期間以下である場合、トークン作成時刻はしきい値期間内にある。トークン作成時刻が、しきい値期間内になく、例えば要求が古いものであることを意味する場合、要求の完全性は無効と分類されることが可能である(312)。
トークン作成時刻が、しきい値期間内にあり、例えば要求が新しいかまたは最近のものであることを意味する場合、アテステーショントークンのデジタル署名が生成された後にアテステーショントークンのデータセット内のデータが修正されたかどうかの判定が行われる(306)。例えば、アテステーショントークン内に含まれているブラウザの公開鍵が、データセットのデジタル署名の正しさを確認するために使用されることが可能である。デジタル署名の正しさが確認された場合、デジタル署名が生成された後にデータは修正されていない。判定が、アテステーショントークンが作成された後にデータセットが修正されていなかったというものである場合、要求には信頼価値がある可能性がある。デジタル署名の正しさが確認されなかった場合、データの少なくとも一部分が修正されたとの判定が行われる。判定が、アテステーショントークンが作成された後にデータセットが修正されたというものである場合、要求には信頼価値がないとの判定がされる可能性がある。例えば、不正なパーティが要求の内容を変更した場合、または要求が不正確にもしくは誤って送信された場合、データセット内のデータは修正された可能性がある。
データセット内のデータが修正されたとの判定が行われた場合、要求の完全性は無効であると分類される(312)。アテステーショントークンのデータセット内のデータが修正されていないとの判定が行われた場合、デバイス完全性トークンが有効であるかどうかの判定が行われる(308)。この判定は、デバイス完全性トークンの判定情報、デバイス完全性システムの公開鍵を使用してデバイス完全性トークンのデジタル署名の正しさが確認され得るかどうか、かつ/またはデバイス完全性トークンが作成された時刻を示すトークン作成時刻に基づくことができる。
受信者は、デバイス完全性トークンの判定情報を、その受信者にとってのしきい値信頼価値性レベルと比較することができる。例えば、判定情報は、クライアントデバイスから受信した不正信号の評価に基づく、複数の信頼価値性レベルのうちの1つを指定することができる。特定の一例では、信頼価値ありまたは信頼価値なしの2つのレベルがある場合がある。この例では、クライアントデバイスに信頼価値がないことを判定情報が示す場合、受信者は、クライアントデバイスの完全性が無効であるとの、したがって要求の完全性が無効312であるとの判定をすることができる。
別の例では、3つ以上の信頼価値性レベルがある場合がある。この例では、受信者のデバイスは、判定情報によって指定された信頼価値性レベルを、受信者によって指定された最小信頼価値性レベルと比較することができる。判定情報の信頼価値性レベルが最小レベルを満足させる場合、クライアントデバイスはその受信者にとって信頼価値があると見なされる。例えば、その範囲は、0が完全に信頼価値がなく5が完全に信頼価値がある、0~5とすることができる。受信者は、3以上のレベルを、受信者がそれに対して応答する有効なデバイスと見なす場合がある。この例では、2以下のレベルを判定情報が指定している場合、受信者のデバイスは、クライアントデバイスの完全性が無効であるとの、したがって要求の完全性が無効であるとの判定をすることになる。
デバイス完全性システムの公開鍵およびデバイス完全性トークン内のデータが、デバイス完全性トークンのデジタル署名の正しさを確認しようとする試みに使用されることも可能である。デジタル署名の正しさが確認されなかった場合、デバイス完全性トークンのデータは変更されており、デバイス完全性トークンは無効である。この場合、要求の完全性は無効と分類される(312)。デジタル署名の正しさが確認された場合、デバイス完全性トークンが作成されてからデバイス完全性のデータは変更されていない。
デバイス完全性トークンが作成された時刻を示すトークン作成時刻が、要求が受信された時刻のしきい値期間内または現在時刻のしきい値期間内にあるかどうかの判定が行われることも可能である。例えば、要求が受信された時刻(または現在時刻)とデバイス完全性トークンのトークン作成時刻との間の差の決定が行われることが可能である。この差がしきい値期間以下である場合、トークン作成時刻はしきい値期間内にある。トークン作成時刻が、しきい値期間内になく、例えばデバイス完全性トークンが古いものであることを意味する場合、デバイス完全性トークンは無効と見なされることが可能であり、したがって要求は無効と分類される(312)。
クライアントデバイスに信頼価値があることを判定情報が示すかまたは判定情報によって指定された信頼価値性レベルがしきい値を満足させ、デジタル署名の正しさが確認され、デバイス完全性システムのトークン作成時刻がそのしきい値期間内にある場合、デバイス完全性トークンは有効と見なされることが可能である。デバイス完全性トークンが有効であり、アテステーショントークンのトークン作成時刻がそのしきい値期間内にあり、アテステーショントークンのデジタル署名の正しさが確認された場合、要求の完全性は有効と分類される。
いくつかの実装形態では、アテステーショントークンの公開鍵がデバイス完全性トークンの公開鍵と一致するかどうかの判定が行われてよい。これらは両方とも、クライアントデバイスの公開鍵とすべきである。それらが一致し、かつ残りの基準(例えば判定情報に信頼価値がある、署名の正しさが確認されたなど)が満足した場合、要求は有効と見なされることが可能である。しかし、この2つの公開鍵が一致しない場合、要求は無効と見なされることが可能である。いくつかの実装形態では、このチェックは行われない場合があり、というのも、不正要求または改ざんされた要求を検出するための暗号能力を犠牲にすることなく単に送信サイズを小さくするために、クライアントデバイスからの送信前に公開鍵の一方がトークンの一方から除去される場合があるためである。
本明細書において説明した本主題および動作の実施形態は、デジタル電子回路として、またはコンピュータソフトウェア、コンピュータファームウェア、もしくは本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数のものの組合せとして、実装することができる。本明細書において説明した本主題の実施形態は、データ処理装置によって実行するかまたはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化された1つまたは複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。その代わりにまたはそれに加えて、プログラム命令は、情報をデータ処理装置によって実行する目的で適切なレシーバ装置に送信できるように符号化するために生成される、人工的に生成された伝搬信号、例えばマシンにより生成された電気信号、光信号、または電磁信号上に符号化することもできる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセスもしくはシリアルアクセスのメモリアレイもしくはメモリデバイス、またはそれらのうちの1つもしくは複数のものの組合せとすることもでき、あるいはその中に含めることもできる。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号内に符号化されたコンピュータプログラム命令のソースまたは宛先とすることもできる。コンピュータ記憶媒体は、1つまたは複数の別々の物理的なコンポーネントまたは媒体(例えば複数のCD、ディスク、または他の記憶デバイス)とすることもでき、あるいはその中に含めることもできる。
本明細書において説明した動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたデータまたは他のソースから受信したデータに対してデータ処理装置によって実施される動作として、実装することができる。
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述のもののうちの複数のもの、もしくは前述のものの組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはそれらのうちの1つもしくは複数のものの組合せを構成するコードを含むこともできる。装置および実行環境は、ウェブサービスインフラストラクチャ、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなど、さまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態でデプロイすることができる。コンピュータプログラムは、その必要はないが、ファイルシステム内のファイルに対応してよい。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分(例えば、マークアップ言語ドキュメント内に記憶された1つもしくは複数のスクリプト)内に、当該のプログラムに専用の単一のファイル内に、または複数の連係されたファイル(例えばコードの1つもしくは複数のモジュール、サブプログラム、もしくは一部分を記憶したファイル)内に、記憶させることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように、デプロイすることができる。
本明細書において説明したプロセスおよび論理フローは、入力データに作用し出力を生成することによりアクションを実施するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって、実施されることが可能である。プロセスおよび論理フローは、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されることも可能であり、装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装されることも可能である。
コンピュータプログラムの実行に適したプロセッサとしては、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサがある。一般に、プロセッサは、命令およびデータを、読出し専用メモリまたはランダムアクセスメモリまたはその両方から受領する。コンピュータの不可欠な要素が、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受領し、もしくはそこにデータを転送するように動作可能に結合されるか、またはその両方である。しかし、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは別のデバイスに、例えばほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲーム機、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス(例えばユニバーサルシリアルバス(USB)フラッシュドライブ)に、埋め込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスとしては、例として半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性のメモリ、媒体、およびメモリデバイスがある。プロセッサおよびメモリは、専用論理回路によって補完することもでき、あるいは専用論理回路に組み込むこともできる。
ユーザとの対話を可能にするために、本明細書において説明した本主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力を行うことのできるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受領されることが可能である。加えて、コンピュータは、ユーザによって使用されているデバイスにドキュメントを送り、そのデバイスからドキュメントを受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受信した要求に応答してウェブページを送ることによって、ユーザと対話することができる。
本明細書において説明した本主題の実施形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むコンピューティングシステム内、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むコンピューティングシステム内、またはフロントエンドコンポーネント、例えば本明細書において説明した本主題の一実装形態とユーザがそれを通じて対話することのできるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むコンピューティングシステム内、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステム内に、実装することができる。システムのこれらのコンポーネント同士は、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって、相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(例えばインターネット)、ならびにピアツーピアネットワーク(例えばアドホックピアツーピアネットワーク)がある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバはデータ(例えばHTMLページ)をクライアントデバイスに、(例えばそのクライアントデバイスと対話しているユーザにデータを表示し、そのユーザからユーザ入力を受領する目的で)送信する。クライアントデバイスにおいて生成されたデータ(例えばユーザ対話の結果)は、クライアントデバイスからサーバにおいて受信されることが可能である。
本明細書は、実装形態の多くの具体的詳細を収容しているが、これらは、任意の発明の範囲または特許請求され得るものの範囲に対する限定と解釈するのではなく、特定の発明の特定の実施形態に特有の特徴についての説明と解釈されたい。本明細書において別々の実施形態の文脈の中で説明される、ある特定の特徴は、単一の実施形態において組み合わせて実装することもできる。反対に、単一の実施形態の文脈の中で説明されるさまざまな特徴は、複数の実施形態において別々に、または任意の適切な部分組合せで、実装することもできる。さらに、特徴については上で、ある特定の組合せで作用するものとして説明されていることがあり、さらにはそのようなものとして最初に特許請求されていることすらあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によってはその組合せから削除することができ、特許請求された組合せが、部分組合せまたは部分組合せの変形を対象としてよい。
同様に、動作については図面中に特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、もしくは順番に実施されること、または図示の全ての動作が実施されることを要求するものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が有利となる場合がある。さらに、上述した実施形態ではさまざまなシステムコンポーネントが分離されているが、これは、全ての実施形態においてそのような分離を要求するものと理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品内に一緒に統合するか、または複数のソフトウェア製品にパッケージングできることを理解されたい。
以上、本主題の特定の実施形態について説明してきた。他の実施形態が、添付の特許請求の範囲に記載の範囲内に含まれる。場合によっては、特許請求の範囲に記載されたアクションを異なる順序で実施し、それでもなお望ましい結果を達成することができる。加えて、添付の図中に描かれたプロセスは、望ましい結果を達成するために、図示の特定の順序、または順番を必ずしも要求するとは限らない。ある特定の実装形態では、マルチタスキングおよび並列処理が有利となる場合がある。
100 環境
105 データ通信ネットワーク
110 クライアントデバイス
111 アプリケーション、ウェブブラウザ
112 秘密鍵
113 公開鍵
115 トークンキャッシュ
120 要求
122 アテステーショントークン
123 データセット
124 デジタル署名
125 デバイス完全性トークン
129 デジタルコンポーネント
130 発行者
140 ウェブサイト
145 リソース
150 デジタルコンポーネントシステム、デジタルコンポーネント配信システム
152 デジタルコンポーネントパートナー
160 デジタルコンポーネントプロバイダ
160-2 デジタルコンポーネントプロバイダ
160-3 デジタルコンポーネントプロバイダ
170 デバイス完全性システム
200 プロセス
300 プロセス

Claims (11)

  1. コンピュータ実装方法であって、
    クライアントデバイスから、前記クライアントデバイスによって生成されたアテステーショントークンを含む要求を受信するステップであって、前記アテステーショントークンが、
    (i)前記クライアントデバイスの公開鍵、(ii)前記アテステーショントークンが作成された時刻を示すトークン作成時刻、および(iii)前記クライアントデバイスの信頼価値性レベルを示す判定情報を含んだデバイス完全性トークンを少なくとも含む、データセット、ならびに
    前記公開鍵に対応する秘密鍵を使用して生成された、前記データセットのデジタル署名
    を含む、ステップと、
    前記アテステーショントークンを使用して前記要求の完全性を確認するステップであって、
    前記トークン作成時刻が、前記要求が受信された時刻のしきい値期間内にあるかどうかを判定するステップ、
    前記公開鍵、および前記秘密鍵を使用して生成された前記データセットの前記デジタル署名を使用して、前記アテステーショントークンが作成された後に前記データセットが修正されたかどうかを判定するステップ、
    前記クライアントデバイスが信頼価値のあるクライアントデバイスであることを前記デバイス完全性トークンの前記判定情報が示すかどうかを判定するステップ、ならびに
    前記トークン作成時刻が、前記要求が受信された前記時刻の前記しきい値期間内にあるとの判定、前記アテステーショントークンが作成されてから前記データセットが修正されていないとの判定、および前記クライアントデバイスが信頼価値のあるクライアントデバイスであることを前記判定情報が示すとの判定に少なくとも基づいて、前記要求の前記完全性が有効であるとの判定をするステップ
    を含む、ステップと、
    前記要求が有効であるとの前記判定がなされた場合、前記要求の前記完全性が有効であるとの判定に応答して、前記要求に応答するステップと
    を含む、コンピュータ実装方法。
  2. 前記データセットが、前記要求に特有のデータを含んだペイロードをさらに含む、請求項1に記載の方法。
  3. 前記要求が、ユーザデータを削除せよとの要求を含み、
    前記ペイロードが、前記ユーザデータを削除する動作を指定するデータを含む、請求項2に記載の方法。
  4. 前記要求が有効であるとの前記判定がなされなかった場合、前記要求を無視するステップを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記デバイス完全性トークンが、前記クライアントデバイスとは異なるデバイス完全性システムによって、前記クライアントデバイスから受信した信号に基づいて生成される、請求項1から4のいずれか一項に記載の方法。
  6. 前記デバイス完全性トークンが、前記デバイス完全性トークン内に含まれた第2のデータセットのデジタル署名を含み、
    前記第2のデータセットの前記デジタル署名が、前記デバイス完全性システムの第2の秘密鍵を使用して生成され、
    前記要求の前記完全性が有効であるとの判定をするステップが、前記第2の秘密鍵に対応する第2の公開鍵を使用して前記第2のデータセットの前記デジタル署名の正しさを確認することによって、前記デバイス完全性トークンが生成されてから前記第2のデータセットが変更されていなかったとの判定をするステップをさらに含む、
    請求項5に記載の方法。
  7. 前記第2のデータセットが、前記クライアントデバイスによって生成された前記公開鍵を含み、
    前記要求の前記完全性が有効であるとの判定をするステップが、前記アテステーショントークンの前記データセット内の前記公開鍵が、前記デバイス完全性トークンの前記第2のデータセット内の前記公開鍵と一致するとの判定をするステップをさらに含む、
    請求項6に記載の方法。
  8. 前記第2のデータセットが、前記デバイス完全性トークンが作成された時刻を示す第2のトークン作成時刻を含み、
    前記要求の前記完全性が有効であるとの判定をするステップが、前記第2のトークン作成時刻が、前記要求が受信された時刻の第2のしきい値期間内にあるとの判定をするステップをさらに含む、
    請求項6および7のいずれか一項に記載の方法。
  9. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに請求項1から8のいずれか一項に記載の方法を行わせるように構成されたコンピュータ可読命令が記憶された、1つまたは複数のメモリと
    を備える、システム。
  10. 1つまたは複数のコンピュータによって実行されると前記1つまたは複数のコンピュータに請求項1~8のいずれか一項に記載の方法の動作を実施させる命令を記憶した、非一時的コンピュータ可読記録媒体。
  11. コンピュータによって実行されると前記コンピュータに請求項1から8のいずれか一項に記載の方法のステップを行わせる命令を含む、コンピュータプログラム。
JP2022506215A 2019-08-13 2020-05-01 クライアントデバイスからの通信の完全性の保護 Active JP7286004B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962886194P 2019-08-13 2019-08-13
US62/886,194 2019-08-13
PCT/US2020/031109 WO2021029924A1 (en) 2019-08-13 2020-05-01 Protecting the integrity of communications from client devices

Publications (2)

Publication Number Publication Date
JP2022544461A true JP2022544461A (ja) 2022-10-19
JP7286004B2 JP7286004B2 (ja) 2023-06-02

Family

ID=70775584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022506215A Active JP7286004B2 (ja) 2019-08-13 2020-05-01 クライアントデバイスからの通信の完全性の保護

Country Status (6)

Country Link
US (1) US20220321356A1 (ja)
EP (1) EP3987713A1 (ja)
JP (1) JP7286004B2 (ja)
KR (1) KR102608325B1 (ja)
CN (1) CN114144993B (ja)
WO (1) WO2021029924A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230092436A1 (en) * 2021-09-23 2023-03-23 International Business Machines Corporation Framework for demaraction of digital assets
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190074979A1 (en) * 2015-11-13 2019-03-07 Minghua Xu Methods and systems for pki-based authentication
US20190124070A1 (en) * 2017-10-19 2019-04-25 T-Mobile Usa, Inc. Authentication token with client key
JP2019515368A (ja) * 2016-03-15 2019-06-06 アリババ グループ ホウルディング リミテッド ウェブサイトログイン方法及び装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307223A1 (en) * 2007-06-08 2008-12-11 Brickell Ernest F Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
AU2011205391B2 (en) * 2010-01-12 2014-11-20 Visa International Service Association Anytime validation for verification tokens
US20140279554A1 (en) * 2013-03-12 2014-09-18 Seth Priebatsch Distributed authenticity verification for consumer payment transactions
WO2017042400A1 (en) * 2015-09-11 2017-03-16 Dp Security Consulting Sas Access method to an on line service by means of access tokens and secure elements restricting the use of these access tokens to their legitimate owner
US11334882B1 (en) * 2016-03-28 2022-05-17 United Services Automobile Association (Usaa) Data access management on a distributed ledger system
US10055926B2 (en) * 2016-09-09 2018-08-21 Tyco Integrated Security, LLC Architecture for access management
US9838203B1 (en) * 2016-09-28 2017-12-05 International Business Machines Corporation Integrity protected trusted public key token with performance enhancements
US11438155B2 (en) * 2017-01-24 2022-09-06 Microsoft Technology Licensing, Llc Key vault enclave
US10505978B2 (en) * 2017-08-24 2019-12-10 Visa International Service Association Utilizing trust tokens to conduct secure message exchanges
WO2019050527A1 (en) * 2017-09-07 2019-03-14 Visa International Service Association SYSTEM AND METHOD FOR GENERATING TRUSTED TOKENS
US11438168B2 (en) * 2018-04-05 2022-09-06 T-Mobile Usa, Inc. Authentication token request with referred application instance public key
CN109150910A (zh) * 2018-10-11 2019-01-04 平安科技(深圳)有限公司 登录令牌生成及验证方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190074979A1 (en) * 2015-11-13 2019-03-07 Minghua Xu Methods and systems for pki-based authentication
JP2019515368A (ja) * 2016-03-15 2019-06-06 アリババ グループ ホウルディング リミテッド ウェブサイトログイン方法及び装置
US20190124070A1 (en) * 2017-10-19 2019-04-25 T-Mobile Usa, Inc. Authentication token with client key

Also Published As

Publication number Publication date
WO2021029924A1 (en) 2021-02-18
CN114144993A (zh) 2022-03-04
KR102608325B1 (ko) 2023-11-30
KR20220025076A (ko) 2022-03-03
US20220321356A1 (en) 2022-10-06
CN114144993B (zh) 2024-04-02
EP3987713A1 (en) 2022-04-27
JP7286004B2 (ja) 2023-06-02

Similar Documents

Publication Publication Date Title
US11790111B2 (en) Verifiable consent for privacy protection
JP7282982B2 (ja) グループ署名による匿名イベント証明
US11949688B2 (en) Securing browser cookies
JP7286004B2 (ja) クライアントデバイスからの通信の完全性の保護
US12107969B2 (en) Anonymous event attestation
JP7410280B2 (ja) 複数受信者セキュア通信
JP2023519121A (ja) ウェブアプリケーションの信頼性の検証
CN116348874B (zh) 使用鉴证令牌的安全归因的方法、系统以及介质
JP2022533874A (ja) 電気通信ネットワーク測定におけるデータ操作の防止およびユーザのプライバシーの保護

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230523

R150 Certificate of patent or registration of utility model

Ref document number: 7286004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150