KR102120328B1 - User Authentication using ECC and Hash - Google Patents

User Authentication using ECC and Hash Download PDF

Info

Publication number
KR102120328B1
KR102120328B1 KR1020180077744A KR20180077744A KR102120328B1 KR 102120328 B1 KR102120328 B1 KR 102120328B1 KR 1020180077744 A KR1020180077744 A KR 1020180077744A KR 20180077744 A KR20180077744 A KR 20180077744A KR 102120328 B1 KR102120328 B1 KR 102120328B1
Authority
KR
South Korea
Prior art keywords
hash value
authentication
key
blockchain
hash
Prior art date
Application number
KR1020180077744A
Other languages
Korean (ko)
Other versions
KR20200004631A (en
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 충북대학교 산학협력단
Priority to KR1020180077744A priority Critical patent/KR102120328B1/en
Publication of KR20200004631A publication Critical patent/KR20200004631A/en
Application granted granted Critical
Publication of KR102120328B1 publication Critical patent/KR102120328B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인(Block Chain)과 IoT(Internet of Things : 사물인터넷)이 통합된 융합 망에서 ECC(Elliptic Curve Cryptography) Key Pair, ECC의 Child Key(Hierarchical Deterministic Wallet : BIP32Wallet), 해시(Hash) 값을 이용하여 사용자(User) 인증을 수행하는 방법에 관한 것으로서, 인증 클라이언트가 자신이 생성한 ECC 공개키를 블록체인에 등록하고, 인증 클라이언트가 임의의 정수로부터 제 1 해시 값 및 차일드 키를 생성하고, 차일드 키로부터 제 2 해시 값을 생성하여 제 1 해시 값 및 제 2 해시 값을 이용하여 인증을 요청하면, 인증 서버가 블록체인으로부터 가져온 키와 제 1 해시 값을 기반으로 새로운 차일드 키를 생성하고, 새로운 차일드 키로부터 생성된 새로운 해시 값과 제 2 해시값을 비교하여 인증을 수행한다. 본 발명에 따르면, 하나의 키 값을 블록체인에 1회 등록한 후, 서로 다른 수개의 IoT 서비스 제공자의 응용 서비스 이용 시에도 모두 이용 가능한 장점이 있으며, 사용자의 개인 정보나 인증서 없이도 초기 등록한 등록자 인지를 안전하게 검증할 수 있는 장점이 있어 블록체인의 전자 계정과 연결되는 다양한 IoT 서비스에서 활용이 가능하다.The present invention is a block chain (Block Chain) and IoT (Internet of Things: Internet of Things: IoT) in a converged network integrated Elliptic Curve Cryptography (ECC) Key Pair, ECC Child Key (Hierarchical Deterministic Wallet: BIP32 Wallet), Hash (Hash) Regarding a method of performing user authentication using a value, the authentication client registers the ECC public key generated by the authentication client on the blockchain, and the authentication client generates a first hash value and a child key from an arbitrary integer. Then, when a second hash value is generated from the child key and authentication is requested using the first hash value and the second hash value, the authentication server generates a new child key based on the key obtained from the blockchain and the first hash value. Then, authentication is performed by comparing the new hash value generated from the new child key with the second hash value. According to the present invention, after one key value is registered once on the blockchain, it can be used even when using application services of several different IoT service providers, and recognizes whether the registrant is initially registered without user's personal information or certificate. It has the advantage of being able to be verified safely, so it can be used in various IoT services connected to the electronic account of the blockchain.

Description

ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법{User Authentication using ECC and Hash}User authentication using ECC public key method and hash value{User Authentication using ECC and Hash}

본 발명은 사용자 인증 방법에 관한 것으로, 더욱 상세하게는 블록체인(Block chain)과 IoT(Internet of Things : 사물인터넷) 융합 망에서 사용자 인증을 수행하는 방법에 관한 것이다.The present invention relates to a user authentication method, and more particularly, to a method of performing user authentication in a blockchain (Block chain) and the Internet of Things (IoT) convergence network.

인증을 요청하는 인증 클라이언트가 특정 서버에 사용자 등록을 수행하면, 인증 서버는 인증 클라이언트의 ID/패스워드, 공인인증서, 혹은 기타 인증 키를 보관하였다가, 사용자 인증 요구 시 이를 비교하여 인증을 실행한다.When the authentication client requesting authentication performs user registration on a specific server, the authentication server stores the ID/password of the authentication client, a public certificate, or other authentication key, and compares it when requesting user authentication.

ID/패스워드 방식은, 사용자의 패스워드 혹은 인증에 관련된 내용을 서버에 보관한 후 이를 이용하여 인증을 수행한다. 그런데, 특정 사용자에 대한 개인 정보가 서버에 저장됨에 따라, 서버 저장소에 대한 공격이 잦아지고 있고, 최근에는 인증 시 네트워크 상에 전송되는 ID 정보에 대한 공격도 늘어나고 있다.In the ID/password method, a user's password or authentication-related contents are stored in a server, and authentication is performed using this. However, as personal information for a specific user is stored on the server, attacks on the server storage are becoming frequent, and recently, attacks on ID information transmitted on the network during authentication are also increasing.

공인인증서 방식은, 특정 기관에서 발급된 인증서를 이용하여 인증을 수행한다. 인증서를 통해서만 인증이 가능하므로 절차가 복잡하지만 중요한 개인 정보를 많이 보관할 수 있다. 그런데, 개인 정보를 보호하기 위해 암호화 방식을 사용하므로 시스템의 부하가 증가되는 단점이 있다.In the public certificate system, authentication is performed using a certificate issued by a specific institution. Since authentication is only possible through a certificate, the procedure is complicated, but a lot of important personal information can be stored. However, since an encryption method is used to protect personal information, there is a disadvantage that the load on the system is increased.

이에, 제 3 장소에 개인 정보를 등록하지 않으며, 인증 시에도 고정 ID를 사용하지 않고, 게다가 1회 키 등록만으로 모든 서비스에서 이용 가능한 사용자 인증 방법을 개발하여 종래 기술의 한계점을 극복할 필요성이 있다.Accordingly, there is a need to overcome the limitations of the prior art by developing a user authentication method that can be used in all services with only one key registration, without registering personal information in the third place, without using a fixed ID for authentication. .

대한민국 등록특허공보 제10-1780636호(공고일 2017.09.21.), "인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버"Republic of Korea Registered Patent Publication No. 10-1780636 (Announcement date 2017.09.21.), "How to issue authentication information and a blockchain-based authentication information management server that supports it"

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 블록체인과 IoT 기술의 융합 망에서 응용 서비스를 제공할 때 개인 정보의 제공이 없으며 매번 다른 정보로 인증을 요청하고, 단 1회 사용자 등록만으로 모든 IoT 서비스에 대해 사용자 인증이 가능할 수 있도록 하는 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법을 제공하는데 있다.Therefore, the present invention has been made to solve the above-described problems of the prior art, and the object of the present invention is to provide authentication services when providing application services in a convergence network of blockchain and IoT technology, and authentication with different information each time. To provide a user authentication method using an ECC public key method and a hash value that enables user authentication for all IoT services by requesting and registering only once.

상기와 같은 목적을 달성하기 위한 본 발명의 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법은, 블록체인(Block chain)과 IoT(Internet of Things) 융합 망에서, (a) 인증 클라이언트가 자신이 생성한 ECC 공개키를 블록체인에 등록하는 단계; (b) 상기 인증 클라이언트가 생성한 ECC 키를 기반으로 선택한 임의의 정수로부터 제 1 해시 값 및 차일드 키를 생성하고, 상기 차일드 키로부터 제 2 해시 값을 생성하여, 상기 제 1 해시 값 및 제 2 해시 값을 이용하여 인증을 요청하는 단계; 및 (c) 인증 서버가 상기 블록체인으로부터 가져온 키와 상기 제 1 해시 값을 기반으로 새로운 차일드 키를 생성하고, 상기 새로운 차일드 키로부터 생성된 새로운 해시 값과 상기 제 2 해시값을 비교하여 인증을 수행하는 단계;를 포함하는 것을 특징으로 한다.The user authentication method using the ECC public key method and hash value of the present invention for achieving the above object is, in a blockchain (Block chain) and the Internet of Things (IoT) convergence network, (a) the authentication client himself Registering the generated ECC public key on the blockchain; (b) generating a first hash value and a child key from an arbitrary integer selected based on the ECC key generated by the authentication client, and generating a second hash value from the child key to generate the first hash value and the second Requesting authentication using a hash value; And (c) an authentication server generates a new child key based on the key obtained from the blockchain and the first hash value, and compares the new hash value generated from the new child key with the second hash value for authentication. It characterized in that it comprises a.

상기 (a) 단계는, EC 도메인 파라미터(T = (p,a,b,G,n.h))를 생성하는 단계; 상기 파라미터 중 n을 기반으로 정수 d^를 선택하는 단계; 상기 정수 d^와 G를 기반으로 Q^를 생성하는 단계; ECC 기반의 공개키 쌍(d^, Q^)을 생성하는 단계; 및 상기 공개키 쌍 중에서 d^를 인증 키로 블록체인에 등록하는 단계;를 포함한다.The step (a) includes: generating an EC domain parameter (T = (p,a,b,G,n.h)); Selecting an integer d^ based on n of the parameters; Generating Q^ based on the integers d^ and G; Generating an ECC-based public key pair (d^, Q^); And registering d^ among the public key pairs as an authentication key on the blockchain.

상기 (b) 단계는, 임의의 정수 j를 선택하는 단계; 상기 임의의 정수 j로부터 제 1 해시 값(H1 = hash(j, Q^)) 및 차일드 키{dj = (d^ + H1 mod p)}를 생성하는 단계; 상기 차일드 키로부터 제 2 해시 값{H2 = hash(dj)}을 생성하는 단계; 및 상기 제 1 해시 값 및 제 2 해시 값을 이용하여 인증을 요청하는 단계;를 포함한다.The step (b) includes: selecting an arbitrary integer j; Generating a first hash value (H1 = hash(j, Q^)) and a child key {dj = (d^ + H1 mod p)} from the arbitrary integer j; Generating a second hash value {H2 = hash(dj)} from the child key; And requesting authentication using the first hash value and the second hash value.

상기 (c) 단계는, 상기 블록체인으로부터 키(d^)를 가져오는 단계; 상기 제 1 해시 값을 기반으로 새로운 차일드 키{*dj = (d^ + H1 mod p)}를 생성하는 단계; 상기 새로운 차일드 키로부터 새로운 해시 값{*H2 = hash(*dj)}을 생성하는 단계; 상기 새로운 해시 값과 제 2 해시값을 비교하는 단계; 및 상기 새로운 해시 값과 제 2 해시값이 동일하면 인증을 완료하는 단계;를 포함한다.The step (c) comprises: fetching a key (d^) from the blockchain; Generating a new child key {*dj = (d^ + H1 mod p)} based on the first hash value; Generating a new hash value {*H2 = hash(*dj)} from the new child key; Comparing the new hash value with a second hash value; And completing authentication when the new hash value and the second hash value are the same.

상술한 바와 같이, 본 발명에 의한 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법에 따르면, 제 3 장소에 개인 정보를 등록하지 않으므로 개인 정보 유출의 위험성을 원천적으로 방지할 수 있다.As described above, according to the ECC public key method and the user authentication method using the hash value according to the present invention, since personal information is not registered in the third place, the risk of leakage of personal information can be fundamentally prevented.

또한, 인증 시에 매번 다른 해시 값을 이용하므로 네트워크 공격에 유출되더라도 해시 값을 기반으로 인증에 필요한 키를 역으로 추출할 수 없기 때문에 네트워크 공격에 안전하다.In addition, since a different hash value is used each time for authentication, even if it is leaked to a network attack, it is safe for a network attack because the key required for authentication cannot be extracted in reverse based on the hash value.

그리고, 1회 키 등록으로 네트워크에 등록된 블록체인 노드를 사용하는 모든 IoT 서비스에서 사용자 인증을 받을 수 있으므로 사용자 편의성을 향상시킬 수 있을 뿐 아니라, 인증 키가 공개되더라도 인증에 필요한 키를 생성할 수 없기 때문에 인증 안전성을 향상시킬 수 있다.In addition, user authentication can be performed from all IoT services that use a blockchain node registered in the network with one-time key registration, which not only improves user convenience, but also generates a key required for authentication even when the authentication key is released. Since there is no authentication safety can be improved.

도 1은 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법의 개념도이다.
도 2는 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법의 흐름도이다.
1 is a conceptual diagram of a user authentication method using an ECC public key method and a hash value in a blockchain and IoT convergence network as an embodiment of the present invention.
2 is a flowchart of an user authentication method using an ECC public key method and a hash value in a blockchain and IoT convergence network as an embodiment of the present invention.

이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조 부호는 동일한 구성 요소를 지칭함을 전제하여 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to preferred embodiments of the present invention and the accompanying drawings, and the same reference numerals in the drawings will be described on the assumption that they refer to the same components.

발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성 요소가 다른 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성 요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성 요소들을 더 포함할 수 있는 것으로 이해되어야 한다.When one component in the detailed description of the invention or the claims "includes" another component, it is not interpreted as being limited to only the component, unless specifically stated otherwise. It should be understood that it may further include.

본 발명에서는, 블록체인과 IoT 융합 망에서 ECC 공개키 방식과 해시 값을 이용하여 사용자 인증을 수행하는 방법(User Authentication using ECC and Hash in the Convergence of Block chain and IoT)을 제시한다.In the present invention, a method of performing user authentication using a ECC public key method and a hash value in a blockchain and IoT convergence network is proposed.

본 발명에서는, 블록체인과 IoT 기술의 융합 망에서 응용 서비스를 제공할 때 서비스의 개인 정보의 제공 없이 단 1회 사용자 등록으로 모든 IoT 서비스에서 사용자 인증이 가능한 방안을 제시한다.In the present invention, when providing an application service in a convergence network of blockchain and IoT technology, we propose a method that enables user authentication in all IoT services with only one user registration without providing personal information of the service.

즉, 사용자는 개인 정보의 등록 없이 자신의 블록체인 계정(Account)에 하나의 인증 키를 등록함으로써 같은 블록체인을 공유하는 IoT 서비스 제공자들에게 사용자 인증을 받을 수 있도록 한다.That is, the user registers one authentication key in his/her own blockchain account without registering personal information to enable user authentication to IoT service providers sharing the same blockchain.

이러한 서비스를 제공받기 위한 사용자 인증을 받기 위해, 사용자는 자신의 어떠한 개인 정보도 등록하지 않으며, 인증 시에도 차일드 키를 생성하는 단서가 되는 핵심 키(Q^)의 네트워크 공격 등을 방어하기 위하여, 고정된 ID나 개인 정보 등을 전송하지 않고, 일회용 키를 기반으로 하는 단방향 해시 함수로 만들어 전송하는 방법을 이용하도록 한다.In order to receive user authentication to receive such a service, the user does not register any personal information of himself, and in order to prevent network attacks of the key key (Q^), which is a clue to generate a child key even during authentication, Instead of transmitting a fixed ID or personal information, a one-way hash function based on a one-time key is used to transmit the data.

또한 서비스 이용 중에도 주기적으로 키 셋트를 교환할 수 있으며, 블록체인에 등록된 키를 변경하여도 다른 인증 서버에게 통보할 필요가 없으며, 이러한 사용자 인증을 수행함에 있어 무거운 암호화 방식이나 복잡한 절차가 필요하지 않도록 하여, 안전하면서도 시스템 부하가 적어 다양한 IoT 응용 서비스에 다양하게 사용될 수 있는 사용자 인증 방법을 제시한다.In addition, the key set can be exchanged periodically while using the service, and there is no need to notify other authentication servers even if the key registered in the blockchain is changed, and heavy encryption or complicated procedures are not required to perform such user authentication. To prevent this, we propose a user authentication method that can be used for various IoT application services in a secure and low system load.

도 1은 본 발명의 일 실시예로서, ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법의 개념도이다.1 is a conceptual diagram of a user authentication method using an ECC public key method and a hash value as an embodiment of the present invention.

도 1을 참조하면, 본 발명의 사용자 인증 시스템은, 사용자 인증을 신청하는 주체로서, 인증 키를 등록하고 서비스를 이용하는 인증 클라이언트(1)와, 네트워크에 분산되어 동일한 블록을 저장하는 수개의 블록체인 노드를 포함하는 키 저장소(2)와, 사용자가 서비스 이용 시 인증을 수행하는 인증 서버(3)를 포함한다.Referring to FIG. 1, the user authentication system of the present invention is a subject requesting user authentication, an authentication client 1 that registers an authentication key and uses a service, and several blockchains distributed in a network and storing the same block It includes a key storage (2) including a node, and an authentication server (3) that performs authentication when the user uses the service.

여기서, 인증 클라이언트(1)는 인증을 위한 응용 로직을 포함한다.Here, the authentication client 1 includes application logic for authentication.

키 저장소(2)는 사용자가 키를 등록하면 블록으로 저장하고 관리하는 블록체인을 의미한다.The key storage 2 means a blockchain that stores and manages as a block when a user registers a key.

인증 서버(3)는 IoT 응용을 제공하는 서비스를 의미하며, 인증을 수행하는 인증 서버 로직을 포함한다.The authentication server 3 refers to a service providing an IoT application, and includes authentication server logic for performing authentication.

이와 같이 구성된 본 발명의 사용자 인증 시스템에서는, 인증 클라이언트(1)가 ECC 공개키 쌍(d^, Q^)생성하여 그 중 d^만 블록체인에 등록한다(키 등록 단계). In the user authentication system of the present invention configured as described above, the authentication client 1 generates an ECC public key pair (d^, Q^) and registers only d^ among them (key registration step).

이어서, 인증 클라이언트(1)에서는 인증을 요청하기 위해 임의의 정수 j를 선택하여 차일드 키를 생성하고 2개의 해시 값을 생성하여 인증을 요청한다(인증 요청 단계).Subsequently, the authentication client 1 selects an arbitrary integer j to request authentication, generates a child key, and generates two hash values to request authentication (authentication request step).

이에, 인증 서버(3)에서는 사용자 인증을 위하여 해당 사용자의 인증 키를 블록체인에서 가져와 해시 값을 생성한 후, 사용자가 전송한 해시 값과 동일한지 확인하고 사용자를 인증한다(키 확인 및 인증 단계).Accordingly, the authentication server 3 obtains the user's authentication key from the blockchain for user authentication, generates a hash value, verifies that the user has the same hash value sent, and authenticates the user (key verification and authentication steps) ).

여기서, 공개키와 비밀키(개인키)를 생성하는데 타원곡선을 사용하는 ECC(Elliptic Curve Crypto system) 암호 알고리즘은 타원곡선을 활용할 수 있음에 따라 안전하고 다양한 암호시스템 설계가 가능한 기술로서, ECC 암호 알고리즘은 이미 잘 알려져 있으므로, 상세한 설명은 생략하기로 한다.Here, the Elliptic Curve Crypto system (ECC) cryptographic algorithm that uses an elliptic curve to generate a public key and a private key (private key) is a technology that enables secure and various cryptographic system design as it can utilize an elliptic curve, ECC cryptography Since the algorithm is well known, detailed descriptions thereof will be omitted.

그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법에 대해 설명하기로 한다.Then, the ECC public key method of the present invention using the system configured as described above and a user authentication method using a hash value will be described.

도 2는 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법의 흐름도이다.2 is a flowchart of an user authentication method using an ECC public key method and a hash value in a blockchain and IoT convergence network as an embodiment of the present invention.

구체적으로, 블록체인에 인증 키를 등록하고 IoT 서비스를 이용하기 위해 사용자 인증을 받는 과정을 나타낸 순서도이다.Specifically, it is a flow chart showing the process of registering an authentication key on the blockchain and receiving user authentication to use the IoT service.

본 발명은 도 1에서와 같이, 크게 키 등록 단계, 인증 요청 단계, 키 확인 및 인증 단계를 포함한다.As shown in FIG. 1, the present invention largely includes a key registration step, an authentication request step, a key confirmation and authentication step.

도 2를 참조하면, 인증 클라이언트(1)에서는, 인증을 받고자 하는 사용자는 EC 도메인 파라미터(T = (p,a,b,G,n.h))를 생성하고(S1), 생성된 파라미터 중 n을 기반으로 정수 d^를 선택하고, d^와 G를 기반으로 Q^를 생성하여 ECC Key Pairs(d^, Q^)생성한 후(S2), 그 중 d^를 블록체인의 자신의 계정에 등록한다(S3 ~ S4).Referring to FIG. 2, in the authentication client 1, a user who wants to be authenticated generates an EC domain parameter (T = (p,a,b,G,nh)) (S1), and n of the generated parameters Select the integer d^ as the base, generate the Q^ based on the d^ and G, generate ECC Key Pairs (d^, Q^) (S2), and of the d^ to the blockchain's own account Register (S3 ~ S4).

인증 클라이언트(1)에서는, 사용자는 임의의 정수 j 선택하여(S5) 해시1{H1 = hash(j, Q^)}을 생성하고(S6), J번째 차일드 키 생성{dj = (d^ + H1 mod p)}한 후(S7), 생성된 차일드 키의 해시 값인 해시2{H2 = hash(dj)}를 생성하여(S8) 2개의 해시 값(H1, H2)을 전송하여 인증을 요청한다(S9).In the authentication client 1, the user selects an arbitrary integer j (S5) to generate hash 1 {H1 = hash(j, Q^)} (S6), and generates a J-th child key {dj = (d^ + H1 mod p)} (S7), then generate hash 2 {H2 = hash(dj)}, which is the hash value of the generated child key (S8), and send two hash values (H1, H2) to request authentication. (S9).

인증 서버(3)(인증을 수행하는 IoT 서비스 등)에서는, 블록체인에 저장된 사용자의 d^를 가져와(S10) 전송받은 첫 번째 해시 값을 이용하여 뉴차일드 키{*dj = (d^ + H1 mod p)}를 생성하고, 생성된 뉴차일드 키를 이용하여 뉴해시2{*H2 = hash(*dj)}를 생성한 후(S11), 전송받은 해시2와 생성된 뉴해시2를 비교하여 동일성 여부를 검사한다. 동일하다면(H2 = *H2) 처음 등록한 사용자가 전송한 해시 값이고, 동일하지 않다면(H2 ≠ *H2) 사용자의 동일성이 확인되지 않아 인증에 실패한 것이다(S12).In the authentication server 3 (such as an IoT service that performs authentication), a new child key {*dj = (d^ + H1) using the first hash value received by taking d^ of the user stored in the blockchain (S10) mod p)}, and using the generated new child key to generate New Hash 2{*H2 = hash(*dj)} (S11), compare the transmitted Hash 2 with the generated New Hash 2 Check for identity. If it is the same (H2 = *H2), it is the hash value transmitted by the first registered user, and if it is not the same (H2 ≠ *H2), authentication is failed because the user's identity is not confirmed (S12).

이와 같이, 본 발명에서 블록체인(Block Chain)과 IoT(Internet of Things : 사물인터넷)이 통합된 융합 망에서 ECC(Elliptic Curve Cryptography) Key Pair, ECC의 Child Key(Hierarchical Deterministic Wallet : BIP32Wallet), 해시(Hash) 값을 이용하여 사용자(User) 인증을 수행하기 위한 방법을 제안하였다. 즉, 사용자는 ECC 공개키 방식의 키 쌍을 생성하여 그 중 1개의 값을 블록체인에 저장하는 등록 단계와, 사용자가 실제로 IoT 응용 서비스를 사용하기 위하여 사용자 인증을 받을 시 인증을 요청하는 단계와, 인증 서버(3)에서 사용자 인증을 수행하기 위하여 블록체인에서 키를 가져와 사용자 확인하는 단계를 포함하는 인증 방법을 제안하였다.As described above, in the present invention, a block chain (Block Chain) and an Internet of Things (IoT) are integrated network, the ECC (Elliptic Curve Cryptography) Key Pair, ECC Child Key (Hierarchical Deterministic Wallet: BIP32 Wallet), hash We proposed a method for performing user authentication using (Hash) value. That is, the user generates an ECC public key type key pair and stores one of them in the blockchain, and the user requests authentication when the user actually authenticates to use the IoT application service. , In order to perform user authentication in the authentication server (3), an authentication method is proposed, including the step of fetching a key from the blockchain and verifying the user.

본 발명에 따르면, 블록체인과 IoT가 융합된 망에서, 하나의 키 값을 블록체인에 1회 등록한 후, 서로 다른 수개의 IoT 서비스 제공자의 응용 서비스 이용 시에도 모두 이용 가능한 장점이 있으며, 사용자의 개인 정보나 인증서 없이도 초기 등록한 등록자 인지를 안전하게 검증할 수 있는 장점이 있어 블록체인의 전자 계정과 연결되는 다양한 IoT 서비스에서 활용이 가능하다.According to the present invention, in a network in which blockchain and IoT are fused, one key value is registered once in the blockchain, and there is an advantage that can be used even when using application services of several different IoT service providers. It has the advantage of safely verifying the identity of the initially registered registrant without personal information or certificates, so it can be used in various IoT services connected to the electronic account of the blockchain.

좀 더 구체적으로 설명하면, 사용자는 EC 도메인 파라미터를 기반으로 생성된 하나의 인증 키를 1회만 블록체인에 등록함으로써 같은 네트워크에 등록된 블록체인 노드를 사용하는 모든 IoT 서비스에서 블록체인 사용자 ID(User Account) 만으로 사용자 인증을 받을 수 있다. 등록하는 인증 키는 공개가 되어도 인증에 필요한 키 생성할 수 있는 단서가 되지 못하여 의미 없는 난수일 뿐이다.In more detail, the user registers one authentication key generated on the basis of EC domain parameters to the blockchain only once, so that the blockchain user ID (User) is used in all IoT services that use the blockchain node registered in the same network. Account) can be used for user authentication. The authentication key to be registered is only a meaningless random number because it does not become a clue to generate a key required for authentication even when it is released.

단 하나의 키만 저장하면 다른 개인 정보의 등록 없이 인증 키가 저장된 트랜잭션의 주소(블록체인 ID)만으로 처음 등록한 사용자가 맞는지 확인할 수 있으므로 개인 정보 유출 위험이 전혀 없고 서비스 이용에 익명성을 제공할 수 있다.If only one key is stored, it is possible to check whether the user who registered for the first time is the correct address (blockchain ID) of the transaction where the authentication key is stored without registering other personal information, so there is no risk of personal information leakage and anonymity can be provided for the use .

또한 주기적으로 블록체인에 등록된 키를 변경하더라도 시간의 순으로 블록을 정리하는 블록체인의 특징으로 가장 최근의 인증 값을 관리하게 되어 다른 IoT 서비스 제공자들에게 통지할 필요가 없다.In addition, even if the key registered in the blockchain is periodically changed, the most recent authentication value is managed as a characteristic of the blockchain that organizes blocks in chronological order, so there is no need to notify other IoT service providers.

또한 매번 인증 시마다 다른 정수(j)를 선택하여 생성된 값을 기반으로 매번 다른 해시 값을 전송하므로 네트워크 공격에 유출된다 하여도 해시 값을 기반으로 인증에 필요한 키를 역으로 추출할 수 없어 네트워크 공격에도 안전한 인증 방법을 제공한다.In addition, since a different hash value is transmitted each time based on the generated value by selecting a different integer (j) for each authentication, even if it is leaked to the network attack, the key required for authentication cannot be extracted in reverse, based on the hash value. It also provides a secure authentication method.

한편, 본 발명은 블록체인과 IoT 융합 망에서 사용자는 블록체인의 ID(전자지불 계좌의 User Account)를 이용하여 다양한 물품을 거래할 수도 있고, 응용 서비스를 이용할 수 있으며, 이때 어떤 개인 정보의 등록 및 저장이 필요 없어 완벽한 익명성을 제공할 수 있다.On the other hand, according to the present invention, in a blockchain and IoT convergence network, a user may trade various items using a blockchain ID (User Account of an electronic payment account), use an application service, and register any personal information. And no storage required, providing complete anonymity.

하나 이상의 예시적인 구현에서, 여기서 제시된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나, 또는 이들을 통해 전송될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 일 장소에서 다른 장소로 컴퓨터 프로그램의 이전을 용이하게 하기 위한 임의의 매체를 포함하는 통신 매체를 포함한다. 저장 매체는 범용 컴퓨터 또는 특수 목적의 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 다른 자기 저장 장치들, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장하는데 사용될 수 있고, 범용 컴퓨터, 특수목적의 컴퓨터, 범용 프로세서, 또는 특별한 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.In one or more example implementations, the functions presented herein can be implemented through hardware, software, firmware, or combinations thereof. When implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium, or transmitted through them. Computer-readable media includes computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. The storage medium can be a general purpose computer or any available medium that can be accessed by a special purpose computer. For example, such computer readable media may be RAM, ROM, EEPROM, CD-ROM or other optical disk storage media, magnetic disk storage media or other magnetic storage devices, or program code means required in the form of instructions or data structures It may be used to store, and includes, but is not limited to, a general purpose computer, a special purpose computer, a general purpose processor, or any other medium that can be accessed by a special processor.

또한, 임의의 연결 수단이 컴퓨터 판독가능한 매체로 간주될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들이 이러한 매체의 정의 내에 포함될 수 있다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc , 광 disc, DVD, 플로피 disk, 및 블루-레이 disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc은 레이저를 통해 광학적으로 데이터를 재생한다. 상기 조합들 역시 컴퓨터 판독가능한 매체의 범위 내에 포함될 수 있다.Also, any connecting means can be considered a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source via wireless technologies such as coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or infrared radio, and microwave. Wireless technologies such as cable, fiber optic cable, twisted pair, DSL, or infrared radio, and microwaves can be included within the definition of this medium. The disks and discs used herein include compact discs (CDs), laser discs, optical discs, DVDs, floppy disks, and Blu-ray discs, where disks play data magnetically, but discs are optical To play the data. Combinations of the above should also be included within the scope of computer readable media.

당업자는 상술한 다양한 예시적인 엘리먼트, 컴포넌트, 논리블록, 모듈 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있음을 잘 이해할 것이다. 하드웨어 및 소프트웨어의 상호 호환성을 명확히 하기 위해, 다양한 예시적인 소자들, 블록, 모듈 및 단계들이 그들의 기능적 관점에서 기술되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부가된 설계 제한들에 의존한다. 당업자는 이러한 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것은 아니다.Those skilled in the art will appreciate that the various exemplary elements, components, logic blocks, modules, and algorithm steps described above may be implemented as electronic hardware, computer software, or a combination thereof. To clarify the interoperability of hardware and software, various exemplary elements, blocks, modules, and steps have been described in terms of their functionality. Whether this functionality is implemented in hardware or software depends on the specific application and design restrictions imposed for the overall system. Those skilled in the art can implement these functions in various ways for each specific application, but such implementation decisions are not outside the scope of the present invention.

본 개시물과 관련하여 기재되는 다양한 예시적인 논리 블록들 및 모듈들은 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드 프로그램어블 게이트 어레이(FPGA) 또는 다른 프로그램어블 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들 또는 여기서 기재되는 기능들을 구현하도록 설계되는 임의의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.Various exemplary logic blocks and modules described in connection with this disclosure are general purpose processors, digital signal processors (DSPs), semiconductors on demand (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates Or transistor logic, discrete hardware components, or any combination designed to implement the functions described herein. A general purpose processor can be a microprocessor; In alternative embodiments, such a processor may be an existing processor, controller, microcontroller, or state machine. The processor may be implemented as a combination of computing devices, such as, for example, a DSP and microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or a combination of these configurations.

하드웨어 구현에 대하여, 여기에서 개시되는 양상들과 관련하여 설명되는 프로세싱 유닛들의 다양한 예시적인 로직들, 로직 블록들 및 모듈들은, 하나 이상의 주문형 반도체(ASIC)들, 디지털 신호 처리기들(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그래밍가능한 로직 디바이스(PLD)들, 필드 프로그래밍가능한 게이트 어레이(FPGA)들, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 범용 목적의 프로세서들, 제어기들, 마이크로-컨트롤러들, 마이크로프로세서들, 여기에서 설명되는 기능들을 수행하도록 설계되는 다른 전자 유닛들, 또는 이들의 조합에서 구현될 수 있다. 범용-목적 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 임의의 기존의 프로세서, 제어기, 마이크로컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합(예컨대, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 적절한 구성)으로 구현될 수 있다. 추가적으로, 적어도 하나의 프로세서는 여기에서 설명되는 단계들 및/또는 동작들 중 하나 이상을 구현할 수 있는 하나 이상의 모듈들을 포함할 수 있다.For hardware implementation, various example logics, logic blocks and modules of processing units described in connection with aspects disclosed herein, include one or more on-demand semiconductors (ASICs), digital signal processors (DSPs), Digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), discrete gate or transistor logic, discrete hardware components, general purpose processors, controllers, micro- Controllers, microprocessors, other electronic units designed to perform the functions described herein, or combinations thereof. A general purpose-purpose processor can be a microprocessor, but alternatively, can be any existing processor, controller, microcontroller, or state machine. The processor may also be implemented with a combination of computing devices (eg, DSP and microprocessor, multiple microprocessors, a combination of one or more microprocessors associated with a DSP core, or any other suitable configuration). Additionally, the at least one processor can include one or more modules capable of implementing one or more of the steps and/or operations described herein.

게다가, 여기에서 설명되는 다양한 양상들 또는 특징들은 표준 프로그래밍 및/또는 엔지니어링 기법들을 사용하는 방법, 장치, 또는 제조물로서 구현될 수 있다. 또한, 여기에서 개시되는 양상들과 관련하여 설명되는 방법 또는 알고리즘의 단계들 및/또는 동작들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들의 조합으로 직접 구현될 수 있다. 추가적으로, 몇몇의 양상들에서, 방법 또는 알고리즘의 단계들 또는 동작들은 기계-판독가능 매체, 또는 컴퓨터-판독가능 매체 상의 코드들 또는 명령들의 세트의 적어도 하나의 또는 임의의 조합으로서 존재할 수 있으며, 이는 컴퓨터 프로그램 물건으로 통합될 수 있다. 여기에서 사용되는 용어 제조물은 임의의 적절한 컴퓨터-판독가능 디바이스 또는 매체로부터 액세스가능한 컴퓨터 프로그램을 포함하도록 의도된다.In addition, various aspects or features described herein can be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. Further, the steps and/or operations of a method or algorithm described in connection with the aspects disclosed herein may be implemented directly in hardware, in a software module executed by a processor, or in a combination thereof. Additionally, in some aspects, steps or operations of a method or algorithm may exist as at least one or any combination of a set of codes or instructions on a machine-readable medium, or computer-readable medium, which Can be incorporated into computer program objects. The term product as used herein is intended to include computer programs accessible from any suitable computer-readable device or medium.

제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person of ordinary skill in the art to use or practice the present invention. Various modifications to these embodiments will be apparent to those skilled in the art of the present invention, and the general principles defined herein can be applied to other embodiments without departing from the scope of the present invention. Thus, the present invention should not be limited to the embodiments presented herein, but should be interpreted in the broadest scope consistent with the principles and novel features presented herein.

1 : 인증 클라이언트
2 : 키 저장소
3 : 인증 서버
1: Authentication client
2: key store
3: authentication server

Claims (4)

블록체인(Block chain)과 IoT(Internet of Things) 융합 망에서,
(a) 인증 클라이언트가 자신이 생성한 ECC 공개키를 블록체인에 등록하는 단계;
(b) 상기 인증 클라이언트가 생성한 ECC 키를 기반으로 선택한 임의의 정수로부터 제 1 해시 값 및 차일드 키를 생성하고, 상기 차일드 키로부터 제 2 해시 값을 생성하여, 상기 제 1 해시 값 및 제 2 해시 값을 이용하여 인증을 요청하는 단계; 및
(c) 인증 서버가 상기 블록체인으로부터 가져온 키와 상기 제 1 해시 값을 기반으로 새로운 차일드 키를 생성하고, 상기 새로운 차일드 키로부터 생성된 새로운 해시 값과 상기 제 2 해시값을 비교하여 인증을 수행하는 단계;를 포함하고,
상기 (b) 단계는,
임의의 정수 j를 선택하는 단계;
상기 임의의 정수 j로부터 제 1 해시 값{H1 = hash(j, Q^)} 및 차일드 키{dj = (d^ + H1 mod p)}를 생성하는 단계;
상기 차일드 키로부터 제 2 해시 값{H2 = hash(dj)}을 생성하는 단계; 및
상기 제 1 해시 값 및 제 2 해시 값을 이용하여 인증을 요청하는 단계;를 포함하는 것을 특징으로 하는 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법.
In the block chain and the Internet of Things (IoT) convergence network,
(a) the authentication client registering the ECC public key generated by the authentication client on the blockchain;
(b) generating a first hash value and a child key from an arbitrary integer selected based on the ECC key generated by the authentication client, and generating a second hash value from the child key to generate the first hash value and the second Requesting authentication using a hash value; And
(c) The authentication server generates a new child key based on the key obtained from the blockchain and the first hash value, and performs authentication by comparing the new hash value generated from the new child key and the second hash value. Comprising;
Step (b) is,
Selecting an arbitrary integer j;
Generating a first hash value {H1 = hash(j, Q^)} and a child key {dj = (d^ + H1 mod p)} from the arbitrary integer j;
Generating a second hash value {H2 = hash(dj)} from the child key; And
Requesting authentication using the first hash value and the second hash value; ECC public key method and user authentication method using the hash value.
제 1 항에 있어서,
상기 (a) 단계는,
EC 도메인 파라미터(T=(p,a,b,G,n.h))를 생성하는 단계;
상기 파라미터 중 n을 기반으로 정수 d^를 선택하는 단계;
상기 정수 d^와 G를 기반으로 Q^를 생성하는 단계;
ECC 기반의 공개키 쌍(d^, Q^)을 생성하는 단계; 및
상기 공개키 쌍 중에서 d^를 인증 키로 블록체인에 등록하는 단계;를 포함하는 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법.
According to claim 1,
Step (a) is,
Generating an EC domain parameter (T=(p,a,b,G,nh));
Selecting an integer d^ based on n of the parameters;
Generating Q^ based on the integers d^ and G;
Generating an ECC-based public key pair (d^, Q^); And
Registering d^ in the blockchain as an authentication key among the public key pairs; User authentication method using ECC public key method and hash value.
삭제delete 제 1 항에 있어서,
상기 (c) 단계는,
상기 블록체인으로부터 키(d^)를 가져오는 단계;
상기 제 1 해시 값을 기반으로 새로운 차일드 키{*dj = (d^ + H1 mod p)}를 생성하는 단계;
상기 새로운 차일드 키로부터 새로운 해시 값{*H2 = hash(*dj)}을 생성하는 단계;
상기 새로운 해시 값과 제 2 해시값을 비교하는 단계; 및
상기 새로운 해시 값과 제 2 해시값이 동일하면 인증을 완료하는 단계;를 포함하는 ECC 공개키 방식과 해시 값을 이용한 사용자 인증 방법.
According to claim 1,
Step (c) is,
Fetching a key (d^) from the blockchain;
Generating a new child key {*dj = (d^ + H1 mod p)} based on the first hash value;
Generating a new hash value {*H2 = hash(*dj)} from the new child key;
Comparing the new hash value with a second hash value; And
Completing the authentication if the new hash value and the second hash value are the same; ECC public key method comprising and a user authentication method using the hash value.
KR1020180077744A 2018-07-04 2018-07-04 User Authentication using ECC and Hash KR102120328B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180077744A KR102120328B1 (en) 2018-07-04 2018-07-04 User Authentication using ECC and Hash

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180077744A KR102120328B1 (en) 2018-07-04 2018-07-04 User Authentication using ECC and Hash

Publications (2)

Publication Number Publication Date
KR20200004631A KR20200004631A (en) 2020-01-14
KR102120328B1 true KR102120328B1 (en) 2020-06-08

Family

ID=69152952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180077744A KR102120328B1 (en) 2018-07-04 2018-07-04 User Authentication using ECC and Hash

Country Status (1)

Country Link
KR (1) KR102120328B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100658301B1 (en) * 1999-11-22 2006-12-14 주식회사 케이티 Public key based mutual authentication method in wireless communication system
KR101678795B1 (en) 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
JP2017163612A (en) 2017-06-12 2017-09-14 パナソニックIpマネジメント株式会社 Terminal authentication system, server device, and terminal authentication method
KR101800737B1 (en) 2016-06-27 2017-11-23 경북대학교 산학협력단 Control method of smart device for self-identification, recording medium for performing the method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101780636B1 (en) 2016-05-16 2017-09-21 주식회사 코인플러그 Method for issuing certificate information and blockchain-based server using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100658301B1 (en) * 1999-11-22 2006-12-14 주식회사 케이티 Public key based mutual authentication method in wireless communication system
KR101678795B1 (en) 2015-11-30 2016-11-22 전삼구 Iot-basesd things management system and method using block chain authentification
KR101800737B1 (en) 2016-06-27 2017-11-23 경북대학교 산학협력단 Control method of smart device for self-identification, recording medium for performing the method
JP2017163612A (en) 2017-06-12 2017-09-14 パナソニックIpマネジメント株式会社 Terminal authentication system, server device, and terminal authentication method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nazri Abdullah 외 2인, Blockchain based approach to enhance big data authentication in distributed environment, 2017 9th ICUFN, 2017.07.04. pp. 887-892. 1부.*

Also Published As

Publication number Publication date
KR20200004631A (en) 2020-01-14

Similar Documents

Publication Publication Date Title
US11900368B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
US20210367795A1 (en) Identity-Linked Authentication Through A User Certificate System
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
US8196186B2 (en) Security architecture for peer-to-peer storage system
US10567370B2 (en) Certificate authority
US20190173873A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
KR20060101454A (en) Device authentication system
US8397281B2 (en) Service assisted secret provisioning
CN105409186A (en) System and method for user authentication
CN106464493B (en) Permanent authentication system containing one-time pass code
ES2665887T3 (en) Secure data system
US20220014354A1 (en) Systems, methods and devices for provision of a secret
CN113411187B (en) Identity authentication method and system, storage medium and processor
KR102120327B1 (en) Mutual Authentication using Child Key based on ECC
KR102157695B1 (en) Method for Establishing Anonymous Digital Identity
Das et al. A decentralized open web cryptographic standard
Agarwal et al. Guarded dual authentication based DRM with resurgence dynamic encryption techniques
JP6174796B2 (en) Security system, management device, permission device, terminal device, security method, and program
RU2698424C1 (en) Authorization control method
KR20080005344A (en) System for authenticating user's terminal based on authentication server
KR102120328B1 (en) User Authentication using ECC and Hash
KR102053993B1 (en) Method for Authenticating by using Certificate
KR20070035342A (en) Method for mutual authentication based on the user's password
KR102003622B1 (en) Method for authenticating attributes in a non-traceable manner and without connection to a server
CN117675193A (en) Cloud storage-oriented cross-trust-domain APP data flow security protection method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant