전자 문서 진위 확인
일반적인 ‘전자 문서 진위 확인’은 문서의 지문 값(hash value)을 별도의 기관에 등록하고 타임스탬프 값을 받아 원본 문서에 삽입하여 보관하는 일련의 과정을 의미한다. 기관에서는 문서의 지문 값을 받아 보안성이 높은 독립된 스토리지에 보관하고 그에 대응하는 유일한 값(타임스탬프)을 리턴해야 한다.
진위 확인 시에는 문서에 삽입된 타임스탬프 값을 추출해 타임스탬프 발행 기관에게 제출하여 원본 문서의 지문 값을 받는다. 확인하고자 하는 문서의 지문 값을 생성해 기관으로부터 받은 지문 값과 비교하여 원본인지 확인이 가능하다.
타임스탬프
타임스탬프는 영어의 시간(Time)과 도장을 찍다(Stamp)의 합성어로 어떤 일이 일어난 시간을 기록하는 것을 말한다. 전자 문서의 타임스탬프는 문서의 지문 값과 현재 시간 값을 암호화하여 전자서명한 값을 의미하며, 원본 문서에 타임스탬프 값을 삽임함으로써 무결성과 신뢰성을 보장한다. TSA(Time-Stamping Authority)는 타임스탬프를 발행하는 기관을 말하며, 대부분 공인인증기관, 또는 공인인증기관으로부터 인증을 받은 기관을 의미한다. TSA로부터 타임스탬프를 받아 문서에 삽입하는 과정은 아래와 같다.
![](https://blog.kakaocdn.net/dn/eeOR3J/btr3ezMAfUq/YGH4gnsb47E8uXoWlcZOIK/img.png)
블록체인 기반 타임스탬프
일반적인 문서 진위 확인 방식처럼 문서의 지문 값을 TSA에 위탁 처리하면 해당 기관에 의존성을 갖게 된다. 이 경우 TSA기관에 대한 신뢰를 가정하며, 또한 다른 나라의 공증기관에 대해서 완벽하게 신뢰하기 힘들고 법적인 유효성을 증명하지 못하는 경우도 발생할 수 있다. 타임스탬프를 블록체인에 저장하여 관리하면, 특정 기관에 대한 의존성이 사라지며 블록체인에 저장한 타임스탬프의 무결성과 신뢰성을 보장할 수 있다.
블록체인 기반 타임스탬프 방식에서는 문서의 지문 값과 트랜잭션 승인 후 해당 트랜잭션을 포함하는 블록의 생성시간을 사용해 타임스탬프를 생성하는 것이 일반적이다. 또한 블록 생성 시간 외에 서버의 로컬 타임, NTP(Network Time Protocol) 등의 시간을 결합해서 생성하는 경우도 있다. 이 때 타임스탬프를 보관하기 위한 블록체인은 일반적으로 퍼블릭 블록체인, 참여사 간 노드를 나눠갖는 컨소시엄 블록체인, 또는 퍼블릭 블록체인에 앵커링(주기적으로 블록의 해시값을 동기화) 하는 프라이빗 블록체인 방식으로 구성된다.
블록체인 기반 TSA로부터 타임스탬프를 받아 문서에 삽입하는 과정은 아래와 같다.
![](https://blog.kakaocdn.net/dn/dyNLtS/btr3efglwz2/Kok4cO7qgcpz64LrYAXB5k/img.png)
참고
- DTT Alliance (https://docs.dttalliance.co.kr/)
- DTT-Xangle (https://xangle.dttalliance.co.kr/)
- 블로코_블록체인 기반 전자문서 진위확인 솔루션_보안 기술서.pdf (330 kB)
반응형