KR20060123470A - OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials) - Google Patents

OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials) Download PDF

Info

Publication number
KR20060123470A
KR20060123470A KR1020067013835A KR20067013835A KR20060123470A KR 20060123470 A KR20060123470 A KR 20060123470A KR 1020067013835 A KR1020067013835 A KR 1020067013835A KR 20067013835 A KR20067013835 A KR 20067013835A KR 20060123470 A KR20060123470 A KR 20060123470A
Authority
KR
South Korea
Prior art keywords
certificate
rtca
digital certificate
digital
validity
Prior art date
Application number
KR1020067013835A
Other languages
English (en)
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 KR20060123470A publication Critical patent/KR20060123470A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

디지털 인증서의 유효성에 관한 정보를 제공하는 방법은, 하나의 디지털 인증서 세트에 속하는 다수의 디지털 인증서 각각에 대하여 디지털 인증서 유효성 상태를 규명하는 단계와, 다수의 디지털 인증서들로 구성된 상기 디지털 인증서 세트 중 하나 이상의 서브-세트의 유효성 상태에 관하여, 다수의 인위적으로 선-연산되는 메시지(artificially pre-computed message)를 생성하는 단계로서, 이때, 하나 이상의 메시지가 둘 이상의 디지털 인증서의 유효성 상태를 나타내는 단계와, 상기 디지털 인증서 세트에 속하는 특정 디지털 인증서에 관한 OCSP 질의에 응답하는 OCSP 포맷 응답을 제공하기 위해, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 단계로서, 이때, 둘 이상의 디지털 인증서에 대하여 하나 이상의 디지털 서명이 OCSP 포맷 응답에 연관되어 사용되는 단계를 포함한다. 생성하는 단계와 디지털 서명하는 단계는, OCSP 포맷 응답 중 임의의 응답에 의해 대답되는 임의의 OCSP 질의에 앞서 발생하는 것을 특징으로 한다. 상기 디지털 인증서 유효성 상태를 규명하는 단계에는 디지털 인증서에 관한 인증된 정보를 획득하는 단계가 포함됨을 특징으로 한다.

Description

OCSP 및 분산 OCSP를 위한 서명-효율적인 RTC(Real Time Credentials){SIGNATURE-EFFICIENT REAL TIME CREDENTIALS FOR OCSP AND DISTRIBUTED OCSP}
본 발명은 U.S. 가출원 60/535,666 (2004, 01, 09)과 U.S. 가출원 60/536,817 (2004, 01, 15)로부터 우선권을 주장하고 있으며, 이는 본원에서 참조로서 인용된다.
본 출원은 디지털 인증서에 관한 것이며, 특히, 디지털 인증서 및 그 밖의 다른 정보를 식별하고, 검증하는 분야에 관한 것이다.
디지털 서명은 인터넷 인증서의 유효한 형태를 제공한다. 종래의 패스워드와 PIN과는 다르게, 광역적으로 검증하는 방식으로, 디지털 서명은 거래를 인증한다. 따라서 불가능하지 않다면, 디지털 서명된 거래에 대해 지불을 중단하는 것이 매우 어렵다. 디지털 서명은 서명 키, 즉 SK를 통해 이뤄지며, 검증 키, 즉 PK에 맞춰봄으로써 검증될 수 있다. 사용자 U가 자신의 SK를 유지하고 있어, 오직 사용자 U만이 서명할 수 있다. PK에 의하여 SK가 누설되는 일은 없다. 즉, PK에 대해 아는 것이 SK를 연산하는데 있어 어떠한 실제적인 이익을 제공하지 않는다는 것이다. 따라서 모든 사람이 사용자 U의 서명을 검증할 수 있도록 사용자 U는 고유의 PK를 가능 하면 공개적으로 가질 수 있다. 이러한 이유로, PK가 공개 키(public key)라고 불리는 것이다.
디지털 인증서는 알파벳과 숫자로 이루어진 스트링이며, 이는 주어지 키 PK가 사용자 U의 진정한 공개 키인지에 대해 보증함에 따라 디지털 서명이 가능하게 한다. 인증기관(CA: Certification Authority)은 사용자의 신분을 확인하고 나서야 인증서를 생성하고 상기 사용자에게 발행한다. 따라서 인증서는 CA가 소지자의 신분, 또는 가능하다면 그 밖의 다른 사항들도 검증했음을 증명하는 것이다. 인증서는 특정 시간, 가령, 공공 인증기관의 경우에선 보통 1년이 지나면 만료된다.
필수적으로, 디지털 인증서 C는 여러 가지 요소를 포함하며 CA에 의한 디지털 서명으로 이루어져 있으며, 상기 요소로는 SN: 상기 인증서 고유의 시리얼 넘버, PK: 사용자의 공개 키, U: 사용자의 이름, D1: 발행일, D2: 만료일 등이 있으며, 기호로 나타내면,
C=SIGCA(SN, PK, U, D1, D2, ...)이다.
특정 인증서가 유효하게 발행되었는지를 판단하고, 상기 인증서 만료일 전에 철회되었는지를 판단하는 것을 포함하여, 디지털 인증서의 상태를 판단할 수 있는 것은 유용하다. 개별 디지털 인증서의 상태를 판단하기 위한 다수의 기법이 존재한다. 가령, U.S. 특허 5,666,416과 5,717,758은 개별 인증서 상태를 제공하는 기법을 서술하고 있다. 인증서 상태를 배포하고 규명하기 위한 다른 기법이 또한 알려져 있으며, 그 예로 철회된 인증서의 디지털 서명된 리스트인 CRL(Certificate Revocation List)과, 특정 인증서의 상태에 대해 질의하는 메커니즘을 확정하는 OCSP(Online Certificates Status Protocol)이 있다.
CRL은, 각각의 CA로 하여금 철회된 인증서의 시리얼 넘버를 내포하게 하며, 적절하게 날짜가 정해지고 디지털 서명된 리스트(상기 CRL)를 주기적으로 발행하게 함으로써, 기능한다. 일부 실시예에서, CRL은 인증서들의 주어진 집합 중 철회된 모든 인증서를 내포한다. 따라서 디지털 인증서는 가장 최근의 CRL을 비교하는 전자 거래와 함께 제공될 수 있다. 주어진 인증서가 만료되지는 않았으나, 철회된 듯이 리스트 상에 존재할 경우, 상기 인증서가 유효하지 않다는 사실과, 상기 인증서 소지자에게는 상기 디지털 인증서에 의해 가능한 거래를 더 이상 진행할 권한이 없다는 사실을 CRL에 의해 알 수 있다. 한편, 인증서가 CRL에서 나타나지 않을 경우, 상기 인증서는 유효하다고 추정된다. 어느 쪽이든, 상기 CRL은 각각의 거래에 대한 다른 기록과 함께 저장되어, 상기 거래의 유효성을 후에 증명하거나, 철회된 인증서의 경우에는, 서비스를 거부할 수 있다.
10퍼센트를 철회율(revocation rate)로 가정하면, 평균 10개의 디지털 인증서 중 하나가 만료일 전에 철회된다. 이러한 철회율에 따르면, 천만 개의 인증서를 갖는 시스템은 백만 개의 시리얼 넘버를 포함하는 CRL을 생성하며, 이는 CRL을 비효율적으로 만든다. 이러한 문제점이 최근 개발된 CRL 분할 기법(CRL-partition technique)에 의해 완화될 수 있을지라도, 여러 인증서의 철회 정보들을 같이 묶는 기본 방침은 불편함을 초래하고, 비용을 증대시킨다. 시리얼 넘버가 24 비트 길이일 경우(수백만 개의 인증서를 취급할 수 있음), 1000개의 인정서의 서브-CRL은 24 x 1000 비트(즉, 3000 바이트) 길이일 수 있다. 일부 배치에 있어서, 오버헤드를 포함하여, 각각의 인증서에 대한 CRL 입력은 22 바이트만큼 클 수 있으며, 따라서 1000개의 인증서의 서브-CRL은 22 x 1000 바이트 길이를 갖게 된다. 이것은 특정 상황, 가령, 무선 거래(wireless transaction)에서는 허용될 수 없는 수치일 수 있으며, 상기 무선 거래에서, 이렇게 많은 비트를 전송해야만 하는 것은 실용적이지 못할 수 있다.
함께 묶이게 되는 여러 인증서에 대해, 철회 증명을 제공해야 하기 때문에, CRL은 커질 수 있다. 이와 대조적으로, OCSP는 개별 인증서의 유효성에 대한 증명을 제공할 수 있다. 종래의 OCSP 서비스는, 클라이언트로부터의 주어진 CA가 발행한 주어진 인증서의 유효성에 대한 질문을 수신하여, 응답하고, 상기 인증서의 상태와 대답에 대한 시간 정보를 모두 가리키는 디지털 서명된 대답을 제공할 수 있는 OCSP 응답자를 사용할 수 있다.
OCSP 서비스를 제공할 수 있도록, 종래의 OCSP 응답자는 특정 CA의 모든 인증서의 상태에 관한 정보를 제공받는다. 고유 인증서의 상태를 결정하기 위해, CA로 거슬러 올라가기 때문에, 상기 OCSP 응답자가 CA 자신일 경우, 상기 OCSP 응답자 및 CA는 상기 인증서의 철회 상태에 관한 정보를 이미 갖고 있다. 한편, 상기 OCSP 응답자가 CA가 아닐 경우, 상기 OCSP 응답자는 상기 CA의 인증서의 상태에 관하여 계속 업데이트를 받을 수 있다. 예를 들자면, U.S. 특허 No. 5,717,758 의 Witness-Based Certificate Revocation System을 참조할 수 있다.
CA가 OCSP 응답자에게 가장 최근의 CRL을 전송함으로써 업데이트를 보낼 수 있다. 현재 CRL의 시간과, 다음 업데이트의 시간과, 실제 프로세싱의 시간을 지시하면서 OCSP 응답자가 서명된 응답을 신뢰인 측(relying party)에게 제공할 수 있도록, 특정 관심 인증서가 현재 유효한지, 또는 철회되었는지를 상기 OCSP 응답자가 CRL에게 알려준다.
물론, CRL에 관하여 어떠한 조언도 하지 않으면서, 악의적이고 신용 상태가 불량한 OCSP 응답자가, 주어진 CA의 인증서에 관하여 임의로 서명된 대답을 제공할 수도 있다. 따라서 신뢰인 측이 주어진 CA의 인증서에 관하여 OCSP 응답자의 디지털 서명된 대답을 안전하게 신뢰하도록, 상기 OCSP는 CA가 OCSP 응답자에게 응답자 인증서, 즉 CA에 의해 서명된 특수 디지털 인증서를 제공하는 수단을 포함하며, 상기 특수 디지털 인증서는, OCSP 응답자가 상기 CA 인증서에 관한 정확한 증명을 제공한다고 CA가 신뢰하는 다른 측을 필수적으로 증명한다. 이러한 프로세스가 적절하게 구동되도록, 각각의 OCSP 응답자(뿐 아니라, 각각의 CA)는 비밀 서명 키(secret signing key)를 가져야 하며, 가령, 저장소(vault)에 응답자를 구현하는 서버를 배치함으로써, 상기 키는 보호되어야 한다.
도 1을 참조하여, 다이어그램(40)은 기존의 OCSP 환경에서의 정보의 흐름을 도식하고 있다. 다이어그램(40)은 CA(42)와, 종래 방식의 OCSP 응답자(44)와, 신뢰인 측(46)을 포함한다. CA(42)를 나타내기 위해 굵은 선이 사용되고, OCSP 응답자(44)는 시스템이 안정적으로 동작하기 위해 보호되어야 할 비밀 키의 존재를 나타낸다. 상기 CA(42)는 유효성에 관한 정보(48), 가령 CRL을 상기 OCSP 응답자(44)에게 제공한다. 상기 신뢰인 측(46)은 OCSP 요청(52)을 OCSP 응답자(44)에게 제공 한다. 상기 OCSP 응답자(44)는 CA(42)가 제공한 (가령, CRL의 형태로 되어 있는) 유효성 정보를 검사하고, 질문의 인증서의 유효 상태를 판단한다. 그 후, 상기 OCSP 응답자(44)는 그에 대응하는 응답을 준비하고, 상기 응답을 디지털 서명하고, OCSP 응답(54)으로서 그 결과물을 신뢰인 측(46)에게 제공한다. 일부 경우에 있어서, 상기 OCSP 응답자(44)는 CA(42)에 의해 상기 OCSP 응답자(44)에게 권한이 부여됐음을 지시하는 응답자 인증서(56)를 상기 신뢰인 측(46)에게 제공할 수 있다.
OCSP는 명백한 단점을 갖고 있다. 첫째로, 디지털 서명은 연산 집약적인 작업이라는 것이다. 종래의 OCSP 응답자에 의해 각각의 OCSP 응답 상에 생성된 디지털 서명은 요청과 동시에 생성되며, 이는 검증 작업 중 가장 연산 집약적이다. 예를 들자면, 디지털 서명을 생성함에 따라 50㎳ 내지 1s의 거래 시간이 더 증가될 수 있다. 종래의 OCSP 응답자가 디지털 인증서 C에 관하여 질문을 받은 후에 디지털 인증서 C에 관하여 디지털 서명을 저장한 다음, 상기 저장된 서명을 전송할지라도, 초기 디지털 서명을 생성하기 때문에, 상기 C에 대해 첫 번째로 질문한 사용자에게 그 대답이 지연될 수 있음이 명백하다.
추가적으로, 단일 OCSP 응답자가 존재할 경우, 모든 인증서 유효성 질의(query)는 단일 OCSP 응답자에게로 결국 라우팅되며, 이로 인하여 거대한 네트워크 병목 현상이 발생하고, 심각한 혼잡 및 지연이 초래된다. 다수의 신용할만한 사용자가 갑자기 상기 OCSP 응답자에게 질의할 경우, 그 후, 서비스의 승인 거부를 중단하는 상황이 발생한다.
그러나 OCSP의 집중 구현에 따른 병목 현상 문제를 방지하기 위해, 인증서의 유효성에 대한 요청 부하를 적절이 인증된 여러 개의 종래의 OCSP 응답자에게 분배하는 구성이 고려될 수 있다. 일반적으로, 단일 서버의 부하를, 전송 병목 현상을 방지하기 위해 전략적으로 골고루 위치하는 여러 개의 서버 (가령, 100개의 서버)에게 분포함에 따라, 네트워크 혼잡이 완화될 수 있다. 그러나 OCSP에 있어서, 서명된 응답을 인증서-유효성 질의에게 제공하기 위해, 각각의 100개의 분산된 종래의 OCSP 응답자가 자신의 고유 비밀 키를 소유해야 하기 때문에, 부하를 분배하는 것은 추가적인 문제점을 초래할 수 있다. 따라서 100개의 서버 중 신용이 불량한 임의의 것 때문에, 구조 전체의 신용이 위태로워진다. 종래의 OCSP 응답자의 신용이 위태로워질 경우, 범죄자가 노출된 비밀 서명 키를 사용하여, (1) 유효한 인증서를 철회하거나, (2) 철회된 인증서를 여전히 유효하다고 가리키도록 잘못 서명할 수 있다. 후자인 양성 오류(false-positive) 타입의 응답은, 예를 들어, 종료된 사용자를 다시 시스템에 접속할 수 있게 한다.
응답자의 신용이 위태로워지는 것을 방지하는 한 가지 방법은 24x7 감시자(24x7 surveillance)를 사용하여 상기 응답자를 안전한 저장소로부터 실행시키는 것이다. 불행하게도, 이는 비용을 증대시킨다. 가령, 금융 관련 CA의 요구조건을 모두 충족시키는 안전한 저장소를 구축하기 위해서는 백만 달러 이상의 비용이 소모되며, 이를 운영하기 위해 1년에 백만 달러씩 필요하다. 덧붙이자면, 이러한 비용을 기꺼이 지불한다할지라도, 상기 저장소가 하룻밤에 구축되는 것은 아니다. 따라서 종래 OCSP 응답자의 현재 부하를 완화하기 위해 CA가 더 많은 저장소를 필요로 할 경우, 새로 적절하게 저장소가 추가된 OCSP 응답자가 구축되기 전까지 수개 월의 지연이 있을 수 있다.
덧붙여, 다수의 저장소에 대한 비용을 부담하는 것으로는 OCSP 보안 문제를 해결할 수 없다. 왜냐하면, 상기 OCSP 메커니즘은 기존의 OCSP 응답자가 신뢰할만하지 않은 소스로부터 오는 요청을 수신하고, 그 후 상기 응답자의 비밀 서명 키를 이용하여 상기 요청을 서비스하도록 요구하기 때문이다. 따라서 악의적인 신뢰인 측(또는 신뢰인 측인 듯 행동하는 악의적인 대리인)은 운영체제의 취약점을 이용함으로써, OCSP 응답자 서명 키를 드러내는 것을 더 선호할 것이다.
덧붙이자면, 여러 다른 보안 도메인(security domain)으로부터의 인증서 유효성 요청을 서비스하는 것에 대하여, OCSP에 연계된 어려움이 존재한다. 예를 들자면, 조직 A에 의해 운영되는 종래의 OCSP 응답자는 상기 조직 A의 AC의 인증서 상태에 대한 응답을 쉽게 제공할 수 있으나, 다른 조직에 의해 운영되는 OCSP 응답자에게는 “외래” 인증서에 대한 응답을 제공하기 위한 정보가 불충분할 수 있다.
특정 정보의 부족으로부터 초래되는 이러한 문제점은 두 가지 방식으로 해결될 수 있다. 우선, 조직 B로부터의 신뢰인 측은 조직 A의 응답자로부터, 조직 A의 CA로부터의 인증서 상태를 획득할 수 있다. 그러나 조직 A로부터의 OCSP 응답자는 조직 B의 신뢰인 측으로부터 지리적으로 멀리 떨어져 있어, 네트워크 타임(network time)이 전체 인증 프로세싱을 느리게 만들기 때문에, 이는 성능을 제한할 수 있다. 두 번째 대안은, 조직 A로부터의 CA가 조직 A로부터의 CRL을 외래 응답자에게 발송하도록 함으로써, 조직 B로부터의 응답자가 조직 A로부터의 인증서에 관하여 응답하는 것이다. CRL은 디지털 서명되며, 비밀을 유지할 필요가 없고, 조직 A로부 터의 CA는 조직 A로부터의 인증서의 유효 상태에 관하여, 가능한 가장 많은 대상자에게 정보를 알리길 바랄 것이다. 이러한 두 번째 대안은 조직 B의 OCSP 응답자에게, 조직 A의 인증서에 관한 신뢰인 측으로부터의 요청에 대답하기 충분한 정보를 제공한다. 그러나 상기 신뢰인 측이 조직 B의 OCSP 응답자의 디지털 서명된 대답을 취하며, 조직 A로부터의 인증서에 관한 유효성 질의에 관하여 대답하기에 신뢰할 만하다고 조직 A로부터의 CA는 외래 응답자를 보증한다.
도 2를 참조하여, 다이어그램(60)은 도 1의 다이어그램에서 도식되었던, CA(42)와, 종래의 OCSP 응답자(44)와, 신뢰인 측(46)을 도식한다. 그러나 다이어그램(60)이 도식하는 상황에서, 신뢰인 측(46)은 CA(42)에 의해 관리되지 않고 대신 다른 CA(64)에 의해 발행되고 관리되는 인증서에 관한 OCSP 요청(62)을 제공한다. 이러한 경우에 있어서, 상기 OCSP 응답자(44)는 OCSP 응답을 CA(42)에 의해 제공되는 CRL(48)내의 정보만 기반으로 하여, OCSP 응답자(44)에게 제공하지 않을 수 있다. 대신 상기 CA(64)는 서로 다른 CRL(66)과 서로 다른 응답자 인증서(68)를 OCSP 응답자(44)에게 제공한다. 그 후, 상기 OCSP 응답자(44)는 다른 CRL(66)을 사용하여 외래 인증서에 관하여 OCSP 응답(72)을 체계화할 수 있다. 일부 실시예에서, 또한 OCSP 응답자(44)는 신뢰인 측(46)에게 상기 응답자 인증서(68)를 제공할 수 있다.
상기 두 번째 대안은 더 나은 확장성과 성능을 제공할 수 있으나, 보안 측면에서, 그리고 두 조직 간의 신뢰 흐름 측면에서 혼란을 초래할 수 있다. 다이어그램(60)에서, OCSP 응답자(44)는 CA(64)의 인증서가 여전히 유효하다는 신뢰인 측으 로의 권한 있는 응답을 생성하고 있다. 온갖 이유로(가령, 잘못된 구성, 악의적인 공격, 명확한 부정), 상기 OCSP 응답자(44)가 올바르지 않은 응답을 생성할 경우, 상기 OCSP 응답자(44)는 상기 CA(64)의 조직에 부정적인 영향을 미칠 수 있다. OCSP 응답자(44)가 CA(64)의 조직의 인증서에 관하여 권한 있는 주장을 할 수 있도록 허용함으로써, 상기 CA(64)의 조직은 이전에 획득했던 신뢰의 일부를 포기한다.
예를 들자면, 상기 조직이 신용 카드 발행 회사인 경우를 고려해보자. 조직 A로부터의 은행은 사용자에 대한 인증서를 철회하며, 상기 은행은 조직 A로부터의 종래의 OCSP 응답자가 안전하고 신뢰할만하다고 확신하기 위해, 돈을 지불한다. 조직 B로부터의 OCSP 응답자가 잘못 설정되었다고 가정하면, 조직 B로부터의 상인 신뢰인 측이 사용자의 유효성에 관하여 질문할 때, 조직 B의 응답자는 상기 사용자가 유효하다고 잘못 대답할 수 있다. 상인은 이러한 대답을 받아들이고, 철회된 사용자에 대하여 거래를 계속하도록 한다. 이러한 종류의 조직들 간의 신뢰의 위임(delegation-of-trust)이 일부 경우에 있어서는 받아들여질 수 있으나, 종래의 OCSP의 커다란 규모의 이질적인 배열에 있어서는 일반적으로 유용하지 않을 수 있다.
전술한 난제들을 해결하는 시스템이 제공되는 것이 바람직하다.
본 발명에 따르는 태양에서, 디지털 인증서의 유효성에 관한 정보를 제공하는 방법은, 하나의 디지털 인증서 세트에 속하는 다수의 디지털 인증서 각각에 대하여 디지털 인증서 유효성 상태를 규명하는 단계와, 다수의 디지털 인증서들로 구성된 상기 디지털 인증서 세트 중 하나 이상의 서브-세트의 유효성 상태에 관하여, 다수의 인위적으로 선-연산되는 메시지(artificially pre-computed message)를 생성하는 단계로서, 이때, 하나 이상의 메시지가 둘 이상의 디지털 인증서의 유효성 상태를 나타내는 단계와, 상기 디지털 인증서 세트에 속하는 특정 디지털 인증서에 관한 OCSP 질의에 응답하는 OCSP 포맷 응답을 제공하기 위해, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 단계로서, 이때, 둘 이상의 디지털 인증서에 대하여 하나 이상의 디지털 서명이 OCSP 포맷 응답에 연관되어 사용되는 단계를 포함한다. 생성하는 단계와 디지털 서명하는 단계는, OCSP 포맷 응답 중 임의의 응답에 의해 대답되는 임의의 OCSP 질의에 앞서 발생하는 것을 특징으로 한다. 상기 디지털 인증서 유효성 상태를 규명하는 단계에는 디지털 인증서에 관한 인증된 정보를 획득하는 단계가 포함됨을 특징으로 한다. 디지털 인증서에 대하여 인증되는 정보가 개체(entity)에 의해 생성되며, 상기 개체는 또한 상기 인증서를 철회하는 것을 특징으로 한다. 상기 디지털 인증서에 대하여 인증되는 정보는 CRL임을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 단계를 포함한다. 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계 후에, 그 결과물을, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 단계를 더 포함한다. 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 단계를 더 포함한다. 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계와, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계는 주기적으로 수행됨을 특징으로 한다. 상기 인위적으로 선-연산되는 메시지는 상기 인위적으로 선-연산되는 메시지가 생성된 때에 대응하는 상기 시간 정보를 포함하는 것을 특징으로 한다.
본 발명에 따르는 또 다른 태양에서, 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체에 있어서, 상기 컴퓨터 소프트웨어는 디지털 인증서 세트에 속하는 다수의 디지털 인증서 각각에 대하여 디지털 인증서 유효성 상태를 규명하는 실행 코드와, 다수의 디지털 인증서들로 구성된 상기 디지털 인증서 세트 중 하나 이상의 서브-세트의 유효성 상태에 관하여, 다수의 인위적으로 선-연산되는 메시지(artificially pre-computed message)를 생성하는 실행 코드로서, 이때 상기 메시지들 중 하나 이상은 둘 이상의 디지털 인증서의 유효성 상태를 나타내는 실행 코드와, 상기 디지털 인증서 세트에 속하는 특정 디지털 인증서에 관한 OCSP 질의에 응답하는 OCSP 포맷 응답을 제공하기 위해, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 실행 코드로서, 이때, 둘 이상의 디지털 인증서에 대하여 하나 이상의 디지털 서명이 OCSP 포맷 응답에 연관되어 사용되는 바의 실행코드를 포함하는 것을 특징으로 한다. 상기 디지털 인증서 유효성 상태를 규명하는 실행 코드에는 디지털 인증서에 관한 인증된 정보를 획득하는 실행 코드가 포함됨을 특징으로 한다. 디지털 인증서에 대하여 인증되는 정보가 개체(entity)에 의해 생성되며, 상기 개체는 또한 상기 인증서를 철회하는 것을 특징으로 한다. 상기 디지털 인증서에 대하여 인증되는 정보는 CRL임을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 실행 코드는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 실행 코드를 포함하는 것을 특징으로 한다. 디지털 서명된 인위적으로 선-연산되는 메시지를, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 실행 코드를 더 포함하는 것을 특징으로 한다. 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 실행 코드를 더 포함하는 것을 특징으로 한다. 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하고, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 실행 코드는 상기 메시지를 주기적으로 생성하고 서명하는 것을 특징으로 한다.
본 발명에 따르는 또 다른 태양에서, 디지털 인증서 유효성에 관한 정보를 제공하는 단계는 다음의 단계들을 포함하며: 다수의 서명 키/검증 키 쌍을 획득하는 단계로서, 이때 각각의 서명 키는 디지털 서명을 제공하고, 그에 대응하는 하나의 검증 키는 디지털 서명을 검증하며, 그리고 서명 키를 이용하여 다수의 데이터 구성요소를 함께 디지털 서명하는 것은 각각의 데이터 구성요소를 개별적으로 디지털 서명하는 것보다, 연산에 있어 더 효율적인 단계와, 디지털 인증서 세트에 속하는 각각의 인증서에 대하여 디지털 인증서 유효성 상태를 규명하는 단계와, 디지털 인증서 세트의 하나 이상의 서브-세트에 속하는 유효성 상태에 대한 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계와, 상기 인위적으로 선-연산되는 메시지를 상기 쌍으로부터의 서명 키를 이용하여 함께 디지털 서명하는 단계를 포함한다. 디지털 인증서 유효성 상태를 규명하는 것은 디지털 인증서의 인증 정보를 획득하는 것을 포함할 수 있다. 상기 디지털 인증서에 대한 인증 정보는 개체에 의해 생성될 수 있으며, 상기 개체는 상기 인증서를 또한 철회할 수 있다. 디지털 인증서에 관한 상기 정보는 CRL일 수 있다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 단계를 포함한다. 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계 후에, 그 결과물을, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 단계를 더 포함한다. 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 단계를 더 포함한다. 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계와, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계는 주기적으로 수행됨을 특징으로 한다. 상기 인위적으로 선-연산되는 메시지는 상기 인위적으로 선-연산되는 메시지가 생성된 때에 대응하는 상기 시간 정보를 포함하는 것을 특징으로 한다.
본 발명에 따르는 또 다른 태양에서, 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록되는 컴퓨터 판독형 매체에 있어서, 상기 소프트웨어는 다음의 실행 코드를 포함하며: 다수의 서명 키/검증 키 쌍을 획득하는 실행 코드로서, 이때 각각의 서명 키는 디지털 서명을 제공하고, 그에 대응하는 하나의 검증 키는 디지털 서명을 검증하며, 그리고 서명 키를 이용하여 다수의 데이터 구성요소를 함께 디지털 서명하는 것은 각각의 데이터 구성요소를 개별적으로 디지털 서명하는 것보다, 연산에 있어 더 효율적인 실행 코드와, 디지털 인증서 세트에 속하는 각각의 인증서에 대하여 디지털 인증서 유효성 상태를 규명하는 실행 코드와, 디지털 인증서 세트의 하나 이상의 서브-세트에 속하는 유효성 상태에 대한 다수의 인위적으로 선-연산되는 메시지를 생성하는 실행 코드와, 상기 인위적으로 선-연산되는 메시지를 상기 쌍으로부터의 서명 키를 이용하여 함께 디지털 서명하는 실행 코드를 포함한다. 디지털 인증서 유효성 상태를 규명하는 실행 코드는 디지털 인증서의 인증 정보를 획득하는 실행 코드를 포함할 수 있다. 상기 디지털 인증서에 대한 인증 정보는 개체에 의해 생성될 수 있으며, 상기 개체는 상기 인증서를 또한 철회할 수 있다. 디지털 인증서에 관한 상기 정보는 CRL일 수 있다. 다수의 인위적으로 선-연산되는 메시지를 생성하는 실행 코드는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 실행 코드를 포함한다. 상기 디지털 서명되는 인위적으로 선-연산되는 메시지를, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 실행 코드를 더 포함한다. 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 실행 코드를 더 포함한다. 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 한다. 다수의 인위적으로 선-연산되는 메시지를 생성하고, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 실행 코드는 상기 메시지를 주기적으로 생성하고 서명하는 것을 특징으로 한다. 상기 인위적으로 선-연산되는 메시지는 상기 인위적으로 선-연산되는 메시지가 생성된 때에 대응하는 상기 시간 정보를 포함하는 것을 특징으로 한다.
본 발명에 따르는 또 다른 태양에서, 제 1 당사자(first party)와 제 2 당사자(second party)간의 거래를 촉진시키는 방법은, 상기 거래를 개시하기 전에, 상기 당사자들 중 하나가 특정 디지털 인증서에 대한 인위적으로 선-연산되는 OCSP 응답을 획득하는 단계로서, 이때 상기 인위적으로 선-연산되는 OCSP 응답은 제 1 당사자와 제 2 당사자가 아닌 하나의 개체(entity)에 의해 생성되는 단계와, 상기 당사자들 중 하나가 상기 거래를 개시하는 단계와, 상기 거래에 관련하여 제 1 당사자가 상기 특정 디지털 인증서를 상기 제 2 당사자에게 제공하는 단계와, 상기 제 2 당사자가 상기 특정 디지털 인증서를 상기 인위적으로 선-연산되는 OCSP 응답을 이용하여 식별하는 단계를 포함한다. 제 2 당사자는 상기 인위적으로 선-연산되는 OCSP 응답을 상기 거래가 개시되기 전에 획득할 수 있다. 상기 제 2 당사자는 장래의 거래를 위하여, 인위적으로 선-연산되는 OCSP 응답을 캐싱할 수 있다. 상기 제 1 당사자는 장래의 거래를 위하여 상기 인위적으로 선-연산되는 OCSP 응답을 캐싱할 수 있다. 제 1 당사자와 제 2 당사자 간의 거래를 촉진하는 방법은 또한 상기 제 1 당사자가 상기 인위적으로 선-연산되는 OCSP 응답을 상기 제 2 당사자에게 상기 거래의 개시가 끝난 후 제공하는 단계를 포함할 수 있다.
본 발명을 따르는 또 다른 태양에 있어서, 디지털 인증서의 유효성을 규명하는 단계에는, 상기 디지털 인증서의 유효성에 관하여 디지털 서명된 메시지를 조사하는 단계가 포함되며, 이때 상기 디지털 인증서를 발행한 개체와는 다른 특수 개체(entity)에 의해 상기 메시지는 디지털 서명되며, 상기 규명 단계는 디지털 인증서와, 인증서를 인증하는 개체 중 하나 이상으로부터의 정보를 이용하여, 디지털 서명되는 메시지를 검증하는 단계를 포함한다. 상기 정보는 상기 메시지를 디지털 서명하기 위해 사용되는 비밀 키에 대응하는 공개 키일 수 있다. 상기 정보는 특수 개체를 인증하는 특수 디지털 인증서에 대응할 수 있으며, 상기 특수 개체는 상기 메시지를 디지털 서명한다.
본 발명에 따르는 또 다른 태양에 있어서, 디지털 인증서 세트에 속하는 각각의 인증서에 대하여 디지털 인증서 유효성 상태를 규명하는 단계는 디지털 인증서 세트의 하나 이상의 서브-세트의 유효성 상태에 관하여 다수의 디지털 서명되는 인위적으로 선-연산되는 메시지를 주기적으로 생성하는 단계와, 디지털 서명되는 인위적으로 선-연산되는 메시지를, 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 관하여 질의하는 신뢰인 측에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 단계를 포함하며, 이때, 일부 인증서에 관한 메시지가 다른 인증서에 관한 메시지와는 서로 다른 주파수에서 발송되는 것을 특징으로 한다. 철회되는 인증서의 메시지는 유효한 인증서에 관한 메지시보다 더 낮은 주파수에서 발송될 수 있다.
본 발명에 따르는 또 다른 태양에서, 디지털 인증서의 유효성을 규명하는 컴퓨터 소프트웨어가 기록되는 컴퓨터 판독형 매체는, 디지털 인증서의 유효성에 관한 디지털 서명된 메시지를 검사하는 실행 코드를 포함하며, 이때, 상기 메시지는 상기 디지털 인증서를 발행했던 개체와는 구별되는 특수 개체에 의해 디지털 서명되며, 상기 매체는 디지털 서명된 메시지를 정보를 이용하여 검증하는 실행 코드를 포함하며, 이때 상기 이용되는 정보는 디지털 인증서와, 상기 디지털 인증서를 발행하는 인증서를 인증하는 개체 중 하나 이상으로부터의 정보이다. 상기 정보는 상기 메시지를 디지털 서명하기 위해 사용되는 비밀 키에 대응하는 공개 키일 수 있다. 상기 정보는 상기 메시지를 디지털 서명하는 특수 개체를 인증하는 특수 디지털 인증서에 대응할 수 있다.
본 발명의 또 다른 태양에 따라, 디지털 인증서 유효성에 관한 정보를 제공하는 컴퓨터 소프트웨어를 기록하는 컴퓨터 판독형 매체는, 디지털 인증서 세트에 속하는 각각의 인증서에 대한 디지털 인증서 유효성 상태를 규명하는 실행 코드와, 디지털 인증서 세트의 하나 이상의 서브-세트의 유효성 상태에 관하여 다수의 디지털 서명된 인위적으로 선-연산되는 메시지를 주기적으로 생성하는 실행 코드와, 상기 디지털 서명된 인위적으로 선-연산되는 메시지를, 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 관하여 질의하는 신뢰인 측에 의한 요청을 서비스하는 다수의 응답자에게 주기적으로 발송하는 실행 코드로서, 이때 일부 인증서에 관한 메시지는 그 밖의 다른 인증서에 관한 메시지와는 다른 주파수에서 발송되는 것을 특징으로 하는 실행 코드를 포함한다. 철회된 인증서에 관한 메시지는 유효한 인증서에 관한 메시지보다 낮은 주파수에서 발송될 수 있다.
본원에서 서술되는 시스템은 비용 효율적이고, 안전하며, 확장이 용이하고, 그리고 무엇보다 효율적인 증명 검증 시스템이고, 이는 명확하게 종래의 OCSP 방법을 보강한다. 본원에서 설명되는 시스템은 OCSP 표준에 호환되는 유지의 선택 사항을 운영할 때조차, 종래의 OCSP에 있어서도 명확한 이점을 제공하여, 질적으로 우수한 보안성과 확장성이 제공될 수 있다.
본원에서 설명되는 시스템은 종래의 OCSP와는 독립적으로 작동하는 일반적인 스탠드 얼론 시스템이다. 그러나 일부 실시예에서, 시스템은 OCSP 호환형일 수 있으며, 이때, 본원에서 설명되는 시스템에 따르는 유효성에 관한 각각의 증명은 그 문법적으로 올바르게 디지털 서명되는 OCSP 응답으로서 구축되어, 신뢰인 측은 OCSP 형식 등에 따르는 인증서 유효성 정보를 요청하고 증명할 수 있다. 디지털 서명은 연산 집약적이나, 본원에서 설명되는 시스템에 의해, 단일 서버에서의 이러한 어려움이 해소되며, 또 다른 실시예에서, 소수의 전용 서버 경우에서도 마찬가지이다. 그러므로 단일 전용 서버(또는 소수의 전용 서버)에 모든 요구되는 디지털 서명을 매 업데이트마다 다루기에 충분히 파워풀한 컴퓨터를 장착시키는 것이 매우 용이하며, 비교적 저렴하다. 본원에서 설명되는 시스템에서 사용되는 응답자(responder)는 간단한 페치-앤-발송 동작만 수행하기만 하면 되며, 따라서 더 복잡한 디지털 서명을 수행해야한 했던 종래의 OCSP 응답자가 할 수 있는 것보다 더 빨리 신뢰인 측에게 서비스할 수 있다.
본원에서 설명되는 시스템을 위한 응답자가 간이 하드웨어를 사용할 수 있고, 이는 보안될 필요가 없기 때문에, 상기 응답자를 구매하고 작동하는데는 비교적 저렴할 수 있다. 결과적으로, 비교적 다수의 응답자가 비교적 낮은 비용에서 배치될 수 있다. 따라서 다수의 인증서 유효성 상태 요청이 짧은 시간 동안 발생할지라도, 혼잡의 위험부담을 감소시키면서, 그리고 많은 비용을 발생시키지 않으면서 서비스가 거절되기 시작하는 것을 감소시키면서, 이에 따르는 부하가 많은 응답자들에게 분산될 수 있다. 본원에서 설명되는 시스템에서의 디지털 서명 개수는 인증서의 개수에 달려 있으며, 유효성-상태 요청의 개수와는 비교적 무관하다. 따라서 비교적 큰 숫자의 유효성 요청이 기대될지라도, 디지털 서명되는 응답을 제공하는 단일 서버가 사용될 수 있다.
본원에서 설명되는 시스템에서, 단일 전용 서버(또는 소수의 전용 서버)와, CA(상기 CA가 상기 단일 전용 서버가 아닌 경우에)가 보호되고 저장소에 보관될 필요가 있다. 실제로, 본원에서 서술되는 시스템의 응답자는 어떤 비밀 키도 저장하지 않으며, 상기 응답자에게 제공되는 선-연산되는 응답의 디지털 서명을 저장하기만 하며, 상기 선-연산되는 응답은 한번 연산된 것이며, 악의적으로 변경될 수 없으며, 따라서 비밀이 유지될 필요가 없다. 이와 대조적으로, 모든 종래의 OCSP 응답자는 보호가 필요했는데, 왜냐하면 각각의 종래의 OCSP 응답자는 비밀 서명 키를 소유하고 있고, 이는 누출될 위험이 있었다. 따라서 본원에서 설명되는 시스템은 OCSP보다 더 보안에 강하다. 왜냐하면 단일 사이트(또는 소수의 사이트)를 보호하는 것이 다수의 그리고 똑 같이 중요한 사이트들을 보호하는 것보다 더 바람직하고 더 용이하기 때문이다.
덧붙이자면, OCSP와는 다르게, 신뢰인 측이 본 발명의 시스템 상의 소프트웨어 공격을 쉽게 허락하지 않을 수 있다. 신뢰인 측이 자신의 질의에 일종의 트로이 목마 프로그램을 삽입하는데 성공할지라도, 이에 따라서 어떠한 비밀도 누출될 수 없다. 왜냐하면, 본 발명의 시스템의 응답자는 어떠한 비밀도 갖고 있지 않기 때문이며, 상기 응답자는 상기 응답자에게 제공된 선-연산되는 디지털 서명을 저장하고, 복귀시키기만 할 뿐이다. 따라서 모든 악의적인 신뢰인 측은, 어느 인증서가 유효하고, 어느 인증서가 지정 시간 간격에서 철회되었는지에 관한 정확하고, 디지털 서명되어 있는 계정이 노출되기를 바랄 것이다, 그러나 이는 비밀이 아닌 정보일 뿐 아니라, 실제로 신뢰인 측을 올바르지 않게 철회되는 CA가 발행한 인증서로부터 보호하기 위해, CA는 광역적으로 알려지는 것이 바람직하다.
덧붙이자면, 소프트웨어 공격은 선-연산되는 응답에 디지털 서명하는 단일 전용 서버(또는 소수의 전용 서버)에 대해서는 쉽게 이뤄지지 않을 수 있다. 일부 실시예에서, 상기 단일 전용 서버(또는 소수의 전용 서버)는 신뢰할 수 없는 소스의 요청은 처리하지 않고, 상기 CA로부터의 정보를 수신하고, 디지털 서명된 정보를 상기 응답자에게 제공한다. 따라서 트로이 목마 프로그램을 제거하는 능력은 본원에서 설명되는 시스템에서는 필수적인 것이 아니다.
이러한 이점들에 추가로, 본원에서 설명되는 시스템에 의해, 다수의 조직들을 포함하는 이기종 배치에서 명확한 유연성을 제공한다. 조직으로부터의 응답자가 또 다른 조직에게로, 임의의 신뢰를 상기 또 다른 조직으로 분산시킬 필요 없이, 상기 또 다른 조직에게 인위적으로 선-연산되는 응답을 발송할 수 있다. 첫 번째 조직은 또 다른 조직의 응답자가, 상기 첫 번때 조직의 인증서의 유효성 상태에 대한 어떠한 제어도 포기하기 않고, 첫 번째 조직에 대한 유효성 증명을 확인하는 것을 제공하도록 할 수 있다. 즉, 본원에서 설명된 시스템에 있어서, 보안, 또는 제어의 어떠한 손실 없이, 신뢰가 하나의 조직에서부터 다른 하나의 조직으로 흐른다. 일부 실시예에서, 상기 응답자는 견고한 신뢰 포인트라기보다는 투명 네트워크 구조(transparent network infarstructure)인 듯 기능한다. 이는 인터넷의 DNS 구조에 의해 제공되는 서비스 망에 유사하며, 이때 이는 질의에 대한 유효성 응답을 발견하고 캐싱하기 위해, 투명하게 상호 동작하는 네임 서버의 이기종 집합(heterogeneous collection)에 대하여 허용된다.
보안 이종성(secure heterogeneity)은 종래의 OCSP를 뛰어넘는 본 발명의 시스템의 주요 장점이다. 보안 이종성에 의해, 다양한 조직이 상호 동작하여, 보안되고, 신뢰할 수 있으며, 효울적인 방식으로, 서로 다른 조직의 신뢰인 측이, 다른 조직의 인증서를 교차-검증할 수 있다.
본 발명의 시스템은 질의 로드는 임의의 개수의 보호받지 않는 응답자들에게 나눠 부담시키면서, 모든 유효성 신뢰를 단일 인증기관(또는 소수의 인증기관)에게 제공한다. 본 발명의 시스템은, 비교적 다수의 응답자에 의존하는 분산 구현에 있어서, 비록 상기 응답자가 보호받지 않을지라도, 보안성을 떨어뜨리지 않는다. 본 발명의 시스템은 질의에 대한 응답 시간을 개선시킨다. 본 발명의 시스템은 신뢰를 이기종 환경에 속하는 외래 응답자에게 위임하지 않는다.
도 1은 신뢰인 측에게로의 OCSP 응답을 제공하는 종래 기술의 시스템을 도식한다.
도 2는 이기종 환경에서의 OCSP 응답을 제공하는 종래 기술의 시스템을 도식한다.
도 3은 본 발명의 시스템의 하나의 실시예에 따르는 RTC 시스템을 도식한다.
도 4는 본 발명의 시스템의 하나의 실시예에 따르는 RTCA를 초기화하는 흐름도를 도식한다.
도 5는 본 발명의 시스템의 하나의 실시예에 따르는 CA와 RTCA 간의 통신하는 흐름도를 도식한다.
도 6은 본 발명의 시스템의 하나의 실시예에 따르는 RTCA로부터 RTC 응답자로의 데이터 푸싱에 관한 흐름도를 도식한다.
도 7은 본 발명의 시스템의 하나의 실시예에 따르는 RTC 응답자가 RTCA로부터 데이터를 획득하는 흐름도를 도식한다.
도 8은 본 발명의 시스템의 하나의 실시예에 따르는 RTC 응답자가 신뢰인 측 에게 정보를 제공하는 흐름도를 도식한다.
도 9는 본 발명의 시스템의 하나의 실시예에 따르는 RTC 응답자가 유효성 정보를 획득하는 흐름도를 도식한다.
도 10은 본 발명의 시스템의 또 다른 실시예에 따르는 RTC 응답자가 유효성 정보를 획득하는 흐름도를 도식한다.
도 11은 본 발명의 시스템의 하나의 실시예에 따르는 2-당사자 거래를 촉진하는 것에 관련하여 수행되는 단계를 도식한다.
도 12는 본 발명의 시스템의 하나의 실시예에 따르는 디지털 인증서를 도식한다.
도 13은 본 발명의 시스템의 하나의 실시예에 따르는 을 도식한다.
도 14는 도 13의 실시예에 따르는 CA와, RTCA와, RTC 응답자와, 신뢰인 측 간의 데이터의 흐름과, 본 발명의 시스템의 또 다른 실시예에 따르는 CA와, RTCa와, RTC 응답자와, 신뢰인 측를 도식한다.
도 15는 본 발명의 시스템의 하나의 실시예에 따르는 RTC 응답자의 이종성 망을 도식한다.
도 16은 본 발명의 시스템의 하나의 실시예에 따르는 최적화를 도식한 흐름도이다.
도 17은 본 발명의 시스템의 하나의 실시예에 따르는 권한 인증기관을 도식한다.
도 18은 본 발명의 시스템의 하나의 실시예에 따르는 Ca와, SERTCA와, RTC 응답자와, 신뢰인 측 간의 데이터의 흐름을 도식한다.
도 19는 본 발명의 시스템의 하나의 실시예에 따르는 배치 OCSP 프로세싱을 위해, RTCA/SERTCA/OCSP 응답자로 정보를 제공하는 흐름도를 도식한다.
도 20은 본 발명의 시스템의 하나의 실시예에 따르는 배치 OCSP 프로세싱을 위해, RTC 응답자에게 정보를 제공하는 흐름도를 도식한다.
본원에서 설명되는 시스템은 분산 OCSP(DOCSP)로 일컬어지는 RTC(Real Time Credentials)를 사용하며, RTC 인증기관(RTCA)라고 일컬어지는 하나의 개체를 사용한다. 상기 RTCA는 주어진 기업의 CA와 일치할 수도 있고, 그렇지 않을 수도 있다. 일부 실시예에서, 각각의 CA는 특수 인증서, 즉 RTCA 인증서를 갖는 자신 고유의 RTCA를 제공한다. CA는 상기 RTCA 인증서에, CA가 RTCA를 신뢰하고 RTCA에게 상기 CA가 발행한 인증서에 관한 인증서 유효성 정보를 제공하도록 권한을 부여했다고 나타내는 디지털 서명을 할 수 있다. 상기 RTCA 인증서는 RTCA 상태를 주어진 개체에게 알려줄 수 있으며(가령, 주어진 검증자, OID 넘버에 의해 검증됨), 주어진 검증 키 PK를 상기 주어진 개체에게 연결시킬 수 있다(상기 주어진 개체가 대응하는 비밀 서명 키를 소유한다.).
CA와 RTCA가 일치하는 경우에 있어서, RTCA가 상기 CA와는 다른 서명 키를 갖는 것이 바람직할 수 있다. 따라서 CA와 RTCA가 같은 개체일 경우, 상기 개체의 CA 구성요소는 오직 인증서를 발행하기만 하는 반면에, 특정 인증서가 유효한지, 철회되었는지를 검증함으로써, 개체의 상기 RTCA 구성요소는 상기 인증서를 관리하 기만 할 수 있다. 따라서 상기 CA와 RTCA가 일치할 경우, RTCA 인증서는 계속 사용될 수 있다.
일부 실시예에서, 각각의 CA는 오직 하나의 RTCA에 연계되어 있다. 또 다른 실시예에서, 각각의 CA가 두 개 이상의 RTCA에 연계되어 있는 것이 가능하며, 이때 각각의 RTCA는 서로 다른 서명 키(signing key)를 가지며, RTCA의 일부, 또는 전부가 서명 키를 공유한다. 하나의 CA에 연계되어 있는 다수의 RTCA를 갖는 것은 가외성 목적에 있어 바람직할 수 있다. 또 다른 실시예에서, 다수의 CA에 연계되어 있는 하나 이상의 RTCA를 갖는 것도 가능하다.
CA가 자신의 서명 키를 보호하는 것과 마찬가지로, 예를 들어, 저장소(vault), 또는 보안 시설, 또는 보안 하드웨어를 이용하여 상기 RTCA도 자신의 서명 키를 보호한다. 일부 실시예에서, 비밀 서명 키를 갖는 둘 이상의 서버를 포함하는 보호 시설 내부에 상기 RTCA가 자리할 수 있다. 상기 시설은 비밀 서명 키의 복사본을 안전하게 저장할 수 있다. 상기 RTCA는 둘 이상의 서버를 포함할 수 있으며, 각각의 서버는 CA에 의해 적절하게 인증되는 하나의 비밀 서명 키를 갖는다.
CA는 CRL을 사용하여, 또는 그 밖의 다른 적정 수단을 사용하여 CA의 인증서의 유효성 상태를 알려주도록 RTCA를 유지할 수 있다. 상기 CA는 인증서 유효성의 임의의 변화에 대해, (1) 온-라인 방식으로 상기 변화가 발생하자마자 RTCA에게 알려줄 수 있거나, (2) 고정된 시간 간격을 두고, 또는 CA가 새로운 CRL을 생성할 때마다, RTCA에게 CRL을 전송할 수 있다. 상기 CA는 개별 인증서 상태 정보를 제공하 는 수많은 기법들 중 하나 이상을 홀로, 또는 조합하여 사용할 수 있다. 가령, U.S. 특허 5,420,927과, 5,604,804와, 5,610,982와, 6,097,811과, 6,301,659와, 5,793,868과, 5,717,758과, 5,717,757과, 6,487,658과, 5,717,759가 본원에서 참조로 인용된다. 본원에서 서술되는 시스템은 상기 특허들 중 하나 이상에서 설명되는 기법을 이용할 수 있으며, 그 밖의 다른 적정 기법들의 하나 이상의 조합도 가능하다. 홀로, 또는 조합하여 사용되는 기법으로는, 전체 CRL(full CRL)과, 분할 CRL(partitioned CRL)과, 델타 CRL(delta CRL)과, OCSP 응답(개별적인 것과 그룹을 지은 것)과, 미니 CRL(비트 압축된 CRL)과, VToken(단-방향 해쉬 체인)과, 다양한 머클 트리(Merkle tree)나 그 밖의 다른 트리 구조가 있다.
일련의 날짜들, D1, D2, .... 중 임의의 날짜 Di에서, 유효성 상태에 대한 현재의 지식을 기반으로 하고(가령, CA의 가장 최근 CRL을 기반으로 함), 임의의 신뢰인 측 요청에 독립적인 RTCA가 상기 CA의 남아 있는 인증서를 각각 처리함으로써, 그리고 각각의 인증서의 상태를 설명하는 확인서(declaration)에 디지털 서명함으로써 업데이트를 수행할 것이다. 각각의 인증서의 상태는 유효하다, 또는 철회됐다, 또는 중지됐다(뿐 아니라“알려지지 않았다”)고 여겨질 수 있다. 서명된 확인서는 시간 간격 T를 특정할 수 있다. 일부 실시예에서, 각각의 업데이트에서, 모든 서명된 확인서는 동일한 시간 간격 T를 특정하며, 일부 실시예의 경우에서, 상기 시간 간격들의 총체는 연속적이다. 가령, 각각의 업데이트 날짜 Di에서, 시간 간격은 T=Di+1-Di이며, 이때, Di과 Di+1 중 가능한 단 하나의 날짜가 T 부분인 반면에, 나머지 날짜는 인접 시간 간격 부분이다. 일부 실시예에서, 인증서 상태에 관한 RTCA의 현재 지식은 CRL을 기반으로 하고 있으며, 각각의 Di는 하나의 CRL의 날짜와 일치하고, Di+1은 다음 CRL의 날짜와 일치하고, 그 다음도 그런 식이다. 그러나 이러한 엄격한 시간 의존성이 필요한 것은 아니다. 가령, RTCA가 처리하거나, 자신의 확인서를 처리하기 시작하는 날짜는 D1, D2 등일 수 있는 반면에, 확인서내에 특정되는 시간 간격은 D1', D2' 등일 수 있고, 이때 Di와 Di'는 서로 다르고 독립적일 수 있다. 가령, Di는 Di'보다 이를 수 있으며, 이러한 경우에, 확인서의 시간 간격이 시작되기 전에, RTCA는 상기 확인서를 처리하기 시작할 수 있다. 왜냐하면 간격 T의 시작 부분에서 RTCA가 자신의 프로세싱을 완료하길 바라기 때문이다.
일부 실시예에서, CRL이 CA로부터의 RTCA 업데이트를 위해 사용될 경우, 확인서 시간과 CRL 시간이 역시 서로 다를 수 있다. 처리 시간과, CRL 시간과 확인서 시간 간의 동기화의 결여 가능성은 본원에서 서술되는 시스템에는 치명적이지 않다. 실전에서, 사건을 알아채고 사건에 반응하기 위해서는 약간의 추가적인 시간이 요구되기 때문에, “실시간”은 현실에 부합하지 못한다. RTCA 프로세스를 운영할지라도, CRL은 실시간으로 생성될 수 없다. 덧붙이자면, 인증서 철회에 관한 프로세스 또한 실시간일 수 없다. 예를 들자면, 사용자는 그의 비밀 키가 노출되었음을 깨달은 후, 사용자 고유의 인증서가 철회되었음을 요청하며, 상기 노출 후에 실제로 1일이 지난다. 따라서 사용자의 인증서는 1일 지연 시간을 갖고 철회될 수 있으며, RTCA 연산으로부터 기인하는, 실시간과의 차이를 비교하면, 이러한 1일 지연 시간은 무시할만한 것이다.
RTCA는, 주어진 시간 간격 T에 대한 각각의 인증서 상태를 지시하는 디지털 서명을 선-연산한다. 이러한 선-연산(pre-computation)은 인증서 유효성에 관한 임의의 서명인의 요청에 독립적으로 수행될 수 있다. 일부 실시예에서, 인증서 C에 관한 임의의 상태 질의가 만들어지기 전에, 그리고 아마도 시간 간격이 시작하기 전에, 상기 RTCA는 인증서 C의 상태에 관한 서명된 확인서를 주어진 시간 간격에서 선-연산할 수 있다.
일부 실시예에서, 인증서 상태에 관한 RTCA 서명된 확인서는 표준 OCSP 형식으로 존재할 수 있다. 신뢰인 측 OCSP 소프트웨어에 어떤 수정도 하지 않고, RTC 시스템의 이점을 취하기 편리하도록, OCSP 소프트웨어가 이미 내장되어 있는 상황에서 이는 유용하다. 일부 실시예에서, 관련 수량, 디지털 서명 알고리즘, OID 등을 특정하게 선택함으로써, OCSP 호환성(OCSP compliance)이 제공된다.
많은 경우에 있어서, RTCA는 철회되는 인증서뿐 아니라, 발행되는 모든 인증서에 관한 응답을 생성할 필요가 있을 수 있다. 각각의 발행되는 인증서 시리얼 넘버의 존재를 판단하기 위하여, 상기 RTCA에게 내부 추적을 위한 모든 인증서의 복제본이 CA, 또는 그 밖의 다른 개체에 의해, 주어지거나, 또는 RTCA에게, 개별 인증서를 전송하는 단계를 포함하지 않는 다른 수단을 통해 발행되는 시리얼 넘버가 주어질 수 있다. 일부 실시예에서, 인증서에 대한 시리얼 넘버가 순차적인 순서로 발행되는 특수한 경우에 있어서는, 발행되는 인증서 정보가 RTCA에게 명확하게 제공될 필요가 없을 수 있다. 순차적인 시리얼 넘버가 사용될 때, 현재 CRL만을 이용하여 상기 RTCA는 각각의 인증서 시리얼 넘버를 추론하는 것을 선택할 수 있다. 상기 CRL에서 가장 낮은 시리얼 넘버와 가장 높은 시리얼 넘버를 결정함으로써 이는 이뤄질 수 있다. 높은 시리얼 넘버와 낮은 시리얼 넘버 사이의 범위 내에 있는 임의의 중간 넘버들은 CA에 의해 발행되도록 알려질 수 있다. 상기 범위 내의 넘버가 CRL내에 존재할 경우, 상태는 철회 상태인 것이다. 상기 중간 넘버가 상기 범위내에 없을 경우, 그에 대응하는 인증서가 철회되지 않았다고 판단될 것이며, 이는 OCSP 표준에서 “유효(valid)”하다고 정의된다.
가장 낮은 CRL 엔트리보다 더 낮거나, 가장 높은 CRL 엔트리보다 더 높은 시리얼 넘버를 갖고 발행되는 소수의 인증서가 여전히 존재할지라도, 전술한 기법에 의해, 방대한 양의 발행된 인증서를 취급할 수 있다. 상기 CRL의 첫 번째 엔트리 전과, 상기 CRL의 마지막 엔트리 후 모두에서, 고정된 수의 유효한 시리얼 넘버를 추측하는 설정 가능한 매개변수를 통해, RTCA는 이러한 부가적인 시리얼 넘버를 포함할 수 있다. 예를 들어, 상기 RTCA는 가장 낮은 CRL 엔트리 전에 100개의 시리얼 넘버를, 그리고 가장 높은 CRL 엔트리 후에 500개의 시리얼 넘버를, 유효한 인증서를 나타내는 바와 같이 특정할 수 있다. 이러한 최적화에 따라, RTCA는 다수의 구성요소(개별 인증서들)대신에 하나의 데이터 구성요소(CRL)를 구축할 수 있다. 낮은 넘버에서 높은 넘버 순으로 순차적인 시리얼 넘버를 갖고 인증서가 발행되는 상화에서, 새롭게 발행되는 인증서를 적용하기에 높은 쪽에서 사용되는 더 높은 번호가 유용할 수 있다. 그 밖의 다른 경우에 있어서, 일부 실시예에서, 발행되는 인증서에 대한 가장 낮은 시리얼 넘버와 가장 높은 시리얼 넘버가 RTCA에게 명백하게 제공될 수 있으며, 상기 정보는 디지털 서명될 수 있다.
구문적으로 선-연산되는 올바른 OCSP 응답은, 기술적으로는 OCSP 응답이 아 니라고 여겨질 수 있는데, 왜냐하면, 상기 응답이 어떠한 본래의 최초 요청에 응답하여 연산되지 않기 때문이다. 필수적으로, 상기 RTCA는 아직 생성되지 않은, 또는 생성되지 않을지도 모르는 OCSP 요청에 대한 OCSP-호환형 응답을 선-연산한다. 따라서 RTCA 응답은 인공적으로 선-연산된 응답으로 추정될 수 있다. 디지털 서명된 임의의 RTCA 확인서를 명시하기 위해, OCSP 호환형이 아닌 구현예에서 조차, 인위적으로 선-연산되는 항을 사용하는 것도 가능하다.
인위적으로 선-연산되는 응답을 생성한 후, 상기 RTCA는 다른 당사자(party)에게 유효한 응답을 만들 수 있다. 특히, 상기 RTCA는 유효성 상태 질의에 대답하여 신뢰인 측에 응답을 복귀시킬 수 있다. 그러나 그 밖의 다른 실시예에서, 상기 RTCA는 RTC 응답자에게 유효한 인위적으로 선-연산되는 응답을 생성할 수 있다. 실제로는 RTCA 서명된 메시지(즉, 인위적으로 선-연산되는 응답)가 부정하게 수정되거나 탐지할 수 없는 방식으로 변경될 수 없기 때문에, 상기 RTC 응답자는 보호받을 필요가 없다. 따라서 상기 RTCA는 보안 체계의 혼란 없이, 인위적으로 선-연산되는 응답을 외래 응답자(즉, 다른 조직에 속하는 응답자)에게 전송할 수 있다.
일부 실시예에서, 인위적으로 선-연산되는 응답을 적합하게 구성된 방식으로 RTC 응답자에게 제공함으로써, RTCA는 RTC 응답자에 의한 프로세싱을 촉진시킬 수 있다. 예를 들어, 상기 RTCA는 인증서 시리얼 넘버, 또는 길이 등에 따라 정렬되는 인위적으로 선-연산되는 응답을 제공할 수 있다. 업데이트 때마다, 모든 관련 인위적으로 선-연산되는 응답이 수신되며, 상기 인위적으로 선-연산된 응답의 총체에 서명하고 날짜를 부여함으로써, 상기 RTCA는 추가적인 서명을 갖는 RTC 응답자를 제공할 수 있다. 일부 실시예에서, 체크섬(checksum)이나, 인위적으로 선-연산되는 응답의 수의 카운트(count)나, 그와 유사한 메커니즘이 디지털 서명과 함께든 그렇지 않든 사용될 수 있다.
덧붙이자면, 상기 RTCA는 RTC 응답자에게 CA에 의해 생성되는 RTCA 인증서를 전송함으로써, 상기 CA가 상기 RTCA를 신뢰하고 있으며, 상기 RTCA에게 상기 CA에 의해 발행되는 인정서 유효성 정보를 제공하도록 권한을 부여했음을 상기 CA는 증명할 수 있다. 일부 실시예에서, 매 업데이트마다 이러한 것을 하는 것이 필수적인 것은 아니다. 예를 들어, 상기 RTCA는 상기 RTC 응답자에게 상기 RTCA 인증서를 최초에만, 또는 고정된 어떤 주기에서, 또는 요청이 있으면 전송한다.
RTC 응답자는 수신된 RTCA의 인위적으로 선-연산되는 응답을 충분한 시간 동안 저장할 수 있다. 일부 실시예에서, 상기 RTCA의 서명이 주어진 시간 간격 T에 관한 것일 경우, 상기 RTC 응답자는 인위적으로 선-연산되는 응답을 상기 T의 마지막 부분까지 저장할 수 있다. 일부 실시예에서, 상기 RTC 응답자들 중 일부, 가령, RTCA와 같은 조직에 속하는 응답자가 정보가 올바르고 최신이라고 확신하는 단계를 주기적으로 취할 수 있다. 예를 들어, RTC 응답자는 시간 간격 T에 관하여 인위적으로 선-연산되는 응답을 T의 시작 부분에서 수신하거나, 또는 T에 관련되는 다른 적합한 시간에서 수신함을 검증하고, 모든 수신된 RTCA 서명(그리고 또한 적절한 RTCA 인증서)을 검증하고, 상기 RTC 응답자가 모든 서명(가령, 기대되는 개수의 서명 이상, 이미 발행된 인증서에 대한 최근의 전송의 서명의 개수 이하)을 수신했는지를 검증하며, 상기 RTC 응답자가 이전해 철회됐다고 확인된 인증서에 대한 유효 성을 지시하는 정보를 수신하는지 여부를 검증하고, (가령, 보안상 누출 때문에) RTCA 인증서 자체가 철회되지 않았는지를 검증한다. 어떠한 문제라도 검출되면, 상기 RTC 응답자는 RTCA, 또는 그 밖의 다른 적정한 개체에게 알릴 수 있다.
신뢰인 측은 RTC 응답자에게 인증서의 유효성 상태에 관하여 질문할 수 있다. 일부 실시예에서, 요청은 OCSP 포맷으로 되어 있다. 주어진 인증서의 유효성에 관하여 질문을 받으면, 특정 인증서에 관한 RTCA가 생성한 인위적으로 선-연산되는 응답을, RTC 응답자는 메모리로부터 페칭(fetching)하여, 신뢰인 측으로 복귀(return)시킬 수 있다. 일부 실시예에서, 상기 RTC 응답자는 RTCA가 서명한 인위적으로 선-연산되는 응답에 대하여 인증서를 발송할 수 있다. 일부 실시예에서, 신뢰인 측은 상기 RTCA 인증서를 수신하는데에는 흥미가 없다고(왜냐하면, 예를 들어 상기 신뢰인 측이 이미 복제본을 소유하고 있기 때문) 신호할 수 있거나, 또는 상기 RTC 응답자가 상기 신뢰인 측이 이미 인증서의 복제본을 가지고 있다고 알고 있거나 가정할 수 있다. 상기 신뢰인 측은 수신된 응답을 처리하여 관심 인증서의 유효성 상태를 확신할 수 있다. 일부 실시예에서, 상기 인위적으로 선-연산되는 응답이 OCSP 포맷일 경우, 전술한 프로세싱을 위해, 상기 신뢰인 측은 OCSP 소프트웨어를 사용할 수 있다. 일부 실시예에서, 상기 신뢰인 측은 적정 RTCA 인증서를 검증할 수 있다. OCSP-호환형 구현예의 경우에서, 상기 신뢰인 측은 RTCA 인증서를 OCSP 응답자 인증서로서 검증할 수 있다. 일부 실시예에서, RTCA 인증서는 OCSP 응답자 인증서로서 문법적으로(syntactically) 구축될 수 있다.
수행될 수 있는 최적화 예가 있다. 예를 들자면, U를 인증서 Cu를 갖는 당사 자(party)라고 놓자. 당사자 V와의 거래의 한 부분으로써, (V가 이미 Cu를 갖고 있지 않을 경우,) U는 Cu를 V에게 전송할 수 있고, 가능하면 부가적인 임무도 수행한다(가령, U가 소유하는 Cu내에서 인증되는 공개 검증 키(public verification key)에 관련하여 디지털 서명을 제시하는 일, 또는 U가 소유하는 Cu에서 검증되는 공개 암호 키(public encryption key)를 이용하여 V에 의해 암호화되는 랜덤 첼린지(random challenge)를 해독함으로써 검증되는 일을 수행한다.). 보안되어야할 거래에 있어서, V는 Cu의 현재 유효성을 규명할 수 있고, RTC 응답자로의 유효성에 관한 질의를 생성할 수 있다. 가장 최근의 Cu에 대하여 RTCA 서명된 확인서(즉, 인위적으로 선-연산된 응답)를 페칭하고 복귀시킴으로써, 응답자는 상기 질의에 대답할 수 있다. 그러나 RTC 응답자에게 질의하는 것은 2 당사자 거래인 거래에 제 3 자를 추가시키는 것이며, 이는 상기 거래에 걸리는 시간과 복잡도를 증가시킨다.
한 가지 해법은 당사자 U가 각각의 시간 간격 T의 시작에서, 또는 적어도 시간 간격 T의 진행 중에서, Cu가 T 전체에서 유효하다는 RTCA-서명된 확인서 Du(인위적으로 선-연산되는 응답)를 수신하는 것이다. (가령, 신뢰인 측의 일상적인 요청을 생성함으로써) 상기 RTC 응답자로의 요청에 대답하여, U는 Du를 수신할 수 있다. 또는, 매 업데이트마다, 또는 자동으로 RTC 응답자, 또는 RTCA에 의하여, Du가 U, 또는 가능하다면 그 밖의 다른 당사자에게 발송될 수 있다. 임의의 경우에 있어서, 간격 T 동안, V와 거래에 연계하여, 다른 거래에 수반되는 모든 단계, 또는 임무에 추가로, U는 Du를 V에게 발송할 수 있다. 따라서 U의 인증서의 현재 유효성을 확신하기 위하여, V가 어떤 제 3 자도 호출할 필요가 없기 때문에, U-V 거래의 속 도가 빨라지는 것은 명백하다.
모든 시간에 해당할지라도, U가 Du를 획득하는 시간은 빨라지는 것이 아니라, U-V 거래가 빨라질 수 있다. 그렇다 할지라도, 전체 시간에 대한 시간 절약 없이, U-V 거래의 속도만 빠르게 하는 것은 여전히 유용하며 효과적이다. 예를 들어, RTCA 확인서(즉, 인위적으로 선-연산되는 응답)가 한밤중에 연산되고, 시간 간격으로 하루 종일을 쓴다고 가정할 경우, 그 후 U는 Du를 하루 중 이른 때(이때는 거래의 수가 비교적 거의 없음)에 획득할 수 있으며, 명백하게 많은 거래가 있고 절약되는 시간이 유용한 때에 발생하는 시간에 민감한 U-V 거래 동안, Du를 V로 발송할 수 있다. 다른 당사자와 거래할 때, U가 Du를 획득하고 캐싱(chaching)한 후, 하루에 걸쳐 Du를 발송하도록 함으로써 추가적인 효율이 얻어질 수 있다. 예를 들어, 이러한 방식으로, (U 자신의 질의로서, 바쁘지 않은 시간대에 생성된) 단일 신뢰인 측 질의가 성공적으로 (더 바쁜 시간대에 생성된) 다수의 신뢰인 측 요청을 대체할 수 있다.
전술한 최적화 예가 당사자 V에 의해 또한 성취될 수 있다. 당사자 U의 인증서 Cu의 유효성에 관한 질의에 응답하여 Du를 RTC 응답자로부터 획득한 후, 당사자 V는 Du를 U에게 제공할 수 있고, 또는 Du를 다른 당사자가 사용할 수 있도록 유효화할 수 있다.
본원에서 설명되는 시스템의 OCSP 호환형 구현을 이용하여 전술한 최적화가 실시예에 적용된다. 유사한 최적화를 종래의 OCSP 구현예에 적용하는 것이 또한 가능하다. 이러한 구현예에 대하여, 사용자는 자신의 고유 인증서에 대하여 OCSP 응 답을 요청하고 획득하고, 그 후, 적정 시간 간격 동안, 거래의 한 부분으로서 이러한 OCSP 응답을 상기 거래의 다른 당사자에게 발송한다. 또는, 신뢰인 측에 의해 당사자 U의 인증서 Cu의 유효성에 대하여 첫 번째로 질문 받을 때, OCSP 응답자는 응답 Ru를 연산하여, Ru를 질의하는 신뢰인 측에게 복귀시키고, Ru를 U에게 발송하여, 다음 업데이트까지 잠시 동안, U가 Ru를 캐싱하고 Ru를 Cu를 기반으로 하는 거래의 일부분으로서 발송할 수 있다.
일부 실시예에서, 본원에서 서술되는 시스템이 개별 인증서에서 발견되는 데이터를 이용하여 구현될 수 있으며, 이에 따라 부가적인 인증서 및 응답 길이를 절약할 수 있다. 전술한 바와 같이, CA에 의해 발행되는 인증서의 유효성에 관하여 권한 있는 대답을 제공하도록 주어진 RTCA에게 권한을 부여하는 RTCA 인증서를 CA가 발행할 수 있다. 이러한 RTCA 인증서는 RTCA-서명된 응답(즉, 인위적으로 선-연산되는 응답)을 검증하기 위해 사용되는 공개 키를 특정할 수 있다. 그러나 일부 실시예에서, 상기 CA는 RTCA 공개 키를 CA에 의해 발행되는 인증서 내에 삽입할 수 있거나, 또는 정보가 상기 CA 인증서 자체에 삽입될 수 있다. 즉, 인증서 Cu에서, (적정 포맷, OID 등을 갖는) CA가, Cu의 유효성에 관한 디지털 서명된 응답을 검증하기 위해 사용될 수 있는 공개 키 PK를 포함할 수 있다. 이러한 실시예에 있어서, 신뢰인 측은 별도의 RTCA 인증서를 필요로 하지 않는다. Cu의 유효성에 관한 가장 최근의 증명을 RTC 응답자에게 요구할 때, 신뢰인 측은 RTCA-서명된 응답(즉, 인위적으로 선-연산되는 응답)을 요청했기 때문에 지금 획득할 수 있다. 실제로는, 신뢰인 측이 Cu에 대한 유효성을 증명을 검증하기 위해 사용할 수 있는 공개 검증 키 를, Cu가 특정할 수 있다. 또 다른 실시예에서, 전체 RTCA 인증서(또는 상기 인증서로의 포인터)가 사용자 인증서에, 또는 CA 인증서에 삽입될 수 있다. 이러한 실시예에 의해, (RTC 응답자가 RTCA 응답보다 훨씬 더 길 수 있는 별도의 RTCA 인증서를 전송할 필요가 없기 때문에) 전송에 있어 명백한 절약이 야기되며, (Cu를 신뢰하기 위한 장래의 요구로부터 보호하고자 신뢰인 측이 RTCA 인증서를 RTCA 응답과 같이 저장할 필요가 없기 때문에) 저장소에 있어서도 명백한 절약이 야기된다.
이와 유사하게, 인증서 Cu는 시간 간격을 특정할 수 있다. 이러한 실시예에 있어서, RTCA 응답은 간격 T의 시작과 끝 모두를 특정할 필요가 없을 수 있다. 일부 실시예에서, 상기 T의 시작 부분 홀로 적절하게 T를 특정할 수 있다. 가령, Cu가 1일 단위의 업데이트를 특정할 경우, 주어진 1일 내에서의 임의의 시간이 응답이 보내지는 전체 1일을 특정하는데 충족시킬 수 있다. 또는, (가령, CA의 일반적인 정책에 의해) 상기 인증서가 하루 전체로 구성된 유효성 간격을 가질 경우, 이러한 정보가 인증서내에 특정될 필요성이 없으며, RTCA 응답에서의 절약이 적용될 수 있다.
유효성에 관한 RTCA 증명(proof), 또는 주어진 인증서 C에 관한 효력 정지(suspension)가 상기 증명이 발효되는 시간 간격을 특정할 수 있으며, 철회의 증명은 임의의 시간 간격을 특정할 필요가 없다. 오히려, 유효성과 효력 중지와는 다르게, 철회는 변경할 수 없는 프로세스이기 때문에, 이러한 증명에 대하여 시간상의 단일 지점을 특정하는 것을 만족시킬 수 있다. 따라서 단일 철회 시간 rt는 철회되는 인증서를 증명하기에 충분하다. 상기 rt는 임의의 시간 간격 T의 시작 부분 일 필요는 없으며, 임의의 시간을 특정할 수 있다. 따라서 인증서 C의 영구 철회의 경우에 있어서, RTCA는 업데이트 날짜(가령, D1, D2 등)에서 C의 철회증명을 전혀 전송할 필요가 없다. 대신, 철회 증명은 단 한번만, 또는 가외성(redundancy)을 이유로 아주 소수의 횟수로 전송될 수 있으며, 그 후 RTC 응답자에 의해 캐싱되어, C에 관한 신뢰인 측 질의가 형성될 때, 복귀될 수 있다.
RTCA는 인증서 C가 철회되었다고 즉시 알려줄 수 있다. 예를 들어, C가 철회됐다는 정보는, RTCA가 이미 생성하고, 상기 RTC 응답자에게 C에 관한 유효성 증명을 발송하기 위한 시간 간격 T의 중간에 발송될 수 있다. 이러한 경우에 있어서, 다음 업데이트까지, 유효성의 어떠한 증명도 C에 대하여 연산되지 않을 것이다. 그러나 T의 끝 부분까지, 올바르지 않은, 그러나 표면적으로는 유효한 C에 대한 유효성 증명이 RTC 응답자에 의해 소지된다. 가능한 역-탐지 수단에는 철회 증명이 유효성 증명 보다 우선시되도록 하는 것이 포함된다. 이러한 경우에 있어서, 일부 시간 간격 T 동안에 C에 대한 유효성의 증명과, C에 대한 철회의 증명 모두를 살펴보는 믿을만한 신뢰인 측은 시간 T가 흐른 후, C가 철회된 것처럼 간주할 것이다.
일부 상황에 있어서, 어떤 신뢰인 측은 철회의 증명을 절대 살펴 볼 수 없으며, 그에 따라 C는, 상기 C가 철회됐음에도 불구하고 T의 끝 부분까지, 여전히 유효하다고 고려될 수 있다. (가령, 다음 CRL 업데이트를 기다리지 않고 CA로부터 직접)RTCA가 C가 철회됐다고 안 순간부터, RTCA가 (짜여진 날짜 D1, D2 등, 또는 D1', D2' 등에 독립적인) C의 철회 증명을 연산하고 모든 RTC 응답자에게 전송하게 함으로써 이러한 문제점이 완화될 수 있다. 모든 적절히 기능하는 RTC 응답자는 메 모리로부터 임의의 C의 유효성 증명을 삭제할 수 있으며, 이를 철회에 관한 새로 수신된 증명으로 대체할 수 있다. 이러한 경우에 있어서, RTC 응답자는 C의 유효성에 관한 정확한 증명을 신뢰인 측에게 제공하기 쉽다.
도 3을 참조하여, 다이어그램(80)이 본원에서 설명되는 시스템을 구현하기 위한 구조를 도시하고 있다. CA(82)는 RTCA(84)에 연결되어 있으며, 유효성 정보(가령, CRL)를 그리로 제공하고 있다. RTCA(84)는 RTCA(84)로부터의 인위적으로 선-연산되는 응답을 수신하는 다수의 RTC 응답자(86 ~ 88)에 연결되어 있다. 본단락 외에서 설명되는 바와 같이, CA(82)와 RTCA(84)는 각각 비밀 서명 키(secret signing key)를 사용한다. 일부 실시예에서, 박스(85)에 의해 도식되는 바와 같이, CA(82)와 RTCA(84)는 동일한 개체(entity)일 수 있다.
RTCA(84)는 인위적으로 선-연산되는 응답을 RTC 응답자(86 ~ 88)에게 제공한다. 본 단락 외에서 설명되는 바와 같이, 상기 RTC 응답자(86 ~ 88)는 자신 고유의 비밀 서명 키를 필요로 하지 않으며, RTC 응답자(86 ~ 88) 중 하나에 의해 신뢰인 측으로 제공되는 임의의 정보가 디지털 서명되며, 이는 공개 정보이기 때문에, 보안될 필요가 없다.
그 밖의 다른 실시예에서, 둘 이상의 RTCA가 사용될 수 있으며, 이는 다수의 추가 RTCA를 나타내는 RTCA(92)와 RTCA(94)에 의해 형상화된다. 각각의 추가 RTCA(92, 94)는, RTCA(84)에 의해 서비스되는 응답자(86 ~ 88)에 연결되어 있을 수 있다. 또는, 하나 이상의 추가 RTCA(92, 94)가 추가적인 서로 다른 다수의 응답자(96 ~ 98)에 연결될 수 있다.
도 4를 참조하여, 흐름도(100)가 RTCA를 초기화하는 것에 관련하여, CA가 수행하는 단계를 도식한다. 기존 RTCA 인증서가 만료되거나, 상기 RTCA의 보안/비밀 키가 누출되기 때문에, 새로운 RTCA가 시스템에 추가되는 것에 관련하여, 또는 기존 RTCA가 새로운 인증서를 발행하는 것에 관련하는 상기 흐름도(100)의 단계가 수행될 수 있다.
CA가 RTCA를 검증하는 제 1 스텝(102)에서부터 시작한다. 스텝(102)에서 RTCA를 검증하는 것은 시스템의 토폴로지와 보안 요구사항에 달려 있으며, 그리고 가령, 상기 RTCA를 물리적으로 조사하고 상기 RTCA가 제위치에 있는지, 그리고 안전한지를 검증하는 관리자를 필요로 할 수 있다. 물론, RTCA가 안전한지를 검증하기 위해, 스텝(102)에서 수행되는 또 다른 적정 프로세싱이 있을 수 있다. 스텝(102)의 다음은 스텝(104)이며, 이때 상기 CA는 RTCA를 위한 키를 생성한다. 스텝(104)에서, 상기 CA는 RTCA를 위한 비밀 키와 상기 RTCA를 위한 공개 키를 모두 생성한다.
스텝(104)의 다음은 스텝(106)이며, 이때 상기 스텝(104)에서 생성되는 키를 기반으로 하여, 상기 CA는 RTCA에 대한 인증서를 생성한다. 스텝(106)에서 생성되는 인증서는 RTCA 인증서이다. 스텝(106)의 다음은 스텝(108)이며, 이때 상기 비밀 키가 RTCA에게 제공된다. 일부 실시예에서, 보안 목적으로, (가령, 사용자가 상기 비밀 키를 종이 위해 작성하고, 상기 비밀 키를 RTCA에서 물리적으로 입력함으로써) 상기 비밀 키는 오프-라인 방식으로 상기 RTCA에게 제공되는 것이 유용할 수 있다.
스텝(108)의 다음은 스텝(112)이며, 이때, 스텝(106)에서 생성되는 인증서가 RTCA에게 제공된다. 스텝(112)에서, 인증서를 RTCA에게 온-라인 방식으로 제공하는 것이 가능하다. 왜냐하면, 상기 RTCA 인증서가 공개용으로 만들어졌으며, 모든 실용적인 목적으로, 상기 CA의 비밀 키(스텝(104)에서 생성되는 비밀 키와는 다른 것이 일반적임)에 관한 정보 없이는 위조될 수 없기 때문이다. 스텝(112)의 다음은 스텝(114)이며, 이때 CA에 의해 관리되는 인증서에 관한 최초의 인증서 데이터가 CA로부터 RTCA에게 제공된다. 스텝(114)에서 제공되는 최초 데이터는 최초 CRL을 포함할 수 있다. 덧붙이자면, 본 단락외에서 설명된 바와 같이, 스텝(114)에서 제공되는 상기 최초 데이터는 유효하며 만료되지 않은 인증서에 관한 정보를 또한 포함하여, 상기 RTCA는 유효한 만료되지 않은 인증서에 대하여 적정 응답을 제공할 수 있다. 스텝(114)을 끝으로 프로세싱이 종료한다.
일부 실시예에서, RTCA가 비밀 키의 정보를 갖는 유일한 개체이도록 스텝(104)이 RTCA에 의해 수행된다. 이러한 경우에 있어서, 온-라인이나, 오프-라인 방식으로, 상기 RTCA는 그에 대응하는 공개 키를 CA에게 제공하여, 스텝(106)에서 상기 CA가 인증서를 생성할 수 있을 것이다. 물론, 이러한 경우에 있어서, 스텝(108)을 수행하는 것이 필수인 것은 아니다. 스텝(106)으로부터 스텝(112)까지의 대안 경로(116)가 흐름도(100)에서 도식된다.
상기 흐름도(100)의 스텝은, CA와 RTCA가 동일한 개체(entity)인 경우에도 수행될 수 있다. 물론, 이러한 경우에 있어서, 스텝(102)에서 RTCA를 검증하는 것은 사소한 일이다. 덧붙이자면, RTCA/CA가 CA 기능과 RTCA 기능 모두에 대해 동일 한 공개 키 및 비밀 키 쌍을 사용할 실시예에 있어서, 상기 RTCA 인증서가 상기 CA의 인증서이기 때문에, 스텝(104, 106, 108, 112)은 수행될 필요가 없다. 그러나 RTCA 인증서가 CA 인증서와 다른 포맷(가령, OCSP 응답자 인증서 포맷)으로 존재하게 하는 것이 유용한 경우에 있어서, 상기 RTCA 인증서에 대하여 다른 포맷의 인증서를 생성하는 것에 관련된 스텝(106)은 수행될 수 있다.
도 5를 참조하여, 흐름도(120)는 CA로부터 RTCA로의 인정서 유효성 데이터의 주기적인 전이와 관련된 스텝들을 도식한다. 주기적으로, 또는 RTCA가 특정 요청을 하면, 흐름도(120)의 스텝이 수행될 수 있다. 프로세싱이 첫 번째 테스트 스텝(122)에서 시작되며, 이때 임의의 인증서가 최근에(즉, 가장 마지막 반복 주기에서) 철회되었는지를 판단한다. 그럴 경우, 제어는 테스트 스텝(122)에서 스텝(124)으로 넘어 가며, 이때 상기 철외 정보는 응답자에게 전송된다. 본 단락외에서 설명되는 바와 같이, 일부 실시예에서, 철회 정보는 즉시 (또는, 가능한 즉시) CA에서 RTCA로 전송된다. 일부 실시예에서, 스텝(124)에서 디지털 서명되거나 다른 방식으로 권한이 부여된 상기 철회 정보는 CA에서 RTCA로 전송된다.
스텝(124)의 다음, 또는 어떠한 인증서도 최근에 철회되지 않았을 경우 테스트 스텝(122)의 다음은 테스트 스텝(126)이며, 이때, 인증서 정보를 업데이트하기 위한 새로운 시간 간격에, 현재 시간이 대응하는지를 판단한다. 본 단락외에서 서술되는 바와 같이, 일부 실시예에서, 주기적인 간격마다, CA는 새로운 유효 정보를 RTCA에게 제공한다. 따라서 테스트 스텝(126)에서, 현재 시간이 새로운 간격에 대응하지 않는다고 판단될 경우, 그 후 전술한 바와 같이, 제어가 테스트 스텝(126) 으로부터 역방향으로 스텝(122)로 이동하게 된다. 아니면, 현재 시간이 새로운 시간 간격에 대응할 경우, 그 후, 제어는 테스트 스텝(126)으로부터 스텝(128)으로 이동하고, 이때 새로운 유효성 정보가 CA에 의해 생성되며, 일부 실시예에서는, 이는 정보의 디지털 서명 단계, 또는 다른 권한 인증 단계가 포함된다. 본 단락외에서 설명되는 바와 같이, 상기 새로운 유효성 정보는 CRL을 포함하여 다양한 형식 중 임의의 하나로서 존재할 수 있다.
스텝(128)의 다음은 스텝(132)이며, 이때 스텝(128)에서 생성되는 새로운 유효성 정보가 RTCA에게 제공된다. 스텝(132)의 다음은 테스트 스텝(134)이며, 이때 상기 테스트 스텝(134)에서, 상기 RTCA는 스텝(132)에서 전송된 정보의 수신을 승인했는지를 판단하다. 그렇지 않을 경우, 그 후 제어가 스텝(134)에서 에러 프로세싱이 수행되는 스텝(136)으로 이동한다. 스텝(136)에서 수행되는 에러 프로세싱은, 가령, 시스템 관리자에게 통지하는 것을 포함할 수 있다. 스텝(134)에서, RTCA가 새로운 정보를 수신했다고 판단하는 것이 유용하다. 왜냐하면 악의적인 범죄자가 최근에 철회된 인증서에 관한 정보를 공표하는 것을 막는 수단으로서, RTCA를 훼손할 수 있기 때문이다. 스텝(136)이 끝난 후 프로세싱이 완료된다.
테스트 스텝(134)에서, RTCA가 스텝(132)에서 전송된 정보의 수신을 수령한 것을 승인했다고 판단되는 경우, 그 후 제어가 스텝(134)으로부터 스텝(122)으로 역방향으로 이동하여, 다음 반복 주기를 처리한다. 일부 실시예에 있어서, 주기적으로, RTCA가 데이터의 수령에 승인한 것과 관계없이, 데이터가 CA로부터 RTCA로 제공된다. 이것이 또 다른 경우(137)에 의해 도식된다.
일부 실시예에서, 흐름도(120)의 스텝은 주기적으로 수행되지는 않고, 대신 데이터에 대한 RTCA에 의한 특정 요청에만 대답하여 수행된다. 이러한 과정이 대안 경로(138)에 의해 도식되며, 이로 인하여, 제어가 스텝(122), 또는 스텝(124)로부터 스텝(128)으로 직접 이동하게 된다. 대안 경로(142)가 스텝(134)에서 승인의 수령에 대응한다. 따라서 흐름도(120)의 스텝이 주기적으로 수행되지 않는 실시예에서, 그 후 테스트 스텝(134)에서, RTCA가 스텝(132)에서 전송된 정보의 수령을 승인했다고 판단할 때, 경로(142)가 프로세싱이 완료됐음을 나타낸다. 물론, RTCA가 CA로부터 정보가 수령됐음을 승인하지 않는 실시예의 가능성도 있다. 이는 대안 경로(144)에 의해 도식된다.
도 6을 참조하여, 데이터가 RTCA로부터 RTC 응답자로 주기적으로 제공(push)되는 실시예의 경우에 있어서, 흐름도(150)는 RTCA에 의해 수행되는 프로세싱을 도식한다. RTCA가 이전 제공(push) 이후로 새로운 데이터가 수신되었는지를 판단하는 제 1 스텝(152)에서 프로세싱은 시작한다. 새로운 데이터가 수신되지 않았을 경우, 그 후, 제어는 스텝(152)으로 다시 넘어 가서, 새로운 데이터가 수신되기까지, 루프를 형성하고 폴링(polling)한다. 테스트 스텝(152)에서, 새로운 데이터가 수신되었다고 판단되면, 그 후 제어는 스텝(152)에서 스텝(154)으로 넘어 가며, 이때, 상기 데이터가 RTCA로부터 RTC 응답자에게로 전송된다. 스텝(154)의 다음으로, 제어가 스텝(152)으로 다시 넘어가서 새로운 데이터를 기다리기 위해 폴링(polling)을 계속한다.
도 7을 참조하여, RTC 응답자에 의한 요청에 대답하여, 데이터가 RTCA로부터 RTC 응답자로 제공되는 실시예에 있어서, 흐름도(160)는 RTCA에 의해 수행되는 스텝을 도식한다. 본원에서 설명되는 바와 같이, 데이터가 RTCA로부터 RTC 응답자에게로 자동으로 주기적으로 공급되게 하는 것 보다는, 상기 RTC 응답자는 스스로 RTCA로부터 데이터를 주기적으로 요청할 수 있다.
RTCA가 RTC 응답자로부터 질의를 수신하는 첫 번째 스텝(162)에서, 프로세싱이 시작한다. 스텝(162)의 다음은 테스트 스텝(164)이며, 이때 RTCA 인증서가 RTC 응답자에 의해 요청되었는지를 판단한다. 본원에서 서술되었던 바와 같이, 상기 CA가 RTCA를 신뢰하고, 유효성 정보를 제공하도록 상기 RTCA에게 권한을 부여했는지를 나타내기 위해, 상기 RTCA 인증서가 사용된다. 일부 실시예에서, 요청 받았거나 신뢰인 측에서 필요로 할 경우, 제공하기 위해, 각각의 RTC 응답자는 RTCA 인증서를 캐싱할 수 있으며, 이러한 경우에 있어서, RTCA 인증서를 단 한번만 요청하는 것이 필수일 수 있다. 그 밖의 다른 실시예에 있어서, 상기 RTC 응답자는 RTCA 인증서를 주기적으로 요청할 수 있거나, 또는 일부 경우에 있어서, RTCA 인증서를 항상 요청할 수 있다.
테스트 스텝(164)에서, 상기 RTC 응답자가 상기 RTCA 인증서를 요청했다고 판단될 경우, 그 후 제어가 테스트 스텝(164)으로부터 스텝(166)으로 넘어가고, 이때, RTCA가 RTCA 인증서를 RTC 응답자에게 제공한다. 상기 RTCA 응답자가 RTCA 인증서를 요청하지 않았을 경우, 스텝(166)의 다음, 또는 테스트 스텝(164)의 다음은 테스트 스텝(168)이며, 이때 그 밖의 다른 정보(즉, 인위적으로 선-연산되는 응답)가 요청되었는지를 판단한다. 그렇지 않을 경우, 프로세싱은 완료된다. 반대의 경 우라면, 제어가 테스트 스텝(168)으로부터 테스트 스텝(172)으로 넘어가며, 이때, 그 밖의 다른 정보가 RTCA에서 유효한지를 판단하게 된다. 일부 경우에 있어서, 상기 RTCA 응답자가 요청하는 그 밖의 다른 정보는 RTCA에서 유효하지 않을 수 있다. 예를 들어, RTCA 응답자가 외래 인증서에 관한 정보를 요청할 경우, 상기 인위적으로 선-연산되는 응답은 RTCA에서 유효하지 않을 수 있다.
테스트 스텝(172)에서, 요청되는 정보가 유효하지 않다고 판단될 경우, 그 후 제어는 테스트 스텝(172)으로부터 스텝(174)으로 넘어가며, 상기 스텝(174)에서, RTCA는 요청된 정보가 유효하지 않다고 나타내는 데이터를 RTC 응답자에게 제공한다. 스텝(174)이 끝나면, 프로세싱은 완료된다. 테스트 스텝(172)에서, 요청받는 다른 정보가 유효하다고 판단되는 경우, 그 후 제어는 테스트 스텝(172)으로부터 스텝(176)으로 넘어 가며, 스텝(176)에서, 요청되는 정보가 RTCA에 의해 RTC 응답자로 제공된다. 스텝(176)이 끝난 후, 프로세싱은 완료된다.
도 8을 참조하여, 흐름도(190)는 RTC 응답자에 의해, 인위적으로 선-연산되는 응답(가령, OCSP 응답)에 관한 요청을 신뢰인 측으로부터 수신하는 것에 관련되어 수행되는 스텝을 도식한다. 상기 요청이 수신되는 첫 번째 스텝(192)에서 프로세싱이 시작한다. 스텝(192)의 다음은 스텝(194)이며, 이때 RTC 응답자는 상기 요청에 대해 적정한 RTCA 데이터를 획득한다. 스텝(194)에서 RTCA 데이터를 획득하는 것이 추후에 더 세부적으로 논의된다. 스텝(194)의 다음은 테스트 스텝(196)이며, 이때 상기 요청되는 데이터가 유효한지를 판단한다. 유효하지 않다면, 제어가 테스트 스텝(196)에서부터 스텝(198)으로 넘어가며, 이때 RTC 응답자는 신뢰인 측에게, 특정 인증서의 상태가 알려지지 않았다는 것을 나타내는 응답을 제공한다. 스텝(198)이 끝난 후, 프로세싱이 완료된다.
테스트 스텝(196)에서, 가장 최근의 유효성 데이터가 관심 인증서에 대하여 유효하다고 판단되어질 경우, 그 후 제어가 테스트 스텝(196)에서부터 스텝(202)로 넘어 가며, 상기 스텝(202)에서 데이터 상의 체크가 수행된다. 본원에서 설명됐던 바와 같이, 스텝(202)에서 수행되는 체크에는 데이터의 현재성(currentness of data)을 판단 프로세싱과, RTCA 인증서가 위조되지 않았으며, 여전히 유효하다고 판단되어지는 프로세싱과, 상기 스텝(194)에서 획득되어지는 데이터 상에서 수행될 수 있는 임의의 하나 이상의 다른 체크 프로세싱 중 하나 이상을 포함할 수 있다.
스텝(202)의 다음은 테스트 스텝(204)이며, 상기 테스트 스텝(204)에서, 스텝(202)에서 체크를 수행한 결과가 모든 것이 올바르다고 나타내는지를 판단한다. 그렇지 않다고 판단될 경우, 그 후 제어가 스텝(204)에서부터 스텝(206)으로 넘어 가며, 상기 스텝(206)에서, 신뢰인 측에게 유효성 데이터가 올바르지 않다는 표시를 제공된다. 그 밖의 다른 적정 프로세싱이 스텝(206)에서 수행될 수 있다. 예를 들자면, 시스템 관리인에게 에러를 통지하는 프로세싱이 있다. 스텝(206)이 끝난 후, 프로세싱이 완료된다.
테스트 스텝(204)에서, 상기 유효성 데이터가 올바르다고 판단될 경우, 그 후 제어가 테스트 스텝(204)에서부터 테스트 스텝(208)으로 넘어가며, 이때 상기 테스트 스텝(208)에서, 신뢰인 측이 RTCA 인증서를 요청했는지가 판단되어진다. 요청하지 않았다고 판단되어질 경우, 그 후 제어는 테스트 스텝(208)에서부터 스 텝(212)으로 넘어가며, 상기 스텝(212)에서, 신뢰인 측은 상기 유효성 데이터(즉, 인위적으로 선-연산되는 응답)를 제공받는다. 스텝(212)이 끝난 후, 프로세싱이 완료된다. 테스트 스텝(208)에서, 상기 RTCA 인증서가 유효성 데이터와 함께 요청됐다고 판단되어지는 경우, 그 후 제어가 테스트 스텝(208)에서부터 스텝(214)으로 넘어가며, 이때 스텝(214)에서, 유효성 데이터와 RTCA 인증서가 신뢰인 측으로 제공되어 진다. 스텝(214)이 끝난 후, 프로세싱이 완료된다.
일부 실시예에서, 신뢰인 측은 유효성 데이터의 고유 체크를 수행할 수 있으며, 이러한 경우에 있어서, 스텝(202)에서 체크가, 또는 스텝(204)에서 그에 대응하는 테스트가 수행되는 것이 필수인 것은 아니다. 스텝(196)으로부터 스텝(208)으로의 대안 흐름 경로(216)에 의해, 이것이 형상화된다.
도 9를 참조하여, 도 8의 흐름도(190)의 스텝(194)에서 RTCA 데이터를 획득하는 것과 관련하여, 흐름도(230)가 RTC 응답자에 의해 수행되는 스텝들을 더 세부적으로 도식한다. 상기 흐름도(230)는 RTCA 응답자가 데이터를 특정하게 요청할 필요 없이, RTCA 데이터가, RTCA에 의해 RTC 응답자에게 제공되는 실시예에 대응한다. 이러한 실시예에서, 자동으로, 응답자는 가장 최근의 RTCA 데이터(또는 거의 최근의 RTCA 데이터)를 항상 소유하게 된다,
RTC 응답자가 요청된 데이터가 RTC 응답자에게서 유효한지를 판단하는 첫 번째 테스트 스텝(232)에서, 프로세싱이 시작된다. 유효하다고 판단되어질 경우, 제어는 테스트 스텝(232)에서부터 테스트 스텝(234)으로 넘어 가며, 상기 테스트 스텝(234)에서, RTC 응답자에서 요청된 데이터가 최신 데이터인지를 판단한다. 본원 에서 서술되었던 바와 같이, 상기 인위적으로 선-연산되는 응답은 상기 인위적으로 선-연산되는 응답이 유효한 시간 간격을 포함할 수 있으며, 상기 시간 간격 후에, 새로운 인위적으로 선-연산되는 응답이 획득되어질 필요가 있다. 인위적으로 선-연산되는 응답에 대한 시간 간격을 결정하기 위해 사용되는 특정 메커니즘과 상관없이, 테스트 스텝(234)에서, 현재 시간을 인위적으로 선-연산되는 응답에 연계되어 있는 시간 간격에 비교함으로써, 신뢰인 측이 요청하는 특정한 인위적으로 선-연산되는 응답이 최신인지를 판단한다.
데이터가 최신일 경우, 그 후 제어는 테스트 스텝(234)에서부터 스텝(236)으로 넘어가며, 이때 스텝(236)에서, RTCA 인증서가 유효한지가 판단되어진다. 어떤 경우에 있어서는, RTCA에 의해 제공되는 데이터가 신뢰할만하지 않을 수 있기 때문에, RTCA 인증서가 철회되는 것(또는 만료되는 것)이 가능할 수 있다. 가령, RTCA의 비밀 키가 누출된 경우, 그 후 RTCA 인증서는 철회될 수 있다. 스텝(236)에서 RTCA 인증서의 유효성을 판단하는 것은, 본원에서 설명된 기법을 포함하여 다수의 기존 기법 중 임의의 하나를 이용하여 수행될 수 있다. 테스트 스텝(236)에서, RTCA 인증서가 유효하다고 판단되어질 경우, 그 후 제어는 테스트 스텝(236)에서부터 스텝(238)으로 넘어가며, 상기 스텝(238)에서, 도 8의 흐름도(190)에 관련하여 전술된 추가적인 프로세싱을 위해, 요청된 인위적으로 선-연산되는 응답이 제공된다. 스텝(238)이 끝난 후, 프로세싱은 완료된다.
테스트 스텝(232)에서, 데이터가 유효하지 않다고 판단되어진 경우, 또는 테스트 스텝(234)에서, 요청된 데이터가 최신 것이 아니라고 판단되어진 경우, 또는 테스트 스텝(236)에서, 상기 RTCA 인증서가 유효하지 않다고 판단되어진 경우, 그 후 제어는 스텝(242)으로 넘어가며, 이때, 도 8의 흐름도(190)의 스텝들의 프로세싱의 결과에 관련하여, 상기 데이터가 유효하지 않다는 것을 지시하고 있다. 일부 실시예에서, 스텝(242)에서 제공되는 정보는 상기 요청된 정보의 무효성에 관한 이유를 포함할 수 있다. 스텝(242)이 끝난 후, 프로세싱은 완료될 수 있다.
일부 실시예에서, 각각의 반복 주기마다, RTCA 인증서의 유효성을 체크하는 것은 바람직하지 않을 수 있다. 이러한 실시예에서, 스텝(236)은 생략될 수 있으며, 이것이 대안 경로(244)에 의해 형상화된다.
RTC 응답자가 RTCA로부터 새로운 데이터를 주기적으로 요청하는 실시예에 대하여, 흐름도(230)에 의해 형상화되는 프로세싱을 사용하는 것이 가능하다. 이러한 경우에 있어서, 데이터는 유효하지 않거나, 최신 데이터가 아닐 수 있는데, 왜냐하면, RTCA로부터 상기 RTC 응답자에 의해 아직 요청되지 않았기 때문이다.
도 10을 참조하여, RTC 응답자가 RTCA로부터 데이터를 요청하는 실시예에 대하여, 도 8의 흐름도(190)의 스텝(194)에서 RTCA 데이터를 획득하는 것과 관련하여 수행되는 스텝들을 흐름도(260)가 더욱 자세하게 도식한다. 신뢰인 측이 RTCA 인증서를 요청했는지를 판단하는 첫 번째 스텝(262)에서, 프로세싱이 시작된다. 요청했다고 판단될 경우, 그 후 제어는 스텝(262)에서부터 스텝(264)으로 넘어가며, 스텝(264)에서, 상기 RTCA 인증서가 RTC 응답자에 의해 캐싱되는 지가 판단되어진다. 요청하지 않았다고 판단되어질 경우, 제어는 테스트 스텝(264)에서부터 스텝(266)으로 넘어가며, 스텝(266)에서, RTC 응답자는 상기 RTCA로부터 RTCA 인증서를 요청 한다.
스텝(266)의 다음, 또는 상기 RTCA 인증서가 요청되지 않았을 경우의 스텝(262)의 다음, 또는 상기 요청되지 않은 인증서가 유효할 경우의 스텝(264)의 다음은 테스트 스텝(268)이며, 상기 테스트 스텝에서, 인위적으로 선-연산되는 응답이 요청되었는지가 판단된다. 요청되었다고 판단되어질 경우, 그 후 제어는 테스트 스텝(268)에서부터 테스트 스텝(272)으로 넘어가며, 이때 테스트 스텝(272)에서, 요청되는 인위적으로 선-연산되는 응답이 RTC 응답자에서 캐싱되는 지가 판단되어 진다. 요청되지 않았다고 판단될 경우, 그 후 제어가 테스트 스텝(272)에서부터 테스트 스텝(274)으로 넘어 가며, 상기 테스트 스텝(274)에서, 상기 RTC 응답자는 상기 인위적인 선-연산되는 응답을 RTCA로부터 요청한다. 스텝(274)의 다음, 또는 어떠한 인위적인 선-연산되는 응답도 요청받지 않은 경우의 스텝(268)의 다음, 또는 요청되는 인위적인 선-연산되는 응답이 캐싱될 경우의 스텝(272)의 다음은 스텝(276)이며, 이때 도 8의 흐름도(190)의 스텝을 따르는 프로세싱의 결과에 대해, 요청된 정보를 획득하는 결과물이 제공된다. 스텝(276)이 끝난 후, 프로세싱은 완료된다.
도 11을 참조하여, 불필요한 스텝과, 3 당사자 거래(three party transaction)의 프로세싱을 피하기 위해 2 당사자 거래 (two party transaction)가 설정되는 것에 관련하여, 흐름도(300)는 사용자나 사용자가 거래하는 신뢰인 측에 의해 수행되는 스텝을 도식한다. 사용자나 신뢰인 측이 캐싱하는 정보 (즉, 인위적으로 선-연산되는 응답)가 최신 것인지를 판단하는 첫 번째 스텝(302)에서 프 로세싱은 시작된다. 최신 것이라고 판단되는 경우, 그 후 제어는 다시 테스트 스텝(302)으로 넘어가서 상기 정보가 최신 것이 아닐 때까지 폴링(polling)을 계속한다. 테스트 스텝(302)에서, 캐싱된 정보가 최신 것이 아니라고 판단되어지면, 그 후 제어는 테스트 스텝(302)에서부터 스텝(304)으로 넘어 가며, 본원에서 설명되었던 바와 같이, 상기 스텝(304)에서 당사자(사용자, 또는 신뢰인 측)는 최신 정보를 획득한다. 스텝(304)의 다음은 스텝(306)이며, 이때, 스텝(306)에서는, 스텝(304)에서 획득된 정보가 로컬 저장(캐싱)된다. 스텝(306)의 다음에서, 제어는 스텝(302)으로 다시 넘어 가서, 상기 캐싱된 정보가 더 이상 최신 것이 아닐 때까지, 폴링(polling)을 계속한다.
도 12를 참조하여, 인증서(320)는, 종래의 인증서 정보(322)와, RTCA 인증서 정보(324)를 포함하고 있다고 나타낸다. 인증서(320)는 사용자 인증서, 또는 CA 인증서일 수 있다. 서술된 바와 같이, 일부 실시예에서, RTCA 인증서(324)에 의해 인증된 공개 키를 인증서에 삽입하는 것이 가능하다. 신뢰인 측이 인증서(320)(상기 인증서는 사용자 인증서이거나 CA 인증서임)를 살펴볼 때, RTCA 인증서를 별도로 획득하는 것이 필수적인 것은 아니다. 또 다른 실시예에서, RTCA 인증서 정보(324)는 전체 RTCA 인증서, 또는 그것을 지시하는 포인터를 포함한다.
도 13을 참조하여, 다이어그램(400)은 CA(402)와, RTCA(404)와, RTC 응답자(406)와 신뢰인 측(408) 간의 정보의 흐름을 도식하고 있다. 본원에서 설명됐던 바와 같이, 상기 CA(402)는 유효성 정보(가령, CRL)를 RTCA(404)에게 제공한다. 상기 RTCA(404)는 RTC 응답자(406)에게 제공되는, 다수의 인위적인 선-연산되는 응 답(416)을 생성한다. 예를 들자면, 또한 상기 RTCA(404)는 RTCA 인증서(41)를 RTC 응답자(406)에게 제공할 수 있다. 그러나 본원에서 설명됐던 바와 같이, 상기 RTCA 인증서(414)는 단 한번만 제공될 수 있거나, 상기 인위적인 선-연산되는 응답(416)을 RTC 응답자(406)에게 제공하는 RTCA(404)에 독립적으로 주기적으로 제공될 수 있다.
신뢰인 측(404)은 신뢰인 측(408)이 RTC 응답자(406)에게 제공하는 OCSP 요청(418)(또는 유효성 정보에 대한 다른 종류의 요청)을 생성한다. RTCA(404)로부터 RTC 응답자(406)로 이전에 제공되는 상기 인위적으로 선-연산되는 OCSP 응답(416) 중 하나인 인위적으로 선-연산되는 OCSP 응답(422)을 제공함으로써, 상기 RTC 응답자(406)는 OCSP 요청(418)을 서비스한다. 그 후, 신뢰인 측(408)은 상기 인위적으로 선-연산되는 응답(422)을 사용하여, 요청되는 인증서의 유효성 상태를 기반으로 적정한 추가적인 행동을 취할 수 있다. 본원에서 설명됐던 바와 같이, 예를 들자면, RTC 응답자(406)는 RTCA 인증서(414)를 신뢰인 측(408)에게 제공할 수 있다.
도 14를 참조하여, 다이어그램(430)은 두 개의 서로 다른 독립적인 디지털 인증서 시스템 간의 유효성 정보를 통신하는 과정을 도식하고 있다. 상기 다이어그램(430)은 도 13의 다이어그램(400)의 CA(402)와, RTCA(404)와, RTC 응답자(406)와 신뢰인 측(408)을 나타내고 있다. 상기 다이어그램(430)은 또한 CA(402)에 의해 RTCA(404)로 제공되는 유효성 정보(412)를, 그리고 상기 RTCA(404)에서부터 상기 RTC 응답자(406)까지 통신하는 RTCA 인증서(414)와 인위적으로 선-연산되는 응답(416)을 나타낸다.
다이어그램(430)은 두 번째 CA(432)와, 두 번째 RTCA(434)와, 두 번째 RTC 응답자(436)와, 두 번째 신뢰인 측(438)을 나타낸다. 상기 두 번째 CA(432)는 유효성 정보(442)를 두 번째 RTCA(434)에게 제공한다. 상기 두 번째 RTCA(434)는 인위적으로 선-연산되는 응답(446)을 두 번째 RTC 응답자(436)에게 제공한다. 그러나 CA(402)와 두 번째 CA(432)가 디지털 인증서의 독립적인 세트를 관리한다고 가정하면, 그 후 CRL(412)은 CRL(442)과는 다른 인증서에 관한 정보를 포함하며, 상기 인위적으로 선-연산되는 응답(416)은 상기 인위적으로 선-연산되는 응답(446)과는 다른 인증서에 관한 정보를 포함한다. 따라서 두 번째 신뢰인 측(438)이 CA(402)가 관리하는 인증서에 관하여 OCSP 요청(448)을 두 번째 응답자(436)에게 제공할 때, 두 번째 RTCA(434)에 의해 제공되는 인위적으로 선-연산되는 응답(446) 중 어느 것도 OCSP 요청(448)을 만족시키기에 적절하지 않을 수 있다.
RTCA(404)가 상기 인위적으로 선-연산되는 응답(416)을 두 번째 RTC 응답자(436)에게 제공했을 경우, 그리고 RTCA(404)가 상기 RTCA 인증서(414)를 두 번째 RTC 응답자(436)에게 이전에 제공했을 경우, 전술한 난제가 해결될 수 있으며, 그 후 상기 두 번째 신뢰인 측(438)에게 상기 RTCA 인증서(414)와, 상기 RTCA(404)가 생성하는 인위적으로 선-연산되는 응답(422)을 제공함으로써, 두 번째 RTC 응답자(436)는 상기 OCSP 요청(448)을 충족시킬 수 있다. 본원에서 설명됐던 바와 같이, RTCA(404)로부터 두 번째 RTC 응답자(436)로의 전송이 보안될 필요는 없다. 왜냐하면, 상기 두 번째 응답자(436)에게로의 전송 전에, 상기 RTCA 인증서(414)와 인위적으로 선-연산되는 응답(436)이 이미 디지털 서명되었기 때문이다.
도 15를 참조하여, 다이어그램(460)은 도 14의 다이어그램(430)에 의해 형상화되는 시스템의 개괄을 나타낸다. 다이어그램(460)에서, RTCA(404)는 인위적으로 선-연산되는 응답(416)을 RTC 응답자들의 이기종 망(heterogeneous cloud)(462)에 제공한다. 이와 유사하게, 두 번째 RTCA(434)는 인위적으로 선-연산되는 응답(446)을 RTC 응답자의 상기 이기종 망(462)에게 제공한다. 또한 RTCA(404, 434)는 그들의 RTCA 인증서(도면상 나타나지 않음)를 RTC 응답자의 이기종 망(462)에게 각각 제공할 수 있다. 임의의 개수의 RTCA가 인위적으로 선-연산되는 응답, 또는 RTCA 인증서를 RTC 응답자의 이기종 망(462)에게 제공할 수 있다. 따라서 신뢰인 측(408), 또는 두 번째 신뢰인 측(438), 또는 일부 다른 신뢰인 측은 인위적으로 선-연산되는 응답들 중 적정한 하나를 수신하고, 선택적으로 인위적으로 선-연산되는 응답이 상기 이기종 망(462)에 제공되기 위한 임의의 인증서에 관한 OCSP 요청에 대답하여 RTCA 인증서를 수신할 수 있다.
전술한 기법에 의해, 종래의 OCSP의 많은 단점들, 가령, 연산 비용과, 높은 통신량과, 보안 서버의 백업 비용이 해결되며, 추가로 연산과 통신 비용을 감소시키기 위한 최적화가 가능해진다. 특히, 차후에 설명될 적정한 압축에 의해, RTCA와 RTC 응답자 간의 통신의 양이 감소될 수 있다. 특히 표준 OCSP 문법(syntax)이 사용될 경우, 앞으로 설명될 기법의 조합으로부터의 절약되는 결과물이 명확할 수 있다.
전술한 바와 같이, RTCA는 각각의 RTC 응답자에게 각각이 다수의 데이터 요소로 구성될 수 있는 인위적으로 선-연산되는 응답을 전송하며, 이때 데이터 요소 에는 응답 타입, 응답이 연산되는 시간, 디지털 서명 알고리즘 검증자, RTCA의 id, 인증서 번호, 상기 인증서가 유효한지 아닌지 여부 등이 포함될 뿐 아니라 디지털 서명 자체도 포함될 수 있다. 이러한 아이템의 다수는 다수의 응답들 간에 동일하거나, 유사하다. 예를 들어, 상기 응답이 연산되는 시간과 상기 RTCA의 id는 모든 응답에 대하여 모두 동일 할 수 있다. 모든 응답이 RTCA로부터 RTC 응답자로 함께 전송될 때, 공용 요소는 단 한번만 전송될 수 있다. 신뢰인 측의 요청에 대답할 때, 상기 RTC 응답자가 적정 응답을 재구성할 수 있다. 덧붙이자면, 데이터 아이템이 동일한 것은 아니고 유사할 때, 적정한 압축 알고리즘이 사용되어, 유사함의 이점을 취하여, 다른 점만 통신할 수 있다.
덧붙이자면, 응답을 연산하고 응답자에게 통신하는 비용을 추가로 감소시키기 위해, 모든 인증서가 아니고, 일부의 유효성 상태를 상기 응답자에게 업데이트하는 것이 바람직하다. 예를 들자면, 일부 높은 우선순위(가령, 높은 보안도)의 인증서는 매 분마다 업데이트될 수 있는 그들의 상태를 가질 수 있는 반면에, 모든 인증서의 유효성 상태는 시간 단위로 업데이트될 수 있다. 대안으로(또는 추가적으로), 새로 철회된 인증서는 응답자와 함께, 즉시 업데이트되는 유효성 상태를 가질 수 있어서, 부적절한 사용에 대한 위험 부담을 감소시킬 수 있다. 또 다른 대안으로, 모든 인증서에 대해서는 하루 단위의(또는 시간 단위 등의) 서명된 유효성 상태 정보는 여전히 제공하면서, RTCA는 상태가 변경된 인증서에 관한 시의 적절한 업데이트를 응답자에게 제공할 수 있다.
표준적인 일반적 압축 기법(가령, Lempel-Ziv)이 통신 비용을 추가로 감소시 키기 위해 사용될 수 있다. 앞서 논의된 최적화에 의해 이미 통신의 크기가 축소된 후에, 상기 압축 기법이 적용될 수 있다.
앞서 논의된 최적화에 의해, RTCA 상의 연산 부하가 감소되며, 상기 RTCA와 상기 응답자 간의 통신 비용이 감소한다. 왜냐하면, 여러 경우에 있어서, 연산이 필요한 서명의 개수는 더 적어지기 때문이다. 연산 및 통신에 의해 발생하는 대기시간를 감소시킴으로써, 보안성을 더 증가시킨다. RTCA가 모든 디지털 인증서의 유효성 상태를 항상 처리하고 전송해야만 하는 경우에 응답자가 갖는 것보다, 더 최근의 정보를 가진다.
도 16을 참조하여, 흐름도(470)는 RTCA와 RTC 응답자간에서 통신되는 데이터를 압축하기 위한 스텝들을 도식한다. 스케줄이 짜여지지 않은 아이템은 전송에서 제외되는 첫 번째 스텝(472)에서, 프로세싱이 시작된다. 전술한 바와 같이, 가능한 최적화 중 하나가 더 중요한 인증서는 더 자주 업데이트되는 서로 다른 전송률로 인증서에 관한 정보를 업데이트하는 것이다. 따라서 각각의 업데이트 사이클에서, 덜 중요하며, 스케줄이 짜여지지 않는 인증서에 관한 정보는 RTCA에서부터 RTC 응답자로 전송될 정보들로부터 제외될 수 있다.
스텝(472)의 다음은 스텝(474)이며, 이때 스텝(474)에서, 불필요한 아이템은 남아 있는 데이터에서 삭제된다. 전술한 바와 같이, 상기 불필요한 아이템에는, 전송되는 동일한 교차 정보인 아이템이 있다. 가령, RTCA의 id와 업데이트 시간은 RTCA로부터 RTC로 전송되는 모든 정보에 대해 동일할 수 있다. 스텝(474)의 다음은 스텝(476)이며, 이때 스텝(476)에서, 압축 알고리즘은 남아 있는 정보에 적용된다. 가능한 다양한 압축 알고리즘이 앞서 언급됐다. 스텝(476)이 끝난 후, 프로세싱이 완료된다.
인증서의 유효성을 제공하는 것은 사용자의 요청된 신원(claimed identity)을 증명함에 있어 매우 중요하다. 그러나 일부 경우에 있어, 사용자의 요청되는 신원을 증명하는 것은 특정 물리적인 위치, 또는 지역적인 개체, 또는 서비스에 접근할 수 있는 권한에 연계되어 있다. 신원과 권한의 연계성은 암묵적(implicit)일 수 있으며, 동일한 사용자에 대한 다수의 독립적인 권한을 제어할 필요성이 없을 수 있다. 다른 접근법으로는 각각의 독립적인 권한에 대하여 별도의 권한 상태를 이용하는 것이다. 인증서 상태를 제공하는 것에 추가로 다수의 권한에 대해 명시적(explicit) 권한을 제공하도록 RTCA는 확장될 수 있다.
하나 이상의 권한 인증기관(Authorization Authorities)에 의해, 권한이 사용자에게 허용될 수 있다. 이는 상기 권한 인증기관과 CA가 동일한 개체인 암묵적(implicit) 프로세스일 수 있다. 이러한 경우에 있어서, 그의 신원이 증명되는 사용자는 특정 위치, 또는 지역적 개체, 또는 서비스에 접근할 사용자의 권리를 확립할 수 있다. 그러나 이러한 접근법에 있어 단점은 권한 상태가 인증서, 또는 신원 유효 상태와 동일할 수 있으며, 따라서 모든 암묵적인 권한에 대하여, 단일한 yes/no를 야기한다는 것이다. 이러한 문제는 개인에게 개별 사용자를 위해 독립적인 권한 상태를 제공하기 위해, RTCA를 확장함으로써, 해결될 수 있다.
먼저, CA는 권한 관리 인증기관으로서 RTCA를 증명할 수 있다. 예를 들자면, 본원에서 설명됐던 바와 같이, 이는 CA 인증서 프로세스의 일부로서 수행될 수 있 는 것이 일반적이다. 상기 CA는 CA가 RTCA를 신뢰하며, 인증서 유효성 상태에 추가로 다수의 독립적인 권한 상태를 제공하도록 상기 RTCA에게 권한을 부여한다고 나타내면서 인증서를 디지털 서명할 수 있다. 상기 권한 부여는 RTCA 인증서에서 암묵적(implicity), 또는 명시적(explicity)일 수 있다.
인증서에 따라, 상기 권한 인증기관은 다양한 권한 상태 중 현재 상태를 RTCA에게 알려줄 수 있다. 상기 권한 인증기관은, 각각의 사용자에 대해 인증되는 권한의 유효성 상태가 통지되도록 RTCA를 유지한다. 예를 들어, 권한 인증기관은 (1)RTCA에게 임의의 권한 상태 변경을 온-라인 방식으로 변경이 발생하자마자 알려줄 수 있거나, 또는 (2)상기 RTCA에게 변경을 나타내는 디지털 서명된 메시지를 포스팅(posting)하거나 전송할 수 있다.
적정하게 신뢰되고, 권한이 부여된 CA에 의해 발행되는 디지털 서명된 인증서를 이용하여 개체를 권한 부여된 권한 인증기관으로 검증하는 것이 이뤄질 수 있다. 각각의 권한 인증기관에 의해 제어되는 권한은, 권한이 인증서 자체에(즉, CA에 의해), 또는 RTCA에 위치하는 데이터베이스에 존재하거나, 또는 그 밖의 다른 적정 수단에 의해 존재하도록 하여야 한다.
RTCA가 개별적으로 서명된 인증서 유효성 상태 메시지를 생성할 때, 상기 RTCA는 주어진 인증서에 연계되어 있는 각각의 권한의 상태를 포함할 수 있다. 인증서의 유효성 상태를 제공하기 위한 프로세스와는 별도로, 상기 RTCA는 검증자와, 관심 인증서에 연계되어 있는 각각의 권한의 현재 상태를 포함할 수 있다. 권한 상태에 연계되어 있는 시간 간격은 인증서 유효성 상태에 적용되는 시간 간격과 동일 할 수 있다. 이러한 태양에서, 선-연산되는 다양한 권한 상태는 동일할 수 있고, 인증서 상태 유효성을 위해 사용되는 기법과 동일할 수 있다. 권한 상태가 인증서 상태 유효성과 동일한 디지털 서명된 메시지에 포함될 수 있다.
RTCA는 선-연산되는 권한 유효성 상태를 보호되지 않는 RTC 응답자에게 전송할 수 있다. 다양한 권한 상태를 분산시키는 프로세스는 인증서 상태 유효성에 대해 사용되는 것과 동일할 수 있다. 그 후 응답자는 RTCA 선-연산되는 권한 상태를 저장할 수 있다. 권한 상태 유효성 정보가, 인증서 상태 유효성 정보의 부분으로서 포함되는 경우에 있어서, 그 후, 권한 상태 정보는 응답자에 의해, 단일 응답으로서 저장되거나, 인증서 유효성 정보와 함께 저장될 수 있다.
신뢰인 측이 응답자에게 인증서의 유효성 상태 정보를 요청할 때, 상기 RTC 응답자는 RTCA 선-연산되는 응답을 제공할 수 있으며, 이는 인증서 유효성 상태와 모든 연계되는 권한 상태를 포함한다. 그 후, 상기 신뢰인 측이 선-연산되는 응답(그리고, 적절한 경우, RTCA 인증서)을 검증할 수 있다. 신뢰인 측에 의한 수신된 응답에 관한 프로세싱은, 현재는 임의의 연계되어 있는 권한 상태가 또한 유효하다는 것만 제외하고, 전술한 것과 유사할 수 있다. 권한 상태가 판독되어질 수 있으며, 요청된 접근이 수락될 것인지를 판단하는데 사용될 수 있다. 다수의 명시적인 권한 상태를 제공하도록 확장된 RTC 시스템은, 선-연산되는 OCSP 응답이 권한 유효성 상태뿐 아니라 인증서 유효성 상태 정보를 획득하기 위해 이해될 수 있다는 점만 제외하면, 본원에서 설명되었던 인증서 상태를 제공하기 위한 시스템과 유사할 수 있다.
도 17을 참조하여, 다이어그램(480)은 권한 인증기관의 구현예를 도식하고 있다. 상기 다이어그램(480)은 RTCA(484)에 연결되어 있는 CA(482)를 나타낸다. 본원에서 설명된 바와 같이, 상기 CA(482)가 RTCA(484)에게 정보를 제공한다. 상기 RTCA(484)는 다수의 RTC 응답자(486 ~ 488)에게 연결되어 그리고 정보를 제공할 수 있다.
또한 다이어그램(480)은 권한 정보를 RTCA(484)에게 제공하는 권한 인증기관(492)을 나타낸다. 선택적으로, 상기 CA(482)는 권한 인증기관(492)에 직접 연결되어, 가령, 최초 권한 정보와, 권한 인증기관 인증서와, 그 밖의 다른 적정한 정보를 제공할 수 있다. 본원에서 설명된 바와 같이, 상기 CA(482)와 권한 인증기관(492)은 동일한 개체일 수 있으며, 이는 CA(482)와 권한 인증기관(492) 주변에 도식된 박스(496)에 의해 형상화된다. 상기 다이어그램(480)에서는 나타나지 않았을 지라도, 권한 인증기관(492)을 포함하는, 본원에서 서술되는 시스템이 추가적인 RTCA, 응답자 등을 포함할 수 있다(예를 들어, 도 3 및 그에 해당하는 설명을 참조).
일부 실시예에서, 인증서를 CA(482)로부터 권한 인증기관(492)으로 제공하지 않고, CA(482)는 권한 인증기관 인증서를 RTCA(484)에게 직접 제공할 수 있다. 권한 인증기관 인증서(또는 권한 부여에 관한 그 밖의 다른 증거)가 CA(482)에 의해 발행된 인증서로 제공되거나, 또는 CA(482)에 의해 RTCA(484)로 제공되는 그 밖의 다른 정보에 의해, 제공될 수 있다.
RTC 시스템에 의해, OCSP의 많은 단점들이 해결되면서, 추가적인 최적화가 가능할 수 있다. 특히, 다수의 디지털 서명을 한 번에 처리함으로써, RTCA의 연산 비용이 감소될 수 있다. 전술한 시스템에 대하여, RTCA는 각각의 디지털 인증서의 상태를 서명한다. 이러한 것이 미리 이뤄진다 할지라도, 가능하면 상태 질의가 생성되기 전에 이뤄진다 할지라도, 이러한 프로세스의 연산 비용을 감소시키는 것이 바람직하다. 왜냐하면, 특히 디지털 서명의 생성이 연산 집약적이기 때문이다.
더욱 자세하게 서술하자면, 서명-유효 RTCA (SERTCA: Signature-Efficient Real Time Credentials Authority)가 다수의 인증서의 상태를 하나의 구문(statement)으로 통합하고, 그 후 상기 구문에 서명하고 날짜를 부여하게 하여, 시간의 주어진 지점에서 다수의 인증서의 상태를 인증하기 위해 단일 서명을 사용하게 함으로써 개선되는 점이 제공될 수 있다. 상태가 그렇게 인증된 다수의 인증서는 고정될 수 있거나(즉, 모든 표현이 동일한 개수의 인증서에 관한 상태 정보를 항상 포함한다.), 다양할 수 있다. 단일 구문에서 검증되는 인증서는 또한 다른 구문에서도 검증된다. 가령, 하나의 구문은 주어진 개인에게 속하는 모든 인증서의 유효성 상태를 나타낼 수 있고, 또 하나의 구문이 특정 정수 간격에서 시리얼 넘버를 갖는 모든 인증서의 유효성을 나타낼 수 있다. 동일한 인증서는 양쪽 세트에 모두 속할 수 있고, 따라서 두 개의 별도의 인증된 구문에 속할 수 있다.
주어진 시간 간격에 대한 모든 구문을 인증한 후, 상기 SERTCA는 구문을 하나 이상의 RTC 응답자에게 전송할 수 있고, 이는 구문을 저장하여, 신뢰인 측의 질의를 서비스할 수 있다. 인증서 X에 관한 질의를 수신할 때, RTC 응답자가 X의 유효성 상태를 포함하는 SERTCA-서명된 구문을 회수하여, 상기 구문을 신뢰인 측으로 복귀시킬 수 있다. X의 상태를 인증된 방식으로 알기 위해, 상기 신뢰인 측은 SERTCA 서명을 검증할 수 있으며, X에 관한 정보에 대한 구문을 검색할 수 있다.
물론, SERTCA는 단일 인증서의 상태에 관한 구문을 또한 발행할 수 있으며, 따라서 상기 SERTCA가 단일 인증서에 관하여만 구문을 발행할 경우, 상기 SERTCA는 RTCA와 동일한 정보를 제공할 수 있다. 특정한 때에 특정 SERTCA는 RTCA인 듯 행동할 수 있으며, 나머지 때에는 그렇지 않다(이것은, 예를 들어, 연산 제약 사항과, 필수 사항에 따라 달라진다). 시스템은 RTCA와 SERTCA를 조합할 수 있다.
우선, RTCA를 인증하기 위해 앞서 논의되었던 것과 유사한 방식으로, CA가 SERTCA를 인증한다. RTCA와 마찬가지로, SERTCA는 주어진 조직의 CA와 일체하거나, 그렇지 않을 수 있는 개체이다. 각각의 CA는 자신 고유의 하나 이상의 SERTCA를 제공할 수 있으며, 이때 각각의 SERTCA는 특수 인증서, 즉 SERTCA 인증서를 갖는다. CA가 상기 SERTCA를 신뢰하여, CA의 인증서에 관한 인증서 유효성 정보를 제공하도록 상기 SERTCA에게 권한을 부여하면서, 상기 CA는 SERTCA 인증서에 디지털 서명할 수 있다. 이러한 인증서는 SERTCA 상태를 (가령, 주어진 검증자, 즉 OID 넘버 등에 의해 검증된) 주어진 당사자에게 전달하고, 주어진 검증 키 PK(상기 주어진 당사자는 그에 대응하는 비밀 서명 키를 소유)를 상기 주어진 당사자에게 연결시킬 수 있다.
RTCA와 마찬가지로, CA와 SERTCA가 일체할 경우라도, 상기 CA와 상기 SERTCA가 구별되는 서명 키를 갖고 있는 것이 바람직할 수 있다. 따라서 CA와 SERTCA가 동일한 개체를 나타내든 아니든, 상기 CA(구성요소)는 인증서를 발행하고, 상기 SERTCA(구성요소)는 상기 인증서들을 관리한다(가령, 인증서가 유효한지/철회되었는지/효력 중지 상태인지를 증명). 이러한 경우에 있어서, 상기 CA와 상기 SERTCA가 일치하는 경우라도, 별도의 SERTCA 인증서는 여전히 사용될 수 있다. 일부 실시예에서, 가외성 목적, 또는 다른 목적에 대하여, 동일한 서명 키를 사용하든 안하든 둘 이상을 갖는 것이 바람직할 지라도, 각각의 CA는 단 하나의 SERTCA를 가진다.
RTCA의 경우와 같이, 저장소, 또는 보안실, 또는 보안 하드웨어를 이용하여, SERTCA는 자신의 서명 키를 보호한다. CA는 SERTCA가 인증서의 유효성 상태에 관해 알도록 유지한다. 예를 들어, CA는 (1)인증서 유효성의 임의의 변화를 SERTCA에게 상기 변화가 발생하자마자 온-라인 방식으로, 알려줄 수 있거나, 또는 (2)SERTCA에게 자신의 CRL을 생성됐을 때 전송할 수 있다. 일련의 날짜들, D1, D2,... 중 임의의 날짜 Di에서, 유효성 상태의 현재의 지식을 기반으로(가령, CA의 가장 최근의 CRL을 기반으로) 하며, 임의의 신뢰인 측 리퀘스트에 독립적인 SERTCA는, 눈에 띄는(즉, 아직 만료되지 않은) 각각의 CA 인증서를 처리하고, 인증서들의 유효성 상태에 관한 정보를 연합하고, 각각의 세트에 대해, 세트내의 각각의 인증서 상태를 나타내는 확인서(즉, 인위적으로 선-연산되는 응답)에 디지털 서명함으로써 업데이트를 수행한다. 상기 서명된 확인서는 시간 간격 T를 특정할 수 있다. 일부 실시예에서, 각각의 업데이트에서, 모든 서명된 확인서는 동일한 시간 간격 T를 특정할 수 있으며, 이러한 시간 간격들의 총체는 전체 “시간 라인”을 담당한다. 예를 들어, 각각의 업데이트 날짜 Di에서, 시간 간격은 T=Di+1-Di이며, 이때 Di와 Di+1 중 단 하나가 T의 부분이며, 반면에 나머지 날짜는 시간 간격의 인접부의 부분이다.
예를 들어보면, 샘플 확인서가 형식 SIG-SERTCA( “X:유효; Y:철회; Z:효력중지; 날짜:Di; 다음 날짜:Di+1.” )를 가질 수 있으며, 이때 X, Y, Z는 특정 인증서를 검증하는 정보(가령, 시리얼 넘버)를 나타내고, “유효”, “유효하지 않음”, “철회”는 대응하는 인증서 상태에 대한 인디케이터이다. 인증서 상태에 관한 상기 SERTCA의 현재 지식은 CA의 CRL을 기반으로 하고 있으며, 그 후 각각의 Di는 하나의 CRL의 날짜와 일치할 수 있으며, Di+1은 다음 CRL의 날짜와 일치할 수 있다. 그러나 엄격한 시간 의존도가 필수인 것은 아니다. 가령, SERTCA가 처리하거나, 자신의 확인서를 처리하기 시작하는 날짜는 D1, D2 등일 수 있는 반면에, 확인서내에서 특정되는 시간 간격은 D1', D2 등일 수 있으며, Di와 Di'는 서로 다를 수 있다. 예를 들어, Di는 Di'보다 더 이를 수 있으며, 이러한 경우에 있어서, 상기 확인서의 시간 간격이 시작되기 전에, RTCA는 확인서를 처리하기 시작할 수 있다. 왜냐하면, 상기 SERTCA는 간격 T의 시작부분에서 자신의 프로세싱을 완료하길 바라기 때문이다. 이와 유사하게, CRL이 SERTCA 업데이트에서 사용될 경우, 확인서 시간과 CRL 시간은 역시 서로 다를 수 있다.
따라서 필수적으로, SERTCA는, 주어진 시간 간격 T 동안, 모든 인증서의 상태를 나타내는 디지털 서명을 선-연산한다. 이러한 선-연산은 인증서의 유효성에 관한 임의의 신뢰인 측 요청에 대해 독립적으로 수행될 수 있다. 주어진 시간 간격에서 임의의 상태 질의가 만들어지기 전에, 또는 상기 시간 간격이 시작하기도 전에, 상기 주어진 시간 간격 동안 SERTCA는 서명된 확인서를 선-연산할 수 있다. 인 증서 상태에 관한 SERTCA 서명된 확인서(즉, 인위적으로 선-연산되는 응답)는 표준 OCSP 포맷이거나, 현재의 신뢰인 측 소프트웨어에 호환되는 포맷일 수 있다. 이것은, 예를 들면 이미 위치하고 있는 OCSP 소프트웨어가 현재의 신뢰인 측 소프트웨어에 관하 수정을 최소화하거나 제거하는 경우에, 유용하다. 가령, OCSP 호환을 확실히 하기 위해, 모든 관련 사항, 가령, 디지털 서명 알고리즘, OID 등이 적절하게 선택될 수 있다.
그러나 SERTCA의 문법적으로 올바른 OCSP 응답이 필수적으로 정통 OCSP 응답인 것이 아닐 수 있다, 왜냐하면 상기 SERTCA 응답은 임의의 근원/최초 요청에 답하여 연산되지 않기 때문이다. 필수적으로, 상기 SERTCA가 아직 생성되지 않았고, 절대 생성되지 않을지 모르는 OCSP 요청으로의 OCSP-호환형 응답을 선-연산한다. OCSP 포맷이든 아니든 상기 SERTCA 응답은 인위적으로 선-연산되는 응답이다.
응답을 선-연산한 후, SERTCA는 그 밖의 다른 당사자(party)에게 유효한 응답을 생성할 수 있다. 유효성 상태 질의에 응답하여, SERTCA가 상기 응답을 신뢰인 측에게 복귀시킬 수 있을 지라도, 일부 실시예에서, 상기 SERTCA는 선-연산된 응답을, RTC 응답자에게 제공할 수 있으며, 상기 RTC 응답자는 RTCA와 관련되어 사용되는 앞서 설명된 RTC 응답자와 유사하다.
적합하게 짜여진 방식으로 서명을 RTC 응답자에게 제공함으로써, SERTCA는 RTC 응답자의 서명 처리를 촉진시킬 수 있다. 모든 관련 선-연산되는 응답이 수신됐다고 확신하기 위해, 매 업데이트마다, 상기 RTC 응답자가 수신한 선-연산되는 응답의 총체에 서명하고 날짜를 정함으로써, SERTCA는 RTC 응답자를 추가적인 서명 과 함께 제공할 수 있다. 추가적으로, SERTCA는 RTC 응답자에게 SERTCA 인증서를 전송할 수 있다. 이러한 전송이 매 업데이트마다 발생할 필요가 없으며, 처음에만, 또는 주기를 두고 수행될 수 있다.
충분한 시간 동안, RTC 응답자는 수신된 SERTCA의 인위적으로 선-연산되는 응답을 저장할 수 있다. 일부 실시예에서, 서명이 주어진 시간 간격 T에 관련되어 있을 경우, RTC 응답자는 상기 인위적으로 선-연산되는 응답을 상기 T의 끝부분까지 저장할 수 있다. 일부 실시예에서, 상기 RTC 응답자(특히, SERTCA와 같은 조직에 속하는 응답자들)는 올바른 정보를 갖고 있는지를 체크할 수 있다. 예를 들어, RTC 응답자는, 시간 간격 T에 관한 인위적으로 선-연산되는 응답이 T의 시작 부분(또는 T에 관련하여 다른 적합한 시간)에서 수신되었는지를 검증할 수 있고, 모든 수신되는 SERTCA 서명(그리고, 가능하면 적정 SERTCA 인증서도)을 검증하고, 상기 RTC 응답자가 모든 인증서에 관한 정보를 수신했는지를 검증하며(가령, 기대되는 인증서의 개수만큼, 이미 발행된 인증서에 대한 마지막 전송된 인증서의 개수만큼), 상기 RTC 응답자가 이전에 철회된 것이 확인된 인증서의 유효성에 대한 SERTCA-서명된 확인서를 수신했는지를 검증할 수 있다. 임의의 문제점이 검출될 경우, 상기 RTC 응답자는 그렇다고, SERTCA나 그 밖의 다른 적정 개체에게 알려줄 것이다.
신뢰인 측은 RTC 응답자에게 인증서의 유효성 상태에 대해 질문할 수 있다. 일부 실시예에서, 신뢰인 측은 요청에 대하여 OCSP 포맷을 이용한다. 동일한 인증서상의 상태에 관한 정보가 둘 이상의 구문으로 나타날 경우, 신뢰인 측은 RTC 응답자에게, 상기 구문들 중 어느 것이 더 바람직한지를 지시한다. 예를 들어, SERTCA가 주어진 개인에게 속하는 모든 인증서의 유효성 상태를 나타내는 구문을 제공할 경우뿐 아니라, 특정 정수 구간에 속하는 시리얼 넘버를 갖는 모든 인증서의 유효성 상태를 나타내는 구문을 제공하고, 신뢰인 측이, 개인 I에게 속하는 시리얼 넘버 X를 갖는 인증서의 유효성 상태에 관심을 가질 경우, (a)X에 가까운 시리얼 넘버를 갖는 인증서에 관한 정보를 포함하는 SERTCA-서명된 구문, 또는 (b)I의 또 다른 인증서에 대한 정보를 포함하는 SERTCA-서명된 구문, 또는 (c)매우 짧은 SERTCA-서명된 구문, 또는 (d)X의 상태에 관한 정보를 포함하는 임의의 SERTCA-서명된 구문(즉, 선호도 없이)을 수신하기 위해, 상기 신뢰인 측은 선호도를 나타내는 인디케이터를 제공할 수 있다. 환경에 따라, 이들 중 하나를 선택하는 것이 바람직할 수 있다.
주어진 인증서의 유효성에 관해 질문 받으면, RTC 응답자는 상기 인증서에 대한 정보를 포함하는, SERTCA에 의해 인위적으로 선-연산되는 응답을 메모리로부터 페칭할 수 있다. RTC 응답자는 인위적으로 선-연산되는 응답을 복귀시킬 수 있다. RTC 응답자는 상기 인위적으로 선-연산되는 응답에 서명했던 SERTCA에 대해 또한 적정 인증서를 발송할 수 있다. 신뢰인 측은 SERTCA 인증서를 수신하지 않도록 지시를 제공할 수 있으며, 또는 상기 신뢰인 측이 이미 SERTCA 인증서의 복사본을 가지고 있다고 RTC 응답자는 알아채거나 추측할 수 있다. 동일한 인증서에 관한 정보를 포함하는 다수의 선-연산되는 대답이 있을 경우, RTC 응답자는 신뢰인 측의 선호도에 따라, 또는 지정 알고리즘에 따라, 또는 일부 다른 기준에 따라, 복귀시킬 대답을 고를 수 있다.
신뢰인 측은 상기 수신된 응답을 처리하여 관심 인증서의 유효성 상태를 확신한다. 일부 실시예에서, 응답이 OCSP 포맷으로 존재할 경우, 이러한 처리를 위해, RTC 응답자는 OCSP 소프트웨어를 사용한다. 상기 RTC 응답자는 적정 SERTCA 인증서를 검증할 수 있다. OCSP-호환형 구현의 경우에 있어서, 상기 RTC 응답자는 SERTCA 인증서를 OCSP 응답자 인증서로서 검증할 수 있다. 일부 실시예에서, SERTCA 인증서는 OCSP 응답자 인증서로서 문법적으로 구축될 수 있다.
도 18을 참조하여, 다이어그램(500)은 CA(502)와, SERTCA(504)와, RTC 응답자(506)와 신뢰인 측(508) 간의 데이터의 흐름을 도식하고 있다. 상기 CA(502)는 유효성 정보(가령, CRL)를 SERTCA(504)에게 제공한다. 상기 SERTCA(504)는 유효성 정보를 사용하여, 다수의 다중 인증서용 인위적으로 선-연산되는 응답(516)을 생성할 수 있다. 또한, 상기 SERTCA(504)는 예를 들어 CA(502)에 의해 SERTCA(504)에게 제공되는 자신 고유의 인증서(514)를 갖는다.
신뢰인 측(508)은 신뢰인 측(508)이 RTC 응답자(506)에게 제공하는 OCSP 요청(518)을 생성한다. 이에 응답하여, 상기 RTC 응답자(506)는 상기 SERTCA(504)에 의해 상기 응답자(506)에게 원래 제공되는 다중 인증서용 인위적으로 선-연산되는 응답(516) 중 하나인 다중 인증서용 인위적으로 선-연산되는 응답(522)을 제공한다. 덧붙이자면, 본원에서 설명됐던 바와 같이, 일부 경우에 있어 상기 응답자(506)는 SERTCA 인증서(514)를 신뢰인 측(508)에게 제공한다.
RTCA 시스템에 대하여 전술된 프로세싱이 적용되어, 권한 인증기관을 이용하는 것, 그리고 도 16을 참조하여 설명했던 압축 최적화를 제공하는 것을 포함하여, SERTCA 시스템, 또는 복합 시스템과 함께 사용될 수 있다. 이와 유사하게, SERTCA 시스템에 대하여 전술된 프로세싱이 적용되어, RTCA 시스템, 또는 복합 시스템과 함께 사용될 수 있다.
또 다른 기법, 즉 Batch OCSP가 사용되어, RTCA, 또는 SERTCA 연산 비용이 감소될 수 있다. Batch OCSP는 홀로 사용되거나, 하나 이상의 다른 메커니즘과 함께 조합을 이뤄 사용될 수 있다.
응답에서 사용되는 특정 디지털 서명이 RSA 디지털 서명일 경우, Batch OCSP은 사용될 수 있다. SERTCA는, 다수의 인증서의 상태를 단일 서명으로 인증함으로써, 서명 효율도를 개선하는 반면에, Batch OCSP는, 단일 연산을 이용하여, 다수의 단일-인증서 OCSP 응답을 생성하고, 단일 OCSP 응답의 비용보다 명확히 더 낮은 비용인 응답당 비용(cost per response)을 가짐으로써, 서명 효율도를 개선한다. 가령, 10개의 단일-인증서 OCSP 응답이 개별적으로 생성되는 경우, 대략 비용은, RTCA(또는 종래의 OCSP 응답자)에 대한 10개의 RSA 서명의 비용이다. 전술한 SERTCA 메커니즘에 의해, 10개의 인증서상의 정보를 단일 구문으로 조합함으로써, 하나의 RSA 서명의 경우만큼 비용을 감소시킬 수 있다. 그러나 SERTCA를 사용하는데 따르는 단점은 그에 대응하는 구문이 더 길어진다는 것이다. Batch OCSP는 10개의 구별되는, 단일-인증서용 개별적으로 서명되는 OCSP 응답을 10개의 RSA 서명의 총 비용보다 더 낮은 총 비용(일부 경우에서 대략 RSA 서명 2개의 비용)으로 생성할 수 있다.
Batch OCSP는 Fiat의 Batch RSA 연산을 기반으로 하고 있으며, 다음에서 설 명된다. RSA에 대한 공개 키 PK는 두 개의 정수(N, e)로 이뤄져 있으며, 각각 계수와 검증 지수를 나타낸다. 상기 계수는 두 개의 큰 소수(prime number) p와 q의 곱이며, 상기 계수 N으로부터 구성 소수를 찾는 것의 난이도에 RSA의 보안이 달려 있다. 그에 대응하는 비밀 키 SK는 (N, d)로 구성되어 있고, d는 다음의 속성을 지닌다: N 미만의 모든 양의 정수 b에 대하여, s가 (b^d)mod N과 같을 경우 (b를 d만큼 거듭제곱하고 그 값을 N으로 나머지와 s가 같을 경우), b는 (s^e)mod N의 값이 된다. 다시 말하자면, (e mod N)만큼 정수를 거듭제곱하는 연산은 정수를 (d mod N)만큼 정수를 거듭제곱하는 연산의 역이다.
RSA 디지털 서명의 연산은 b를 획득하기 위해 메시지 m을 포맷(formatting)하고 해시(hashing)하는 것을 포함하며, 그리고 그 후, b를 d만큼 거듭제곱하고 그 결과를 N으로 나눈 나머지를 취함으로써 서명 s를 연산하는 것이 포함된다. 그에 대응하는 검증 절차에 따라, b가 s로부터 연산되며, 이때 s를 e만큼 거듭제곱하고 N으로 나눈 나머지를 취하며, b가 m으로부터 올바르게 산출되었는지를 체크한다. Fiat의 Batch RSA 서명은 다음과 같다. 다수의 변수 b1, ..., bi와 다수의 검증 지수(verification exponent) e1, ..., ei와 그에 대응하는 서명 지수(signing exponent) d1, ..., di를 갖는 서명이 있다고 가정하자. 그 다음에, 정수론 알고리즘(Number-Theoretic Algorithms)을 사용하여, s1을 d1만큼 거듭제곱하고, s2를 d2만큼 거듭제곱하고, ...., si를 di만큼 거듭제곱하고, 이들을 N으로 나눈 나머지를 취하는 것은 i의 개별적인 연산보다 더욱 효율적으로 수행될 수 있다(변수 e1, ..,ei는 다 다르며 특정한 조건을 만족시킨다).
전술한 바와 같이, SERTCA(뿐 아니라 RTCA)는, 디지털 인증서의 유효성 정보를 가리키는 선-연산되는 OCSP 응답상의 서명에 대하여 SERTCA에 의해 사용되는 공개 키를 인증하는 CA에 의해 발행되는 디지털 인증서를 갖는다. 전술한 바와 같이, SERTCA 디지털 인증서는 보안상 묶어 있는 몇 개의 사항들과 함께 CA의 디지털 서명으로 구성되어 있으며, 상기 사항들로는 SN: 상기 인증서 고유의 시리얼 넘버, PK: 상기 SERTCA의 공개 키, ID: 상기 SERTCA의 식별자, D1: 발행일, D2: 만료일 등이 있다. 기호로 나타내자면, C=SIGCA(SERTCA, SN, PK, ID, D1, D2,...)이다. RSA 디지털 서명이 SERTCA에 의해 사용되는 경우에 있어서, 상기 SERTCA의 공개 키 PK는 형식(n,e)를 취하며, 이때 n은 계수이고, e는 검증 지수이며, 상기 인증서는 다음의 형식을 취한다.
C=SIGCA(SERTCA, SN(n,e), ID, D1, D2, ...)이다.
인증되는 방식으로, 상기 RTC 응답자와 신뢰인 측은 SERTCA 인증서로부터 SERTCA 공개 키를 알 수 있다. 그러나 종래의 인증서는 단 하나의 지수 e만을 포함하며, 종래의 인증서는 다수의 구별되는 지수를 사용하는 Batch RSA와 함께 사용하기에 적합하지 않을 수 있다. 검증자(verifier)(RTC 응답자, 또는 신뢰인 측)가 디지털 인증서의 유효성 정보를 인증하는 특정 서명에서 사용되는 검증 지수를 알고 있지 않는 경우, 상기 검증자가 서명을 검증하기 못할 것이다. 다음에서, Batch OCSP내에서 Batch RSA를 이용하여 이러한 문제점을 해결한다.
하나의 접근에서, 종래의 RSA 서명에서와 마찬가지로 상기 SERTCA는 먼저 계 수 n을 생성하고, 상기 SERTCA의 공개 키로서 n을 CA에게 제공한다. 상기 SERTCA는 소수 p와 q로 이루어진 자신의 비밀 키를 보호한다. 그 후, 상기 CA는 SERTCA에게 n으로만 이루어진 공개 키에 대한 디지털 인증서를 발행한다. 예를 들자면, 상기 SERTCA 인증서는 형식 C=SIGCA(SN, n, ID, D1, D2,...)을 취할 수 있다. 그 후, 상기 CA는 SERTCA의 사용자 인증서의 상태를 상기 SERTCA에게 알려준다. 그 후, 상기 SERTCA는 서명 지수 d1, ...,di와, 그에 대응하는 검증 지수 e1, ..., ei를 생성한다. 임의의 신뢰인 측 요청에 독립적으로, 주어진 시간 구간에 대하여, SERTCA는 하나 이상의 인증서의 유효성 상태에 관한 구문을 생성하고, 상기 구문을 크기 i의 배치(batch)로 조합되며, 각각의 배치내에 지수 d1, ..., di를 갖는 Batch RSA를 이용함에 따라, 각각의 구문에 대한 디지털 서명이 생성된다. 그 후, SERTCA가 유효성 상태의 선-연산되는 서명을 보호되지 않는 응답자에게 전송하며, 추가적으로, 응답자, 또는 신뢰인 측이 각각의 구문에 대하여, 지수 ej를 식별하여, 각각의 구문을 검증하기 위해 사용될 수 있는 정보가 포함될 수 있다. 그 다음에 응답자는 SERTCA에 의해 인위적으로 선-연산되는 응답을 저장한다.
신뢰인 측이 응답자에게 유효성 상태 정보에 대항 물을 때, RTC 응답자는 인위적으로 선-연산되는 응답을 갖는 질의로 대답한다. 각각의 응답은 상기 응답뿐 아니라 필요한 경우 상기 SERTCA 인증서를 검증하기에 필요한 검증 지수 ej를 포함한다. 그 후, SERTCA 인증서로부터 얻어지는 계수 n과, 상기 RTC 응답자로부터 얻어지는 검증 지수 ej를 갖는 RSA 검증을 이용하여, 신뢰인 측이 인위적으로 선-연산되는 응답을 검증할 수 있다.
이러한 접근법의 다양한 변형이 또한 가능하다. 예를 들자면, 지수가 임의의 수일 경우(그리고, RSA 서명을 발행하기 전에 어떠한 특수 메시지 포맷도 사용되지 않는 경우), SERTCA 인증서를 형성하는 SERTCA 계수 n을 알고 있는 적(敵)은 적이 n과 e에 관련하는 잘못된 구문의 RSA 서명을 생성할 수 있도록 지수 e를 찾는다. 보안을 개선하기 위해, SERTCA 지수 e1, ..., ei는 미리 고정될 수 있다(그리고 각각의 시간은 응답자에게 유효하게 설정될 필요가 없다.). 특히, 상기 지수는 CA에 의해 서명된 SERTCA 인증서의 부분으로서 특정될 수 있다. 그 후, 상기 SERTCA 인증서는 형식 C=SIGCA(SERTCA, SN,(n, e1, ..., ei), ID, D1, D2, ...)을 취한다.
또한, 신뢰인 측은 검증 지수를 응답자로부터가 아니라, 상기 SERTCA 인증서, 또는 그 밖의 다른 소스로부터도 획득할 수 있다.
상기 응답자, 또는 신뢰인 측은 정보를 명시적으로 나타내기보다는, 어떤 지수 ej가 특정 구문에 대해 사용되었는지를 추론할 수 있는 것이 바람직하다. 예를 들어, j 번째 인증서가 (j mod I)인 시리얼 넘버를 가질 경우, 이러한 추론이 만들어질 수 있다. 그 후, 상기 응답자와 신뢰인 측은 유효성기 검증되는 인증서의 시리얼 넘버로부터 상기 지수의 인덱스 j를 추론할 수 있다.
이러한 접근법에서, SERTCA의 공개키가 한 쌍(n, e)으로 신뢰인 측에게 제공되지 않을 수 있기 때문에, 상기 신뢰인 측 검증 구현은 표준 RSA 서명 검증 패러다임을 따르지 않을 수 있다. 현존하는 신뢰인 측 RSA 구현을 수정하는 비용은 일부 적용 경우에 있어 매우 높을 수 있다. 이는 다음의 대안적 접근에 의해 해결된 다.
두 번째 접근법에서, 먼저 종래의 RSA 서명에서 그러는 것처럼, 상기 SERTCA는 계수 n과, i 검증 지수 e1, ..., ei을 생성하며, 이때 SERTCA는 인증서에 대하여 이들을 CA에게 제공한다. 상기 SERTCA가 n의 소인수 분해를 보호하는 것이 바람직하다. 그 후, CA는 SERTCA i 디지털 인증서를, PK1=(n,e1), PK2=(n,e2), ...,PKi=(n,ei)으로 이루어진 공개키에 대하여 발행한다. 예를 들어, 상기 I SERTCA 인증서는 형식 C1=SIGCA(SERTCA, SN, (n, e1), ID, D1, D2,...), ..., Ci=SIGCA(SERTCA, SN, (n,ei), ID, D1, D2,...)를 취할 수 있다. 그 후, 상기 CA는 SERTCA에게 자신의 사용자 인증서의 상태를 알려준다. 그 후, 그리고 임의의 신뢰인 측 요청에 독립적으로, 상기 SERTCA는 주어진 시간 간격 동안, 하나 이상의 인증서의 유효성 상태에 관한 구문을 생성하고, 상기 구문들을 크기 i의 배치(batch)로 통합하며, 각각의 배치내에 존재하는 지수 e1, ..., ei를 갖는 Batch RSA를 이용하여 각각의 구문에 대한 디지털 서명을 생성한다. 그 후, SERTCA가 유효성 상태의 선-연산되는 서명을 보호되지 않는 응답자에게 전송하며, 이에는 추가로 각각의 구문에 대하여, 응답자, 또는 신뢰인 측이 각각의 구문을 서명하는데 이용되는 지수 ej를 식별할 수 있게 하는 정보가 포함되어 있다. 상기 응답자는 SERTCA 선-연산되는 응답을 저장한다.
신뢰인 측이 응답자에게 유효성 상태 정보에 대해 물을 때, 상기 RTC 응답자는 선-연산되는 응답이 포함되는 질의로 대답한다. 지수 ej로 서명되는 각각의 응 답은, 필요하고 요청될 경우에 j 번째 SERTCA 인증서 Cj를 포함할 수 있다. SERTCA 인증서로부터 획득되는 공개 키(n, ej)를 갖는 RSA 검증을 이용하여, 신뢰인 측은 선-연산되는 대답을 검증한다. 상기 신뢰인 측 검증은 표준 RSA 검증과 문법적으로 동일하다. 왜냐하면, 준-표준 RSA 공개 키(standard-looking RSA public key)가 SERTCA 인증서로부터 획득되어지기 때문이다. 따라서 신뢰인 측에 대하여 표준 RSA 구현에 어떠한 수정도 가해질 필요가 없다. 실제로, 신뢰인 측은 상기 SERTCA가 Batch OCSP를 이용하는 지를 완벽하게 알아차리지 못할 수 있다.
앞서 논의되는 접근법의 여러 다양한 변형이 또한 가능하다. 예를 들자면, 선택하여 CA에게 지수 e1, ..., ej를 제공하는 것보다, 이러한 지수들이 추론되거나, 또는 CA에 의해 미리, 알려지는 것이 낫다. 왜냐하면, 상기 지수들은 시스템의 고정된 매개변수이기 때문이다. 대안적으로, 상기 응답자와 상기 신뢰인 측은, 명시적으로 특정 구문에 대해 사용될 수 있는 지수 ej를 나타내기 보다는, 상기 지수를 추론할 수 있다. 예를 들어, 각각의 배치(batch)에서 유효한 j 번째 인증서가 (j mod i)와 일치하는 시리얼 넘버를 항상 가질 경우, 이러한 추론이 만들어질 수 있다. 그 후, 상기 응답자, 또는 신뢰인 측은 지수의 상기 인덱스 j를 유효성이 검증된 인증서의 시리얼 넘버로부터 간단히 추론해 낼 수 있다.
도 19를 참조하여, 흐음도(600)는, Batch OCSP를 수행하기 위해 상기 SERTCA (또는 RTCA, 또는 OCSP 응답자)를 초기화하는 것에 관련된 스텝들을 도식하고 있다. 상기 CA가 계수 n을 인증하는 첫 번째 스텝(602)에서 프로세싱이 시작된다. 스텝(602)의 다음은 스텝(604)이며, 이때 i 지수 쌍(검증 지수와 서명 지수)이 생 성된다. 하나의 실시예에서, 그 곱이 n인 비밀 소수(prime number) 한 쌍을 이용하여, SERTCA에 의해 상기 지수 쌍이 생성된다. 그러나 또 다른 실시예에서, 스텝(604)에서 다른 개체가 상기 지수 쌍을 생성하도록 하고, 상기 쌍을 생성하기 위하 또 다른 알고리즘을 사용하는 것이 가능하다.
일부 실시예에서, 프로세싱은 스텝(604)이 끝난 후, 완료될 수 있다. 그러나 또 다른 실시예에서, CA는 부가적인 인증서를 포함할 수 있으며, 전술한 바와 같이, CA가 검증 지수 e1, e2, ..., ei를 인증할 수 있다. 하나의 실시예에서, 스텝(606)에 의해 도식되는 바와 같이, 전술한 것처럼, 단일 인증서에서 상기 CA는 i 검증 지수를 인증한다. 또 다른 실시예에서, 스텝(608)에 의해 도식되는 바와 같이, 상기 CA는 (n, ek)의 RSA 스타일의 공개 키를 알려주는 i 개별 인증서를 인증하며, 이때 ek는 i 검증 지수들 중 하나이다.
도 20을 참조하여, 인위적으로 선-연산되는 응답을 생성하는 것에 관련하여, SERTCA (또는 RTCA, 또는 OCSP 응답자)에 의해 수행되는 스텝들을 흐름도(620)에서 도식한다. 본원에서 설명됐던 바와 같이, CA가 유효성 정보를 SERTCA에게 제공하는 첫 번째 스텝(622)에서 프로세싱이 시작한다. 스텝(622)의 다음은 스텝(624)이며, 이때, 서명 지수 d1, d2, ..., di를 이용하여, 상기 SERTCA는 인위적으로 선-연산되는 응답을 생성한다. 스텝(624)의 다음은 스텝(626)이며, 이때 본원에서 설명됐던 것과 유사한 방식으로, SERTCA는 상기 인위적으로 선-연산되는 응답을 RTC 응답자에게 제공한다.
일부 실시예에서, 상기 SERTCA는 부가적인 지수 정보를 RTC 응답자에게 제공 할 수 있다. 이는 도 20의 흐름도(620)에서 나타나는 선택적인 스텝(628)에 의해 형상화된다. 부가적인 지수 정보가 사용되는 하나 이상의 특정 지수의 인증서를 포함하거나, 특정 지수를 위해 인위적으로 선-연산되는 응답이 사용됨을 나타내는 정보를 포함할 수 있다. 물론, 본원에서 설명됐던 바와 같이, 인위적으로 선-연산되는 응답을 위해 사용되는 지수를 결정하는 다른 메커니즘이 존재하여, SERTCA가 상기 정보들을 개별적으로 제공할 필요가 없다. 이와 유사하게, RTC 응답자로의(그리고 궁극적으로는 신뢰인 측으로의) 지수 정보를 연산하기 위한 메커니즘이 존재하여, 지수에 대항 어떤 부가적인 인증서도 별도로 제공될 필요가 없다.
전술된 바와 같이, SERTCA 대신에 RTCA들을 사용할 수 있도록, Batch OCSP 기법이 적용될 수 있고, 종래의 OCSP 체계에 또한 적용될 수 있으며, 이때, 신뢰인 측으로부터 질의를 수신하면 OCSP 응답자는 디지털 서명된 인증서 상태 정보를 연산한다. 특히, OCSP 응답자가 유일한 질의를 수신할 경우, 상기 OCSP 응답자는 개별 RSA 서명된 응답을 생성할 것이고, 상기 OCSP 응답자가 짧은 시간 동안 다수의 질의를 수신할 경우, 상기 OCSP 응답자는 배치 모드(batch mode)에서 모든, 또는 일부 질의에 대답할 수 있다. 이것은 다음에서 설명된다.
먼저, OCSP와 일치하는 방식으로, CA는 OCSP 응답자에게 자신의 사용자 인증서의 상태를 알려준다. 다수의 인증서 상태 질의를 수신하면, 상기 응답자가 Batch RSA를 사용하여, 독립적인 단일 인증서를 연산할 수 있고, 전통적인 OCSP는 각각 지수 ej와 관련된 질의 i에게 응답한다. OCSP 응답자는 거래 지수(correspondent exponent)를 또한 특정할 수 있으며, 또는 CA 서명된 응답자 인증서를 포함할 수 있으며, 상기 인증서는 ej(그리고 적정 RSA 계수 n)가 상기 응답자 서명을 식별하기 위해 사용될 수 있다는 것을 인증한다. 상기 CA는, Batch RSA 서명에 대해, 응답자에 의해 사용되는 RSA 계수 n만을 특정하는 단일 OCSP 응답자 인증서를 OCSP 응답자에게 제공할 수 있다. 예를 들어, 기호로 나타내면,
C=SIGCA(responder, SN, ID, D1, D2, ...)이다.
OCSP 응답자에 의해 사용되는 지수가 고정될 경우, 이것은 적절하며 보안될 수 있다. 또는 상기 CA가 OCSP 응답자에게 응답자가 Batch RSA 서명을 위해 사용할 수 있는 다수의 지수를 특정하는 응답자 인증서를 제공할 수 있다. 예를 들어 기호로 나타내면,
C=SIGCA(응답자, SN, (n, e1, ..., ek), ID, D1, D2, ...)이다.
또는, 상기 CA가 특정 OCSP 응답자에 대해, k개의 구별되는 응답자 인증서를 발행할 수 있으며, 응답자가 Batch RSA 서명을 위해 사용할 수 있는 각각의 지수 중 하나를 발행할 수 있다. 가령, 기호로 나타내면,
C1=SIGCA(응답자, SN, (n, e1), ID, D1, D2, ...), ..., Ck=SIGCA(응답자, sn, (N, ek), ID, D1, D2, ...)이다.
본원에서 서술한 바에 따라, CA/RTCA/응답자/당사자/사용자는 임의의 개체(가령, 사람, 기관, 서버, 장치, 컴퓨터 프로그램, 컴퓨터 파일), 또는 개체의 조합일 수 있다. 인증서는 모든 종류의 인증서를 포함하도록 이해되어야 하며, 특히, 계층적인 인증서(hierarchical certificate)와, 단층적인 인증서(flat certificate)를 포함한다. 예를 들어, U.S. 특허 No. 5,420,927이 본원에서 참조로서 인용된다. 유효성 상태와 상기 유효성 상태의 증명에는, 계층적인 인증서에 대한 유효성 상태와 상기 유효성 상태의 증명이 포함될 수 있다(가령, 인증서들의 사슬에 존재하는 모든 인증서의 유효성 상태와 상기 유효성 상태의 증명을 포함할 수 있다.). 인증서 C의 유효성을 검증하는 것은 C를 발행한 CA에 대한 CA 인증서의 유효성을 검증하는 것을 포함할 뿐 아니라, C의 유효성 상태에 관한 서명된 응답을 제공하는 RTCA/SERTCA에 대한 상기 RTCA/SERTCA 인증서의 유효성을 포함할 수 있다.
적정하게 이뤄지는 경우에 있어, 본원에서 이해되는, 디지털 서명하는 것과, 디지털 서명은 정보에 관한 임의의 적정한 인증서를 포함하는 것이다.
인증서가 지정 사용자에게 지정 키를 묶는 디지털 서명된 문서로서 설명한다 할지라도, (본원에서 참조로서 인용되는) U.S. Patent No. 5,666,416에 따르면, 인증서는 또한 보든 종류의 디지털 서명되는 문서를 포함하는 것으로 이해되어야 한다. 예를 들어, CA 기능을 하는 판매자는, 정가표에 디지털 서명함으로써(가능하다면, 날짜 정보도 함께), 자신의 제어 하에 상기 정가표를 인증할 수 있다. 이러한 인증서의 유효성 상태를 아는 것이 유용할 수 있다. 예를 들어, 판매자는 정가표의 현재의 유효성을 증명하길 원할 수 있다(그리고 상기 현재 유효성의 증명이 나타나지 않을 경우, 정가표에서 지정 가격을 삭제한다.). 따라서 구매자는 정가표 문서의 현재의 유효성을 확신하길 바랄 수 있다. 본원에서 설명되는 시스템이 이를 위하여 사용될 수 있다. 본원에서 설명되는 시스템이 사용되어, 웹 페이지의 현재 유 효성을 증명할 수 있다. 일부 실시예에서, 상기 RTCA/SERTCA에 의해 생성된 현재 유효성의 증명이 페이지 자체와 함께 저장될 수 있다. 이러한 경우에 있어, 저장된 후, 당사자(party)는 컴퓨터 파일을 저장할 것을 고려할 수 있다. 데이터 D를 당사자 X에게 전송하는 것은 D를 유효하게 만드는 것(또는 X가 D를 수신하도록 유발시키는 것)을 포함한다고 이해될 수 있다.
본원에서 설명되는 시스템은, 제한 없이, 컴퓨터에 의해 프로그램되는 일반적인 목적을 포함하는 하드웨어, 또는 소프트웨어, 또는 이들의 조합을 이용하여 구현될 수 있으며, 이에 따라, 전용 하드웨어, 가령, 디지털 서명 프로세싱 하드웨어와의 가능한 조합에서, 본원에서 설명되는 기능성을 제공할 수 있다.

