KR102415982B1 - 블록체인 시스템 - Google Patents
블록체인 시스템 Download PDFInfo
- Publication number
- KR102415982B1 KR102415982B1 KR1020200017617A KR20200017617A KR102415982B1 KR 102415982 B1 KR102415982 B1 KR 102415982B1 KR 1020200017617 A KR1020200017617 A KR 1020200017617A KR 20200017617 A KR20200017617 A KR 20200017617A KR 102415982 B1 KR102415982 B1 KR 102415982B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- digital signature
- block
- unit
- node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명은 블록체인 시스템에 관한 것으로, 본 발명에 따르면, 노드(Node) 간의 거래 정보를 블록으로 생성하는 블록생성 서버 및 거래 정보의 유효성의 검증을 위해 사용하는 전자서명 서버를 포함하는 블록체인 시스템을 제공할 수 있다.
Description
본 발명은 블록체인 시스템에 관한 것으로, 보다 상세하게는, 디지털화된 공개 분산 원장을 사용하여 거래 기록의 무결성과 신뢰성을 보장하는 기술로 특히 블록체인 시스템에서 처리하는 거래 기록의 투명성을 보장하기 위하여 사용자의 공개된 ID를 기반으로 하는 블록체인 시스템 에 관한 것이다.
일반적으로 블록체인은 '디지털화된 공개 분산 원장을 사용하여 거래 기록의 무결성과 신뢰성을 보장하는 기술'로 정의되며 블록체인 기술의 주요 아이디어는 1980년대 후반 또는 1990년대 초반에 처음 등장하였으나 비트코인이라는 암호 화폐의 등장으로 인해 사람들의 큰 주목을 끌게 되었다. 그리고 시간이 경과하면서 이 기술이 가지고 있는 독창적인 특성들에 대한 연구가 진행되었고 최근에는 이러한 특성을 이용하여 다양한 분야에 활용하는 방안이 많이 알려지고 있다.
블록체인은 말 그대로 'blockchain', 즉 '연결된 블록'을 의미하며 P2P 네트워크와 분산시스템을 이용하여 연결된 블록을 자율적으로 관리하는 기술을 말한다.
블록체인의 가장 큰 특징 중의 하나는 중앙 저장소에 데이터를 저장할 때 발생하는 실패점(Point of Failure)의 존재, 즉 공격 목표가 한 곳으로 정해지고 따라서 해커들은 한 곳만 공격하면 되는 상황을 제거한다는 점에 있다. 즉 블록체인에서는 모든 참여자인 노드가 동일한 권한을 가지고 동일한 내용을 저장하고 있기 때문에 해커들의 공격 목표가 분산되는 효과를 가지게 된다.
또한 블록체인에서 각각의 블록 또는 그 복사본은 컴퓨터 네트워크 상의 모든 노드에 저장되고 새로운 블록이 발생하는 경우 그 블록을 이전 블록체인에 연결하기 위해서는 다수 노드의 승인을 필요로 하기 때문에 블록체인에 저장된 내용의 조작 또는 위조를 위해서는 네트워크에 참여하는 컴퓨터 노드의 절반 이상에 대한 공격을 필요로 한다. 따라서 블록체인에 저장된 내용은 위변조가 매우 어렵다고 알려져 있다.
블록체인상에서의 거래의 승인을 위해서는 공개키 암호시스템 기술이 사용되는데 실제 거래를 위해 수신자의 공개키를 주소로 사용하고 송신자는 여기에 전자 서명을 하며 마지막으로 해시 계산을 통해 거래가 검증된다.
블록체인 기술은 여러가지 장점에도 불구하고 많은 비판 역시 받고 있다. 가령 대표적인 비판으로 거론되는 것은 블록체인 기술이 적용된 암호 화폐가 무기 구매, 마약 구매, 랜섬웨어에 대한 몸값 지급 등과 같은 범죄 활동과 관련된 시장에서 주로 유통이 되고 이를 규제할 수 있는 방법이 없다는 점이다. 즉, 블록체인 기술에 기반한 여러 응용에서 노드의 공개키(이하 전자서명검증키)는 특정 거래의 수신 주소로 사용이 되고 개인키(이하 전자서명생성키)는 거래의 유효성을 보장해 주는 전자 서명의 생성을 위해 사용이 되는데 이 때 사용되는 전자서명검증키와 전자서명생성키는 일반적으로 난수의 형태를 가지고 있기 때문에 실제 거래의 주체를 식별하는 것이 매우 어렵다고 알려져 있다. 그리고 이러한 거래의 익명성이 결국 무기 구매, 마약 구매, 랜섬웨어에 대한 몸값 지급 등과 같은 검은 거래에서 암호화폐가 주로 유통되는 이유가 된다.
또 다른 블록체인의 문제점으로는, 거래의 유효성을 증명하기 위해 사용하는 전자서명시스템에서 사용자의 부주의 등으로 인해 각 사용자가 안전하게 보관해야 하는 전자서명생성키를 분실했을 경우 이를 복구하는 것이 현재로서는 거의 불가능하다는 것이다. 실제로 블록체인 시스템에서 가장 많이 사용되는 전자서명시스템의 전자서명생성키와 전자서명검증키는 256비트 이상의 길이를 가지는 난수로 이루어져 있기 때문에 사용자가 이를 기억하는 것도 어렵고 만약 분실이 된 경우에도 해당 전자서명검증키로부터 전자서명생성키를 복구하는 것은 거의 불가능하다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 블록체인 시스템에서 블록을 생성하는 블록생성 서버와 거래 유효성의 검증을 위해 사용되는 전자서명 서버를 분리하고 전자서명 서버에서 사용하는 전자서명생성키와 전자서명검증키를 사용자의 공개된 ID 정보를 기반으로 생성되게 하여 거래 당사자의 식별을 용이하게 하고, 전자서명 서버의 키 생성 기능을 관리 서버가 담당하게 하고, 관리 서버를 통해 해당 키를 복구하는 기능을 가진 블록체인 시스템을 제공하고자 한다.
상기와 같은 과제를 해결하기 위하여, 상기한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 블록체인 시스템은 노드(Node) 간의 거래 정보를 블록으로 생성하는 블록생성 서버 및 거래 정보의 유효성의 검증을 위해 사용하는 전자서명 서버를 포함할 수 있다.
또한, 상기 블록생성 서버는, 상기 노드 간의 거래 정보를 생성하는 거래생성부; 생성된 상기 거래 정보를 검증하는 거래검증부; 검증된 상기 거래 정보를 블록으로 저장하는 블록저장부; 상기 블록저장부에서 저장된 블록을 기존 블록에 연결을 시도하는 블록시도부; 기존 블록에 연결 시도하려는 상기 블록을 검증하는 블록검증부 및 상기 블록검증부로부터 검증된 블록을 기존 블록에 연결하여 새로운 블록체인을 생성하는 블록체인부를 포함할 수 있다.
또한, 상기 전자서명 서버는, 상기 거래검증부로부터 상기 거래 정보의 검증을 요청받아, 거래 정보를 수신하여 상기 거래 정보의 정당성을 검증하는 서버로, 시스템 인자를 생성한 후, 공개 하는 시스템인자 설정부; 노드의 전자서명 생성키 및 전자서명 검증키를 생성하고 공개하는 키 생성부; 상기 키 생성부로부터 전자서명 생성키를 제공받아 전자서명을 생성하는 전자서명 생성부 및 상기 키 생성부로부터 전자서명 검증키를 제공받아 전자서명을 검증하는 전자서명 검증부를 포함할 수 있다.
또한, 상기 전자서명 서버는, 노드의 공개된 정보인 ID를 기반으로 사용하는 것을 특징으로 할 수 있다.
또한, 상기 시스템 인자 설정부는, 보안 강도를 입력 받아서, 시스템 인자를 생성한 후, 모든 노드가 사용할 수 있도록 공개하는 것을 특징으로 할 수 있다.
또한, 상기 키 생성부는, 노드의 ID를 바탕으로 전자서명생성키와 전자서명검증키를 생성하고, 상기 전자서명검증키를 모든 노드가 접근 가능한 방식으로 공개하며, 상기 전자서명생성키를 노드에게 전달하는 것을 특징으로 할 수 있다.
또한, 상기 전자서명생성부는, 노드의 서명과 상기 전자서명생성키가 주어졌을 때, 메시지에 대한 전자서명을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 전자서명검증부는, 노드의 서명과 상기 전자서명이 주어졌을 때, 상기 전자서명검증키를 이용하여 해당 서명의 유효성을 검증하는 것을 특징으로 할 수 있다.
또한, 상기 블록체인 시스템은, 상기 시스템인자 설정부와 상기 키 생성부를 별도로 관리하는 관리 서버를 더 포함할 수 있다.
또한, 상기 관리 서버는, 노드가 키를 분실하였을 때, 상기 노드의 ID를 기반으로 분실한 키를 복구하는 기능을 포함할 수 있다.
본 발명에 의하면 블록체인 시스템은 블록체인 시스템에서 블록을 생성하는 블록생성 서버와 블록의 검증을 위해 사용되는 전자서명 서버를 분리하고 전자서명 서버에서 사용하는 전자서명생성키와 전자서명검증키를 사용자의 공개된 ID 정보를 기반으로 생성되게 하고, 관리 서버로 전자서명 서버의 키 생성 기능 및 키를 복구하는 기능을 부여함으로써, 사용자는 키생성기관이 생성한 전자서명생성키를 이용하여 블록체인 상에서 발생하는 거래의 유효성을 보장하는 전자서명의 생성이 가능할 수 있다.
또한, 노드 A는 다른 노드 B의 전자서명검증키를 이용하면 B가 생성한 전자서명의 유효성을 검증할 수 있다.
또한, 모든 노드의 공개키는 사용자의 ID로부터 추출이 가능하기 때문에 필요시 ID 정보를 이용하여 거래 당사자에 대한 정보를 유추할 수 있게 된다.
또한, 블록체인 시스템상에서 불법적인 거래가 이뤄진다고 판단하면 사법기관 등은 관리 서버의 도움을 바탕으로 해당 거래와 관련된 각 노드의 정보를 확인할 수 있다.
또한, 노드가 자신의 ID에 대응되는 전자서명생성키를 분실하게 되면 관리 서버의 도움을 통해 전자서명생성키를 복구 할 수 있다.
도 1은 본 발명의 실시예에 따른 블록체인 시스템의 구성도.
이하, 도면을 참조한 본 발명의 설명은 특정한 실시 형태에 대해 한정되지 않으며, 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있다. 또한, 이하에서 설명하는 내용은 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용되는 용어로서, 그 자체에 의미가 한정되지 아니하며, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서 전체에 걸쳐 사용되는 동일한 참조번호는 동일한 구성요소를 나타낸다.
본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 이하에서 기재되는 "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로 해석되어야 하며, 하나 또는 그 이상의 다른 특징들이나, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시 예를 첨부한 도 1을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 블록체인 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 블록체인 시스템은, 노드간의 거래 정보를 블록으로 생성하는 블록생성 서버(10)를 포함할 수 있다.
여기서 노드란, 일반적으로 네트워크에서 연결지점을 의미하며, 노드는 다른 노드로 데이터를 전송하고 이를 인식하여 처리하는 것으로, 블록체인에서의 노드는 블록체인의 관리자인 동시에 사용자가 될 수 있다. 이에 따라, 수많은 노드가 연결되어 정보와 암호화폐를 거래할 수 있다.
즉, 각각의 노드들이 하나의 서버 역할을 하며, 각 노드가 블록 정보를 가지고 신뢰성을 유지해주는 역할을 할 수 있다.
블록생성 서버(10)는 노드 간의 거래 정보를 블록으로 생성하는 서버로, 거래생성부(11), 거래검증부(12), 블록저장부(13), 블록시도부(14), 블록검증부(15) 및 블록체인부(16)를 포함할 수 있다.
거래생성부(11)는 노드 간의 거래 정보를 생성할 수 있다.
거래검증부(12)는 거래생성부(11)로부터 생성된 거래 정보를 제공받아 다수의 불특정 노드의 승인을 통해 그 거래의 정당성을 검증할 수 있다.
블록저장부(13)는 거래검증부(12)로부터 특정 시간 동안 발생된 거래를 블록이라는 데이터 구조에 임시로 저장하는 곳이며, 여기서, 임시로 저장된 블록은 신규 블록이라고 지칭한다.
블록시도부(14)는 블록저장부(13)에서 임시로 저장된 신규 블록을 기존 블록에 연결하기 위해 시도하는 곳으로, 더욱 자세하게는 노드가 블록체인 시스템(1)에서 사전에 정해진 합의 프로토콜을 이용하여 저장된 신규 블록과 기존에 존재했던 블록 사이를 연결하려는 시도를 하는 곳이다.
블록검증부(15)는 블록시도부(14)에서 연결을 시도하려는 신규 블록을 검증하는 곳으로, 블록끼리의 연결을 시도하려는 정보를 블록체인 시스템(1)의 노드로 송부하고, 불특정 다수의 노드는 정보를 수신하여 신규 블록을 검증할 수 있다.
블록체인부(16)는 블록검증부(15)에서 신규 블록의 검증이 성공할 경우, 신규 블록은 기존 블록에 연결할 수 있는 자격을 가지게 되며, 이에 따라, 신규 블록과 이전 블록이 연결되어 새로운 블록체인을 생성할 수 있다.
본 발명의 실시예에 따른 블록체인 시스템(1)은 전자서명 서버(20)를 더 포함할 수 있다.
전자서명 서버(20)는 거래검증부(12)로부터 거래 정보의 검증을 요청 받아, 거래 정보를 수신하여 거래 정보의 정당성을 검증할 수 있다.
또한, 전자서명 서버(20)는 서명을 생성하고자 하는 노드의 공개된 정보인 ID를 기반으로 운영되는 것을 특징으로 할 수 있다.
또한, 전자서명 서버(20)는 시스템인자 설정부(21), 키 생성부(22), 전자서명 생성부(23) 및 전자서명 검증부(24)를 포함할 수 있다.
시스템인자 설정부(21)는 블록체인 시스템(1)의 모든 노드가 사용할 수 있는 시스템인자를 생성한 후, 공개할 수 있다.
여기에서, 시스템인자는 블록체인 시스템(1)에 참여하는 모든 노드가 자유롭게 사용할 수 있는 공개된 정보로써, 블록체인 시스템(1)이 동작하기 위해 기본적으로 사용하는 정보를 의미할 수 있다.
이 때, 시스템인자는 공개된 게시판에 게시될 수도 있고, 시스템에 관한 표준 문서에 기술될 수 있으며, 이에 한정되지 않는다.
또한, 시스템인자 설정부(21)는 RSA 공개키 암호시스템을 기반으로 다음과 같이 여섯 단계로 전체 노드가 이용 가능한 시스템인자를 생성할 수 있으며, 이에 한정되지 않고, 다양한 방식의 암호시스템을 이용하여 시스템 구현을 할 수 있다.
(1) 서로 다른 두 소수 p, q를 생성한다.
(2) N = p*q, phi = (p-1)*(q-1)을 계산한다.
(3) phi와 서로 소인 (즉, 최대공약수가 1인) 자연수 e를 생성한다.
(4) d = 1/e mod phi 를 만족시키는 d를 계산한다.
(5) 주어진 자연수 n에 대하여 H1: {0,1}*ⅹZN* → {0,1}n, H2: {0,1}*→ZN* 인 2개의 해시함수 H1, H2를 선택한다. 여기서 {0,1}*는 모든 비트열의 집합을, ZN*은 1, …, N-1 중에서 N과 서로 소인 수를 모아 놓은 집합을, {0,1}n은 길이가 n인 모든 비트열을 모아 놓은 집합을 각각 의미한다.
(6) 키 생성부는 d를 자신의 개인키로 안전하게 보관하고 (N, e)는 자신의 공개키로, (H1, H2)는 시스템 인자로 공개한다.
한편, 위에서 언급한 RSA 공개키 암호 시스템은 RSA 키생성, RSA 암호화 및 RSA 복호화를 포함할 수 있다.
또한, 각 단계에 대한 상세한 설명은 다음과 같다.
먼저, RSA 키 생성은 시스템에 참여하는 모든 노드가 공개키/개인키를 생성하는 것으로, 다음과 같이 다섯 단계로 이루어질 수 있다.
(1) 서로 다른 매우 큰 두 소수 p, q를 생성한다.
(2) N = p*q, phi = (p-1)*(q-1)을 계산한다.
(3) phi와 서로 소인(즉, 최대공약수가 1인) 자연수 e를 생성한다.
(4) d = 1/e mod phi 를 만족시키는 d를 계산한다.
(5) 이 중에서 공개키는 (N, e), 개인키는 d로 설정하고 공개키는 게시판 등에 공개하고 개인키는 비밀스럽게 보관한다.
RSA 암호화는 메시지 m을 노드 A에게 비밀스럽게 보내고자 하는 노드 B는 노드 A의 공개키 (N, e)를 게시판 등에서 알아낸 후 다음과 같은 과정을 거쳐 암호문 c를 계산한 후 c를 노드 A에게 전송할 수 있다.
(1) c = me mod N
RSA 복호화는 암호문 c를 전송 받은 노드A는 자신의 개인키 d를 이용해 다음과 같은 과정을 거쳐 복호문 m을 계산할 수 있다.
(1) m = cd mod N
키 생성부(22)는 노드의 ID를 바탕으로 전자서명생성키와 전자서명검증키를 생성할 수 있다.
이와 같이 전자서명검증키가 노드의 ID 바탕으로 생성됨으로써, 해당 거래 당사자인 노드의 신원이 공개되는 효과를 지니게 될 수 있다.
이 중에서, 전자서명생성키는 노드에게 전달하고, 전자서명검증키는 블록체인 시스템의 모든 노드가 접근 가능할 수 있도록 공개될 수 있다.
이 때, 전자서명 검증키를 공개하는 방식은, 노드가 다른 노드에게 이메일로 전송하거나, 홈페이지에 게시할 수도 있으며, 공개 게시판에 게시하는 등 다양한 방식으로 공개할 수 있으나, 이에 한정되지 않는다.
또한, 키 생성부(22)는 RSA 공개키 암호시스템을 기반으로 노드가 자신의 ID를 키 생성부(22)에 제출하면 키 생성부(22)는 하기 두 단계를 통해 해당 노드의 전자서명생성키 Priv와 전자서명검증키 Pub를 생성한 후 이 중에서 Pub는 블록체인 시스템(1)의 모든 노드가 접근 가능한 방식으로 공개하고 Priv는 해당 노드에게 안전하게 전달할 수 있다.
(1) Pub= H2 (ID)를 계산한다.
(2) 키 생성부의 개인키 d를 이용하여 Pri=Pubd mod N을 계산한다.
전자서명 생성부(23)는 서명하고자 하는 메시지와 키 생성부(22)로부터 생성된 노드의 전자서명생성키가 주어졌을 때, 메시지에 대한 전자서명을 생성할 수 있다. 여기서 서명하고자 하는 메시지는, 거래 정보에 포함되며, 거래 생성 시 필요한 메시지일 수 있다.
또한, 전자서명 생성부(23)는 RSA 공개키 암호시스템을 기반으로 서명을 하고자 하는 메시지 m과 노드의 전자서명생성키 Priv가 주어졌을 때 m에 대한 전자서명 (t, s)를 다음과 같이 생성할 수 있다.
(1) ZN*에서 임의의 원소 r을 선택한다.
(2) t = re mod N을 계산한다.
(3) h = H1(m,t)을 계산한다.
(4) s = r*Privh mod N을 계산한다.
전자서명 검증부(24)는 메시지와 전자서명 생성부(23)로부터 생성된 전자서명이 주어졌을 때, 노드의 공개된 전자서명검증키를 이용하여 해당 서명의 유효성을 검증할 수 있다.
또한, 전자서명 검증부(24)로부터의 전자 서명의 유효성을 검증받음으로써, 거래의 정당성을 검증할 수 있다.
또한, 전자서명 검증부(24)는 RSA 공개키 암호시스템을 기반으로 메시지 m과 m에 대한 전자서명 (t,s)가 주어졌을 때, 노드의 (공개된) 전자서명검증키 Pub 그리고 키 생성부(22)의 시스템 인자 e를 이용하여 해당 거래 정보의 유효성을 다음과 같이 검증할 수 있다.
(1) h = H1(m,t)을 계산한다.
(2) se = t*Pubh mod N이 성립함을 검증한다.
본 발명의 실시예에 따른 블록체인 시스템(1)은 관리 서버(30)를 더 포함할 수 있다.
관리 서버(30)는 전자서명 서버(20)의 시스템인자 설정부(21)와 키 생성부(22)를 별도로 관리할 수 있다.
또한, 관리 서버(30)는 노드가 전자서명생성성키를 분실하였을 경우, 노드의 ID를 기반으로 분실한 전자서명생성키를 복구하는 기능(미도시)을 포함할 수 있다.
이 때, 관리 서버(30)를 통해 분실한 전자서명생성키를 복구하는 기능은, 복구요청 단계, 정보요청 단계, 증명 단계 및 복구 단계를 통해 진행할 수 있다.
복구요청 단계는 전자서명생성키를 분실한 노드가 자신의 ID를 관리 서버(30)에 제공하고, 전자서명생성키의 복구를 요청하는 단계이다.
정보요청 단계는 노드로부터 전자서명생성키의 복구 요청을 받은 관리 서버(30)가 ID의 소유주를 확인하기 위해 노드에게 부가 정보를 요청하는 단계이다.
이 때, 부가 정보는 전자서명생성키를 생성하는 단계에서 ID와 함께 제출하는 정보로, 노드의 실명, 주민등록번호 및 전화번호 등을 포함할 수 있다.
증명 단계는 노드가 자신의 부가 정보를 관리 서버(30)로 전송하여 ID의 진위를 증명하는 단계이다.
복구 단계는 노드의 ID와 관리 서버(30)의 개인키를 사용하여 노드의 ID에 해당하는 전자서명생성키와 전자서명검증키를 계산하고, 이 중에서 전자서명생성키를 노드로 전송하는 단계이다.
이에 따라, 거래의 유효성을 증명하기 위해 사용하는 전자서명 서버(20)에서 노드의 부주의 등으로 인해 안전하게 보관해야 하는 전자서명생성키를 분실했을 경우, 관리 서버(30)를 통해 복구가 가능할 수 있다.
또한, 관리 서버(30)는 노드의 정보를 열람할 수 있다.
더욱 자세하게는, 블록체인 시스템(1)에서 불법적인 거래가 이루어졌을 때, 관리 서버(30)는 기관 서버(미도시)로부터 도움 정보가 수신되면, 해당 거래와 관련된 각 노드의 정보를 복구하여, 기관 서버로 전송할 수 있다.
이에 따라, 관리 서버(30)가 노드의 정보를 열람함으로써, 익명성으로 인한 불법적인 거래를 방지할 수 있다.
이상으로 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고 다른 구체적인 형태로 실시할 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것이다.
1: 블록체인 시스템
10: 블록생성 서버
11: 거래생성부
12: 거래검증부
13: 블록저장부
14: 블록연결부
15: 블록검증부
16: 블록생성부
20: 전자서명서버
21: 시스템인자 설정부
22: 키 생성부
23: 전자서명 생성부
24: 전자서명 검증부
30: 관리 서버
10: 블록생성 서버
11: 거래생성부
12: 거래검증부
13: 블록저장부
14: 블록연결부
15: 블록검증부
16: 블록생성부
20: 전자서명서버
21: 시스템인자 설정부
22: 키 생성부
23: 전자서명 생성부
24: 전자서명 검증부
30: 관리 서버
Claims (10)
- 노드(Node) 간의 거래 정보를 생성하는 거래생성부, 생성된 상기 거래 정보를 검증하는 거래검증부, 검증된 상기 거래 정보를 블록으로 저장하는 블록저장부, 상기 블록저장부에서 저장된 블록을 기존 블록에 연결을 시도하는 블록시도부, 기존 블록에 연결 시도하려는 상기 블록을 검증하는 블록검증부 및 상기 블록검증부로부터 검증된 블록을 기존 블록에 연결하여 새로운 블록체인을 생성하는 블록체인부를 포함 하고, 상기 노드 간의 상기 거래 정보를 블록으로 생성하는 블록생성 서버;
거래 정보의 유효성의 검증을 위해 상기 거래검증부로부터 상기 거래 정보의 검증을 요청받아, 거래 정보를 수신하여 상기 거래 정보의 정당성을 검증하는 서버로서, 시스템 인자를 생성한 후, 공개 하는 시스템인자 설정부, 노드의 전자서명 생성키 및 전자서명 검증키를 생성하고 공개하는 키 생성부, 상기 키 생성부로부터 전자서명 생성키를 제공받아 전자서명을 생성하는 전자서명 생성부 및 상기 키 생성부로부터 전자서명 검증키를 제공받아 전자서명을 검증하는 전자서명 검증부를 포함하는 전자서명 서버 및
상기 시스템인자 설정부와 상기 키 생성부를 별도로 관리하며, 노드가 키를 분실하였을 때, 상기 노드의 ID를 기반으로 분실한 키를 복구하는 기능을 포함하는 관리 서버를 포함하는 블록체인 시스템.
- 삭제
- 삭제
- 제 1항에 대하여,
상기 전자서명 서버는,
노드의 공개된 정보인 ID를 기반으로 사용하는 것을 특징으로 하는 블록체인 시스템.
- 제 1항에 대하여,
상기 시스템 인자 설정부는,
보안 강도를 입력 받아서, 시스템 인자를 생성한 후, 모든 노드가 사용할 수 있도록 공개하는 것을 특징으로 하는 블록체인 시스템.
- 제 1항에 대하여,
상기 키 생성부는,
노드의 ID를 바탕으로 전자서명생성키와 전자서명검증키를 생성하고,
상기 전자서명검증키를 모든 노드가 접근 가능한 방식으로 공개하며,
상기 전자서명생성키를 노드에게 전달하는 것을 특징으로 하는 블록체인 시스템.
- 제 1항에 대하여,
상기 전자서명생성부는,
노드의 서명과 상기 전자서명생성키가 주어졌을 때, 메시지에 대한 전자서명을 생성하는 것을 특징으로 하는 블록체인 시스템.
- 제 1항에 대하여,
상기 전자서명검증부는,
노드의 서명과 상기 전자서명이 주어졌을 때, 상기 전자서명검증키를 이용하여 해당 서명의 유효성을 검증하는 것을 특징으로 하는 블록체인 시스템.
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200017617A KR102415982B1 (ko) | 2020-02-13 | 2020-02-13 | 블록체인 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200017617A KR102415982B1 (ko) | 2020-02-13 | 2020-02-13 | 블록체인 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210103191A KR20210103191A (ko) | 2021-08-23 |
KR102415982B1 true KR102415982B1 (ko) | 2022-06-30 |
Family
ID=77499346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200017617A KR102415982B1 (ko) | 2020-02-13 | 2020-02-13 | 블록체인 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102415982B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726541B (zh) * | 2022-04-08 | 2023-12-22 | 平安国际智慧城市科技股份有限公司 | 电子证照读取方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018158936A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電気株式会社 | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101937220B1 (ko) * | 2017-02-01 | 2019-01-11 | 주식회사 아이콘루프 | 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법 |
-
2020
- 2020-02-13 KR KR1020200017617A patent/KR102415982B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018158936A1 (ja) * | 2017-03-03 | 2018-09-07 | 日本電気株式会社 | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20210103191A (ko) | 2021-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11621833B2 (en) | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system | |
US10284379B1 (en) | Public key infrastructure based on the public certificates ledger | |
TWI706275B (zh) | 用於資訊保護的系統和方法 | |
CN113014392B (zh) | 基于区块链的数字证书管理方法及系统、设备、存储介质 | |
JP6841911B2 (ja) | 情報保護用のシステム及び方法 | |
KR100734737B1 (ko) | 조건부 전자 서명의 생성 방법, 조건부 전자 서명의 검증 방법, 데이터 처리 장치 및 컴퓨터 판독 가능 기록 매체 | |
CN101529797B (zh) | 用于使用包含个人信息的电子证明书来认证通信对方的系统、装置、方法 | |
CN102077506B (zh) | 用于对等存储系统的安全结构 | |
WO2021008453A1 (zh) | 一种基于标识认证的区块链离线交易方法和系统 | |
KR20180116278A (ko) | 안전한 정보 교환과 계층 구조적이고 결정론적인 암호키를 위한 공통 비밀 결정 | |
JP2020507222A (ja) | 情報保護のためのシステム及び方法 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN107908932B (zh) | 一种基于l算法的数字货币防伪及验证方法、系统和设备 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN113393225B (zh) | 数字货币加密支付方法及系统 | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN110289951A (zh) | 一种基于门限密钥共享及区块链的共享内容监管方法 | |
CN115396096A (zh) | 基于国密算法的秘密文件的加、解密方法及保护系统 | |
KR102415982B1 (ko) | 블록체인 시스템 | |
CN114003959A (zh) | 去中心化身份信息处理方法、装置和系统 | |
CN113761578A (zh) | 一种基于区块链的文书验真方法 | |
Boontaetae et al. | RDI: Real digital identity based on decentralized PKI | |
JP2020150428A (ja) | ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法 | |
CN115412236A (zh) | 一种密钥管理和密码计算的方法、加密方法及装置 | |
KR100654933B1 (ko) | 사용자의 패스워드 입력에 따라서 동적 생성되는 인증서를인증하는 인증시스템 및 인증방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |