JP2024519654A - クッキー窃盗を防止すべく同じ場所に設置された二次デバイスを使用すること - Google Patents

クッキー窃盗を防止すべく同じ場所に設置された二次デバイスを使用すること Download PDF

Info

Publication number
JP2024519654A
JP2024519654A JP2023558835A JP2023558835A JP2024519654A JP 2024519654 A JP2024519654 A JP 2024519654A JP 2023558835 A JP2023558835 A JP 2023558835A JP 2023558835 A JP2023558835 A JP 2023558835A JP 2024519654 A JP2024519654 A JP 2024519654A
Authority
JP
Japan
Prior art keywords
client device
authentication token
request
instance
service request
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.)
Pending
Application number
JP2023558835A
Other languages
English (en)
Inventor
エイドリアン・アイルズ
フィリップ・ファイフェンベルガー
デイヴィッド・ターナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2024519654A publication Critical patent/JP2024519654A/ja
Pending legal-status Critical Current

Links

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/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
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band 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/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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Figure 2024519654000001
方法が、サービスプロバイダプラットフォームによる、第1のクライアントデバイスからのサービス要求、およびそのサービス要求に関連付けられ、かつ第1のクライアントデバイスによって生成された認証トークンの第1のインスタンスを受け取ることを含む。サービスプロバイダプラットフォームは、第2のクライアントデバイスから、そのサービス要求に関連付けられ、かつ第1のクライアントデバイスによって生成された認証トークンの第2のインスタンスをさらに受け取ってよい。認証トークンの第1のインスタンスが認証トークンの第2のインスタンスと合致すると判定したことに応答して、そのサービス要求が、サービスプロバイダプラットフォームによって処理される。

Description

