• 화. 1월 26th, 2021

리프 노드부터 루트 노드

Avatar

Byadmin

8월 24, 2020

데이터 무결성 검증을 위해 생성되는 데이 터 서명의 원리를 보여준다. 데이터 해시 트리의 리프 노드에 해시 값이 입력되었을 때 루트 해시 값이 생성 될 때까지 연속적으로 해시가 이루지고, 루트 해시 값 까지 만들어진 이후에 입력 리프 노드부터 루트 노드까 지의 해시 체인이 계산되어 경로에 대한 비트열과 해시 체인의 해시 값으로 데이터 무결성 보장을 위한 데이터 서명 값이 만들어진다 데이터 서명에서 무결성 증명은 데이터 해시 체인을 사용하여 시간 서명 데이터 안에 있는 데이터 해시 체 인의 루트 해시 값을 재생성 하거나 타임 해시 체인을 이용하여 공개 검증 값을 재생성하여 증명할 수 있다.

그림 3은 데이터 해시 체인을 사용하여 타임 해시 체 인 안에 있는 루트 해시 값을 확인하는 방법을 설명한 다. 데이터의 무결성을 검증을 데이터에 대한 해시 값 과 데이터 서명 안에 있는 데이터 해시 체인의 값을 이 용하여 타임 해시 체인 안에 들어갈 루트 해시 값을 재 생성하여 보고 이 값이 해시 타임 체인 안에 있는 루트 해시 값과 동일한지 여부를 확인하여 데이터의 무결성 을 확인할 수 있다 그림 4는 공개 검증 값을 이용하여 데이터의 무결성 을 검증하는 방법을 설명하는 것으로 데이터 해시 체인 과 확장된 타임 해시 체인을 이용하여 공개 검증 값을 재생성하여 데이터의 무결성을 확인할 수 있다.

해시 기반의 디지털 서명은 Lamport et. al.[9]에 의해 처음 제안되었고 Merkle et. al.[10]은 해시 트리를 이용 한 동시 서명 방법을 제안하였다. 그런데 종래의 방법에서는 해시 트리를 처리하는 데 있어서 그림 5와 같이 하나의 거대한 해시 트리를 부분 해시 트리의 계층적 구조로 표현하고, 각 부분 해시 트 리를 처리하는 서버를 개별적으로 할당하는 기법을 사 용하였는데, 이러한 방법은 연산 효율 측면에서 최적화 되어 있는 방법이기는 하나 상위 계층에 속하는 부분 해시 트리의 연산을 담당하는 서버에서 실패가 발생하 는 경우, 하위 연결 시스템 전체의 실패를 유발시키는 문제점을 갖고 있다. 본 연구에서는 이러한 문제점을 보완하여 더 안정적 으로 서명 생성 작업을 수행할 수 있도록 개선된 해시 트리의 분산 처리 방법을 적용하였다[11].

그림 6은 제시 한 해시 트리를 이용한 데이터 서명 서비스를 구현하기 위하여 서버가 8개인 경우에 데이터 해시 트리의 분산 처리를 위해 각 서버에 할당되는 하위 해시 트리와 상 위 해시 트리를 나타내고 있다 하위 해시 트리는 각 서버가 독립적으로 단독으로 트 리를 구성하는 반면, 상위 해시 트리는 리프 노드의 해 시 값 X0 ∼ X7에서 시작하여 루트 노드의 해시 값 X0,7 까지의 해시 체인에 대해서 각 서버들이 서로 협력하여 중간 노드의 해시 값을 공유한다. 이 때 각 서버에서 처 리해야 할 중간 노드의 해시 값은 하위 부분 트리의 루 트 노드 해시 값인 동시에 상위 부분 트리의 리프 노드 해시 값에 의해 결정된다. 만일 서명 서비스를 제공하 는 서버들 중에서 특정 하위 부분 트리를 담당하고 있는 서버에 오류가 발생할 경우에는 해당 트리의 루트 노드 해시 값은 임의의 값으로 대체함으로써 정상적으 로 동작하는 다른 서버의 상위부분 트리구성과 서명 생 성과정에 장애가 발생하지 않도록 할 수 있다

출처: 토토사이트추천 ( https://scaleupacademy.io/ )

답글 남기기