KR20200107931A - System and method for key generation and storage for multi-point authentication - Google Patents

System and method for key generation and storage for multi-point authentication Download PDF

Info

Publication number
KR20200107931A
KR20200107931A KR1020207014292A KR20207014292A KR20200107931A KR 20200107931 A KR20200107931 A KR 20200107931A KR 1020207014292 A KR1020207014292 A KR 1020207014292A KR 20207014292 A KR20207014292 A KR 20207014292A KR 20200107931 A KR20200107931 A KR 20200107931A
Authority
KR
South Korea
Prior art keywords
key
code
server
peer
client
Prior art date
Application number
KR1020207014292A
Other languages
Korean (ko)
Inventor
데비 셀바 쿠마르 비자야나라야난
Original Assignee
오튼하이브 코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오튼하이브 코퍼레이션 filed Critical 오튼하이브 코퍼레이션
Publication of KR20200107931A publication Critical patent/KR20200107931A/en

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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Abstract

본 발명은 사용자, 데이터, 문서, 장치 및 거래를 인증하도록 동작 가능한 플랫폼 및/또는 불가지론적 인증 방법 및 시스템이다. 본 발명의 실시예는 임의의 클라이언트 시스템으로 동작 가능할 수 있다. 인증 방법 및 시스템은 다수의 장치 사이에서 익명 로그인 관련 정보의 고유 부분을 분배하도록 동작 가능하다. 이러한 장치와 익명의 로그인 정보의 고유한 부분은 솔루션에서 사용자, 데이터, 문서, 장치 및 거래를 인증하는 데 사용된다. 로그인 관련 정보는 솔루션의 어느 부분에도 저장되지 않으며 사용자 및 장치는 익명으로 인증된다. 이 솔루션을 통해 사용자는 반자동 프로세스를 통해 사용자의 키를 공개하지 않고도 클라이언트 시스템의 보안 부분에 액세스 할 수 있다.The present invention is a platform and/or agnostic authentication method and system operable to authenticate users, data, documents, devices and transactions. Embodiments of the present invention may be operable with any client system. The authentication method and system is operable to distribute a unique portion of anonymous login related information among multiple devices. This unique piece of device and anonymous login information is used by the solution to authenticate users, data, documents, devices and transactions. Login-related information is not stored in any part of the solution, and users and devices are authenticated anonymously. This solution allows users to access secure portions of the client system without revealing the user's key through a semi-automated process.

Figure P1020207014292
Figure P1020207014292

Description

멀티 포인트 인증을 위한 키 생성 및 보관을 위한 시스템 및 방법System and method for key generation and storage for multi-point authentication

본 발명은 일반적으로 네트워크 또는 시스템 인증 분야에 관한 것으로, 보다 구체적으로는 네트워크의 사용자 인증 및 네트워크 또는 시스템을 통해 상기 사용자와 주고받는 데이터에 관한 것이다.The present invention generally relates to the field of network or system authentication, and more particularly, to user authentication of a network and data exchanged with the user through a network or system.

모든 조직은 잠재적인 보안 침해로부터 데이터를 보호해야 한다. 조직은 데이터 보안을 통해서만 여러 기술을 통해 권한이 있는 사람 만 시스템에 액세스 할 수 있다. 따라서 데이터 보안과 인증된 시스템 액세스는 오늘날 조직이 직면해야 하는 주요 과제 중 하나다.All organizations must protect their data from potential security breaches. Organizations can only access systems through data security, through multiple technologies, to authorized persons. Therefore, data security and authenticated system access are one of the major challenges facing organizations today.

현재 시스템 및 네트워크 사용자의 다양한 인증 유형에 영향을 미치는 많은 시스템 및 방법이 있다. 이러한 다양한 유형의 인증에는 보안 수준과 안정성이 다르다. 다음은 시스템 및 네트워크를 위한 종래 기술의 인증 방법 유형의 예이다.There are currently a number of systems and methods that affect the different types of authentication of system and network users. These different types of authentication have different levels of security and stability. The following are examples of prior art authentication method types for systems and networks.

2005 년 11 월 8 일에 IGT에 허여된 미국 특허 제6,962,530 호는 게임 코드 및 기타 데이터의 안전한 저장 및 검증을 특징으로 하는 게임 특정 플랫폼을 위한 아키텍처 및 방법을 개시하고 있다. 이 방법은 또한 컴퓨터 화 된 베팅 게임 시스템과 데이터를 안전하게 교환할 수 있는 능력을 사용자에게 제공한다. 본 발명은 다수의 장치들 사이에 로그인 정보를 확산시키는 것을 포함하지 않는다.U.S. Patent No. 6,962,530, issued to the IGT on November 8, 2005, discloses an architecture and method for a game-specific platform featuring secure storage and verification of game code and other data. This method also provides users with the ability to securely exchange data with a computerized betting game system. The present invention does not involve spreading login information among multiple devices.

2015 년 6 월 9 일 엔이씨 솔루션 이노베이터 사(NEC Solution Innovators, Ltd.)에 허여된 미국 특허 제9,053,306호는 사용자가 입력한 로그인 정보로부터 제1 및 제2 해싱 값을 계산할 수 있는 인증 시스템을 개시하고 있다. 첫 번째와 두 번째 해싱 값이 서로 일치하면 서버와 터미널 간에 세션이 설정된다. 본 발명은 암호화된 세부 사항의 일부를 유지하는 것을 포함하지 않는다.U.S. Patent No. 9,053,306, issued to NEC Solution Innovators, Ltd. on June 9, 2015, initiates an authentication system that can calculate first and second hashing values from login information entered by a user. Are doing. If the first and second hashing values match each other, a session is established between the server and the terminal. The invention does not involve retaining some of the encrypted details.

2015 년 3 월 24 일 마이크로 소프트 사(Microsoft Corporation)에 허여된 미국 특허 제8,989,706호의 장치를 사용한 콘텐츠의 병렬 다운로드와 관련하여 장치의 자동 보안 페어링과 관련된 시스템, 방법 및/또는 기술을 공개한다. 장치를 페어링 하기 위한 툴은 주소 및 키에 기초하여 인증 프로토콜을 수행할 수 있다. 본 발명은 암호화된 세부 사항의 일부를 유지하는 것을 포함하지 않는다.US Patent No. 8,989,706 issued to Microsoft Corporation on March 24, 2015 discloses a system, method, and/or technology related to automatic secure pairing of devices in connection with parallel downloading of content using devices. A tool for pairing devices may perform an authentication protocol based on an address and a key. The invention does not involve retaining some of the encrypted details.

2013 년 1 월 15 일 코닌클리케 필립스 일렉트로닉스 엔.브이.(Koninklijke Philips Electronics N.V.)에 허여된 미국 특허 제8,356,180호는 심층 공통 보안 영역에서 안전한 통신을 위한 다차원 식별, 인증, 인증 및 키 분배 관계를 위한 방법을 개시하고 있다. 본 발명은 사용자가 시스템에 사용자의 키를 공개하지 않으면 거래를 인증할 수 없다.U.S. Patent No. 8,356,180, issued to Koninklijke Philips Electronics NV on January 15, 2013, describes multidimensional identification, authentication, authentication, and key distribution relationships for secure communication in a deep common security domain. Disclosing method for The present invention cannot authenticate a transaction unless the user discloses the user's key to the system.

2000 년 8 월 25 일 유나이티드 장치 사(United Devices, Inc.)에 허여된 미국 특허 제6,847,995호는 분산 프로세싱 시스템 내에서 보안 전송을 제공하기 위한 보안 아키텍처 및 관련 방법을 개시하고 있다. 본 발명은 다층 암호화 또는 암호화된 세부 사항의 일부를 유지하는 것을 포함하지 않는다.US Patent No. 6,847,995, issued to United Devices, Inc. on August 25, 2000, discloses a security architecture and related method for providing secure transmission within a distributed processing system. The invention does not involve multi-layer encryption or maintaining some of the encrypted details.

2016 년 11 월 23 일 야론 크빌리(Yaron Gvili)가 출원한 미국 특허 출원 공개 번호 2017/0149796은 제3 자 검증자가 보안 데이터의 측면을 검증하거나 성공적인 통신을 가능하게 하는 시스템 및 기술을 개시하고 있다. 본 발명은 다층 암호화 또는 암호화된 세부 사항의 일부를 유지하는 것을 포함하지 않는다.U.S. Patent Application Publication No. 2017/0149796 filed by Yaron Gvili on November 23, 2016, discloses systems and technologies that allow third-party verifiers to verify aspects of secure data or to enable successful communication. . The invention does not involve multi-layer encryption or maintaining some of the encrypted details.

2011 년 6 월 6 일 이사무 테라니시(Isamu Teranishi)가 출원 한 미국 특허 출원 공개 제2011/0246779 호는 이산 로그 제로 지식 증명을 허용하는 제로 지식 증명 시스템을 개시하고 있다. 본 발명은 다층 암호화 또는 암호화된 세부 사항의 일부를 유지하는 것을 포함하지 않는다.US Patent Application Publication No. 2011/0246779 filed on June 6, 2011 by Isamu Teranishi discloses a zero knowledge proof system that allows discrete log zero knowledge proof. The invention does not involve multi-layer encryption or maintaining some of the encrypted details.

종래 기술의 암호화 방법 및 시스템은 특히 사용자와 사용자 및 시스템 또는 네트워크 사이에서 데이터 및 정보의 전송에 제3자가 개입하는 것에 취약하다. 제3자가 전송 중인 데이터에 액세스 할 수 있는 경우 해당 정보에서 로그인 세부 정보를 추정할 수 있다. 사용자와 시스템 간에 전송된 데이터에서 모든 로그인 정보를 사용할 수 있는 경우 제3자는 사용자의 로그인 정보를 사용하여 시스템에 로그인 할 수 있다. 알려진 인증 방법과 시스템을 사용하는 경우 현재 시스템에 보안 위험이 발생한다.Encryption methods and systems of the prior art are particularly susceptible to involvement of third parties in the transmission of data and information between users and users and systems or networks. If a third party has access to the data being transmitted, the login details can be estimated from that information. If all login information is available in the data transferred between the user and the system, a third party can log in to the system using the user's login information. Using a known authentication method and system poses a security risk to the current system.

전송된 데이터와의 제3 자 간섭을 통해 사용자의 로그인 정보를 얻지 못하게 하는 인증 방법 및 시스템이 필요하다. There is a need for an authentication method and system that prevents obtaining user login information through third party interference with transmitted data.

일 측면에서, 본 발명은 사용자, 데이터, 문서, 장치 및 거래를 인증하도록 동작 가능한 인증 방법(authentication method) 및 시스템에 관한 것이다. 본 발명의 실시예는 임의의 시스템 또는 네트워크에서 동작 가능할 수 있으며 플랫폼에 구애받지 않는다. 인증 방법 및 시스템은 다수의 장치들 사이에서 로그인 관련 정보의 고유 부분(unique portion)을 안전하게 발생 및 분배하도록 동작 가능하다. 로그인 관련 정보의 지불된 부분(disbursed portion)은 시스템에 로그인 관련 정보를 공개하지 않고 사용자, 데이터, 문서, 장치 및 거래를 인증하기 위해 시스템에 의해 이용된다. 이 시스템은 발생, 전송, 저장 및 인증시 로그인 관련 정보를 보호한다. 다른 측면에서, 본 개시는 시스템에 키를 공개하지 않는 인증에 관한 것이다.In one aspect, the present invention relates to an authentication method and system operable to authenticate users, data, documents, devices and transactions. Embodiments of the present invention may be capable of operating in any system or network and are platform independent. The authentication method and system is operable to securely generate and distribute a unique portion of login related information among multiple devices. The paid portion of login related information is used by the system to authenticate users, data, documents, devices and transactions without revealing login related information to the system. This system protects login-related information during generation, transmission, storage and authentication. In another aspect, the present disclosure relates to authentication without revealing the key to the system.

다른 측면에서, 본 개시는 다음을 포함하는 사용자 인증 시스템 및 방법에 관한 것이다: 보안 부분을 통합한 클라이언트 시스템; 사용자가 클라이언트 시스템에 액세스 하고 로그인 정보의 일부(portions of login information)를 저장하도록 동작 가능한 사용자 시스템(user system);In another aspect, the present disclosure is directed to a user authentication system and method comprising: a client system incorporating a secure portion; A user system operable to allow a user to access the client system and store portions of login information;

상기 클라이언트 시스템 및 상기 사용자 시스템과 정보를 송수신할 수 있는 검증 시스템(verification system); 및A verification system capable of transmitting and receiving information to and from the client system and the user system; And

사용자에 대한 로그인 관련 정보의 고유 부분이 검증 시스템과 함께 양방향으로 전송될 수 있고 저장되고 액세스 되고 사용되는 다수의 동기화 요소(multiple synchronization element)를 통합시키는 동기화 시스템을 포함한다.It includes a synchronization system incorporating multiple synchronization elements in which a unique portion of login related information for a user can be transmitted in both directions with the verification system and is stored, accessed and used.

또 다른 측면에서, 본 발명은 클라이언트 시스템과의 사용자 상호 작용을 인증하기 위한 시스템 및 방법에 관한 것으로, 사용자 장치; 클라이언트 시스템; 클라이언트 디스플레이 유닛; 및 클라이언트 검증 시스템을 포함하고; 사용자 장치, 클라이언트 시스템, 클라이언트 디스플레이 유닛 및 클라이언트 검증 시스템은 사용자가 시스템에 대한 사용자 키를 공개하지 않고 클라이언트 시스템과의 사용자 상호 작용을 인증하도록 동작 가능하다.In yet another aspect, the present invention relates to a system and method for authenticating user interaction with a client system, comprising: a user device; Client system; A client display unit; And a client verification system; The user device, the client system, the client display unit and the client verification system are operable to allow the user to authenticate user interaction with the client system without revealing a user key for the system.

이와 관련하여, 본 발명의 적어도 하나의 실시예를 상세히 설명하기 전에, 본 발명은 다음의 설명에서 설명되거나 도면에 도시된 구성 요소의 구성 및 구성의 세부 사항에 적용되는 것으로 제한되지 않음을 이해해야 한다. 본 발명은 다른 실시예가 가능하며 다양한 방식으로 실시 및 수행될 수 있다. 또한, 본원에 사용된 어구 및 용어는 설명의 목적을 위한 것이며 제한하는 것으로 간주되어서는 안된다는 것을 이해해야 한다.In this regard, before describing at least one embodiment of the present invention in detail, it should be understood that the present invention is not limited to being applied to the details of the configuration and configuration of components described in the following description or illustrated in the drawings. . The present invention is capable of other embodiments and can be implemented and carried out in various ways. In addition, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.

본 발명은 더 잘 이해될 것이며, 본 발명의 목적은 다음의 상세한 설명을 고려할 때 명백해질 것이다. 이러한 설명은 첨부 도면을 참조하며, 여기서:
도 1은 본 발명의 인증 시스템의 실시예를 도시한 시스템 도면이다.
도 2는 본 발명의 일 실시예의 클라이언트 시스템과 검증 시스템 사이에서 데이터의 전송을 수행하도록 동작 가능한 요소들의 구성을 도시한 시스템 도면이다.
도 3은 본 발명의 실시예의 등록 프로세스를 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 4는 본 발명의 실시예의 액세스 프로세스를 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 5는 본 발명의 일 실시예에 따라 해싱 된 OY-패킷 부분을 프로세싱 하도록 동작 가능한 동기화 요소를 도시한 시스템 도면이다.
도 6은 본 발명의 일 실시예의 디코딩 프로세스를 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 장치의 요소를 도시한 시스템 도면이다.
도 8은 본 발명의 일 실시예에 따른 클라이언트 시스템의 요소를 나타내는 시스템 도면이다.
도 9는 본 발명의 일 실시예에 따른 클라이언트 디스플레이 유닛의 컴포넌트를 나타내는 시스템 도면이다.
도 10은 본 발명의 일 실시예에 따른 검증 시스템의 요소를 도시한 시스템 도면이다.
도 11은 본 발명의 일 실시예에 따라 클라이언트 시스템의 보안 부분(들)에 액세스 하기 위한 사용자 인증 요청의 프로세싱을 수행하도록 동작 가능한 요소들의 구성을 도시한 시스템 도면이다.
도 12는 본 발명의 일 실시예에 따라 사용자 인증을 위한 잡음 및 키의 생성 및 프로세싱을 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 13은 본 발명의 일 실시예에 따라 사용자의 인증을 위한 키의 검증을 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 14는 본 발명의 일 실시예에 따라 사용자의 인증을 위한 토큰의 검증을 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 15는 본 발명의 일 실시예에 따라 사용자의 인증을 위해 클라이언트 디스플레이 시스템을 통해 챌린지의 검증을 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 16은 본 발명의 일 실시예에 따른 사용자 인증을 위해 사용자 장치를 통해 챌린지의 검증을 수행하도록 동작 가능한 요소의 구성을 도시한 시스템 도면이다.
도 17은 본 발명의 일 실시예에 따른 등록 방법을 도시한다.
도 18은 본 발명의 일 실시예에 따른 하나 이상의 키를 발생하는 방법을 도시한다.
도 19는 본 발명의 일 실시예에 따라 하나 이상의 키를 분배하는 방법을 도시한다.
도 20은 본 발명의 일 실시예에 따른 로그인 방법을 도시한다.
도 21은 본 발명의 일 실시예에 따른 하나 이상의 키를 발생하는 방법을 도시한다.
도 22는 본 발명의 일 실시예에 따른 하나 이상의 검증 키를 분배하는 방법을 도시한다.
도 23은 본 발명의 일 실시예에 따라 로컬 데이터 베이스에서 검증 키를 검증하는 방법을 도시한다.
도 24는 본 발명의 일 실시예에 따른 검증 프로세스를 검증하는 방법을 도시한다.
도 25는 본 발명의 일 실시예에 따라 하나 이상의 바코드를 생성하는 방법을 도시한다.
도 26은 본 발명의 일 실시예에 따라 하나 이상의 키를 생성하는 방법을 도시한다.
도 27은 본 발명의 일 실시예에 따라 하나 이상의 키를 생성하는 방법을 도시한다.
도 28은 본 발명의 일 실시예에 따라 하나 이상의 키를 생성하는 방법을 도시한다.
도 29는 본 발명의 일 실시예에 따라 웹 세션을 설정하는 방법을 도시한다.
도면에서, 본 발명의 실시예가 예로서 도시되어 있다. 설명 및 도면은 단지 예시의 목적을 위한 것이며 이해를 돕기 위한 것이며, 본 발명의 한계를 정의하기 위한 것이 아님을 명백히 이해해야 한다.
The invention will be better understood, and the object of the invention will become apparent upon consideration of the following detailed description. This description refers to the accompanying drawings, where:
1 is a system diagram showing an embodiment of an authentication system of the present invention.
FIG. 2 is a system diagram showing a configuration of elements operable to transmit data between a client system and a verification system according to an embodiment of the present invention.
3 is a system diagram showing the configuration of elements operable to perform the registration process of the embodiment of the present invention.
4 is a system diagram showing the configuration of an element operable to perform an access process of an embodiment of the present invention.
5 is a system diagram illustrating a synchronization element operable to process a hashed OY-packet portion according to an embodiment of the present invention.
6 is a system diagram showing a configuration of an element operable to perform a decoding process according to an embodiment of the present invention.
7 is a system diagram showing elements of a user device according to an embodiment of the present invention.
8 is a system diagram showing elements of a client system according to an embodiment of the present invention.
9 is a system diagram illustrating components of a client display unit according to an embodiment of the present invention.
10 is a system diagram showing elements of a verification system according to an embodiment of the present invention.
11 is a system diagram illustrating the configuration of elements operable to perform processing of a user authentication request for accessing a secure portion(s) of a client system according to an embodiment of the present invention.
12 is a system diagram showing the configuration of elements operable to generate and process noise and keys for user authentication according to an embodiment of the present invention.
13 is a system diagram showing a configuration of an element operable to verify a key for user authentication according to an embodiment of the present invention.
14 is a system diagram showing the configuration of an element operable to verify a token for user authentication according to an embodiment of the present invention.
15 is a system diagram showing the configuration of an element operable to perform challenge verification through a client display system for user authentication according to an embodiment of the present invention.
16 is a system diagram showing a configuration of an element operable to perform challenge verification through a user device for user authentication according to an embodiment of the present invention.
17 shows a registration method according to an embodiment of the present invention.
18 illustrates a method of generating one or more keys according to an embodiment of the present invention.
19 shows a method of distributing one or more keys according to an embodiment of the present invention.
20 shows a login method according to an embodiment of the present invention.
21 shows a method of generating one or more keys according to an embodiment of the present invention.
22 illustrates a method of distributing one or more verification keys according to an embodiment of the present invention.
23 illustrates a method of verifying a verification key in a local database according to an embodiment of the present invention.
24 shows a method of verifying a verification process according to an embodiment of the present invention.
25 illustrates a method of generating one or more barcodes according to an embodiment of the present invention.
26 illustrates a method of generating one or more keys according to an embodiment of the present invention.
27 illustrates a method of generating one or more keys according to an embodiment of the present invention.
28 illustrates a method of generating one or more keys according to an embodiment of the present invention.
29 illustrates a method of establishing a web session according to an embodiment of the present invention.
In the drawings, embodiments of the invention are shown by way of example. It should be clearly understood that the description and drawings are for illustrative purposes only and are for better understanding, and are not intended to define the limitations of the present invention.

본 발명은 사용자, 데이터, 문서, 장치 및 거래(transaction)를 인증하도록 동작 가능한 인증 방법(authentication method) 및 시스템이다. 본 발명의 실시예는 임의의 조직 또는 개인의 임의의 시스템 또는 네트워크와 동작 가능할 수 있다. 인증 방법 및 시스템은 다수의 장치들 사이에서 로그인 관련 정보의 고유 부분(unique portion)을 분배하도록 동작 가능하다. 로그인 관련 정보(login related information)의 지불된 부분(disbursed portion)은 시스템에 로그인 관련 정보를 공개하지 않고 사용자, 데이터, 문서, 장치 및 거래를 인증하기 위해 시스템에 의해 이용된다. 로그인 관련 정보는 다층 암호화(multi-layer encryption) 및/또는 해싱을 통해 암호화 및/또는 해싱 되며, 및 암호화 및/또는 해싱 된 세부 사항 중 일부는 보류된다. 로그인 관련 정보가 저장되는 장치는 모두 인증 방법 및 시스템에서 이용될 것이다. 사용자에게 제공된 로그인 관련 정보는 시스템 또는 사용자 장치에 공개 및/또는 저장되지 않는다. 데이터, 문서, 장치 및 거래 인증시 시스템에 키를 공개하지 않아도 된다.The present invention is an authentication method and system operable to authenticate users, data, documents, devices and transactions. Embodiments of the present invention may be operable with any system or network of any organization or individual. The authentication method and system is operable to distribute a unique portion of login related information among multiple devices. The paid portion of login related information is used by the system to authenticate users, data, documents, devices and transactions without disclosing login related information to the system. Login-related information is encrypted and/or hashed through multi-layer encryption and/or hashing, and some of the encrypted and/or hashed details are reserved. All devices storing login-related information will be used in the authentication method and system. Login related information provided to the user is not disclosed and/or stored on the system or user device. When authenticating data, documents, devices and transactions, there is no need to disclose keys to the system.

본 명세서에서 "클라이언트 시스템(client system)"은 조직 또는 개인의 네트워크 또는 시스템을 의미한다. 본 명세서에서 "사용자 장치(user device)"에 대한 언급은 사용자가 랩톱, 태블릿, 휴대폰, 스마트 폰, 데스크탑 컴퓨터, 스마트 워치, 컴퓨팅 장치와 같은 장치를 이용하여 클라이언트 시스템에 로그인 하는 것을 의미하며, 사용자는 클라이언트 시스템 또는 보안 로그인이 필요한 다른 장치에 로그인 할 수 있다. 사용자와 클라이언트 시스템 사이의 "정보 전송(transfer of information)"에 대한 언급은 시스템과 관련하여 발생하는 정보의 발생, 전송 또는 저장을 포함할 수 있다. 명확성을 위해, 다른 시스템 또는 요소에 "액세스(access)" 하는 인증 시스템의 임의의 장치 또는 요소를 참조할 때, 여기에는 다음 중 하나가 포함될 수 있다:(i) 다른 유닛 또는 요소에 액세스 하여 정보를 획득하는 유닛 또는 요소; 또는(ii) 검색 또는 생성될 정보에 대한 요청을 다른 유닛 또는 요소로 전송하는 유닛 또는 요소, 및 그러한 정보가 요청에 응답하여 검색되거나 생성되면, 그러한 정보는 요청을 전송한 유닛 또는 요소로 전송될 수 있다.In the present specification, "client system" refers to a network or system of an organization or individual. In the present specification, reference to "user device" means that a user logs in to a client system using a device such as a laptop, tablet, mobile phone, smart phone, desktop computer, smart watch, or computing device. Can log in to the client system or any other device that requires secure login. Reference to “transfer of information” between a user and a client system may include generation, transfer or storage of information that occurs in connection with the system. For clarity, when referring to any device or element of an authentication system that “accesses” to another system or element, it may include one of the following: (i) Information by accessing another unit or element. A unit or element that obtains a; Or (ii) a unit or element that transmits a request for information to be retrieved or generated to another unit or element, and if such information is retrieved or generated in response to the request, such information will be transmitted to the unit or element that sent the request. I can.

사용자가 사용자 장치를 사용하여 클라이언트 시스템에 로그인 할 때, 사용자 장치와 클라이언트 시스템 간의 로그인 관련 정보의 발생, 전송, 저장 또는 인증은 제3자의 공격에 취약할 수 있다. 사용자 장치 또는 클라이언트 시스템에 대한 제3 자의 공격의 결과로, 로그인 정보를 발생, 전송, 저장 및/또는 인증하는 동안 제3자는 그러한 정보를 악의적인 목적으로 획득 및/또는 사용할 수 있다. 예를 들어, 제3자는 얻은 로그인 정보를 사용하여 클라이언트 시스템에 로그인 할 수 있다. 따라서 클라이언트 시스템으로부터의 더 많은 로그인 관련 정보를 얻음으로써 클라이언트 시스템에 대한 무단 액세스를 달성하거나 클라이언트 시스템에 연결된 시스템으로 측 방향으로 이동한다. 다른 예로서, 제3자는 다양한 무단 목적으로 공격으로 인해 얻은 데이터, 문서 또는 거래 정보를 활용할 수 있다(즉, 상대방에게 정보를 분배하고, 시장 이점을 얻기 위해 정보를 사용하고, 몸값, 간첩, 전복 등에 대한 정보 인질을 보유하는 등). 본 발명은 클라이언트 시스템 또는 클라이언트 장치와 사용자 장치 사이에서 발생, 전송 및/또는 저장되는 데이터, 문서 또는 거래 정보의 무단 사용에 대한 클라이언트 시스템의 취약성을 감소시킨다.When a user logs in to a client system using a user device, the generation, transmission, storage, or authentication of login-related information between the user device and the client system may be vulnerable to a third party attack. As a result of a third party's attack on a user device or client system, the third party may obtain and/or use such information for malicious purposes while generating, transmitting, storing and/or authenticating login information. For example, a third party can log into the client system using the obtained login information. Hence, by obtaining more login-related information from the client system, unauthorized access to the client system is achieved, or it moves laterally to the system connected to the client system. As another example, third parties may use data, documents or transactional information obtained from attacks for a variety of unauthorized purposes (i.e., distributing information to counterparties, using information to gain market advantage, ransom money, espionage, subversiveness). Etc.). The present invention reduces the vulnerability of the client system to unauthorized use of data, documents or transactional information generated, transmitted and/or stored between the client system or the client device and the user device.

본 발명의 방법은 조직 또는 개인의 클라이언트 시스템에 로그인 하기 위해 사용자 장치를 이용하는 사용자를 포함한다. 로그인 관련 정보는 단일 또는 다중 계층 해싱 및/또는 암호화 프로세스를 통해 해싱 및/또는 암호화된다. 특히, 암호화 및/또는 해싱 키의 적어도 일부가 생성되어 사용자의 장치에 저장될 수 있다. 로그인 관련 정보의 다른 고유 부분은 그 환경에서 다른 장치에 저장된다. 다수의 장치 사이에서 로그인 관련 정보의 고유 부분의 지불은 클라이언트 시스템과 사용자의 장치 사이에서 전송되는 정보에 액세스 하는 제3자가 클라이언트 시스템에 성공적으로 로그인 하는데 필요한 정보의 일부 또는 전부를 획득할 수 없음을 의미한다. 또한, 현재 시스템의 한 측면에서, 데이터 문서, 장치, 거래 및/또는 사용자를 인증하기 위해, 사용자의 장치는 클라이언트 시스템에 유효한 키가 있거나 장치가 이전에 인증되었음을 증명해야 한다. 이것은 사용자 장치가 클라이언트 시스템에 키를 공개할 필요없이 본 발명에 의해 달성될 것이다. 따라서, 데이터, 문서, 장치, 거래 및 사용자의 인증은 사용자가 자신의 키를 클라이언트 시스템에 공개하지 않고도 발생할 수 있다.The method of the present invention involves a user using a user device to log into an organization or individual's client system. Login related information is hashed and/or encrypted through a single or multi-layer hashing and/or encryption process. In particular, at least a portion of the encryption and/or hashing key may be generated and stored on the user's device. Other unique pieces of login-related information are stored on different devices in the environment. Payment of a unique portion of login-related information between multiple devices indicates that a third party accessing information transferred between the client system and the user's device is unable to obtain some or all of the information required to successfully log in to the client system. it means. Also, in one aspect of the current system, in order to authenticate a data document, device, transaction and/or user, the user's device must prove that it has a valid key on the client system or that the device has previously been authenticated. This will be achieved by the present invention without the need for the user device to disclose the key to the client system. Thus, authentication of data, documents, devices, transactions and users can occur without the user revealing his or her key to the client system.

로그인 관련 정보는 고유하게 발생되며 저장 및/또는 전송되지 않는다; 이는 사용자 장치 지원 다 지점 인증과 함께 클라이언트 시스템에 대한 무단 제3자 액세스를 방지한다.Login related information is generated uniquely and is not stored and/or transmitted; This prevents unauthorized third-party access to the client system along with user device support multi-point authentication.

대부분의 종래 기술의 인증 시스템은 사용자의 장치와 클라이언트 시스템 사이에서 로그인 관련 정보의 발생, 저장, 전송 및 단일 지점 인증을 포함하므로, 종래 기술의 시스템은 이러한 정보가 제3 자에 의해 손상되는 것에 취약하다. 이러한 정보가 제3 자에 의해 획득되면, 이 정보는 데이터, 문서 또는 거래 정보의 인증 또는 무단 사용없이 단일 인증 지점에서 시스템 네트워크에 로그인 하는 데 사용될 수 있다. 본 발명은 클라이언트 시스템, 데이터, 문서 또는 거래 정보에 대한 무단 액세스를 허용하는 정보에 대한 제3 자 액세스에 취약하지 않다는 점에서 종래 기술의 시스템에 비해 이점을 제공한다. 본 발명의 인증 시스템은 발생, 저장, 이동(transit) 및 인증 지점에서 손상될 수 있는 종래 기술의 인증 문제를 해결한다.Since most prior art authentication systems involve the generation, storage, transmission and single point authentication of login-related information between the user's device and the client system, prior art systems are vulnerable to such information being compromised by third parties. Do. If such information is obtained by a third party, this information can be used to log into the system network from a single point of authentication without authentication or unauthorized use of data, documents or transaction information. The present invention provides an advantage over prior art systems in that the client system is not vulnerable to third party access to information that allows unauthorized access to data, documents or transactional information. The authentication system of the present invention solves the prior art authentication problems that can be compromised at generation, storage, transit and authentication points.

종래 기술 시스템에 비해 본 발명의 다른 이점의 예로서 종래 기술 시스템은 일반적으로 임의의 유형의 클라이언트 시스템, 또는 임의의 유형의 사용자 장치와 함께 동작할 수 없다는 것이다. 본 발명은 임의의 플랫폼, 솔루션 또는 환경을 통해 조직의 데이터에 액세스하기 위해 사용자에게 필요한 보안 액세스를 제공할 보안 인증 시스템을 조직에 제공한다. 본 발명은 임의의 유형의 클라이언트 시스템 및 임의의 플랫폼상의 임의의 사용자 장치와 함께 사용하기 위해 임의의 조직에 의해 구현될 수 있다.As an example of another advantage of the invention over prior art systems, prior art systems are generally not capable of operating with any type of client system, or any type of user device. The present invention provides an organization with a secure authentication system that will provide users with the necessary secure access to access their organization's data through any platform, solution or environment. The present invention may be implemented by any organization for use with any type of client system and any user device on any platform.

종래 기술에 비해 본 발명의 이점의 또 다른 예는 본 발명이 환경 내에서 장치의 하이브 인증(hive authorization)을 수행할 수 있다는 것이다. 예를 들어, 지리-시간 영역(geo-temporal zone)에 걸쳐 여러 모바일 및/또는 저장 장치를 하이브 인증 과정에서 인증할 수 있다. 종래 기술의 시스템은 지리-시간 영역에 걸쳐 하이브 인증을 수행하도록 작동될 수 없다.Another example of the advantages of the present invention over the prior art is that the present invention can perform hive authorization of devices within the environment. For example, multiple mobile and/or storage devices across a geo-temporal zone can be authenticated in the Hive authentication process. Prior art systems cannot be operated to perform hive authentication over a geo-time domain.

본 발명의 실시예는 내부에 보안 부분을 갖는 클라이언트 시스템에 대한 사용자 로그인을 위해 또는 사용자가 그러한 시스템의 보안 부분에 액세스하기 위해 사용자를 인증하도록 동작 가능한 다수의 컴포넌트를 포함할 수 있다. 예를 들어, 본 발명의 일 실시예는 다음과 같이 3 가지 주요 컴포넌트를 포함할 수 있다:(1) 동기화 된 다중 얼굴 인증(SMFA);(2) 대화식 반 수동 인증(ISMA);(3) 거래 인증. 본 발명의 이러한 실시예의 예를 제공하기 위해, 본 발명의 실시예의 이들 3 가지 컴포넌트는 모두 후술된다. 숙련된 독자는 이하에 설명된 3 개의 컴포넌트 중 하나 또는 2 개 만을 포함하는 구성, 또는 다른 컴포넌트를 포함하는 구성을 포함하여 본 발명의 다른 구성이 가능하다는 것을 인식할 것이다.Embodiments of the present invention may include a number of components operable to authenticate a user for a user login to a client system having a secure portion therein or for a user to access a secure portion of such a system. For example, an embodiment of the present invention may include three main components as follows: (1) Synchronized Multi-Face Authentication (SMFA); (2) Interactive Semi-Manual Authentication (ISMA); (3) Transaction authentication. To provide an example of this embodiment of the present invention, all three of these components of the embodiment of the present invention are described below. A skilled reader will recognize that other configurations of the invention are possible, including configurations including only one or two of the three components described below, or configurations including other components.

[11][11]

동기화 된 다중 얼굴 인증(Synchronized Multi-Faceted Authentication)(SMFA)Synchronized Multi-Faceted Authentication (SMFA)

본 발명의 사용자를 위한 인증 방법 및 시스템은 랜덤 멀티-유닛 로그인 관련 정보의 암호화 및/또는 해싱 된 부분이 장치(예를 들어, 사용자 및/또는 시스템 장치 및 저장 유닛) 사이에 분배되고 및 그러한 장치들 모두는 사용자를 인증하기 위해 이용되어야 한다.The authentication method and system for a user of the present invention is that the encrypted and/or hashed portion of random multi-unit login related information is distributed between devices (e.g., users and/or system devices and storage units) and such devices All of them should be used to authenticate the user.

따라서 로그인 데이터가 발생, 전송, 저장 또는 인증시(예를 들어, 제3자의 무단 액세스 등) 손상된 경우, 알 수 없는 사용자(들)의 시간에 민감한 랜덤 로그인 관련 정보의 암호화 및/또는 해싱 부분 만이 얻어질 것이며, 이 데이터는 사용자를 인증하는데 사용될 수 없다.Therefore, when login data is generated, transmitted, stored or compromised during authentication (e.g., unauthorized access by third parties, etc.), only the encryption and/or hashing portion of time-sensitive random login-related information of unknown user(s) is Will be obtained, and this data cannot be used to authenticate the user.

더 구체적으로, 본 발명은 클라이언트 시스템에 로그인 하기 위하여 사용자가 챌린지, 예를 들어 정적인 챌린지, 핀 및/또는 패턴 챌린지, 애니메이션 및/또는 비 애니메이션 챌린지, 그래픽 및/또는 비 그래픽 챌린지, 2 차원 및/또는 3 차원 챌린지, 이동 및/또는 정적 게임화 된 챌린지, 및/또는 게임화 되지 않은 인터페이스 챌린지에 참여하도록 요구되도록 동작할 수 있다. 시스템은 일련의 단위를 선택할 수 있으며 이를 사용하여 챌린지를 생성할 수 있다. 각 단위에는 랜덤하게 여러 자리가 할당되며 각 로그인 이벤트마다 변경될 수 있다. 사용자는 동일한 인증 이벤트 및 모든 후속 인증 이벤트에서 여러 챌린지를 선택할 수 있다.More specifically, the present invention provides a challenge for a user to log into a client system, e.g., a static challenge, a pin and/or pattern challenge, an animated and/or non-animated challenge, a graphic and/or non-graphical challenge, two-dimensional and /Or 3D challenges, mobile and/or static gamified challenges, and/or non-gamified interface challenges. The system can select a set of units and use them to create challenges. Each unit is randomly assigned several digits and can be changed for each login event. The user can select multiple challenges in the same authentication event and all subsequent authentication events.

챌린지 중에 선택된 일련의 단위는 인증 시스템에 의해 여러 고유 시스템 부분으로 나뉜다. 각 단위 부분의 단위는 단위 결과를 생성하기 위해 개별적으로 해싱 또는 암호화될 수 있다. 각 시스템 부분의 유닛들은 시스템 부분 결과를 생성하기 위해 집합 적으로 해싱 및/또는 암호화된다. 시스템 부분의 각 장치 및 각 시스템 부분에 적용되는 해싱 및/또는 암호화의 수는 변할 수 있다.The set of units selected during the challenge is divided into several unique system parts by the authentication system. The units of each unit part can be individually hashed or encrypted to produce a unit result. The units of each system part are collectively hashed and/or encrypted to produce a system part result. Each device in the system part and the number of hashing and/or encryption applied to each system part may vary.

해싱 및/또는 암호화된 결과의 일부는 클라이언트 또는 다른 시스템의 분산 아키텍처(distributed architecture)의 다른 장치에 저장되며 일부는 사용자의 장치에 저장된다. 예를 들어, 해싱 및/또는 암호화된 결과의 일부는 다수의 사용자 및 시스템 장치에 저장될 수 있다.A portion of the hashed and/or encrypted result is stored on the client or on another device in the distributed architecture of the other system and a portion on the user's device. For example, portions of the hashed and/or encrypted results may be stored on multiple users and system devices.

사용자 장치뿐만 아니라 해싱 및/또는 암호화된 부분 데이터를 포함하는 모든 클라이언트 시스템 장치는 자체 검증해야 한다. 장치가 인증되면 사용자를 공동 인증할 수 있다.User devices as well as all client system devices that contain hashed and/or encrypted partial data must self-verify. Once the device is authenticated, users can be jointly authenticated.

본 인증 시스템 발명은 플랫폼에 구애받지 않으므로 임의의 클라이언트 시스템과 함께 사용될 수 있다.The present authentication system invention is platform independent and thus can be used with any client system.

대화식 반 수동 인증(Interactive Semi-Manual Authentication)(ISMA)Interactive Semi-Manual Authentication (ISMA)

본 발명의 사용자에 대한 인증 프로세스는 로그인 정보가 다층 암호화 및/또는 해싱 기능을 사용하여 암호화 및/또는 해싱 되도록 동작한다. 랜덤 암호화 및/또는 해싱 세부 사항의 일부는 클라이언트 시스템 또는 사용자 장치에 저장되지 않고 수동으로 전송되고 보류되므로(held back), 그리하여 전송, 저장 또는 인증 중에 손상될 가능성을 줄인다.The authentication process for the user of the present invention operates such that login information is encrypted and/or hashed using a multi-layer encryption and/or hashing function. Some of the random encryption and/or hashing details are not stored on the client system or user device, but are manually transmitted and held back, thereby reducing the likelihood of being compromised during transmission, storage or authentication.

본 발명의 시스템은 키(즉, 키 # 1)를 모바일 장치에 제공한다. 본 발명의 모든 키는 다층 암호화 및/또는 해싱 기능을 사용하여 암호화 및/또는 해싱 된다.The system of the present invention provides the key (ie, key #1) to the mobile device. All keys of the present invention are encrypted and/or hashed using multi-layer encryption and/or hashing functions.

암호화된 키는 본 발명의 인증 프로세스에 사용되어야 하며, 따라서 사용자는 먼저 여기에 설명된 SMFA 프로세스를 사용하여 인증해야 하며, 따라서 키의 유효성을 검사하고 사용자의 장치를 인증해야 한다.The encrypted key must be used in the authentication process of the present invention, so the user must first authenticate using the SMFA process described here, and thus must validate the key and authenticate the user's device.

시스템은 각 로그인 이벤트마다 변경되는 랜덤 암호화된 키를 기반으로 챌린지를 생성한다. 인증된 사용자는 인증된 장치를 사용하여 챌린지를 스캔한다. 이 프로세스의 끝에서 랜덤 암호화된 키의 일부 또는 전체가 사용자 장치로 전송된다.The system creates a challenge based on a random encrypted key that changes with each login event. The authenticated user scans the challenge using the authenticated device. At the end of this process some or all of the randomly encrypted keys are transmitted to the user device.

본 발명의 일부 실시예에서, 각 로그인 이벤트에서 변경될 사용자 장치에 의해 생성될 수 있는 암호화된 랜덤 키(random key)의 다른 세트가 있을 수 있다. 암호화된 공유 비밀 키(encrypted shared secret key)를 형성하기 위해 결합될 수 있는 다중 키(Multiple key); 암호화된 공유 비밀 키의 일부 또는 전체가 사용자의 인증을 요청하는 조직(organization)의 클라이언트 시스템으로 전송된다.In some embodiments of the invention, there may be different sets of encrypted random keys that may be generated by the user device to be changed at each login event. Multiple keys that can be combined to form an encrypted shared secret key; Some or all of the encrypted shared secret key is sent to the client system of the organization requesting the user's authentication.

사용자 장치에 의해 다수의 암호화 계층이 생성될 수 있다. 이러한 암호화는 요소들에 개별적으로 또는 집합적으로 적용될 수 있다. 예를 들어, 솔트(salt) 및 iv와 함께 랜덤 3 자리 이상의 숫자(각 로그인 이벤트 동안 변경될 수 있음)가 사용자 장치에 의해 생성될 수 있거나, 또는 다른 유형의 암호화 및/또는 해싱이 적용될 수 있다. 다른 암호화 계층이 이전 암호화에 집합적으로 추가될 수 있다.Multiple encryption layers may be created by the user device. These encryptions can be applied individually or collectively to the elements. For example, a random number of 3 or more digits (which may change during each login event) with salt and iv may be generated by the user device, or other types of encryption and/or hashing may be applied. . Other encryption layers can be added collectively to the previous encryption.

여러 계층의 암호화로 인해 패키지에서 여러 개의 랜덤 문자가 제거된다. 예를 들어, 6 개의 랜덤 문자가 패키지에서 제거될 수 있다. 다수의 랜덤 숫자 및 문자가 사용자에게 제공될 것이고 암호화된 세부 사항은 사용자 장치의 인증을 요청하는 클라이언트 시스템으로 전송된다.Multiple layers of encryption remove multiple random characters from the package. For example, 6 random characters can be removed from the package. A number of random numbers and letters will be presented to the user and the encrypted details will be sent to the client system requesting authentication of the user device.

사용자 장치의 인증을 요청하는 클라이언트 시스템은 사용자에게 사용자 장치에 제공된 정보를 제공하도록 요구할 것이다. 그러한 정보를 제공하는 사용자에게만 클라이언트 시스템은 사용자를 인증할 수 있다. 이 프로세스는 제3자가 사용자의 로그인 정보를 가로채거나 추측하거나 알 수 있는 가능성을 줄인다.A client system requesting authentication of the user device will require the user to provide the information provided to the user device. Only users who provide such information can the client system authenticate the user. This process reduces the likelihood of third parties intercepting, guessing, or knowing the user's login information.

사용자가 인증되면 세션은 시간 및 지리-기반 액세스 코드(geo-based access code)를 통해 인증된다. 예를 들어, 지리-기반 액세스 코드는 토큰(token) 또는 다른 유형의 지리-기반 액세스 코드 일 수 있다. 시간이 만료되거나 지리적 측면이 무효화되면 지리-기반 액세스 코드가 무효화될 수 있다. 예를 들어, 사용자가 지리-기반 액세스 코드와 관련된 지리적 위치 내에 있지 않으면 지리적 특징이 무효화될 수 있다.Once the user is authenticated, the session is authenticated via time and geo-based access code. For example, the geo-based access code may be a token or other type of geo-based access code. Geo-based access codes may be invalidated when time expires or geographic aspects become invalid. For example, geographic features may be invalidated if the user is not within a geographic location associated with a geographic-based access code.

거래 인증(Transaction Authentication)Transaction Authentication

본 발명의 인증 시스템의 사용자에 대한 인증 프로세스는 사용자가 자신의 키를 클라이언트 시스템에 공개할 필요없이 거래가 인증되도록 동작한다. 클라이언트 시스템은 사용자 키를 알지 못하거나 사용자에게 키가 있는지 알 수 없다. 사용자 장치는 시스템에 키를 공개하지 않고 유효한 키가 있고 사용자 및 장치가 인증되었음을 시스템에 증명해야 한다. 이를 달성하기 위해, 사용자 장치는 여기에 설명된 SMFA 프로세스 및/또는 여기에 설명된 ISMA 프로세스를 사용하여 인증해야 할 것이다. 사용자 장치가 인증되면, 사용자 장치는 자신이 가지고 있거나 받은 랜덤 임시 키(temporary key)를 사용할 수 있다.The authentication process for the user of the authentication system of the present invention operates so that the transaction is authenticated without the need for the user to disclose his or her key to the client system. The client system does not know the user's key, or whether the user has a key. The user device does not disclose the key to the system and must prove to the system that it has a valid key and that the user and device are authenticated. To achieve this, the user device will have to authenticate using the SMFA process described herein and/or the ISMA process described herein. When the user device is authenticated, the user device can use a random temporary key that it has or has received.

시스템이 챌린지를 생성한다. 이 과제는 다층 암호화, 디지털 서명 및/또는 해싱과 같은 기능을 사용하여 보호할 수 있다. 보안 패키지는 인증을 요청하는 사용자 장치로 전송된다. 사용자 장치는 패키지를 확인하고 디스플레이에 제공된 암호 해독 키를 사용하거나 문제를 해결할 수 있다.The system creates a challenge. This challenge can be protected using features such as multi-layer encryption, digital signatures and/or hashing. The security package is sent to the user device requesting authentication. The user device can check the package and use the decryption key provided on the display or troubleshoot.

예로서, 본 발명의 일 실시예는 시스템이 하나 이상의 숫자가 공백인 복수의 랜덤 숫자 알파벳 숫자 코드를 생성하도록 동작 가능할 수 있으며, 블랭크에 기입될 대응하는 알파벳 또는 숫자는 또한 ISMA 프로세스에서 챌린지와 함께 사용자에게 전송될 것이다. 예를 들어, 시스템은 6 개 이상의 복수의 랜덤 알파벳 숫자 코드, 또는 임의의 다른 수의 랜덤 알파벳 숫자 코드를 생성할 수 있다.By way of example, an embodiment of the present invention may be operable to allow the system to generate a plurality of random numeric alphanumeric codes in which one or more numbers are blank, and the corresponding alphabet or number to be written in the blank is also accompanied by a challenge in the ISMA process. Will be sent to the user. For example, the system may generate six or more of a plurality of random alphanumeric codes, or any other number of random alphanumeric codes.

시스템은 6 개 이상의 랜덤 숫자 영숫자 코드와 기타 요소를 생성하고 암호화한다. 예를 들어, 시스템은 6 자리 이상의 랜덤 숫자 영숫자 코드를 암호화할 수 있다. 추가 암호화 및 보안 기능(솔트, iv, 보안 키 등을 포함하지만 이에 국한되지 않음)도 클라이언트 시스템에 의해 적용될 수 있다. 그런 다음 시스템은 암호화 결과에 디지털 서명을 추가한다. 이 암호화 및 서명된 패키지는 인증을 요청하는 사용자 장치로 전송된다.The system generates and encrypts 6 or more random numeric alphanumeric codes and other elements. For example, the system may encrypt a random numeric alphanumeric code of 6 or more digits. Additional encryption and security functions (including but not limited to salt, iv, security keys, etc.) can also 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 then uses the provided decryption key to regenerate a 6 or more alphanumeric code with the corresponding alphabet or number.

그런 다음 사용자 장치는 보안 기능과 함께 재 발생된 정보를 암호화한다. 그런 다음 사용자 장치는 암호화 결과에 디지털 서명을 추가한다. 이 암호화되고 서명된 패키지는 인증 프로세스와 관련된 클라이언트 시스템으로 전송된다.The user device then encrypts the regenerated information with security functions. The user device then adds a digital signature to the encryption result. This encrypted and signed package is sent to the client system involved in the authentication process.

클라이언트 시스템은 사용자 장치로부터 메시지를 수신하고, 수신시 디지털 서명을 확인하고 메시지를 해독한 다음 메시지를 보낸 메시지와 비교한다. 비교 결과 수신된 메시지가 전송된 메시지와 동일하면 클라이언트 시스템은 사용자에게 필요한 키가 있음을 알고 있다. 사용자 장치가 인증되면 세션은 시간 및 지역 기반 액세스 코드를 통해 인증된다. 이들 액세스 코드는 본 명세서에서 전술한 바와 같이 시간이 만료되거나 지리가 무효화되면 무효화될 것이다.The client system receives the message from the user device, upon receipt, verifies the digital signature, decrypts the message, and compares the message with the sent message. As a result of the comparison, if the received message is the same as the transmitted message, the client system knows that the user has the required key. Once the user device is authenticated, the session is authenticated via time and region based access codes. These access codes will be invalidated when the time expires or the geography becomes invalid as described above in this specification.

숙련된 독자는 본 발명의 인증 방법 및 시스템이 다양한 방식으로 구현될 수 있음을 인식할 것이다. 도 1 내지 17은 본 발명의 실시예의 일부 예를 제공하며, 이들은 본 명세서에서 설명된다.The skilled reader will recognize that the authentication method and system of the present invention can be implemented in a variety of ways. 1-17 provide some examples of embodiments of the present invention, which are described herein.

도 1에 도시된 바와 같이, 인증 시스템(authentication system)은 클라이언트 시스템, 사용자 시스템, 검증 시스템(verification system) 및 다중 저장 유닛(multiple storage unit)을 포함한 많은 요소를 통합한다. 인증 시스템은 사용자의 로그인을 증명하고 확인하는 등 많은 기능을 수행할 수 있다.As shown in Fig. 1, an authentication system incorporates many elements including a client system, a user system, a verification system, and multiple storage units. The authentication system can perform many functions, such as verifying and verifying the user's login.

사용자 시스템(user system)(102)은 클라이언트 시스템(client system)(902)에 로그인 하기 위해 사용자에 의해 사용된다. 사용자 시스템은 본 명세서에 설명된 바와 같이, 사용자의 신원(identity) 및 다른 활동을 검증하는 데 관여할 수 있다. 사용자가 클라이언트 시스템의 보안 영역에 액세스하려면 클라이언트 시스템에서 사용자의 신원을 확인해야 한다. 검증 시스템(verification system)(202)은 클라이언트 시스템에 대한 사용자의 신원을 검증하는데 관여할 수 있다.User system 102 is used by a user to log in to a client system 902. The user system may be involved in verifying the user's identity and other activities, as described herein. In order for a user to access a secure area of a client machine, the client machine must verify the user's identity. The verification system 202 may be involved in verifying the user's identity to the client system.

사용자가 사용자 장치(90)를 통해 클라이언트 시스템의 보안 영역에 액세스하기를 원할 때, 사용자는 먼저 클라이언트 시스템에 대한 사용자의 신원을 증명해야 한다. 클라이언트 시스템이 사용자의 신원에 대한 검증을 수신하면, 시스템은 사용자가 클라이언트 시스템의 보안 컨텐츠에 액세스하는 것을 허용할 수 있다.When a user wishes to access a secure area of a client system through the user device 90, the user must first prove the user's identity to the client system. Once the client system receives verification of the user's identity, the system may allow the user to access the secure content of the client system.

사용자는 사용자 시스템을 사용하여 신원을 증명하고 클라이언트 시스템의 보안 영역에 액세스 한다. 검증 시스템(202)은 사용자의 신원의 진위를 검증하도록 작동 가능하다. 동기화 시스템(synchronization system)(300)은 사용자 신원의 진위를 승인하기 위해 동기화된 방식으로 기능하도록 동작 가능한 하나 이상의 동기화 요소(synchronization element)(302A?? 302N)의 집합이다.Users use the user system to prove their identity and access secure areas of the client system. The verification system 202 is operable to verify the authenticity of the user's identity. Synchronization system 300 is a set of one or more synchronization elements 302A?? 302N operable to function in a synchronized manner to authorize the authenticity of a user identity.

사용자 시스템은 다수의 요소를 포함할 수 있다. 본 발명의 일 실시예에서, 사용자 시스템은 증명 유닛(proving unit)(104), 디스플레이 유닛(display unit)(106), 프로세싱 유닛(processing unit)(108), 승인 유닛(approval unit)(112), 저장 유닛(storage unit)(110) 및 통신 유닛(communications unit)(114)을 포함할 수 있다. 증명 유닛은 검증 시스템에 대한 사용자 시스템(102)의 초기 신원을 증명하도록 동작 가능하다. 디스플레이 유닛은 예를 들어, 클라이언트 시스템, 검증 시스템 또는 본 발명의 임의의 다른 시스템 또는 요소로부터 사용자 시스템으로 전송된 챌린지 또는 임의의 다른 정보와 같은 정보를 사용자에게 디스플레이 하도록 동작 가능하다. 디스플레이 유닛은 또한 클라이언트 시스템에 의해 생성된 정보를 사용자에게 디스플레이 하도록 동작 가능하다. 디스플레이 유닛은 또한 입력 유닛에 연결되거나, 터치 스크린 또는 다른 입력 조작성을 가질 수 있어, 사용자는 정보를 입력할 수 있다. 사용자에 의해 입력된 정보는 디스플레이 유닛 상에 디스플레이 될 수 있거나, 그렇지 않으면 사용자 시스템에 의해 수집되어 저장되거나, 클라이언트 시스템 또는 인증 시스템의 다른 시스템 또는 요소로 전송되거나, 사용자 시스템에 의해 프로세싱 될 수 있다. 프로세싱 유닛(processing unit)(108)은 시스템 내의 모든 프로세싱 용량을 담당할 것이다. 승인 유닛(112)은 챌린지 및 응답에 액세스하여 결과를 제공할 책임이 있고, 저장 유닛은 임시 및 영구 데이터를 모두 저장하는 책임을 진다. 통신 유닛(114)은 모든 외부 통신을 담당한다.The user system can include multiple elements. In one embodiment of the present invention, the user system includes a proving unit 104, a display unit 106, a processing unit 108, and an approval unit 112. , May include a storage unit 110 and a communication unit 114. The authentication unit is operable to prove the initial identity of the user system 102 to the verification system. The display unit is operable to display information to the user, such as a challenge or any other information transmitted to the user system from, for example, a client system, a verification system, or any other system or element of the invention. The display unit is also operable to display information generated by the client system to the user. The display unit can also be connected to the input unit, or have a touch screen or other input operability, so that the user can input information. Information entered by the user may be displayed on a display unit, or otherwise may be collected and stored by the user system, transmitted to other systems or elements of the client system or authentication system, or processed by the user system. The processing unit 108 will be responsible for all processing capacity in the system. The authorization unit 112 is responsible for accessing the challenge and response and providing results, and the storage unit is responsible for storing both temporary and permanent data. The communication unit 114 is responsible for all external communication.

검증 시스템(202)은 다수의 요소를 포함할 수 있다. 본 발명의 일 실시예에서, 검증 시스템은 마스커 유닛(masker unit)(204), N-패킷 생성기(N-packet generator)(206), 리포트 생성기(report generator)(208), 프로세싱 유닛(processing unit)(210), 승인 유닛(approval unit)(212), 하나 이상의 저장 유닛(storage unit)(214A?? 214N) 및 통신 유닛(communications unit)(216)을 포함할 수 있다. 마스 커 유닛은 클라이언트 시스템 및 사용자 시스템에 대한 하나 이상의 고유한 비-식별 식별자(unique non-identifying identifier)를 생성하도록 동작 가능하다. 프로세싱 유닛(210)은 인증 시스템에 의해 요구되는 정보 및 데이터의 프로세싱을 수행할 수 있다. 승인 유닛(212)은 시스템에서 내부적으로 수신된 응답에 액세스하고 프로세싱 유닛으로 전송되거나 통신 유닛을 통해 시스템 외부의 수신기로 전송될 수 있는 결과를 제공하도록 동작 가능하다. 하나 이상의 저장 유닛은 임시 및 영구 데이터를 모두 저장하도록 동작 가능하다. N-패킷 생성기(206)는 인증 정보의 패킷을 생성하도록 동작 가능하다. 통신 유닛(216)은 검증 시스템(즉, 클라이언트 시스템, 사용자 시스템 등) 외부의 인증 시스템의 모든 요소와의 모든 통신을 수신 및 전송하도록 동작 가능하다.The verification system 202 may include a number of elements. In one embodiment of the present invention, the verification system includes a masker unit 204, an N-packet generator 206, a report generator 208, and a processing unit. It may include a unit 210, an approval unit 212, one or more storage units 214A??214N, and a communications unit 216. The masker unit is operable to generate one or more unique non-identifying identifiers for the client system and user system. The processing unit 210 may perform processing of information and data required by the authentication system. The authorization unit 212 is operable to access responses received internally in the system and provide results that can be transmitted to a processing unit or to a receiver external to the system through a communication unit. One or more storage units are operable to store both temporary and permanent data. The N-packet generator 206 is operable to generate a packet of authentication information. The communication unit 216 is operable to receive and transmit all communications with all elements of the authentication system external to the verification system (ie, client system, user system, etc.).

숙련된 독자는 본 발명의 실시예에서 도 1의 검증 시스템의 요소로서 기술된 일부 또는 모든 유닛이 클라이언트 시스템과 같은 인증 시스템의 다른 시스템 또는 요소 내에 통합될 수 있음을 인식할 것이다. 본 발명의 일부 실시예에서, 도 1에서 검증 시스템의 요소로서 기술된 일부 또는 모든 유닛은 인증 시스템의 임의의 시스템에 포함되지 않지만 일반적으로 인증 시스템에 통합된 독립형 요소일 수 있다.The skilled reader will recognize that some or all of the units described as elements of the verification system of FIG. 1 in an embodiment of the present invention may be incorporated into other systems or elements of an authentication system, such as a client system. In some embodiments of the present invention, some or all of the units described as elements of the verification system in FIG. 1 may not be included in any system of the authentication system, but may generally be standalone elements integrated into the authentication system.

동기화 시스템(synchronization system)(300)은 하나 이상의 동기화 요소(synchronization element)(302A?? 302N)를 포함할 수 있고, 각각의 동기화 요소는 다수의 유닛을 포함할 수 있다. 본 발명의 일 실시예에서, 적어도 2 개의 동기화 요소는 증명 유닛(304A?? 304N), 저장 유닛(308A?? 308N), 프로세싱 유닛(306A?? 306N), 승인 유닛(312A?? 312N) 및 통신 유닛(310A?? 310N)을 포함할 수 있다. 증명 유닛(304A)은 동기화 시스템(300)의 초기 신원을 검증 시스템(202)에 증명하도록 동작 가능하다.The 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 present invention, at least two synchronization elements are the authentication unit 304A?? 304N, the storage unit 308A?? 308N, the processing unit 306A?? 306N, the authorization unit 312A?? 312N and It may include a communication unit (310A?? 310N). The authentication unit 304A is operable to prove the initial identity of the synchronization system 300 to the verification system 202.

사용자 시스템 간 통신, 검증 시스템 및 동기화 요소는 그러한 시스템 및/또는 요소의 통신 유닛에 의해 수신되고 그로부터 전송된다. 시스템 및/또는 요소들 간의 이러한 모든 통신은 하나 이상의 마스킹 기능의 사용에 의해 보호될 수 있고, 하나 이상의 마스킹 기능은 해싱 및/또는 암호화를 포함할 수 있다.Communication between user systems, verification systems and synchronization elements are received by and transmitted from the communication units of such systems and/or elements. All such communication between systems and/or elements may be protected by the use of one or more masking functions, and one or more masking functions may include hashing and/or encryption.

도 2에 도시된 바와 같이, 데이터는 검증 시스템의 통신 유닛(216)을 통해 검증 시스템의 마스 커 유닛(204)과 클라이언트 시스템(902) 사이에서 전송될 수 있다. 클라이언트 시스템을 사용하려는 새로운 사용자의 설정과 관련하여 클라이언트 시스템과 검증 시스템 간의 초기 통신 동안, 클라이언트 시스템은 검증 시스템의 마스커 유닛과 통신하여 새로운 사용자가 클라이언트 시스템과의 보안 연결을 확립하기 위해 요구되는 자격 증명을 요청할 수 있다. 마스커 장치는 클라이언트 시스템이 클라이언트 시스템과 검증 시스템 사이의 링크를 설정하는 데 사용할 수 있는 고유한 보안 자격 증명을 생성한다. 이러한 고유 자격 증명은 예를 들어 클라이언트 ID 또는 다른 형식의 자격 증명을 포함할 수 있다.As shown in FIG. 2, data may be transferred between the verification system's masker unit 204 and the client system 902 via the verification system's communication unit 216. During the initial communication between the client system and the verification system regarding the setup of a new user who wants to use the client system, the client system communicates with the verification system's masker unit to allow the new user to establish a secure connection with the client system. You can ask for proof. The masker device generates unique security credentials that the client system can use to establish a link between the client system and the verification system. These unique credentials may include, for example, a client ID or other form of credentials.

클라이언트 시스템과 검증 시스템 간에 신뢰할 수 있는 연결이 설정되면, 마스커 유닛은 계산, 알고리즘 또는 사용자에 대한 비밀인 고유한 비-식별 식별자를 생성할 다른 유형의 프로세스와 같은 프로세스를 수행한다. 고유한 비-식별 식별자는 검증 시스템에 통합된 저장 유닛들(214A)(또는 저장 유닛들(214A ... 214N) 중 임의의 것) 중 하나에 저장될 수 있다.Once a trusted connection is established between the client system and the verification system, the masker unit performs a process such as a computation, algorithm, or other type of process that will generate a unique non-identifying identifier that is secret to the user. The unique non-identifying identifier may be stored in one of the storage units 214A (or any of storage units 214A ... 214N) incorporated in the verification system.

마스 커 유닛은 비-식별 식별자를 안전하게 하기 위해 해싱, 암호화 및/또는 다른 마스킹 기능과 같은 마스킹 기능을 사용할 수 있다. 클라이언트 시스템은 또한 이용 가능한 모든 동기화 요소의 리스트를 검증 시스템에 제공할 수 있다. 본 발명의 실시예에서, 하나 이상의 동기화 요소는 검증 시스템의 하나 이상의 저장 유닛(214A?? 214N)에 저장될 수 있다. The masker unit may use masking functions such as hashing, encryption and/or other masking functions to secure the non-identifying identifier. The client system may also provide a list of all available synchronization elements to the verification system. In an embodiment of the present invention, one or more synchronization elements may be stored in one or more storage units 214A?? 214N of the verification system.

도 3에 도시된 바와 같이, 본 발명의 등록 프로세스는 사용자가 클라이언트 시스템에 등록하기 위해 인증 시스템과 사용자의 초기 상호 작용 중에 요구되는 인증 시스템의 요소의 동작을 포함할 수 있다. 클라이언트 시스템, 사용자 시스템의 요소, 검증 시스템의 요소 및 동기화 시스템의 요소 사이의 모든 통신은 도 3에 도시된 바와 같이 사용자 시스템, 검증 시스템 및 동기화 시스템의 통신 유닛을 통해 이루어진다. 클라이언트 시스템의 보안 부분에 액세스 할 수 있는 권한을 받으려면 사용자가 클라이언트 시스템에 등록해야 한다. 초기 등록 동안, 증명 유닛(104)은 증명 정보를 검색하기 위해 클라이언트 시스템의 하나 이상의 저장 유닛(110)에 액세스 한다. 증명 정보는 마스커 유닛에 의해 생성된 비-식별 식별자, 마스커 유닛에 의해 생성된 비밀을 포함할 수 있고, 및 또한 사용자 장치, 고유 애플리케이션 넘버, 및 예를 들어, 생체 정보(예를 들어, 사용자의 지문, 사용자의 망막 스캔, 또는 사용자의 다른 생체 정보), 사용 정보 등과 같은 사용자와 관련된 다른 정보를 식별할 수 있는 정보를 포함할 수 있다. 증명 유닛이 모든 증명 정보를 획득하면, 증명 정보는 사용자 시스템의 하나 이상의 저장 유닛에 저장될 수 있다.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 of the user with the authentication system in order for the user to register with the client system. All communication between the client system, the elements of the user system, the elements of the verification system and the elements of the synchronization system is made via the communication units of the user system, the verification system and the synchronization system as shown in FIG. In order to be authorized to access the secure part of the client system, the user must register with the client system. During initial registration, the authentication unit 104 accesses one or more storage units 110 of the client system to retrieve the authentication information. The proof information may include a non-identifying identifier generated by the masker unit, a secret generated by the masker unit, and also a user device, a unique application number, and, for example, biometric information (e.g., It may include information for identifying other information related to the user, such as a user's fingerprint, a user's retina scan, or other biometric information of the user), usage information, and the like. Once the proof unit has obtained all the proof information, the proof information can be stored in one or more storage units of the user system.

증명 유닛(104)에 의해 획득된 증명 정보는 사용자 시스템의 통신 유닛(114)을 통해 검증 시스템의 프로세싱 유닛(210)으로 안전하게 전송된다. 프로세싱 유닛(210)은 검증 시스템의 통신 유닛(216)을 통해 검증 시스템의 하나 이상의 저장 유닛(214A?? 214N)으로부터 사용자에 대한 정보를 검색한다. 프로세싱 유닛(210)은 클라이언트 시스템으로부터 수신한 정보와 검증 시스템의 하나 이상의 저장 유닛으로부터 검색된 정보를 결합하여 정보 패키지를 발생시킨다. 프로세싱 유닛은 이러한 정보 패키지를 승인 유닛(212)에 전송한다.The authentication information obtained by the authentication unit 104 is securely transmitted to the processing unit 210 of the verification system via the communication unit 114 of the user system. The processing unit 210 retrieves information about the user 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 generates an information package by combining the information received from the client system and information retrieved from one or more storage units of the verification system. The processing unit transmits this information package to the authorization unit 212.

승인 유닛(212)은 프로세싱 유닛으로부터 수신한 정보 패키지의 값을 클라이언트 시스템으로부터 이전에 수신된 검증 시스템의 하나 이상의 저장 유닛(214A?? 214N)에 저장된 정보와 비교한다. 비교가 성공하면 승인 장치가 사용자 시스템과의 연결을 수락한다. 비교가 성공적이지 않으면, 승인 유닛(212)은 사용자 시스템과의 연결을 거부할 것이다. 승인 시스템의 결과는 N-패킷 생성기(206)로 전송된다.The authorization unit 212 compares the value of the information package received from the processing unit with information stored in one or more storage units 214A??214N of the verification system previously received from the client system. If the comparison is successful, the authorization device accepts the connection with the user system. If the comparison is not successful, the authorization unit 212 will refuse to connect with the user system. The results of the authorization system are sent to the N-packet generator 206.

사용자 시스템과의 연결이 승인되지 않으면 인증 시스템이 사용자 등록을 시도하는 작업이 종료된다. 본 발명의 일 실시예에서, 사용자 시스템과의 연결이 승인되면 N-패킷 생성기는 랜덤 챌린지를 생성한다. 랜덤 챌린지는 다수의 패킷(N-패킷)을 포함할 수 있다. 각 N-패킷에는 여러 개의 랜덤 숫자 또는 영숫자/기타 문자(N-RANC)가 있다.If the connection with the user system is not approved, the work of the authentication system attempting to register the user ends. In one embodiment of the present invention, the N-packet generator generates a random challenge when the connection with the user system is approved. The random challenge may include multiple packets (N-packets). Each N-packet contains a number of random numbers or alphanumeric/other characters (N-RANC).

N-패킷은 사용자 시스템의 디스플레이 유닛(106)으로 안전하게 전송된다. 본 발명의 실시예는 N-패킷 발생기와 디스플레이 유닛 사이에서 전송되는 N-패킷에 보안을 제공하기 위해 암호화, 해싱 및/또는 디지털 서명을 포함하지만 이에 제한되지 않는, 예를 들어, 이동 전에 N-RNAC 및 N-패킷 둘 다의 다층 보호인 다층 보호(multi-layer of protection)를 적용할 수 있다. 본 발명의 다른 실시예에서, N-패킷은 사용자 시스템의 요소 또는 N-RNAC가 있거나 없는 다른 시스템에 의해 생성될 수 있다. 사용자는 이 요소와 상호 작용하여 OY-패킷을 생성한다.The N-packet is safely transmitted to the display unit 106 of the user system. Embodiments of the present invention include, but are not limited to, encryption, hashing and/or digital signatures to provide security to N-packets transmitted between the N-packet generator and the display unit, for example, N- A multi-layer of protection, which is a multi-layer protection of both RNAC and N-packets, can be applied. In another embodiment of the invention, the N-packet may be generated by an element of the user system or by another system with or without N-RNAC. The user interacts with this element to create an OY-packet.

디스플레이 유닛(106)은 N-패킷을 수신하고 N-패킷에 포함된 정보를 사용자에게 디스플레이 한다. 디스플레이 된 N-패킷으로부터 사용자는 하나 이상의 N-패킷을 입력함으로써 선택된 N-패킷과 관련된 N-RANC를 선택한다. 용이한 참조를 위해, 사용자에 의해 선택된 N-패킷은 본원에서 Y-패킷이다. 사용자가 Y-패킷을 선택한 순서는 주문 Y-패킷(OY-패킷)이 되도록 유지된다. OY-패킷은 디스플레이 유닛(106)에 의해 사용자 시스템의 프로세싱 유닛(108)으로 전송된다. 사용자 시스템의 프로세싱 유닛은 OY-패킷을 둘 이상의 부분으로 분할한다. 각 부분은 둘 이상의 N-패킷을 포함할 수 있다.The display unit 106 receives the N-packet and displays information contained in the N-packet to the user. From the displayed N-packets, the user selects the N-RANC associated with the selected N-packet by inputting one or more N-packets. For ease of reference, the N-packet selected by the user is a Y-packet herein. The order in which the user selects Y-packets is maintained to be ordered Y-packets (OY-packets). The OY-packet is transmitted 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 two or more parts. Each part may contain more than one N-packet.

사용자 시스템의 프로세싱 유닛은 OY-패킷의 각 부분에 마스킹 기능을 적용함으로써 OY-패킷 정보를 마스킹 할 수 있다. 예를 들어, 사용자 시스템의 프로세싱 유닛은 다음 중 하나 이상에 마스킹을 적용할 수 있다: OY-패킷에 통합된 각각의 N-RNAC 및/또는 OY-패킷에 통합된 각각의 Y-패킷 및/또는 각각의 OY-패킷. 하나 이상의 마스킹의 결과는 사용자 시스템의 하나 이상의 저장 유닛(110)에 저장될 수 있다. 저장되지 않은 결과는 검증 시스템의 프로세싱 유닛(processing unit)으로 전송된다.The processing unit of the user system can mask OY-packet information by applying a masking function to each part of the OY-packet. For example, the processing unit of the user system may apply masking to one or more of the following: each N-RNAC incorporated into an OY-packet and/or each Y-packet incorporated into an OY-packet and/or Each OY-packet. The results of one or more masking may be stored in one or more storage units 110 of the user system. The unsaved results are sent to the processing unit of the verification system.

사용자 시스템의 디스플레이 유닛으로 전송되는 N-패킷 생성기에 의해 생성된 챌린지는 다수의 N-패킷을 포함할 수 있고 각각의 N-패킷은 3 개 이상의 N-RANC를 포함할 수 있다. 사용자는 OY-패킷을 형성하는 다수의 Y-패킷을 선택할 수 있다. OY-패킷은 2 개의 부분(즉, OYA- 부분 및 OYB- 부분)으로 분할될 수 있다.The challenge generated by the N-packet generator transmitted to the display unit of the user system may contain multiple N-packets, and each N-packet may contain three or more N-RANCs. The user can select multiple Y-packets to form an OY-packet. The OY-packet can be divided into two parts (i.e., OYA- part and OYB- part).

검증 시스템의 프로세싱 유닛은 해싱 및/또는 암호화를 적용한 다음, 검증 시스템의 하나 이상의 저장 유닛에 저장된 리스트로부터 동기화 시스템의 둘 이상의 랜덤 동기화 요소를 선택할 수 있다. 선택된 랜덤 동기화 요소는 동기화 레지스트리를 형성한다. 검증 시스템의 프로세싱 유닛은 개별적으로 또는 집합 적으로 OY-패킷 부분에 비밀을 추가할 수 있고, 개별적으로 및/또는 집합적으로 OY-패킷 부분에 대해 다층 해싱 및/또는 암호화 기능을 수행할 수 있다. 해싱 및/또는 암호화된 고유 OY-패킷 부분은 하나 이상의 동기화 요소 사이에 분배될 수 있고, OY-패킷 부분이 분배되는 하나 이상의 동기화 요소에서 하나 이상의 저장 유닛에 저장될 수 있다. 그 결과 고유한 OY-패킷 부분이 다른 동기화 요소에 저장된다. 분배 정보 부분은 동기화 요소의 동기화 레지스트리에 저장될 수 있다.The processing unit of the verification system may apply hashing and/or encryption and then select two or more random synchronization elements of the synchronization system from a list stored in one or more storage units of the verification system. The selected random synchronization element forms a synchronization registry. The processing unit of the verification system can individually or collectively add secrets to the OY-packet portion, and individually and/or collectively perform multi-layer hashing and/or encryption functions on the OY-packet portion. . The hashed and/or encrypted unique OY-packet portion may be distributed among one or more synchronization elements, and the OY-packet portion may be stored in one or more storage units in one or more synchronization elements being distributed. As a result, the unique OY-packet portion is stored in another synchronization element. The distribution information portion may be stored in the synchronization registry of the synchronization element.

도 4에 도시된 바와 같이, 인증 시스템은 액세스 프로세스를 수행하도록 동작 가능하고, 여기서, 등록된 사용자는 클라이언트 시스템의 보안 부분에 대한 액세스를 얻기 위해 검증 시스템의 동작을 통해 자체 인증을 시도한다. 사용자 시스템의 요소들, 검증 시스템의 요소들 및 동기화 시스템의 요소들 간의 모든 통신은 도 4에 도시된 바와 같이, 사용자 시스템의 통신 유닛, 검증 시스템 및 동기화 시스템의 동기화 요소의 동기화 요소를 통해 이루어진다. 사용자 시스템의 증명 유닛(104)은 증명 정보를 검색하기 위해 사용자 시스템의 하나 이상의 저장 유닛(110)에 액세스한다. 증명 정보는 비-식별 식별자 및 비밀을 포함할 수 있다.As shown in Fig. 4, the authentication system is operable to perform an access process, where the registered user attempts self-authentication through the operation of the verification system to gain access to the secure portion of the client system. All communication between the elements of the user system, the elements of the verification system and the elements of the synchronization system, as shown in Fig. 4, is made through the synchronization element of the communication unit of the user system, the verification system and the synchronization element of the synchronization system. The authentication unit 104 of the user system accesses one or more storage units 110 of the user system to retrieve the authentication information. The proof information may include a non-identifying identifier and a secret.

증명 유닛에 의해 획득된 증명 정보의 일부 또는 전부는 검증 시스템의 통신 유닛(216)을 통해, 사용자 시스템의 통신 유닛(114)을 통해 검증 시스템의 프로세싱 유닛(210)으로 안전하게 보내진다. 프로세싱 유닛(210)은 검증 시스템의 하나 이상의 저장 유닛(214A?? 214N)으로부터 사용자에 대한 정보를 검색한다. 프로세싱 유닛(210)은 클라이언트 시스템으로부터 수신된 정보를 검증 시스템의 하나 이상의 저장 유닛으로부터 검색된 정보와 결합하여 정보 패키지를 발생시킨다. 프로세싱 유닛은 이 정보 패키지를 검증 시스템의 승인 유닛(212)에 전송한다.Some or all of the proof information obtained by the proof unit is safely sent to the processing unit 210 of the verification system through the communication unit 216 of the verification system, and through the communication unit 114 of the user system. The processing unit 210 retrieves information about the user from one or more storage units 214A??214N of the verification system. The processing unit 210 combines information received from the client system with information retrieved from one or more storage units of the verification system to generate an information package. The processing unit sends this information package to the authorization unit 212 of the verification system.

승인 유닛(212)은 프로세싱 유닛(210)으로부터 수신한 정보 패키지의 값을 클라이언트 시스템으로부터 이전에 수신된 검증 시스템에 저장된 정보와 비교한다. 비교가 성공하면(즉, 비교 결과 비교된 정보가 일 함), 승인 장치는 사용자 시스템과의 연결을 수락한다. 비교에 실패하면, 승인 장치는 사용자 시스템과의 연결을 거부한다. 승인 시스템의 결과는 N-패킷 생성기(206)로 전송된다.The authorization unit 212 compares the value of the information package received from the processing unit 210 with information stored in the verification system previously received from the client system. If the comparison is successful (i.e. the information compared as a result of the comparison works), the authorization device accepts the connection with the user system. If the comparison fails, the authorization device rejects the connection with the user system. The results of the authorization system are sent to the N-packet generator 206.

사용자 시스템과의 연결이 승인되지 않은 경우, 사용자 등록을 시도하는 인증 시스템의 작동이 종료된다. 사용자 시스템과의 연결이 승인되면, N-패킷 생성기는 랜덤 챌린지를 생성한다. 랜덤 챌린지는 둘 이상의 패킷(N-패킷)을 포함할 수 있다. 각 N-패킷에는 두 개의 랜덤 또는 영숫자(N-RANC)가 더 있다. 다층 해싱 및/또는 암호화는 디스플레이 유닛으로 전송된 챌린지에 적용될 수 있다. 해싱 및/또는 암호화는 랜덤 생성기에 의해 적용된다.If the connection with the user system is not approved, the operation of the authentication system attempting user registration is terminated. When the connection with the user system is approved, the N-packet generator generates a random challenge. The random challenge may include two or more packets (N-packets). Each N-packet has two more random or alphanumeric characters (N-RANC). Multi-layer hashing and/or encryption can be applied to the challenge sent to the display unit. Hashing and/or encryption is applied by a random generator.

N-패킷은 사용자 시스템의 디스플레이 유닛(106)으로 안전하게 전송된다. 본 발명의 실시예는 N-패킷 생성기와 디스플레이 유닛 사이에서 전송되는 N-패킷에 보안을 제공하기 위해 다층 해싱 및/또는 암호화를 적용할 수 있다. 예를 들어, 다층 해싱 및/또는 암호화는 이동 전에 N-RNAC 및/또는 N-패킷을 해싱 및/또는 암호화하는 단계를 포함할 수 있다. 디스플레이 유닛(106)는 N-패킷을 수신하여 해당 정보를 사용자에게 디스플레이 한다. 디스플레이 된 대응하는 정보로부터, 사용자는 N-패킷, 및 선택된 N-패킷과 연관된 N-RANC를 선택함으로써 둘 이상의 대응하는 정보를 선택한다. 용이한 참조를 위해, 사용자에 의해 선택된 N-패킷은 본 명세서에서 Y-패킷이며, 이들 Y-패킷은 주문되고 OY-패킷으로 불린다. 본 발명의 다른 실시예에서, N-패킷 발생기는 사용자 시스템 및/또는 사용자 시스템 또는 카메라, 스캐너 등과 같은 다른 시스템으로부터의 임의의 요소를 통해 사용자와의 상호 작용에 의해 Y 및/또는 OY-패킷을 생성할 수 있는 다른 시스템에 존재할 수 있다.The N-packet is safely transmitted to the display unit 106 of the user system. Embodiments of the present invention may apply multi-layer hashing and/or encryption to provide security to N-packets transmitted between the N-packet generator and the display unit. For example, multilayer hashing and/or encoding may include hashing and/or encoding N-RNACs and/or N-packets prior to movement. The display unit 106 receives the N-packet and displays the corresponding information to the user. From the displayed corresponding information, the user selects two or more corresponding information by selecting an N-packet and an N-RANC associated with the selected N-packet. For ease of reference, the N-packets selected by the user are Y-packets in this specification, and these Y-packets are ordered and are referred to as OY-packets. In another embodiment of the present invention, the N-packet generator generates Y and/or OY-packets by interaction with the user through user systems and/or any elements from user systems or other systems such as cameras, scanners, etc. It can exist in other systems that can be created.

OY-패킷은 디스플레이 유닛(106)에 의해 사용자 시스템의 프로세싱 유닛(108)으로 전송된다. 사용자 시스템의 프로세싱 유닛은 OY-패킷을 여러 부분으로 분할한다. 각 부분에는 여러 개의 N-패킷이 포함된다.The OY-packet is transmitted 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 several parts. Each part contains several N-packets.

사용자 시스템의 프로세싱 유닛(108)은 이전에 저장된 OY-패킷 부분이 저장된 사용자 시스템의 하나 이상의 저장 유닛으로부터 이전에 저장된 OY-패킷 부분을 검색한다. 프로세싱 유닛은 이전에 저장된 OY-패킷 부분 및 보다 최근에 발생된 OY-패킷 부분을 사용자 시스템의 승인 유닛(110)으로 전송한다. 사용자 시스템의 승인 유닛은 사용자 시스템의 프로세싱 유닛으로부터 수신한 정보를 이전에 저장된 OY-패킷 부분과 비교하여 승인 결과 또는 거부 결과를 생성한다. 사용자 시스템의 승인 유닛에 의해 생성된 결과(즉, 승인 결과 또는 거부 결과)는 사용자 시스템의 프로세싱 유닛으로 전송된다. 사용자 시스템의 승인 단위 결과가 거부 결과인 경우 인증 프로세스가 중지된다.The processing unit 108 of the user system retrieves the previously stored OY-packet portion from one or more storage units of the user system where the previously stored OY-packet portion is stored. The processing unit transmits the previously stored OY-packet portion and the more recently generated OY-packet portion to the authorization unit 110 of the user system. The approval unit of the user system compares the information received from the processing unit of the user system with the previously stored OY-packet part to generate an approval result or rejection result. The result generated by the approval unit of the user system (ie, the approval result or rejection result) is transmitted to the processing unit of the user system. If the result of the approval unit of the user system is a rejection result, the authentication process is stopped.

사용자 시스템의 승인 단위 결과가 승인 결과인 경우, 사용자 시스템의 프로세싱 유닛은 사용자 시스템의 하나 이상의 저장 유닛에서 최근에 생성된 하나 이상의 OY-패킷 부분을 저장할 수 있고, 나머지 OY-패킷 부분을 검증 시스템의 프로세싱 유닛으로 보낸다. 검증 시스템의 프로세싱 유닛은 동기화 레지스트리로부터 사용자에 대한 동기화 시스템 정보를 검색한다. 검증 시스템의 프로세싱 유닛은 수신한 OY-패킷 부분에 비밀을 추가하고 이들 OY-패킷 부분에 대해 다층 해싱 및/또는 암호화 기능을 수행할 수 있다. 해싱 및/또는 암호화 후, 검증 시스템의 프로세싱 유닛은 해싱 및/또는 암호화된 고유 OY-패킷 부분을 동기화 시스템의 동기화 요소 중 하나 이상의 프로세싱 유닛(302A?? 320N)으로 전송할 수 있다. 동기화 요소의 각각의 프로세싱 유닛은 검증 시스템의 프로세싱 유닛(210)으로부터 해싱 및/또는 암호화된 고유 OY-패킷 부분을 수신한다. 해싱 및/또는 암호화된 OY-패킷 부분을 수신하는 동기화 유닛의 각각의 동기화 요소는 도 5에 도시된 바와 같이 프로세스를 수행할 수 있다. 동기화 요소의 프로세싱 유닛(306A?? 306N)은 해싱 및/또는 암호화를 디코딩하여 하나 이상의 N-패킷 및 N-RANC를 결정하고 식별할 수 있다. 동기화 요소의 프로세싱 유닛은 N-패킷 및 N-RANC를 동일한 동기화 요소의 승인 유닛(312A?? 312N)으로 전송할 수 있다.If the result of the approval unit of the user system is the result of approval, the processing unit of the user system may store one or more recently generated OY-packet parts in one or more storage units of the user system, and the remaining OY-packet parts of the verification system. Send it to the processing unit. The processing unit of the verification system retrieves the synchronization system information for the user from the synchronization registry. The processing unit of the verification system may add secrets to the received OY-packet parts and perform multi-layer hashing and/or encryption functions on these OY-packet parts. After hashing and/or encryption, the processing unit of the verification system may transmit the hashed and/or encrypted portion of the unique OY-packet to one or more processing units 302A??320N of the synchronization elements of the synchronization system. Each processing unit of the synchronization element receives a hashed and/or encrypted unique OY-packet portion from the processing unit 210 of the verification system. Each synchronization element of the synchronization unit receiving the hashed and/or encrypted OY-packet portion may perform a process as shown in FIG. 5. The synchronization element's processing unit 306A?? 306N may decode the hashing and/or encryption to determine and identify one or more N-packets and N-RANCs. The processing unit of the synchronization element may transmit the N-packet and the N-RANC to the granting unit 312A?? 312N of the same synchronization element.

동기화 유닛의 증명 유닛(304A?? 304N)은 동기화 요소의 저장 유닛(308A?? 308N)으로부터 이전에 저장된 해싱 및/또는 암호화된 OY-패킷 부분을 검색한다. 동기화 유닛의 증명 유닛은 하나 이상의 N-패킷 및 N-RANC를 결정 및 식별하기 위해 해싱 및/또는 암호화를 디코딩 할 수 있으며, 이들은 동기화 요소의 승인 유닛으로 전송된다. 동기화 요소의 승인 유닛은 최근에 생성된 N-패킷 및 N-RANC를 이전에 저장된 N-패킷과 비교한다. 이 비교에 기초하여 통과 값 또는 실패 값이 생성된다. 생성된 통과 값 또는 실패 값은 동기화 요소의 검증 유닛으로 전송된다.The authentication unit 304A?? 304N of the synchronization unit retrieves the previously stored hashed and/or encrypted OY-packet portion from the storage unit 308A?? 308N of the synchronization element. The authentication unit of the synchronization unit can decode the hashing and/or encryption to determine and identify one or more N-packets and N-RANCs, which are transmitted to the authorization unit of the synchronization element. The acknowledgment unit of the synchronization element compares the recently generated N-packet and N-RANC with the previously stored N-packet. Based on this comparison, a pass value or a fail value is generated. The generated pass value or fail value is transmitted to the verification unit of the synchronization element.

동기화 유닛의 증명 유닛은 동기화 유닛의 하나 이상의 저장 유닛으로부터 증명 정보를 검색하고, 입증 유닛이 수신한 증명 정보 및 통과 값 또는 실패 값은 해싱 및/또는 암호화되어 검증 시스템의 프로세싱 유닛으로 전송될 수 있다.The authentication unit of the synchronization unit retrieves the authentication information from one or more storage units of the synchronization unit, and the authentication information and the pass value or the failure value received by the authentication unit may be hashed and/or encrypted and transmitted to the processing unit of the verification system. .

검증 시스템의 프로세싱 유닛은 그러한 정보를 생성한 각각의 동기화 요소의 각 입증 유닛으로부터 해싱 및/또는 암호화된 결과 및 증명 정보를 수신한다. 명확성을 위해, 다수의 동기화 요소는 고유한 OY-패킷 부분을 수신했을 수 있고, 각각의 이러한 동기화 요소는 본 명세서에서 논의된 방법에 따라 OY-패킷 부분을 프로세싱 할 것이다. 사용자 시스템 요소 간의 모든 통신, 검증 시스템 및 클라이언트 시스템은 도 6에 도시된 바와 같이 사용자 시스템, 클라이언트 시스템 및 검증 시스템의 통신 유닛을 통해 이루어진다. 또한 도 6에 도시된 바와 같이, 검증 시스템(202)의 프로세싱 유닛(210)은 각각의 동기화 요소(302A?? 302N)로부터 수신한 증명 정보를 디코딩하고, 디코딩 된 정보를 검증 시스템의 승인 유닛(212)에 전송할 것이다. 검증 시스템의 프로세싱 유닛(210)은 검증 시스템의 하나 이상의 저장 유닛(214A?? 214N)으로부터 증명 정보를 검색한다. 검증 시스템의 프로세싱 유닛은 검색된 증명 정보를 검증 시스템의 승인 유닛으로 전송한다. 검증 시스템의 승인 유닛은 수신한 정보를 이용하여 동기화 요소를 승인한다.The processing unit of the verification system receives the hashed and/or encrypted result and verification information from each verification unit of each synchronization element that generated such information. For clarity, multiple synchronization elements may have received a unique OY-packet portion, and each such synchronization element will process the OY-packet portion according to the method discussed herein. All communication between the user system elements, the verification system and the client system are made through the communication units of the user system, the client system and the verification system as shown in FIG. 6. 6, the processing unit 210 of the verification system 202 decodes the verification information received from each synchronization element 302A?? 302N, and converts the decoded information into an approval unit of the verification system ( 212). The processing unit 210 of the verification system retrieves the proof information from one or more storage units 214A??214N of the verification system. The processing unit of the verification system transmits the retrieved authentication information to the approval unit of the verification system. The authorization unit of the verification system approves the synchronization element using the received information.

검증 시스템의 프로세싱 유닛은 동기화 요소로부터 수신한 각각의 통과 및/또는 실패 값을 디코딩 한다. 디코딩 된 값은 검증 결과로서 검증 시스템의 하나 이상의 저장 유닛에 저장된다. 검증 결과 리포트는 검증 시스템의 프로세싱 유닛 또는 리포트 생성기(208)에 의해 생성될 수 있고, 이 보고서에는 다양한 정보, 예를 들어 요청된 총 동기화 요소, 수신된 통과 값 수, 수신된 실패 값 수, 동기화 시스템 신뢰 점수 및 기타 정보가 포함될 수 있다. 검증 시스템의 프로세싱 유닛은 검증 결과를 해싱 또는 암호화하고, 검증 시스템의 통신 유닛(216)을 통해 해싱 및/또는 암호화된 검증 결과를 사용자 시스템(102)의 프로세싱 유닛(108)으로 전송할 수 있다. 사용자 시스템의 프로세싱 유닛은 해싱 또는 암호화된 검증 결과를 클라이언트 시스템(902)에 전송한다. 클라이언트 시스템은 클라이언트 시스템이 수신한 검증 결과에 기초하여 검증 시스템의 통신 유닛(216)을 통해 검증 시스템의 프로세싱 유닛(210)에 인증 요청을 제출한다. 검증 시스템의 프로세싱 유닛은 검증 시스템의 하나 이상의 저장 유닛에 저장된 검증 결과를 검색하고, 검색된 결과를 검증 시스템의 승인 유닛으로 전송한다. 검증 시스템의 승인 유닛은 검색된 결과를 검토하고 이들을 승인하고 검증 결과를 클라이언트 시스템에 전송하여 검증 보고서 결과에 기초하여 사용자를 인증할지 여부를 결정할 것이다.The processing unit of the verification system decodes each pass and/or fail value received from the synchronization element. The decoded values are stored as verification results in one or more storage units of the verification system. The verification result report can be generated by the processing unit of the verification system or the report generator 208, which contains various information, e.g., the total synchronization factor requested, the number of passed values received, the number of failed values received, and synchronization. System confidence scores and other information may be included. The processing unit of the verification system may hash or encrypt the verification result, and transmit 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 processing unit of the user system transmits the hashed or encrypted verification result to the client system 902. The client system submits an authentication request to the processing unit 210 of the verification system through the communication unit 216 of the verification system based on the verification result received by the client system. The processing unit of the verification system retrieves the verification results stored in one or more storage units of the verification system, and transmits the retrieved results to the approval unit of the verification system. The authorization unit of the verification system will review the retrieved results, approve them, and transmit the verification results to the client system to determine whether to authenticate the user based on the verification report results.

사용자가 인증되고 클라이언트 시스템의 보안 부분에 대한 액세스 권한이 부여된 후, 사용자는 정보(즉, 데이터, 문서, 거래 정보 등)에 액세스하고 및/또는 사용자 정보(즉, 텍스트, 데이터 등)를 클라이언트 시스템에 제공할 수 있다. 예로서, 사용자는 클라이언트 시스템에 액세스하여 메시지를 보내거나 신용 카드 결제와 관련된 구매를 수행하거나 전자 서명을 문서에 첨부하거나 다양한 기타 목적으로 사용할 수 있다. 사용자 시스템을 통해 사용자와 클라이언트 시스템의 상호 작용 과정에서, 사용자 정보는 클라이언트 시스템과 사용자 시스템간에 전송된다. 본 발명은 발생, 이동, 저장 및 인증 동안 이러한 사용자 및 인증 관련 정보의 보안을 보호하도록 동작 가능하다.After the user has been authenticated and granted access to the secure part of the client system, the user has access to information (i.e. data, documents, transaction information, etc.) and/or user information (i.e. text, data, etc.) to the client. Can be provided to the system. For example, a user may access a client system to send a message, make a purchase related to a credit card payment, attach an electronic signature to a document, or use it for a variety of other purposes. In the process of interaction between the user and the client system through the user system, user information is transferred between the client system and the user system. The present invention is operable to protect the security of such user and authentication-related information during generation, movement, storage and authentication.

이러한 보안을 달성하기 위해 본 발명의 실시예는 사용자 시스템, 클라이언트 시스템, 클라이언트 디스플레이 유닛 및 검증 시스템을 포함할 수 있다. 사용자 시스템은 클라이언트 시스템과 통신하고 클라이언트 시스템에 액세스하기 위해 사용자에 의해 이용되는 클라이언트 장치에 전체적으로 또는 부분적으로 통합될 수 있다. 숙련된 독자는 사용자 장치 및 클라이언트 시스템 사이에서 전송되는 사용자 및 인증 관련 정보에 대한 보안을 달성하는 본 발명의 실시예가 다른 요소를 포함할 수 있음을 인식할 것이다.To achieve this security, embodiments of the present invention may include a user system, a client system, a client display unit, and a verification system. The user system may be wholly or partially integrated into the client device used by the user to communicate with and access the client system. The skilled reader will recognize that embodiments of the present invention that achieve security for user and authentication related information transferred between the user device and the client system may include other elements.

사용자는 사용자 장치를 사용하여 클라이언트 시스템에 대한 사용자 시스템 및 사용자의 자격 증명을 확인한다. 사용자가 클라이언트 시스템의 보안 부분에 액세스 할 권한이 있는지 확인하려면 사용자의 신임 정보 및 사용자 시스템을 확인해야 한다. 사용자는 인증된 경우에만 클라이언트 시스템의 보안 부분을 통해 특정 기능을 수행하거나 특정 정보에 액세스 할 수 있다. 예를 들어, 사용자와 사용자 시스템이 인증된 경우 사용자는 클라이언트 시스템을 통해 특정 거래 만 승인할 수 있다. 클라이언트 시스템은 사용자가 액세스를 시도하는 시스템이므로 인증을 수행해야 한다. 본 발명의 검증 시스템은 본 명세서에 기술된 바와 같이, 사용자 및 사용자 시스템의 신원을 검증하고 클라이언트 시스템이 인증된 것으로 사용자 및 사용자 시스템을 인식하게 할 것이다.The user uses the user device to verify the user system and the user's credentials to the client system. The user's credentials and the user's system must be checked to ensure that the user is authorized to access the secure portion of the client system. Users can perform certain functions or access certain information through the secure portion of the client system only when authenticated. For example, if the user and the user system are authenticated, the user can only approve specific transactions through the client system. Since the client system is a system that the user attempts to access, it must perform authentication. The verification system of the present invention, as described herein, will verify the identity of the user and the user system and cause the client system to recognize the user and the user system as being authenticated.

도 7에 도시된 바와 같이, 클라이언트 시스템으로 및 그로부터 사용자 정보를 전송하는데 이용되는 사용자 시스템(101)은 다수의 요소를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 상호 작용 유닛(interaction unit)(103), 검증기 생성기(verifier generator)(105), 노이즈 생성기(noise generator)(107), 프로세싱 유닛(processing unit)(109), 저장 유닛(storage unit)(111) 및 판독기 유닛(reader unit)(113)을 포함하는 사용자 시스템을 포함할 수 있다.As shown in Fig. 7, the user system 101 used to transmit user information to and from the client system may include a number of elements. For example, an embodiment of the present invention is an interaction unit 103, a verifier generator 105, a noise generator 107, a processing unit 109. , A user system comprising a storage unit 111 and a reader unit 113.

도 8에 도시된 바와 같이, 본 발명의 실시예의 클라이언트 시스템(130)은 다수의 요소를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 CSAP 생성기(131), 저장 유닛(133), 프로세싱 유닛(135), 챌린지 생성기(challenge generator)(137) 및 승인 유닛(139)을 포함하는 클라이언트 시스템을 포함할 수 있다.As shown in Figure 8, the client system 130 of an embodiment of the present invention may include a number of elements. For example, embodiments of the present invention include a client system comprising a CSAP generator 131, a storage unit 133, a processing unit 135, a challenge generator 137, and an approval unit 139. can do.

도 9에 도시된 바와 같이, 본 발명의 실시예의 클라이언트 디스플레이 유닛(150)은 다수의 요소를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 상호 작용 유닛(151), 프로세싱 유닛(153), 임시 저장 유닛(temporary storage unit)(155) 및 키 생성기(key generator)(157)를 포함하는 클라이언트 디스플레이 유닛을 포함할 수 있다.As shown in Fig. 9, the client display unit 150 of the embodiment of the present invention may include a number of elements. For example, an embodiment of the present invention is a client display unit including an interaction unit 151, a processing unit 153, a temporary storage unit 155, and a key generator 157. It may include.

도 10에 도시된 바와 같이, 본 발명의 실시예의 검증 시스템(verification system)(140)은 다수의 요소를 포함할 수 있다. 예를 들어, 본 발명의 실시예는 랜덤 키 생성기(random key generator)(141), 랜덤 텍스트 생성기(random text generator)(143), USID 생성기(145) 및 프로세싱 유닛(147)을 포함하는 검증 시스템을 포함할 수 있다.As shown in Fig. 10, the verification system 140 of the embodiment of the present invention may include a number of elements. For example, an embodiment of the present invention is a verification system including a random key generator 141, a random text generator 143, a USID generator 145, and a processing unit 147. It may include.

사용자가 클라이언트 시스템의 보안 부분에 로그인 하려고 할 때, 사용자는 클라이언트 디스플레이 유닛과의 상호 작용을 통해 자신의 의도를 선언하고, 클라이언트 디스플레이 유닛의 상호 작용 유닛을 사용하여 요청을 입력할 것이다. 도 11에 도시된 바와 같이, 상호 작용 유닛(151)은 요청을 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)에 전달할 것이고, 클라이언트 디스플레이 유닛의 프로세싱 유닛은 이어서 요청을 검증 시스템의 프로세싱 유닛(147)에 전달할 것이다. 사용자 시스템의 프로세싱 유닛(109)은 검증 시스템의 프로세싱 유닛(147)을 통해 클라이언트 디스플레이 유닛의 키 생성기(157)에 전송하는 αk1 및 αk2 키로 구성된 알파 키(Alpha Key)(αk) 콤보를 생성하라는 요청을 생성할 것이다. 클라이언트 디스플레이 유닛의 키 생성기는 αk1 및 αk2를 검증 시스템의 프로세싱 유닛(147)으로 전송한다.When a user attempts to log in to the secure part of the client system, the user will declare his intent through interaction with the client display unit and enter the request using the interaction unit of the client display unit. As shown in Fig. 11, the interaction unit 151 will pass the request to the processing unit 153 of the client display unit, and the processing unit of the client display unit will then pass the request to the processing unit 147 of the verification system. will be. The processing unit 109 of the user system requests to generate an Alpha Key (αk) combo consisting of αk1 and αk2 keys transmitted to the key generator 157 of the client display unit through the processing unit 147 of the verification system. Will generate The key generator of the client display unit sends αk1 and αk2 to the processing unit 147 of the verification system.

[27][27]

이어서, 검증 시스템의 프로세싱 유닛(147)은 검증 시스템의 랜덤 텍스트 생성기(143)로부터 랜덤 텍스트를 요청하고, 검증 시스템의 USID 생성기(145)로부터 고유 시스템 및 이벤트 식별자(unique system & event identifier)(USID)를 요청한다. 랜덤 텍스트 생성기는 랜덤 텍스트를 생성하고 랜덤 텍스트를 검증 시스템의 프로세싱 유닛(147)으로 전송한다. USID 생성기는 USID를 생성하고 검증 시스템의 프로세싱 유닛으로 USID를 보낸다.  USID 생성기는 클라이언트 시스템의 보안 영역에 연결하려는 검증 시스템, 사용자 장치 및 이벤트를 식별하도록 작동 가능하다. USID는 사용자가 사용하기 위해 열려 있는 브라우저 또는 탭의 수를 식별하고 제어하기 위해 브라우저 또는 여러 브라우저의 각 탭에 고유할 수 있다.Subsequently, the processing unit 147 of the verification system requests a random text from the random text generator 143 of the verification system, and a unique system & event identifier (USID) from the USID generator 145 of the verification system ). The random text generator generates random text and sends the random text to the processing unit 147 of the verification system. The USID generator generates the USID and sends the USID to the processing unit of the verification system. The USID generator is operable to identify verification systems, user devices, and events attempting to connect to a secure area of the client system. The USID may be unique to each tab of a browser or multiple browsers to identify and control the number of browsers or tabs open for use by the user.

검증 시스템의 프로세싱 유닛(147)은 αk2로 수신한 USID 및 랜덤 텍스트를 데이터 스트링으로 결합하고 데이터 스트링을 기계 판독 가능 포맷으로 변환한 다음, 이를 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로 전송한다. 클라이언트 디스플레이 유닛의 상호 작용 유닛(interaction unit)(151)은 정보를 사용자 시스템의 판독기 유닛(reader unit)(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 a machine-readable format, and transmits it to the processing unit 153 of the client display unit. The interaction unit 151 of the client display unit makes the information available to the reader unit 113 of the user system.

도 12에 도시된 바와 같이, 도 11의 프로세스가 완료된 후, 정보는 판독기 유닛(113)을 통해 사용자 시스템에 이용 가능하게 된다. 판독기 유닛(113)은 클라이언트 장치에 통합되거나 클라이언트 장치 외부에 있을 수 있지만 유선 연결 또는 무선 연결 을 통해 연결될 수 있는 다음의 청각, 시각, 촉각, 인쇄, 움직임 및 다른 종류의 센서 중 임의의 것을 포함하는 하나 이상의 센서를 포함할 수 있다. 센서는 사용자와 관련된 정보를 얻기 위해 이용될 수 있다.As shown in Fig. 12, after the process of Fig. 11 is completed, the information is made available to the user system through the reader unit 113. The reader unit 113 may be integrated into the client device or may be external to the client device, but may include any of the following auditory, visual, tactile, print, motion, and other types of sensors that may be connected via a wired or wireless connection. It may include one or more sensors. The sensor can be used to obtain information related to the user.

판독기 유닛(113)은 그 후 획득된 정보를 사용자 시스템의 프로세싱 유닛(109)에 전송한다. 사용자 시스템의 프로세싱 유닛은 그것이 판독기 유닛으로부터 수신한 정보를 분리하고 그 정보를 보유할 수 있다. 사용자 시스템의 프로세싱 유닛(109)은 사용자 시스템의 노이즈 생성기(noise generator 107)(107)로부터 노이즈를 요청할 것이다. 노이즈 생성기는 노이즈를 생성하고 노이즈를 사용자 시스템의 프로세싱 유닛으로 보냅니다. 소음은 전송중인 정보의 신원을 가리는 데 사용된다.The reader unit 113 then transmits the obtained information to the processing unit 109 of the user system. The processing unit of the user system can separate and retain the information it has received from the reader unit. The processing unit 109 of the user system will request noise from the noise generator 107 107 of the user system. The noise generator generates noise and sends the noise to the processing unit of your system. Noise is used to mask the identity of the information being transmitted.

사용자가 클라이언트 시스템에 의해 이전에 인증된 경우, 사용자 시스템은 랜덤 델타 1 키(Delta 1 Key)(δk1)를 가질 수 있다.If the user has been previously authenticated by the client system, the user system may have a random Delta 1 Key (δk1).

사용자 시스템의 프로세싱 유닛은 αk2 및 δk1을 사용자 시스템의 검증기 생성기(verifier generator)(105)에 전송할 것이다. 프로세싱 유닛은 또한 새로운 베타 키의 생성을 요청하는 요청을 사용자 시스템의 검증기 생성기로 전송할 것이다. 이 요청에 응답하여 검증기 생성기는 αk2 및 δk1을 사용하여 베타 키 1(Beta Key1)(βK1) 및 베타 키 2(βK2)를 생성한다. 검증기 생성기(105)는 βK1 및 βK2를 사용자 시스템의 프로세싱 유닛(109)에 전송할 것이다.The processing unit of the user system will send αk2 and δk1 to the verifier generator 105 of the user system. The processing unit will also send a request to the user system's verifier generator requesting the generation of 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. The verifier generator 105 will send βK1 and βK2 to the processing unit 109 of the user system.

사용자 시스템의 프로세싱 유닛은 또한 사용자 시스템의 저장 유닛(111)에 액세스하고 델타 1 키(Delta 1 Key) 및/또는 세션 코드(session code) 및/또는 세션 코드의 생성을 요청할 것이다. 저장 유닛(111)은 델타 1 키를 사용자 시스템의 프로세싱 유닛에 제공하거나 세션 코드를 생성하여 이를 사용자 시스템의 프로세싱 유닛에 제공할 것이다. 예를 들어, 사용자 시스템의 프로세싱 유닛(109)은 검증 시스템의 랜덤 키 생성기(random key generator)(141)가 랜덤 델타 1 키 및/또는 세션 코드를 생성하도록 요청하고 이를 프로세싱 유닛(109)에 제공하여, 제공되는 δk1 또는 SC을 위한 해싱 값을 생성할 수 있다.The processing unit of the user system will also access the storage unit 111 of the user system and request generation of a Delta 1 Key and/or a session code and/or a session code. The storage unit 111 may provide the delta 1 key to the processing unit of the user system or generate a session code and provide it to the processing unit of the user system. For example, the processing unit 109 of the user system requests that the random key generator 141 of the verification system generate a random delta 1 key and/or a session code and provides it to the processing unit 109. Thus, it is possible to generate a hashing value for δk1 or SC provided.

사용자 시스템의 프로세싱 유닛은 노이즈 생성기, 사용자 시스템의 저장 유닛, 및 검증기 생성기 각각으로부터 획득된 정보를 이용하여 수동 상호 작용 코드(MIC)를 생성할 수 있다. 사용자 시스템의 프로세싱 유닛은 MIC를 사용자 시스템의 상호 작용 유닛(103)으로 전송할 수 있다. 클라이언트 디스플레이 유닛의 상호 작용 유닛(103)은 MIC를 사용자에게 디스플레이 할 것이다.The processing unit of the user system may generate a manual interaction code (MIC) using information obtained from each of the noise generator, the storage unit of the user system, and the verifier generator. The processing unit of the user system may transmit the MIC to the interaction unit 103 of the user system. The interaction unit 103 of the client display unit will display the MIC to the user.

MIC가 생성되면 잔여 데이터("post-MIC data")가 존재한다. 사용자 시스템의 프로세싱 유닛은 포스트-MIC 데이터(post-MIC data)에 대해 대칭 또는 비대칭 암호화를 수행할 수 있다. 사용자 시스템의 프로세싱 유닛은 포스트-MIC 데이터 및 해싱 값을 클라이언트 시스템의 프로세싱 유닛(135)으로 전송할 수 있다.When the MIC is generated, residual data ("post-MIC data") exists. The processing unit of the user system may perform symmetric or asymmetric encryption on post-MIC data. The processing unit of the user system may transmit the post-MIC data and the hashing value to the processing unit 135 of the client system.

도 13에 도시된 바와 같이, MIC, 포스트-MIC 데이터 및 해싱 값이 사용자 시스템에 의해 발생되면, 클라이언트 시스템의 프로세싱 유닛(135)은 포스트-MIC 데이터 및 해싱을 수신한다. 클라이언트 시스템의 프로세싱 유닛(135)은 클라이언트 시스템의 저장 유닛(133)에 일시적으로 저장될 해싱 값을 전송한다. 포스트-MIC 데이터는 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로 전송된다.As shown in Fig. 13, when MIC, post-MIC data and hashing values are generated by the user system, the processing unit 135 of the client system receives the post-MIC data and hashing. The processing unit 135 of the client system transmits the hashing value to be temporarily stored in the storage unit 133 of the client system. The post-MIC data is transmitted to the processing unit 153 of the client display unit.

클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 αk1 및 포스트-MIC 데이터를 패키지로서 결합하고 이 패키지를 클라이언트 디스플레이 유닛의 키 생성기(157)에 전송한다. 프로세싱 유닛(153)은 클라이언트 디스플레이 유닛의 키 생성기(157)가 감마 키(γK)를 생성하도록 요청한다. γK는 클라이언트 디스플레이 유닛의 키 생성기에 의해 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로 전송된다.The processing unit 153 of the client display unit combines αk1 and the post-MIC data as a package and sends this 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 transmitted to the processing unit 153 of the client display unit by the key generator of the client display unit.

이제 사용자는 클라이언트 디스플레이 유닛의 상호 작용 유닛(151)과 상호 작용해야 한다. 사용자는 MIC를 수동으로 입력해야 한다. 일단 입력되면, MIC는 클라이언트 디스플레이 유닛의 상호 작용 유닛에 의해 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로 전송된다. 프로세싱 유닛(153)은 γK, MIC 및 패키지를 사용하여 SC 또는 δk1이 이용 가능하게 한다. 클라이언트 디스플레이 유닛의 프로세싱 유닛은 SC 또는 δk1에 대한 해싱 값을 계산하고 검증을 위해 해싱 값을 클라이언트 시스템의 승인 유닛(139)으로 전송한다.The user now has to interact with the interaction unit 151 of the client display unit. The user must manually enter the MIC. Once input, the MIC is transmitted to the processing unit 153 of the client display unit by the interaction unit of the client display unit. The processing unit 153 makes SC or δk1 available using γK, MIC and package. The processing unit of the client display unit calculates the hashing value for SC or ?k1 and transmits the hashing value to the authorization unit 139 of the client system for verification.

클라이언트 디스플레이 유닛의 프로세싱 유닛에 의해 수신되거나 생성된 임의의 정보는 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)의 프로세싱 활동 동안 임의의 시점에서 클라이언트 디스플레이 유닛의 임시 저장 유닛(155)에 일시적으로 저장될 수 있다.Any information received or generated by the processing unit of the client display unit may be temporarily stored in the temporary storage unit 155 of the client display unit at any time during the processing activity of the processing unit 153 of the client display unit. .

클라이언트 시스템의 프로세싱 유닛(135)은 클라이언트 시스템의 저장 유닛(133)에 임시 저장된 해싱 값을 검색한다. 클라이언트 시스템의 프로세싱 유닛은 SC 또는 δk1의 해싱 값 및 스토리지로부터 검색된 값을 클라이언트 시스템의 승인 유닛(139)으로 전송한다. 승인 유닛(139)은 해싱 값을 비교하여 매칭을 결정한다.The processing unit 135 of the client system retrieves the hashing value temporarily stored in the storage unit 133 of the client system. The processing unit of the client system transmits the hashing value of SC or ?k1 and the value retrieved from the storage to the authorization unit 139 of the client system. The approval unit 139 determines matching by comparing the hashing values.

해싱 값이 일치하면 승인 유닛(139)은 클라이언트 시스템의 프로세싱 유닛(135)과의 매칭을 확인한다.If the hashing values match, the authorization unit 139 checks the matching with the processing unit 135 of the client system.

도 14에 도시된 바와 같이, 이 일치 확인을 수신하면, 클라이언트 시스템의 프로세싱 유닛(135)은 CSAP 생성기(131)로부터 클라이언트 세션 액세스 통과(Client Session Access Pass)(CSAP)를 요청한다. CSAP 생성기(131)는 클라이언트 시스템의 저장부(133)로 전송되어 일시적으로 저장되는 CSAP를 생성한다. CSAP 생성기(131)는 또한 CSAP를 검증 시스템의 프로세싱 유닛(147)으로 전송한다. 검증 시스템의 프로세싱 유닛(147)은 CSAP를 153 클라이언트 디스플레이 유닛의 프로세싱 유닛으로 전송한다. 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 CSAP를 사용자 시스템의 프로세싱 유닛(135)으로 전송한다. 사용자 시스템의 프로세싱 유닛(135)은 CSAP를 클라이언트 시스템의 승인 유닛(139)으로 전송한다. 클라이언트 시스템의 승인 장치가 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 that is transmitted to the storage unit 133 of the client system and temporarily stored. The CSAP generator 131 also sends the CSAP to the processing unit 147 of the verification system. The processing unit 147 of the verification system sends the CSAP to the processing unit of the 153 client display unit. The processing unit 153 of the client display unit transmits 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 authorization device of the client system verifies the CSAP. The processing unit of the user system receives notification of such confirmation and operates to allow the user to access the secure portion of the client system.

클라이언트 시스템의 승인 유닛(139)이 값이 일치하지 않는다고 결정하면, 사용자, 사용자 시스템 및 클라이언트 디스플레이 유닛은 인증되지 않는다.If the authorization unit 139 of the client system determines that the values do not match, then the user, the user system and the client display unit are not authenticated.

클라이언트 시스템의 CSAP 생성기(131)는 사용자의 인증과 관련된 조건을 테스트하는데 이용될 수 있으며; 본 명세서에 기술된 방법에 따르는, CSAP의 생성으로 통한 사용자 시스템 및 클라이언트 디스플레이 유닛의 주기적인, 클라이언트 시스템의 프로세싱 유닛에 의한 프로세싱 및 검증 시스템, 사용자 시스템, 클라이언트 디스플레이 유닛의 그러한 CSAP의 다른 프로세싱 유닛으로의 전송에 의한 프로세싱 및 클라이언트 시스템, 사용자 시스템 및 클라이언트 디스플레이 유닛의 저장 유닛의 그러한 CSAP의 저장.The CSAP generator 131 of the client system can be used to test conditions related to user authentication; In accordance with the method described herein, periodic of the user system and the client display unit through the creation of the CSAP, processing and verification system by the processing unit of the client system, the user system, to other processing units of such CSAP of the client display unit. Processing and storage of such CSAPs in the storage unit of the client system, the user system and the client display unit by the transmission of.

예를 들어, 클라이언트 시스템의 승인 유닛이 CSAP와 관련하여 인증 조건이 충족되지 않았다고 결정하는 경우, 예를 들어 클라이언트 시스템의 프로세싱 유닛에 의해 수신된 CSAP와 저장된 CSAP가 일치하지 않는다는 결정 다음, 사용자, 사용자 장치 및 클라이언트 디스플레이 유닛의 인증(즉, CSAP 인증)은 취소되고, 사용자, 사용자 장치 및 클라이언트 디스플레이 유닛에 대해 종료된 보안 영역에 대한 액세스가 종료될 것이다.For example, if the authorization unit of the client system determines that the authentication condition has not been met with respect to the CSAP, for example, a determination that the CSAP received by the processing unit of the client system and the stored CSAP do not match, then the user, user The authentication of the device and the client display unit (i.e., CSAP authentication) will be revoked, and the access to the terminated security area for the user, the user device and the client display unit will be terminated.

본 발명의 실시예에서 적용되는 인증을 위한 CSAP 조건은 다음 중 임의의 것과 관련된 조건을 포함할 수 있다: 치수(dimension), 지리-시간(geo-temporal), 기계 학습 인공 지능(machine learnt artificial intelligence), 행동(behavioral) 또는 기타 조건.CSAP conditions for authentication applied in embodiments of the present invention may include conditions related to any of the following: dimension, geo-temporal, machine learnt artificial intelligence. ), behavioral, or other condition.

본 발명의 다른 실시예는 사용자가 클라이언트 디스플레이 유닛을 사용하여 클라이언트 시스템의 보안 부분에 대한 액세스를 통한 거래를 검증하려고 시도하는 것을 도 15에 도시한다. 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 거래를 검증하기 위해 클라이언트 시스템의 프로세싱 유닛(135)에 요청을 전송한다. 그러한 요청에 따라, 클라이언트 시스템의 프로세싱 유닛(135)은 요청을 클라이언트 시스템의 챌린지 생성기(137)에 전송하여 챌린지를 생성한다. 그러한 요청에 따라, 클라이언트 시스템의 챌린지 생성기(137)는 챌린지를 생성하고, 그 챌린지의 결과에 해싱 값을 더 적용할 수 있고, 클라이언트 시스템의 저장 유닛(133)에 솔루션 및/또는 해싱 값을 저장한다. 클라이언트 시스템의 챌린지 생성기는 챌린지를 클라이언트 시스템의 프로세싱 유닛(135)에 전송할 것이다.Another embodiment of the present invention shows in FIG. 15 that a user attempts to verify a transaction through access to a secure portion of a client system using a client display unit. The processing unit 153 of the client display unit sends a request to the processing unit 135 of the client system to verify the transaction. In response to such a request, the processing unit 135 of the client system sends the request to the challenge generator 137 of the client system to generate a challenge. According to such a request, the challenge generator 137 of the client system may generate a challenge, and further apply a hashing value to the result of the challenge, and store the solution and/or the hashing value in the storage unit 133 of the client system. do. The challenge generator of the client system will send the challenge to the processing unit 135 of the client system.

클라이언트 시스템의 프로세싱 유닛(135)은 챌린지에 대칭 및/또는 비대칭 암호화를 적용할 수 있다. 프로세싱 유닛(135)은 챌린지를 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)에 전송할 것이다. 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 제공된 키를 사용하여 챌린지를 해독할 수 있고, 챌린지를 클라이언트 디스플레이 유닛의 상호 작용 유닛(151)에 전송할 것이다. 본 발명의 일 실시예에서, 사용자는 챌린지에 대한 솔루션을 찾기 위해 클라이언트 디스플레이 유닛의 상호 작용 유닛(151)과 상호 작용할 필요가 있을 수 있다. 본 발명의 다른 실시예에서, 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 해독된 챌린지를 해결할 수 있다.The processing unit 135 of the client system may apply symmetric and/or asymmetric encryption to the challenge. The processing unit 135 will send the challenge to the processing unit 153 of the client display unit. The processing unit 153 of the client display unit can decrypt the challenge using the provided key, and will transmit the challenge to the interaction unit 151 of the client display unit. In one embodiment of the present invention, the user may need to interact with the interaction unit 151 of the client display unit to find a solution to the challenge. In another embodiment of the present invention, the processing unit 153 of the client display unit can solve the decrypted challenge.

클라이언트 디스플레이 유닛을 사용하는 사용자가 챌린지에 대한 솔루션(solution)을 찾으면, 사용자 솔루션은 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로 전송된다. 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)은 사용자 솔루션에 기초하여 해싱 값을 생성할 수 있고, 클라이언트 디스플레이 유닛의 프로세싱 유닛은 대칭 또는 비대칭 암호화를 이 해싱 값 및/또는 솔루션에 추가할 수 있다. 클라이언트 디스플레이 유닛의 프로세싱 유닛(예를 들어, 해싱 값 또는 암호화된 해싱 값, 또는 솔루션 또는 암호화된 솔루션)에 의한 프로세싱 결과는 클라이언트 시스템의 프로세싱 유닛(135)으로 전송될 수 있다. 클라이언트 시스템의 프로세싱 유닛(135)은 저장된 솔루션 및/또는 저장된 해싱 값을 검색하기 위해 클라이언트 시스템의 저장 유닛(133)에 요청을 전송할 수 있다. 그러한 요청에 따라, 클라이언트 시스템의 저장 유닛(133)은 저장된 솔루션 및/또는 저장된 해싱 값을 검색하고, 저장된 솔루션 및/또는 저장된 해싱 값을 클라이언트 시스템의 프로세싱 유닛(135)에 전송할 것이다.When the user using the client display unit finds a solution for the challenge, the user solution is transmitted to the processing unit 153 of the client display unit. The processing unit 153 of the client display unit can generate a hashing value based on the user solution, and the processing unit of the client display unit can add symmetrical or asymmetric encryption to this hashing value and/or solution. The processing result by the processing unit (eg, hashing value or encrypted hashing value, or solution or encrypted solution) of the client display unit may be transmitted to the processing unit 135 of the client system. The processing unit 135 of the client system may send a request to the storage unit 133 of the client system to retrieve the stored solution and/or the stored hashing value. In response to such a request, the storage unit 133 of the client system will retrieve the stored solution and/or the stored hashing value, and transmit the stored solution and/or the stored hashing value to the processing unit 135 of the client system.

클라이언트 시스템의 프로세싱 유닛(135)은 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로부터 수신된 임의의 암호화된 해싱 값 또는 암호화된 솔루션 및/또는 암호화되지 않은 해싱 값을 해독할 것이다. 클라이언트 시스템의 프로세싱 유닛(135)은 클라이언트 디스플레이 유닛의 프로세싱 유닛(153)으로부터 수신된 해싱 값 및/또는 솔루션을(암호화되지 않은 형태로) 전송하고, 저장된 솔루션 및/또는 저장된 값은 승인을 위해 클라이언트 시스템의 승인 유닛(139)에 가치를 가진다. 클라이언트 시스템의 승인 유닛(139)은 수신된 솔루션을 저장된 솔루션 및/또는 수신된 해싱 값을 저장된 해싱 값과 비교할 것이다.The processing unit 135 of the client system will decrypt any encrypted hashing value or encrypted solution and/or unencrypted hashing value received from the processing unit 153 of the client display unit. The processing unit 135 of the client system transmits the hashing value and/or solution (in unencrypted form) received from the processing unit 153 of the client display unit, and the stored solution and/or the stored value is transferred to the client for approval. It has value in the approval unit 139 of the system. The authorization unit 139 of the client system will compare the received solution with the stored solution and/or the received hashing value with the stored hashing value.

수신된 솔루션 및/또는 해싱 값이 저장된 솔루션 및/또는 해싱 값과 일치하면, 승인 유닛(139)은 매치의 클라이언트 시스템의 프로세싱 유닛(135)에 확인을 전송할 것이다. 매칭이 긍정이면, 클라이언트 시스템의 프로세싱 유닛(135)은 긍정 일치의 확인을 클라이언트 시스템에 전송하여 거래의 인증이 성공적으로 완료되었음을 확인하고 클라이언트 시스템은 거래를 승인할 것이다.If the received solution and/or hashing value matches the stored solution and/or hashing value, the authorization unit 139 will send a confirmation to the processing unit 135 of the client system of the match. If the match is positive, the processing unit 135 of the client system will send a confirmation of the positive match to the client system to confirm that the authentication of the transaction has been successfully completed and the client system will approve the transaction.

수신된 솔루션 및/또는 해싱 값이 저장된 솔루션 및/또는 해싱 값과 일치하지 않으면, 승인 유닛(139)은 클라이언트 시스템의 프로세싱 유닛(135)에 매치가 없다는 통지를 전송할 것이다. 클라이언트 시스템의 프로세싱 유닛은 통지를 클라이언트 시스템에 전송하고 클라이언트 시스템이 거래를 인증하지 않도록 조언한다.If the received solution and/or hashing value does not match the stored solution and/or hashing value, the acknowledgment unit 139 will send a notification that there is no match to the processing unit 135 of the client system. The processing unit of the client system sends a notification to the client system and advises the client system not to authenticate the transaction.

본 발명의 다른 실시예에서, 검증 시스템의 프로세싱 유닛은 도 14에 따라 클라이언트 시스템의 프로세싱 유닛에 대해 설명된 기능들을 수행할 수 있다. 본 발명의 이러한 실시예에서, 챌린지 생성기 유닛 및 승인 유닛은 클라이언트 시스템 또는 검증 시스템에 통합될 수 있고, 이러한 챌린지 생성기 유닛 및 승인 유닛은 챌린지 생성기(137) 및 승인 유닛(139)의 도 14에 따라 설명된 것과 동일한 기능을 가질 것이다.In another embodiment of the present invention, the processing unit of the verification system may perform the functions described for the processing unit of the client system according to FIG. 14. In this embodiment of the present invention, the challenge generator unit and the approval unit may be integrated into a client system or a verification system, and such a challenge generator unit and approval unit are according to FIG. 14 of the challenge generator 137 and the approval unit 139. It will have the same functionality as described.

본 발명의 다른 실시예, 여기서, 사용자는 사용자 시스템을 사용하여 거래를 검증하려고 시도하는 것이 도 16에 도시되어 있다. 본 발명의 이러한 실시예에서, 사용자 시스템의 프로세싱 유닛(109)은 클라이언트 시스템의 프로세싱 유닛(135)의 요청을 전송하여 거래를 검증한다. 그러한 요청에 따라, 클라이언트 시스템의 프로세싱 유닛(135)은 챌린지를 생성하기 위해 챌린지 생성기(137)에 요청을 전송한다. 그러한 요청에 따라, 챌린지 생성기(137)는 챌린지를 생성하고, 챌린지의 결과(챌린지의 솔루션)에 해싱 값을 추가로 적용하고, 클라이언트 시스템의 저장 유닛(133)에 솔루션 및/또는 해싱 값을 저장한다. 클라이언트 시스템의 프로세싱 유닛(135)은 챌린지에 대칭 및/또는 비대칭 암호화를 적용할 수 있다. 프로세싱 유닛(135)은 암호화될 수 있는 챌린지를 사용자 시스템의 프로세싱 유닛(109)에 전송할 것이다. 사용자 시스템의 프로세싱 유닛(109)은 챌린지를 해독할 수 있고, 챌린지가 암호화되면, 챌린지를 사용자 시스템의 상호 작용 유닛(103)에 전송할 것이다. 본 발명의 일 실시예에서, 사용자는 챌린지에 대한 솔루션을 찾기 위해 사용자 시스템의 상호 작용 유닛(103)과 상호 작용해야 할 수 있다. 본 발명의 다른 실시예에서, 사용자 시스템의 프로세싱 유닛(109)은 해독된 챌린지를 해결할 수 있다.Another embodiment of the present invention, wherein the user attempts to verify a transaction using the user system is shown in FIG. 16. In this embodiment of the invention, the processing unit 109 of the user system verifies the transaction by sending a request from the processing unit 135 of the client system. In response to such a request, the processing unit 135 of the client system sends a request to the challenge generator 137 to generate the challenge. In response to such a request, the challenge generator 137 creates a challenge, additionally applies a hashing value to the result of the challenge (the solution of the challenge), and stores the solution and/or hashing value in the storage unit 133 of the client system. do. The processing unit 135 of the client system may apply symmetric and/or asymmetric encryption to the challenge. The processing unit 135 will send a challenge that can be encrypted to the processing unit 109 of the user system. The processing unit 109 of the user system can decrypt the challenge, and if the challenge is encrypted, it will send the challenge to the interaction unit 103 of the user system. In one embodiment of the invention, the user may have to interact with the interaction unit 103 of the user system to find a solution to the challenge. In another embodiment of the present invention, the processing unit 109 of the user system can solve the decrypted challenge.

사용자가 챌린지에 대한 솔루션을 찾으면, 사용자 솔루션은 사용자 시스템의 프로세싱 유닛(109)으로 전송된다. 사용자 시스템의 프로세싱 유닛(109)은 사용자 솔루션에 기초하여 해싱 값을 생성할 수 있고, 사용자 시스템의 프로세싱 유닛(109)은이 해싱 값 및/또는 솔루션에 대칭 또는 비대칭 암호화를 추가할 수 있다. 사용자 시스템의 프로세싱 유닛(109)에 의한 프로세싱 결과(예를 들어, 해싱 값 또는 암호화된 해싱 값, 및 솔루션 또는 암호화된 솔루션)는 클라이언트 시스템의 프로세싱 유닛(135)으로 전송될 수 있다. 클라이언트 시스템의 프로세싱 유닛(135)은 저장된 솔루션 및/또는 저장된 해싱 값을 검색하기 위해 클라이언트 시스템의 저장 유닛(133)에 요청을 전송할 수 있다. 그러한 요청에 따라, 클라이언트 시스템의 저장 유닛(133)은 저장된 솔루션 및/또는 저장된 해싱 값을 검색하고, 저장된 솔루션 및/또는 저장된 해싱 값을 클라이언트 시스템의 프로세싱 유닛(135)에 전송할 것이다.When the user finds a solution for the challenge, the user solution is sent to the processing unit 109 of the user system. The processing unit 109 of the user system may generate a hashing value based on the user solution, and the processing unit 109 of the user system may add symmetric or asymmetric encryption to this hashing value and/or solution. The processing result (eg, hashing value or encrypted hashing value, and a solution or encrypted solution) by the processing unit 109 of the user system may be transmitted to the processing unit 135 of the client system. The processing unit 135 of the client system may send a request to the storage unit 133 of the client system to retrieve the stored solution and/or the stored hashing value. In response to such a request, the storage unit 133 of the client system will retrieve the stored solution and/or the stored hashing value, and transmit the stored solution and/or the stored hashing value to the processing unit 135 of the client system.

클라이언트 시스템의 프로세싱 유닛(135)은 사용자 시스템의 프로세싱 유닛(109)으로부터 수신된 임의의 암호화된 해싱 값 또는 암호화된 솔루션을 해독할 것이다. 클라이언트 시스템의 프로세싱 유닛(135)은(암호화되지 않은 형태로) 사용자 시스템의 프로세싱 유닛(109)으로부터 수신한 해싱 값 및 솔루션을 승인을 위해 클라이언트 시스템의 승인 유닛(139)에 전송하고, 저장된 솔루션 및/또는 저장된 것은 값를 가진다. 클라이언트 시스템의 승인 유닛(139)은 수신된 솔루션을 저장된 솔루션 및/또는 수신된 해싱 값을 저장된 해싱 값과 비교할 것이다.The processing unit 135 of the client system will decrypt any encrypted hashing values or encrypted solutions received from the processing unit 109 of the user system. The processing unit 135 of the client system transmits the hashing value and solution received from the processing unit 109 of the user system (in unencrypted form) to the approval unit 139 of the client system for approval, and stores the solution and /Or what is stored has a value. The authorization unit 139 of the client system will compare the received solution with the stored solution and/or the received hashing value with the stored hashing value.

수신된 솔루션이 저장된 솔루션과 일치하거나 수신된 해싱 값이 저장된 해싱 값과 일치하는 경우, 승인 유닛(139)은 매치의 클라이언트 시스템의 프로세싱 유닛(135)으로 확인을 전송할 것이다. 클라이언트 시스템의 프로세싱 유닛(135)은 거래의 인증이 완료되고 성공적인지를 확인하기 위해 클라이언트 시스템에 매칭 확인을 전송한다.If the received solution matches the stored solution, or if the received hashing value matches the stored hashing value, the acknowledgment unit 139 will send a confirmation to the processing unit 135 of the client system of the match. The processing unit 135 of the client system sends a matching confirmation to the client system to confirm that the authentication of the transaction is complete and successful.

수신된 솔루션이 저장된 솔루션과 일치하거나 수신된 해싱 값이 저장된 해싱 값과 일치하는 경우, 승인 유닛(139)은 클라이언트 시스템의 프로세싱 유닛에 일치하는 것이 없음을 통지할 것이다. 클라이언트 시스템의 프로세싱 유닛은 통지를 클라이언트 시스템에 전송하고 클라이언트 시스템이 거래를 인증하지 않도록 조언한다.If the received solution matches the stored solution or the received hashing value matches the stored hashing value, then the acknowledgment unit 139 will notify the processing unit of the client system that there is no match. The processing unit of the client system sends a notification to the client system and advises the client system not to authenticate the transaction.

본 발명의 다른 실시예에서, 검증 시스템의 프로세싱 유닛은 도 16에 따라 클라이언트 시스템의 프로세싱 유닛에 대해 설명된 기능들을 수행할 수 있다. 본 발명의 이러한 실시예에서, 챌린지 생성기 유닛 및 승인 유닛은 클라이언트 시스템 또는 검증 시스템에 통합될 수 있고, 이러한 챌린지 생성기 유닛 및 승인 유닛은 챌린지 생성기(137) 및 승인 유닛(139)의 도 16에 따라 설명된 것과 동일한 기능을 가질 것이다.In another embodiment of the present invention, the processing unit of the verification system may perform the functions described for the processing unit of the client system according to FIG. 16. In this embodiment of the present invention, the challenge generator unit and the approval unit may be integrated into a client system or a verification system, and these challenge generator units and approval units are according to FIG. 16 of the challenge generator 137 and the approval unit 139. It will have the same functionality as described.

인증을 위한 시스템 및 네트워크는 각각 적어도 프로세서 및 송신기/수신기를 포함하는 하나 이상의 제1 피어, 하나 이상의 서버 및 하나 이상의 제2 피어를 포함할 수 있다. 하나 이상의 제1 피어 및 하나 이상의 제2 피어는 각각의 메모리를 추가로 포함할 수 있다. 일부 실시예에서, 하나 이상의 제1 피어 및 하나 이상의 제2 피어 각각은 시각적 디스플레이를 포함할 수 있다. 하나 이상의 서버는 데이터 베이스를 추가로 포함할 수 있다. 제1 피어, 제2 피어 및 서버 각각의 송신기/수신기는 외인성 소스로부터 정보를 송수신하도록 구성될 수 있다. 일부 실시예에서, 제1 피어는 서버로부터 정보를 송수신하도록 구성될 수 있고, 서버는 제1 피어 및 제2 피어 모두로부터 정보를 송수신하도록 구성될 수 있고, 제2 피어는 서버로부터 정보를 송수신하도록 구성될 수 있다. 제1 피어 및 제2 피어의 메모리 및 서버의 데이터 베이스는 정보를 저장하고 정보를 검색하도록 구성될 수 있다. 시각적 디스플레이는 사용자가 디스플레이와 상호 작용하기 위한 수단, 예를 들어 데이터 입력, 문자 선택, 객체 선택 등을 포함한다.Systems and networks for authentication may each include one or more first peers, one or more servers, and one or more second peers each including at least a processor and a transmitter/receiver. One or more first peers and one or more second peers may further include respective memories. In some embodiments, each of the one or more first peers and the one or more second peers may include a visual display. One or more servers may further include a database. Each transmitter/receiver of the first peer, the second peer and the server may be configured to transmit and receive information from an exogenous source. In some embodiments, the first peer may be configured to transmit and receive information from the server, the server may be configured to transmit and receive information from both the first peer and the second peer, and the second peer to transmit and receive information from the server. Can be configured. The memory of the first peer and the second peer and the database of the server may be configured to store information and retrieve information. The visual display includes means for the user to interact with the display, for example data entry, text selection, object selection, and the like.

제1 피어, 제2 피어 또는 서버의 프로세서는 프로세싱 마이그레이터(processing migrator), 데이터 조작기(data manipulator), 데이터 변환기(data converter), 프로세싱 생성기(processing generator) 및 프로세싱 검증기(processing verifier)를 포함할 수 있다. 프로세싱 마이그레이터는 제1 피어, 제2 피어 또는 서버 내의 하나의 컴포넌트로부터 제1 피어, 제2 피어 또는 서버 내의 다른 컴포넌트로 데이터를 마이그레이션 하도록 구성될 수 있다. 예로서, 비제한적으, 프로세싱 마이그레이터는 제1 피어의 메모리로부터 제1 피어의 프로세서로, 또는 제2 피어의 프로세서로부터 제2 피어의 송신기/수신기로 데이터를 이동시키도록 구성될 수 있다. 데이터 조작기는 예를 들어 데이터를 조작하도록, 예를 들어 결합, 분리, 분리 및 재결합, 재정렬 등으로 구성될 수 있다. 예로서, 비제한적으로, 제1 피어의 데이터 조작기는 하나 이상의 문자열을 제1 부분 및 제2 부분으로 분리하도록 구성될 수 있거나, 서버의 데이터 조작기는 단일 데이터 패킷을 생성하기 위해 데이터의 제1 부분과 데이터의 제2 부분을 결합하도록 구성될 수 있다.The processor of the first peer, the second peer or the server may include a processing migrator, a data manipulator, a data converter, a processing generator, and a processing verifier. have. The processing migrater may be configured to migrate data from one component in the first peer, second peer or server to another component in the first peer, second peer or server. By way of example and not limitation, the processing miter may be configured to move data from a memory of a first peer to a processor of a first peer, or from a processor of a second peer to a transmitter/receiver of a second peer. The data manipulator may be configured to manipulate the data, for example, in combination, separation, separation and recombination, rearrangement, etc. By way of example, and not limitation, the data manipulator of the first peer may be configured to separate one or more strings into a first part and a second part, or the data manipulator of the server may be configured to generate a single data packet. And the second portion of the data.

데이터 변환기는 제1 문자열을 제2 문자열로 변환하도록 구성될 수 있고, 여기서, 제1 문자열 및 제2 문자열 각각은 길이, 구성 또는 배열 중 임의의 하나 이상이 상이할 수 있다. 일부 실시예에서, 데이터 변환기는 해싱 알고리즘을 제1 문자열에 적용하도록 구성될 수 있다. 다른 실시예에서, 데이터 변환기는 제1 문자열에 암호화 프로토콜을 적용하도록 구성될 수 있다. 또 다른 실시예에서, 데이터 변환기는 암호 해독 프로토콜을 제1 문자열에 적용하도록 구성될 수 있다. 다른 실시예에서 여전히, 데이터 변환기는 해싱 알고리즘, 암호화 프로토콜, 복호화 프로토콜, 또는 임의의 다른 공지된 데이터 변환 방법을 제1 문자열로 적용하여 제2 문자열을 생성하도록 구성될 수 있다.The data converter may be configured to convert a first character string into a second character string, wherein each of the first character string and the second character string may have different lengths, configurations, or any one or more of an arrangement. In some embodiments, the data converter may be configured to apply a hashing algorithm to the first string. In another embodiment, the data converter may be configured to apply an encryption protocol to the first string. In another embodiment, the data converter may be configured to apply a decryption protocol to the first string. Still in other embodiments, the data converter may be configured to apply a hashing algorithm, encryption protocol, decryption protocol, or any other known data conversion method to the first string to generate the second string.

프로세싱 생성기(processing generator)는 데이터를 생성하도록 구성될 수 있다. 일부 실시예에서, 데이터는 임의의 길이의 하나 이상의 문자 스트링을 포함할 수 있고 바코드 등을 포함할 수 있다. 일부 실시예에서, 데이터는 랜덤 방식 또는 지시된 방식으로 생성될 수 있다. 프로세싱 검증기는 둘 이상의 데이터를 비교하고 이들 데이터가 동일하거나 다른지를 결정하도록 구성될 수 있다. 일부 실시예에서, 프로세싱 검증기(processing verifier) 및 프로세싱 생성기는 제1 문자열 및 제2 문자열이 동일한지를 결정하고 제1 및 제2 문자열의 신원에 기초하여 응답을 생성하기 위해 쌍을 이룰 수 있다.A processing generator can be configured to generate data. In some embodiments, the data may include one or more character strings of any length and may include barcodes and the like. In some embodiments, the data may be generated in a random manner or in an indicated manner. The processing verifier may be configured to compare two or more data and determine if these data are the same or different. In some embodiments, a processing verifier and a processing generator may be paired to determine if the first string and the second string are the same and to generate a response based on the identity of the first and second strings.

인증 방법은 등록 방법(registration method)(1700) 및 사용자 로그인 방법(user log-in method)(2000)을 포함할 수 있다. 일부 실시예에서, 등록 방법(1700)은 하나 이상의 키를 발생시키고, 하나 이상의 키를 분배하고, 하나 이상의 키를 로컬 데이터 베이스에 저장하고, 하나 이상의 키를 서버 데이터 베이스에 저장하는 단계를 포함할 수 있다. 도 17에 도시된 바와 같이, 등록 방법(1700)은 제1 피어(first peer)(1701), 서버(1750), 및 적어도 하나의 제2 피어(second peer)(1775) 간의 통신을 추가로 포함할 수 있다.The authentication method may include a registration method 1700 and a user log-in method 2000. In some embodiments, registration method 1700 includes generating one or more keys, distributing one or more keys, storing one or more keys in a local database, and storing one or more keys in a server database. I can. As shown in FIG. 17, the registration method 1700 further includes communication between a first peer 1701, a server 1750, and at least one second peer 1775. can do.

등록 방법(registration method)(1700)의 일부 실시예에서, 서버(1750)는 제1 피어(first peer)(1701)로부터 등록 요청(registration request)(1702)을 수신할 수 있다. 서버(server)(1750)는 등록 데이터(registration data)(1751)를 제1 피어(1701)로 전송할 수 있다. 등록 데이터(registration data)(1751)는 등록 방법(1700)에 필요한 임의의 데이터를 포함할 수 있다. 일부 실시예에서, 등록 데이터(1751)는 클라이언트 등록 코드(client registration code)(1703)를 포함할 수 있다. 클라이언트 등록 코드(1703)는 문자, 숫자, 기호 또는 이들의 임의의 조합을 포함하는 하나 이상의 문자로 구성될 수 있으며, 서버(1750)에 의해 생성될 수 있다. 다른 실시예에서, 등록 데이터는 사용자 선택 객체(user selection object)를 포함한다. 또 다른 실시예에서, 등록 데이터는 하나 이상의 클라이언트 등록 코드(1703), 사용자 선택 객체, 및 등록에 필요한 임의의 다른 데이터의 조합을 포함할 수 있다.In some embodiments of the registration method 1700, the server 1750 may receive a registration request 1702 from a first peer 1701. The server 1750 may transmit registration data 1751 to the first peer 1701. The registration data 1751 may include arbitrary data required for the registration method 1700. In some embodiments, registration data 1751 may include a client registration code 1703. The client registration code 1703 may be composed of one or more characters including letters, numbers, symbols, or any combination thereof, and may be generated by the server 1750. In another embodiment, the registration data includes a user selection object. In yet another embodiment, the registration data may include a combination of one or more client registration codes 1703, user-selected objects, and any other data required for registration.

등록 방법(1700)은 사용자 입력(user input)(1704)으로부터 서버 키(server key)(1705) 및 클라이언트 키(client key)(1706)를 생성하는 단계를 더 포함할 수 있다. 일부 실시예에서, 서버 키(1705) 및 클라이언트 키(1706)는 등록 키(1707)를 생성하는데 사용된다. 다른 실시예에서, 서버 키(1705), 클라이언트 키(1706) 및 적어도 하나의 클라이언트 등록 코드(1703)는 등록 키(1707)를 생성하는데 사용된다. 다른 실시예는 등록 키(1707)를 생성하기 위해 사용되는 클라이언트 키(1706), 서버 키(1705) 및 클라이언트 등록 코드(1703)의 상이한 조합을 포함할 수 있다. 일부 정보, 예를 들어 클라이언트 키(1706), 클라이언트 등록 코드(1703) 는 제1 피어(1701)의 메모리(1708)에 저장될 수 있다. 또한, 등록 방법(1700)은 제1 피어(1701)로부터 서버(1750)로 정보를 전송하는 단계를 포함할 수 있다. 일부 실시예에서, 등록 키(1707) 및 서버 키(1705)는 서버(1750)로 전송된다.The registration method 1700 may further include generating a server key 1705 and a client key 1706 from a user input 1704. In some embodiments, server key 1705 and client key 1706 are used to generate registration key 1707. In another embodiment, the server key 1705, the client key 1706, and at least one client registration code 1703 are used to generate the registration key 1707. Other embodiments may include different combinations of client key 1706, server key 1705, and client registration code 1703 that are used to generate registration key 1707. Some information, for example, the client key 1706 and the client registration code 1703 may be stored in the memory 1708 of the first peer 1701. In addition, the registration method 1700 may include transmitting information from the first peer 1701 to the server 1750. In some embodiments, registration key 1707 and server key 1705 are transmitted to server 1750.

등록 방법(1700)은 서버(1750)에서 제1 피어(1701)로부터 정보를 수신하는 단계를 포함할 수 있다. 일부 실시예에서, 서버(1750)에서 수신된 정보는 등록 키(1707) 및 서버 키(1705)를 포함할 수 있다. 서버(1750)는 수신자 코드(1752)를 생성할 수 있다. 또한, 서버(1750)는 발신자 코드(sender code)(1754)를 생성할 수 있다. 또한, 서버(1750)는 분배 코드(1756)를 생성할 수 있다. 서버 키(1705), 수신자 코드(1752) 및 발신자 코드(1754)는 분배 키(distribution key)(1753)를 생성하는데 사용될 수 있다. 일부 실시예에서, 분배 키(1753)는 서버 키(1705), 수신자 코드(1752) 또는 발신자 코드(1754) 중 임의의 하나 이상, 또는 그 내부의 임의의 조합으로부터 생성될 수 있다. 일부 정보, 예를 들어 수신자 코드(1752), 분배 키(1753)는 서버(1750)의 데이터 베이스(1757)에 저장될 수 있다. 등록 방법(1700)은 정보를 서버(1750)로부터 적어도 하나의 제2 피어(1775)로 전송하는 단계를 더 포함할 수 있다. 일부 실시예에서, 분배 키(1753) 및 분배 코드(1756)는 적어도 하나의 제2 피어(1775)로 전송된다.The registration method 1700 may include receiving information from the first peer 1701 at the server 1750. In some embodiments, the information received at server 1750 may include registration key 1707 and server key 1705. The server 1750 may generate a recipient code 1751. In addition, the server 1750 may generate a sender code 1754. Additionally, the server 1750 may generate the distribution code 1756. Server key 1705, recipient code 1751, and sender code 1754 may be used to generate a distribution key 1756. In some embodiments, distribution key 1756 may be generated from any one or more of server key 1705, recipient code 1751, or sender code 1754, or any combination therein. Some information, for example, the recipient code 1752 and the distribution key 1756 may be stored in the database 1757 of the server 1750. The registration method 1700 may further include transmitting information from the server 1750 to at least one second peer 1775. In some embodiments, distribution key 1753 and distribution code 1756 are transmitted to at least one second peer 1775.

등록 방법(1700)은 하나 이상의 키를 로컬 데이터 베이스에 저장하는 단계를 더 포함할 수 있다. 도 17에 도시된 바와 같이, 적어도 하나의 제2 피어(1775)는 서버(1750)로부터 정보를 수신할 수 있다. 일부 실시예에서, 정보는 분배 키(1753) 및 분배 코드(1756)를 포함할 수 있다. 제2 피어는 보관 코드(deposit code)(1776)를 생성할 수 있다. 또한, 분배 키(distribution key)(1753) 및 보관 코드(1776)는 보관 키(deposit key)(1777)를 생성하는데 사용될 수 있다. 일부 실시예에서, 보관 키(1777)는 단지 분배 키(1753), 단지 보관 코드(1776), 또는 분배 키(1753) 및 보관 코드(1776)의 임의의 조합을 사용하여 생성될 수 있다. 일부 정보, 예를 들어, 분배 키(1753), 보관 키(1777), 분배 코드(1756)는 제2 피어 장치(1775)의 메모리(1758)에 저장될 수 있다. 등록 방법(1700)은 제2 피어(1775)로부터 서버(1750)로 정보를 전송하는 단계를 더 포함할 수 있다. 일부 실시예에서, 보관 키(1777) 및 분배 코드(1756)는 서버(1750)로 전송된다.The registration method 1700 may further include storing one or more keys in a local database. As shown in FIG. 17, at least one second peer 1775 may receive information from the server 1750. In some embodiments, the information may include distribution key 1756 and distribution code 1756. The second peer may generate a deposit code 1776. Also, a distribution key 1756 and a storage code 1776 may be used to generate a deposit key 1777. In some embodiments, the archive key 1777 may be generated using only the distribution key 1756, the only archive code 1776, or any combination of the distribution key 1756 and the archive code 1776. Some information, for example, the distribution key 1753, the storage key 1777, and the distribution code 1756 may be stored in the memory 1758 of the second peer device 1775. The registration method 1700 may further include transmitting information from the second peer 1775 to the server 1750. In some embodiments, the archive key 1777 and distribution code 1756 are transmitted to the server 1750.

등록 방법(1700)은 제2 피어(1775)로부터 정보를 수신하고 그 정보를 로컬 데이터 베이스에 저장하는 단계를 포함할 수 있다. 일부 실시예에서, 일부 실시예에서, 서버(1750)는 제2 피어(1775)로부터 정보를 수신한다. 수신된 정보는 보관 키(1777), 분배 코드(1756), 및 서버(1750)에 의한 정보의 저장 또는 제2 피어(1775)의 식별에 필요한 다른 정보를 포함할 수 있다.The registration method 1700 may include receiving information from the second peer 1775 and storing the information in a local database. In some embodiments, in some embodiments, server 1750 receives information from second peer 1775. The received information may include a storage key 1777, a distribution code 1756, and other information necessary for storage of the information by the server 1750 or identification of the second peer 1775.

이제 도 18을 참조하면, 일부 실시예에 따라 하나 이상의 키(1800)를 발생시키는 단계는 제1 피어(1801)에서 발생할 수 있다. 제1 피어(1801)는 임의의 IoT 장치, 즉 네트워크에 연결될 수 있고 셀 폰, 개인 비서, 버튼, 홈 보안 시스템, 장치 등을 포함하지만 이에 제한되지 않는 데이터를 전송할 수 있는 임의의 장치일 수 있다. 제1 피어(1801)는 서버(1850)로부터 등록을 요청할 수 있다. 일부 실시예에 따르면, 서버(1850)는 등록 데이터를 제1 피어(1801)로 전송할 수 있다. 등록 데이터는 제1 피어(1801)의 송신기/수신기(1841)에 의해 수신될 수 있고 제1 피어(1801)에서 하나 이상의 키(1800)를 생성하는 데 필요한 임의의 데이터를 포함할 수 있다. 일부 실시예에서, 등록 데이터는 클라이언트 등록 코드(1803)를 포함할 수 있다. 다른 실시예에서, 등록 데이터는 클라이언트 등록 코드(1803) 및 사용자 입력(1804)의 선구자로서 기능할 수 있는 추가 데이터를 포함할 수 있다. 클라이언트 등록 코드(1803)는 임의의 길이의 하나 이상의 문자열을 포함할 수 있다.Referring now to FIG. 18, the step of generating one or more keys 1800 may occur at the first peer 1801 according to some embodiments. The first peer 1801 may be any IoT device, that is, any device that can be connected to a network and can transmit data including, but not limited to, a cell phone, personal assistant, button, home security system, device, and the like. . The first peer 1801 may request registration from the server 1850. According to some embodiments, the server 1850 may transmit registration data to the first peer 1801. The registration data may be received by the transmitter/receiver 1841 of the first peer 1801 and may include any data required to generate one or more keys 1800 at the first peer 1801. In some embodiments, registration data may include a client registration code 1803. In another embodiment, the registration data may include additional data that may serve as a precursor to the client registration code 1803 and user input 1804. The client registration code 1803 may include one or more character strings of any length.

사용자 입력(1804)은 신중한 정보 단위를 포함하는 임의 형태의 사용자 생성 데이터를 포함할 수 있다. 일부 실시예에서, 사용자 입력(1804)은 예를 들어 생체 데이터, 예를 들어 지문, 홍채 등을 포함한다. 이들 실시예에서, 생체 데이터는 식별자를 포함하는 신중한 정보 단위로 분할될 수 있다. 식별자는 고유한 선택 코드(1809)로 변환될 수 있다. 다른 실시예에서, 사용자 입력(1804)은 임의의 수의 공간 및/또는 시간 데이터를 포함할 수 있다. 공간 및/또는 시간 데이터는 식별자를 포함하는 신중한 정보 단위로 분할될 수 있다. 식별자는 고유한 선택 코드(1809)로 변환될 수 있다. 또 다른 실시예에서, 사용자 입력(1804)은 생체 데이터 및 공간 및/또는 시간 데이터의 조합을 포함할 수 있으며, 이들 각각은 고유한 선택 코드(1809)를 생성하는데 사용될 수 있다.The user input 1804 may include user-generated data in any form including a discreet unit of information. In some embodiments, user input 1804 includes, for example, biometric data, such as fingerprints, irises, and the like. In these embodiments, the biometric data can be divided into discreet units of information including an identifier. The identifier may be converted to a unique selection code 1809. In other embodiments, user input 1804 may include any number of spatial and/or temporal data. Spatial and/or temporal data can be divided into discreet units of information including identifiers. The identifier may be converted to a unique selection code 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 a unique selection code 1809.

다른 실시예에서, 사용자 입력(1804)은 하나 이상의 선택 객체를 포함할 수 있다. 하나 이상의 선택 객체는 이미지, 아이콘, 토큰, 버튼 또는 사용자가 선택 객체 그룹으로부터 하나 이상의 선택 객체를 선택할 수 있게 하는 임의의 다른 객체일 수 있다. 일부 실시예에서, 선택 객체는 송신기/수신기(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 object that allows a user to select one or more selection objects from a group of selection objects. In some embodiments, the selection object may be received at the transmitter/receiver 1841 and the processing migrater 1842 may migrate the selection object to the visual display 1843. When selected by the user on the visual display 1843, the selection object may be converted to a selection code 1809, which may include any number of characters such as letters, numbers, and symbols. In certain embodiments, the selection object is an image that can be received from server 1850. Each image is assigned a unique selection code 1809, and user selection of a combination of selection objects generates a user input 1804 including a combination 1809 of selection codes unique to the selection of the selection object by the user. In some embodiments, any combination of biometric data, spatial and/or temporal data, and selection objects may include user input 1804.

일부 실시예에 따르면, 사용자는 둘 이상의 선택 코드(1809)를 포함하는 사용자 입력(1804)을 생성할 수 있고, 선택 코드의 수는 n과 동일하다. 데이터 조작기(1844)는 선택 코드를 둘 이상의 그룹으로 분리하도록 구성될 수 있다. 일부 실시예에서, 데이터 조작기(1844)는 선택 코드(1809)를 제1 그룹(1810) 및 제2 그룹(1811)으로 분리하도록 구성될 수 있고, 여기서, 제1 그룹(1810)은 1 내지 n-1 선택 코드(1809)를 포함하고 제2 그룹(1811)은 1 내지 n-1 선택 코드(1809)를 포함한다. 제1 그룹(1810) 및 제2 그룹(1811)의 각각의 선택 코드(1809)는 데이터 변환기(1845)에 의해 개별적으로 하나 이상의 문자열로 변환되어(1812), 제1 그룹의 변환된 선택 코드(1813) 및 제2 그룹의 변환된 선택 코드(1815)가 생성될 수 있다. 일부 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1812)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1812)을 포함할 수 있다. 변환된 선택 코드(1813)의 제1 그룹은 클라이언트 프리 키(1814)를 생성하는데 사용될 수 있다. 제1 그룹의 변환된 선택 코드(1813)를 포함하는 개별 변환된 선택 코드는 데이터 조작기(1844)에 의해 결합되어 클라이언트 프리 키(1814)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 일부 실시예에서, 개별 변환된 선택 코드는 단위 연관(concatenation of unit)을 통해 결합된다. 연관은 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있거나 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있다. 클라이언트 프리 키(1814)는 데이터 변환기(1845)에 의해 클라이언트 키(1806)로 변환될 수 있다(1812). 일부 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1812)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1812)을 포함할 수 있다. 클라이언트 키(1812)는 프로세싱 마이그레이터(1842)에 의해 제1 피어(1801)의 메모리(1808)에 저장될 수 있다.According to some embodiments, a user may generate a user input 1804 including more than one selection code 1809, and the number of selection codes is equal to n. The data manipulator 1844 may be configured to separate the selection codes into two or more groups. In some embodiments, the data manipulator 1844 may be configured to separate the selection code 1809 into a first group 1810 and a second group 1811, where the first group 1810 is 1 to n The -1 selection code 1809 is included and the second group 1811 includes the 1 to n-1 selection code 1809. Each selection code 1809 of the first group 1810 and the second group 1811 is individually converted (1812) into one or more strings by the data converter 1845, and the converted selection code of the first group ( 1813) and the converted selection code 1815 of the second group may be generated. In some embodiments, transform 1812 may include using a hashing algorithm. In another embodiment, the transform 1812 may include using an encryption method. Another embodiment may include transform 1812 using a combination of hashing algorithms and encryption methods. The first group of transformed selection codes 1813 can be used to generate a client free key 1814. Individual transformed selection codes including the first group of transformed selection codes 1813 may be combined by data manipulator 1844 to form one or more strings including client-free keys 1814. In some embodiments, individual transformed selection codes are combined through concatenation of units. The association may include using each individual transformed selection code as one unit or may include using each individual transformed selection code as one unit. The client free key 1814 may be converted to a client key 1806 by the data converter 1845 (1812). In some embodiments, transform 1812 may include using a hashing algorithm. In another embodiment, the transform 1812 may include using an encryption method. Another embodiment may include transform 1812 using a combination of hashing algorithms and encryption methods. The client key 1812 may be stored in the memory 1808 of the first peer 1801 by the processing migrator 1842.

변환된 선택 코드(1815)의 제2 그룹은 서버 프리 키(1816)를 생성하는데 사용될 수 있다. 제2 그룹의 변환된 선택 코드(1815)를 포함하는 개별 변환된 선택 코드는 데이터 조작기(1844)에 의해 결합되어 서버 프리 키(1816)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 일부 실시예에서, 개별 변환된 선택 코드는 유닛의 연관을 통해 결합될 수 있다. 연관은 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있거나 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있다. 서버 프리 키(1816)는 데이터 변환기(1845)에 의해 서버 키(1807)로 변환될 수 있다(1812). 일부 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1812)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1812)을 포함할 수 있다.The second group of transformed selection codes 1815 can be used to generate server-free keys 1816. Individual converted selection codes including the second group of converted selection codes 1815 may be combined by data manipulator 1844 to form one or more character strings including server-free keys 1816. In some embodiments, individual transformed selection codes may be combined through association of units. The association may include using each individual transformed selection code as one unit or may include using each individual transformed selection code as one unit. The server-free key 1816 may be converted to a server key 1807 by the data converter 1845 (1812). In some embodiments, transform 1812 may include using a hashing algorithm. In another embodiment, the transform 1812 may include using an encryption method. Another embodiment may include transform 1812 using a combination of hashing algorithms and encryption methods.

일부 실시예에 따르면, 등록 키(1807)가 생성될 수 있다. 클라이언트 키(1806) 및 서버 키(1805) 각각은 데이터 조작기(1844)에 의해 클라이언트 키 제1 파트(1815), 클라이언트 키 제2 파트(1818), 서버 키 제1 파트(1818) 및 서버 키 제2 파트(1820)으로 분리될 수 있다. 일부 실시예에서, 클라이언트 키(1806)는 3 개 이상의 부분으로 분리될 수 있다. 마찬가지로, 서버 키(1805)는 3 개 이상의 부분으로 분리될 수 있다. 클라이언트 키 제1 파트(1817) 및 클라이언트 키 제2 파트(1818)은 클라이언트 키(1806)를 포함하는 문자의 상이한 부분을 포함할 수 있다. 특정 실시예에서, 클라이언트 키 제1 파트(client key first part)(1817) 및 클라이언트 키 제2 파트(client key second part)(1818) 각각은 클라이언트 키(1806)의 절반일 수 있다. 서버 키 제1 파트(server key first part)(1819) 및 서버 키 제2 파트(server key second part)(1820)은 서버 키(1805)를 포함하는 문자의 다른 부분을 포함할 수 있다. 특정 실시예에서, 서버 키 제1 파트(1819) 및 서버 키 제2 파트(1820) 각각은 서버 키(1805)의 절반일 수 있다. 클라이언트 키 제1 파트(1817), 클라이언트 키 제2 파트(1818), 서버 키 제1 파트(1819) 및 서버 키 제2 파트(1820)은 제1 프리 키(1821)를 포함하는 하나 이상의 문자열을 형성하기 위해 유닛들의 연관을 통해 데이터 조작기(1844)에 의해 결합될 수 있다. 데이터 조작기(1844)에 의한 연관은 클라이언트 키 제1 파트(1817), 클라이언트 키 제2 파트(1818), 서버 키 제1 파트(1819) 및 서버 키 제2 파트(1820) 각각을 하나의 단위로서 사용하거나, 또는 클라이언트 키 제1 파트(1817), 클라이언트 키 제2 파트(1818), 서버 키 제1 파트(1819), 및 서버 키 제2 파트(1820)의 조각들을 하나의 유닛으로서 사용하는 단계를 포함할 수 있다. 또한, 연관은 클라이언트 키(1806) 또는 서버 키(1805)의 분리에 의해 생성된 부분의 임의의 조합을 사용하는 단계를 포함할 수 있다. 제1 프리 키(1821)는 데이터 변환기(1845)에 의해 제2 프리 키(1822)를 포함하는 하나 이상의 문자열로 변환될 수 있다(1812). 일부 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1812)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1812)을 포함할 수 있다. 등록 프리 키(1823)를 생성하기 위해 제2 프리 키(1822)가 사용될 수 있다. 일부 실시예에 따르면, 제2 프리 키(1822) 및 클라이언트 등록 코드(1803)는 데이터 조작기(1844)에 의해 연관되어 등록 프리 키(1823)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 연관은 제2 프리 키(1822) 및 클라이언트 등록 코드(1803) 각각을 단위로 사용하거나 제2 프리 키(1822) 및 클라이언트 등록 코드(1803)를 단위로 사용하는 단계를 포함할 수 있다. 등록 프리 키(1823)는 데이터 변환기(1845)에 의해 등록 키(1807)를 포함하는 하나 이상의 문자열로 변환될 수 있다(1812). 일부 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1812)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1812)을 포함할 수 있다.According to some embodiments, a registration key 1807 may be generated. Each of the client key 1806 and the server key 1805 is processed by the data manipulator 1844 to create a client key first part 1815, a client key second part 1818, a server key first part 1818, and a server key. It can be divided into two parts 1820. In some embodiments, the client key 1806 may be divided into three or more parts. Likewise, the server key 1805 can be divided into three or more parts. The client key first part 1817 and the client key second part 1818 may include different portions of the character comprising the client key 1806. In certain embodiments, each of the client key first part 1817 and the client key second part 1818 may be half of the client key 1806. The server key first part 1819 and the server key second part 1820 may include different parts of the character including the server key 1805. In a particular embodiment, each of the server key first part 1819 and the server key second part 1820 may be half of the server key 1805. The client key first part (1817), the client key second part (1818), the server key first part (1819) and the server key second part (1820) contain one or more strings including a first free key (1821). Can be combined by data manipulator 1844 through association of units to form. The association by the data manipulator 1844 includes each of the client key first part 1817, the client key second part 1818, the server key first part 1819 and the server key second part 1820 as a unit. Using or using the pieces of the client key first part (1817), the client key second part (1818), the server key first part (1819), and the server key second part (1820) as one unit. It may include. Also, association may include using any combination of portions generated by the separation of the client key 1806 or the server key 1805. The first free key 1821 may be converted into one or more character strings including the second free key 1822 by the data converter 1845 (1812). In some embodiments, transform 1812 may include using a hashing algorithm. In another embodiment, the transform 1812 may include using an encryption method. Another embodiment may include transform 1812 using a combination of hashing algorithms and encryption methods. The second free key 1822 may be used to generate the registration free key 1823. According to some embodiments, the second free key 1822 and the client registration code 1803 may be associated by the data manipulator 1844 to form one or more character strings including the registration free key 1823. The association may include using each of the second free key 1822 and the client registration code 1803 as a unit or using the second free key 1822 and the client registration code 1803 as a unit. The registration free key 1823 may be converted into one or more strings including the registration key 1807 by the data converter 1845 (1812). In some embodiments, transform 1812 may include using a hashing algorithm. In another embodiment, the transform 1812 may include using an encryption method. Another embodiment may include transform 1812 using a combination of hashing algorithms and encryption methods.

제1 피어(1801)는 서버(1850)로 정보를 전송할 수 있다. 일부 실시예에 따르면, 제1 피어(1801)의 프로세싱 마이그레이터(1842)는 등록 키(1807) 및 서버 키(1805)를 제1 피어(1801)의 송신기/수신기(1841)로 마이그레이션 할 수 있고, 이는 등록 키(1807) 및 서버 키(1805)를 서버(1850)로 전송할 수 있다. 다른 실시예에서, 제1 피어(1801)의 송신기/수신기(1841)는 등록 키(1807), 서버 키(1805), 및 등록 방법에 필요한 기타 정보를 서버(1850)에 전송할 수 있다.The first peer 1801 may transmit information to the server 1850. According to some embodiments, the processing migrator 1842 of the first peer 1801 may migrate the registration key 1807 and the server key 1805 to the transmitter/receiver 1841 of the first peer 1801, This may transmit the registration key 1807 and the server key 1805 to the server 1850. In another embodiment, the transmitter/receiver 1841 of the first peer 1801 may transmit the registration key 1807, the server key 1805, and other information necessary for the registration method to the server 1850.

등록 방법은 하나 이상의 키(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)는 피어 리스트(1958)를 생성할 수 있다. 피어 리스트(1958)는 예를 들어 네트워크상의 제1 피어(1901), 제2 피어(1975), 피어 장치의 리스트를 포함할 수 있다. 피어 리스트는 또한 임의의 길이의 하나 이상의 문자열을 포함할 수 있는 수신자 코드(1952) 및 분배 코드(1956)를 포함할 수 있다. 또한, 서버(1950)의 프로세싱 생성기(1946)는 발신자 코드(1954)를 생성할 수 있으며, 이는 또한 임의의 길이의 하나 이상의 문자열을 포함할 수 있다.The registration method may further include distributing one or more keys 1900. As illustrated in FIG. 19, the transmitter/receiver 1941 of the server 1950 may receive information from the first peer 1901. According to some embodiments, the transmitter/receiver 1941 of the server 1950 may receive the registration key 1907 from the first peer 1901. The transmitter/receiver 1941 of the server 1950 may receive the server key 1905 from the first peer 1901. The transmitter/receiver 1941 of the server 1950 may receive both the registration key 1907 and the server key 1905 from the first peer 1901. The processing miter 1942 may migrate the registration key 1907 and the server key 1905 to the processor of the server 1950. The registration key 1907 may be stored in the database 1957 of the server 1950 by the processing miter 1942. The processing generator 1946 of the server 1950 may generate a peer list 1958. The peer list 1958 may include, for example, a list of a first peer 1901, a second peer 1975, and a peer device on a network. The peer list may also include recipient codes 1952 and distribution codes 1956, which may include one or more strings of any length. Further, the processing generator 1946 of the server 1950 may generate the sender code 1954, which may also contain one or more strings of any length.

일부 실시예에 따르면, 서버(1950)는 제1 피어(1901)로부터 등록 키(1907)를 수신할 수 있다. 등록 키(1907)는 임의의 수의 등록 키 서브 파트를 생성하기 위해 사용될 수 있다. 데이터 조작기는 등록 키(1907)로부터 등록 키 서브 파트를 생성할 수 있다. 이들 실시예에서, 등록 키(1907)는 n과 같은 임의의 수의 문자를 포함할 수 있다. 각 등록 키 서브 파트는 n-1과 동일한 임의의 수 또는 문자 조합을 포함할 수 있다. 서버(1950)는 하나 이상의 랜덤 문자열을 생성할 수 있다. 등록 서브 파트 각각은 데이터 조작기(1944)에 의해 하나 이상의 랜덤 문자열(strings of character)로 연관될 수 있다. 일부 실시예에서, 연관된 열(string)은 변환될 수 있다(1912). 각각의 생성된 연관 문자열 또는 변환된 연관 문자열은 하나 이상의 제2 피어(1975)로 전송될 수 있다. 서버(1950)는 제1 피어(1901)로부터 서버 키(1908)를 수신할 수 있다. 서버 키(1908)는 임의의 수의 서버 키 서브 파트를 생성하는데 사용될 수 있다. 데이터 조작기는 서버 키(1908)로부터 서버 키 서브 파트를 생성할 수 있다. 이들 실시예에서, 서버 키(1908)는 n과 같은 임의의 수의 문자를 포함할 수 있다. 각 서버 키 하위 부분은 n-1과 같은 임의의 수 또는 문자 조합을 포함할 수 있다. 서버(1950)는 하나 이상의 랜덤 문자열을 생성할 수 있다. 서버 키 서브 파트 각각은 데이터 조작기(1944)에 의해 하나 이상의 랜덤 문자열로 연관될 수 있다. 일부 실시예에서, 연관된 문자열은 변환될 수 있다(1912). 각각의 생성된 연관된 문자열 또는 변환된 연관된 문자열은 하나 이상의 제2 피어(1975)로 전송될 수 있다.According to some embodiments, the server 1950 may receive the registration key 1907 from the first peer 1901. Registration key 1907 can be used to generate any number of registration key sub-parts. The data manipulator may generate a registration key sub part from the registration key 1907. In these embodiments, registration key 1907 may include any number of characters, such as n. Each registration key sub-part may contain any number or combination of characters equal to n-1. The server 1950 may generate one or more random character strings. Each of the registration sub-parts may be associated with one or more random strings of characters by the data manipulator 1944. In some embodiments, the associated string may be transformed (1912). Each of the generated association strings or converted association strings may be transmitted to one or more second peers 1975. The server 1950 may receive the server key 1908 from the first peer 1901. The server key 1908 can be used to generate any number of server key sub-parts. The data manipulator may generate a server key sub part from the server key 1908. In these embodiments, server key 1908 may include any number of characters, such as n. Each server key sub-part may contain any number or letter combination, such as n-1. The server 1950 may generate one or more random character strings. Each of the server key sub-parts may be associated with one or more random strings by the data manipulator 1944. In some embodiments, the associated string may be converted (1912). Each generated associated string or converted associated string may be transmitted to one or more second peers 1975.

서버(1950)의 데이터 조작기(data manipulator)(1944)는 서버 키(1905), 수신자 코드(1952), 발신자 코드(1954), 분배 코드(1956) 또는 등록 키(1907)의 임의의 조합을 조합함으로써 분배 프리 키(1959)를 생성할 수 있다. 일부 실시예에서, 분배 프리 키는 서버 키(1905), 발신자 코드(1954) 및 수신자 코드(1952)로 구성되며, 이는 하나 이상의 문자열을 형성하기 위해 유닛의 연관(concatenation)을 통해 결합될 수 있다. 연관은 서버 키(1905), 발신자 코드(1954) 및 수신자 코드(1952) 각각을 하나의 단위로 사용하거나 서버 키(1905), 발신자 코드(1954) 및 수신자 코드(1952)를 하나의 단위로 사용하는 단계를 포함할 수 있다. 분배 프리 키(1959)는 데이터 변환기(1945)에 의해 분배 키(1953)를 포함하는 하나 이상의 문자열로 변환될 수 있다(1912). 일부 실시예에서, 변환(1912)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1912)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1912)을 포함할 수 있다. 분배 키(1953)는 프로세싱 마이그레이터(1942)에 의해 서버(1950)의 데이터 베이스(1957)에 저장될 수 있다. 서버(1950)는 정보를 제2 피어(1975)로 전송하도록 구성될 수 있다. 일부 실시예에서, 서버(1950)의 프로세싱 마이그레이터(1942)는 분배 키(1953) 및 분배 코드(1956)를 서버(1950)의 송신기/수신기(1941)로 마이그레이션 할 수 있다. 다른 실시예에서, 서버(1950)의 송신기/수신기(1941)는 분배 키(1953), 분배 코드(1956) 및 등록 방법에 필요한 다른 정보를 제2 피어(1975)에 전송할 수 있다. 일부 실시예에서, 서버(1950)는 서버(1950)의 데이터 베이스(1957)에 등록 키(1907), 서버 키(1905) 및 분배 키(1953)의 임의의 조합을 저장할 수 있다. 서버(1950)는 하나 이상의 분배 키(1953)를 생성하고 하나 이상의 제2 피어(1975)로 데이터를 전송할 수 있다. 일부 실시예에서, 피어 리스트(1958)는 네트워크상의 하나 이상의 제2 피어(1975)의 리스트를 포함할 수 있다. 제2 피어는 임의의 IoT 장치, 서버 또는 네트워크 상에 있고 서버(1950)로부터 데이터를 송수신할 수 있는 임의의 장치를 포함할 수 있다. 서버(1950)는 각각의 제2 피어(1975)에 대한 고유 분배 코드(1956)를 생성할 수 있다. 서버(1950)는 각각의 제2 피어(1975)에 대해 고유한 수신자 코드(1952)를 생성할 수 있다. 이들 실시예에서, 각각의 제2 피어(1975)에 대해 발생된 분배 키(1953)는 다른 제2 피어(1975)에 대해 발생된 분배 키(1953)와 상이할 수 있지만, 제1 피어(1901)로부터 수신된 기본 서버 키(1905)는 동일할 수 있다.The data manipulator 1944 of the server 1950 combines any combination of a server key 1905, a recipient code 1952, a sender code 1954, a distribution code 1956, or a registration key 1907. By doing so, the distribution-free key 1959 can be generated. In some embodiments, the distribution-free key consists of a server key 1905, a sender code 1954 and a recipient code 1952, which can be combined through concatenation of units to form one or more strings. . For association, each of the server key (1905), sender code (1954) and recipient code (1952) is used as one unit, or server key (1905), sender code (1954) and recipient code (1952) are used as one unit It may include the step of. The distribution-free key 1959 may be converted into one or more character strings including the distribution key 1953 by the data converter 1945 (1912). In some embodiments, transform 1912 may include using a hashing algorithm. In another embodiment, transform 1912 may include using an encryption method. Another embodiment may include transform 1912 using a combination of hashing algorithm and encryption method. The distribution key 1953 may be stored in the database 1957 of the server 1950 by the processing migrator 1942. The server 1950 may be configured to transmit information to the second peer 1975. In some embodiments, processing migrater 1942 of server 1950 may migrate distribution key 1953 and distribution code 1956 to transmitter/receiver 1941 of server 1950. In another embodiment, the transmitter/receiver 1941 of the server 1950 may transmit the distribution key 1953, the distribution code 1956, and other information necessary 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. The server 1950 may generate one or more distribution keys 1953 and transmit data to one or more second peers 1975. In some embodiments, peer list 1958 may include a list of one or more second peers 1975 on the network. The second peer may include any IoT device, server, or any device that is on the network and capable of sending and receiving data from the server 1950. The server 1950 may generate a unique distribution code 1956 for each second peer 1975. The 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 from the distribution key 1953 generated for the other second peer 1975, but the first peer 1901 The basic server key 1905 received from) may be the same.

일부 실시예에 따르면, 등록 키(1907)는 분배 프리 키(1959)를 생성하는데 사용될 수 있다. 이들 실시예에서, 등록 키(1907), 발신자 코드(1954), 수신자 코드(1952) 및 서버 키(1905)의 임의의 조합이 분배 프리 키(1959)를 생성하는데 사용될 수 있다.According to some embodiments, the registration key 1907 may be used to generate the distribution-free 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 the distribution-free key 1959.

이제 도 17을 다시 참조하면, 등록 방법(1700)은 하나 이상의 키를 로컬 데이터 베이스에 저장하는 단계를 포함할 수 있다. 일부 실시예에 따르면, 제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)는 임의의 길이의 하나 이상의 문자열(strings of character) 일 수 있고 랜덤 방식으로 생성될 수 있다. 대안적으로, 보관 코드(1776)는 서버(1750)에 의해 생성되고 제2 피어(1775)에 의해 수신될 수 있다. 보관 코드(1776) 및 분배 키(1753)는 유닛의 연관을 통해 결합되어 보관 프리 키(1779)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 연관은 보관 코드(1776) 및 분배 키(1753) 각각을 단위로 사용하는 단계를 포함할 수 있거나, 또는 보관 코드(1776) 및 분배 키(1753)를 단위로서 사용하는 단계를 포함할 수 있다. 보관 프리 키(1779)는 보관 키(1777)를 포함하는 하나 이상의 문자열로 변환될 수 있다(1712). 일부 실시예에서, 변환(1712)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(1712)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(1712)을 포함할 수 있다. 보관 키(1777)는 제2 피어(1775)의 메모리(1778)에 저장될 수 있다. 일부 실시예에서, 제2 피어(1775)는 보관 키(1777) 및 분배 코드(1756)를 서버(1750)로 전송할 수 있다. 다른 실시예에서, 제2 피어(1775)는 보관 키(1777), 분배 코드(1756) 및 등록 방법(1700)에 필요한 임의의 다른 정보를 서버(1750)로 전송할 수 있다.Referring now back to FIG. 17, the registration method 1700 may include storing one or more keys in a local database. According to some embodiments, the second peer 1775 may be configured to receive and transmit information to the server 1750 through a transmitter/receiver of the second peer 1775. The second peer 1775 may receive the distribution key 1756 from the server 1750 through the transmitter/receiver of the second peer 1775. The second peer 1775 may receive the distribution code 1756 from the server 1750. In some embodiments, second peer 1775 may receive distribution key 1756 and distribution code 1756 from server 1750. The distribution key 1753 and the distribution code 1756 may be stored in the memory 1778 of the second peer 1775. The second peer 1775 may generate the storage code 1776. The storage code 1776 may be one or more strings of characters of any length and may be generated in a random manner. Alternatively, the storage code 1776 may be generated by the server 1750 and received by the second peer 1775. The storage code 1776 and the distribution key 1753 may be combined through association of units to form one or more character strings including the storage free key 1779. The association may include using each of the storage code 1776 and the distribution key 1753 as a unit, or may include using the storage code 1776 and the distribution key 1751 as units. The archive-free key 1791 may be converted into one or more character strings including the archive key 1777 (1712). In some embodiments, transform 1712 may include using a hashing algorithm. In another embodiment, the conversion 1712 may include using an encryption method. Another embodiment may include a transformation 1712 that uses a combination of a hashing algorithm and an encryption method. The storage key 1777 may be stored in the memory 1778 of the second peer 1775. In some embodiments, the second peer 1775 may send the archive key 1777 and the distribution code 1756 to the server 1750. In another embodiment, the second peer 1775 may send the storage key 1777, the distribution code 1756, and any other information required for the registration method 1700 to the server 1750.

등록 방법(1700)은 서버 데이터 베이스 상에 하나 이상의 키를 저장하는 단계를 더 포함할 수 있다. 도 19에 도시된 바와 같이, 서버(1950)의 송신기/수신기(1941)는 제2 피어(1975)로부터 정보를 수신할 수 있다. 일부 실시예에서, 서버(1950)의 송신기/수신기(1941)는 분배 코드(1956)를 수신할 수 있다. 일부 실시예에서, 서버(1950)의 송신기/수신기(1941)는 보관 키(1977)를 수신할 수 있다. 다른 실시예에서, 서버(1950)의 송신기/수신기(1941)는 분배 코드(1956) 및 보관 키(1977)를 수신할 수 있다. 또 다른 실시예에서, 서버(1950)의 송신기/수신기(1941)는 분배 코드(1956), 보관 키(1977) 및 등록 방법에 필요한 임의의 다른 정보를 수신할 수 있다. 분배 코드(1956) 및 보관 키(1977)는 프로세싱 마이그레이터(1942)에 의해 서버(1950)의 데이터 베이스(1957)에 저장될 수 있다.The registration method 1700 may further include storing one or more keys on the server database. 19, the transmitter/receiver 1941 of the server 1950 may receive information from the second peer 1975. In some embodiments, transmitter/receiver 1941 of server 1950 may receive distribution code 1956. In some embodiments, the transmitter/receiver 1941 of the server 1950 may receive the storage key 1977. In another embodiment, the transmitter/receiver 1941 of the server 1950 may receive the distribution code 1956 and the storage key 1977. In another embodiment, the sender/receiver 1941 of the server 1950 may receive the distribution code 1956, the storage key 1977, and any other information necessary for the registration method. The distribution code 1956 and the storage key 1977 may be stored in the database 1957 of the server 1950 by the processing miter 1942.

특정 실시예에서, 등록 방법(1700)은 하나 이상의 키를 발생시키는 단계, 하나 이상의 키를 분배하는 단계, 하나 이상의 키를 로컬 데이터 베이스에 저장하는 단계, 하나 이상의 키를 서버 데이터 베이스에 저장하는 단계를 포함할 수 있다. 도 17에 도시된 바와 같이, 등록 방법(1700)은 제1 피어(1701)로부터의 등록 요청(1702)으로 시작할 수 있다.  등록 요청(1702)은 하나 이상의 서버(1750)로 전송 및 수신될 수 있다. 하나 이상의 서버는 등록 데이터(1751)를 제1 피어(1701)로 전송할 수 있다. 이제 도 18을 참조하면, 특정 실시예는 서버(1850)로부터 등록 데이터를 수신하는 제1 피어(1801)를 포함할 수 있다.In certain embodiments, the registration method 1700 includes generating one or more keys, distributing one or more keys, storing one or more keys in a local database, storing one or more keys in a server database. It may include. As shown in FIG. 17, the registration method 1700 may begin with a registration request 1702 from a first peer 1701. The registration request 1702 may be transmitted and received by one or more servers 1750. One or more servers may transmit the registration data 1751 to the first peer 1701. Referring now to FIG. 18, a specific embodiment may include a first peer 1801 that receives registration data from a server 1850.

등록 데이터는 클라이언트 등록 코드(1803) 및 하나 이상의 선택 객체를 포함할 수 있다. 클라이언트 등록 코드(1803)는 하나의 8 자리 문자열을 포함할 수 있다. 선택 객체는 다수의 이미지를 포함할 수 있다. 특정 실시예에서, 선택 객체는 60과 동일한 다수의 선택 객체를 포함할 수 있다. 각각의 선택 객체는 고유한 선택 코드(1809)를 포함할 수 있다. 선택 코드(1809)는 하나 이상의 문자열을 포함할 수 있고, 특정 실시예에서, 각각의 선택 코드는 5 개의 문자열을 포함할 수 있다. 사용자는 서버(1850)에 의해 수신된 선택 객체로부터 다수의 선택 객체를 선택할 수 있다. 특정 실시예에서, 사용자는 6 개의 선택 객체를 선택할 수 있다. 선택 객체의 사용자의 선택은 각각의 선택 코드(1809)와 연관된 특정 선택 객체를 선택함으로써 선택될 수 있는 선택 코드 모음(1809)을 포함하는 사용자 입력(1804)을 생성할 수 있다. 특정 실시예에서, 사용자 입력(1804)은 6 개, 5 개 문자 선택 코드(1809)를 포함한다.The registration data may include a client registration code 1803 and one or more selection objects. The client registration code 1803 may include one 8-digit character string. The selection object may contain multiple images. In certain embodiments, the selection object may include multiple selection objects equal to 60. Each selection object may include a unique selection code 1809. The selection code 1809 may include one or more character strings, and in certain embodiments, each selection code may include 5 character strings. The user may select a plurality of selection objects from the selection objects received by the server 1850. In a particular embodiment, the user can select six selection objects. The user's selection of a selection object may generate a user input 1804 including a selection code collection 1809 that can be selected by selecting a specific selection object associated with each selection code 1809. In a particular embodiment, user input 1804 includes a 6, 5 character selection code 1809.

사용자 입력(1804)은 제1 그룹(1810) 및 제2 그룹(1811)으로 분리될 수 있다. 특정 실시예에서, 제1 그룹(1810) 및 제2 그룹(1811) 각각은 3 개의 상이한 선택 코드(1809)를 포함한다. 제1 그룹(1810) 및 제2 그룹(1811)을 포함하는 각각의 선택 코드(1809)는 하나 이상의 문자열로 변환될 수 있다(1812). 특정 실시예에서, 각각의 선택 코드(1809)는 해싱 알고리즘을 사용하여 변환될 수 있고, 제1 그룹의 변환된 선택 코드(1813) 및 제2 그룹의 변환된 선택 코드(1815)를 각각 포함할 수 있다. 변환된 선택 코드들의 제1 그룹(1813) 및 변환된 선택 코드들의 제2 그룹(1815) 각각은 각각 클라이언트 프리 키(1814) 및 서버 프리 키(1816)를 각각 생성하도록 조합될 수 있다. 특정 실시예에서, 제1 그룹의 변환된 선택 코드(1813)를 포함하는 3 개의 변환된 선택 코드는 클라이언트 프리 키(1814)를 포함하는 하나 이상의 문자열을 생성하도록 연관될 수 있다. 마찬가지로, 제2 그룹의 변환된 선택 코드(1815)를 포함하는 3 개의 변환된 선택 코드는 서버 프리 키(1816)를 포함하는 하나 이상의 문자열을 생성하도록 연관될 수 있다. 클라이언트 프리 키(1814) 및 서버 프리 키(1816)는 각각 클라이언트 키(1806) 및 서버 키(1805)로 변환될 수 있다(1812). 특정 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함한다.The user input 1804 may be divided into a first group 1810 and a second group 1811. In a particular embodiment, each of the first group 1810 and the second group 1811 includes three different selection codes 1809. Each selection code 1809 including the first group 1810 and the second group 1811 may be converted into one or more character strings (1812). In certain embodiments, each selection code 1809 may be transformed using a hashing algorithm, and may each include a first group of transformed selection codes 1813 and a second group of transformed selection codes 1815. I can. Each of the first group 1813 of converted selection codes and the second group 1815 of converted selection codes may be combined to generate a client-free key 1814 and a server-free key 1816, respectively. In a particular embodiment, the three transformed selection codes including the first group of transformed selection codes 1813 may be associated to generate one or more strings including the client free key 1814. Similarly, the three transformed selection codes including the second group of transformed selection codes 1815 may be associated to generate one or more strings including the server-free key 1816. The client-free key 1814 and the server-free key 1816 may be converted into a client key 1806 and a server key 1805, respectively (1812). In a particular embodiment, transform 1812 includes using a hashing algorithm.

등록 키(1807)는 클라이언트 키(1806), 서버 키(1805) 및 클라이언트 등록 코드(1803)의 조합을 사용하여 생성될 수 있다. 특정 실시예에서, 클라이언트 키(1806) 및 서버 키(1805)는 각각 제1 파트(first part)(1817, 1819) 및 제2 파트(second part)(1818, 1820)으로 분리된다. 제1 프리 키(1821)는 하나 이상의 문자열을 형성하기 위해 연관에 의해 클라이언트 키(1806)의 일부와 서버 키(1805)의 일부를 결합함으로써 생성될 수 있다.  제1 프리 키(1821)는 제2 프리 키(1822)를 포함하는 하나 이상의 문자열로 변환될 수 있다(1812). 특정 실시예에서, 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함한다. 등록 프리 키(1823)는 연관에 의하여 하나 이상의 문자열을 형성하기 위하여 클라이언트 등록 코드(1803)와 제2 프리 키(1822)를 결합하여 하나 이상의 문자열을 형성함으로써 생성될 수 있다. 등록 프리 키(1823)는 등록 키(1807)로 변환될 수 있고(1812), 여기서 변환(1812)은 해싱 알고리즘을 사용하는 단계를 포함한다. 특정 실시예에서, 클라이언트 키(1806) 및 클라이언트 등록 코드(1803)는 제1 피어(1801)의 메모리(1808)에 저장될 수 있다. 또한, 서버 키(1805) 및 등록 키(1807)는 하나 이상의 서버(1850)로 전송될 수 있다.The registration key 1807 may be generated using a combination of the client key 1806, the server key 1805, and the client registration code 1803. In certain embodiments, the client key 1806 and the server key 1805 are separated into a first part 1817 and 1819 and a second part 1818 and 1820, respectively. The first free key 1821 may be generated by combining a portion of the client key 1806 and a portion of the server key 1805 by association to form one or more character strings. The first free key 1821 may be converted into one or more character strings including the second free key 1822 (1812). In a particular embodiment, transform 1812 includes using a hashing algorithm. The registration free key 1823 may be generated by forming one or more character strings by combining the client registration code 1803 and the second free key 1822 to form one or more character strings by association. The registration-free key 1823 can be converted 1812 to a registration key 1807, where the conversion 1812 includes using a hashing algorithm. In certain embodiments, the client key 1806 and the client registration code 1803 may be stored in the memory 1808 of the first peer 1801. Further, the server key 1805 and the registration key 1807 may be transmitted to one or more servers 1850.

등록 방법은 하나 이상의 키를 분배하는 단계를 포함할 수 있다. 도 19에 도시된 특정 실시예에서, 서버(1950)는 제1 피어(1901)로부터 등록 키(1907) 및 서버 키(1905)를 수신할 수 있다. 등록 키는 서버(1950)의 데이터 베이스(1957)에 저장될 수 있다. 서버(1950)는 네트워크 상의 제2 피어(1975)의 리스트를 포함할 수 있는 피어 리스트(1958)를 생성할 수 있다. 제2 피어(1975) 각각에 대해, 서버(1950)는 수신자 코드(1952) 및 분배 코드(1956)를 생성할 수 있다. 특정 실시예에서, 수신자 코드(1952) 및 분배 코드(1956)는 특정 제2 피어(1975) 및 특정 거래 모두에 대해 고유할 수 있다.The registration method may include distributing one or more keys. In the specific embodiment shown in FIG. 19, the server 1950 may receive a registration key 1907 and a server key 1905 from the first peer 1901. The registration key may be stored in the database 1957 of the server 1950. The server 1950 may create a peer list 1958 that may include a list of second peers 1975 on the network. For each of the second peers 1975, the server 1950 may generate a recipient code 1952 and a distribution code 1956. In certain embodiments, recipient code 1952 and distribution code 1956 may be unique for both a particular second peer 1975 and a particular transaction.

또한, 서버(1950)는 특정 서버(1950)에 고유한 발신자 코드(1954)를 생성할 수 있다. 특정 실시예에서, 수신자 코드(1952), 발신자 코드(1954), 및 서버 키(1905)는 연결 프리 키(1959)를 포함하는 하나 이상의 문자열을 생성하기 위해 연관을 통해 결합될 수 있다. 분배 프리 키(1959)는 분배 키(1953)로 변환될 수 있다(1912). 특정 실시예에서, 변환(1912)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 일부 실시예에서, 다수의 고유한 분배 키(1953)가 생성될 수 있으며, 각각은 상이한 수신자 코드(1952)를 포함하고 피어 리스트(1958)로부터 상이한 연관된 분배 코드(1956)를 가지며, 각각의 고유한 분배 키(1953)는 궁극적으로 다른 제2 피어(1975)로 전송될 수 있다. 특정 실시예에서, 다수의 고유 분배 키(1953)는 동일한 서버 키(1905)로부터 생성되고 각각의 고유 분배 키(1953)는 네트워크 상에서 별도의 제2 피어(1975)로 전송된다.In addition, the server 1950 may generate a sender code 1954 unique to a specific server 1950. In certain embodiments, the recipient code 1952, the sender code 1954, and the server key 1905 may be combined via association to create one or more strings including the connection-free key 1959. The distribution-free key 1959 may be converted into a distribution key 1953 (1912). In certain embodiments, transform 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 a different associated distribution code 1956 from the peer list 1958, each unique. One distribution key 1953 may ultimately be transmitted to another second peer 1975. In a particular embodiment, multiple unique distribution keys 1953 are generated from the same server key 1905 and each unique distribution key 1953 is transmitted to a separate second peer 1975 on the network.

등록 방법은 도 17에 도시된 하나 이상의 키를 로컬 데이터 베이스에 저장하는 단계를 더 포함할 수 있다. 특정 실시예에서, 제2 피어(1775)는 서버(1750)로부터 분배 키(1753) 및 분배 코드(1756)를 수신할 수 있다. 이 실시예에서, 제2 피어(1775)는 네트워크에서 제1 피어(1701)와 위에서 논의된 서버(1750) 사이의 동일한 거래로부터 발생하는 분배 키(1753) 및 분배 코드(1756)를 수신하기 위한 네트워크 내의 몇몇 제2 피어(1775) 중 하나 일 수 있다. 제2 피어(1775)는 분배 키(1753) 및 분배 코드(1756)를 제2 피어(1775)의 메모리(1778)에 저장할 수 있다. 또한, 제2 피어(1775)는 보관 코드(1776)를 생성할 수 있다. 특정 실시예에서, 보관 코드(1776)는 8 문자의 단일 문자열을 포함한다. 보관 코드(1776) 및 분배 키(1753)는 보관 프리 키(1779)를 포함하는 하나 이상의 문자열을 생성하기 위해 연관을 통해 결합될 수 있다. 보관 프리 키(1779)는 보관 키(1777)로 변환될 수 있다(1712). 특정 실시예에서, 변환(1712)은 해싱 알고리즘을 사용하는 단계를 포함한다. 제2 피어(1775)는 정보를 하나 이상의 서버(1750)로 전송할 수 있다. 특정 실시예에서, 몇몇 제2 피어(1775)는 정보를 서버(1750)에 전송할 수 있다. 정보는 분배 코드(1756), 보관 키(1777), 및 등록 프로세스(1700)를 수행하는 데 필요한 임의의 다른 정보를 포함할 수 있다.The registration method may further include storing one or more keys shown in FIG. 17 in a local database. In a particular embodiment, the second peer 1775 may receive the distribution key 1756 and distribution code 1756 from the server 1750. In this embodiment, the second peer 1775 is for receiving a distribution key 1756 and distribution key 1756 arising from the same transaction between the first peer 1701 and the server 1750 discussed above in the network. It may be one of several second peers 1775 in the network. The second peer 1775 may store the distribution key 1756 and the distribution code 1756 in the memory 1778 of the second peer 1775. Also, the second peer 1775 may generate the storage code 1776. In a particular embodiment, the archive code 1776 comprises a single string of 8 characters. Archive code 1776 and distribution key 1753 may be combined via association to create one or more strings that include archive free key 1779. The archive-free key 1779 may be converted to the archive key 1777 (1712). In a particular embodiment, transform 1712 includes using a hashing algorithm. The second peer 1775 may transmit information to one or more servers 1750. In certain embodiments, some of the second peers 1775 may transmit information to the server 1750. The information may include the distribution code 1756, the storage key 1777, and any other information required to perform the registration process 1700.

등록 방법(1700)은 서버 데이터 베이스에 하나 이상의 키를 저장하는 단계를 포함할 수 있다. 일부 실시예에서, 서버(1750)는 하나 이상의 제2 피어(1775)로부터 정보를 수신하도록 구성될 수 있다. 특정 실시예에서, 서버(1750)는 분배 코드(1756) 및 보관 키(1777)를 포함하는 정보를 여러 제2 피어(1775)로부터 수신할 수 있다. 서버(1750)는 분배 코드(1756) 및 보관 키(1977)를 데이터 베이스(1757)에 저장할 수 있다. 이제 도 19를 참조하면, 분배 코드(1956) 및 보관 키(1777)는 데이터 베이스(1957) 내에 저장된 피어 리스트(1958)에 저장될 수 있다. 특정 실시예에서, 분배 코드(1956) 및 보관 키(1977)는 제1 피어(1901), 서버(1950) 및 특정 제2 피어(1975) 사이에서 수행되는 거래에 고유할 수 있는 저장된 분배 키(1953) 및 수신자 코드(1952)와 쌍을 이룬다.The 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 second peers 1775. In certain embodiments, server 1750 may receive information from multiple second peers 1775 including distribution code 1756 and storage key 1777. The server 1750 may store the distribution code 1756 and the storage key 1977 in the database 1757. Referring now to FIG. 19, distribution code 1956 and archive key 1777 may be stored in a peer list 1958 stored in database 1957. In certain embodiments, the distribution code 1956 and the archive key 1977 are stored distribution keys that may be unique to transactions performed between the first peer 1901, the server 1950, and the specific second peer 1975. 1953) and recipient code 1952.

인증 방법은 도 20에 도시된 로그인 방법을 포함할 수 있다. 로그인 방법(2000)은 하나 이상의 로그인 키를 발생시키는 단계, 하나 이상의 검증 키를 분배하는 단계, 로컬 데이터 베이스에서 검증 키를 검증하는 단계, 검증 프로세스를 검증하는 단계를 포함할 수 있다. 또한, 로그인 방법(2000)은 하나 이상의 제1 피어(2001), 하나 이상의 서버(2050) 및 하나 이상의 제2 피어(2075) 사이의 통신을 포함할 수 있다.The authentication method may include the login method shown in FIG. 20. The login method 2000 may include generating one or more login keys, distributing one or more verification keys, verifying a verification key in a local database, and verifying a verification process. Further, 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)은 하나 이상의 서버(2050)로 전송될 수 있다. 서버(2050)는 로그인 요청(2002)을 수신하고 로그인 데이터(2051)를 생성할 수 있다. 일부 실시예에서, 로그인 데이터(2051)는 로그인 솔트(login salts)(2024)를 포함할 수 있다. 로그인 솔트는 문자, 숫자, 기호 또는 이들의 임의의 조합을 포함하는 하나 이상의 문자로 구성될 수 있다. 일부 실시예에서, 로그인 데이터(2051)는 사용자 선택 객체를 포함할 수 있다. 다른 실시예에서, 로그인 데이터(2051)는 하나 이상의 로그인 솔트(2024) 및 사용자 선택 객체, 및 로그인 방법(2000)에 필요한 임의의 다른 데이터를 포함할 수 있다.The login method 2000 may include a first peer 2001 and the first peer may be configured to interact with a user. The first peer 2001 may request a login 2002 and the login request 2002 may be sent to one or more servers 2050. The server 2050 may receive a login request 2002 and generate login data 2051. In some embodiments, login data 2051 may include login salts 2024. The login salt may consist of one or more characters including letters, numbers, symbols, or any combination thereof. In some embodiments, login data 2051 may include a user selection object. In other embodiments, login data 2051 may include one or more login salts 2024 and user selection objects, and any other data required for login method 2000.

하나 이상의 로그인 키를 생성하는 단계는 사용자 입력(2004)으로부터 서버 키(2005) 및 클라이언트 키(2006)를 발생시키는 단계를 더 포함할 수 있다. 일부 실시예에서, 서버 키(2005) 및 클라이언트 키(2006)는 로그인 키(2099)를 생성하는데 사용될 수 있다. 다른 실시예에서, 서버 키(2005), 클라이언트 키(2006) 및 적어도 로그인 솔트(2024)는 로그인 키(2099)를 생성하는데 사용될 수 있다. 다른 실시예는 로그인 키(2099)를 생성하기 위해 사용되는 클라이언트 키(2006), 서버 키(2005) 및 로그인 솔트(2024)의 상이한 조합을 포함할 수 있다. 일부 정보, 예를 들어 로그인 솔트(2024), 클라이언트 키(2006)는 제1 피어(2001)의 메모리(2008)에 저장될 수 있다. 또한, 하나 이상의 로그인 키를 생성하는 것은 제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 another embodiment, the server key 2005, the client key 2006 and at least the login salt 2024 may be used to generate the login key 2099. Other embodiments may include different combinations of client key 2006, server key 2005, and login salt 2024 used to generate login key 2099. Some information, for example, the login salt 2024 and the client key 2006 may be stored in the memory 2008 of the first peer 2001. Further, generating one or more login keys may include transmitting information from the first peer 2001 to the server 2050. In some embodiments, login key 2099 and server key 2005 are transmitted to server 2050.

또한 도 20에 도시된 바와 같이, 하나 이상의 검증 키를 분배하는 단계는 서버(2050)에서 제1 피어(2001)로부터 정보를 수신하는 단계를 포함할 수 있다. 일부 실시예에서, 서버(2050)에서 수신된 정보는 로그인 키(2099) 및 서버 키(2005)를 포함할 수 있다. 서버(2050)는 수신자 코드(2052)를 생성할 수 있다. 또한, 서버(2050)는 발신자 코드(2054)를 생성할 수 있다. 또한, 서버(2050)는 분배 코드(2056)를 생성할 수 있다. 서버 키(2005), 수신자 코드(2052) 및 발신자 코드(2054)는 검증 키(2062)를 생성하는데 사용될 수 있다. 일부 실시예에서, 검증 키(2062)는 하나 이상의 서버 키(2005), 수신자 코드(2052), 검증 솔트(verification salt)(2024) 또는 발신자 코드(2054), 또는 이들의 임의의 조합으로부터 생성될 수 있다. 일부 정보, 예를 들어 서버(2050)의 데이터 베이스(2057)에는 검증 키(2062) 인 수신자 코드(2052)가 저장될 수 있다. 일부 실시예에서, 검증 키(2062)는 서버(2050)의 데이터 베이스(2057)에 저장되지 않을 수 있다. 하나 이상의 검증 키를 분배하는 단계는 서버(2050)로부터 적어도 하나의 제2 피어(2075)로 정보를 전송하는 단계를 더 포함할 수 있다. 일부 실시예에서, 검증 키(2062) 및 분배 코드(2056)는 적어도 하나의 제2 피어(2075)로 전송된다.Further, as shown in FIG. 20, distributing one or more verification keys may include receiving information from the first peer 2001 in the server 2050. In some embodiments, the information received at the server 2050 may include a login key 2099 and a server key 2005. The server 2050 may generate a recipient code 2052. In addition, the server 2050 may generate a sender code 2054. In addition, the server 2050 may generate a distribution code 2056. Server key 2005, recipient code 2052 and sender code 2054 can be used to generate verification key 2062. In some embodiments, the verification key 2062 may be generated from one or more server keys 2005, recipient code 2052, verification salt 2024 or sender code 2054, or any combination thereof. I can. In some information, for example, in the database 2057 of the server 2050, the recipient code 2052, which is a verification key 2062, may be stored. In some embodiments, the verification key 2062 may not be stored in the database 2057 of the server 2050. Distributing the one or more verification keys may further include transmitting information from the server 2050 to the at least one second peer 2075. In some embodiments, verification key 2062 and distribution code 2056 are transmitted to at least one second peer 2075.

로그인 방법(2000)은 로컬 데이터 베이스에서 하나 이상의 검증 키를 검증하는 단계를 더 포함할 수 있다. 도 20에 도시된 바와 같이, 적어도 하나의 제2 피어(2075)는 서버(2050)로부터 정보를 수신할 수 있다. 일부 실시예에서, 정보는 검증 키(2062) 및 분배 코드(2056)를 포함할 수 있다. 다른 실시예에서, 정보는 검증 키(2062), 분배 코드(2056) 및 검증 솔트(2063)을 포함할 수 있다. 제2 피어(2075)는 분배 코드(2056)와 검증 키(2062)의 임의의 조합을 사용하여 대응하는 분배 키가 제2 피어(2075)의 메모리(2078)에 저장될 수 있음을 찾아서 확인할 수 있다. 저장된 분배 키는 확인 키(2081)를 생성하는데 사용될 수 있다. 일부 실시예에서, 서버(2050)로부터 수신된 저장된 분배 키(2053) 및 검증 솔트(2063)는 확인 키(2081)를 생성하는데 사용될 수 있다. 제2 피어(2075)는 정보를 서버(2050)로 전송할 수 있으며, 이는 확인 키(2081), 분배 코드(2056) 및 로그인 방법(2000)에 필요할 수 있는 임의의 다른 정보의 임의의 조합을 포함할 수 있다.The login method 2000 may further include verifying one or more verification keys in a local database. As shown in FIG. 20, at least one second peer 2075 may receive information from the server 2050. In some embodiments, the information may include verification key 2062 and distribution code 2056. In another embodiment, the information may include verification key 2062, distribution code 2056, and verification salt 2063. The second peer 2075 can find and verify that the corresponding distribution key can be stored in the memory 2078 of the second peer 2075 using any combination of the distribution code 2056 and the verification key 2062. have. The stored distribution key can be used to generate the confirmation 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 includes any combination of confirmation key 2081, distribution code 2056, and any other information that may be required for login method 2000. can do.

검증 프로세스를 검증하는 단계는 제2 피어(2075)로부터 정보를 수신하고 수신된 정보를 서버(2050)의 데이터 베이스(2057)에 저장된 정보와 비교하는 단계를 포함할 수 있다. 일부 실시예에서, 서버(2050)는 제2 피어(2075)로부터 정보를 수신한다. 수신된 정보는 확인 키(2081), 결과, 분배 코드(2056) 및 서버(2050)에 의한 정보의 저장 또는 비교 또는 제2 피어(2075)의 식별을 위해 필요한 다른 정보를 포함할 수 있다.Verifying the verification process may include receiving information from the second peer 2075 and comparing the received information with information stored in the database 2057 of the server 2050. In some embodiments, server 2050 receives information from second peer 2075. The received information may include a confirmation key 2081, a result, a distribution code 2056, and other information necessary for storage or comparison of information by the server 2050 or identification of the second peer 2075.

도 21에 도시된 바와 같이, 일부 실시예에 따라 하나 이상의 로그인 키(2100)를 생성하는 것은 제1 피어(2101)에서 발생할 수 있다. 제1 피어(2101)는 임의의 IoT 장치, 즉 네트워크에 연결될 수 있고 셀폰, 개인 비서, 버튼, 홈 보안 시스템, 장치 등을 포함하지만 이에 제한되지 않는 데이터를 전송할 수 있는 임의의 장치 일 수 있다. 제1 피어(2101)는 서버(2150)로부터 로그인을 요청할 수 있다. 일부 실시예에 따르면, 서버(2150)의 송신기/수신기는 로그인 데이터를 제1 피어(2101)에게 전송할 수 있다. 로그인 데이터는 제1 피어(2101)의 송신기/수신기(2141)에 의해 수신될 수 있고 제1 피어(2101)에서 로그인 방법을 개시하는데 필요한 임의의 데이터를 포함할 수 있다. 일부 실시예에서, 로그인 데이터는 로그인 솔트(2124)를 포함할 수 있다. 다른 실시예에서, 로그인 데이터는 로그인 솔트(2124) 및 사용자 입력(2104)의 전구체(precursor)로서 기능할 수 있는 추가 데이터를 포함할 수 있다. 로그인 솔트(2124)는 임의의 길이의 하나 이상의 문자열을 포함할 수 있다.As shown in FIG. 21, generating one or more login keys 2100 may occur at the first peer 2101 according to some embodiments. The first peer 2101 may be any IoT device, i.e., any device capable of connecting to a network and transmitting data including, but not limited to, a cell phone, personal assistant, button, home security system, device, and the like. The first peer 2101 may request a login from the server 2150. According to some embodiments, the transmitter/receiver of the server 2150 may transmit login data to the first peer 2101. The login data may be received by the transmitter/receiver 2141 of the first peer 2101 and may include any data required to initiate a login method at the first peer 2101. In some embodiments, the login data may include a login salt 2124. In other embodiments, the login data may include additional data that may serve as a precursor of the login salt 2124 and user input 2104. The login salt 2124 may contain one or more strings of any length.

또한 도 21에 보이는 바와 같이, 사용자 입력(2104)은 신중한 정보 단위를 포함하는 임의의 형태의 사용자 생성 데이터를 포함할 수 있다. 일부 실시예에서, 사용자 입력(2104)은 생체 데이터, 예를 들어 지문, 홍채 등을 포함한다. 이들 실시예에서, 생체 데이터는 식별자를 포함하는 신중한 정보 단위로 분할될 수 있다. 식별자는 고유한 선택 코드(2109)로 변환될 수 있다.Also, as shown in FIG. 21, the user input 2104 may include any form of user-generated data including a discreet unit of information. In some embodiments, user input 2104 includes biometric data, such as fingerprints, irises, and the like. In these embodiments, the biometric data can be divided into discreet units of information including an identifier. The identifier may be converted to a unique selection code 2109.

다른 실시예에서, 사용자 입력(2104)은 하나 이상의 선택 객체를 포함할 수 있다. 하나 이상의 선택 객체는 이미지, 아이콘, 토큰, 버튼 또는 사용자가 선택 객체 그룹으로부터 하나 이상의 선택 객체를 선택할 수 있게 하는 임의의 다른 객체일 수 있다. 선택 객체는 제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 object that allows a user to select one or more selection objects from a group of selection objects. The selection object can be displayed on the visual display 2143 of the first peer 2101, and can be converted to a selection code 2109 that can include any number of characters, for example letters, numbers, and symbols. have. In certain embodiments, the selection object is an image that can be received from server 2150. Each image is assigned a unique selection code 2109, and user selection of a combination of selection objects generates a user input 2104 including a combination of selection codes 2109 unique to the selection of the selection object by the user.

일부 실시예에 따르면, 사용자는 둘 이상의 선택 코드(2109)를 포함하는 사용자 입력(2104)을 생성할 수 있고, 선택 코드의 수는 n과 동일하다. 선택 코드(2109)는 데이터 조작기(2144)에 의해 제1 그룹(2110) 및 제2 그룹(2111)으로 분리될 수 있다. 제1 그룹(2110)은 1 내지 n-1 사이의 선택 코드(2109)를 포함하고 제2 그룹(2111)은 1 내지 n-1 사이의 선택 코드(2109)를 포함한다. 제1 그룹(2110) 및 제2 그룹(2111)에서의 각각의 선택 코드(2109)는 데이터 변환기(2145)에 의해 하나 이상의 문자열로 개별적으로 변환될 수 있고(2112), 제1 그룹의 변환된 선택 코드들(2113) 및 제2 그룹의 변환된 선택 코드들(2115)을 초래한다. 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다. 변환된 선택 코드(2113)의 제1 그룹은 클라이언트 프리 키(2114)를 생성하는데 사용될 수 있다. 제1 그룹의 변환된 선택 코드(2113)를 포함하는 개별 변환된 선택 코드는 데이터 조작기(2144)에 의해 결합되어 클라이언트 프리 키(2114)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 일부 실시예에서, 개별 변환된 선택 코드는 유닛의 연관을 통해 결합될 수 있다. 연관은 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있거나 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있다. 클라이언트 프리 키(2114)는 데이터 변환기(2145)에 의해 클라이언트 키(2106)로 변환될 수 있다(2112). 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 방법을 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다. 클라이언트 키(2106)는 프로세싱 마이그레이터(2147)에 의해 제1 피어(2101)의 메모리 유닛(2108)에 저장될 수 있다. 로그인 방법에 의해 생성된 클라이언트 키(2106)는 프로세싱 마이그레이터(2147)에 의해 신원에 대한 등록 프로세스 동안 제1 피어(2101)의 메모리(2108)에 저장된 클라이언트 키(2106)와 비교될 수 있다.According to some embodiments, a user may generate a user input 2104 including more than one selection code 2109, and the number of selection codes is equal to n. The selection code 2109 may be divided into a first group 2110 and a second group 2111 by the data manipulator 2144. The first group 2110 includes a selection code 2109 between 1 and n-1 and the second group 2111 includes a selection code 2109 between 1 and n-1. Each selection code 2109 in the first group 2110 and the second group 2111 may be individually converted into one or more strings by the data converter 2145 (2112), and the converted Resulting in selection codes 2113 and a second group of transformed selection codes 2115. In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method. The first group of converted selection codes 2113 may be used to generate a client free key 2114. Individual converted selection codes including the converted selection codes 2113 of the first group may be combined by the data manipulator 2144 to form one or more character strings including the client-free key 2114. In some embodiments, individual transformed selection codes may be combined through association of units. The association may include using each individual transformed selection code as one unit or may include using each individual transformed selection code as one unit. The client-free key 2114 may be converted to a client key 2106 by the data converter 2145 (2112). In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include a method using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method. The client key 2106 may be stored in the memory unit 2108 of the first peer 2101 by the processing miter 2147. The client key 2106 generated by the login method may be compared to the client key 2106 stored in the memory 2108 of the first peer 2101 during the registration process for the identity by the processing miter 2147.

변환된 선택 코드(2115)의 제2 그룹은 서버 프리 키(2116)를 생성하는데 사용될 수 있다. 제2 그룹의 변환된 선택 코드(2115)를 포함하는 개별 변환된 선택 코드는 데이터 조작기(2144)에 의해 결합되어 서버 프리 키(2116)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 일부 실시예에서, 개별 변환된 선택 코드는 유닛의 연관을 통해 결합될 수 있다. 연관은 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있거나 각각의 개별 변환된 선택 코드를 하나의 단위로 사용하는 단계를 포함할 수 있다. 서버 프리 키(2116)는 데이터 변환기(2145)에 의해 서버 키(2105)로 변환될 수 있다(2112). 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다.The second group of transformed selection codes 2115 can be used to generate server-free keys 2116. Individual converted selection codes including the second group of converted selection codes 2115 may be combined by data manipulator 2144 to form one or more character strings including server-free keys 2116. In some embodiments, individual transformed selection codes may be combined through association of units. The association may include using each individual transformed selection code as one unit or may include using each individual transformed selection code as one unit. The server-free key 2116 may be converted into a server key 2105 by the data converter 2145 (2112). In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method.

일부 실시예에 따르면, 로그인 키(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)은 제1 프리 키(2121)를 포함하는 하나 이상의 문자열을 형성하기 위하여 유닛의 연관을 통하여 데이터 조작기(2144)에 의해 결합될 수 있다. 연관은 각각 클라이언트 키 제1 파트(2117), 클라이언트 키 제2 파트(2118), 서버 키 제1 파트(2119) 및 서버 키 제2 파트(2120)을 각각 단위로 사용하거나, 또는 클라이언트 키 제1 파트(2117), 클라이언트 키 제2 파트(2118), 서버 키 제1 파트(2119), 및 서버 키 제2 파트(2120)을 하나의 유닛으로서 사용하는 단계를 포함할 수 있다.According to some embodiments, a login key 2199 may be generated. Each of the client key 2106 and the server key 2105 is processed by the data manipulator 2144 to generate the client key first part 2117, the client key second part 2118, the server key first part 2119 and the server key. It can be divided into two parts 2120. The client key first part 2117 and the client key second part 2118 may comprise different portions of a character comprising the client key 2106. In certain embodiments, each of the client key first part 2117 and the client key second part 2118 may be half of the client key 2106. The server key first part 2119 and the server key second part 2120 may include different portions of a character comprising the server key 2105. In certain embodiments, each of the server key first part 2119 and the server key second part 2120 may be half of the server key 2105. The client key first part 2117, the client key second part 2118, the server key first part 2119, and the server key second part 2120 contain one or more strings including a first free key 2121. Can be combined by data manipulator 2144 through association of units to form. The association uses the client key first part 2117, the client key second part 2118, the server key first part 2119, and the server key second part 2120 as a unit, respectively, or the client key first part 2120. It may include using the part 2117, the client key second part 2118, the server key first part 2119, and the server key second part 2120 as one unit.

제1 프리 키(2121)는 데이터 변환기(2145)에 의해 제2 프리 키(2122)를 포함하는 하나 이상의 문자열로 변환될 수 있다(2112). 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다. 등록 프리 키(2123)를 생성하기 위해 제2 프리 키(2122)가 사용될 수 있다. 일부 실시예에 따르면, 제2 프리 키(2122) 및 클라이언트 등록 코드(2103)는 데이터 조작기(2144)에 의해 연관되어 등록 프리 키(2123)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 연관은 제2 프리 키(2122) 및 클라이언트 등록 코드(2103) 각각을 하나의 단위로 사용하는 단계를 포함할 수 있거나, 제2 프리 키(2122) 및 클라이언트 등록 코드(2103)를 하나의 단위로 사용하는 단계를 포함할 수 있다. 클라이언트 등록 코드(2103)는 등록 프로세스 동안 프로세싱 마이그레이터(2142)에 의해 제1 피어(2101)의 메모리(2108)에 저장될 수 있다. 등록 프리 키(2123)는 데이터 변환기(2144)에 의해 등록 키(2107)를 포함하는 하나 이상의 문자열로 변환될 수 있다(2112). 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다. 일부 실시예에서, 등록 키(2107)는 도 17에 도시된 등록 방법(1700) 동안 제1 피어(1701)에 의해 생성된 등록 키(1707)와 동일할 수 있다. 도 21을 다시 참조하면, 등록 키(2107)는 로그인 키(2199)를 생성하는데 사용될 수 있다. 일부 실시예에서, 등록 키(2107) 및 로그인 솔트(2124)는 로그인 키(2199)를 생성하는데 사용된다. 등록 키(2107) 및 로그인 솔트(2024)는 데이터 조작기(2144)에 의해 연관되어 로그인 프리 키(2198)를 포함하는 하나 이상의 문자열을 형성할 수 있다. 연관은 각각 등록 키(2107) 및 로그인 솔트(2024)를 하나의 단위로 사용하거나 등록 키(2107) 및 로그인 솔트(2024)를 하나의 단위로 사용하는 단계를 포함할 수 있다. 로그인 프리 키(2198)는 로그인 키(2199)를 생성하는데 사용될 수 있다. 일부 실시예에서, 로그인 프리 키(2198)는 데이터 변환기(2145)에 의해 로그인 키(2199)로 변환될 수 있다(2112). 일부 실시예에서, 변환(2112)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2112)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2112)을 포함할 수 있다.The first free key 2121 may be converted into one or more character strings including the second free key 2122 by the data converter 2145 (2112). In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method. The second free key 2122 may be used to generate the registration free key 2123. According to some embodiments, the second free key 2122 and the client registration code 2103 may be associated by the data manipulator 2144 to form one or more character strings including the registration free key 2123. The association may include using each of the second free key 2122 and the client registration code 2103 as one unit, or the second free key 2122 and the client registration code 2103 as one unit. It may include the step of using. The client registration code 2103 may be stored in the memory 2108 of the first peer 2101 by the processing migrator 2142 during the registration process. The registration free key 2123 may be converted into one or more character strings including the registration key 2107 by the data converter 2144 (2112). In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method. In some embodiments, the registration key 2107 may be the same as the registration key 1707 generated by the first peer 1701 during the registration method 1700 shown in FIG. 17. Referring again to FIG. 21, the registration key 2107 may be used to generate the login key 2199. In some embodiments, registration key 2107 and login salt 2124 are used to generate login key 2199. The registration key 2107 and the login salt 2024 may be associated by the data manipulator 2144 to form one or more character strings including the login free key 2198. The association may include using the registration key 2107 and the login salt 2024 as a unit, or using the registration key 2107 and the login salt 2024 as a unit, respectively. The login-free key 2198 may be used to generate the login key 2199. In some embodiments, the login-free key 2198 may be converted to a login key 2199 by the data converter 2145 (2112). In some embodiments, transform 2112 may include using a hashing algorithm. In another embodiment, the transformation 2112 may include using an encryption method. Another embodiment may include transform 2112 using a combination of hashing algorithm and encryption method.

제1 피어(2101)는 서버(2150)로 정보를 전송할 수 있다. 일부 실시예에 따르면, 제1 피어(2101)의 송신기/수신기(2141)는 로그인 키(2199) 및 서버 키(2105)를 서버(2150)에 전송할 수 있다. 다른 실시예에서, 제1 피어(2101)의 송신기/수신기(2141)는 로그인 키(2199), 서버 키(2105) 및 로그인 방법에 필요한 다른 정보를 서버(2150)에 전송할 수 있다.The first peer 2101 may transmit information to the server 2150. According to some embodiments, the transmitter/receiver 2141 of the first peer 2101 may transmit the login key 2199 and the server key 2105 to the server 2150. In another embodiment, the transmitter/receiver 2141 of the first peer 2101 may transmit the login key 2199, the server key 2105, and other information necessary for the login method to the server 2150.

로그인 방법은 하나 이상의 검증 키를 분배하는 단계를 더 포함할 수 있다. 도 22에 도시된 바와 같이, 서버(2250)는 제1 피어(2201)로부터 정보를 수신할 수 있다. 일부 실시예에 따르면, 서버(2250)의 송신기/수신기(2241)는 제1 피어(2201)로부터 로그인 키(login key)(2299)를 수신할 수 있다. 서버(2250)의 송신기/수신기(2241)는 제1 피어(2201)로부터 서버 키(2205)를 수신할 수 있다. 서버(2250)의 송신기/수신기(2241)는 제1 피어(2201)로부터 로그인 키(2299) 및 서버 키(2205)를 모두 수신할 수 있다. 일부 실시예에서, 서버(2250)는 비교 로그인 키(comparison login key)(2260)를 생성할 수 있다. 비교 로그인 키(2260)는 등록 방법 동안 서버(2250)의 데이터 베이스(2257)에 저장된 등록 키(2207)를 사용하여 생성될 수 있다. The login method may further include distributing one or more verification keys. As illustrated in FIG. 22, the server 2250 may receive information from the first peer 2201. According to some embodiments, the transmitter/receiver 2241 of the server 2250 may receive a login key 2299 from the first peer 2201. The transmitter/receiver 2241 of the server 2250 may receive the server key 2205 from the first peer 2201. The transmitter/receiver 2241 of the server 2250 may receive both the login key 2299 and the server key 2205 from the first peer 2201. In some embodiments, the server 2250 may generate a comparison login key 2260. The comparison login key 2260 may be generated using the registration key 2207 stored in the database 2259 of the server 2250 during the registration method.

서버(2250)의 프로세싱 마이그레이터(2242)는 데이터 베이스(2257)로부터 등록 키(2207) 및 로그인 솔트(2224)를 마이그레이션 할 수 있다. 서버(2250)의 데이터 조작기(2244)는 비교 로그인 프리 키(comparison login pre-key)를 생성하기 위해 연관에 의해 등록 키(2207)와 로그인 솔트(2224)를 결합할 수 있다. 비교 로그인 프리 키는 데이터 변환기(2245)에 의해 비교 로그인 키(comparison login key)(2260)로 변환될 수 있다(2212). 일부 실시예에서, 변환(2212)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2212)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하여 변환(2212)을 포함할 수 있다. 서버(2250)의 프로세싱 검증기(2247)는 비교 로그인 키(2260)를 제1 피어(2201)에 의해 전송된 로그인 키(2299)와 비교하여 제1 피어(2201)가 통신할 수 있는지를 결정할 수 있다.The processing migrator 2242 of the server 2250 may migrate the registration key 2207 and login salt 2224 from the database 2257. Data manipulator 2244 of server 2250 may combine registration key 2207 and login salt 2224 by association to generate a comparison login pre-key. The comparison login free key may be converted into a comparison login key 2260 by the data converter 2245 (2212). In some embodiments, transform 2212 may include using a hashing algorithm. In another embodiment, transform 2212 may include using an encryption method. Yet another embodiment may include transform 2212 using a combination of hashing algorithms and encryption methods. The processing verifier 2247 of the server 2250 may compare the comparison login key 2260 with the login key 2299 sent by the first peer 2201 to determine whether the first peer 2201 can communicate. have.

로그인 키(2299)는 프로세싱 마이그레이터(2242)에 의해 서버(2250)의 데이터 베이스(2257)에 저장될 수 있다. 서버는 데이터 마이그레이터(2422)를 사용하여 미리 저장된 피어 리스트(2258)에 액세스 할 수 있다. 저장된 피어 리스트(2258)는 예를 들어 네트워크상의 제1 피어(2201), 제2 피어(2275)의 피어 장치의 리스트를 포함할 수 있다. 피어 리스트는 또한 수신자 코드(2252) 및 분배 코드(2256)를 포함할 수 있으며, 이는 임의의 길이의 하나 이상의 문자 스트링을 포함할 수 있다. 부가적으로, 서버(2250)의 프로세싱 생성기(2246)는 발신자 코드(2254)를 생성할 수 있으며, 이는 또한 임의의 길이의 하나 이상의 문자열을 포함할 수 있다.The login key 2299 may be stored in the database 2257 of the server 2250 by the processing migrater 2242. The server may use data migrator 2422 to access pre-stored peer list 2258. The stored peer list 2258 may include, for example, a list of peer devices of the first peer 2201 and the second peer 2275 on the network. The peer list may also include recipient codes 2252 and distribution codes 2256, which may include one or more character strings of any length. Additionally, processing generator 2246 of server 2250 may generate sender code 2254, which may also contain one or more strings of any length.

서버(2250)의 데이터 조작기(2244)는 서버 키(2205), 수신자 코드(2252), 발신자 코드(2254), 분배 코드(2256) 또는 로그인 키(2299)의 임의의 조합을 조합함으로써 분배 프리 키(2259)를 생성할 수 있다. 일부 실시예에서, 분배 프리 키(2259)는 서버 키(2205), 발신자 코드(2254) 및 수신자 코드(2252)로 구성되며, 이는 하나 이상의 문자열을 형성하기 위해 유닛의 연관을 통해 결합될 수 있다. 연관은 서버 키(2205), 발신자 코드(2254) 및 수신자 코드(2252) 각각을 단위로 사용하거나 서버 키(2205), 발신자 코드(2254) 및 수신자 코드(2252)를 하나의 단위로 사용하는 단계를 포함할 수 있다. 분배 프리 키(2259)는 데이터 변환기(2245)에 의해 분배 키(2253)를 포함하는 하나 이상의 문자열로 변환될 수 있다(2212). 일부 실시예에서, 변환(2212)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2212)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하여 변환(2212)을 포함할 수 있다. 분배 키(2253)는 서버(2250)의 데이터 베이스(2257)에 저장될 수 있다. 검증 프리 키(2261)는 서버(2250)의 데이터 조작기(2244)에 의해 생성될 수 있다. 일부 실시예에서, 서버(2250)의 프로세싱 생성기(2246)에 의해 생성되고 임의의 수의 문자를 포함하는 분배 키(2253) 및 검증 솔트(2263)는 검증 프리 키(2261)를 생성하기 위해 연관될 수 있다. 검증 프리 키(2261)는 데이터 변환기(2245)에 의해 검증 키(2262)로 변환될 수 있다(2212). 일부 실시예에서, 변환(2212)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2212)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하여 변환(2212)을 포함할 수 있다.The data manipulator 2244 of the server 2250 is a distribution-free key by combining any combination of a server key 2205, a recipient code 2252, a sender code 2254, a distribution code 2256, or a login key 2299. (2259) can be created. In some embodiments, distribution-free key 2259 consists of server key 2205, sender code 2254 and recipient code 2252, which may be combined through association of units to form one or more character strings. . Association is a step of using a server key (2205), sender code (2254) and receiver code (2252) as a unit, or server key (2205), sender code (2254) and receiver code (2252) as a unit It may include. The distribution-free key 2259 may be converted by the data converter 2245 into one or more strings containing the distribution key 2253 (2212). In some embodiments, transform 2212 may include using a hashing algorithm. In another embodiment, transform 2212 may include using an encryption method. Yet another embodiment may include transform 2212 using a combination of hashing algorithms and encryption methods. The distribution key 2253 may be stored in the database 2257 of the server 2250. The verification free key 2261 may be generated by the data manipulator 2244 of the server 2250. In some embodiments, distribution key 2253 and verification salt 2263 generated by processing generator 2246 of server 2250 and containing any number of characters are associated to generate verification free key 2261 Can be. The verification free key 2261 may be converted into a verification key 2262 by the data converter 2245 (2212). In some embodiments, transform 2212 may include using a hashing algorithm. In another embodiment, transform 2212 may include using an encryption method. Yet another embodiment may include transform 2212 using a combination of hashing algorithms and encryption methods.

서버(2250)는 정보를 제2 피어(2275)로 전송하도록 구성될 수 있다. 일부 실시예에서, 서버(2250)의 송신기/수신기(2241)는 검증 키(2622) 및 분배 코드(2256)를 제2 피어(2275)로 전송할 수 있다. 다른 실시예에서, 서버(2250)의 송신기/수신기(2241)는 검증 키(2622), 분배 코드(2256), 검증 솔트(2631) 및 로그인 방법(2000)에 필요한 기타 정보를 제2 피어(2275)에게 전송할 수 있다. 일부 실시예에서, 서버(2250)는 분배 키(2253), 검증 솔트(2263) 및 분배 코드(2256)의 임의의 조합을 제2 피어(2275)로 전송할 수 있다.Server 2250 may be configured to transmit information to second peer 2275. In some embodiments, the transmitter/receiver 2241 of the server 2250 may transmit the verification key 2622 and the distribution code 2256 to the second peer 2275. In another embodiment, the sender/receiver 2241 of the server 2250 transmits the verification key 2262, the distribution code 2256, the verification salt 2631, and other information required for the login method 2000 to the 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)는 하나 이상의 검증 키(2622)를 생성하고 하나 이상의 제2 피어(2275)로 데이터를 전송할 수 있다. 일부 실시예에서, 피어 리스트(2258)는 네트워크상의 하나 이상의 제2 피어(2275)의 리스트를 포함할 수 있다. 제2 피어는 네트워크 상에 있고 서버(2250)로부터 데이터를 송수신할 수 있는 임의의 IoT 장치, 서버 또는 임의의 장치를 포함할 수 있다. 서버(2250)는 각각의 제2 피어(2275)에 대한 고유 분배 코드(2256)를 생성할 수 있다. 서버(2250)는 각각의 제2 피어(2275)에 대한 고유 수신자 코드(2522)를 생성할 수 있다. 이들 실시예에서, 각각의 제2 피어(2275)에 대해 생성된 검증 키(2622)는 다른 제2 피어(2275)에 대해 생성된 검증 키(2622)와 상이 할 수 있지만, 제1 피어(2201)로부터 수신된 기본 서버 키(2205)는 동일할 수 있다. 검증 키(2622)는 서버(2250)의 데이터 베이스(2257)에 저장되거나 저장되지 않을 수 있다.The server 2250 may generate one or more verification keys 2622 and transmit data to one or more second peers 2275. In some embodiments, peer list 2258 may include a list of one or more second peers 2275 on the network. The second peer can include any IoT device, server, or any device that is on the network and capable of sending and receiving data from server 2250. The server 2250 may generate a unique distribution code 2256 for each second peer 2275. The server 2250 may generate a unique recipient code 2522 for each second peer 2275. In these embodiments, the verification key 2262 generated for each second peer 2275 may be different from the verification key 2622 generated for the other second peer 2275, but the first peer 2202 The default server key 2205 received from) may be the same. The verification key 2262 may or may not be stored in the database 2258 of the server 2250.

이제 도 23을 참조하면, 로그인 방법은 로컬 데이터 베이스에서 하나 이상의 로그인 키를 확인하는 단계를 포함할 수 있다. 일부 실시예에 따르면, 제2 피어(2375)는 정보를 수신하여 서버(2350)에 전송하도록 구성될 수 있다. 제2 피어(2375)의 송신기/수신기(2341)는 서버(2350)로부터 검증 키(2362)를 수신할 수 있다. 제2 피어(2375)의 송신기/수신기(2321)는 서버(2350)로부터 분배 코드(2356)를 수신할 수 있다. 일부 실시예에서, 제2 피어(2375)의 송신기/수신기(2341)는 서버(2350)로부터 검증 키(2362), 분배 코드(2356) 및 검증 솔트(2363)를 수신할 수 있다. 분배 코드(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)에 저장된 하나 이상의 분배 코드(2356)가 서버(2350)로부터 수신된 분배 코드(2356)와 동일하다고 결정하면, 제2 피어(2375)의 프로세싱 마이그레이터(2334)는 매칭 분배 코드(2356)와 연관된 분배 키(2353)를 메모리(2378)로부터 제거할 수 있다. 제2 피어(2375)의 메모리(2378) 및 검증 솔트(2363)로부터 제거된 분배 키(2353)는 데이터 조작기(2344)에 의해 연결에 의해 확인 프리 키(2380)를 생성하기 위해 사용될 수 있다. 확인 프리 키(2380)는 데이터 변환기(2345)에 의해 확인 키(2381)로 변환될 수 있다(2312). 일부 실시예에서, 변환(2312)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2312)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2312)을 포함할 수 있다. 일부 실시예에서, 제2 피어(2375)는 서버(2350)로부터 분배 키 및 검증 솔트(2363)를 수신할 수 있다. 제2 피어(2375)는 검증 프리 키를 생성하기 위해 분배 키와 검증 솔트(2363)를 연관함으로써 제2 피어(2375)에서 검증 키(2362)를 생성할 수 있다. 검증 프리 키는 검증 키(2362)로 변환될 수 있다(2312).Referring now to FIG. 23, the login method may include checking one or more login keys in a local database. According to some embodiments, the second peer 2375 may be configured to receive information and transmit it to the server 2350. The transmitter/receiver 2341 of the second peer 2375 may receive the verification key 2362 from the server 2350. The transmitter/receiver 2321 of the second peer 2375 may receive the distribution code 2356 from the server 2350. In some embodiments, the transmitter/receiver 2341 of the second peer 2375 may receive the verification key 2362, the distribution code 2356, and the verification salt 2363 from the server 2350. Distribution code 2356 may be compared by processing 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 the same as the distribution code 2356 stored in the memory 2378 of the second peer 2375, the processing generator 2346 of the second peer 2375 is positive. Results 2382 can be generated. If the distribution code 2356 received by the second peer 2375 is not the same as the distribution code 2356 stored in the memory 2378 of the second peer 2375, the processing generator of the second peer 2375 ( 2346) may produce a negative result 2382. In some embodiments, the verification key 2362 is also used to find the same distribution code 2356. If the second peer 2375 determines that at least one distribution code 2356 stored in the memory 2378 of the second peer 2375 is the same as the distribution code 2356 received from the server 2350, the second peer ( The processing migrator 2334 of 2375 may remove the distribution key 2353 associated with the matching distribution code 2356 from the memory 2378. The distribution key 2353 removed from the memory 2378 and the verification salt 2363 of the second peer 2375 can be used to generate the verification free key 2380 by connection by the data manipulator 2344. The confirmation free key 2380 may be converted into a confirmation key 2381 by the data converter 2345 (2312). In some embodiments, transform 2312 may include using a hashing algorithm. In another embodiment, the transform 2312 may include using an encryption method. Another embodiment may include transform 2312 using a combination of hashing algorithm and encryption method. In some embodiments, the second peer 2375 may receive the distribution key and verification salt 2363 from the server 2350. The second peer 2375 may generate the verification key 2362 at the second peer 2375 by associating the distribution key and the verification salt 2363 in order to generate the verification free key. The verification free key may be converted into a verification key 2362 (2312).

일부 실시예에서, 제2 피어(2375)는 비교 검증 키(2383)를 생성할 수 있다. 제2 피어(2375)는 저장된 분배 키(2353)와 서버(2350)로부터 수신된 검증 솔트(2363)를 연관하여 비교 검증 프리 키를 생성함으로써 비교 검증 키(2383)를 생성할 수 있다. 비교 검증 프리 키는 비교 검증 키로 변환될 수 있다(2312). 일부 실시예에서, 비교 검증 키(2383)는 프로세싱 검증기(2347)에 의해 수신된 검증 키(2362)와 비교 될 수 있고 결과(2382)가 생성될 수 있다. 일부 실시예에서, 결과(2382)는 검증 키(2362)를 비교 검증 키(2383)와 비교하여 생성된 결과 및 수신된 분배 코드(2356)를 저장된 분배 코드(2356)와 비교하여 생성된 결과를 포함할 수 있다. 확인 키(2381)는 확인 솔트(2363) 및 제2 피어(2375)의 메모리(2378)로부터 검색된 보관 키(2377)로부터 생성될 수 있다. 보관 키(2377) 및 검증 쏠트(2363)는 확인 프리 키(2380)를 생성하기 위해 데이터 조작기(2344)에 의해 연관될 수 있다. 확인 프리 키(2380)는 2312에서 확인 키(2381)로 변환될 수 있다. 확인 키(2381), 분배 코드(2356) 및 결과(2382)의 임의의 조합은 제2 피어(2375)에서 서버(2350)으로 전송될 수 있다.In some embodiments, the second peer 2375 may generate the comparison verification key 2383. The second peer 2375 may generate the comparison verification key 2383 by associating the stored distribution key 2353 with the verification salt 2363 received from the server 2350 to generate a comparison verification free key. The comparison verification free key may be converted into a comparison verification key (2312). In some embodiments, the comparison verification key 2383 may be compared to the verification key 2362 received by the processing verifier 2347 and a result 2382 may be generated. In some embodiments, the result 2382 is a result generated by comparing the verification key 2362 with the comparison verification key 2383 and the result generated by comparing the received distribution code 2356 with the stored distribution code 2356. Can include. The confirmation key 2381 may be generated from the confirmation salt 2363 and the storage key 2377 retrieved from the memory 2378 of the second peer 2375. Archive key 2377 and verification salt 2363 may be associated by data manipulator 2344 to generate confirmation free key 2380. The confirmation free key 2380 may be converted to a confirmation key 2381 at 2312. Any combination of confirmation key 2381, distribution code 2356, and result 2382 may be transmitted 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)로 데이터를 전송한 후에 발생할 수 있다.The second peer 2375 may be configured to transmit data to the server 2350. In some embodiments, the transmitter/receiver 2341 of the second peer 2375 may send any combination of result 2382, distribution code 2356, and confirmation key 2381 to server 2350. In some embodiments, the second peer 2375 may be configured to delete all data related to the transaction. In a particular embodiment, the second peer 2375 is a distribution code 2356, archive key 2377, distribution key 2353 from memory 2378 of second peer 2375 or processor of second peer 2375. , Verification key 2362, verification salt 2326, verification free key 2380, and verification key 2381 may be deleted. In some embodiments, deletion of data may occur concurrently with transmitting data to server 2350. In another embodiment, deletion of data may occur after transmitting the data to the server 2350.

이제 도 24를 참조하면, 로그인 방법은 검증 프로세스(2400)를 검증하는 단계를 더 포함할 수 있다. 서버(2450)는 하나 이상의 제2 피어(2475)로부터 데이터를 수신하도록 구성될 수 있다. 일부 실시예에서, 서버(2450)의 송신기/수신기(2441)는 확인 키(2461), 결과(2482) 및 분배 코드(2456)의 임의의 조합을 수신할 수 있다. 서버(2450)는 제2 피어(2475)로부터 수신된 결과(2482)를 확인 응답할 수 있다. 결과가 긍정적인 경우, 서버(2450)의 프로세싱 검증기(2447)는 제2 피어(2475)로부터 수신된 분배 코드(2456)를 서버(2450)의 데이터 베이스(2457)에 저장된 모든 또는 일부 분배 코드(2456)와 비교할 수 있다. 서버(2450)의 데이터 베이스(2457)에 저장된 분배 코드(2456)가 제2 피어(2475)로부터 수신된 분배 코드(2456)와 동일하면, 서버(2450)의 프로세싱 마이그레이터(2402)는 분배 코드(2456)와 연관될 수 있고 서버(2450)의 데이터 베이스(2457)에 저장될 수 있는 검증 솔트(2463) 및 분배 키(2453)의 임의의 조합을 검색할 수 있다. 일부 실시예에서, 검색된 분배 키(2453)는 등록 프로세스 동안 저장된 분배 키(2453) 일 수 있다. 검색된 검증 솔트(2463) 및 검색된 분배 키(2453)는 검증 쏠트(2463)와 분배 키(2453)의 연관을 통해 검증 프리 키(2461)를 생성하기 위해 데이터 조작기(2444)에 의해 사용될 수 있다. 검증 프리 키(2461)는 데이터 변환기(2445)에 의해 검증 키(2442)로 변환될 수 있다(2412). 일부 실시예에서, 변환(2412)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2412)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2412)을 포함할 수 있다.Referring now to FIG. 24, the login method may further include verifying the verification process 2400. Server 2450 may be configured to receive data from one or more second peers 2475. In some embodiments, the sender/receiver 2441 of server 2450 may receive any combination of confirmation key 2461, result 2482, and distribution code 2456. The server 2450 may acknowledge and respond to the result 2482 received from the second peer 2475. If the result is positive, the processing verifier 2447 of the server 2450 transfers the distribution code 2456 received from the second peer 2475 to all or some distribution codes stored in the database 2457 of the server 2450 ( 2456). If the distribution code 2456 stored in the database 2457 of the server 2450 is the same as the distribution code 2456 received from the second peer 2475, the processing migrator 2402 of the server 2450 is the distribution code ( Any combination of verification salt 2463 and distribution key 2453 that may be associated with 2456 and stored in database 2457 of server 2450 may be retrieved. In some embodiments, the retrieved distribution key 2453 may be the distribution key 2453 stored during the registration process. The retrieved verification salt 2463 and the retrieved distribution key 2453 may be used by the data manipulator 2444 to generate the verification free key 2461 through association of the verification salt 2463 and the distribution key 2453. The verification free key 2461 may be converted into a verification key 2442 by the data converter 2445 (2412 ). In some embodiments, transform 2412 may include using a hashing algorithm. In another embodiment, the transform 2412 may include using an encryption method. Another embodiment may include transform 2412 using a combination of hashing algorithm and encryption method.

서버(2450)의 프로세싱 검증기(2447)는 생성된 검증 키(2442)를 제2 피어(2475)로부터 수신된 확인 키(2461)와 비교할 수 있고 프로세싱 생성기(2246)는 인증 결과(2464)를 생성할 수 있다. 검증 키(2442)가 제2 피어(2475)로부터 수신된 확인 키(2461)와 동일하면, 예를 들어 인증 성공으로 결과가 긍정적일 수 있다. 확인 키(2442)가 제2 피어(2475)로부터 수신된 확인 키(2461)와 동일하지 않은 경우, 인증 결과(2464)는 예를 들어 인증 실패 또는 위험의 부정적일 수 있다. 서버(2450)의 프로세싱 마이그레이터(2402)는 인증 결과(2464)를 데이터 베이스(2457)에 저장할 수 있다. 일부 실시예에서, 인증 결과(2464)는 등록 방법 동안 생성된 연관된 분배 키(2453)와 함께 저장된다.The processing verifier 2447 of the server 2450 may compare the generated verification key 2442 with the verification key 2461 received from the second peer 2475, and the processing generator 2246 generates an authentication result 2464. can do. If the verification key 2442 is the same as the verification key 2461 received from the second peer 2475, the result may be positive, for example, as an authentication success. If the confirmation key 2442 is not the same as the confirmation key 2461 received from the second peer 2475, the authentication result 2464 may be negative of authentication failure or risk, for example. The processing migrator 2402 of the server 2450 may store the authentication result 2464 in the database 2457. In some embodiments, the authentication result 2464 is stored with an associated distribution key 2453 generated during the registration method.

서버(2450)는 새로운 분배 키(2453)를 하나 이상의 제2 피어(2475)에게 전송할 수 있다. 이제 도 19를 참조하면, 서버(1950)는 서버(1950)의 데이터 베이스(1957)에서 새로운 피어 리스트(1958)를 생성할 수 있다. 일부 실시예에서, 하나 이상의 분배 키(1900)를 분배하는 것과 동일할 수 있는 방법에서, 서버(1950)는 새로운 수신자 코드(1952) 및 새로운 분배 코드(1956)의 임의의 조합을 할당할 수 있고, 새로운 분배 키(1953)을 생성하기 위하여 새로운 수신자 코드(1952) 및 새로운 분배 코드(1956)의 조합을 사용할 수 있다. 서버(1950)는 새롭게 생성된 분배 키(1953)를 이전에 분배 키(1953)를 저장한 제2 피어(1975)와 상이할 수 있는 제2 피어(1975)로 전송할 수 있다.The server 2450 may transmit a new distribution key 2453 to one or more second peers 2475. Referring now to FIG. 19, the server 1950 may create a new peer list 1958 in the database 1957 of the server 1950. In some embodiments, in a method that may be the same as distributing one or more distribution keys 1900, server 1950 may allocate any combination of a new recipient code 1952 and a new distribution code 1956, and , To generate a new distribution key 1953, a combination of a new recipient code 1952 and a new distribution code 1956 may be used. The server 1950 may transmit the newly generated distribution key 1953 to a second peer 1975 that may be different from the second peer 1975 that previously stored the distribution key 1953.

웹 인증 방법(web authentication method)은 바코드 생성, 하나 이상의 키 생성 및 웹 세션 설정을 포함할 수 있다. 또한, 웹 인증 시스템은 하나 이상의 제1 장치, 제2 장치, 제1 서버, 제2 서버 및 인터넷 애플리케이션(internet application) 간의 통신을 포함할 수 있다. 하나 이상의 제1 장치, 제2 장치, 제1 서버 및 제2 서버는 적어도 프로세서 및 송신기/수신기를 포함할 수 있다. 하나 이상의 제1 장치 및 하나 이상의 제2 장치는 각각의 메모리를 추가로 포함할 수 있다. 일부 실시예에서, 하나 이상의 제1 장치 및 하나 이상의 제2 장치 각각은 시각적 디스플레이를 포함할 수 있다. 하나 이상의 제1 장치 및 하나 이상의 제2 장치 각각은 바코드를 스캔하는 수단을 포함할 수 있다. 하나 이상의 제1 서버 및 제2 서버는 데이터 베이스를 추가로 포함할 수 있다.The web authentication method may include generating a barcode, generating one or more keys, and establishing a web session. In addition, 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, the second device, the first server and the second server may include at least a processor and a transmitter/receiver. 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 visual display. Each of the at least one first device and at least one second device may comprise means for scanning a barcode. The one or more 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 transmitter of the first device, the second device, the first server and the second server may be configured to transmit and receive information from an exogenous source. In some embodiments, the first device may be configured to transmit and receive information from any combination of the second device, the first server, and the second server. The first server and the second server may be configured to transmit and receive information from both the first device and the second device, and the second device may be configured to transmit and receive information from the first server, the first device and the second server. I can. The memory of the first device and the second device and the database of the server may be configured to store information and retrieve information. The visual display includes means for the user to interact with the display, for example data entry, text selection, object selection, and the like. The Internet application may be configured to transmit or receive information from any combination of a first server, a second server, a first device and a second device.

제1 장치, 제2 장치, 제1 서버 및 제2 서버의 프로세서는 프로세싱 마이그레이터, 데이터 조작기, 데이터 변환기, 프로세싱 생성기 및 프로세싱 검증기를 포함할 수 있다. 프로세싱 마이그레이터는 제1 장치, 제2 장치, 또는 제1 또는 제2 서버 내의 하나의 컴포넌트로부터 제1 장치, 제2 장치 또는 제1 또는 제2 서버 내의 다른 컴포넌트로 데이터를 마이그레이션 하도록 구성될 수 있다. 예로서, 비 제한적으로, 프로세싱 마이그레이터는 제1 장치의 메모리로부터 제1 장치의 프로세서로, 또는 제2 장치의 프로세서로부터 제2 장치의 송신기/수신기로 데이터를 이동(move)시키도록 구성될 수 있다. 데이터 조작기는 예를 들어 결합, 분리, 분리 및 재결합, 재정렬 등 데이터를 조작하도록 구성될 수 있다. 예로서, 비 제한적으로, 제1 장치의 데이터 조작기는 하나 이상의 문자열을 제1 부분 및 제2 부분으로 분리하도록 구성될 수 있거나, 하나 이상의 문자열을 생성하기 위하여 서버의 데이터 조작기는 데이터의 제1 부분을 제2 부분과 결합하도록 구성될 수 있다.The processors of the first device, the second device, the first server and the second server may include a processing miter, a data manipulator, a data converter, a processing generator and a processing verifier. The processing migrater may be configured to migrate data from the first device, the second device, or one component in the first or second server to the first device, the second device, or another component in the first or second server. By way of example and not limitation, the processing miter may be configured to move data from a memory of a first device to a processor of a first device, or from a processor of a second device to a transmitter/receiver of a second device. . The data manipulator can be configured to manipulate data, such as joining, splitting, splitting and recombining, reordering, etc. By way of example and not limitation, the data manipulator of the first device may be configured to separate one or more strings into a first part and a second part, or to generate one or more strings, the data manipulator of the server May be configured to couple with the second part.

데이터 변환기는 제1 문자열을 제2 문자열로 변환하도록 구성될 수 있고, 여기서, 제1 문자열 및 제2 문자열은 길이, 구성 또는 배열 중 임의의 하나 이상에서 상이할 수 있다. 일부 실시예에서, 데이터 변환기는 해싱 알고리즘을 제1 문자열에 적용하도록 구성될 수 있다. 다른 실시예에서, 데이터 변환기는 제1 문자열에 암호화 프로토콜을 적용하도록 구성될 수 있다. 또 다른 실시예에서, 데이터 변환기는 암호 해독 프로토콜을 제1 문자열에 적용하도록 구성될 수 있다. 다른 실시예에서 여전히, 데이터 변환기는 해싱 알고리즘, 암호화 프로토콜, 복호화 프로토콜, 또는 임의의 다른 공지된 데이터 변환 방법을 제1 문자열로 적용하여 제2 문자열을 생성하도록 구성될 수 있다.The data converter may be configured to convert a first character string to a second character string, where the first character string and the second character string may be different in any one or more of length, configuration, or arrangement. In some embodiments, the data converter may be configured to apply a hashing algorithm to the first string. In another embodiment, the data converter may be configured to apply an encryption protocol to the first string. In another embodiment, the data converter may be configured to apply a decryption protocol to the first string. Still in other embodiments, the data converter may be configured to apply a hashing algorithm, encryption protocol, decryption protocol, or any other known data conversion method to the first string to generate the second string.

프로세싱 생성기는 데이터를 생성하도록 구성될 수 있다. 일부 실시예에서, 데이터는 임의의 길이의 하나 이상의 문자 스트링을 포함할 수 있고 바코드 등을 포함할 수 있다. 일부 실시예에서, 데이터는 랜덤 방식 또는 지시된 방식으로 생성될 수 있다. 프로세싱 검증기는 둘 이상의 데이터를 비교하고 이들 데이터가 동일하거나 다른 지를 결정하도록 구성될 수 있다. 일부 실시예에서, 프로세싱 검증기 및 프로세싱 생성기는 제1 문자열 및 제2 문자열이 동일한 지를 결정하고 제1 및 제2 문자열의 신원에 기초하여 응답을 생성하기 위해 쌍을 이룰 수 있다.The processing generator can be configured to generate data. In some embodiments, the data may include one or more character strings of any length and may include barcodes and the like. In some embodiments, the data may be generated in a random manner or in an indicated manner. The processing verifier can be configured to compare two or more data and determine if these data are the same or different. In some embodiments, the processing verifier and processing generator may be paired to determine if the first string and the second string are the same and generate a response based on the identity of the first and second strings.

웹 인증 방법은 도 25에 도시된 바코드를 생성하는 단계를 포함할 수 있다. 바코드(2500)를 생성하는 것은 인터넷 애플리케이션(2590)에서 개시될 수 있다. 일부 실시예에서, 사용자는 인터넷 애플리케이션(2590)에서 로그인 요청으로 바코드(2500)를 생성할 수 있다. 제1 합의 프로토콜 쌍(2646)은 프로세싱 생성기(2646)에 의해 생성될 수 있다. 일부 실시예에서, 제1 합의 프로토콜 쌍(first agreement protocol pair)(2646)은 인터넷 애플리케이션(2590)에서 프로세싱 생성기(2646)에 의해 생성될 수 있다. 제1 키 합의 프로토콜 쌍(first key agreement protocol pair) (2526)은 당업자에게 쉽게 알려진 임의의 키 합의 프로토콜 쌍을 포함할 수 있다. 일부 실시예에서, 제1 키 합의 프로토콜 쌍 (2526)은 타원-커브 디피-헬만(Elliptic-curve Diffie-Hellman)(ECDH) 쌍을 포함할 수 있다. 일부 실시예에 따르면, 인터넷 애플리케이션(2590)은 정보를 제1 서버(2525)로 전송하도록 구성될 수 있다. 프로세싱 마이그레이터(2642)는 인터넷 애플리케이션(2590)의 송신기/수신기(2541)로 정보를 전송할 수 있다. 인터넷 애플리케이션(2590)은 제1 공개 키(first public key)(2503), 제1 개인 키(first private key)(2504) 및 바코드(2505)를 생성하는데 필요한 임의의 다른 정보의 임의의 조합을 전송할 수 있다.The web authentication method may include generating the barcode shown in FIG. 25. Generating the barcode 2500 may be initiated in an internet application 2590. In some embodiments, the user may generate the barcode 2500 as a login request in the internet application 2590. The first consensus protocol pair 2646 may be generated by the processing generator 2646. In some embodiments, a first agreement protocol pair 2646 may be generated by processing generator 2646 in internet application 2590. The first key agreement protocol pair 2526 may include any key agreement protocol pair readily known to those skilled in the art. In some embodiments, the first key agreement protocol pair 2526 may comprise an Elliptic-curve Diffie-Hellman (ECDH) pair. According to some embodiments, the internet application 2590 may be configured to transmit information to the first server 2525. The processing migrator 2642 may transmit information to the transmitter/receiver 2541 of the Internet application 2590. Internet application 2590 transmits any combination of first public key 2503, first private key 2504 and any other information needed to generate barcode 2505. I can.

일부 실시예에서, 제1 서버(2525)는 인터넷 애플리케이션(2590)으로부터 정보를 수신하도록 구성될 수 있다. 제1 서버(2525)의 송신기/수신기(2541)는 인터넷 애플리케이션(2590)으로부터 제1 공개 키(2503), 제1 개인 키(2504) 및 바코드(2500)를 생성하기 위한 임의의 다른 필요한 정보의 임의의 조합을 수신할 수 있다. 제1 서버(2525)는 랜덤 키(2527)를 생성할 수 있고 랜덤 키(2527)는 제1 서버(2525)의 프로세싱 생성기(2646)에 의해 생성될 수 있다. 랜덤 키(2527)는 임의의 길이의 하나 이상의 문자열을 포함할 수 있고 문자는 문자, 숫자 및 기호를 포함할 수 있다. 일부 실시예에서, 바코드(2505)가 생성될 수 있다. 프로세싱 생성기(2546)는 바코드 전구체(precursor)를 사용하여 바코드(2505)를 생성할 수 있다. 바코드(2505)는 임의의 선형 바코드, 2 차원 바코드, 또는 당업자에게 쉽게 알려진 임의의 유형의 판독 가능한 표시(readable indicia)를 포함하지만, 임의의 유형의 바코드(2505)를 포함할 수 있다. 일부 실시예에서, 바코드(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)는 인터넷 애플리케이션(2590)으로 바코드(2505)를 전송할 수 있다. 인터넷 애플리케이션(2590)은 송신기/수신기(2551)에서 바코드(2505)를 수신할 수 있고 인터넷 애플리케이션(2590)의 시각 디스플레이(2590)에서 바코드(2505)를 디스플레이 할 수 있다.In some embodiments, the first server 2525 may be configured to receive information from the internet application 2590. The sender/receiver 2541 of the first server 2525 contains the first public key 2503, the first private key 2504, and any other necessary information to generate the barcode 2500 from the internet application 2590. Any combination can be received. The first server 2525 may generate a random key 2527 and the random key 2527 may be generated by the processing generator 2646 of the first server 2525. The random key 2527 may include one or more character strings of any length and characters may include letters, numbers, and symbols. In some embodiments, barcode 2505 may be generated. The processing generator 2546 can generate the barcode 2505 using a barcode precursor. Barcode 2505 may include any linear barcode, two-dimensional barcode, or any type of readable indicia readily known to those skilled in the art, but may include any type of barcode 2505. In some embodiments, barcode 2505 may comprise a QR code. Barcode 2505 may be generated from any combination of first public key 2503, first private key 2504, random key 2527, and any other information required to generate barcode 2500. In certain embodiments, the barcode 2505 may be generated by the data manipulator 2544 of the first server 2525 and may be based on the first public key 2503 and the random key 2527. The first server 2525 may be configured to transmit information to the Internet application 2590. In some embodiments, the transmitter/receiver 2541 of the first server 2525 may transmit information to the Internet application 2590. In a specific embodiment, the first server 2525 may transmit the barcode 2505 to the Internet application 2590. Internet application 2590 may receive barcode 2505 at transmitter/receiver 2551 and may display barcode 2505 on visual display 2590 of Internet application 2590.

웹 인증 방법은 도 26, 27 및 28에 도시된 하나 이상의 키를 생성하는 단계를 포함할 수 있다. 이제 도 26을 참조하면, 하나 이상의 키(2600)를 생성하는 것은 바코드(2605)를 스캐닝 하는 제1 장치(2650)를 포함할 수 있다. 제1 장치(2650)의 데이터 조작기(2644)는 바코드(2605) 내에 포함된 정보로부터 랜덤 키(2627), 제1 공개 키(2603) 또는 랜덤 키(2627) 및 제1 공개 키(2603)를 생성할 수 있다. 데이터 조작기(2644)는 하나 이상의 키(2600)를 생성하기 위해 바코드(2605) 내에 포함된 임의의 정보를 추정할 수 있다. 또한, 제1 장치(2650)의 프로세싱 생성기(2646)는 제2 키 합의 프로토콜 쌍(2651)을 생성할 수 있다. 제2 키 합의 프로토콜 쌍(2651)은 당업자에게 쉽게 알려진 임의의 키 합의 프로토콜 쌍을 포함할 수 있다. 일부 실시예에서, 제2 키 합의 프로토콜 쌍(2651)은 타원-커브 디피-헬만(Elliptic-curve Diffie-Hellman)(ECDH) 쌍을 포함할 수 있다. 일부 실시예에서, 제2 키 합의 프로토콜 쌍(second key agreement protocol pair)(2651)은 제2 개인 키(2652) 및 제2 공개 키(2653)를 포함할 수 있다. 바코드(2605)로부터 외삽된 제2 개인 키(2652) 및 제1 공개 키(2603)는 비밀 키(2654)를 생성하기 위해 데이터 조작기(2644)에 의해 결합될 수 있다. 제1 장치(2650)의 프로세싱 생성기(2646)는 쏠트(2655), 초기 벡터(initializing vector)(2656) 및 반복 번호(iteration number)(2657)의 임의의 조합을 생성할 수 있다. 특정 실시예에서, 제1 장치(2650)의 프로세싱 생성기(2646)는 솔트(2655), 초기 벡터(2656) 및 반복 번호(2657) 각각을 생성할 수 있다. 쏠트(2655), 초기 벡터(2656) 및 반복 번호(2657)는 각각 임의의 길이의 하나 이상의 문자 스트링을 포함할 수 있고 문자는 문자, 숫자 또는 기호의 임의의 조합을 포함할 수 있다. 초기 벡터(2656)는 n과 동일한 수의 문자를 포함할 수 있고, IV 제1 파트(IV first part)(2658) 및 IV 제2 파트(IV second part)(2765)을 추가로 포함할 수 있다. 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)는 초기 벡터(2656)로부터 IV 제1 파트(2658) 및 IV 제2 파트(2659)을 생성할 수 있다. 데이터 조작기(2644)는 반복 번호(2657)로부터 IN 제1 파트(2660) 및 IN 제2 파트(2661)을 생성할 수 있다. 일부 실시예에 따르면, 비밀 키(2654), 쏠트(2655), IV 제1 파트(2658) 및 IN 제1 파트(2660)은 데이터 변환기(2645)에 의해 마스크 된 비밀 키(2662), 마스크 된 쏠트(2663), 마스크 된 IV 제1 파트(2664), 및 마스크 된 제1 파트(2665)으로 각각 변환될 수 있다(2612). 일부 실시예에서, 초기 벡터(2656)는 데이터 변환기(2645)에 의해 마스크 된 IV 제1 파트(2664)으로 변환될 수 있다(2612). 마찬가지로, 반복 번호(2657)는 데이터 변환기(2645)에 의해 마스크 된 제1 파트(2665)으로 변환될 수 있다(2612). 일부 실시예에서, 변환(2612)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 다른 실시예에서, 변환(2612)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 또 다른 실시예는 해싱 알고리즘 및 암호화 방법의 조합을 사용하는 변환(2612)을 포함할 수 있다. 일부 실시예에서, 반복 번호(2657)는 IN 제1 파트(2660) 및 IN 제2 파트(2661)을 생성하지 않고 그대로 유지될 수 있고, 결과적인 IN 제1 파트(2660)은 변환되지 않을 수 있다(2612).The web authentication method may include generating one or more keys shown in FIGS. 26, 27 and 28. Referring now to FIG. 26, generating one or more keys 2600 may include a first device 2650 scanning barcodes 2605. The data manipulator 2644 of the first device 2650 receives the random key 2627, the first public key 2603 or the random key 2627 and the first public key 2603 from the information contained in the barcode 2605. Can be generated. Data manipulator 2644 may estimate any information contained within barcode 2605 to generate one or more keys 2600. Also, the processing generator 2646 of the first device 2650 may generate a second key agreement protocol pair 2651. The second key agreement protocol pair 2651 may include any key agreement protocol pair readily known to those skilled in the art. In some embodiments, the second key agreement protocol pair 2651 may comprise an Elliptic-curve Diffie-Hellman (ECDH) pair. In some embodiments, the second key agreement protocol pair 2651 may include a second private key 2652 and a second public key 2603. The second private key 2652 and first public key 2603 extrapolated from the barcode 2605 may be combined by the data manipulator 2644 to generate the secret key 2654. The processing generator 2646 of the first device 2650 may generate any combination of a salt 2655, an initializing vector 2656, and an iteration number 2657. In a particular embodiment, the processing generator 2646 of the first device 2650 may generate a salt 2655, an initial vector 2656, and an iteration number 2657, respectively. Salt 2655, initial vector 2656, and repeat number 2657 may each contain one or more character strings of any length and the characters may contain any combination of letters, numbers, or symbols. The initial vector 2656 may include the same number of characters as n, and may additionally include an IV first part 2658 and an IV second part 2765. . The IV first part 2658 and the IV second part 2659 may each include a plurality of characters between 1 and n-1. The repetition number 2657 may include the same number of characters as n, and may additionally include an IN first part 2660 and an IN second part 2661. The IN first part 2660 and the IN second part 2661 may each include a plurality of characters between 1 and n-1. The data manipulator 2644 may generate an IV first part 2658 and an IV second part 2659 from the initial vector 2656. The data manipulator 2644 may generate the IN first part 2660 and the IN second part 2661 from the repetition number 2657. According to some embodiments, secret key 2654, salt 2655, IV first part 2658 and IN first part 2660 are masked secret key 2662, masked by data converter 2645 The salt 2663, the masked IV first part 2664, and the masked first part 2665 may be converted (2612). In some embodiments, the initial vector 2656 may be transformed 2612 into a masked IV first part 2664 by the data converter 2645. Likewise, the repetition number 2657 may be converted to the first part 2665 masked by the data converter 2645 (2612). In some embodiments, transform 2612 may include using a hashing algorithm. In another embodiment, transform 2612 may include using an encryption method. Another embodiment may include a transform 2612 that uses a combination of hashing algorithms and encryption methods. In some embodiments, the repetition number 2657 may be kept as it is without generating the IN first part 2660 and the IN second part 2661, and the resulting IN first part 2660 may not be converted. There is (2612).

제1 장치(2650)의 프로세싱 생성기(2646)는 클라이언트 키(2666)를 생성할 수 있다. 클라이언트 키(2666)는 임의의 길이의 하나 이상의 문자 스트링을 포함할 수 있고 문자는 문자, 숫자 또는 기호의 임의의 조합을 포함할 수 있다. 일부 실시예에 따르면, 클라이언트 키(2666)는 데이터 변환기(2645)에 의해 제1 마스크 된 클라이언트 키(2667)로 변환될 수 있다(2612). 다른 실시예에서, 클라이언트 키(2667)는 데이터 변환기(2645)에 의해 제2 마스크 된 클라이언트 키(2668)로 변환될 수 있다(2612). 또 다른 실시예에서, 클라이언트 키(2666)는 데이터 변환기(2645)에 의해 제1 마스크 된 클라이언트 키(2667) 및 제2 마스크 된 클라이언트 키(2668) 각각으로 변환될 수 있다(2612). 변환(2612)은 해싱 알고리즘을 사용하는 단계를 포함할 수 있다. 또한, 변환(2612)은 암호화 방법을 사용하는 단계를 포함할 수 있다. 일부 실시예에서, 변환(2612)은 해싱 알고리즘과 암호화 방법의 조합을 포함할 수 있다. 제1 장치(2650)는 정보를 제1 서버(2625)로 전송하도록 구성될 수 있다. 일부 실시예에서, 제1 장치(2650)의 송신기/수신기(2631)는 제1 마스크 된 클라이언트 키(2667), 제2 마스크 된 클라이언트 키(2668), 마스크 된 비밀 키(2662), 마스크 된 솔트(2663), 마스크 된 IV 제1 파트(2664) 및 마스크 된 IN 제1 파트(2665)의 임의의 조합을 제1 서버(2625)로. 전송할 수 있다. 일부 실시예에서, 제1 장치(2650)는 제1 장치(2650)의 시각적 디스플레이(2669) 상에 IV 제2 파트(2659) 및 IN 제2 파트(2661) 각각을 디스플레이 할 수 있다. 특정 실시예에서, 반복 번호(2657)는 전체적으로 제1 장치(2650)의 시각적 디스플레이(2669) 상에 디스플레이 될 수 있다.The processing generator 2646 of the first device 2650 may generate a client key 2666. The client key 2666 may contain one or more character strings of any length and the characters may contain any combination of letters, numbers, or symbols. According to some embodiments, the client key 2666 may be converted to the first masked client key 2667 by the data converter 2645 (2612). In another embodiment, the client key 2667 may be converted to a second masked client key 2668 by the data converter 2645 (2612). In another embodiment, the client key 2666 may be converted by the data converter 2645 into a first masked client key 2667 and a second masked client key 2668 respectively (2612). Transform 2612 may include using a hashing algorithm. Further, the conversion 2612 may include using an encryption method. In some embodiments, transform 2612 may include a combination of a hashing algorithm and an encryption method. The first device 2650 may be configured to transmit information to the first server 2625. In some embodiments, the transmitter/receiver 2631 of the first device 2650 includes a first masked client key 2667, a second masked client key 2668, a masked secret key 2662, and a masked salt. (2663), any combination of masked IV first part 2664 and masked IN first part 2665 to first server 2625. Can be transmitted. In some embodiments, the first device 2650 may display each of the IV second part 2659 and the IN second part 2661 on the visual display 2669 of the first device 2650. In certain embodiments, the iteration number 2657 may be displayed entirely on the visual display 2669 of the first device 2650.

이제 도 27을 참조하면, 하나 이상의 키를 생성하는 단계는 제1 장치(2750)로부터 정보를 수신하는 제1 서버(2725)를 포함할 수 있다. 일부 실시예에서, 제1 서버(2725)의 송신기/수신기(2741)는 마스크 된 비밀 키(2716), 제2 마스크 된 클라이언트 키(2768), 마스크 된 솔트(2763), 마스크 된 IV 제1 파트(2764), 마스크 된 제1 파트(2765) 및 제1 장치(2750)로부터 제1의 마스크 된 클라이언트 키(2767)의 임의의 조합을 수신할 수 있다. 일부 실시예에서, 제1 서버(2725)의 프로세싱 마이그레이터(2722)는 마스크 된 비밀 키(2728), 제2 마스크 된 클라이언트 키(2768), 마스크 된 솔트(2763), 마스크 된 IV 제1 파트(2764), 마스크 된 제1 파트(2765) 및 제1 서버(2725)의 데이터 베이스(2729)에서 제1 장치(2750)로부터 수신된 제1 마스크 된 클라이언트 키(2767) 중 하나 이상을 저장할 수 있다. 특정 실시예에 따르면, 제1 서버(2725)의 프로세싱 마이그레이터(2722)는 제1 마스크 된 클라이언트 키(2767)를 제1 서버(2729)의 데이터 베이스(2729)에 저장할 수 있다.Referring now to FIG. 27, generating one or more keys may include a first server 2725 receiving information from a first device 2750. In some embodiments, the transmitter/receiver 2741 of the first server 2725 is a masked secret key 2716, a second masked client key 2768, a masked salt 2763, a masked IV first part. Any combination of a first masked client key 2767 may be received from the first device 2750 and the masked first part 2765. In some embodiments, the processing migrator 2722 of the first server 2725 includes a masked secret key 2728, a second masked client key 2768, a masked salt 2763, a masked IV first part ( 2764), the masked first part 2765, and the database 2729 of the first server 2725 may store one or more of the first masked client key 2767 received from the first device 2750 . According to a specific embodiment, the processing migrator 2722 of the first server 2725 may store the first masked client key 2767 in the database 2729 of the first server 2729.

제1 서버(2725)는 인터넷 애플리케이션(2790)으로 정보를 전송하도록 구성될 수 있다. 일부 실시예에서, 제1 서버(2725)의 송신기/수신기(2741)는 마스크 된 비밀 키(2716), 제2 마스크 된 클라이언트 키(2768), 마스크 된 솔트(2763), 마스크 된 IV 제1 파트(2764), 마스크 된 IN 제1 파트(2765) 및 제1 마스크 된 클라이언트 키(2767)의 임의의 조합을 제1 서버(2725)로 전송할 수 있다. 특정 실시예에서, 제1 서버(2725)의 송신기/수신기(2741)는 마스크 된 비밀 키(2716), 제2 마스크 된 클라이언트 키(2768), 마스크 된 솔트(2763), 마스크 된 IV 제1 파트(2764) 및 마스크 된 IN 제1 파트(2765)을 제1 서버(2725)로 전송할 수 있다. 다른 실시예에서, 제1 서버(2725)의 송신기/수신기(2741)는 마스크 된 비밀 키(2716), 제2 마스크 된 클라이언트 키(2768), 마스크 된 솔트(2763) 및 마스크 된 IV 제1 파트(2764)의 임의의 조합을 인터넷 애플리케이션(2790)으로 전송할 수 있다(이 시점부터 총괄하여 "수신된 데이터(received data)(2728)"라고 함).The first server 2725 may be configured to transmit information to the Internet application 2790. In some embodiments, the transmitter/receiver 2741 of the first server 2725 is a masked secret key 2716, a second masked client key 2768, a masked salt 2763, a masked IV first part. An arbitrary combination of the masked IN first part 2765 and the first masked client key 2767 may be transmitted to the first server 2725. In a specific embodiment, the transmitter/receiver 2741 of the first server 2725 is a masked secret key 2716, a second masked client key 2768, a masked salt 2763, a masked IV first part. (2764) and the masked IN first part 2765 may be transmitted to the first server 2725. In another embodiment, the transmitter/receiver 2741 of the first server 2725 includes a masked secret key 2716, a second masked client key 2768, a masked salt 2764, and a masked IV first part. Any combination of 2764 may be transmitted to the Internet application 2790 (collectively from this point on, referred to as "received data 2728").

도 28에 도시된 바와 같이, 하나 이상의 키를 생성하는 단계(2800)는 제1 서버(2825)로부터 수신된 데이터(2828)를 수신하는 인터넷 애플리케이션(2890)의 송신기/수신기(2841)를 포함할 수 있다. 제1 장치(2850)는 IV 제2 파트(2659) 및 IN 제2 파트(2661)(도 26 참조)을 포함할 수 있는 사용자 입력(2869)을 포함할 수 있으며, 이들은 각각 문자열을 포함할 수 있다. 사용자 입력(2869)은 IV 제1 파트 및 반복 번호를 포함할 수 있다. 일부 실시예에서, 사용자 입력(2869)은 제1 장치(2850)의 그래픽 디스플레이(2869)에 표시될 수 있다. 하나 이상의 키를 생성하는 것은 인터넷 애플리케이션(2890)에 입력되는 사용자 입력(2869)을 포함할 수 있다. 인터넷 애플리케이션(2890)의 데이터 변환기(2844)는 수신된 데이터(2828)를 비밀 키(2854), IN 제1 파트(2860), 솔트(2855), IV 제1 파트(2858) 및 클라이언트 키(2866) 중 하나 이상으로 변환할 수 있다(2812). 변환(2812)은 해싱 알고리즘을 사용하는 것을 포함할 수 있다. 또한, 변환(2812)은 암호화 방법을 사용하는 것을 포함할 수 있다. 변환은 해독 방법을 사용하는 것을 포함할 수 있다. 일부 실시예에서, 변환(2812)은 해싱 알고리즘, 암호화 방법 또는 복호화 방법의 임의의 조합을 포함할 수 있다. 일부 실시예에 따르면, 인터넷 애플리케이션(2890)의 데이터 변환기(2844)는 사용자 입력(2886) 및 수신된 데이터(2828)를 모두 사용하여 2812 수신된 데이터(2828)를 비밀 키(2854), IN 제1 파트(2860), 소금(2855), IV 제1 파트(2858) 및 클라이언트 키(2866) 중 하나 이상으로 변환할 수 있다. 프로세싱 마이그레이터(2842)는 인터넷 애플리케이션(2890)의 스토리지(2891)에 클라이언트 키(2866)를 저장할 수 있다. 인터넷 애플리케이션(2890)의 데이터 변환기(2845)는 클라이언트 키(2866)를 제3 마스크 된 클라이언트 키(2892)로 변환할 수 있다(2812). 일부 실시예에서, 제3 마스크 된 클라이언트 키(2892)는 프로세싱 마이그레이터(2842)에 의해 인터넷 애플리케이션(2890)의 송신기/수신기(2841)로 마이그레이션 될 수 있다. 인터넷 애플리케이션(2890)의 송신기/수신기(2841)는 제3 마스크 된 클라이언트 키(2892)를 제1 서버(2815)로 전송할 수 있다.As shown in Figure 28, the step of generating one or more keys 2800 may include a transmitter/receiver 2841 of an Internet application 2890 receiving data 2828 received from a first server 2825. I can. The first device 2850 may include a user input 2869, which may include an IV second part 2659 and an IN second part 2661 (see FIG. 26), each of which may contain a string. have. The user input 2869 may include an IV first part and a repetition number. In some embodiments, the user input 2869 may be displayed on the graphic display 2869 of the first device 2850. Generating one or more keys may include user input 2869 entered into internet application 2890. The data converter 2844 of the Internet application 2890 converts the received data 2828 into a secret key 2854, IN first part 2860, salt 2855, IV first part 2858 and client key 2866. ) Can be converted to one or more of (2812). Transformation 2812 may include using a hashing algorithm. Further, the conversion 2812 may include using an encryption method. Transformation may involve using a decryption method. In some embodiments, transform 2812 may include any combination of hashing algorithms, encryption methods, or decryption methods. According to some embodiments, the data converter 2844 of the Internet application 2890 uses both the user input 2886 and the received data 2828 to convert the 2812 received data 2828 into the secret key 2854 and IN. One or more of 1 part 2860, salt 2855, IV first part 2858, and client key 2866 can be converted. The processing migrater 2842 may store the client key 2866 in the storage 2891 of the Internet application 2890. The data converter 2845 of the Internet application 2890 may convert the client key 2866 into a third masked client key 2892 (2812). In some embodiments, the third masked client key 2892 may be migrated to the sender/receiver 2841 of the Internet application 2890 by the processing migrater 2842. The transmitter/receiver 2841 of the Internet application 2890 may transmit the third masked client key 2892 to the first server 2815.

웹 인증 방법은 웹 세션을 확립하는 단계를 포함할 수 있다. 도 29에 도시된 바와 같이, 제1 서버(2925)의 송신기/수신기(2941)는 인터넷 애플리케이션(2990)으로부터 제3 마스크 된 클라이언트 키(2998)를 수신할 수 있다. 일부 실시예에 따르면, 제1 서버(2725)의 프로세싱 마이그레이터(2928)는 제1 서버(2725)의 데이터 베이스(2913)로부터 저장된 제1 마스크 된 클라이언트 키(2929)를 검색할 수 있다. 프로세싱 검증기(2947)는 검색된 제1 마스크 된 클라이언트 키(2918)를 인터넷 애플리케이션(2990)으로부터 수신된 제3 마스크 된 클라이언트 키(2998)와 비교할 수 있다. 프로세싱 생성기(2946)는 제1 마스크 된 클라이언트 키(2918) 및 제3 마스크 된 클라이언트 키(2998)의 신원에 기초하여 결과(2930)를 생성할 수 있다. 제1 서버(2925)의 송수신기(2941)는 결과(2930)를 제2 서버(2980)로 전송할 수 있다. 제2 서버(2980)의 송신기/수신기(2941)는 제1 서버(2925)로부터 결과(2930)를 수신하고 웹 토큰(web token)(2931)을 생성할 수 있다. 웹 토큰(2931)은 프로세싱 생성기(2946)에 의해 생성될 수 있다. 일부 실시예에서, 웹 토큰(2931)은 웹 세션의 확립을 승인하기 위해 당 업계에 알려진 임의의 수단 일 수 있다. 제2 서버(2980)는 생성된 웹 토큰(2931)을 제1 서버(2815)로 전송할 수 있다. 제1 서버(2915)의 송신기/수신기(2941)는 제2 서버(2980)로부터 웹 토큰(2931)을 수신하고 인터넷 애플리케이션(2990)으로 수신된 웹 토큰(2931)을 전송할 수 있다. 인터넷 애플리케이션(2990)의 송신기/수신기(2941)는 제1 서버(2825)로부터 웹 토큰(2931)을 수신할 수 있다. 일부 실시예에서, 인터넷 애플리케이션은 수신된 웹 토큰을 제2 서버로 전송할 수 있다. 제2 서버는 웹 브라우저로부터 웹 토큰을 수신하고 웹 세션을 설정할 수 있다. 또한, 제2 서버는 정보를 제1 서버로 전송하도록 구성될 수 있다. 일부 실시예에서, 제2 서버는 인터넷 애플리케이션으로부터 웹 토큰의 수신에 관한 정보를 전송할 수 있다. 인터넷 애플리케이션으로부터 웹 토큰을 수신하는 것에 관한 정보는 인터넷 애플리케이션에 관한 임의의 정보, 인터넷 애플리케이션 사용자에 대한 정보, 웹 세션 액세스에 대한 정보, 본 명세서에 기술된 시스템의 임의의 구성 요소에 관한 공간 및/또는 시간 정보를 포함할 수 있지만 이에 제한되는 것은 아니다. 제1 서버는 제2 서버로부터 웹 토큰의 수신에 관한 정보를 수신할 수 있다. 일부 실시예에서, 제1 서버는 웹 토큰의 수신에 관한 정보를 포함하지만 이에 제한되지 않는 제1 장치에 정보를 전송하도록 구성될 수 있다. 당업자는 여기에 설명된 실시예의 다른 변형이 또한 본 발명의 범위를 벗어나지 않고 실시될 수 있다는 것을 이해할 것이다. 그러므로 다른 수정이 가능하다.The web authentication method may include establishing a web session. As shown in FIG. 29, the transmitter/receiver 2941 of the first server 2925 may receive a third masked client key 2998 from the Internet application 2990. According to some embodiments, the processing migrator 2928 of the first server 2725 may retrieve the stored first masked client key 2929 from the database 2913 of the first server 2725. The processing verifier 2947 may compare the retrieved first masked client key 2918 with the third masked client key 2990 received from the internet application 2990. The processing generator 2946 can generate a result 2930 based on the identities of the first masked client key 2918 and the third masked client key 2998. The transceiver 2941 of the first server 2925 may transmit the result 2930 to the second server 2980. The transmitter/receiver 2941 of the second server 2980 may receive the result 2930 from the first server 2925 and generate a web token 2991. Web token 2931 may be generated by processing generator 2946. In some embodiments, the web token 2931 may be any means known in the art to authorize the establishment of a web session. The second server 2980 may transmit the generated web token 2931 to the first server 2815. The transmitter/receiver 2941 of the first server 2915 may receive the web token 2991 from the second server 2980 and transmit the received web token 2991 to the internet application 2990. The transmitter/receiver 2941 of the Internet application 2990 may receive the web token 2991 from the first server 2825. In some embodiments, the internet application may transmit the received web token to the second server. The second server may receive a web token from a web browser and establish a web session. Also, the second server may be configured to transmit information to the first server. In some embodiments, the second server may transmit information regarding receipt of a web token from an internet application. Information about receiving a web token from an internet application may include any information about the internet application, information about the user of the internet application, information about accessing the web session, space and/or any component of the system described herein. Or, it may include time information, but is not limited thereto. The first server may receive information regarding reception of a web token from the second server. In some embodiments, the first server may be configured to transmit information to the first device including, but not limited to, information regarding the receipt of a web token. Those skilled in the art will understand that other variations of the embodiments described herein may also be practiced without departing from the scope of the invention. Therefore, other modifications are possible.

Claims (20)

신원을 인증하기 위해 키를 생성, 분배 및 저장하는 방법에 있어서,
하나 이상의 서버에서, 제1 피어로부터 등록 요청을 수신하는 단계;
상기 등록 요청의 수신에 응답하여, 상기 하나 이상의 서버로부터 상기 제1 피어에게 등록 데이터를 전송하는 단계 - 상기 등록 데이터는 적어도 클라이언트 등록 코드를 포함함 -;
상기 하나 이상의 서버에서, 등록 키 및 서버 키를 수신하는 단계 - 상기 등록 키 및 상기 서버 키는 상기 제1 피어에 의해 생성됨 -;
상기 하나 이상의 서버에서, 적어도 하나의 발신자 코드, 적어도 하나의 수신자 코드, 적어도 하나의 분배 코드 및 피어 리스트를 생성하는 단계 - 상기 피어 리스트는 상기 적어도 하나의 수신자 코드 및 상기 적어도 하나의 분배 코드를 포함함 -;
적어도 하나의 분배 키를 생성하는 단계 - 상기 적어도 하나의 분배 키는 적어도 하나의 수신자 코드, 상기 서버 키 및 적어도 하나의 발신자 코드에 기초함 -;
하나 이상의 서버와 연관된 하나 이상의 데이터 베이스에서, 상기 등록 키, 상기 적어도 하나의 분배 키 및 상기 피어 리스트를 저장하는 단계;
상기 하나 이상의 서버로부터, 상기 적어도 하나의 분배 키 및 상기 적어도 하나의 분배 코드를 적어도 하나의 제2 피어로 전송하는 단계;
상기 하나 이상의 서버에서, 상기 적어도 하나의 제2 피어로부터 상기 적어도 하나의 분배 코드 및 보관 키를 수신하는 단계; 및
상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스에 상기 피어 리스트에서, 상기 적어도 하나의 분배 코드 및 상기 적어도 하나의 제2 피어로부터 수신된 상기 보관 키를 저장하는 단계
를 포함하는
방법.
In a method of generating, distributing and storing a key to authenticate an identity,
At one or more servers, receiving a registration request from a first peer;
In response to receiving the registration request, transmitting registration data from the one or more servers to the first peer, the registration data including at least a client registration code;
Receiving, at the one or more servers, a registration key and a server key, the registration key and the server key being generated by the first peer;
Generating at least one sender code, at least one receiver code, at least one distribution code, and a peer list in the at least one server-the peer list includes the at least one receiver code and the at least one distribution code Ham -;
Generating at least one distribution key, the at least one distribution key being based on at least one recipient code, the server key and at least one sender code;
Storing the registration key, the at least one distribution key and the peer list in one or more databases associated with one or more servers;
Transmitting, from the one or more servers, the at least one distribution key and the at least one distribution code to at least one second peer;
Receiving, at the one or more servers, the at least one distribution code and storage key from the at least one second peer; And
Storing the at least one distribution code and the storage key received from the at least one second peer in the peer list in the at least one database associated with the at least one server
Including
Way.
제1항에 있어서,
상기 제1 피어는:
상기 하나 이상의 서버로부터 상기 등록 데이터를 수신하는 단계;
사용자 입력을 수신하는 단계 - 상기 사용자 입력은 두 개 이상의 선택 코드를 포함함 -;
상기 두 개 이상의 선택 코드를 적어도 제1 그룹의 선택 코드 및 제2 그룹의 선택 코드로 분리하는 단계;
상기 제1 그룹의 선택 코드로부터 클라이언트 키를 생성하는 단계;
상기 제2 그룹의 선택 코드로부터 상기 서버 키를 생성하는 단계;
상기 클라이언트 키로부터, 적어도 클라이언트 키 제1 파트 및 클라이언트 키 제2 파트를 생성하는 단계;
상기 서버 키로부터, 적어도 서버 키 제1 파트 및 서버 키 제2 파트를 생성하는 단계;
상기 등록 키를 생성하는 단계 - 상기 등록 키는 상기 클라이언트 키, 상기 서버 키 및 상기 클라이언트 등록 코드에 기초함 -;
상기 제1 피어의 메모리에, 상기 클라이언트 키 및 상기 클라이언트 등록 코드를 저장하고; 및
적어도 하나의 상기 등록 키 및 상기 서버 키를 상기 하나 이상의 서버로 전송하는 단계
를 포함하는
방법.
The method of claim 1,
The first peer is:
Receiving the registration data from the one or more servers;
Receiving a user input, the user input including two or more selection codes;
Separating the two or more selection codes into at least a selection code of a first group and a selection code of a second group;
Generating a client key from the selection code of the first group;
Generating the server key from the selection code of the second group;
Generating at least a client key first part and a client key second part from the client key;
Generating at least a server key first part and a server key second part from the server key;
Generating the registration key, wherein the registration key is based on the client key, the server key and the client registration code;
Storing the client key and the client registration code in a memory of the first peer; And
Transmitting at least one registration key and the server key to the one or more servers
Including
Way.
제1항에 있어서,
상기 등록 데이터는 상기 클라이언트 등록 코드 및 선택 객체 그룹
을 포함하는
방법.
The method of claim 1,
The registration data is the client registration code and the selection object group
Containing
Way.
제2항에 있어서,
상기 사용자 입력은 생체 데이터, 공간 데이터 및 시간 데이터 중 하나 이상
을 포함하는
방법.
The method of claim 2,
The user input is at least one of biometric data, spatial data, and temporal data.
Containing
Way.
제2항에 있어서,
상기 제1 그룹의 선택 코드로부터 상기 클라이언트 키를 생성하는 단계는:
상기 제1 그룹의 선택 코드를 포함하는 개별 선택 코드를 변환된 선택 코드의 그룹으로 변환하는 단계;
상기 변환된 선택 코드 그룹을 포함하는 각각의 개별 변환된 선택 코드를 클라이언트 프리 키를 포함하는 하나 이상의 문자열로 연관시키는 단계; 및
상기 클라이언트 프리 키를 상기 클라이언트 키로 변환시키는 단계
를 포함하는
방법 
The method of claim 2,
Generating the client key from the selection code of the first group comprises:
Converting individual selection codes including the selection codes of the first group into groups of converted selection codes;
Associating each individual converted selection code including the converted selection code group with one or more character strings including a client-free key; And
Converting the client free key into the client key
Including
Way
제2항에 있어서,
상기 제2 그룹의 선택 코드로부터 상기 서버 키를 생성하는 단계는:
상기 제2 그룹의 선택 코드를 포함하는 개별 선택 코드를 변환된 선택 코드의 그룹으로 변환하는 단계;
상기 변환된 선택 코드 그룹을 포함하는 각각의 개별 변환된 선택 코드를 서버 프리 키를 포함하는 하나 이상의 문자열로 연관시키는 단계; 및
상기 서버 프리 키를 상기 서버 키로 변환하는 단계
를 포함하는
장치.
The method of claim 2,
Generating the server key from the selection code of the second group comprises:
Converting individual selection codes including the selection codes of the second group into groups of converted selection codes;
Associating each individual converted selection code including the converted selection code group with one or more character strings including a server-free key; And
Converting the server-free key into the server key
Including
Device.
제2항에 있어서,
상기 등록 키를 생성하는 단계는:
제1 프리 키를 포함하는 하나 이상의 문자열을 생성하기 위하여 상기 클라이언트 키 제1 파트 및 상기 클라이언트 키 제2 파트 중 적어도 하나와 상기 서버 키 제1 파트 및 상기 서버 키 제2 파트 중 적어도 하나를 연관시키는 단계;
상기 제1 프리 키를 제2 프리 키로 변환하는 단계;
상기 등록 프리 키를 포함하는 하나 이상의 문자열을 생성하기 위하여 상기 제2 프리 키와 상기 클라이언트 등록 코드를 연관시키는 단계; 및
상기 등록 프리 키를 상기 등록 키로 변환하는 단계
를 포함하는
방법.
The method of claim 2,
Generating the registration key includes:
Associating at least one of the first part of the client key and the second part of the client key with at least one of the first part of the server key and the second part of the server key to generate one or more strings including a first free key step;
Converting the first free key into a second free key;
Associating the second free key with the client registration code to generate one or more strings including the registration free key; And
Converting the registration free key into the registration key
Including
Way.
제1항에 있어서,
상기 적어도 하나의 제2 피어로부터 상기 적어도 하나의 분배 코드 및 상기 보관 키를 수신하는 단계는 상기 적어도 하나의 제2 피어를 더 포함하며,
상기 적어도 하나의 제2 피어는:
하나 이상의 서버로부터, 적어도 하나의 분배 코드 및 적어도 하나의 분배 키를 수신하는 단계;
보관 코드 및 상기 보관 키를 생성하는 단계 - 상기 보관 키는 상기 보관 코드 및 적어도 하나의 분배 키에 기초함 -;
상기 적어도 하나의 제2 피어의 메모리에서, 상기 적어도 하나의 분배 키, 상기 보관 키 및 상기 적어도 하나의 분배 코드를 저장하는 단계; 및
상기 보관 키 및 상기 적어도 하나의 분배 코드를 상기 하나 이상의 서버로 전송하는 단계로 구성되는
방법.
The method of claim 1,
Receiving the at least one distribution code and the storage key from the at least one second peer further comprises the at least one second peer,
The at least one second peer is:
Receiving, from one or more servers, at least one distribution code and at least one distribution key;
Generating a storage code and the storage key, the storage key being based on the storage code and at least one distribution key;
Storing the at least one distribution key, the storage key and the at least one distribution code in a memory of the at least one second peer; And
And transmitting the storage key and the at least one distribution code to the one or more servers.
Way.
제8항에 있어서,
상기 보관 키를 생성하는 단계는:
상기 적어도 하나의 분배 키 및 상기 보관 코드를 보관 프리 키를 포함하는 하나 이상의 문자열로 연관시키는 단계; 및
상기 보관 프리 키를 상기 보관 키로 변환하는 단계
를 포함하는
방법.
The method of claim 8,
Generating the storage key comprises:
Associating the at least one distribution key and the storage code with at least one character string including a storage free key; And
Converting the storage free key into the storage key
Including
Way.
제1항에 있어서,
상기 적어도 하나의 분배 키를 생성하는 단계는:
하나 이상의 서버 키, 등록 키, 적어도 하나의 발신자 코드 및 적어도 하나의 수신자 코드를 적어도 하나의 분배 프리 키를 포함하는 하나 이상의 문자열로 연관시키는 단계; 및
상기 적어도 하나의 분배 프리 키를 상기 적어도 하나의 분배 키로 변환하는 단계
를 포함하는
방법.
The method of claim 1,
Generating the at least one distribution key comprises:
Associating one or more server keys, registration keys, at least one sender code, and at least one recipient code into one or more character strings including at least one distribution-free key; And
Converting the at least one distribution free key into the at least one distribution key
Including
Way.
키를 사용하여 신원을 인증하는 방법에 있어서,
상기 방법은:
하나 이상의 서버에서, 제1 피어로부터 로그인 요청을 수신하는 단계;
하나 이상의 서버에서 로그인 솔트를 생성하는 단계;
상기 로그인 솔트를 상기 하나 이상의 서버와 연관된 하나 이상의 데이터 베이스에 저장하는 단계;
상기 하나 이상의 서버로부터 상기 제1 피어로 로그인 데이터를 전송하는 단계 - 상기 로그인 데이터는 적어도 하나의 상기 로그인 솔트를 포함함 -;
하나 이상의 서버에서, 상기 제1 피어로부터 로그인 키 및 서버 키를 수신하는 단계;
상기 하나 이상의 서버와 연관된 하나 이상의 데이터 베이스로부터, 저장된 등록 키, 상기 로그인 솔트, 수신자 코드 및 분배 코드를 검색하는 단계;
상기 하나 이상의 서버에서, 비교 로그인 키를 생성하는 단계 - 상기 비교 로그인 키는 상기 저장된 등록 키 및 상기 로그인 솔트에 기초함 -;
상기 하나 이상의 서버에서, 상기 제1 피어로부터 수신된 상기 비교 로그인 키와 상기 로그인 키를 비교하는 단계;
상기 하나 이상의 서버에서, 발신자 코드 및 검증 솔트를 생성하는 단계;
상기 하나 이상의 서버에서, 적어도 하나의 분배 키를 생성하는 단계 - 상기 적어도 하나의 분배 키는 상기 제1 피어, 상기 발신자 코드 및 상기 수신자 코드로부터 수신된 적어도 서버 키에 기초함 -;
상기 하나 이상의 서버에서, 적어도 하나의 검증 키를 생성하는 단계 - 상기 적어도 하나의 검증 키는 상기 서버 키, 상기 저장된 등록 키, 상기 발신자 코드, 상기 수신자 코드 및 상기 검증 솔트 중 하나 이상에 기초함 -;
피어 리스트에서, 상기 적어도 하나의 검증 키 및 상기 검증 솔트를 저장하는 단계;
상기 하나 이상의 서버로부터 적어도 하나의 제2 피어까지, 상기 적어도 하나의 검증 키, 상기 검증 솔트 및 상기 분배 코드를 전송하는 단계;
상기 하나 이상의 서버에서, 상기 적어도 하나의 제2 피어로부터 상기 분배 코드 및 확인 키를 수신하는 단계;
상기 적어도 하나의 제2 피어로부터 수신된 상기 분배 코드를 상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스에 저장된 분배 코드와 비교하는 단계;
상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스로부터 저장된 분배 키 및 상기 검증 솔트를 검색하는 단계;
상기 저장된 분배 키 및 상기 검증 솔트에 기초하는 제2 검증 키를 생성하는 단계;
상기 적어도 하나의 제2 피어로부터 수신된 상기 확인 키를 상기 제2 검증 키와 비교하는 단계; 및
인증 결과를 생성하는 단계
를 포함하는
방법.
In the method of authenticating an identity using a key,
The method is:
Receiving, at one or more servers, a login request from a first peer;
Generating a login salt in one or more servers;
Storing the login salt in one or more databases associated with the one or more servers;
Transmitting login data from the at least one server to the first peer, the login data including at least one login salt;
At one or more servers, receiving a login key and a server key from the first peer;
Retrieving, from one or more databases associated with the one or more servers, a stored registration key, the login salt, a recipient code and a distribution code;
Generating, at the one or more servers, a comparison login key, the comparison login key being based on the stored registration key and the login salt;
Comparing, at the one or more servers, the comparison login key and the login key received from the first peer;
Generating, at the one or more servers, a sender code and a verification salt;
Generating, at the one or more servers, at least one distribution key, the at least one distribution key being based on at least a server key received from the first peer, the sender code and the recipient code;
In the one or more servers, generating at least one verification key-the at least one verification key is based on at least one of the server key, the stored registration key, the sender code, the recipient code, and the verification salt- ;
Storing the at least one verification key and the verification salt in a peer list;
Transmitting the at least one verification key, the verification salt and the distribution code from the one or more servers to at least one second peer;
Receiving, at the one or more servers, the distribution code and confirmation key from the at least one second peer;
Comparing the distribution code received from the at least one second peer with distribution codes stored in the one or more databases associated with the one or more servers;
Retrieving the stored distribution key and the verification salt from the one or more databases associated with the one or more servers;
Generating a second verification key based on the stored distribution key and the verification salt;
Comparing the verification key received from the at least one second peer with the second verification key; And
Steps to generate authentication results
Including
Way.
제11항에 있어서,
상기 제1 피어는:
상기 하나 이상의 서버로부터 상기 로그인 데이터를 수신하는 단계;
사용자 입력을 수신하는 단계 - 상기 사용자 입력은 두 개 이상의 선택 코드를 포함함 -;
상기 두 개 이상의 선택 코드를 제1 그룹의 선택 코드 및 제2 그룹의 선택 코드로 분리하는 단계;
상기 제1 그룹의 선택 코드로부터 클라이언트 키를 생성하는 단계;
상기 제2 그룹의 선택 코드로부터 상기 서버 키를 생성하는 단계;
상기 클라이언트 키로부터, 적어도 클라이언트 키 제1 파트 및 클라이언트 키 제2 파트를 생성하는 단계;
상기 서버 키로부터, 적어도 서버 키 제1 파트 및 서버 키 제2 파트를 생성하는 단계;
상기 제1 피어의 메모리로부터, 저장된 클라이언트 등록 코드를 검색하는 단계;
등록 키를 생성하는 단계 - 상기 등록 키는 상기 클라이언트 키, 상기 서버 키 및 상기 클라이언트 등록 코드에 기초함 -;
등록 키에 기초한 상기 로그인 키를 생성하는 단계;
상기 제1 피어의 메모리에서, 상기 클라이언트 키를 저장하는 단계; 및
적어도 상기 로그인 키 및 상기 서버 키를 상기 하나 이상의 서버로 전송하는 단계
를 포함하는
방법.
The method of claim 11,
The first peer is:
Receiving the login data from the one or more servers;
Receiving a user input, the user input including two or more selection codes;
Separating the two or more selection codes into a selection code of a first group and a selection code of a second group;
Generating a client key from the selection code of the first group;
Generating the server key from the selection code of the second group;
Generating at least a client key first part and a client key second part from the client key;
Generating at least a server key first part and a server key second part from the server key;
Retrieving a stored client registration code from the memory of the first peer;
Generating a registration key, the registration key being based on the client key, the server key and the client registration code;
Generating the login key based on the registration key;
Storing the client key in a memory of the first peer; And
Transmitting at least the login key and the server key to the one or more servers
Including
Way.
제11항에 있어서,
상기 로그인 데이터는 상기 로그인 솔트 및 선택 객체 그룹
을 포함하는
방법.
The method of claim 11,
The login data is the login salt and selected object group
Containing
Way.
제12항에 있어서,
상기 사용자 입력은 생체 데이터, 공간 데이터 및 시간 데이터 중 적어도 하나를 포함하는
방법.
The method of claim 12,
The user input includes at least one of biometric data, spatial data, and temporal data.
Way.
제1항 내지 제14항 중 어느 한 항에 있어서,
상기 적어도 하나의 제2 피어는:
상기 하나 이상의 서버로부터, 상기 분배 코드, 상기 적어도 하나의 검증 키 및 상기 검증 솔트를 수신하는 단계;
상기 하나 이상의 서버로부터 수신된 분배 코드를 상기 적어도 하나의 제2 피어의 메모리에 저장된 분배 코드와 비교하는 단계;
상기 적어도 하나의 제2 피어의 메모리로부터, 저장된 분배 키를 검색하는 단계;
상기 확인 키를 생성하는 단계 - 상기 확인 키는 상기 저장된 분배 키 및 상기 검증 솔트에 기초한 상기 확인 키를 생성하는 단계; 및
상기 분배 코드 및 상기 확인 키를 상기 하나 이상의 서버로 전송하는 단계
를 포함하는
방법.
The method according to any one of claims 1 to 14,
The at least one second peer is:
Receiving the distribution code, the at least one verification key, and the verification salt from the one or more servers;
Comparing the distribution codes received from the one or more servers with distribution codes stored in the memory of the at least one second peer;
Retrieving a stored distribution key from the memory of the at least one second peer;
Generating the verification key, the verification key generating the verification key based on the stored distribution key and the verification salt; And
Transmitting the distribution code and the confirmation key to the one or more servers
Including
Way.
웹 토큰을 생성하는 방법에 있어서,
상기 방법은:
제1 하나 이상의 서버에서, 로그인 요청 및 제1 공개 키를 수신하는 단계;
상기 로그인 요청에 응답하여, 상기 제1 하나 이상의 서버로부터 인터넷 애플리케이션까지, 판독 가능한 표시를 전송하는 단계 - 상기 판독 가능한 표시는 랜덤 키 및 상기 제1 공개 키에 기초하며, 상기 인터넷 애플리케이션은:
상기 제1 하나 이상의 서버로부터 상기 판독 가능한 표시를 수신하고;
상기 판독 가능한 표시가 제1 장치에 의해 판독 가능하도록 판독 가능한 표시를 디스플레이 하고, 상기 제1 장치는:
상기 제1 장치에서, 클라이언트 키를 생성하고;
상기 클라이언트 키를 제1 마스크 된 클라이언트 키 및 상기 제2 마스크 된 클라이언트 키로 변환하고; 및
상기 제1 마스크 된 클라이언트 키 및 상기 제2 마스크 된 클라이언트 키를 상기 제1 하나 이상의 서버로 전송하도록 구성됨 -;
상기 제1 장치로부터, 상기 제1 마스크 된 클라이언트 키 및 상기 제2 마스크 된 클라이언트 키를 수신하는 단계;
상기 제1 마스크 된 클라이언트 키 및 상기 제2 마스크 된 클라이언트 키 중 적어도 하나를 상기 제1 하나 이상의 서버와 연관된 하나 이상의 데이터 베이스에 저장하는 단계;
상기 제2 마스크 된 클라이언트 키를 인터넷 애플리케이션으로 전송하는 단계 - 상기 인터넷 애플리케이션은:
상기 제1 하나 이상의 서버로부터, 상기 제2 마스크 된 클라이언트 키를 수신하고;
상기 제2 마스크 된 클라이언트 키를 상기 클라이언트 키로 변환하고;
상기 클라이언트 키를 제3 마스크 된 클라이언트 키로 변환하고; 및
상기 인터넷 애플리케이션으로부터 상기 제1 하나 이상의 서버로 상기 제3 마스크 된 클라이언트 키를 전송하도록 구성됨 -;
상기 인터넷 애플리케이션으로부터 상기 제3 마스크 된 클라이언트 키를 수신하는 단계;
상기 제1 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스에 저장된 상기 제1 마스크 된 클라이언트 키 및 제2 마스크 된 클라이언트 키 중 적어도 하나를 검색하는 단계;
상기 제3 마스크 된 클라이언트 키를 상기 제1 마스크 된 클라이언트 키 및 상기 제2 마스크 된 클라이언트 키 중 적어도 하나와 비교하는 단계;
상기 제1 하나 이상의 서버에서, 결과를 생성하는 단계; 및
상기 제1 하나 이상의 서버로부터 하나 이상의 제2 서버까지, 결과를 전송하는 단계 - 상기 하나 이상의 제2 서버는:
상기 제1 하나 이상의 서버로부터 결과를 수신하고;
상기 하나 이상의 제2 서버에서, 웹 토큰을 생성하도록 구성됨 -;
를 포함하는
방법.
In the method of generating a web token,
The method is:
Receiving, at a first one or more servers, a login request and a first public key;
In response to the login request, transmitting, from the first one or more servers to an internet application, a readable indication, the readable indication being based on a random key and the first public key, the internet application being:
Receive the readable indication from the first one or more servers;
Display a readable indication such that the readable indication is readable by a first device, the first device:
At the first device, generate a client key;
Converting the client key into a first masked client key and the second masked client key; And
Configured to transmit the first masked client key and the second masked client key to the first one or more servers;
Receiving the first masked client key and the second masked client key from the first device;
Storing at least one of the first masked client key and the second masked client key in one or more databases associated with the first one or more servers;
Transmitting the second masked client key to an internet application-the internet application:
Receive, from the first one or more servers, the second masked client key;
Converting the second masked client key into the client key;
Convert the client key to a third masked client key; And
Configured to transmit the third masked client key from the internet application to the first one or more servers;
Receiving the third masked client key from the internet application;
Retrieving at least one of the first masked client key and the second masked client key stored in the one or more databases associated with the first one or more servers;
Comparing the third masked client key with at least one of the first masked client key and the second masked client key;
Generating a result, at the first one or more servers; And
Transmitting results from the first one or more servers to one or more second servers, wherein the one or more second servers:
Receive results from the first one or more servers;
In the at least one second server, configured to generate a web token;
Including
Way.
제16항에 있어서,
상기 제1 장치는:
상기 제1 장치에서, 초기 벡터 실행을 생성하는 단계 - 상기 초기 벡터(IV)는 IV 제1 파트 및 IV 제2 파트를 포함함 -;
상기 제1 장치에서, 반복 번호를 생성하는 단계;
상기 IV 제1 파트로부터 마스크 된 IV 제1 파트를 생성하는 단계;
사용자에 의해 관찰될 수 있는 방식으로 상기 제1 장치의 시각적 디스플레이에서 상기 IV 제2 파트 및 상기 반복 번호를 디스플레이 하는 단계; 및
상기 마스크 된 IV 제1 파트를 상기 제1 장치로부터 상기 제1 하나 이상의 서버로 전송하는 단계
로 더 구성되는
방법.
The method of claim 16,
The first device:
In the first apparatus, generating an initial vector execution, the initial vector (IV) comprising an IV first part and an IV second part;
In the first device, generating a repetition number;
Creating a masked IV first part from the IV first part;
Displaying the IV second part and the repetition number on a visual display of the first device in a manner that can be observed by a user; And
Transmitting the masked IV first part from the first device to the first one or more servers
Further composed of
Way.
제17항에 있어서,
상기 인터넷 애플리케이션은:
상기 제1 하나 이상의 서버로부터 상기 웹 토큰을 수신하는 단계;
상기 인터넷 애플리케이션으로부터 상기 하나 이상의 제2 서버까지, 상기 웹 토큰을 전송하는 단계 - 상기 하나 이상의 제2 서버는:
상기 인터넷 애플리케이션으로부터 웹 토큰을 수신하고; 및
웹 세션을 시작하도록 구성됨 -;
로 더 구성되는
방법.
The method of claim 17,
The internet application is:
Receiving the web token from the first one or more servers;
Transmitting the web token from the internet application to the at least one second server, the at least one second server:
Receive a web token from the internet application; And
Configured to start a web session -;
Further composed of
Way.
하나 이상의 서버를 포함하는 시스템에 있어서,
상기 하나 이상의 서버는:
서버 명령을 포함하는 적어도 하나의 메모리; 및
상기 서버 명령을 실행하도록 구성된 적어도 하나의 프로세싱 장치
를 포함하며,
상기 서버 명령은 상기 적어도 하나의 프로세싱 장치로 하여금:
상기 하나 이상의 서버에서, 제1 피어로부터 등록 요청을 수신하는 단계;
상기 등록 요청의 수신에 응답하여, 상기 하나 이상의 서버로부터 상기 제1 피어로 등록 데이터를 전송하는 단계 - 상기 등록 데이터는 적어도 클라이언트 등록 코드를 포함함 -;
상기 하나 이상의 서버에서, 등록 키 및 서버 키를 수신하는 단계 - 등록 키 및 서버 키는 상기 제1 피어에 의해 생성됨 -;
상기 하나 이상의 서버에서, 적어도 하나의 발신자 코드, 적어도 하나의 수신자 코드, 적어도 하나의 분배 코드 및 피어 리스트를 생성하는 단계 - 상기 피어 리스트는 상기 적어도 하나의 수신자 코드 및 상기 적어도 하나의 분배 코드를 포함함 -;
적어도 하나의 분배 키를 생성하는 단계 - 상기 적어도 하나의 분배 키는 상기 적어도 하나의 수신자 코드, 상기 서버 키 및 상기 적어도 하나의 발신자 코드에 기초함 -;
상기 하나 이상의 서버와 연관된 하나 이상의 데이터 베이스에서, 상기 등록 키, 상기 적어도 하나의 분배 키 및 피어 리스트를 저장하는 단계;
상기 하나 이상의 서버로부터, 상기 적어도 하나의 분배 키 및 상기 적어도 하나의 분배 코드를 적어도 하나의 제2 피어로 전송하는 단계;
상기 하나 이상의 서버에서, 상기 적어도 하나의 제2 피어로부터 상기 적어도 하나의 분배 코드 및 보관 키를 수신하는 단계; 및
상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스의 상기 피어 리스트에서, 상기 적어도 하나의 분배 코드 및 상기 적어도 하나의 제2 피어로부터 수신된 보관 키를 저장하는 단계
의 동작을 수행하도록 하는
장치.
In a system comprising one or more servers,
The one or more servers are:
At least one memory containing server instructions; And
At least one processing device configured to execute the server command
Including,
The server command causes the at least one processing device to:
At the one or more servers, receiving a registration request from a first peer;
In response to receiving the registration request, transmitting registration data from the one or more servers to the first peer, the registration data including at least a client registration code;
Receiving, at the one or more servers, a registration key and a server key, the registration key and server key being generated by the first peer;
In the one or more servers, generating at least one sender code, at least one receiver code, at least one distribution code, and a peer list-The peer list includes the at least one receiver code and the at least one distribution code Ham -;
Generating at least one distribution key, wherein the at least one distribution key is based on the at least one recipient code, the server key and the at least one sender code;
Storing the registration key, the at least one distribution key, and a peer list in one or more databases associated with the one or more servers;
Transmitting, from the one or more servers, the at least one distribution key and the at least one distribution code to at least one second peer;
Receiving, at the one or more servers, the at least one distribution code and storage key from the at least one second peer; And
Storing, in the peer list of the one or more databases associated with the one or more servers, the at least one distribution code and a storage key received from the at least one second peer
To perform the actions of
Device.
제19항에 있어서,
상기 서버 명령은 또한 적어도 하나의 프로세싱 장치로 하여금:
상기 하나 이상의 서버에서, 상기 제1 피어로부터 로그인 요청을 수신하는 단계;
상기 하나 이상의 서버에서 로그인 솔트를 생성하는 단계;
상기 로그인 솔트를 상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스에 저장하는 단계;
상기 하나 이상의 서버로부터 상기 제1 피어로 로그인 데이터를 전송하는 단계 - 상기 로그인 데이터는 적어도 하나의 상기 로그인 솔트를 포함함 -;
하나 이상의 서버에서, 상기 제1 피어로부터 로그인 키 및 상기 서버 키를 수신하는 단계;
상기 하나 이상의 서버와 연관된 하나 이상의 데이터 베이스로부터, 저장된 등록 키, 상기 로그인 솔트, 상기 수신자 코드 및 상기 분배 코드를 검색하는 단계;
상기 하나 이상의 서버에서, 비교 로그인 키를 생성하는 단계 - 상기 비교 로그인 키는 상기 저장된 등록 키 및 상기 로그인 솔트에 기초함 -;
상기 하나 이상의 서버에서, 상기 제1 피어로부터 수신된 상기 비교 로그인 키와 상기 로그인 키를 비교하는 단계;
상기 하나 이상의 서버에서, 발신자 코드 및 검증 솔트를 생성하는 단계;
상기 하나 이상의 서버에서, 적어도 하나의 분배 키를 생성하는 단계 - 상기 적어도 하나의 분배 키는 상기 제1 피어, 상기 발신자 코드 및 상기 수신자 코드로부터 수신된 적어도 서버 키에 기초함 -;
상기 하나 이상의 서버에서, 적어도 하나의 검증 키를 생성하는 단계 - 상기 적어도 하나의 검증 키는 상기 서버 키, 상기 발신자 코드, 상기 수신자 코드 및 상기 검증 솔트에 기초함 -;
상기 하나 이상의 서버의 피어 리스트에서, 상기 적어도 하나의 검증 키 및 상기 검증 솔트를 저장하는 단계;
상기 하나 이상의 서버로부터 적어도 하나의 제2 피어까지, 상기 적어도 하나의 검증 키, 상기 검증 솔트 및 상기 분배 코드를 전송하는 단계;
상기 하나 이상의 서버에서, 상기 적어도 하나의 제2 피어로부터 상기 분배 코드 및 확인 키를 수신하는 단계;
상기 적어도 하나의 제2 피어로부터 수신된 상기 분배 코드를 상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스에 저장된 분배 코드와 비교하는 단계;
상기 하나 이상의 서버와 연관된 상기 하나 이상의 데이터 베이스로부터 저장된 분배 키 및 상기 검증 솔트를 검색하는 단계;
상기 저장된 분배 키 및 상기 검증 솔트에 기초하는 제2 검증 키를 생성하는 단계;
상기 적어도 하나의 제2 피어로부터 수신된 상기 확인 키를 상기 제2 검증 키와 비교하는 단계; 및
인증 결과를 생성하는 단계
의 동작을 수행하도록 하는
장치.

The method of claim 19,
The server command also causes at least one processing device to:
Receiving, at the one or more servers, a login request from the first peer;
Generating a login salt in the at least one server;
Storing the login salt in the one or more databases associated with the one or more servers;
Transmitting login data from the at least one server to the first peer, the login data including at least one login salt;
At one or more servers, receiving a login key and the server key from the first peer;
Retrieving, from one or more databases associated with the one or more servers, a stored registration key, the login salt, the recipient code and the distribution code;
Generating, at the one or more servers, a comparison login key, the comparison login key being based on the stored registration key and the login salt;
Comparing, at the one or more servers, the comparison login key and the login key received from the first peer;
Generating, at the one or more servers, a sender code and a verification salt;
Generating, at the one or more servers, at least one distribution key, the at least one distribution key being based on at least a server key received from the first peer, the sender code and the recipient code;
Generating, at the one or more servers, at least one verification key, wherein the at least one verification key is based on the server key, the sender code, the recipient code and the verification salt;
Storing the at least one verification key and the verification salt in the peer list of the one or more servers;
Transmitting the at least one verification key, the verification salt and the distribution code from the one or more servers to at least one second peer;
Receiving, at the one or more servers, the distribution code and confirmation key from the at least one second peer;
Comparing the distribution code received from the at least one second peer with distribution codes stored in the one or more databases associated with the one or more servers;
Retrieving the stored distribution key and the verification salt from the one or more databases associated with the one or more servers;
Generating a second verification key based on the stored distribution key and the verification salt;
Comparing the verification key received from the at least one second peer with the second verification key; And
Steps to generate authentication results
To perform the actions of
Device.

KR1020207014292A 2017-10-19 2018-10-19 System and method for key generation and storage for multi-point authentication KR20200107931A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762574285P 2017-10-19 2017-10-19
US62/574,285 2017-10-19
PCT/IB2018/058165 WO2019077581A1 (en) 2017-10-19 2018-10-19 System and method for generating and depositing keys for multi-point authentication

Publications (1)

Publication Number Publication Date
KR20200107931A true KR20200107931A (en) 2020-09-16

Family

ID=66170195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207014292A KR20200107931A (en) 2017-10-19 2018-10-19 System and method for key generation and storage for multi-point authentication

Country Status (11)

Country Link
US (4) US10320564B2 (en)
EP (1) EP3698514B1 (en)
JP (2) JP7448220B2 (en)
KR (1) KR20200107931A (en)
CN (1) CN111630811A (en)
AU (1) AU2018352026A1 (en)
BR (1) BR112020007781A2 (en)
CA (1) CA3079371A1 (en)
MX (1) MX2020003721A (en)
SG (1) SG11202003508SA (en)
WO (1) WO2019077581A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US11329817B2 (en) * 2017-10-19 2022-05-10 Devi Selva Kumar Vijayanarayanan Protecting data using controlled corruption in computer networks
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
KR20200107931A (en) 2017-10-19 2020-09-16 오튼하이브 코퍼레이션 System and method for key generation and storage for multi-point authentication
US10389708B1 (en) * 2019-01-03 2019-08-20 Capital One Services, Llc Secure authentication of a user associated with communication with a service representative
CN110610360B (en) 2019-09-09 2022-03-18 飞天诚信科技股份有限公司 Hardware wallet binding authorization method and device
CN110505242A (en) * 2019-09-11 2019-11-26 密信技术(深圳)有限公司 The management method of internet of things equipment, apparatus and system
CN111355707B (en) * 2020-02-12 2022-06-17 深圳市晨北科技有限公司 Data processing method and related equipment
CN111212095B (en) * 2020-04-20 2020-07-21 国网电子商务有限公司 Authentication method, server, client and system for identity information
WO2021229410A1 (en) * 2020-05-11 2021-11-18 Autnhive Corporation Generating keys using controlled corruption in computer networks
US11856090B2 (en) 2021-06-24 2023-12-26 International Business Machines Corporation Data protection optimization
US11790057B2 (en) 2021-08-17 2023-10-17 Sap Se Controlling program execution using an access key

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3996236B2 (en) * 1997-05-27 2007-10-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing method, server, system, and recording medium storing information processing program
US6230269B1 (en) * 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
EP1410131A2 (en) * 2000-02-22 2004-04-21 Visualgold.com, Inc. Secure distributing services network system and method thereof
US6847995B1 (en) 2000-03-30 2005-01-25 United Devices, Inc. Security architecture for distributed processing systems and associated method
JP4833489B2 (en) * 2000-06-05 2011-12-07 フィーニックス  テクノロジーズ  リミテッド System, method and software for remote password authentication using multiple servers
JP4009420B2 (en) * 2000-06-14 2007-11-14 富士通株式会社 Service providing apparatus and implementation method using information terminal, product purchasing method using information terminal, and information terminal
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
JP2003141020A (en) * 2001-10-31 2003-05-16 Toshiba Tec Corp Information storage and output system, and information storage and output service
JP2003162469A (en) * 2001-11-27 2003-06-06 Toshiba Tec Corp Information archiving input system, information archiving input service and screen display system
US6962530B2 (en) 2002-04-25 2005-11-08 Igt Authentication in a secure computerized gaming system
US7134022B2 (en) * 2002-07-16 2006-11-07 Flyntz Terence T Multi-level and multi-category data labeling system
US7725730B2 (en) 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
JP2004213247A (en) 2002-12-27 2004-07-29 Ando Footaimusu:Kk Public work information providing system
US7480384B2 (en) * 2003-02-10 2009-01-20 International Business Machines Corporation Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
US8214884B2 (en) * 2003-06-27 2012-07-03 Attachmate Corporation Computer-based dynamic secure non-cached delivery of security credentials such as digitally signed certificates or keys
US20060206926A1 (en) * 2005-03-14 2006-09-14 Agfa Inc. Single login systems and methods
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
JP4764103B2 (en) * 2005-08-18 2011-08-31 株式会社東芝 Content data distribution system and information processing apparatus
US20070150744A1 (en) * 2005-12-22 2007-06-28 Cheng Siu L Dual authentications utilizing secure token chains
EP1811421A1 (en) * 2005-12-29 2007-07-25 AXSionics AG Security token and method for authentication of a user with the security token
US7581244B2 (en) * 2006-01-25 2009-08-25 Seiko Epson Corporation IMX session control and authentication
EP1819123B1 (en) * 2006-02-13 2008-05-28 Research In Motion Limited Secure method of termination of service notification
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
US8103247B2 (en) 2006-10-31 2012-01-24 Microsoft Corporation Automated secure pairing for wireless devices
CN101187965B (en) * 2006-11-16 2010-12-15 思科技术公司 Filtering of access to data object
US9411976B2 (en) 2006-12-01 2016-08-09 Maidsafe Foundation Communication system and method
JP2010534003A (en) 2007-07-03 2010-10-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Multidimensional identification, authentication, authorization and key distribution system for patient monitoring
US7929959B2 (en) * 2007-09-01 2011-04-19 Apple Inc. Service provider activation
KR100953095B1 (en) 2007-12-18 2010-04-19 한국전자통신연구원 Super peer based peer-to-peer network system and peer authentication method therefor
US20090165098A1 (en) * 2007-12-20 2009-06-25 Meyer Ifrah method of and system for conducting a trusted transaction and/or communication
JP4219967B1 (en) 2008-01-15 2009-02-04 株式会社Cskホールディングス Connection management device and connection management program
JP2009296190A (en) * 2008-06-04 2009-12-17 Panasonic Corp Confidential communication method
US7694130B1 (en) * 2008-09-12 2010-04-06 Michael Anthony Martinez System and method to authenticate a user utilizing a time-varying auxiliary code
US20110246779A1 (en) 2008-12-11 2011-10-06 Isamu Teranishi Zero-knowledge proof system, zero-knowledge proof device, zero-knowledge verification device, zero-knowledge proof method and program therefor
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
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
WO2012014231A1 (en) * 2010-07-29 2012-02-02 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
US8776190B1 (en) * 2010-11-29 2014-07-08 Amazon Technologies, Inc. Multifactor authentication for programmatic interfaces
CN103262466A (en) 2010-12-16 2013-08-21 Nec九州软件株式会社 Authentication system, authentication server, service provision server, authentication method, and computer-readable recording medium
US8769623B2 (en) * 2011-09-29 2014-07-01 Cisco Technology, Inc. Grouping multiple network addresses of a subscriber into a single communication session
DE102012101710A1 (en) 2012-03-01 2013-09-05 Solarworld Innovations Gmbh Process for encapsulating a solar cell in a polymer matrix
US9338008B1 (en) * 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9098687B2 (en) * 2013-05-03 2015-08-04 Citrix Systems, Inc. User and device authentication in enterprise systems
CN103685282B (en) * 2013-12-18 2016-08-24 飞天诚信科技股份有限公司 A kind of identity identifying method based on single-sign-on
IN2014MU00771A (en) * 2014-03-06 2015-09-25 Tata Consultancy Services Ltd
TWI548249B (en) * 2014-08-08 2016-09-01 蓋特資訊系統股份有限公司 Method for verifying secruity data, system, and a computer-readable storage device
KR101637854B1 (en) * 2015-10-16 2016-07-08 주식회사 코인플러그 Certificate issuance system and method based on block chain, certificate authentication system and method based on block chain
US10791123B2 (en) 2015-11-25 2020-09-29 Yaron Gvili Selectivity in privacy and verification with applications
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
WO2017134759A1 (en) 2016-02-03 2017-08-10 株式会社情報スペース Authentication device, authentication system, and authentication program
US10587609B2 (en) * 2016-03-04 2020-03-10 ShoCard, Inc. Method and system for authenticated login using static or dynamic codes
CN106850699B (en) * 2017-04-10 2019-11-29 中国工商银行股份有限公司 A kind of mobile terminal login authentication method and system
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
KR20200107931A (en) 2017-10-19 2020-09-16 오튼하이브 코퍼레이션 System and method for key generation and storage for multi-point authentication
WO2019123346A1 (en) 2017-12-22 2019-06-27 Auckland Uniservices Limited A method and system for storing data and accessing data

Also Published As

Publication number Publication date
US10320564B2 (en) 2019-06-11
US20190123901A1 (en) 2019-04-25
EP3698514B1 (en) 2024-02-21
EP3698514C0 (en) 2024-02-21
US20210044436A1 (en) 2021-02-11
US11930111B2 (en) 2024-03-12
BR112020007781A2 (en) 2020-10-20
CA3079371A1 (en) 2019-04-25
AU2018352026A1 (en) 2020-06-04
JP2021500831A (en) 2021-01-07
JP2024023594A (en) 2024-02-21
EP3698514A1 (en) 2020-08-26
SG11202003508SA (en) 2020-05-28
JP7448220B2 (en) 2024-03-12
EP3698514A4 (en) 2021-10-27
WO2019077581A1 (en) 2019-04-25
US11336446B2 (en) 2022-05-17
US20190312725A1 (en) 2019-10-10
CN111630811A (en) 2020-09-04
MX2020003721A (en) 2020-10-12
US20220271932A1 (en) 2022-08-25
US10819516B2 (en) 2020-10-27

Similar Documents

Publication Publication Date Title
JP7448220B2 (en) Key generation/deposit system and method for multipoint authentication
Das et al. A secure and efficient uniqueness-and-anonymity-preserving remote user authentication scheme for connected health care
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
US8209744B2 (en) Mobile device assisted secure computer network communication
US11652629B2 (en) Generating keys using controlled corruption in computer networks
JP2016502377A (en) How to provide safety using safety calculations
Wang et al. EIDM: A ethereum-based cloud user identity management protocol
Das et al. An enhanced biometric authentication scheme for telecare medicine information systems with nonce using chaotic hash function
US20220116385A1 (en) Full-Duplex Password-less Authentication
WO2014141263A1 (en) Asymmetric otp authentication system
CA3160049A1 (en) Privacy-preserving biometric authentication
JPWO2019077581A5 (en)
Fareed et al. Privacy-preserving multi-factor authentication and role-based access control scheme for the E-healthcare system
CN113545004A (en) Authentication system with reduced attack surface
CN113826096A (en) User authentication and signature apparatus and method using user biometric identification data
Wei et al. On the security and improvement of privacy‐preserving 3‐factor authentication scheme for TMIS
KR20230024279A (en) How to generate a key using controlled compromise in a computer network
US20240121098A1 (en) Scalable Authentication System with Synthesized Signed Challenge
Tsai et al. Device Parameter based Secure User Authentication
Atzeni et al. Authentication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal