검수요청.png검수요청.png

타임스탬프

위키원
gamsin98 (토론 | 기여)님의 2019년 8월 2일 (금) 15:04 판 (개요)
이동: 둘러보기, 검색

타임스탬프(timestamp)는 특정한 시각을 나타내는 문자열이다. 둘 이상의 시각을 비교하거나 기간을 계산할 때 편리하게 사용하기 위해 고안되었으며, 일관성 있는 형식으로 표현된다. 실제 정보를 타임스탬프 형식에 따라 기록하는 행위를 타임스탬핑(timestamping)이라 한다. 파일시스템에서 타임스탬프는 저장된 파일이 생성되거나 변경된 시각을 뜻하기도 한다. [1]

타임 스탬프(Time stamp)

개요

전자문서로 저장된 데이터는 쉽게 수정 가능하므로, 데이터를 생성하거나 수정한 시점을 확인하는 방법에 대하여 이슈가 발생할 수 있다. 이럴 때 타임스탬핑을 사용하면 시점에 대한 증거를 확보하는데 도움이 될 수 있다. 타임스탬프란 전자기록물 의 진본성 및 유효성을 입증하기 위하여 전자기록물이 존재한 시점의 확인 정보를 기록물에 추가적으로 부여한 전자정보를 의미한다. 타임스탬핑은 데이터의 해시값과 현재 시간값을 암호화하여 전자서명한 값으로 타임스탬프 정보를 저장함으로써 무결성과 신뢰성을 보장한다.[2]

특징

  • 시스템에 들어오는 트랜잭션의 순서대로 시간 스탬프를 지정하여 동시성 제어의 기준으로 사용한다.
  • 교착상태를 방지 할 수 있으나 RollBack 발생률이 높고 연쇄 복귀를 초래할 수 있다. [3]

운영방식

  • read_TS(x) : read(x) 연산을 성공적으로 수행한 트랜잭션들의 타임스탬프 중 가장 큰 것
  • write_TS(x) : write(x) 연산을 성공적으로 수행한 트랜잭션들의 타임스탬프 중 가장 큰 것
구분 Case
트랜잭션 Ti가 Read(x) 수행 TS(Ti) < write_TS(x) TS(Ti) >= write_TS(x)
Read(x) 철회하고 복귀

다른 트랜잭션이 쓰기를 수행하므로 취소

연산을 수행하고 read_TS(x)는 TS(Ti) 값으로 설정
트랜잭션 Ti가 Write(x) 수행 TS(Ti) < read_TS(x) TS(Ti) >= read_TS(x)
Write(x) 철회하고 복귀

다른 트랜잭션이 읽기를 수행하므로 취소

연산을 수행하고 write_TS(x)는 TS(Ti) 값으로 설정
  • 트랜잭션 Ti가 Write(x) 수행 시 TS(Ti) < write_TS(x) 이면 TS(Ti)가 write(x)를 실행한 것으로 간주하고 무시하는 것이 토마스 기록 규칙(Thomas write rule), 이는 write 연산의거부로 인한 트랜잭션의 취소를 감소시키기 위한 목적[3]

활용

전자 서명 문서

전자서명은 전세계적으로 그리고 다양한 산업에서 빠르게 채택되고 있다. 그러나 전자서명이 젖은 잉크서명의 법적 구속력이 동일한 값을 가지기 위해서는 전자서명이 적합성 및 감사성 요건을 포함한 법의 요건을 충족해야 한다. 문서의 수령자는 문서가 전자 서명된 시기를 확인할 수 있을 뿐만 아니라, 타임 스탬프 증권의 날짜 이후 문서가 변경되지 않았음을 확인할 수 있다. 타임스탬프를 사용하면 조직은 자신의 지적 재산을 보호하고 타임스탬프를 강력한 법적 감사 가능 증거로 사용할 수 있다.

디지털 서명 문서

문서를 디지털 서명할 때 신뢰할 수 있는 타임스탬프를 포함하는 두 가지 주요 이유가 있다. 즉, 서명의 장기 유효성 검사(LTV)를 보장하고 서명이 실제로 적용될 때 주변에 비감정 또는 신뢰도를 추가하는 것이다.

장기 유효성 검사(LTV)

LTV는 현재 인증서의 상태(즉, 기한이 지났거나 해지된 경우)에 관계없이 서명이 적용 당시 유효했는지를 확인할 수 있다는 것을 의미한다. 예를 들어, 내가 오늘 유효한 인증서와 신뢰할 수 있는 타임스탬프로 문서에 서명하지만, 내 인증서가 취소되거나 2개월 후에 만료되는 경우, 서명된 문서는 그 이후에도 언제든지 유효해야 한다.서명을 적용할 때 사용하는 프로그램에 따라 LTV를 달성하려면 신뢰할 수 있는 타임스탬프를 서명에 포함시켜야 할 수도 있다. 이 경우, 서명 유효성을 확인하기 위한 기준점으로 타임스탬프를 사용한다. 프로그램에서 현재 인증서 상태가 취소 또는 만료된 것으로 확인되지만 서명이 취소 또는 만료 전에 적용된 경우, 서명에는 여전히 유효한 것으로 표시된다. 대부분의 프로그램은 이것에 대해 신뢰할 수 있는 제3자 타임스탬프를 요구한다. 컴퓨터의 시스템 시계를 사용하는 것은 조작할 수 있기 때문에 신뢰할 수 없다.Microsoft Office 프로그램과 Adobe 버전 6, 7 및 8은 LTV에 대한 타임스탬프가 필요하다. Adobe 9+는 서명 시에 파기 정보(CRL 또는 OCSP)를 내장하고 있어 서명이 적용될 때 인증서의 유효성을 검증하는 것과 동일한 목표를 달성하므로 LTV에 대해서는 타임스탬프가 필요하지 않다.

문서에 서명된 날짜 및 시간에 대한 신뢰 추가

포스트의 앞부분의 예에서 강조했듯이, 때로는 높은 수준의 확신을 가지고 문서가 실제로 서명되었을 때를 알아야 한다. 이것은 특히 시간에 민감한 거래와 감사 추적과 관련된 시나리오에 중요하다.신뢰할 수 있는 타임스탬프는 독립적으로 검증되고 감사 가능한 날짜와 UTC(조정된 보편 시간) 소스를 사용하여 적용되기 때문에 이러한 시나리오를 지원한다. 이것은 그들이 로컬 시스템 시계처럼 조작의 대상이 아니라는 것을 의미하기 때문에 당신은 서명이 언제 적용되었는지 확실히 알고 있다.

디지털 서명 코드

위에서 언급한 바와 같이 디지털 서명은 향후의 상태 변화(예: 만료 또는 파기)에도 불구하고 유효성을 유지하기 위해 LTV가 필요하다. 서명 코드의 경우 신뢰할 수 있는 타임스탬프를 추가하여 이를 달성한다.타임스탬프가 없으면 인증서가 만료되거나 해지될 때 서명이 만료되거나 무효화되며 최종 사용자는 코드를 신뢰해서는 안 된다는 무서운 경고 메시지를 보게 된다. 타임스탬프(및 LTV)를 사용하면 서명이 적용될 때 서명 인증서가 유효했기 때문에 서명은 여전히 신뢰할 수 있다.[4]

비교

시스템 시간 (System Time)

  • 시스템 전체에서 사용하는 시간 기준

예)MPEG 시스템 시간 동기, 망 동기, 타이밍/클럭 등

시간 경과 : 타임스탬프 (Time Stamp)

  • 일반적으로, 어떤 기준 시각(보통, Epoch)부터 경과 시간을 수치값으로 주는 문자열

예) 세계 표준시(UTC)의 자정으로부터 밀리 초 단위로 표시하는 등 예) Unix Timestamp : Unix Epoch (1970-01-01 00:00:00) 부터 경과된 밀리 초

시간 기원 (Epoch)

  • 중요한 사건,변화가 일어난 정적인 시간 기원

예) Unix Epoch  : 1970년 1월 1일 새벽 0시 (유닉스 출현 기원) 예) Prime Epoch : 1900년 1월 1일 새벽 0시 (NTP 프로토콜에서 사용하는 기원)[5]

전망

  • 공공기관에서 전자문서 진본성을 위한 일반 기업으로의 확대 방법 제시 필요
  • 다양한 문서형식에 대한 타임스탬프 토큰 저장방식 효율성 방안 연구 필요
  • 타임스탬프 토큰 링크 토큰 및 체인, Aggregation 연구 및 활용 방안 연구 필요
  • 전자문서 진본성에 대한 서비스 활성화를 위한 법제화 연구 및 적용 필요[2]

동영상

각주

  1. 타임스탬프〉, 《위키백과》
  2. 2.0 2.1 강혁, 〈TimeStamp를 활용한 전자문서 진본성 확보〉, 《SlidePlayer》, 2010-10
  3. 3.0 3.1 despair35, 〈동시성제어 타임스탬프 기법〉, 《네이버 블로그》, 2017-01-20
  4. Jun Hosoi, 〈what is a Timestamp?〉, 《GlobalSign 블로그》, 2017-02-10
  5. 자재복, 〈Timestamp, Time Stamp, Unix/Linux Epoch 타임스탬프, Unix/Linux 시간, 컴퓨터 시간〉, 《정보통신기술용어해설》, 2019-07-21

참고자료

같이 보기


  검수요청.png검수요청.png 이 타임스탬프 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.