Claims (20)

  1. 디지털 인증서의 유효성에 관한 정보를 제공하는 방법에 있어서, 상기 방법은
    하나의 디지털 인증서 세트에 속하는 다수의 디지털 인증서 각각에 대하여 디지털 인증서 유효성 상태를 규명하는 단계,
    다수의 디지털 인증서들로 구성된 상기 디지털 인증서 세트 중 하나 이상의 서브-세트의 유효성 상태에 관하여, 다수의 인위적으로 선-연산되는 메시지(artificially pre-computed message)를 생성하는 단계로서, 이때, 하나 이상의 메시지가 둘 이상의 디지털 인증서의 유효성 상태를 나타내는 단계, 그리고
    상기 디지털 인증서 세트에 속하는 특정 디지털 인증서에 관한 OCSP 질의에 응답하는 OCSP 포맷 응답을 제공하기 위해, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 단계로서, 이때, 둘 이상의 디지털 인증서에 대하여 하나 이상의 디지털 서명이 OCSP 포맷 응답에 연관되어 사용되는 단계
    를 포함하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  2. 제 1 항에 있어서, 생성하는 단계와 디지털 서명하는 단계는, OCSP 포맷 응답 중 임의의 응답에 의해 대답되는 임의의 OCSP 질의에 앞서 발생하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  3. 제 1 항에 있어서, 상기 디지털 인증서 유효성 상태를 규명하는 단계에는 디지털 인증서에 관한 인증된 정보를 획득하는 단계가 포함됨을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  4. 제 3 항에 있어서, 디지털 인증서에 대하여 인증되는 정보가 개체(entity)에 의해 생성되며, 상기 개체는 또한 상기 인증서를 철회하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  5. 제 3 항에 있어서, 상기 디지털 인증서에 대하여 인증되는 정보는 CRL임을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  6. 제 1 항에 있어서, 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 단계를 포함하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  7. 제 1 항에 있어서, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계 후에, 그 결과물을, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 단계를 더 포함하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  8. 제 7 항에 있어서, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 단계를 더 포함하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  9. 제 8 항에 있어서, 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  10. 제 1 항에 있어서, 다수의 인위적으로 선-연산되는 메시지를 생성하는 단계와, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 단계는 주기적으로 수행됨을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  11. 제 10 항에 있어서, 상기 인위적으로 선-연산되는 메시지는 상기 인위적으로 선-연산되는 메시지가 생성된 때에 대응하는 상기 시간 정보를 포함하는 것을 특징으로 하는 디지털 인증서의 유효성에 관한 정보를 제공하는 방법.
  12. 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체에 있어서, 상기 컴퓨터 소프트웨어는
    디지털 인증서 세트에 속하는 다수의 디지털 인증서 각각에 대하여 디지털 인증서 유효성 상태를 규명하는 실행 코드,
    다수의 디지털 인증서들로 구성된 상기 디지털 인증서 세트 중 하나 이상의 서브-세트의 유효성 상태에 관하여, 다수의 인위적으로 선-연산되는 메시지(artificially pre-computed message)를 생성하는 실행 코드로서, 이때 상기 메시지들 중 하나 이상은 둘 이상의 디지털 인증서의 유효성 상태를 나타내는 실행 코드, 그리고
    상기 디지털 인증서 세트에 속하는 특정 디지털 인증서에 관한 OCSP 질의에 응답하는 OCSP 포맷 응답을 제공하기 위해, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 실행 코드로서, 이때, 둘 이상의 디지털 인증서에 대하여 하나 이상의 디지털 서명이 OCSP 포맷 응답에 연관되어 사용되는 바의 실행코드
    를 포함하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  13. 제 12 항에 있어서, 상기 디지털 인증서 유효성 상태를 규명하는 실행 코드에는 디지털 인증서에 관한 인증된 정보를 획득하는 실행 코드가 포함됨을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  14. 제 13 항에 있어서, 디지털 인증서에 대하여 인증되는 정보가 개체(entity)에 의해 생성되며, 상기 개체는 또한 상기 인증서를 철회하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  15. 제 13 항에 있어서, 상기 디지털 인증서에 대하여 인증되는 정보는 CRL임을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  16. 제 12 항에 있어서, 다수의 인위적으로 선-연산되는 메시지를 생성하는 실행 코드는, 상기 디지털 인증서 세트에 속하는 모든 철회되지 않은 디지털 인증서에 관한 응답을 생성하는 실행 코드를 포함하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  17. 제 12 항에 있어서, 디지털 서명된 인위적으로 선-연산되는 메시지를, 상기 디지털 인증서 세트에 속하는 디지털 인증서의 유효성 상태에 대하여 질의하는 신뢰인 측(relying parties)에 의한 요청을 서비스하는 다수의 응답자에게 발송하는 실행 코드를 더 포함하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  18. 제 17 항에 있어서, 상기 인위적으로 선-연산되는 메시지를 디지털 서명하는 것에 관련하여, 상기 디지털 서명을 검증하기 위해 사용되는 공개 검증 키를 내포하는 상기 응답자가 사용할 수 있는 특수 디지털 인증서를 만드는 실행 코드를 더 포함하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  19. 제 18 항에 있어서, 특수 디지털 인증서를 발행하는 개체는 디지털 인증서 세트에 속하는 인증서를 역시 발행하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
  20. 제 12 항에 있어서, 다수의 인위적으로 선-연산되는 메시지를 생성하고, 상기 인위적으로 선-연산되는 메시지에 디지털 서명하는 실행 코드는 상기 메시지를 주기적으로 생성하고 서명하는 것을 특징으로 하는 디지털 인증서 유효성에 대한 정보를 제공하는 컴퓨터 소프트웨어가 기록된 컴퓨터 판독형 매체.
