KR20230084303A - 시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현 - Google Patents

시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현 Download PDF

Info

Publication number
KR20230084303A
KR20230084303A KR1020237015969A KR20237015969A KR20230084303A KR 20230084303 A KR20230084303 A KR 20230084303A KR 1020237015969 A KR1020237015969 A KR 1020237015969A KR 20237015969 A KR20237015969 A KR 20237015969A KR 20230084303 A KR20230084303 A KR 20230084303A
Authority
KR
South Korea
Prior art keywords
certificate
authority
chain
entity
authorities
Prior art date
Application number
KR1020237015969A
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 KR20230084303A publication Critical patent/KR20230084303A/ko

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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/3265Cryptographic 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 chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

인증서 만료를 나타내기 위한 방법(800)은, 루트 인증 기관(310R)으로부터, 루트 디지털 인증서(210R)를 획득하는 것 및 중간 인증 기관들(310N)의 체인을 생성하는 것을 포함한다. 각각의 중간 인증 기관은, 중간 인증 기관에 의해 디지털 방식으로 서명되는 개개의 중간 인증서(210N) 및 중간 인증 기관이 인증서들에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(312)을 포함한다. 개개의 유효성 확인 시간 기간은 체인에서 하위에 있는 각각의 중간 인증 기관의 유효성 확인 시간 기간을 포함한다. 방법은 인증서 폐기 목록(510)을 생성하는 것 및 복수의 최종 엔티티 인증서들(210L)을 생성하는 것을 포함한다. 방법은, 체인의 최하위 중간 인증 기관의 개개의 유효성 확인 시간 기간이 경과한 이후, 인증서 폐기 목록에, 복수의 최종 엔티티 인증서들 중 하나 이상을 추가하는 것을 포함한다.

Description

시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현
[0001] 본 개시내용은 시간 기반의 중간 인증 기관들을 통해 인증서 만료를 나타내는 것에 관련된다.
[0002] 디지털 인증서들은 일반적으로 네트워크를 통해 공개 키의 소유권을 확립하기 위해 사용되는 전자 문서들이다. 일단 공개 키의 소유권이 특정한 유저 또는 엔티티에 대해 확립되면, 공개 키는 유저 또는 엔티티와 안전하게 통신하기 위해 사용된다. 디지털 인증서들은 일반적으로 디지털 인증서의 유효성의 기간을 제한하는 임베딩된 시간 기반의 만료를 갖는다. 유효성의 기간이 만료된 이후, 인증서는 더 이상 유효하지 않다. 이것은, 인증서와 연관되는 공개 키의 소문난 소유자로부터 인증서를 수신하는 각각의 디바이스가 현재의 시간 및 유효성의 기간을 비교하기 위해 신뢰 가능한 클록을 갖는다는 것을 규정한다. 디지털 인증서들은 인증서 폐기 목록의 사용을 통해 그들의 예정된 만료 날짜 이전에 또한 폐기될 수 있다.
[0003] 본 개시내용의 하나의 양태는 시간 기반의 중간 인증 기관들을 통해 인증서 만료를 나타내기 위한 방법을 제공한다. 방법은, 데이터 프로세싱 하드웨어에서, 루트 인증 기관으로부터, 루트 인증 기관에 의해 디지털 방식으로 서명되는 루트 디지털 인증서를 획득하는 것을 포함한다. 방법은, 데이터 프로세싱 하드웨어에 의해, 중간 인증 기관들의 체인을 생성하는 것을 또한 포함한다. 중간 인증 기관들의 체인의 각각의 개개의 중간 인증 기관은 중간 인증 기관 또는 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 바로 상위에 있는 루트 인증 기관에 의해 디지털 방식으로 서명되는 개개의 중간 인증서 및 개개의 중간 인증 기관이 중간 인증서들 및 최종 엔티티 인증서들에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(validation time period)을 포함한다. 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간은, 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 하위에 있는 각각의 중간 인증 기관의 유효성 확인 시간 기간을 포함한다. 방법은, 데이터 프로세싱 하드웨어에 의해, 중간 인증 기관들의 체인에 대한 인증서 폐기 목록을 생성하는 것을 또한 포함한다. 방법은, 데이터 프로세싱 하드웨어에 의해, 중간 인증 기관들의 체인의 최하위 중간 인증 기관으로부터, 복수의 최종 엔티티 인증서들을 생성하는 것을 또한 포함한다. 복수의 최종 엔티티 인증서들의 각각의 최종 엔티티 인증서는 중간 인증 기관들의 체인의 최하위 중간 인증 기관에 의해 디지털 방식으로 서명된다. 방법은, 중간 인증 기관들의 체인의 최하위 중간 인증 기관의 개개의 유효성 확인 시간 기간이 경과한 이후, 데이터 프로세싱 하드웨어에 의해, 인증서 폐기 목록에, 중간 인증 기관들의 체인의 최하위 중간 인증 기관으로부터 생성되는 복수의 최종 엔티티 인증서들 중 하나 이상을 추가하는 것을 또한 포함한다.
[0004] 본 개시내용의 구현예들은 다음의 옵션 사항의 피처들 중 하나 이상을 포함할 수 있다. 일부 구현예들에서 중간 인증 기관들의 체인의 개개의 중간 인증 기관에 의해 디지털 방식으로 서명되는 모든 최종 엔티티 인증서가 인증서 폐기 목록에 추가되었고 현재의 시간이 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간의 끝에 또는 그 이후에 있는 경우, 방법은, 데이터 프로세싱 하드웨어에 의해, 인증서 폐기 목록으로부터 복수의 최종 엔티티 인증서들 각각을 제거하는 것 및 데이터 프로세싱 하드웨어에 의해, 개개의 중간 인증 기관과 연관되는 개개의 중간 인증서를 인증서 폐기 목록에 추가하는 것을 포함한다. 일부 예들에서, 방법은, 중간 인증 기관들의 체인의 개개의 중간 인증 기관과 연관되는 개개의 유효성 확인 시간 기간이 경과한 이후, 데이터 프로세싱 하드웨어에 의해, 개개의 중간 인증 기관과 연관되는 유효성 확인 시간 기간과 동일한 지속 기간을 갖는 유효성 확인 시간 기간과 연관되는 다른 중간 인증 기관을 생성하는 것을 포함한다. 방법은, 데이터 프로세싱 하드웨어에 의해, 개개의 중간 인증 기관을 중간 인증 기관들의 체인의 다른 중간 인증 기관으로 교체하는 것을 또한 포함할 수 있다. 방법은, 개개의 중간 인증 기관을 다른 중간 인증 기관으로 교체한 이후, 데이터 프로세싱 하드웨어에 의해, 다른 중간 인증 기관에 의해 디지털 방식으로 서명되고 개개의 중간 인증 기관에 의해 디지털 방식으로 서명되지 않은 최종 엔티티 인증서를 생성하는 것을 또한 포함할 수 있다.
[0005] 옵션 사항으로, 각각의 유효성 확인 시간 기간은 일, 주, 월, 분기, 또는 연 중 하나와 연관된다. 일부 구현예들에서, 각각의 최종 엔티티 인증서는 만료 시간을 갖지 않는다. 일부 예들에서, 방법은, 데이터 프로세싱 하드웨어에 의해, 복수의 최종 엔티티 인증서들의 개개의 최종 엔티티 인증서가 손상되었다는 것을 결정하는 것 및, 데이터 프로세싱 하드웨어에 의해, 개개의 최종 엔티티 인증서를 인증서 폐기 목록에 추가하는 것을 포함한다.
[0006] 각각의 중간 인증 기관은 공통 씨드 값으로부터 유도되는 고유의 키와 연관될 수 있다. 일부 구현예들에서, 각각의 고유의 키는 키 유도 함수를 사용하여 유도된다. 옵션 사항으로, 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간은, 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 상위의 임의의 중간 인증 기관들의 유효성 확인 시간 기간들보다 더 짧다. 일부 구현예들에서, 방법은, 데이터 프로세싱 하드웨어에 의해, 복수의 최종 엔티티 인증서들의 개개의 최종 엔티티 인증서가 순환되었다는(rotated) 것을 결정하는 것 및, 데이터 프로세싱 하드웨어에 의해, 개개의 최종 엔티티 인증서를 인증서 폐기 목록에 추가하는 것을 더 포함한다.
[0007] 본 개시내용의 다른 양태는 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 제공한다. 메모리 하드웨어는, 데이터 프로세싱 하드웨어 상에서 실행될 때, 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은, 루트 인증 기관으로부터, 루트 인증 기관에 의해 디지털 방식으로 서명되는 루트 디지털 인증서를 획득하는 것을 포함한다. 동작들은 중간 인증 기관들의 체인을 생성하는 것을 또한 포함한다. 중간 인증 기관들의 체인의 각각의 개개의 중간 인증 기관은 중간 인증 기관 또는 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 바로 상위에 있는 루트 인증 기관에 의해 디지털 방식으로 서명되는 개개의 중간 인증서 및 개개의 중간 인증 기관이 중간 인증서들 및 최종 엔티티 인증서들에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(validation time period)을 포함한다. 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간은, 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 하위에 있는 각각의 중간 인증 기관의 유효성 확인 시간 기간을 포함한다. 동작들은 중간 인증 기관들의 체인에 대한 인증서 폐기 목록을 생성하는 것을 또한 포함한다. 동작들은, 중간 인증 기관들의 체인의 최하위 중간 인증 기관으로부터, 복수의 최종 엔티티 인증서들을 생성하는 것을 또한 포함한다. 복수의 최종 엔티티 인증서들의 각각의 최종 엔티티 인증서는 중간 인증 기관들의 체인의 최하위 중간 인증 기관에 의해 디지털 방식으로 서명된다. 동작들은, 중간 인증 기관들의 체인의 최하위 중간 인증 기관의 개개의 유효성 확인 시간 기간이 경과한 이후, 인증서 폐기 목록에, 중간 인증 기관들의 체인의 최하위 중간 인증 기관으로부터 생성되는 복수의 최종 엔티티 인증서들 중 하나 이상을 추가하는 것을 또한 포함한다.
[0008] 이 양태는 다음의 옵션 사항의 피처들 중 하나 이상을 포함할 수 있다. 일부 구현예들에서, 중간 인증 기관들의 체인의 각각의 개개의 중간 인증 기관에 의해 디지털 방식으로 서명되는 모든 최종 엔티티 인증서가 인증서 폐기 목록에 추가되었고 현재의 시간이 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간의 끝에 또는 그 이후에 있는 경우, 동작들은, 인증서 폐기 목록으로부터 복수의 리프(leaf) 인증서들 각각을 제거하는 것 및 개개의 중간 인증 기관과 연관되는 개개의 중간 인증서를 인증서 폐기 목록에 추가하는 것을 포함한다. 일부 예들에서, 동작들은, 중간 인증 기관들의 체인의 개개의 중간 인증 기관과 연관되는 개개의 유효성 확인 시간 기간이 경과한 이후, 개개의 중간 인증 기관과 연관되는 유효성 확인 시간 기간과 동일한 지속 기간을 갖는 유효성 확인 시간 기간과 연관되는 다른 중간 인증 기관을 생성하는 것을 포함한다. 동작들은 개개의 중간 인증 기관을 중간 인증 기관들의 체인의 다른 중간 인증 기관으로 교체하는 것을 또한 포함할 수 있다. 동작들은, 개개의 중간 인증 기관을 다른 중간 인증 기관으로 교체한 이후, 다른 중간 인증 기관에 의해 디지털 방식으로 서명되고 개개의 중간 인증 기관에 의해 디지털 방식으로 서명되지 않은 최종 엔티티 인증서를 생성하는 것을 또한 포함할 수 있다.
[0009] 옵션 사항으로, 각각의 유효성 확인 시간 기간은 일, 주, 월, 분기, 또는 연 중 하나와 연관된다. 일부 구현예들에서, 각각의 최종 엔티티 인증서는 만료 시간을 갖지 않는다. 일부 예들에서, 동작들은 복수의 최종 엔티티 인증서들의 개개의 최종 엔티티 인증서가 손상되었다는 것을 결정하는 것 및 개개의 최종 엔티티 인증서를 인증서 폐기 목록에 추가하는 것을 포함한다.
[0010] 각각의 중간 인증 기관은 공통 씨드 값으로부터 유도되는 고유의 키와 연관될 수 있다. 일부 구현예들에서, 각각의 고유의 키는 키 유도 함수를 사용하여 유도된다. 옵션 사항으로, 개개의 중간 인증 기관의 개개의 유효성 확인 시간 기간은, 중간 인증 기관들의 체인에서 개개의 중간 인증 기관보다 상위의 임의의 중간 인증 기관들의 유효성 확인 시간 기간들보다 더 짧다. 일부 구현예들에서, 방법은 복수의 최종 엔티티 인증서들의 개개의 최종 엔티티 인증서가 회전되었다는 것을 결정하는 것 및 개개의 최종 엔티티 인증서를 인증서 폐기 목록에 추가하는 것을 더 포함한다.
[0011] 본 개시내용의 하나 이상의 구현예들의 세부사항들은 첨부의 도면들 및 하기의 설명에서 기술된다. 다른 양태들, 피처들 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
[0012] 도 1은 인증서 만료를 나타내는 예시적인 시스템의 개략도이다.
[0013] 도 2는 중간 인증 기관들을 사용하는 신뢰의 체인(chain of trust)의 개략도이다.
[0014] 도 3은 시간 기반의 중간 인증 기관들의 체인의 개략도이다.
[0015] 도 4a 내지 도 4c는 시간 기반의 중간 인증 기관들의 예시적인 체인들의 개략도들이다.
[0016] 도 5a 내지 도 5c는 인증서 폐기 목록에 추가되는 및 그로부터 제거되는 인증서들의 개략도들이다.
[0017] 도 6은 키 유도 함수의 파라미터들의 테이블이다.
[0018] 도 7은 시간 기반의 중간 인증 기관들의 체인들의 다수의 인스턴스들에 대한 개략도이다.
[0019] 도 8은 인증서 만료를 나타내는 방법에 대한 동작들의 예시적인 배열의 플로우차트이다.
[0020] 도 9는 본원에서 설명되는 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0021] 다양한 도면들에서 유사한 참조 부호들은 유사한 엘리먼트들을 표시한다.
[0022] 디지털 인증서들(공개 키 인증서들 또는 아이덴티티 인증서들로서 또한 지칭됨)는 일반적으로 공개 키의 소유권을 특정한 엔티티와 암호화 방식으로 연결하기 위해 사용된다. 예를 들면, 유저가 엔티티(예를 들면, 하이퍼텍스트 전송 프로토콜 시큐어(Hypertext Transfer Protocol Secure; HTTPS)를 통한 웹 사이트)와 보안 통신들을 확립하려고 시도하고 있는 경우, 유저는 그 엔티티의 공개 키를 사용하여 통신들을 암호화하는 것을 필요로 할 것이다. 통신들을 암호화할 때 사용되는 공개 키가 유저가 통신하기를 소망하는 엔티티에게 실제로 속하는지를 검증하기 위해, 유저는 공개 키의 엔티티의 소유권을 증명하는 엔티티의 디지털 인증서를 수신할 것이다. 디지털 인증서는 전형적으로 인증 기관에 의해 서명된다. 유저가 인증 기관을 신뢰하는 한, 유저는, 엔티티가 디지털 인증서에 의해 참조되는 공개 키를 소유한다는 것을 신뢰할 수 있다.
[0023] 인증 기관(certificate authority; CA)들은 디지털 인증서들을 발급하고 서명하는 엔티티들이다. 일반적으로, CA들은, CA에 의해 서명되는 디지털 인증서가 적법하다는 것을 클라이언트들이 수용할 만큼 충분한 평판 및 신뢰를 획득한 확립된 엔티티들이다. 전형적으로, 디지털 인증서 신청자는 키 쌍(즉, 개인 키와 공개 키) 및 인증서 서명 요청(certificate signing request; CSR)을 생성한다. CSR은 인증서에 포함될 공개 키 및 다른 정보(예를 들면, 엔티티의 이름 또는 식별자, 도메인 이름 정보, 연락처 정보, 등)를 포함한다. 신청자는 CSR을 신뢰된 CA로 전송한다. CA는 CSR을 수신하고 CSR에 포함되는 정보가 올바르다는 것을 독립적으로 검증한다. CA가 정보를 정확한 것으로 믿는 경우, CA는 신청자의 공개 키 및 다른 식별 정보를 포함하는 디지털 인증서에 (CA들 자체의 개인 키를 사용하여) 서명한다. 그 다음, CA는 서명된 디지털 인증서를 신청자에게 다시 제공한다.
[0024] 써드파티가 인증서의 수신측(recipient)과 안전하게 통신하기를 소망하는 경우, 수신측은 디지털 인증서를 써드파티에게 제시할 수 있다. 써드파티는 CA의 공개 키를 통해 CA의 서명을 확인하기 위해 디지털 인증서를 사용할 수 있다. 써드파티는, 신청자가 디지털 인증서에서 나열되는 공개 키와 연관되는 개인 키의 소유권을 갖는다는 것 및 디지털 인증서가 서명된 이후 수정되지 않았다는 것을 또한 확인할 수 있다. 써드파티는, 이제, 디지털 인증서에 의해 제공되는 공개 키가, 써드파티가 통신하기를 소망하는 엔티티에게 속한다는 것을 신뢰할 수 있다.
[0025] 신뢰된 CA들은 일반적으로 루트 인증서로 지칭되는 것을 발행한다. 이 루트 인증서는, 그 자신의 개인 키를 사용하여 CA에 의해 자체 서명되고 CA의 공개 키를 공개적으로 제공하는 디지털 인증서이다. 루트 인증서를 사용하여, 써드파티들은 루트 인증서와 동일한 개인 키를 사용하여 서명되는 CA에 의해 발급되는 임의의 인증서를 검증할 수 있다. 루트 인증서들의 노출을 제한하기 위해, 중간 CA들은 루트 CA에 의해 인증서를 할당받을 수 있고 이들 중간 CA들은, 결국에는, 최종 엔티티 인증서들(리프 인증서들로서 또한 지칭됨)을 엔티티들에게 발급할 수 있다. 즉, 하기에서 더욱 상세하게 설명되는 바와 같이, 루트 CA 및 하나 이상의 중간 CA들은 CA들의 "체인"을 형성할 수 있는데, 체인의 마지막 중간 CA는 최종 엔티티 인증서들을 최종 엔티티들에게 발급한다. 최종 엔티티 인증서의 유효성을 확인하기를 소망하는 당사자는 루트 CA가 도달될 때까지 체인을 따라 위로 올라갈 것이다.
[0026] 디지털 인증서들은 전형적으로 만료 시간 또는 유효성의 기간을 가지고 실시된다. 예를 들면, 디지털 인증서는 자신의 유효성의 기간의 시작 지점 및 자신의 유효성의 기간의 종료 지점(즉, 그것의 만료 지점)을 포함할 수 있다. 유효성의 기간이 종료된 이후, 디지털 인증서는 더 이상 유효하지 않으며 써드파티들은 개개의 공개 키의 소유권의 증거로서 인증서를 더 이상 수용하여서는 안 된다. 유효한 동안, 필요성에 의한 유효성의 기간들은 수신 당사자(즉, 디지털 인증서를 수신하였고 그것을 인증하기를 소망하는 당사자)가 현재의 시간에 대한 신뢰 가능한 액세스를 가질 것을 요구한다. 그러나, 디지털 인증서의 유효성을 확인하기를 소망하는 일부 디바이스들은 현재의 시간에 액세스하지 못할 수 있어서(예를 들면, 스위치들 또는 네트워크 컨트롤러들과 같은 일부 네트워크 디바이스들은 클록들을 가지지 않거나 또는 정확한 클록들을 가지지 않음), 이들 상황들에서, 특히 짧은 유효성의 기간들을 갖는 인증서들(즉, 빈번하게 순환된 디지털 인증서들)의 경우, 유효성의 기간을 신뢰 가능하지 않게 만들 수 있다.
[0027] 디지털 인증서들을 무효화하기 위한 다른 방식은 인증서 폐기 목록(certificate revocation list; CRL)을 발행하는 것에 의한다. 전형적으로, 이 목록은, 디지털 인증서들을, 그들의 예정된 만료 날짜 이전에 폐기하기 위해서만 사용된다. 예를 들면, 디지털 인증서가 손상된 것으로서 공지되어 있는 경우, 비록 디지털 인증서의 유효성의 기간이 아직 만료되지 않았더라도, 디지털 인증서는 CRL에 추가될 수 있다. 디지털 인증서의 유효성을 확인할 때, 당사자는, 현재의 시간을 참조하는 것에 의해 유효성의 기간이 만료되지 않았다는 것을 보장하는 것에 더하여, 인증서를 발급했던 CA에 의해 발행되는 CRL에 그 인증서가 나열되어 있지 않다는 것을 또한 체크할 것이다. 따라서, CRL은, 디지털 인증서들의 유효성을 결정하기 위한 효과적인 방식인 현재의 시간에 대한 신뢰 가능한 액세스가 없는 디바이스들을 허용하기 위해 만료(또는 매우 긴 만료)를 갖지 않는 인증서들을 폐기하기 위해 사용될 수 있다. 그러나, 그러한 CRL은 한계 없이 증가할 것이고, 결국에는 너무 커서 효과적이지 않게 될 것이다.
[0028] 본원에서의 구현예들은 인증서들의 만료 또는 클라이언트 디바이스의 클록에 의존하지 않고 빈번하게 순환된 디지털 인증서들(본원에서 단지 "인증서들"로서 또한 지칭됨)의 효율적인 폐기를 제공하는 디지털 인증서 관리 시스템을 대상으로 한다. 시스템은, 각각이 개개의 유효성 확인 시간 기간과 연관되는 또는 개개의 유효성 확인 시간 기간을 포함하는 시간 기반의 중간 인증 기관(CA)들의 체인을 포함한다. 중간 CA들의 체인 및 개개의 유효성 확인 시간 기간들은 중간 CA들의 체인에 의해 발급되는 인증서들에 만료 시간을 인코딩한다. 개개의 유효성 확인 시간 기간들에 기초하여, 중간 CA들의 체인에 의해 발급되는 디지털 인증서들은 인증서 폐기 목록(CRL)에 추가된다. 시스템은, 인증서 또는 CA가 손상될 때 또는 인증서들이 순환될 때(즉, 더 새로운 인증서에 의해 교체됨) 적절한 때에 인증서들을 CRL에 추가할 수 있다. 일단 시스템이 개개의 중간 CA에 의해 발급되는 모든 디지털 인증서를 CRL에 추가하면, 시스템은 그 중간 CA에게 발급되는 디지털 인증서를 폐기할 수 있고 개개의 중간 CA에 의해 발급되는 모든 인증서들의 CRL을 정리할(prune) 수 있고, 따라서, 인증서들 모두가 CRL의 과도한 성장 없이 폐기된 상태로 유지되는 것을 보장할 수 있다.
[0029] 도 1을 참조하면, 일부 구현예들에서, 예시적인 디지털 인증서 관리 시스템(100)은 원격 시스템(140)을 포함한다. 원격 시스템(140)은 컴퓨팅 리소스들(144)을 포함하는 확장 가능한/탄성적인 컴퓨팅 리소스들(142)(예를 들면, 데이터 프로세싱 하드웨어) 및/또는 스토리지 리소스들(146)(예를 들면, 메모리 하드웨어)을 구비하는 다수의 컴퓨터들 또는 분산형 시스템(예를 들면, 클라우드 환경)일 수 있다.
[0030] 원격 시스템(140)은 루트 인증서(210, 210R)(예를 들면, X.509 인증서)를 획득하도록 구성된다. 예를 들면, 원격 시스템(140)은 독립적인 루트 인증 기관(310, 310R)으로부터 루트 인증서(210R)를 수신한다. 대안적으로, 원격 시스템(140)은 루트 인증 기관(310R)을 포함하고 루트 인증서(210R) 그 자체를 생성한다. 루트 CA(310R)는 루트 CA(310R)에 의해 소유되는 공개 키(220R)를 사용하여 루트 인증서(210R)를 디지털 방식으로 서명한다. 즉, 공개 키 암호 기법에서 널리 공지되는 바와 같이, 루트 CA(310R)만이 공개 키(220R)와 연관되는 개인 키(도시되지 않음)의 소유권을 갖는다. 원격 시스템(140)은 중간 CA들(310, 310Na-n)의 체인을 생성한다. 체인의 각각의 중간 CA(310N)는 중간 CA들(310N)의 체인에서 대응하는 중간 CA(310N)보다 바로 상위에 있는 중간 CA(310N)에 의해 디지털 방식으로 서명되는 개개의 중간 인증서(210, 210Na-n)를 포함하거나, 또는 이들과 연관된다. 원격 시스템(140)은 인증서들(210)에 서명하기 위해 임의의 적절한 서명 알고리즘을 사용할 수 있다. 체인에서 최상위에 있는 중간 CA(310N)의 개개의 중간 인증서(210N)는 루트 CA(310R)에 의해 서명되고, 따라서 신뢰의 체인을 확립한다. 체인의 최하위 중간 CA(즉, 주어진 예에서 중간 CA(310Nc))는, 예를 들면, 네트워크(20, 20a)를 통해 최종 엔티티(30)에게 최종 엔티티 인증서들(210L)(예를 들면, X.509 인증서들)을 발급한다. 써드파티, 예컨대 유저(12)가 유저 디바이스(10)를 통해 최종 엔티티(30)와 통신하기를 소망하는 경우, 최종 엔티티(30)는 (예를 들면, 네트워크(20b)를 통해) 최종 엔티티 인증서(210L)를 유저 디바이스(10)에 제공한다. 즉, 중간 CA들(310N)의 체인의 최하위 중간 CA(310N)는 하나 이상의 최종 엔티티 인증서들(210L)을 생성한다. 각각의 생성된 최종 엔티티 인증서(210L)는 중간 CA들(310N)의 체인의 최하위 중간 CA(310N)에 의해 디지털 방식으로 서명된다. 일부 예들에서, 각각의 최종 엔티티 인증서(210L)는 만료를 포함하지 않는다. 다른 예들에서, 각각의 최종 엔티티 인증서(210L)는 최대 또는 매우 긴 만료 시간 길이/지속 기간(예를 들면, 1년 이상)을 포함한다.
[0031] 이제 도 2를 참조하면, 원격 시스템은 체인에서 바로 상위의 중간 CA(310N)의 공개 키(220N)를 사용하여 체인의 각각의 인증서(210)에 서명하는 것에 의해 중간 인증서들(310N) 사이에 신뢰의 체인(200)을 확립한다. 여기서, 루트 인증서(210R)는 루트 CA의 공개 키(220R), 루트 CA의 식별 정보(identification; ID)(230R), 및 루트 CA의 서명(240R)을 포함한다. 루트 CA 서명(240R)은 루트 CA 공개 키(220R)와 연관되는 개인 키(도시되지 않음)에 의해 서명된다.
[0032] 루트 CA(310R)는 루트 인증서(210R)를 유지하고, 중간 인증서(210Na)를 체인의 제1 중간 CA(310Na)에게 발급한다. 이 인증서는 루트 CA ID(230R) 및 루트 CA 서명(240R)(루트 인증서(210R)의 루트 CA 서명(240R)과 동일한 개인 키에 의해 서명됨)을 포함한다. 중간 인증서(210Na)는 제1 중간 CA(310N)의 ID(230Na) 및 제1 중간 CA(310Na)의 공개 키(220Na)를 또한 포함한다. 이 인증서는 자신의 공개 키(220Na)의 제1 중간 CA의 소유권을 확립한다.
[0033] 체인을 따라 계속 올라가면, 제1 중간 CA(310Na)는 다른 중간 인증서(210Nb)를 제2 중간 CA(310Nb)에게 발급한다. 이 중간 인증서(210Nb)는 제1 중간 CA(310Na)의 ID(230Na) 및 서명(240Na)을 포함한다. 중간 인증서(210Nb)는 제2 중간 CA(310Nb)의 공개 키(220Nb) 및 ID(230Nb)를 또한 포함한다. 이 체인은, 최종 중간 CA(310Nn)가 자신의 ID(230Nn) 및 서명(240Nn)을 포함하는 최종 엔티티 인증서(310L)를 엔티티(30)에 제공할 때까지 임의의 길이에 대해 계속된다. 최종 엔티티 인증서는 엔티티(30)의 ID(230E) 및 공개 키(220E)를 또한 포함한다. 이들 링크된 인증서들(210)은, 써드파티가 루트 기관(310R)까지 거슬러 올라가는 내내 공개 키(220E)의 엔티티의 소유권의 유효성을 확인하는 것을 허용하는 신뢰의 체인을 제공한다.
[0034] 도 1을 다시 참조하면, 체인의 각각의 중간 CA(310N)는, 대응하는 중간 CA(310N)가 디지털 인증서들(210N, 210L)에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(312, 312)을 또한 포함한다. 즉, 각각의 중간 CA(310N)는 시간 기반이고 각각의 중간 CA(310N)에 대한 유효성 확인 시간 기간(312)은, 대응하는 중간 CA(310N)가 인증서들(210)을 발급하도록 허용되는 시간들의 범위를 확립한다. 예를 들면, 체인의 마지막 중간 CA(310N)(즉, 주어진 예에서는 310Nc)에 대한 유효성 확인 시간 기간(312)은, 대응하는 중간 CA(310N)가 최종 엔티티 인증서들(210L)을 발급하도록 허용되는 시간들의 범위를 확립한다. 만료 기간이 경과한 때를 결정하기 위해 디바이스가 클록에 액세스하는 것을 요구하는 디지털 인증서(210)에 할당되는 만료 기간과는 대조적으로, 유효성 확인 시간 기간(312)은 중간 CA(310N)와 연관되고, 그에 의해, 유효성 확인 시간 기간(312) 이후 체인의 어떠한 디지털 인증서들(210N)도 개개의 중간 CA(310N)에 의해 디지털 방식으로 서명되지 않았다는 것을 표시한다.
[0035] 이제 도 3을 참조하면, 중간 CA들(310N)의 체인(300)은 예시적인 유효성 확인 시간 기간들(312a-e)을 포함한다. 여기서, 체인은 최상부(top)에서 루트 CA(310R)를 포함하고 그 다음에는 옵션 사항의 스위치 CA(310S)를 포함한다. 스위치 CA(310S)는 연관된 유효성 확인 시간 기간을 가지지 않을 수 있고, 대신, 루트 CA(310R)로부터 다른 중간 CA들(310N)로 권한을 위임할 수 있다. 스위치 CA(310S) 아래에는 각각 2020년의 유효성 확인 시간 기간(312a1) 및 2021년의 유효성 확인 시간 기간(312a2)을 갖는 두 개의 중간 CA들(310Na1, 310Na2)이 있다. 체인에서 다음에는, Q1 및 Q2의 유효성 확인 시간 기간들(312b1, 312b2)을 각각 갖는 두 개의 중간 CA들(310b1, 310b2)이 있다. 체인에서 다음에는, 1월 및 2월의 유효성 확인 시간 기간들(312c1, 312c2)을 각각 갖는 두 개의 중간 CA들(310c1, 310c2)이 있다. 체인 아래로 계속하면, 1주차(Week 1) 및 2주차(Week 2)의 유효성 확인 시간 기간들(312d1, 312d2)을 각각 갖는 두 개의 중간 CA들(310d1, 310d2)이 있다. 마지막으로, 체인의 마지막에는, 1일차(Day 1) 및 2일차(Day 2)의 유효성 확인 시간 기간들(312d1, 312d2)을 각각 갖는 두 개의 중간 CA들(310d1, 310d2)이 있다.
[0036] 이들 중간 CA들(310) 각각은 개개의 중간 CA(310)와 연관되는 유효성 확인 시간 기간(312) 내의 시간의 기간 동안에만 인증서들(210N, 210L)을 발급할 것이다. 예를 들면, 중간 CA(310Ne1)는 2020년 1월 1일의 24 시간 동안만 인증서들(210L)을 발급할 수 있다. 일단 2020년 1월 2일이 되면, 유효성 확인 시간 기간(312e1)은 종료될 것이고 중간 CA(310Ne2)에 대한 유효성 확인 시간 기간(312e2)이 시작된다. 마찬가지로, 2020년 1월 1일부터 2020년 1월 7일까지의 시간 기간 동안, 중간 CA(310Nd1)("1주차")는 인증서들(210N)을 발급할 수 있고, 한편, 2020년 1월 8일부터 2020년 1월 14일까지, 중간 CA(310Nd2)("2주차")가 인증서들(210N)을 발급할 수 있다. 일부 구현예들에서, 각각의 중간 CA(310N)의 개개의 유효성 확인 시간 기간(312)은 중간 CA들(310N)의 체인에서 개개의 중간 CA(310N)보다 상위의 임의의 중간 CA들(310N)의 유효성 확인 시간 기간들(312)보다 더 짧다. 예를 들면, "1월" 중간 CA(310NC1)에 대한 유효성 확인 시간 기간(312)(즉, 1 개월)은 체인에서 상위의 중간 CA들(310N) 둘 모두(즉, Q1 중간 CA(310Nb1) 및 2020 중간 CA(310Na1))의 유효성 확인 시간 기간(312)보다 더 짧다. 즉, 중간 CA들(310N)의 체인이 내려감에 따라, 유효성 확인 시간 기간(312)은 점점 더 짧아진다.
[0037] 이제 도 4a 내지 도 4c를 참조하면, 일부 예들에서, 중간 CA들(310N)의 단일의 체인만이 시간적으로 임의의 지점에서 활성이다. 도 4a의 체인(400a)은 2020년 1월 1일의 날짜에서의 활성 체인을 예시한다. 활성 중간 CA(310N)만이 인증서들(210)을 발급할 수 있다. 여기서, 루트 CA(310R)는 인증서(210NS)를 스위치 CA(310S)에 제공하는데, 스위치 CA(310S)는 인증서(201Na)를 중간 CA(310Na1)에 제공하고, 중간 CA(310Na1)는 인증서(210Nb)를 중간 CA(310Nb1)에 제공하고, 중간 CA(310Nb1)는, 결국에는, 인증서(210Nc)를 중간 CA(310Nc1)에 제공한다. 유사하게, 중간 CA(310Nc1)는 인증서(210Nd1)를 중간 CA(310Nd1)에 제공하는데, 중간 CA(310Nd1)는, 결국에는, 인증서(210Ne1)를 중간 CA(310Ne1)에 제공한다.
[0038] 이 예에서 중간 CA(310Ne1)(즉, 1일차)가 체인의 "저부"이기 때문에, 이 중간 CA(310Ne1)는 최종 엔티티 인증서들(210L)을 요청 엔티티들(30)에 제공한다. 그러나, 유효성 확인 시간 기간들(312)의 임의의 세분성에서 임의의 개수의 중간 CA들(310N)이 포함될 수 있다. 여기서, 유효성 확인 시간 기간들(312)은 1 년, 1 분기, 1 개월, 1 주, 및 1 일을 포함한다. 추가적으로 또는 대안적으로, 달력 날짜와 정렬되는 1 시간 또는 10년 또는 시간의 다른 유한한 기간들(예를 들면, 10 시간, 100 시간, 1000 시간, 등)과 같은 임의의 다른 시간 기간들이 사용될 수 있다.
[0039] 도 4a의 예를 계속하면, 도 4b는 2020년 1월 2일(즉, 도 4a의 날짜로부터 하루 이후)의 날짜에서의 활성 체인(400b)을 예시한다. 일부 구현예들에서, 중간 CA들(310N)의 체인의 개개의 중간 CA(310N)와 연관되는 개개의 유효성 확인 시간 기간(312)이 경과한 이후, 원격 시스템은 개개의 중간 CA(310N)와 연관되는 유효성 확인 시간 기간(312)과 동일한 지속 기간을 갖는 유효성 확인 시간 기간(312)과 연관되는 다른 중간 CA(310N)를 생성한다. 그러나, 새로운 유효성 확인 시간 기간(312)은 원래의 유효성 확인 시간 기간(312)이 경과한 이후의 시간의 기간을 포괄한다. 원격 시스템(140)은 개개의 중간 CA(310B)를 중간 CA들(310N)의 체인의 다른 중간 CA(310N)로 교체한다.
[0040] 이 경우, 중간 CA(310Ne1)와 연관되는 유효성 확인 시간 기간(312)이 경과했기 때문에(즉, "1일차" 또는 2020년 1월 1일), 활성 체인은 1일차 중간 CA(310Ne1)를 2일차 중간 CA(310Ne2)로 대체하였다. 1주차 중간 CA(310Nd1)는 2일차 중간 CA(310Ne2)에게 중간 인증서(210Ne2)를 발급하고 이 유효성 확인 시간 기간(312) 동안(즉, 2020년 1월 2일 동안), 2일차 중간 CA(310Ne2)는 1일차 중간 CA(310Ne1) 대신 최종 엔티티 인증서들(210L)을 발급한다. 다시 말하면, 일부 구현예들에서, 개개의 중간 CA(310N)(예를 들면, 1일차 중간 CA(310Ne1))를 다른 중간 CA(310N)(예를 들면, 2일차 중간 CA(310Ne2))로 교체한 이후, 원격 시스템(140)은 다른 중간 CA(310N)에 의해 디지털 방식으로 서명되는 그리고 개개의 중간 CA(310N)에 의해 디지털 방식으로 서명되지 않은 최종 엔티티 인증서(210L)를 생성한다. 즉, 2일차 중간 CA(310Ne2)는 최종 엔티티 인증서들(210L)을 발급하기 시작하고, 한편 1일차 중간 CA(310Ne1)는 최종 엔티티 인증서들(210L)을 더 이상 발급하지 않는다.
[0041] 여전히 다른 예에서, 도 4c는 2020년 1월 8일(즉, 도 4a의 날짜로부터 7일 이후)의 날짜에서의 활성 체인(400c)을 예시한다. 이제, 1주차 중간 CA(310Nd1)와 연관되는 유효성 확인 시간 기간(312)이 경과하였고, 1월 중간 인증 기관(310Nc1)은 새로운 중간 인증서(210Nd2)를 2주차 중간 CA(310Nd2)에게 발급하였다. 마찬가지로, 2주차 중간 CA(310Nd2)는 새로운 1일차 중간 CA(310Ne3)에게 새로운 인증서(210Ne3)를 발급한다. 2주차 중간 CA(310Nd2)는 2020년 1월 8일부터 2020년 1월 14일까지 시간 기간 동안 인증서들(210N)을 발급할 것이고, 한편 1일차 중간 CA(310Ne3)는 2020년 1월 8일 그 날짜 동안 최종 엔티티 인증서들(210L)을 발급할 것이다.
[0042] 도 1을 다시 참조하면, 원격 시스템(140)은 인증서 폐기 목록(CRL)(510)을 생성한다. 주어진 예에서, 시스템(100)이 중간 CA들(310N)(즉, 도 1의 중간 CA(310Na)) 체인의 최상부 레벨에서 단일의 집성 CRL(510)을 제공하지만, 대안적으로 각각의 중간 CA(310N)는 그 자신의 개개의 CRL(510)을 포함할 수 있다. CRL(510)은 시스템(100)이 발급하고 후속하여 폐기한 각각의 인증서(210N, 210L)의 목록을 포함한다.
[0043] 이제 도 5a 내지 도 5c를 참조하면, 중간 CA들(310N)의 체인의 최하위 중간 CA(310N)의 개개의 유효성 확인 시간 기간(312)이 경과한 이후, 원격 시스템(140)은 중간 CA들(310N)의 체인의 최하위 중간 CA(310N)로부터 생성되는 최종 엔티티 인증서들(210L) 중 하나 이상을 CRL(510)에 추가할 수 있다. 즉, 일반적으로, 인증서들(210N, 210L)은, 인증서를 발급한 중간 CA(310)와 연관되는 유효성 확인 시간 기간(312)이 지났거나 또는 경과한 이후의 임의의 지점에서 CRL(510)에 추가될 수 있다. 따라서, 원격 시스템(140)은 인증서들 그 자체들 내에 기록되는 만료 시간 또는 클라이언트 디바이스들의 클록들에 의존하지 않으면서 디지털 인증서들(210)을 효율적으로 폐기한다.
[0044] 특히, 인증서들(210N, 210L)이 CRL(510)에 추가되어야만 하는 특정한 지점이 없으며, 실제로 타이밍은 크게 다를 수 있다. 일부 예들에서, 원격 시스템(140)은 개개의 유효성 확인 시간 기간(312)이 경과하기 이전에 인증서(210)를 CRL(510)에 추가한다. 예를 들면, 인증서(210) 또는 발급 CA(310)가 손상된 경우(예를 들면, 개인 키 노출), 원격 시스템(140)은 인증서(210)를 조기에(즉, 유효성의 기간(312)이 경과하기 이전에) 폐기할 수 있다. 여기서, 원격 시스템(140)은 개개의 최종 엔티티 인증서(210L)가 손상되었다는 것을 결정하고 개개의 최종 엔티티 인증서(210L)를 CRL(510)에 즉시 추가한다.
[0045] 다른 한편으로, 원격 시스템(140)은, 인증서(210)를 CRL(510)에 추가하기 이전에, 유효성 확인 시간 기간(312)이 경과한 이후 임의의 양의 시간을 대기할 수 있다. 예를 들면, 원격 시스템(140)은, 서비스 중단이 없다는 것을 보장하기 위해, 원래의 인증서(210)를 폐기하기 이전에 교체 인증서(210)(즉, 더 나중의 발급 날짜를 갖는 인증서(210))가 제자리에 있을 때까지(즉, 인증서(210)가 성공적으로 순환됨) 대기한다. 따라서, 심지어 개개의 중간 CA(210)와 연관되는 유효성 확인 시간 기간(312)이 지난 이후에도, 그 개개의 중간 CA(310)에 의해 발급되는 각각의 인증서(210)가 폐기되기 이전에는 약간의 시간이 있을 수 있다.
[0046] 도 5a의 예시적인 뷰(500a)에서, 1일차 중간 CA(310Ne1)는 그것의 유효성 확인 시간 기간(312) 동안 여섯 개의 최종 엔티티 인증서들(210L)을 발급하였다. 이 지점에서, 1일차 중간 CA(310Ne1)에 대한 유효성 확인 시간 기간(312)은 경과하였고 원격 시스템(140)은 여섯 개의 최종 엔티티 인증서들(210L) 중 네 개를 CRL(510)에 추가하였다(즉, 최종 엔티티 인증서들(210La, 210Lc, 210Le, 210Lf)). 그러나, 1일차 중간 CA(310Ne1)에 의해 발급되는 두 개의 최종 엔티티 인증서들(210Lb, 210Ld)은 폐기되지 않은 상태로 남아 있다. 이제 도 5b의 예시적인 뷰(500b)를 참조하면, 시간적으로 이 지점에서, 원격 시스템(140)은 1일차 중간 CA(310Ne1)에 의해 발급되는 모두 여섯 개의 인증서들(210)을 CRL(510)에 추가하였다. 따라서, CRL(510)은 1일차 중간 CA(310Ne1)에 의해 발급되는 인증서들(210)에 기초하여 총 여섯 개의 엔트리들을 포함한다.
[0047] 도 5c의 예시적인 뷰(500c)에서, 원격 시스템(140)은, 일부 구현예들에서, 1일차 중간 CA(310Ne1)에 의해 발급되는 최종 엔티티 인증서들(210L) 각각을 CRL(510)로부터 제거하는 것 및 1일차 중간 CA(310Ne1)와 연관되는 개개의 중간 인증서(210Ne1)를 CRL(510)에 추가하는 것에 의해 CRL(510)을 정리한다. 즉, 중간 CA들의 체인(210)의 개개의 중간 CA(310N)에 의해 디지털 방식으로 서명되는 모든 최종 엔티티 인증서(210L)가 CRL(510)에 추가되었고 현재의 시간이 개개의 중간 CA(310N)의 개개의 유효성 확인 시간 기간(312)의 끝에 또는 그 이후에 있는 경우(즉, 개개의 중간 CA(310N)가 어떠한 새로운 인증서들(210)도 발급할 수 없음), 원격 시스템(140)은 개개의 중간 CA(310)에 의해 발급되는 인증서들(210)의 CRL(510) 내의 모든 엔트리들을 개개의 중간 CA(310)의 인증서(210N)로 교체할 수 있다. 달리 말하면, 일단 원격 시스템(140)이 CRL(510)에 중간 CA(310N)를 추가하면, 계층 구조에서 더 낮은 모든 인증서들(210)은 CRL(510)로부터 정리될 수 있다. 이 프로세스가 중간 CA들(310)의 체인 상방까지 그것의 방식대로 작동함에 따라, 이것은 CRL(510)의 사이즈를 크게 감소시킨다. 도시되는 예에서, 2020년이 끝난 이후, 전체 연도 동안 잠재적으로 발급되는 수천 또는 수백만 개의 인증서들(210)을 나열하는 대신, CRL(510)은 2020 중간 CA(310Na1)에게 발급되는 인증서의 단일의 엔트리까지 대신 접철(collapsed) 또는 압축될 수 있다. CA(310)에게 발급되는 인증서(210)를 추가하는 것은 신뢰의 체인을 파괴하고 따라서 그 CA에 의해 발급되는 모든 인증서들(210)은 즉시 폐기된다는 것을 유의해야만 한다. 따라서, 일반적으로 CA의 인증서(210)는, 개개의 CA(310)에 의해 발급되는 모든 인증서들(210)이, 달리 행할 이유가 있지 않은 한, 이미 폐기될 때까지 CRL(510)에 추가되지 않는다(즉, CA(310)가 손상된 경우, 유효성 확인 시간 기간(312)의 상태에 관계없이 그것의 인증서들(210) 모두를 폐기하는 것이 바람직할 수 있음).
[0048] 이제 도 6을 참조하면, 디지털 인증서 관리 시스템(100)은 각각의 생성된 중간 인증 기관(310N)에 대해 고유의 키(220N)(예를 들면, 공개 키 및 개인 키)를 생성한다. 최하위 중간 CA(310N)에 대한 유효성 확인 시간 기간(312)이 하루이고 체인의 최상위 CA(310N)에 대한 유효성 확인 시간 기간(312)이 1년인 예에서(도 3), 디지털 인증서 관리 시스템(100)은 매년 434 개의 키들(즉, 365일 + 52주 + 12 개월 + 4 분기 + 1년)을 생성, 저장, 및 분배해야만 하는데, 각각의 키는, 그 개개의 중간 CA(310N)가 임의의 인증서들(210)을 발급하기 이전에 개개의 중간 CA(310N)로 제공된다.
[0049] 키 관리 오버헤드를 감소시키기 위해, 일부 구현예들에서, 각각의 중간 CA(310N)는 공통 씨드 값으로부터 유도되는 고유의 키(220N)와 연관된다. 일부 예들에서, 각각의 고유의 키(220N)는 키 유도 함수(key derivation function; KDF)(710)(도 7)를 사용하여 유도된다. KDF는 마스터 키(720)(도 7)와 같은 단일의 비밀 값으로부터 하나 이상의 비밀 키들을 유도하는 암호 함수이다. 예를 들면, KDF(710)는, 입력으로서 비밀 바이트 문자열(즉, 마스터 키(720)) 및 키 고유의 바이트 문자열을 받아들이는 원 스텝 키 유도(one-step key derivation)에 기초한다.
[0050] 옵션 사항으로, 키 고유의 바이트 문자열은 결정론적으로(deterministically) 인코딩된다. 일부 예들에서, 개개의 중간 CA(310N)에 대한 키 고유의 바이트 문자열은, 개개의 중간 CA(310N)까지의 체인 하방으로의 인코딩된 경로 및 경로에서의 다수의 단계들(예를 들면, 비트들)을 포함한다. 키 고유의 바이트 문자열은 키 목적 및 다른 컨텍스트와 같은 다른 정보를 포함할 수 있다. 테이블(600)은 중간 CA들(310N)의 체인에 대한 예시적인 키 고유의 바이트 문자열 정보를 제공한다. 테이블(600)은 라벨(610) 열, 경로(620) 열, 및 인코딩된 경로(630) 열을 포함한다. 라벨(610)은 개개의 중간 CA(310N)에 대한 식별자(예를 들면, 스위치, 2020, Q1, 1월, 1주차, 1일차, 등)를 표시한다. 경로(620)는 체인의 최상부로부터 개개의 중간 CA(310N)까지의 중간 CA들(310N)의 체인의 각각의 중간 CA(310N)를 표시한다. 예를 들면, "1월" 중간 CA(310N)는 2020, Q1, 및 1월을 포함하는 경로를 갖는다. 마찬가지로 "1일차" 중간 CA(310N)는 2020, Q1, 1월, 1주차, 및 1일차를 포함하는 경로를 갖는다.
[0051] 인코딩된 경로(630)는, 경로(620) 내의 중간 CA들(310N)의 수에 의존하는 경로(620)의 경로 길이(632)를 포함한다. 인코딩된 경로(630)는 경로(620)의 경로 인코딩(634)을 또한 포함한다. 예를 들면, 중간 CA(310N) "Q1"의 인코딩된 경로(630)는 [2]의 경로 길이(632)(그 이유는 대응하는 경로(620)가 2020 및 Q1을 포함하기 때문임) 및 (연도에 대한) [2020] 및 (제1 분기에 대한) [1]의 경로 인코딩(634)을 구비한다. 유사하게, 1주차는 [4](2020, Q1, 1월, 1주차)의 경로 길이(632) 및 (2020년, 첫 번째 분기, 첫 번째 달, 첫 번째 주에 대한) [2020] [1] [1] [1]의 경로 인코딩(634)을 갖는 인코딩된 경로(630)를 갖는다. 다른 예(도시되지 않음)에서, 2021년 4월 9일을 포괄하는 유효성 확인 시간 기간(312)을 갖는 중간 CA(310N)의 인코딩된 경로(630)는 [5]의 경로 길이(632) 및 2021년, 2021년의 두 번째 분기, 두 번째 분기의 첫 번째 달, 그 달의 두 번째 주, 그 주의 두 번째 날에 대한 [2021] [2] [1] [2] [2]의 경로 인코딩(634)을 포함한다.
[0052] 각각의 인코딩된 부분(즉, 괄호들 안의 각각의 부분)은 하나 이상의 바이트들(예를 들면, 빅 엔디안(big-endian) 정수)로서 인코딩될 수 있다. 원격 시스템(140)은 각각의 중간 CA(310N)에 대한 고유의 키를 생성하기 위해 인코딩된 경로(630) 및 비밀 키를 KDF(710)에게 제공한다. 키들을 결정론적으로 유도하는 다른 수단들이 또한 고려된다. 예를 들면, 원격 시스템(140)은 키 계층 구조 모델을 사용하여 키 비트들을 생성하고 키 비트들을 각각의 중간 CA(310N)에 대한 키 유도 키로 분할한다. 키 유도 함수는 임의의 종류의 서명 알고리즘들(예컨대, 타원 곡선, RSA, 등)을 지원할 수 있다. 원격 시스템(140)이 생성하는 각각의 키(220N)는 동일한 비밀 키가 주어지면 완전히 결정론적일 수 있다. 즉, 원격 시스템은(140), 동일한 비밀 키를 제공받으면, 각각의 중간 CA(130N)에 대해 동일한 키들(220N)을 생성할 수 있다.
[0053] 이제 도 7을 참조하면, 일부 구현예들에서, 원격 시스템(140)은 중간 CA들(310N)의 체인의 다수의 인스턴스들(730, 730a-n)을 실행한다. 다수의 인스턴스들은 추가적인 중복(고장의 경우), 증가된 부하 성능, 및 다른 이익들을 제공할 수 있다. 그러나, 각각의 인스턴스는, 발급된 인증서들(210)을 검증하는 유저 디바이스(10) 또는 다른 엔티티가 임의의 이용 가능한 인스턴스(730)를 사용할 수 있도록 각각의 중간 CA(310N)에 대해 동일한 키들을 생성해야만 한다. 일부 예들에서, KDF(710)가 키들(220N)을 결정론적으로 생성하기 때문에, 키들(220N)의 분배 및 동기화는 크게 단순화된다. 여기서, 원격 시스템은 각각의 인스턴스(730)의 KDF(710)에 비밀 키(720)를 공유한다. 각각의 인스턴스가 동일한 비밀 키(720)와 함께 동일한 KDF(710)를 사용하기 때문에, 각각의 중간 CA(310N)로 분배되는 생성된 키들(220)은 동일하다. 따라서, 원격 시스템은 각각의 인스턴스(730)를 동기화하기 위해 단일의 비밀(마스터 키(720))만을 공유하여 동기화한다.
[0054] 도 8은 시간 기반의 중간 인증 기관들을 사용하여 인증서 만료를 나타내기 위한 방법(800)에 대한 동작들의 예시적인 배열의 플로우차트이다. 방법(800)은, 동작(802)에서, 데이터 프로세싱 하드웨어(144)에서, 루트 인증 기관(310R)으로부터, 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 루트 디지털 인증서(210R)를 획득하는 것을 포함한다. 동작(804)에서, 방법(800)은, 데이터 프로세싱 하드웨어(144)에 의해, 중간 인증 기관들(310N)의 체인을 생성하는 것을 포함한다. 중간 인증 기관들(310N)의 체인의 각각의 개개의 중간 인증 기관(310N)은, 중간 인증 기관(310N) 또는 중간 인증 기관들(310N)의 체인에서 개개의 중간 인증 기관(310N)보다 바로 상위에 있는 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 개개의 중간 인증서(210N)를 포함한다. 각각의 개개의 중간 인증 기관(310N)은 개개의 중간 인증 기관(310N)이 중간 인증서들(210N) 및 최종 엔티티 인증서들(210L)에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(312)을 또한 포함한다. 개개의 중간 인증 기관(310N)의 개개의 유효성 확인 시간 기간(312)은, 중간 인증 기관들(310N)의 체인에서 개개의 중간 인증 기관(310N)보다 하위에 있는 각각의 중간 인증 기관(310N)의 유효성 확인 시간 기간(312)을 포함한다.
[0055] 방법(800)은, 동작(806)에서, 데이터 프로세싱 하드웨어(144)에 의해, 중간 인증 기관들(310N)의 체인에 대한 인증서 폐기 목록(510)을 생성하는 것을 포함한다. 동작(808)에서, 방법(800)은, 데이터 프로세싱 하드웨어(144)에 의해, 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)으로부터, 복수의 최종 엔티티 인증서들(210L)을 생성하는 것을 포함한다. 복수의 최종 엔티티 인증서들(210L)의 각각의 최종 엔티티 인증서(210L)는 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)에 의해 디지털 방식으로 서명된다. 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)의 개개의 유효성 확인 시간 기간(312)이 경과한 이후, 방법(800)은, 동작(810)에서, 데이터 프로세싱 하드웨어(144)에 의해, 인증서 폐기 목록(510)에, 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)으로부터 생성되는 복수의 최종 엔티티 인증서들(210L) 중 하나 이상을 추가하는 것을 포함한다.
[0056] 도 9는 이 문서에서 설명되는 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스(900)의 개략도이다. 컴퓨팅 디바이스(900)는, 랩탑들, 데스크탑들, 워크스테이션들, 개인 휴대형 정보 단말들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적합한 컴퓨터들과 같은, 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에서 도시되는 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 단지 예시에 불과한 것으로 의도되며, 이 문서에서 설명되는 및/또는 청구되는 본 발명의 구현예들을 제한하도록 의도되는 것은 아니다.
[0057] 컴퓨팅 디바이스(900)는 프로세서(910), 메모리(920), 스토리지 디바이스(930), 메모리(920) 및 고속 확장 포트들(950)에 연결되는 고속 인터페이스/컨트롤러(940), 및 저속 버스(970) 및 스토리지 디바이스(930)에 연결되는 저속 인터페이스/컨트롤러(960)를 포함한다. 컴포넌트들(910, 920, 930, 940, 950, 및 960) 각각은 다양한 버스들을 사용하여 인터커넥트되며, 공통 마더보드 상에 또는 적절히 다른 방식들로 장착될 수 있다. 프로세서(910)는, 외부 입력/출력 디바이스, 예컨대 고속 인터페이스(940)에 커플링되는 디스플레이(980) 상에서 그래픽 유저 인터페이스(graphical user interface; GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(920)에 또는 스토리지 디바이스(930) 상에 저장되는 명령어들을 비롯하여, 컴퓨팅 디바이스(900) 내에서의 실행을 위한 명령어들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 프로세서들 및/또는 다수의 버스들이, 다수의 메모리들 및 다수의 타입들의 메모리와 함께, 적절히, 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(900)이 연결될 수 있는데, 각각의 디바이스는 필요한 동작들의 일부들을 (예를 들면, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템으로서) 제공한다.
[0058] 메모리(920)는 정보를 컴퓨팅 디바이스(900) 내에서 비일시적으로 저장한다. 메모리(920)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들), 또는 불휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(920)는 컴퓨팅 디바이스(900)에 의한 사용을 위해 프로그램들(예를 들면, 명령어들의 시퀀스들) 또는 데이터(예를 들면, 프로그램 상태 정보)를 일시적 또는 영구적 기반으로 저장하기 위해 사용되는 물리적 디바이스들일 수 있다. 불휘발성 메모리의 예들은, 플래시 메모리 및 리드 온리 메모리(read-only memory; ROM)/프로그래머블 리드 온리 메모리(programmable read-only memory; PROM)/소거 가능한 프로그래머블 리드 온리 메모리(erasable programmable read-only memory; EPROM)/전자적으로 소거 가능한 프로그래머블 리드 온리 메모리(electronically erasable programmable read-only memory; EEPROM)(예를 들면, 부트 프로그램들과 같은 펌웨어를 위해 전형적으로 사용됨)를 포함하지만, 그러나 이들로 제한되지는 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM), 정적 랜덤 액세스 메모리(static random access memory; SRAM), 상변화 메모리(phase change memory; PCM)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 그러나 이들로 제한되지는 않는다.
[0059] 스토리지 디바이스(930)는 컴퓨팅 디바이스(900)에 대한 대용량 스토리지를 제공할 수 있다. 일부 구현예들에서, 스토리지 디바이스(930)는 컴퓨터 판독 가능 매체이다. 여러 가지 상이한 구현예들에서, 스토리지 디바이스(930)는, 스토리지 영역 네트워크 또는 다른 구성들에서의 디바이스들을 비롯하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 디바이스들의 어레이일 수 있다. 추가적인 구현예들에서, 컴퓨터 프로그램 제품은 정보 캐리어에서 유형적으로 구체화된다. 컴퓨터 프로그램 제품은, 실행될 때, 상기에서 설명되는 것들과 같은, 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 캐리어는 컴퓨터 또는 머신 판독 가능 매체, 예컨대 메모리(920), 스토리지 디바이스(930), 또는 프로세서(910) 상의 메모리이다.
[0060] 고속 컨트롤러(940)는 컴퓨팅 디바이스(900)에 대한 대역폭 집약적인 동작들을 관리하고, 한편, 저속 컨트롤러(960)는 덜 대역폭 집약적인 동작들을 관리한다. 직무들의 그러한 할당은 단지에 예시에 불과하다. 일부 구현예들에서, 고속 컨트롤러(940)는 메모리(920), 디스플레이(980)(예를 들면, 그래픽스 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(950)에 커플링된다. 일부 구현예들에서, 저속 컨트롤러(960)는 스토리지 디바이스(930) 및 저속 확장 포트(990)에 커플링된다. 다양한 통신 포트들(예를 들면, USB, 블루투스(Bluetooth), 이더넷(Ethernet), 무선 이더넷)을 포함할 수 있는 저속 확장 포트(990)는 하나 이상의 입력/출력 디바이스들, 예컨대, 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에, 예를 들면, 네트워크 어댑터를 통해, 커플링될 수 있다.
[0061] 컴퓨팅 디바이스(900)는, 도면에서 도시되는 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들면, 그것은, 표준 서버(900a)로서 또는 그러한 서버들(900a)의 그룹에서 다수 회, 랩탑 컴퓨터(900b)로서, 또는 랙 서버 시스템(rack server system; 900c)의 일부로서 구현될 수 있다.
[0062] 본원에서 설명되는 시스템들 및 기술들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로부(circuitry), 집적 회로부, 특별히 설계된 ASIC(application specific integrated circuit; 주문형 집적 회로)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들에서 실현될 수 있다. 이들 다양한 구현예들은, 스토리지 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하도록, 그리고 그들로 데이터 및 명령어들을 송신하도록 커플링되는, 특수 용도 또는 일반 용도일 수 있는, 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행 가능한 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있다.
[0063] 소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스로 하여금 태스크를 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱", 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션들은, 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지 보수 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들, 및 게이밍 애플리케이션들을 포함하지만, 그러나 이들로 제한되지는 않는다.
[0064] 이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로서 또한 공지되어 있음)은 프로그래머블 프로세서에 대한 머신 명령어들을 포함하며, 하이 레벨의 절차적 및/또는 객체 지향 프로그래밍 언어에서, 및/또는 어셈블리/기계어에서 구현될 수 있다. 본원에서 사용되는 바와 같이, 용어들 "머신 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는, 머신 명령어들을 머신 판독 가능 신호로서 수신하는 머신 판독 가능 매체를 비롯하여, 머신 명령어들 및/또는 데이터를 프로그래머블 프로세서로 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들면, 자기 디스크들, 광학 디스크들, 메모리, 프로그래머블 로직 디바이스(Programmable Logic Device; PLD)들)를 지칭한다. 용어 "머신 판독 가능 신호"는 머신 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
[0065] 본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하는 것 및 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는, 데이터 프로세싱 하드웨어로서 또한 지칭되는, 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수 목적 로직 회로부, 예를 들면, FPGA(field programmable gate array; 필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예로서, 범용 및 특수 목적 둘 모두의 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스들, 예를 들면, 자기, 광자기 디스크(magneto optical disk)들, 또는 광학 디스크들을 포함할 것이거나, 또는 이들로부터 데이터를 수신하도록 또는 이들로 데이터를 전송하도록, 또는 둘 모두를 하도록 동작 가능하게 커플링될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내장 하드 디스크들 또는 착탈식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 비롯한, 모든 형태들의 불휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보완될 수 있거나, 또는 그것에 통합될 수 있다.
[0066] 유저와의 상호 작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태들은, 정보를 유저에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들면, CRT(cathode ray tube; 음극선관), LCD(liquid crystal display; 액정 디스플레이) 모니터, 또는 터치스크린 및 옵션 사항으로, 유저가 컴퓨터에게 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들면, 마우스 또는 트랙볼을 구비하는 컴퓨터 상에서 구현될 수 있다. 유저와의 상호 작용을 제공하기 위해 다른 종류들의 디바이스들이 역시 사용될 수 있다; 예를 들면, 유저에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고; 유저로부터의 입력은 음향, 음성, 또는 촉각 입력을 비롯하여, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 유저에 의해 사용되는 디바이스로 문서들을 전송하는 것 및 그들로부터 문서들을 수신하는 것에 의해; 예를 들면, 웹 브라우저로부터 수신되는 요청들에 응답하여 웹페이지들을 유저의 클라이언트 디바이스 상의 웹 브라우저로 전송하는 것에 의해, 유저와 상호 작용할 수 있다.
[0067] 다수의 구현예들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 정신 및 범위로부터 벗어나지 않으면서 다양한 수정들이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (22)

  1. 방법(800)으로서,
    데이터 프로세싱 하드웨어(144)에서, 루트 인증 기관(310R)으로부터, 상기 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 루트 디지털 인증서(210R)를 획득하는 단계;
    상기 데이터 프로세싱 하드웨어(144)에 의해, 중간 인증 기관들(310N)의 체인을 생성하는 단계 ― 상기 중간 인증 기관들(310N)의 체인의 각각의 개개의 중간 인증 기관(310N)은:
    상기 중간 인증 기관(310N) 또는 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 바로 상위에 있는 상기 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 개개의 중간 인증서(210N); 및
    상기 개개의 중간 인증 기관(310N)이 중간 인증서들(210N) 및 최종 엔티티 인증서들(210L)에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(validation time period; 312) ― 상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)은, 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 하위에 있는 각각의 중간 인증 기관(310N)의 상기 유효성 확인 시간 기간(312)을 포함함 ―
    을 포함함 ― ;
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 중간 인증 기관들(310N)의 체인에 대한 인증서 폐기 목록(510)을 생성하는 단계;
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)으로부터, 복수의 최종 엔티티 인증서들(210L)을 생성하는 단계 ― 상기 복수의 최종 엔티티 인증서들(210L)의 각각의 최종 엔티티 인증서(210L)는 상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)에 의해 디지털 방식으로 서명됨 ― ; 및
    상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)이 경과한 이후, 상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 인증서 폐기 목록(510)에, 상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)으로부터 생성되는 상기 복수의 최종 엔티티 인증서들(210L) 중 하나 이상을 추가하는 단계를 포함하는, 방법(800).
  2. 제1항에 있어서,
    상기 중간 인증 기관들(310N)의 체인의 개개의 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되는 모든 최종 엔티티 인증서(210L)가 상기 인증서 폐기 목록(510)에 추가되었고 현재의 시간이 상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)의 끝에 또는 그 이후에 있는 경우:
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 인증서 폐기 목록(510)으로부터 상기 복수의 최종 엔티티 인증서들(210L) 각각을 제거하는 단계; 및
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 개개의 중간 인증 기관(310N)과 연관되는 상기 개개의 중간 인증서(210N)를 상기 인증서 폐기 목록(510)에 추가하는 단계를 더 포함하는, 방법(800).
  3. 제1항 또는 제2항에 있어서,
    상기 중간 인증 기관들(310N)의 체인의 개개의 중간 인증 기관(310N)과 연관되는 상기 개개의 유효성 확인 시간 기간(312)이 경과한 이후:
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 개개의 중간 인증 기관(310N)과 연관되는 유효성 확인 시간 기간(312)과 동일한 지속 기간을 갖는 상기 유효성 확인 시간 기간(312)과 연관되는 다른 중간 인증 기관(310N)을 생성하는 단계; 및
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 개개의 중간 인증 기관(310N)을 상기 중간 인증 기관들(310N)의 체인의 상기 다른 중간 인증 기관(310N)으로 교체하는 단계를 더 포함하는, 방법(800).
  4. 제3항에 있어서,
    상기 개개의 중간 인증 기관(310N)을 상기 다른 중간 인증 기관(310N)으로 교체한 이후, 상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 다른 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되고 상기 개개의 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되지 않은 최종 엔티티 인증서(210L)를 생성하는 단계를 더 포함하는, 방법(800).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    각각의 유효성 확인 시간 기간(312)은 일, 주, 월, 분기, 또는 연 중 하나와 연관되는, 방법(800).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    각각의 최종 엔티티 인증서(212L)는 만료 시간을 갖지 않는, 방법(800).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 복수의 최종 엔티티 인증서들(210L)의 개개의 최종 엔티티 인증서(210L)가 손상되었다는 것을 결정하는 단계; 및
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 개개의 최종 엔티티 인증서(210L)를 상기 인증서 폐기 목록(510)에 추가하는 단계를 더 포함하는, 방법(800).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    각각의 중간 인증 기관(310N)은 공통 씨드 값으로부터 유도되는 고유의 키(220N)와 연관되는, 방법(800).
  9. 제8항에 있어서,
    각각의 고유의 키(220N)는 키 유도 함수를 사용하여 유도되는, 방법(800).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)은, 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 상위의 임의의 중간 인증 기관들(310N)의 상기 유효성 확인 시간 기간들(312)보다 더 짧은, 방법(800).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 복수의 최종 엔티티 인증서들(210L)의 개개의 최종 엔티티 인증서(210L)가 순환되었다는(rotated) 것을 결정하는 단계; 및
    상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 개개의 최종 엔티티 인증서(210L)를 상기 인증서 폐기 목록(510)에 추가하는 단계를 더 포함하는, 방법(800).
  12. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(144); 및
    상기 데이터 프로세싱 하드웨어(144)와 통신하는 메모리 하드웨어(146)를 포함하고, 상기 메모리 하드웨어(146)는 상기 데이터 프로세싱 하드웨어(144) 상에서 실행될 때 상기 데이터 프로세싱 하드웨어(144)로 하여금:
    루트 인증 기관(310R)으로부터, 상기 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 루트 디지털 인증서(210R)를 획득하는 것;
    중간 인증 기관들(310N)의 체인을 생성하는 것 ― 상기 중간 인증 기관들(310N)의 체인의 각각의 개개의 중간 인증 기관(310N)은:
    상기 중간 인증 기관(310N) 또는 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 바로 상위에 있는 상기 루트 인증 기관(310R)에 의해 디지털 방식으로 서명되는 개개의 중간 인증서(210N); 및
    상기 개개의 중간 인증 기관(310N)이 중간 인증서들(210N) 및 최종 엔티티 인증서들(210L)에 디지털 방식으로 서명하도록 허용되는 시간들의 범위를 표시하는 개개의 유효성 확인 시간 기간(312) ― 상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)은, 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 하위에 있는 각각의 중간 인증 기관(310N)의 상기 유효성 확인 시간 기간(312)을 포함함 ―
    을 포함함 ― ;
    상기 중간 인증 기관들(310N)의 체인에 대한 인증서 폐기 목록(510)을 생성하는 것;
    상기 중간 인증 기관들(310N)의 체인의 최하위 중간 인증 기관(310N)으로부터, 복수의 최종 엔티티 인증서들(210L)을 생성하는 것 ― 상기 복수의 최종 엔티티 인증서들(210L)의 각각의 최종 엔티티 인증서(210L)는 상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)에 의해 디지털 방식으로 서명됨 ― ; 및
    상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)이 경과한 이후, 상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 인증서 폐기 목록(510)에, 상기 중간 인증 기관들(310N)의 체인의 상기 최하위 중간 인증 기관(310N)으로부터 생성되는 상기 복수의 최종 엔티티 인증서들(210L) 중 하나 이상을 추가하는 것
    을 포함하는 동작들을 수행하게 하는 명령어들을 저장하는, 시스템(100).
  13. 제12항에 있어서,
    상기 동작들은, 상기 중간 인증 기관들(310N)의 체인의 개개의 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되는 모든 최종 엔티티 인증서(210L)가 상기 인증서 폐기 목록(510)에 추가되었고 현재의 시간이 상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)의 끝에 또는 그 이후에 있는 경우:
    상기 인증서 폐기 목록(510)으로부터 상기 복수의 최종 엔티티 인증서들(210L) 각각을 제거하는 것; 및
    상기 개개의 중간 인증 기관(310N)과 연관되는 상기 개개의 중간 인증서(210N)를 상기 인증서 폐기 목록(510)에 추가하는 것을 더 포함하는, 시스템(100).
  14. 제12항 또는 제13항에 있어서,
    상기 동작들은, 상기 중간 인증 기관들(310N)의 체인의 개개의 중간 인증 기관(310N)과 연관되는 상기 개개의 유효성 확인 시간 기간(312)이 경과한 이후:
    상기 개개의 중간 인증 기관(310N)과 연관되는 유효성 확인 시간 기간(312)과 동일한 지속 기간을 갖는 상기 유효성 확인 시간 기간(312)과 연관되는 다른 중간 인증 기관(310N)을 생성하는 것; 및
    상기 개개의 중간 인증 기관(310N)을 상기 중간 인증 기관들(310N)의 체인의 상기 다른 중간 인증 기관(310N)으로 교체하는 것을 더 포함하는, 시스템(100).
  15. 제14항에 있어서,
    상기 동작들은, 상기 개개의 중간 인증 기관(310N)을 상기 다른 중간 인증 기관(310N)으로 교체한 이후, 상기 데이터 프로세싱 하드웨어(144)에 의해, 상기 다른 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되고 상기 개개의 중간 인증 기관(310N)에 의해 디지털 방식으로 서명되지 않은 최종 엔티티 인증서(210L)를 생성하는 것을 더 포함하는, 시스템(100).
  16. 제12항 내지 제15항 중 어느 한 항에 있어서,
    각각의 유효성 확인 시간 기간(312)은 일, 주, 월, 분기, 또는 연 중 하나와 연관되는, 시스템(100).
  17. 제12항 내지 제16항 중 어느 한 항에 있어서,
    각각의 최종 엔티티 인증서(212L)는 만료 시간을 갖지 않는, 시스템(100).
  18. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 복수의 최종 엔티티 인증서들(210L)의 개개의 최종 엔티티 인증서(210L)가 손상되었다는 것을 결정하는 것; 및
    상기 개개의 최종 엔티티 인증서(210L)를 상기 인증서 폐기 목록(510)에 추가하는 것을 더 포함하는, 시스템(100).
  19. 제12항 내지 제18항 중 어느 한 항에 있어서,
    각각의 중간 인증 기관(310N)은 공통 씨드 값으로부터 유도되는 고유의 키(220N)와 연관되는, 시스템(100).
  20. 제19항에 있어서,
    각각의 고유의 키(220N)는 키 유도 함수를 사용하여 유도되는, 시스템(100).
  21. 제12항 내지 제20항 중 어느 한 항에 있어서,
    상기 개개의 중간 인증 기관(310N)의 상기 개개의 유효성 확인 시간 기간(312)은, 상기 중간 인증 기관들(310N)의 체인에서 상기 개개의 중간 인증 기관(310N)보다 상위의 임의의 중간 인증 기관들(310N)의 상기 유효성 확인 시간 기간들(312)보다 더 짧은, 시스템(100).
  22. 제12항 내지 제21항 중 어느 한 항에 있어서,
    상기 복수의 최종 엔티티 인증서들(210L)의 개개의 최종 엔티티 인증서(210L)가 순환되었다는 것을 결정하는 것; 및
    상기 개개의 최종 엔티티 인증서(210L)를 상기 인증서 폐기 목록(510)에 추가하는 것을 더 포함하는, 시스템(100).
KR1020237015969A 2020-10-13 2021-10-11 시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현 KR20230084303A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/069,178 2020-10-13
US17/069,178 US11683188B2 (en) 2020-10-13 2020-10-13 Representing certificate expiration with time-based intermediate certificate authorities
PCT/US2021/054448 WO2022081493A1 (en) 2020-10-13 2021-10-11 Representing certificate expiration with time-based intermediate certificate authorities

Publications (1)

Publication Number Publication Date
KR20230084303A true KR20230084303A (ko) 2023-06-12

Family

ID=78516947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237015969A KR20230084303A (ko) 2020-10-13 2021-10-11 시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현

Country Status (5)

Country Link
US (1) US11683188B2 (ko)
EP (1) EP4218201A1 (ko)
JP (1) JP7394262B2 (ko)
KR (1) KR20230084303A (ko)
WO (1) WO2022081493A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230239164A1 (en) * 2022-01-26 2023-07-27 Microsoft Technology Licensing, Llc Embedding intermediate certificate in digital certificate

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047404B1 (en) 2000-05-16 2006-05-16 Surety Llc Method and apparatus for self-authenticating digital records
FI20021738A0 (fi) * 2002-09-30 2002-09-30 Ssh Comm Security Oyj Menetelmä sertifikaattien hylkylistojen muodostamiseksi
US8181017B2 (en) 2004-10-22 2012-05-15 Nds Limited Certificate renewal
WO2006043262A2 (en) * 2004-10-22 2006-04-27 Nds Limited Certificate renewal
GB2531247B (en) * 2014-10-07 2021-10-06 Arm Ip Ltd Method, hardware and digital certificate for authentication of connected devices
GB2577434B (en) * 2017-06-30 2021-12-08 Motorola Solutions Inc Lifecycle management method and apparatus for trusted certificates and trust chains

Also Published As

Publication number Publication date
JP7394262B2 (ja) 2023-12-07
WO2022081493A1 (en) 2022-04-21
US20220116229A1 (en) 2022-04-14
CN116601918A (zh) 2023-08-15
US11683188B2 (en) 2023-06-20
JP2023541326A (ja) 2023-09-29
EP4218201A1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
AU2017223158B2 (en) Blockchain-implemented method for control and distribution of digital content
US10547457B1 (en) Systems and methods for notary agent for public key infrastructure names
EP2545677B1 (en) Automated certificate management
Tysowski et al. Hybrid attribute-and re-encryption-based key management for secure and scalable mobile applications in clouds
US20210083882A1 (en) Distributed certificate authority
AU2011226741B2 (en) Method and system for sharing encrypted content
US11700132B2 (en) Systems and methods for secure event and log management
US7454021B2 (en) Off-loading data re-encryption in encrypted data management systems
BR112017017425B1 (pt) Meio de armazenamento legível por computador não transitório configurado para armazenar instruções de método e processo implementado por computador
US8745380B2 (en) Pre-encoding a cached certificate revocation list
US8468339B2 (en) Efficient security information distribution
JP2012256083A (ja) 証明書に基づく暗号化および公開鍵構造基盤
CN109190341B (zh) 一种登录管理系统和方法
EP3841702A1 (en) Method, user device, management device, storage medium and computer program product for key management
US20110167258A1 (en) Efficient Secure Cloud-Based Processing of Certificate Status Information
JP2013026747A (ja) 情報処理装置、サーバ装置およびプログラム
KR20230084303A (ko) 시간 기반의 중간 인증 기관들을 통한 인증서 만료의 표현
US20160365985A1 (en) Method and system for recursively embedded certificate renewal and revocation
CN116601918B (zh) 使用基于时间的中间证书颁发机构表示证书有效期
Fugkeaw et al. Enabling dynamic and efficient data access control in cloud computing based on attribute certificate management and CP-ABE
Hahn et al. Verifiable outsourced decryption of encrypted data from heterogeneous trust networks
Tabassum et al. Securely Transfer Information with RSA and Digital Signature by using the concept of Fog Computing and Blockchain
Khaba et al. Remote data integrity checking in cloud computing
CN116171555A (zh) 具有多个子网的分布式网络
US20230269099A1 (en) Revocation of certificates issued by distributed servers