KR102120327B1 - Ecc 기반의 차일드 키를 이용한 상호 인증 방법 - Google Patents

Ecc 기반의 차일드 키를 이용한 상호 인증 방법 Download PDF

Info

Publication number
KR102120327B1
KR102120327B1 KR1020180077738A KR20180077738A KR102120327B1 KR 102120327 B1 KR102120327 B1 KR 102120327B1 KR 1020180077738 A KR1020180077738 A KR 1020180077738A KR 20180077738 A KR20180077738 A KR 20180077738A KR 102120327 B1 KR102120327 B1 KR 102120327B1
Authority
KR
South Korea
Prior art keywords
key
authentication
entity
mutual authentication
ecc
Prior art date
Application number
KR1020180077738A
Other languages
English (en)
Other versions
KR20200004629A (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 충북대학교 산학협력단
Priority to KR1020180077738A priority Critical patent/KR102120327B1/ko
Publication of KR20200004629A publication Critical patent/KR20200004629A/ko
Application granted granted Critical
Publication of KR102120327B1 publication Critical patent/KR102120327B1/ko

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/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
    • H04L9/3273Cryptographic 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 for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 블록체인(Block Chain)과 IoT(Internet of Things : 사물인터넷)이 통합된 융합 망에서ECC(Elliptic Curve Cryptography) Key Pair, ECC의 Child Key(Hierarchical Deterministic Wallet : BIP32Wallet), 해시 함수를 이용하여 다양한 IoT 서비스의 엔드 유저 간 상호 인증을 수행하는 방법에 관한 것으로서, 상호 인증을 수행하는 엔드 유저들인 각각의 엔터티(Entity)가 자신의 인증서를 발급받아 암호화시켜 키 저장소에 등록하는 과정과 엔터티 간에 상호 인증을 수행하는 인증 과정으로 구성된다. 본 발명에 따르면, 블록체인과 IoT가 융합된 망에서, 자신의 고정된 ID를 사용하지 않고, 공개 키 쌍의 차일드 키(1회용 키)와 해시 함수를 생성하여 인증을 수행하는 방법에 관한 것으로 사용자의 개인 정보가 공개되지 않아 개인정보 유출의 위험이 없으며, 최근 급증하는 ID 공격으로부터 안전하게 인증을 수행할 수 있어 상대의 능력이나 신용 등을 확인하고 계약 등을 체결해야 하는 다양한 서비스에서 활용 가능하다.

Description

ECC 기반의 차일드 키를 이용한 상호 인증 방법{Mutual Authentication using Child Key based on ECC}
본 발명은 상호 인증 방법에 관한 것으로, 더욱 상세하게는 블록체인(Block chain)과 IoT(Internet of Things) 융합 망에서 다양한 응용서비스의 엔드 유저 간 사용 가능한 상호 인증 방법에 관한 것이다.
상호 인증을 수행하기 위해 믿을 수 있는 제 3 자를 중심으로 인증에 필요한 키나 인증서 등을 교환한다. 그런데 이 경우, 서버 측과 믿을 수 있는 제 3 자 측에 미리 사용자 정보, ID, 복호화 키 등이 보관되어 있어야 하므로 해킹이나 내부자 보안 공격 등의 위험을 안고 있다.
이에, 해킹이나 내부자 보안 공격을 고려한 보안 기능이 추가로 필요하게 되고, 네트워크 공격에 대비하기 위해 무거운 암호화/복호화 등이 필요하게 되며, 결국 시스템 부하가 증가하는 문제가 있다.
또한, 믿을 수 있는 제 3 자 없이 상호 인증을 수행하기 위해서는 서로 필요한 모든 기능을 공유하고 있을 뿐 아니라, 이에 대한 키 확인을 상호 인증을 통해 수행하는 방법이 주를 이루고 있으므로 상호 인증을 위해 공개되는 개인 정보의 범위가 넓어 많은 위험성을 안고 있다. 이러한 이유 때문에 서비스 이용에 제한이 많아 여러 서비스에 활용되기에는 어려운 점이 많다.
이에, 상호 인증을 위해 필요한 믿을 수 있는 제 3 자의 필요성 등을 블록체인이 제공하는 정보의 무결성을 기반으로 해결하고, 개인 정보의 공개 없이 고정된 ID를 사용하지 않아 네트워크 공격에도 안전한 상호 인증 방법을 개발하여 종래 기술의 한계점을 극복할 필요성이 있다.
대한민국 등록특허공보 제10-1780636호(공고일 2017.09.21.), "인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버"
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 상호 인증을 수행하는 두 엔터티들은 블록체인에 인증서를 등록하여 무결성을 제공하고, 서로의 개인 정보를 공개하지 않으며, 암호화된 인증서를 복호화할 수 있는 마스터 키의 1회용 차일드 키를 상호 인증 상대에게 전송함으로써 상호 인증을 수행할 수 있도록 하는 ECC 기반의 차일드 키를 이용한 상호 인증 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법은, 블록체인과 IoT 융합 망에서, (a) 상호 인증을 수행하기 위한 엔터티들이 인증 기관에 요청하여 발급된 자신의 인증서를 암호화하여 키 저장소에 등록하는 단계; (b) 상기 엔터터들에 포함된 제 1 엔터티가 자신의 차일드 키와 해시 값을 생성하여 제 2 엔터티에 인증을 요청하는 단계; (c) 상기 엔터터들에 포함된 제 2 엔터티가 수신한 상대의 차일드 키와 해시 값으로 상대의 인증서를 확인하여 인증을 수행하고 자신의 차일드 키와 해시 값을 생성하여 제 1 엔터티에 인증을 요청하는 단계; 및 (d) 상기 제 1 엔터티가 수신한 상대의 차일드 키와 해시 값으로 인증서를 확인하는 단계;를 포함하는 것을 특징으로 한다.
상기 (a) 단계는, 상기 인증 기관으로부터 발급받은 인증서를 자신의 ECC 공개 키 쌍(d^, Q^) 중 Q^와 ECC 파라미터를 이용하여 암호화하는 단계; 및 암호화된 인증서를 키 저장소에 등록하는 단계;를 포함한다.
상기 (b) 단계는, 임의의 정수 j를 선택하는 단계; 상기 임의의 정수 j로부터 해시 값{(H1) = hash(j, Q^)} 및 차일드 키{dj = (d^ + H1 mod p)}를 생성하는 단계; 및 상기 해시 값 및 차일드 키로 상호 인증을 요청하는 단계;를 포함한다.
상기 (c) 단계는, 제 1 엔터티에서 전송된 차일드 키와 해시 값으로 상대의 마스터 복호 키를 복구하는 단계; 제 1 엔터티의 블록체인 계정에 저장된 트랜잭션을 가져와 복호화하여 인증을 수행하는 단계; 및 인증이 완료되면, 자신의 ECC 공개 키 쌍에 기반한 해시 함수{(H2) = hash(j, Q^2)}와 차일드 키{(dj2) = (d^2 + H2 mod p)}를 생성하여 전송하는 단계;를 포함한다.
상기 (d) 단계는, 제 2 엔터티에서 전송된 차일드 키와 해시 값으로 상대의 마스터 복호 키를 복구하는 단계; 및 제 2 엔터티의 블록체인 계정에 저장된 트랜잭션을 가져와 복호화하여 인증을 수행하는 단계;를 포함하며, 인증이 완료되면 상호 인증이 이루어지게 된다.
상술한 바와 같이, 본 발명에 의한 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법에 따르면, 상호 인증을 수행하는 두 엔터티들은 블록체인에 인증서를 등록함으로써 중재자 없이 직접 상호 인증을 요청하여 인증을 수행할 수 있으며, 위변조가 불가능하므로 무결성을 제공할 수 있다.
또한, 단 한번의 인증서 등록으로 인증내용이 동일한 다른 IoT 응용 서비스에 대하여도 중복 사용할 수 있으므로 사용자 편의성을 향상시킬 수 있다.
그리고, 상호 인증을 수행하는 상대에게 고정 ID대신 1회용 차일드 키를 이용하여 단 방향 해시 함수로 변경하여 전송함으로써 네트워크 공격에 안전하다.
도 1은 본 발명이 적용되는 블록체인과 IoT 융합 망에서 상호 인증 주체인 엔드 유저의 위치를 나타내기 위한 네트워크 구조도이다.
도 2는 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법의 개념도이다.
도 3은 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법의 흐름도이다.
이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.
본 발명에서는, 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법(Mutual Authentication using Child Key based on ECC in convergence of Block Chain and IoT)을 제시한다.
블록체인과 IoT 기술의 융합 망에서 다양한 응용서비스들이 제공될 때 최상위 층의 엔드 유저 간 서로의 능력과 자격을 검증하고 계약을 체결하거나 협업을 해야 할 경우가 발생한다. 이러한 경우에 본 발명에서는, 상호 인증을 통하여, 서로의 개인 정보를 공개하지 않고, 제 3 자의 개입 없이 서비스에 필요한 상대의 능력을 검증하는 상호 인증을 제공하는 방법을 제시한다.
IoT 서비스의 분야에 따라 다양한 종류의 엔드 유저들이 존재하게 되므로, 서비스 내용과 엔드 유저의 종류, 서비스 제공 특징 등이 달라지게 된다.
이에, 본 발명에서는 서비스에 필요한 내용을 담은 인증서를 발급기관을 통해 발급하고, 엔터티 각자가 암호화하여 블록체인에 등록하게 함으로써, 블록체인에 트랜잭션으로 등록된 인증서는 모든 노드에 저장하게 되어 변조가 불가능하므로 무결성을 제공받게 되고, 네트워크에 등록된 모든 노드에서 접근이 가능하도록 한다.
또한, 상호 인증이 필요한 엔터티들 간 직접 상호 인증을 수행함으로써 효율적이며 제 3 자 및 중재자의 개입이 필요 없어 다른 서버 및 제 3 장소의 사용자의 개인 정보를 저장할 필요가 없어 개인정보 해킹이나 유출 사고 위험을 없앨 수 있는 상호 인증 방법을 제공하고자 한다.
또한, 블록체인에 등록된 인증서 등은 암호화되어 있어 블록체인의 트랜잭션이 공개되어도 상호 인증 당사자 외에는 인증서의 내용을 볼 수 없어 프라이버시가 제공되는 상호 인증 방법을 제공하고자 한다.
그리고, 암호화된 인증서를 복호화할 수 있는 마스터 키의 1회용 차일드 키를 상호 인증 상대에게 전송함으로써, 고정된 ID를 사용 및 등록하지 않고, 차일드 키를 만들 수 있는 중요한 키는 해시 함수로 만들어 전송함으로써 급증하는 ID 관련 공격에도 안전한 상호 인증을 제공하고자 한다.
도 1은 본 발명이 적용되는 블록체인과 IoT 융합 망에서 상호 인증 주체인 엔드 유저의 위치를 나타내기 위한 네트워크 구조도이다.
즉, 블록체인과 상호 인증 주체인 엔터티들 간의 구조도이다.
도 1을 참조하면, 본 발명의 구조는, 엔드 유저(End User ; 1), 어플리케이션 도메인(Application Domain ; 2), 네트워크 도메인(Network Domain ; 3), Machine2Machine 디바이스 도메인(M2M Device Domain ; 4)을 포함한다.
엔드 유저(1)는, 블록체인과 IoT 융합된 망에서 제공되는 서비스를 사용하는 최상의 층으로 응용서비스를 이용하는 주체를 의미한다.
어플리케이션 도메인(2)은, 네트워크 도메인(3)에 있는 IoT 플랫폼, 클라우드, 블록체인 등을 통해 제공되는 다양한 응용들이 존재하는 도메인을 의미한다.
네트워크 도메인(3)은, 센서 등이 부착된 다양한 디바이스로부터 정보를 입력받아 다양한 응용서비스 층에 전달하는 역할 등을 수행하는 IoT 플랫폼/클라우드/블록체인 등이 연결되는 도메인을 의미한다.
Machine2Machine 디바이스 도메인(4)은, 다양한 디바이스들이 센서가 부착되어 WIFI, Zigbee 등의 M2M(Machine 2 Machine) 통신으로 연동되는 도메인을 의미한다.
도 2는 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법의 개념도이다.
도 2를 참조하면, 본 발명의 상호 인증 시스템은, 블록체인과 IoT 융합 망에서 응용서비스의 엔드 유저(1) 중 상호 인증 대상자인 제 1 엔터티(Entity1 : 11) 및 제 2 엔터티(Entity2 : 12)와, 상호 인증의 주체인 제 1 엔터티(11) 및 제 2 엔터티(12)의 인증서를 보관하고 인증서의 무결성을 제공하는 키 저장소(블록체인 : 13)와, 인증서를 발급하는 인증 기관(Certification Authority : CA)(14)을 포함한다.
제 1 엔터티(11)는, 일례로서 상호 인증을 요청하는 엔터티로써, IoT 응용 서비스의 엔드 유저(1)이며 응용 서비스를 수행하기 위한 엔드 유저(1)의 응용서비스 로직을 포함한다.
제 2 엔터티(12)는, 일례로서 상호 인증을 요청받아 인증을 수행하는 상대 엔터티로써, IoT 응용 서비스의 엔드 유저(1)이며 응용 서비스를 수행하기 위한 엔드 유저(1)의 응용서비스 로직을 포함한다.
키 저장소(13)는, 상호 인증에 필요한 인증서 등을 블록의 형태로 보관하고 있는 블록체인으로서 네트워크에 분산되어 동일한 블록을 저장하는 수개의 블록체인 노드를 포함한다.
인증 기관(14)은, IoT 서비스 등에서 사용 가능한 인증서를 발급하는 기관으로 기존의 X.509 기반의 인증서 포맷을 유지하는 PCA와 별개로 특정 서비스에 필요한 내용만을 작성하여 발급할 수 있으며 상세한 내용은 IoT 통합 망에서 제공하는 서비스 종류에 따라 결정된다.
이와 같이 구성된 본 발명의 상호 인증 시스템에서는, 상호 인증에 참여하는 엔터티들은 인증에 필요한 내용이 포함된 인증서를 자신의 ECC 공개 키 쌍(d^, Q^)생성 후 Q^로 암호화하여 등록한다(암호화된 인증서 등록 단계).
한편, 상호 인증을 먼저 요청하는 제 1 엔터티(11)는 자신의 ECC 공개 키 쌍의 차일드 키를 생성하고, 마스터 복호 키를 생성할 수 있는 해시 함수를 생성하여 제 2 엔터티(12)로 인증을 요청한다(제 1 엔터티(11)의 인증 요청 단계).
이에, 제 2 엔터티(12)는 제 1 엔터티(11)의 요청을 대응하여 제 1 엔터티(11)의 인증서 내용을 확인하고 자신의 ECC 키 쌍의 차일드 키와 해시 함수를 생성하여 제 1 엔터티(11)로 전송한다(제 2 엔터티(12)의 인증 수행 및 인증 요청 단계).
이에, 제 1 엔터티(11)는 제 2 엔터티(12)로부터 전송받은 차일드 키와 해시 함수로 마스터 키를 복구하여 인증서를 확인하고 인증을 수행한다(제 1 엔터티(11)의 인증 수행).
여기서, 공개키와 비밀키(개인키)를 생성하는데 타원곡선을 사용하는 ECC(Elliptic Curve Cryptosystem) 암호 알고리즘은 타원곡선을 활용할 수 있음에 따라 안전하고 다양한 암호시스템 설계가 가능한 기술로서, ECC 암호 알고리즘은 이미 잘 알려져 있으므로, 상세한 설명은 생략하기로 한다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 ECC 기반의 차일드 키를 이용한 상호 인증 방법에 대해 설명하기로 한다.
도 3은 본 발명의 일 실시예로서, 블록체인과 IoT 융합 망에서 ECC 기반의 차일드 키를 이용한 상호 인증 방법의 흐름도이다.
본 발명은 도 2에서와 같이, 제 1 엔터티(11)와 제 2 엔터티(12)가 공개 키 쌍을 생성하고 인증서를 등록하는 인증서 요청 및 암호화된 인증서 등록단계, 제 1 엔터티(11)의 인증 요청 단계, 제 2 엔터티(12)의 인증 수행 및 인증 키 전송 단계, 제 1 엔터티(11)의 인증 수행 단계를 포함한다.
도 3을 참조하면, 제 1 엔터티(11)와 제 2 엔터티(12)는 인증 기관(14)에 인증서 발급을 요청하고(S1), 발급받은 인증서를 자신의 ECC 공개 키 쌍(d^, Q^) 중 Q^와 ECC 파라미터 등을 생성하고(S2), 이를 이용하여 암호화하고 키 저장소(13)에 등록한다(S3 ~ S4).
제 1 엔터티(11)는 임의의 정수 j를 선택하여 해시 함수{(H1) = hash(j, Q^)}와 자신의 복호화 키(d^)를 생성할 수 있는 차일드 키{차일드 키(dj1) = (d^1 + H1 mod p)}를 생성하여 상호 인증을 요청한다(S5).
제 2 엔터티(12)는 전송받은 차일드 키와 해시함수로 마스터 키를 복구{d^1 = (dj1 - H1 mod p)}하고, 제 1 엔터티(11)의 블록체인 계정에 저장된 트랜잭션을 가져와 복호화하여 인증을 수행하고(S6), 문제가 없다면 자신의 ECC 공개 키 쌍에 기반한 해시 함수{(H2) = hash(j, Q^2)}와 차일드 키{(dj2) = (d^2 + H2 mod p)}를 생성하여 전송한다(S7).
제 1 엔터티(11)는 전송받은 해시 함수와 차일드 키로 마스터 키를 복구하여 인증서를 확인하고 인증을 수행한다(S8).
이에 상호 인증이 이루어지게 된다(S9).
이와 같이, 본 발명은 블록체인(Block Chain)과 IoT(Internet of Things : 사물인터넷)이 통합된 융합 망에서ECC(Elliptic Curve Cryptography) Key Pair, ECC의 Child Key(Hierarchical Deterministic Wallet : BIP32Wallet), 해시 함수를 이용하여 다양한 IoT 서비스의 엔드 유저(1) 간 상호 인증을 수행하기 위한 방법을 제안하였다. 즉, 상호 인증을 수행하는 엔드 유저(1)들인 각각의 엔터티(Entity)가 자신의 인증서를 발급받아 암호화시켜 키 저장소(13)에 등록하는 과정과, 엔터티 간에 상호 인증을 수행하는 인증 과정을 제안하였다.
본 발명에 따르면, 블록체인과 IoT가 융합된 망에서, 자신의 고정된 ID를 사용하지 않고, 공개 키 쌍의 차일드 키(1회용 키)와 해시 함수를 생성하여 인증을 수행하는 방법에 관한 것으로 사용자의 개인 정보가 공개되지 않아 개인정보 유출의 위험이 없으며, 최근 급증하는 ID 공격으로부터 안전하게 인증을 수행할 수 있어 상대의 능력이나 신용 등을 확인하고 계약 등을 체결해야 하는 다양한 서비스에서 활용 가능하다.
좀 더 구체적으로 설명하면, 상호 인증을 수행하는 두 엔터티들은 키 저장소(13)에 인증서를 등록함으로써 중재자 없이 직접 상호 인증을 요청하여 인증을 수행할 수 있다. 키 저장소(13)에 등록된 인증서는 트랜잭션으로 저장되어 모든 노드에 저장되므로 위변조가 불가능하여 무결성을 제공한다.
또한 단 한번의 인증서 등록으로 인증내용이 같은 다른 IoT 응용 서비스에 대하여도 중복 사용할 수 있다.
또한 상호 인증을 수행하는 상대에게 고정 ID대신 1회용 차일드 키를 사용하고 1회용 차일드 키를 생성할 수 있는 정보는 단 방향 해시 함수로 변경하여 전송함으로써 네트워크 공격에도 안전한 방법을 제공한다.
상호 인증을 수행하는 당사자들은 자신의 개인정보를 공개할 필요가 없어 익명성이 요구되는 다양한 서비스에 사용 가능하다.
인증서의 내용은 암호화되어 있어 상호 인증을 수행하는 당사자만이 복호화 키를 복구할 수 있기 때문에 인증서 내용에 대한 프라이버시가 제공된다.
한편, 본 발명은 IoT 응용서비스가 3D 프린팅 기술을 제공하는 스마트 팩토리의 주문제작 서비스에서 엔드 유저(1)가 사용자와 제작자라면 사용자는 본인이 개인 정보 제공 없이, 블록체인의 사용자 계정(UserAccount)만으로 상호 인증을 시도하여 제작자의 신용도, 제작 능력 등을 확인하고 주문제작 계약을 성사시킬 수 있으며, 디자이너와 제작자라면 서로의 능력과 신용도를 인증서를 통해 확인하고 블록체인의 스마트 컨트랙트를 이용해 계약을 체결하여 협업할 수 있다. 이와 같이, 블록체인과 IoT가 융합된 망에서 다양한 서비스에서 응용이 가능하다.
하나 이상의 예시적인 구현에서, 여기서 제시된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나, 또는 이들을 통해 전송될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 일 장소에서 다른 장소로 컴퓨터 프로그램의 이전을 용이하게 하기 위한 임의의 매체를 포함하는 통신 매체를 포함한다. 저장 매체는 범용 컴퓨터 또는 특수 목적의 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 다른 자기 저장 장치들, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장하는데 사용될 수 있고, 범용 컴퓨터, 특수목적의 컴퓨터, 범용 프로세서, 또는 특별한 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
또한, 임의의 연결 수단이 컴퓨터 판독가능한 매체로 간주될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들이 이러한 매체의 정의 내에 포함될 수 있다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc , 광 disc, DVD, 플로피 disk, 및 블루-레이 disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc은 레이저를 통해 광학적으로 데이터를 재생한다. 상기 조합들 역시 컴퓨터 판독가능한 매체의 범위 내에 포함될 수 있다.
당업자는 상술한 다양한 예시적인 엘리먼트, 컴포넌트, 논리블록, 모듈 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있음을 잘 이해할 것이다. 하드웨어 및 소프트웨어의 상호 호환성을 명확히 하기 위해, 다양한 예시적인 소자들, 블록, 모듈 및 단계들이 그들의 기능적 관점에서 기술되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부가된 설계 제한들에 의존한다. 당업자는 이러한 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것은 아니다.
본 개시물과 관련하여 기재되는 다양한 예시적인 논리 블록들 및 모듈들은 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드 프로그램어블 게이트 어레이(FPGA) 또는 다른 프로그램어블 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들 또는 여기서 기재되는 기능들을 구현하도록 설계되는 임의의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
하드웨어 구현에 대하여, 여기에서 개시되는 양상들과 관련하여 설명되는 프로세싱 유닛들의 다양한 예시적인 로직들, 로직 블록들 및 모듈들은, 하나 이상의 주문형 반도체(ASIC)들, 디지털 신호 처리기들(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그래밍가능한 로직 디바이스(PLD)들, 필드 프로그래밍가능한 게이트 어레이(FPGA)들, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 범용 목적의 프로세서들, 제어기들, 마이크로-컨트롤러들, 마이크로프로세서들, 여기에서 설명되는 기능들을 수행하도록 설계되는 다른 전자 유닛들, 또는 이들의 조합에서 구현될 수 있다. 범용-목적 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 임의의 기존의 프로세서, 제어기, 마이크로컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합(예컨대, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 적절한 구성)으로 구현될 수 있다. 추가적으로, 적어도 하나의 프로세서는 여기에서 설명되는 단계들 및/또는 동작들 중 하나 이상을 구현할 수 있는 하나 이상의 모듈들을 포함할 수 있다.
게다가, 여기에서 설명되는 다양한 양상들 또는 특징들은 표준 프로그래밍 및/또는 엔지니어링 기법들을 사용하는 방법, 장치, 또는 제조물로서 구현될 수 있다. 또한, 여기에서 개시되는 양상들과 관련하여 설명되는 방법 또는 알고리즘의 단계들 및/또는 동작들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들의 조합으로 직접 구현될 수 있다. 추가적으로, 몇몇의 양상들에서, 방법 또는 알고리즘의 단계들 또는 동작들은 기계-판독가능 매체, 또는 컴퓨터-판독가능 매체 상의 코드들 또는 명령들의 세트의 적어도 하나의 또는 임의의 조합으로서 존재할 수 있으며, 이는 컴퓨터 프로그램 물건으로 통합될 수 있다. 여기에서 사용되는 용어 제조물은 임의의 적절한 컴퓨터-판독가능 디바이스 또는 매체로부터 액세스가능한 컴퓨터 프로그램을 포함하도록 의도된다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
11 : 제 1 엔터티
12 : 제 2 엔터티
13 : 키 저장소
14 : 인증 기관

Claims (5)

  1. 블록체인과 IoT 융합 망에서,
    (a) 상호 인증을 수행하기 위한 엔터티들이 인증 기관에 요청하여 발급된 자신의 인증서를 암호화하여 키 저장소에 등록하는 단계;
    (b) 상기 엔터티들에 포함된 제 1 엔터티가 자신의 차일드 키와 해시 값을 생성하여 제 2 엔터티에 인증을 요청하는 단계;
    (c) 상기 엔터티들에 포함된 제 2 엔터티가 수신한 상대의 차일드 키와 해시 값으로 상대의 인증서를 확인하여 인증을 수행하고 자신의 차일드 키와 해시 값을 생성하여 제 1 엔터티에 인증을 요청하는 단계; 및
    (d) 상기 제 1 엔터티가 수신한 상대의 차일드 키와 해시 값으로 인증서를 확인하는 단계;를 포함하고,
    상기 (b) 단계는,
    임의의 정수 j를 선택하는 단계;
    상기 임의의 정수 j로부터 해시 값{(H1) = hash(j, Q^)} 및 차일드 키{dj = (d^ + H1 mod p)}를 생성하는 단계; 및
    상기 해시 값 및 차일드 키로 상호 인증을 요청하는 단계;를 포함하는 것을 특징으로 하는 ECC 기반의 차일드 키를 이용한 상호 인증 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계는,
    상기 인증 기관으로부터 발급받은 인증서를 자신의 ECC 공개 키 쌍(d^, Q^) 중 Q^와 ECC 파라미터를 이용하여 암호화하는 단계; 및
    암호화된 인증서를 키 저장소에 등록하는 단계;를 포함하는 ECC 기반의 차일드 키를 이용한 상호 인증 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 (c) 단계는,
    제 1 엔터티에서 전송된 차일드 키와 해시 값으로 상대의 마스터 복호 키를 복구하는 단계;
    제 1 엔터티의 블록체인 계정에 저장된 트랜잭션을 가져와 복호화하여 인증을 수행하는 단계; 및
    인증이 완료되면, 자신의 ECC 공개 키 쌍에 기반한 해시 함수{(H2) = hash(j, Q^2)}와 차일드 키{(dj2) = (d^2+ H2 mod p)}를 생성하여 전송하는 단계;를 포함하는 ECC 기반의 차일드 키를 이용한 상호 인증 방법.
  5. 제 1 항에 있어서,
    상기 (d) 단계는,
    제 2 엔터티에서 전송된 차일드 키와 해시 값으로 상대의 마스터 복호 키를 복구하는 단계; 및
    제 2 엔터티의 블록체인 계정에 저장된 트랜잭션을 가져와 복호화하여 인증을 수행하는 단계;를 포함하며,
    인증이 완료되면 상호 인증이 이루어지는 ECC 기반의 차일드 키를 이용한 상호 인증 방법.
KR1020180077738A 2018-07-04 2018-07-04 Ecc 기반의 차일드 키를 이용한 상호 인증 방법 KR102120327B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180077738A KR102120327B1 (ko) 2018-07-04 2018-07-04 Ecc 기반의 차일드 키를 이용한 상호 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180077738A KR102120327B1 (ko) 2018-07-04 2018-07-04 Ecc 기반의 차일드 키를 이용한 상호 인증 방법

Publications (2)

Publication Number Publication Date
KR20200004629A KR20200004629A (ko) 2020-01-14
KR102120327B1 true KR102120327B1 (ko) 2020-06-08

Family

ID=69152929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180077738A KR102120327B1 (ko) 2018-07-04 2018-07-04 Ecc 기반의 차일드 키를 이용한 상호 인증 방법

Country Status (1)

Country Link
KR (1) KR102120327B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313372B1 (ko) * 2021-02-24 2021-10-15 주식회사 에프원시큐리티 사물인터넷 환경에서 디바이스 인증방법 및 이를 위한 디바이스 인증시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524783B1 (ko) * 2021-04-16 2023-04-24 유비벨록스(주) IoT 디바이스 인증 시스템 및 이를 이용한 IoT 디바이스 인증 방법
CN117478302B (zh) * 2023-12-28 2024-03-01 湖南天河国云科技有限公司 基于区块链隐私节点身份验证方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100658301B1 (ko) * 1999-11-22 2006-12-14 주식회사 케이티 무선통신시스템에서의 공개키 기반 상호 인증 방법
US20160164678A1 (en) 2013-09-10 2016-06-09 M2M And Lot Technologies, Llc Secure PKI Communications for "Machine-To-Machine" Modules, Including Key Derivation by Modules and Authenticating Public Keys
KR101800737B1 (ko) 2016-06-27 2017-11-23 경북대학교 산학협력단 사용자 인증을 위한 스마트기기의 제어방법, 이를 수행하기 위한 기록매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014849B1 (ko) * 2005-12-02 2011-02-15 고려대학교 산학협력단 제 3의 신뢰기관의 도움 없이 공개키에 대한 상호 인증 및키 교환 방법 및 그 장치
KR101780636B1 (ko) 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100658301B1 (ko) * 1999-11-22 2006-12-14 주식회사 케이티 무선통신시스템에서의 공개키 기반 상호 인증 방법
US20160164678A1 (en) 2013-09-10 2016-06-09 M2M And Lot Technologies, Llc Secure PKI Communications for "Machine-To-Machine" Modules, Including Key Derivation by Modules and Authenticating Public Keys
KR101800737B1 (ko) 2016-06-27 2017-11-23 경북대학교 산학협력단 사용자 인증을 위한 스마트기기의 제어방법, 이를 수행하기 위한 기록매체

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Minhaj Ahmad Khan et al. IoT security: Review, blockchain solutions, and open challenges, Future Generation Computer Systems Vol. 82. May 2018. pp. 395-411
Nazri Abdullah et al. Blockchain based approach to enhance big data authentication in distributed environment. 2017 Ninth International Conference on Ubiquitous and Future Networks (ICUFN). 2017.07.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313372B1 (ko) * 2021-02-24 2021-10-15 주식회사 에프원시큐리티 사물인터넷 환경에서 디바이스 인증방법 및 이를 위한 디바이스 인증시스템

Also Published As

Publication number Publication date
KR20200004629A (ko) 2020-01-14

Similar Documents

Publication Publication Date Title
US11651362B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
CN113783836B (zh) 基于区块链和ibe算法的物联网数据访问控制方法及系统
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
JP6731491B2 (ja) データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法
US9332002B1 (en) Authenticating and authorizing a user by way of a digital certificate
JP5513482B2 (ja) ネットワーク内のステーション分散識別方法
CN108604983A (zh) 通过域名服务对私钥的安全的委托分发
US11367065B1 (en) Distributed ledger system for electronic transactions
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
ES2665887T3 (es) Sistema de datos seguro
KR102120327B1 (ko) Ecc 기반의 차일드 키를 이용한 상호 인증 방법
CA3093869C (en) Trust extension in a secure communication framework
CN107493165A (zh) 一种具有强匿名性的车联网认证及密钥协商方法
TWI556618B (zh) Network Group Authentication System and Method
Agarwal et al. Guarded dual authentication based DRM with resurgence dynamic encryption techniques
CN108768650A (zh) 一种基于生物特征的短信验证系统
CN102882882B (zh) 一种用户资源授权方法
CN116318637A (zh) 设备安全入网通信的方法和系统
KR20170086571A (ko) 추적불가능한 방식으로 서버에 대한 연결 없이 속성들을 인증하기 위한 방법
Ren et al. BIA: A blockchain-based identity authorization mechanism
KR102120328B1 (ko) Ecc 공개키 방식과 해시 값을 이용한 사용자 인증 방법
Téllez et al. Security in mobile payment systems
Shree et al. Blockchain Based Data Security for Fog Enabled IoT Infrastructure
Kandepet An overview of public key infrastructure

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