이전에 말씀드린 바와 같이 코인 플러그의 특허 중 많은 특허는 인증에 관련된 것입니다.
코인플러그의 특허 중 많은 특허가 아래의 원칙에 기초하고 있습니다.
개념1: A의 개인키(Private Key)로 암호화된 메시지는 오직 A의 공개키(Public Key)로만 복호화 할 수 있다.
개념2: A의 공개키(Public Key)로 암호화된 메시지는 오직 A의 개인키(Private Key)로만 복호화 할 수 있다.
이번 글에서 분석할 특허는 아래의 특허입니다.
본 특허는 출원번호 10-2015-0188978 “파일에 대한 공증 및 검증을 수행하는 방법 및 서버”와 유사한 특허입니다. ECM특허법률사무소 BLOCK#2에서 설명드린 발명의 명칭도 같고, 출원일도 같습니다.
그림은 복잡하나 마찬가지로 단순한 내용인데요,
등록된 청구항 제1항을 보면 파일에 대한 공증을 수행하기 위해 아래와 같은 동작이 수행됩니다.
<청구항 제1항>
파일에 대한 공증을 수행하는 방법에 있어서,
(a) 특정 파일에 대한 공증 요청이 획득되면, 서버가, hash 함수를 사용하여 상기 특정 파일의 message digest를 생성하거나 생성하도록 지원하는 단계,
(b) 제1 사용자의 private key로 인코딩된 message digest 및 제2 사용자의 private key로 인코딩된 message digest가 획득되고, (i) 상기 제1 사용자의 private key로 인코딩된 message digest를 상기 제1 사용자의 public key로 디코딩한 정보(A), (ii) 상기 제2 사용자의 private key로 인코딩된 message digest를 상기 제2 사용자의 public key로 디코딩한 정보(B) 및 상기 (a) 단계에서 생성된 message digest(C)가 일치하면, 상기 서버가, 상기 제1 사용자의 private key, 상기 제2 사용자의 private key 및 상기 서버의 private key를 사용하여 인코딩된 message digest의 해쉬값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계, 및
(c) 상기 서버가, 상기 등록된 해쉬값의 상기 데이터베이스 상의 위치 정보를 나타내는 transaction ID를 획득하는 단계를 포함하고,
상기 (b) 단계에서,
상기 A, 상기 B 및 상기 C가 일치하면,
상기 서버는, 상기 제1 사용자의 private key로 인코딩된 message digest와 상기 제2 사용자의 private key로 인코딩된 message digest를 합한 값을 상기 서버의 private key로 인코딩한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.
본 발명에서는
“개념1: 개인키로 암호화된 메시지는 공개키로만 복호화되고, 전자서명의 역할을 한다.“
이것 하나만으로 기억하시면 됩니다.
단계 (a)에서는 서버가 공증 대상 파일에 대한 해시값(MESSAGE DIGEST(C))을 생성합니다.
서버는 제1사용자, 제2 사용자 또는 다른 제3 단말로부터 공증 대상 파일을 수신할 수 있습니다.
파일이나, 미디어 파일 등은 해시값을 기반으로 변조 여부를 확인할 수 있습니다.
단계 (b)에서는 제1 사용자가 공증 대상 파일의 해시(MESSAGE DIGEST(A))에 대해 프라이빗 키A를 기반으로 암호화를 수행하고, 프라이빗 키A(MESSAGE DIGEST(A))를 생성할 수 있습니다. 제1 사용자가 공증 대상 파일을 확인하고 해시화한 후, 자신의 프라이빗 키A를 기반으로 전자 서명을 하는 절차입니다.
또한, 제2 사용자가 공증 대상 파일의 해시(MESSAGE DIGEST(B))에 대해 프라이빗 키B를 기반으로 암호화를 수행하고, 프라이빗 키B(MESSAGE DIGEST(B))를 생성할 수 있습니다. 제2 사용자가 공증 대상 파일을 확인하고 해시화한 후, 자신의 프라이빗 키B를 기반으로 전자 서명을 하는 절차입니다.
서버는 이로써
개념 1과 같이 제1 사용자의 프라이빗 키A로 암호화된 해시값 프라이빗 키A(MESSAGE DIGEST(A))는 제1 사용자의 퍼블릭키 A로 복호화될 수 있습니다.
프라이빗 키A(MESSAGE DIGEST(A))가 퍼블릭키 A로 복호화되는 경우, 제1 사용자가 공증 대상 파일에 대해 확인하고, 이에 대해 전자서명을 한 효과와 동일합니다.
마찬가지로, 프라이빗 키A(MESSAGE DIGEST(B))가 퍼블릭키 B로 복호화되는 경우, 제2 사용자가 공증 대상 파일에 대해 확인하고, 이에 대해 전자서명을 한 효과와 동일합니다.
서버는 MESSAGE DIGEST(A)=MESSAGE DIGEST(B)=MESSAGE DIGEST(C)인지 여부를 확인하고, 동일하다면, 공증 대상 파일에 대한 변조가 없는 것으로 판단하고,
최종적으로 서버가 확인을 하였음을 전자 서명하기 위해 서버의 프라이빗 키인 프라이빗 키C로 암호화하고, 암호화한 결과를 데이터베이스에 저장할 수 있습니다.
복잡해보이지만, ‘개념1: A의 개인키(Private Key)로 암호화된 메시지는 오직 A의 공개키(Public Key)로만 복호화 할 수 있다.’외의 개념은 없습니다.
ECM특허법률사무소
김시우 변리사
[email protected]