KR1020067013835A 2004-01-09 2005-01-10 OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials) KR20060123470A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US53566604P 2004-01-09 2004-01-09
US60/535,666 2004-01-09
US53681704P 2004-01-15 2004-01-15
US60/536,817 2004-01-15

Publications (1)

Publication Number Publication Date
KR20060123470A true KR20060123470A (ko) 2006-12-01

Family

ID=34798854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067013835A KR20060123470A (ko) 2004-01-09 2005-01-10 OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials)

Country Status (6)

Country Link
US (2) US7966487B2 (ko)
EP (1) EP1706954B1 (ko)
JP (1) JP4796971B2 (ko)
KR (1) KR20060123470A (ko)
CA (2) CA2872032A1 (ko)
WO (3) WO2005070116A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013108969A1 (ko) * 2012-01-17 2013-07-25 주식회사 인프라웨어 Ocsp를 이용한 웹 어플리케이션 인증 관리 방법 및 그를 이용한 웹 어플리케이션 인증 장치
WO2018151426A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
WO2018151425A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
WO2018151427A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
KR20190114433A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US7822989B2 (en) 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8732457B2 (en) 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US7404080B2 (en) 2001-04-16 2008-07-22 Bjorn Markus Jakobsson Methods and apparatus for efficient computation of one-way chains in cryptographic applications
US8423763B2 (en) * 2002-03-20 2013-04-16 Research In Motion Limited System and method for supporting multiple certificate status providers on a mobile communication device
EP1627488A4 (en) 2003-05-13 2008-06-04 Corestreet Ltd EFFICIENT AND SECURE DATA ACTUALITY SYSTEMS
AU2004251364B9 (en) 2003-06-24 2010-09-23 Assa Abloy Ab Access control
WO2005052752A2 (en) 2003-11-19 2005-06-09 Corestreet, Ltd. Distributed delegated path discovery and validation
US20050154878A1 (en) 2004-01-09 2005-07-14 David Engberg Signature-efficient real time credentials for OCSP and distributed OCSP
WO2005070116A2 (en) 2004-01-09 2005-08-04 Corestreet, Ltd. Communication-efficient real time credentials for ocsp and distributed ocsp
EP1732263A1 (en) * 2005-06-07 2006-12-13 Sony Ericsson Mobile Communications AB Method and apparatus for certificate roll-over
CN100337175C (zh) * 2005-08-12 2007-09-12 华为技术有限公司 移动终端加入域和获取版权对象的方法、系统和相关设备
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CN100448239C (zh) * 2006-02-28 2008-12-31 西安西电捷通无线网络通信有限公司 鉴别服务实体的安全接入协议符合性测试的方法及其系统
US8099603B2 (en) * 2006-05-22 2012-01-17 Corestreet, Ltd. Secure ID checking
US8583917B2 (en) * 2006-11-30 2013-11-12 Red Hat, Inc. Distribution of certification statements into repository
US7814315B2 (en) * 2006-11-30 2010-10-12 Red Hat, Inc. Propagation of certificate revocation information
US8468339B2 (en) * 2006-11-30 2013-06-18 Red Hat, Inc. Efficient security information distribution
KR101273465B1 (ko) * 2007-03-16 2013-06-14 재단법인서울대학교산학협력재단 집합 검증 장치 및 그 방법
KR20080104594A (ko) * 2007-05-28 2008-12-03 삼성전자주식회사 오프라인 장치를 위한 온라인 인증서 검증 장치 및 방법
US8533463B2 (en) * 2007-08-30 2013-09-10 Red Hat, Inc. Reduced computation for generation of certificate revocation information
US7890763B1 (en) * 2007-09-14 2011-02-15 The United States Of America As Represented By The Director, National Security Agency Method of identifying invalid digital signatures involving batch verification
US20100058317A1 (en) * 2008-09-02 2010-03-04 Vasco Data Security, Inc. Method for provisioning trusted software to an electronic device
US8464313B2 (en) * 2008-11-10 2013-06-11 Jeff STOLLMAN Methods and apparatus related to transmission of confidential information to a relying entity
US8549589B2 (en) 2008-11-10 2013-10-01 Jeff STOLLMAN Methods and apparatus for transacting with multiple domains based on a credential
US8635442B2 (en) * 2009-04-28 2014-01-21 Adobe Systems Incorporated System and method for long-term digital signature verification utilizing light weight digital signatures
US9432356B1 (en) 2009-05-05 2016-08-30 Amazon Technologies, Inc. Host identity bootstrapping
WO2010144898A1 (en) * 2009-06-12 2010-12-16 General Instrument Corporation Certificate status information protocol (csip) proxy and responder
US9455992B2 (en) * 2009-06-12 2016-09-27 Microsoft Technology Licensing, Llc Trusted hardware component for distributed systems
US8621204B2 (en) 2009-12-23 2013-12-31 Citrix Systems, Inc. Systems and methods for evaluating and prioritizing responses from multiple OCSP responders
US20110154026A1 (en) * 2009-12-23 2011-06-23 Christofer Edstrom Systems and methods for parallel processing of ocsp requests during ssl handshake
US8627063B2 (en) * 2009-12-23 2014-01-07 Citrix Systems, Inc. Systems and methods for flash crowd control and batching OCSP requests via online certificate status protocol
US20110161663A1 (en) * 2009-12-29 2011-06-30 General Instrument Corporation Intelligent caching for ocsp service optimization
US9118485B2 (en) * 2010-02-26 2015-08-25 Red Hat, Inc. Using an OCSP responder as a CRL distribution point
US9247008B2 (en) * 2010-03-18 2016-01-26 Microsoft Corporation Unified web service discovery
US9178869B2 (en) 2010-04-05 2015-11-03 Google Technology Holdings LLC Locating network resources for an entity based on its digital certificate
US8522031B2 (en) * 2010-05-14 2013-08-27 Force 10 Networks, Inc. Method and apparatus for establishing a trusted and secure relationship between two parties connected to a network
US8566596B2 (en) * 2010-08-24 2013-10-22 Cisco Technology, Inc. Pre-association mechanism to provide detailed description of wireless services
TW201220804A (en) * 2010-11-09 2012-05-16 Chunghwa Telecom Co Ltd comprising the steps of generating change information; transmitting; signing and issuing the latest message; transmitting to each web domain; sending a request message by a user end; and receiving a response message by the user end
US8479008B2 (en) 2010-12-15 2013-07-02 Microsoft Corporation Providing security services on the cloud
US9507859B1 (en) 2011-03-30 2016-11-29 Google Inc. Speculative acquisition of certificate validation information
TWI433558B (zh) * 2011-12-05 2014-04-01 Ind Tech Res Inst 動態調整憑證撤銷清單更新頻率的方法及系統
US9641343B1 (en) 2011-12-20 2017-05-02 Google Inc. Efficient unified certificate revocation lists
US9846773B2 (en) * 2012-12-20 2017-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Technique for enabling a client to provide a server entity
US10110592B2 (en) * 2013-10-09 2018-10-23 Digicert, Inc. Reducing latency for certificate validity messages using private content delivery networks
US9887982B2 (en) * 2013-10-09 2018-02-06 Digicert, Inc. Accelerating OCSP responses via content delivery network collaboration
US20150156194A1 (en) * 2013-12-04 2015-06-04 Symantec Corporation Certificate status delivery through a local endpoint
ES2695245T3 (es) * 2013-12-04 2019-01-02 Telefonica Digital Espana Slu Método implementado por ordenador y un sistema informático para evitar problemas de seguridad en el uso de certificados digitales en la firma de códigos y un producto de programa informático de los mismos
TWI644542B (zh) * 2016-01-29 2018-12-11 中華電信股份有限公司 Pre-signature method
TWI628935B (zh) * 2016-01-29 2018-07-01 中華電信股份有限公司 Request traffic grouping method
TWI646808B (zh) * 2016-01-29 2019-01-01 中華電信股份有限公司 Request traffic prediction method
CN107992728B (zh) * 2016-10-27 2022-05-20 腾讯科技(深圳)有限公司 人脸验证方法及装置
CN109842490B (zh) * 2017-11-28 2022-03-08 广东国盾量子科技有限公司 数字签名生成/发送/验证方法、终端及计算机存储介质
US11336636B2 (en) * 2020-01-31 2022-05-17 Fastly, Inc. Load balancing across certificates and certificate authorities
TWI718033B (zh) * 2020-03-18 2021-02-01 中華電信股份有限公司 線上憑證狀態查詢回應器之系統及方法
US11005849B1 (en) 2020-06-30 2021-05-11 Cyberark Software Ltd. Distributed directory caching techniques for secure and efficient resource access

Family Cites Families (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4309569A (en) 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US4326098A (en) 1980-07-02 1982-04-20 International Business Machines Corporation High security system for electronic signature verification
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US4943707A (en) * 1987-01-06 1990-07-24 Visa International Service Association Transaction approval system
US4881264A (en) 1987-07-30 1989-11-14 Merkle Ralph C Digital signature system and method based on a conventional encryption function
US5005200A (en) 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5214702A (en) 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4944009A (en) 1988-02-25 1990-07-24 Massachusetts Institute Of Technology Pseudo-random sequence generator
US4995081A (en) 1988-03-21 1991-02-19 Leighton Frank T Method and system for personal identification using proofs of legitimacy
US4879747A (en) 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US4888801A (en) 1988-05-02 1989-12-19 Motorola, Inc. Hierarchical key management system
US4944099A (en) * 1988-08-30 1990-07-31 Slingshot Corporation Expandable outsole
US5016274A (en) 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5136647A (en) 1990-08-02 1992-08-04 Bell Communications Research, Inc. Method for secure time-stamping of digital documents
US5136646A (en) 1991-03-08 1992-08-04 Bell Communications Research, Inc. Digital document time-stamping with catenate certificate
US5315657A (en) * 1990-09-28 1994-05-24 Digital Equipment Corporation Compound principals in access control lists
US5396624A (en) * 1990-12-20 1995-03-07 Visa International Service Association Account file for off-line transaction authorization
SE470001B (sv) 1991-09-12 1993-10-18 Televerket Förfarande för identifiering och kryptonyckelutbyte mellan två kommunicerande apparater för krypterad trafik
US5340969A (en) 1991-10-01 1994-08-23 Dresser Industries, Inc. Method and apparatus for approving transaction card based transactions
US5157726A (en) 1991-12-19 1992-10-20 Xerox Corporation Document copy authentication
US5261002A (en) 1992-03-13 1993-11-09 Digital Equipment Corporation Method of issuance and revocation of certificates of authenticity used in public key networks and other systems
US5231666A (en) * 1992-04-20 1993-07-27 International Business Machines Corporation Cryptographic method for updating financial records
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
USRE36918E (en) 1992-04-20 2000-10-17 Certco Llc Fair cryptosystems and methods of use
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
JP2583010B2 (ja) 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
NL9300566A (nl) 1993-03-31 1994-10-17 Nedap Nv Toegangsverleningssysteem met decentrale autorisaties.
US5351302A (en) 1993-05-26 1994-09-27 Leighton Frank T Method for authenticating objects identified by images or other identifying information
WO1995005712A2 (en) 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5432852A (en) 1993-09-29 1995-07-11 Leighton; Frank T. Large provably fast and secure digital signature schemes based on secure hash functions
US5497422A (en) 1993-09-30 1996-03-05 Apple Computer, Inc. Message protection mechanism and graphical user interface therefor
US5371794A (en) 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5450493A (en) 1993-12-29 1995-09-12 At&T Corp. Secure communication method and apparatus
US5434919A (en) 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
NZ279622A (en) 1994-01-13 1998-04-27 Certco Llc Encrypted secure and verifiable communication: cryptographic keys escrowed
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5537475A (en) * 1994-02-01 1996-07-16 Micali; Silvio Efficient digital signature algorithm and use thereof technical field
US5420927B1 (en) * 1994-02-01 1997-02-04 Silvio Micali Method for certifying public keys in a digital signature scheme
US5544322A (en) 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
FR2722596A1 (fr) 1994-07-13 1996-01-19 France Telecom Systeme de controle d'acces limites a des places horaires autorisees et renouvables au moyen d'un support de memorisation portable
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
CA2194475A1 (en) 1994-07-19 1996-02-01 Frank W. Sudia Method for securely using digital signatures in a commercial cryptographic system
US5499296A (en) * 1994-08-22 1996-03-12 Micali; Silvio Natural input encryption and method of use
US5659617A (en) 1994-09-22 1997-08-19 Fischer; Addison M. Method for providing location certificates
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5748738A (en) * 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
EP0723251A3 (en) 1995-01-20 1998-12-30 Tandem Computers Incorporated Method and apparatus for user and security device authentication
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US6134326A (en) 1996-11-18 2000-10-17 Bankers Trust Corporation Simultaneous electronic transactions
US6141750A (en) 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
US6137884A (en) 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US5553145A (en) * 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties
US5677955A (en) 1995-04-07 1997-10-14 Financial Services Technology Consortium Electronic funds transfer instruments
KR19990022451A (ko) 1995-06-05 1999-03-25 피터 씨. 프레운드 다단계 디지털 서명 방법 및 시스템
US5666415A (en) 1995-07-28 1997-09-09 Digital Equipment Corporation Method and apparatus for cryptographic authentication
US5793868A (en) 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US6292893B1 (en) 1995-10-24 2001-09-18 Silvio Micali Certificate revocation system
US5604804A (en) * 1996-04-23 1997-02-18 Micali; Silvio Method for certifying public keys in a digital signature scheme
US5666416A (en) 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6487658B1 (en) 1995-10-02 2002-11-26 Corestreet Security, Ltd. Efficient certificate revocation
US8015597B2 (en) * 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US5717758A (en) 1995-11-02 1998-02-10 Micall; Silvio Witness-based certificate revocation system
US5717757A (en) * 1996-08-29 1998-02-10 Micali; Silvio Certificate issue lists
US7600129B2 (en) 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US7822989B2 (en) 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8732457B2 (en) 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US7353396B2 (en) * 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US5687235A (en) 1995-10-26 1997-11-11 Novell, Inc. Certificate revocation performance optimization
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US5699431A (en) 1995-11-13 1997-12-16 Northern Telecom Limited Method for efficient management of certificate revocation lists and update information
US6026163A (en) 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5774552A (en) * 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US5812670A (en) 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5615269A (en) * 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
US5790665A (en) * 1996-01-17 1998-08-04 Micali; Silvio Anonymous information retrieval system (ARS)
US5666414A (en) 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
US5826262A (en) 1996-03-22 1998-10-20 International Business Machines Corporation Parallel bottom-up construction of radix trees
DE19611632A1 (de) 1996-03-25 1997-10-02 Deutsche Telekom Ag Off-Line-Datenstationen mit virtueller On-Line-Fähigkeit
US5742035A (en) * 1996-04-19 1998-04-21 Kohut; Michael L. Memory aiding device for credit card pin numbers
US6216231B1 (en) * 1996-04-30 2001-04-10 At & T Corp. Specifying security protocols and policy constraints in distributed systems
US5903651A (en) 1996-05-14 1999-05-11 Valicert, Inc. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US5638447A (en) 1996-05-15 1997-06-10 Micali; Silvio Compact digital signatures
US5610982A (en) 1996-05-15 1997-03-11 Micali; Silvio Compact certification with threshold signatures
EP0917781A4 (en) 1996-08-07 2003-08-13 Silvio Micali SIMULTANEOUS ELECTRONIC TRANSACTIONS WITH VISIBLE TRUTH AGENTS
US6502191B1 (en) 1997-02-14 2002-12-31 Tumbleweed Communications Corp. Method and system for binary data firewall delivery
US5790790A (en) * 1996-10-24 1998-08-04 Tumbleweed Software Corporation Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof
US6119137A (en) 1997-01-30 2000-09-12 Tumbleweed Communications Corp. Distributed dynamic document conversion server
US6385655B1 (en) * 1996-10-24 2002-05-07 Tumbleweed Communications Corp. Method and apparatus for delivering documents over an electronic network
US6192407B1 (en) 1996-10-24 2001-02-20 Tumbleweed Communications Corp. Private, trackable URLs for directed document delivery
US5903882A (en) * 1996-12-13 1999-05-11 Certco, Llc Reliance server for electronic transaction system
US20010050990A1 (en) 1997-02-19 2001-12-13 Frank Wells Sudia Method for initiating a stream-oriented encrypted communication
US5982898A (en) 1997-03-07 1999-11-09 At&T Corp. Certification process
US5995625A (en) 1997-03-24 1999-11-30 Certco, Llc Electronic cryptographic packing
US6061448A (en) 1997-04-01 2000-05-09 Tumbleweed Communications Corp. Method and system for dynamic server document encryption
US6044462A (en) 1997-04-02 2000-03-28 Arcanvs Method and apparatus for managing key revocation
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
ATE444614T1 (de) 1997-07-24 2009-10-15 Axway Inc E-mail firewall
US5875894A (en) 1997-09-18 1999-03-02 Stromme; Bonnie S. Combined sandwich holder and place mat
US6651166B1 (en) 1998-04-09 2003-11-18 Tumbleweed Software Corp. Sender driven certification enrollment system
US6397329B1 (en) 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
FR2774833B1 (fr) 1998-02-09 2003-02-21 France Telecom Protocole de controle d'acces entre une cle et une serrure electroniques
US6718470B1 (en) * 1998-06-05 2004-04-06 Entrust Technologies Limited System and method for granting security privilege in a communication system
US6189103B1 (en) * 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6151675A (en) 1998-07-23 2000-11-21 Tumbleweed Software Corporation Method and apparatus for effecting secure document format conversion
US6397197B1 (en) 1998-08-26 2002-05-28 E-Lynxx Corporation Apparatus and method for obtaining lowest bid from information product vendors
US6351812B1 (en) * 1998-09-04 2002-02-26 At&T Corp Method and apparatus for authenticating participants in electronic commerce
JP2000148012A (ja) * 1998-11-12 2000-05-26 Fuji Xerox Co Ltd 認証装置および方法
US6430688B1 (en) * 1998-12-22 2002-08-06 International Business Machines Corporation Architecture for web-based on-line-off-line digital certificate authority
ES2236973T3 (es) 1999-01-28 2005-07-16 International Business Machines Corporation Metodo y sistema de control de acceso electronico.
US6463534B1 (en) 1999-03-26 2002-10-08 Motorola, Inc. Secure wireless electronic-commerce system with wireless network domain
US6671805B1 (en) 1999-06-17 2003-12-30 Ilumin Corporation System and method for document-driven processing of digitally-signed electronic documents
US6883100B1 (en) * 1999-05-10 2005-04-19 Sun Microsystems, Inc. Method and system for dynamic issuance of group certificates
AU6097000A (en) * 1999-07-15 2001-02-05 Frank W Sudia Certificate revocation notification systems
WO2001011843A1 (en) 1999-08-06 2001-02-15 Sudia Frank W Blocked tree authorization and status systems
AU6760900A (en) 1999-08-09 2001-03-05 Frank W Sudia Distributed rule enforcement systems
US6725381B1 (en) 1999-08-31 2004-04-20 Tumbleweed Communications Corp. Solicited authentication of a specific user
US20020029200A1 (en) * 1999-09-10 2002-03-07 Charles Dulin System and method for providing certificate validation and other services
AU764840B2 (en) 1999-09-10 2003-09-04 Charles Dulin System and method for providing certificate validation and other services
AU7991800A (en) 1999-10-04 2001-05-10 Os Crypto, Inc. System and methods for providing verified network sessions with visual confirmation
WO2001031588A2 (en) 1999-10-28 2001-05-03 Brivo Systems, Inc. System and method for providing access to an unattended storage device
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US7340600B1 (en) * 2000-01-14 2008-03-04 Hewlett-Packard Development Company, L.P. Authorization infrastructure based on public key cryptography
US6826609B1 (en) 2000-03-31 2004-11-30 Tumbleweed Communications Corp. Policy enforcement in a secure data file delivery system
US6922776B2 (en) * 2000-05-19 2005-07-26 Networks Associates Technology, Inc. Scalable system and method for management and notification of electronic certificate changes
US6950933B1 (en) * 2000-05-19 2005-09-27 Networks Associates Technology, Inc. Method and system for management and notification of electronic certificate changes
JP2002108209A (ja) * 2000-09-27 2002-04-10 Hitachi Ltd 証明書有効性確認方法
GB0027280D0 (en) * 2000-11-08 2000-12-27 Malcolm Peter An information management system
JP2002163395A (ja) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd 電子証明書有効性確認支援方法とそれを用いる情報処理装置
US6675261B2 (en) * 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
EP1360814B1 (en) 2001-02-06 2007-04-11 Certicom Corp. Mobile certificate distribution in a public key infrastructure
US6970862B2 (en) * 2001-05-31 2005-11-29 Sun Microsystems, Inc. Method and system for answering online certificate status protocol (OCSP) requests without certificate revocation lists (CRL)
JP2003030145A (ja) * 2001-07-16 2003-01-31 Fujitsu Ltd 情報処理方法およびプログラム
US7328344B2 (en) * 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
JP2003150735A (ja) * 2001-11-13 2003-05-23 Hitachi Ltd 電子証明書システム
NL1019722C2 (nl) * 2002-01-09 2003-07-11 Fountain Tech Bv Inrichting en werkwijze voor het verpakken van plaatvormige informatiedragers.
US7165718B2 (en) 2002-01-16 2007-01-23 Pathway Enterprises, Inc. Identification of an individual using a multiple purpose card
NO318842B1 (no) * 2002-03-18 2005-05-09 Telenor Asa Autentisering og tilgangskontroll
AU2003218550A1 (en) * 2002-03-20 2003-09-29 Research In Motion Limited System and method for checking digital certificate status
AU2003228468B2 (en) 2002-04-08 2009-10-01 Assa Abloy Ab Physical access control
JP3908982B2 (ja) * 2002-05-28 2007-04-25 日本電信電話株式会社 CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体
JP4698219B2 (ja) * 2002-07-18 2011-06-08 イーオリジナル インコーポレイテッド 認定された文書の電子的送信、保存および読み出しシステム並びに方法
US7318155B2 (en) * 2002-12-06 2008-01-08 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders
US7058619B2 (en) * 2003-04-21 2006-06-06 International Business Machines Corporation Method, system and computer program product for facilitating digital certificate state change notification
EP1627488A4 (en) 2003-05-13 2008-06-04 Corestreet Ltd EFFICIENT AND SECURE DATA ACTUALITY SYSTEMS
AU2004251364B9 (en) * 2003-06-24 2010-09-23 Assa Abloy Ab Access control
EP1668617B1 (en) * 2003-09-19 2009-12-09 NTT DoCoMo, Inc. Method and apparatus for efficient certificate revocation
WO2005052752A2 (en) * 2003-11-19 2005-06-09 Corestreet, Ltd. Distributed delegated path discovery and validation
US20050154878A1 (en) * 2004-01-09 2005-07-14 David Engberg Signature-efficient real time credentials for OCSP and distributed OCSP
WO2005070116A2 (en) 2004-01-09 2005-08-04 Corestreet, Ltd. Communication-efficient real time credentials for ocsp and distributed ocsp

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013108969A1 (ko) * 2012-01-17 2013-07-25 주식회사 인프라웨어 Ocsp를 이용한 웹 어플리케이션 인증 관리 방법 및 그를 이용한 웹 어플리케이션 인증 장치
KR101323583B1 (ko) * 2012-01-17 2013-10-30 주식회사 인프라웨어 Ocsp를 이용한 웹 어플리케이션 인증 관리 방법 및 그를 이용한 웹 어플리케이션 인증 장치
WO2018151426A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
WO2018151425A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
WO2018151427A1 (ko) * 2017-02-14 2018-08-23 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 pki 기반의 인증을 통해 사용자의 로그인을 대행하는 방법 및 이를 이용한 서버
US10554421B2 (en) 2017-02-14 2020-02-04 Coinplug, Inc. Method for superseding log-in of user through PKI-based authentication by using smart contact and blockchain database, and server employing same
US10659236B2 (en) 2017-02-14 2020-05-19 Coinplug, Inc. Method for superseding log-in of user through PKI-based authentication by using blockchain database of UTXO-based protocol, and server employing same
KR20190114433A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버

Also Published As

Publication number Publication date
CA2551819C (en) 2015-02-24
CA2551819A1 (en) 2005-08-04
US20050154879A1 (en) 2005-07-14
US7966487B2 (en) 2011-06-21
EP1706954A4 (en) 2013-04-24
WO2005070116A2 (en) 2005-08-04
WO2005071877A1 (en) 2005-08-04
JP2007518369A (ja) 2007-07-05
US20050193204A1 (en) 2005-09-01
EP1706954B1 (en) 2018-07-25
WO2005070116A3 (en) 2006-11-30
WO2005067672A3 (en) 2006-11-02
CA2872032A1 (en) 2005-08-04
JP4796971B2 (ja) 2011-10-19
WO2005067672A2 (en) 2005-07-28
EP1706954A1 (en) 2006-10-04

Similar Documents

Publication Publication Date Title
US9654298B2 (en) Signature # efficient real time credentials for OCSP and distributed OCSP
KR20060123470A (ko) OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials)
EP1250774B1 (en) Public key validation service
EP1540881B1 (en) System and method for the transmission, storage and retrieval of authenticated documents
JP3935879B2 (ja) データ供給のためのシステム
AU2009240831B2 (en) Efficient and secure data currentness systems
US6763459B1 (en) Lightweight public key infrastructure employing disposable certificates
US20050114666A1 (en) Blocked tree authorization and status systems
EP0869637A2 (en) Digital certification system
US7058619B2 (en) Method, system and computer program product for facilitating digital certificate state change notification
US10911243B1 (en) Time-based digital signature
JP2009031849A (ja) 電子申請用証明書発行システムおよび電子申請受付システム、並びにそれらの方法およびプログラム
AU2006202855B8 (en) Signature-efficient real time credentials for OCSP and distributed OCSP
EP1206066A2 (en) Method for determining whether past digital signatures were issued by suspended certificates

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid