KR100563515B1 - 과도 키 디지탈 시간 스탬프 방법 및 시스템 - Google Patents

과도 키 디지탈 시간 스탬프 방법 및 시스템 Download PDF

Info

Publication number
KR100563515B1
KR100563515B1 KR1020007003052A KR20007003052A KR100563515B1 KR 100563515 B1 KR100563515 B1 KR 100563515B1 KR 1020007003052 A KR1020007003052 A KR 1020007003052A KR 20007003052 A KR20007003052 A KR 20007003052A KR 100563515 B1 KR100563515 B1 KR 100563515B1
Authority
KR
South Korea
Prior art keywords
time interval
public key
key
authentication request
received
Prior art date
Application number
KR1020007003052A
Other languages
English (en)
Other versions
KR20010040248A (ko
Inventor
마이클 디. 도일
Original Assignee
프루프스페이스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프루프스페이스, 인코포레이티드 filed Critical 프루프스페이스, 인코포레이티드
Publication of KR20010040248A publication Critical patent/KR20010040248A/ko
Application granted granted Critical
Publication of KR100563515B1 publication Critical patent/KR100563515B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

예를 들면 과도 시간 간격 관련 비밀 암호키(2010)의 컨셉을 기초로 하여 부인할 수 없는 공용키 디지탈 서명 시간 스탬프(1040)가 생성되며, 암호키는 특정 시간 간격 동안 제출된 데이터를 디지탈 서명하기 위하여 사용되고 그 이후에 폐기된다(2040). 각 시간 간격에 대한 공용키는 시간 스탬프된 데이터의 내용과 시간 스탬프된 데이터의 생성 시간의 추후 인증을 위해 저장된다. 공용키의 유효성은 이전 시간 간격의 비밀키가 폐기되기 바로 전에 이전 시간 간격의 비밀키를 이용하여 각 시간 간격의 공용키를 인증함으로써 보장된다.

Description

과도 키 디지탈 시간 스탬프 방법 및 시스템{METHOD AND SYSTEM FOR TRANSIENT KEY DIGITAL TIME STAMPS}
본 발명은 데이터를 디지탈 시간 스탬핑하는 방법에 관한 것이다. 특히, 본 발명은 연쇄(chaining)적인 키 쌍들에 의해 뒤이은 제3자 검증이 필요없이 데이터를 디지탈 시간 스탬핑하는 것에 관한 것이며, 이러한 키 쌍들은 특정 시간 간격으로 발생된다.
일련의 증거와 관련된 개념은 오랫동안 미국 재판 시스템의 기본주의였다. 많은 법적 상황은 증거의 일부분이 임의의 시점에 존재하고 계속해서 변경되지 않는다는 것을 검증하는 능력에 의존한다. 과거, 대부분의 가능한 형태의 증거가 물건(object)으로 이루어진 경우, 질문에서 증거 물건의 정확성에 대해 검증하기 위하여 일련의 증언(chain of witnesses) 포로토콜이 필요하였다. 역사적으로, 증거가 단지 한정된 수의 개개인의 제어하에 있을 경우, 그리고 개개인 전부가 물건의 위치 및 상태에 대하여 검증할 경우, 법정은 증거의 확실성의 주장을 받아들인다.
물론, 이러한 시스템은 어떤 주어진 상황하에서 신뢰성있게 증언할 수 있는 증인이 존재하는지 여부에 의존한다. 가끔, 증인은 이용가능하지만 신뢰가능하지 않을 수도 있다. 이것은 서증에 대한 경우에 특히 그러하며, 이러한 서증의 경우 언제 특정 문서가 작성되었는지와 서명되었는지가 문제가 된다. 명백하게, 시스템은 많은 상황에서 "필요한 증인"을 쉽게 얻을 수 있도록 할 필요가 있었다.
이러한 증거 입증의 컨셉은 많은 영역에서 매우 중요하며 그로 인해 전문 문서 증인의 형식화된 시스템 예를 들면 공증인 공증 서비스(Notary public service)가 개발되었다. 공증인 공증은 보수를 받고 문서 보유자 또는 서명자의 식별 및 문서의 존재와 같은 것을 증언한다. 물론 공증인은 문서의 실제 내용에 대한 지식과 관련된 것에 대해서는 선서할 수는 없는데, 왜냐하면 이는 공증인이 인증한 모든 문서의 사본들을 영구 보존(비실용적인 요건)하는 것을 필요로 하기 때문이다. 이러한 공증 시스템은 공증인 공증 스탬프 및 서명을 위조하거나 공증인 증언을 매수하는 것이 불가능하거나 비현실적이라는 일반적인 믿음에 기반한다. 그러나, 컴퓨터 그래픽과 데스크탑 인쇄 기술이 향상됨에 따라, 문서 및 서명을 위조하는 어려움이 감소하고 있다. 이러한 기술 향상의 결과로서, 캘리포니아와 같은 일부 주에서는 문서 유효성의 절대적 증명으로서 공증을 더이상 받아들이지 않고 있다.
개인적으로 또는 업무적으로 중요한 많은 정보들이 점차적으로 디지털 형식화되면서, 공증인-공증 스타일의 인증 메카니즘은 감소하고 있다. 대부분의 이러한 정보는 저장되고, 액세스되고, 컴퓨터 데이터베이스 관리 시스템을 통해 관리된다. 모든 주요 데이터베이스 시스템은 기록시 데이터의 시간 스탬핑을 허용한다. 많은 민간기관 및 공공기간의 시스템은 이러한 데이터베이스 시간 스탬프의 정확성의 가정에 의존한다. 조직이 신뢰가능할 경우 그들의 데이터베이스의 시간 스탬프가 신뢰될 수 있다는 것을 가정한다. 실제로, 이러한 주장은 문학 용어를 빌리자면 "불신의 의도적인 중지(willing suspension of disbelief)"를 요구한다. 물론 그 조직 자체가 신뢰가능하다 할지라도 큰 조직내의 모든 개개인들이 신뢰할 수 있다고 단언할 수는 없을 것이다. 더욱이, 어떤 종래의 컴퓨터 데이터베이스 시스템도 부정한 개인들에 의한 데이터 템퍼링 또는 "해킹"의 가능성으로부터 자유로울 수 없다는 것은 잘 알려져 있다.
이러한 문제의 일부를 다루기 위해 개발된 한가지 방법은 "공용 키(public key)" 암호법이라 불리우는 기술에 근거한다. 이러한 형태의 시스템중 가장 잘 알려진 한가지 방법은 Rivest-Shamir-Adleman(RSA) 공용키 암호화 시스템을 사용하는 "프리티 굿 프라이버시"로 불려지는 프로그램으로 매사추세츠 기술 연구소에 의해 개발되었다. 이러한 시스템은 민감한 데이터의 안전한 전송 및 인증을 둘 다 허용하는 방법으로 데이터를 암호화하는 컨셉을 중심으로 구축된다. 공용키 시스템은 각각의 암호화/암호 해독 이벤트에 대한 한 쌍의 암호키들을 사용한다. 하나의 키는 소유자에 의해 비밀로 유지되며(예를 들면, 비밀 키), 다른 키는 널리 분포된다(예를 들면 공용키). 키 쌍에서 키중 하나로 암호화된 메시지는 단지 다른 키로만 암호해독될 수 있으며, 그 반대일 수도 있다.
이 시스템은 예를 들면 제2 개인 공용키를 이용하여 한 개인에 의해 데이터의 암호화를 허용한다. 메시지는 안전이 보장되지 않는 채널을 통해 제2 개인에게 보내지며, 단지 제2 개인만이 암호화되지 않은 데이터를 액세스하게 되는데 그 이유는 전송된 메세지가 제2 개인의 비밀키로만 해독될 수 있기 때문이다.
데이터를 암호화하기 위하여 제2 개인의 공용키를 이용하기 전에, 제1 개인은 데이터를 암호화하기 위하여 자신의 비밀키를 사용하여, 데이터를 디지털방식으로 서명할 수도 있다. 수령자는 그것을 해독하기 위하여 송신자의 공용키를 사용하며, 그로 인해 메세지가 상기 송신자로부터 전송되었다는 것이 확인될 수 있는데, 그 이유는 단지 송신자만이 데이터를 서명하는데 정확한 비밀키를 사용하기 때문이다. 이러한 시스템은 송신자의 인증 및 식별을 위한 메카니즘과 데이터의 비밀성을 둘 다 제공한다. 또한 데이터는 송신자에 의해 암호화되기 때문에 어떤 방법으로도 변경될 수 없다는 것을 보장한다. 공용키들은 신뢰된 개인의 비밀키로 공용키들을 서명(예를 들면 디지탈 서명)함으로써 "인증"될 수 있다. 다른 사람들은 신뢰된 개인의 비밀키를 이용하여 그 자신을 인증함으로써 발행된 공용키의 인증을 액세스할 수 있다. 신뢰된 개인이 추후에 인증된 키의 유효성에서 신뢰를 상실한다면, 그 개인은 이전에 인증된 공용키가 더이상 앞으로 신뢰될 수 없다는 것을 다른 사람들에게 알리는, 즉 신뢰된 개인의 비밀키에 의해 서명된 소위 취소 인증서를 발행할 수 있다.
공용 키 알고리즘은 아주 느리다. 이 때문에, 실질적으로 모든 공용키 디지탈 서명 시스템은 서명될 데이터로부터 "메시지 요약"이라 불리우는 것을 생성하기 위하여 "강한 암호력을 갖는 일방향 해시(hash) 함수"라 불리우는 것을 사용한다. 이 메시지 요약은 원시 데이터보다 훨씬 더 작은, 일종의 데이터 지문인, 데이터의 고유한 표현이다. 예를 들면, PGP를 사용하는 메시지 요약은 길이가 단지 128비트이다. 메시지 요약은 데이터를 수령자에게 전송하기 전에 송신자의 비밀키를 이용하여 암호화된다. 수령자는 메시지 요약을 자동적으로 해독하고 실제로 원시 데이터와 매칭되는 지를 검증하기 위하여 송신자의 공용키를 사용할 수 있다. 이것은 매우 안전한 시스템인데, 그 이유는 공격자(attacker)가 동일한 메시지 요약을 제공하는 대체 메시지를 고안하는 것이 계산적으로 실행 불가능하기 때문이다. 칩 용량 증가 속도와 관련된 무어의 법칙을 고려하더라도, PGP 소프트웨어 패키지에 의해 사용된 알고리즘을 이용하여 128비트 메시지 요약을 성공적으로 위조하는데 10^12 년 이상 걸린다는 것이 일반적인 평가이다. 또한, 1 바이트의 요약된 메시지 변경만으로도 해시 함수가 메시지 요약을 암호화되지 않은 데이터에 매칭시킬 수 없게 된다.
그러므로 공용키 디지탈 서명은 서명된 데이터가 소정의 비밀키로 서명되었고 데이터가 서명된 이후로 전혀 변경되지 않았다는 것을 명확하게 증명할 수 있ㄱ게 된다. PGP와 같은 시스템은 그들이 생성될 때마다 그들의 생성시의 키 쌍에 그리고 디지탈 서명에 시간 스탬프를 정기적으로 첨부(attach)한다. 그러나 이러한 시간 스탬프는 사용되는 컴퓨터 내의 내부 시계에만 의존하며, 따라서 소정의 디지탈 서명이 특정 시점에서 생성되었다는 것을 허위로 나타내도록 하기 위하여 컴퓨터 시계의 시간을 개별적으로 의도적으로 변경함으로써 위조가 발생하게 된다.
이때문에, 인터넷을 통해 제출되는 디지탈 정보를 공증하기 위해 공용키 디지탈 서명을 사용하는 새로운 타입의 공증이 부상하고 있다. 소위 "디지탈 공증"은 이러한 서비스를 제공하고 서명이 이루어진 시간 뿐만아니라 원시 데이터의 내용의 정확성에 대해 증언할 것을 동의하는 비즈니스이다. 이것은 종래의 공증 컨셉 비해 상당한 개선인 바, 그 이유는 새로운 디지탈 공증 서비스가 그들의 서비스에 의해 디지탈 서명된 데이터가 특정 시점에 존재하였고, 또한 특정 시점 이후로 어떤 방법으로도 변경되지 않았다는 사실을 입증할 수 있기 때문이다. 이러한 디지탈 공증 서비스가 가지는 가장 큰 문제, 그리고 본 발명에 따른 방법이 발명된 이유는 디지탈-공증을 통해-발생된 디지탈 서명의 인증이 디지탈 공증 서비스를 실행하는 개인 및 연구소의 신뢰가능성에 전적으로 의존한다는 사실이다.
이 문제를 해결하기 위하여, 디지탈 공증 서비스를 운영하는 개인이나 연구소의 신뢰가능성에 의존하지 않고 디지탈 시간 스탬프의 정확성을 자동적으로, 그리고 정확하게 입증할 수 있는 시스템이 요구된다. 본 발명의 실시예에 따른 과도 키 디지탈 시간 스탬프는 이러한 가능성을 제공한다.
본 발명의 일 실시예에 따르면, 반박할 수 없는 공용키 디지탈 서명 시간 스탬프가 생성되고 사용된다. 본 시스템은 예를 들면 특정 시간 간격동안 제출된 데이터를 디지탈 서명하는데 사용되며, 그리고나서 영구적으로 폐기되는 과도 시간 간격 관련 비밀 암호키의 컨셉을 기초로한다. 각 시간 간격 동안의 공용키는 시간 스탬프된 데이터의 생성 시간과 시간 스탬프된 데이터의 내용에 대한 차후 검증을 위해 저장된다. 공용키의 유효성은 비밀키가 폐기되기 바로 전에 이전의 시간 간격의 비밀 키를 이용하여 각 시간 간격의 공용키를 인증(예를 들면 서명)함으로써 보장된다.
도1은 본 발명의 일 실시예에 따른 디지탈 시간 스탬핑 방법에 대한 예시적인 플로우차트이다.
도2A는 본 발명의 일 실시예에 따른 다른 디지탈 시간 스탬핑 방법에 대한 플로우차트이다.
도2B는 본 발명의 일 실시예에 따른 다른 디지탈 시간 스탬핑 방법에 대한 플로우 차트이다.
도3A는 본 발명에 따른 시간 스탬핑 시스템에 대한 제1 실시예를 도시한 도면이다.
도3B는 본 발명에 따른 시간 스탬핑 시스템에 대한 제2 실시예를 도시한 도면이다.
본 발명의 일 실시예에 따른 시간 스탬핑 방법은 데이터 집합이 소정의 시간간격에서 존재하였고 그 시간 간격 이후로 변경되지 않았다는 것을 명확하게 입증하기 위한 메카니즘을 제공한다. 본 발명의 상당한 이점은 사용자에게 부인-방지(non-repudiation)를 제공한다는 것이다. 본 발명의 일 실시예에 따른 방법에 의해 발생된 시간 스탬프 인증서의 진실성을 부인하기는 어렵다. 예를 들면, 시스템은 어떤 외부의 "인증 권한"이나 어떤 외부의 시간 트랙킹 시스템의 신뢰가능성을 기초로하지 않는다. 오히려, 본 발명의 일 실시예에 따라 발생된 시간 스탬프를 인증하는데 필요한 모든 것은 예를 들면 시간 스탬프된 데이터, 시간 스탬프 인증서로부터의 서명, 시간 스탬프 인증서로부터의 그 시간 간격의 공용키, 및 무료 또는 유료 PGP 버전과 같은 표준 공용 키 인증 프로그램이다. 자바 개발자용 J/CRYPTO 전문암호법분류(http://www.baltimore.ie/products/jcrypto/index.html)와 같은 다른 공용키 암호화 프로그램이 본 발명에서 사용될 수도 있다. 더욱이, 본 발명의 일 실시예에 따른 방법은 임의의 컴퓨터 데이터로 동작할 수 있다.
본 발명에 따른 과도 키 디지탈 시간 스탬프 방법을 이용하는 시스템은 ㄱ거건 별로 비용이 부가되는(fee-fot-service) 모든 요구들을 스탬핑하는 인터넷 서버로서 셋업될 수 있다. 정보의 생성 시간 및 내부 상태는 민감한 데이터의 비밀성을 훼손하지 않고 검증될 수 있다. 본 발명의 일 실시예에 따른 시간 스탬핑 방법은 발명 문서 시스템에 사용하기에 적당한 방법이다. 따라서, 본 발명의 일 실시예에 따른 방법은 의료 기록 및 자금 거래와 같은 중요한 비밀 기록을 인증하는데 사용될 수 있고 임의의 컴퓨터 플랫폼에 쉽게 적용될 수 있으며 특정 공용키 알고리즘에도 의존하지 않는다.
도1은 본 발명의 일실시예에 따른 디지탈 시간 스탬핑 방법에 대한 예시적인 플로우차트를 설명한다. 단계 (1010)에서 키 쌍(key pair)은 시간 간격 tn에서 발생된다. 당해분야에서 공지된 바와 같이, 키 쌍은 공용키 및 비밀키를 포함한다. 시간 간격은 한정된 기간, 예를 들면 매초, 10초, 분 또는 10분 일 수 있다. 현재 시간 간격은 tn으로 가정한다. 단계 (1020)에서, 시간 스탬프 요구가 시간 간격 tn 동안에 수신되었는지가 결정된다. 시간 간격 tn 동안에 어떠한 시간 스탬프 요구도 수신되지 않았다면, 프로세스는 다음 시간 간격에 대한 새로운 키 쌍을 발생하기 위하여 단계 (1010)으로 되돌아가며, n은 다음 시간 간격을 지시하기 위하여 1만큼 증가된다.
시간 스탬프 요구가 시간 간격 tn 동안에 수신된 경우, 단계 (1030)에서 시간 스탬프 요구를 수반하는 데이터가 자동적으로 서명된다. 예를 들면, 시간 간격 tn의 비밀키를 이용하여 자동적으로 암호화되는 데이터에 대한 메시지 요약이 발생된다. 데이터를 서명한 결과, 시간 스탬프의 서명은 시간 간격 tn의 공용키를 이용하여서만 해독될 수 있다. 단계 (1040)에서, 데이터의 시간적 존재를 표시하는 시간 스탬프 인증서가 요구자에게 전달하기 위해 발생된다. 단계 (1050)에서, 추가적인 시간 스탬프 요구가 시간 간격 tn내에서 수신되는지가 결정된다.
어떠한 추가적인 시간 스탬프 요구도 수신되지 않는 경우, 시간 간격 tn에 대한 비밀키는 단계 (1060)에서 삭제되고 프로세스는 다음 시간 간격에 대한 키 쌍을 발생하기 위하여 단계 (1010)으로 되돌아가며 n은 1만큼 증가된다. 시간 간격 tn 동안 추가의 시간 스탬프 요구가 수신되면, 프로세스는 단계 (1030)으로 되돌아가서 각각의 추가 시간 스탬프 요구를 처리한다. 단계 (1060)에서 지시한 바와 같이, 시간 간격 tn에 대한 비밀키는 시간 간격의 완료에서 삭제되고 공용키는 예를 들면 시간 스탬프를 해독하기 위한 뒤이은 사용을 위해 저장된다. 그러므로, 본 발명의 일 실시예에 따라 별도의 비밀키가 각각 한정된 시간 간격 동안 수신된 시간 스탬프 요구와 연관된 데이터를 자동적으로 시간 스탬프하는데 사용된다.
도1에서 설명된 본 발명의 실시예에 따른 프로세스는 예를 들면 키 쌍이 한정된 시간간격마다 자동적으로 발생되고 시간 스탬프 요구를 수반하는 데이터는 시간 스탬프 요구가 수신되는 시간 간격의 비밀키를 이용하여 자동적으로 서명되며 비밀키는 각각의 시간 간격 후 삭제된다는 점에서 종래기술과는 다르다. 그와는 대조적으로, 종래의 시간 스탬프 시스템은 모든 시간 스탬프 요구들을 서명하기 위하여 단일 비밀키를 사용하며 시간 스탬프 데이터를 제공하기 위하여 시간 스탬프를 실행하는 컴퓨터 시스템을 기초로하여 별도의 메카니즘을 이용한다. 본 발명의 일 실시예에 따른 시간 스탬핑 방법과는 달리, 일부 종래 시스템은 예를 들면 여기에 참조로 통합된 미국특허 제 5,136,647호에 기술된 바와 같이 시간 스탬프를 위해 암호화된 메시지 요약을 발생하기 위하여 서명되었으며 순차적으로 제출된 문서들에 대해 메시지 요약를 함께 연쇄(chain)한다.
도2A는 본 발명의 다른 실시예에 따른 디지탈 시간 스탬핑 방법에 대한 플로우차트를 설명한다. 단계 (2010)에서 키 쌍이 발생된다. 당해분야에서 공지된 바와 같이, 키 쌍은 공용키 및 비밀키를 포함한다. 본 발명의 실시예에 따르면, 키 쌍은 시간 스탬핑 방법을 실행하는 시스템에 의해 사용되는 각 시간 간격 동안 발생된다. 실행 시스템은 예를 들면 마이크로프로세서 기반 개인 컴퓨터나 서버와 같은 종래의 범용 컴퓨터를 포함할 수 있다. 본 발명의 실시예에서, 본 방법은 클라이언트-서버 컴퓨터 시스템 아키텍처상에서 구현되는 소프트웨어로 실행된다. 시간 간격은 어떤 한정된 기간 예를 들면 초, 10초, 분 또는 10분마다일 수 있다. 현재 시간 간격은 tn이라 하고 다음 시간 간격은 tn+1이라 한다. 문서의 시간 스탬핑 목적을 위해, 분 단위의 정확성은 차후의 검증 목적을 위해 충분하다.
단계 (2020)에서, 다른 키 쌍이 시간 tn+1에서 발생된다. 제1 키 쌍과 같이, 다음 키 쌍 역시 공용키 및 비밀키를 가진다. 단계 (2010) 및 (2020)에서 키 쌍을 발생하기 위하여, PGP와 같은 종래의 디지탈 시간 스탬핑 시스템이 한정된 시간 간격마다 새로운 키 쌍을 자동적으로 발생하기 위하여 수정될 수 있다. 예를 들면, 종래의 디지탈 시간 스탬핑 시스템은 키 쌍을 발생하는데 필요한 정보(예를 들면, 통과 어구(pass phrase) 및 PGP에 의해 요구되는 랜덤 시드(random seed))를 시스템 사용자 I/O를 통해 사용자가 입력하도록 함으로써 사용자가 키 쌍을 발생하도록 구성된다. 본 발명의 일 실시예에 따르면, 이러한 시스템에 대한 소스 코드는 각 한정된 시간 간격에 대해 키 쌍 발생 알고리즘으로 자동적으로 제공되는 통과 어구 및 랜덤 시드를 발생하기 위하여 수정될 수 있으며, 그것에 의해 키 쌍을 발생하기 위하여 사용자에 의해 정상적으로 제공되는 입력을 자동적으로 제공하게 된다.
단계 (2030)에서, 시간 간격 tn+1의 공용키는 시간 간격 tn의 비밀키를 이용하여 서명된다. 예를 들면, 시간 간격 tn의 비밀키를 이용하여 암호화된 시간 간격 tn+1의 공용키에 대한 메시지 요약이 발생된다. 시간 간격 tn+1의 공용키를 서명한 결과, 공용키의 서명은 시간 간격 tn의 비밀키를 이용하여서만 해독될 수 있다. 시간 간격 tn의 비밀키를 이용하여 시간 간격 tn+1의 공용키를 서명하는 것은 PGP 소프트웨어(예를 들면, 하나의 키가 다른 키를 서명하는 것을 지시하는 명령 라인)와 같은 기존의 소프트웨어의 스크립트 기반 제어를 이용하여 달성될 수 있다. 단계 (2040)에서, 시간 간격 tn의 비밀키는 삭제된다. 그러므로, 시간 간격 tn의 비밀키는 시간 간격 tn 및 시간 간격 tn+1의 공용키를 서명하기 위하여 시간 간격 tn+1 에서 필요한 시간 동안 존재한다. 단계 (2050)에서, 시간 간격 tn에 대한 공용키는 예를 들면 시간 간격 tn+1의 공용키에 대한 시간 스탬프를 해독하기 위한 뒤이은 사용을 위해 저장된다.
단계 (2060)에서, 시간 스탬프 요구가 시간 간격 tn+1 동안 수신되었는지가 결정된다. 어떠한 시간 스탬프 요구도 수신되지 않았다면, 프로세스는 다음 시간 간격에 대한 키 쌍을 발생하기 위하여 단계 (2020)으로 되돌아가며, n은 1만큼 증분된다. 시간 스탬프 요구가 시간 간격 tn+1 동안에 수신된 경우, 도2B에 설명된 단계 (2070)에서, 시간 스탬프 요구를 수반하는 데이터는 시간 간격 tn+1의 비밀키를 이용하여 서명된다. 예를 들면, 당해분야에서 공지된 바와 같이, 본 발명의 실시예에 따라 시간 스탬프될 데이터에 대해 시간 간격 tn+1의 비밀키를 이용하여 암호화되는 메시지 요약이 발생된다. 시간 간격 tn+1의 비밀키를 이용하여 데이터를 서명한 결과, 시간 스탬프의 서명은 단지 시간 간격 tn+1의 공용키를 이용하여서만 해독될 수 있으며, 공용키 자체는 본 발명의 실시예에 따라 시간 스탬프되었으며, 상기한 바와 같이 이전 시간간격 tn의 공용키를 이용해서만 검증될 수 있다. 그러므로, 본 발명에 따른 방법의 실시예를 이용하여, 데이터에 대한 시간 스탬프의 검증은 두 개의 시간 간격에 대한 키가 함께 연쇄(chain)될 때에만 유효하게된다. 데이터에 대한 시간 스탬프가 정확하다는 것을 검증하기 위하여 어떠한 독립적인 제3자도 필요하지 않다. 다른 예시적인 실시예에서, tn+1에 대한 키 쌍이 tn+1의 시작 시점에서 바로 이용가능하도록 하기 위하여 이전의 시간 간격 tn의 종료 기간 동안 미리 tn+1에 대한 키 쌍이 발생되고 인증된다.
단계 (2080)에서, 요구하는 당사자에게 전달하기 위해 스탬프 인증서가 발생된다. 본 발명의 예시적인 실시예에 따르면, 이러한 스탬프 인증서는 제출된 데이터에 대한 디지털 서명 및 시간 간격 tn 및 tn+1에 대한 인증된 공용키들을 포함한다. 단계 (2090)에서,추가적인 시간 스탬프 요구가 시간 간격 tn+1내에 수신되는지가 결정된다. 더이상의 시간 스탬프 요구가 시간간격 tn+1내에서 수신되지 않는 경우, 프로세스는 다음 시간 간격에 대한 키 쌍을 발생하기 위하여 도2A의 포인트B로 되돌아간다. 다른 시간 스탬프 요구가 시간간격 tn+1내에서 수신되는 경우, 단계 (2100)에서 시간 스탬프 요구를 수반하는 데이터는 상기한 바와 같이 시간 간격 tn+1의 비밀키를 이용하여 서명되고 프로세스는 더이상의 시간 스탬프 요구가 시간 간격 tn+1내에서 수신되지 않을 때까지 단계 (2090)으로 되돌아간다.
데이터를 시간 스탬핑하기 위한 본 발명의 실시예에 따른 방법은 예를 들면 소프트웨어, 펌웨어, 또는 적당한 범용 컴퓨터를 이용하는 하드웨어 유선 로직으로서 실행될 수 있다. 예를 들면, 본 발명의 소프트웨어 실행은 임의의 플랫폼상에서 실행할 수 있는 자바 프로그래밍 언어로 기록될 수 있다.
도3A는 본 발명의 실시예에 따른 시간 스탬핑 방법을 실행하기 위한 예시적인 클라이언트-서버 아키텍처를 도시한다. 클라이언트-서버 아키텍처에서, 본 발명의 실시예에 대한 시간 스탬핑 프로그램의 서버 부분은 예를 들면 서버(3010)의 메모리(3015) 내에 상주한다. 시간 스탬핑 프로그램은 메모리(3015)에 연결된 CPU(3016)상에서 실행된다. 서버(3010)는 예를 들면 LAN, WAN 또는 인터넷 접속과 같은 접속부(3030)를 통하여 클라이언트(3020)에 연결된다. 클라이언트 컴퓨터(3020)는 메모리(3025)에 상주하는 본 발명의 실시예에 따른 방법의 시간 스탬핑 클라이언트 부분을 포함하며, 시간 스탬핑 클라이언트 프로그램은 메모리(3025)에 접속된 CPU(3026)상에서 실행된다. 키보드나 마우스와 같은 I/O 장치(3040)는 본 발명의 실시예에 따른 시간 스탬핑 방법에 대한 사용자 액세스를 제공한다.
동작시에, 예를 들면, 사용자는 메모리(3025)에 저장된 클라이언트 응용 프로그램이 메모리(3026)에서 실행되고 당해분야에서 공지된 방법으로 데이터에 대한 메시지 요약을 발생하도록 하는 I/O 장치(3040)를 통하여 시간 스탬핑되는 데이터를 식별한다. 메시지 요약은 접속부(3030)를 통해 서버(3010)로 전송되며, 메모리(3015)에 저장된 응용 프로그램은 메시지 요약을 시간 스탬핑하기 위해 메모리(3016)에서 실행되며 도1 또는 2A-2B에서 기술한 바와 같이 접속부(3030)를 통해 클라이언트 컴퓨터(3020)로 시간 스탬프 인증서를 리턴한다.
도3A에 도시된 클라이언트-서버 아키텍처의 다른 실시예에 있어서, 서명은 클라이언트 컴퓨터(3020)에서 발생한다. 예를 들면, I/O 장치(3040)를 통하여, 사용자는 시간 스탬핑될 데이터를 식별하고 데이터에 대한 메시지 요약을 제공하지 않고 접속부(3030)를 통해 서버 컴퓨터(3010)에 스탬프 요구를 제출한다. 스탬프 요구에 응답하여, 서버(3010)는 본 발명의 실시예에 따른 현재의 시간 간격에 대한 키 쌍(예를 들면, 공용키는 이전의 시간 간격 키 쌍의 비밀키에 의해 서명됨)을 생성하고, 현재의 시간 간격에 대한 키 쌍, 현재의 시간 간격의 비밀키에 대한 통과 어구, 및 이전의 시간 간격으로부터의 공용키를 클라이언트 컴퓨터(3020)로 리턴한다. 서버(3010)로부터 클라이언트(3020)로의 전송의 비밀을 보장하기 위하여, 접속부(3030)는 예를들면 안전 소켓층(SSL)을 이용하는 보안 채널을 포함할 수 있다. 클라언트(3020)가 서버(3010)로부터 전송을 수신하면, 클라이언트는 메시지 요약을 발생하고 예를 들면 당해분야에서 공지된 방법으로 현재의 시간 간격의 비밀 키를 이용하여 시간 스탬프 요구의 메시지 요약을 서명한다. 시간 스탬프가 생성된 후에, 관련된 비밀키 및 통과 어구의 클라이언트측 사본이 바로 삭제된다.
도3A에 도시된 클라이언트-서버 아키텍처의 또 다른 실시예에서, 클라이언트 컴퓨터(3020)는 자신의 키 쌍을 생성하고 클라이언트 컴퓨터(3020)에 의해 발생된 키 쌍 중 공용키를 시간 스탬프하기 위해 서버(3010)에 의해 발생된 키 쌍을 사용할 수 있다. 예를 들면, 클라이언트 컴퓨터(3020)는 키 쌍을 생성하고 접속부(3030)를 통하여 서버(3010)에 키 쌍 중 공용키를 전송한다. 현재 시간 간격에 대해 서버(3010)에 의해 생성된 키 쌍의 비밀키는 클라이언트(3020)로부터 공용키를 서명하는데 사용된다. 서명된 공용키 및 서버에 의해 발생된 키 쌍의 공용키는 클라이언트(3020)으로 다시 전송된다. 클라이언트(320)에 의해 생성된 키 쌍 중 비밀키는 데이터를 시간 스탬핑하는데 사용된다. 시간 스탬프가 생성된 바로 직후에, 클라이언트측 비밀키는 즉시 삭제되고, 클라이언트측 공용키는 클라이언트측 공용키에 대한 취소 인증서를 발행하기 위하여 서버측 비밀키를 이용하여 취소된다. 서버(3010)로부터의 비밀키는 파괴된다. 취소 인증서는 데이터의 서명, 현재 및 이전 시간 간격에 대한 서버측 공용키, 및 클라이언트측 공용키와 함께 시간 스탬프 인증서내에 통합된다.
도3B는 본 발명의 실시예에 따른 시간 스탬핑 방법을 실행하는 시스템에 대한 다른 실시예를 도시한다. 도3B에서, 시간 스탬핑 방법은 관계 데이터시스템이나 자금거래 시스템과 같은 단일 컴퓨터 시스템(3100)에서 수행된다. 컴퓨터 시스템(3100)은 CPU(3116)에 연결된 메모리(3115)를 포함한다. 키보드나 마우스와 같은 I/O 장치(3140)는 컴퓨터(3100)에 접속되며 본 발명의 실시예에 따른 시간 스탬핑 방법에 대한 사용자 액세스를 제공한다. 메모리(3115)는 예를 들면 본 발명의 실시예에 따른 시간 스탬핑 프로그램과 시간 스탬핑될 데이터에 대한 메시지 요약을 발생하기 위하여 상주 프로그램을 포함한다.
도3B의 실시예에 따르면, 사용자는 I/O 장치(3140)를 통해 시간 스탬핑될 데이터를 식별하며, 시스템은 예를 들면 데이터베이스 거래에 응답하여 시간 스탬핑될 데이터를 자동적으로 식별한다. 시간 스탬핑될 데이터의 식별은 메모리(3115)내에 저장된 상주 프로그램이 CPU(3116)에서 실행되어 데이터에 대한 메시지 요약을 발생하도록 한다. 메시지 요약은 메모리(3115)에 저장된 응용 프로그램으로 제공되며, 응용 프로그램은 데이터를 시간 스탬핑하기 위하여 CPU(3116)에서 실행되어 상주 프로그램에 시간 스탬프 인증서를 리턴시키며, 상주 프로그램은 시간 스탬프 인증서가 사용자용 I/O 장치(3140)로 전달되도록 한다.
그러므로, 본 발명에 따르면, 키 쌍은 특정 시간 간격에서 생성되며 시간 스탬프 요구는 그 시간 간격에 대한 비밀키를 이용하여 자동적으로 수행되며, 비밀키는 그 시간 간격 후에 파괴된다. 본 발명의 다른 실시예에서, 이전 시간 간격의 비밀키는 자신이 파괴되기 전에 다음 시간 간격에 대한 공용키를 서명하는데 사용된다. 이러한 실시예에서, 매 시간 간격은 다음 시간 간격에 대한 공용키를 서명한 후에 비밀키가 파괴되는 자체 키 쌍을 가진다. 본 발명에 따르면, 키 쌍은 시간 간격마다 연속적으로 발생될 필요는 없지만, 시간 스탬프 요구가 수신되는 각 시간 간격에 대한 큐(queue)로부터 선택되거나, 미리 발생될 수 있다.
본 발명의 실시예에 따른 시간 스탬핑 방법은 첫번째로 이전 시스템 사용과 같은 고정된 엔티티에 상응하지 않고 과도 시간 간격에 상응하는 키 쌍을 생성하기 위하여, 그리고 두 번째로 키들과 이러한 키들에 의해 생성된 서명을 사용하는 메카니즘을 제공하고 본 시스템에 의해 서명된 데이터 내의 내용의 인증 및 존재 시간의 엄밀한 증거를 제공하기 위하여 새로운 방법으로 공용 키 암호법을 사용한다. 상기한 바와 같이, 본 시스템의 특징은 소정 시간 간격동안 비밀키가 유한하고, 매우 짧은 기간동안만 존재하며 뒤이은 시간 간격에 대해서는 뒤이은 비밀키들로 대체된다는 것이다. 상기한 변형을 갖는 PGP와 같은 공용키 암호 시스템은 일정한 시간 간격으로 일련의 공용키 암호 키 쌍을 자동적으로 발생하는데 사용된다. 각 키는 자신이 사용되는 특정 시간 간격을 식별하는 지정을 키의 사용자 ID내에 포함한다. 동적으로 생성된 키에 대하여, 시간 간격의 최소 가능 존속기간은 공용키를 검증하기 위하여 키 쌍의 사용 및 키 쌍의 생성에 필요한 시간만큼 제한된다. 상기한 바와 같이, 짧은 시간 간격은 키 쌍을 사전 발생함으로써 인에이블링될 수 있다.
상기한 바와 같이, 시간 지정의 정확성은 서명의 "연쇄"에 의해 입증되며, 그로인해 각각의 새로운 시간 간격의 공용키가 이전 시간간격의 비밀키를 삭제하기 바로 전에 이전 간격의 비밀키를 사용하여 인증된다(예를 들면, 디지탈 서명된다). 이것은 예를 들면 새로운 시간 간격의 공용키를 디지탈 서명하기 위하여 이전 시간 간격의 비밀키를 사용함으로써 행해진다. 공용키가 서명된 후, 이전 간격의 비밀키가 삭제된다.
각 키 쌍 중 공용키는 차후 사용을 위해 저장된다. 어떤 소정의 비밀키는 비밀키가 발생된 간격을 바로 뒤따르는 시간 간격 동안에만 데이터를 시간 스탬핑 하기 위해 사용된다. 이러한 사용 간격 동안, 비밀키는 이러한 처리를 위해 시스템에 제출된 모든 데이터를 디지탈 서명하고 시간 스탬핑하는데 사용된다. 데이터가 시간 스탬핑을 위해 시스템에 제출되면, 이들 데이터는 각 시간 간격의 비밀키를 이용하여 서명함으로써 처리된다. 이러한 서명 프로세스는 시간 스탬프 인증서를 발생한다. 각 시간 스탬프 인증서는 예를 들면 현재 시간 간격의 사용을 위해 인증된 공용키 및 비밀키에 의해 발생된 데이터의 디지탈 서명을 포함한다. 각 시간 간격에서 사용되는 공용키는 차후 참조를 위해 저장될 수 있다. 차후에 시간 스탬프 인증서의 용이한 검증에 사용하기 위해, 모든 시간 스탬프 인증서는 모든 시간 스탬프 인증서가 시스템에 의해 발생된 시간 스탬프의 정확성을 입증하는데 필요하지 않다 하더라도 저장될 수 있다.
각 시간 간격의 종료시에, 새로운 키 쌍이 발생되고, 새로운 쌍의 공용키는 현재 시간 간격의 비밀키에 의해 인증되며(서명되며), 그리고나서 현재 시간 간격의 비밀키는 삭제되고 싸이클이 계속된다. 어떤 추후 시점에서 시간 스탬프의 검증은 시간 스탬프 인증서에서 디지탈 서명을 검증하기 위하여 각 시간 간격의 공용키를 이용하는 것을 필요로한다. 이러한 공용키의 검증은 검증될 공용키에서 인증 서명을 검증하기 위하여 이전 시간 간격의 공용키를 사용함으로써 달성된다. 공용키 인증 서명의 "연쇄"를 통한 추적 능력은 서명의 연쇄내에 어떤 개별적인 시간 간격 스탬프의 시간 위치에 대한 부인할 수 없는 증거를 제공한다. 소정의 시간 간격 키가 사용된 정확한 시간에 대한 추가 증거는 동일한 키에 의해 발생된 다른 인증서를 트랙킹하고 이러한 서명의 발생 시간 및 이와 관련된 서명된 데이터에 대한 증거를 수집함으로써 제공될 수 있다. 각 시간 간격에 대한 비밀키가 시간 간격이 지나간 후 바로 파괴되기 때문에, 가짜 시간 스탬프를 생성하기는 불가능할 것이다.
본 발명의 실시예에 따른 많은 다른 시간 스탬핑 방법들이 사용될 수 있다. 상기한 바와 같이, 예를 들면, 사용자의 사이트에서 메시지 요약을 계산하고 서명을 위해 서버에 메시지 요약만을 전송할 수 있다. 이것은 효율적인 네트워크 대역폭 사용과 데이터의 정확성을 둘 다 보장한다.

Claims (60)

  1. 데이터를 인증하는 방법으로서,
    비밀키 및 공용키를 포함하는 키 쌍을 제1 시간 간격에서 생성하는 단계;
    인증 요청을 수신하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되는 경우에, 상기 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 단계; 및
    상기 비밀키를 삭제하는 단계를 포함하는 데이터 인증 방법.
  2. 제1항에 있어서,
    상기 데이터의 디지털 서명을 확인하는 시간 스탬프 인증서를 생성하는 단계를 더 포함하는 데이터 인증 방법.
  3. 제1항에 있어서,
    상기 제1 시간 간격의 공용키를 저장하는(archive) 단계를 더 포함하는 데이터 인증 방법.
  4. 제1항에 있어서,
    상기 공용키를 사용하여 디지털 서명된 데이터를 검증하는(authenticate) 단계를 더 포함하는 데이터 인증 방법.
  5. 제1항에 있어서,
    추가적인 인증 요청이 상기 제1 시간 간격 동안 수신되는지 여부를 결정하는 단계를 더 포함하는 데이터 인증 방법.
  6. 제5항에 있어서,
    추가적인 인증 요청이 상기 제1 시간 간격 내에서 수신되었는지 여부를 결정하는 단계; 및
    추가적인 인증 요청이 상기 제1 시간 간격 내에서 수신되었다면, 상기 비밀키를 사용하여 상기 추가적인 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 추가적인 인증 요청에 자동으로 응답하는 단계를 추가로 포함하며,
    상기 비밀키를 삭제하는 단계는 추가적인 인증 요청이 응답된 후에 수행되는 데이터 인증 방법.
  7. 제1항에 있어서,
    비밀키 및 공용키를 포함하는 키 쌍을 다음 시간 간격에서 생성하는 단계;
    다음 인증 요청을 수신하는 단계;
    다음 인증 요청이 상기 다음 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    다음 인증 요청이 다음 시간 간격 동안 수신되었다면 상기 다음 시간 간격의 비밀키를 사용하여 다음 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 다음 인증 요청에 자동으로 응답하는 단계; 및
    상기 다음 시간 간격에 대한 상기 비밀키를 삭제하는 단계를 포함하는 데이터 인증 방법.
  8. 데이터를 인증하는 방법으로서,
    제1 비밀키 및 제1 공용키를 포함하는 제1 키 쌍을 제1 시간 간격에서 생성하는 단계;
    제2 비밀키 및 제2 공용키를 포함하는 제2 키 쌍을 제2 시간 간격에서 생성하는 단계;
    상기 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    상기 제1 비밀키를 삭제하는 단계;
    인증 요청이 상기 제2 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 제2 시간 간격 내에서 수신되었다면, 상기 제2 비밀키를 사용하여 상기 제2 시간 간격동안의 인증 요청을 처리하는 단계; 및
    상기 제2 비밀키를 삭제하는 단계를 포함하는 데이터 인증 방법.
  9. 제8항에 있어서,
    상기 제1 공용키를 저장하는 단계를 더 포함하는 데이터 인증 방법.
  10. 제8항에 있어서,
    인증 요청을 처리하는 상기 단계는 상기 제2 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 것을 특징으로 하는 데이터 인증 방법.
  11. 제10항에 있어서,
    상기 데이터의 디지털 서명을 확인하는 시간 스탬프 인증서(time stamp certificate)를 생성하는 단계를 더 포함하는 데이터 인증 방법.
  12. 제11항에 있어서,
    상기 시간 스탬프 인증서는 디지털 서명 및 제2 공용키를 포함하는 데이터 인증 방법.
  13. 제12항에 있어서,
    상기 시간 스탬프 인증서는 제1 공용키를 더 포함하는 데이터 인증 방법.
  14. 제8항에 있어서,
    상기 제1 공용키를 사용하여 디지털 서명된 데이터를 인증하는 단계를 더 포함하는 데이터 인증 방법.
  15. 데이터를 인증하는 시스템으로서, 상기 시스템은
    범용 컴퓨터; 및
    상기 범용 컴퓨터에 연결된 I/O 장치를 포함하며,
    상기 범용 컴퓨터는 상기 범용 컴퓨터에 의해 실행될 수 있는 프로그램을 담고 있는 메모리를 포함하며, 상기 프로그램은 상기 범용 컴퓨터가
    비밀키 및 공용키를 포함하는 키 쌍을 제1 시간 간격에서 생성하고,
    인증 요청을 수신하며,
    상기 인증 요청이 제1 시간 간격 내에서 수신되었는지 여부를 결정하며,
    상기 인증 요청이 제1 시간 간격 내에서 수신되었다면, 상기 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하며, 그리고
    상기 비밀키를 삭제하도록 명령하는 것을 특징으로 하는 데이터 인증 시스템.
  16. 제14항에 있어서,
    상기 범용 컴퓨터는 클라이언트 컴퓨터 및 서버 컴퓨터를 포함하는 클라이언트-서버 구조를 갖는 것을 특징으로 하는 데이터 인증 시스템.
  17. 데이터를 인증하는 시스템으로서, 상기 시스템은
    범용 컴퓨터; 및
    상기 범용 컴퓨터에 연결된 I/O 장치를 포함하며,
    상기 범용 컴퓨터는 상기 범용 컴퓨터에 의해 실행될 수 있는 프로그램을 담고 있는 메모리를 포함하며, 상기 프로그램은 상기 범용 컴퓨터가
    제1 공용키 및 제1 비밀키를 포함하는 제1 키 쌍을 제1 시간 간격에서 생성하고,
    제2 공용키 및 제2 비밀키를 포함하는 제2 키 쌍을 제2 시간 간격에서 생성하고,
    상기 제1 비밀키를 사용하여 상기 제2 공용키를 서명하고,
    상기 제1 비밀키를 삭제하고,
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하고,
    상기 인증 요청이 상기 제2 시산 간격 내에서 수신되었다면, 상기 제2 비밀키를 사용하여 상기 제2 시간 간격 동안 상기 인증 요청을 처리하며, 그리고
    상기 제2 비밀키를 삭제하도록 명령하는 것을 특징으로 하는 데이터 인증 시스템.
  18. 제16항에 있어서,
    상기 범용 컴퓨터는 클라이언트 컴퓨터 및 서버 컴퓨터를 포함하는 클라이언트-서버 구조를 갖는 것을 특징으로 하는 데이터 인증 시스템.
  19. 비밀키 및 공용키를 포함하는 키 쌍을 제1 시간 간격에서 생성하는 단계;
    인증 요청을 수신하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되는 경우에, 상기 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 단계; 및
    상기 비밀키를 삭제하는 단계를 포함하는 방법을 중앙 처리 유닛이 실행하도록 하는 명령들이 저장된 컴퓨터 판독가능 매체.
  20. 제1 비밀키 및 제1 공용키를 포함하는 제1 키 쌍을 제1 시간 간격에서 생성하는 단계;
    제2 비밀키 및 제2 공용키를 포함하는 제2 키 쌍을 제2 시간 간격에서 생성하는 단계;
    상기 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    인증 요청이 상기 제2 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 제2 시간 간격 내에서 수신되었다면, 상기 제2 비밀키를 사용하여 상기 제2 시간 간격 동안의 인증 요청을 처리하는 단계; 및
    상기 제1 및 제2 비밀키를 삭제하는 단계를 포함하는 방법을 중앙 처리 유닛이 실행하도록 하는 명령들이 저장된 컴퓨터 판독가능 매체.
  21. 데이터를 인증하는 시스템으로서,
    비밀키 및 공용키를 포함하는 키 쌍을 제1 시간 간격에서 생성하는 수단;
    인증 요청을 수신하는 수단;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되었는지 여부를 결정하는 수단;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되는 경우에, 상기 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 수단; 및
    상기 비밀키를 삭제하는 수단을 포함하는 데이터 인증 시스템.
  22. 제21항에 있어서,
    상기 데이터의 디지털 서명을 확인하는 시간 스탬프 인증서를 생성하는 수단을 더 포함하는 데이터 인증 시스템.
  23. 제21항에 있어서,
    상기 제1 시간 간격의 공용키를 저장하는 수단을 더 포함하는 데이터 인증 시스템.
  24. 제21항에 있어서,
    상기 공용키를 사용하여 디지털 서명된 데이터를 검증하는 수단을 더 포함하는 데이터 인증 시스템.
  25. 제21항에 있어서,
    추가적인 인증 요청이 상기 제1 시간 간격 동안 수신되는지 여부를 결정하는 수단을 더 포함하는 데이터 인증 시스템.
  26. 제25항에 있어서,
    추가적인 인증 요청이 상기 제1 시간 간격 내에서 수신되었는지 여부를 결정하는 수단; 및
    추가적인 인증 요청이 상기 제1 시간 간격 내에서 수신되었다면, 상기 비밀키를 사용하여 상기 추가적인 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 추가적인 인증 요청에 자동으로 응답하는 수단을 추가로 포함하며,
    상기 비밀키를 삭제하는 것은 추가적인 인증 요청이 응답된 후에 수행되는 데이터 인증 시스템.
  27. 제21항에 있어서,
    비밀키 및 공용키를 포함하는 키 쌍을 다음 시간 간격에서 생성하는 수단;
    다음 인증 요청을 수신하는 수단;
    다음 인증 요청이 상기 다음 시간 간격 내에서 수신되었는지 여부를 결정하는 수단;
    다음 인증 요청이 다음 시간 간격 동안 수신되었다면 상기 다음 시간 간격의 비밀키를 사용하여 다음 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 다음 인증 요청에 자동으로 응답하는 수단; 및
    상기 다음 시간 간격에 대한 상기 비밀키를 삭제하는 수단을 포함하는 데이터 인증 시스템.
  28. 데이터를 인증하는 시스템으로서,
    제1 비밀키 및 제1 공용키를 포함하는 제1 키 쌍을 제1 시간 간격에서 생성하는 수단;
    제2 비밀키 및 제2 공용키를 포함하는 제2 키 쌍을 제2 시간 간격에서 생성하는 수단;
    상기 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 수단;
    인증 요청이 상기 제2 시간 간격 동안 수신되었는지 여부를 결정하는 수단;
    상기 인증 요청이 제2 시간 간격 내에서 수신되었다면, 상기 제2 비밀키를 사용하여 상기 제2 시간 간격 동안의 인증 요청을 처리하는 수단; 및
    상기 제1 및 2 비밀키를 삭제하는 수단을 포함하는 데이터 인증 시스템.
  29. 제28항에 있어서,
    상기 제1 공용키를 저장하는 수단을 더 포함하는 데이터 인증 시스템.
  30. 제28항에 있어서,
    인증 요청을 처리하는 상기 수단은 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 수단을 포함하며, 이를 통해 상기 제2 비밀키를 사용하여 상기 인증 요청과 관련된 데이터의 디지털 서명을 생성하는 것을 특징으로 하는 데이터 인증 시스템.
  31. 제30항에 있어서,
    상기 데이터의 디지털 서명을 확인하는 시간 스탬프 인증서를 생성하는 수단을 더 포함하는 데이터 인증 시스템.
  32. 제31항에 있어서,
    상기 시간 스탬프 인증서는 디지털 서명 및 제2 공용키를 포함하는 데이터 인증 시스템.
  33. 제32항에 있어서,
    상기 시간 스탬프 인증서는 제1 공용키를 더 포함하는 데이터 인증 시스템.
  34. 제30항에 있어서,
    상기 제1 공용키를 사용하여 디지털 서명된 데이터를 인증하는 수단을 더 포함하는 데이터 인증 시스템.
  35. 제1 시간 간격 동안 제1 공용키 및 제1 비밀키를 생성하고, 제2 시간 간격 동안 제2 공용키 및 제2 비밀키를 생성하는 키 발생기;
    상기 제2 시간 간격 동안 도달하는 인증 요청을 수신하는 수신 수단;
    상기 키 발생기 및 상기 수신 수단과 연결되며, 상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 결정 수단;
    상기 키 발생기 및 상기 수신 수단에 연결되며, 상기 인증 요청이 상기 제2 시간 간격 내에서 수신되는 경우 상기 인증 요청에 응답하여 상기 제1 비밀키로 상기 제2 공용키를 서명하는 제1 서명 수단; 및
    상기 키 발생기 및 상기 수신 수단에 연결되며, 상기 제2 비밀키로 상기 제2 시간 간격 동안 수신된 데이터를 서명하는 제2 서명 수단을 포함하는 데이터 인증 서버.
  36. 제35항에 있어서,
    상기 제2 공용키 및 상기 서명된 데이터를 상기 사용자로 리턴하는 수단을 더 포함하는 데이터 인증 서버.
  37. 제35항에 있어서,
    상기 제1 및 제2 비밀키들을 삭제하는 수단을 추가로 포함하는 데이터 인증 서버.
  38. 제35항에 있어서,
    상기 제1 공용키를 저장하는 수단을 추가로 포함하는 데이터 인증 서버.
  39. 고객으로부터 수신된 데이터를 디지털 서명하는 방법으로서,
    제1 시간 간격 동안 제1 공용키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    사용자로부터 데이터 인증 요청을 수신하는 단계;
    상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 사용자로부터 수신되었는지 여부를 결정하는 단계;
    상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 사용자로부터 수신되었다면, 상기 제2 시간 간격 동안 생성된 상기 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계; 및
    상기 제2 공용키 및 상기 서명을 상기 사용자로 리턴하는 단계를 포함하는 디지털 서명 방법.
  40. 제39항에 있어서,
    상기 제1 및 제2 비밀키들을 삭제하는 단계를 더 포함하는 디지털 서명 방법.
  41. 제39항에 있어서,
    상기 제1 및 제2 공용키들을 저장하는 단계를 더 포함하는 디지털 서명 방법.
  42. 제1 시간 간격 동안 제1 공용키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    사용자로부터 데이터 인증 요청을 수신하는 단계;
    상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 사용자로부터 수신되었는지 여부를 결정하는 단계;
    상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 사용자로부터 수신되었다면, 상기 제2 시간 간격 동안 생성된 상기 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계; 및
    상기 제2 공용키 및 상기 서명을 상기 사용자로 리턴하는 단계를 포함하는 방법을 중앙 처리 유닛이 실행하도록 하는 명령들을 저장한 컴퓨터 판독가능 매체.
  43. 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 단계 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 생성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 데이터 검증(authenticate) 방법.
  44. 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 단계 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 방법을 중앙 처리 유닛이 실행하도록 하는 명령들을 저장하고 있는 컴퓨터 판독 가능 매체.
  45. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    데이터 인증 요청을 고객으로부터 수신하는 단계;
    고객으로부터의 상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계;
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 단계;
    상기 제1 공용키 및 상기 제2 공용키를 아카이브에 저장하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 데이터 인증 방법.
  46. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    데이터 인증 요청을 고객으로부터 수신하는 단계;
    고객으로부터의 상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계;
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 단계;
    상기 제1 공용키 및 상기 제2 공용키를 아카이브에 저장하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 방법을 중앙 처리 유닛이 실행하도록 하는 명령들을 저장하는 컴퓨터 판독가능 매체.
  47. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 수단;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 수단;
    데이터 인증 요청을 고객으로부터 수신하는 수단;
    고객으로부터의 상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 수단;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 수단;
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 수단;
    상기 제1 공용키 및 상기 제2 공용키를 아카이브에 저장하는 수단;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 수단; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 수단을 포함하는 데이터의 디지털 서명 및 검증을 위한 시스템.
  48. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 제1코드;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 제2코드;
    데이터 인증 요청을 고객으로부터 수신하는 제3코드;
    고객으로부터의 상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 제4코드;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 제5코드; 및
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 제6 코드의 조합을 포함하는 데이터를 디지털 서명하기 위한 컴퓨터 프로그램을 담고 있는 컴퓨터 판독 가능 저장 매체.
  49. 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하기 위한 제1 코드 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하기 위한 제2 코드;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하기 위한 제3 코드;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하기 위한 제4 코드; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하기 위한 제5코드의 조합을 포함하는 검증 수행 컴퓨터 프로그램을 담고 있는 컴퓨터 판독 가능 저장 매체.
  50. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 제1 코드;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 제2 코드;
    데이터 인증 요청을 고객으로부터 수신하는 제3 코드;
    고객으로부터의 상기 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 제4 코드;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 제5 코드;
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 제6 코드;
    상기 제1 공용키 및 상기 제2 공용키를 아카이브에 저장하는 제6 코드;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 제7 코드 조합을 포함하는 데이터를 디지털 서명하고 검증하는 컴퓨터 프로그램을 담고 있는 컴퓨터 판독가능 저장 매체.
  51. 비밀키 및 공용키를 포함하는 키 쌍을 제1 시간 간격에서 생성하는 단계;
    인증 요청을 수신하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제1 시간 간격 동안 수신되는 경우에, 상기 비밀키를 사용하여 상기 인증 요청과 관련된 데이터를 디지털 서명함으로써 상기 인증 요청에 자동으로 응답하는 단계; 및
    상기 비밀키를 삭제하는 단계를 포함하는 방법에 의해 생성되는 공용키 및 비밀키들을 나타내는 데이터를 담고 있는 메모리를 구비한 머신.
  52. 제1 비밀키 및 제1 공용키를 포함하는 제1 키 쌍을 제1 시간 간격에서 생성하는 단계;
    제2 비밀키 및 제2 공용키를 포함하는 제2 키 쌍을 제2 시간 간격에서 생성하는 단계;
    상기 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    인증 요청이 고객으로부터 상기 제2 시간 간격 동안 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 고객으로부터 제2 시간 간격 내에서 수신되었다면, 상기 제2 비밀키를 사용하여 상기 제2 시간 간격동안에 고객으로부터의 인증 요청을 처리하는 단계; 및
    상기 제1 및 2 비밀키를 삭제하는 단계를 포함하는 방법에 의해 생성된 공용키 및 비밀키들을 나타내는 데이터를 담고 있는 메모리를 구비한 머신.
  53. 제1 시간 간격 동안 제1 공개 키를 생성하고, 제2 시간 간격 동안 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    고객으로부터의 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계; 및
    상기 제2 공용키 및 상기 서명을 인증서로 상기 고객에게 리턴하는 단계를 포함하는 방법에 의해 고객에 대해 생성된 인증서들을 나타내는 데이터를 담고 있는 메모리를 구비한 머신.
  54. 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 단계 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 방법에 의해 검증되는 인증서들을 나타내는 데이터를 담고 있는 메모리를 구비한 머신.
  55. 공용키를 나타내는 제1 컴포넌트 - 여기서, 상기 공용키는 제1 시간 간격에서 형성되는 비밀키에 의해 서명되며, 상기 공용키는 제2 시간 간격에서 형성되며, 상기 제1 시간 간격은 상기 제2 시간 간격과는 상이함 - ;
    디지털 서명을 나타내는 제2 컴포넌트 - 여기서, 인증 요청이 제2 시간 간격 내에서 수신된 것으로 결정되면 상기 디지털 서명은 상기 제2 시간 간격 동안 생성됨 - 를 포함하며,
    상기 디지털 서명은 상기 제2 시간 간격 동안 생성되는 제2 비밀키를 이용하여 생성되는 전파 신호.
  56. 사용자가 인증서를 수신하도록 하여주는 사용자 장치에 위치하는 사용자 인터페이스로서,
    인증서를 수신하는 입력 메커니즘 - 여기서 상기 입력 메커니즘은 아카이브에 접속하며, 상기 아카이브는 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격에서 생성된 제2 공용키를 포함하며, 상기 제2 공용키는 제1 시간 간격 동안 생성되는 제1 비밀키를 이용하여 서명되며, 인증 요청이 상기 제2 시간 간격 내에서 수신된다고 결정되면 상기 인증서는 서명을 포함하며, 상기 서명은 제2 비밀키를 이용하여 생성되며, 상기 제2 비밀키는 상기 제2 시간 간격 동안 생성되며, 상기 인증서는 상기 제2 공용키를 추가로 포함함 - ;
    상기 제2 공용키 및 상기 서명을 검증하는 검증 수단; 및
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증한 결과들 및 상기 제2 공용키를 사용하여 상기 서명을 검증한 결과들을 상기 사용자에게 보여주는 출력 메커니즘을 포함하는 사용자 인터페이스.
  57. 인증된 데이터를 고객에게 판매하는 것을 용이하게 하기 위한 방법으로서,
    제1 시간 간격에서 제1 공용키를 생성하고, 제2 시간 간격에서 제2 공용키를 생성하는 단계;
    상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 상기 제2 공용키를 서명하는 단계;
    상기 고객으로부터 데이터 인증 요청을 수신하는 단계;
    상기 고객으로부터의 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 고객으로부터의 데이터 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성되는 제2 비밀키 및 상기 데이터를 사용하여 서명을 생성하는 단계;
    상기 제2 공용키 및 상기 서명을 상기 고객에서 인증서 형태로 리턴하는 단계; 및
    상기 고객에게 요금을 부과하는 단계를 포함하는 방법.
  58. 고객에 의한 데이터 검증 판매를 용이하게 하기 위한 방법으로서,
    제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 단계 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    고객으로부터 인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    고객으로부터 상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계;
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계; 및
    상기 고객에게 요금을 부과하는 단계를 포함하는 방법.
  59. 제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 수단 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 수단;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 수단;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 수단; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 수단을 포함하는 데이터 검증을 위한 고객 장치.
  60. 고객을 위한 데이터 인증 방법으로서,
    데이터 인증 요청을 발생시키는 단계;
    상기 요청을 서버로 전송하는 단계;
    제1 시간 간격 동안 생성된 제1 공용키 및 제2 시간 간격 동안 생성된 제2 공용키를 포함하는 아카이브(archive)에 접속하는 단계 - 여기서 상기 제2 공용키는 상기 제1 시간 간격 동안 생성된 제1 비밀키를 사용하여 서명됨 - ;
    인증 요청이 상기 제2 시간 간격 내에서 수신되었는지 여부를 결정하는 단계;
    상기 인증 요청이 상기 제2 시간 간격 내에서 수신되었다면, 상기 요청에 응답하여, 상기 제2 시간 간격 동안 생성된 제2 비밀키를 사용하여 형성된 서명 및 상기 제2 공용키를 담고 있는 인증서를 수신하는 단계;
    상기 제1 공용키를 사용하여 상기 제2 공용키를 검증하는 단계; 및
    상기 제2 공용키를 사용하여 상기 서명을 검증하는 단계를 포함하는 데이터 인증 방법.
KR1020007003052A 1997-09-22 1998-09-22 과도 키 디지탈 시간 스탬프 방법 및 시스템 KR100563515B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5945597P 1997-09-22 1997-09-22
US60/059,455 1997-09-22
PCT/US1998/020036 WO1999016209A1 (en) 1997-09-22 1998-09-22 Method and system for transient key digital time stamps

Publications (2)

Publication Number Publication Date
KR20010040248A KR20010040248A (ko) 2001-05-15
KR100563515B1 true KR100563515B1 (ko) 2006-03-27

Family

ID=22023060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007003052A KR100563515B1 (ko) 1997-09-22 1998-09-22 과도 키 디지탈 시간 스탬프 방법 및 시스템

Country Status (7)

Country Link
EP (1) EP1018239A4 (ko)
JP (2) JP4563577B2 (ko)
KR (1) KR100563515B1 (ko)
AU (1) AU760742C (ko)
CA (1) CA2304342C (ko)
IL (1) IL135069A0 (ko)
WO (1) WO1999016209A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210203481A1 (en) * 2018-05-14 2021-07-01 nChain Holdings Limited Systems and methods for storage, generation and verification of tokens used to control access to a resource

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017046B2 (en) 1997-09-22 2006-03-21 Proofspace, Inc. System and method for graphical indicia for the certification of records
US7047415B2 (en) * 1997-09-22 2006-05-16 Dfs Linkages, Inc. System and method for widely witnessed proof of time
US7519824B1 (en) 1999-12-10 2009-04-14 International Business Machines Corporation Time stamping method employing multiple receipts linked by a nonce
US6742119B1 (en) 1999-12-10 2004-05-25 International Business Machines Corporation Time stamping method using time delta in key certificate
US6993656B1 (en) 1999-12-10 2006-01-31 International Business Machines Corporation Time stamping method using aged time stamp receipts
US6965998B1 (en) 1999-12-10 2005-11-15 International Business Machines Corporation Time stamping method using time-based signature key
US7315948B1 (en) 1999-12-10 2008-01-01 International Business Machines Corporation Time stamping method employing a separate ticket and stub
US7490241B1 (en) 1999-12-10 2009-02-10 International Business Machines Corporation Time stamping method employing user specified time
US7689828B2 (en) 2004-07-23 2010-03-30 Data Security Systems Solutions Pte Ltd System and method for implementing digital signature using one time private keys
EP1927060B1 (en) 2005-08-09 2019-10-09 Nexsan Technologies Canada Inc. Data archiving method and system
JP4150037B2 (ja) 2005-09-30 2008-09-17 株式会社東芝 タイムスタンプ取得システム、タイムスタンプ取得装置、タイムスタンプ取得プログラム及びタイムスタンプ取得方法
US7904725B2 (en) 2006-03-02 2011-03-08 Microsoft Corporation Verification of electronic signatures
JP2009212747A (ja) * 2008-03-04 2009-09-17 Nec Corp 電子署名システム
JP5518668B2 (ja) * 2010-10-14 2014-06-11 日本電信電話株式会社 電子署名用鍵管理装置、電子署名用鍵管理方法、電子署名用鍵管理プログラム
JP2016116134A (ja) * 2014-12-16 2016-06-23 パナソニックIpマネジメント株式会社 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
CN109687967B (zh) * 2017-10-18 2022-02-08 克洛斯比尔有限公司 电子签名方法和设备
KR20210062488A (ko) 2019-11-21 2021-05-31 대한민국(전북기계공업고등학교장) 2축 모션 시뮬레이터
JP7358659B1 (ja) * 2022-02-28 2023-10-10 楽天グループ株式会社 通信システム、通信方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725512A2 (en) * 1995-02-03 1996-08-07 International Business Machines Corporation Data communication system using public keys
EP0738058A2 (en) * 1995-04-05 1996-10-16 Mordhay Barkan Method and apparatus for the secure distribution of encryption keys

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5001752A (en) * 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
JP3278721B2 (ja) * 1990-08-02 2002-04-30 テルコーディア テクノロジーズ、インコーポレーテッド 数値文書にタイムスタンプを確実に押す方法
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5422953A (en) * 1993-05-05 1995-06-06 Fischer; Addison M. Personal date/time notary device
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5469507A (en) * 1994-03-01 1995-11-21 International Business Machines Corporation Secure communication and computation in an insecure environment
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
JP3659791B2 (ja) * 1998-03-23 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 小時間鍵生成の方法及びシステム
JPH11296078A (ja) * 1998-04-15 1999-10-29 Yrs:Kk 記念品

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0725512A2 (en) * 1995-02-03 1996-08-07 International Business Machines Corporation Data communication system using public keys
EP0738058A2 (en) * 1995-04-05 1996-10-16 Mordhay Barkan Method and apparatus for the secure distribution of encryption keys

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210203481A1 (en) * 2018-05-14 2021-07-01 nChain Holdings Limited Systems and methods for storage, generation and verification of tokens used to control access to a resource
US11764947B2 (en) * 2018-05-14 2023-09-19 Nchain Licensing Ag Systems and methods for storage, generation and verification of tokens used to control access to a resource
US11838407B2 (en) 2018-05-14 2023-12-05 Nchain Licensing Ag Computer-implemented systems and methods for using a blockchain to perform an atomic swap
US11917051B2 (en) 2018-05-14 2024-02-27 Nchain Licensing Ag Systems and methods for storage, generation and verification of tokens used to control access to a resource
US11985225B2 (en) 2018-05-14 2024-05-14 Nchain Licensing Ag Computer-implemented systems and methods for using veiled values in blockchain

Also Published As

Publication number Publication date
AU9579698A (en) 1999-04-12
CA2304342A1 (en) 1999-04-01
KR20010040248A (ko) 2001-05-15
AU760742C (en) 2006-11-09
JP4563577B2 (ja) 2010-10-13
CA2304342C (en) 2009-01-27
EP1018239A4 (en) 2005-07-13
JP2010148098A (ja) 2010-07-01
IL135069A0 (en) 2001-05-20
JP2001517818A (ja) 2001-10-09
EP1018239A1 (en) 2000-07-12
WO1999016209A1 (en) 1999-04-01
AU760742B2 (en) 2003-05-22

Similar Documents

Publication Publication Date Title
US6381696B1 (en) Method and system for transient key digital time stamps
US10673632B2 (en) Method for managing a trusted identity
KR100563515B1 (ko) 과도 키 디지탈 시간 스탬프 방법 및 시스템
US6430688B1 (en) Architecture for web-based on-line-off-line digital certificate authority
US9847880B2 (en) Techniques for ensuring authentication and integrity of communications
EP1374473B1 (en) Method and apparatus for secure cryptographic key generation, certification and use
EP1599965B1 (en) Long-term secure digital signatures
US6834112B1 (en) Secure distribution of private keys to multiple clients
US5872848A (en) Method and apparatus for witnessed authentication of electronic documents
CN109905360B (zh) 数据验证方法及终端设备
US20050132201A1 (en) Server-based digital signature
US20040059686A1 (en) On-line cryptographically based payment authorization method and apparatus
KR20050089802A (ko) 조건부 전자 서명의 생성 방법, 조건부 전자 서명의 검증방법, 상태 정보 배포 방법 및 이를 수행하는 데이터 처리장치 및 컴퓨터 프로그램
JP2001237827A (ja) 構造化デジタル証明書
JP3873603B2 (ja) ディジタル署名方法および装置
CN116996229A (zh) 一种数字证书生成方法及相关装置
US20020144120A1 (en) Method and apparatus for constructing digital certificates
US6839842B1 (en) Method and apparatus for authenticating information
KR102056612B1 (ko) 임시 익명 인증서 생성 방법
US8307098B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
JP4626136B2 (ja) ディジタル署名処理システムおよびディジタル署名生成処理プログラムが記憶された記憶媒体
TWM579789U (zh) Electronic contract signing device
TWI828001B (zh) 使用多安全層級驗證客戶身分與交易服務之系統及方法
JP5159752B2 (ja) 通信データの検証装置及びそのコンピュータプログラム
TW202026934A (zh) 電子合約簽署方法與電子合約簽署系統

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090203

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee