JP2023525774A - Key Generation Method Using Controlled Corruption in Computer Networks - Google Patents

Key Generation Method Using Controlled Corruption in Computer Networks Download PDF

Info

Publication number
JP2023525774A
JP2023525774A JP2022568446A JP2022568446A JP2023525774A JP 2023525774 A JP2023525774 A JP 2023525774A JP 2022568446 A JP2022568446 A JP 2022568446A JP 2022568446 A JP2022568446 A JP 2022568446A JP 2023525774 A JP2023525774 A JP 2023525774A
Authority
JP
Japan
Prior art keywords
data
key
privacy
server
code
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
JP2022568446A
Other languages
Japanese (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.)
Autnhive Corp
Original Assignee
Autnhive Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/872,127 external-priority patent/US10903997B2/en
Application filed by Autnhive Corp filed Critical Autnhive Corp
Publication of JP2023525774A publication Critical patent/JP2023525774A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Abstract

【解決手段】本発明は、データ、ドキュメント、デバイス、通信、及びトランザクションを保護するために動作可能なプラットフォーム及び/又はアグノスティックな方法及びシステムである。本発明の実施形態は、ユーザを認証するために動作可能であってよく、任意のクライアントシステムで動作可能であってよい。この方法及びシステムは、アノニマスな関連情報の固有部分を複数のデバイス間に配布するように動作する。これらのデバイスは、アノニマスな情報の固有部分を配布し、そして、機密データ伝送を保護し、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するためにソリューションによって利用される。認証に使用される場合、ログインに関連する情報はソリューションのどの部分に格納されず、ユーザとデバイスは匿名で認証される。このソリューションはまた、ユーザが半自律的なプロセスを通じて、ユーザのキーを明かすことなく、クライアントシステムの保護部分にアクセスすることを許す。【選択図】図31Kind Code: A1 The present invention is a platform and/or agnostic method and system operable to protect data, documents, devices, communications, and transactions. Embodiments of the present invention may be operable to authenticate users and may be operable with any client system. The method and system operate to distribute unique pieces of anonymous related information among multiple devices. These devices distribute a unique piece of anonymous information and are utilized by the solutions to protect sensitive data transmissions and authenticate users, data, documents, devices and transactions. When used for authentication, login-related information is not stored anywhere in the solution, and users and devices are authenticated anonymously. This solution also allows the user to access protected portions of the client system through a semi-autonomous process without revealing the user's key. [Selection drawing] Fig. 31

Description

本発明は概して、データセキュリティの分野に関しており、より具体的には、目的とする通信のセキュリティと、ネットワーク又はシステムのユーザの認証(authentication)とに関する。 The present invention relates generally to the field of data security, and more specifically to security of intended communications and authentication of users of networks or systems.

全ての組織では、起こり得るセキュリティ侵害からデータを保護することが課題となっている。データセキュリティがあってこそ、組織は、通信が安全であること、そして、許可された者のみが複数のテクノロジーにわたっている組織のシステムにアクセス許可されることを確保できる。故に、データセキュリティと許可されたシステムへのアクセスとは、今日、組織が取り組まなければならない2つの大きな課題となっている。 Protecting data from possible security breaches is a challenge for all organizations. Data security enables organizations to ensure that communications are secure and that only authorized personnel are allowed access to organizational systems across multiple technologies. Thus, data security and authorized system access are two major issues that organizations must contend with today.

現在、システムとネットワークのユーザに関する様々な種類の認証をもたらすある数のシステム及び方法が存在している。これらの様々な種類の認証は、セキュリティと信頼性のレベルで異なっている。以下に、システム及びネットワークのための従来技術の認証方法の種類を例示する。 A number of systems and methods currently exist that provide various types of authentication for users of systems and networks. These various types of authentication differ in their level of security and trust. The following are examples of types of prior art authentication methods for systems and networks.

2005年11月8日にIGTに付与された米国特許第6,962,530号は、ゲーム専用プラットフォームのためのアーキテクチャ及び方法を開示しており、当該アーキテクチャ及び方法は、ゲームコードやその他のデータを安全に格納及び検証することを特徴とする。この方法は更に、コンピュータ化された賭博ゲームシステムとの間でデータを安全に交換する能力をユーザにもたらす。この発明は、複数のデバイスの間においてログイン情報を広めることを含んでいない。 U.S. Pat. No. 6,962,530, issued Nov. 8, 2005 to IGT, discloses an architecture and method for a game-only platform, which architecture and method can process game code and other data. is securely stored and verified. The method further provides the user with the ability to securely exchange data with a computerized wagering gaming system. This invention does not involve disseminating login information among multiple devices.

2015年6月9日にNECソリューションイノベータ株式会社に付与された米国特許第9,053,306号は、ユーザが入力したログイン情報から第1のハッシュ値及び第2のハッシュ値を計算するように動作する認証システムを開示している。第1のハッシュ値と第2のハッシュ値とが一致する場合に、サーバと端末との間でセッションが確立される。この発明は、暗号化された詳細の一部を隠しておくことを含んでいない。 U.S. Patent No. 9,053,306, granted to NEC Solution Innovators, Ltd. on June 9, 2015, discloses a method for calculating a first hash value and a second hash value from login information entered by a user. An authentication system that works is disclosed. A session is established between the server and the terminal if the first hash value and the second hash value match. The invention does not involve hiding some of the encrypted details.

2015年3月24日にマイクロソフト社に付与された米国特許第8,989,706号は、デバイスのための自動化された安全なペアリングに関するシステム、方法及び/又は技術を開示しており、デバイスを使用したコンテンツの並列ダウンロードに関連している。デバイスをペアリングするためのツールは、アドレスに基づく認証プロトコルと、キーに基づく認証プロトコルとを実行し得る。この発明は、暗号化された詳細の一部を隠しておくことを含んでいない。 U.S. Pat. No. 8,989,706, granted March 24, 2015 to Microsoft Corporation, discloses systems, methods and/or techniques for automated secure pairing for devices, Related to parallel download of content using . Tools for pairing devices may implement address-based authentication protocols and key-based authentication protocols. The invention does not involve hiding some of the encrypted details.

2013年1月15日にKoninklijke Philips Electronics N.V.に付与された米国特許第8,356,180号は、深い共通セキュリティドメインでのセキュア通信に関した多次元識別、認証、承認、及びキー配布のための方法を開示している。本発明は、ユーザがシステムにユーザのキーを明かすことなくして、トランザクションを認証することはできない。 Koninklijke Philips Electronics N.V. V. U.S. Pat. No. 8,356,180 to , discloses a method for multi-dimensional identification, authentication, authorization, and key distribution for secure communications in deep common security domains. The present invention cannot authenticate transactions without the user revealing the user's key to the system.

2000年8月25日にUnited Devices,Inc.に付与された米国特許第6,847,995号は、分散処理システム内で安全な転送をもたらすためのセキュリティアーキテクチャ及び方法を開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。 United Devices, Inc. on August 25, 2000. U.S. Pat. No. 6,847,995 to , discloses a security architecture and method for providing secure transfers within a distributed processing system. The present invention does not involve multiple layers of encryption or hiding some of the encrypted details.

Yaron Gviliが2016年11月23日に出願した米国特許出願公開第2017/0149796号は、第三者の検証器が安全なデータの特徴を検証できるようにするためのシステム及び技術、又はその成功した通信を開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。 U.S. Patent Application Publication No. 2017/0149796, filed Nov. 23, 2016 by Yaron Gvili, describes systems and techniques for enabling third-party verifiers to verify features of secure data, or the success thereof. Disclosure of Communications The present invention does not involve multiple layers of encryption or hiding some of the encrypted details.

2011年6月6日に寺西勇によって出願された米国特許出願公開第2011/0246779号は、離散対数ゼロ知識証明を可能にするゼロ知識証明システムを開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。 US Patent Application Publication No. 2011/0246779, filed June 6, 2011 by Isamu Teranishi, discloses a zero-knowledge proof system that enables discrete logarithmic zero-knowledge proofs. The present invention does not involve multiple layers of encryption or hiding some of the encrypted details.

従来技術の暗号化方法及びシステムは、ユーザとシステム又はネットワークとの間のデータ及び情報の転送における第三者の介入に対して特に脆弱である。第三者は、転送中のデータにアクセスできる場合にはその情報からログイン詳細を推定できる。ユーザとシステムの間で転送されたデータからログイン詳細の全てが利用可能であるならば、第三者はユーザのログイン詳細を使用してシステムにログインすることができる。これは、既知の認証方法やシステムが利用されている場合には、現在のシステムのセキュリティ上の危険を生じる。 Prior art encryption methods and systems are particularly vulnerable to third party intervention in data and information transfers between users and systems or networks. A third party can deduce login details from that information if they have access to the data in transit. A third party can use the user's login details to login to the system, provided that all of the login details are available from the data transferred between the user and the system. This poses a security risk to current systems when known authentication methods and systems are used.

必要とされているものは、送られたデータに第三者が干渉することで、ユーザのログイン情報が取得されないようにする認証方法及びシステムである。 What is needed is an authentication method and system that prevents a user's login information from being obtained by a third party interfering with the data sent.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法は、セキュリティエンジン及びアクションエンジンを備える1又は複数のサーバにて、第1のコンピュータデバイスを登録することと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数のプライバシーキーに関するデータと第2のプライバシーコードとを受け取ることであって、前記ある数のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び前記1又は複数のコラプタに基づいており、前記第2のプライバシーコードは、前記第1のプライバシーコードに基づいており、前記ある数のプライバシーキーの数は前記チャンクカウントに等しい、ことと、前記1又は複数のサーバにて前記ある量のプライバシーキーに基づく第2のデータを生成することであって、前記第2のデータを生成することは、前記ある数のプライバシーキーを連結して連結キーを生成することと、前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、を含む、ことと、を含む。 In some embodiments, a method of generating and distributing keys using controlled corruption includes registering a first computing device with one or more servers comprising a security engine and an action engine. , receiving, at the one or more servers, from the first computing device a first privacy code and one or more parameters associated with first data; is based on a first user input at the first computing device, and the first data is based on a second user input at the first computing device; and the one or more generating a chunk count and a public key, at a server of sending the chunk count and the public key from the one or more servers to the first computing device; and at the one or more servers from the first computing device: receiving data relating to a number of privacy keys and a second privacy code, the number of privacy keys being based on the first data, the chunk count, and the one or more corruptors; the second privacy code is based on the first privacy code, the number of privacy keys equals the chunk count; and the amount of privacy at the one or more servers. Generating second data based on a key, wherein generating the second data comprises concatenating the certain number of privacy keys to generate a concatenated key; or removing a plurality of corruptors to generate the second data.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法は、前記1又は複数のサーバにて2つ以上のチャンク名を生成することと、前記2つ以上のチャンク名を前記第1のコンピュータデバイスに送ることと、を更に含んでよい。 In some embodiments, the method of generating and distributing keys using controlled corruption includes generating two or more chunk names at the one or more servers; sending a chunk name to the first computing device.

幾つかの実施形態では、前記ある数のプライバシーキーは更に、前記2つ以上のチャンク名に基づいている。 In some embodiments, the number of privacy keys is further based on the two or more chunk names.

幾つかの実施形態では、前記ある数のプライバシーキーを連結して前記連結キーを生成することは、前記2つ以上のチャンク名に基づいている。 In some embodiments, concatenating the number of privacy keys to generate the concatenated key is based on the two or more chunk names.

幾つかの実施形態では、前記1又は複数のコラプタは3つのコラプタからなる。 In some embodiments, the one or more corruptors consist of three corruptors.

幾つかの実施形態では、前記1又は複数のコラプタの少なくとも1つは前記第1のプライバシーコードに基づく。 In some embodiments, at least one of said one or more corruptors is based on said first privacy code.

幾つかの実施形態では、前記第2のデータを生成するために前記1又は複数のコラプタを除去することは、前記連結キーから1又は複数の第1のコラプタを除去して、第1のクリーンなデータを生成することと、前記第1のクリーンなデータから1又は複数の第2のコラプタを除去して、第2のクリーンなデータを生成することと、前記第2のクリーンなデータから1又は複数の第3のコラプタを除去し、圧縮データのベース64を生成することと、前記圧縮された第2のデータのベースを復号して前記圧縮データを生成することと、前記圧縮データを解凍して前記第2のデータを生成することと、を含んでおり、
前記プライバシーコードが使用されて、前記1又は複数の第1のコラプタ、前記1又は複数の第2のコラプタ、及び前記1又は複数の第3のコラプタのうちの少なくとも1つが除去される。
In some embodiments, removing the one or more corruptors to generate the second data includes removing one or more first corruptors from the concatenated key to create a first clean removing one or more second corruptors from the first clean data to generate second clean data; and removing one from the second clean data. or removing a plurality of third corruptors to produce a base of compressed data 64; decoding said compressed second base of data to produce said compressed data; and decompressing said compressed data. and generating the second data by
The privacy code is used to remove at least one of the one or more first corruptors, the one or more second corruptors, and the one or more third corruptors.

幾つかの実施形態では、前記第1のプライバシーコードは前記1又は複数のコラプタの少なくとも1つを除去するために使用される。 In some embodiments, the first privacy code is used to remove at least one of the one or more corruptors.

幾つかの実施形態では、前記第2のプライバシーコードは、前記1又は複数のコラプタの少なくとも1つを除去するために使用される。 In some embodiments, said second privacy code is used to remove at least one of said one or more corruptors.

幾つかの実施形態では、前記第1のデータは目的とする通信を含む。 In some embodiments, the first data includes intended communications.

幾つかの実施形態では、前記第2のユーザ入力は、英数字のキャラクタストリング、生体情報データ、パスワード、眼球スキャン、写真、及び指紋のうちの少なくとも1つを含む。 In some embodiments, the second user input includes at least one of an alphanumeric character string, biometric data, password, eye scan, photograph, and fingerprint.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成する方法は、第1のコンピュータデバイスにて、第1のプライバシーコードと、第1のデータに関連する1又は複数のパラメータとを生成するステップであって、前記第1のプライバシーコードは第1のユーザ入力に基づいており、前記第1のデータは第2のユーザ入力に基づいている、ステップと、前記第1のプライバシーコードと前記第1のデータに関連する1又は複数のパラメータとを、前記第1のコンピュータデバイスから1又は複数のサーバに送るステップと、前記第1のコンピュータデバイスにて、前記1又は複数のサーバからチャンクカウント及び公開キーを受け取るステップであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ステップと、前記第1のコンピュータデバイスにて、前記第1のデータを圧縮して圧縮された第1のデータを生成するステップと、前記第1のコンピュータデバイスにて、前記圧縮された第1のデータと1又は複数の第1のコラプタに基づいて、第1のプレキーを生成するステップと、前記第1のコンピュータデバイスにて、前記第1のプレキーと1又は複数の第2のコラプタとに基づいて、前記第2のプレキーを生成するステップと、前記第1のコンピュータデバイスにて、前記第2のプレキー及び前記チャンクカウントに基づいて2つ以上のチャンクを生成するステップと、前記第1のコンピュータデバイスにて、前記2つ以上のチャンクに基づいて2つ以上のプライバシーキーを生成するステップと、前記2つ以上のプライバシーキーを前記1又は複数のサーバに送るステップと、を含む。 In some embodiments, a method of generating a key using controlled corruption includes generating, at a first computing device, a first privacy code and one or more parameters associated with first data. wherein the first privacy code is based on a first user input and the first data is based on a second user input; and the first privacy code and one or more parameters associated with the first data from the first computing device to one or more servers; and at the first computing device, from the one or more servers receiving a chunk count and a public key, wherein the chunk count is based on one or more parameters associated with the first data and the public key is part of an asymmetric cryptographic key pair; compressing the first data to generate compressed first data at the first computing device; and generating compressed first data at the first computing device; or generating a first pre-key based on a plurality of first corruptors; and at said first computing device, based on said first pre-key and one or more second corruptors, said generating a second pre-key; generating, at the first computing device, two or more chunks based on the second pre-key and the chunk count; and at the first computing device , generating two or more privacy keys based on the two or more chunks, and sending the two or more privacy keys to the one or more servers.

幾つかの実施形態では、前記第2のプレキー及び前記チャンクカウントに基づいて前記2つ以上のチャンクを生成するステップは、前記第2のプレキーをソルトを用いてコラプションして第3のプレキーを生成するステップと、1又は複数の第3のコラプタを用いて前記第3のプレキーをコラプションするステップと、前記チャンクカウントに基づいて、前記コラプションされた第3のプレキーを前記2つ以上のチャンクに分割するステップと、を含む。 In some embodiments, generating the two or more chunks based on the second pre-key and the chunk count includes corrupting the second pre-key with a salt to generate a third pre-key. corrupting the third pre-key using one or more third corruptors; and splitting the corrupted third pre-key into the two or more chunks based on the chunk count. and

幾つかの実施形態では、制御されたコラプションを使用してキーを生成する方法は、前記第1のコンピュータデバイスにて2つ以上のチャンク名を受け取るステップを更に含む。 In some embodiments, the method of generating keys using controlled corruption further comprises receiving two or more chunk names at the first computing device.

幾つかの実施形態では、前記1又は複数のプライバシーキーは更に、前記2つ以上のチャンク名に基づいている。 In some embodiments, the one or more privacy keys are further based on the two or more chunk names.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法において、1又は複数のサーバにて第1のコンピュータデバイスを登録することと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数の第1のプライバシーキーに関するデータと第2のプライバシーコードとを受け取ることであって、前記ある数の第1のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び1又は複数のコラプタに基づいており、前記第2のプライバシーコードは前記第1のプライバシーコードに基づいており、前記ある数の第1のプライバシーキーの数は前記チャンクカウントに等しい、ことと、前記1又は複数のサーバにて、前記ある数の第1のプライバシーキーに基づいて第2のデータを生成することであって、前記第2のデータを生成することは、前記ある数の第1のプライバシーキーを連結して連結キーを生成することと、前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、を含んでいる、ことと、前記1又は複数のサーバにて、前記第2のデータに基づく結果を生成することと、前記1又は複数のサーバにて、前記結果に基づいて、受信者識別子及びプライバシーコード識別子を生成することであって、前記受信者識別子は1又は複数のノードに関連しており、前記プライバシーコード識別子は前記第2のプライバシーコードに基づいている、ことと、前記ある数の第1のプライバシーキー、前記受信者識別子、及び前記プライバシーコード識別子を前記1又は複数のノードに配布することと、を含む。 In some embodiments, a method of generating and distributing keys using controlled corruption includes registering a first computing device with one or more servers; receiving from the first computing device a first privacy code and one or more parameters associated with first data, wherein the first privacy code is at the first computing device; and the first data is based on a second user input at the first computing device; and at the one or more servers, chunk count and generating a public key, wherein the chunk count is based on one or more parameters associated with the first data, the public key being part of an asymmetric cryptographic key pair; sending a count and the public key from the one or more servers to the first computing device; and at the one or more servers from the first computing device for a number of first privacy keys. receiving data and a second privacy code, wherein the number of first privacy keys is based on the first data, the chunk count and one or more corruptors; the number of first privacy keys is based on the first privacy code, wherein the number of first privacy keys equals the chunk count; and at the one or more servers, the number of generating second data based on one privacy key, wherein generating the second data includes concatenating the certain number of first privacy keys to generate a concatenated key; , removing the one or more corruptors from the concatenated key to generate the second data; and at the one or more servers, based on the second data. generating a result; and generating, at the one or more servers, a recipient identifier and a privacy code identifier based on the result, wherein the recipient identifier is associated with one or more nodes. and wherein said privacy code identifier is based on said second privacy code; and said number of first privacy keys, said recipient identifiers, and said privacy code identifiers are provided to said one or more nodes. including distributing.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法は、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第3のデータに基づく2つ以上のプライバシーキーを受け取ることと、サインインデータを生成することであって、前記サインインデータは、前記第3のデータに基づく2以上のプライバシーキーに基づく、ことと、を含んでよい。 In some embodiments, the method of generating and distributing keys using controlled corruption comprises: at said one or more servers, from said first computing device, two keys based on third data; and generating sign-in data, wherein the sign-in data is based on two or more privacy keys based on the third data.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法は、前記受信者識別子及び前記プライバシーコード識別子の少なくとも一方に基づいて、前記1又は複数のノードに格納されているプライバシーキーを取得することと、エンロールメントデータを生成することであって、前記エンロールメントデータは前記1又は複数のノードから取得されたプライバシーキーに基づく、ことと、を含んでよい。 In some embodiments, the method of generating and distributing keys using controlled corruption includes: keys stored in the one or more nodes based on at least one of the recipient identifier and the privacy code identifier; and generating enrollment data, wherein the enrollment data is based on privacy keys obtained from the one or more nodes.

幾つかの実施形態では、制御されたコラプションを使用してキーを生成して配布する方法は、前記サインインデータと前記エンロールメントデータとを比較することと、結果を生成することと、を含んでよい。 In some embodiments, a method of generating and distributing keys using controlled corruption includes comparing the sign-in data and the enrollment data and generating a result. OK.

幾つかの実施形態では、サーバを備えるシステムにおいて、前記サーバは、サーバ命令を含むメモリと、前記サーバ命令を実行するように構成された処理デバイスと、を備えており、前記サーバ命令は、前記処理デバイスに、1又は複数のサーバにて第1のコンピュータデバイスを登録することであって、前記1又は複数のサーバは、セキュリティエンジン、アクションエンジン、ライブラリ、及び前記1又は複数のサーバに関する1又は複数のノードを備える、ことと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数のプライバシーキーと第2のプライバシーコードとを受け取ることであって、前記ある数のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び1又は複数のコラプタに基づいており、前記第2のプライバシーコードは前記第1のプライバシーコードに基づいており、前記ある数のプライバシーキーの数は前記チャンクカウントと等しい、ことと、前記1又は複数のサーバにて、前記ある量のプライバシーキーに基づく第2のデータを生成することであって、前記第2のデータを生成することは、前記ある数のプライバシーキーを連結して連結キーを生成することと、前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、を含む、ことと、を実行させてよい。 In some embodiments, a system comprising a server, said server comprising a memory comprising server instructions, and a processing device configured to execute said server instructions, said server instructions comprising said registering a first computing device with a processing device at one or more servers, the one or more servers comprising a security engine, an action engine, a library, and one or more associated with the one or more servers; and receiving, at the one or more servers, from the first computing device a first privacy code and one or more parameters associated with first data. the first privacy code is based on a first user input at the first computing device and the first data is based on a second user input at the first computing device and generating, at the one or more servers, a chunk count and a public key, wherein the chunk count is based on one or more parameters associated with the first data; the key is part of an asymmetric cryptographic key pair; sending the chunk count and the public key from the one or more servers to the first computing device; and at the one or more servers, receiving a number of privacy keys and a second privacy code from a first computing device, the number of privacy keys comprising the first data, the chunk count, and one or more corruptors; and the second privacy code is based on the first privacy code, and the number of privacy keys in the certain number equals the chunk count; and at the one or more servers, generating second data based on the quantity of privacy keys, wherein generating the second data comprises concatenating the number of privacy keys to generate a concatenated key; and removing the one or more corruptors from the concatenated key to generate the second data.

この点に関して、本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明は、以下の説明に記載された、又は図面に示された構造の詳細と構成要素の配置とに限定されるものではないことは理解されるべきである。本発明は、他の実施形態が可能であって、様々な方法で実施できる。また、本明細書で採用されている表現及び用語は、説明の目的のためのものであって、限定的なものとみなされるべきではないことも理解されるべきである。 In this regard, before describing at least one embodiment of the invention in detail, the invention is limited to the details of construction and arrangement of components set forth in the following description or illustrated in the drawings. It should be understood that the The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.

以下の詳細な説明を検討すると、本発明がより良く理解され、本発明の目的が明らかになるであろう。その詳細な説明は、添付の図面を参照している。 The invention will be better understood and the objects of the invention will become apparent upon consideration of the following detailed description. The detailed description refers to the accompanying drawings.

図1は、本発明の認証システムの一実施形態を示すシステム図である。FIG. 1 is a system diagram showing one embodiment of the authentication system of the present invention. 図2は、本発明の実施形態のクライアントシステムと検証システムとの間でデータの転送を行うように動作する要素の構成を示すシステム図である。FIG. 2 is a system diagram illustrating the configuration of elements operable to transfer data between a client system and a verification system in accordance with an embodiment of the present invention. 図3は、本発明の実施形態の登録プロセスを行うために動作する要素の構成を示すシステム図である。FIG. 3 is a system diagram illustrating the organization of elements that operate to perform the registration process of an embodiment of the present invention. 図4は、本発明の実施形態のアクセスプロセスを実行するように動作する要素の構成を示すシステム図である。FIG. 4 is a system diagram illustrating the configuration of elements that operate to perform the access process of an embodiment of the present invention. 図5は、本発明の実施形態に従って、ハッシュ化されたOY‐パケット部分を処理するために動作する同期要素を示すシステム図である。FIG. 5 is a system diagram illustrating a synchronization element operating to process hashed OY-packet portions in accordance with an embodiment of the present invention. 図6は、本発明の一実施形態による復号プロセスを実行するために動作する要素の構成を示すシステム図である。FIG. 6 is a system diagram illustrating the configuration of elements that operate to perform the decoding process according to one embodiment of the present invention. 図7は、本発明の一実施形態のユーザデバイスの要素を示すシステム図である。FIG. 7 is a system diagram illustrating elements of a user device in one embodiment of the invention. 図8は、本発明の一実施形態のクライアントシステムの要素を示すシステム図である。FIG. 8 is a system diagram illustrating elements of the client system of one embodiment of the present invention. 図9は、本発明の一実施形態のクライアント表示ユニットの要素を示すシステム図である。FIG. 9 is a system diagram illustrating elements of the client display unit of one embodiment of the present invention. 図10は、本発明の一実施形態の検証システムの要素を示すシステム図である。FIG. 10 is a system diagram illustrating elements of the verification system of one embodiment of the present invention. 図11は、本発明の一実施形態に従って、クライアントシステムのセキュア部分にアクセスするためのユーザ認証要求の処理を行うために動作する要素の構成を示すシステム図である。FIG. 11 is a system diagram illustrating the organization of elements operable to process user authentication requests to access secure portions of a client system, in accordance with one embodiment of the present invention. 図12は、本発明の一実施形態に従ってユーザの認証のためのノイズ及びキーの生成及び処理を行うために動作する要素の構成を示すシステム図である。FIG. 12 is a system diagram illustrating the organization of elements operable to generate and process noise and keys for user authentication in accordance with one embodiment of the present invention. 図13は、本発明の実施形態に従ってユーザ認証のためのキーの検証を行うために動作する要素の構成を示すシステム図である。FIG. 13 is a system diagram illustrating the organization of elements that operate to validate keys for user authentication in accordance with an embodiment of the present invention. 図14は、本発明の一実施形態に従ってユーザの認証のためのトークンの検証を行うために動作する要素の構成を示すシステム図である。FIG. 14 is a system diagram illustrating the organization of elements operable to validate tokens for authentication of users in accordance with one embodiment of the present invention. 図15は、本発明の一実施形態に従って、ユーザの認証のためのクライアント表示システムを介したチャレンジの検証を行うために動作する要素の構成を示すシステム図である。FIG. 15 is a system diagram illustrating the composition of elements that operate to validate a challenge via a client presentation system for authenticating a user, according to one embodiment of the present invention. 図16は、本発明の一実施形態に従って、ユーザ認証のためのユーザデバイスを介したチャレンジの検証を行うために動作する要素の構成を示すシステム図である。FIG. 16 is a system diagram illustrating a configuration of elements that operate to validate a challenge via a user device for user authentication, according to one embodiment of the invention. 図17は、本発明の一実施形態に従った登録方法を示す。FIG. 17 illustrates a registration method according to one embodiment of the invention. 図18は、本発明の一実施形態に従った1又は複数のキーを作成する方法を示す。FIG. 18 illustrates a method of creating one or more keys according to one embodiment of the invention. 図19は、本発明の一実施形態に従った1又は複数のキーを配布する方法を示す。FIG. 19 illustrates a method of distributing one or more keys according to one embodiment of the invention. 図20は、本発明の一実施形態に従ったログイン方法を示す。FIG. 20 illustrates a login method according to one embodiment of the invention. 図21は、本発明の一実施形態に従った1又は複数のキーを作成する方法を示す。FIG. 21 illustrates a method of creating one or more keys according to one embodiment of the invention. 図22は、本発明の一実施形態に従った1又は複数の検証キーを配布する方法を示す。FIG. 22 illustrates a method of distributing one or more verification keys according to one embodiment of the invention. 図23は、本発明の一実施形態に従ったローカルデータベースで検証キーを検証する方法を示す。FIG. 23 illustrates a method of validating a validation key with a local database according to one embodiment of the invention. 図24は、本発明の一実施形態に従った検証プロセスを有効にする方法を示す。FIG. 24 illustrates a method of enabling a verification process according to one embodiment of the invention. 図25は、本発明の一実施形態に従った1又は複数のバーコードを生成する方法を示す。FIG. 25 illustrates a method of generating one or more barcodes according to one embodiment of the invention. 図26は、本発明の一実施形態に従った1又は複数のキーを生成する方法を示す。FIG. 26 illustrates a method of generating one or more keys according to one embodiment of the invention. 図27は、本発明の一実施形態に従った1又は複数のキーを生成する方法を示す。FIG. 27 illustrates a method of generating one or more keys according to one embodiment of the invention. 図28は、本発明の一実施形態に従った1又は複数のキーを生成する方法を示す。FIG. 28 illustrates a method of generating one or more keys according to one embodiment of the invention. 図29は、本発明の一実施形態に従ったウェブセッションを確立する方法を示す。FIG. 29 illustrates a method of establishing a web session according to one embodiment of the invention. 図30は、幾つかの実施形態に従った、制御されたコラプションを使用してキーを生成するためのシステムを示す。FIG. 30 illustrates a system for generating keys using controlled corruption, according to some embodiments. 図31は、幾つかの実施形態に従った、制御されたコラプションを使用してキーを生成する方法を示す。FIG. 31 illustrates a method of generating keys using controlled corruption, according to some embodiments. 図32は、幾つかの実施形態に従った、制御されたコラプションを使用してキーを生成する方法を示す。FIG. 32 illustrates a method of generating keys using controlled corruption, according to some embodiments. 図33は、幾つかの実施形態に従った、制御されたコラプションを使用してキーを生成する方法を示す。FIG. 33 illustrates a method of generating keys using controlled corruption, according to some embodiments. 図34は、幾つかの実施形態に従った、制御されたコラプションを使用してキーを生成する方法を示す。FIG. 34 illustrates a method of generating keys using controlled corruption, according to some embodiments. 図35は、幾つかの実施形態に従った、制御されたコラプションを用いて生成されたキーを認証のために使用する方法を示す。FIG. 35 illustrates a method of using keys generated with controlled corruption for authentication, according to some embodiments.

図面では、本発明の実施形態が例示的に図示されている。本明細書及び図面は、例示の目的のみのための、そして、理解の助けとしてのものであり、本発明の範囲の定義として意図されたものではないことは明らかに理解される。 In the drawings, embodiments of the invention are illustrated by way of example. It is expressly understood that the specification and drawings are for the purpose of illustration only and as an aid to understanding and are not intended as a definition of the scope of the invention.

本発明は、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するために動作する認証方法及びシステムである。本発明の実施形態は、任意の組織又は個人における任意のシステム又はネットワークで動作可能である。認証方法及びシステムは、複数のデバイスの間でログイン関連情報の固有部分を配布するために動作可能である。ログイン関連情報の配布された部分は、ログイン関連情報をシステムに明らかにすることなく、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するためにシステムによって利用される。ログイン関連情報は多層暗号化及び/又はハッシュ化され、暗号化及び/又はハッシュ化された詳細情報の一部は隠される。ログイン関連情報が格納されている装置は全て、認証方法及びシステムにおいて利用される。ユーザに提供されたログイン関連情報は、システム又はどのユーザデバイスにも明らかにされず、及び/又は格納されない。データ、ドキュメント、デバイス、トランザクションの認証は、システムに公開されるキーを必要としない。 The present invention is an authentication method and system that operates to authenticate users, data, documents, devices, and transactions. Embodiments of the present invention can operate on any system or network at any organization or individual. The authentication method and system are operable to distribute unique pieces of login-related information among multiple devices. The distributed portion of the login-related information is utilized by the system to authenticate users, data, documents, devices, and transactions without revealing the login-related information to the system. The login-related information is multi-layered encrypted and/or hashed, and some of the encrypted and/or hashed details are hidden. Any device that stores login-related information is used in the authentication method and system. User-provided login-related information is not revealed and/or stored in the system or any user device. Authentication of data, documents, devices and transactions does not require keys published to the system.

本明細書では、「クライアントシステム」とは、組織又は個人のネットワーク又はシステムの何れかを意味する。本明細書では、「ユーザデバイス」とは、ユーザがクライアントシステムにログインするために使用するデバイスを意味し、例えば、ラップトップ、タブレット、携帯電話、スマートフォン、デスクトップコンピュータ、スマートウォッチ、コンピュータデバイスであって、それによって、ユーザは、クライアントシステム又は安全なログインを必要とする他のデバイスにログインすることができる。ユーザとクライアントシステムの間での「情報の転送」に関する言及は、システムに関連して起こる情報の作成、転送、又は格納を含み得る。 As used herein, "client system" means any organizational or individual network or system. As used herein, "user device" means a device that a user uses to log into a client system, such as a laptop, tablet, mobile phone, smartphone, desktop computer, smartwatch, computing device. , thereby allowing a user to log into a client system or other device that requires a secure login. References to "transferring information" between a user and a client system may include creating, transferring, or storing information occurring in connection with the system.

明確にするために、認証システムの他のユニット又は要素に「アクセス」する認証システムのユニット又は要素に言及する場合、これは以下の何れかを含み得る。(i)ユニット又は要素が他のユニット又は要素にアクセスして、そこから情報を取得すること、又は、(ii)ユニット又は要素が他のユニット又は要素に、取得又は生成される情報の要求を送り、その情報が要求に応答して取得又は生成されると、その情報が、要求を送ったユニット又は要素に送られること。 For clarity, when referring to a unit or element of the authentication system that "accesses" another unit or element of the authentication system, this may include any of the following: (i) a unit or element accessing and obtaining information from another unit or element; or (ii) a unit or element making a request to another unit or element for information to be obtained or generated. sending, and when that information is obtained or generated in response to a request, that information is sent to the unit or element that sent the request.

ユーザがユーザデバイスを使用してクライアントシステムにログインする場合、ユーザデバイスとクライアントシステムの間でのログイン関連情報の生成、転送、格納、又は認証は、第三者による攻撃に対して脆弱であり得る。ユーザデバイス又はクライアントシステムに対する第三者の攻撃の結果、ユーザデバイスとクライアントシステムの間でのログイン関連情報の生成、転送、格納、及び/又は認証の間に、第三者がそのような情報を取得し、及び/又は不正な目的のために使用する可能性がある。例えば、第三者は、取得したログイン情報を使用してクライアントシステムにログインし、それによってクライアントシステムへの不正アクセスを達成したり、クライアントシステムからより多くのログイン関連情報を取得することやその他の方法によって、クライアントシステムに接続されているシステムへと横に移動する可能性がある。別の例としては、第三者は、攻撃によって得られたデータ、ドキュメント、又は取引情報を、様々な不正な目的(例えば、他の当事者への情報の流布、市場での優位性を得るための情報の使用、身代金のための情報人質の保持、スパイ行為、破壊など)に利用し得る。本発明は、クライアントシステムの、並びに、クライアントシステムとユーザデバイスの間で生成、転送、及び/又は格納されるデータ、ドキュメント、又は取引情報の不正使用に対するクライアントシステムの脆弱性を減少させる。 When a user logs into a client system using a user device, the generation, transfer, storage, or authentication of login-related information between the user device and the client system may be vulnerable to attacks by third parties. . A third party's use of such information during the generation, transfer, storage, and/or authentication of login-related information between the User Device and the Client System as a result of an attack by a third party on the User Device or Client System; may be obtained and/or used for unauthorized purposes. For example, a third party may use obtained login information to log into the client system, thereby achieving unauthorized access to the client system, obtain more login-related information from the client system, or otherwise Depending on the method, there is the possibility of moving laterally to systems that are connected to the client system. As another example, a third party may use data, documents, or transaction information obtained from an attack for various illicit purposes (e.g., disseminating information to other parties, gaining an advantage in the market, etc.). information, holding information hostage for ransom, espionage, destruction, etc.). The present invention reduces the client system's vulnerability to unauthorized use of the client system and of data, documents, or transaction information generated, transferred, and/or stored between the client system and the user device.

本発明の方法は、ユーザが、ユーザデバイスを利用して組織又は個人のクライアントシステムにログインすることを含む。ログイン関連情報は、単一若しくは多層のハッシュ化及び/又は暗号化プロセスを介してハッシュ化及び/又は暗号化される。特に、暗号化及び/又はハッシュ化されたキーの少なくとも一部が生成されて、ユーザのデバイスに格納されてよい。ログイン関連情報の他の固有部分は、環境内の他のデバイスに格納される。複数のデバイスの間でログイン関連情報の固有部分が配布されることは、クライアントシステムとユーザデバイスの間で転送される情報にアクセスする第三者が、クライアントシステムへのログインを成功させるために必要な情報の一部又は全部を取得することができないことを意味する。 The method of the present invention involves a user logging into an organizational or individual client system using a user device. Login-related information is hashed and/or encrypted through a single or multi-layered hashing and/or encryption process. In particular, at least a portion of the encrypted and/or hashed key may be generated and stored on the user's device. Other unique pieces of login-related information are stored on other devices in the environment. Distributing unique pieces of login-related information across multiple devices is necessary for a third party with access to information transferred between the client system and the user device to successfully log in to the client system. means that some or all of the relevant information cannot be obtained.

更に、現行システムの一態様では、データ、ドキュメント、デバイス、トランザクション、及び/又はユーザを認証するために、ユーザデバイスは、有効なキーを持っていること、及び/又はデバイスが既に認証されていることをクライアントシステムに対して証明する必要がある。これは、本発明では、ユーザデバイスがクライアントシステムにキーを明らかにすることなく達成される。故に、データ、ドキュメント、デバイス、トランザクション、及びユーザの認証は、ユーザがそのキーをクライアントシステムに明らかにすることなく起こる。 Further, in one aspect of current systems, in order to authenticate data, documents, devices, transactions, and/or users, the user device must have a valid key and/or the device has already been authenticated. to the client system. This is accomplished in the present invention without the user device revealing the key to the client system. Thus, data, documents, devices, transactions, and user authentication occur without the user revealing their keys to the client system.

ログイン関連情報は固有に作成され、且つ、格納及び/又は送られない。これは、ユーザデバイス支援マルチポイント認証と共に、第三者によるクライアントシステムへの不正アクセスを防ぐ。 Login-related information is uniquely created and not stored and/or sent. Together with user device assisted multi-point authentication, this prevents unauthorized access to the client system by third parties.

従来技術の認証システムの大半は、ユーザデバイスとクライアントシステムの間でのログイン関連情報の作成、格納、転送、及びシングルポイント認証を伴うため、従来技術のシステムは、ログイン関連情報が第三者によって危殆化されることに対して脆弱である。ログイン関連情報が第三者によって入手されてしまうと、その情報は、システムネットワークへのシングル認証ポイントにて認証なしでログインすることに使用され、或いは、データ、ドキュメント、又はトランザクション情報の不正使用に使用される可能性がある。本発明は、クライアントシステムへの、又は、データ、ドキュメント又は取引情報への不正アクセスを可能にするであろう第三者の情報へのアクセスに対して脆弱でないという点で、従来技術のシステムに勝る利点をもたらす。本発明の認証システムは、作成、格納、転送、及び認証ポイントで危殆化される可能性がある従来技術の認証の問題を解決する。 Because most prior art authentication systems involve creation, storage, transfer, and single point authentication of login-related information between a user device and a client system, prior art systems do not allow login-related information to be authenticated by a third party. Vulnerable to being compromised. Once login-related information has been obtained by a third party, that information may be used to log in without authentication at a single authentication point into the system network, or may be subject to unauthorized use of data, documents, or transactional information. may be used. The present invention differs from prior art systems in that it is not vulnerable to access to third party information that would allow unauthorized access to client systems or to data, documents or transaction information. provide a superior advantage. The authentication system of the present invention solves the problems of prior art authentication that can be compromised at the creation, storage, transfer, and authentication points.

従来技術のシステムに対する本発明の更なる利点の例としては、従来技術のシステムは一般に、任意のタイプのクライアントシステム、又は任意のタイプのユーザデバイスを用いて操作できないということがある。本発明は、任意のプラットフォーム、ソリューション、又は環境にわたって組織のデータにアクセスするために必要とされる安全なアクセスをユーザに提供するセキュア認証システムを組織にもたらす。本発明は、任意のタイプのクライアントシステムで、そして任意のプラットフォーム上の任意のタイプのユーザデバイスで使用するために、任意の組織によって実施可能である。 An example of a further advantage of the present invention over prior art systems is that prior art systems generally cannot be operated with any type of client system or any type of user device. The present invention provides organizations with a secure authentication system that provides users with the secure access they need to access their data across any platform, solution, or environment. The present invention can be implemented by any organization for use with any type of client system and with any type of user device on any platform.

従来技術に対する本発明の利点の更なる例は、本発明が、環境内のデバイスのハイブ(hive)認証を行うために動作することである。例えば、ジオ‐テンポラル(geo-temporal)ゾーンにわたる複数のモバイルデバイス及び/又はストレージデバイスを、ハイブ認証の過程で承認することができる。従来技術のシステムは、ジオ‐テンポラルゾーンにわたってハイブ承認を行う動作をすることができない。 A further example of the advantages of the present invention over the prior art is that the present invention operates to perform hive authentication of devices within the environment. For example, multiple mobile devices and/or storage devices across geo-temporal zones may be authorized during the hive authentication process. Prior art systems are not operable to perform hive approvals across geo-temporal zones.

本発明の実施形態は、セキュア部分を有するクライアントシステムへのユーザログインを目的として、又は、ユーザがそのようなシステムのセキュア部分にアクセスすることを目的として、ユーザを認証するために動作する複数の構成要素を含んでよい。例えば、本発明の一実施形態は、以下の3つの主要構成要素を含んでよい:(1)同期多面認証(Synchronized Multi-Faceted Authentication)(SMFA);(2)対話型半自動認証(Interactive Semi-Manual Authentication)(ISMA);及び(3)トランザクション認証。本発明のそのような実施形態の例をもたらすために、本発明の実施形態のこれらの3つの構成要素は全て、以下に説明される。当業者が読めば、以下に説明する3つの構成要素のうちの1つ又は2つのみを含む構成、或いは、他の構成要素を組み込む構成のような本発明の他の構成が可能であることを認識するであろう。 Embodiments of the present invention provide multiple authentication methods that operate to authenticate a user for the purpose of user login to a client system having a secure portion, or for the purpose of a user accessing a secure portion of such a system. may contain components. For example, one embodiment of the present invention may include three main components: (1) Synchronized Multi-Faceted Authentication (SMFA); (2) Interactive Semi-Automatic Authentication (SMFA); Manual Authentication (ISMA); and (3) Transaction Authentication. All three of these components of an embodiment of the invention are described below to provide an example of such an embodiment of the invention. A person skilled in the art will read that other configurations of the invention are possible, such as configurations that include only one or two of the three components described below, or that incorporate other components. would recognize

<同期多面認証(Synchronized Multi-Faceted Authentication)(SMFA)>
本発明の認証方法及びシステムにおけるユーザのための認証プロセスが動作して、ランダムなマルチユニットのログイン関連情報の暗号化又はハッシュ化された部分が、デバイス(例えば、ユーザデバイス及び/又はシステムデバイス並びに記憶ユニット)の間で配布されて、それらデバイスの全て或いは1又は複数がユーザを認証するために利用される。
<Synchronized Multi-Faceted Authentication (SMFA)>
The authentication process for a user in the authentication methods and systems of the present invention operates such that an encrypted or hashed portion of random multi-unit login-related information is transferred to a device (e.g., user device and/or system device and storage units), and all or one or more of those devices are utilized to authenticate the user.

従って、第三者による不正アクセスのように、ログインデータが作成、転送、格納、又は認証の際に危殆化される場合、未知のユーザの時間依存(time-sensitive)ランダムログイン関連情報の暗号化又はハッシュ化された一部のみが取得され、このデータはユーザを認証するためには使用できない。 Therefore, encryption of time-sensitive random login-related information for unknown users should the login data be compromised during creation, transmission, storage, or authentication, such as unauthorized access by a third party. Or only a hashed portion is obtained and this data cannot be used to authenticate the user.

より具体的には、本発明は、クライアントシステムにログインするためにチャレンジを行うことをユーザに要求するために動作可能であって、チャレンジは、例えば、ピン及び/又はパターンの静的チャレンジ、アニメーション及び/又は非アニメーションのチャレンジ、グラフィカル及び/又は非グラフィカルなチャレンジ、二次元及び/又は三次元のチャレンジ、動的及び/又は静的なゲーム化チャレンジ、及び/又は非ゲーム化インターフェースのチャレンジなどのチャレンジを行うことをユーザに要求するために動作可能である。システムは、一連のユニットを選択して、それらを用いてチャレンジを生成してよい。各ユニットにはランダムに複数の数字が割り当てられており、それらはログインイベントごとに変更されてよい。ユーザは、同一の認証イベント及び以降の任意の認証イベントにおいて、複数のチャレンジを選択してよい。 More specifically, the present invention is operable to require a user to perform a challenge to log into a client system, the challenge being, for example, a static challenge of pins and/or patterns, an animated and/or non-animated challenges, graphical and/or non-graphical challenges, two-dimensional and/or three-dimensional challenges, dynamic and/or static gamified challenges, and/or non-gamified interface challenges, etc. It is operable to require the user to make a challenge. The system may select a set of units and use them to generate a challenge. Each unit is randomly assigned multiple numbers, which may change with each login event. A user may select multiple challenges in the same authentication event and in any subsequent authentication event.

チャレンジ中に選択された一連のユニットは、認証システムによって複数の固有システム部分に分割される。各ユニット部分におけるユニットは、個別にハッシュ化又は暗号化されてユニット結果を生成してよく、その後、各システム部分のユニットは、集合的にハッシュ化及び/又は暗号化されてシステム部分の結果が生成される。システム部分内の各ユニットに適用されるハッシュ化及び/又は暗号化の数と、各システム部分に適用されるハッシュ化及び/又は暗号化の数は、変化してよい。 The sequence of units selected during the challenge is divided into multiple unique system parts by the authentication system. The units in each unit part may be individually hashed or encrypted to produce a unit result, and then the units in each system part are collectively hashed and/or encrypted to give the system part result. generated. The number of hashing and/or encryptions applied to each unit within a system portion and the number of hashing and/or encryptions applied to each system portion may vary.

ハッシュ化及び/又は暗号化された結果の一部は、クライアント又は他のシステムの分散アーキテクチャの様々なデバイスに格納され、一部はユーザのデバイスに格納される。例えば、ハッシュ化及び/又は暗号化された結果の一部は、複数のユーザデバイス及びシステムデバイスに格納されてよい。 Some of the hashed and/or encrypted results are stored on various devices in the client or other system's distributed architecture, and some are stored on the user's device. For example, some of the hashed and/or encrypted results may be stored on multiple user devices and system devices.

ハッシュ化及び/又は暗号化された部分データを含むクライアントシステムデバイスの全てとユーザデバイスとは、それら自身を認可しなければならない。デバイスが一旦認証されると、その後、それらのデバイスはユーザを共同認証してもよい。 All client system devices and user devices that contain hashed and/or encrypted partial data must authorize themselves. Once the devices are authenticated, they may then co-authenticate the user.

本発明の認証システムは、プラットフォームに依存しないため、どのようなクライアントシステムでも使用できる。 The authentication system of the present invention is platform independent and can be used with any client system.

<対話型半自動認証(Interactive Semi-Manual Authentication)(ISMA)>
本発明のユーザのための認証プロセスは、多層暗号化及び/又はハッシュ関数を使用して、ログイン情報が暗号化及び/又はハッシュ化されるように動作する。ランダム暗号化及び/又はハッシュ化の詳細の部分は、隠されて手動送信され、クライアントシステム又はユーザデバイス内に格納されず、これによって、送信、格納、又は認証の間に危殆化する可能性が減少する。
<Interactive Semi-Manual Authentication (ISMA)>
The authentication process for users of the present invention operates such that login information is encrypted and/or hashed using multiple layers of encryption and/or hash functions. Part of the random encryption and/or hashing details are hidden and manually transmitted and not stored within the client system or user device, thereby potentially compromising during transmission, storage, or authentication. Decrease.

本発明のシステムは、キー(即ち、キー#1)をモバイルデバイスに提供する。本発明の全てのキーは、多層暗号化及び/又はハッシュ関数を使用して暗号化及び/又はハッシュ化される。 The system of the present invention provides a key (ie, Key #1) to the mobile device. All keys of the present invention are encrypted and/or hashed using layered encryption and/or hash functions.

暗号化されたキーは、本発明の認証プロセスで使用するために必要とされ、従って、ユーザは最初に、本明細書に記載のSMFAプロセスを用いて認証を行い、そして、それによってキーを検証して、ユーザのデバイスを認証しなければならない。 An encrypted key is required for use in the authentication process of the present invention, so the user first authenticates using the SMFA process described herein and thereby verifies the key. to authenticate the user's device.

システムは、ランダム暗号化キーに基づいてチャレンジを生成し、当該キーは、ログインイベントごとに変更される。認証されたユーザは、認証されたデバイスを使用してチャレンジをスキャンする。このプロセスの最後に、ランダム暗号化されたキーの一部又は全部がユーザデバイスに送られる。 The system generates challenges based on random encryption keys, which change with each login event. An authenticated user scans the challenge using an authenticated device. At the end of this process, some or all of the random encrypted keys are sent to the user device.

本発明の幾つかの実施形態では、暗号化されたランダムキーの別のセットが存在してよく、当該セットは、ユーザデバイスによって生成されて、ログインイベントごとに変化してもよい。複数のキーが結合されて、暗号化された共有秘密キーが形成され得る。暗号化された共有秘密キーの一部又は全体は、ユーザの認証を要求している組織のクライアントシステムに送られる。 In some embodiments of the invention, there may be another set of encrypted random keys, which may be generated by the user device and changed for each login event. Multiple keys may be combined to form an encrypted shared secret. Part or all of the encrypted shared secret is sent to the client system of the organization requesting authentication of the user.

暗号化の複数の層は、ユーザデバイスによって生成されてよい。そのような暗号化は、要素に個別に又は纏めて適用されてよい。例えば、ソルト及びivと共にランダムな3桁以上の数字(各ログインイベントの間に変化してよい)がユーザデバイスによって生成されてよく、又は他のタイプの暗号化及び/又はハッシュ化が適用されてよい。暗号化の別の層は、先行する暗号化にまとめて追加されてもよい。 Multiple layers of encryption may be generated by the user device. Such encryption may be applied to elements individually or collectively. For example, a random 3 or more digit number (which may change during each login event) along with the salt and iv may be generated by the user device, or some other type of encryption and/or hashing may be applied. good. Another layer of encryption may be added en bloc to the previous encryption.

複数のランダムキャラクタは、複数の層の暗号化の結果として生じるパッケージから削除される。例えば、6つのランダムキャラクタがパッケージから削除されてよい。複数のランダムな数字及びキャラクタがユーザに提供され、暗号化された詳細は、ユーザデバイスの認証を要求しているクライアントシステムに送られる。 Multiple random characters are removed from the resulting package of multiple layers of encryption. For example, 6 random characters may be removed from the package. A plurality of random digits and characters are provided to the user and the encrypted details are sent to the client system requesting authentication of the user device.

ユーザデバイスの認証を要求するクライアントシステムは、ユーザデバイスに与えられた情報の提供をユーザに要求する。ユーザがそのような情報を提供した場合にのみ、クライアントシステムはユーザを認証できるようになる。このプロセスにより、第三者がユーザのログイン情報を傍受したり、推測したり、知ったりする可能性を減らすことができる。 A client system requesting authentication of a user device requests the user to provide information provided on the user device. Only when the user provides such information will the client system be able to authenticate the user. This process reduces the possibility of a third party intercepting, guessing, or learning a user's login information.

ユーザが認証されると、セッションが、時間ジオベースアクセスコードによって認証される。例えば、ジオベースアクセスコードは、トークン又は他の任意のタイプのジオベースアクセスコードであってよい。時間が経過した場合、又はジオアスペクト(geo aspect)が無効化された場合、ジオベースアクセスコードは無効化されてよい。例えば、ジオアスペクトは、ユーザがジオベースアクセスコードに関連するジオロケーション内に位置していない場合に無効化されてよい。 Once the user is authenticated, the session is authenticated with a temporal geobase access code. For example, the geo-based access code may be a token or any other type of geo-based access code. The geobase access code may be revoked if time has passed or if the geo aspect has been revoked. For example, a geoaspect may be disabled if the user is not located within the geolocation associated with the geobase access code.

<トランザクション認証>
本発明の認証システムのユーザ認証プロセスは、ユーザがクライアントシステムに自分のキーを明かすことなくトランザクションが認証されるように動作する。クライアントシステムは、ユーザのキーを、又はユーザのキーの有無を知らない。ユーザデバイスは、システムにキーを公開することなく、有効なキーを有していること、及び、ユーザとデバイスが認証されたこととをシステムに証明する必要がある。これを達成するために、ユーザデバイスは、本明細書に記載されたSMFAプロセス及び/又は本明細書に記載されたISMAプロセスを用いて認証する必要があろう。ユーザデバイスが認証されると、ユーザデバイスは、それが有している又はそれが受け取ったランダム一時キーを使用してよい。
<Transaction authentication>
The user authentication process of the authentication system of the present invention operates so that transactions are authenticated without the user revealing his key to the client system. The client system does not know the user's key, or the presence or absence of the user's key. The user device must prove to the system that it has a valid key and that the user and device are authenticated without exposing the key to the system. To accomplish this, the user device would need to authenticate using the SMFA process described herein and/or the ISMA process described herein. Once the user device is authenticated, the user device may use random temporary keys it has or has received.

システムはセキュリティチャレンジを生成する。このチャレンジは、多層暗号化、デジタル署名、及び/又はハッシュ化などの機能を使用して保護されてよい。保護されたパッケージは、認証を要求するユーザデバイスに送られる。ユーザデバイスはパッケージを検証し、ディスプレイに提供された復号キーを使用するか、チャレンジを解決する。 The system will generate a security challenge. This challenge may be protected using features such as layered encryption, digital signatures, and/or hashing. The protected package is sent to the user device requesting authentication. The user device verifies the package and uses the decryption key provided to the display or resolves the challenge.

ある実施例では、本発明の一実施形態は、システムが、1又は複数の桁がブランクである複数のランダム桁数英数字コードを生成するように動作してよく、ブランクに記入されるべき対応アルファベット又は数字はまた、ISMAプロセスにおけるチャレンジと共にユーザに送られる。例えば、システムは、6桁以上の複数のランダム桁数英数字コードを生成してよく、他の任意の数のランダム桁数英数字コードを生成してよい。 In one embodiment, an embodiment of the present invention may operate such that the system generates a plurality of random digit alphanumeric codes in which one or more digits are blank, and the correspondence to be filled in blanks. Alphabets or numbers are also sent to the user with the challenge in the ISMA process. For example, the system may generate multiple random digit alphanumeric codes of six digits or more, and may generate any other number of random digit alphanumeric codes.

システムは、6桁以上のランダム桁数英数字コードに加えて他の要素を生成し、暗号化する。例えば、システムは、6以上のランダム桁数英数字コードを暗号化してよい。更なる暗号化及びセキュリティ機能(ソルト、iv、セキュアキーなどを含むがこれらに限定されない)、クライアントシステムによって適用されてもよい。システムは、その後、暗号化の結果にデジタル署名を追加する。この暗号化されて署名されたパッケージは、認証を要求するユーザデバイスに送られる。 The system generates and encrypts a six or more random digit alphanumeric code plus other elements. For example, the system may encrypt six or more random digit alphanumeric codes. Additional encryption and security features (including but not limited to salt, iv, secure key, etc.) may be applied by the client system. The system then adds a digital signature to the encryption result. This encrypted and signed package is sent to the user device requesting authentication.

ユーザデバイスは、デジタル署名を確認し、そして、提供された復号キーを使用して、対応するアルファベット又は数字と共に6桁以上の英数字コードを再現する。 The user device verifies the digital signature and uses the provided decryption key to recreate the six or more alphanumeric code along with the corresponding alphanumeric characters.

ユーザデバイスは、その後、セキュリティ機能と共に、再現された情報を暗号化する。ユーザデバイスは、暗号化の結果にデジタル署名を追加する。この暗号化されて署名されたパッケージは、認証プロセスを行うクライアントシステムに送られる。 The user device then encrypts the reproduced information along with security features. The user device adds a digital signature to the encryption result. This encrypted and signed package is sent to the client system for authentication process.

クライアントシステムは、ユーザデバイスからのメッセージを受け取り、メッセージを受け取ると、デジタル署名を検証し、メッセージを復号し、送られたメッセージと比較する。比較により、受け取ったメッセージが送ったメッセージと同じであれば、クライアントシステムは、ユーザが必要なキーを持っていることを知っていることになる。ユーザデバイスが認証されると、セッションは、時間ジオベースアクセスコードによって認証されるが、これらのアクセスコードは、本明細書で既に説明したように、時間が経過すると、又は、ジオが無効になると無効になる。 A client system receives a message from a user device, and upon receiving the message, verifies the digital signature, decrypts the message, and compares it to the message sent. If the received message is the same as the sent message by comparison, the client system knows that the user has the required key. Once the user device is authenticated, the session is authenticated by temporal geo-based access codes, but these access codes may expire over time or when the geo expires, as previously described herein. become invalid.

当業者が読めば、本発明の認証のための方法及びシステムは、様々な態様で実施できることを認識するであろう。図1乃至図17は、本発明の幾つかの実施形態の例を示しており、これらは本明細書で説明される。 A reader of ordinary skill in the art will appreciate that the method and system for authentication of the present invention can be implemented in a variety of ways. Figures 1-17 illustrate examples of some embodiments of the present invention and are described herein.

図1に示すように、認証システムは、クライアントシステム、ユーザシステム、検証システム、及び複数の記憶ユニットを含む多くの要素を含んでいる。認証システムは、ユーザのログインを証明する、検証するなどの多くの機能を実現するために動作可能である。 As shown in FIG. 1, the authentication system includes many elements including a client system, a user system, a verification system, and multiple storage units. An authentication system is operable to perform many functions such as proving and verifying a user's login.

ユーザシステム102は、クライアントシステム902にログインするためにユーザによって使用される。ユーザシステムは、本明細書に記載されているように、ユーザのアイデンティティの検証及び他の行為に関与するために動作可能である。ユーザがクライアントシステムの保護された領域へのアクセスを得るためには、ユーザのアイデンティティがクライアントシステムによって検証されなければならない。検証システム202は、クライアントシステムに対するユーザのアイデンティティの検証に従事するように動作可能である。 User system 102 is used by a user to log into client system 902 . The user system is operable to verify the user's identity and participate in other actions as described herein. In order for a user to gain access to a protected area of the client system, the user's identity must be verified by the client system. Verification system 202 is operable to engage in verification of a user's identity to a client system.

ユーザが、ユーザデバイス90を介して、クライアントシステムのセキュア領域にアクセスすることを希望する場合、ユーザは最初に、クライアントシステムに対してユーザのアイデンティティを証明する必要がある。クライアントシステムがユーザのアイデンティティの証明を受け取ると、システムは、その後、ユーザがクライアントシステムの保護コンテンツにアクセスすることを許可することができる。 When a user wishes to access the secure area of a client system via user device 90, the user must first prove his or her identity to the client system. Once the client system receives proof of the user's identity, the system can then authorize the user to access protected content on the client system.

ユーザは、自分のアイデンティティを証明し、クライアントシステムのセキュア領域へのアクセスを得るためにユーザシステムを使用する。検証システム202は、ユーザのアイデンティティの信憑性を検証するために動作可能である。同期システム300は、1又は複数の同期要素302A・・・302Nの集合であり、ユーザのアイデンティティの信憑性を承認するために同期的に機能するように動作する。 A user uses the user system to prove his identity and gain access to the secure area of the client system. Verification system 202 is operable to verify the authenticity of a user's identity. Synchronization system 300 is a collection of one or more synchronization elements 302A...302N that operate to work synchronously to authenticate the authenticity of a user's identity.

ユーザシステムは、複数の要素を含んでよい。本発明の一実施形態では、ユーザシステムは、証明ユニット104、表示ユニット106、処理ユニット108、承認ユニット112、記憶ユニット110、及び通信ユニット114を含んでよい。証明ユニットは、ユーザシステム102の初期アイデンティティを検証システムに証明するために動作可能である。表示ユニットは、例えば、クライアントシステム、検証システム、又は本発明の他のシステム若しくは要素からユーザシステムに転送されたチャレンジ又は他の情報などの情報をユーザに表示するために動作可能である。表示ユニットは更に、クライアントシステムによって生成された情報をユーザに表示するために動作可能である。表示ユニットはまた、入力デバイスに接続されてよく、或いは、タッチスクリーン又は他の入力操作性を有してよく、それによって、ユーザが情報を入力できる。ユーザが入力した情報は、表示ユニットに表示されてよく、さもなければ、ユーザシステムによって収集されて格納されてよく、クライアントシステム又は認証システムの別のシステム若しくは要素に転送されてよく、或いは、ユーザシステムで処理されてよい。処理ユニット108は、システム内の処理能力の全てを担う。承認ユニット112は、チャレンジと応答にアクセスして結果を提供することを担い、記憶ユニットは、一時的データと恒常的データの両方を記憶することを担う。通信ユニット114は、全ての外部通信を担う。 A user system may include multiple elements. In one embodiment of the invention, the user system may include an authentication unit 104 , a display unit 106 , a processing unit 108 , an authorization unit 112 , a storage unit 110 and a communication unit 114 . The proving unit is operable to prove the initial identity of user system 102 to the verification system. The display unit is operable for displaying information to the user, for example challenges or other information transferred to the user system from the client system, the verification system or other systems or elements of the invention. The display unit is further operable to display information generated by the client system to the user. The display unit may also be connected to an input device, or may have a touch screen or other input operability, allowing the user to enter information. The information entered by the user may be displayed on the display unit, or otherwise collected and stored by the user system, transferred to the client system or another system or element of the authentication system, or may be processed by the system. Processing unit 108 is responsible for all of the processing power in the system. The approval unit 112 is responsible for accessing challenges and responses and providing results, and the storage unit is responsible for storing both temporary and permanent data. Communication unit 114 is responsible for all external communications.

検証システム202は、複数の要素を含んでよい。本発明の一実施形態では、検証システムは、マスカ(masker)ユニット204、N‐パケット生成器206、レポート生成器208、処理ユニット210、承認ユニット212、1又は複数の記憶ユニット214A・・・214N、及び通信ユニット216を含んでよい。マスカユニットは、クライアントシステム及びユーザシステムのために1又は複数の固有の非特定(non-identifying)識別子を生成するために動作する。処理ユニット210は、認証システムが要求するような情報やデータを処理するために動作する。承認ユニット212は、システム内部で受け取った応答にアクセスして、処理ユニットに送られる、又は通信ユニットを介してシステムの外部にある受信者に送られる結果を提供するために動作する。1又は複数の記憶ユニットは、一時的データと恒常的データの両方を格納するために動作する。N‐パケット生成器206は、認証情報のパケットを生成するために動作する。通信ユニット216は、検証システムの外部にある認証システムの全ての要素(即ち、クライアントシステム、ユーザシステムなど)との全ての通信を受信して転送するために動作する。 Verification system 202 may include multiple elements. In one embodiment of the invention, the verification system includes a masker unit 204, an N-packet generator 206, a report generator 208, a processing unit 210, an approval unit 212, one or more storage units 214A...214N. , and communication unit 216 . The masker unit operates to generate one or more unique non-identifying identifiers for client systems and user systems. Processing unit 210 operates to process information and data as required by the authentication system. Approval unit 212 operates to access responses received within the system and provide results that are sent to a processing unit or via a communication unit to a recipient external to the system. One or more storage units operate to store both temporary and permanent data. The N-packet generator 206 operates to generate packets of authentication information. Communications unit 216 operates to receive and forward all communications with all elements of the authentication system external to the verification system (ie, client systems, user systems, etc.).

当業者が読むと、本発明の実施形態では、図1の検証システムの要素として記載されているユニットの一部又は全てが、クライアントシステムのような認証システムのその他のシステム又は要素内に含まれてよいことを認識するであろう。本発明の幾つかの実施形態では、図1の検証システムの要素として記載されているユニットの一部又は全ては、スタンドアロンの要素であってよく、認証システムの如何なるシステムにも含まれていないが、概ね認証システムに含まれていてよい。 As one skilled in the art will read, in embodiments of the invention some or all of the units described as elements of the verification system of FIG. 1 may be included within other systems or elements of an authentication system, such as a client system. you will recognize that you may In some embodiments of the invention, some or all of the units described as elements of the verification system of FIG. 1 may be stand-alone elements and not included in any system of the authentication system. , may generally be included in the authentication system.

同期システム300は、1又は複数の同期要素302A・・・302Nを含んでよく、各同期要素は、複数のユニットを含んでよい。本発明の一実施形態では、少なくとも2つの同期要素は、証明ユニット304A・・・304N、記憶ユニット308A・・・308N、処理ユニット306A・・・306N、承認ユニット312A・・・312N、及び通信ユニット310A・・・310Nを含んでよい。証明ユニット304Aは、同期システム300の初期アイデンティティを検証システム202に証明するために動作する。 Synchronization system 300 may include one or more synchronization elements 302A...302N, and each synchronization element may include multiple units. In one embodiment of the invention, the at least two synchronization elements are certification units 304A...304N, storage units 308A...308N, processing units 306A...306N, authorization units 312A...312N, and communication units. 310A...310N. Proof unit 304 A operates to prove the initial identity of synchronization system 300 to verification system 202 .

ユーザシステム、検証システム、及び同期要素の間の通信は、そのようなシステム及び/又は要素の通信ユニットによって受信され、且つ、そのようなシステム及び/又は要素から転送される。システム及び/又は要素間のそのような通信の全ては、1又は複数のマスキング機能の使用によって保護されてよく、1又は複数のマスキング機能は、ハッシュ化及び/又は暗号化を含んでよい。 Communications between user systems, verification systems and synchronization elements are received by and forwarded from communication units of such systems and/or elements. All such communications between systems and/or elements may be protected through the use of one or more masking functions, which may include hashing and/or encryption.

図2に示すように、データは、クライアントシステム902と検証システムのマスカユニット204との間で、検証システムの通信ユニット216を介して転送されてよい。クライアントシステムと検証システムの間における、クライアントシステムを使用したい新規ユーザのセットアップに関連する最初の通信中に、クライアントシステムは、検証システムのマスカユニットと通信して、クライアントシステムとの保護された接続を確立するために新規ユーザに求められる資格情報を要求してよい。マスカユニットは、固有の保護された資格情報を生成し、クライアントシステムは当該資格情報を使用して、クライアントシステムと検証システムとの間のリンクを確立する。これらの固有の資格情報は、例えば、クライアントID、又は他の形態の資格情報を含んでよい。 As shown in FIG. 2, data may be transferred between the client system 902 and the verification system's masker unit 204 via the verification system's communication unit 216 . During initial communication between a client system and a verification system associated with setting up a new user wishing to use the client system, the client system communicates with the verification system's masker unit to establish a secure connection with the client system. It may request the credentials required of the new user to establish. The masker unit generates a unique protected credential that the client system uses to establish a link between the client system and the verification system. These unique credentials may include, for example, client IDs, or other forms of credentials.

クライアントシステムと検証システムの間で信頼された接続が確立されると、マスカユニットは、演算、アルゴリズム、又は別のタイプのプロセスを実行して、ユーザには秘密である固有の非特定識別子を生成する。固有の非特定識別子は、検証システムに含まれる記憶ユニット214A(又は記憶ユニット214A・・・214Nの何れか)の1つに格納されてよい。 Once a trusted connection is established between the client system and the verification system, the masker unit performs a computation, algorithm, or other type of process to generate a unique non-identifying identifier that is secret to the user. do. The unique non-specific identifier may be stored in one of the storage units 214A (or any of the storage units 214A...214N) included in the verification system.

マスカユニットは、ハッシュ化、暗号化、又は何らかの他のマスキング機能を使用して、非特定識別子をセキュアにしてよい。また、クライアントシステムは、利用可能な全ての同期要素のリストを検証システムに提供してよい。本発明の実施形態では、同期要素の1又複数は、検証システムの記憶ユニット214A・・・214Nの1又複数に格納されてよい。 The masker unit may use hashing, encryption, or some other masking function to secure the non-identifying identifier. The client system may also provide the verification system with a list of all available synchronization elements. In embodiments of the present invention, one or more of the synchronization elements may be stored in one or more of the storage units 214A...214N of the verification system.

図3に示すように、本発明の登録プロセスは、ユーザがクライアントシステムに登録するために、ユーザと認証システムの初期対話中に必要とされる認証システムの要素の動作を含んでよい。クライアントシステム、ユーザシステムの要素、検証システムの要素、及び同期システムの要素間の全ての通信は、図3に示すように、ユーザシステム、検証システム、及び同期システムの通信ユニットを介して行われる。ユーザは、クライアントシステムのセキュア部分へのアクセスを許可されるためには、クライアントシステムに登録しなければならない。初期登録中、証明ユニット104は、証明情報を取得するためにクライアントシステムの1又は複数の記憶ユニット110にアクセスする。証明情報は、マスカユニットによって生成された非特定識別子、マスカユニットによって生成された秘密、及びユーザデバイスを識別し得る情報、並びに/或いは、固有のアプリケーション番号、又は、例えば生体情報(例えば、ユーザの指紋、ユーザの網膜スキャン、又はユーザの他の生体情報)や使用情報のようなユーザに関連する他の情報を含んでよい。証明ユニットが証明情報の全てを取得すると、証明情報は、ユーザシステムの1又は複数の記憶ユニットに格納されてよい。 As shown in FIG. 3, the registration process of the present invention may include the operation of elements of the authentication system required during the initial interaction between the user and the authentication system in order for the user to register with the client system. All communication between the client system, the user system elements, the verification system elements, and the synchronization system elements is through the communication units of the user system, the verification system, and the synchronization system, as shown in FIG. A user must be registered with the client system in order to be granted access to the secure portion of the client system. During initial registration, the certification unit 104 accesses one or more storage units 110 of the client system to obtain certification information. Credentials may include a non-identifying identifier generated by the masker unit, a secret generated by the masker unit, and information that may identify the user device and/or a unique application number or, for example, biometric information (e.g., user's fingerprint, retinal scan of the user, or other biometric information of the user) and other information related to the user, such as usage information. Once the certification unit has obtained all of the certification information, the certification information may be stored in one or more storage units of the user system.

証明ユニット104が取得した証明情報は、ユーザシステムの通信ユニット114を介して、検証システムの処理ユニット210に安全に送られる。処理ユニット210は、検証システムの通信ユニット216を介して、検証システムの1又は複数の記憶ユニット214A・・・214Nから、ユーザの情報を取得する。処理ユニット210は、クライアントシステムから受け取った情報と、検証システムの1又は複数の記憶ユニットから取得した情報とを組み合わせて、情報のパッケージを作成する。処理ユニットは、そのような情報パッケージを承認ユニット212に送る。 The certification information obtained by the certification unit 104 is securely sent to the processing unit 210 of the verification system via the communication unit 114 of the user system. The processing unit 210 obtains the user's information from one or more storage units 214A...214N of the verification system via the communication unit 216 of the verification system. The processing unit 210 combines information received from the client system with information obtained from one or more storage units of the verification system to create a package of information. The processing unit sends such information packages to approval unit 212 .

承認ユニット212は、先にクライアントシステムから受け取っており、検証システムの1又は複数の記憶ユニット214A・・・214Nに格納されている情報と、処理ユニットから受け取った情報パッケージの値を比較する。比較が成功する場合、承認ユニットは、ユーザシステムとの接続を受け入れる。比較が成功しない場合、承認ユニット212は、ユーザシステムとの接続を拒否する。承認システムの結果は、N‐パケット生成器206に送られる。 The approval unit 212 compares the value of the information package received from the processing unit with the information previously received from the client system and stored in one or more storage units 214A...214N of the verification system. If the comparison succeeds, the approval unit accepts the connection with the user system. If the comparison is unsuccessful, the approval unit 212 rejects the connection with the user system. The results of the approval system are sent to N-Packet Generator 206 .

ユーザシステムとの接続が承認されない場合、ユーザを登録することを試みる認証システムの動作は終了する。本発明の一実施形態では、ユーザシステムとの接続が承認されると、N‐パケット生成器は、ランダムチャレンジを生成する。ランダムチャレンジは、複数のパケット(N‐パケット)を含んでよい。各Nパケットは、複数のランダム数字又は英数字/他のキャラクタ(N‐RANC)を含む。 If the connection with the user's system is not approved, the authentication system's attempts to enroll the user are terminated. In one embodiment of the invention, the N-packet generator generates a random challenge when a connection with the user system is approved. A random challenge may include multiple packets (N-packets). Each N packet contains multiple random numbers or alphanumeric/other characters (N-RANC).

N‐パケットは、ユーザシステムの表示ユニット106に安全に送られる。本発明の実施形態では、これらに限定されないが、N‐暗号化、ハッシュ化及び/又はデジタル署名を含む多層の保護を適用して、パケット生成器と表示ユニットの間で転送される中のN‐パケットに保護が、例えば、転送前にN‐RNAC及びN‐パケットの両方の多層保護が適用されてよい。本発明の他の実施形態では、N‐パケットは、N‐RNACの有無に拘わらず、ユーザシステム又は別のシステムの要素によって生成できるであろう。ユーザは、この要素と対話して、OYパケットを生成する。 The N-packets are sent securely to the display unit 106 of the user system. Embodiments of the present invention apply multiple layers of protection, including but not limited to N-encryption, hashing and/or digital signatures, to determine the N - Protection may be applied to the packet, eg multiple layers of protection for both N-RNAC and N-packets before forwarding. In other embodiments of the present invention, N-packets could be generated by the user system or another system element, with or without N-RNAC. The user interacts with this element to generate OY packets.

表示ユニット106は、N‐パケットを受け取り、N‐パケットに含まれる情報をユーザに表示する。表示されたN‐パケットから、ユーザは、1又は複数のN‐パケットを入力し、それにより、選択されたN‐パケットに関連するN‐RANCを選択する。参照を容易にするために、ユーザによって選択されたN‐パケットは、本明細書ではY‐パケットとする。ユーザによって選択されたY‐パケットの順序は、順序付け(Ordered)Y‐パケット(OY‐パケット)となるように保持される。OY‐パケットは、表示ユニット106によってユーザシステムの処理ユニット108に送られる。ユーザシステムの処理ユニットは、OY‐パケットを2つ以上の部分に分割する。各部分は、2つ以上のN‐パケットを含んでいてよい。 A display unit 106 receives the N-packets and displays the information contained in the N-packets to the user. From the displayed N-packets, the user enters one or more N-packets, thereby selecting the N-RANC associated with the selected N-packets. For ease of reference, the N-packets selected by the user are referred to herein as Y-packets. The order of Y-packets selected by the user is preserved to be Ordered Y-packets (OY-packets). OY-packets are sent by the display unit 106 to the processing unit 108 of the user system. A processing unit in the user system splits the OY-packet into two or more parts. Each portion may contain more than one N-packet.

ユーザシステムの処理ユニットは、OY‐パケットの各部分にマスキング機能を適用することにより、OY‐パケットの情報をマスキングしてよい。例えば、ユーザシステムの処理ユニットは、OY‐パケットに含まれるN‐RNACの各々、及び/又はOY‐パケットに含まれるY‐パケットの各々、及び/又はOY‐パケットの各々のうちの1又は複数にマスキングを適用してよい。1又は複数のマスキングの結果は、ユーザシステムの1又は複数の記憶ユニット110に格納されてよい。格納されない結果は、検証システムの処理デバイスに送られる。 The processing unit of the user system may mask the information of the OY-packet by applying a masking function to each portion of the OY-packet. For example, the processing unit of the user system may select one or more of each of the N-RNAC contained in the OY-packet and/or each of the Y-packets contained in the OY-packet and/or each of the OY-packets. masking may be applied to One or more masking results may be stored in one or more storage units 110 of the user system. Results that are not stored are sent to the processing device of the verification system.

N‐パケット生成器によって生成されたチャレンジは、ユーザシステムの表示ユニットに送られ、複数のN‐パケットを含んでおり、各Nパケットは、3つ以上のN‐RANCを含んでよい。ユーザは、OY‐パケットを形成する複数のY‐パケットを選択してよい。OYパケットは、2つの部分(即ち、OYA‐部とOYB‐部)に分割されてよい。 The challenge generated by the N-packet generator is sent to the display unit of the user system and contains multiple N-packets, each N-packet may contain more than two N-RANCs. A user may select multiple Y-packets to form an OY-packet. An OY packet may be split into two parts: OYA-part and OYB-part.

検証システムの処理ユニットは、ハッシュ化及び/又は暗号化を適用し、そして、検証システムの1又は複数の記憶ユニットに格納されたリストから、同期システムの2つ以上のランダム同期要素を選択してもよい。選択されたランダム同期要素は、同期レジストリを形成する。検証システムの処理ユニットは、個別に又は纏めてOY‐パケット部分に秘密を追加してよく、個別に及び/又は纏めてOY‐パケット部分に多層ハッシュ化及び/又は暗号化機能を実行してよい。次に、ハッシュ化及び/又は暗号化された固有のOY‐パケット部分は、1又は複数の同期要素の間で配布され、OY‐パケット部分が配布される1又は複数の同期要素の1又は複数の記憶ユニットに格納されてよい。その結果、固有のOY‐パケット部分が様々な同期要素に格納される。配布された情報部分は、同期要素の同期レジストリに格納されてよい。 A processing unit of the verification system applies hashing and/or encryption and selects two or more random synchronization elements of the synchronization system from a list stored in one or more storage units of the verification system. good too. The selected random synchronization elements form a synchronization registry. The processing units of the verification system may individually or collectively add secrets to the OY-packet portions and individually and/or collectively perform multi-layered hashing and/or encryption functions on the OY-packet portions. . The hashed and/or encrypted unique OY-packet part is then distributed among one or more synchronization elements, and one or more of the one or more synchronization elements to which the OY-packet part is distributed. storage unit. As a result, unique OY-packet parts are stored in various synchronization elements. The distributed pieces of information may be stored in the synchronization registry of the synchronization element.

図4に示すように、認証システムは、ユーザがクライアントシステムのセキュア部分へのアクセスを得るために、アクセスプロセスを実行するように動作してよく、それによって、登録されたユーザは、検証システムの動作を通じて自分自身を認証させることを試みる。ユーザシステムの要素と、検証システムの要素と、同期システムの要素との間での全ての通信は、図4に示すように、ユーザシステムの通信ユニットと、検証システムの通信ユニットと、同期システムの同期要素の通信ユニットとを介して行われる。ユーザシステムの証明ユニット104は、ユーザシステムの記憶ユニット110の1又は複数にアクセスして証明情報を取得する。証明情報は、非特定識別子及び秘密を含んでよい。 As shown in FIG. 4, the authentication system may operate to perform an access process for a user to gain access to the secure portion of the client system, whereby registered users are Attempts to authenticate itself through behavior. All communications between the elements of the user system, the elements of the verification system, and the elements of the synchronization system are as shown in FIG. through the communication unit of the synchronous element. The user system's certification unit 104 accesses one or more of the user system's storage units 110 to obtain certification information. Credentials may include non-identifying identifiers and secrets.

証明ユニットが取得した証明情報の一部又は全部は、検証システムの通信ユニット216を介して、ユーザシステムの通信ユニット114から検証システムの処理ユニット210に安全に送られる。処理ユニット210は、検証システムの記憶ユニット214A・・・214Nにおける1又は複数からユーザのための情報を取得する。処理ユニット210は、クライアントシステムから受け取った情報と、検証システムの1又は複数の記憶ユニットから取得した情報とを組み合わせて、情報のパッケージを作成する。処理ユニットは、この情報パッケージを検証システムの承認ユニット212に送る。 Part or all of the certification information obtained by the certification unit is securely sent from the communication unit 114 of the user system to the processing unit 210 of the verification system via the communication unit 216 of the verification system. The processing unit 210 obtains information for the user from one or more of the storage units 214A...214N of the verification system. The processing unit 210 combines information received from the client system with information obtained from one or more storage units of the verification system to create a package of information. The processing unit sends this information package to the approval unit 212 of the verification system.

承認ユニット212は、処理ユニット210から受け取った情報パッケージの値を、クライアントシステムから先に受け取っており、検証システムに格納されている情報と比較する。比較が成功した場合(即ち、比較の結果、比較された情報の間での一致が得られた場合)、承認ユニットは、ユーザシステムとの接続を受け入れる。比較が成功しない場合、承認ユニットはユーザシステムとの接続を拒否する。承認システムの結果は、N‐パケット生成器206に送られる。 Approval unit 212 compares the value of the information package received from processing unit 210 with information previously received from the client system and stored in the verification system. If the comparison is successful (ie the comparison results in a match between the compared information), the approval unit accepts the connection with the user system. If the comparison is unsuccessful, the Approval Unit rejects the connection with the user system. The results of the approval system are sent to N-Packet Generator 206 .

ユーザシステムとの接続が承認されない場合、ユーザを登録することを試みる認証システムの動作は終了する。ユーザシステムとの接続が承認された場合、N‐パケット生成器は、ランダムチャレンジを生成する。ランダムチャレンジは、2つ以上のパケット(N‐パケット)を含んでよい。各N‐パケットは、更に2つ以上のランダムな数又は英数字(N‐RANC)を含む。多層ハッシュ化及び/又は暗号化が、表示ユニットに送られるチャレンジに適用されてよい。ハッシュ化及び/又は暗号化は、乱数発生器を用いて適用されてよい。 If the connection with the user's system is not approved, the authentication system's attempts to enroll the user are terminated. If the connection with the user system is approved, the N-Packet Generator generates a random challenge. A random challenge may include two or more packets (N-packets). Each N-packet also contains two or more random numbers or alphanumeric characters (N-RANC). Multiple layers of hashing and/or encryption may be applied to the challenge sent to the display unit. Hashing and/or encryption may be applied using a random number generator.

N‐パケットは、ユーザシステムの表示ユニット106に安全に送られる。本発明の実施形態は、多層ハッシュ化及び/又は暗号化を適用して、N‐パケット生成器と表示ユニットの間でトランジット中のN‐パケットを保護してよい。例えば、多層ハッシュ化及び/又は暗号化は、転送に先立ってN‐RNAC及び/又はN‐パケットをハッシュ化及び/又は暗号化することを含んでよい。表示部106は、N‐パケットを受信し、対応する情報をユーザに対して表示する。表示された対応情報から、ユーザは、2つ以上の対応情報を選択し、N‐パケットを選択すると、N‐RANCが、選択されたN‐ブラケットに関連付けられる。参照を容易にするために、ユーザによって選択されたN‐パケットは、ここではY‐パケットであって、これらのYパケットは順序付けられており、OYパケットと称される。 The N-packets are sent securely to the display unit 106 of the user system. Embodiments of the present invention may apply multiple layers of hashing and/or encryption to protect N-packets in transit between the N-packet generator and the display unit. For example, multiple layers of hashing and/or encryption may include hashing and/or encrypting N-RNACs and/or N-packets prior to transmission. The display unit 106 receives the N-packets and displays corresponding information to the user. From the displayed correspondence information, the user selects two or more correspondence information, selects an N-packet, and the N-RANC is associated with the selected N-bracket. For ease of reference, the N-packets selected by the user are here Y-packets, and these Y-packets are ordered and referred to as OY-packets.

本発明の別の実施形態では、N‐パケット生成器は、ユーザシステム又は他のシステムに存在してよく、当該システムは、ユーザシステム又は他のシステムからの任意の要素、例えばカメラ、スキャナなどを介してユーザとの対話によってYパケット及び/又はOYパケットを生成してよい。 In another embodiment of the invention, the N-packet generator may reside in the user system or other system, which may include any element from the user system or other system, such as a camera, scanner, etc. A Y packet and/or an OY packet may be generated by interaction with the user via.

OY-パケットは、表示ユニット106によってユーザシステムの処理ユニット108に送られる。ユーザシステムの処理ユニットは、OY‐パケットを複数の部分に分割する。各部分は、複数のN‐パケットを含んでいる。 The OY-packet is sent by the display unit 106 to the processing unit 108 of the user system. The processing unit of the user system divides the OY-packet into parts. Each part contains multiple N-packets.

ユーザシステムの処理ユニット108は、ユーザシステムの1又は複数の記憶ユニットから以前に格納されたOY‐パケット部分を取り出す。当該記憶ユニットには、そのような以前に格納されたOY‐パケット部分が格納されている。処理ユニットは、以前に格納されたOY‐パケット部分と、より最近に作成されたOY‐パケット部分とを、ユーザシステムの承認ユニット110に送る。ユーザシステムの承認ユニットは、ユーザシステムの処理ユニットから受け取った情報を、以前に格納されたOY‐パケット部分と比較して、承認結果又は否認結果の何れかを生成する。ユーザシステムの承認ユニットが生成した結果(承認結果又は否認結果の何れかである)は、ユーザシステムの処理ユニットに転送される。ユーザシステムの承認ユニットからの結果が否認結果の場合は、認証処理が停止される。 The processing unit 108 of the user system retrieves previously stored OY-packet portions from one or more storage units of the user system. The storage unit contains such previously stored OY-packet parts. The processing unit sends the previously stored OY-packet part and the more recently created OY-packet part to the approval unit 110 of the user system. The user system's approval unit compares the information received from the user system's processing unit with the previously stored OY-packet portion to generate either an approval or a denial result. The results generated by the approval unit of the user system (either approval or rejection results) are forwarded to the processing unit of the user system. If the result from the authorization unit of the user system is a rejection result, the authentication process is stopped.

ユーザシステムの承認ユニットの結果が承認結果である場合、ユーザシステムの処理ユニットは、新しく生成されたOYパケット部分のうちの1又は複数のOYパケット部分を、ユーザシステムの1又は複数の記憶ユニットに格納してよく、残りのOYパケット部分を検証システムの処理ユニットに送る。検証システムの処理ユニットは、ユーザのために同期システム情報を同期レジストリから取得する。検証システムの処理ユニットは、受け取ったOYパケット部分に秘密を追加して、これらのOYパケット部分に多層ハッシュ化及び/又は暗号化機能を実行してよい。ハッシュ化及び/又は暗号化後、検証システムの処理ユニットは、ハッシュ化及び/又は暗号化された固有のOYパケット部分を、同期システムの同期要素の処理ユニット302A・・・320Nの1又は複数に送ってよい。同期要素の各処理ユニットは、ハッシュ化された及び/又は暗号化された固有のOYパケット部分を、検証システムの処理ユニット210から受け取る。ハッシュ化された及び/又は暗号化されたOYパケット部分を受け取った同期化要素の各処理ユニットは、図5に示すように処理を行ってよい。同期要素の処理ユニット306A・・・306Nは、ハッシュ化及び/又は暗号化を復号して、1又は複数のN‐パケット及びN‐RANCを決定し、識別してよい。同期要素の処理ユニットは、同じ同期要素の承認ユニット312A・・・312NにN‐パケット及びN‐RANCを送ってよい。 If the result of the approval unit of the user system is the approval result, the processing unit of the user system stores one or more OY packet parts of the newly generated OY packet parts in one or more storage units of the user system. may be stored, and the remaining OY packet portions are sent to the processing unit of the verification system. A processing unit of the verification system obtains synchronization system information from the synchronization registry for the user. A processing unit of the verification system may add a secret to received OY packet portions and perform multi-layer hashing and/or encryption functions on these OY packet portions. After hashing and/or encryption, the processing unit of the verification system sends the hashed and/or encrypted unique OY packet portion to one or more of the synchronization element processing units 302A...320N of the synchronization system. You can send Each processing unit of the synchronization element receives a unique hashed and/or encrypted OY packet portion from the processing unit 210 of the verification system. Each processing unit of the synchronization element that receives the hashed and/or encrypted OY packet portion may perform processing as shown in FIG. Synchronization element processing units 306A...306N may decode hashing and/or encryption to determine and identify one or more N-packets and N-RANC. The processing unit of a synchronization element may send N-packets and N-RANC to the acknowledgment units 312A...312N of the same synchronization element.

同期ユニットの証明ユニット304A・・・304Nは、同期要素の記憶ユニット308A・・・308Nから、以前に格納されたハッシュ化及び/又は暗号化OY‐パケット部分を取り出す。同期ユニットの証明ユニットは、ハッシュ化及び/又は暗号化を復号して、1又は複数のN‐パケット及びN‐RANCを決定及び識別してよく、当該N‐パケット及びN‐RANCは、同期要素の承認ユニットに送られる。同期要素の承認ユニットは、受け取った最近生成されたN‐パケット及びN‐RANCを、以前に格納されたものと比較する。この比較に基づいて、パス値又はフェイル値が生成される。生成されたパス値又はフェイル値は、同期要素の証明ユニットに転送される。 The verification units 304A...304N of the synchronization units retrieve previously stored hashed and/or encrypted OY-packet portions from the storage units 308A...308N of the synchronization elements. The attestation unit of the synchronization unit may decrypt hashing and/or encryption to determine and identify one or more N-packets and N-RANC, the N-packets and N-RANC being the synchronization element to the Approval Unit of The acknowledgment unit of the synchronization element compares the received recently generated N-packet and N-RANC with those previously stored. A pass or fail value is generated based on this comparison. The generated pass or fail value is forwarded to the certification unit of the synchronization element.

同期ユニットの証明ユニットは、同期ユニットの1又は複数の記憶ユニットから証明情報を取得し、前記証明情報と、証明ユニットが受け取ったパス値又はフェイル値との両方をハッシュ化及び/又は暗号化して、検証システムの処理ユニットに送ってよい。 A certification unit of the synchronization unit obtains certification information from one or more storage units of the synchronization unit, and hashes and/or encrypts both the certification information and the pass or fail values received by the certification unit. , may be sent to the processing unit of the verification system.

検証システムの処理ユニットは、ハッシュ化及び/又は暗号化された結果及び証明情報を、その情報を生成した同期要素の各々の証明ユニットから受け取る。明確にすると、複数の同期要素は、固有のOY‐パケット部分を受け取ってよく、それら同期要素の各々は、本明細書で説明されている方法に従ってOY‐パケット部分を処理するであろう。ユーザシステムの要素と、検証システムの要素と、クライアントシステムの要素との間の全ての通信は、図6に示すように、ユーザシステム、クライアントシステム、及び検証システムにおける通信ユニットを介して行われる。また、図6に示すように、検証システム202の処理ユニット210は、各同期要素302A・・・302Nから受け取った証明情報を復号し、復号された情報を検証システムの承認ユニット212に送る。検証システムの処理ユニット210は、検証システムの1又は複数の記憶ユニット214A・・・214Nから証明情報を取得する。検証システムの処理ユニットは、取得した証明情報を検証システムの承認ユニットに送る。検証システムの承認ユニットは、受け取った情報を用いて同期要素を承認する。 A processing unit of the verification system receives the hashed and/or encrypted result and proof information from the proof unit of each synchronization element that generated the information. To clarify, multiple synchronization elements may receive a unique OY-packet portion, and each of those synchronization elements will process the OY-packet portion according to the methods described herein. All communication between the user system elements, the verification system elements and the client system elements is through communication units in the user system, the client system and the verification system, as shown in FIG. 6, processing unit 210 of verification system 202 decrypts the certification information received from each synchronization element 302A . . . 302N and sends the decrypted information to approval unit 212 of verification system. The processing unit 210 of the verification system obtains the certification information from one or more storage units 214A...214N of the verification system. The processing unit of the verification system sends the obtained certification information to the approval unit of the verification system. An approval unit of the validation system approves the synchronization element using the received information.

検証システムの処理ユニットは、同期要素から受け取ったパス値及び/又はフェイル値の各々を復号する。復号された値は、検証システムの1又は複数の記憶ユニットに検証結果として保存される。検証結果レポートが、検証システムの処理ユニット又はレポート生成器208によって生成されてよく、このレポートは、様々な情報、例えば、要求された総同期要素、受け取ったパス値の数、受け取ったフェイル値の数、同期システムの信頼スコア、及び他の情報を含んでよい。 A processing unit of the verification system decodes each pass and/or fail value received from the synchronization element. The decrypted values are stored as verification results in one or more storage units of the verification system. A verification results report may be generated by a processing unit or report generator 208 of the verification system, which reports various information such as total synchronization elements requested, number of pass values received, number of fail values received, and so on. number, confidence score of the synchronization system, and other information.

検証システムの処理ユニットは、検証結果をハッシュ化又は暗号化し、ハッシュ化及び/又は暗号化された検証結果を、検証システムの通信ユニット216を介して、ユーザシステム102の処理ユニット108に送ってよい。ユーザシステムの処理ユニットは、ハッシュ化又は暗号化された検証結果をクライアントシステム902に送る。クライアントシステムは、クライアントシステムが受け取る検証結果に基づいて、検証システムの処理ユニット210に認証要求を検証システムの通信ユニット216を介して送る。検証システムの処理ユニットは、検証システムの1又は複数の記憶ユニットに保存されている検証結果を取得し、取得した検証結果を検証システムの承認ユニットに送る。検証システムの承認ユニットは、取得した検証結果を検討し、これらを承認してクライアントシステムに検証結果を送ってよい。クライアントシステムは、検証報告の結果に基づいてユーザを認証するか否かを決定する。 The processing unit of the verification system may hash or encrypt the verification result and send the hashed and/or encrypted verification result to the processing unit 108 of the user system 102 via the communication unit 216 of the verification system. . The user system's processing unit sends the hashed or encrypted verification result to the client system 902 . The client system sends an authentication request to the processing unit 210 of the verification system via the communication unit 216 of the verification system based on the verification result received by the client system. A processing unit of the verification system obtains verification results stored in one or more storage units of the verification system and sends the obtained verification results to an approval unit of the verification system. An approval unit of the verification system may review the obtained verification results, approve them and send the verification results to the client system. The client system decides whether to authenticate the user based on the results of the verification report.

ユーザが認証されて、クライアントシステムのセキュア部分へのアクセスが許可された後、ユーザは情報(即ち、データ、ドキュメント、取引情報など)にアクセスすること、及び/又はユーザ情報(即ち、テキスト、データなど)をクライアントシステムに提供することができる。ある例では、ユーザは、メッセージを送るために、クレジットカードによる支払いを伴う購入を行うために、電子署名を文書に添付するために、又は他の様々な目的のために、クライアントシステムにアクセスしてよい。ユーザシステムを用いたユーザとクライアントシステムとの対話の過程で、ユーザ情報がクライアントシステムとユーザシステムとの間で送られる。本発明は、このようなユーザ情報及び認証関連情報の作成、転送、格納及び認証の間のセキュリティを保護するために動作する。 After a user has been authenticated and granted access to the secure portion of the client system, the user may access information (i.e., data, documents, transaction information, etc.) and/or user information (i.e., text, data, etc.). etc.) can be provided to the client system. In one example, a user accesses a client system to send a message, make a purchase involving credit card payment, attach an electronic signature to a document, or for various other purposes. you can During the course of interaction between the user and the client system with the user system, user information is passed between the client system and the user system. The present invention operates to protect security during creation, transfer, storage and authentication of such user information and authentication related information.

このようなセキュリティを達成するために、本発明の実施形態は、ユーザシステム、クライアントシステム、クライアント表示ユニット、及び検証システムを含んでよい。ユーザシステムは、クライアントデバイスに全体として又は部分的に含まれてよく、クライアントデバイスは、ユーザによって、クライアントシステムと通信し、クライアントシステムにアクセスするために利用される。当業者が読めば、本発明の実施形態は、ユーザデバイスとクライアントシステムとの間で転送されるユーザ認証関連情報のセキュリティを達成するものであって、また、他の要素を含んでよいことを認識するであろう。 To achieve such security, embodiments of the invention may include user systems, client systems, client display units, and verification systems. A user system may be included in whole or in part in a client device, which is utilized by a user to communicate with and access the client system. Those skilled in the art will read that embodiments of the present invention achieve security of user authentication related information transferred between a user device and a client system, and may include other factors. will recognize.

ユーザは、ユーザデバイスを使用して、クライアントシステムに対してユーザシステムとユーザ資格情報を検証する。ユーザがクライアントシステムのセキュア部分へのアクセスを許可されていることを確認するためには、ユーザ資格情報とユーザシステムは検証される必要がある。ユーザは、ユーザが認証される場合、クライアントシステムのセキュア部分を介して特定の機能を実行し、又は、特定の情報にアクセスできるだけであろう。例えば、ユーザは、ユーザ及びユーザシステムが認証される場合には、クライアントシステムを介して特定のトランザクションを承認できるだけであろう。クライアントシステムは、ユーザがアクセスを試みているシステムであり、従って、認証が実行されることを求める。本発明の検証システムは、ユーザ及びユーザシステムのアイデンティティを検証し、本明細書に記載されているように、ユーザ及びユーザシステムを認証されたものとしてクライアントシステムに認識させる。 The user validates the user system and user credentials against the client system using the user device. User credentials and the user's system need to be verified to ensure that the user is authorized to access the secure portion of the client system. A user will only be able to perform certain functions or access certain information through the secure portion of the client system if the user is authenticated. For example, a user would only be able to approve certain transactions via the client system if the user and the user system are authenticated. The client system is the system that the user is trying to access and therefore requires authentication to be performed. The verification system of the present invention verifies the identity of users and user systems and allows client systems to recognize users and user systems as authenticated as described herein.

図7に示すように、ユーザシステム101は、クライアントシステムとの間でユーザ情報を転送するために利用されるものであって、複数の要素を含んでいてよい。例えば、本発明の一実施形態は、対話ユニット103、ベリファイア(verifier)生成器105、ノイズ生成器107、処理ユニット109、記憶ユニット111、及びリーダ(reader)ユニット113が組み込まれたユーザシステムを含んでよい。 As shown in FIG. 7, the user system 101 is used to transfer user information to and from client systems, and may include multiple elements. For example, one embodiment of the present invention provides a user system that incorporates dialogue unit 103, verifier generator 105, noise generator 107, processing unit 109, storage unit 111, and reader unit 113. may contain.

図8に示すように、本発明の一実施形態のクライアントシステム130は、複数の要素を含んでよい。例えば、本発明の一実施形態は、CSAP生成器131、記憶ユニット133、処理ユニット135、チャレンジ生成器137、及び承認ユニット139が組み込まれたクライアントシステムを含んでよい。 As shown in FIG. 8, the client system 130 of one embodiment of the invention may include multiple elements. For example, one embodiment of the present invention may include a client system in which CSAP generator 131, storage unit 133, processing unit 135, challenge generator 137, and approval unit 139 are incorporated.

図9に示すように、本発明の一実施形態のクライアント表示ユニット150は、複数の要素を含んでよい。例えば、本発明の実施形態は、対話ユニット151、処理ユニット153、一時記憶ユニット155、及びキー生成器157が組み込まれたクライアント表示ユニットを含んでよい。 As shown in FIG. 9, the client display unit 150 of one embodiment of the invention may include multiple elements. For example, embodiments of the present invention may include a client display unit in which interaction unit 151, processing unit 153, temporary storage unit 155, and key generator 157 are incorporated.

図10に示すように、本発明の一実施形態の検証システム140は、複数の要素を含んでよい。例えば、本発明の実施形態は、ランダムキー生成器141、ランダムテキスト生成器143、USID生成器145、及び処理ユニット147が組み込まれた検証システムを含んでよい。 As shown in FIG. 10, the verification system 140 of one embodiment of the invention may include multiple elements. For example, embodiments of the present invention may include a verification system incorporating random key generator 141 , random text generator 143 , USID generator 145 and processing unit 147 .

ユーザがクライアントシステムのセキュア部分へのログインを希望すると、ユーザは、クライアント表示ユニットとの対話によりその意志を宣言し、クライアント表示ユニットの対話ユニットを使用して要求を入力する。図11に示すように、対話ユニット151は、クライアント表示ユニットの処理ユニット153に要求を伝達し、クライアント表示ユニットの処理ユニットは、その後、検証システムの処理ユニット147に要求を伝達する。ユーザシステムの処理ユニット109は、アルファキー(αk)コンボを生成する要求を生成する。アルファキー(αk)コンボ(combo)はαk1及びαk2からなり、検証システムの処理ユニット147を介してクライアント表示ユニットのキー生成器157に送られる。クライアント表示ユニットのキー生成器157は、αk1及びαk2の両方を検証システムの処理ユニット147に送る。 When a user wishes to log into the secure portion of the client system, the user declares his intention by interacting with the client display unit and enters a request using the interaction unit of the client display unit. As shown in FIG. 11, the interaction unit 151 communicates the request to the processing unit 153 of the client display unit, which in turn communicates the request to the processing unit 147 of the verification system. The user system's processing unit 109 generates a request to generate an alpha key (αk) combo. The alpha key (αk) combo consists of αk1 and αk2 and is sent to the client display unit's key generator 157 via the verification system's processing unit 147 . The client display unit's key generator 157 sends both αk1 and αk2 to the verification system's processing unit 147 .

次に、検証システムの処理ユニット147は、検証システムのランダムテキスト生成器143にランダムテキストを要求し、検証システムのUSID生成器145に固有のシステム・イベント識別子(USID)を要求する。ランダムテキスト生成器は、ランダムテキストを生成して検証システムの処理ユニット147に送る。USID生成器は、USIDを生成して検証システムの処理ユニットに送る。USID生成器は、ユーザデバイスと、クライアントシステム内のセキュア領域に接続しようとしているイベントとを検証システムに特定するために動作する。USIDは、1又は複数のブラウザ内の各タブに固有のものであってよく、ユーザが使用するために開いているブラウザやタブの数を特定して制御する。 The verification system's processing unit 147 then requests random text from the verification system's random text generator 143 and requests a unique system event identifier (USID) from the verification system's USID generator 145 . The random text generator generates random text and sends it to the processing unit 147 of the verification system. The USID generator generates and sends a USID to the processing unit of the verification system. The USID generator operates to identify to the verification system the user device and event attempting to connect to the secure realm within the client system. The USID may be unique to each tab within one or more browsers and identifies and controls the number of browsers or tabs open for use by the user.

検証システムの処理ユニット147は、αk2と共に受け取ったUSIDとランダムテキストを結合してデータストリングにして、そのデータストリングを機械可読形式に変換し、その後、これをクライアント表示ユニットの処理ユニット153に送る。クライアント表示ユニットの対話ユニット151は、この情報をユーザシステムのリーダユニット113に利用可能にする。 The processing unit 147 of the verification system combines the USID and random text received with αk2 into a data string, converts the data string into machine-readable form, and then sends it to the processing unit 153 of the client display unit. The dialog unit 151 of the client display unit makes this information available to the reader unit 113 of the user system.

図12に示すように、図11のプロセスが完了した後、情報は、リーダユニット113を介してユーザシステムに利用可能になっている。リーダユニット113は、聴覚、視覚、触覚、プリント、動き、及び他の種類のセンサの何れかを含む1又は複数のセンサを含んでいてよい。それらセンサは、クライアントデバイスに組み込まれてよく、又は、クライアントデバイスの外部に組み込まれて、有線接続又は無線接続の何れかを介して接続されてよい。それらセンサは、ユーザに関連する情報を得るために利用されてもよい。 As shown in FIG. 12, after the process of FIG. 11 has been completed, the information is available to the user system via reader unit 113 . Reader unit 113 may include one or more sensors including any of auditory, visual, tactile, print, motion, and other types of sensors. The sensors may be embedded in the client device, or they may be embedded external to the client device and connected via either wired or wireless connections. These sensors may be used to obtain information relevant to the user.

リーダユニット113は、その後、取得した情報をユーザシステムの処理ユニット109に送る。ユーザシステムの処理ユニットは、リーダユニットから受け取った情報を分割してよく、その情報を保持してよい。ユーザシステムの処理ユニット109は、ユーザシステムのノイズ生成器107にノイズを要求する。ノイズ生成器は、ノイズを発生させて、そのノイズをユーザシステムの処理ユニットに送る。このノイズは、転送中の情報のアイデンティティをマスキングするために使用される。 The reader unit 113 then sends the obtained information to the processing unit 109 of the user system. The processing unit of the user system may split the information received from the reader unit and retain the information. The user system's processing unit 109 requests noise from the user system's noise generator 107 . The noise generator generates noise and sends the noise to the processing unit of the user system. This noise is used to mask the identity of information in transit.

ユーザが以前にクライアントシステムで認証されたことがあるならば、ユーザシステムは、ランダムなデルタ1キー(δk1)を有し得る。 If the user has previously authenticated with the client system, the user system may have a random delta 1 key (δk1).

ユーザシステムの処理ユニットは、ユーザシステムのベリファイア生成器105にαk2及びδk1を送る。また、処理ユニットは、ユーザシステムのベリファイア生成器に、新しいベータキーを生成するように求める要求を送る。この要求に応答して、ベリファイア生成器は、αk2及びδk1を用いてベータキー1(βk1)及びベータキー2(βk2)を生成する。ベリファイア生成器105は、βk1及びβk2をユーザシステムの処理ユニット109に送る。 The processing unit of the user system sends αk2 and δk1 to the verifier generator 105 of the user system. The processing unit also sends a request to the user system's verifier generator to generate a new beta key. In response to this request, the verifier generator generates beta key 1 (βk1) and beta key 2 (βk2) using αk2 and δk1. Verifier generator 105 sends βk1 and βk2 to processing unit 109 of the user system.

ユーザシステムの処理ユニットは更に、ユーザシステムの記憶ユニット111にアクセスして、デルタ1キー及び/又はセッションコード及び/又はセッションコードの生成を要求する。記憶ユニット111は、ユーザシステムの処理ユニットにデルタ1キーを提供し、又は、セッションコードを生成して、これをユーザシステムの処理ユニットに提供する。例えば、ユーザシステムの処理ユニット109は、検証システムのランダムキー生成器141がランダムなデルタ1キー及び/又はセッションコードの生成を要求し、これを処理ユニット109に提供することを要求してよく、処理ユニット109は、提供されるδk1又はSCのためのハッシュ値を生成してよい。 The processing unit of the user system further accesses the storage unit 111 of the user system to request generation of a delta 1 key and/or session code and/or session code. The storage unit 111 provides the delta 1 key to the processing unit of the user system or generates a session code and provides it to the processing unit of the user system. For example, the user system's processing unit 109 may request that the verification system's random key generator 141 generate a random delta 1 key and/or session code and provide it to the processing unit 109; The processing unit 109 may generate a hash value for the provided δk1 or SC.

ユーザシステムの処理ユニットは、ノイズ発生器、ユーザシステムの記憶ユニット、及びベリファイア生成器の各々から得られた情報を用いて、手動対話コード(MIC)を生成してもよい。ユーザシステムの処理ユニットは、ユーザシステムの対話ユニット103にMICを送ってよい。クライアント表示ユニットの対話ユニット103は、ユーザにMICを表示する。 The user system's processing unit may use information obtained from each of the noise generator, the user system's storage unit, and the verifier generator to generate a manual interaction code (MIC). The user system's processing unit may send the MIC to the user system's interaction unit 103 . The interaction unit 103 of the client display unit displays the MIC to the user.

MICが生成される場合、残留データ(「ポスト‐MICデータ」)が存在する。ユーザシステムの処理ユニットは、ポスト‐MICデータに対して対称暗号化又は非対称暗号化を行ってよい。ユーザシステムの処理ユニットは、ポスト‐MICデータとハッシュ値をクライアントシステムの処理ユニット135に送ってよい。 When the MIC is generated, there is residual data ("post-MIC data"). A processing unit in the user system may perform symmetric or asymmetric encryption on post-MIC data. The user system's processing unit may send the post-MIC data and the hash value to the client system's processing unit 135 .

ユーザシステムの処理ユニットは、ポスト‐MICデータとハッシュ値をクライアントシステムの処理ユニット135に送ってよい。クライアントシステムの処理ユニット135は、ハッシュ値を送り、そのハッシュ値はクライアントシステムの記憶ユニット133に一時的に格納される。ポストMICデータは、クライアント表示ユニットの処理ユニット153に送られる。 The user system's processing unit may send the post-MIC data and the hash value to the client system's processing unit 135 . The client system's processing unit 135 sends the hash value, which is temporarily stored in the client system's storage unit 133 . Post-MIC data is sent to the processing unit 153 of the client display unit.

クライアント表示ユニットの処理ユニット153は、αk1とポスト‐MICデータをパッケージとして結合して、そのパッケージをクライアント表示ユニットのキー生成器157に送る。処理ユニット153は、クライアント表示ユニットのキー生成器157にガンマキー(γK)の生成を要求する。γKは、クライアント表示ユニットのキー生成器157によってクライアント表示ユニットの処理ユニット153に送られる。 The processing unit 153 of the client display unit combines αk1 and post-MIC data into a package and sends the package to the key generator 157 of the client display unit. The processing unit 153 requests the key generator 157 of the client display unit to generate a gamma key (γK). γK is sent to the client display unit's processing unit 153 by the client display unit's key generator 157 .

そして、ユーザは、クライアント表示ユニットの対話ユニット151と対話することが要求される。ユーザは、MICを手動で入力する必要がある。入力されると、その後、MICは、クライアント表示ユニットの対話ユニットによって、クライアント表示ユニットの処理ユニット153に送られる。処理ユニット153は、γK、MIC、及びパッケージを使用して、SC又はδk1を使用可能にする。クライアント表示ユニットの処理ユニットは、SC又はδk1のハッシュ値を計算して、そのハッシュ値を検証のためにクライアントシステムの承認ユニット139に送る。 The user is then required to interact with the interaction unit 151 of the client display unit. The user must manually enter the MIC. Once entered, the MIC is then sent by the interaction unit of the client display unit to the processing unit 153 of the client display unit. Processing unit 153 uses γK, MIC, and packages to enable SC or δk1. The processing unit of the client display unit computes the hash value of SC or δk1 and sends the hash value to the approval unit 139 of the client system for verification.

クライアント表示ユニットの処理ユニットが受け取った又は生成した情報の何れも、クライアント表示ユニットの処理ユニット153の処理動作中の任意の時点にて、クライアント表示ユニットの一時記憶ユニット155に一時的に格納されてよい。 Any information received or generated by the client display unit's processing unit may be temporarily stored in the client display unit's temporary storage unit 155 at any point during processing operations of the client display unit's processing unit 153 . good.

クライアントシステムの処理ユニット135は、クライアントシステムの記憶ユニット133に一時的に格納されているハッシュ値を取得する。クライアントシステムの処理ユニット135は、SC又はδk1のハッシュ値の何れかと、記憶ユニットから取り出した値とを、クライアントシステムの承認ユニット139に送る。承認ユニット139は、ハッシュ値を比較して一致を判定する。 The processing unit 135 of the client system obtains the hash value temporarily stored in the storage unit 133 of the client system. The processing unit 135 of the client system sends either SC or the hash value of δk1 and the value retrieved from the storage unit to the approval unit 139 of the client system. Approval unit 139 compares the hash values to determine a match.

ハッシュ値が一致する場合、承認ユニット139は、クライアントシステムの処理ユニット135に一致を伝える。 If the hash values match, the approval unit 139 communicates the match to the processing unit 135 of the client system.

図14に示すように、この一致確認を受け取ると、クライアントシステムの処理ユニット135は、クライアントセッションアクセスパス(Client Session Access Pass)(CSAP)をCSAP生成器131に要求する。CSAP生成器131は、CSAPを生成し、CSAPは、クライアントシステムの記憶ユニット133に送られて、一時的に格納される。CSAP生成器131はまた、検証システムの処理ユニット147にCSAPを送る。検証システムの処理ユニット147は、クライアント表示ユニットの処理ユニット153にCSAPを送る。クライアント表示ユニットの処理ユニット153は、ユーザシステムの処理ユニット135にCSAPを送る。ユーザシステムの処理ユニット135は、クライアントシステムの承認ユニット139にCSAPを送る。クライアントシステムの承認ユニットは、CSAPを確認する。ユーザシステムの処理ユニットはその確認の通知を受け取って、ユーザがクライアントシステムのセキュア部分にアクセスすることを許可するように動作する。 As shown in FIG. 14, upon receiving this match confirmation, the processing unit 135 of the client system requests a Client Session Access Pass (CSAP) from the CSAP generator 131 . The CSAP generator 131 generates a CSAP, which is sent to the storage unit 133 of the client system for temporary storage. CSAP generator 131 also sends CSAPs to processing unit 147 of the verification system. Processing unit 147 of the verification system sends the CSAP to processing unit 153 of the client display unit. The processing unit 153 of the client display unit sends the CSAP to the processing unit 135 of the user system. The processing unit 135 of the user system sends the CSAP to the authorization unit 139 of the client system. The client system's approval unit verifies the CSAP. A processing unit of the user system receives notification of the confirmation and acts to authorize the user to access the secure portion of the client system.

クライアントシステムの承認ユニット139が、値が一致しないと判定した場合、ユーザ、ユーザシステム及びクライアント表示ユニットは認証されない。 If the client system authorization unit 139 determines that the values do not match, the user, user system and client display unit are not authenticated.

クライアントシステムのCSAP生成器131は、ユーザ、ユーザシステム及びクライアント表示ユニットの認証に関連する条件を周期的にテストするために使用されてよい。これは、本明細書に記載された方法に従って、CSAPの生成と、クライアントシステムの処理ユニットによるその処理と、検証システム、ユーザシステム、クライアント表示ユニットの他の処理ユニットへのCSAPの転送と、クライアントシステム、ユーザシステム、及びクライアント表示ユニットの記憶ユニットへのCSAPの格納とを介してなされる。クライアントシステムの承認ユニットが、認証条件がCSAPに関して満たされていないと判断する場合、例えば、クライアントシステムの処理ユニットが受け取ったCSAPと格納されているCSAPとが一致しないとの判断の場合、ユーザ、ユーザデバイス及びクライアント表示ユニットの認証(即ち、CSAP認証)が取り消され、ユーザ、ユーザデバイス及びクライアント表示ユニットについてセキュア領域へのアクセスが終了する。 The client system's CSAP generator 131 may be used to periodically test conditions related to authentication of users, user systems, and client display units. This includes generating a CSAP, processing it by a processing unit of the client system, forwarding the CSAP to other processing units of the verification system, the user system, the client display unit, and the client according to the methods described herein. Storage of the CSAP in the storage unit of the system, the user system, and the client display unit. If the authorization unit of the client system determines that the authentication conditions are not satisfied for the CSAP, e.g., if the processing unit of the client system determines that the received CSAP and the stored CSAP do not match, the user, User device and client display unit authentication (ie, CSAP authentication) is revoked, and access to the secure area is terminated for the user, user device and client display unit.

本発明の実施形態で採用される認証用CSAP条件は、次元、ジオ‐テンポラル、機械学習人工知能、行動、又はその他の条件の何れかに関連する条件を含んでよい。 CSAP conditions for authentication employed in embodiments of the present invention may include conditions related to any of dimensional, geo-temporal, machine learning artificial intelligence, behavioral, or other conditions.

図15に示す本発明の別の実施形態では、ユーザは、クライアント表示ユニットを使用して、クライアントシステムのセキュア部分へのアクセスを介してトランザクションを有効にすることを試みる。クライアント表示ユニットの処理ユニット153は、クライアントシステムの処理ユニット135にトランザクションを有効にする要求を送る。その要求に応じて、クライアントシステムの処理ユニット135は、チャレンジを生成する要求をクライアントシステムのチャレンジ生成器137に送る。この要求に応じて、クライアントシステムのチャレンジ生成器137は、チャレンジを生成し、更には、チャレンジの結果にハッシュ値を適用して、解答及び/又はハッシュ値をクライアントシステムの記憶ユニット133に保存してよい。クライアントシステムのチャレンジ生成器137は、クライアントシステムの処理ユニット135にチャレンジを送る。 In another embodiment of the invention, shown in FIG. 15, a user attempts to validate a transaction through access to the secure portion of the client system using the client display unit. The processing unit 153 of the client display unit sends a request to validate the transaction to the processing unit 135 of the client system. In response to the request, the client system's processing unit 135 sends a request to the client system's challenge generator 137 to generate a challenge. In response to this request, the client system's challenge generator 137 generates a challenge and also applies a hash value to the result of the challenge and stores the answer and/or hash value in the client system's storage unit 133 . you can The client system's challenge generator 137 sends a challenge to the client system's processing unit 135 .

クライアントシステムの処理ユニット135は、対称及び/又は非対称暗号化をチャレンジに適用してよい。処理ユニット135は、クライアント表示ユニットの処理ユニット153にチャレンジを送る。クライアント表示ユニットの処理ユニット153は、提供されたキーを用いてチャレンジを復号してよく、そして、クライアント表示ユニットの対話ユニット151にチャレンジを送る。本発明の一実施形態では、ユーザは、クライアント表示ユニットの対話ユニット151と対話して、チャレンジの解答を見つけることを要求されてよい。本発明の別の実施形態では、クライアント表示ユニットの処理ユニット153は、復号されたチャレンジを解決してよい。 Processing unit 135 of the client system may apply symmetric and/or asymmetric encryption to the challenge. The processing unit 135 sends the challenge to the processing unit 153 of the client display unit. The processing unit 153 of the client display unit may decrypt the challenge using the provided key and send the challenge to the interaction unit 151 of the client display unit. In one embodiment of the invention, the user may be required to interact with the interaction unit 151 of the client display unit to find the answer to the challenge. In another embodiment of the invention, the processing unit 153 of the client display unit may resolve the decrypted challenge.

クライアント表示ユニットを使用するユーザがチャレンジの解答を見つけると、そのユーザの解答は、クライアント表示ユニットの処理ユニット153に送られる。クライアント表示ユニットの処理ユニット153は、ユーザの解答に基づいてハッシュ値を生成してよく、クライアント表示ユニットの処理ユニットは更に、このハッシュ値及び/又は解答に対称暗号化又は非対称暗号化の何れかを加えてよい。クライアント表示ユニットの処理ユニットによる処理の結果(例えば、ハッシュ値又は暗号化されたハッシュ値、或いは、解答又は暗号化された解答)は、クライアントシステムの処理ユニット135に送られてよい。クライアントシステムの処理ユニット135は、格納されている解答及び/又はハッシュ値を取得するための要求をクライアントシステムの記憶ユニット133に送ってよい。この要求があると、クライアントシステムの記憶ユニット133は、格納されている解答及び/又は格納されているハッシュ値を取得し、格納されている解答及び/又は格納されているハッシュ値をクライアントシステムの処理ユニット135に送る。 When a user using the client display unit finds an answer to the challenge, the user's answer is sent to the processing unit 153 of the client display unit. The processing unit 153 of the client display unit may generate a hash value based on the user's answer, and the processing unit of the client display unit further applies either symmetric or asymmetric encryption to this hash value and/or answer. can be added. The result of processing by the processing unit of the client display unit (eg, hash value or encrypted hash value, or answer or encrypted answer) may be sent to the processing unit 135 of the client system. The client system's processing unit 135 may send a request to the client system's storage unit 133 to retrieve the stored answer and/or hash value. Upon this request, the storage unit 133 of the client system retrieves the stored answer and/or the stored hash value and sends the stored answer and/or the stored hash value to the client system. Send to processing unit 135 .

クライアントシステムの処理ユニット135は、クライアント表示ユニットの処理ユニット153から受け取った、暗号化されたハッシュ値若しくは解答及び/又は非暗号化されたハッシュ値を復号する。クライアントシステムの処理ユニット135は、クライアント表示ユニットの処理ユニット153から受け取ったハッシュ値及び/又は解答(暗号化されていない形式)と、格納されている解答及び/又はハッシュ値とを、承認のためにクライアントシステムの承認ユニット139に送る。クライアントシステムの承認ユニット139は、受け取った解答を格納されている解答と、及び/又は受け取ったハッシュ値を格納されているハッシュ値と比較する。 The processing unit 135 of the client system decrypts the encrypted hash value or answer and/or the unencrypted hash value received from the processing unit 153 of the client display unit. The processing unit 135 of the client system combines the hash value and/or answer (in unencrypted form) received from the processing unit 153 of the client display unit with the stored answer and/or hash value for authorization. to the approval unit 139 of the client system. The approval unit 139 of the client system compares the received answer with the stored answer and/or the received hash value with the stored hash value.

受け取った解答及び/又はハッシュ値が、格納されている解答及び/又はハッシュ値と一致する場合、承認ユニット139は、クライアントシステムの処理ユニット135に一致の確認を送る。一致が確かである場合、クライアントシステムの処理ユニット135は、トランザクションの認証が正常に完了したことを確認するために、一致の確認をクライアントシステムに送り、クライアントシステムはそれによってトランザクションを承認する。 If the received answer and/or hash value matches the stored answer and/or hash value, the approval unit 139 sends confirmation of the match to the processing unit 135 of the client system. If the match is positive, the client system's processing unit 135 sends a match confirmation to the client system to confirm successful completion of the authentication of the transaction, and the client system thereby approves the transaction.

受け取った解答及び/又はハッシュ値が、格納されている解答及び/又はハッシュ値と一致しない場合、承認ユニット139は、一致しない旨の通知をクライアントシステムの処理ユニット135に送る。クライアントシステムの処理ユニットは、その通知をクライアントシステムに送り、クライアントシステムにトランザクションの認証を行わないように通知する。 If the received answer and/or hash value do not match the stored answer and/or hash value, the approval unit 139 sends a notification of the mismatch to the processing unit 135 of the client system. The client system's processing unit sends the notification to the client system, notifying the client system not to authenticate the transaction.

本発明の別の実施形態では、検証システムの処理ユニットは、図14を参照してクライアントシステムの処理ユニットについて説明した機能を実行することができる。本発明のそのような実施形態では、チャレンジ生成器及び承認ユニットは、クライアントシステム又は検証システムの何れかに含まれてよく、それらチャレンジ生成器及び承認ユニットは、図14に従って説明されたものと同じチャレンジ生成器137及び承認ユニット139の機能を有する。 In another embodiment of the invention, the processing unit of the verification system can perform the functions described for the processing unit of the client system with reference to FIG. In such embodiments of the invention, the challenge generator and approval unit may be included in either the client system or the verification system, the challenge generator and approval unit being the same as described according to FIG. It has the functions of a challenge generator 137 and an approval unit 139 .

ユーザがユーザシステムを使用してトランザクションを有効にすることを試みる本発明の別の実施形態を図16に示す。本発明のこのような実施形態では、ユーザシステムの処理ユニット109は、クライアントシステムの処理ユニット135にトランザクションを有効にする要求を送る。その要求に応じて、クライアントシステムの処理ユニット135は、チャレンジを生成する要求をチャレンジ生成器137に送る。この要求に応じて、チャレンジ生成器137はチャレンジを生成し、更には、チャレンジの結果(チャレンジの解答)にハッシュ値を適用し、その解答及び/又はハッシュ値をクライアントシステムの記憶ユニット133に保存する。 Another embodiment of the invention in which a user attempts to validate a transaction using the user system is shown in FIG. In such an embodiment of the invention, the processing unit 109 of the user system sends a request to validate the transaction to the processing unit 135 of the client system. In response to the request, processing unit 135 of the client system sends a request to challenge generator 137 to generate a challenge. In response to this request, the challenge generator 137 generates a challenge and also applies a hash value to the challenge result (challenge answer) and stores the answer and/or hash value in the storage unit 133 of the client system. do.

クライアントシステムの処理ユニット135は、チャレンジに対称及び/又は非対称暗号化を適用してよい。処理ユニット135は、暗号化されているかも知れないチャレンジを、ユーザシステムの処理ユニット109に送る。ユーザシステムの処理ユニット109は、チャレンジが暗号化されている場合には、チャレンジを復号して、チャレンジをユーザシステムの対話ユニット103に送る。本発明の一実施形態では、ユーザは、チャレンジの解答を見つけるために、ユーザシステムの対話ユニット103と対話することが要求されてよい。本発明の別の実施形態では、ユーザシステムの処理ユニット109は、復号されたチャレンジを解決してよい。 Processing unit 135 of the client system may apply symmetric and/or asymmetric encryption to the challenge. Processing unit 135 sends the challenge, possibly encrypted, to processing unit 109 of the user system. The processing unit 109 of the user system decrypts the challenge if the challenge is encrypted and sends the challenge to the interaction unit 103 of the user system. In one embodiment of the invention, the user may be required to interact with the interaction unit 103 of the user system in order to find the answer to the challenge. In another embodiment of the invention, the processing unit 109 of the user system may resolve the decrypted challenge.

ユーザがチャレンジに対する解答を見つけると、ユーザの解答はユーザシステムの処理ユニット109に送られる。ユーザシステムの処理ユニット109は、ユーザの解答に基づいてハッシュ値を生成してよく、ユーザシステムの処理ユニット109は更に、このハッシュ値及び/又は解答に対称又は非対称暗号化の何れかを加えてよい。ユーザシステムの処理ユニット109による処理の結果(例えば、ハッシュ値又は暗号化されたハッシュ値と、解答又は暗号化された解答)は、クライアントシステムの処理ユニット135に送られてよい。クライアントシステムの処理ユニット135は、格納されている解答及び/又はハッシュ値を取得するための要求をクライアントシステムの記憶ユニット133に送ってよい。この要求があると、クライアントシステムの記憶ユニット133は、格納されている解答及び/又は格納されているハッシュ値を取得し、格納されている解答及び/又は格納されているハッシュ値をクライアントシステムの処理ユニット135に送る。 When the user finds an answer to the challenge, the user's answer is sent to the processing unit 109 of the user's system. The processing unit 109 of the user system may generate a hash value based on the user's answer, and the processing unit 109 of the user system further applies either symmetric or asymmetric encryption to this hash value and/or answer. good. The results of processing by processing unit 109 of the user system (eg, hash values or encrypted hash values and answers or encrypted answers) may be sent to processing unit 135 of the client system. The client system's processing unit 135 may send a request to the client system's storage unit 133 to retrieve the stored answer and/or hash value. Upon this request, the storage unit 133 of the client system retrieves the stored answer and/or the stored hash value and sends the stored answer and/or the stored hash value to the client system. Send to processing unit 135 .

クライアントシステムの処理ユニット135は、ユーザシステムの処理ユニット109から受け取った、暗号化されているハッシュ値又は解答を復号する。クライアントシステムの処理ユニット135は、ユーザシステムの処理ユニット109から受け取ったハッシュ値及び解答(暗号化されていない形式)と、格納された解答及び/又はハッシュ値とを、承認のためにクライアントシステムの承認ユニット139に送る。クライアントシステムの承認ユニット139は、受け取った解答と格納されている解答とを、及び/又は受け取ったハッシュ値と格納されているハッシュ値とを比較する。 The processing unit 135 of the client system decrypts the encrypted hash value or answer received from the processing unit 109 of the user system. The processing unit 135 of the client system passes the received hash value and answer (in unencrypted form) from the processing unit 109 of the user system and the stored answer and/or hash value to the client system for authorization. Send to approval unit 139 . The approval unit 139 of the client system compares the received answer with the stored answer and/or the received hash value with the stored hash value.

受け取った解答が格納されている解答と一致し、及び/又は受け取ったハッシュ値が格納されているハッシュ値と一致する場合、承認ユニット139は、クライアントシステムの処理ユニット135に一致の確認を送る。クライアントシステムの処理ユニット135は、トランザクションの認証が完了して成功したことを確認するために、一致の確認をクライアントシステムに送る。 If the received answer matches the stored answer and/or the received hash value matches the stored hash value, the approval unit 139 sends confirmation of the match to the processing unit 135 of the client system. The client system's processing unit 135 sends a match confirmation to the client system to confirm that the transaction has been authenticated successfully.

受け取った解答が格納された解答と一致し、及び/又は受け取ったハッシュ値が格納されているハッシュ値と一致する場合、その後、承認ユニット139は、一致しない旨の通知をクライアントシステムの処理ユニットに送る。クライアントシステムの処理ユニットは、その通知をクライアントシステムに送り、クライアントシステムにトランザクションの認証を行わないように通知する。 If the received answer matches the stored answer and/or the received hash value matches the stored hash value, then approval unit 139 notifies the processing unit of the client system of the mismatch. send. The client system's processing unit sends the notification to the client system, notifying the client system not to authenticate the transaction.

本発明の別の実施形態では、検証システムの処理ユニットは、図16を参照してクライアントシステムの処理ユニットについて説明した機能を実行することができる。本発明のそのような実施形態では、チャレンジ生成器及び承認ユニットが、クライアントシステム又は検証システムの何れかに含まれてよく、それらチャレンジ生成器及び承認ユニットは、図16に従って説明されたものと同じチャレンジ生成器137及び承認ユニット139の機能を有する。 In another embodiment of the invention, the processing unit of the verification system can perform the functions described for the processing unit of the client system with reference to FIG. In such embodiments of the invention, a challenge generator and approval unit may be included in either the client system or the verification system, the challenge generator and approval unit being the same as described according to FIG. It has the functions of a challenge generator 137 and an approval unit 139 .

認証のためのシステム及びネットワークは、1又は複数の第1のピア、1又は複数のサーバ、及び、1又は複数の第2のピアで構成されており、各々は、少なくともプロセッサ及び送受信器を備えてよい。加えて、1又は複数の第1のピア及び1又は複数の第2のピアは、個別にメモリを備えてよい。幾つかの実施形態では、1又は複数の第1のピア及び1又は複数の第2のピアの各々は、表示装置を備えてよい。1又は複数のサーバは、更にデータベースを備えてよい。 A system and network for authentication comprises one or more first peers, one or more servers, and one or more second peers, each comprising at least a processor and a transceiver. you can Additionally, one or more of the first peers and one or more of the second peers may be individually equipped with memory. In some embodiments, each of the one or more first piers and the one or more second piers may comprise a display device. One or more servers may further comprise a database.

第1のピア、第2のピア、及びサーバの各々の送受信器は、外部ソース(exogenous source)との間で情報を送受信するように構成されてよい。幾つかの実施形態では、第1のピアは、サーバとの間で情報を送受信するように構成されてよく、サーバは、第1のピアと第2のピアの両方との間で情報を送受信するように構成されてよく、第2のピアは、サーバとの間で情報を送受信するように構成されてよい。第1のピア及び第2のピアのメモリと、サーバのデータベースとは、情報を格納し、情報の取得を可能にするように構成されてよい。表示装置は、ユーザがディスプレイと対話するための手段、例えば、データを入力し、キャラクタを選択し、オブジェクトを選択するための手段を更に備えてよい。 Each transceiver of the first peer, the second peer, and the server may be configured to send and receive information to and from an exogenous source. In some embodiments, the first peer may be configured to send and receive information to and from a server, and the server sends and receives information to and from both the first peer and the second peer. and the second peer may be configured to send and receive information to and from the server. The memory of the first and second peers and the database of the server may be configured to store information and enable retrieval of information. The display device may further comprise means for the user to interact with the display, eg for entering data, selecting characters, selecting objects.

第1のピア、第2のピア又はサーバのプロセッサは、処理マイグレータ(migrator)、データマニピュレータ、データ変換器、処理生成器、及び処理検証器で構成されてよい。処理マイグレータは、第1のピア、第2のピア、又はサーバ内のある構成要素から、第1のピア、第2のピア、又はサーバ内の別の構成要素にデータを移行するように構成されてよい。例として、限定ではないが、処理マイグレータは、第1のピアのメモリから第1のピアのプロセッサへ、或いは、第2のピアのプロセッサから第2のピアの送受信器へデータを移動するように構成されてよい。データマニピュレータは、データを操作するように、例えば、結合、分離、分離及び再結合、リオーダなどを行うように構成されていてよい。例として、限定されないが、第1のピアのデータマニピュレータは、又は複数のキャラクタストリングを第1の部分と第2の部分に分割するように構成されてよく、サーバのデータマニピュレータは、データの第1の部分とデータの第2の部分とを結合して、単一のデータパケットを生成するように構成されてよい。 The processor of the first peer, second peer or server may consist of a process migrator, a data manipulator, a data transformer, a process generator and a process verifier. The processing migrator is configured to migrate data from one component within the first peer, second peer, or server to another component within the first peer, second peer, or server. you can By way of example, and not limitation, the processing migrator may move data from a first peer's memory to a first peer's processor, or from a second peer's processor to a second peer's transceiver. may be configured. Data manipulators may be configured to manipulate data, for example, combine, split, split and recombine, reorder, and the like. By way of example, and not limitation, the first peer's data manipulator may or may be configured to split a plurality of character strings into a first part and a second part, and the server's data manipulator may divide the data into a first part and a second part. It may be configured to combine the one portion and the second portion of data to produce a single data packet.

データ変換器は、第1のキャラクタストリングを第2のキャラクタストリングに変換するように構成されてよく、第1のキャラクタストリング及び第2のキャラクタストリングの各々は、長さ、構成、又は配置のうちの任意の1又は複数が異なってよい。幾つかの実施形態では、データ変換器は、ハッシュアルゴリズムを第1のキャラクタストリングに適用するように構成されてよい。他の実施形態では、データ変換器は、第1のキャラクタストリングに暗号化プロトコルを適用するように構成されてよい。更に他の実施形態では、データ変換器は、第1のキャラクタストリングに復号プロトコルを適用するように構成されてよい。他の実施形態ではまた、データ変換器は、ハッシュアルゴリズム、暗号化プロトコル、復号プロトコル、又はデータ変換の他の既知方法の任意の組合せを第1のキャラクタストリングに適用して、第2のキャラクタストリングを生成するように構成されてよい。 The data converter may be configured to convert the first character string to a second character string, each of the first character string and the second character string having a length, configuration, or arrangement of any one or more of may be different. In some embodiments, the data converter may be configured to apply a hashing algorithm to the first character string. In other embodiments, the data converter may be configured to apply an encryption protocol to the first character string. In still other embodiments, the data converter may be configured to apply the decoding protocol to the first character string. Also in other embodiments, the data converter applies any combination of hashing algorithms, encryption protocols, decryption protocols, or other known methods of data conversion to the first character string to produce a second character string may be configured to generate

処理生成器は、データを生成するように構成されてよい。幾つかの実施形態では、データは、任意の長さの1又は複数のキャラクタストリングで構成されてよく、また、バーコードなどで構成されてよい。幾つかの実施形態では、データは、ランダムな方法又は規則的な方法の何れかで生成されてよい。処理検証器は、2つ以上のデータを比較して、それらのデータが同一であるか異なるかを判定するように構成されてよい。幾つかの実施形態では、処理検証器と処理生成器は対になって、第1のキャラクタストリングと第2のキャラクタストリングが同一であるかどうかを判定して、第1のキャラクタストリングと第2のキャラクタストリングの同一性に基づいて応答を生成するように構成されてよい。 The process generator may be configured to generate data. In some embodiments, the data may consist of one or more character strings of any length and may consist of barcodes and the like. In some embodiments, data may be generated in either a random or systematic manner. The processing verifier may be configured to compare two or more pieces of data to determine if the pieces of data are the same or different. In some embodiments, the action verifier and the action generator are paired to determine if the first character string and the second character string are the same, and to determine whether the first character string and the second character string are identical. may be configured to generate a response based on the identity of the character strings of the .

認証方法は、登録方法1700とユーザログイン方法2000とを含んでよい。幾つかの実施形態では、登録方法1700は、1又は複数のキーを生成することと、1又は複数のキーを配布することと、1又は複数のキーをローカルデータベースに格納することと、1又は複数のキーをサーバデータベースに格納することとを含んでよい。図17に図示されているように、登録方法1700は更に、第1のピア1701、サーバ1750、及び少なくとも1つの第2のピア1775の間での通信を含んでよい。 Authentication methods may include a registration method 1700 and a user login method 2000 . In some embodiments, the registration method 1700 comprises: generating one or more keys; distributing the one or more keys; storing the one or more keys in a local database; and storing the plurality of keys in a server database. As illustrated in FIG. 17, registration method 1700 may further include communication between first peer 1701 , server 1750 and at least one second peer 1775 .

登録方法1700の幾つかの実施形態では、サーバ1750は、第1のピア1701から登録要求1702を受け取ってよい。サーバ1750は、データ1751を第1のピア1701に送ってよい。登録データ1751は、登録方法1700に必要な任意のデータを含んでよい。幾つかの実施形態では、登録データ1751は、クライアント登録コード1703を含んでよい。クライアント登録コード1703は、文字、数字、記号、又はそれらの任意の組合せで構成される1又は複数のキャラクタを含んでよく、サーバ1750によって生成されてよい。別の実施形態では、登録データは、ユーザ選択オブジェクトを含んでいる。更に別の実施形態では、登録データは、クライアント登録コード1703、ユーザ選択オブジェクト、及び登録に必要な他のデータのうちの1又は複数からなる組合せで構成されてよい。 In some embodiments of registration method 1700 , server 1750 may receive registration request 1702 from first peer 1701 . Server 1750 may send data 1751 to first peer 1701 . Registration data 1751 may include any data required by registration method 1700 . In some embodiments, registration data 1751 may include client registration code 1703 . Client registration code 1703 may include one or more characters made up of letters, numbers, symbols, or any combination thereof, and may be generated by server 1750 . In another embodiment, the registration data includes user selection objects. In yet another embodiment, the registration data may consist of a combination of one or more of the client registration code 1703, user selection objects, and other data required for registration.

登録方法1700は、サーバキー1705及びクライアントキー1706をユーザ入力1704から生成することを更に含んでよい。幾つかの実施形態では、サーバキー1705とクライアントキー1706が使用されて、登録キー1707が生成される。他の実施形態では、サーバキー1705、クライアントキー1706、及び少なくとも1つのクライアント登録コード1703が、登録キー1707を生成するために使用される。他の実施形態は、クライアントキー1706、サーバキー1705、及びクライアント登録コード1703の様々な組合せを備えており、それらは、登録キー1707を生成するために使用される。例えばクライアントキー1706、クライアント登録コード1703のような一部の情報は、第1のピア1701のメモリ1708に格納されてよい。更に、登録方法1700は、第1のピア1701からサーバ1750に情報を転送することを含んでよい。幾つかの実施形態では、登録キー1707及びサーバキー1705がサーバ1750に転送される。 Registration method 1700 may further include generating server key 1705 and client key 1706 from user input 1704 . In some embodiments, server key 1705 and client key 1706 are used to generate registration key 1707 . In other embodiments, server key 1705 , client key 1706 and at least one client registration code 1703 are used to generate registration key 1707 . Other embodiments include various combinations of client key 1706 , server key 1705 and client registration code 1703 that are used to generate registration key 1707 . Some information, such as client key 1706 , client registration code 1703 , may be stored in memory 1708 of first peer 1701 . Additionally, the registration method 1700 may include transferring information from the first peer 1701 to the server 1750 . In some embodiments, registration key 1707 and server key 1705 are transferred to server 1750 .

登録方法1700は、サーバ1750にて第1のピア1701から情報を受け取ることを含んでよい。幾つかの実施形態では、サーバ1750で受け取った情報は、登録キー1707とサーバキー1705を含んでよい。サーバ1750は、受信者コード1752を生成してよい。更に、サーバ1750は、送信者コード1754を生成してよい。更に、サーバ1750は、配布コード1756を生成してよい。サーバキー1705、受信者コード1752、及び送信者コード1754は、配布キー1753を生成するために使用されてよい。幾つかの実施形態では、配布キー1753は、サーバキー1705、受信者コード1752、送信者コード1754、又はそれらの任意の組合せのうちの任意の1又は複数から生成されてよい。例えば受信者コード1752、配布キー1753のような一部の情報は、サーバ1750のデータベース1757に格納されてよい。登録方法1700は、サーバ1750から少なくとも1つの第2のピア1775に情報を転送することを更に含んでよい。幾つかの実施形態では、配布キー1753及び配布コード1756は、少なくとも1つの第2のピア1775に転送される。 Registration method 1700 may include receiving information from first peer 1701 at server 1750 . In some embodiments, information received at server 1750 may include registration key 1707 and server key 1705 . Server 1750 may generate recipient code 1752 . Additionally, server 1750 may generate sender code 1754 . Additionally, server 1750 may generate distribution code 1756 . Server key 1705 , recipient code 1752 and sender code 1754 may be used to generate distribution key 1753 . In some embodiments, distribution key 1753 may be generated from any one or more of server key 1705, recipient code 1752, sender code 1754, or any combination thereof. Some information, such as recipient code 1752 , distribution key 1753 , may be stored in database 1757 of server 1750 . Registration method 1700 may further include forwarding information from server 1750 to at least one second peer 1775 . In some embodiments, distribution key 1753 and distribution code 1756 are forwarded to at least one second peer 1775 .

登録方法1700は、1又は複数のキーをローカルデータベースに格納することを更に含んでよい。図17に図示されているように、少なくとも1つの第2のピア1775は、サーバ1750から情報を受け取ってよい。幾つかの実施形態では、情報は、配布キー1753及び配布コード1756を含んでよい。第2のピアは、預託(deposit)コード1776を生成してよい。更に、配布キー1753及び預託コード1776は、預託キー1777を生成するために使用されてよい。幾つかの実施形態では、預託キー1777は、配布キー1753のみを、預託コード1776のみを、又は配布キー1753と預託コード1776の任意の組合せを使用して生成されてよい。例えば、配布キー1753、預託キー1777、配布コード1756のような一部の情報は、第2のピアデバイス1775のメモリ1758に格納されてよい。登録方法1700は、第2のピア1775からサーバ1750に情報を転送することを更に含んでよい。幾つかの実施形態では、預託キー1777及び配布コード1756は、サーバ1750に転送される。 Registration method 1700 may further include storing one or more keys in a local database. At least one second peer 1775 may receive information from the server 1750, as illustrated in FIG. In some embodiments, the information may include distribution key 1753 and distribution code 1756 . A second peer may generate a deposit code 1776 . Additionally, distribution key 1753 and escrow code 1776 may be used to generate escrow key 1777 . In some embodiments, escrow key 1777 may be generated using distribution key 1753 alone, escrow code 1776 alone, or any combination of distribution key 1753 and escrow code 1776 . For example, some information such as distribution key 1753 , escrow key 1777 , distribution code 1756 may be stored in memory 1758 of second peer device 1775 . Registration method 1700 may further include transferring information from second peer 1775 to server 1750 . In some embodiments, escrow key 1777 and distribution code 1756 are transferred to server 1750 .

登録方法1700は、第2のピア1775から情報を受け取り、その情報をローカルデータベースに格納するように構成されてよい。幾つかの実施形態では、サーバ1750は、第2のピア1775から情報を受け取る。受け取った情報は、預託キー1777と、配布コード1756と、サーバ1750による情報の保存に又は第2のピア1775における識別に必要な他の情報とから構成されてよい。 Registration method 1700 may be configured to receive information from second peer 1775 and store the information in a local database. In some embodiments, server 1750 receives information from second peer 1775 . The received information may consist of a escrow key 1777 , a distribution code 1756 and other information necessary for storage of the information by server 1750 or for identification at second peer 1775 .

次に図18を参照すると、幾つかの実施形態では、1又は複数のキーを生成すること1800は、第1のピア1801で行われてよい。第1のピア1801は、任意のIoTデバイス、即ち、ネットワークに接続し、データを送る能力を有する任意のデバイスであってよく、携帯電話、パーソナルアシスタント、ボタン、ホームセキュリティシステム、電化製品などを含むがこれらに限定されない。第1のピア1801は、サーバ1850に登録を要求してよい。幾つかの実施形態では、サーバ1850は、登録データを第1のピア1801に送ってよい。登録データは、第1のピア1801の送受信器1841によって受け取られてよく、また、第1のピア1801において1又は複数のキー1800を生成するために必要な任意のデータを含んでよい。幾つかの実施形態では、登録データは、クライアント登録コード1803を含んでよい。他の実施形態では、登録データは、クライアント登録コード1803と、ユーザ入力1804の前駆体(precursor)として機能する追加データとを含んでよい。クライアント登録コード1803は、任意の長さの1又は複数のキャラクタストリングで構成されてよい。 Referring now to FIG. 18, in some embodiments generating one or more keys 1800 may be performed at a first peer 1801 . The first peer 1801 can be any IoT device, i.e. any device that has the ability to connect to a network and send data, including mobile phones, personal assistants, buttons, home security systems, appliances, etc. are not limited to these. A first peer 1801 may request registration with a server 1850 . In some embodiments, server 1850 may send registration data to first peer 1801 . Registration data may be received by transceiver 1841 of first peer 1801 and may include any data necessary to generate one or more keys 1800 at first peer 1801 . In some embodiments, registration data may include client registration code 1803 . In other embodiments, registration data may include client registration code 1803 and additional data that serves as a precursor to user input 1804 . Client registration code 1803 may consist of one or more character strings of any length.

ユーザ入力1804は、情報の離散的ユニットを含むユーザ生成データを任意の形態で含んでよい。幾つかの実施形態では、ユーザ入力1804は、例えば、指紋、虹彩などの生体情報データを含んでいる。それらの実施形態では、生体情報データは、識別子を含む情報の離散的ユニットに分割されてよい。識別子は、固有の選択コード1809に変換されてよい。他の実施形態では、ユーザ入力1804は、任意の数の空間的及び/又は時間的データを含んでよい。空間データ及び/又は時間データは、識別子を含む情報の離散的ユニットに分割されてよい。識別子は、固有の選択コード1809に変換されてよい。更に別の実施形態では、ユーザ入力1804は、生体情報データと空間的及び/又は時間的データの組合せを含んでよく、それらデータの各々が固有の選択コード1809を生成するために使用されてよい。 User input 1804 may include user-generated data, including discrete units of information, in any form. In some embodiments, user input 1804 includes biometric data, eg, fingerprint, iris, and the like. In those embodiments, the biometric data may be divided into discrete units of information containing identifiers. Identifiers may be converted to unique selection codes 1809 . In other embodiments, user input 1804 may include any number of spatial and/or temporal data. Spatial and/or temporal data may be divided into discrete units of information containing identifiers. Identifiers may be converted to unique selection codes 1809 . In yet another embodiment, user input 1804 may include a combination of biometric data and spatial and/or temporal data, each of which may be used to generate unique selection code 1809. .

他の実施形態では、ユーザ入力1804は、1又は複数の選択オブジェクトを含んでよい。1又は複数の選択オブジェクトは、画像、アイコン、トークン、ボタン、或いは、選択オブジェクトのグループからユーザが1又は複数の選択オブジェクトを選択することを可能にする任意の他のオブジェクトであってよい。幾つかの実施形態では、選択オブジェクトは、送受信器1841で受け取られ、処理マイグレータ1842は、選択オブジェクトを表示装置1843にマイグレートしてよい。表示装置1843上でユーザによって選択されると、選択オブジェクトは、任意の数のキャラクタ、例えば、文字、数字、記号からなる選択コード1809に変換されてよい。特定の実施形態では、選択オブジェクトは画像であって、サーバ1850から受け取られてよい。各画像には固有の選択コード1809が割り当てられる。選択オブジェクトの組合せのユーザによる選択は、ユーザによる選択オブジェクトの選択に固有である選択コード1809の組合せを含むユーザ入力1804を生成する。幾つかの実施形態では、生体情報データ、空間データ及び/又は時間データ、及び選択オブジェクトの任意の組合せが、ユーザ入力1804を構成してよい。 In other embodiments, user input 1804 may include one or more selection objects. The one or more selection objects may be images, icons, tokens, buttons, or any other objects that allow the user to select one or more selection objects from a group of selection objects. In some embodiments, a selection object may be received at transceiver 1841 and processing migrator 1842 may migrate the selection object to display device 1843 . When selected by the user on display device 1843, the selection object may be converted to selection code 1809, which may consist of any number of characters, eg, letters, numbers, symbols. In particular embodiments, the selection object is an image and may be received from server 1850 . Each image is assigned a unique selection code 1809 . User selection of a combination of selection objects generates user input 1804 that includes a combination of selection codes 1809 that are unique to the selection of selection objects by the user. In some embodiments, any combination of biometric data, spatial and/or temporal data, and selection objects may constitute user input 1804 .

幾つかの実施形態によれば、ユーザは、2つ以上の選択コード1809を含むユーザ入力1804を生成してよい。選択コードの数はnに等しい。データマニピュレータ1844は、選択コードを2つ以上のグループに分割するように構成されてよい。幾つかの実施形態では、データマニピュレータ1844は、選択コード1809を第1のグループ1810と第2のグループ1811とに分割するように構成されてよい。第1のグループ1810は、1乃至n-1個の選択コード1809からなり、第2のグループ1811は、1乃至n-1個の選択コード1809からなる。第1のグループ1810及び第2のグループ1811の各選択コード1809は、データ変換器1845によって、個別に1又は複数のキャラクタストリングに変換されてよく1812、その結果、変換された選択コードの第1のグループ1813と、変換された選択コードの第2のグループ1815とが得られる。幾つかの実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1812は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1812は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。変換された選択コードの第1のグループ1813は、クライアントプレキー(pre-key)1814を生成するために使用されてよい。変換された選択コードの第1のグループ1813を構成する個々の変換された選択コードは、データマニピュレータ1844によって結合されて、クライアントプレキー1814を構成する1又は複数のキャラクタストリングを形成してよい。幾つかの実施形態では、個々の変換済み選択コードは、ユニットの連結(concatenation)を通じて結合される。連結は、個々の変換された選択コードの各々を1ユニットとして使用することを含んでよく、又は、個々の変換された選択コードの一部を1ユニットとして使用することを含んでよい。クライアントプレキー1814は、データ変換器1845によってクライアントキー1806に変換されてよい1812。幾つかの実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1812は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1812は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。クライアントキー1812は、処理マイグレータ1842によって第1のピア1801のメモリ1808に格納されてよい。 According to some embodiments, a user may generate user input 1804 that includes two or more selection codes 1809 . The number of selection codes is equal to n. Data manipulator 1844 may be configured to divide the selection code into two or more groups. In some embodiments, data manipulator 1844 may be configured to divide selected codes 1809 into first group 1810 and second group 1811 . The first group 1810 consists of 1 to n-1 selection codes 1809 and the second group 1811 consists of 1 to n-1 selection codes 1809 . Each selection code 1809 in the first group 1810 and the second group 1811 may be individually converted 1812 into one or more character strings by the data converter 1845, such that the first of the converted selection codes and a second group 1815 of transformed selection codes are obtained. In some embodiments, conversion 1812 may include using a hashing algorithm. In other embodiments, transformation 1812 may include using an encryption method. In still other embodiments, transformation 1812 may include using a combination of hashing algorithms and encryption methods. A first group 1813 of transformed selection codes may be used to generate a client pre-key 1814 . The individual transformed selection codes that make up first group 1813 of transformed selection codes may be combined by data manipulator 1844 to form one or more character strings that make up client prekey 1814 . In some embodiments, the individual transformed selection codes are combined through unit concatenation. Concatenation may involve using each of the individual transformed selection codes as one unit, or may involve using portions of the individual transformed selection codes as one unit. Client pre-key 1814 may be converted 1812 to client key 1806 by data converter 1845 . In some embodiments, conversion 1812 may include using a hashing algorithm. In other embodiments, transformation 1812 may include using an encryption method. In still other embodiments, transformation 1812 may include using a combination of hashing algorithms and encryption methods. Client key 1812 may be stored in memory 1808 of first peer 1801 by process migrator 1842 .

変換された選択コードの第2のグループ1815は、サーバプレキー1816を生成するために使用されてよい。変換された選択コードの第2のグループ1815を構成する個々の変換された選択コードは、データマニピュレータ1844によって結合されて、サーバプレキー1816を構成する1又は複数のキャラクタストリングを形成してよい。幾つかの実施形態では、個々の変換された選択コードは、ユニットの連結によって結合されてよい。連結は、個々の変換された選択コードの各々をユニットとして使用することであってよく、又は、個々の変換された選択コードの一部をユニットとして使用することであってよい。サーバプレキー1816は、データ変換器1845によってサーバキー1805に変換されてよい1812。幾つかの実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1812は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1812は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 A second group 1815 of transformed selection codes may be used to generate a server prekey 1816 . The individual transformed selection codes that make up second group 1815 of transformed selection codes may be combined by data manipulator 1844 to form one or more character strings that make up server prekey 1816 . In some embodiments, individual transformed selection codes may be combined by concatenation of units. Concatenation may be using each of the individual transformed selection codes as a unit, or may be using portions of the individual transformed selection codes as units. Server pre-key 1816 may be converted 1812 to server key 1805 by data converter 1845 . In some embodiments, conversion 1812 may include using a hashing algorithm. In other embodiments, transformation 1812 may include using an encryption method. In still other embodiments, transformation 1812 may include using a combination of hashing algorithms and encryption methods.

幾つかの実施形態では、登録キー1807が生成されてよい。クライアントキー1806及びサーバキー1805の各々は、データマニピュレータ1844によって、クライアントキーの第1の部分1817、クライアントキーの第2の部分1818、サーバキーの第1の部分1819、及びサーバキーの第2の部分1820に分割されてよい。幾つかの実施形態では、クライアントキー1806は、3つ以上の部分に分割されてよい。同様に、サーバキー1805は、3つ以上の部分に分離されてよい。クライアントキーの第1の部分1817とクライアントキーの第2の部分1818とは、クライアントキー1806を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、クライアントキーの第1の部分1817及びクライアントキーの第2の部分1818の各々は、クライアントキー1806を構成するキャラクタの半分であってよい。サーバキーの第1の部分1819及びサーバキーの第2の部分1820は、サーバキー1805を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、サーバキーの第1の部分1819及びサーバキーの第2の部分1820の各々は、サーバキー1805を構成するキャラクタの半分であってよい。クライアントキーの第1の部分1817、クライアントキーの第2の部分1818、サーバキーの第1の部分1819、及びサーバキーの第2の部分1820は、ユニットの連結を介してデータマニピュレータ1844によって結合されて、第1のプレキー1821を構成する1又は複数のキャラクタストリングを形成してよい。データマニピュレータ1844による連結は、クライアントキーの第1の部分1817、クライアントキーの第2の部分1818、サーバキーの第1の部分1819、及びサーバキーの第2の部分1820の各々をユニットとして使用することを含んでよく、クライアントキーの第1の部分1817、クライアントキーの第2の部分1818、サーバキーの第1の部分1819、及びサーバキーの第2の部分1820のピースをユニットとして使用することを含んでよい。更に、連結は、クライアントキー1806又はサーバキー1805の分割によって生成された部分の任意の組合せを使用することを含んでよい。第1のプレキー1821は、データ変換器1845によって、第2のプレキー1822を構成する1又は複数のキャラクタストリングに変換されてよい1812。幾つかの実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1812は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1812は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第2のプレキー1822は、登録プレキー1823を生成するために使用されてよい。幾つかの実施形態では、第2のプレキー1822及びクライアント登録コード1803がデータマニピュレータ1844によって連結されて、登録プレキー1823を構成する1又は複数のキャラクタストリングが形成されてよい。連結は、第2のプレキー1822とクライアント登録コード1803の各々をユニットとして使用することを含んでよく、第2のプレキー1822とクライアント登録コード1803のピースをユニットとして使用することを含んでよい。登録プレキー1823は、データ変換器1845によって、登録キー1807を構成する1又は複数のキャラクタストリングに変換されてよい1812。幾つかの実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1812は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1812は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 In some embodiments, a registration key 1807 may be generated. Each of client key 1806 and server key 1805 is manipulated by data manipulator 1844 into client key first portion 1817, client key second portion 1818, server key first portion 1819, and server key second portion. It may be divided into portions 1820 . In some embodiments, client key 1806 may be split into more than two parts. Similarly, server key 1805 may be separated into more than two parts. Client key first portion 1817 and client key second portion 1818 may include different portions of the characters that make up client key 1806 . In particular embodiments, each of client key first portion 1817 and client key second portion 1818 may be half of the characters that make up client key 1806 . Server key first portion 1819 and server key second portion 1820 may include different portions of the characters that make up server key 1805 . In particular embodiments, each of server key first portion 1819 and server key second portion 1820 may be half of the characters that make up server key 1805 . Client key first portion 1817, client key second portion 1818, server key first portion 1819, and server key second portion 1820 are combined by data manipulator 1844 via a concatenation of units. may form one or more character strings that make up the first pre-key 1821 . The concatenation by data manipulator 1844 uses each of client key first part 1817, client key second part 1818, server key first part 1819, and server key second part 1820 as a unit. using pieces of client key first portion 1817, client key second portion 1818, server key first portion 1819, and server key second portion 1820 as a unit. may contain Further, concatenation may include using any combination of portions generated by splitting client key 1806 or server key 1805 . The first prekey 1821 may be converted 1812 by a data converter 1845 into one or more character strings that make up the second prekey 1822 . In some embodiments, conversion 1812 may include using a hashing algorithm. In other embodiments, transformation 1812 may include using an encryption method. In still other embodiments, transformation 1812 may include using a combination of hashing algorithms and encryption methods. A second pre-key 1822 may be used to generate a registration pre-key 1823 . In some embodiments, second prekey 1822 and client registration code 1803 may be concatenated by data manipulator 1844 to form one or more character strings that make up registration prekey 1823 . The concatenation may include using each of the second pre-key 1822 and the client registration code 1803 as a unit, and may include using pieces of the second pre-key 1822 and the client registration code 1803 as a unit. Registration prekey 1823 may be converted 1812 by data converter 1845 into one or more character strings that make up registration key 1807 . In some embodiments, conversion 1812 may include using a hashing algorithm. In other embodiments, transformation 1812 may include using an encryption method. In still other embodiments, transformation 1812 may include using a combination of hashing algorithms and encryption methods.

第1のピア1801は、サーバ1850に情報を送ってよい。幾つかの実施形態では、第1のピア1801の処理マイグレータ1842は、登録キー1807及びサーバキー1805を第1のピア1801の送受信器1841にマイグレートしてよく、送受信器1841が、登録キー1807及びサーバキー1805をサーバ1850に送ってよい。他の実施形態では、第1のピア1801の送受信器1841は、登録キー1807、サーバキー1805、及び登録方法に必要なその他の情報をサーバ1850に送ってよい。 First peer 1801 may send information to server 1850 . In some embodiments, processing migrator 1842 of first peer 1801 may migrate registration key 1807 and server key 1805 to transceiver 1841 of first peer 1801 , where transceiver 1841 migrates registration key 1807 . and server key 1805 may be sent to server 1850 . In other embodiments, the transceiver 1841 of the first peer 1801 may send the registration key 1807, the server key 1805, and other information required for the registration method to the server 1850.

登録方法は、1又は複数のキーを配布すること1900を更に含んでよい。図19に図示されているように、サーバ1950の送受信器1941は、第1のピア1901から情報を受け取ってよい。幾つかの実施形態では、サーバ1950の送受信器1941は、第1のピア1901から登録キー1907を受け取ってよい。サーバ1950の送受信器1941は、第1のピア1901からサーバキー1905を受け取ってよい。サーバ1950の送受信器1941は、第1のピア1901から登録キー1907及びサーバキー1905の両方を受け取ってよい。処理マイグレータ1942は、登録キー1907及びサーバキー1905をサーバ1950のプロセッサにマイグレートしてよい。登録キー1907は、処理マイグレータ1942によってサーバ1950のデータベース1957に格納されてよい。サーバ1950の処理生成器1946は、ピアリスト(peer list)1958を生成してよい。ピアリスト1958は、ネットワーク上のピアデバイス、例えば第1のピア1901、第2のピア1975などのリストを含んでよい。また、ピアリストは、受信者コード1952及び配布コード1956を含んでよく、これらは、任意の長さの1又は複数のキャラクタストリングを含んでよい。更に、サーバ1950の処理生成器1946は、送信者コード1954を生成してよく、これもまた、任意の長さの1又は複数のキャラクタストリングを含んでよい。 The registration method may further include distributing 1900 one or more keys. As illustrated in FIG. 19, transceiver 1941 of server 1950 may receive information from first peer 1901 . In some embodiments, transceiver 1941 of server 1950 may receive registration key 1907 from first peer 1901 . Transceiver 1941 of server 1950 may receive server key 1905 from first peer 1901 . Transceiver 1941 of server 1950 may receive both registration key 1907 and server key 1905 from first peer 1901 . Processing migrator 1942 may migrate registration key 1907 and server key 1905 to the processor of server 1950 . Registration key 1907 may be stored in database 1957 of server 1950 by process migrator 1942 . Process generator 1946 of server 1950 may generate a peer list 1958 . Peer list 1958 may include a list of peer devices on the network, eg, first peer 1901, second peer 1975, and so on. The peer list may also include recipient code 1952 and distribution code 1956, which may include one or more character strings of arbitrary length. Additionally, the processing generator 1946 of the server 1950 may generate a sender code 1954, which may also include one or more character strings of arbitrary length.

幾つかの実施形態では、サーバ1950は、第1のピア1901から登録キー1907を受け取ってよい。登録キー1907は、任意の数の登録キーサブパート(subparts)を生成するために使用されてよい。データマニピュレータは、登録キー1907から登録キーサブパートを生成してよい。これらの実施形態では、登録キー1907は、nに等しい任意の数のキャラクタを含んでよい。各登録キーサブパートは、n-1に等しい任意の数又は組合せのキャラクタを含んでよい。サーバ1950は、1又は複数のランダムなキャラクタストリングを生成してよい。登録キーサブパートの各々は、データマニピュレータ1944によって、1又は複数のランダムなキャラクタストリングと連結されてよい。幾つかの実施形態では、連結されたキャラクタストリングは変換されてよい1912。生成された連結キャラクタストリング又は変換された連結キャラクタストリングの各々は、1又は複数の第2のピア1975に送られてよい。 In some embodiments, server 1950 may receive registration key 1907 from first peer 1901 . Registration key 1907 may be used to generate any number of registration key subparts. A data manipulator may generate a registration key subpart from registration key 1907 . In these embodiments, registration key 1907 may contain any number of characters equal to n. Each registration key subpart may contain any number or combination of characters equal to n-1. Server 1950 may generate one or more random character strings. Each of the registration key subparts may be concatenated with one or more random character strings by data manipulator 1944 . In some embodiments, concatenated character strings may be transformed 1912 . Each of the generated concatenated character strings or converted concatenated character strings may be sent to one or more second peers 1975 .

サーバ1950は、第1のピア1901からサーバキー1908を受け取ってよい。サーバキー1908は、任意の数のサーバキーサブパートを生成するために使用されてよい。データマニピュレータは、サーバキー1908からサーバキーサブパートを生成してよい。これらの実施形態では、サーバキー1908は、nに等しい任意の数のキャラクタを含んでよい。各サーバキーサブパートは、n-1に等しい任意の数又はキャラクタの組合せを含んでよい。サーバ1950は、1又は複数のランダムなキャラクタストリングを生成してよい。サーバキーサブパートの各々は、データマニピュレータ1944によって、1又は複数のランダムなキャラクタストリングと連結されてよい。幾つかの実施形態では、連結されたキャラクタストリングは変換されてよい1912。生成された連結キャラクタストリング又は変換された連結キャラクタストリングの各々は、1又は複数の第2のピア1975に送られてよい。 Server 1950 may receive a server key 1908 from first peer 1901 . Server key 1908 may be used to generate any number of server key subparts. A data manipulator may generate a server key subpart from the server key 1908 . In these embodiments, server key 1908 may contain any number of characters equal to n. Each server key subpart may contain any combination of numbers or characters equal to n-1. Server 1950 may generate one or more random character strings. Each of the server key subparts may be concatenated with one or more random character strings by data manipulator 1944 . In some embodiments, concatenated character strings may be transformed 1912 . Each of the generated concatenated character strings or converted concatenated character strings may be sent to one or more second peers 1975 .

サーバ1950のデータマニピュレータ1944は、サーバキー1905、受信者コード1952、送信者コード1954、配布コード1956、又は登録キー1907の任意の組合せを組み合わせて、配布プレキー1959を生成してよい。幾つかの実施形態では、配布プレキーは、サーバキー1905、送信者コード1954、及び受信者コード1952を含んでおり、これらは、ユニットの連結によって結合されて1又は複数のキャラクタストリングが形成されてよい。連結は、サーバキー1905、送信者コード1954、及び受信者コード1952の各々をユニットとして使用することを含んでよく、サーバキー1905、送信者コード1954、及び受信者コード1952のピースをユニットとして使用することを含んでよい。配布プレキー1959は、データ変換器によって、配布キー1953を構成する1又は複数のキャラクタストリングに変換されてよい1912。幾つかの実施形態では、変換1912は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1912は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1912は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。配布キー1953は、処理マイグレータ1942によってサーバ1950のデータベース1957に格納されてよい。サーバ1950は、第2のピア1975に情報を送るように構成されてよい。幾つかの実施形態では、サーバ1950の処理マイグレータ1942は、配布キー1953及び配布コード1956をサーバ1950の送受信器1941にマイグレートしてよい。他の実施形態では、サーバ1950の送受信器1941は、配布キー1953、配布コード1956、及び登録方法に必要なその他の情報を第2のピア1975に送ってよい。幾つかの実施形態では、サーバ1950は、登録キー1907、サーバキー1905、及び配布キー1953の任意の組合せを、サーバ1950のデータベース1957に格納してよい。 Data manipulator 1944 of server 1950 may combine any combination of server key 1905 , recipient code 1952 , sender code 1954 , distribution code 1956 , or registration key 1907 to generate distribution pre-key 1959 . In some embodiments, the distribution pre-key includes a server key 1905, a sender code 1954, and a recipient code 1952, which are combined by concatenation of units to form one or more character strings. good. The concatenation may include using each of the server key 1905, sender code 1954, and recipient code 1952 as a unit, using pieces of the server key 1905, sender code 1954, and recipient code 1952 as a unit. may include doing Distribution pre-key 1959 may be converted 1912 by a data converter into one or more character strings that make up distribution key 1953 . In some embodiments, conversion 1912 may include using a hashing algorithm. In other embodiments, transformation 1912 may include using an encryption method. In still other embodiments, transformation 1912 may include using a combination of hashing algorithms and encryption methods. Distribution key 1953 may be stored in database 1957 of server 1950 by process migrator 1942 . Server 1950 may be configured to send information to second peer 1975 . In some embodiments, processing migrator 1942 of server 1950 may migrate distribution key 1953 and distribution code 1956 to transceiver 1941 of server 1950 . In other embodiments, the transceiver 1941 of the server 1950 may send the distribution key 1953, the distribution code 1956, and other information required for the registration method to the second peer 1975. In some embodiments, server 1950 may store any combination of registration key 1907 , server key 1905 , and distribution key 1953 in database 1957 of server 1950 .

サーバ1950は、2以上の配布キー1953を生成し、2以上の第2のピア1975にデータを送ってよい。幾つかの実施形態では、ピアリスト1958は、ネットワーク上の2以上の第2のピア1975のリストを含んでよい。第2のピアは、ネットワーク上にあり、サーバ1950とデータを送受信することができる任意のIoTデバイス、サーバ、又は任意のデバイスを含んでよい。サーバ1950は、各第2のピア1975に対して固有の配布コード1956を生成してよい。サーバ1950は、各第2のピア1975に対して固有の受信者コード1952を生成してよい。これらの実施形態では、各第2のピア1975のために生成された配布キー1953は、他の第2のピア1975のために生成された配布キー1953とは異なってよいが、第1のピア1901から受け取った基礎となるサーバキー1905は同じであってよい。 Server 1950 may generate two or more distribution keys 1953 and send data to two or more second peers 1975 . In some embodiments, peer list 1958 may include a list of two or more secondary peers 1975 on the network. A second peer may include any IoT device, server, or any device on the network that can send data to and receive data from server 1950 . Server 1950 may generate a unique distribution code 1956 for each second peer 1975 . Server 1950 may generate a unique recipient code 1952 for each second peer 1975 . In these embodiments, the distribution key 1953 generated for each second peer 1975 may be different than the distribution keys 1953 generated for other second peers 1975, but the first peer The underlying server key 1905 received from 1901 may be the same.

幾つかの実施形態によれば、登録キー1907が使用されて、配布プレキー1959が生成されてよい。これらの実施形態では、登録キー1907、送信者コード1954、受信者コード1952、及びサーバキー1905の任意の組合せが使用されて、配布プレキー1959が生成されてよい。 According to some embodiments, registration key 1907 may be used to generate distribution pre-key 1959 . In these embodiments, any combination of registration key 1907, sender code 1954, recipient code 1952, and server key 1905 may be used to generate distribution pre-key 1959.

図17を再度参照すると、登録方法1700は、1又は複数のキーをローカルデータベースに格納することを含んでよい。幾つかの実施形態では、第2のピア1775は、第2のピア1775の送受信器を介してサーバ1750と情報を送受信するように構成されてよい。第2のピア1775は、第2のピア1775の送受信器を介してサーバ1750から配布キー1753を受け取ってよい。第2のピア1775は、サーバ1750から配布コード1756を受け取ってよい。幾つかの実施形態では、第2のピア1775は、サーバ1750から配布キー1753及び配布コード1756を受け取ってよい。配布キー1753及び配布コード1756は、第2のピア1775のメモリ1778に格納されてよい。第2のピア1775は、預託コード1776を生成してよい。預託コード1776は、任意の長さの1又は複数のキャラクタストリングであってよく、ランダムに生成されてよい。或いは、預託コード1776は、サーバ1750によって生成され、第2のピア1775によって受け取られてよい。預託コード1776及び配布キー1753は、ユニットの連結によって結合されて、預託プレキー1779を構成する1又は複数のキャラクタストリングが形成されてよい。連結は、預託コード1776と配布キー1753の各々をユニットとして使用することを含んでよく、預託コード1776と配布キー1753のピースをユニットとして使用することを含んでよい。預託プレキー1779は、預託キー1777を構成する1又は複数のキャラクタストリングに変換されてよい1712。幾つかの実施形態では、変換1712は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換1712は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換1712は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい預託キー1777は、第2のピア1775のメモリ1778に格納されてよい。幾つかの実施形態では、第2のピア1775は、預託キー1777及び配布コード1756をサーバ1750に送ってよい。他の実施形態では、第2のピア1775は、預託キー1777、配布コード1756、及び登録方法1700に必要な他の情報をサーバ1750に送ってよい。 Referring again to FIG. 17, registration method 1700 may include storing one or more keys in a local database. In some embodiments, the second peer 1775 may be configured to send and receive information with the server 1750 via the second peer's 1775 transceiver. Second peer 1775 may receive distribution key 1753 from server 1750 via second peer's 1775 transceiver. Second peer 1775 may receive distribution code 1756 from server 1750 . In some embodiments, second peer 1775 may receive distribution key 1753 and distribution code 1756 from server 1750 . Distribution key 1753 and distribution code 1756 may be stored in memory 1778 of second peer 1775 . A second peer 1775 may generate a escrow code 1776 . Escrow code 1776 may be a string of one or more characters of any length and may be randomly generated. Alternatively, escrow code 1776 may be generated by server 1750 and received by second peer 1775 . The escrow code 1776 and distribution key 1753 may be combined by concatenation of units to form one or more character strings that make up the escrow prekey 1779 . Concatenation may include using each of custody code 1776 and distribution key 1753 as a unit, and may include using pieces of custody code 1776 and distribution key 1753 as a unit. The escrow pre-key 1779 may be converted 1712 into one or more character strings that make up the escrow key 1777 . In some embodiments, conversion 1712 may include using a hashing algorithm. In other embodiments, transformation 1712 may include using an encryption method. In still other embodiments, transformation 1712 may involve using a combination of hashing algorithms and encryption methods. Escrow key 1777 may be stored in memory 1778 of second peer 1775 . In some embodiments, second peer 1775 may send escrow key 1777 and distribution code 1756 to server 1750 . In other embodiments, second peer 1775 may send escrow key 1777 , distribution code 1756 , and other information required for registration method 1700 to server 1750 .

登録方法1700は、1又は複数のキーをサーバデータベースに格納することを更に含んでもよい。図19に示すように、サーバ1950の送受信器1941は、第2のピア1975から情報を受け取ってよい。幾つかの実施形態では、サーバ1950の送受信器1941は、配布コード1956を受け取ってよい。幾つかの実施形態では、サーバ1950の送受信器1941は、預託キー1977を受け取ってよい。他の実施形態では、サーバ1950の送受信器1941は、配布コード1956及び預託キー1977を受け取ってよい。更に別の実施形態では、サーバ1950の送受信器1941は、配布コード1956、預託キー1977、及び登録方法に必要な他の情報を受け取ってよい。配布コード1956及び預託キー1977は、処理マイグレータ1942によってサーバ1950のデータベース1957に格納されてよい。 Registration method 1700 may further include storing one or more keys in a server database. As shown in FIG. 19, transceiver 1941 of server 1950 may receive information from second peer 1975 . In some embodiments, transceiver 1941 of server 1950 may receive distribution code 1956 . In some embodiments, transceiver 1941 of server 1950 may receive escrow key 1977 . In other embodiments, transceiver 1941 of server 1950 may receive distribution code 1956 and escrow key 1977 . In yet another embodiment, transceiver 1941 of server 1950 may receive distribution code 1956, escrow key 1977, and other information necessary for the registration method. Distribution code 1956 and escrow key 1977 may be stored in database 1957 of server 1950 by process migrator 1942 .

特定の実施形態では、登録方法1700は、1又は複数のキーを作成することと、1又は複数のキーを配布することと、1又は複数のキーをローカルデータベースに格納することと、1又は複数のキーをサーバデータベースに格納することとを含んでよい。図17に図示されているように、登録方法1700は、第1のピア1701からの登録要求1702から始まってよい。登録要求1702は、1又は複数のサーバ1750との間で送受信されてよい。1又は複数のサーバは、登録データ1751を第1のピア1701に送ってよい。次に図18を参照すると、特定の実施形態では、第1のピア1801がサーバ1850から登録データを受け取ってよい。登録データは、クライアント登録コード1803と1又は複数の選択オブジェクトとを含んでよい。クライアント登録コード1803は、単一の8桁のキャラクタストリングを含んでよい。選択オブジェクトは、幾つかの画像を含んでよい。特定の実施形態では、選択オブジェクトは、60に等しい数の選択オブジェクトを含んでよい。各選択オブジェクトは、固有の選択コード1809を含んでよい。選択コード1809は、1又は複数のキャラクタストリングを含んでよく、特定の実施形態では、各選択コードは、5つのキャラクタからなるストリングを含んでよい。ユーザは、サーバ1850によって受け取られた選択オブジェクトから幾つかの選択オブジェクトを選択してよい。特定の実施形態では、ユーザは、6つの選択オブジェクトを選択してよい。ユーザによる選択オブジェクトの選択は、選択コード1809の集合からなるユーザ入力1804を生成してよく、それら選択コード1809は、各選択コード1809に関連付けられた特定の選択オブジェクトを選択することによって選択されてよい。特定の実施形態では、ユーザ入力1804は、6つの5キャラクタの選択コード1809を含んでいる。 In particular embodiments, the registration method 1700 comprises: creating one or more keys; distributing the one or more keys; storing the one or more keys in a local database; and storing the key of in a server database. As illustrated in FIG. 17, registration method 1700 may begin with registration request 1702 from first peer 1701 . Registration request 1702 may be sent to or received from one or more servers 1750 . One or more servers may send registration data 1751 to the first peer 1701 . Referring now to FIG. 18, in certain embodiments, first peer 1801 may receive registration data from server 1850 . Registration data may include a client registration code 1803 and one or more selection objects. Client registration code 1803 may include a single eight-digit character string. A selection object may include several images. In particular embodiments, the selection objects may include a number of selection objects equal to sixty. Each selection object may contain a unique selection code 1809 . Selection code 1809 may include one or more character strings, and in certain embodiments, each selection code may include a string of five characters. A user may select a number of selection objects from the selection objects received by server 1850 . In particular embodiments, a user may select six selection objects. Selection of selection objects by a user may generate user input 1804 consisting of a collection of selection codes 1809 that are selected by selecting the particular selection object associated with each selection code 1809. good. In particular embodiments, user input 1804 includes six five-character selection codes 1809 .

ユーザ入力1804は、第1のグループ1810と第2のグループ1811とに分割されてよい。特定の実施形態では、第1のグループ1810と第2のグループ1811の各々は、3つの異なる選択コード1809を含んでいる。第1のグループ1810及び第2のグループ1811を構成する各選択コード1809は、1又は複数のキャラクタストリングに変換されてよい1812。特定の実施形態では、各選択コード1809は、ハッシュアルゴリズムを使用して変換されてよく、変換された選択コードの第1のグループ1813と変換された選択コードの第2のグループ1815とをまとめて含んでよい。変換された選択コードの第1のグループ1813及び変換された選択コードの第2のグループ1815の各々が結合されて、クライアントプレキー1814及びサーバプレキー1816の各々が生成されてよい。特定の実施形態では、変換された選択コードの第1のグループ1813を構成する3つの変換された選択コードが連結されて、クライアントプレキー1814を構成する1又は複数のキャラクタストリングが生成されてよい。同様に、変換された選択コードの第2のグループ1815を構成する3つの変換された選択コードが連結されて、サーバのプレキー1816を構成する1又は複数のキャラクタストリングが生成されてよい。クライアントプレキー1814はクライアントキー1806に、サーバプレキー1816はサーバキー1805に変換されてよい1812。特定の実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含む。 User inputs 1804 may be divided into first group 1810 and second group 1811 . In particular embodiments, first group 1810 and second group 1811 each include three different selection codes 1809 . Each selection code 1809 that makes up the first group 1810 and the second group 1811 may be converted 1812 into one or more character strings. In particular embodiments, each selection code 1809 may be transformed using a hashing algorithm to combine the first group 1813 of transformed selection codes and the second group 1815 of transformed selection codes. may contain. Each of the first group of transformed selection codes 1813 and the second group of transformed selection codes 1815 may be combined to generate a client pre-key 1814 and a server pre-key 1816, respectively. In certain embodiments, the three transformed selection codes that make up the first group of transformed selection codes 1813 may be concatenated to generate one or more character strings that make up the client prekey 1814. . Similarly, the three transformed selection codes that make up the second group of transformed selection codes 1815 may be concatenated to produce one or more character strings that make up the server's prekey 1816 . Client pre-key 1814 may be converted 1812 to client key 1806 and server pre-key 1816 to server key 1805 . In particular embodiments, conversion 1812 includes using a hashing algorithm.

登録キー1807は、クライアントキー1806、サーバキー1805、及びクライアント登録コード1803の組合せを用いて生成されてよい。特定の実施形態では、クライアントキー1806は、第1の部分1817及び第2の部分1818に、サーバキー1805は、第1の部分1819及び第2の部分1820に分割される。第1のプレキー1821は、クライアントキー1806の任意の部分とサーバキー1805の任意の部分とを連結することで1又は複数のキャラクタストリングを形成することによって生成されてよい。第1のプレキー1821は、第2のプレキー1822を構成する1又は複数のキャラクタストリングに変換されてよい1812。特定の実施形態では、変換1812は、ハッシュアルゴリズムを使用することを含む。登録プレキー1823は、クライアント登録コード1803と第2のプレキー1822を連結して、1又は複数のキャラクタストリングを形成することによって生成されてよい。登録プレキー1823は、登録キー1807に変換されてよく、変換1812は、ハッシュアルゴリズムを使用することを含んでよい。特定の実施形態では、クライアントキー1806及びクライアント登録コード1803は、第1のピア1801のメモリ1808に格納されてよい。更に、サーバキー1805及び登録キー1807は、1又は複数のサーバ1850に送られてよい。 Registration key 1807 may be generated using a combination of client key 1806 , server key 1805 and client registration code 1803 . In particular embodiments, client key 1806 is split into first portion 1817 and second portion 1818 and server key 1805 is split into first portion 1819 and second portion 1820 . First pre-key 1821 may be generated by concatenating any portion of client key 1806 and any portion of server key 1805 to form one or more character strings. The first prekey 1821 may be converted 1812 into one or more character strings that make up the second prekey 1822 . In particular embodiments, conversion 1812 includes using a hashing algorithm. Registration prekey 1823 may be generated by concatenating client registration code 1803 and second prekey 1822 to form one or more character strings. Registration pre-key 1823 may be converted to registration key 1807, and conversion 1812 may include using a hashing algorithm. In particular embodiments, client key 1806 and client registration code 1803 may be stored in memory 1808 of first peer 1801 . Additionally, server key 1805 and registration key 1807 may be sent to one or more servers 1850 .

登録方法は、1又は複数のキーを配布することを含んでよい。図19に示す特定の実施形態では、サーバ1950は、第1のピア1901から登録キー1907及びサーバキー1905を受け取ってよい。登録キーは、サーバ1950のデータベース1957に格納されてよい。サーバ1950は、ネットワーク上の第2のピア1975のリストを含むピアリスト1958を生成してよい。第2のピア1975の各々について、サーバ1950は、受信者コード1952及び配布コード1956を生成してよい。特定の実施形態では、受信者コード1952及び配布コード1956は、特定の第2のピア1975及び特定のトランザクションの両方に固有であってよい。更に、サーバ1950は、送信者コード1954を生成してよく、送信者コード1954は、特定のサーバ1950に固有であってよい。特定の実施形態では、受信者コード1952、送信者コード1954、及びサーバキー1905は、連結によって結合されて、配布プレキー1959を構成する1又は複数のキャラクタストリングが生成されてよい。配布プレキー1959は、配布キー1953に変換されてもよい1912。特定の実施形態では、変換1912は、ハッシュアルゴリズムを使用することを含んでよい。幾つかの実施形態では、複数の固有の配布キー1953が生成されてよく、各々は、異なる受信者コード1952を含んでおり、ピアリスト1958からの関連する異なる配布コード1956を有する。固有の配布キー1953の各々は、最終的には、異なる第2のピア1975に送られてよい。特定の実施形態では、複数の固有の配布キー1953が同一のサーバキー1905から生成されて、固有の配布キー1953の各々は、ネットワーク上の別個の第2のピア1975に送られる。 Registration methods may include distributing one or more keys. In the particular embodiment shown in FIG. 19, server 1950 may receive registration key 1907 and server key 1905 from first peer 1901 . The registration key may be stored in database 1957 of server 1950 . Server 1950 may generate peer list 1958 containing a list of second peers 1975 on the network. For each second peer 1975 , server 1950 may generate recipient code 1952 and distribution code 1956 . In particular embodiments, recipient code 1952 and distribution code 1956 may be unique to both a particular second peer 1975 and a particular transaction. Additionally, the server 1950 may generate a sender code 1954 , and the sender code 1954 may be unique to a particular server 1950 . In certain embodiments, recipient code 1952 , sender code 1954 , and server key 1905 may be combined by concatenation to produce one or more character strings that make up distribution prekey 1959 . Distribution pre-key 1959 may be converted 1912 to distribution key 1953 . In particular embodiments, conversion 1912 may include using a hashing algorithm. In some embodiments, multiple unique distribution keys 1953 may be generated, each containing a different recipient code 1952 and having an associated different distribution code 1956 from peer list 1958 . Each unique distribution key 1953 may ultimately be sent to a different second peer 1975 . In certain embodiments, multiple unique distributed keys 1953 are generated from the same server key 1905 and each unique distributed key 1953 is sent to a separate second peer 1975 on the network.

登録方法は、図17に図示されているように、1又は複数のキーをローカルデータベースに格納することを更に含んでよい。特定の実施形態では、第2のピア1775は、サーバ1750から配布キー1753及び配布コード1756を受け取ってよい。この実施形態では、第2のピア1775は、ネットワーク内の複数の第2のピア1775のうちの1つであってよく、上述したように、第1のピア1701とサーバ1750の間の同じトランザクションから生じる配布キー1753及び配布コード1756を受け取る。第2のピア1775は、配布キー1753及び配布コード1756を第2のピア1775のメモリ1778に格納してよい。更に、第2のピア1775は、預託コード1776を生成してよい。特定の実施形態では、預託コード1776は、8つのキャラクタの単一のストリングを含んでいる。預託コード1776と配布キー1753は、連結により結合されて、預託プレキー1779を構成する1又は複数のキャラクタストリングが生成されてよい。預託プレキー1779は、預託キー1777に変換されてよい1712。特定の実施形態では、変換1712は、ハッシュアルゴリズムを使用することを含んでよい。第2のピア1775は、1又は複数のサーバ1750に情報を送ってよい。特定の実施形態では、複数の第2のピア1775は、サーバ1750に情報を送ってよい。情報は、配布コード1756、預託キー1777、及び登録プロセス1700を実行するために必要な他の任意の情報を含んでよい。 The registration method may further include storing one or more keys in a local database, as illustrated in FIG. In particular embodiments, second peer 1775 may receive distribution key 1753 and distribution code 1756 from server 1750 . In this embodiment, the second peer 1775 may be one of a plurality of second peers 1775 in the network, and the same transaction between the first peer 1701 and the server 1750 as described above. receives a distribution key 1753 and a distribution code 1756 resulting from Second peer 1775 may store distribution key 1753 and distribution code 1756 in memory 1778 of second peer 1775 . Further, second peer 1775 may generate escrow code 1776 . In certain embodiments, escrow code 1776 includes a single string of eight characters. Escrow code 1776 and distribution key 1753 may be combined by concatenation to produce one or more character strings that make up escrow prekey 1779 . The escrow pre-key 1779 may be converted 1712 to a escrow key 1777 . In particular embodiments, conversion 1712 may include using a hashing algorithm. A second peer 1775 may send information to one or more servers 1750 . In certain embodiments, multiple second peers 1775 may send information to server 1750 . Information may include distribution code 1756 , escrow key 1777 , and any other information necessary to perform registration process 1700 .

登録方法1700は、サーバデータベースに1又は複数のキーを格納することを含んでよい。幾つかの実施形態では、サーバ1750は、1又は複数の第2のピア1775から情報を受け取るように構成されてよい。特定の実施形態では、サーバ1750は、配布コード1756及び預託キー1777を含む情報を複数の第2のピア1775から受け取ってよい。サーバ1750は、配布コード1756及び預託キー1777をデータベース1757に格納してよい。図19を参照すると、配布コード1956及び預託キー1977は、データベース1957内に格納されたピアリスト1958に格納されてよい。特定の実施形態では、配布コード1956及び預託キー1977は、格納された配布キー1953及び受信者コード1952と対にされており、それは、第1のピア1901と、サーバ1950と、特定の第2のピア1975との間で行われたトランザクションに固有のものであってよい。 Registration method 1700 may include storing one or more keys in a server database. In some embodiments, server 1750 may be configured to receive information from one or more secondary peers 1775 . In particular embodiments, server 1750 may receive information from a plurality of second peers 1775 including distribution code 1756 and escrow key 1777 . Server 1750 may store distribution code 1756 and escrow key 1777 in database 1757 . Referring to FIG. 19, distribution code 1956 and escrow key 1977 may be stored in peer list 1958 stored in database 1957 . In a particular embodiment, distribution code 1956 and escrow key 1977 are paired with stored distribution key 1953 and recipient code 1952, which includes first peer 1901, server 1950, and a particular second may be specific to transactions made with peers 1975 of

認証方法は、図20に示すように、ログイン方法を含んでよい。ログイン方法2000は、1又は複数のログインキーを作成すること、1又は複数の検証キーを配布し、ローカルデータベース内の検証キーを検証すること、検証プロセスを有効にすることから構成されてもよい。更に、ログイン方法2000は、1又は複数の第1のピア2001と、1又は複数のサーバ2050と、1又は複数の第2のピア2075との間の通信を含んでよい。 Authentication methods may include login methods, as shown in FIG. The login method 2000 may consist of creating one or more login keys, distributing one or more verification keys, verifying the verification keys in a local database, and activating the verification process. . Additionally, the login method 2000 may include communication between one or more first peers 2001 , one or more servers 2050 and one or more second peers 2075 .

ログイン方法2000は、第1のピア2001を含んでよく、第1のピアは、ユーザと対話するように構成されてよい。第1のピア2001は、ログイン要求2002してよく、ログイン要求2002は、1又は複数のサーバ2050に送られてよい。サーバ2050は、ログイン要求2002を受け取り、ログインデータ2051を生成してよい。幾つかの実施形態では、ログインデータ2051は、ログインソルト2024を構成してよい。ログインソルトは、文字、数字、記号、又はそれらの任意の組合せからなる1又は複数のキャラクタを含んでよい。幾つかの実施形態では、ログインデータ2051は、ユーザ選択オブジェクトを含んでよい。他の実施形態では、ログインデータ2051は、1又は複数のログインソルト2024と、ユーザ選択オブジェクトと、ログイン方法2000に必要な他の任意のデータとを含んでよい。 Login method 2000 may include a first peer 2001, which may be configured to interact with a user. A first peer 2001 may make a login request 2002 and the login request 2002 may be sent to one or more servers 2050 . Server 2050 may receive login request 2002 and generate login data 2051 . In some embodiments, login data 2051 may constitute login salt 2024 . A login salt may include one or more characters consisting of letters, numbers, symbols, or any combination thereof. In some embodiments, login data 2051 may include user selection objects. In other embodiments, login data 2051 may include one or more login salts 2024 , user-selected objects, and any other data required by login method 2000 .

1又は複数のログインキーを生成することは、ユーザ入力2004からサーバキー2005及びクライアントキー2006を生成することを更に含んでよい。幾つかの実施形態では、サーバキー2005及びクライアントキー2006が使用されて、ログインキー2099が生成されてよい。他の実施形態では、サーバキー2005、クライアントキー2006、及び少なくともログインソルト2024が、ログインキー2099を生成するために使用されてよい。他の実施形態では、クライアントキー2006、サーバキー2005、及びログインソルト2024の異なる組合せが、ログインキー2099を生成するために使用されてよい。例えばクライアントキー2006、ログインソルト2024のような幾らかの情報が、第1のピア2001のメモリ2008に格納されてよい。更に、1又は複数のログインキーを生成することは、第1のピア2001からサーバ2050に情報を転送することを含んでよい。幾つかの実施形態では、ログインキー2099及びサーバキー2005がサーバ2050に転送される。 Generating one or more login keys may further include generating a server key 2005 and a client key 2006 from user input 2004 . In some embodiments, server key 2005 and client key 2006 may be used to generate login key 2099 . In other embodiments, server key 2005 , client key 2006 and at least login salt 2024 may be used to generate login key 2099 . In other embodiments, different combinations of client key 2006 , server key 2005 and login salt 2024 may be used to generate login key 2099 . Some information may be stored in the memory 2008 of the first peer 2001 , eg client key 2006 , login salt 2024 . Additionally, generating one or more login keys may include transferring information from first peer 2001 to server 2050 . In some embodiments, login key 2099 and server key 2005 are transferred to server 2050 .

また、図20に示すように、1又は複数の検証キーを配布することは、サーバ2050にて第1のピア2001から情報を受け取ることを含んでよい。幾つかの実施形態では、サーバ2050で受け取った情報は、ログインキー2099及びサーバキー2005を含んでよい。サーバ2050は、受信者コード2052を生成してよい。更に、サーバ2050は、送信者コード2054を生成してよい。更に、サーバ2050は、配布コード2056を生成してよい。サーバキー2005、受信者コード2052、及び送信者コード2054が使用されて検証キー2062が生成されてよい。幾つかの実施形態では、検証キー2062は、1又は複数のサーバキー2005、受信者コード2052、検証ソルト2024、又は送信者コード2054、或いは、それらの任意の組合せから生成されてよい。幾つかの情報、例えば、受信者コード2052、検証キー2062は、サーバ2050のデータベース2057に格納されてよい。幾つかの実施形態では、検証キー2062は、サーバ2050のデータベース2057に格納されなくてもよい。複数の検証キーを配布することは、サーバ2050から少なくとも1つの第2のピア2075に情報を転送することを更に含んでよい。幾つかの実施形態では、検証キー2062及び配布コード2056は、少なくとも1つの第2のピア2075に転送される。 Also, as shown in FIG. 20, distributing one or more verification keys may include receiving information from first peer 2001 at server 2050 . In some embodiments, information received at server 2050 may include login key 2099 and server key 2005 . Server 2050 may generate recipient code 2052 . Additionally, server 2050 may generate sender code 2054 . Additionally, server 2050 may generate distribution code 2056 . Server key 2005 , recipient code 2052 and sender code 2054 may be used to generate verification key 2062 . In some embodiments, verification key 2062 may be generated from one or more of server key 2005, recipient code 2052, verification salt 2024, or sender code 2054, or any combination thereof. Some information may be stored in database 2057 of server 2050, such as recipient code 2052, verification key 2062, and so on. In some embodiments, verification key 2062 may not be stored in database 2057 of server 2050 . Distributing multiple verification keys may further include forwarding information from server 2050 to at least one second peer 2075 . In some embodiments, verification key 2062 and distribution code 2056 are forwarded to at least one second peer 2075 .

ログイン方法2000は、ローカルデータベース上で1又は複数の検証キーを検証することを更に含んでよい。図20に図示されているように、少なくとも1つの第2のピア2075は、サーバ2050から情報を受け取ってよい。幾つかの実施形態では、情報は、検証キー2062及び配布コード2056を含んでよい。他の実施形態では、情報は、検証キー2062、配布コード2056、及び検証ソルト2063を含んでよい。第2のピア2075は、配布コード2056と検証キー2062の任意の組合せを使用して、対応する配布キーが第2のピア2075のメモリ2078に格納されている可能性があることを突き止めて確認してよい。格納された配布キーが使用されて、確認キー2081が生成されてよい。幾つかの実施形態では、格納された配布キー2053と、サーバ2050から受け取った検証ソルト2063とが使用されて、確認キー2081が生成されてよい。第2のピア2075は、サーバ2050に情報を送ってよく、この情報は、確認キー2081、配布コード2056、及びログイン方法2000に必要な他の情報の任意の組合せを含んでよい。 Login method 2000 may further include verifying one or more verification keys on a local database. At least one second peer 2075 may receive information from the server 2050, as illustrated in FIG. In some embodiments, the information may include verification key 2062 and distribution code 2056 . In other embodiments, the information may include verification key 2062 , distribution code 2056 and verification salt 2063 . Second peer 2075 may use any combination of distribution code 2056 and verification key 2062 to locate and verify that the corresponding distribution key may be stored in memory 2078 of second peer 2075 . You can A stored distribution key may be used to generate a verification key 2081 . In some embodiments, stored distribution key 2053 and verification salt 2063 received from server 2050 may be used to generate verification key 2081 . Second peer 2075 may send information to server 2050 , which may include verification key 2081 , distribution code 2056 , and any combination of other information required by login method 2000 .

検証プロセスを有効にすることは、第2のピア2075から情報を受け取り、受け取った情報をサーバ2050のデータベース2057に格納されている情報と比較することを含んでよい。幾つかの実施形態では、サーバ2050は、第2のピア2075から情報を受け取る。受け取った情報は、確認キー2081と、結果と、配布コード2056と、サーバ2050による情報の保存又は比較に、又は第2のピア2075の特定に必要な他の情報とを含んでよい。 Enabling the verification process may include receiving information from second peer 2075 and comparing the received information to information stored in database 2057 of server 2050 . In some embodiments, server 2050 receives information from second peer 2075 . The information received may include verification keys 2081 , results, distribution codes 2056 and other information necessary for storage or comparison of information by server 2050 or for identifying second peer 2075 .

図21に示されているように、1又は複数のログインキーを生成すること2100は、幾つかの実施形態では、第1のピア2101で行われてよい。第1のピア2101は、任意のIoTデバイス、即ち、ネットワークに接続し、データを送る能力を有する任意のデバイスであってよく、携帯電話、パーソナルアシスタント、ボタン、ホームセキュリティシステム、家電製品などを含むがこれらに限定されない。第1のピア2101は、サーバ2150からログインを要求してよい。幾つかの実施形態では、サーバ2150の送受信器は、ログインデータを第1のピア2101に送ってよい。ログインデータは、第1のピア2101の送受信器2141で受け取られてよく、第1のピア2101でログイン方法を開始するために必要なデータを含んでよい。幾つかの実施形態では、ログインデータは、ログインソルト2124を構成してよい。他の実施形態では、ログインデータは、ログインソルト2124と、ユーザ入力2104の前駆体として機能する付加的なデータとを含んでよい。ログインソルト2124は、任意の長さの1又は複数のキャラクタストリングを含んでよい。 As shown in FIG. 21, generating 2100 one or more login keys may be performed at a first peer 2101 in some embodiments. The first peer 2101 can be any IoT device, i.e. any device that has the ability to connect to a network and send data, including mobile phones, personal assistants, buttons, home security systems, home appliances, etc. are not limited to these. First peer 2101 may request a login from server 2150 . In some embodiments, the transceiver of server 2150 may send login data to first peer 2101 . The login data may be received at the transceiver 2141 of the first peer 2101 and may include data necessary to initiate the login method at the first peer 2101 . In some embodiments, login data may constitute login salt 2124 . In other embodiments, login data may include login salt 2124 and additional data that serve as precursors to user input 2104 . Login salt 2124 may include one or more character strings of any length.

また、図21に示すように、ユーザ入力2104は、情報の離散的なユニットを構成する任意の形態のユーザ生成データを含んでよい。幾つかの実施形態では、ユーザ入力2104は、例えば、指紋、虹彩などの生体情報データを含んでいる。それらの実施形態では、生体情報データは、識別子を含む情報の離散的なユニットに分割されてよい。識別子は、固有の選択コード2109に変換されてよい。 Also, as shown in FIG. 21, user input 2104 may include any form of user-generated data that constitutes discrete units of information. In some embodiments, user input 2104 includes biometric data, eg, fingerprint, iris, and the like. In those embodiments, the biometric data may be divided into discrete units of information containing identifiers. Identifiers may be converted to unique selection codes 2109 .

他の実施形態では、ユーザ入力2104は、1又は複数の選択オブジェクトを含んでよい。1又は複数の選択オブジェクトは、画像、アイコン、トークン、ボタン、或いは、ユーザが選択オブジェクトのグループから1又は複数の選択オブジェクトを選択することを可能にする任意の他のオブジェクトであってよい。選択オブジェクトは、第1のピア2101の表示装置2143に表示されてよく、任意の数のキャラクタ、例えば、文字、数字、記号を含む選択コード2109に変換されてよい。特定の実施形態では、選択オブジェクトは画像であって、サーバ2150から受け取られてよい。各画像には固有の選択コード2109が割り当てられており、選択オブジェクトの組合せのユーザによる選択は、選択コード2109の組合せを含むユーザ入力2104を生成し、当該組合せは、ユーザによる選択オブジェクトの選択に固有である。 In other embodiments, user input 2104 may include one or more selection objects. The one or more selection objects may be images, icons, tokens, buttons, or any other objects that allow the user to select one or more selection objects from a group of selection objects. The selection object may be displayed on the display device 2143 of the first peer 2101 and may be converted to a selection code 2109 including any number of characters, eg, letters, numbers, symbols. In particular embodiments, the selection object is an image and may be received from server 2150 . Each image is assigned a unique selection code 2109, and user selection of a combination of selection objects generates user input 2104 that includes the combination of selection codes 2109, which combination corresponds to the user's selection of the selection object. Unique.

幾つかの実施形態では、ユーザは、選択コードの数がnに等しい2つ以上の選択コード2109を含むユーザ入力2104を生成してよい。選択コード2109は、データマニピュレータ2144によって第1のグループ2110と第2のグループ2111とに分割されてよい。ここで、第1のグループ2110は、1乃至n-1個の選択コード2109を含んでおり、第2のグループ2111は、1乃至n-1個の選択コード2109を含んでいる。第1のグループ2110及び第2のグループ2111の各選択コード2109は、データ変換器2145によって1又は複数のキャラクタストリングに個別に変換されてよく2112、その結果、変換された選択コードの第1のグループ2113と変換された選択コードの第2のグループ2115とが得られる。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。変換された選択コードの第1のグループ2113が使用されて、クライアントプレキー2114が生成されてよい。変換された選択コードの第1のグループ2113を構成する個々の変換された選択コードは、データマニピュレータ2144によって結合されて、クライアントプレキー2114を構成する1又は複数のキャラクタストリングが形成されてよい。幾つかの実施形態では、個々の変換された選択コードは、ユニットの連結によって結合されてよい。連結は、変換された個々の選択コードをユニットとして使用することを含んでよく、変換された個々の選択コードの一部をユニットとして使用することを含んでよい。クライアントプレキー2114は、データ変換器2145によってクライアントキー2106に変換されてよい2112。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。クライアントキー2106は、処理マイグレータ2147によって、第1のピア2101のメモリユニット2108に格納されてよい。ログイン方法によって生成されたクライアントキー2106は、処理検証器2147によって、アイデンティティの登録処理の間に第1のピア2101のメモリ2108に格納されたクライアントキー2106と比較されてよい。 In some embodiments, a user may generate user input 2104 that includes two or more selection codes 2109 with the number of selection codes equal to n. Selection codes 2109 may be divided into first group 2110 and second group 2111 by data manipulator 2144 . Here, the first group 2110 includes 1 to n−1 selection codes 2109 and the second group 2111 includes 1 to n−1 selection codes 2109 . Each selection code 2109 of the first group 2110 and the second group 2111 may be individually converted 2112 into one or more character strings by the data converter 2145, such that the first of the converted selection codes A group 2113 and a second group 2115 of transformed selection codes are obtained. In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods. A first group 2113 of transformed selection codes may be used to generate a client pre-key 2114 . The individual transformed selection codes that make up the first group of transformed selection codes 2113 may be combined by data manipulator 2144 to form one or more character strings that make up client prekey 2114 . In some embodiments, individual transformed selection codes may be combined by concatenation of units. Concatenation may include using the transformed individual selection codes as units, and may include using portions of the transformed individual selection codes as units. Client pre-key 2114 may be converted 2112 to client key 2106 by data converter 2145 . In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods. Client key 2106 may be stored in memory unit 2108 of first peer 2101 by process migrator 2147 . The client key 2106 generated by the login method may be compared by the process verifier 2147 with the client key 2106 stored in the memory 2108 of the first peer 2101 during the identity registration process.

変換された選択コードの第2のグループ2115が使用されて、サーバプレキー2116が生成されてよい。変換された選択コードの第2のグループ2115を構成する個々の変換された選択コードは、データマニピュレータ2144によって結合されて、サーバプレキー2116を構成する1又は複数のキャラクタストリングが形成されてよい。幾つかの実施形態では、個々の変換された選択コードは、ユニットの連結によって結合されてよい。連結は、変換された個々の選択コードをユニットとして使用することを含んでよく、変換された個々の選択コードの一部をユニットとして使用することを含んでよい。サーバプレキー2116は、データ変換器2145によってサーバキー2105に変換されてよい2112。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 A second group 2115 of transformed selection codes may be used to generate a server pre-key 2116 . The individual transformed selection codes that make up the second group of transformed selection codes 2115 may be combined by data manipulator 2144 to form one or more character strings that make up server prekey 2116 . In some embodiments, individual transformed selection codes may be combined by concatenation of units. Concatenation may include using the transformed individual selection codes as units, and may include using portions of the transformed individual selection codes as units. Server pre-key 2116 may be converted 2112 to server key 2105 by data converter 2145 . In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods.

幾つかの実施形態では、ログインキー2199が生成されてよい。クライアントキー2106及びサーバキー2105の各々は、データマニピュレータ2144によって、クライアントキーの第1の部分2117、クライアントキーの第2の部分2118、サーバキーの第1の部分2119、及びサーバキーの第2の部分2120に分割されてよい。クライアントキーの第1の部分2117及びクライアントキーの第2の部分2118は、クライアントキー2106を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、クライアントキーの第1の部分2117及びクライアントキーの第2の部分2118の各々は、クライアントキー2106の半分であってよい。サーバキーの第1の部分2119及びサーバキーの第2の部分2120は、サーバキー2105を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、サーバキーの第1の部分2119及びサーバキーの第2の部分2120の各々は、サーバキー2105を構成するキャラクタの半分であってよい。クライアントキーの第1の部分2117、クライアントキーの第2の部分2118、サーバキーの第1の部分2119、及びサーバキーの第2の部分2120は、ユニットの連結を介してデータマニピュレータ2144によって結合されて、第1のプレキー2121を構成する1又は複数のキャラクタが形成されてよい。連結は、クライアントキーの第1の部分2117、クライアントキーの第2の部分2118、サーバキーの第1の部分2119、及びサーバキーの第2の部分2120の各々をユニットとして用いることを含んでよく、或いは、クライアントキーの第1の部分2117、クライアントキーの第2の部分2118、サーバキーの第1の部分2119、及びサーバキーの第2の部分2120のピースをユニットとして用いることを含んでよい。 In some embodiments, a login key 2199 may be generated. Each of client key 2106 and server key 2105 is manipulated by data manipulator 2144 into client key first portion 2117, client key second portion 2118, server key first portion 2119, and server key second portion. It may be divided into portions 2120 . Client key first portion 2117 and client key second portion 2118 may include different portions of the characters that make up client key 2106 . In particular embodiments, each of client key first portion 2117 and client key second portion 2118 may be one half of client key 2106 . Server key first portion 2119 and server key second portion 2120 may include different portions of the characters that make up server key 2105 . In particular embodiments, each of server key first portion 2119 and server key second portion 2120 may be half of the characters that make up server key 2105 . Client key first portion 2117, client key second portion 2118, server key first portion 2119, and server key second portion 2120 are combined by data manipulator 2144 via concatenation of units. , one or more characters that make up the first pre-key 2121 may be formed. Concatenation may include using each of client key first portion 2117, client key second portion 2118, server key first portion 2119, and server key second portion 2120 as a unit. or, alternatively, using pieces of client key first portion 2117, client key second portion 2118, server key first portion 2119, and server key second portion 2120 as a unit. .

第1のプレキー2121は、データ変換器2145によって、第2のプレキー2122を構成する1又は複数のキャラクタストリングに変換されてよい2112。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第2のプレキー2122が使用されて、登録プレキー2123が生成されてよい。幾つかの実施形態では、第2のプレキー2122とクライアント登録コード2103は、データマニピュレータ2144によって連結されて、登録プレキー2123を構成する1又は複数のキャラクタストリングが形成されてよい。連結は、第2のプレキー2122とクライアント登録コード2103の各々をユニットとして用いることを含んでよく、第2のプレキー2122とクライアント登録コード2103のピースをユニットとして用いることを含んでよい。クライアント登録コード2103は、処理マイグレータ2142によって登録処理中に第1のピア2101のメモリ2108に格納されてよい。登録プレキー2123は、データ変換器2144によって、登録キー2107を構成する1又は複数のキャラクタストリングに変換されてよい2112。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。幾つかの実施形態では、登録キー2107は、図17に示す登録方法1700の間に第1のピア1701によって生成された登録キー1707と同一であってよい。図21を参照すると、登録キー2107が使用されてログインキー2199が生成されてよい。幾つかの実施形態では、登録キー2107とログインソルト2124が使用されて、ログインキー2199が生成されてよい。登録キー2107及びログインソルト2024は、データマニピュレータ2144によって連結されて、ログインプレキー2198を構成する1又は複数のキャラクタストリングが形成されてよい。連結は、登録キー2107とログインソルト2024の各々をユニットとして用いることを含んでよく、登録キー2107とログインソルト2024のピースをユニットとして用いることを含んでよい。ログインプレキー2198が使用されて、ログインキー2199が生成されてよい。幾つかの実施形態では、ログインプレキー2198は、データ変換器2145によってログインキー2199に変換されてよい2112。幾つかの実施形態では、変換2112は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2112は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換2112は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 The first pre-key 2121 may be converted 2112 by a data converter 2145 into one or more character strings that make up the second pre-key 2122 . In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods. A second pre-key 2122 may be used to generate a registration pre-key 2123 . In some embodiments, second prekey 2122 and client registration code 2103 may be concatenated by data manipulator 2144 to form one or more character strings that make up registration prekey 2123 . The concatenation may include using each of the second pre-key 2122 and the client registration code 2103 as a unit, and may include using pieces of the second pre-key 2122 and the client registration code 2103 as a unit. Client registration code 2103 may be stored in memory 2108 of first peer 2101 during the registration process by process migrator 2142 . Registration pre-key 2123 may be converted 2112 by data converter 2144 into one or more character strings that make up registration key 2107 . In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods. In some embodiments, registration key 2107 may be the same registration key 1707 generated by first peer 1701 during registration method 1700 shown in FIG. Referring to FIG. 21, registration key 2107 may be used to generate login key 2199 . In some embodiments, registration key 2107 and login salt 2124 may be used to generate login key 2199 . Registration key 2107 and login salt 2024 may be concatenated by data manipulator 2144 to form one or more character strings that make up login prekey 2198 . Concatenation may include using each of the registration key 2107 and the login salt 2024 as a unit, and may include using pieces of the registration key 2107 and the login salt 2024 as a unit. A login pre-key 2198 may be used to generate a login key 2199 . In some embodiments, a login pre-key 2198 may be converted 2112 by a data converter 2145 into a login key 2199 . In some embodiments, conversion 2112 may include using a hashing algorithm. In other embodiments, conversion 2112 may include using cryptographic means. In still other embodiments, transformation 2112 may include using a combination of hashing algorithms and encryption methods.

第1のピア2101は、サーバ2150に情報を送ってよい。幾つかの実施形態では、第1のピア2101の送受信器2141は、ログインキー2199及びサーバキー2105をサーバ2150に送ってよい。他の実施形態によれば、第1のピア2101の送受信器2141は、ログインキー2199と、サーバキー2105と、ログイン方法に必要な他の情報とをサーバ2150に送ってよい。 First peer 2101 may send information to server 2150 . In some embodiments, transceiver 2141 of first peer 2101 may send login key 2199 and server key 2105 to server 2150 . According to other embodiments, the transceiver 2141 of the first peer 2101 may send the login key 2199, the server key 2105 and other information required for the login method to the server 2150.

ログイン方法は、1又は複数の検証キーを配布することを更に含んでよい。図22に図示されているように、サーバ2250は、第1のピア2201から情報を受け取ってよい。幾つかの実施形態では、サーバ2250の送受信器2241は、第1のピア2201からログインキー2299を受け取ってよい。サーバ2250の送受信器2241は、第1のピア2201からサーバキー2205を受け取ってよい。サーバ2250の送受信器2241は、ログインキー2299及びサーバキー2205の両方を第1のピア2201から受け取ってよい。幾つかの実施形態では、サーバ2250は、比較ログインキー2260を生成してよい。比較ログインキー2260は、サーバ2250のデータベース2257に格納されている登録キー2207を登録方法中に使用することで生成されてよい。サーバ2250の処理マイグレータ2242は、登録キー2207及びログインソルト2224をデータベース2257からマイグレートしてよい。サーバ2250のデータマニピュレータ2244は、連結により登録キー2207とログインソルト2224を結合して、比較ログインプレキーを生成してよい。比較ログインプレキーは、データ変換器2245によって比較ログインキー2260に変換されてよい2112。幾つかの実施形態では、変換2212は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2212は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2212は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。サーバ2250の処理検証器2247は、第1のピア2201が送ったログインキー2299と比較ログインキー2260とを比較して、第1のピア2201と通信してもよいか否かを判定してよい。 The login method may further include distributing one or more verification keys. As illustrated in FIG. 22, server 2250 may receive information from first peer 2201 . In some embodiments, transceiver 2241 of server 2250 may receive login key 2299 from first peer 2201 . Transceiver 2241 of server 2250 may receive server key 2205 from first peer 2201 . Transceiver 2241 of server 2250 may receive both login key 2299 and server key 2205 from first peer 2201 . In some embodiments, server 2250 may generate comparison login key 2260 . Comparison login key 2260 may be generated by using registration key 2207 stored in database 2257 of server 2250 during the registration method. Processing migrator 2242 of server 2250 may migrate registration key 2207 and login salt 2224 from database 2257 . Data manipulator 2244 of server 2250 may combine registration key 2207 and login salt 2224 by concatenation to generate a comparison login pre-key. A comparison login pre-key may be converted 2112 by a data converter 2245 to a comparison login key 2260 . In some embodiments, conversion 2212 may include using a hashing algorithm. In other embodiments, transform 2212 may include using an encryption method. In still other embodiments, transformation 2212 may include using a combination of hashing algorithms and encryption methods. The transaction verifier 2247 of the server 2250 may compare the login key 2299 sent by the first peer 2201 with the comparison login key 2260 to determine whether communication with the first peer 2201 is allowed. .

ログインキー2299は、処理マイグレータ2242によってサーバ2250のデータベース2257に格納されてよい。サーバは、データマイグレータ2242を使用して、以前に格納されたピアリスト2258にアクセスしてよい。格納されたピアリスト2258は、例えば第1のピア2201、第2のピア2275のようなネットワーク上のピアデバイスのリストを含んでよい。ピアリストはまた、受信者コード2252及び配布コード2256を含んでよく、これらは、任意の長さの1又は複数のキャラクタストリングを含んでよい。更に、サーバ2250の処理生成器2246は、送信者コード2254を生成してよく、これもまた、任意の長さの1又は複数のキャラクタストリングを含んでよい。 Login key 2299 may be stored in database 2257 of server 2250 by process migrator 2242 . The server may use data migrator 2242 to access previously stored peer list 2258 . Stored peer list 2258 may include a list of peer devices on the network, eg, first peer 2201 , second peer 2275 . The peer list may also include recipient code 2252 and distribution code 2256, which may include one or more character strings of arbitrary length. Additionally, the processing generator 2246 of the server 2250 may generate a sender code 2254, which may also include one or more character strings of arbitrary length.

サーバ2250のデータマニピュレータ2244は、サーバキー2205、受信者コード2252、送信者コード2254、配布コード2256、又はログインキー2299の任意の組合せを組み合わせて、配布プレキー2259を生成してもよい。幾つかの実施形態では、配布プレキー2259は、サーバキー2205、送信者コード2254、及び受信者コード2252を含んでおり、これらは、ユニットの連結によって結合されて、1又は複数のキャラクタストリングが形成されてよい。連結は、サーバキー2205、送信者コード2254、受信者コード2252の各々をユニットとして用いることを含んでよく、サーバキー2205、送信者コード2254、受信者コード2252のパーツをユニットとして用いることを含んでよい。配布プレキー2259は、データ変換器2245によって、配布キー2253を構成する1又は複数のキャラクタストリングに変換されてよい2112。幾つかの実施形態では、変換2212は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2212は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2212は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。配布キー2253は、サーバ2250のデータベース2257に格納されてよい。検証プレキー2261は、サーバ2250のデータマニピュレータ2244によって生成されてよい。幾つかの実施形態では、配布キー2253と、サーバ2250の処理生成器2246によって生成され、任意の数のキャラクタを含んでいる検証ソルト2263とが連結されて、検証プレキー2261が生成されてよい。検証プレキー2261は、データ変換器2245によって検証キー2262に変換されてよい2212。幾つかの実施形態では、変換2212は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2212は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2212は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 Data manipulator 2244 of server 2250 may combine any combination of server key 2205 , recipient code 2252 , sender code 2254 , distribution code 2256 , or login key 2299 to generate distribution pre-key 2259 . In some embodiments, distribution pre-key 2259 includes server key 2205, sender code 2254, and recipient code 2252, which are combined by concatenation of units to form one or more character strings. may be Concatenation may include using each of server key 2205, sender code 2254, and recipient code 2252 as a unit, including using parts of server key 2205, sender code 2254, and recipient code 2252 as a unit. OK. Distribution pre-key 2259 may be converted 2112 by data converter 2245 into one or more character strings that make up distribution key 2253 . In some embodiments, conversion 2212 may include using a hashing algorithm. In other embodiments, transform 2212 may include using an encryption method. In still other embodiments, transformation 2212 may include using a combination of hashing algorithms and encryption methods. Distribution key 2253 may be stored in database 2257 of server 2250 . Validation pre-key 2261 may be generated by data manipulator 2244 of server 2250 . In some embodiments, distribution key 2253 and verification salt 2263 generated by process generator 2246 of server 2250 and containing any number of characters may be concatenated to generate verification pre-key 2261 . A verification pre-key 2261 may be converted 2212 by a data converter 2245 into a verification key 2262 . In some embodiments, conversion 2212 may include using a hashing algorithm. In other embodiments, transform 2212 may include using an encryption method. In still other embodiments, transformation 2212 may include using a combination of hashing algorithms and encryption methods.

サーバ2250は、第2のピア2275に情報を送るように構成されてよい。幾つかの実施形態では、サーバ2250の送受信器2241は、検証キー2262及び配布コード2256を第2のピア2275に送ってよい。他の実施形態では、サーバ2250の送受信器2241は、検証キー2262、配布コード2256、検証ソルト2263、及びログイン方法2000に必要な他の情報を第2のピア2275に送ってよい。幾つかの実施形態では、サーバ2250は、配布キー2253、検証ソルト2263、及び配布コード2256の任意の組合せを第2のピア2275に送ってよい。 Server 2250 may be configured to send information to second peer 2275 . In some embodiments, transceiver 2241 of server 2250 may send verification key 2262 and distribution code 2256 to second peer 2275 . In other embodiments, transceiver 2241 of server 2250 may send verification key 2262 , distribution code 2256 , verification salt 2263 , and other information required for login method 2000 to second peer 2275 . In some embodiments, server 2250 may send any combination of distribution key 2253 , verification salt 2263 , and distribution code 2256 to second peer 2275 .

サーバ2250は、1又は複数の検証キー2262を生成し、1又は複数の第2のピア2275にデータを送ってよい。幾つかの実施形態では、ピアリスト2258は、ネットワーク上の1又は複数の第2のピア2275のリストを含んでよい。第2のピアは、ネットワーク上にあって、サーバ2250からデータを送受信することができる任意のIoTデバイス、サーバ、又は任意のデバイスを含んでよい。サーバ2250は、各第2のピア2275に対して固有の配布コード2256を生成してよい。サーバ2250は、各第2のピア2275に対して固有の受信者コード2252を生成してよい。これらの実施形態では、各第2のピア2275のために生成される検証キー2262は、他の第2のピア2275のために生成される検証キー2262とは異なってよいが、第1のピア2201から受け取った基礎となるサーバキー2205は同一であってよい。検証キー2262は、サーバ2250のデータベース2257に格納されても、格納されていなくてもよい。 Server 2250 may generate one or more verification keys 2262 and send data to one or more second peers 2275 . In some embodiments, peer list 2258 may include a list of one or more secondary peers 2275 on the network. A second peer may include any IoT device, server, or any device on the network that can send and receive data from server 2250 . Server 2250 may generate a unique distribution code 2256 for each second peer 2275 . Server 2250 may generate a unique recipient code 2252 for each second peer 2275 . In these embodiments, the verification key 2262 generated for each second peer 2275 may be different than the verification keys 2262 generated for other second peers 2275, but the first peer The underlying server key 2205 received from 2201 may be the same. Verification key 2262 may or may not be stored in database 2257 of server 2250 .

ここで図23を参照すると、ログイン方法は、ローカルデータベース上の1又は複数のログインキーを検証することを含んでよい。幾つかの実施形態では、第2のピア2375は、情報を受け取ってサーバ2350に送るように構成されてよい。第2のピア2375の送受信器2341は、サーバ2350から検証キー2362を受け取ってよい。第2のピア2375の送受信器2341は、サーバ2350から配布コード2356を受け取ってよい。幾つかの実施形態では、第2のピア2375の送受信器2341は、検証キー2362、配布コード2356、及び検証ソルト2363をサーバ2350から受け取ってよい。配布コード2356は、第2のピア2375のメモリ2378に格納されている全ての配布コード2356にわたって、処理検証器2347によって比較されてよい。サーバ2350から受け取った配布コード2356が、第2のピア2375のメモリ2378に格納されている配布コード2356と同一である場合、第2のピア2375の処理生成器2346は、肯定的である結果2382を生成してよい。第2のピア2375が受け取った配布コード2356が、第2のピア2375のメモリ2378に格納されている配布コード2356と同一でない場合、第2のピア2375の処理生成器2346は、否定的である結果2382を生成してよい。幾つかの実施形態では、検証キー2362はまた、同一の配布コード2356の場所を確認するために使用される。第2のピア2375が、第2のピア2375のメモリ2378に格納された1又は複数の配布コード2356が、サーバ2350から受け取った配布コード2356と同一であると判定した場合、第2のピア2375の処理マイグレータ2342は、一致する配布コード2356に関連する配布キー2353をメモリ2378から削除してもよい。第2のピア2375のメモリ2378から削除された配布キー2353と検証ソルト2363とがデータマニピュレータ2344で使用されて、連結によって確認プレキー2380が生成されてよい。確認プレキー2380は、データ変換器2345によって確認キー2381に変換されてよい2312。幾つかの実施形態では、変換2312は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2312は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2312は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 Referring now to Figure 23, the login method may include verifying one or more login keys on a local database. In some embodiments, second peer 2375 may be configured to receive and send information to server 2350 . Transceiver 2341 of second peer 2375 may receive verification key 2362 from server 2350 . Transceiver 2341 of second peer 2375 may receive distribution code 2356 from server 2350 . In some embodiments, transceiver 2341 of second peer 2375 may receive verification key 2362 , distribution code 2356 , and verification salt 2363 from server 2350 . Distribution code 2356 may be compared by transaction verifier 2347 across all distribution codes 2356 stored in memory 2378 of second peer 2375 . If the distribution code 2356 received from the server 2350 is identical to the distribution code 2356 stored in the memory 2378 of the second peer 2375, the process generator 2346 of the second peer 2375 returns a positive result 2382 can be generated. If the distribution code 2356 received by the second peer 2375 is not identical to the distribution code 2356 stored in the memory 2378 of the second peer 2375, the processing generator 2346 of the second peer 2375 is negative. A result 2382 may be generated. In some embodiments, verification key 2362 is also used to verify the location of the same distribution code 2356 . If second peer 2375 determines that one or more distribution codes 2356 stored in memory 2378 of second peer 2375 are identical to distribution code 2356 received from server 2350, second peer 2375 Migrator 2342 may delete distribution key 2353 associated with matching distribution code 2356 from memory 2378 . The distribution key 2353 and verification salt 2363 deleted from the memory 2378 of the second peer 2375 may be used in the data manipulator 2344 to generate the verification pre-key 2380 by concatenation. The verification pre-key 2380 may be converted 2312 by a data converter 2345 into a verification key 2381 . In some embodiments, conversion 2312 may include using a hashing algorithm. In other embodiments, conversion 2312 may include using an encryption method. In still other embodiments, transformation 2312 may include using a combination of hashing algorithms and encryption methods.

幾つかの実施形態では、第2のピア2375は、サーバ2350から配布キーと検証ソルト2363を受け取ってよい。第2のピア2375は、配布キー及び検証ソルト2363を連結して検証プレキーを生成することで、第2のピア2375にて検証キー2362を生成してよい。検証プレキーは、検証キー2362に変換されてよい2312。 In some embodiments, second peer 2375 may receive a distribution key and verification salt 2363 from server 2350 . Second peer 2375 may generate verification key 2362 at second peer 2375 by concatenating distribution key and verification salt 2363 to generate a verification pre-key. A verification pre-key may be converted 2312 to a verification key 2362 .

幾つかの実施形態では、第2のピア2375は、比較検証キー2383を生成してよい。第2のピア2375は、サーバ2350から受け取った検証ソルト2363と格納されている配布キー2353とを連結することにより比較検証プレキーを生成することで、比較検証キー2383を生成してよい。比較検証プレキーは、比較検証キーに変換2312されてよい。幾つかの実施形態では、比較検証キー2383は、受け取った検証キー2362と処理検証器2347によって比較されて、結果2382が生成されてよい。幾つかの実施形態では、結果2382は、検証キー2362と比較検証キー2383とを比較して生成された結果と、受け取られた配布コード2356と格納されている配布コード2356とを比較して生成された結果とを含んでよい。確認キー2381は、検証ソルト2363と、第2のピア2375のメモリ2378から取得された預託キー2377から生成されてよい。預託キー2377と検証ソルト2363は、データマニピュレータ2344によって連結されて確認プレキー2380が生成されてよい。確認プレキー2380は、確認キー2381に変換2312されてよい。確認キー2381、配布コード2356、及び結果2382の任意の組合せは、第2のピア2375からサーバ2350に送られてよい。 In some embodiments, second peer 2375 may generate comparison verification key 2383 . Second peer 2375 may generate comparison verification key 2383 by concatenating verification salt 2363 received from server 2350 and stored distribution key 2353 to generate a comparison verification pre-key. The comparison verification pre-key may be converted 2312 to a comparison verification key. In some embodiments, comparison verification key 2383 may be compared with received verification key 2362 by process verifier 2347 to produce result 2382 . In some embodiments, the result 2382 is generated by comparing the received distribution code 2356 with the stored distribution code 2356 with the result generated by comparing the verification key 2362 and the comparison verification key 2383 . and results obtained. Confirmation key 2381 may be generated from verification salt 2363 and escrow key 2377 obtained from memory 2378 of second peer 2375 . Escrow key 2377 and verification salt 2363 may be concatenated by data manipulator 2344 to generate verification pre-key 2380 . A confirmation pre-key 2380 may be converted 2312 to a confirmation key 2381 . Any combination of verification key 2381 , distribution code 2356 and result 2382 may be sent from second peer 2375 to server 2350 .

第2のピア2375は、サーバ2350にデータを送るように構成されてよい。幾つかの実施形態では、第2のピア2375の送受信器2341は、結果2382、配布コード2356、及び確認キー2381の任意の組合せをサーバ2350に送ってよい。幾つかの実施形態では、第2のピア2375は、トランザクションに関連付けられている全てのデータを削除するように構成されてよい。特定の実施形態では、第2のピア2375は、第2のピア2375のメモリ2378又は第2のピア2375のプロセッサから、配布コード2356、預託キー2377、配布キー2353、検証キー2362、検証ソルト2326、確認プレキー2380、及び確認キー2381の任意の組合せを削除してよい。幾つかの実施形態では、データの削除は、サーバ2350へのデータの送信と同時に起こってよい。他の実施形態では、データの削除は、サーバ2350にデータを送った後に起こってよい。 A second peer 2375 may be configured to send data to the server 2350 . In some embodiments, transceiver 2341 of second peer 2375 may send any combination of result 2382 , distribution code 2356 , and verification key 2381 to server 2350 . In some embodiments, second peer 2375 may be configured to delete all data associated with the transaction. In particular embodiments, second peer 2375 retrieves distribution code 2356, escrow key 2377, distribution key 2353, verification key 2362, verification salt 2326 from memory 2378 of second peer 2375 or processor of second peer 2375. , confirmation pre-key 2380, and confirmation key 2381 may be omitted. In some embodiments, deletion of data may occur concurrently with transmission of data to server 2350 . In other embodiments, deletion of data may occur after sending the data to server 2350 .

ここで図24を参照すると、ログイン方法は、検証プロセス2400を有効にすることを更に含んでよい。サーバ2450は、1又は複数の第2のピア2475からデータを受け取るように構成されてよい。幾つかの実施形態では、サーバ2450の送受信器2441は、確認キー2481、結果2482、及び配布コード2456の任意の組合せを受け取ってよい。サーバ2450は、第2のピア2475から受け取った結果2482を承認してよい。結果が肯定的である場合、サーバ2450の処理検証器2447は、第2のピア2475から受け取った配布コード2456を、サーバ2450のデータベース2457に格納されている全て又は一部の配布コード2456と比較してよい。サーバ2450のデータベース2457に格納されている配布コード2456が第2のピア2475から受け取った配布コード2456と同一である場合、その後、サーバ2450の処理マイグレータ2442は、検証ソルト2463と、配布コード2456に関連付けられてサーバ2450のデータベース2457に格納されている可能性のある配布キー2453との任意の組合せを取得してよい。幾つかの実施形態では、取得された配布キー2453は、登録プロセス中に格納された配布キー2453であってもよい。取得された検証ソルト2463と取得された配布キー2453とは、データマニピュレータ2444によって使用されて、検証ソルト2463と配布キー2453とを連結して検証プレキー2461が生成されてよい。検証プレキー2461は、データ変換器2445によって検証キー2462に変換2412されてよい。幾つかの実施形態では、変換2412は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2412は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2412は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。 Referring now to FIG. 24, the login method may further include enabling verification process 2400 . Server 2450 may be configured to receive data from one or more secondary peers 2475 . In some embodiments, transceiver 2441 of server 2450 may receive any combination of verification key 2481 , result 2482 , and distribution code 2456 . Server 2450 may approve results 2482 received from second peer 2475 . If the result is positive, the processing verifier 2447 of the server 2450 compares the distribution code 2456 received from the second peer 2475 with all or part of the distribution code 2456 stored in the database 2457 of the server 2450. You can If the distribution code 2456 stored in the database 2457 of the server 2450 is identical to the distribution code 2456 received from the second peer 2475, then the processing migrator 2442 of the server 2450 converts the verification salt 2463 and the distribution code 2456 to Any combination with distribution key 2453 that may be associated and stored in database 2457 of server 2450 may be obtained. In some embodiments, the obtained distribution key 2453 may be the distribution key 2453 stored during the registration process. Obtained verification salt 2463 and obtained distribution key 2453 may be used by data manipulator 2444 to concatenate verification salt 2463 and distribution key 2453 to generate verification pre-key 2461 . Verification pre-key 2461 may be converted 2412 to verification key 2462 by data converter 2445 . In some embodiments, conversion 2412 may include using a hashing algorithm. In other embodiments, conversion 2412 may include using an encryption method. In still other embodiments, transformation 2412 may include using a combination of hashing algorithms and encryption methods.

サーバ2450の処理検証器2447は、生成された検証キー2462を第2のピア2475から受け取った確認キー2481と比較し、処理生成器2246が認証結果2464を生成してよい。検証キー2462が第2のピア2475から受け取った確認キー2481と同一である場合、結果は肯定的、例えば認証成功であってよい。検証キー2462が、第2のピア2475から受け取った確認キー2481と同一でない場合、認証結果2464は、否定的、例えば、認証失敗又は脅威であってよい。サーバ2450の処理マイグレータ2442は、認証結果2464をデータベース2457に格納してよい。幾つかの実施形態では、認証結果2464は、登録方法の間に生成された関連する配布キー2453と共に格納される。 Transaction verifier 2447 of server 2450 may compare generated verification key 2462 with verification key 2481 received from second peer 2475 , and transaction generator 2246 may generate authentication result 2464 . If verification key 2462 is identical to confirmation key 2481 received from second peer 2475, the result may be positive, eg, successful authentication. If verification key 2462 is not identical to verification key 2481 received from second peer 2475, authentication result 2464 may be negative, eg, authentication failure or threat. Processing migrator 2442 of server 2450 may store authentication result 2464 in database 2457 . In some embodiments, the authentication result 2464 is stored with the associated distribution key 2453 generated during the enrollment method.

サーバ2450は、新しい配布キー2453を1又は複数の第2のピア2475に送ってよい。図19を参照すると、サーバ1950は、サーバ1950のデータベース1957に新しいピアリスト1958を生成してよい。幾つかの実施形態では、サーバ1950は、新しい受信者コード1952と新しい配布コード1956の任意の組合せを割り当ててよく、新しい受信者コード1952と新しい配布コード1956の任意の組合せを使用して、1又は複数の配布キー1900を配布することと同一であってもよい方法で新しい配布キー1953を生成してよい。サーバ1950は、新たに生成された配布キー1953を、第2のピア1975に送ってよく、第2のピア1975は、以前に配布キー1953を格納していた第2のピア1975とは異なってよい。 Server 2450 may send new distribution key 2453 to one or more second peers 2475 . Referring to FIG. 19, server 1950 may create a new peer list 1958 in database 1957 of server 1950 . In some embodiments, server 1950 may assign any combination of new recipient code 1952 and new distribution code 1956, and use any combination of new recipient code 1952 and new distribution code 1956 to generate one Or a new distribution key 1953 may be generated in a manner that may be identical to distributing multiple distribution keys 1900 . The server 1950 may send the newly generated distribution key 1953 to a second peer 1975 that is different from the second peer 1975 that previously stored the distribution key 1953. good.

ウェブ認証方法は、バーコードを生成することと、1又は複数のキーを生成することと、ウェブセッションを確立することとを含んでよい。更に、ウェブ認証システムは、1又は複数の第1のデバイス、第2のデバイス、第1のサーバ、第2のサーバ、及びインターネットアプリケーションの間での通信を含んでよい。1又は複数の第1のデバイス、第2のデバイス、第1のサーバ、及び第2のサーバは、少なくともプロセッサと送受信器とを含んでよい。1又は複数の第1のデバイス及び1又は複数の第2のデバイスは更に、それぞれのメモリを含んでよい。幾つかの実施形態では、1又は複数の第1のデバイス及び1又は複数の第2のデバイスの各々は、表示装置を含んでよい。1又は複数の第1のデバイス及び1又は複数の第2のデバイスの各々は、バーコードをスキャンするための手段を含んでよい。1又は複数の第1のサーバ及び第2のサーバは、更にデータベースを含んでよい。 A web authentication method may include generating a barcode, generating one or more keys, and establishing a web session. Additionally, the web authentication system may include communication between one or more first devices, second devices, first servers, second servers, and Internet applications. One or more of the first device, second device, first server, and second server may include at least a processor and a transceiver. The one or more first devices and the one or more second devices may further include respective memories. In some embodiments, each of the one or more first devices and the one or more second devices may include a display. Each of the one or more first devices and the one or more second devices may include means for scanning barcodes. One or more of the first and second servers may further include a database.

第1のデバイス、第2のデバイス、第1のサーバ、及び第2のサーバの送信機は、外部ソースと情報を送受信するように構成されてよい。幾つかの実施形態では、第1のデバイスは、第2のデバイス、第1のサーバ、及び第2のサーバの任意の組合せとの間で情報を送受信するように構成されてよい。第1のサーバ及び第2のサーバは、第1のデバイスと第2のデバイスの両方との間で情報を送受信するように構成されてよく、第2のデバイスは、第1のサーバ、第1のデバイス、及び第2のサーバの任意の組合せとの間で情報を送受信するように構成されてよい。第1のデバイス及び第2のデバイスのメモリと、サーバのデータベースとは、情報を格納し、情報の取得を可能にするように構成されてよい。表示装置は、更に、ユーザがディスプレイと対話する、例えば、データの入力、キャラクタの選択、オブジェクトの選択などを行うための手段を含んでよい。インターネットアプリケーションは、第1のサーバ、第2のサーバ、第1のデバイス、及び第2のデバイスの任意の組合せから情報を送信又は受信するように構成されてよい。 The transmitters of the first device, the second device, the first server, and the second server may be configured to transmit information to and receive information from an external source. In some embodiments, a first device may be configured to send and receive information to and from any combination of a second device, a first server, and a second server. The first server and the second server may be configured to send and receive information to and from both the first device and the second device, the second device communicating with the first server, the first and any combination of the second server. The memory of the first and second devices and the database of the server may be configured to store information and enable retrieval of information. The display device may further include means for a user to interact with the display, eg, enter data, select characters, select objects, and the like. The Internet application may be configured to send or receive information from any combination of the first server, second server, first device and second device.

第1のデバイス、第2のデバイス、第1のサーバ、及び第2のサーバのプロセッサは、処理マイグレータ、データマニピュレータ、データ変換器、処理生成器、及び処理検証器を含んでよい。処理マイグレータは、第1のデバイス、第2のデバイス、第1のサーバ、又は第2のサーバ内の1つの構成要素から、第1のデバイス、第2のデバイス、第1のサーバ又は第2のサーバ内の別の構成要素にデータをマイグレートするように構成されてよい。例えば、限定ではないが、処理マイグレータは、第1のデバイスのメモリから第1のデバイスのプロセッサにデータを移動させるように、或いは、第2のデバイスのプロセッサから第2のデバイスの送受信器にデータを移動させるように構成されてよい。データマニピュレータは、データを操作するように構成されていてよく、例えば、結合、分離、分離及び再結合、リオーダなどの処理を行うように構成されていてよい。例えば、限定ではないが、第1のデバイスのデータマニピュレータは、1又は複数のキャラクタストリングを第1の部分と第2の部分に分割するように構成されてよく、サーバのデータマニピュレータは、データの第1の部分とデータの第2の部分とを結合して、1又は複数のキャラクタストリングを生成するように構成されてよい。 The processors of the first device, second device, first server, and second server may include process migrators, data manipulators, data transformers, process generators, and process verifiers. The process migrator migrates the first device, the second device, the first server, or the second device from a component in the first device, the second device, the first server, or the second server. It may be configured to migrate data to another component within the server. For example, without limitation, the processing migrator may move data from the memory of the first device to the processor of the first device, or from the processor of the second device to the transceiver of the second device. may be configured to move the The data manipulator may be configured to manipulate data, for example, to perform operations such as combining, separating, separating and recombining, reordering, and the like. For example, and without limitation, the data manipulator of the first device may be configured to divide the one or more character strings into a first portion and a second portion, and the data manipulator of the server may divide the data into a first portion and a second portion. It may be configured to combine the first portion and the second portion of data to produce one or more character strings.

データ変換器は、第1のキャラクタストリングを第2のキャラクタストリングに変換するように構成されてよく、第1のキャラクタストリング及び第2のキャラクタストリングの各々は、長さ、構成、又は配置のうちの任意の1又は複数が異なってよい。幾つかの実施形態では、データ変換器は、ハッシュアルゴリズムを第1のキャラクタストリングに適用するように構成されてよい。他の実施形態では、データ変換器は、第1のキャラクタストリングに暗号化プロトコルを適用するように構成されてよい。更に他の実施形態では、データ変換器は、第1のキャラクタストリングに復号プロトコルを適用するように構成されてよい。他の実施形態ではまた、データ変換器は、ハッシュアルゴリズム、暗号化プロトコル、復号プロトコル、又はデータ変換の他の既知方法の任意の組合せを、第1のキャラクタストリングに適用して、第2のキャラクタストリングを生成するように構成されてよい。 The data converter may be configured to convert the first character string to a second character string, each of the first character string and the second character string having a length, configuration, or arrangement of any one or more of may be different. In some embodiments, the data converter may be configured to apply a hashing algorithm to the first character string. In other embodiments, the data converter may be configured to apply an encryption protocol to the first character string. In still other embodiments, the data converter may be configured to apply the decoding protocol to the first character string. In other embodiments, the data converter also applies any combination of hashing algorithms, encryption protocols, decryption protocols, or other known methods of data conversion to the first character string to convert the second character string. It may be configured to generate a string.

処理生成器は、データを生成するように構成されてよい。幾つかの実施形態では、データは、任意の長さの1又は複数のキャラクタストリングで構成されてよく、また、バーコードなどで構成されてよい。幾つかの実施形態では、データは、ランダムな方法又は規則的な方法で生成されてよい。処理検証器は、2つ以上のデータを比較して、それらのデータが同一であるか異なるかを判定するように構成されてよい。幾つかの実施形態では、処理検証器と処理生成器は対になって、第1のキャラクタストリングと第2のキャラクタストリングが同一であるかどうかを判定して、第1のキャラクタストリングと第2のキャラクタストリングの同一性に基づいて応答を生成するように構成されてよい。 The process generator may be configured to generate data. In some embodiments, the data may consist of one or more character strings of any length and may consist of barcodes and the like. In some embodiments, data may be generated in a random or systematic manner. The processing verifier may be configured to compare two or more pieces of data to determine if the pieces of data are the same or different. In some embodiments, the action verifier and the action generator are paired to determine if the first character string and the second character string are the same, and to determine whether the first character string and the second character string are identical. may be configured to generate a response based on the identity of the character strings of the .

ウェブ認証方法は、図25に示すように、バーコードを生成することを含んでよい。バーコード2500の生成は、インターネットアプリケーション2590で開始されてよい。幾つかの実施形態では、ユーザは、ログイン要求によってインターネットアプリケーション2590でバーコード2500の生成を開始してよい。第1の合意プロトコルペア2646は、処理生成器2646によって生成されてよい。幾つかの実施形態では、第1の合意プロトコルペア2646は、インターネットアプリケーション2590にて処理生成器2646によって生成されてよい。第1のキー合意プロトコルペア2526は、当技術分野の通常の技術を有する者に普通に知られている任意のキー合意プロトコルペアを含んでよい。幾つかの実施形態では、第1のキー合意プロトコルペア2526は、楕円曲線ディフィーヘルマン(Elliptic-curve Diffie-Hellman)(ECDH)ペアを含んでよい。幾つかの実施形態によれば、インターネットアプリケーション2590は、第1のサーバ2525に情報を送るように構成されてよい。処理マイグレータ2642は、インターネットアプリケーション2590の送受信器2541に情報を転送してよい。インターネットアプリケーション2590は、第1の公開キー2503、第1の秘密キー2504、及びバーコード2505を生成するために必要な他の情報の任意の組合せを送ってよい。 A web authentication method may include generating a barcode, as shown in FIG. Generation of barcode 2500 may be initiated at Internet application 2590 . In some embodiments, a user may initiate generation of barcode 2500 in Internet application 2590 with a login request. First agreed protocol pair 2646 may be generated by process generator 2646 . In some embodiments, first agreed protocol pair 2646 may be generated by process generator 2646 at internet application 2590 . First key agreement protocol pair 2526 may include any key agreement protocol pair commonly known to those of ordinary skill in the art. In some embodiments, the first key agreement protocol pair 2526 may include an Elliptic-curve Diffie-Hellman (ECDH) pair. According to some embodiments, Internet application 2590 may be configured to send information to first server 2525 . Processing migrator 2642 may transfer information to transceiver 2541 of Internet application 2590 . Internet application 2590 may send first public key 2503 , first private key 2504 , and any combination of other information necessary to generate barcode 2505 .

幾つかの実施形態では、第1のサーバ2525は、インターネットアプリケーション2590から情報を受け取るように構成されてよい。第1のサーバ2525の送受信器2541は、第1の公開キー2503、第1の秘密キー2504、及びインターネットアプリケーション2590からバーコード2500を生成するための他の必要な情報の任意の組合せを受け取ってよい。第1のサーバ2525は、ランダムキー2527を生成してよく、ランダムキー2527は、第1のサーバ2525の処理生成器2646によって生成されてよい。ランダムキー2527は、任意の長さの1又は複数のキャラクタストリングを含んでよく、キャラクタは、文字、数字、及び記号を含んでよい。幾つかの実施形態では、バーコード2505が生成されてよい。処理生成器2546は、バーコード前駆体を使用してバーコード2505を生成してよい。バーコード2505は、任意のタイプのバーコード2505を含んでよく、限定ではなく、任意の線形バーコード、2次元バーコード、又は当技術分野の通常の技術を有する者に普通に知られている任意のタイプの読取可能なインディシア(indicia)を含んでいる。幾つかの実施形態では、バーコード2505は、QRコード(登録商標)を含んでよい。バーコード2505は、第1の公開キー2503、第1の秘密キー2504、ランダムキー2527、及びバーコード2500を生成するために必要な他の情報の任意の組合せから生成されてよい。特定の実施形態では、バーコード2505は、第1のサーバ2525のデータマニピュレータ2544によって生成されてよく、また、第1の公開キー2503及びランダムキー2527に基づいてよい。第1のサーバ2525は、インターネットアプリケーション2590に情報を転送するように構成されてよい。幾つかの実施形態では、第1のサーバ2525の送受信器2541は、インターネットアプリケーション2590に情報を送るように構成されてよい。特定の実施形態では、第1のサーバ2525は、バーコード2505をインターネットアプリケーション2590に送ってよい。インターネットアプリケーション2590は、送受信器2541でバーコード2505を受け取ってよく、インターネットアプリケーション2590の表示装置2590にバーコード2505を表示してよい。 In some embodiments, first server 2525 may be configured to receive information from Internet application 2590 . Transceiver 2541 of first server 2525 receives first public key 2503, first private key 2504, and any combination of other necessary information for generating barcode 2500 from Internet application 2590. good. First server 2525 may generate random key 2527 , and random key 2527 may be generated by process generator 2646 of first server 2525 . Random key 2527 may include one or more character strings of any length, where characters may include letters, numbers, and symbols. In some embodiments, a barcode 2505 may be generated. Process generator 2546 may generate barcode 2505 using a barcode precursor. Barcode 2505 may comprise any type of barcode 2505, including without limitation, any linear barcode, two-dimensional barcode, or commonly known to those of ordinary skill in the art. Contains any type of readable indicia. In some embodiments, barcode 2505 may include a QR code®. Barcode 2505 may be generated from any combination of first public key 2503 , first private key 2504 , random key 2527 and other information necessary to generate barcode 2500 . In particular embodiments, barcode 2505 may be generated by data manipulator 2544 of first server 2525 and may be based on first public key 2503 and random key 2527 . First server 2525 may be configured to forward information to Internet application 2590 . In some embodiments, transceiver 2541 of first server 2525 may be configured to send information to Internet application 2590 . In certain embodiments, first server 2525 may send barcode 2505 to Internet application 2590 . Internet application 2590 may receive barcode 2505 at transceiver 2541 and may display barcode 2505 on display 2590 of Internet application 2590 .

ウェブ認証方法は、図26、図27、及び図28に示すように、1又は複数のキーを生成することを含んでよい。図26を参照すると、1又は複数のキー2600を生成することは、第1のデバイス2650がバーコード2605をスキャンすることを含んでよい。第1のデバイス2650のデータマニピュレータ2644は、バーコード2605内に含まれる情報から、ランダムキー2627、第1の公開キー2603、又はランダムキー2627及び第1の公開キー2603を生成してもよい。データマニピュレータ2644は、1又は複数のキー2600を生成するために、バーコード2605内に含まれる任意の情報を外挿してよい。更に、第1のデバイス2650の処理生成器2646は、第2のキー合意プロトコルペア2651を生成してよい。第2のキー合意プロトコルペア2651は、当技術分野の通常の技術を有する者に普通に知られている任意のキー合意プロトコルペアを含んでよい。幾つかの実施形態では、第2のキー合意プロトコルペア2651は、楕円曲線ディフィーヘルマン(ECDH)ペアを含んでよい。幾つかの実施形態では、第2のキー合意プロトコルペア2651は、第2の秘密キー2652と第2の公開キー2653とを含んでよい。バーコード2605から外挿された(extrapolated)第2の秘密キー2652と第1の公開キー2603は、データマニピュレータ2644によって結合されて、秘密キー2654が生成されてよい。第1のデバイス2650の処理生成器2646は、ソルト2655、初期化ベクトル2656、及び反復数2657の任意の組合せを生成してもよい。特定の実施形態では、第1のデバイス2650の処理生成器2646は、ソルト2655、初期化ベクトル2656、及び反復数2657の各々を生成してよい。ソルト2655、初期化ベクトル2656、及び反復数2657の各々は、任意の長さの1又は複数のキャラクタストリングを含んでよく、キャラクタは、文字、数字、又は記号の任意の組合せを含んでよい。初期化ベクトル2656は、n個に等しいキャラクタ数であってよく、更にIVの第1の部分2658及びIVの第2の部分2659を含んでもよい。IVの第1の部分2658及びIVの第2の部分2659は、それぞれ、1乃至n-1のキャラクタ数であってよい。反復数2657は、nに等しいキャラクタ数であってよく、更にINの第1の部分2660とINの第2の部分2661を含んでよい。INの第1の部分2660及びINの第2の部分2661は、それぞれ、1乃至n-1のキャラクタ数であってよい。データマニピュレータ2644は、IVの第1の部分2658及びIVの第2の部分2659を初期化ベクトル2656から生成してよい。データマニピュレータ2644は、INの第1の部分2660及びINの第2の部分2661を反復数2657から生成してよい。幾つかの実施形態によれば、秘密キー2654、ソルト2655、IVの第1の部分2658、及びINの第1の部分2660は、データ変換器2645によって、マスクされた秘密キー2662、マスクされたソルト2663、マスクされたIVの第1の部分2664、及びマスクされたINの第1の部分2665に夫々変換されてよい。幾つかの実施形態では、初期化ベクトル2656は、データ変換器2645によってマスクされたIVの第1の部分2664に変換されてよい。同様に、反復数2657は、データ変換器2645によって、マスクされたINの第1の部分2665に変換されてよい2612。幾つかの実施形態では、変換2612は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換2612は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換2612は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。幾つかの実施形態では、反復数2657は、INの第1の部分2660及びINの第2の部分2661を生成せず、そのまま残っていてよく、その結果生じるINの第1の部分2660は変換2612されなくてよい。 A web authentication method may include generating one or more keys, as shown in FIGS. Referring to FIG. 26, generating one or more keys 2600 may include first device 2650 scanning barcode 2605 . Data manipulator 2644 of first device 2650 may generate random key 2627 , first public key 2603 , or random key 2627 and first public key 2603 from information contained within barcode 2605 . Data manipulator 2644 may extrapolate any information contained within barcode 2605 to generate one or more keys 2600 . Additionally, the process generator 2646 of the first device 2650 may generate a second key agreement protocol pair 2651 . Second key agreement protocol pair 2651 may include any key agreement protocol pair commonly known to those of ordinary skill in the art. In some embodiments, the second key agreement protocol pair 2651 may include an Elliptic Curve Diffie-Hellman (ECDH) pair. In some embodiments, second key agreement protocol pair 2651 may include second private key 2652 and second public key 2653 . Second private key 2652 and first public key 2603 extrapolated from barcode 2605 may be combined by data manipulator 2644 to generate private key 2654 . The process generator 2646 of the first device 2650 may generate any combination of salt 2655, initialization vector 2656, and number of iterations 2657. In particular embodiments, the process generator 2646 of the first device 2650 may generate each of the salt 2655, the initialization vector 2656, and the number of iterations 2657. Each of salt 2655, initialization vector 2656, and iteration number 2657 may include one or more character strings of any length, and characters may include any combination of letters, numbers, or symbols. The initialization vector 2656 may have a number of characters equal to n and may also include an IV first portion 2658 and an IV second portion 2659 . The first portion 2658 of the IV and the second portion 2659 of the IV may each be from 1 to n−1 characters. The number of repetitions 2657 may be a number of characters equal to n and may further include the first portion 2660 of IN and the second portion 2661 of IN. The IN first portion 2660 and the IN second portion 2661 may each be from 1 to n−1 characters. Data manipulator 2644 may generate IV first portion 2658 and IV second portion 2659 from initialization vector 2656 . Data manipulator 2644 may generate IN first portion 2660 and IN second portion 2661 from iteration number 2657 . According to some embodiments, private key 2654, salt 2655, IV first part 2658, and IN first part 2660 are converted by data transformer 2645 into masked private key 2662, masked The salt 2663, the masked IV first portion 2664, and the masked IN first portion 2665 may be converted respectively. In some embodiments, the initialization vector 2656 may be transformed into a masked IV first portion 2664 by a data transformer 2645 . Similarly, the iteration number 2657 may be converted 2612 by the data converter 2645 into the masked IN first portion 2665 . In some embodiments, conversion 2612 may include using a hashing algorithm. In other embodiments, conversion 2612 may include using an encryption method. In still other embodiments, transformation 2612 may include using a combination of hashing algorithms and encryption methods. In some embodiments, the number of iterations 2657 does not produce the first part of IN 2660 and the second part of IN 2661, but may be left as is, and the resulting first part of IN 2660 is transformed 2612 does not have to be done.

第1のデバイス2650の処理生成器2646は、クライアントキー2666を生成してよい。クライアントキー2666は、任意の長さの1又は複数のキャラクタストリングを含んでよく、キャラクタは、文字、数字、又は記号の任意の組合せを含んでよい。幾つかの実施形態では、クライアントキー2666は、データ変換器2645によって第1のマスクされたクライアントキー2667に変換されてよい2612。他の実施形態では、クライアントキー2667は、データ変換器2645によって、第2のマスクされたクライアントキー2668に変換されてよい2612。更に他の実施形態では、クライアントキー2667は、データ変換器2645によって、第1のマスクされたクライアントキー2667及び第2のマスクされたクライアントキー2668の各々に変換されてよい2612。変換2612は、ハッシュアルゴリズムを使用することを含んでよい。更に、変換2612は、暗号化手段を使用することを含んでよい。幾つかの実施形態では、変換2612は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第1のデバイス2650は、第1のサーバ2625に情報を送るように構成されてよい。幾つかの実施形態では、第1のデバイス2650の送受信器2641は、第1のマスクされたクライアントキー2667、第2のマスクされたクライアントキー2668、マスクされた秘密キー2662、マスクされたソルト2663、マスクされたIVの第1の部分2664、及びマスクされたINの第1の部分2665の任意の組合せを第1のサーバ2625に送るように構成されてよい。幾つかの実施形態では、第1のデバイス2650は、IVの第2の部分2659及びINの第2の部分2661の各々を第1のデバイス2650の表示装置2669に表示してよい。特定の実施形態では、反復数2657は、その全体として第1のデバイス2650の表示装置2669に表示されてよい。 Process generator 2646 of first device 2650 may generate client key 2666 . Client key 2666 may include a string of one or more characters of any length, where characters may include any combination of letters, numbers, or symbols. In some embodiments, client key 2666 may be transformed 2612 by data transformer 2645 into first masked client key 2667 . In other embodiments, the client key 2667 may be transformed 2612 by a data transformer 2645 into a second masked client key 2668 . In yet another embodiment, the client key 2667 may be transformed 2612 by a data transformer 2645 into each of a first masked client key 2667 and a second masked client key 2668 . Transformation 2612 may include using a hashing algorithm. Additionally, transforming 2612 may include using cryptographic means. In some embodiments, conversion 2612 may include using a combination of hashing algorithms and encryption methods. First device 2650 may be configured to send information to first server 2625 . In some embodiments, transceiver 2641 of first device 2650 uses first masked client key 2667, second masked client key 2668, masked private key 2662, masked salt 2663. , masked IV first part 2664 , and masked IN first part 2665 , to the first server 2625 . In some embodiments, the first device 2650 may display each of the IV second portion 2659 and the IN second portion 2661 on the display 2669 of the first device 2650 . In certain embodiments, iteration number 2657 may be displayed in its entirety on display 2669 of first device 2650 .

図27を参照すると、1又は複数のキーを生成することは、第1のサーバ2725が第1のデバイス2750から情報を受け取ることを含んでよい。幾つかの実施形態では、第1のサーバ2725の送受信器2741は、マスクされた秘密キー2762、第2のマスクされたクライアントキー2768、マスクされたソルト2763、マスクされたIVの第1の部分2764、マスクされたINの第1の部分2765、及びマスクされた第1のマスクされたクライアントキー2767の任意の組合せを第1のデバイス2750から受け取ってよい。幾つかの実施形態では、第1のサーバ2725の処理マイグレータ2742は、第1のデバイス2750から受け取ったマスクされた秘密キー2762、第2のマスクされたクライアントキー2768、マスクされたソルト2763、マスクされたIVの第1部分2764、マスクされたINの第1の部分2765、及び第1のマスクされたクライアントキー2767のうちの1又は複数を、第1のサーバ2725のデータベース2729に格納してよい。特定の実施形態によれば、第1のサーバ2725の処理マイグレータ2742は、第1のサーバ2725のデータベース2729に第1のマスクされたクライアントキー2767を格納してもよい。 Referring to FIG. 27, generating one or more keys may include first server 2725 receiving information from first device 2750 . In some embodiments, transceiver 2741 of first server 2725 uses masked private key 2762, second masked client key 2768, masked salt 2763, masked IV first part 2764 , the masked IN first portion 2765 , and the masked first masked client key 2767 may be received from the first device 2750 . In some embodiments, the processing migrator 2742 of the first server 2725 receives the masked private key 2762 from the first device 2750, the second masked client key 2768, the masked salt 2763, the masked one or more of masked IV first portion 2764, masked IN first portion 2765, and first masked client key 2767 are stored in database 2729 of first server 2725; good. According to particular embodiments, processing migrator 2742 of first server 2725 may store first masked client key 2767 in database 2729 of first server 2725 .

第1のサーバ2725は、インターネットアプリケーション2790に情報を送るように構成されてよい。特定の実施形態では、第1のサーバ2725の送受信器2741は、マスクされた秘密キー2762、第2のマスクされたクライアントキー2768、マスクされたソルト2763、マスクされたIVの第1の部分2764、マスクされたINの第1の部分2765、及び第1のマスクされたクライアントキー2767の任意の組合せを第1のサーバ2725に送ってよい。特定の実施形態では、第1のサーバ2725の送受信器2741は、マスクされた秘密キー2762、第2のマスクされたクライアントキー2768、マスクされたソルト2763、マスクされたIVの第1の部分2764、及びマスクされたINの第1の部分2765を第1のサーバ2725に送ってよい。他の実施形態では、第1のサーバ2725の送受信器2741は、マスクされた秘密キー2762、第2のマスクされたクライアントキー2768、マスクされたソルト2763、及びマスクされたIVの第1の部分2764の任意の組合せ(今後、纏めて「受信データ2728」と称される)をインターネットアプリケーション2790に送ってよい。 First server 2725 may be configured to send information to Internet application 2790 . In particular embodiments, the transceiver 2741 of the first server 2725 uses the masked private key 2762, the second masked client key 2768, the masked salt 2763, the masked IV first part 2764. , the masked IN first portion 2765 , and the first masked client key 2767 may be sent to the first server 2725 . In particular embodiments, the transceiver 2741 of the first server 2725 uses the masked private key 2762, the second masked client key 2768, the masked salt 2763, the masked IV first part 2764. , and the first portion 2765 of the masked IN may be sent to the first server 2725 . In another embodiment, the transceiver 2741 of the first server 2725 receives the masked private key 2762, the second masked client key 2768, the masked salt 2763, and the masked first part of the IV. 2764 (hereafter collectively referred to as “received data 2728”) may be sent to Internet application 2790 .

図28に図示されているように、1又は複数のキーを生成すること2800は、インターネットアプリケーション2890の送受信器2841が第1のサーバ2825から、受け取ったデータ2828を受け取ることを含んでよい。第1のデバイス2850は、ユーザ入力2869を含んでよい。このユーザ入力2869は、IVの第2の部分2659及びINの第2の部分2661(図26参照)を含んでよく、それらは夫々キャラクタストリングを含んでよい。ユーザ入力2869は、IVの第1の部分と反復数とを含んでよい。幾つかの実施形態では、ユーザ入力2869は、第1のデバイス2850の表示装置2869に表示されてよい。1又は複数のキーを生成することは、ユーザ入力2869がインターネットアプリケーション2890に入力されることを含んでよい。インターネットアプリケーション2890のデータ変換器2844は、受け取ったデータ2828を、秘密キー2854、INの第1の部分2860、ソルト2855、IVの第1の部分2858、及びクライアントキー2866のうちの1又は複数に変換してよい2812。変換2812は、ハッシュアルゴリズムを使用することを含んでよい。更に、変換2812は、暗号化方法を使用することを含んでよい。変換は、復号方法を使用することを含んでよい。幾つかの実施形態では、変換2812は、ハッシュアルゴリズム、暗号化方法、又は復号方法の任意の組合せを使用することを含んでよい。幾つかの実施形態では、インターネットアプリケーション2890のデータ変換器2844は、ユーザ入力2869と受信データ2828の両方を使用して、秘密キー2854、INの第1の部分2860、ソルト2855、IVの第1の部分2858、及びクライアントキー2866のうちの1又は複数へと受信データを変換2812してよい。処理マイグレータ2842は、インターネットアプリケーション2890の記憶装置2891にクライアントキー2866を格納してよい。インターネットアプリケーション2890のデータ変換器2845は、クライアントキー2866を第3のマスクされたクライアントキー2892に変換してよい2812。幾つかの実施形態では、第3のマスクされたクライアントキー2892は、処理マイグレータ2842によって、インターネットアプリケーション2890の送受信器2841にマイグレートされてよい。インターネットアプリケーション2890の送受信器2841は、第3のマスクされたクライアントキー2892を第1のサーバ2825に送ってもよい。 As illustrated in FIG. 28, generating one or more keys 2800 may include receiving data 2828 received by a transceiver 2841 of an Internet application 2890 from a first server 2825 . First device 2850 may include user input 2869 . This user input 2869 may include an IV second portion 2659 and an IN second portion 2661 (see FIG. 26), each of which may include a character string. User input 2869 may include the first portion of the IV and the number of iterations. In some embodiments, user input 2869 may be displayed on display 2869 of first device 2850 . Generating one or more keys may include user input 2869 being entered into Internet application 2890 . Data converter 2844 of internet application 2890 converts received data 2828 into one or more of private key 2854 , IN first part 2860 , salt 2855 , IV first part 2858 , and client key 2866 . 2812 may be converted. Transformation 2812 may include using a hashing algorithm. Additionally, transforming 2812 may include using an encryption method. Transforming may include using a decoding method. In some embodiments, transformation 2812 may include using any combination of hashing algorithms, encryption methods, or decryption methods. In some embodiments, data transformer 2844 of Internet application 2890 uses both user input 2869 and received data 2828 to convert private key 2854, first part of IN 2860, salt 2855, first part of IV. portion 2858 , and client key 2866 . Process migrator 2842 may store client key 2866 in storage 2891 of internet application 2890 . A data converter 2845 of the Internet application 2890 may convert 2812 the client key 2866 into a third masked client key 2892 . In some embodiments, third masked client key 2892 may be migrated to transceiver 2841 of internet application 2890 by process migrator 2842 . Transceiver 2841 of Internet application 2890 may send third masked client key 2892 to first server 2825 .

ウェブ認証方法は、ウェブセッションを確立することを含んでよい。図29に図示されているように、第1のサーバ2825の送受信器2941は、インターネットアプリケーション2990から、第3のマスクされたクライアントキー2992を受け取ってよい。幾つかの実施形態では、第1のサーバ2825の処理マイグレータ2942は、格納されている第1のマスクされたクライアントキー2967を第1のサーバ2825のデータベース2929から取得してよい。処理検証器2947は、取得した第1のマスクされたクライアントキー2967を、インターネットアプリケーション2990から受け取った第3のマスクされたクライアントキー2992と比較してよい。処理生成器2946は、第1のマスクされたクライアントキー2967と第3のマスクされたクライアントキー2992の同一性に基づいて結果2930を生成してよい。第1のサーバ2825の送受信器2941は、その結果2930を第2のサーバ2980に送ってよい。第2のサーバ2980の送受信器2941は、第1のサーバ2825から結果2930を受け取りウェブトークン2931を生成してよい。ウェブトークン2931は、処理生成器2946によって生成されてよい。幾つかの実施形態では、ウェブトークン2931は、ウェブセッションの確立を承認するための当該分野で知られている任意の手段であってよい。第2のサーバ2980は、生成されたウェブトークン2931を第1のサーバ2825に送ってよい。第1のサーバ2825の送受信器2941は、第2のサーバ2980からウェブトークン2931を受け取り、受け取ったウェブトークン2931をインターネットアプリケーション2990に送ってよい。インターネットアプリケーション2990の送受信器2941は、第1のサーバ2825からウェブトークン2931を受け取ってよい。 A web authentication method may include establishing a web session. As illustrated in FIG. 29, transceiver 2941 of first server 2825 may receive third masked client key 2992 from Internet application 2990 . In some embodiments, processing migrator 2942 of first server 2825 may retrieve stored first masked client key 2967 from database 2929 of first server 2825 . Processing verifier 2947 may compare obtained first masked client key 2967 with third masked client key 2992 received from internet application 2990 . Processing generator 2946 may generate result 2930 based on the identity of first masked client key 2967 and third masked client key 2992 . The transceiver 2941 of the first server 2825 may send the result 2930 to the second server 2980 . A transceiver 2941 of the second server 2980 may receive the result 2930 from the first server 2825 and generate a web token 2931 . Web token 2931 may be generated by transaction generator 2946 . In some embodiments, web token 2931 may be any means known in the art for authorizing the establishment of a web session. Second server 2980 may send generated web token 2931 to first server 2825 . The transceiver 2941 of the first server 2825 may receive the web token 2931 from the second server 2980 and send the received web token 2931 to the Internet application 2990 . Transceiver 2941 of Internet application 2990 may receive web token 2931 from first server 2825 .

幾つかの実施形態では、インターネットアプリケーションは、受け取ったウェブトークンを第2のサーバに送ってよい。第2のサーバは、ウェブブラウザからウェブトークンを受け取り、ウェブセッションを確立してよい。更に、第2のサーバは、第1のサーバに情報を送るように構成されてよい。幾つかの実施形態では、第2のサーバは、インターネットアプリケーションからのウェブトークンの受信に関する情報を送ってよい。インターネットアプリケーションからのウェブトークンの受信に関する情報は、インターネットアプリケーションに関する任意の情報、インターネットアプリケーションのユーザに関する情報、ウェブセッションへのアクセスに関する情報、本明細書に記載されたシステムの任意の構成要素に関する場所的及び/又は時間的な情報を含むが、これらに限定されない。第1のサーバは、ウェブトークンの受信に関する情報を第2のサーバから受け取ってよい。幾つかの実施形態では、第1のサーバは、第1のデバイスに情報を送るように構成されてよく、限定ではないが、ウェブトークンの受信に関する情報が含まれてよい。 In some embodiments, the Internet application may send the received web token to the second server. A second server may receive a web token from a web browser and establish a web session. Additionally, the second server may be configured to send information to the first server. In some embodiments, the second server may send information regarding receipt of web tokens from Internet applications. Information about receipt of web tokens from Internet applications may include any information about Internet applications, information about users of Internet applications, information about access to web sessions, location information about any component of the systems described herein. and/or temporal information. The first server may receive information from the second server regarding receipt of the web token. In some embodiments, the first server may be configured to send information to the first device, which may include, but is not limited to, information regarding receipt of the web token.

<機密データを保護するためのキーの生成>
本明細書の任意の部分に現れて開示されている任意の方法、システム、構成要素、及び/又は実施形態は、本明細書の任意の他の部分に現れている他の任意の方法、システム、構成要素、及び/又は実施形態と組み合わせることができることは理解されるであろう。生体認証は、コード、情報、データなどとして、本明細書に記載された任意の実施形態に組み入れられてよい。
<Generate a key to protect confidential data>
Any method, system, component and/or embodiment disclosed appearing in any part of this specification may be applied to any other method, system, component and/or embodiment appearing in any other part of this specification. , components, and/or embodiments may be combined. Biometrics may be incorporated into any of the embodiments described herein as code, information, data, and the like.

幾つかの実施形態では、機密データ伝送のコンテンツを保護するためにキー(例えば、プライバシーキー)が生成されてよい。例えば、第1のデータが生体情報データや機密連絡などの機密情報を含む場合、制御されたコラプションを使用してキーを生成することで、機密データ(例えば、第1のデータ)を第三者の傍受から保護することができるエレガントな手段を提供することができる。機密データ(例えば、第1のデータ)は、任意の数のデータ型、例えば、限定ではないが、生体情報データ、ドキュメント、テキストメッセージ、電子メールメッセージ、又は他の種類の機密情報を含んでよい。 In some embodiments, a key (eg, privacy key) may be generated to protect the content of sensitive data transmissions. For example, if the first data contains sensitive information, such as biometric data or confidential contact information, using controlled corruption to generate a key would allow the sensitive data (e.g., first data) to be exposed to a third party. can provide an elegant means that can protect against interception of Sensitive data (eg, first data) may include any number of data types, including, but not limited to, biometric data, documents, text messages, email messages, or other types of sensitive information. .

幾つかの実施形態では、制御されたコラプションを使用してキー(例えば、プライバシーキー)を生成するシステム及び方法は、1又は複数のコンピュータデバイス(例えば、第1のコンピュータデバイス、第2のコンピュータデバイス、第3のコンピュータデバイスなど)と、1又は複数のサーバとを備えてよい。1又は複数のサーバは、セキュリティエンジンと、アクションエンジンと、1又は複数のライブラリとを備えてよい。幾つかの実施形態では、1又は複数のサーバは、1又は複数のコンピュータデバイス(例えば、第1のコンピュータデバイス、第2のコンピュータデバイスなど)がモバイルプラットフォームと1又は複数のライブラリとを含むクライアント層を更に備えてよい。コンピュータデバイス(例えば、第1のコンピュータデバイス、第2のコンピュータデバイスなど)は、任意のサーバ又は任意のIoTデバイスであってよく、即ち、ネットワークに接続でき、データを送信する能力を有する任意のデバイス、例えば、限定ではないが、携帯電話、パーソナルアシスタント、ボタン、ホームセキュリティシステム、アプライアンスなどであってよい。 In some embodiments, systems and methods for generating keys (e.g., privacy keys) using controlled corruption are performed on one or more computing devices (e.g., first computing device, second computing device) , a third computing device, etc.) and one or more servers. One or more servers may comprise a security engine, an action engine, and one or more libraries. In some embodiments, one or more servers are client tiers in which one or more computing devices (e.g., first computing device, second computing device, etc.) include a mobile platform and one or more libraries. may be further provided. A computing device (e.g., first computing device, second computing device, etc.) may be any server or any IoT device, i.e., any device capable of connecting to a network and capable of transmitting data. , for example, without limitation, mobile phones, personal assistants, buttons, home security systems, appliances, and the like.

図30は、特定の実施形態に基づいており、制御されたコラプションを使用してキーを生成するための例示的なシステム3000である。システムは、第1のコンピュータデバイス3012を備えるウェブ層3010と、1又は複数のサーバ3022を備える管理層3020と、1又は複数のサーバ3022を備えるクライアント層3030とを備えている。システム3000は、破線で示す1又は複数の通信チャネル(例えば、インターネットゲートウェイ、1又は複数の仮想プライベートネットワーク(VPN)トンネル)を追加的に含んでよい。 FIG. 30 is an exemplary system 3000 for generating keys using controlled corruption, according to certain embodiments. The system comprises a web tier 3010 comprising a first computing device 3012 , a management tier 3020 comprising one or more servers 3022 , and a client tier 3030 comprising one or more servers 3022 . System 3000 may additionally include one or more communication channels (eg, an Internet gateway, one or more virtual private network (VPN) tunnels) indicated by dashed lines.

ウェブ層3010は、管理モバイルライブラリ(AML)及びパートナーモバイルライブラリ(PML)を備える管理モバイルプラットフォーム(AMP)3014と、管理ウェブライブラリ(AWL)及びパートナーウェブライブラリ(PWL)を備える管理ウェブプラットフォーム(AWP)3016とを更に含んでよい。本明細書で使用される場合、任意のライブラリは、限定ではないが、任意のアプリケーション、アプリケーションデータベース、データベース、及び/又はデータを意味し得る。 The web tier 3010 includes the Managed Mobile Platform (AMP) 3014 comprising the Managed Mobile Libraries (AML) and the Partner Mobile Libraries (PML) and the Managed Web Platform (AWP) comprising the Managed Web Libraries (AWL) and the Partner Web Libraries (PWL). 3016 may further be included. Any library, as used herein, can mean, without limitation, any application, application database, database, and/or data.

管理層3020は、管理セキュリティエンジン(ASE)3024と、アクションエンジン(AE)3026と、管理パートナーライブラリ(APL)3028と、管理層に関連する1又は複数のノード3029とを更に備えてよい。1又は複数のノード3029は、1又は複数のデータベース、1又は複数のユーザデバイス(例えば、コンピュータデバイス)、或いは、1又は複数のデータベース及び1又は複数のユーザデバイス(例えば、コンピュータデバイス)の任意の組合せを備えてよい。 The management layer 3020 may further comprise an administrative security engine (ASE) 3024, an action engine (AE) 3026, an administrative partner library (APL) 3028, and one or more nodes 3029 associated with the administrative layer. One or more nodes 3029 may be any of one or more databases, one or more user devices (eg, computing devices), or one or more databases and one or more user devices (eg, computing devices). Combinations may be provided.

クライアント層3030は更に、管理クライアントライブラリ(ACL)3034と、クライアントサーバアプリケーション(CSA)3036とを備えてよい。幾つかの実施形態では、クライアント層3030及び管理層3020は、VPNトンネルを使用して互いに通信してよい。 The client tier 3030 may further comprise administrative client libraries (ACL) 3034 and client server applications (CSA) 3036 . In some embodiments, client tier 3030 and management tier 3020 may communicate with each other using a VPN tunnel.

図31は、特定の実施形態に基づいており、制御されたコラプションを使用してキーを生成するサーバ側(例えば、管理層3020に含まれる)の方法3100の例であって、1又は複数のサーバで第1のコンピュータデバイスを登録すること3140と、1又は複数のサーバで、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを第1のコンピュータデバイスから受け取ること3142と、1又は複数のサーバでチャンクカウント及び公開キーを生成すること3143と、チャンクカウント及び公開キーを第1のコンピュータデバイスに送ること3144と、1又は複数のサーバで、ある数の第1のプライバシーキーと第2のプライバシーコードとを受け取ること3146と、1又は複数のサーバでそれらプライバシーキーに基づいて第2のデータを生成すること3148とを含む。 FIG. 31 is an example of a server-side (eg, included in management layer 3020) method 3100 for generating keys using controlled corruption, according to certain embodiments, including one or more Registering 3140 a first computing device with a server; and receiving 3142 a first privacy code and one or more parameters associated with first data from the first computing device at one or more servers. generating 3143 the chunk count and public key at one or more servers; sending 3144 the chunk count and public key to a first computing device; Receiving 3146 a privacy key and a second privacy code, and generating 3148 second data based on the privacy keys at one or more servers.

コンピュータデバイス(例えば、第1のコンピュータデバイス)を登録すること3140は、コンピュータデバイスに1又は複数のアプリケーションをインストールすることを含んでよく、1又は複数のアプリケーションは、モバイルプラットフォームと1又は複数のライブラリとを含んでよい。幾つかの実施形態では、コンピュータデバイス及び1又は複数のアプリケーションは、プライバシーキーを生成するためのシステムのウェブ層を備えてよい。コンピュータデバイスは、管理層を構成し得る1又は複数のサーバと通信(例えば、ネットワーク通信、インターネット通信、仮想プライベートネットワーク(VPN通信))してよい。様々な通信方法の詳細な説明は、本明細書の先のセクションに見られる。幾つかの実施形態では、ウェブ層に含まれるコンピュータデバイスの登録は、管理層(例えば、ASE)、クライアント層(例えば、CSA)、及びウェブ層(例えば、コンピュータデバイスに含まれるAML及び/又はAWL)間の通信及び情報の送信を開始することを含んでよい。 Registering 3140 a computing device (eg, a first computing device) may include installing one or more applications on the computing device, where the one or more applications include the mobile platform and one or more libraries. and In some embodiments, a computing device and one or more applications may comprise a web layer of systems for generating privacy keys. A computing device may communicate (eg, network communication, Internet communication, virtual private network (VPN communication)) with one or more servers, which may constitute a management layer. A detailed description of various communication methods can be found in earlier sections of this specification. In some embodiments, registration of computing devices included in the web tier includes management tier (eg, ASE), client tier (eg, CSA), and web tier (eg, AML and/or AWL included in the computing device). ) to initiate communication and transmission of information.

管理層に含まれる1又は複数のサーバは、コンピュータデバイス(例えば、第1のコンピュータデバイス)から、第1のプライバシーコードと、第1のデータに関連する1又は複数のパラメータとを受け取る3142。上述したように、第1のデータは、ユーザが送信時に保護することを望む任意のデータ(例えば、生体情報データ、ドキュメント、メッセージなど)を含んでよい。第1のデータに関連する1又は複数のパラメータは第1のデータに関する任意の情報を含んでよく、限定ではないが、デバイス識別子、カメラ識別子、ファイルサイズ、データ形式、アプリケーション識別子、ユーザ識別子、個人識別子、メタデータなどを含んでよい。幾つかの実施形態では、第1のデータに関する1又は複数のパラメータは、ファイルサイズ、(第1のデータの出所を特定し得る)非対称暗号キーペアに関連する公開キーと、第1のデータの操作されたバージョン(例えば、データの圧縮又は「zip」バージョン)とを含んでよい。幾つかの実施形態では、第1のデータに関連するパラメータは、圧縮された(例えば、zip圧縮された)第1のデータのベース64バージョンを含んでよい。プライバシーコードは、コンピュータデバイスのユーザ又は第1のデータの出所に関連する英数字及び/又は記号のキャラクタストリングを含んでよい。特定の実施形態では、プライバシーコードは、コンピュータデバイスのユーザによって選択された個人識別番号(例えば、PIN)を含む第1のユーザ入力である。プライバシーコードはユーザ入力に基づいてよく、例えば、ユーザ入力の暗号化バージョン、ハッシュ化バージョン、切断バージョン、又は並べ替えバージョンなどであってよい。幾つかの実施形態では、プライバシーコードは、システムの構成要素(例えば、サーバ、第1のコンピュータデバイスなど)によって自動的に生成されてよい。幾つかの実施形態では、プライバシーコードは、ユーザのデジタルフットプリントを含んでよく、及び/又はそれに基づいてよい。これらの実施形態では、ユーザのデジタルフットプリントは、ユーザのデジタル習慣に関する情報を含んでよく、限定ではないが、閲覧履歴、閲覧時間/期間/頻度、使用習慣、アプリケーション使用、購入習慣、地理位置情報データなどを含んでよい。 One or more servers included in the management layer receive 3142 a first privacy code and one or more parameters associated with the first data from a computing device (eg, a first computing device). As noted above, the first data may include any data that the user wishes to protect during transmission (eg, biometric data, documents, messages, etc.). The one or more parameters associated with the first data may include any information about the first data, including, but not limited to, device identifier, camera identifier, file size, data format, application identifier, user identifier, personal May include identifiers, metadata, and the like. In some embodiments, the one or more parameters related to the first data are file size, a public key associated with an asymmetric cryptographic key pair (which may identify the origin of the first data), and a manipulation of the first data. zipped versions (eg, compressed or "zipped" versions of the data). In some embodiments, parameters associated with the first data may include a compressed (eg, zip-compressed) base 64 version of the first data. The privacy code may comprise an alphanumeric and/or symbolic character string associated with the user of the computing device or the source of the first data. In certain embodiments, the privacy code is the first user input including a personal identification number (eg, PIN) selected by the user of the computing device. The privacy code may be based on user input, such as an encrypted, hashed, chopped, or sorted version of the user input. In some embodiments, the privacy code may be automatically generated by a component of the system (eg, server, first computing device, etc.). In some embodiments, the privacy code may include and/or be based on the user's digital footprint. In these embodiments, the user's digital footprint may include information about the user's digital habits, including, but not limited to, browsing history, browsing time/duration/frequency, usage habits, application usage, purchase habits, geolocation Information data and the like may be included.

管理層に含まれる1又は複数のサーバは、APLに関連するチャンクカウント、チャンク名、及び公開キーを生成してよい3143。チャンクカウント及びチャンク名は、少なくとも部分的に、第1のデータに関連する受け取ったパラメータに基づいてよい。チャンクカウントは、幾つかの実施形態では、プライバシーキーを生成することを下流プロセスに知らせる整数であってよい。チャンク名は、英数字及び/又は記号による識別子であり、下流プロセスで生成された1又は複数のプライバシーキーと関連付けられてよい。幾つかの実施形態では、チャンクカウントは、第1のデータに関連するパラメータに基づいて、例えば、第1のデータのサイズ、圧縮された第1のデータのサイズ、又は、ベース64ファイルに変換されて圧縮された第1のデータのサイズのうちの1又は複数に基づいて生成される。チャンク名は、チャンクカウントに基づいて生成されてよい。例えば、チャンクカウントが3に等しい整数である場合、3つのチャンク名が生成され、各々は下流のプライバシーキーに関連付けられるように設計されるであろう。別の例では、生成されるチャンクカウントが7に等しい場合、7つのチャンク名が生成されるであろう。下流のステップでは、7つのプライバシーキーが生成されて、7つのプライバシーキーの各々は1つのチャンク名を割り当てられるであろう。公開キーは、管理層に含まれるAPLに関連付けられた非対称暗号キーペアに関連付けられてよい。チャンクカウント、チャンク名、及び公開キーは、管理層に含まれる1又は複数のサーバからウェブ層に属するコンピュータデバイスに送られてよい。 One or more servers included in the management layer may generate 3143 the chunk count, chunk name, and public key associated with the APL. The chunk count and chunk name may be based, at least in part, on the received parameters associated with the first data. The chunk count, in some embodiments, may be an integer that tells downstream processes to generate a privacy key. A chunk name is an alphanumeric and/or symbolic identifier that may be associated with one or more privacy keys generated in a downstream process. In some embodiments, the chunk count is based on parameters associated with the first data, such as the size of the first data, the size of the first data compressed, or converted to a base 64 file. based on one or more of the sizes of the first data compressed by the A chunk name may be generated based on the chunk count. For example, if the chunk count is an integer equal to 3, three chunk names will be generated, each designed to be associated with a downstream privacy key. In another example, if the generated chunk count equals 7, then 7 chunk names will be generated. In a downstream step, 7 privacy keys will be generated and each of the 7 privacy keys will be assigned a chunk name. A public key may be associated with an asymmetric cryptographic key pair associated with an APL contained in the management layer. The chunk count, chunk name, and public key may be sent from one or more servers included in the management tier to computing devices belonging to the web tier.

幾つかの実施形態では、(第1のデータ、チャンクカウント、チャンク名、及びプライバシーコードのうちの1又は複数に基づく)ある数のプライバシーキーは、プライバシーキーを生成するためのシステムのウェブ層に含まれるコンピュータデバイスによって生成されてよい。図32は、幾つかの実施形態に基づくプライバシーキーの生成方法3200を示すコンピュータデバイス側の説明図である。 In some embodiments, a number of privacy keys (based on one or more of the first data, chunk count, chunk name, and privacy code) are sent to the web layer of the system for generating privacy keys. It may be generated by an included computing device. FIG. 32 is a computing device side illustration of a privacy key generation method 3200 according to some embodiments.

システムのウェブ層に含まれるコンピュータデバイス3212(例えば、第1のコンピュータデバイス)は、システムの管理層に含まれる1又は複数のサーバからチャンクカウント3260、チャンク名3261、及び公開キー3262を受け取ってよい。上述したように、第1のデータ3263は、ユーザが安全を考慮しており、転送中に保護することを望む任意のデータを含んでよい。幾つかの実施形態では、コンピュータデバイス3212は、第1のデータ3263を圧縮(例えば、zip)して、圧縮された第1のデータ3264を生成してよい。コンピュータデバイス3212は、圧縮された第1のデータのベース64 3265を生成し、圧縮された第1のデータのベース64 3265は、圧縮された第1のデータ3264のベース64バージョンを含んでよい。制御されたコラプション(例えば、制御されたファイルコラプション)を用いて、コンピュータデバイス3212は、圧縮された第1のデータのベース64 3265にコラプタ(corruptor)(例えば、第1のコラプタ3266)を加えることによって、第1のプレキー3267を生成してよい。上述したように、コラプタ3266は、英数字及び/又は記号のキャラクタストリングを含んでよい。特定の実施形態では、第1のコラプタ3266は、式に基づいていてよい。例えば、圧縮された第1のデータのベース64 3265に含まれる最初の30個のキャラクタを合わせることによって、第1のコラプタ3266がコンピュータデバイス3212によって生成されてよい。別の特定の実施形態では、圧縮された第1のデータのベース64 3265に含まれる第1のキャラクタと第3のキャラクタを足し合わせること、圧縮された第1のデータのベース64 3265に含まれる第2のキャラクタと第4のキャラクタを足し合わせること、圧縮された第1のデータのベース64 3265に含まれる第3のキャラクタと第5のキャラクタを足し合わせることなどを行い、それらの結果を連結することで第1のコラプタ3266に含まれるキャラクタのストリングを生成することで、第1のコラプタ3266が生成されてよい。コラプタ(例えば、第1のコラプタ3266、第2のコラプタ3268、第3のコラプタ3273など)を生成するために任意の数の式を使用することができ、可能性は上記の例に限定されない。 A computing device 3212 (e.g., a first computing device) included in the web tier of the system may receive chunk count 3260, chunk name 3261, and public key 3262 from one or more servers included in the management tier of the system. . As noted above, first data 3263 may include any data that the user has security in mind and wishes to protect during transfer. In some embodiments, computing device 3212 may compress (eg, zip) first data 3263 to generate compressed first data 3264 . The computing device 3212 may generate a compressed first data base 64 3265 , which may include a base 64 version of the compressed first data 3264 . Using controlled corruption (eg, controlled file corruption), the computing device 3212 adds a corruptor (eg, the first corruptor 3266) to the compressed first data base 64 3265. may generate a first prekey 3267 by . As noted above, corruptor 3266 may include alphanumeric and/or symbolic character strings. In certain embodiments, the first corruptor 3266 may be based on a formula. For example, the first corruptor 3266 may be generated by the computing device 3212 by combining the first 30 characters contained in the compressed first data base 64 3265 . In another particular embodiment, adding the first character and the third character contained in the compressed first data base 64 3265, the adding together the second and fourth characters, adding together the third and fifth characters contained in the compressed primary data base 64 3265, etc., and concatenating the results; A first corruptor 3266 may be generated by doing so to generate a string of characters contained in the first corruptor 3266 . Any number of formulas can be used to generate corruptors (eg, first corruptor 3266, second corruptor 3268, third corruptor 3273, etc.) and the possibilities are not limited to the examples above.

コンピュータデバイス3212は、第1のプレキー3267にコラプタ(例えば、第2のコラプタ3268)を付加することによって第2のプレキー3269を生成してよい。特定の実施形態では、コラプタ(例えば、第2のコラプタ3268)は、ユーザによって入力されたプライバシーコードに含まれる1又は複数の英数字及び/又は記号を含んでよい。幾つかの実施形態では、コラプタ(例えば、第2のコラプタ3268)は、ユーザによって入力されて操作された(例えば、ハッシュ化、暗号化、並べ替え、切断など)プライバシーコードに含まれる1又は複数の英数字及び/又は記号を含んでよい。特定の実施形態では、第2のコラプタ3268は式に基づいていてよい。 Computing device 3212 may generate second pre-key 3269 by attaching a corruptor (eg, second corruptor 3268 ) to first pre-key 3267 . In certain embodiments, the corruptor (eg, second corruptor 3268) may include one or more alphanumeric characters and/or symbols included in the privacy code entered by the user. In some embodiments, the corruptor (e.g., second corruptor 3268) includes one or more data included in the privacy code entered and manipulated (e.g., hashed, encrypted, reordered, truncated, etc.) by the user. alphanumeric characters and/or symbols. In certain embodiments, second corruptor 3268 may be based on a formula.

コンピュータデバイス3212は、ソルト3270及び初期化ベクトル(IV)3271を生成してよい。ソルト3270及びIV3271の詳細については、本明細書の先のセクションに見られる。ソルト3270及びIV3271が第2のプレキー3269に付加されて、第3のプレキー3272が生成されてよい。この付加(例えば、ソルト3270及びIV3271)は、プライバシーキーを生成する場合に常にあるわけではないこと、そして、幾つかの実施形態では、第2のプレキー3269は、ソルト3270、IV3271、又は第3のコラプタ3273を付加することなく、チャンクカウント3260に基づくチャンク3274の生成に使用されてよいことを理解のこと。 Computing device 3212 may generate salt 3270 and initialization vector (IV) 3271 . More information on salt 3270 and IV3271 can be found in earlier sections of this specification. Salt 3270 and IV 3271 may be added to second pre-key 3269 to generate third pre-key 3272 . Note that this addition (e.g., salt 3270 and IV 3271) is not always present when generating a privacy key, and in some embodiments, second pre-key 3269 is salt 3270, IV 3271, or third may be used to generate chunk 3274 based on chunk count 3260 without adding corruptor 3273 of .

第3のコラプタ3273が、第3のプレキー3272に付加されてよい。第3のコラプタ3273は、コラプタ(例えば、第1のコラプタ3266、第2のコラプタ3268)について上述した任意の方法でコンピュータデバイス3212によって生成されてよい。特定の実施形態では、第3のコラプタ3273は式に基づいてよい。幾つかの実施形態では、第3のコラプタ3273が第3のプレキー3272に追加されて、次に、その結果のストリングが、管理層から受け取ったチャンクカウント3260に基づいてチャンク3274へと分割されてよい。上述したように、チャンクカウント3260は、キーの生成方法3200において生成されるチャンク3274の数を示す整数である。例えば、チャンクカウント3260が3に等しい場合には、コンピュータデバイス3212は、プレキー(例えば、第3のプレキー3272、第2のプレキー3269、第3のコラプタ3273を有する第3のプレキー3272)を3つのチャンク3274に分割することになるであろう。 A third corruptor 3273 may be attached to the third prekey 3272 . Third corruptor 3273 may be generated by computing device 3212 in any manner described above for corruptors (eg, first corruptor 3266, second corruptor 3268). In certain embodiments, the third corruptor 3273 may be based on a formula. In some embodiments, a third corruptor 3273 is added to the third prekey 3272 and then the resulting string is split into chunks 3274 based on the chunk count 3260 received from the management layer. good. As noted above, chunk count 3260 is an integer that indicates the number of chunks 3274 generated in key generation method 3200 . For example, if chunk count 3260 equals 3, then computing device 3212 divides the pre-key (eg, third pre-key 3272, second pre-key 3269, third pre-key 3272 with third corruptor 3273) into three It will be split into chunks 3274.

幾つかの実施形態では、第3のプレキー3272はチャンク3274に分割されてよく、チャンク3274は、その後、第3のコラプタ3273を使用せずにプライバシーキー3275を生成するために使用されてよい。幾つかの実施形態では、第3のプレキー3272がチャンク3274に分割されて、1又は複数の第3のコラプタ3273(又は第1のコラプタ、第2のコラプタなど)がチャンク3274に付加されて、プライバシーキーが生成されてよい。 In some embodiments, third pre-key 3272 may be split into chunks 3274 , which may then be used to generate privacy key 3275 without using third corruptor 3273 . In some embodiments, the third prekey 3272 is split into chunks 3274 and one or more third corruptors 3273 (or first corruptors, second corruptors, etc.) are attached to the chunks 3274 to A privacy key may be generated.

チャンク3274は、チャンク名3261に従って命名されて、プライバシーキー3275が生成されてよい。幾つかの実施形態では、チャンク名3261は管理層で生成されて、ウェブ層に含まれるコンピュータデバイス3212にて受け取られてよい。チャンク名3261は、上述したように、第1のデータ(例えば、初期パッケージ)に関連するパラメータの一部として受け取られた情報に少なくとも部分的に基づいてよい。特定の実施形態では、受け取られるチャンク名3261の数は、チャンクカウント3260と等しい。例えば、チャンクカウント3260が3に等しい場合には、3つのチャンク名3261が管理層で生成されて、コンピュータデバイス3212で受け取られるであろう。従って、この実施形態では、3つのチャンク3274が(チャンクカウント3260に基づいて)生成されると、得られた各チャンク3274は、関連するチャンク名3261を有するであろう。幾つかの実施形態では、チャンク3274は、単一のチャンク名3261に関連付けられて、チャンク名3261を有するチャンク3274を含むプライバシーキー3275が生成される。チャンク名3261は、これらの実施形態によれば、サーバ側で第1のデータ3263(例えば、第2のデータ)を再現するためのプライバシーキー3275を編成する下流プロセスで有用である。 Chunk 3274 may be named according to chunk name 3261 and privacy key 3275 may be generated. In some embodiments, the chunk name 3261 may be generated at the management tier and received at the computing device 3212 included in the web tier. Chunk name 3261 may be based, at least in part, on information received as part of the parameters associated with the first data (eg, initial package), as described above. In certain embodiments, the number of chunk names 3261 received is equal to chunk count 3260 . For example, if chunk count 3260 equals three, three chunk names 3261 will be generated at the management layer and received at computing device 3212 . Thus, in this embodiment, when three chunks 3274 are generated (based on chunk count 3260), each resulting chunk 3274 will have an associated chunk name 3261. In some embodiments, chunk 3274 is associated with a single chunk name 3261 to generate privacy key 3275 that includes chunk 3274 with chunk name 3261 . Chunk name 3261 is useful, according to these embodiments, in the downstream process of compiling privacy key 3275 for reproducing first data 3263 (eg, second data) on the server side.

上記を説明するために、以下の例が提供される。第3のプレキー3272がストリング「123456789」を含んでおり、第3のコラプタ3273がストリング「543」を含んでいる場合、制御されたコラプションの結果のストリングは、ストリング「123455436789」を含んでよい。チャンクカウント3260が3に等しく、チャンク名が「1」、「2」、及び「3」である場合、結果として得られるプライバシーキーは、以下を含んでいる。 To illustrate the above, the following example is provided. If the third prekey 3272 contains the string "123456789" and the third corruptor 3273 contains the string "543", the string resulting from the controlled corruption may contain the string "123455436789". If the chunk count 3260 equals 3 and the chunk names are "1", "2", and "3", the resulting privacy key contains:

Figure 2023525774000002
Figure 2023525774000002

チャンク名3261は、幾つかの実施形態では、初期ストリングを再現するためにプライバシーキー3275の下流での順序付けを容易にし得る。ここで、チャンク名3261(例えば、「ワン」、「ツー」、「スリー」)に従ってプライバシーキー3275を並べることにより、サーバ(例えば、管理層)側で初期ストリング「123455436789」を再現することができる。 Chunk name 3261 may facilitate downstream sequencing of privacy key 3275 to recreate the initial string in some embodiments. Here, the initial string "123455436789" can be reproduced on the server (eg, management layer) side by arranging the privacy keys 3275 according to the chunk names 3261 (eg, "one", "two", "three"). .

ウェブ層に含まれるコンピュータデバイス3212は、(チャンクカウント3260に等しい)ある数のプライバシーキー3275を管理層に含まれる1又は複数のサーバに送ってよい。コンピュータデバイス3212は、第1のプライバシーコード3276に基づいて、第2のプライバシーコード3277を生成してよい。第2のプライバシーコード3277は、幾つかの実施形態では、英数字及び/又は記号のキャラクタストリングであってよい。第2のプライバシーコード3277は、操作された(例えば、圧縮、ハッシュ化、暗号化、並べ替え、切断など)第1のプライバシーコード3276であってよい。特定の実施形態では、第2のプライバシーコード3277は、ハッシュ化された第1のプライバシーコード3276である。プライバシーコード(例えば、第1のプライバシーコード3276、第2のプライバシーコード3277)は、システムのウェブ層に含まれるコンピュータデバイス3212から、システムの管理層に含まれる1又は複数のサーバに送られてよい。 A computing device 3212 included in the web tier may send a number of privacy keys 3275 (equal to chunk count 3260) to one or more servers included in the management tier. Computing device 3212 may generate second privacy code 3277 based on first privacy code 3276 . Second privacy code 3277 may be an alphanumeric and/or symbolic character string in some embodiments. Second privacy code 3277 may be first privacy code 3276 that has been manipulated (eg, compressed, hashed, encrypted, reordered, truncated, etc.). In certain embodiments, second privacy code 3277 is hashed first privacy code 3276 . A privacy code (e.g., first privacy code 3276, second privacy code 3277) may be sent from a computing device 3212 included in the web tier of the system to one or more servers included in the administrative tier of the system. .

図31に戻ると、制御されたコラプションを使用したキー生成方法は、コンピュータデバイスからある数のプライバシーキーと第2のプライバシーコードとを受け取ること3146と、プライバシーキーに基づいて第2のデータを生成すること3148とを含んでよい。 Returning to FIG. 31, the method of key generation using controlled corruption includes receiving 3146 a number of privacy keys and a second privacy code from a computing device, and generating second data based on the privacy keys. and performing 3148 .

図33は、プライバシーキー3300に基づいて第2のデータを生成する特定の実施形態を示す図である。第2のデータ3382は、幾つかの実施形態では、第1のデータの再構成バージョンを含んでよい。例えば、第1のデータは、システムのウェブ層に含まれるコンピュータデバイスを起源としてよい。第1のデータは、プライバシーキー3375を生成するために使用されてよく、プライバシーキー3375は、第1のデータのコラプションしたバージョンであってよく、当該バージョンは、その後、管理層に含まれる1又は複数のサーバに、コラプションしたチャンク(例えば、プライバシーキー)で送られてよい。プライバシーキー3375は連結されて、結果として得られる第2のデータ3382が元の第1のデータの再構成されたバージョンであるように、コラプタ(例えば、第1のコラプタ3366、第2のコラプタ3368、第3のコラプタ3373など)が系統的に除去されてよい。 FIG. 33 is a diagram illustrating a particular embodiment of generating second data based on privacy key 3300. As shown in FIG. The second data 3382 may include a reconstructed version of the first data in some embodiments. For example, the first data may originate from a computing device included in the web tier of the system. The first data may be used to generate a privacy key 3375, which may be a corrupted version of the first data, which version is then included in the management layer. It may be sent in corrupted chunks (eg, privacy keys) to multiple servers. Privacy key 3375 is concatenated to corruptors (e.g., first corruptor 3366, second corruptor 3368) such that resulting second data 3382 is a reconstructed version of the original first data. , third corruptor 3373, etc.) may be systematically removed.

システムの管理層に含まれる1又は複数のサーバ3322は、システムのウェブ層に含まれるコンピュータデバイスから、ある数(例えば、1つ以上、2つ以上、3つ以上)のプライバシーキー3375を受け取ってよい。1又は複数のサーバ3322は、コンピュータデバイスから第2のプライバシーコード3377を受け取ってよい。幾つかの実施形態では、1又は複数のサーバ3322は、ある数(例えば、1つ以上、2つ以上、3つ以上)のプライバシーキー3375を連結して、連結キー3376を生成してよい。幾つかの実施形態では、上述したようにして、チャンク名3361は、連結のプロセスをガイドしてよく、プライバシーキー3375を結合すべき順序を決定してよく、又は、連結キー3376を生成するためにプライバシーキー3375の配列を指示してよい。 One or more servers 3322 included in the administrative tier of the system receive a number (eg, one or more, two or more, three or more) of privacy keys 3375 from computing devices included in the web tier of the system. good. One or more servers 3322 may receive the second privacy code 3377 from the computing device. In some embodiments, one or more servers 3322 may concatenate a number (eg, one or more, two or more, three or more) of privacy keys 3375 to generate concatenated key 3376 . In some embodiments, chunk names 3361 may guide the process of concatenation, may determine the order in which privacy keys 3375 should be combined, or may be used to generate concatenated keys 3376, as described above. may indicate the arrangement of privacy keys 3375 in .

1又は複数のサーバ3322は、第3のコラプタ3373を除去して第1のクリーンなデータ3377を生成し、ソルト3370及びIV3371を除去して第2のクリーンなデータ3378を生成し、第2のコラプタ3368を除去して第3のクリーンなデータ3379を生成し、第1のコラプタ3366を除去して、圧縮された第2のデータのベース64ファイル 3380を生成してよい。幾つかの実施形態では、コラプタの除去は、除去される必要があるコラプタ(例えば、第1のコラプタ3366、第2のコラプタ3368、第3のコラプタ3373など)の認識を必要とし得る。これらの実施形態では、1又は複数のサーバは、コラプタを認識するため様々な認識ツールを使用してよい。例えば、コラプタがプライバシーコード(又は、切断されたプライバシーコードのようなプライバシーコードの派生物)を使用してコンピュータデバイスで生成されている場合、1又は複数のサーバは、受け取った第2のプライバシーコード3377からプライバシーコードを生成してよい。特定の実施形態では、第2のプライバシーコード3377が使用されて、1又は複数のコラプタ(例えば、第1のコラプタ3366、第2のコラプタ3368、第3のコラプタ3373など)が除去される。幾つかの実施形態では、1又は複数のサーバ3322は、式を使ってコラプタを生成し(例えば、コンピュータデバイスでコラプタを生成するのに使われるのと同じ式)、新たに生成されたコラプタを使って、クリーンなデータ(例えば、第1のクリーンなデータ3377、第2のクリーンなデータ3378、第3のクリーンなデータ3379等)に埋め込まれたコラプタを認識して、それを除去する。1又は複数のサーバ3322の特徴は、連結キー3376又はクリーンなデータ(例えば、第1のクリーンなデータ3377、第2のクリーンなデータ3378、第3のクリーンなデータ3379など)の中のコラプタ(例えば、第1のコラプタ3366、第2のコラプタ3368、第3のコラプタ3373など)を認識して体系的に除去して、圧縮された第2のデータのベース64 3380を生成する能力であることは、重要である。幾つかの実施形態では、連結キー3376が復号されて第1のクリーンなデータ3377が生成されてよい。 One or more servers 3322 remove the third corruptor 3373 to produce a first clean data 3377, remove the salt 3370 and IV 3371 to produce a second clean data 3378, and the second A corruptor 3368 may be removed to produce a third clean data 3379 and a first corruptor 3366 may be removed to produce a compressed second data base 64 file 3380 . In some embodiments, removal of corruptors may require recognition of the corruptor (eg, first corruptor 3366, second corruptor 3368, third corruptor 3373, etc.) that needs to be removed. In these embodiments, one or more servers may use various recognition tools to recognize corruptors. For example, if the corruptor was generated on a computing device using a privacy code (or a derivative of a privacy code, such as a truncated privacy code), one or more servers may use the received second privacy code A privacy code may be generated from 3377. In certain embodiments, a second privacy code 3377 is used to remove one or more corruptors (eg, first corruptor 3366, second corruptor 3368, third corruptor 3373, etc.). In some embodiments, one or more servers 3322 generate corruptors using a formula (e.g., the same formulas used to generate corruptors on computing devices) and generate newly generated corruptors is used to recognize and remove corruptors embedded in clean data (eg, first clean data 3377, second clean data 3378, third clean data 3379, etc.). A characteristic of one or more servers 3322 is the corruptor ( the ability to recognize and systematically remove first corruptor 3366, second corruptor 3368, third corruptor 3373, etc.) to produce compressed second data base 64 3380; is important. In some embodiments, concatenated key 3376 may be decrypted to produce first clean data 3377 .

圧縮された第2のデータのベース64 3380ファイルは、圧縮された第2のデータ3381に変換(例えば、復号)されてよい。幾つかの実施形態では、圧縮された第2のデータ3381は、第2のデータ3382に変換(例えば、解凍)されてよい。上述したように、第2のデータ3382は、第1のデータの再構成バージョンであってよい。例えば、第1のデータが生体情報スキャンに関する情報である場合、第2のデータは、生体情報スキャンに関するオリジナルの情報の再構成バージョンであろう。第1のデータが機密電子メール、テキスト、又はその他の情報である場合、第2のデータは機密電子メール、テキスト、又はその他の情報の再構成バージョンである。このように、管理層に含まれる1又は複数のサーバによって実行される任意の方法又は操作は、第2のコンピュータデバイスに含まれるプロセッサによっても実行され得ることは、当業者には理解されるであろう。例えば、第1のデータが、第1のコンピュータデバイスを備えるモバイルデバイスを出所とするテキストメッセージである場合、第2のデータ(例えば、再構成テキストメッセージ)は、第2のモバイルデバイス(例えば、第2のコンピュータデバイス)に含まれるプロセッサにて生成されてよい。 The compressed second data base 64 3380 file may be converted (eg, decoded) into compressed second data 3381 . In some embodiments, compressed second data 3381 may be converted (eg, decompressed) to second data 3382 . As noted above, the second data 3382 may be a reconstructed version of the first data. For example, if the first data is information about a biometric scan, the second data would be a reconstructed version of the original information about the biometric scan. If the first data is confidential email, text, or other information, the second data is a reconstructed version of the confidential email, text, or other information. As such, those skilled in the art will appreciate that any method or operation performed by one or more servers included in the management tier may also be performed by a processor included in the second computing device. be. For example, if the first data is a text message originating on a mobile device comprising a first computing device, the second data (eg, reconstructed text message) is transmitted on a second mobile device (eg, a 2 computer device).

<プライバシーキーの使用によるアイデンティティの認証>
プライバシーキーは、幾つかの実施形態では、第1のコンピュータデバイス(例えば、モバイルコンピュータデバイス)からアイデンティティを認証するために使用されてよい。幾つかの実施形態では、第1のデータは、生体情報スキャン、ログインパスワード又はコード、或いは、ユーザ入力に基づき得る他の任意の第1のデータを含んでよい。制御されたコラプションを使用してプライバシーキーを生成し、格納されているプライバシーキーを配布、保存、及び/又は取得してアイデンティティを認証する方法は、エンロールメント(enrollment)モジュールとサインインモジュールを含んでよい。
<Identity Authentication Using Privacy Keys>
A privacy key may be used in some embodiments to authenticate an identity from a first computing device (eg, a mobile computing device). In some embodiments, the first data may include a biometric scan, login password or code, or any other first data that may be based on user input. A method of generating privacy keys using controlled corruption and distributing, storing, and/or retrieving stored privacy keys to authenticate identities includes an enrollment module and a sign-in module. OK.

<エンロールメントモジュール>
エンロールメントモジュールは、制御されたコラプションを使用してキー(例えば、プライバシーキー)を生成し、キーを配布し、後で使用するために格納する方法を備えてよい。本明細書に開示された方法及びシステムを用いて、プライバシーキーが、制御されたコラプションを使用して第1のデータから生成されて、サーバに送られ、サーバに関連する複数のノードに格納されてよい。続いて、ユーザが、サインインモジュールの第1のコンピュータデバイスにユーザ入力(例えば、生体情報スキャン、パスワード、第1のデータ、第3のデータなど)を入力すると、制御されたコラプションによって生成されており、そのモジュールのユーザ入力に基づくプライバシーキーが、エンロールメントモジュールにおいて第1のデータを使用して生成されたプライバシーキーと比較されて、ユーザのアイデンティティが認証される。制御されたコラプションを用いてプライバシーキーを生成することで、生体情報データなどのユーザ入力が保護される。
<Enrollment module>
The enrollment module may comprise a method of generating keys (eg, privacy keys) using controlled corruption, distributing the keys, and storing them for later use. Using the methods and systems disclosed herein, privacy keys are generated from first data using controlled corruption, sent to a server, and stored at a plurality of nodes associated with the server. you can Subsequently, when the user enters user input (e.g., biometric scan, password, first data, third data, etc.) into the first computing device of the sign-in module, the and a privacy key based on user input in that module is compared to a privacy key generated using the first data in the enrollment module to authenticate the user's identity. Using controlled corruption to generate a privacy key protects user input, such as biometric data.

図34は、特定の実施形態に基づいており、制御されたコラプションを使用してキーを生成して配布するサーバ側(例えば、管理層3020に含まれる)の方法3400の例であって、1又は複数のサーバで第1のコンピュータデバイスを登録すること3440と、1又は複数のサーバで、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを第1のコンピュータデバイスから受信すること3442と、1又は複数のサーバでチャンクカウント及び公開キーを生成すること3443と、チャンクカウント及び公開キーを第1のコンピュータデバイスに送信すること3444と、1又は複数のサーバで、ある数の第1のプライバシーキー及び第2のプライバシーコードを受信すること3446と、1又は複数のサーバでプライバシーキーに基づいて第2のデータを生成すること3448とを含む。幾つかの実施形態では、プライバシーキーは、例えばアイデンティティの認証など、後の用途のために1又は複数のサーバに関連する1又は複数のノードに格納されてよい。これらの実施形態において、キーを生成及び配布する方法3400は、結果を生成すること3450と、受信者識別子及びプライバシーコード識別子を生成すること3452と、プライバシーキー、受信者識別子、及びプライバシーコード識別子を1又は複数のサーバに関連するノードのうちの1つに配布すること3454とを更に含んでよい。 FIG. 34 is an example of a server-side (e.g., included in management layer 3020) method 3400 for generating and distributing keys using controlled corruption, according to a particular embodiment. or registering 3440 the first computing device with a plurality of servers; and transmitting the first privacy code and one or more parameters associated with the first data to the one or more servers from the first computing device; receiving 3442; generating 3443 a chunk count and public key at one or more servers; transmitting 3444 the chunk count and public key to a first computing device; receiving 3446 a number of first privacy keys and second privacy codes; and generating 3448 second data based on the privacy keys at one or more servers. In some embodiments, privacy keys may be stored in one or more nodes associated with one or more servers for later use, such as identity authentication. In these embodiments, the method 3400 of generating and distributing keys comprises generating 3450 a result; generating 3452 a recipient identifier and a privacy code identifier; distributing 3454 to one of the nodes associated with the one or more servers.

プライバシーキーが認証のような用途で生成される場合、1又は複数のプライバシーキーを生成する方法は、図31、図32、及び図33に例示して上述した方法と概ね同じである。それらの方法に加えて、方法3400は、結果を生成すること3450を含んでよい。幾つかの実施形態では、圧縮された第2のデータのベース64ファイル(例えば、図33の3380)は、第1のデータ(例えば、図31の3142)に関連するパラメータとして受け取られ得る、圧縮された第1のデータのベース64と比較されてよい。これらの実施形態では、2つのベース64ファイルが比較されて、結果が生成されてよい3450。2つのベース64ファイルが同一である場合、結果はポジティブとなり得る。2つのベース64ファイルが同一でない場合、結果はネガティブとなり得る。 When privacy keys are generated for uses such as authentication, the method of generating one or more privacy keys is generally the same as described above and illustrated in FIGS. In addition to those methods, method 3400 may include generating 3450 a result. In some embodiments, the compressed second data base 64 file (e.g., 3380 in FIG. 33) can be received as a parameter associated with the first data (e.g., 3142 in FIG. 31). may be compared with the base 64 of first data generated. In these embodiments, two Base64 files may be compared to generate a result 3450. If the two Base64 files are identical, the result may be positive. If the two base64 files are not identical, the result can be negative.

幾つかの実施形態では、結果3450は、圧縮された第2のデータ3381を圧縮された第1のデータと比較することによって生成されてよい。幾つかの実施形態では、結果3450は、第2のデータ3382を第1のデータと比較することによって生成されてよい。幾つかの実施形態では、結果は、複数の要素(例えば、第1のデータと第2のデータ、圧縮された第1のデータと圧縮された第2のデータ、圧縮された第1のデータのベース64と圧縮された第2のデータのベース64など)を比較することによって生成されてよい。反復学習が、結果3450を生成する場合に利用されてよい。例えば、多くの第2データ3382が経時的に生成され、これらの第2のデータ3382が経時的に互いに比較されて結果3450が生成されてよい。なお、第2のデータ3382を例として用いたが、任意の要素(第1のデータ、圧縮データ、ベース64圧縮データ、プライバシーコード等)を経時的に比較することにより、結果3450が生成されてもよい。 In some embodiments, result 3450 may be generated by comparing compressed second data 3381 with compressed first data. In some embodiments, results 3450 may be generated by comparing second data 3382 to first data. In some embodiments, the result is multiple elements (e.g., first data and second data, compressed first data and compressed second data, compressed first data by comparing the base 64 with the base 64 of the compressed second data, etc.). Iterative learning may be utilized in generating result 3450 . For example, a number of second data 3382 may be generated over time and these second data 3382 may be compared to each other over time to generate results 3450 . Note that although the second data 3382 was used as an example, the result 3450 is generated by comparing any element (first data, compressed data, base 64 compressed data, privacy code, etc.) over time. good too.

幾つかの実施形態では、ポジティブな結果は、管理層に含まれる1又は複数のサーバに、受信者識別子及びプライバシーコード識別子を生成するように促してよい3452。ポジティブな結果は、管理層を構成する1又は複数のサーバに、コンピュータデバイスから受け取った各プライバシーキーの2つ以上のコピーを生成するように促してよい3446。プライバシーキー、受信者識別子、及びプライバシーコード識別子は、1又は複数のサーバに関連付けられた1又は複数のノードに格納のために送られてよい3454。幾つかの実施形態では、プライバシーキー、受信者識別子、及びプライバシーコード識別子は、送信前に操作されてよい。 In some embodiments, a positive result may prompt 3452 one or more servers included in the management layer to generate recipient identifiers and privacy code identifiers. A positive result may prompt one or more servers that make up the management layer to generate 3446 two or more copies of each privacy key received from the computing device. The privacy key, recipient identifier, and privacy code identifier may be sent 3454 for storage to one or more nodes associated with one or more servers. In some embodiments, privacy keys, recipient identifiers, and privacy code identifiers may be manipulated prior to transmission.

格納するためにプライバシーキーを1又は複数のノードに配布すること3454は、台帳なしの非記述的な(ledgerless non-descriptive)配布を用いて行われてよい。この配布方法は、送信者識別子、受信者識別子、プライバシーコード、及び/又は他のユーザ固有コード(例えば、生体認証など)を組み合わせて使用して、各プライバシーキーについて固有のピース記述(piece description)を生成することを含んでよい。幾つかの実施形態では、送信者識別子は、ユーザ、トランザクション、アプリケーション、及び/又はコンピュータデバイスの任意の組合せを識別するために使用される英数字及び/又は記号のキャラクタストリングであってよい。これらの実施形態において、システムは、プライバシーキー、プライバシーコード、受信者識別子、及び送信者識別子のうちの1又は複数を操作して、配布された各プライバシーキーについて固有のピース記述を生成してよい。ピース記述は、幾つかの実施形態によれば、「必要に応じて」作成されてよく、サーバでプライバシーキーの宛先(例えば、ノード)の台帳や他の記録を保持する必要性を排除する。 Distributing 3454 the privacy key to one or more nodes for storage may be performed using ledgerless non-descriptive distribution. This distribution method uses a combination of sender identifiers, recipient identifiers, privacy codes, and/or other user-specific codes (e.g., biometrics, etc.) to create a unique piece description for each privacy key. may include generating In some embodiments, a sender identifier may be a string of alphanumeric and/or symbolic characters used to identify any combination of users, transactions, applications, and/or computing devices. In these embodiments, the system may manipulate one or more of privacy keys, privacy codes, recipient identifiers, and sender identifiers to generate a unique piece description for each distributed privacy key. . Piece descriptions may be created on an "as-needed" basis, according to some embodiments, eliminating the need to maintain a ledger or other record of privacy key destinations (eg, nodes) on the server.

たとえハッカー/ウイルスが防御機能(例えば、ファイヤウォールやその他のセキュリティ機能)を突破してシステムに侵入できたとしても、(データが分散している場所の)エンドポイントアドレスを中央場所や中央台帳に保存していないため、ハッカーは、ノードがどこにあるかを、又はどのノードが特定のデータを持っているかを確実に知ることはできない。 Even if a hacker/virus manages to penetrate the system by bypassing defenses (e.g. firewalls or other security features), the endpoint addresses (where the data is distributed) cannot be stored in a central location or central ledger. Without storage, a hacker cannot know for sure where the nodes are or which nodes have particular data.

ノードが危険にさらされたとしても、このタイプの配布は、一緒になってデータを形成するピースをハッカーが特定できないことを保証する。これはまた、ランサムウェアに対する保護と高い耐障害性を備えている。更に、操作(暗号化、ハッシュ化、コラプション、チャンキング、連結など)プロセスにより、ノードからピースを入手しても、権限のあるユーザの同意がなければオリジナルの形にまとめられないという別のレベルのセキュリティが確保されている。 Even if a node is compromised, this type of distribution ensures that hackers cannot identify the pieces that together form the data. It also has ransomware protection and high fault tolerance. In addition, another level where the process of manipulation (encryption, hashing, corruption, chunking, concatenation, etc.) prevents pieces from being brought together in their original form without the consent of the authorized user. security is ensured.

プライバシーキー、受信者識別子、及びプライバシーコード識別子は、サインインモジュールでの本人認証を含む、後の用途のために保存されてよい。 The privacy key, recipient identifier, and privacy code identifier may be saved for later use, including authentication at the sign-in module.

<サインインモジュール>
ユーザ(例えば、ウェブ層に含まれるコンピュータデバイスのシステムユーザ)が、サインインモジュールでアイデンティティを認証するために、格納されているプライバシーキーを使用することを望む場合、ユーザは、第1のユーザ入力(例えば、プライバシーコード)と第2のユーザ入力(例えば、生体情報スキャン、第3のデータ)とを入力する。プライバシーキーを用いたアイデンティティを認証する方法を図35に示す。
<Sign-in module>
If a user (e.g., a system user of a computing device included in the web tier) wishes to use a stored privacy key to authenticate an identity with the sign-in module, the user inputs the first user input (eg, privacy code) and second user input (eg, biometric scan, third data). FIG. 35 shows a method of authenticating an identity using a privacy key.

第3のデータに基づくプライバシーキー3590は、上述しており、図31及び図32に示されたようにして生成される。得られたプライバシーキー3590は、システムの管理層に含まれる1又は複数のサーバに送られる。プライバシーキー、プライバシーコード、第2のプライバシーコード、及び、第1のデータに関連するパラメータのうちの1又は複数に含まれる情報を用いて、1又は複数のサーバは、1又は複数のサーバに関連する1又は複数のノードから、格納されているプライバシーキー3591を突き止めて取得する。幾つかの実施形態では、検索は、受信者識別子及び/又はプライバシーコード識別子に少なくとも部分的に基づいている。 A third data-based privacy key 3590 is generated as described above and shown in FIGS. The resulting privacy key 3590 is sent to one or more servers included in the administration layer of the system. The one or more servers are associated with the one or more servers using information contained in one or more of the privacy key, the privacy code, the second privacy code, and the parameters associated with the first data. Locate and obtain the stored privacy key 3591 from one or more nodes that In some embodiments, the search is based at least in part on the recipient identifier and/or the privacy code identifier.

第3のデータに基づくプライバシーキー3590の各々(例えば、サインインモジュール中にコンピュータデバイスから受け取ったプライバシーキー)が使用されて、図33に示した方法と同様の方法で第4のデータが生成される。幾つかの実施形態では、第4のデータは、サインインデータ3592であってよい。1又は複数のノードから検索されて格納されたプライバシーキー3591の各々が使用されて、図33に示した方法と同様の方法で、第5のデータ3593が生成される。幾つかの実施形態では、第5のデータは、エンロールメントデータ3593であってよい。第4のデータ(例えば、サインインデータ3592)が第5のデータ(例えば、エンロールメントデータ3593)と比較されて、結果3594が生成されてよい。幾つかの実施形態では、第4のデータ3592が第5のデータ3593と同じであれば、結果3594はポジティブである。データ(例えば、第1のデータ、第2のデータ、第3のデータ、第4のデータ3952、第5のデータ3593)が、生体情報スキャン、プライバシーコード、ログインパスワード等の何れかに関する情報であるような実施形態では、第4のデータ3952(例えば、サインイン中に入力されるデータ)が、第5のデータ(例えば、エンロールメント中に入力されてプライバシーキーとして格納されるデータ)が同じ場合に、アイデンティティが確認できる。ポジティブな結果は、ユーザが1又は複数の保護されたシステムにアクセスすることを許可してよい。 Each third data-based privacy key 3590 (eg, the privacy key received from the computing device during the sign-in module) is used to generate fourth data in a manner similar to that shown in FIG. be. In some embodiments, the fourth data may be sign-in data 3592 . Each of the stored privacy keys 3591 retrieved from one or more nodes is used to generate fifth data 3593 in a manner similar to that shown in FIG. In some embodiments, the fifth data may be enrollment data 3593 . The fourth data (eg, sign-in data 3592) may be compared to the fifth data (eg, enrollment data 3593) to generate results 3594. FIG. In some embodiments, if fourth data 3592 is the same as fifth data 3593, result 3594 is positive. The data (e.g., first data, second data, third data, fourth data 3952, fifth data 3593) is information relating to any of biometric scans, privacy codes, login passwords, etc. In such embodiments, if the fourth data 3952 (eg, data entered during sign-in) is the same as the fifth data (eg, data entered during enrollment and stored as a privacy key). , the identity can be confirmed. A positive result may allow the user to access one or more protected systems.

<プライバシーキーの利用によるセキュアデータ格納>
幾つかの実施形態では、プライバシーキーは、セキュアデータ格納のために使用されてよい。例えば、幾つかの実施形態において、第1のデータは、機密ドキュメントを含んでよい。第1のデータが上記の方法で使用されてプライバシーキーが生成されて、その後、格納されてよい。これらの実施形態では、セキュアデータ(例えば、第1のデータ、機密ドキュメント)を編集することが必要になることがある。これらの実施形態では、プライバシーキーが取得されて、上記の方法で第2のデータを生成されてよい。このシステムでは、データ(例えば、第1のデータ、第2のデータ)を編集のためにランディングゾーンに一時的に格納することを可能にする。幾つかの実施形態では、ランディングゾーンは、1又は複数のサーバ、一時的なデータベース、第1のコンピュータデバイス、第2のコンピュータデバイス、又はアプリケーションのうちの任意の1又は複数に含まれてよい。幾つかの実施形態では、ランディングゾーンは、Google Docs、Microsoft Word、又は他のアプリケーションなどの外部アプリケーションを含んでよい。編集されたデータが使用されて上記の方法で新しいプライバシーキーが生成されて、後で使用するために格納されてよい。
<Secure data storage using privacy key>
In some embodiments, privacy keys may be used for secure data storage. For example, in some embodiments the first data may include confidential documents. The first data may be used in the above manner to generate a privacy key and then stored. In these embodiments, it may be necessary to edit secure data (eg, first data, sensitive documents). In these embodiments, a privacy key may be obtained to generate the second data in the manner described above. The system allows data (eg, first data, second data) to be temporarily stored in the landing zone for editing. In some embodiments, a landing zone may be contained on any one or more of one or more servers, temporary databases, first computing devices, second computing devices, or applications. In some embodiments, the landing zone may include external applications such as Google Docs, Microsoft Word, or other applications. The edited data may be used to generate new privacy keys in the manner described above and stored for later use.

本明細書に記載された実施形態の他の変形例も、本発明の範囲から逸脱することなく実施できることは、当業者には理解されるであろう。その他の変更もそれ故に可能である。 Those skilled in the art will appreciate that other variations of the embodiments described herein may be practiced without departing from the scope of the invention. Other modifications are therefore possible.

Claims (20)

制御されたコラプションを使用してキーを生成して配布する方法において、
セキュリティエンジン及びアクションエンジンを備える1又は複数のサーバにて、第1のコンピュータデバイスを登録することと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、
前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、
前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数のプライバシーキーに関するデータと第2のプライバシーコードとを受け取ることであって、
前記ある数のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び前記1又は複数のコラプタに基づいており、
前記第2のプライバシーコードは、前記第1のプライバシーコードに基づいており、
前記ある数のプライバシーキーの数は前記チャンクカウントに等しい、
ことと、
前記1又は複数のサーバにて前記ある量のプライバシーキーに基づく第2のデータを生成することであって、前記第2のデータを生成することは、
前記ある数のプライバシーキーを連結して連結キーを生成することと、
前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、
を含む、ことと、
を含む、方法。
In a method of generating and distributing keys using controlled corruption,
registering a first computing device with one or more servers comprising a security engine and an action engine;
receiving, at the one or more servers, from the first computing device a first privacy code and one or more parameters associated with first data, wherein the first privacy code is based on a first user input at the first computing device, the first data being based on a second user input at the first computing device;
generating a chunk count and a public key at the one or more servers, the chunk count being based on one or more parameters associated with the first data, the public key being an asymmetric cryptography being part of a key pair;
sending the chunk count and the public key from the one or more servers to the first computing device;
receiving, at the one or more servers, data relating to a number of privacy keys and a second privacy code from the first computing device;
the number of privacy keys is based on the first data, the chunk count, and the one or more corruptors;
the second privacy code is based on the first privacy code;
the number of privacy keys equals the chunk count;
and
generating second data based on the quantity of privacy keys at the one or more servers, wherein generating the second data comprises:
concatenating the number of privacy keys to generate a concatenated key;
removing the one or more corruptors from the concatenated key to generate the second data;
including
A method, including
制御されたコラプションを使用してキーを生成して配布する方法は、
前記1又は複数のサーバにて2つ以上のチャンク名を生成することと、
前記2つ以上のチャンク名を前記第1のコンピュータデバイスに送ることと、
を更に含む、請求項1に記載の方法。
A way to generate and distribute keys with controlled corruption is
generating two or more chunk names at the one or more servers;
sending the two or more chunk names to the first computing device;
2. The method of claim 1, further comprising:
前記ある数のプライバシーキーは更に、前記2つ以上のチャンク名に基づく、請求項2に記載の方法。 3. The method of claim 2, wherein the certain number of privacy keys is further based on the two or more chunk names. 前記ある数のプライバシーキーを連結して前記連結キーを生成することは、前記2つ以上のチャンク名に基づく、請求項3に記載の方法。 4. The method of claim 3, wherein concatenating the certain number of privacy keys to generate the concatenated key is based on the two or more chunk names. 前記1又は複数のコラプタは3つのコラプタからなる、請求項1に記載の方法。 2. The method of claim 1, wherein the one or more corruptors consist of three corruptors. 前記1又は複数のコラプタの少なくとも1つは前記第1のプライバシーコードに基づく、請求項5に記載の方法。 6. The method of claim 5, wherein at least one of said one or more corruptors is based on said first privacy code. 前記第2のデータを生成するために前記1又は複数のコラプタを除去することは、
前記連結キーから1又は複数の第1のコラプタを除去して、第1のクリーンなデータを生成することと、
前記第1のクリーンなデータから1又は複数の第2のコラプタを除去して、第2のクリーンなデータを生成することと、
前記第2のクリーンなデータから1又は複数の第3のコラプタを除去し、圧縮データのベース64を生成することと、
前記圧縮された第2のデータのベースを復号して前記圧縮データを生成することと、
前記圧縮データを解凍して前記第2のデータを生成することと、
を含んでおり、
前記プライバシーコードが使用されて、前記1又は複数の第1のコラプタ、前記1又は複数の第2のコラプタ、及び前記1又は複数の第3のコラプタのうちの少なくとも1つが除去される、請求項6に記載の方法。
Removing the one or more corruptors to generate the second data includes:
removing one or more first corruptors from the concatenated key to generate first clean data;
removing one or more second corruptors from the first clean data to generate second clean data;
removing one or more third corruptors from the second clean data to produce a compressed data base 64;
decoding a base of the compressed second data to produce the compressed data;
decompressing the compressed data to generate the second data;
contains
4. The privacy code is used to remove at least one of the one or more first corruptors, the one or more second corruptors, and the one or more third corruptors. 6. The method according to 6.
前記第1のプライバシーコードは前記1又は複数のコラプタの少なくとも1つを除去するために使用される、請求項6に記載の方法。 7. The method of claim 6, wherein said first privacy code is used to remove at least one of said one or more corruptors. 前記第2のプライバシーコードは前記1又は複数のコラプタの少なくとも1つを除去するために使用される、請求項1に記載の方法。 2. The method of claim 1, wherein said second privacy code is used to remove at least one of said one or more corruptors. 前記第1のデータは目的とする通信を含む、請求項1に記載の方法。 2. The method of claim 1, wherein the first data comprises intended communications. 前記第2のユーザ入力は、英数字のキャラクタストリング、生体情報データ、パスワード、眼球スキャン、写真、及び指紋のうちの少なくとも1つを含む、請求項1に記載の方法。 2. The method of claim 1, wherein the second user input comprises at least one of an alphanumeric character string, biometric data, a password, an eye scan, a photograph, and a fingerprint. 制御されたコラプションを使用してキーを生成する方法において、
第1のコンピュータデバイスにて、第1のプライバシーコードと、第1のデータに関連する1又は複数のパラメータとを生成するステップであって、前記第1のプライバシーコードは第1のユーザ入力に基づいており、前記第1のデータは第2のユーザ入力に基づいている、ステップと、
前記第1のプライバシーコードと前記第1のデータに関連する1又は複数のパラメータとを、前記第1のコンピュータデバイスから1又は複数のサーバに送るステップと、
前記第1のコンピュータデバイスにて、前記1又は複数のサーバからチャンクカウント及び公開キーを受け取るステップであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ステップと、
前記第1のコンピュータデバイスにて、前記第1のデータを圧縮して圧縮された第1のデータを生成するステップと、
前記第1のコンピュータデバイスにて、前記圧縮された第1のデータと1又は複数の第1のコラプタに基づいて、第1のプレキーを生成するステップと、
前記第1のコンピュータデバイスにて、前記第1のプレキーと1又は複数の第2のコラプタとに基づいて、前記第2のプレキーを生成するステップと、
前記第1のコンピュータデバイスにて、前記第2のプレキー及び前記チャンクカウントに基づいて2つ以上のチャンクを生成するステップと、
前記第1のコンピュータデバイスにて、前記2つ以上のチャンクに基づいて2つ以上のプライバシーキーを生成するステップと、
前記2つ以上のプライバシーキーを前記1又は複数のサーバに送るステップと、
を含む方法。
In a method of generating a key using controlled corruption,
generating, at a first computing device, a first privacy code and one or more parameters associated with first data, the first privacy code based on a first user input; and wherein the first data is based on a second user input;
sending the first privacy code and one or more parameters associated with the first data from the first computing device to one or more servers;
receiving, at the first computing device, a chunk count and a public key from the one or more servers, the chunk count being based on one or more parameters associated with the first data; said public key is part of an asymmetric cryptographic key pair;
compressing the first data to generate compressed first data at the first computing device;
generating, at the first computing device, a first prekey based on the compressed first data and one or more first corruptors;
generating, at the first computing device, the second pre-key based on the first pre-key and one or more second corruptors;
generating two or more chunks at the first computing device based on the second pre-key and the chunk count;
generating, at the first computing device, two or more privacy keys based on the two or more chunks;
sending the two or more privacy keys to the one or more servers;
method including.
前記第2のプレキー及び前記チャンクカウントに基づいて前記2つ以上のチャンクを生成するステップは、
前記第2のプレキーをソルトを用いてコラプションして第3のプレキーを生成するステップと、
1又は複数の第3のコラプタを用いて前記第3のプレキーをコラプションするステップと、
前記チャンクカウントに基づいて、前記コラプションされた第3のプレキーを前記2つ以上のチャンクに分割するステップと、
を含む、請求項12に記載の方法。
generating the two or more chunks based on the second pre-key and the chunk count;
corrupting the second pre-key with a salt to generate a third pre-key;
corrupting the third pre-key with one or more third corruptors;
splitting the corrupted third pre-key into the two or more chunks based on the chunk count;
13. The method of claim 12, comprising:
前記第1のコンピュータデバイスにて2つ以上のチャンク名を受け取るステップを更に含む、請求項12に記載の方法。 13. The method of claim 12, further comprising receiving two or more chunk names at the first computing device. 前記1又は複数のプライバシーキーは更に、前記2つ以上のチャンク名に基づいている、請求項14に記載の方法。 15. The method of claim 14, wherein the one or more privacy keys are further based on the two or more chunk names. 制御されたコラプションを使用してキーを生成して配布する方法において、
1又は複数のサーバにて第1のコンピュータデバイスを登録することと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、
前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、
前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数の第1のプライバシーキーに関するデータと第2のプライバシーコードとを受け取ることであって、
前記ある数の第1のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び1又は複数のコラプタに基づいており、
前記第2のプライバシーコードは前記第1のプライバシーコードに基づいており、
前記ある数の第1のプライバシーキーの数は前記チャンクカウントに等しい、
ことと、
前記1又は複数のサーバにて、前記ある数の第1のプライバシーキーに基づいて第2のデータを生成することであって、前記第2のデータを生成することは、
前記ある数の第1のプライバシーキーを連結して連結キーを生成することと、
前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、
を含んでいる、
ことと、
前記1又は複数のサーバにて、前記第2のデータに基づく結果を生成することと、
前記1又は複数のサーバにて、前記結果に基づいて、受信者識別子及びプライバシーコード識別子を生成することであって、前記受信者識別子は1又は複数のノードに関連しており、前記プライバシーコード識別子は前記第2のプライバシーコードに基づいている、ことと、
前記ある数の第1のプライバシーキー、前記受信者識別子、及び前記プライバシーコード識別子を前記1又は複数のノードに配布することと、
を含む、方法。
In a method of generating and distributing keys using controlled corruption,
registering a first computing device with one or more servers;
receiving, at the one or more servers, from the first computing device a first privacy code and one or more parameters associated with first data, wherein the first privacy code is based on a first user input at the first computing device, the first data being based on a second user input at the first computing device;
generating a chunk count and a public key at the one or more servers, the chunk count being based on one or more parameters associated with the first data, the public key being an asymmetric cryptography being part of a key pair;
sending the chunk count and the public key from the one or more servers to the first computing device;
receiving, at the one or more servers, from the first computing device a number of data relating to a first privacy key and a second privacy code;
the number of first privacy keys is based on the first data, the chunk count, and one or more corruptors;
the second privacy code is based on the first privacy code;
the number of first privacy keys equals the chunk count;
and
generating second data at the one or more servers based on the number of first privacy keys, wherein generating the second data includes:
concatenating the number of first privacy keys to generate a concatenated key;
removing the one or more corruptors from the concatenated key to generate the second data;
contains a
and
generating results at the one or more servers based on the second data;
generating, at the one or more servers, a recipient identifier and a privacy code identifier based on the results, the recipient identifier being associated with one or more nodes; and the privacy code identifier is based on said second privacy code;
distributing the number of first privacy keys, the recipient identifiers, and the privacy code identifiers to the one or more nodes;
A method, including
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第3のデータに基づく2つ以上のプライバシーキーを受け取ることと、
サインインデータを生成することであって、前記サインインデータは前記第3のデータに基づく2以上のプライバシーキーに基づく、ことと、
を更に含む、請求項16に記載の方法。
receiving, at the one or more servers, from the first computing device two or more privacy keys based on third data;
generating sign-in data, said sign-in data being based on two or more privacy keys based on said third data;
17. The method of claim 16, further comprising:
前記受信者識別子及び前記プライバシーコード識別子の少なくとも一方に基づいて、前記1又は複数のノードに格納されているプライバシーキーを取得することと、
エンロールメントデータを生成することであって、前記エンロールメントデータは前記1又は複数のノードから取得されたプライバシーキーに基づく、ことと、
を更に含む、請求項17に記載の方法。
obtaining a privacy key stored in the one or more nodes based on at least one of the recipient identifier and the privacy code identifier;
generating enrollment data, the enrollment data being based on privacy keys obtained from the one or more nodes;
18. The method of claim 17, further comprising:
前記サインインデータと前記エンロールメントデータとを比較することと、
結果を生成することと、
を更に含む、請求項18に記載の方法。
comparing the sign-in data and the enrollment data;
generating a result;
19. The method of claim 18, further comprising:
サーバを備えるシステムにおいて、前記サーバは、
サーバ命令を含むメモリと、
前記サーバ命令を実行するように構成された処理デバイスと、
を備えており、
前記サーバ命令は、前記処理デバイスに、
1又は複数のサーバにて第1のコンピュータデバイスを登録することであって、前記1又は複数のサーバは、セキュリティエンジン、アクションエンジン、ライブラリ、及び前記1又は複数のサーバに関する1又は複数のノードを備える、ことと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、第1のプライバシーコードと第1のデータに関連する1又は複数のパラメータとを受け取ることであって、前記第1のプライバシーコードは前記第1のコンピュータデバイスでの第1のユーザ入力に基づいており、前記第1のデータは前記第1のコンピュータデバイスでの第2のユーザ入力に基づいている、ことと、
前記1又は複数のサーバにて、チャンクカウント及び公開キーを生成することであって、前記チャンクカウントは前記第1のデータに関連する1又は複数のパラメータに基づいており、前記公開キーは非対称暗号キーペアの一部である、ことと、
前記チャンクカウント及び前記公開キーを前記1又は複数のサーバから前記第1のコンピュータデバイスに送ることと、
前記1又は複数のサーバにて、前記第1のコンピュータデバイスから、ある数のプライバシーキーと第2のプライバシーコードとを受け取ることであって、
前記ある数のプライバシーキーは、前記第1のデータ、前記チャンクカウント、及び1又は複数のコラプタに基づいており、
前記第2のプライバシーコードは、前記第1のプライバシーコードに基づいており、
前記ある数のプライバシーキーの数は前記チャンクカウントと等しい、
ことと、
前記1又は複数のサーバにて、前記ある量のプライバシーキーに基づく第2のデータを生成することであって、前記第2のデータを生成することは、
前記ある数のプライバシーキーを連結して連結キーを生成することと、
前記連結キーから前記1又は複数のコラプタを除去して前記第2のデータを生成することと、
を含む、ことと、
を実行させる、システム。
In a system comprising a server, said server comprising:
a memory containing server instructions;
a processing device configured to execute the server instructions;
and
The server instructions instruct the processing device to:
registering a first computing device with one or more servers, wherein the one or more servers include a security engine, an action engine, a library, and one or more nodes associated with the one or more servers; be prepared and
receiving, at the one or more servers, from the first computing device a first privacy code and one or more parameters associated with first data, wherein the first privacy code is based on a first user input at the first computing device, the first data being based on a second user input at the first computing device;
generating a chunk count and a public key at the one or more servers, the chunk count being based on one or more parameters associated with the first data, the public key being an asymmetric cryptography being part of a key pair;
sending the chunk count and the public key from the one or more servers to the first computing device;
receiving a number of privacy keys and a second privacy code from the first computing device at the one or more servers;
the number of privacy keys is based on the first data, the chunk count, and one or more corruptors;
the second privacy code is based on the first privacy code;
the number of privacy keys equals the chunk count;
and
generating, at the one or more servers, second data based on the quantity of privacy keys, wherein generating the second data comprises:
concatenating the number of privacy keys to generate a concatenated key;
removing the one or more corruptors from the concatenated key to generate the second data;
including
the system to run.
JP2022568446A 2020-05-11 2021-05-10 Key Generation Method Using Controlled Corruption in Computer Networks Pending JP2023525774A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/872,127 US10903997B2 (en) 2017-10-19 2020-05-11 Generating keys using controlled corruption in computer networks
US16/872,127 2020-05-11
PCT/IB2021/053964 WO2021229410A1 (en) 2020-05-11 2021-05-10 Generating keys using controlled corruption in computer networks

Publications (1)

Publication Number Publication Date
JP2023525774A true JP2023525774A (en) 2023-06-19

Family

ID=78525415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022568446A Pending JP2023525774A (en) 2020-05-11 2021-05-10 Key Generation Method Using Controlled Corruption in Computer Networks

Country Status (9)

Country Link
EP (1) EP4150858A1 (en)
JP (1) JP2023525774A (en)
KR (1) KR20230024279A (en)
CN (1) CN116018592A (en)
AU (1) AU2021272736A1 (en)
BR (1) BR112022023105A2 (en)
CA (1) CA3178613A1 (en)
MX (1) MX2022014179A (en)
WO (1) WO2021229410A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2348447B1 (en) * 2009-12-18 2014-07-16 CompuGroup Medical AG A computer implemented method for generating a set of identifiers from a private key, computer implemented method and computing device
US10103885B2 (en) * 2016-01-20 2018-10-16 Mastercard International Incorporated Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography
KR20200107931A (en) * 2017-10-19 2020-09-16 오튼하이브 코퍼레이션 System and method for key generation and storage for multi-point authentication

Also Published As

Publication number Publication date
KR20230024279A (en) 2023-02-20
MX2022014179A (en) 2022-12-02
EP4150858A1 (en) 2023-03-22
CA3178613A1 (en) 2021-11-18
CN116018592A (en) 2023-04-25
BR112022023105A2 (en) 2023-01-17
WO2021229410A1 (en) 2021-11-18
AU2021272736A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
JP7448220B2 (en) Key generation/deposit system and method for multipoint authentication
US11652629B2 (en) Generating keys using controlled corruption in computer networks
US10693638B1 (en) Protected cryptographic environment
US20080077791A1 (en) System and method for secured network access
JP2016502377A (en) How to provide safety using safety calculations
US20240121089A1 (en) Protecting data using controlled corruption in computer networks
Islam et al. An anonymous and provably secure authentication scheme for mobile user
Mishra Design and analysis of a provably secure multi-server authentication scheme
Yang et al. Cryptanalysis and improvement of a biometrics-based authentication and key agreement scheme for multi-server environments
JPWO2019077581A5 (en)
Aiash A formal analysis of authentication protocols for mobile devices in next generation networks
Wei et al. Two‐factor authentication scheme using attribute and password
Li et al. A simple and robust anonymous two‐factor authenticated key exchange protocol
JP2023525774A (en) Key Generation Method Using Controlled Corruption in Computer Networks
Pikrammenos et al. Authentication Mechanism Enhancement Utilising Secure Repository for Password Less Handshake
WO2023052845A2 (en) Protecting data using controlled corruption in computer networks
Fan et al. Cryptanalysis and improvement of a smart card-based identity authentication scheme
Pikrammenos et al. IJNSA 01
Varughese et al. Cryptographic Mutual Authentication System with HMAC for Networking Application

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230116