ECM특허법률사무소 BLOCK#3_코인플러그특허분석_2
이전에 말씀드린 바와 같이 코인 플러그의 특허 중 많은 특허는 인증에 관련된 것입니다.
코인플러그의 특허 중 많은 특허가 아래의 원칙에 기초하고 있습니다.
개념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를 기반으로 전자 서명을 하는 절차입니다.
서버는 이로써
- 서버가 공증 대상 파일을 해시화한 값(MESSAGE DIGEST(C)),
- 프라이빗 키A(MESSAGE DIGEST(A))
- 프라이빗 키B(MESSAGE DIGEST(B))
를 가질 수 있습니다.
공증 대상 파일에 대한 변조가 없었다면, 동일한 파일이므로 해시값은 모두 동일해야 합니다.
즉, MESSAGE DIGEST(A)=MESSAGE DIGEST(B)=MESSAGE DIGEST(C) 여야 합니다.
개념 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)로만 복호화 할 수 있다.’외의 개념은 없습니다.
- A가 공증 대상 파일 확인하고 해시화한 후 A의 프라이빗키로 본인이 확인하였음을 전자 서명
- B가 공증 대상 파일 확인하고 해시화한 후 B의 프라이빗키로 본인이 확인하였음을 전자 서명
- 서버가 기준 공증 대상 파일 해시값=A로부터 수신한 공증 대상 파일 해시값=B로부터 수신한 공증 대상 파일 해시값 확인 후 동일하면 서버가 서버의 프라이빗키로 전자 서명 후 저장.
위의 단순한 절차입니다.
마찬가지로 어떤 분들은 이런 것도 특허가 되느냐고 하시는 분들도 있으실 것 같은데요, 특허는 심사단계에서 등록이 되어도, 심판단계, 소송단계에서 무효가 될 수도 있으니, 심사 후 등록이 되었다고 완전한 등록은 아닙니다.
또한, 추후 본 특허의 권리 범위를 피해서 파일 공증 절차를 수행하고 싶다면, 본 특허의 특허 권리 범위를 회피하여 유사한 파일 공증 절차를 수행할 수 있는 침해 회피 방법에 대해서도 알아보도록 하겠습니다.
ECM특허법률사무소
김시우 변리사
swkim@ecmpatent.com
✅ @freeanimal, I gave you an upvote on your post!
If you are interested in claiming free Byteballs ($10+), just for having a Steem account, please visit this post for instructions: https://steemit.com/steem/@berniesanders/do-you-want-some-free-byteballs