本開示は、一般に、クッキー窃盗からユーザデバイスを防御するための技術に関する。より詳細には、本開示は、クッキー窃盗を防止すべく同じ場所に配置された二次デバイスを使用することに関する。
ハイパーテキスト転送プロトコル(HTTP)クッキー(以降、「クッキー」)は、クライアントデバイスにおいて記憶されて、その特定のクライアントデバイス、またはアプリケーション(例えば、ブラウザ)に特有のいくらかの量のデータを保持するファイルを指すことが可能である。既存のサービスプロバイダプラットフォーム(例えば、コンテンツ共有プラットフォーム、財務プラットフォーム、電子商取引プラットフォーム、その他)が、ユーザアカウント、またはクライアントデバイスのアプリケーションを認証すべく、セッション中、クッキーを使用することが可能である。例えば、ユーザが、ユーザアカウント情報(例えば、ユーザ名およびパスワード)を使用してサービスプロバイダプラットフォームにログインしてよい。サービスプロバイダプラットフォームは、そのユーザアカウントを許可してよく、そのクライアントデバイスにクッキーを送ってよい。そのセッション中のサービスプロバイダプラットフォームに対する後続のいずれの要求も、要求にクッキーを含むことが可能であり、クッキーは、そのユーザアカウントによって要求されるサービスを許可するのに使用されてよい。
第三者が、そのクッキーをコピーして、そのクライアントデバイスのユーザに成りすますべくそのクッキーを使用する場合、クッキー窃盗が生じる。例えば、クッキー窃盗は、ユーザが、保護されていないWi-FiネットワークまたはパブリックWi-Fiネットワークを介してサービスプロバイダプラットフォームにアクセスする場合、生じる可能性がある。そのクッキーを使用して、第三者は、ユーザの名前で偽の投稿をすること、またはユーザアカウントからマネーを振り替えることなどの悪意のあるアクションを実行する可能性がある。
以下に、本開示の様々な態様の簡略化された概要を、そのような態様の基本的な理解をもたらすために提示する。この概要は、企図されるすべての態様の広範な概観ではなく、重要な要素、もしくは不可欠な要素を識別することも、そのような態様の範囲を線引きすることも意図してはいない。この概要の目的は、後段で提示されるより詳細な説明の前置きとして、本開示のいくつかの概念を簡略化された形態で提示することである。
本開示の或る態様において、方法が、サーバが、第1のクライアントデバイスからサービス要求を受信すること、およびそのサービス要求に関連付けられ、かつ第1のクライアントデバイスによって生成された認証トークンの第1のインスタンスを受信することを含む。サーバは、第2のクライアントデバイスから、そのサービス要求に関連付けられ、かつ第1のクライアントデバイスによって生成された認証トークンの第2のインスタンスをさらに受信してよい。認証トークンの第1のインスタンスが認証トークンの第2のインスタンスと合致すると判定したことに応答して、サーバは、そのサービス要求を処理してよい。
本開示のさらなる態様が、メモリと、そのメモリに結合された処理デバイスとを備えるシステムを提供し、処理デバイスは、本明細書において説明される任意の態様または実施形態による方法を実行する。
本開示のさらなる態様が、第1のクライアントデバイスによる、認証トークンの第1のインスタンス、および認証トークンの第2のインスタンスを生成することを含む方法を提供する。第1のクライアントデバイスが、サービス要求、および認証トークンの第1のインスタンスをサーバに送ってよい。第1のクライアントデバイスが、認証トークンの第2のインスタンスを第2のクライアントデバイスにさらに送ってよい。第1のクライアントデバイスが、コンテンツ共有プラットフォームから、サーバによるサービス要求の受付けを表す応答をさらに受信してよく、応答は、第1のクライアントデバイスによってサーバに送られた認証トークンの第1のインスタンスが、第2のクライアントデバイスによってサービスプロバイダプラットフォームに送られた認証トークンの第2のインスタンスと合致することを示す。
一態様のオプションの特徴が、適宜、他の態様と組み合わされてよい。
本開示の態様および実装形態は、後段で与えられる詳細な説明、ならびに本開示の様々な態様および実装形態の添付の図面から、より完全に理解されるが、図面は、本開示をそれらの特定の態様または実装形態に限定するものと解釈されるべきではなく、説明および理解だけを目的とするものと解釈されるべきである。
本開示の一実装形態による、第1のクライアントデバイス上で提供されるメディアフィーチャが第2のクライアントデバイス上で提示されることを可能にするためのシステムアーキテクチャの実施例を示す図である。 或る実施形態による、二次クライアントデバイスを使用して、一次クライアントデバイスによって開始されたサービス要求を認証するための方法を示す対話図である。 或る実施形態による、二次クライアントデバイスを使用して、一次クライアントデバイスによって開始されたサービス要求を認証するための別の方法を示す対話図である。 本開示の一実装形態による、一次クライアントデバイスによって開始されたサービス要求を認証するための方法を示すフローチャートである。 本開示の一実装形態による、認証デバイスによる認証を必要とするサービス要求を開始するための方法を示すフローチャートである。 本開示の1つまたは複数の態様により動作する例示的なコンピューティングデバイスを示すブロック図である。
本開示の態様および実装形態が、クッキー窃盗を防止するための機構を提供する。コンテンツ共有プラットフォーム(またはユーザにサービスを提供する他の任意のプラットフォーム)が、ユーザアカウント、またはクライアントデバイスのアプリケーションから発行されたサービス要求を許可すべくクッキーを使用することが可能である。クライアントデバイスは、パーソナルコンピュータ(PC)、ラップトップ、スマートフォン、タブレットコンピュータ、その他であってよい。サービス要求は、ログイン要求、コンテンツアップロード要求、コンテンツ検索要求、コンテンツ消費要求、購入要求などを含んでよい。第三者がクッキーをコピーして、クライアントデバイスのユーザに成りすますべくクッキーを使用することを防止すべく、既存のシステムは、或るサービス要求(例えば、ログイン要求および購入要求)を認証するのに二要素認証などの二次サービス検証方法を使用してよい。二要素認証は、コンテンツ共有プラットフォームが、電子メールアドレスまたは電話番号などのユーザに関連付けられた別のアプリケーションに検証コードを送ることを含んでよい。次に、ユーザが、保留中のサービス要求を認証すべく、受け取られた検証コードをコンテンツ共有プラットフォームに送ってよい。しかし、二要素認証を使用することは、ユーザが、検証コードを取り出すべくコンテンツ共有プラットフォームのアプリケーションまたはウェブサイトから外に出る(または切り替える)必要がある可能性があるので、時間がかかり、面倒である。このことは、特にサービス要求ごとに使用されて、それが、さらなる時間と計算リソースを消費して、ユーザに不便となり得る場合、望ましくない潜時を生じさせる。
本開示の態様が、物理的に同じ場所に配置された(例えば、相対的に短い距離内もしくは所定の距離内、共有される見通し線の範囲内になどに)二次クライアントデバイスが、サービスプロバイダプラットフォームに対して一次クライアントデバイスによって開始されたすべての種類の、またはいくつかの種類のサービス要求を認証することができる認証デバイスとして機能することを可能にする機構を提供することによって、前述の欠点、および他の欠点に対処する。本開示の一部の態様によれば、一次クライアントデバイスおよび二次クライアントデバイスは、サービスプロバイダプラットフォームに登録されてよい。両方のクライアントデバイスが、同一のユーザアカウントに関連付けられてよい。例えば、一次クライアントデバイスを使用して、ユーザが、ユーザ名およびパスワードなどのユーザアカウント情報を提供することによってユーザのユーザアカウントにアクセスしてよい。アクセスした後、ユーザは、例えば、クライアントデバイス識別データ(例えば、デバイスシリアルナンバ、識別番号、インターネットプロトコル(IP)アドレス、ロケーションデータ、または一次クライアントデバイスに関連付けられた他の識別データ、その他)を使用して、一次クライアントデバイスをユーザアカウントに登録してよい。同様に、ユーザは、二次クライアントデバイスを介して、ユーザアカウント情報をサービスプロバイダプラットフォームに提供することによって、二次クライアントデバイスをユーザアカウントに登録してよい。一部の実施形態において、登録に応答して、サービスプロバイダプラットフォームは、一次クライアントデバイスおよび/または二次クライアントデバイスに、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵などの1つまたは複数の暗号鍵を送ってよい。暗号鍵は、それぞれのクライアントデバイスの身元を検証するのに使用されてよい。一次クライアントデバイスと二次クライアントデバイスはそれぞれ、異なるセットの暗号鍵を受け取ってよい。
次に、一次クライアントデバイスが、サービスプロバイダプラットフォームによって二次クライアントデバイスが認証デバイスとして使用されるべきことを要求してよい。認証デバイスは、一次クライアントデバイスによって発行されたサービス要求を認証すべく使用される物理的に同じ場所に配置された二次クライアントデバイスであってよい。一次クライアントデバイスによって発行されたサービス要求を認証すべく同じ場所に配置された二次デバイスを使用することは、第三者が、一次クライアントデバイスの近くに物理的に位置していなければならないことになるため、遠隔の第三者が一次クライアントデバイスのユーザに成りすますことを防止する。一部の実施形態において、認証デバイス(例えば、二次クライアントデバイス)による認証を必要とするサービス要求の種類は、事前定義されてよい。例えば、ユーザ入力に応答して、サービスプロバイダプラットフォームは、コンテンツアップロード要求および購入要求に関してだけ二次デバイス検証を有効にしてよい。
一部の実装形態において、一次クライアントデバイスは、認証トークンを生成するのにも二次デバイス検証を必要とするサービス要求を発行することが可能である。認証トークンは、乱数、ランダム文字列、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他を含んでよい。次に、一次クライアントデバイスは、サービス要求および認証トークンをサービスプロバイダプラットフォームに送ってよい。一部の実施形態において、一次クライアントデバイスは、認証トークンをサービス要求に付加してよい。他の実施形態において、一次クライアントデバイスは、別々の2つの伝送においてサービス要求および認証トークンを送ってよい。一次クライアントデバイスは、認証トークンを二次クライアントデバイス(例えば、認証デバイス)にさらに送ってよい。一部の実施形態において、一次クライアントデバイスは、短距離通信技術を使用して認証トークンを二次クライアントデバイスに送ってよい。短距離通信技術は、一次クライアントデバイスと二次クライアントデバイスが物理的に同じ場所に配置されていることを確立するのに使用されてよい。一部の実施形態において、短距離通信技術は、例えば、ピアツーピア(P2P)、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、Whisper(登録商標)、Wi-Fi(登録商標)、Wi-Fi Direct(Wi-Fi P2P)、赤外線技術、または超音波技術などの無線技術を含んでよい。一部の実施形態において、短距離通信技術は、ケーブル接続(例えば、ユニバーサルシリアルバス(USB)コネクタ、イーサネットコネクタ、Lightningコネクタ、その他)などの有線技術を含んでよい。受け取った後、二次クライアントデバイスは、認証トークンをサービスプロバイダプラットフォームに送ってよい。一部の実施形態において、二次クライアントデバイスはまず、二次クライアントデバイスの身元を検証すべくサービスプロバイダプラットフォームから受け取られた秘密鍵および/または公開鍵を使用して、認証トークンを暗号化してよく、または認証トークンに署名してよい。
サービスプロバイダプラットフォームは、両方のクライアントデバイスから認証トークンを受け取ってよく、オプションとして、秘密鍵および/または公開鍵を使用してクライアントデバイスの真正性を復号してよく、もしくは検証してよく、一次クライアントデバイスから受け取られた認証トークンを、二次クライアントデバイスから受け取られた認証トークンと比較してよい。その2つの認証トークンが合致する(例えば、一次クライアントデバイスの受信された伝送からの数または文字列が、二次クライアントデバイスの受信された伝送からの数または文字列と同一である)と判定したことに応答して、サービスプロバイダプラットフォームは、一次クライアントデバイスから受け取られたサービス要求を許可してよく、または処理してよい。一部の実施形態において、二次クライアントデバイスは、認証トークンを背景プロセス(例えば、ユーザ介入なしに実行されるプロセス)として中継すること(例えば、受信すること、および送信すること)を実行してよい。このため、ユーザによって開始される各サービス要求は、二次デバイス検証を介して提供されるさらなるセキュリティを伴って、ほとんど、またはまったく追加の潜時なしに処理されることが可能である。
一部の実施形態において、両方のクライアントデバイスが物理的に同一の場所に配置されることは、例えば、インターネットプロトコル(IP)アドレス、メディアアクセス制御(MAC)アドレス、全地球測位システム(GPS)データ、その他などのロケーションデータを使用して確立されてよい。詳細には、一次クライアントデバイスおよび二次クライアントデバイスは、サービスプロバイダプラットフォームに、それぞれのロケーションデータに付加された認証トークンを送ってよい。認証トークンを受け取った後、サービスプロバイダプラットフォームは、各トークンのロケーションデータを比較してよく、ロケーションデータが合致するかどうかを判定して(例えば、一方の認証トークンに付加されたIPアドレスが、他方の認証トークンに付加されたIPアドレスに対応するかどうかを判定して)よい。その2つの認証トークンが合致すると判定すること、および各認証トークンに付加されたロケーションデータもやはり合致すると判定したことに応答して、サービスプロバイダプラットフォームは、一次クライアントデバイスから受け取られたサービス要求を許可してよく、または処理してよい。
したがって、本開示の態様および実装形態が、同じ場所に配置された二次クライアントデバイスを介してサービス要求を認証することによって、ユーザに成りすますべく盗まれたクッキーを使用しようと試みる第三者に対するユーザ保護を提供する。本明細書において開示される技術は、ユーザのアカウントからの許可のないサービス要求を防止するのにユーザに現在、利用可能である限られた能力および機能を克服するため、有利である。代わりに、ユーザは、今や、ほとんど、またはまったく追加の潜時なしに、ユーザ入力を要求するプロンプトを生成することなしに(例えば、いずれのユーザデバイス上でもいずれの検証コードも手動で入力するようユーザに要求することなしに)サービスプロバイダプラットフォームに対してサービス要求をセキュリティ保護された様態で発行することができる。このため、本明細書において開示される技術は、ユーザが、サービスプロバイダプラットフォームを相手により高いセキュリティで保護されたセッションを有することを可能にして、検証コードを取り出すべくユーザが、異なるアプリケーションまたはウェブサイトに切り替えることをサポートし、検証コードを入力するようユーザに要求するプロンプトを生成し、そのユーザ入力について監視し、そのユーザ入力を処理するのにさもなければ消費されることになる時間と計算リソースを低減する。
本開示の実装形態は、簡単で手短にするため、コンテンツ共有プラットフォームに対するサービス要求を認証することについて述べる。しかし、本開示の教示は、例えば、財務プラットフォーム、銀行取引プラットフォーム、ソーシャルメディアプラットフォーム、電子商取引プラットフォーム、その他などの、クッキー(または他の認証データ)を利用する任意のサービスプロバイダプラットフォームに適用されてよい。
図1は、本開示の一実装形態によるシステムアーキテクチャ100の実施例を示す。システムアーキテクチャ100(本明細書において「システム」とも呼ばれる)は、第1のクライアントデバイス110と、第2のクライアントデバイス120と、サーバ130と、ネットワーク150と、データストア135とを含む。
ネットワーク150は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN))、有線ネットワーク(例えば、イーサネットネットワーク)、無線ネットワーク(例えば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラネットワーク(例えば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含んでよい。
データストア135は、コンテンツアイテム(メディアアイテムなどの)、ならびにコンテンツアイテムにタグ付けするデータ構造、コンテンツアイテムを編成するデータ構造、およびコンテンツアイテムに索引付けするデータ構造を記憶することができる永続ストレージであってよい。データストア135は、1つまたは複数のストレージデバイス、メインメモリ、磁気ストレージベース、もしくは光ストレージベースのディスク、テープ、またはハードドライブ、NAS、SANなどによってホストされてよい。一部の実施形態において、データストア135は、ネットワークアタッチ型のファイルサーバであってよい一方で、他の実施形態において、データストア135は、サービスプロバイダプラットフォーム130、またはサービスプロバイダプラットフォーム130に結合された異なる1つまたは複数の機械によってホストされ得る、オブジェクト指向データベース、リレーショナルデータベース、その他などの他の何らかの種類の永続ストレージであってよい。一部の実施形態において、データストア135は、ネットワーク150を介してサービスプロバイダプラットフォーム130に結合されてよい。
クライアントデバイス110、120はそれぞれ、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワーク接続型テレビ、その他などのコンピューティングデバイスを含んでよい。一部の実施形態において、クライアントデバイス110、120は、「ユーザデバイス」と呼ばれることも可能である。一部の実施形態において、各クライアントデバイス110、120は、メディアプレーヤ112(またはメディアビューア)、リンクモジュール114、およびトークンモジュール116を含んでよい。
一部の実施形態において、メディアプレーヤ112は、ユーザが、画像、ビデオアイテム、ウェブページ、文書、オーディオアイテム、その他などのコンテンツを再生すること、観ること、またはアップロードすることを可能にするアプリケーションであってよい。例えば、メディアプレーヤ112は、ウェブサーバによってサービス提供されるコンテンツ(例えば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテム、その他)にアクセスすること、そのようなコンテンツを取り出すこと、提示すること、またはそのようなコンテンツを見て回ることを可能にするウェブブラウザであってよい。メディアプレーヤ112は、コンテンツ(例えば、ウェブページ、メディアビューア)をユーザにレンダリングすること、表示すること、または提示することをしてよい。また、メディアプレーヤ112は、ウェブページ(例えば、オンライン商業者によって販売される製品についての情報を提供してよいウェブページ)に埋め込まれた埋め込み型メディアプレーヤ(例えば、Flash(登録商標)プレーヤまたはHTML5プレーヤ)も含む。別の実施例において、メディアプレーヤ112は、ユーザがデジタルメディアアイテム(例えば、デジタルビデオアイテム、デジタル画像、電子書籍、その他)を再生することを可能にするスタンドアローンのアプリケーション(例えば、モバイルアプリケーション、またはネイティブアプリケーション)であってもよい。本開示の態様によれば、メディアプレーヤ112は、ユーザが、コンテンツ共有プラットフォーム上で共有するためにコンテンツを記録すること、編集すること、および/またはアップロードすることを行うコンテンツ共有プラットフォームアプリケーションであってよい。このため、メディアプレーヤ112は、サービスプロバイダプラットフォーム130によってクライアントデバイス110、120に提供されてよい。例えば、メディアプレーヤ112は、サービスプロバイダプラットフォーム130によって提供されるウェブページに埋め込まれた埋め込み型メディアプレーヤであってよい。別の実施例において、メディアプレーヤ112は、サービスプロバイダプラットフォーム130からダウンロードされるアプリケーションであってよい。本開示の実装形態は、簡単で手短にするため、コンテンツ共有プラットフォームと通信する(例えば、サービス要求を送ること、コンテンツを受け取ること、その他)ためのアプリケーションとしてメディアプレーヤ112について述べる。しかし、他の実施形態において、メディアプレーヤ112は、例えば、財務プラットフォーム、銀行取引プラットフォーム、ソーシャルメディアプラットフォーム、電子商取引プラットフォーム、その他などの他の種類のサービスプロバイダプラットフォームと通信することを可能にする1つまたは複数のアプリケーションであってよい。
一部の実施形態において、第1のクライアントデバイス110は、1つまたは複数の第2のクライアントデバイス120と結合すること(例えば、ペアになること)、および/または通信することを行うべくリンクモジュール114を使用してよい。一部の実施形態において、結合することは、短距離通信技術に基づいてよく、両方のクライアントデバイス110、120が、物理的に同じ場所に配置されてよい(例えば、相対的に短い距離内もしくは所定の距離内、共有される見通し線の範囲内になどに)。一部の実施形態において、第1のクライアントデバイス110および第2のクライアントデバイス120は、第1のクライアントデバイス110と第2のクライアントデバイス120の間で短距離結合を確立するための無線技術を含んでよい。無線通信技術は、ピアツーピア(P2P)、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、Whisper(登録商標)、Wi-Fi(登録商標)、Wi-Fi Direct(Wi-Fi P2P)、赤外線技術、超音波技術、または他の技術を含んでよい。一部の実施形態において、第1のクライアントデバイス110および第2のクライアントデバイス120は、第1のクライアントデバイス110と第2のクライアントデバイス120の間で短距離結合を確立するための有線技術を含んでよい。有線通信技術は、例えば、ユニバーサルシリアルバス(USB)コネクタ、イーサネットコネクタ、Lightningコネクタ、または他の任意のケーブルコネクタなどのケーブル接続を含んでよい。
一部の実施形態において、リンクモジュール114は、サービスプロバイダプラットフォーム130によって、第1のクライアントデバイス110と第2のクライアントデバイス120が物理的に同じ場所に配置されていることを確立するのに使用され得るロケーションデータを生成してよい。例えば、リンクモジュール114(各クライアントデバイス110、120の)が、サービスプロバイダプラットフォーム120に、それぞれのクライアントデバイス110、120に関連付けられたロケーションデータを送ってよい。ロケーションデータは、クライアントデバイス110、120に関連付けられたインターネットプロトコル(IP)アドレス、クライアントデバイス110、120に関連付けられたメディアアクセス制御(MAC)アドレス、地理的位置特定(geo-location)データ(例えば、全地球測位システム(GPS)データ、セル電話塔データ、Wi-Fiアクセスポイントデータ、その他)、他の任意のロケーションデータ、またはこれらの任意の組合せを含んでよい。一部の実施形態において、ロケーションデータは、認証トークンまたはサービス要求などの他のデータに付加されてよい。他の実施形態において、ロケーションデータは、その他のデータとは無関係にサービスプロバイダプラットフォーム130に送られてよい。物理的に同じ場所に配置されていることを確立すべく、サービスプロバイダプラットフォーム130は、クライアントデバイス110とクライアントデバイス120から受け取られたロケーションデータを比較してよく、ロケーションデータが合致する(例えば、ロケーションデータが、クライアントデバイス110とクライアントデバイス1120の接近した近接性を示す)かどうかを判定してよい。例えば、サービスプロバイダプラットフォーム130は、第1のクライアントデバイス110に関連付けられたIPアドレスが、第2のクライアントデバイス120に関連付けられたIPアドレスと同一であるかどうか(例えば、両方のクライアントデバイスが同一のネットワークに同時に接続されているかどうか)を判定してよい。
トークンモジュール116が、1つまたは複数の認証トークンを生成するのに使用されてよい。認証トークンが、サービスプロバイダプラットフォーム130に対して発行されるサービス要求に関して生成されてよく、検証クライアントデバイス(例えば、そのサービスを要求するクライアントデバイスと物理的に同じ場所に配置されたクライアントデバイス)を使用することによってそのサービス要求を認証すべく使用されてよい。サービス要求は、例えば、ログイン要求、コンテンツアップロード要求、コンテンツ検索要求、コンテンツ消費要求、コンテンツ承認要求、コンテンツ不承認要求、コンテンツについてのコメント要求、設定変更要求、個人詳細変更要求、購入要求、その他などの、クライアントデバイス110、120によってサービスプロバイダプラットフォーム130に対して発行される任意の種類の要求であってよい。一部の実施形態において、認証トークンは、ランダムに生成された数(例えば、64ビットの数、128ビットの数、その他)または文字列であってよい。他の実施形態において、認証トークンは、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他であってよい。
認証トークンは、クライアントデバイス110、120によってそれぞれ、クライアントデバイス120、110、およびサービスプロバイダプラットフォーム130に送られてよい。一部の実施形態において、クライアントデバイス110、120、および/またはサービスプロバイダプラットフォーム130は、後段でより詳細に説明されるとおり、認証トークンを復号すること、認証トークンの暗号署名を特定すること、および/またはトークンを認証することに関連付けられた他の任意のプロセスを実行することによって、受け取られた認証トークンに対して認証プロセスを実行してよい。認証トークンを認証したことに応答して、サービスプロバイダプラットフォーム130は、要求されたサービス要求を受け付けてよく、または実行してよい。例えば、サービスプロバイダプラットフォーム130は、要求されたデジタルメディアアイテムの再生を開始すること、または継続すること、要求されたデジタルメディアアイテムのアップロードを許すこと、その他を行ってよい。
一部の実施形態において、検証(検証クライアントデバイスによる)を必要とするサービス要求の種類は、事前定義されてよい。例えば、ユーザが、メディアプレーヤ112を使用して、物理的に同じ場所に配置された検証デバイスによる検証を必要とするサービス要求の種類を選択してよく、他のすべての要求は、検証デバイスによる検証を必要としなくてよい。例えば、ユーザ入力に応答して、データサービス124を許可することが、ログイン要求、コンテンツアップロード要求、および購入要求だけに関して検証デバイス認証を有効にしてよい。
一部の実施形態において、サービスプロバイダプラットフォーム130は、1つまたは多数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、その他などの)と、データストア(例えば、ハードディスク、メモリ、データベース)と、ネットワークと、メディアアイテムに対するアクセスをユーザに提供するのに、もしくはメディアアイテムをユーザに提供するのに使用されてよいソフトウェア構成要素もしくはハードウェア構成要素とを含んでよい。例えば、サービスプロバイダプラットフォーム130は、ユーザが、メディアアイテムを消費すること、アップロードすること、検索すること、承認すること(「いいね」)、不承認すること(「よくないね」)、またはメディアアイテムについてコメントすることを可能にしてよい。また、サービスプロバイダプラットフォーム130は、メディアアイテムに対するアクセスをユーザに提供するのに使用されてよいウェブサイト(例えば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含んでもよい。
本開示の一部の実施形態において、「ユーザ」は、単一の個人として表現され得る。しかし、本開示の他の実施形態は、「ユーザ」が、一揃いのユーザによって制御されるエンティティであること、および/または自動化されたソースであることを包含する。例えば、ソーシャルネットワークにおいてコミュニティとして連合した一揃いの個人ユーザが、「ユーザ」と見なされることが可能である。別の実施例において、自動化された消費者が、サービスプロバイダプラットフォーム130の、トピックチャネルなどの、自動化された取り込みパイプラインであることが可能である。
サービスプロバイダプラットフォーム130は、多数のチャネルを含んでよい。チャネルは、一般的なソースから利用可能なデータコンテンツであってよく、または一般的なトピック、テーマ、または実質を有するデータコンテンツであってよい。データコンテンツは、ユーザによって選択されたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選択されたデジタルコンテンツ、放送局によって選択されたデジタルコンテンツ、その他であってよい。例えば、チャネルXが、ビデオYおよびビデオZを含んでよい。チャネルが、そのチャネル上でアクションを実行してよいユーザである、所有者に関連付けられてよい。所有者が、チャネル上でデジタルコンテンツを利用可能にすること、所有者が、別のチャネルに関連付けられたデジタルコンテンツを選択すること(例えば、リンクすること)、所有者が、別のチャネルに関連付けられたデジタルコンテンツについてコメントすること、その他などの所有者のアクションに基づいて、様々な活動が、そのチャネルに関連付けられてよい。そのチャネルに関連付けられた活動は、そのチャネルに関する活動フィードとなるように集められてよい。そのチャネルの所有者以外のユーザが、ユーザが関心のある1つまたは複数のチャネルにサブスクライブしてよい。「サブスクライブする」という概念はまた、「いいねと意思表示する(liking)」、「フォローする(following)」、「友達にする(friending)」などと呼ばれてもよい。
ユーザがチャネルにサブスクライブした後、ユーザにそのチャネルの活動フィードからの情報が提示されてよい。ユーザが多数のチャネルにサブスクライブする場合、ユーザがサブスクライブしている各チャネルに関する活動フィードは、組み合わされて、連合組織された活動フィードにされてよい。連合組織された活動フィードからの情報が、ユーザに提示されてよい。チャネルは、チャネル独自のフィードを有してよい。例えば、サービスプロバイダプラットフォーム上で或るチャネルのホームページを見に行く際、そのチャネルによって生成されたフィードアイテムが、チャネルホームページ上に示されてよい。ユーザは、ユーザがサブスクライブしているチャネルのすべてからのコンテンツアイテムの少なくともサブセットを含むフィードである、連合組織されたフィードを有してよい。また、連合組織されたフィードは、ユーザがサブスクライブしていないチャネルからのコンテンツアイテムを含んでもよい。例えば、サービスプロバイダプラットフォーム130または他のソーシャルネットワークが、推奨されるコンテンツアイテムをユーザの連合組織されたフィードに挿入してよく、またはユーザの関係のあるつながりに関連付けられたコンテンツアイテムを連合組織されたフィードに挿入してよい。
各チャネルは、1つまたは複数のメディアアイテムを含んでよい。メディアアイテムの例は、デジタルビデオ、デジタル映画、デジタル写真、デジタル音楽、オーディオコンテンツ、メロディ、ウェブサイトコンテンツ、ソーシャルメディア更新、電子書籍(ebook)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(real simple syndication:RSS)フィード、電子コミックブック、ソフトウェアアプリケーション、その他を含んでよいが、これらには限定されない。一部の実施形態において、メディアアイテムは、コンテンツまたはコンテンツアイテムとも呼ばれる。
限定するためではなく、手短で簡単にするため、ビデオアイテム、オーディオアイテム、またはゲームアイテムが、本明細書全体にわたってメディアアイテムの例として使用される。本明細書において使用される「メディア」、「メディアアイテム」、「オンラインメディアアイテム」、「デジタルメディア」、「デジタルメディアアイテム」、「コンテンツ」、および「コンテンツアイテム」は、エンティティにデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行され得る、またはロードされ得る電子ファイルを含んでよい。一実施形態において、サービスプロバイダプラットフォーム130は、データストア106を使用してメディアアイテム132を記憶してよい。別の実施形態において、サービスプロバイダプラットフォーム130は、データストア135を使用してビデオアイテムまたはフィンガプリントを1つまたは複数のフォーマットで電子ファイルとして記憶してよい。
一部の実施形態において、メディアアイテムは、ビデオアイテムである。ビデオアイテムは、動いている場面を表す順次ビデオフレーム(例えば、画像フレーム)のセットである。例えば、一連の順次ビデオフレームが連続的にキャプチャされてよく、またはアニメーションを生成すべく後に再構成されてよい。ビデオアイテムは、アナログビデオ、デジタルビデオ、2次元ビデオ、および3次元ビデオを含むが、これらには限定されない様々なフォーマットで提示されてよい。さらに、ビデオアイテムは、映画、ビデオクリップ、または順次に表示されるべきアニメーション化された画像の任意のセットを含んでよい。さらに、ビデオアイテムは、ビデオ構成要素と、オーディオ構成要素とを含むビデオファイルとして記憶されてよい。ビデオ構成要素とは、ビデオコーディングフォーマットまたは画像コーディングフォーマット(例えば、H.264(MPEG-4 AVC)、H.264 MPEG-4 Part 2、グラフィックスインターチェンジフォーマット(Graphics Interchange Format:GIF)、WebP、その他)におけるビデオデータを指すことが可能である。オーディオ構成要素とは、オーディオコーディングフォーマット(例えば、アドバンストオーディオコーディング(advanced audio coding:AAC)、MP3、その他)におけるオーディオデータを指すことが可能である。GIFは、画像ファイル(例えば、.gifファイル)として保存されてよい、または一連の画像としてアニメーション化されたGIF(例えば、GIF89aフォーマット)にされて保存されてよいことが注記され得る。H.264は、例えば、ビデオコンテンツの記録、圧縮、または配信のためのブロック指向の動き補償ベースのビデオ圧縮標準であるビデオコーディングフォーマットであってよいことが注記され得る。
一部の実施形態において、メディアアイテムは、クライアントデバイス110、120のうちの1つまたは複数に対するライブストリームなどにおいてストリーミングされてよい。「ストリーミングされる」または「ストリーミング」とは、メディアアイテムの受信される部分が、受信されると即時に(技術的な限度内で)、またはメディアコンテンツの他の部分が配信されている間に、メディアアイテム全体が受信するデバイスによって受信されていることなしに、受信するデバイスによって再生され得る、メディアアイテムなどのコンテンツの伝送またはブロードキャストを指すことが注記される。「ストリーム」とは、ストリーミングされた、またはストリーミング中のメディアアイテムなどのコンテンツを指すことが可能である。ライブストリームメディアアイテムとは、メディアアイテムが、少なくとも部分的に、イベントが生じるにつれて同時並行に、受信するデバイスに伝送され、メディアアイテムがその全体として利用可能でない、ライブのイベントのライブのブロードキャストまたは伝送を指すことが可能である。
一部の実施形態において、サービスプロバイダプラットフォーム130は、ユーザが、メディアアイテムを包含する再生リストを作成すること、共有すること、閲覧すること、または使用することを可能にしてよい。再生リストとは、まったくユーザ対話なしに特定の順序で次々に再生されるように構成されたメディアアイテムの集められたものを指す。一部の実施形態において、サービスプロバイダプラットフォーム130は、ユーザに代行して再生リストを保持してよい。一部の実施形態において、サービスプロバイダプラットフォーム130の再生リストフィーチャは、ユーザが、ユーザのお気に入りのメディアアイテムを再生のために単一のロケーションに一緒にグループ化することを可能にする。一部の実施形態において、サービスプロバイダプラットフォーム130は、再生リスト上のメディアアイテムを、再生または表示のためにクライアントデバイス110、120に送ってよい。例えば、メディアビューア112が、再生リスト上のメディアアイテムを、それらのメディアアイテムが再生リスト上にリストアップされる順序で再生するのに使用されてよい。別の実施例において、ユーザが、再生リスト上のメディアアイテム間で移行してよい。さらに別の実施例において、ユーザが、再生リスト上の次のメディアアイテムが再生されるのを待ってよく、または再生リストにおける或る特定のメディアアイテムを再生のために選択してよい。
一部の実施形態において、ユーザは、ユーザアカウントを介して共有プラットフォーム130上でコンテンツにアクセスしてよい。ユーザは、クライアントデバイス110、120上のアプリケーション(例えば、メディアビューア112)を介してユーザアカウント情報(例えば、ユーザ名およびパスワード)を提供することによってユーザアカウントにアクセスして(例えば、ログインして)よい。一部の実施形態において、ユーザアカウントは、単一のユーザに関連付けられてよい。他の実施形態において、ユーザアカウントは、共有されるアカウント(例えば、多数のユーザによって共有される家族アカウント)(本明細書において「共有されるユーザアカウント」とも呼ばれる)であってよい。共有されるアカウントは、異なるユーザにそれぞれが関連付けられた多数のユーザプロファイルを有してよい。多数のユーザが、同一のアカウント情報または異なるアカウント情報を使用して、共有されるアカウントにログインしてよい。一部の実施形態において、共有されるアカウントの多数のユーザは、共有されるアカウントの異なるユーザプロファイルに基づいて区別されてよい。
一部の実施形態において、データ許可サービス134が、ユーザアカウントを許可して、そのユーザアカウントが、要求されたコンテンツを獲得することを許されるようにしてよい。一部の実施形態において、データ許可サービス134は、ユーザアカウント(例えば、ユーザアカウントに関連付けられたクライアントデバイス)が、要求されたコンテンツにアクセスするのを許可してよく、そのクライアントデバイスに対する要求されたコンテンツの配信を許可してよく、またはその両方を行ってよい。ユーザアカウントが、要求されたコンテンツにアクセスすることの許可は、いずれのコンテンツがアクセスされるか、および誰がそのコンテンツにアクセスすることを許されるかを許可することを含んでよい。コンテンツの配信の許可は、コンテンツがどのように配信されるかを許可することを含んでよい。
一部の実施形態において、データ許可サービス134は、ユーザアカウントを許可するのにユーザアカウント情報を使用してよい。一部の実施形態において、クライアントデバイス110、120またはメディアプレーヤ112に関連付けられた認証トークン(例えば、セッションベースの認証トークン、コンテンツベースの認証トークン、その他)が、ユーザアカウント、および/または要求されたコンテンツの再生を許可するのに使用されてよい。一部の実施形態において、データ許可サービス134は、サービスプロバイダプラットフォーム130の一部である。一部の実施形態において、データ許可サービス134は、サービスプロバイダプラットフォーム130の一部ではなく、第三者(例えば、信頼できる認証サービス)によって提供される許可サービスなどの外部サービスである。
本開示の実施形態は、コンテンツ共有プラットフォーム、ならびにサービスプロバイダプラットフォーム130上でコンテンツアイテムをソーシャルネットワークが共有することを促進することに関して説明されるものの、実施形態は、ユーザ間のつながりをもたらす任意の種類のネットワークに、コンテンツ配信プラットフォームに、またはサービスプロバイダプラットフォームに一般的に適用されてもよい。本開示の実装形態は、ユーザにチャネルサブスクリプションを提供するコンテンツ共有プラットフォームに限定されない。
前段の説明に加えて、ユーザは、ユーザが、本明細書において説明されるシステム、プログラム、またはフィーチャが、ユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的アクションもしくは社会的活動、職業、ユーザの選好、またはユーザの現在のロケーションについての情報)の収集を有効にしてよいかどうか、いつそうしてよいかの両方について選択を行うこと、およびユーザにサーバからコンテンツもしくは通信が送られるかどうかについて選択を行うことを可能にするコントロールを与えられてよい。さらに、或るデータは、記憶される前、または使用される前に、個人的に識別可能な情報が除去されるように1つまたは複数の方法で処置されてよい。例えば、ユーザの身元が、そのユーザに関して個人的に識別可能な情報が特定されなくてよいように、またはユーザの地理的ロケーションが、どこでロケーション情報が獲得されるか(都市、郵便番号、もしくは州レベルなどの)に一般化されて、ユーザの特定のロケーションが特定され得ないようにされてよいように処置されてよい。このため、ユーザは、ユーザについてどのような情報が収集されるか、その情報がどのように使用されるか、およびどのような情報がユーザに提供されるかに対してコントロールを有することが可能である。
図2は、本開示の実施形態による、二次クライアントデバイスを使用して、一次クライアントデバイスによって開始されたサービス要求を認証するための動作の図である。システム200は、図1のシステムアーキテクチャ100と同様の構成要素を含んでよい。図1の構成要素が、図2について説明するのに役立つように使用されてよいことが注記され得る。限定するためではなく、例示する目的で、システム200に関する動作は、サービスプロバイダプラットフォーム130のデータ許可サービス124、一次クライアントデバイス205、および二次クライアントデバイス210によって実行されるものとして説明される。一部の実施形態において、一次クライアントデバイス205は、クライアントデバイス110と同様または同一であってよく、二次クライアントデバイス210は、クライアントデバイス120と同様または同一であってよい。このため、システム200に関する動作は、別段、説明されない限り、例えば、メディアプレーヤ112、リンクモジュール114、および/またはトークンモジュール116などの、クライアントデバイス110、120の任意の構成要素によって実行されてよい。図2に関して説明される動作は、限定するためにではなく、例示するために、順次に実行されるものとして示される。動作は、任意の順序で実行されてよいこと、および動作のいずれも、他の1つまたは複数の動作と同時並行で実行されてよいことが注記され得る。一部の実装形態において、同一の数、異なる数、より少ない数、またはより多い数の動作が、任意の順序で実行されてよい。
動作212において、一次クライアントデバイス205が、データ許可サービス124に、コンテンツ共有プラットフォーム(例えば、サービスプロバイダプラットフォーム130)に関連付けられたユーザアカウントに一次クライアントデバイス205を登録すべく登録要求を送ってよい。例えば、ユーザが、一次クライアントデバイス205上のメディアビューアアプリケーション(例えば、メディアビューア112)を使用して、ユーザ名およびパスワードなどのユーザアカウント情報を提供することによってユーザアカウントにアクセスしてよい。アクセスした(例えば、コンテンツ共有プラットフォームがユーザアカウントを許可して)後、メディアビューア112は、デバイス登録ボタンを提示してよい。ユーザは、コンテンツ共有プラットフォームに一次クライアントデバイス205を登録すべく登録要求を送るようにデバイス登録ボタンを選択してよい。一部の実施形態において、その登録要求は、データ許可サービス124が一次クライアントデバイス205を登録するのに使用してよいクライアントデバイス識別データを含むことが可能である。クライアントデバイス識別データは、一次クライアントデバイス205に関連付けられたデバイスシリアルナンバ、識別番号、IPアドレス、ロケーションデータ、または他の識別データを含んでよい。一部の実施形態において、登録要求に応答して、データ許可サービス124は、一次クライアントデバイス205にクッキーを送ってよい。次に、一次クライアントデバイス205が、コンテンツ共有プラットフォームに対する後続の要求中、登録を証明すべくそのクッキーを使用してよい。一部の実施形態において、登録要求に応答して、データ許可サービス124は、一次クライアントデバイス205に、一次クライアントデバイス205の身元を検証するのにコンテンツ共有プラットフォームによって使用され得る、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵などの1つまたは複数の暗号鍵、証明書、その他を送ってよい。
動作214において、二次クライアントデバイス210が、データ許可サービス124に、コンテンツ共有プラットフォーム(例えば、サービスプロバイダプラットフォーム130)に関連付けられたユーザアカウントに二次クライアントデバイス210を登録すべく登録要求を送ってよい。二次クライアントデバイス210を登録することは、一次クライアントデバイス205を登録することと同様であってよい。詳細には、ユーザは、二次クライアントデバイス210上のメディアビューアアプリケーション(例えば、メディアビューア112)を使用して、ユーザ名およびパスワードなどのユーザアカウント情報を提供することによってユーザアカウントにアクセスしてよい。アクセスした(例えば、コンテンツ共有プラットフォームがユーザアカウントを許可して)後、メディアビューア112が、デバイス登録ボタンを提示してよい。ユーザは、コンテンツ共有プラットフォームに二次クライアントデバイス210を登録すべく登録要求を送るようにデバイス登録ボタンを選択してよい。一部の実施形態において、登録要求は、データ許可サービス124が二次クライアントデバイス210を登録するのに使用し得るクライアントデバイス識別データを含んでよい。クライアントデバイス識別データは、二次クライアントデバイス210に関連付けられたデバイスシリアルナンバ、識別番号、IPアドレス、ロケーションデータ、または他の識別データを含んでよい。一部の実施形態において、その登録要求に応答して、データ許可サービス124は、二次クライアントデバイス210にクッキーを送ってよい。次に、二次クライアントデバイス210が、コンテンツ共有プラットフォームに対する後続の要求中、登録を証明するのにそのクッキーを使用してよい。一部の実施形態において、その登録要求に応答して、データ許可サービス124は、二次クライアントデバイス210に、コンテンツ共有プラットフォームが二次クライアントデバイス210の身元を検証することを可能にすべくコンテンツ共有プラットフォームに送られるメッセージに署名する(または追加する)のに二次クライアントデバイス210によって使用され得る、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵、証明書、その他などの1つまたは複数の暗号鍵を送ってよい。
動作216において、一次クライアントデバイス205が、データ許可サービス124に、二次クライアントデバイス210を認証デバイスとして有効にする要求を送る。認証デバイスは、一次クライアントデバイス205によって発行されたサービス要求を認証するのに使用される物理的に同じ場所に配置された二次デバイスであってよい。サービス要求は、クライアントデバイスによってコンテンツ共有プラットフォームに対して発行される、特定のサービスを求める任意の種類の要求であってよい。一部の実施形態において、認証(認証デバイスによる)を必要とするサービス要求の種類は、事前定義されてよい。例えば、ユーザ入力に応答して、データ許可サービス124は、ログイン要求、コンテンツアップロード要求、および購入要求に関してだけ二次デバイス認証を有効にしてよい。
動作218において、一次クライアントデバイス205が、データ許可サービス124にサービス要求を送る。例えば、一次クライアントデバイス205は、データ許可サービス124に、ユーザアカウントに関連付けられたチャネルにコンテンツをアップロードするよう要求を送ってよい。
動作220において、動作218におけるサービス要求が二次デバイス認証を必要とすると判定したことに応答して、一次クライアントデバイス205は、認証トークンを生成する。認証トークンは、ランダムに生成された数(例えば、64ビットの数、128ビットの数、その他)、文字列、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他であってよい。一部の実施形態において、一次クライアントデバイス205は、二次デバイス認証を必要とするサービス要求の種類をリストアップするデータ構造をスキャンすること、およびそのサービス要求種類がリストに含まれると判定することによって、サービス要求が二次デバイス認証を必要とすると判定してよい。一部の実施形態において、一次クライアントデバイス205は、二次デバイス認証が必要とされるというデータ許可サービス124からの標示(例えば、アラート)を受け取ってよい。
動作222において、一次クライアントデバイス205が、データ許可サービス124に認証トークンの第1のインスタンスを送る。認証トークンの第1のインスタンスは、暗号化されていないデータとして送られてよく、または一次クライアントデバイス205によって暗号化されてよい。一部の実施形態において、一次クライアントデバイス205は、認証トークンの第1のインスタンスに、データ許可サービス124に対して一次クライアントデバイス205を識別することができる秘密鍵および/または公開鍵、証明書、クッキー、または他の任意の識別データを付加してよい。一部の実施形態において、一次クライアントデバイス205は、認証トークンの第1のインスタンスに、IPアドレス、MACアドレス、GPSデータ、その他などのロケーションデータを付加してよい。ロケーションデータは、データ許可サービス124によって、一次クライアントデバイス205と二次クライアントデバイス210が物理的に同じ場所に配置されていることを検証するのに使用されてよい。
一部の実施形態において、認証トークンの第1のインスタンスは、サービス要求に付加されてよい。例えば、コンテンツ共有プラットフォームに対するサービス要求に関するユーザ入力を受け取ることに応答して、一次クライアントデバイス205は、サービス要求を生成すること、認証トークンを生成すること、サービス要求に認証トークンの第1のインスタンスを付加すること、および付加されたサービス要求をデータ許可サービス124に送ることを行ってよい。
動作224において、一次クライアントデバイス205が、二次クライアントデバイス210に認証トークンの第2のインスタンスを送る。認証トークンの第2のインスタンスは、暗号化されていないデータとして送られてよく、または一次クライアントデバイス205によって暗号化されてよい。認証は、二次クライアントデバイス210が一次クライアントデバイス205と物理的に同じ場所に配置されていることに基づくので、一部の実施形態において、一次クライアントデバイス205は、短距離通信技術を使用して二次クライアントデバイス210に認証トークンの第2のインスタンスを送ってよい。例えば、一次クライアントデバイス205は、例えば、P2P、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、Whisper(登録商標)、Wi-Fi(登録商標)、Wi-Fi Direct(Wi-Fi P2P)、赤外線通信技術、超音波通信技術、または他の短距離通信技術などの短距離無線通信技術を使用して、二次クライアントデバイス210に認証トークンの第2のインスタンスを送ってよい。一部の実施形態において、認証トークンの第2のインスタンスは、ケーブル接続(例えば、例えば、ユニバーサルシリアルバス(USB)コネクタ、イーサネットコネクタ、Lightningコネクタ、または他の任意のケーブルコネクタ)などの有線通信技術を使用して、一次クライアントデバイス205から二次クライアントデバイス210に送られてよい。一部の実施形態において、一次クライアントデバイス205は、二次クライアントデバイス210に認証トークンを送るのに複数の種類の短距離通信技術を使用してよい。例えば、一次クライアントデバイス205は、最初、Bluetooth(登録商標)技術を使用して二次クライアントデバイス210に認証トークンを送ろうと試みてよく、失敗した試行に応答して、一次クライアントデバイス205は、次に、赤外線技術を使用して二次クライアントデバイス210に認証トークンの第2のインスタンスを送ろうと試みてよい。使用される短距離通信技術の種類、使用される各短距離通信技術の優先度、および各種類の短距離通信技術の試行の回数は、クライアントデバイスによって(例えば、ユーザアカウントのユーザ設定を介して)、またはコンテンツ共有プラットフォームによって構成されてよい。
動作226において、二次クライアントデバイス210が、データ許可サービス124に認証トークンの第2のインスタンスを送る。一部の実施形態において、認証トークンの第2のインスタンスを送ることに先立って、二次クライアントデバイス210は、デバイス210が一次クライアントデバイス205と同じ場所に配置されていることを確認する。一部の実施形態において、同じ場所に配置されていることは、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)を使用して(例えば、一次クライアントデバイス205が範囲内にあるかどうかを判定すべく発見機能を使用して、ペアリング機能を使用して、その他)、超音波オーディオモデムを使用して(例えば、同じ場所に配置されていることを確立すべくデータを通信するのにクライアントデバイスのスピーカおよびマイクロフォンを使用して)、共有されるIP検出を使用して(例えば、一次クライアントデバイス205と二次クライアントデバイス210がともに同一のIPアドレスを使用しているかどうかを判定して)、地理的位置特定(例えば、全地球測位システム(GPS)データ、セル電話塔データ、Wi-Fiアクセスポイントデータ、その他)を使用して、有線接続を使用して、またはその他により確認されてよい。認証トークンの第2のインスタンスは、暗号化されていないデータとして送られてよく、または二次クライアントデバイス210によって暗号化されてよい。一部の実施形態において、二次クライアントデバイス210は、認証トークンの第2のインスタンスに、データ許可サービス124に対して二次クライアントデバイス205を識別することができる秘密鍵および/または公開鍵、証明書、クッキー、または他の任意の識別データを付加してよい。一部の実施形態において、二次クライアントデバイス210は、認証トークンの第2のインスタンスに、IPアドレス、MACアドレス、GPSデータ、その他などのロケーションデータを付加してよい。ロケーションデータは、データ許可サービス124によって、一次クライアントデバイス205と二次クライアントデバイス210が物理的に同じ場所に配置されていることを検証するのに使用されてよい。
動作228において、データ許可サービス124が、各クライアントデバイスから受け取られた認証トークンの第1のインスタンスと第2のインスタンスを比較して(例えば、受け取られたメッセージを復号した後)、認証トークンのそれらのインスタンスが合致するかどうかを判定する。例えば、データ許可サービス124は、一次クライアントデバイス205から受け取られた数または文字列が、二次クライアントデバイス210から受け取られた数または文字列と同一であるかどうか、各クライアントデバイスから受け取られた証明書が合致するかどうか、その他を判定してよい。一部の実施形態において、データ許可サービス124は、最初に、認証トークンの一方または両方を復号して、認証トークンの暗号署名を特定すること、および/またはトークンを認証することに関連付けられた他の任意のプロセスを実行することをしてよい。認証トークンのインスタンスが合致しない実施形態において、データ許可サービス124は、保留中のサービス要求を拒否してよい。
動作230において、データ許可サービス124が、オプションとして、一次クライアントデバイス205と二次クライアントデバイス210が物理的に同じ場所に配置されていると判定してよい。一部の実施形態において、データ許可サービス124は、一次クライアントデバイス205および二次クライアントデバイス210から受け取られた認証トークンに付加されたロケーションデータを使用して、物理的に同じ場所に配置されていることを判定してよい。例えば、データ許可サービス124は、それぞれのトークンに付加されたロケーションデータを比較して、一次クライアントデバイス205から受け取られた認証トークンに付加されたIPアドレス、MACアドレス、またはGPSデータが、それぞれ、二次クライアントデバイス210から受け取られた認証トークンに付加されたIPアドレス、MACアドレス、またはGPSデータと合致するかどうかを判定してよい。ロケーションデータが合致しない実施形態において、データ許可サービス124は、保留中のサービス要求を拒否してよい。動作230は、他の実施形態において、クライアントデバイス205、210が物理的に同じ場所に配置されていることは、これらの他の実施形態においては、二次クライアントデバイス210が、デバイス210が一次クライアントデバイス205と同じ場所に配置されていること(このことは、例えば、二次クライアントデバイス210が、短距離通信技術を使用して一次クライアントデバイス205と通信することができる場合、確認されてよい)をデバイス210が確認した場合に限って、認証トークンを送るように構成されるので、二次クライアントデバイス210から認証トークンを受け取ることによって確立されてよいため、オプションであることが注記される。
動作232において、データ許可サービス124が、サービス要求を許可する。例えば、データ許可サービス124は、一次クライアントデバイス205から受け取られた保留中のサービス要求を処理する。
図3は、本開示の実施形態による、二次クライアントデバイスを使用して、一次クライアントデバイスによって開始されたサービス要求を認証するための動作の別の図である。システム300は、図1のシステムアーキテクチャ100と同様の構成要素を含んでよい。図1の構成要素が、図3について説明するのに役立つように使用されてよいことが注記され得る。限定するためではなく、例示する目的で、システム300に関する動作は、サービスプロバイダプラットフォーム130のデータ許可サービス124、一次クライアントデバイス305、および二次クライアントデバイス310によって実行されるものとして説明される。一部の実施形態において、一次クライアントデバイス305は、クライアントデバイス110と同様または同一であってよく、二次クライアントデバイス310は、クライアントデバイス120と同様または同一であってよい。このため、システム300に関する動作は、別段、説明されない限り、例えば、メディアプレーヤ112、リンクモジュール114、および/またはトークンモジュール116などの、クライアントデバイス110、120の任意の構成要素によって実行されてよい。図3に関して説明される動作は、限定するためにではなく、例示するために、順次に実行されるものとして示される。動作は、任意の順序で実行されてよいこと、および動作のいずれも、他の1つまたは複数の動作と同時並行で実行されてよいことが注記され得る。一部の実装形態において、同一の数、異なる数、より少ない数、またはより多い数の動作が、任意の順序で実行されてよい。
動作312において、一次クライアントデバイス305が、データ許可サービス124に、関連付けられたコンテンツ共有プラットフォーム(例えば、サービスプロバイダプラットフォーム130)に対して一次クライアントデバイス305を登録すべく登録要求を送ってよい。登録要求は、データ許可サービス124が一次クライアントデバイス205を登録するのに使用することが可能なクライアントデバイス識別データを含んでよい。一部の実施形態において、その登録要求に応答して、データ許可サービス124は、一次クライアントデバイス305にクッキー、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵、証明書、その他などの1つまたは複数の暗号鍵を送ってよい。
動作314において、二次クライアントデバイス310が、データ許可サービス124に、関連付けられたコンテンツ共有プラットフォーム(例えば、サービスプロバイダプラットフォーム130)に対して二次クライアントデバイス310を登録すべく登録要求を送ってよい。二次クライアントデバイス310を登録することは、一次クライアントデバイス305を登録することと同様であってよい。一部の実施形態において、その登録要求に応答して、データ許可サービス124は、二次クライアントデバイス310にクッキー、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵、証明書、その他などの1つまたは複数の暗号鍵を送ってよい。
動作316において、一次クライアントデバイス305が、データ許可サービス124に、二次クライアントデバイス310を認証デバイスとして有効にする要求を送る。一部の実施形態において、認証(認証デバイスによる)を必要とするサービス要求の種類は、事前定義されてよい。
動作318において、一次クライアントデバイス305が、データ許可サービス124にサービス要求を送る。例えば、一次クライアントデバイス305は、データ許可サービス124に、ユーザアカウントに関連付けられたチャネルにコンテンツをアップロードするよう要求を送ってよい。一部の実施形態において、一次クライアントデバイス305は、サービス要求に、IPアドレス、MACアドレス、GPSデータ、その他などのロケーションデータを付加してよい。ロケーションデータは、データ許可サービス124によって、一次クライアントデバイス305と二次クライアントデバイス310が物理的に同じ場所に配置されていることを検証するのに使用されてよい。
動作320において、動作318におけるサービス要求が二次デバイス認証を必要とすると判定したことに応答して、データ許可サービス124は、認証トークンを生成する。認証トークンは、ランダムに生成された数(例えば、64ビットの数、128ビットの数、その他)、文字列、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他であってよい。一部の実施形態において、データ許可サービス124は、二次デバイス認証を必要とするサービス要求の種類をリストアップするデータ構造をスキャンすること、およびそのサービス要求種類がリストに含まれると判定することによって、サービス要求が二次デバイス認証を必要とすると判定してよい。一部の実施形態において、一次クライアントデバイス305は、二次デバイス認証が必要とされることを示すデータ許可サービス124からのアラートを受け取ってよい。
動作322において、データ許可サービス124が、一次クライアントデバイス305に認証トークンを送る。認証トークンは、暗号化されていないデータとして送られてよく、またはデータ許可サービス124によって暗号化されてよい。
動作324において、一次クライアントデバイス305が、その認証トークンを二次クライアントデバイス310に送る。認証トークンは、暗号化されていないデータとして送られてよく、または一次クライアントデバイス305によって暗号化されてよい。その認証は、二次クライアントデバイス310が一次クライアントデバイス305と物理的に同じ場所に配置されていることに基づくので、一部の実施形態において、一次クライアントデバイス305は、短距離通信技術を使用してその認証トークンを二次クライアントデバイス310に送ってよい。例えば、一次クライアントデバイス305は、短距離無線通信技術または有線通信技術を使用してその認証トークンを二次クライアントデバイス310に送ってよい。一部の実施形態において、一次クライアントデバイス305は、その認証トークンを二次クライアントデバイス310に送るのに複数の種類の短距離通信技術を使用してよい。
動作326において、二次クライアントデバイス310が、その認証トークンをデータ許可サービス124に送る。同様に、その認証トークンは、暗号化されていないデータとして送られてよく、または二次クライアントデバイス310によって暗号化されてよい。一部の実施形態において、二次クライアントデバイス310は、その認証トークンに、データ許可サービス124に対して二次クライアントデバイス305を識別することができる秘密鍵および/または公開鍵、証明書、クッキー、または他の任意の識別データを付加してよい。一部の実施形態において、二次クライアントデバイス310は、その認証トークンに、IPアドレス、MACアドレス、GPSデータ、その他などのロケーションデータを付加してよい。ロケーションデータは、データ許可サービス124によって、一次クライアントデバイス305と二次クライアントデバイス310が物理的に同じ場所に配置されていることを検証するのに使用されてよい。
動作328において、データ許可サービス124が、二次クライアントデバイス310から受け取られた認証トークンを、動作322において一次クライアントデバイス305に対して発行された認証トークンと比較して、それらの認証トークンが合致するかどうかを判定する。例えば、データ許可サービス124は、二次クライアントデバイス310から受け取られた数または文字列が、データ許可サービス124によって生成された数または文字列と同一であるかどうかを判定してよい。一部の実施形態において、データ許可サービス124は、最初に、受け取られた認証トークンを復号すること、認証トークンの暗号署名を特定すること、および/または二次クライアントデバイス310から受け取られたトークンを認証することに関連付けられた他の任意のプロセスを実行することをしてよい。認証トークンが合致しない実施形態において、データ許可サービス124は、保留中のサービス要求を拒否してよい。
動作330において、データ許可サービス124が、オプションとして、一次クライアントデバイス305と二次クライアントデバイス310が物理的に同じ場所に配置されていると判定することが可能である。一部の実施形態において、データ許可サービス124は、一次クライアントデバイス305から受け取られたサービス要求に付加されたロケーションデータ、および二次クライアントデバイス310から受け取られた認証トークンに付加されたロケーションデータを使用することによって物理的に同じ場所に配置されていることを判定してよい。例えば、データ許可サービス124は、ロケーションデータを比較して、一次クライアントデバイス305から受け取られたサービス要求に付加されたIPアドレス、MACアドレス、またはGPSデータが、それぞれ、二次クライアントデバイス310から受け取られた認証トークンに付加されたIPアドレス、MACアドレス、またはGPSデータとそれぞれ合致するかどうかを判定する。ロケーションデータが合致しない実施形態において、データ許可サービス124は、保留中のサービス要求を拒否してよい。
動作332において、データ許可サービス124が、サービス要求を許可する。例えば、データ許可サービス124は、一次クライアントデバイス305から受け取られた保留中のサービス要求を処理する。
図4は、本開示の一部の態様による、一次クライアントデバイスによって開始されたサービス要求を認証するためのプロセスを示す方法400のフローチャートを示す。方法400は、ハードウェア(回路、専用のロジック、その他)、ソフトウェア(汎用コンピュータシステム上、または専用の機械上で実行されるような)、またはハードウェアとソフトウェアの組合せを備えてよい処理ロジックによって実行される。一実装形態において、方法は、サービスプロバイダプラットフォーム130のサーバ、または図1のサービスプロバイダプラットフォーム130のサーバに関連付けられたデータ許可サービス124によって実行される一方で、他の一部の実装形態において、図4の1つまたは複数のブロックは、別の機械によって実行されてよい。一実装形態において、データ許可サービス134の処理デバイスが、方法400を実行する。
動作412において、処理デバイスが、一次クライアントデバイスをユーザアカウントに登録する。例えば、処理デバイスは、一次クライアントデバイス(例えば、第1のクライアントデバイス110)から、サービスプロバイダプラットフォームに関連付けられたユーザアカウントに一次クライアントデバイスを登録すべく登録要求を受け取ってよい。一部の実施形態において、処理デバイスは、最初に、一次クライアントデバイスがユーザアカウントにアクセスすることを可能にすべく、ユーザ名およびパスワードなどのユーザアカウント情報を受け取ってよい。一部の実施形態において、登録要求は、一次クライアントデバイスに関連付けられたデバイスシリアルナンバ、識別番号、IPアドレス、ロケーションデータ、または他の識別データなどのクライアントデバイス識別データを含んでよい。一部の実施形態において、登録が行われた後、処理デバイスは、一次クライアントデバイスにクッキーを送ってよい。次に、一次クライアントデバイスが、サービスプロバイダプラットフォームに対する後続の要求中、登録を証明すべくそのクッキーを使用してよい。一部の実施形態において、登録が行われた後、処理デバイスは、一次クライアントデバイスに、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵、証明書、その他などの1つまたは複数の暗号鍵を送ってよい。
動作414において、処理デバイスが、ユーザアカウントに対して二次クライアントデバイスを登録する。例えば、処理デバイスは、二次クライアントデバイス(例えば、第2のクライアントデバイス120)から、サービスプロバイダプラットフォームに関連付けられたユーザアカウントに二次クライアントデバイスを登録すべく登録要求を受け取ってよい。一部の実施形態において、処理デバイスは、最初に、二次クライアントデバイスがユーザアカウントにアクセスすることを可能にすべく、ユーザ名およびパスワードなどのユーザアカウント情報を受け取ってよい。一部の実施形態において、登録要求は、二次クライアントデバイスに関連付けられたデバイスシリアルナンバ、識別番号、IPアドレス、ロケーションデータ、または他の識別データなどのクライアントデバイス識別データを含んでよい。一部の実施形態において、登録が行われた後、処理デバイスは、二次クライアントデバイスにクッキーを送ってよい。次に、二次クライアントデバイスが、サービスプロバイダプラットフォームに対する後続の要求中、登録を証明すべくそのクッキーを使用してよい。一部の実施形態において、登録が行われた後、処理デバイスは、二次クライアントデバイスに、1つまたは複数の公開鍵および/または1つまたは複数の秘密鍵、証明書、その他などの1つまたは複数の暗号鍵を送ってよい。
動作416において、処理デバイスが、一次クライアントデバイスまたは二次クライアントデバイスから、二次クライアントデバイスが認証デバイスとして機能することを有効にする要求を受け取る。一部の実施形態において、認証(認証デバイスによる)を必要とするサービス要求の種類は、事前定義されてよい。例えば、処理デバイスは、ログイン要求、コンテンツアップロード要求、および購入要求だけに関して二次デバイス認証を有効にするユーザ入力を受け取ってよい。
動作418において、処理デバイスが、一次クライアントデバイスからサービス要求を受け取る。例えば、処理デバイスは、ユーザアカウントに関連付けられたチャネルにコンテンツをアップロードする要求を受け取ってよい。一部の実施形態において、サービス要求は、一次クライアントデバイスの身元を検証するのに使用されるクッキーまたは他の任意の種類の識別データを含んでよい。さらに、処理デバイスは、一次クライアントデバイスから認証トークンの第1のインスタンスを受け取る。認証トークンの第1のインスタンスは、サービス要求に関連付けられてよい。一部の実施形態において、認証トークンの第1のインスタンスは、サービス要求に付加される。認証トークンの第1のインスタンスは、ランダムに生成された数(例えば、64ビットの数、128ビットの数、その他)、文字列、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他であってよい。一部の実施形態において、認証トークンの第1のインスタンスは、IPアドレス、MACアドレス、GPSデータ、その他などの、一次クライアントデバイスに関連付けられたロケーションデータを含んでよい。一部の実施形態において、処理デバイスは、認証トークンの第1のインスタンスが受け取れた後、認証トークンの第1のインスタンスを復号すること、認証トークンの暗号署名を特定すること、および/またはトークンを認証することに関連付けられた他の任意のプロセスを実行することをしてよい。
動作420において、処理デバイスが、二次クライアントデバイスから認証トークンの第2のインスタンスを受け取る。一部の実施形態において、認証トークンの第2のインスタンスは、IPアドレス、MACアドレス、GPSデータ、その他などの、二次クライアントデバイスに関連付けられたロケーションデータを含んでよい。一部の実施形態において、認証トークンの第2のインスタンスは、二次クライアントデバイスを識別することができる秘密鍵および/または公開鍵、証明書、クッキー、または他の任意の識別データを含む。一部の実施形態において、二次クライアントデバイスは、最初に、二次クライアントデバイスが一次クライアントデバイスと同じ場所に配置されていることを確認してよく、その後、初めて、認証トークンの第2のインスタンスを送ってよい(例えば、その秘密鍵を使用してそれに署名した後)。一部の実施形態において、処理デバイスは、最初に、(例えば、対応する公開鍵を使用して)認証トークンの第2のインスタンスを復号すること、認証トークンの暗号署名を特定すること、および/またはトークンを認証することに関連付けられた他の任意のプロセスを実行することをしてよい。
動作422において、処理デバイスが、認証トークンの第1のインスタンスを認証トークンの第2のインスタンスと比較して、その2つのインスタンスが合致するかどうかを判定する。例えば、処理デバイスは、第1のインスタンスに関連付けられた数または文字列が、第2のインスタンスに関連付けられた数または文字列と同一であるかどうかを判定してよい。認証トークンのそれらのインスタンスが合致しない実施形態において、処理デバイスは、保留中のサービス要求を拒否してよい。
動作424において、オプションとして、処理デバイスは、一次クライアントデバイスと二次クライアントデバイスが物理的に同じ場所に配置されていると判定することが可能である。一部の実施形態において、処理デバイスは、認証トークンの第1のインスタンスおよび第2のインスタンスから受け取られたロケーションデータを使用することによって、物理的に同じ場所に配置されていることを判定してよい。例えば、処理デバイスは、認証トークンの第1のインスタンスに関連付けられた(またはサービス要求に関連付けられた)IPアドレス、MACアドレス、またはGPSデータが、認証トークンの第2のインスタンスに関連付けられたIPアドレス、MACアドレス、またはGPSデータにそれぞれ対応する(例えば、合致する、またはそれ以外で接近した近接性を示す)かどうかを判定してよい。一次クライアントデバイスのロケーションデータが二次クライアントデバイスのロケーションデータに対応しない実施形態において、処理デバイスは、保留中のサービス要求を拒否してよい。
動作426において、処理デバイスが、サービス要求を許可する。例えば、処理デバイスは、一次クライアントデバイスから受け取られた保留中のサービス要求を処理してよい。
図5は、本開示の一部の態様による、認証デバイスによる認証を必要とするサービス要求を開始するためのプロセスを示す方法500のフローチャートを示す。方法500は、ハードウェア(回路、専用のロジック、その他)、ソフトウェア(汎用コンピュータシステム上、または専用の機械上で実行されるような)、またはハードウェアとソフトウェアの組合せを備えてよい処理ロジックによって実行される。一実装形態において、方法は、図1の第1のクライアントデバイス110によって実行される一方で、他の一部の実装形態において、図5の1つまたは複数のブロックは、別の機械によって実行されてよい。一実装形態において、第1のクライアントデバイス110の処理デバイスが、方法500を実行する。
動作512において、処理デバイスが、サーバ(例えば、コンテンツ共有プラットフォームまたは他の任意のサービスプロバイダプラットフォームのサーバ)にサービス要求を送る。例えば、処理デバイスは、ユーザアカウントに関連付けられたチャネルにコンテンツをアップロードする要求を送ってよい。一部の実施形態において、サービス要求は、処理デバイスに関連付けられた一次クライアントデバイスの身元を検証するのに使用されるクッキーまたは他の任意の種類の識別データを含んでよい。一部の実施形態において、一次クライアントデバイスは、サービスプロバイダプラットフォームに登録されてよい。
動作514において、処理デバイスが、認証トークンを生成する。認証トークンは、ランダムに生成された数(例えば、64ビットの数、128ビットの数、その他)、文字列、暗号署名、鍵-値ペア、ハッシュ値、証明書、その他であってよい。
動作516において、処理デバイスが、サーバに認証トークンの第1のインスタンスを送る。認証トークンの第1のインスタンスがサービス要求に付加される一部の実施形態において、動作512と動作516は、動作514の後に実行される単一の動作にされるように組み合わされる。一部の実施形態において、認証トークンの第1のインスタンスは、IPアドレス、MACアドレス、GPSデータ、その他などの、一次クライアントデバイスに関連付けられたロケーションデータを含んでよい。一部の実施形態において、認証トークンは、秘密鍵および/または公開鍵、証明書、クッキー、または他の任意の識別データを付加されてよい。
動作518において、処理デバイスが、二次クライアントデバイスに認証トークンの第2のインスタンスを送る。二次クライアントデバイスは、一次クライアントデバイスによって発行されたサービス要求を認証するのに使用される物理的に同じ場所に配置された認証デバイスであってよい。認証トークンの第2のインスタンスは、暗号化されていないデータとして送られてよく、または処理デバイスによって暗号化されてよい。認証は、二次クライアントデバイスが一次クライアントデバイスと物理的に同じ場所に配置されていることに基づくので、一部の実施形態において、処理デバイスは、有線または無線の短距離通信技術を使用して二次クライアントデバイスに認証トークンを送ってよい。
動作520において、処理デバイスが、サーバから、サーバによるサービス要求の受付けを表す応答を受け取り、その応答は、第1のクライアントデバイスによってサーバに送られた認証トークンの第1のインスタンスが、第2のクライアントデバイスによってサーバに送られた認証トークンの第2のインスタンスと合致することを示す。一部の実施形態において、応答は、サービス要求が処理された、または完了されたという標示を含む。サービス要求は、サーバが、認証トークンの第1のインスタンスを認証トークンの第2のインスタンスと比較すること、およびその2つのインスタンスが合致すると判定したことに応答して、処理されてよく、または完了されてよい。認証トークンのそれらのインスタンスが合致しない実施形態において、処理デバイスは、サービス要求が拒否されたという標示を受け取ってよい。
図6は、本開示の実施形態による、例示的なコンピュータシステム600を示すブロック図である。コンピュータシステム600は、本明細書において説明される方法のうちの任意の1つまたは複数を機械に実行させる1つまたは複数のセットの命令を実行する。セットの命令、命令、およびそれに類する用語は、コンピュータシステム600によって実行されると、クライアントデバイス110、120(図示せず)および/またはデータ許可サービスの1つまたは複数の動作をコンピュータシステム600に実行させる命令を指すことが可能である。その機械は、クライアント-サーバネットワーク環境におけるサーバまたはクライアントデバイスの資格で動作してよく、またはピアツーピア(もしくは分散型)ネットワーク環境におけるピアマシンとして動作してよい。その機械は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、あるいはその機械によって行われるべき特定のアクションを指定するセットの命令(順次の、またはそれ以外の)を実行することができる任意の機械であってよい。さらに、単一の機械だけが例示されるが、「機械」という術語は、本明細書において説明される方法のうちの任意の1つまたは複数を実行すべくセットの命令を個々に、または共同で実行する機械の任意の集まりを含むものとも解釈されるべきものとする。
コンピュータシステム600は、バス608を介して互いに通信する、処理デバイス602、メインメモリ604(例えば、読取り専用メモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)もしくはRambus DRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、その他)、スタティックメモリ606(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)、その他)、およびデータストレージデバイス616を含む。
処理デバイス602は、マイクロプロセッサ、中央処理装置、またはそれに類するものなどの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイス602は、複合命令セットコンピューティング(complex instruction set computing:CISC)マイクロプロセッサ、縮小命令セットコンピューティング(reduced instruction set computing:RISC)マイクロプロセッサ、超長命令語(very long instruction word:VLIW)マイクロプロセッサ、あるいは他の命令セットを実装する処理デバイス、または命令セットの組合せを実装する処理デバイスであってよい。また、処理デバイス602は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、またはそれに類するものなどの1つまたは複数の専用の処理デバイスであってもよい。処理デバイス602は、本明細書において説明される動作を実行するためにシステムアーキテクチャ100および許可モジュール151の命令を実行するように構成される。
コンピュータシステム600は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワーク618を介して他の機械との通信を可能にするネットワークインターフェースデバイス622をさらに含んでよい。また、コンピュータシステム600は、ディスプレイデバイス610(例えば、液晶ディスプレイ(LCD)もしくは陰極線管(CRT))、英数字入力デバイス612(例えば、キーボード)、カーソルコントロールデバイス614(例えば、マウス)、および信号生成デバイス620(例えば、スピーカ)をさらに含んでもよい。
データストレージデバイス616は、本明細書において説明される方法または機能のうちの任意の1つまたは複数を実体化する、システムアーキテクチャ100または許可モジュール138のセットの命令が記憶された非一過性のコンピュータ可読記憶媒体624を含んでよい。また、システムアーキテクチャ100、クライアントデバイス110、120(図示せず)、および/またはデータ許可サービスのセットの命令は、コンピュータシステム600によってそれらのセットの命令が実行されている間、完全に、または少なくとも部分的に、メインメモリ604内に、および/または処理デバイス602内に存在してもよく、メインメモリ604および処理デバイス602もまた、コンピュータ可読記憶媒体を構成する。セットの命令は、ネットワークインターフェースデバイス622経由でネットワーク618を介してさらに送信されること、または受信されることが可能である。
コンピュータ可読記憶媒体624の例は、単一の媒体として示されるが、「コンピュータ可読記憶媒体」という術語は、セットの命令を記憶する単一の媒体または多数の媒体(例えば、集中型データベースもしくは分散型データベース、および/または関連付けられたキャッシュおよびサーバ)を含むことが可能である。「コンピュータ可読記憶媒体」という術語は、機械によって実行されるように命令のセットを記憶すること、符号化すること、または担持することが可能であり、本開示の方法のうちの任意の1つまたは複数をその機械に実行させる任意の媒体を含むことが可能である。「コンピュータ可読記憶媒体」という術語は、ソリッドステートメモリ、光媒体、および磁気媒体を含むことが可能であるが、これらには限定されない。
以上の説明において、多数の詳細が提示される。しかし、本開示は、これらの特定の詳細なしに実施されてもよいことが、本開示を利用する当業者には認識されよう。一部のインスタンスにおいて、よく知られた構造およびデバイスは、本開示を不明瞭にするのを回避するために、詳細にではなく、ブロック図の形態で示される。
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズムおよび記号表現として提示されてきた。これらのアルゴリズム上の説明および表現は、データ処理技術の業者によって、自らの作業の実質を他の当業者に最も効率的に伝えるべく使用される手段である。アルゴリズムは、この場合、および一般に、望ましい結果につながる動作の自己整合性のあるシークエンスであるものと想念される。それらの動作は、物理量の物理的操作を必要とする動作である。通常、必然的にではないものの、これらの量は、記憶されること、転送されること、組み合わされること、比較されること、およびそれ以外で操作されることが可能な電気信号または磁気信号の形態をとる。ときとして、主として一般的な用法の理由で、これらの信号をビット、値、要素、記号、文字、項、数、またはそれに類する言葉で呼ぶことが好都合であることが判明している。
しかし、これら、および類似する術語のすべては、適切な物理量に関連付けられるべきものであり、これらの量に適用される便利なラベルに過ぎないことに留意されてよい。別段、明記されない限り、説明の全体にわたって、「生成すること」、「提供すること」、「調整すること」、「受け取ること」、「取り消すこと」、またはそれに類する言葉などの術語を利用した記述は、コンピュータシステムメモリ内、またはコンピュータレジストリ内の物理(例えば、電子的)量として表されるデータを操作して、コンピュータシステムメモリ内、またはコンピュータレジストリ内の、あるいは他のそのような情報ストレージデバイス内、情報伝送デバイス内、または情報表示デバイス内の物理量として同様に表される他のデータに変換するコンピュータシステム、または類似した電子コンピューティングデバイスのアクションおよびプロセスについて述べるものと理解されたい。
また、本開示は、本明細書における動作を実行するための装置にも関する。この装置は、必要とされる目的のために特に構築されてよく、またはコンピュータに記憶されたコンピュータプログラムによって選択的に活性化される、または再構成される汎用コンピュータを含んでよい。そのようなコンピュータプログラムは、フロッピディスク、光ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、光磁気ディスクを含む任意の種類のディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブル読取り専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、磁気カードもしくは光カード、あるいは電子命令を記憶することに適した任意の種類の媒体などの、ただし、これらには限定されないコンピュータ可読記憶媒体に記憶されてよい。
「例」または「例示的」という語は、例、事例、または例示として役立つことを意味するように本明細書において使用される。「例」または「例示的」であるとして本明細書において説明されるいずれの態様または設計も、他の態様または他の設計より好ましいまたは有利であると必ずしも解釈されるべきではない。むしろ、「例」または「例示的」という語の使用は、概念を具体的な様態で提示することを意図している。本明細書において使用される「または」という術語は、排他的な「または」ではなく、包含的な「または」を意味することを意図している。すなわち、そうでないことが明記されない限り、または文脈からそうでないことが明白でない限り、「Xは、AまたはBを含む」は、自然な包含的な置換のいずれも含むことを意図している。すなわち、XがAを含む場合、XがBを含む場合、またはXがAとBをともに含む場合、「Xは、AまたはBを含む」は、以上の事例のいずれの下においても満たされる。さらに、本出願および添付の特許請求の範囲において使用される「或る(a)」および「或る(an)」という冠詞は、そうでないことが明記されない限り、または単数形を対象とすることが文脈から明白でない限り、一般に、「1つまたは複数の」を意味するものと解釈される。さらに、本明細書全体にわたる「或る実施形態」もしくは「一実施形態」、または「或る実装形態」もしくは「一実装形態」という術語の使用は、そのように説明されるのでない限り、同一の実施形態、または同一の実装形態を意味すること意図していない。本明細書において使用される「第1の」、「第2の」、「第3の」、「第4の」などの術語は、異なる要素の間で区別するラベルとして意図され、それらの数字的な指定による順序的な意味を必ずしも有さなくてよい。
説明を簡単にするため、本明細書における方法は、一連の動作(act)または動作(operation)として示され、説明される。しかし、本開示による動作は、様々な順序で、かつ/または同時並行に、本明細書において提示されず、説明されない他の動作と一緒に生じることが可能である。さらに、例示されるすべての動作が、開示される主題による方法を実装するのに必要とされるわけではない可能性がある。さらに、方法は、代替として、状態図またはイベントを介して、一連の互いに関係する状態として表されることも可能であることが、当業者には理解され、認識されよう。さらに、本明細書において開示される方法は、そのような方法を運ぶこと、およびコンピューティングデバイスに移すことを容易化すべく製品上に記憶されることが可能であることを認識されたい。本明細書において使用される製品という術語は、任意のコンピュータ可読デバイスまたはコンピュータ可読記憶媒体からアクセス可能なコンピュータプログラムを包含することを意図している。
さらなる実施形態において、前述される実施形態の動作を実行するための1つまたは複数の処理デバイスが、開示される。さらに、本開示の実施形態において、非一過性のコンピュータ可読記憶媒体が、説明される実施形態の動作を実行するための命令を記憶する。また、他の実施形態において、説明される実施形態の動作を実行するためのシステムも開示される。
前段の説明は、例示的であることを意図しており、限定することは意図していないことを理解されたい。前段の説明を読むこと、および理解することで、他の実施形態が、当業者には明白となろう。したがって、本開示の範囲は、添付の特許請求の範囲、ならびにそのような特許請求の範囲に権利として認められる均等物の完全な範囲を参照して特定されてよい。
100 システムアーキテクチャ
110、120、205、210、305、310 クライアントデバイス
112 メディアモジュール
114 リンクモジュール
116 トークンモジュール
124、134 データ許可サービス
130 サービスプロバイダプラットフォーム
135 データストア
150 ネットワーク
200 システム
600 コンピュータシステム
602 処理デバイス
604、606 メモリ
608 バス
610 ディスプレイデバイス
612 英数字入力デバイス
614 カーソルコントロールデバイス
616 データストレージデバイス
618 ネットワーク
620 信号生成デバイス
622 ネットワークインターフェースデバイス
624 コンピュータ可読記憶媒体

Claims (21)

  1. サーバによる、第1のクライアントデバイスからのサービス要求、および前記サービス要求に関連付けられ、かつ前記第1のクライアントデバイスによって生成された認証トークンの第1のインスタンスを受け取るステップと、
    第2のクライアントデバイスから、前記サービス要求に関連付けられ、かつ前記第1のクライアントデバイスによって生成された前記認証トークンの第2のインスタンスを受け取るステップと、
    前記認証トークンの前記第1のインスタンスが前記認証トークンの前記第2のインスタンスと合致すると判定したことに応答して、前記サービス要求を処理するステップと
    を含む方法。
  2. 前記第1のクライアントデバイスに関連付けられた第1のロケーションデータを受け取るステップと、
    前記第2のクライアントデバイスに関連付けられた第2のロケーションデータを受け取るステップと、
    前記第1のロケーションデータが前記第2のロケーションデータに対応すると判定したことに応答して、前記サービス要求を処理するステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記第1のロケーションデータは、インターネットプロトコル(IP)アドレス、メディアアクセス制御(MAC)アドレス、全地球測位システム(GPS)データ、セル電話塔データ、またはWi-Fiアクセスポイントデータのうちの少なくとも1つを含む、請求項2に記載の方法。
  4. 前記サービス要求は、ログイン要求、コンテンツアップロード要求、コンテンツ検索要求、コンテンツ消費要求、コンテンツ承認要求、コンテンツ不承認要求、コンテンツについてのコメント要求、設定変更要求、個人詳細変更要求、または購入要求のうちの少なくとも1つを含む、請求項1に記載の方法。
  5. 前記認証トークンは、ランダムに生成された数、ランダムに生成された文字列、暗号署名、鍵-値ペア、ハッシュ値、または証明書のうちの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記第2のクライアントデバイスは、前記第1のクライアントデバイスのための認証デバイスとして登録される、請求項1に記載の方法。
  7. 前記サービス要求は、前記第2のクライアントデバイスによる認証を必要とする種類のサービス要求として識別される、請求項1に記載の方法。
  8. 前記認証トークンの前記第1のインスタンスが前記認証トークンの前記第2のインスタンスと合致しないと判定したことに応答して、前記サービス要求を拒否するステップをさらに含む、請求項1に記載の方法。
  9. 前記第1のロケーションデータが前記第2のロケーションデータに対応しないと判定したことに応答して、前記サービス要求を拒否するステップをさらに含む、請求項2に記載の方法。
  10. 第1のクライアントデバイスによる、認証トークンの第1のインスタンスおよび前記認証トークンの第2のインスタンスを生成するステップと、
    前記第1のクライアントデバイスによる、サーバにサービス要求および前記認証トークンの前記第1のインスタンスを送るステップと、
    第2のクライアントデバイスに前記認証トークンの前記第2のインスタンスを送るステップと、
    前記サーバから、前記サーバによる前記サービス要求の受付けを表す応答を受け取るステップであって、前記応答は、前記第1のクライアントデバイスによって前記サーバに送られた前記認証トークンの前記第1のインスタンスが、前記第2のクライアントデバイスによって前記サーバに送られた前記認証トークンの前記第2のインスタンスと合致することを示す、受け取るステップと
    を含む方法。
  11. 前記認証トークンの前記第2のインスタンスは、短距離通信技術を使用して前記第2のクライアントデバイスに送られる、請求項10に記載の方法。
  12. 前記サーバに前記第1のクライアントデバイスに関連付けられた第1のロケーションデータを送るステップをさらに含む方法であって、
    前記サーバによる前記サービス要求の受付けを表す前記応答は、前記第1のクライアントデバイスによって前記サーバに送られた前記第1のロケーションデータが、前記第2のクライアントデバイスによって前記サーバに送られた第2のロケーションデータに対応することをさらに示す、請求項10に記載の方法。
  13. 前記第1のロケーションデータは、インターネットプロトコル(IP)アドレス、メディアアクセス制御(MAC)アドレス、全地球測位システム(GPS)データ、セル電話塔データ、またはWi-Fiアクセスポイントデータのうちの少なくとも1つを含む、請求項12に記載の方法。
  14. 前記サービス要求は、ログイン要求、コンテンツアップロード要求、コンテンツ検索要求、コンテンツ消費要求、コンテンツ承認要求、コンテンツ不承認要求、コンテンツについてのコメント要求、設定変更要求、個人詳細変更要求、または購入要求のうちの少なくとも1つを含む、請求項10に記載の方法。
  15. 前記認証トークンは、ランダムに生成された数、ランダムに生成された文字列、暗号署名、鍵-値ペア、ハッシュ値、または証明書のうちの少なくとも1つを含む、請求項10に記載の方法。
  16. 前記第2のクライアントデバイスは、前記第1のクライアントデバイスのための認証デバイスとして登録される、請求項10に記載の方法。
  17. 前記サービス要求は、前記第2のクライアントデバイスによる認証を必要とする種類のサービス要求として識別される、請求項10に記載の方法。
  18. 前記第2のロケーションデータは、前記第2のクライアントデバイスが、前記第2のクライアントデバイスが前記第1のクライアントデバイスと同じ場所に配置されていると判定した後、前記第2のクライアントデバイスによって前記サーバに送られる、請求項12に記載の方法。
  19. メモリと、
    前記メモリに結合され、
    第1のクライアントデバイスからのサービス要求を受け取ること、
    前記第1のクライアントデバイスから、前記サービス要求に関連付けられた認証トークンの第1のインスタンスを受け取ること、
    第2のクライアントデバイスから、前記サービス要求に関連付けられた前記認証トークンの第2のインスタンスを受け取ることであって、前記認証トークンの前記第2のインスタンスは、前記第1のクライアントデバイスによって生成されている、受け取ること、および
    前記認証トークンの前記第1のインスタンスが前記認証トークンの前記第2のインスタンスと合致すると判定したことに応答して、前記サービス要求を処理することを行うように構成された処理デバイスと
    を備えるシステム。
  20. 前記処理デバイスは、
    前記第1のクライアントデバイスに関連付けられた第1のロケーションデータを受け取ること、
    前記第2のクライアントデバイスに関連付けられた第2のロケーションデータを受け取ること、および
    前記第1のロケーションデータが前記第2のロケーションデータに対応すると判定したことに応答して、前記サービス要求を処理することを行うようにさらに構成される、請求項19に記載のシステム。
  21. 前記処理デバイスは、
    前記認証トークンの前記第1のインスタンスが前記認証トークンの前記第2のインスタンスと合致しないと判定したことに応答して、前記サービス要求を拒否するようにさらに構成される、請求項19に記載のシステム。
JP2023558835A 2021-10-28 2022-10-27 クッキー窃盗を防止すべく同じ場所に設置された二次デバイスを使用すること Pending JP2024519654A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/513,564 2021-10-28
US17/513,564 US20230137767A1 (en) 2021-10-28 2021-10-28 Using co-located secondary devices to protect against cookie theft
PCT/US2022/048082 WO2023076512A1 (en) 2021-10-28 2022-10-27 Using co-located secondary devices to protect against cookie theft

Publications (1)

Publication Number Publication Date
JP2024519654A true JP2024519654A (ja) 2024-05-21

Family

ID=84367311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023558835A Pending JP2024519654A (ja) 2021-10-28 2022-10-27 クッキー窃盗を防止すべく同じ場所に設置された二次デバイスを使用すること

Country Status (7)

Country Link
US (1) US20230137767A1 (ja)
EP (1) EP4292247A1 (ja)
JP (1) JP2024519654A (ja)
KR (1) KR20230151024A (ja)
CN (1) CN117121437A (ja)
TW (1) TW202318231A (ja)
WO (1) WO2023076512A1 (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101218559A (zh) * 2005-05-06 2008-07-09 弗里塞恩公司 令牌共享系统和方法
US8875236B2 (en) * 2007-06-11 2014-10-28 Nokia Corporation Security in communication networks
US9154953B2 (en) * 2010-12-10 2015-10-06 At&T Intellectual Property I, L.P. Network access via telephony services
MY183320A (en) * 2011-09-19 2021-02-18 E Lock Corp Sdn Bhd Method of controlling access to an internet-based application
US8752156B1 (en) * 2012-03-30 2014-06-10 Emc Corporation Detecting soft token copies
US9413758B2 (en) * 2012-05-24 2016-08-09 Fmr Llc Communication session transfer between devices
US8788471B2 (en) * 2012-05-30 2014-07-22 International Business Machines Corporation Matching transactions in multi-level records
US20130332358A1 (en) * 2012-06-12 2013-12-12 Ebay, Inc. Fraud detection system
US20140173695A1 (en) * 2012-12-18 2014-06-19 Google Inc. Token based account access
US20140282923A1 (en) * 2013-03-14 2014-09-18 Motorola Mobility Llc Device security utilizing continually changing qr codes
US9836727B1 (en) * 2013-08-30 2017-12-05 Capital One Financial Corporation Systems and methods for point of sale deposits
US10548007B2 (en) * 2013-11-15 2020-01-28 Here Global B.V. Security operations for wireless devices
WO2017031504A1 (en) * 2015-08-20 2017-02-23 Cloudwear, Inc. Method and apparatus for geographic location based electronic security management
US11494727B2 (en) * 2016-08-11 2022-11-08 TruckPay Inc. Job verification method and system based on code scanning

Also Published As

Publication number Publication date
KR20230151024A (ko) 2023-10-31
CN117121437A (zh) 2023-11-24
US20230137767A1 (en) 2023-05-04
EP4292247A1 (en) 2023-12-20
TW202318231A (zh) 2023-05-01
WO2023076512A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
AU2015218600B2 (en) Transferring authorization from an authenticated device to an unauthenticated device
US20200084045A1 (en) Establishing provenance of digital assets using blockchain system
JP7540019B2 (ja) 複数の暗号学的デジタル署名を使用したコンテンツアクセスおよびコンテンツ配信の認可の分離
US20220286300A1 (en) Systems and methods to evaluate client device trust in a distributed computing system
US20230217054A1 (en) Systems and methods to deliver content during client authentication process in a distributed computing system
US20230137767A1 (en) Using co-located secondary devices to protect against cookie theft

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240805