KR20040098066A - Physical access control - Google Patents

Physical access control Download PDF

Info

Publication number
KR20040098066A
KR20040098066A KR10-2004-7016075A KR20047016075A KR20040098066A KR 20040098066 A KR20040098066 A KR 20040098066A KR 20047016075 A KR20047016075 A KR 20047016075A KR 20040098066 A KR20040098066 A KR 20040098066A
Authority
KR
South Korea
Prior art keywords
certificate
user
access
card
door
Prior art date
Application number
KR10-2004-7016075A
Other languages
Korean (ko)
Inventor
실비오 미칼리
데이빗 잉버그
필 리빈
레오 레이진
알렉스 시넬니코프
Original Assignee
코아스트리트 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/395,017 external-priority patent/US7337315B2/en
Application filed by 코아스트리트 리미티드 filed Critical 코아스트리트 리미티드
Priority claimed from PCT/US2003/010748 external-priority patent/WO2003088166A2/en
Publication of KR20040098066A publication Critical patent/KR20040098066A/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means

Abstract

표준 증명서 포맷과 함께 작동하고 그리고 증명된 인증(CA)이 C의 발행 날짜, D1과 함께 시작하는 어느 시간 구간(매일, 시간, 또는 초)에서 각 증명서 C의 정당성 상태를 증명하는 것을 가능하게 하는 디지털 증명서 정당화 과정을 통한 물리적 접근을 위한 방법 및 시스템이 설명되었다. C의 시간의 세분성은 그것이 모든 증명서와 동일하지 않는 한 증명서 그 자체 내에서 구체화 된다. 예를 들어, 모든 증명서는 발행 이후 365일을 파기하는 가가 증명서를 지닌 하루의 세분성을 지닌다. CA에 의해 제공되는 주어진 특정 초기화 입력에서, 단-방향 해시 함수는 디지털 증명서 상에 포함된 구체화된 바이트 크기의 값을 계산하고 그리고 정당화 과정에서 사용되고 보안을 유지하는 다른 값들을 처리하기 위해 사용된다.It works in conjunction with the standard certificate format and allows a certified certificate (CA) to prove the legitimacy status of each certificate C at any time interval (daily, hour, or second) beginning with the issue date of C, D1. A method and system for physical access through a digital certificate justification process has been described. The time granularity of C is specified within the certificate itself, unless it is the same as all certificates. For example, every certificate has a granularity of one day, with the Gaga certificate destroying 365 days after it is issued. At a given specific initialization input provided by the CA, the one-way hash function is used to calculate the value of the specified byte size contained in the digital certificate and to process other values used and justified in the process of justification.

Description

물리적 액세스 제어{PHYSICAL ACCESS CONTROL}Physical access control {PHYSICAL ACCESS CONTROL}

일반적으로, 디지털 인증(C)은 증명 기관(CA)의 디지털 서명으로 구성되고, 이 디지털 서명은 가령, SN(인증서에 유일한 일련 번호), PK(사용자의 공개 키), U(사용자의 식별자), D1(발행 일자), D2(만기 일자), 및 부가적 항목 등 몇몇 기호를 안전하게 결합한다. 기호로 표현하면, C=SIGCA(SN, PK, U, D1, D2,...)이다.In general, a digital certificate (C) consists of a digital signature from a certification authority (CA), which may be, for example, a serial number unique to a certificate (SN), a user's public key (PK), and a user's identifier (U). Safely combine some symbols, such as D 1 (date of issue), D 2 (expiration date), and additional items. Expressed symbolically, C = SIG CA (SN, PK, U, D1, D2, ...).

디지털 인증서가 인터넷 및 다른 액세스인증에 가장 좋은 형태를 제공한다는 점은 널리 인식되어 있다. 그러나 상기 디지털 인증서는 또한 관리에 있어 어려운 점이 있다. 인증서가 일 년 후 만기가 될 수 있지만(즉, D2- D2= 1년), 가령 인증서 보유자가 자신의 회사를 떠나거나 또는 회사 내에서 다른 업무를 맡게 될 경우, 상기 인증서는 그 만기일 전에 취소될 수 있다. 따라서 주어진 디지털 인증서에 의해 가능해진 각 상거래에서는 인증서의 현재의 유효성을 적절히 검증해야할 필요가 있고, 그리고 상기 검증은 향후 클레임에 대한 보호 장치로서 보관될 필요가 있다.It is widely recognized that digital certificates provide the best form of Internet and other access authentication. However, the digital certificate is also difficult to manage. A certificate may expire after one year (ie D 2 -D 2 = 1 year), but if the certificate holder leaves his company or takes on other tasks within the company, the certificate will Can be canceled. Thus, in each commerce made possible by a given digital certificate, it is necessary to properly verify the current validity of the certificate, and the verification needs to be kept as a safeguard against future claims.

불행히도, 발행된 인증서의 유효성을 검증하는 종래 기술들은 그다지 잘 평가하지 못하였다. 디지털 인증서에 관한 장래의 거래량 및 오늘의 유효성 등을 안전하게 검증하는 것이 어려우며, 또한 너무 길어서 특히 무선 환경에서 전송시 비용이 많이 들게 될 것이다. 인증서의 검증은 중요한 문제로 인식된다. 만일 효과적으로 해결되지 않으면, PKI의 성장이나 유용성을 심히 제한하게 될 것이다.Unfortunately, prior art techniques for validating issued certificates have not been very well evaluated. It will be difficult to securely validate future transactions and today's validity of digital certificates, and they will be too long to be expensive, especially in wireless environments. Verification of certificates is recognized as an important issue. If not resolved effectively, it will severely limit the growth or usefulness of the PKI.

오늘날, 인증서의 유효성을 검증하는 두 가지 주요 접근법, 즉 인증서 폐기 목록(CRL) 및 온라인 인증서 상태 프로토콜(OCSP)이 있다.Today, there are two main approaches to validating certificates: certificate revocation lists (CRLs) and online certificate status protocols (OCSPs).

CRLCRL

CRL는 주기적으로 발행된다. CRL는 기본적으로 상기 취소된 인증서의 모든 일련번호들을 포함하는 CA-서명 목록으로 구성된다. 전자 상거래가 제공되는 상기 디지털 인증서는 이후 가장 최근의 CRL과 비교된다. 만일 주어진 인증서가 만기되지 않고 목록에 있다면 모든 사람들은 상기 CRL로부터, 상기 인증서가 유효하지 않으며 또한 인증서 보유자에게 상거래를 할 수 있는 권한이 더 이상 권한이 부여되지 않음을 알게 된다. 그 밖에, 인증서가 상기 CRL에 나타나지 않으면 상기 인증서는 유효한 것으로(이중 부정) 추정된다.CRLs are issued periodically. The CRL basically consists of a list of CA-signatures containing all the serial numbers of the revoked certificate. The digital certificate for which electronic commerce is provided is then compared with the most recent CRL. If a given certificate has not expired and is on the list, everyone knows from the CRL that the certificate is not valid and that the holder of the commerce transaction is no longer authorized. In addition, if a certificate does not appear in the CRL, the certificate is assumed to be valid (double negative).

CRL는 관리가 어려울 만큼 길어질 수 있는 위험 때문에 그다지 많은 이점을 갖지는 못했다.(최근의 CRL-분할 기술에 의해 겨우 그러한 위험은 축소되었다.) 몇 년 전, 국제 표준 기술 협회는 MITRE사에 연방 정부에 대한 PKI(Public Key infrastructure)의 구성 및 비용에 대한 연구 용역을 의뢰하였다.(MITER 사, 국제 표준 기술 협회의 1994년 PKI 최종 보고서 참조). 이 연구는 CRLs가 현재까지 연방 PKI 비용 목록에서 가장 큰 항목을 구성하는 것으로 결론지었다.CRLs didn't have much of an advantage because of the risk that they could be difficult to manage (the risks were only reduced by recent CRL-splitting technology). Commissioned a study on the construction and cost of a public key infrastructure (PKI) (see the 1994 PKI Final Report by MITER, International Standards Technology Association). The study concluded that CRLs constitute the largest item on the federal PKI cost list to date.

OCSPOCSP

OCSP에서, CA는 현재 시간에서 인증서(C)의 유효성 상태의 디지털 서명을 되돌림으로써 C에 관한 조회에 답을 한다. OCSP는 아래의 영역에서 문제가 된다.In OCSP, the CA answers the inquiry about C by returning the digital signature of the validity of certificate C at the current time. OCSP is a problem in the following areas.

대역폭. OCSP에 의해 생성된 각각의 유효성 검증은 상당한 길이를 갖는다. 만일 RSA나 혹은 다른 요인에 기초한 서명 방식이 사용되면, 실제로 이러한 검증은 최소 2,048 비트에서 상기 CA 서명을 필요로 한다.Bandwidth. Each validation generated by the OCSP has a significant length. If a signature scheme based on RSA or other factors is used, this verification actually requires the CA signature at least 2,048 bits.

계산. 디지털 서명은 계산상 복잡한 연산이다. 최대 트래픽(traffic)과 같은 큰 적용 예에서, 상기 OCSP는 짧은 시간에 수백만 개의 서명을 연산할 필요가 있으며, 이는 실행하기에 매우 비용이 많이 든다.Calculation. Digital signatures are computationally complex operations. In large applications such as maximum traffic, the OCSP needs to compute millions of signatures in a short time, which is very expensive to implement.

통신(집중의 경우). 단일 검증 서버가 중앙 집중 방식으로 상기 OCSP를 구현한다고 가정한다. 그러면, 결국 모든 인증-유효성 조회들이 상기 단일 서버로 경로가 지정되고, 그리고 상기 서버는 중요한 "네트워크 병목"이 됨으로써, 상당한 정체와 지연을 야기할 것이다. 만일 엄청난 수의 사용자가 상기 단일 서버에 조회한다면, 불통이 되는 "서비스 거부"가 계속될 것이다.Communication (in case of concentration). Assume that a single verification server implements the OCSP in a centralized manner. Eventually, all authentication-validity lookups are routed to the single server, and the server becomes an important “network bottleneck,” causing significant congestion and delay. If a huge number of users query the single server, an unpleasant "denial of service" will continue.

보안(분산될 경우). 일반적으로, 전 세계에 전략적으로 위치한 몇몇(가령, 100개의) 서버를 통해 단일 서버의 부하를 분산함으로써 네트워크 혼잡을 완화할 수 있다. 그러나 상기 OCSP의 경우, 부하의 분산시키면 더 나쁜 문제를 일으키게 된다. 인증서 조회에 대한 응답을 서명하기 위해서, 상기 100개의 서버 각각은 자체 비밀 서명 키를 가져야 한다. 따라서 상기 100개의 서버 중 어떤 것을 해결하는 것은 전체 시스템을 해결하는 것이 된다. 안전한 볼트(vault)는 이러한 분산된 서버들을 보호할 수 있지만 비용이 많이 든다.Security (if distributed). In general, network congestion can be mitigated by balancing the load of a single server across several (eg, 100) servers strategically located throughout the world. However, in the case of the OCSP, load balancing causes a worse problem. In order to sign a response to a certificate inquiry, each of the 100 servers must have its own secret signing key. Thus, solving any of the 100 servers would solve the entire system. A secure vault can protect these distributed servers, but it is expensive.

당해발명은 디지털 증명서의 분야에 관한 것으로서 특히 물리적 접근을 제어하는 디지털 증명서 검증 분야에 관한 것이다.The present invention relates to the field of digital certificates, and more particularly to the field of digital certificate verification that controls physical access.

도 1은 당해발명의 한 실시예에 따라, 각각의 발행된 그러나 아직 만기가 되지 않은 인증서 C1, ... Ck에 관하여, 상기 CA가 어떻게 디렉토리에 각 인증 취소 상태 정보(CRSi)를 보내는 가에 대한 개략도이다.1 illustrates, in relation to each issued but not yet expired certificate C 1 , ... C k , how the CA sends each Certificate Revocation Status Information (CRSi) to the directory, according to one embodiment of the invention. It is a schematic diagram of a.

도 2는 통상의 OCSP 환경에서 상거래 시퀀스의 개략도이다.2 is a schematic diagram of a commerce sequence in a typical OCSP environment.

도 3은 상당한 혼잡과 지연을 일으키는 서버에서 주요 "네트워크 병목"의 개략도이다.3 is a schematic diagram of a major "network bottleneck" in a server causing significant congestion and delay.

도 4는 OCSP가 서로 다른 보안 도메인으로부터 인증서 유효성 요청에 대한 서비스에 어떤 어려움이 있는가를 보여주는 개략도이다.4 is a schematic diagram showing how the OCSP has difficulty in servicing a certificate validity request from different security domains.

도 5는 당해발명의 한 실시예에 따라 서로 다른 보안 도메인으로부터 인증서 유효성 요청에 대한 서비스를 보여주는 개략도이다.5 is a schematic diagram illustrating a service for requesting a certificate validity from different security domains according to an embodiment of the present invention.

도 6은 당해발명의 한 실시예에 따라 RTC 시스템의 개략도이다.6 is a schematic diagram of an RTC system according to one embodiment of the present invention.

도 7은 당해발명의 한 실시예에 따라 RTC-over-OCSP가 어떻게 크로스-CA 환경에 배치될 것인지를 보여주는 개략도이다.7 is a schematic diagram showing how RTC-over-OCSP will be deployed in a cross-CA environment according to one embodiment of the invention.

도 8은 당해발명의 한 실시예에 따라 상기 시스템의 동작을 보여주는 개략도이다.8 is a schematic diagram showing operation of the system according to an embodiment of the present invention.

도 9는 도난당한 컴퓨터 타임라인(timeline)의 개략도이다.9 is a schematic diagram of a stolen computer timeline.

디지털 인증서 검증 프로세스를 통해 물리적 접근을 제어하는 시스템 및 방법이 설명되어 지며, 상기 검증 프로세스는 표준 인증서 포맷으로써 처리되고 그리고 검증 기관(CA)으로 하여금 인증서(C)의 발행일(D1)로부터 시작하여 어떤 시간 주기(가령, 매일, 매 시간, 매 분)마다 각 인증서(C)의 유효 상태를 검증하도록 한다. 만일 인증서의 시간 세분성(granularity)이 모든 인증서에 대하여 동일하지 않으면, 상기 시간 세분성은 인증서 자체내에서 구체화될 수 있다. 예를 들어, 각 인증서가 발행 365일 후 만기일 때 모든 인증서는 1일의 세분성을 가질 수 있다. 어떤 초기 입력들이 상기 CA에 의해 주어질 경우, 단방향 해시 함수는 상기 디지털 인증서상에 포함된 특정 바이트 크기의 값들을 계산하는데 사용되고 그리고 보안을 유지하면서 상기 검증 프로세스에 사용되는 다른 값들을 계산하는데 사용된다.A system and method for controlling physical access through a digital certificate verification process is described, wherein the verification process is handled in a standard certificate format and the verification authority (CA) starts from the issue date (D 1 ) of the certificate (C). At each time period (eg daily, every hour, every minute), the validity status of each certificate (C) is verified. If the time granularity of the certificate is not the same for all certificates, the time granularity can be specified within the certificate itself. For example, all certificates may have a granularity of one day when each certificate expires 365 days after issuance. When some initial inputs are given by the CA, a one-way hash function is used to calculate the values of a particular byte size contained on the digital certificate and to calculate other values used in the verification process while maintaining security.

물리적 액세스제어는 실시간으로 증명서(credentials)를 검토하는 것을 포함하고, 이때 상기 실시간 증명서은 고정되어 있는 제 1 부분 및 주기적으로 수정되는 제 2 부분을 포함하며, 이때 상기 제 2 부분은 상기 실시간 증명서이 있음을 증명하며, 상기 제 2 부분 상에서 연산을 수행함으로써 그리고 그 결과를 제 1 부분과 비교함으로써 상기 실시간 증명서의 유효성을 검증하고, 그리고 상기 실시간 증명서이 유효한 것으로 입증될 때만 물리적 접근을 허용한다. 상기 제 1 부분은 권위 기관에 의해 디지털로 서명될 수 있다. 상기 권위 기관은 제 2 부분을 제공할수 있고 또는 상기 제 2 부분은 권위 기관을 제외한 실체에 의해 제공될 수 있다. 상기 실시간 증명서은 스마트카드 상에서 제공될 수 있다. 사용자는 제 1 위치에서 상기 실시간 증명서의 제 2 부분을 획득할 수 있다. 사용자는 상기 제 1 위치와 다르고 독립되어 있는 제 2 위치에 접근이 허용될 수 있다. 상기 실시간 증명서의 적어도 한 부분은 상기 실시간 증명서의 제 2 부분의 한 부분에 여러 회 적용된 단방향 해시를 표현할 수 있다. 상기 여러 회는 상기 실시간 증명서의 제 1 부분이 발행된 이후 경과된 시간의 양에 해당할 수 있다. 물리적 접근의 제어는 문을 통해 접근을 제어하는 것을 포함한다.Physical access control includes reviewing credentials in real time, wherein the real time certificate includes a fixed first portion and a second portion that is modified periodically, wherein the second portion indicates that the real time certificate is present. Verify, validate the real-time certificate by performing an operation on the second part and comparing the result with the first part, and permit physical access only when the real-time certificate is proven to be valid. The first portion may be digitally signed by an authority. The authority authority may provide a second part or the second part may be provided by an entity except an authority authority. The real time certificate may be provided on a smart card. The user may obtain a second portion of the real time certificate at the first location. The user may be allowed access to a second location that is different from and independent of the first location. At least one portion of the real time certificate may represent a unidirectional hash applied multiple times to a portion of the second portion of the real time certificate. The number of times may correspond to the amount of time that has elapsed since the first portion of the real-time certificate was issued. Control of physical access involves controlling access through the door.

인증 받은 개인들만이 보안 영역에 접근하도록 하는 것은 매우 중요하다(가령, 공항, 군사 시설, 사무 빌딩 등). 보안 영역은 물리적 문(door)(특히, 사람이 통과할 수 있는 문, 컨테이너의 문, 금고, 또는 차량 등) 및 벽에 의해 정의될 수 있고, 혹은 다른 방법에 의해 정의될 수 있다. 예를 들어, 보안 영역은 검출기가 침입 신호를 발생하도록 (그리고 인증이 이루어지지 않을 경우 신호를 발생하거나 경보 소리가 나도록) 하는 영역 입구로 구성될 수 있다. 공항에서, 출구통로를 통해 게이트 영역에 들어서면 비록 어떠한 문나 벽도 위반되지 않았더라도 종종 이러한 신호를 트리거할 수 있다. 이러한 적용예를 통하여, 문은 종래의 혹은 현대식 키를 이용하여 구현될 수 있는 모든 다른 방식의 접근-제어 디바이스들을 포함하는 것으로 해석될 수 있다. 특히, 키 구성은 엔진을 시동시키는데 사용된다( 따라서 당해발명은 인증된 사용자들만이 비행기, 트럭을 시동시키거나 혹은 다른 귀중품에 접근하도록 하는 새로운 방법이 된다).It is very important that only authorized individuals have access to security areas (eg, airports, military installations, office buildings, etc.). Security zones can be defined by physical doors (especially doors that humans can pass through, doors of containers, safes, or vehicles, etc.) and walls, or by other means. For example, the security zone may be configured as a zone entrance that allows the detector to generate an intrusion signal (and generate a signal or sound an alarm if authentication is not made). At airports, entering the gate area through exit passageways can often trigger these signals, even if no doors or walls have been violated. Through this application, the door can be interpreted as including all other ways of access-control devices that can be implemented using conventional or modern keys. In particular, the key configuration is used to start the engine (the invention thus becomes a new way to allow only authorized users to start planes, trucks or access other valuables).

당해발명의 개요를 설명하였지만, 추후 구체적이고 일관성을 벗어나지 않도록, "문(door)"는 접근을 제어하는 또는 경계를 설정하는 수단으로 언급하고, "입장(entering)"은 보호하고자 하는 영역에 접근하는 수단으로 언급한다.While an overview of the present invention has been described, in the future, in order to be specific and inconsistent, a "door" is referred to as a means of controlling access or setting boundaries, and "entering" accesses an area to be protected. Reference is made to the means.

스마트 문은 이러한 액세스제어를 제공한다. 가장 단순한 레벨에서, 스마트 문은 키패드가 설치되어 있고, 상기 키패드를 통해 사용자는 자신의 PIN이나 패스워드를 입력하게 된다. 상기 키패드는 유효 PIN/패스워드의 목록이 저장되어 있는 보조 메모리나 기본 프로세서를 갖고 있어서, 현재 입력되는 PIN/패스워드가 상기 목록에 있는지를 검사할 수 있다. 만일 상기 목록에 있다면 문은 열리고, 그렇지 않으면 문은 잠긴 상태를 유지한다. 이러한 기본적 액세스제어 구조는 최소의 보안을 제공한다. 특히, 퇴사한 직원은 더 이상 상기 문을 통과하지 못할 수 있다. 그러나 만일 상기 직원이 자신의 PIN을 기억한다면, 그는 이러한 기본적인 스마트 문을 별 문제없이 열게 될 것이다. 따라서 퇴사한 직원들의 PIN을 디프로그램(deprogram)하는 것이 필수적일 것이다. 그러나 이런 절차는 매우 귀찮고 비용이 든다. 공항 시설은 수백 개의 문을 갖고 있어서, 특정 팀의 작업자들을 통과하게 하고, 직원이 퇴사할 때마다 모든 문을 디프로그램 하는 것은 매우 비실용적이다. 과잉 비용이나 불편을 발생하지 않으면서 더욱더 보안이 필요하다.Smart doors provide this access control. At the simplest level, the smart door is equipped with a keypad through which the user enters his or her PIN or password. The keypad has a secondary memory or basic processor in which a list of valid PINs / passwords is stored, so that it can be checked whether a currently entered PIN / password is in the list. If it is listed above, the door is opened, otherwise the door remains locked. This basic access control structure provides minimal security. In particular, an employee who has left the office may no longer pass through the door. But if the employee remembers his PIN, he will open these basic smart doors without any problems. Therefore, it will be necessary to deprogram PINs for employees who have left. However, this procedure is very cumbersome and expensive. The airport facility has hundreds of doors, so it is impractical to pass a specific team of workers and deprogram all doors whenever an employee leaves. More security is required without incurring excessive costs or inconveniences.

물론, 종래의 키 또는 단순 키패드에 의존하기보다는 더욱 현대화된 스마트 문은 스마트카드 및 자기 스트립 카드(mag-strip cards)와 같은 카드나 비접촉식 디바이스를 이용하여 동작할 수 있다. 그러나 이러한 향상된 도구들의 세트는 자체적으로 안전성, 편리성, 및 접근-제어 시스템의 저 비용을 보장하지 못한다. 이러한 도구들은 이 도구들이 전체 보안 구조에서 어떻게 사용되느냐에 결정적으로 의존한다.Of course, rather than relying on conventional keys or simple keypads, more modern smart doors can operate using a contactless device or a card such as smartcards and mag-strip cards. However, this enhanced set of tools does not, by itself, guarantee safety, convenience, and the low cost of an access-control system. These tools depend critically on how these tools are used in the overall security architecture.

이상적으로, 스마트 문은 사람의 입장을 식별해야 하고, 그리고 그 사람이 입장되기 위한 인증을 검증한다. 두 가지 작업 중에서, 전자가 아마 더 쉬울 것이다. 상기 식별 과정은 다양한 방법으로 수행될 수 있다. 특히Ideally, the smart door should identify the person's position and verify the authentication for that person to enter. Of the two tasks, the former is probably easier. The identification process can be performed in various ways. Especially

1. 문에 부착된 키패드에서 입력될 수 있는 PIN 및 패스워드를 사용하여,1. Using a PIN and password that can be entered from the keypad attached to the door,

2. 문에 부착된 특수 판독기(readers)를 통해 사용자에 의해 입력될 수 있는 생체인식을 사용하여,2. Using biometrics that can be entered by the user through special readers attached to the door,

3. 문에 부착된 특수 패드를 통해 사용자에 의해 제공되는 전통적인 서명을 이용하여,3. Using the traditional signature provided by the user through a special pad attached to the door,

4. 스마트카드나 비접촉식 카드를 사용하여(가령, 특수 판독기/수신기를 통해 상기 문에 PIN을 전송함),4. Using a smart or contactless card (eg sending a PIN to the door via a special reader / receiver),

5. 가령, 스마트카드, 비접촉식 카드, 또는 무선 디바이스 등에 저장되어 있고 카드 판독기나 다른 수신기를 통해 상기 문에 전송할 수 있는 디지털 인증서를 사용하여 식별이 이루어질 수 있다.5. Identification can be made using a digital certificate stored, for example, in a smart card, contactless card, or wireless device and can be transmitted to the door via a card reader or other receiver.

디지털 인증서는 특히 당해발명의 시스템에서 특히 유용하고, 따라서 스마트 문과 함께 상기 디지털 인증서를 사용하는 몇몇 방법들을 좀 더 상세히 설명하고자 한다. 구체적으로 일관성에서 벗어나지 않으면서, 우리는 접근을 원하는 사람이 소유한 디바이스를 "카드"라고 부를 것이다. 상기 카드는 디지털 인증서 및 상응하는 비밀 키를 저장할 수 있다. 카드 소지자로부터 가령, 키패드 상의 비밀 코드를 펀칭하는 것과 같은 적절한 명령에 따라, 상기 카드는 디지털 인증서를 문 구조에 전송하고 그리고 상기 대응하는 비밀 키를 이용하여 식별 프로토콜을 실행할 것이다(가령, 랜덤 챌린지(challenge)를 해독함). 선호적으로, 상기 디지털 인증서 및 특히 상응하는 비밀 키는 카드/디바이스의 안전한 하드웨어 부분 내에 보호되어야 한다.Digital certificates are particularly useful in the system of the present invention, and therefore, some methods of using the digital certificate with smart statements will be described in more detail. Without specifically breaking out of consistency, we'll call a device owned by the person who wants access to be a "card." The card can store a digital certificate and a corresponding secret key. In accordance with appropriate instructions from the cardholder, for example, punching a secret code on the keypad, the card will transmit the digital certificate to the door structure and execute the identification protocol using the corresponding secret key (e.g., random challenge ( challenge). Preferably, the digital certificate and especially the corresponding secret key should be protected in the secure hardware portion of the card / device.

일부 경우에, 사람들은 신분을 노출시키지 않고 익명으로 안전한 액세스제어를 하기를 원한다. 이 경우 신분 확인은 실행될 필요가 없지만, 인증 과정은 여전히 실행될 필요가 있다. 그러나 대부분의 경우, 어떠한 형태의 신분 확인은 의무적이다. 따라서 신분 확인은 (가령, 상기 설명된 5 가지 방법 중 하나에 의해) 이루어질 수 있거나 혹은 이미 이루어졌음을 추정할 수 있다. 두 가지 방식 : 어떻게 인증 과정이 실행될 수 있는가? 문이 분명히 John Dow라는 사람을 처리하고 있더라도, 상기 문은 어떻게 John Doe라는 사람이 지금 입장에 대한 인증이 이루어지는가를 확인할 수 있는가? 전통적으로, 스마트 문은 개인이 실제로 접근을 요구하는 것을 검증하기 위해 현재(가령, 주어진 날짜에서) 인증되어 있는 사용자의 데이터베이스를 조회한다. 그러나 이 경우 스마트 문은 떨어져 있는 데이터베이스에 접속되어 있어야 필요가 있다. 게다가, 이는 통상의 네트워크 연결은 아니라 안전한 네트워크 연결이 되어야 한다. 실제로, 불순한 의도를 가진 사람이 상기 문에 관한 데이터베이스를 이용하는 것을 막기 위해 반드시 암호법으로 보호된 통신을 사용해야 하며, 또한 침입자가 문과 데이터베이스에 연결하는 와이어를 절단하려는 것을 막아야 한다. 상기 연결이 끊어지면 문는, (a)항상 열려 있거나 또는 (b)항상 닫혀 있는, 나쁜 선택을 해야 한다. 그러나 안전한 네트워크 연결은 상기 문 잠금 장치의 전기 기계적 요소의 비용을 쉽게 줄이지는 않는다. - 상위 라인 요소는 천 달러 정도의 비용이 들지만 상기 안전한 네트워크 연결은 (특히 와이어가 공항에서와 같이 먼 거리를 연결해야 할 경우) 4천 달러 정도의 비용이 들 것이다. 게다가, 4천 달러 정도를 소비한 후에, 공항과 같은 공공장소에서 안전한 네트워크 연결을 위해 이 정도의 비용만 들고 말 것인가? 스마트 문을 먼 거리의 데이터베이스에 무선 연결하는 것은 실행 가능한 대안이 되지 않음을 유의하라. 첫째로, 장거리 무선 송신기 및 수신기는 매우 비싸다. 둘째, 어떤 시설에서 무선 대역폭은 심히 제한적이거나(다른 도구와의 간섭을 피하기 위해), 혹은 이러한 사용을 위해 금지될 수 있다. 셋째, 무선 통신을 쉽게 막힐 수 있어서 데이터베이스로부터 문이 끊어질 수 있다(따라서 상기 두 가지의 나쁜 선택만 하게 된다). 넷째, 만일 문이 대서양 가운데의 컨테이너에 속해 있다면, 이 문은 아마 해안의 어떤 데이터베이스와도 무선 통신할 수 없을 것이다.In some cases, people want to have anonymous and secure access control without exposing their identity. In this case, identity verification does not need to be performed, but the authentication process still needs to be performed. In most cases, however, some form of identification is mandatory. Thus identification can be made (eg, by one of the five methods described above) or can be assumed to have already been made. Two ways: how can the authentication process be performed? Even if the door clearly handles a person named John Dow, how can the door confirm that the person named John Doe is now authenticated for entry? Traditionally, smart statements query a database of currently authenticated users (eg, on a given date) to verify that an individual actually requires access. In this case, however, the smart statement needs to be connected to a remote database. In addition, this should be a secure network connection, not a regular network connection. In practice, you must use cryptographically protected communications to prevent anyone with impure intentions from using the database on the door, and also prevent intruders from attempting to cut the wires that connect to the door and the database. If the connection is lost, the door must make a bad choice: (a) always open or (b) always closed. However, a secure network connection does not easily reduce the cost of the electromechanical element of the door lock. The upper line element costs about $ 1,000 but the secure network connection will cost about $ 4,000 (especially if the wires need to be connected over long distances, such as at an airport). Moreover, after spending about $ 4,000, will it cost just this much for secure network connections in public places such as airports? Note that wireless connection of smart doors to remote databases is not a viable alternative. Firstly, long range radio transmitters and receivers are very expensive. Second, in some installations wireless bandwidth may be very limited (to avoid interference with other tools) or may be prohibited for such use. Third, the wireless communication can be easily blocked and the door can be disconnected from the database (thus making the two bad choices only). Fourth, if the door belongs to a container in the Atlantic, it will probably not be able to communicate wirelessly with any database on the coast.

따라서 당해발명의 일면은, 어떠한 데이터베이스나 권위 기관에도 연결되지 않는(유선이든 무선이든) 저비용의 편리하고 안전한 비접속 스마트카드를 제공하는 것이다.Accordingly, one aspect of the present invention is to provide a low-cost, convenient, secure and disconnected smart card that is not connected to any database or authority (either wired or wireless).

디지털 서명 및 인증서Digital signatures and certificates

선호되는 실시예에서, 당해발명은 디지털 서명 및 가급적 20 바이트 기술에 의존한다. 디지털 서명(가령, RSA)은 어떤 주어진 메시지(M)가 어떤 주어진 사용자(U)로부터 발생한다는 것을 입증하는데 사용된다. 이를 위해 사용자(U)는 한 쌍의 정합하는 키, 즉 검증 키(PK) 및 서명 키(SK)를 생성한다. 디지털 서명은 SK를 통해 생성되고, 정합 키(PK)를 통해 검증된다. 사용자(U)는 자신의 SK를 비밀로 유지해야 한다(사용자만이 자신에 대해 서명할 수 있도록). 디지털 서명에서 PK는 정합하는 키 SK를 드러내지 않는데, 다시 말하면 PK를 안다고 해서 침입자에게 SK를 계산하는 실제적인 장점을 제공하지는 않는다. 따라서 사용자(U)는 (모든 사람이 U의 서명을 검증할 수 있도록) 가능한 공개적으로 자신의 PK를 만들어야 한다. 이런 이유로, PK는 공개키로 가급적 불려진다. 우리는 메시지(M)에 관한 U의 디지털 서명을 SIGU(M)으로 표시할 것이다. 디지털 서명은 개인-키 서명을 포함하도록 주어지고, 이 경우 서명자 및 검증자는 공통의 비밀 키를 공유할 것이다.In a preferred embodiment, the invention relies on digital signatures and possibly 20 byte descriptions. A digital signature (eg RSA) is used to verify that a given message M originates from a given user U. To this end, the user U generates a pair of matching keys, namely a verification key PK and a signature key SK. The digital signature is generated via SK and verified via a matching key (PK). The user U must keep his SK secret (so that only the user can sign for him). In digital signatures, the PK does not reveal the matching key SK, that is, knowing the PK does not provide an intruder with the practical advantage of calculating SK. Therefore, the user U must make his / her PK as publicly as possible (so that everyone can verify U's signature). For this reason, PKs are often referred to as public keys. We will mark U's digital signature for message M as SIG U (M). The digital signature is given to include a private-key signature, in which case the signer and verifier will share a common secret key.

인증서로 불리는 알파뉴메릭 문자열은 주어진 키(PK)가 사용자(U)의 공개키인 것을 확인함으로써 디지털 서명을 가능하게 한다. 검증 기관(CA)은 사용자의 신분이 확인되면 사용자에게 인증서를 만들어 발행한다. 따라서 상기 인증서는 상기 CA가 인증서 보유자의 신분 및 가능한 다른 특징까지 검증하였다는 것을 모든 사람에게 알려준다. (예를 들어, 회사가 직원들에 대하여 CA로서 인증서를 발행한다면, 인증서는 인증서 보유자가 자신의 고용주와 연결시키도록 권한이 부여되는 범위를 알게 해 준다.) 인증서는 특정 시간 이후 만기가 되고, 일반적으로 공공 CA의 경우 1년 후 만기가 된다. 본질적으로, 디지털 인증서(C)는 몇몇 기호를 안전하게 결합하는 디지털 서명으로 구성된다. - SN(인증서에 유일한 일련 번호), PK(사용자의 공개 키), U(사용자의 이름), D1(발행 일자), D2(만기 일자), 및 부가적 데이터 등. 기호로 표현하면, C=SIGCA(SN, PK, U, D1, D2,...)이다.Alphanumeric strings, called certificates, enable digital signatures by verifying that a given key (PK) is the public key of the user (U). The verification authority (CA) creates and issues a certificate to the user when the user's identity is verified. The certificate thus informs everyone that the CA has verified the identity of the certificate holder and possibly other features. (For example, if a company issues a certificate as a CA to its employees, the certificate allows the certificate holder to know the extent to which the certificate holder is authorized to associate with his employer.) The certificate expires after a certain time, Generally, a public CA expires after one year. In essence, the digital certificate (C) consists of a digital signature that securely combines several symbols. SN (serial number unique to the certificate), PK (user's public key), U (user's name), D 1 (issue date), D 2 (expiration date), and additional data. Expressed symbolically, C = SIG CA (SN, PK, U, D1, D2, ...).

인증서는 또한 PK가 암호 키가 되는 경우를 포함할 수 있다. 이 경우, 사용자는 검증자(V)에게 인증서(C)를 보냄으로써 자신의 신분을 입증할 수 있고, 검증자(V)는 키(PK)를 갖는 랜덤 챌린지(문자열)(R)를 암호화하고, 이후 사용자(U)에게 복호(decryption)를 되돌리도록 요구한다. 만일 사용자가 R로써 응답하면, V는 U를 처리하고 있음을 확인하고, 이는 사용자(U)만이 복호 키 정합(PK)을 알아야하기 때문이다.The certificate may also include the case where the PK becomes an encryption key. In this case, the user can prove his or her identity by sending the certificate C to the verifier V, the verifier V encrypts a random challenge (string) R having a key PK and After that, the user U is asked to return decryption. If the user responds with R, then V confirms that U is processing, since only user U needs to know the decryption key match (PK).

당해발명의 우선 실시예는 액세스제어에 대하여 훨씬 더 좋은 해결책을 제공한다. 특히, 상기 카드가 당해발명에 따른 디지털 인증서를 포함한다면, 인증은 훨씬 더 저렴하게 이루어질 수 있다. 모든 디지털 인증서의 유효성에 대하여 중앙의 데이터베이스를 조회하는 대신, 상기 문은 당해발명에 따라 20 바이트 유효성 검증을 얻을 필요가 있을 것이다.The preferred embodiment of the present invention provides a much better solution to access control. In particular, if the card comprises a digital certificate according to the invention, authentication can be made much cheaper. Instead of querying a central database for the validity of all digital certificates, the statement would need to obtain 20 byte validation according to the invention.

예 1:Example 1:

A를 스마트 문들을 제어하는 권위자(즉, 엔티티)로 하고, U를 주어진 문에 주어진 시간 동안 접근이 허용되는 사용자로 한다.Let A be the authority (i.e. entity) that controls the smart doors, and U be the user who is allowed access to the given statement for a given time.

각 사용자는 (앞서 설명된 일반적 의미의) 카드를 소지한다.Each user carries a card (in the general sense described above).

각 스마트 문은 관련된 카드 판독기(통신할 수 있는 혹은 사용자 카드로부터 정보를 수신하는)를 가지고 있으며, 실제로 물리적인(가상이 아닌) 문의 경우 전기 기계적 잠금 장치가 결합되어 있다. 선호적으로 각 문은 또한 고유한 식별자를 갖고 있다(그리고 각 문은 식별자를 알고 있다). 문은 카드 판독기, 쉽게 변경할 수 없는 클락 및 권위자(A)의 공개 키(PKA)를 갖고 있는 연산 장치를 가지고 있으며,A의 서명을 검증할 수 있다.Each smart door has an associated card reader (which can communicate with or receive information from the user's card) and, in fact, has an electromechanical lock for physical (non-virtual) doors. Preferably each statement also has a unique identifier (and each statement knows the identifier). The door has a card reader, a clock that cannot be easily changed, and a computing device with the authority A's public key (PKA), and can verify the signature of A.

상기 권위자는 사용자들이 주어진 시간 간격(가령, 일관성을 벗어나지 않을 때, 각 시간 간격이 1일로 되어있다고 가정)에서 어떤 문을 통과할 수 있는가를 결정한다. 이러한 목적을 위해, 권위자(A)는 자신의 개인 데이터베이스(DB1)를 사용할 수 있어서, 누가 주어진 시간에서 어떤 문을 통과할 수 있는가에 관한 모든 권한들을 저장할 수 있다. A는 이 데이터베이스를 보호하고, 그렇지 않으면 침입자가 자신의 편의대로 데이터베이스에 저장된 권한들을 변경할 수 있다. 그러나 A는 아래와 같이 DB로부터 공개 데이터베이스(PDB)를 연산한다. 날짜 d에서 문 D를 통과할 권한을 갖는 각 사용자(U)에 대하여, A는 디지털 서명 SUDd를 연산한다. 예를 들어, A는 SUDd=SIGA(U,D,d)를 연산한다. A만이 이러한 디지털 서명을 연산할 수 있고, 반면 A의 공개 키(PKA)를 갖는 모든 것들은 상기 서명을 검증할 수 있음에 유의해야 한다. 이러한 서명은 A의 비밀 키(SKA)를 모르는 사람에 의해서는 위조될 수 없으며, 또한 상기 서명을 무효로 만들지 않으면 어떤 방식으로도(가령, U의 권한을 인증되지 않은 사용자 U에 대한 권한으로 변환하는 것) 수정될 수 없다. 따라서 A는 적절히 연산하여 이러한 서명들을 저장소(PR)로 보낼 수 있다. 저장소는 사용자가 접근할 수 있는 장소이다. 예를 들어, 서버는 큰 시설의 직원용 입구(가령, 공항에서 직원용 입구)에 위치할 수 있다. A의 서명들은 위조할 수 없기 때문에, A와 PR 사이의 연결은 보안의 필요가 없다. A는 적절한 시간 내에 자신의 서명을 PR에 계속 이동한다.The authority determines which statements a user can pass in a given time interval (e.g., assuming that each time interval is one day when inconsistent). For this purpose, the authority A can use his personal database DB1, storing all the authority as to who can pass through which door at any given time. A protects this database or the attacker can change the privileges stored in the database at his convenience. However, A computes a public database (PDB) from the DB as shown below. For each user U who is authorized to pass through door D on date d, A computes digital signature SUDd. For example, A computes SUDd = SIG A (U, D, d). It should be noted that only A can compute this digital signature, while everything with A's public key (PKA) can verify the signature. Such a signature cannot be forged by anyone who does not know A's secret key (SKA), and also does not invalidate the signature in any way (e.g., converting U's authority to that of an unauthenticated user U). Cannot be modified). Thus A can compute these and send these signatures to the storage PR. A repository is a place that a user can access. For example, the server may be located at an employee entrance in a large facility (eg, an employee entrance at an airport). Since A's signatures cannot be forged, the connection between A and PR does not require security. A keeps moving his signature to the PR within a reasonable time.

직원(U)이 날짜 d에 출근하여 시설물(가령, PR이 위치하고 있는 입구 지점을 통과하여)에 도달할 때, 상기 직원은 자신의 카드를 PR에 연결할 수 있다(가령, 상기 직원은 PR과 연결된 혹은 PR과 통신하는 카드 판독기/라이터에 자신의 카드를 삽입한다). 이렇게 함으로써 그는 자신의 카드에서 SIGUDd를 획득하고, 상기 디지털 서명은 상기 직원이 그 날짜에 문(D)을 통과할 수 있는 권한이 부여됨을 가리킨다. 이는 상기 입구 지점이 A와 연결될 필요가 있고, 이러한 연결은 안전할 필요는 없다. 실제로, D가 하나의 문을 나타낼 필요는 없다. 예를 들어, D는 문들의 집합(가령, 수하물 처리 문들)을 가리킬 수 있고, A의 서명은 사용자(U)가 D로 표시되는 각 문을 통과할 수 있음을 가리킨다. 대안으로, 다수의 문들(D1,...,Dn)은 차례로 하나씩 표시될 수 있고, 그리고 사용자(U)가 그 날 다수의 문 각각을 통과할 수 있는 사실은 하나 이상의 A의 서명에 의해 표시될 수 있다. 예를 들어, SIGUD1d ... SIGUDnd 이다. 어느 경우든 이러한 모든 서명들은 사용자의 카드에 전달된다.When an employee U arrives at date d to reach a facility (eg, through the entry point where the PR is located), the employee can link his card to the PR (eg, the employee is connected to the PR). Or insert your card into a card reader / writer that communicates with the PR). In doing so, he obtains SIGUDd from his card, and the digital signature indicates that the employee is authorized to pass through door D on that date. It is necessary for the inlet point to be connected to A and this connection need not be secure. In fact, D does not have to represent a single statement. For example, D can refer to a set of doors (eg, baggage handling doors), and A's signature indicates that user U can pass through each door denoted by D. Alternatively, the plurality of doors D1, ..., Dn may be displayed one by one, and the fact that the user U can pass each of the plurality of doors that day is indicated by one or more A's signatures. Can be. For example, SIGUD1d ... SIGUDnd. In either case, all these signatures are delivered to the user's card.

사용자(U)는 날짜 d 동안 상기 시설물을 걸어 다니면서 권한이 허용된 문(D)에 도달한다고 가정한다. 따라서 그의 카드는 이제 SIGUDd를 저장한다. 이후 사용자(U)는 자신의 카드(C)를 문(D)에 있는 카드 판독기에 삽입한다. 상기 문과 관련된 프로세서는 이후 상기 SIGUDd가 실제로 A의 공개키를 사용하여 유효한지를 검증한다. 이후 프로세서는 자체 클락을 이용하여 현재 날짜가 실제로 d인지를 검증한다. 만일 상기 두 항목이 사실인 것으로 검증되면, 문(D)은 열린다. 상기 문은 실제로 다양한 방법으로 신분 확인을 실행함으로써 카드보유자를 확인할 수 있음에 유의해야 한다. 특히, 사용자는 또한 상기 문에 관련된 키패드 상에서 자신의 PIN을 입력해야 할 필요가 있다. (앞서 와는 달리, 해고된 직원은 그가 비록 자신의 PIN을 기억하고 있더라도 문(D)에 들어갈 수 없다는 점에 유의해야 한다. 실제로 이 예에서 문은 상기 PIN 그리고 현재 날짜에 대한 정확한 서명을 필요로 할 것이다. 그러나 사용자가 해고된 후에는, A가 그 이후의 날짜 d에 대한 서명 SIGUDd를 생성하지 않기 때문에, 상기 사용자는 문에 이러한 서명을 부여할 수 없게 된다. 또한 그는 A의 이러한 서명을 위조할 수도 없다. 따라서 그는 해고된 이후에는 어떤 날짜에도 문(D)이 열리게 할 수 없다.) 대안으로, 사용자(U)가 카드(C)의 뒷면에서 키패드 상에 올바른 PIN을 입력할 때만, 상기 카드는 SIGUDd를 문의 카드 판독기에 전달할 수 있으며, 그리고 저장소(PR)는 상기 카드(C)가 실제로 사용자(U)의 카드인지를 입증한 후에만 카드 상에 SIGUDd를 다운로드할 것이다. 대안으로, 사용자(U)는 U에 속하는 카드(C)용 식별자를 제공할 수 있고, 그리고 카드 판독기에 삽입될 때 상기 카드는 가령, 암호법 프로토콜과 같은 수단에 의하여 실제로 사용자의 카드인지를 입증한다. 대안으로, U의 카드는 U에 대한 인증서를 지니고 있어서, 적절한 PIN이 입력된 후 카드는 상기 문의 랜덤 챌린지를 해독함으로써 U의 신분을 검증한다. 이 경우 SIGUDd는, U의 인증서가 U에 대한 권한을 지니고 있음을 나타냄으로써 사용자는 문(D)을 통과할 권한을 갖게 된다는 것을 보이는 것이 바람직하다. 예를 들어, SIGUDd = SIGuDd 이고, 이때 u는 U의 인증서에 대한 식별자로서, 가령 U의 인증서의 일련 번호(및 발행자)가 될 수 있다.It is assumed that user U walks through the facility during the date d and reaches the door D where he is authorized. Thus his card now stores SIGUDd. The user U then inserts his card C into the card reader in the door D. The processor associated with the statement then verifies that the SIGUDd is actually valid using A's public key. The processor then uses its clock to verify that the current date is actually d. If both items are verified to be true, door D is opened. It should be noted that the statement can verify the cardholder by actually performing identification in a variety of ways. In particular, the user also needs to enter his PIN on the keypad associated with the door. (Unlike the previous, the dismissed employee must be aware that he cannot enter door D even if he remembers his PIN. In this example, the door requires the PIN and the correct signature for the current date. However, after the user is dismissed, the user will not be able to grant this signature to the statement, since A does not create a signature SIGUDd for a later date d. Therefore, he can't let Door D open on any date after he is fired.) Alternatively, only when user U enters the correct PIN on the keypad at the back of card C. The card can deliver the SIGUDd to the inquiry card reader, and the storage PR will download the SIGUDd on the card only after the card C proves that it is actually the user's card. Alternatively, the user U can provide an identifier for the card C belonging to U, and when inserted into the card reader the card proves that it is indeed the user's card, for example by means of cryptographic protocols. do. Alternatively, U's card has a certificate for U, so that after the appropriate PIN is entered, the card verifies U's identity by decrypting the random challenge of the query. In this case, SIGUDd preferably indicates that the user has the right to pass through the door D by indicating that the U's certificate has authority to the U. For example, SIGUDd = SIGuDd, where u is an identifier for U's certificate, such as the serial number (and issuer) of U's certificate.

이러한 모든 방식에서, 상기 문은 A로부터 "비접속"되어 있음을 알아야 한다. 상기 문은 가능하면 U를 식별하고 그리고 상기 사용자가 내부 연산을 통해 입장하여 A의 공개 키 및 내부 클락을 이용할 수 있는 권한을 갖는지 만을 체크한다. 따라서 상기 시스템은 매우 안전하고 또한 매우 경제적이다.In all these ways, it should be noted that the statement is "disconnected" from A. The statement identifies U if possible and checks only if the user has access to A's public key and internal clock through an internal operation. The system is thus very safe and very economical.

이러한 유효성 또는 인증에 대한 검증은 많은 서로 다른 방식으로 제공될 수 있다. 다음은 어떻게 이러한 검증이 이루어질 수 있는가를 보여주는 예이다.Verification for such validity or authentication can be provided in many different ways. The following is an example of how this verification can be done.

예 2:Example 2:

카드 주인은 적절한 시간에 상기 유효성의 검증을 획득할 수 있다. 예를 들어, 업무 환경에서 각 개인은 업무 보고 시 현재의 유효성 검증을 획득할 수 있다. 많은 업무 장소에서(특히 공항과 같이 보안에 민감한 장소에서), 업무 보고 시 직원들은 서명하여 기록을 한다. 이러한 "서명 기록(sign in)"은 20 바이트 유효성의 SIGUDd를 획득하여 이를 카드에 저장하는 것을 포함한다. 상기 카드는 유선 혹은 무선 연결을 통하여 상기 값을 획득할 수 있다.The cardholder can obtain the validation of the validity at the appropriate time. For example, in a work environment, each individual can obtain current validation when reporting on work. In many workplaces (especially in security-sensitive locations such as airports), employees sign and record their work reports. This "sign in " involves obtaining a 20 byte valid SIGUDd and storing it on the card. The card can obtain the value through a wired or wireless connection.

예 3:Example 3:

상기 카드는 가령, 페이퍼 네트워크와 같은 무선 네트워크를 통해 유효성 검증을 획득할 수 있다. 적절한 시간에, 만일 상기 카드가 접근이 인증되면, 20 바이트 값이 상기 카드에 보내진다. 대역폭 요건은 아주 작아서, 상기 인증 값은 페이퍼 네트워크에 의해 전송되는 통상의 메시지보다 짧다는 것에 유의해야 한다. 적절한 시간에, 만일 상기 카드가 접근이 허용되면, SIGUDd는 상기 네트워크로 보내진다.The card may obtain validation via, for example, a wireless network such as a paper network. At the appropriate time, if the card is authorized to access, a 20 byte value is sent to the card. It should be noted that the bandwidth requirement is so small that the authentication value is shorter than a normal message sent by the paper network. At the appropriate time, if the card is granted access, SIGUDd is sent to the network.

예 4:Example 4:

상기 문은 유선 혹은 무선의 네트워크를 통하여 유사하게 상기 유효성 검증을 획득할 수 있다.The door can similarly obtain the validation via a wired or wireless network.

예 5:Example 5:

상기 문은 상기 카드가 문과 상호 작용할 때, 필요시 카드에 대한 유효성 검증을 획득할 수 있다.The door can obtain validation for the card when needed when the card interacts with the door.

앞서 언급된 어떠한 방법도 상기 문과 중앙의 서버 사이에 안전한 연결을 필요로 하지 않는다. 이는 상기 유효성 검증이 자기 인증 적이어서, 비록 상기 문이 비보안성 소스로부터 및/또는 안전하지 못한 접속으로부터 유효성 검증을 수신하더라도, 문은 여전히 그 정확도를 확인할 수 있다. 이러한 방법들은 문에 어떠한 연결도 필요로 하지 않기 때문에, 크고 떨어진 영역(다수의 문을 갖는 영역 및 비행기나 트럭의 문과 같은 이동 영역)에서 액세스제어를 위한 훨씬 좋은 수단이 제공된다.None of the aforementioned methods require a secure connection between the door and the central server. This means that the validation is self-authenticating so that even if the statement receives validation from an insecure source and / or from an insecure connection, the statement can still verify its accuracy. Since these methods do not require any connection to the door, a much better means for access control is provided in large and remote areas (areas with multiple doors and moving areas such as airplanes or truck doors).

당분야의 기술자는 상기 20 바이트 유효성 검증이 디지털 서명 방식의 특수한 제한적 방식임을 이해할 수 있지만, 반면 상기 유효성 검증은 간결성 및 효율성과 같은 고유의 이점을 제공하므로, 당해발명을 응용하여 더 많은 이점들이 유도될 수 있다. 당해발명의 우선 실시예의 요소들은 (1)디지털 신호들을 검증할 수 있으며, 성공적으로 검증이 이루어질 경우 상기 문을 여는 수단과 결합되어 있는 문 구조, (2)주어진 시간 동안 상기 문을 통해 입장이 허용되도록 디지털 신호를 제공하는 권위자 요소, 그리고 (3)디지털 서명을 수신하고 이를 제공할 수 있는 카드 혹은 다른 유선/무선 디바이스 요소 이다.One skilled in the art can understand that the 20 byte validation is a special, limited way of digital signature, while the validation provides inherent advantages such as simplicity and efficiency, so that more advantages can be derived from applying the invention. Can be. Elements of the preferred embodiment of the present invention can (1) verify digital signals, and if successful verification, a door structure combined with the means for opening the door, and (2) entry through the door for a given period of time. An authority element that provides a digital signal whenever possible, and (3) a card or other wired / wireless device element capable of receiving and providing a digital signature.

접근에 대한 인증은 아래의 단계들의 시퀀스 중 어떤 것에 의하여 실행될 수있다.Authentication for access can be performed by any of the following sequence of steps.

시퀀스 1: Sequence 1 :

(1)상기 권위자 요소는 카드가 상기 인증용 서명을 수신하도록 하고,(1) the authority element causes the card to receive the authentication signature,

(2)상기 카드는 상기 인증용 서명을 수신 및 저장하며,(2) the card receives and stores the authentication signature,

(3)상기 카드는 문에 상기 인증용 서명을 제공하고, 이때 상기 문은 상기 서명을 검증하고 그리고 상기 인증용 서명이 유효할 경우에만 열린다.(3) The card provides a door with the signature for authentication, wherein the door is opened only if the signature is verified and the authentication signature is valid.

시퀀스 2: Sequence 2 :

(1)상기 카드는 접근에 대하여 권한을 요구하는 문에 제공되고,(1) The card is provided to a door that requires permission for access,

(2)상기 문은 상기 인증용 서명을 요구하며,(2) the statement requires the signature for authentication,

(3)상기 권위자 요소는 상기 문이 상기 인증용 서명을 수신하도록 하고,(3) the authority element causes the statement to receive the authentication signature,

(4)상기 문은 상기 인증용 서명을 검증하고 그리고 상기 인증용 서명이 유효한 경우에만 열린다.(4) The door opens only if the verification signature is valid and the verification signature is valid.

시퀀스 3: Sequence 3 :

(1)상기 카드는 상기 권위자 요소로부터 상기 인증용 서명을 요구하고,(1) the card requires the signature for authentication from the authority element,

(2)상기 권위자 요소는 상기 인증용 서명을 상기 카드에 전송하며,(2) the authority element sends the authentication signature to the card,

(3)상기 카드는 상기 인증용 서명을 수신 및 저장하고,(3) the card receives and stores the signature for authentication,

(4)상기 카드는 문에 상기 인증용 서명을 제공하며, 이때 상기 문은 상기 서명을 검증하고 그리고 상기 인증용 서명이 유효할 경우에만 열린다.(4) The card provides the door with the signature for authentication, wherein the door is opened only if the signature is verified and the certificate for authentication is valid.

시퀀스 4: Sequence 4 :

(1)상기 문은 다수의 카드에 대하여 상기 권위자 요소로부터 접하게 되는 인증용 서명들을 미리 수신하고(문자체의 요구에 의하거나 그렇지 않을 때),(1) the door receives in advance (when requested by the typeface or not) the authentication signatures encountered from the authority element for a number of cards;

(2)상기 카드는 접근에 대한 권한을 요구하는 문에 제공되며,(2) The card is provided at the door requesting permission for access,

(3)상기 문은 상기 카드의 인증용 서명을 검증하고 그리고 상기 서명이 유효한 경우에만 상기 문이 열린다.(3) The door verifies the authenticating signature of the card and the door is opened only if the signature is valid.

이러한 시퀀스들은 많은 예들 중 단지 일부에 해당한다. 게다가, 이러한 시퀀스들은 결합될 수 있다. 예를 들어, 상기 문이 정보/권한 부분(가령, 20 바이트)을 수신할 수 있는 반면, 상기 카드는 또 다른 부분(가령, 디지털 인증서)을 수신할 수 있다. 상기 시퀀스들은 또한 적절한 경우 분리될 수 있다: 상기 카드는 정보/권한 부분(가령, 디지털 인증서)을 먼저 수신하고, 나중에 다른 부분들(가령, 매시간 상기 20바이트 값)을 수신할 수 있다.These sequences are only some of the many examples. In addition, these sequences can be combined. For example, the statement may receive an information / permission part (eg 20 bytes) while the card may receive another part (eg digital certificate). The sequences may also be separated if appropriate: the card may receive the information / authorization part (eg digital certificate) first and later other parts (eg the 20 byte value every hour).

더욱이, 상기 인증용 디지털 서명은 카드보유자의 장기간의 인증서에 결합될 수 있다. 예를 들어, 상기 카드는 매년 유효한 장기간 인증서를 포함할 수 있고, 그리고 상기 권위자 요소는 상기 인증서가 현재 날짜에서 여전히 유효한가를 검증하기 위해 일일 서명을 발행할 수 있다.Moreover, the authentication digital signature can be combined with a cardholder's long term certificate. For example, the card may include a long term certificate that is valid every year, and the authority element may issue a daily signature to verify that the certificate is still valid at the current date.

상기 권위자 요소는 어떠한 요청이 없어도 자동으로 권한을 생성할 수 있다. 예를 들어, 매일 밤 상기 권위자 요소는 그 다음 날 권한이 부여될 직원들에 대한 인증용 서명을 생성할 수 있다. 이러한 액세스방식은 권한 요소가 비상호작용적이고 따라서 안전하게 구축될 수 있게 한다.The authority element can automatically generate a permission without any request. For example, every night the authority element may generate a signature for authentication of employees to be authorized the next day. This approach allows the authorization element to be non-interactive and thus securely built.

게다가, 상기 권위자 요소는 권한을 부여하는 서명을 카드 및/또는 문에 배분하기 위해, 분리되어 있지만 안전하지 못한 디바이스를 사용할 수 있다. 이는 상기 권한 요소가 오직 하나의 작업, 즉 권한 생성에만 초점을 맞추도록 할 것이다. 상기 권한 생성은 상기 안전한 권위자 요소와 상기 문 및 카드(덜 안전할 수 있음) 사이에 성가신 직접 연결의 필요성을 없앨 것이다. 특히, 권한의 배포는 아래와 같이 이루어질 수 있다: (1)상기 권위자 요소는 권한을 생성한다, (2)상기 권위자 요소는 가능하면 안전하지 못한 연결을 통해, 권한을 배포용 데이터베이스에 전송한다. 이러한 데이터베이스는 다수의 위치에 있을 수 있지만, 안전할 필요는 없다. 예를 들어, 다섯 개의 직원용 입구가 있는 회사에서, 각 입구에는 하나의 배분된 데이터베이스가 있을 수 있다. (3)상기 배분 데이터베이스는 요청시("pull") 혹은 자동적으로("push") 카드 및/또는 문에 권한을 전송한다.In addition, the authority element may use a separate but insecure device to distribute the authorizing signature to the card and / or door. This will allow the permission element to focus on only one task, namely permission creation. The authorization creation will obviate the need for cumbersome direct connections between the secure authority element and the door and card (which may be less secure). In particular, the distribution of authority can be done as follows: (1) the authority element creates the authority, and (2) the authority element transmits the authority to the distribution database through an insecure connection if possible. These databases can be in multiple locations, but do not need to be secure. For example, in a company with five employee entrances, each entrance might have one distributed database. (3) The distribution database transmits authority to the card and / or door upon request ("pull") or automatically ("push").

상기 방법을 가능하게 하는 특질은, 상기 권한 자체는 기억되며 오직 권위자 요소에 의해서만 생성될 수 있다는 점이다. 그래서 일단 생성되면, 상기 권한은 가능한 비보안성 라인들 및 디바이스를 통해 보안에의 위험이 없이 배분될 수 있다. 이는 어떤 다른 디바이스가 상기 권위자 요소와 상호작용할 필요성을 없애주고, 따라서 보안을 요하는 어떤 연결보다 값싼 해결책이 된다.The property that enables the method is that the authority itself is stored and can only be generated by the authority element. So once created, the rights can be distributed without any security risk through the devices and devices, possibly insecure. This obviates the need for any other device to interact with the authority element, thus making it a cheaper solution than any connection requiring security.

실제로, 이 시스템에 있는 상기 요소들 간의 어떠한 연결도 안전할 필요는 없다. (단지 상기 권위자 요소 자체는 안전해야 하므로, 부적절한 권한이 생성되지 않는다.) 따라서, 고장 허용(fault-tolerant)된, 분배된 접근의 권한 구조가 훨씬 쉽게 구축될 수 있다. 더욱이, 상기 언급된 바와 같이, 문에 필요한 어떤 연결이 없이도 이러한 구조를 구축할 수 있다.Indeed, no connection between the elements in this system need be secure. (Only the authority element itself must be secure, so no inappropriate authority is created.) Thus, a fault-tolerant, distributed access authority structure can be built much easier. Moreover, as mentioned above, this structure can be constructed without any connection required for the door.

당해발명의 액세스제어 시스템은 섹션 3의 차용 CA와 결합될 수 있다. 예를들어, 몇몇 기관(가령, 사무용 빌딩, 주차 당국, 세탁 당국, 또는 빌딩에서 점유를 공유하는 다수의 회사들)들은 동일한 인증서를 이용할 수 있지만, 인증서 보유자가 다양한 보호 구역에 접근할 수 있는 권한에 대한 개별적 통제는 계속 갖고 있다.The access control system of the present invention may be combined with the borrowing CA of section 3. For example, some agencies (such as office buildings, parking authorities, laundry authorities, or multiple companies sharing occupancy in a building) can use the same certificate, but the certificate holder has access to various protected areas. Individual control over

예 6:Example 6:

상기 시스템은 아래와 같이 동작할 수 있다. 사용자 U(또는 사용자의 카드)는 인증서(CERT)를 갖고 있으며, 이 인증서는 각 문(D)에 대하여 유효성을 확인하는 분야(가령, D365)를 포함한다. 사용자(U)가 날짜 j에서 문(D)을 통과할 수 있는 허가는 상기 기억되는 20 바이트 값은 X365-j를 방출함으로써 검증될 수 있다. 문(D)은 상기 값을 j번 해싱(hashing)함으로써 그리고 상기 결과가 CERT의 유효성 분야(D365)와 일치하는지를 체크함으로써 상기 허가를 확인할 수 있다. A가 다수의 문(가령, 1000개의 문)을 처리해야 한다면, CERT는 1000개의 서로 다른 유효성 분야를 포함할 것이고, 이들 각각은 서로 다른 문에 상응하고, 각 문(Dj)은 j번째 유효성 분야에 관한 연산을 확인한다. 이 경우, 비록 사용자가 각 문을 통과할 수 있는 허가가 개별적으로 검증되더라도, 각 사용자는 주어진 날짜에 기껏해야 1000번의 검증만을 갖는다. 따라서 기껏해야 20K 바이트만이 주어진 날짜에 사용자 카드에 로딩 될 필요가 있다.The system can operate as follows. User U (or user's card) has a certificate (CERT), which includes a field (eg, D365) that validates the validity of each statement (D). The permission for user U to pass through door D at date j can be verified by emitting the stored 20 byte value X365-j. The statement D can confirm the permission by hashing the value j times and by checking that the result matches the validity field D365 of the CERT. If A needs to handle multiple statements (eg 1000 statements), the CERT will contain 1000 different validity fields, each of which corresponds to a different statement, and each statement (Dj) is a jth validity field. Check the operation for. In this case, although the user is individually authorized to pass through each door, each user only has at most 1000 validations on a given date. Therefore, at most, only 20K bytes need to be loaded into the user card on a given date.

여기서의 카드는 일반적인 카드이지만 비접촉식 카드가 될 수 있으며, 카드 판독기는 수신기가 될 수 있고, 그리고 상기 카드는 상기 판독기에 삽입될 필요는 없지만, 판독기에 전송될 필요는 있다. 이러한 무선 카드 판독기의 상호 작용은 상당히 국부적이고, A나 상기 데이터베이스가 멀리 떨어진 경우에는 카드-권위자/데이터베이스와 서로 다르다는 점에 유의해야 한다.The card here is a conventional card but can be a contactless card, a card reader can be a receiver, and the card need not be inserted into the reader, but needs to be transferred to the reader. It should be noted that the interaction of such a wireless card reader is quite local and differs from card-authority / database if A or the database is far away.

더욱이, 상기 인증용 디지털 서명은 카드보유자의 장기간 인증서에 결합될 수 있다. 예를 들어, 상기 카드는 매년 유효한 장기간 인증서를 포함할 수 있고, 그리고 상기 권위자 요소는 상기 인증서가 현재 날짜에 여전히 유효한지를 검증하는 일일 서명을 발행할 수 있다.Moreover, the authentication digital signature can be coupled to the cardholder's long term certificate. For example, the card may include a long-term certificate that is valid every year, and the authority element may issue a daily signature that verifies that the certificate is still valid for the current date.

상기 권위자 요소는 어떤 요구가 없이도 자동적으로 권한을 생성할 수 있다. 예를 들어, 매일 밤 상기 권위자 요소는 그 다음 날에 권한이 부여될 직원들에 대한 인증용 서명을 생성할 수 있다. 이러한 액세스방식은 권한 요소가 비상호작용적이고 따라서 안전하게 구축될 수 있게 한다.The authority element can automatically generate authority without any request. For example, every night the authority element may generate a signature for authentication of employees to be authorized the next day. This approach allows the authorization element to be non-interactive and thus securely built.

실제로, 이 시스템에 있는 상기 요소들 간의 어떠한 연결도 안전할 필요는 없다. (단지 상기 권위자 요소 자체는 안전해야 하므로, 부적절한 권한이 생성되지 않는다.) 따라서, 고장 허용(fault-tolerant)된, 분배된 접근의 권한 구조가 훨씬 쉽게 구축될 수 있다. 더욱이, 상기 언급된 바와 같이, 문에 필요한 어떤 연결이 없이도 이러한 구조를 구축할 수 있다.Indeed, no connection between the elements in this system need be secure. (Only the authority element itself must be secure, so no inappropriate authority is created.) Thus, a fault-tolerant, distributed access authority structure can be built much easier. Moreover, as mentioned above, this structure can be constructed without any connection required for the door.

당해 발명의 액세스제어 시스템은 상기 설명된 차용 CA와 결합될 수 있다. 예를 들어, 몇몇 기관(가령, 사무용 빌딩, 주차 당국, 세탁 당국, 또는 빌딩에서 점유를 공유하는 다수의 회사들)들은 동일한 인증서를 이용할 수 있지만, 인증서 보유자가 다양한 보호 구역에 접근할 수 있는 권한에 대한 개별적 통제는 계속 갖고 있다.The access control system of the present invention can be combined with the borrowing CA described above. For example, some agencies (such as office buildings, parking authorities, laundry authorities, or multiple companies sharing occupancy in a building) can use the same certificate, but the certificate holder has access to various protected areas. Individual control over

비접속된 문에 접근을 기록하는 검증Verification to log access to unconnected doors

비접속 방식이지만 매우 안전하고, 저비용의 편리한 스마트카드는 스마트 문에 우선적으로 연결되어 있는 반면, 스마트 문은 주어진 문을 통한 접근을 기록하는 능력을 제공한다. 예를 들어, 누가 주어진 날짜에 주어진 문을 통과했는지를 아는 것이 중요할 수 있다. 접속 방식 문은 적절한 액세스정보를 떨어져 있는 데이터베이스나 권위자에 전송함으로써 누가 통과했는지를 쉽게 알 수 있을 것이다. 그러나 비접속 문은 그렇지 못할 수 있다. 액세스정보는 문에서 문으로 이러한 정보를 수집하기 위해 적절한 사람을 보내어 수집될 수 있는데, 이는 항상 편리할 수가 없다. 그러나 아래의 시스템은 매우 실용적인 대안을 제시한다.Smart cards, which are connectionless but very secure and low cost, are preferentially connected to smart doors, while smart doors provide the ability to record access through a given door. For example, it may be important to know who passed a given door on a given date. The access statement can easily tell who passed by sending the appropriate access information to a remote database or authority. But disconnected statements may not. Access information can be collected by sending the appropriate person to collect this information from door to door, which is not always convenient. However, the following system offers a very practical alternative.

사용자(U)가 시간(t)에서 문(D)을 통과할 때, 문은 적절한 문자열 LOGUDt를 생성하고, 그리고 이를 국부적으로(적어도 일시적으로) 저장할 수 있다. 이러한 정보가 적절한 데이터베이스에 도달한다는 것을 확인하기 위해, 상기 문은 문을 통해 들어오는데 사용되는 카드를 이용할 것이다. 예를 들어, 문(D)은 다른 사용자(U')(U를 가능하면 포함)의 카드 상에 LOGUDt를 기록(또는 LOGUDt가 기록되게)할 수 있다. U'가 PR(가령, 다음 날)과 혹은 어떤 다른 유선 디바이스와 접속할 때마다, PR이나 상기 디바이스는 LOGUDt를 적절한 데이터베이스에 전송한다. 이러한 방식으로 적절한 데이터베이스는 LOGUDt를 수신하고, 그리고 이후 영구적으로 및 쉽게 검사 가능한 방법으로 LOGUDt를 저장할 것이다. 가능할 경우, 상기 데이터베이스는 LOGUDt의 중복된 사본들(copies)을 수신할 것이지만, 원치 않는 중복을 없애고 순수한 사본만을 보관하는 것은 쉽다.When user U passes through statement D at time t, the statement generates the appropriate string LOGUDt and can store it locally (at least temporarily). To ensure that this information reaches the appropriate database, the door will use the card used to enter through the door. For example, door D may log (or cause LOGUDt to be recorded) on the card of another user U '(including U if possible). Each time U 'connects to a PR (e.g., the next day) or some other wired device, the PR or the device sends LOGUDt to the appropriate database. In this way, the appropriate database will receive the LOGUDt and then store it in a permanent and easily inspectable way. Where possible, the database will receive duplicate copies of LOGUDt, but it is easy to eliminate unwanted duplication and keep only pure copies.

선호되는 LOGUDt는 사용자 자신의 디지털 서명을 포함하는 LOGUDt이다. 이러한 방식으로 사용자(U)는 자신이 주어진 시간에 주어진 문을 통과했다는 것을 쉽게 부인할 수 없고 문의 액세스정보가 거짓이라고 주장할 수 없다. 실제로, 사용자 자신만이 LOGUDt를 생성하는 비밀 서명 키를 갖고 있다. 예를 들어 LOGUDt는 시간 t에서 문(D)을 통과했다는 것을 나타내는 SIGU(D,t)로 이루어져 있다. 이는, 만일 사용자의 카드가 공개 키(PKU)와 정합하는 비밀 서명 키(SKU)를 지니고 있다면, 실행하기가 매우 쉽다. 선호적으로 상기 카드는 또한 PKU에 대한 디지털 인증서를 지니고 있고, 따라서 LOGUD는 SIGU(D,t) 및 사용자 인증서를 포함할 수 있다. 또한 선호적으로, 사용자 카드는 자체 클락 상에 주어진 시간(t)에 따라 SIGU(D,t)를 생성할 수 있고, 그리고 상기 문은 사용자가 이러한 성공적인 액세스검증(SIGU(D,t))을 제공한 이후에만 사용자(U)를 들여보낼 수 있고(가능하다면, 앞서 설명된 바와 같이 다른 권한 검증에 추가하여), 그리고 U에 의해 인증된 시간이 상기 문 클락에 의해 측정된 현재 시간(t')에 충분히 가깝다. 여전히 사용자는 자신이 시간(t)에서 문(D)을 통과했다고 주장할 수 있지만 이 문은 그 밖의 다른 곳에 있었다고, 따라서 SIGU(D,t)는 사용자가 가령 주어진 빌딩의 3층의 제 2 문을 통과했다는 것을 입증하지 못한다. 이러한 주장을 막기 위해서, 또는 이러한 거짓말에 대하여 사용자를 보호하기 위해서, 사용자 카드(디바이스)는 GPS 구조를 포함할 수 있고, 그리고 SIGU(D,t)는 상기 카드에 의해 측정된 국부 위치(lp)를 실제로 포함할 수 있다. 어떤 경우든 사용자는 문에 접근하는 검증을 하고 SIGU(D,t,ps), 상기 문은 시간이 정확하고 국부 위치일 때만 사용자를 받아들인다. 상기 카드/디바이스내의 ps를 계산하기보다, 사용자는 자신이 신뢰하는 하나 이상의 요소들을 사용할 수 있고, 사용자로부터(그리고 사용자 자신의 위치로부터) 상기 요소들이 수신하는 정보를 이용하여 사용자의 위치를 계산할 수 있다.The preferred LOGUDt is a LOGUDt containing the user's own digital signature. In this way, the user U cannot easily deny that he has passed a given statement at a given time and cannot claim that the statement access information is false. In fact, only you have a secret signing key that generates a LOGUDt. For example, LOGUDt consists of SIG U (D, t), which indicates that it passed door D at time t. This is very easy to implement if the user's card has a secret signature key (SKU) that matches the public key (PKU). Preferably the card also has a digital certificate for the PKU, so LOGUD can include SIG U (D, t) and a user certificate. Also preferably, the user card can generate SIG U (D, t) according to a given time t on its clock, and the statement allows the user to make this successful access verification (SIG U (D, t)). User U can only be imported (if possible, in addition to other authorization verifications as described above), and the time authenticated by U is measured by the door clock close enough to t '). Still, the user can claim that he passed through door (D) at time (t), but that door was elsewhere, so SIG U (D, t) is the second floor of the third floor of a given building, You can't prove that you passed the door. To prevent this claim, or to protect the user against such lies, the user card (device) may include a GPS structure, and SIG U (D, t) may be the local position (lp) measured by the card. ) May actually be included. In any case, the user validates access to the door and SIG U (D, t, ps), which accepts the user only when the time is accurate and local. Rather than calculating the ps in the card / device, the user can use one or more elements that he trusts and can calculate the user's location using the information the elements receive from the user (and from the user's own location). have.

기본적 시스템Basic system

도 1에서와 같이, 상기 CA는 발행되었지만 아직 만기가 되지 않은 각 인증서 C1...Ck에 대하여 각 인증서 취소 상태 정보(CRSi)를 하나의 디렉토리에 보낸다. 상기 디렉토리는 검증 기관(CA)의 인증서 일련 번호"i"에 관하여 조회를 요청하는 사용자에게 CRSi를 보낸다.As shown in Figure 1, the CA sends each certificate revocation status information (CRSi) to one directory for each certificate C 1 ... Ck that has been issued but has not yet expired. The directory sends a CRSi to the user requesting a query regarding the certificate serial number "i" of the CA.

디지털 인증서 유효성 검증 프로세스를 통해 물리적 접근을 제어하는 시스템 및 방법이 설명되며, 상기 프로세스는 표준 인증서 포맷(가령, X.509v3)으로써 처리되고 그리고 상기 인증기관(CA)이 어떤 시간 주기(가령, 매일, 매시간, 매분)에서 각 인증서(C)의 유효성 상태를 검증할 수 있게 한다. 인증서(C)의 시간 세분성이 모든 인증서에 대하여 동일하지 않다면, 상기 시간 세분성은 인증서 자체 내에서 구체화될 수 있다. 구체적으로, 우리는 모든 인증서에 대한 1일의 세분성을 가정하고, 그리고 각 인증서는 발행 후 365일 후 만기가 되는 것으로 가정한다.A system and method for controlling physical access through a digital certificate validation process is described, wherein the process is handled in a standard certificate format (e.g., X.509v3) and the CA is at some time period (e.g., daily). , Hourly, minutely) to verify the validity status of each certificate (C). If the time granularity of certificate C is not the same for all certificates, the time granularity can be specified within the certificate itself. Specifically, we assume 1 day granularity for all certificates, and assume that each certificate expires 365 days after issuance.

인증서(C) 생성Generate certificate (C)

일련 번호(SN), 공개 키(PK), 사용자 이름(U), 발행 일자(D1), 만기 일자(D2)(=D1+365)와 같은 전통적인 기호에 추가하여, 인증서(C)는 또한 유일한 20 바이트 값들을 포함한다. 특히, 인증서(C)를 발행하기 전에, CA는 두 개의 다른 20 바이트 값(Y0및 X0)을 무작위로 선택하고, 이들로부터 아래의 성질을 갖는 단방향 해시 함수(H)를 이용하여 두 개의 상응하는 20 바이트 값(Y1및 X365)을 계산한다. - H는 디지털 서명보다 계산하는데 있어서 적어도 10,000배나 빠르다. H는 그 입력 값이 아무리 길더라도 20 바이트 출력을 생성한다. 그리고 H는 역으로 하는 것이 어렵다. 주어진 Y에 대해서, H(X)=Y가 되는 X를 찾는 것은 실제로 불가능하다. (안전한 해시 표준 참조), 1994년 7월 11일 개정된 FIPS PUB 180(연방 등록, Vol.59, No.131, pp.35211-34460), 1994년 8월 5일 개정(연방 등록 Vol 59, No.150, pp.39937-40204). 값(Y1)은 YO를 한번 해시함으로써 Y1= H(Y0)로 계산되고, 그리고 X365는 X0을 365회 해시함으로써 X1=H(X0), X2=H(X1),..,X365=H(X364)로 계산된다. H가 항상 20 바이트 출력값을 생성하기 때문에, Y1, X365및 모든 중간 값들(Xj)은 20 바이트 길이를 갖는다. 값들(Y0,X0,X1,...,X364)은 비밀이 유지되고, 반면 Y1및 X365는 인증서에 포함된다. C=SIGCA(SN, PK, U, D1, D2,...,Y1, X365). 우리는 Y1을 취소 대상으로, X365를 유효성 대상으로 부를 것이다.In addition to traditional symbols such as serial number (SN), public key (PK), user name (U), issue date (D 1 ), expiration date (D 2 ) (= D 1 +365), certificate (C) Also contains only 20 byte values. In particular, before issuing certificate (C), the CA randomly selects two different 20-byte values (Y 0 and X 0 ), and from them uses a one-way hash function (H) with the following properties: The corresponding 20 byte values (Y 1 and X 365 ) are calculated. H is at least 10,000 times faster than a digital signature H produces a 20 byte output no matter how long its input is. And H is difficult to reverse. For a given Y, it is practically impossible to find X where H (X) = Y. (See Safe Hash Standards), FIPS PUB 180 revised on July 11, 1994 (Federal Registration, Vol. 59, No. 131, pp.35211-34460), revised August 5, 1994 (Federated Registration, Vol 59, No. 150, pp. 39937-40204). The value (Y 1 ) is calculated as Y 1 = H (Y 0 ) by hashing Y O once, and X 365 is hashed by X 0 365 times, X 1 = H (X 0 ), X 2 = H (X 1 ), .., X 365 = H (X 364 ). Since H always produces a 20 byte output, Y 1 , X 365 and all intermediate values X j are 20 bytes long. The values Y 0 , X 0 , X 1 , ..., X 364 are kept secret, while Y 1 and X 365 are included in the certificate. C = SIG CA (SN, PK, U, D 1 , D 2 , ..., Y 1 , X 365 ). We will call Y 1 as the cancellation target and X 365 as the validation target.

만기가 되지 않은 인증서(C) 취소 및 유효성 확인Revoke and Validate Unexpired Certificate (C)

C의 발행 후 i번째 날짜에, CA는 다음과 같이 C에 대한 상태의 20 바이트 검증을 계산 및 배포한다. 만일 C가 취소되면, C의 취소에 대한 검증으로서, CA는 Y0을배포하고, 이는 즉 취소 대상 Y1의 H-역수가 된다. 그 밖에, 그 날짜에 C의 유효성에 대한 검증으로서, CA는 유효성 대상 X365의 i번째 H-역수가 되는 X365-i를 배포한다.(가령, C가 발행 100일 후 유효하다는 검증은 X265로 이루어진다.) 상기 CA는 조회에 응답하는 값을 제공함으로써 또는 월드 와이드 웹상에 상기 값을 나타냄으로써 Y0나 X365-i를 배포할 수 있다.On the i th date after issuing C, the CA computes and distributes a 20 byte verification of the status for C as follows. If C is canceled, as verification of C's cancellation, CA distributes Y 0 , which is the H-reciprocal of the cancellation target Y 1 . In addition, as a verification of the validity of C on that date, the CA distributes X 365-i , which is the i-H-reciprocal of the validity X 365 (for example, verifying that C is valid 100 days after publication) consists of 265.) the CA may distribute Y 0 and X 365-i by expressing the value in providing a value that responds to the query or the World wide web.

만기가 되지 않은 인증서(C) 상태 검증Verification of Unexpired Certificate (C) Status

어떤 날짜에, C의 취소 검증(Y0)은 Y0을한번 해싱하고 그리고 그 결과가 C의 취소 대상(Y1)과 같은지 확인함으로써 검증될 수 있다.(즉, 검증자는 Y0이실제로 Y1의 H-역수인지를 검사한다.) Y1은 C의 취소 대상이 되는데, 이는 Y1이 C내에서 인증되기 때문이다. C의 발행 후 i번째 날짜에, C의 유효성 검증은 값(X365-i)을 i번 해싱하고 그 결과가 C의 유효성 대상(X365)과 같은지를 확인함으로써 검증된다. (즉, 검증자는 X365-i가 실제로 X365의 i번째 H-역수인지를 검사한다.) 검증자는 현재 날짜(D) 뿐만 아니라 C의 발행 일자(D1)를 알고 있고(왜냐하면 D1이 C내에서 인증되므로), 따라서 즉시 i=D-D1을 계산한다.At some date, C's cancellation verification (Y 0 ) can be verified by hashing Y 0 once and verifying that the result is the same as C's cancellation target (Y 1 ) (ie, the verifier can verify that Y 0 is actually Y). checks whether the inverse of the 1 H-.) Y 1 is there is a clear target for C, because the Y 1 is authenticated in the C. On the i th date after the issuance of C, the validation of C is verified by hashing the value (X 365-i ) i times and verifying that the result is equal to the validity target of C (X 365 ). (I.e., the verifier checks whether X 365-i is actually the i-th H-inverse of X 365. ) The verifier knows not only the current date (D) but also the issue date of C (D 1 ) (since D 1 Because it is authenticated in C), it immediately calculates i = DD 1 .

보안security

취소의 검증은 위조될 수 없다.Verification of cancellation cannot be forged.

인증서(C)의 취소 검증은 C의 취소 대상(Y1)의 H-역수로 구성된다. H는 기본적으로 역으로 되기가 불가능하므로, 일단 검증자가 주어진 20 바이트 값(Y0)이 실제로 C의 취소 검증인가를 확인하면, 상기 검증자는 Y0이상기 CA에 의해 배포된 것으로 알고 있다. 실제로, CA만이 Y1의 H-역수를 계산할 수 있는데, 그 이유는 CA가 그 밖에 다른 것보다 H를 잘 역함수를 취할 수 있게 하기 때문이 아니라, CA가 Y0로부터 시작하여 해싱 함으로써 Y1을 계산하였기 때문이다. C가 유효한 이상 CA는 결코 C의 취소 검증을 배포할 수 없기 때문에, 침입자는 취소 검증을 속일 수 없다.The revocation verification of certificate C consists of the H-reciprocal of C's revocation subject Y 1 . Since H is basically incapable of reversing, once the verifier verifies that the given 20 byte value (Y 0 ) is actually a cancel verification of C, the verifier knows that Y 0 has been distributed by the CA. In fact, only CA can calculate the H-inverse of Y 1 , not because CA can take H inversely better than others, but because CA starts with Y 0 and hashes Y 1 . Because it was calculated. As long as C is valid, the CA can never distribute C's revocation verification, so the attacker cannot fool the revocation verification.

유효성 검증은 위조될 수 없다Validation cannot be forged

날짜 i에, 인증서(C)의 유효성 검증은 C의 유효성 대상(X365)의 i번째 H-역수로 구성된다. H는 기본적으로 역으로 되기가 불가능하므로, 일단 검증자가 주어진 20 바이트 값(X365-i)이 실제로 그 날짜에서 C의 유효성 검증인가를 확인하면, 상기 검증자는 상기 CA가 X365-i를 배포한 것으로 알고 있다. 실제로, CA만이 X365의 i번째 H-역수를 계산할 수 있는데, 그 이유는 CA가 그 밖에 다른 것보다 H를 잘 역함수를 취할 수 있게 하기 때문이 아니라, CA가 X0로부터 시작하여 이를 365번 해싱 함으로써 X365를 계산하였기 때문이다. 만일 C가 i+1 날짜에 취소된다면, 상기 CA는 앞선 i날짜에서 값들(X365-1,...,X365-i)을 이미 배포하였지만 값(X365-i-1)(또는 j<365-i인어떤 다른 값 Xj)은 향후 결코 배포하지 않을 것이다. 결과적으로, i+1 날짜에서 C의 유효성 검증을 위조하기 위해서, 침입자는 X365(즉, X365-i의 H-역수)에 관하여 자신의 i+1번째 H-역수를 계산해야 하고, 이는 매우 어려운 일이다. 그렇게 하기 위해서는, 침입자는 입력 X365-i상에서 H의 역을 가질 수 있어야 한다. 예를 들어, 만일 침입자가 i+2 날짜에 C의 유효성 검증을 계산할 수 있으면, 이를 한번 해싱 함으로써 X365-i-1즉, X365-i의 H-역수를 쉽게 획득할 것이다.On date i, validation of certificate C consists of the i-th H-reciprocal of validity object of C (X 365 ). H cannot be reversed by default, so once the verifier verifies that a given 20-byte value (X 365-i ) is actually validating C at that date, the verifier then deploys X 365-i I know that. In fact, only the CA can calculate the i-th H-reciprocal of X 365 , not because it allows CA to take the inverse of H better than elsewhere, but because it starts at X 0 and starts 365 times. This is because X 365 is computed by hashing. If C is canceled on i + 1 date, the CA has already deployed the values (X365-1, ..., X 365-i ) at the preceding i date but the value (X 365-i-1 ) (or j < Any other value X j ) which is 365-i will never be released in the future. As a result, in order to forge the validation of C on an i + 1 date, the attacker would have to compute his i + 1 th H-reciprocal with respect to X 365 (i.e., the H-reciprocal of X 365-i ). It is very difficult. To do so, the attacker would need to be able to have the inverse of H on input X 365-i . For example, if an attacker could compute the validation of C on an i + 2 date, hashing it once would easily yield the H-inverse of X 365-i-1 , or X 365-i .

효율성efficiency

인증서(C)는 오직 두 개의 추가적인 20 바이트 값(Y1및 X365)을 갖는다.Certificate C has only two additional 20 byte values (Y 1 and X 365 ).

이는 무시할 만한 희생이라고 할 수 있다. C는 이미 공개 키(PK)(적어도 1024 비트 길이)를 포함하는 데이터의 CA 서명(적어도 2048 비트 길이)으로 이루어지는 것을 상기하라. 그리고 C는 SN, PK, U, D1및 D2외에 많은 다른 데이터를 포함할 수 있다.This is a negligible sacrifice. Recall that C already consists of a CA signature (at least 2048 bits long) of data that contains a public key (PK) (at least 1024 bits long). And C may include many other data besides SN, PK, U, D 1 and D 2 .

Y1및 X365를 생성하는 것은 총 366 번의 해싱을 필요로 한다.Generating Y 1 and X 365 requires a total of 366 hashes.

이는 무시할 만한 희생이라고 할 수 있다. 인증서를 발행하기 위해서는 서명을 계산할 필요가 있음을 상기하라.This is a negligible sacrifice. Recall that to issue a certificate, you need to calculate the signature.

취소 검증 및 유효성 검증은 20 바이트 길이이다.Revocation validation and validation are 20 bytes long.

20 바이트 검증들은 전송하고 저장하는데 매우 사소하여서, 상기 20 바이트 기술은 무선 응용에 매우 이상적이게 한다(여기의 대역폭은 여전히 제한되어 있기때문에, 많은 이동 전화 및 다른 무선 디바이스의 저장 용량에 있어서도 마찬가지다).Twenty byte verifications are so trivial to transmit and store that the 20 byte technique makes it very ideal for wireless applications (as is the storage capacity of many mobile phones and other wireless devices, since the bandwidth here is still limited).

당해발명의 실시예에 따른 검증은 매우 짧은데, 이는 단방향 함수와 같은 기본적인 암호 요소들로부터 보안을 유도하기 때문이고, 이는 보안의 지수 함수적 양을 보여준다. (매우 다르게, 디지털 서명 방식은 복잡한 보안 요건을 갖는다. 일반적인 수론적(number-theoretic) 구현 예들은 기껏해야 보안의 보조-지수 함수적 양을 제공하므로, 훨씬 긴 키들을 필요로 한다.)The verification according to an embodiment of the present invention is very short because it derives security from basic cryptographic elements, such as one-way functions, which shows an exponential amount of security. (Very different, digital signature schemes have complex security requirements. Typical number-theoretic implementations provide much longer sub-exponential functional amounts of security, requiring much longer keys.)

인증서의 총 수가 몇 백 혹은 몇 십억이든 간에 상기 검증들은 20 바이트 길이를 유지한다. 실제로, 2160개의 가능한 20 바이트 길이의 문자열이 있고, 그리고 두 개의 인증서가 공통의 취소 검증 혹은 유효성 검증을 가질 수 있는 가능성은 무시할 만하다.Regardless of the total number of certificates or billions of certificates, the verifications are 20 bytes long. In fact, there are 2 160 possible 20 byte long strings, and the possibility that two certificates can have common revocation verification or validation is negligible.

20 바이트 길이의 검증들은 암호화 혹은 인증에 의해 증가하지는 않는다. 20 바이트 검증들은 공개적이어서 암호화될 필요는 없다. 유사하게, 20 바이트 검증들은 자기 인증적이다: 상기 검증들을 적절한 회수로 해싱 함으로써 상기 검증들은 상기 인증서 내에서 유효성 대상 또는 취소 대상을 생성한다. 만일 위조되거나 변경될 경우 상기 검증은 생성되지 않을 것이고, 따라서 어떠한 방식으로도 서명되거나 인증될 필요가 없다.Verifications of 20 bytes in length are not incremented by encryption or authentication. The 20 byte verifications are public and do not need to be encrypted. Similarly, 20 byte verifications are self-authenticating: by hashing the verifications to an appropriate number of times, the verifications create a validity or revocation object in the certificate. If forged or altered the verification will not be generated and therefore does not need to be signed or authenticated in any way.

마지막으로, 날짜 i에서 20 바이트 길이의 유효성 검증(X365-i)은 값(i)을 추가로 포함할 필요가 없다: 어떤 의미에서 상기 검증은 자체의 타임스탬프(timestamp)를 이미 포함하고 있다. 실제로, 앞서 설명된 바와 같이, i는 현재 날짜와 인증서 발행일 사이의 차이이고, 만일 X365-i를 i번 해싱 하는 것이 인증서(C)의 유효성 대상을 생성한다면, 이는 X365-i가 날짜 i에서 C의 유효성 검증이라는 것을 입증한다.Finally, a 20 byte long validation (X 365-i ) on date i need not additionally include a value (i): in some sense the validation already contains its own timestamp. . Indeed, as explained above, i is the difference between the current date and the certificate issue date, and if hashing X 365-i i times creates a validity target for certificate (C), then X 365-i is date i Prove that C is a validation of C.

상기 20 바이트 검증들은 즉시 계산된다. The 20 byte verifications are calculated immediately .

취소 검증(Y0) 또는 유효성 검증(X365-i)은 메모리로부터 검색된다. (대안으로, 가령, 겨우 364 해싱에 의해 만일 X0이인증서 발행 동안 저장된다면, 각 X365-i는 날짜 i에서 동작 중에 다시 계산될 수 있다. 놀랍게도 더욱 효율적인 방법들이 다음 섹션에서 논의된다.)Revocation verification (Y 0 ) or validation (X 365-i ) is retrieved from memory. (Alternatively, if, for example, by only 364 hashing, X 0 is stored during certificate issuance, each X 365-i can be recalculated in operation on date i. Surprisingly more efficient methods are discussed in the next section.)

무선 환경Wireless environment

당해발명의 실시예들은 무선 구현 예에 대하여 이상적이다. 그 구현 범위는 매우 커서 매우 쉽게 수십억 개의 인증서를 수용할 수 있다. 필요한 대역폭은 무시할 만해서 기본적으로 조회에 대한 30 비트의 일련 번호 및 응답에 대한 20바이트를 필요로 한다. 인증서-상태 조회가 하나의 테이블 조회에 의해 응답이 되고 그리고 즉시 검증이 되기 때문에 대역폭이 필요로 하는 계산은 무시할 만하다. 물론, 큰 범위, 최소의 대역폭 및 사소한 계산은 당해발명을 무선 환경에서 사용할 수 있게 한다.Embodiments of the present invention are ideal for wireless implementations. Its implementation range is so large that it can easily accommodate billions of certificates. The required bandwidth is negligible and basically requires 30 bits of serial number for the inquiry and 20 bytes for the response. The calculations that require bandwidth are negligible because the certificate-status lookup is answered by a table lookup and is immediately validated. Of course, large range, minimal bandwidth and minor calculations make the invention available in wireless environments.

그러나 무선 응용 예에서 추가로 장점을 제공하는 또 다른 사용예가 있다. 즉, 매일 아침 무선 사용자는 남은 하루에 대하여 자신의 인증서에 대한 20바이트유효성 검증을 수신한다. (상기 20 바이트 값은 사용자의 요구 시 획득될 수 있거나 또는 가령, SMS 메시지나 다른 제어 메시지에 의해서 사용자의 셀룰러 디바이스에 자동으로 입력된다.) 사소한 길이로 인해, 이러한 검증은 대부분의 셀룰러폰이나 PDA에 쉽게 저장될 수 있다. 그 후 사용자가 그 날에 상거래를 원할 때마다, 사용자는 그 날에 대한 유효성의 20 바이트 검증과 함께 단순히 자신의 인증서를 보내기만 하면 된다. 유효성의 검증이 범용으로 검증가능하기 때문에, 상기 인증서의 검증자는 어떤 CA 혹은 응답기를 호출할 필요가 없다. 상기 검증자는 완전히 오프라인에서 작용할 수 있다. 어떠한 호출도 돈이나 시간을 들이지 않는 셀룰러 환경에서, 이러한 오프라인 능력은 매우 중요하다.However, there is another use case that provides additional advantages in wireless applications. That is, each morning the wireless user receives a 20-byte validation of his certificate for the remaining days. (The 20 byte value can be obtained at the user's request or automatically entered into the user's cellular device, for example, by an SMS message or other control message.) Due to the minor length, this verification is most likely for most cellular phones or PDAs. Can be easily stored in. Then whenever the user wants to trade on that day, the user simply needs to send his certificate with a 20-byte validation of the day. Since the validation is universally verifiable, the verifier of the certificate does not need to call any CA or responder. The verifier can operate completely offline. In a cellular environment where no calls cost money or time, this offline capability is very important.

OCSP와 비교Compare with OCSP

당해발명 및 OCSP는 둘 다 주문형 시스템이다. 즉 사용자는 인증서의 현재 날짜의 유효성에 관한 조회를 보내고, 응답으로서 위조할 수 없는 그리고 일반적으로 검증할 수 있는 검증을 되돌려 받는다. 그러나 시간 정확성, 대역폭, CA 효율성, 보안 및 작동 비용 등에서 차이가 있다.The invention and OCSP are both on demand systems. That is, the user sends an inquiry about the validity of the current date of the certificate and receives back a non-forgeable and generally verifiable verification as a response. However, there are differences in time accuracy, bandwidth, CA efficiency, security and operating costs.

시간 정확성Time accuracy

원리상, OCSP 응답은 경계를 갖는 않는 정확성으로써 시간을 구체화할 수 있는 반면, 당해발명의 선호되는 실시예에 따른 응답은 미리 지정된 정확성으로써 시간을 구체화한다(1일, 1시간, 1분 등). 작은 값을 갖는 적용예에서, 1일의 유효성은 충분히 수용할 만하다. 대부분의 재정적 적용예에서, 디지털 서명 트러스트(Trust)는 4 시간의 정확성을 고려한다. (아마 이는 보이는 것보다 덜 놀랍다. 대부분의 재정적인 상거래에서 아침에 수신된 주문은 오후에 실행되고, 오후에 수신된 주문은 그 다음 날에 실행된다. 어떤 경우에도, 시간은 무한히 많은 디지트를 갖는 실수(real number)에 의해 구체화되지 않는다. 주문형 유효성 검증 시스템에서, 1분보다 작은 시간 정확도는 거의 무의미한데, 이는 조회하는 측과 응답하는 측의 클락들이 동기화될 수 없기 때문이다. 실제로, 이러한 시스템에서, 15초의 시간 정확성은 사실상 실시간이다.In principle, an OCSP response may specify time with no bounded accuracy, while a response according to a preferred embodiment of the present invention materializes time with a predetermined accuracy (1 day, 1 hour, 1 minute, etc.). . In applications with small values, the effectiveness of one day is sufficiently acceptable. In most financial applications, the digital signature trust takes into account four hours of accuracy. (This is probably less surprising than it seems. In most financial transactions, orders received in the morning are executed in the afternoon and orders received in the afternoon are executed the next day. In any case, time has infinitely many digits. It is not specified by a real number In an on-demand validation system, time accuracy less than one minute is almost insignificant because the clocks of the querying and responding sides cannot be synchronized. In 15 seconds the time accuracy is virtually real time.

이러한 고도의 정확성을 다루기 위해서, 당해발명의 선호되는 실시예는 거의 1M 길이의 해시 체인을 계산하는데(즉, X1M의 유효성 분야를 계산할 필요가 있다), 이는 기껏해야 1년에 527,040분이 있기 때문이다. 만일 그렇게 긴 체인들이 효율적으로 다루어질 수 있다면, 당해발명의 선호되는 실시예는 사실상 실시간일 것이다. 1M 해싱은 매우 적절한 플랫폼을 사용하여 1초보다 작은 시간에서 실행될 수 있기 때문에 1M 해싱을 계산하는 것은 인증서 발행에서 문제가 되지 않는다. 그리고 인증서는 대개 일 년에 한번만 발행되고, 엄청난 시간의 압박 하에서는 발행되지 않는다. 유사하게, 계산상 1초는 인증서의 유효성을 검증하는 검증자(가령, 인증서에 의존하는 상인)에게는 문제가 되지 않는데, 이는 상인이 개별적 상거래에만 초점을 두고 현장에서 많은 시간을 보낸다는 것을 고려한다면 문제가 되지 않기 때문이다. 그러나 인증서-상태 요구 당 1M 해싱을 계산하는 것은 한 번에 많은 상거래를 다루기 때문에 유효성 검증을 생성하는 서버의 성능에 영향을 미친다. 다행히도, 이러한 서버는 X0으로부터 시작하여 이러한 모든 해싱을 온라인으로 계산할 필요는 없지만, 테이블 조회에 의하여 모든 인증서의 완전한 해시-체인을 기억장치에 갖게 된다. 그럼에도 불구하고, 1M 길이의 해시 체인을 저장하는 것은 엄청난 수의 인증서를 갖는 적용예에서 문제가 될 수 있다. 그러나 다행히도, 나중에 언급할 것이지만, 일반적인 서버도 더 좋은 알고리즘을 사용하면 놀라운 효율성으로써 1M 길이의 해시 체인을 재-계산할 수 있다.To address this high degree of accuracy, the preferred embodiment of the present invention computes a hash chain that is nearly 1M long (i.e., it is necessary to calculate the field of validity of X 1M ), since at most 527,040 minutes per year. to be. If such long chains can be handled efficiently, the preferred embodiment of the invention will be in real time. Computing 1M hashing is not a problem in certificate issuance, because 1M hashing can be executed in less than one second using a very appropriate platform. And a certificate is usually issued only once a year, not under tremendous time pressure. Similarly, one second in calculation is not a problem for validators who validate certificates (eg, merchants that rely on certificates), given that merchants spend a lot of time in the field focusing on individual commerce. This is not a problem. However, calculating 1M hashing per certificate-status request affects the performance of the server generating validation because it handles a lot of commerce at once. Fortunately, these servers do not need to compute all these hashes online, starting from X 0 , but have a complete hash-chain of all certificates in storage by table lookup. Nevertheless, storing a hash chain of 1M length can be problematic in applications with a huge number of certificates. But fortunately, as will be mentioned later, even a normal server can re-calculate a 1M long hash chain with incredible efficiency using better algorithms.

대역폭 : 당해발명의 선호되는 실시예는 OCSP 상에 확실한 대역폭 장점을 갖는다. 상기 선호되는 실시예는 20 바이트 응답을 사용하지만, OCSP는 256 바이트를 사용한다.Bandwidth: The preferred embodiment of the present invention has certain bandwidth advantages on OCSP. The preferred embodiment uses a 20 byte response, but the OCSP uses 256 bytes.

CA 효율성 : 유효성 조회는 상기 CA가 각 인증서에 대하여 전체 X-체인을 저장하는 한, 당해발명의 경우 사소한 테이블 조회에 의하여 OCSP에서의 복잡한 디지털 서명에 의해 응답된다.CA efficiency: The validity lookup is answered by a complex digital signature in OCSP by a trivial table lookup in the present invention, as long as the CA stores the entire X-chain for each certificate.

백만 개의 인증서를 갖는 집단에 있어서, 상기 CA는 만일 시간 정확도가 1일 또는 1시간일 경우, 각 인증서에 대한 전체 X-체인을 저장할 여유가 있다. (첫째 경우, 상기 CA는 365개의 20 바이트 값들을 저장해야할 것이다. 즉 인증서 당 7.3K 바이트이고 따라서 전체 인증서에 대해서는 7.3B 바이트이다. 두 번째 경우, 전체 175.2B 바이트이다.) 만일 시간 정확도가 15초라면, 각 해시 체인은 1M 길이의 20 바이트 값들로 구성될 것이고, 전체 시스템에 대하여 전체 저장 장치는 대략 10.5 테라바이트의 큰 저장 장치를 필요로 할 것이다.For a group of one million certificates, the CA can afford to store the entire X-chain for each certificate if the time accuracy is one day or one hour. (In the first case, the CA would have to store 365 20 byte values, ie 7.3K bytes per certificate and thus 7.3B bytes for the entire certificate. In the second case, 175.2B bytes total.) If the time accuracy is 15 In seconds, each hash chain would consist of 20 byte values of 1M in length, and for the entire system the total storage would require approximately 10.5 terabytes of large storage.

이러한 저장 장치 요건을 과감히 줄이기 위해서, 상기 CA는 각 인증서에 대하여 하나의 20 바이트 값(즉, X0)만을 저장할 수 있고, 그리고 1M 해싱에 의해 X0로부터 Xi를 재-계산한다. 대안으로, 자콥슨(Jacobsson) [5]는 놀라운 시간/저장 절충점을 발견하였다. 즉, 상기 CA는 log(n)해시값을 저장하고 log(n)해시값을 매번 실행함으로써 순차적으로 모든 n개의 Xi값들을 재계산할 것이다. 만일 n이 1M라면, 이는 인증서 당 20개의 해시값을 저장하고 상기 인증서가 유효성 검증을 필요로 할 때마다 매번 20번의 해싱을 실행한다는 것을 의미한다. 다른 사소하지 않은 절충점이 가능하다. 특히, 1M 체인의 경우, 레이진(Reyzin)[R]은 단지 3개의 해시값을 저장하고 매번 100번의 해싱을 실행함으로써 CA가 모든 Xi값들(i=1M에서 1까지 아래로)을 계산할 수 있음을 보여주었다.To drastically reduce this storage requirement, the CA can only store one 20 byte value (ie X 0 ) for each certificate, and re-calculate X i from X 0 by 1M hashing. Alternatively, Jacobsson [5] found a surprising time / storage trade-off. That is, the CA will recalculate all n X i values sequentially by storing the log (n) hash value and executing the log (n) hash value each time. If n is 1M, this means store 20 hash values per certificate and execute 20 hashes each time the certificate needs validation. Other non-trivial tradeoffs are possible. In particular, for 1M chains, Reyzin [R] stores only three hashes and executes 100 hashes each time, allowing CA to calculate all X i values (from i = 1M down to 1). Showed that there is.

요약하면, 사실상 실시간 적용예에서도(즉, 15초의 시간 정확성을 사용하여), 당해발명의 선호되는 실시예는 인증서 당 60 바이트를 저장함으로써 복잡한 디지털 서명 과정을 사소한 100개의 해시 연산으로 대체할 수 있다.In summary, even in real-time applications (i.e. using 15 seconds of time accuracy), the preferred embodiment of the invention can replace a complex digital signature process with a trivial 100 hash operation by storing 60 bytes per certificate. .

보안 및 처리 비용 : 마지막 두 개의 차이점들은 당해발명의 선호되는 실시예의 구현 방식을 구체화하고 OCSP를 고려하여 설명된다.Security and Processing Costs: The last two differences are described taking into account the OCSP and the implementation manner of the preferred embodiment of the present invention.

집중화된 구현 예 : 보안 분석Centralized implementation example: security analysis

인증서의 유효성을 검증하는 과정이 주어진 키의 비밀성에 의존할 경우, 안전한 볼트는 상기키를 보호해야 함으로써 전체 시스템의 보안을 보장하게 된다. 당해발명이나 OCSP의 집중적 구현 예에 의하여, 우리는 하나의 볼트가 모든 유효성에 관한 조회에 응답하게 된다. 만일 이용되는 인증서의 수가 작다면(가령, 100K 정도) 집중화된 구현예가 바람직하고, 따라서 심지어 거의 모든 인증서가 작은 시간 주기에서 사용된 경우에도 상기 볼트는 생성된 조회의 분량을 처리할 수 있고, 거의 동시에 발생하는 유효성에 관한 조회를 발생 한다. 이러한 구현 예에서, 선호되는 실시예는 다음의 관점에서 OCSP보다 우수하다.If the process of validating a certificate relies on the confidentiality of a given key, a secure vault must protect the key, thereby ensuring the security of the entire system. By this invention or intensive implementation of the OCSP, we will have one vault respond to all validity inquiries. If the number of certificates used is small (e.g. around 100K), then a centralized implementation is preferred, so that even if almost all of the certificates are used in small time periods, the vault can handle the volume of generated queries, Generates an inquiry about the validity that occurs at the same time. In this embodiment, the preferred embodiment is superior to OCSP in the following respects.

둠스데이 보호(Doomsday Protection) : 종래의 OCSP에서, 만일 (볼트 및 보안 장치에도 불구하고) 침입자가 볼트를 뚫고 비밀 서명 키를 손상시킨다면, 그는 이미 취소된 인증서를 되살리고 아직 유효한 인증서를 취소시킬 수 있다.(만일 CRL 서명 키가 CRL 시스템에서 손상되는 경우에도 이와 유사하다.) 그와 반대로, 당해발명의 선호되는 실시예에서, 안전한 볼트를 뚫는다고 해서 이미 취소된 인증서의 유효성을 위조하지는 못한다. 실제로, 인증서가 날짜 i에서 취소될 경우, Y0의 취소 검증은 공개되고 동시에 모든 Xi값들(또는 X0에서 X365-i까지의 값들)은 삭제된다. 따라서 손상되더라도, 침입자는 취소된 인증서의 유효성을 연장할 수 없음을 알게 된다. 그렇게 하려면, 침입자는 어떤 도움이 없이도 X365-i에 관한 단방향 해시 H의 역을 가질 수 있어야 한다. 침입자가 손상을 시킨 후 당해발명의 따른 시스템에서 할 수 있는 최악의 경우는 유효한 인증서들의 취소를 위조하는 것이며, 따라서 선의의 사용자가 적법한 상거래를 인증하지 못하게 한다. 물론, 이는 나쁘지만, 정직하지 못한 사용자가 불법적인 상거래를 인증하는 것만큼 나쁘지는 않다.Doomsday Protection: In conventional OCSP, if an attacker (in spite of bolts and security devices) breaks through the vault and compromises the secret signing key, he can revoke an already revoked certificate and revoke a still valid certificate. (Similarly, if a CRL signing key is compromised in a CRL system.) In contrast, in a preferred embodiment of the invention, breaking a secure vault does not forge the validity of an already revoked certificate. In fact, if the certificate is revoked on date i, the revocation verification of Y 0 is published and all X i values (or values from X 0 to X 365-i ) are deleted at the same time. Thus, even if compromised, the attacker could not extend the validity of the revoked certificate. To do so, the attacker would have to be able to have the inverse of the one - way hash H on X 365-i without any help. The worst thing an attacker could do in a system according to the invention after compromising it would be to forge the revocation of valid certificates, thus preventing a bona fide user from authenticating legitimate transactions. Of course, this is bad, but not as bad as an honest user authenticating illegal commerce.

분배된 구현 예 : 보안 및 처리 비용 분석Distributed implementation example: Security and processing cost analysis

집중화된 구현 예들은 인증서의 유효성에 관한 모든 조회가 동일한 볼트로경로가 정해질 것을 요한다. 이는 수백만 개의 인증서가 사용 중인 적용예에서는 오랫동안 지연되고 쉽게 서비스가 중지될 수 있다. 이러한 혼잡, 지연, 서비스 중지 등을 막기 위해서는 유효성 조회에 응답하는 부하를 몇 개의, 지리적으로 분산된, 응답기 서버들에 분산할 수 있다. 그러나 OCSP의 경우, 추가되는 응답기 각각은 비밀 서명 키를 갖고 있어야 하고, 이는 하나의 볼트에 호스트될 필요가 있어서 OCSP 시스템의 소유권 비용을 매우 늘어나게 한다. 재무상 비용 요건을 충족시키는 고 등급의 볼트는 구축하는데 적어도 백만 달러 및 운영하는데 적어도 백만 달러가 들게 된다. (좋은 볼트는 콘크리트, 강철 문, 백업 파워 제너레이터, 및 상기 제너레이터를 오랜 시간 잠재적으로 작동하기 위한 보호된 연료 저장소 등을 포함할 것이다. 상기 좋은 볼트를 운영하기 위해서는 24ㅧ 7ㅧ 365 동작 및 추가 관리 감독을 위하여 최소한 4개의 팀을 필요로 할 것이다.) 이러한 볼트를 10개나 필요로 하는 적용예에서는 최대 트래픽에서도 빠른 응답을 보장하지만, OCSP 시스템의 소유 비용은 초기 천만 달러의 투자비용 및 매년 천만 달러의 운영 예산이 필요할 것이다. 비록 덜 안전한 볼트 및 처리 과정이 이용되더라도, 초기 및 운영비용에 있어 수백만 달러가 필요할 것이다.Centralized implementations require that all queries about the validity of a certificate be routed to the same vault. This can be long delayed and easily shut down in applications where millions of certificates are in use. To prevent such congestion, delays, service outages, etc., the load in response to validity lookup can be distributed across several, geographically distributed, responder servers. However, in the case of OCSP, each added responder must have a secret signing key, which needs to be hosted in a vault, greatly increasing the cost of ownership of the OCSP system. High-grade bolts that meet financial cost requirements will cost at least $ 1 million to build and at least $ 1 million to operate. (Good bolts will include concrete, steel doors, backup power generators, and protected fuel reservoirs for potentially long-term operation of the generators. You will need at least four teams for supervision.) Applications requiring ten of these bolts will ensure fast response even at maximum traffic, but the cost of owning an OCSP system is an initial $ 10 million investment and $ 10 million annually. Will require an operating budget. Although less secure bolts and processing are used, millions of dollars will be required for initial and operational costs.

그러나 당해발명의 선호되는 실시예에서, 분산된 구현 예는 하나의 볼트 및 임의의 수의 비보안성 응답기들(즉, 보통의 서버)로써 이루어질 수 있다. 당해발명에 따른 세부사항을 구체적으로 볼 경우, (a)10M의 인증서가 있고 (b)1000개의 서버가 응답 시간을 최소화하기 위해 전 세계에 전략적으로 위치하고, 그리고 (c)시간 세분성은 1일로 가정한다.However, in a preferred embodiment of the present invention, a distributed implementation may consist of one vault and any number of insecure responders (ie, a normal server). In detail, according to the invention, it is assumed that (a) there are 10M certificates, (b) 1000 servers are strategically located around the world to minimize response time, and (c) the time granularity is 1 day. do.

CA 처리(초기화 비용) : 매일 아침 가장 작은 일련번호로부터 시작하여 아래와 같이 10M-엔트리 어레이(F)를 컴파일 한다. 일련 번호(j)를 갖는 각 인증서(C)에 대하여, C의 20 바이트 유효성/취소 검증을 위치(j)에 저장한다. 그 후 날짜를 적고 서명하며(F) 그리고 이를 1000개의 각 서버에 보낸다.CA processing (initialization cost): Start with the smallest serial number each morning and compile a 10M-entry array (F) as shown below. For each certificate C with serial number j, the 20 byte validity / cancellation verification of C is stored at location j. It then writes the date, signs it (F) and sends it to each of the 1000 servers.

사용자 처리(조회 비용) : 인증서(C)의 상태를 알기 위해서, C의 일련 번호(j)를 보내고, (필요한 경우 CA ID를) 서버(S)에 보낸다.User processing (query cost): To know the status of the certificate C, send the serial number j of C, and (if necessary, the CA ID) to the server S.

서버 처리(응답 비용) : 매일 아침, 적절하게 날짜가 기입되고 서명된 어레이(F)가 수신되면, 오래된 어레이를 새로운 어레이로 대체한다.Server Processing (Response Cost): Every morning, when a properly dated and signed array F is received, the old array is replaced with a new array.

어떤 경우에도 20 바이트 값을 현재(F)의 위치(j)에 되돌림으로써 일련 번호(j)에 관한 조회에 응답한다.In any case, it responds to the inquiry about the serial number j by returning the 20 byte value to the position j of the current F.

선호되는 실시예의 처리 과정Processing Procedures of Preferred Embodiments

1. 어레이(F)의 준비는 즉시 이루어진다.1. Preparation of the array F takes place immediately.

만일 전체 해시 체인이 각 인증서에 대하여 저장된다면, 각 엔트리는 단순한 테이블 조회 동작에 의해 계산된다. 대안적 실시예에서, 각 엔트리는 또한 즉시 계산된다.If the entire hash chain is stored for each certificate, each entry is calculated by a simple table lookup operation. In an alternative embodiment, each entry is also calculated immediately.

2. F는 어떠한 비밀도 포함하지 않는다.2. F does not contain any secrets.

F는 여전히 유효한 인증서 및 취소된 인증서의 정확하고 완전한 설명을 포함한다. (CA의 목적은 실제로 이러한 비밀스럽지 않은 정보를 가장 효율적인 방식으로 가능한 공개하는 것이다.)F still contains an accurate and complete description of valid and revoked certificates. (The purpose of the CA is to actually release this non-confidential information in the most efficient way possible.)

3. F를 서버로 전송하는 것은 간단하다.3. Sending F to the server is simple.

이는 F가 아무런 비밀도 포함하지 않고, 어떠한 암호화 과정도 필요로 하지 않고, 그리고 어떠한 보안상의 위험도 제기하지 않기 때문이다. 비록 10M 인증서들이 크지만, 200M-바이트 파일을 1000개의 서버에 일정한 주기로 전송하는 것은 충분히 행할 수 있다.This is because F contains no secrets, no encryption process, and poses no security risks. Although 10M certificates are large, sending a 200M-byte file to 1000 servers at regular intervals may be sufficient.

4. 각 서버의 응답은 20 바이트 길이이다.4. Each server's response is 20 bytes long.

다시 말해서, 각 응답은 어떠한 암호화 과정, 서명 혹은 타임스탬프도 필요로 하지 않는다.In other words, each response does not require any encryption process, signature or timestamp.

5. 부정직한 서비스 중지는 없다.5. No dishonest suspension of service.

전송된 각 값이 20 바이트 길이이고, 이러한 각 값이 (테이블 조회에 의해)즉시 계산되고, 그리고 트래픽이 1000개의 서버를 통해 분산될 수 있기 때문에, 적법한 시스템 사용이 이루어지는 동안에는 어떠한 서비스 중지도 발생하지 않는다.Since each value sent is 20 bytes long, each of these values is calculated immediately (by table lookup), and traffic can be distributed across 1000 servers, no service outages occur during legitimate system usage. Do not.

6. 서버는 보안성이 될 필요는 없다.6. The server does not have to be secure.

서버는 CA에 의해 수신된 20 바이트 검증들을 전송한다. 자기 인증적이기 때문에, 이러한 검증들은 변경될 수 없어서 여전히 관련 대상에 해싱한다.The server sends 20 byte verifications received by the CA. Because they are self-authenticating, these verifications cannot be changed and still hash to the subject concerned.

당해발명의 분산된 구현 예들은 집중화된 상대방의 동일한 둠스데이 보호를 계속한다. 즉, 상기 볼트에 성공적으로 진입한 침입자는 취소된 인증서를 되살릴 수 있다. 그러나 정교한 침입자는 상기 볼트에 구멍을 뚫는 대신, 가능하면 소프트웨어 공격을 선호한다. 다행히도, 분산된/집중화된 OCSP에 대하여 소프트웨어 공격은 본 발명의 분산된 구현 예에 대응하여 설치될 수 없다.Distributed implementations of the invention continue the same Doomsday protection of the centralized counterpart. That is, an intruder who successfully enters the vault can revoke the revoked certificate. But sophisticated intruders prefer software attacks if possible, instead of drilling holes in the bolts. Fortunately, software attacks against distributed / centralized OCSPs cannot be installed in response to distributed implementations of the invention.

실제로 상기 OCSP에서, 상기 CA는 비보안성 상대방으로부터 외부의 조회를수신할 필요가 있고, 그리고 디지털 서명 및 중요한 비밀 키에 의해 조회에 응답한다. 따라서 OCSP에 필요한 "window on the outside world"가 상기 비밀 서명 키를 노출시키도록 악의적으로 이용될 수 있는 가능성이 존재한다.Indeed at the OCSP, the CA needs to receive an external query from an insecure party and responds to the query with a digital signature and an important secret key. Thus, there is a possibility that the "window on the outside world" required by OCSP can be used maliciously to expose the secret signing key.

대조적으로, 당해발명의 분산된 구현 예에는 이러한 "windows"가 존재하지 않는다. 상기 CA는 볼트 내에 있고 그리고 외부로부터 어떠한 조회도 수신하거나 응답하지 않는다. 상기 CA는 단지 주기적으로 비밀스럽지 않는 데이터만을 출력한다. 실제로, 매일(매시간) 상기 CA는 공개 정보로 이루어진 파일(F)을 출력한다. (상기 CA는 RA로부터 취소 요청을 수신하지만, 이러한 RA는 가령 안전한 스마트카드와 같은 인증된 채널을 통해 보다 적은 수의 보안성 엔티티로부터 나온다.) 비보안성 응답기는 비보안성 상대방으로부터 조회를 수신하지만, 상기 비보안성 응답기는 파일(F)에 의하여 그리고 공개 데이터에 의하여 상기 조회들을 응답한다. 따라서 당해발명의 선호되는 실시예에 대항한 소프트웨어 공격에서 보통의 응답기는 공개된 정보만을 노출할 것이다.In contrast, such "windows" do not exist in distributed embodiments of the present invention. The CA is in the vault and does not receive or respond to any queries from outside. The CA only outputs non-secret data periodically. In fact, every day (every hour) the CA outputs a file F of public information. (The CA receives a cancellation request from the RA, but such RA comes from fewer security entities, for example through an authenticated channel such as a secure smart card.) The non-secure responder receives an inquiry from an insecure party, The non-secure responder responds to the inquiries by file F and by public data. Thus, in a software attack against a preferred embodiment of the present invention, an ordinary responder will only expose the publicly available information.

단순화시킨 PKI 매니지먼트Simplified PKI Management

PKI 매니지먼트는 간단하지가 않다. (예를 들어, Internet Public Key Infrastructure, Part Ⅲ : Certificate Management Protocols ; by S.Farrel, A.Adams, and W.Ford; Internet Draft, 1996; Privacy Enhancement for Internet Electronic Mail-PartⅡ : Certificate-Based Key Management;by S.Kent and J.Linn;1989 참조 요망). 당해발명의 선호되는 실시예는 (1) 발행된 인증서의 수의 축소하고, (2)상기 인증서상에 특권적 매니지먼트를 가능하게 하고, 그리고 (3)등록 기능을 다수의 독립된 CA들과 공유함으로써, 많은 응용 예에서 PKI 매니지먼트를 개선할 수 있다.PKI management is not simple. (E.g., Internet Public Key Infrastructure, Part III: Certificate Management Protocols; by S. Farrel, A. Adams, and W. Ford; Internet Draft, 1996; Privacy Enhancement for Internet Electronic Mail-Part II: Certificate-Based Key Management ; by S.Kent and J.Linn; see 1989). A preferred embodiment of the present invention is by (1) reducing the number of certificates issued, (2) enabling privileged management on the certificate, and (3) sharing the registration function with a number of independent CAs. In many applications, however, PKI management can be improved.

특정 예에서 PKI 매니지먼트에서의 이러한 개선 사항들을 설명한다. (한 예에서 사용된 특성들 및 기술들은 또 다른 예에 쉽게 적용될 수 있다.)The specific examples illustrate these improvements in PKI management. (The features and techniques used in one example can be readily applied to another example.)

인증서를 ON/OFF 하기(그리고 일시 정지하기)To turn on / off (and pause) a certificate

예 7:음악 다운로딩 Example 7: Downloading music

인터넷 음악 공급자가 사용자들이 1000개의 서버들 중 하나로부터 하루에 1달러 요금을 내고 원하는 노래를 다운로드하기를 원한다고 가정한다. 이는 디지털 인증서로써 효과적으로 실행될 수 있다. 그러나 이 예에서, 사용자는 자신이 일 년 중 며칠만 음악을 다운로드할 것이고 또한 그 날짜가 언제, 얼마동안이 될지를 예상할 수 없다는 것을 잘 알 것이다. 따라서 음악 센터는 사용자가 요청할 때마다 서로 다른 1일 인증서를 사용자에 대하여 발행할 필요가 있을 것이다. 사용자는 요금을 지불한 후에 이러한 인증서를 요청한다. 그러면 사용자는 인증서를 수신하고 이후 그 날 1000개의 음악 서버들 중 하나를 이용하게 된다. 그러나 1일의 인증서를 발행하는 것은 공급자 및 사용자 모두에게 적지 않은 매니지먼트 비용이 들게 된다. 이러한 비용은 사용자가 또 다시 음악을 듣고 싶을 때마다 매번 중복되어야 하기 때문이다.Suppose an Internet music provider wants users to download a song of their choice from one of the 1000 servers for $ 1 a day. This can be done effectively with a digital certificate. However, in this example, the user will know that he will only download music for a few days of the year and will not be able to predict when and how long the date will be. Thus, the music center will need to issue a different one-day certificate to the user whenever the user requests it. The user requests this certificate after paying a fee. The user then receives the certificate and then uses one of the 1000 music servers that day. However, issuing a one-day certificate is a management cost for both the supplier and the user. This cost must be duplicated each time the user wants to listen to music again.

선호되는 실시예에서, 당해 발명은 다음과 같은 가격을 경감할 수 있다. U가 공급자과 접촉하는 처음에, 그는 발행 날짜D1=0, 만료 기일 D2=365 그리고 유효성필드 X365, 철회 타겟 Y1, 그리고 정지 필드 Z365를 지닌 증명서 C를 발행한다. (상기 공급자의 CA는 유효성 필드와 마찬가지로 정지 필드를 설계 한다: 임의의 20 바이트 값 Z0와 함께 시작함으로써 그리고 그 후 하루로 세분하는 경우, 365번 해싱한다. 그 후 그것은 전체 해시 체인 또는 Z0만을 저장하거나 또는 적절한 시간/저장 장치가 원하는 Zi 를 발생할 수 있도록 이용한다. I = 1,......,365의 날에서, U가 그 날을 위해 "음악의 날"을 요청하는 경우, 공급자은 단순히 그 증명서가 유효하다는 것을 표시하기 위해 20-바이트 값 X365-i를 공개한다. 그렇지 않으면, 그 증명서가 "정지됨"을 표시하기 위해 Z365-i을 공개한다. 그렇지 않으면, 상기 증명서가 철회되었음을 표시하기 위해 Y0를 공개한다. 선택적으로, U 및 음악 공급자은 "I 날에 시작하는 음악 주일"을 말하는 것에 동의하는 경우, 그러한 7일이 적합한 시간에 공개되기 위한 20바이트 값들 또는 X365-i를 I 날에 공개된다.In a preferred embodiment, the invention can reduce the following prices. The first time U contacts the supplier, he issues certificate C with issue date D1 = 0, expiration date D2 = 365 and validity field X 365 , withdrawal target Y1, and stop field Z 365 . (The provider's CA designs a static field just like the validity field: hashes 365 times by starting with any 20-byte value Z 0 and then subdividing it into a day. Then it is the entire hash chain or Z 0. Save only or use the appropriate time / storage to generate the desired Zi, where U = 1, ......, 365, if U requests a "music day" for that day, The provider simply publishes a 20-byte value X 365-i to indicate that the certificate is valid, otherwise it publishes Z 365-i to indicate that the certificate is "suspended." unveils Y 0 to indicate that withdrawal. Alternatively, if you agree to say "music week starting on the day I" U gonggeupjaeun and music, 20 for those seven days before the public at the appropriate time Sites are disclosed or the values X i-365 to I day.

즉, U가 음악을 다운로드하기 원할 때마다, 새로운 단일-날짜 증명서를 U에게 제공하는 것보다, 공급자은 U에게 단일, 연간 증명서를 제공한다. 어느 때든지, 이 단일 증명서는 단지 적합한 20 바이트 값을 공개함으로써 하루 동안 ON으로 켜있을 수 있다. 따라서 예를 들어, 당해 발명의 선호되는 실시예들은 그것이 일어나는 것과 같이, 일 년 365일 중 10일을 위해 ON으로 켜 있을 수 있도록 한 해 동안에 인증(cert)을 발행함으로써 10 단일-날짜(single-day) 증명서들을 대체할 수 있다. 공급자은 또한 그것이 ON(예를 들어 365 인증 중의 10 날)이 될 수 있는 다수의 날을 구체화 하는 인증을 발생시키기 위해 상기 방법을 이용할 수 있다. 왜냐하면 그것은 보다 예측 가능한 가격이고, 그러한 인증이 선물에 보다 적합하기 때문이다.That is, whenever U wants to download music, rather than providing U with a new single-date certificate, the supplier provides U with a single, annual certificate. At any time, this single certificate can be turned ON for one day by only publishing the appropriate 20 byte value. Thus, for example, preferred embodiments of the invention, as it happens, are issued with a single single date by issuing a cert during the year so that it can be turned ON for 10 of 365 days a year. day) can replace certificates. The provider can also use the method to generate an authentication that specifies multiple days for which it can be ON (eg 10 days of 365 authentication). Because it is a more predictable price, and such certification is more suitable for futures.

동일한 사용자를 위한 많은 증명서의 ON/OFFON / OFF of many certificates for the same user

예 8:보안-명확성 관리 Example 8: security-clarity management

디지털 증명서는 적합한 사용자들만이 특정 리소스에 액세스하도록 허용함으로써 매우 잘 작동한다. 원칙적으로, 특권들은 인증 그 자체에서 구체화 될 수 있다. 예를 들어, 상태 부서는 10개의 다른( L1,....L10) 보안-명확성 레벨을 지니고, 그리고 C=SIGSD(SN, PK, U, L5, D1,D2, ....)와 같은 증명서 C를 발행함으로써 사용자 U에게 허용된 보안 레벨 5를 지니는 것을 의미한다. (이 때 D1 및 D2 는 다시 발행 및 만료 날짜를 의미한다.)Digital certificates work very well by allowing only appropriate users to access certain resources. In principle, privileges can be embodied in the authentication itself. For example, the state department has 10 different (L1, .... L10) security-clarity levels, and C = SIG SD (SN, PK, U, L5, D1, D2, ....) Issuance of the same certificate C means that user U has security level 5 allowed. (D1 and D2 are again the issue and expiration dates.)

그러나 인증 그 자체의 특권을 구체화 하는 것은 증명서 관리의 악몽을 일으킨다. 그것의 특권이 변화할 때마다 인증은 철회될 필요가 있다. 게다가, 상기 고용인의 보안 레벨은 그의/그녀의 양도에 따라 변하며, 이는 주로 동일한 해에 변하게 된다. 예를 들어, U의 보안-명확화 레벨이 임의적으로 3으로 업그레이드되어야 하며, 그 때 상기 상태 부서는 원래의 C를 철회해야 하며 새로운 인증 C'을 발행하여야 한다. 이 일은 U를 지님으로써 어느 정도 단순화 될 수 있고, 따라서 C' 은 이전과 같은 동일한 공공 키(그리고 만료 날짜)를 보유한다. 예를 들어,However, specifying the privileges of the certificate itself creates a nightmare for certificate management. Whenever its privileges change, authentication needs to be revoked. In addition, the security level of the employee varies with his / her transfer, which mainly changes in the same year. For example, the security-clarification level of U must be arbitrarily upgraded to 3, at which time the state department must withdraw the original C and issue a new certificate C '. This can be somewhat simplified by having U, so C 'holds the same public key (and expiration date) as before. E.g,

C' = SIGSD(SN', PK, U, L3, D1',D2,....) 이다.C '= SIG SD (SN', PK, U, L3, D1 ', D2, ...).

그러나 U는 여전히 새로운 C' 을 다양한 장소- 그의 책상 PC, 그의 랩-탑, 그의 셀 폰, 그의 PDA 등- 그의 브라우저에 "삽입" 하는 일에 부딪힌다. 이제, CA가 약간 다른 형태에서 증명서를 재발행 하도록 액션을 취하는 것은 한 가지 일이나, 액션을 취하는 사용자 상의 카운팅은 전체적으로 다른 일이다!But U still runs into "inserting" the new C 'into his browser in various places-his desk PC, his laptop-top, his cell phone, his PDA, and so on. Now, it is one thing to take an action for a CA to reissue a certificate in a slightly different form, but the counting on the user taking the action is entirely different!

이 관리 문제는 단지 단기간의(short-lived) 증명서(예를 들어, 발행이후 하루를 만료한 증명서)가 사용되는 경우에 악화될 뿐이다. 당해 실시예의 내용에서, 단일 인증은 상태 부서의 직원 또는 사용자 U가 더 높은 보안 레벨이 필요한 미팅에 참여하는 것을 가능하게 한다(U 가 적합한 셀룰러 장치, 스마트카드 또는 심지어 매그(mag) 줄무늬 카드 내에 그러한 인증을 지니는 경우, 그는, 예를 들어 그날의 미팅을 이끄는 문을 열 수 있다.) 단기간 증명서는 보다 널리 사용되며 옹호된다. 왜냐하면 그것은 상당한 철회의 어려움을 분배하기 때문이다. (대부분의 장치에서 24 시간 내에 만료될 인증을 철회하는 지점이 없다. ). 그러나 단기간의 인증을 발행함으로써 그들은 모든 영속적 사용자의 브라우저 내에 거주하므로 관리 비용이 된다.This management problem is only exacerbated when short-lived certificates (eg, certificates that expire one day since issuance) are used. In the context of this embodiment, a single authentication allows an employee of the state department or user U to join a meeting that requires a higher level of security (such as in a cellular device, smart card or even mag striped card where U is suitable). If he is certified, he can, for example, open the door that leads to the meeting of the day.) Short-term certificates are more widely used and advocated. For it distributes the considerable difficulty of withdrawal. (There is no point on most devices to revoke a certificate that will expire within 24 hours.). However, by issuing short-term certificates, they live in the browser of every persistent user, making them administrative costs.

이러한 관리 비용은 다음과 같은 당해 발명의 선호되는 실시예의 이용을 경감시킬 수 있다. 하루의 시간 정확성이 충분하다고 가정하면, 상태 부서는 사용자 U 에게 10개의 정당화 필드 및 1개의 철회 필드를 포함하는 증명서를 발행한다. 예를 들어,Such administrative costs can alleviate the use of preferred embodiments of the invention as follows. Assuming that the time accuracy of the day is sufficient, the state department issues a certificate to user U containing ten justification fields and one revocation field. E.g,

C= SIGSD(SN, PK, U, D1,D2, A365, B365, C365, D365, E365, F365, G365, H365,I365,J365, Y1) 이다.C = SIG SD (SN, PK, U, D1, D2, A 365 , B 365 , C 365 , D 365 , E 365 , F 365 , G 365 , H 365 , I 365 , J 365 , Y1).

그곳에서 일반적으로, Y1 이 C의 철회 필드인 동안, 제 1 정당성 필드 A365는 보안-명확성 레벨 1에 대응하고, 그리고 10번째 정당성 필드 J365는 보안-명확성 레벨 10에 대응한다. 인증 C는 다음과 같이 사용된다. 날짜 n에서, U가 좋은 상태인 경우(예, 인증 C가 여전히 유효한 경우), 그리고 U의 보안-명확성 레벨이 5인 경우, 상기 상태 부서는 20 바이트 정당성 증명 E365-n을 공표한다.(예를 들어, 분배된 NOVOMODO 구현에서 그것의 모든 응답기들을 전송한다.) 날짜 m에서, U의 보안-명확성 레벨이 2가 되는 경우 상태 부서는 B365-m를 공표하는 등이다. C가 유효하지 않자마자(예, U가 고용인으로서 종료되거나 또는 U의 보안키가 협상되기 때문에), 그 때 상기 상태 부서는 Y0를 공표한다(그리고 그것의 저장장치로부터"장래의" A, B, C, D, E, F, G, H, I 및 J 를 삭제한다.).Therein generally, while Y1 is a revocation field of C, the first justification field A 365 corresponds to security-clarity level 1, and the tenth justification field J 365 corresponds to security-clarity level 10. Authentication C is used as follows. At date n, if U is in good condition (eg, authentication C is still valid), and if U has a security-clarity level of 5, then the state department publishes a 20 byte justification E 365-n . For example, in a distributed NOVOMODO implementation, send all its responders.) At date m, the state department announces B 365-m , if U has a security-clarity level of two. As soon as C is invalid (eg because U terminates as an employee or U's security key is negotiated), then the state department announces Y 0 (and "future" A from its storage), Delete B, C, D, E, F, G, H, I and J).

이런 방식으로, 인증C는 그것의 고유 특권이 내부적으로 구체화 됨에도 불구하고, 이러한 특권이 일상적 방법으로 바뀔 때 철회될 필요가 없으며, 사용자들은 그들의 브라우저 내에 새로운 인증들을 로드 할 필요가 없다. 실질적으로, 당해 발명의 실시예들은 그러한 최소 발자국을 지니며, CA(많은 관련 인증들의 발행, 철회 및 재발행)이 철회되지 않을 훨씬 더 높은 가능성을 지닌 채 단일 인증을 매우 단순하게 발행할 수 있을 때이다. 결과적으로 더 적은 인 증가 발행 되어 끝나며 응용에서 보다 단순한 PKI 관리를 초래하도록 발행되거나 또는 철회된다.In this way, Certificate C does not need to be revoked when these privileges are changed in the usual way, even though its own privileges are internally specified, and users do not need to load new certificates into their browser. Indeed, embodiments of the present invention have such a minimum footprint and when a single certificate can be issued very simply with a much higher likelihood that the CA (issuance, withdrawal and reissue of many related certificates) will not be withdrawn. to be. As a result, less phosphorus increases are issued and are issued or withdrawn to result in simpler PKI management in the application.

요약하면, 당해 발명의 선호되는 실시예들은 단일 증명서(최소 추가 길이를 지닌) 그리고 분배를 위한 단일 20-바이트 값에 의해 분배 또는 특징을 동적으로 변화시키는 세트에 상대적인 복잡한 증명서 관리를 대체한다.In summary, preferred embodiments of the present invention replace complex certificate management relative to a single certificate (with a minimum additional length) and a set of dynamically changing distributions or features by a single 20-byte value for distribution.

전화 회사들은 로밍 용도로, 또는 주어진 무선 장치를 한 속도 플랜으로부터 다른 속도 플랜으로 스위칭하기 위해 상기 예 2의 경우와 유사한 방법을 이용할 수 있다.Telephone companies may use a method similar to that of Example 2 above for roaming purposes or for switching a given wireless device from one speed plan to another.

메인 PKI 코스트는 RA 기능과 연계된다. 게다가, 사용자 U를 식별하는 것은 값비싼 개인적 인터뷰를 필 요로하고, 사용자 U가 (인증될 공개 키 PK에 대응하는) 정당한 보안키를 알고 있는지를 확인하는 과정을 또한 필요로 한다. 이 RA 기능이 여러 CA 들 사이에서 공유될 수 있으면서 고유 인증에 대해 총체적으로 독립적인 제어를 유지할 수 있다면 바람직할 것이다.The main PKI cost is tied to the RA function. In addition, identifying user U requires an expensive personal interview and also requires that user U know the legitimate security key (corresponding to the public key PK to be authenticated). It would be desirable if this RA function could be shared among multiple CAs while maintaining totally independent control over unique certificates.

예 9: 조직 인증서Example 9: Organization Certificate

정부와 큰 조직들은 수평구조 및 수직구조의 서브조직들을 포함한다. 피고용인은 두 개 이상의 서브조직과 관련성을 가질 수 있다. 예를 들어, 미국 정부의 경우에, 피고용인은 NIST 및 상공부를 위해 일할 수 있다. 이러한 각각의 관계에 대해 디지털 인증서를 발급하면 인증서가 매우 많이 필요하게 되고 PKI 관리가 복잡해진다. 피고용자가 관련 인증서 중 하나를 잃어버리거나 추가할 때마다, 대응하는 인증서를 무효화시키고 새 인증서를 발급하는 것이 최선이다. 이상적인 경우에, 두 개의 대안이 조화되어야 한다. 두 개의 1) 조직은 피고용인마다 단 한 개씩의 인증서를 발급한다. 2) 각각의 서브조직은 각각의 관련성(소속)에 대해 별도의 인증서를 발급하여 제어한다.Governments and larger organizations include horizontal and vertical sub-organizations. Employee may be related to more than one suborganization. For example, in the US government, employees can work for NIST and the Commerce Department. Issuing digital certificates for each of these relationships requires a lot of certificates and complicates PKI management. Whenever an employee loses or adds one of the relevant certificates, it is best to invalidate the corresponding certificate and issue a new certificate. In an ideal case, two alternatives should be harmonized. Two 1) The organization issues only one certificate per employee. 2) Each sub-organization issues and controls a separate certificate for each relevance.

이 두 대안은 당해 발명의 선호되는 실시예에 의해 아래와 같이 조화를 이룰 수 있다. 먼저, 당해 발명의 선호되는 실시예는 인증 처리(certification process)를 유효 처리(validation process)로부터 분리시키는 것과 호환가능하다. 인증 처리는 CA에 의해 제어되고 유효 처리는 유효성 확인 당국(VA)에 의해 제어된다. 예를 들어, 하루의 시간 정확도를 가정할 때, CA가 인증서 C를 일련번호 SN으로 발급하고자 할 때, CA는 SN을 VA로 보내며, VA는 Y0와 X0를 선택하여, 트리플릿(SN, Y0, X0)을 보안방식으로 저장하며, 일상적인 Y1과 X365처럼 연산을 실시하고, 그리고 Y1과 X365를 CA에 되 보낸다. CA는 인증서 C 내에 이들을 포함한다. 이 방식으로, CA는 인증서 C의 유효성 판별을 성가시게 할 필요가 없다. CA는 사용자를 식별하여 적절하게 인증서 C를 발급하기만 하면 되며, VA는 C가 유효한 지, 또는 폐기된 것인 지를 구분하기만 하면 된다. 이러한 분리는 내부 서브조직의 자연스런 변화를 탄력적으로 반영하는 조직 인증서를 가지도록 하기 위해 다양한 방식으로 이용될 수 있다. 다음은 이 방법들 중 하나에 해당하는 것으로, 정부 기관을 그 예로 이용한다. 정부는 전체적으로 그 고유 CA를 가질 것이며, 각각의 기관도 고유 CA를 가질 것이다.These two alternatives can be harmonized as follows by the preferred embodiment of the present invention. First, a preferred embodiment of the present invention is compatible with separating the certification process from the validation process. The certification process is controlled by the CA and the validity process is controlled by the Validation Authority (VA). For example, assuming time accuracy of day, when CA wants to issue certificate C as serial number SN, CA sends SN to VA, and VA selects Y 0 and X 0 to triplet (SN, Y 0 , X 0 ) is stored in a secure manner, performs the same operations as the regular Y 1 and X 365 , and sends Y 1 and X 365 back to the CA. The CA includes them in Certificate C. In this way, the CA does not have to bother to determine the validity of certificate C. The CA only needs to identify the user and issue Certificate C as appropriate, and the VA needs only to distinguish whether C is valid or retired. This separation can be used in a variety of ways to have organizational certificates that flexibly reflect natural changes in internal sub-organizations. The following is one of these methods, using government agencies as an example. The government as a whole will have its own CA, and each agency will have its own CA.

하루 시간의 정확도를 가지면서 대응하는 CA, 즉, CA1, CA2...CAk를 가진 k개의 서로 다른 기관을 가정해보자. 정부 인증서 C는 다음의 형태를 취한다.Assume k different institutions with corresponding CAs, that is, CA 1 , CA 2 ... CA k , with an accuracy of day time. Government certificate C takes the form:

C = SIGGOV(SN, PK, U, D1, D2, X365, Y1, [X365 1, Z365 1],...,[X365k,Z365k])C = SIG GOV (SN, PK, U, D 1 , D 2 , X 365 , Y 1 , [X 365 1 , Z 365 1 ], ..., [X 365 k, Z 365 k])

이때, SN은 인증서의 일련번호이고, PK는 사용자의 공개키이며, U는 사용자의 신원, D1은 발급일, D2는 만료일, X365는 유효 필드, Y1은 폐기 필드, X365 j는 CAj의 유효 필드이고, Z365 j는 CAj의 권리정지 필드이다.Where SN is the serial number of the certificate, PK is the user's public key, U is the user's identity, D 1 is the issue date, D 2 is the expiration date, X 365 is a valid field, Y 1 is a discard field, and X 365 j is It is a valid field of CA j and Z 365 j is a right stop field of CA j .

이러한 인증서가 기관 CA들로부터의 입력으로 정부 CA에 의해 발생된다. 사용자 U를 식별하고 고유 일련번호 SN, 발급일 D1, 만료일 D2를선택한 후, 정부 CA는 SN, PK, D1, D2(승인된 형태가 선호됨)를 각각의 기관 CA에 보낸다. j번째 CA는 두 개의 기밀 20바이트 값 X0 j와 Z0 j를 선택하고, (SN, PK, U, D1, D2, X0 j, Z0 j)를 국부적으로 저장하며, 또는 더 간단하게 (SN, X0 j, Z0 j)를 국부적으로 저장하며, 위치 j로 정부 인증서와 통합하기 위해 [X365 j, Z365 j]를 되돌려 보낸다.This certificate is generated by the government CA with input from the authority CAs. After identifying user U and choosing a unique serial number SN, issue date D 1 , expiration date D 2 , the government CA sends SN, PK, D 1 , D 2 (preferred form is preferred) to each agency CA. The j th CA selects two confidential 20 byte values X 0 j and Z 0 j , and stores (SN, PK, U, D 1 , D 2 , X 0 j , Z 0 j ) locally, or more. Simply store (SN, X 0 j , Z 0 j ) locally and send back [X 365 j , Z 365 j ] to location j to integrate with the government certificate.

이 인증서 C는 당해 발명의 분배된 구현으로 관리된다. 즉, 기관마다 한 개씩 1 인증서, 2-인증서, 3-인증서,..., k-인증서와 같은 k개의 독립 인증서들로 동작한다. 날짜 n에 100개의 응답자를 가정해보자. 정부 CA는 C가 여전히 유효할 경우 모두 100개에 달하는 응답자에게 20바이트 값 X365-n을 전송한다. 그렇지 않을 경우 Y0을 전송한다. 그 후, j번째 기관 CA는 20바이트 값 X365-n j를 모두 100개의 응답자에게 전송하며, C가 j 인증서에 의존할 수 있다는 것을 보여준다. 그렇지 않을 경우 Z365-n j에 의존할 수 있다는 것을 보여준다.This certificate C is managed by a distributed implementation of the invention. That is, it operates with k independent certificates, such as 1 certificate, 2-certificate, 3-certificate, ..., k-certificate, one per institution. Assume 100 respondents on date n. The government CA sends a 20-byte value X 365-n to all 100 respondents if C is still valid. Otherwise, transmits Y 0 . The j-th authority CA then sends all 20-byte values X 365-n j to 100 responders, showing that C can rely on j certificates. Otherwise it shows that you can rely on Z 365-n j .

따라서 정부 CA는 사용자를 식별하고 인증서를 발급하는 데만 책임이 있으나, 각각의 기관 CA들은 사실상의 고유 인증서를 독립적으로 관리할 수 있다. 이는 매우 중요하다. CA1이 법무부이고 CA2가 국방부일 경우, 일부 겹쳐지는 관심사에도 불구하고, 각각이 서로에 대해 독립적으로 작용하는 것이 최선이다. 결과적인 인증서 시스템은 매우 경제적으로 동작한다. 먼저, 인증서 수가 크게 감소된다(원칙적으로, 피직원당 1개의 인증서만 존재). 두 번째로, 주어진 피고용인은 구인증서를 폐기하거나 새 인증서를 발급받을 필요 없이 서로 다른 기관들을 떠나거나 이 기관에 참여할 수 있다. 세 번째로, 서로 다른 기관 CA들이 동일한 응답자를 공유할 수 있다(실제로, 주어진 사용자가 주어진 기관 소속이라는 사실은 기밀이 아니다. 대부분의 기관에서 이는 사실일 것이다. 서버는 "공개 가능한 정보"만을 지닐 것이다). 따라서 j 인증서의 상태에 관한 질의에 두 개의 20바이트 값들로 답변이 이루어진다. 한 개의 정부 인증서, 한 개는 j-인증서이다. 이는 "중앙-레벨"에서 C를 재빠르게 무효화시킬 수 있다(가령, PK에 대응하는 비밀 키를 사용자가 잃어버린 경우에 해당).Thus, government CAs are only responsible for identifying users and issuing certificates, but each institutional CA can manage its own, unique certificate independently. This is very important. If CA1 is the Department of Justice and CA2 is the Department of Defense, it is best that each act independently of each other, despite some overlapping concerns. The resulting certificate system works very economically. First, the number of certificates is greatly reduced (in principle, only one certificate per employee exists). Second, a given employee can leave or participate in different institutions without having to revoke the old certificate or obtain a new certificate. Third, different institutional CAs can share the same responder (in fact, the fact that a given user belongs to a given institution is not confidential. For most institutions this will be true. The server will only have "public information") will be). Thus, a question about the status of the j certificate is answered with two 20-byte values. One government certificate, one j-certificate. This can quickly invalidate C at "central-level" (eg if the user loses the secret key corresponding to the PK).

예 10:Example 10:

상기 예에서, 인증서 C는 중앙 집중 방식으로만 폐지될 수 있었다. 그러나 폐지 책임이 개별 기관들에게 전달되는 것도 용이하다. 예를 들어, j번째 기관 CA가 완전히 자동적인 방식으로, j-인증서로 C를 폐지 및 권한을 중지시킬 수 있도록 하기 위해, C는 다음의 형태를 취할 수 있다.In this example, certificate C could only be revoked in a centralized manner. However, it is also easy for the abolition responsibility to be passed on to individual agencies. For example, to enable the j-th authority CA to revoke and revoke C with the j-certificate in a fully automatic manner, C may take the following form:

C = SIGGOV(SN, PK, U, D1, D2, [XN1 1, Y1 1, ZN1 1],...,[XNk k, Y1 1, ZNk k])C = SIG GOV (SN, PK, U, D 1 , D 2 , [X N1 1 , Y 1 1 , Z N1 1 ], ..., [X Nk k , Y 1 1 , Z Nk k ])

또한, 서로 다른 기관들이 각자의 고유 인증서에 대해 서로 다른 시간 정확도를 가질 수 있다.In addition, different institutions may have different time accuracy for their own certificates.

C = SIGGOV(SN, PK, U, D1, D2, [TA1, XN1 1, Y1 1, ZN1 1],...,[TAk, XNk k, Y1 1, ZNk k])C = SIG GOV (SN, PK, U, D 1 , D 2 , [TA 1 , X N1 1 , Y 1 1 , Z N1 1 ], ..., [TA k , X Nk k , Y 1 1 , Z Nk k ])

이때, TAj는 j번째 CA의 시간 정확도이고, Nj는 D1과 D2사이의 시간 유닛의 수이다. 가령, TAj가 하루이고 D1-D2= 1년일 경우, XNj j= X365 j이다.TA j is the time accuracy of the j th CA and N j is the number of time units between D 1 and D 2 . For example, if TA j is one day and D 1 -D 2 = 1 year, then X Nj j = X 365 j .

단일 조직 내에서, 앞서와 같이 구성되고 관리되는 인증서들을 발급하는 데 있어서의 중요한 한 가지 장점은 한 서브조직으로부터 또 다른 서브조직으로 사용자가 이동함에도 불구하고 인증서를 여전히 "살아있는" 상태로 유지시킬 수 있다는 것이다. 그러나 상기 기술들은 단일 조직 도메인 바깥에서도 적용될 수 있다. 게다가, 정부 CA가 "랜드로드(landlord)" CA로, k개의 기관 CA들이 관련 없는 조직(서브조직과는 다른) "테넌트(tenant)" CA로 비춰질 수 있으며, 인증서는 대여 인증서로 비춰질 수 있다. 이 용어는 "조인트 구성 및 독립 제어(joint construction and independent control)"의 장점을 적용하는 보다 친숙한 예에서 차용한 것이다. 대여 인증서들은 동일한 가구 사양을 가진 투기적 건물과 유사하다.Within a single organization, one important advantage of issuing certificates configured and managed as described above is that it is possible to keep a certificate "live" even if a user moves from one suborganization to another. Is there. However, the techniques can be applied outside of a single organizational domain. In addition, a government CA may be viewed as a "landlord" CA, k institutional CAs may be viewed as an unrelated organization (other than a sub-organization) "tenant" CA, and the certificate may be viewed as a rental certificate. This term is borrowed from a more familiar example that applies the advantages of "joint construction and independent control". Rental certificates are similar to speculative buildings with identical furniture specifications.

자신의 아파트를 짓는 것 보다, 20층 건물을 건축하여 자신은 펜트하우스에 입주하고 나머지 가구는 세를 주거나 판매하는 것이 건축가에게는 더 좋다. 20가구분의 테넌트 각각은 단일 소유자로서 기능한다. 각각의 테넌트는 자동적으로 거짓 없이 건축가에게 누가 입주하는 지, 그리고 누구에게 키를 제공하는 지를 결정한다. 물론 20층 빌딩은 단층짜리 20개보다 저렴하다. 10배 정도 저렴할 수도 있다. 이 경제 원리는 대여 인증서에서 더욱 잘 드러난다. 게다가, 정규 인증서를 발급하는 비용과 대여 인증서를 발급하는 비용은 일반적으로 같다. 따라서 "랜드로드(landlord)" CA에게 대여 인증서를 발급하는 것이 매우 유익할 수 있으며, 또는 대여 인증서를 발급하는 것이 고유 인증서에 대해 발생된 비용들을 완전히 갚을 수 있다. 다른 한편, "테넌트" CA는 발급 비용을 절감할 수 있고, 인증서의 발급 비용을 k 방식으로 공유할 수 있으며, 하부 구조비용을 절감할 수 있고, 동일한 응답자를 공유할 수 있다(공개 데이터만 가지기 때문임).Rather than building your own apartment, it is better for an architect to build a 20-story building, rent one in a penthouse and rent or sell the rest of the furniture. Each of the 20 tenants serves as a single owner. Each tenant automatically decides who enters the architect and who provides the key without a lie. Of course, a 20-story building is cheaper than 20 single-story buildings. It may be 10 times cheaper. This economic principle is more evident in the loan certificate. In addition, the cost of issuing a regular certificate and the cost of issuing a rental certificate are generally the same. Thus, issuing a loan certificate to a "landlord" CA can be very beneficial, or issuing a loan certificate can fully reimburse the costs incurred for the unique certificate. On the other hand, a "tenant" CA can reduce the cost of issuing, share the cost of issuing a certificate in a k way, reduce infrastructure costs, and share the same respondents (with only public data). Because).

외부 테넌트 CA에 대해 랜드로드(landlord) CA로 기능하는 자연스런 후보들은 신용카드 회사, 대형 금융기관, 그리고 정부 등이다. 여러 경우에, 이들은 수백만의 사용자들과 긴밀하고 오래된 유대관계를 가지고 있으며, 사용자 식별을 위해 너무 많은 리소스들을 투자하지 않으면서도 디지털 인증서를 용이하게 발급할 수있다(가령, 신용카드 회사는 고객에게 수십 년 동안 청구서를 보내왔으며, 이 지식을 경감할 수 있다). 신용카드 회사는 고유 친화 프로그램을 보다 효과적으로 구현하기 위해 랜드로드(landlord) CA로 인증서들을 발급하는 아이디어를 선호할 수 있다. IRS(국세청)은 디지털 인증서를 이용하는 것을 이미 결정하였을 수 있으며, 대여 인증서들은 더 빠르고 우수한 서비스를 설립하는 데 발생되는 비용들에 보답하는 세금 시스템을 차후에 제공할 수 있을 것이다.Natural candidates that serve as landlord CAs for external tenant CAs are credit card companies, large financial institutions, and governments. In many cases, they have close and long-lasting ties with millions of users and can easily issue digital certificates without investing too many resources for user identification (for example, a credit card company can offer customers Have been billing for years, and this knowledge can be alleviated). Credit card companies may prefer the idea of issuing certificates to a landlord CA in order to implement their own affinity program more effectively. The IRS may have already decided to use digital certificates, and loaned certificates may later provide a tax system that will repay the costs incurred in establishing a faster and better service.

예 11:Example 11:

지금까지, 우리는 랜드로드 CA가 발급 처리 중 그 고유 테넌트 CA들과 협력하는 것을 요하며, 따라서, 사전에 해당 테넌트 CA임을 식별함을 필요로 한다는 점에 대하여 설명하였다. 그러나 랜드로드 CA가 이 테넌트들 전부 또는 일부를 식별할 필요 없이 가령 20개의 테넌트 CA들을 가정할 때 대여 인증서들을 발급하는 것도 실제 가능하다. 더욱이, 미래의 테넌트 CA들은 이미 발급된 인증서들에 공간을 대여할 수 있을 것이다. 이 기능은 새 인증 구현 애플리케이션의 경우에 이상적이다. 수백만 명의 고객에게 인증서를 발급하는 데 필요한 비용들을 처리하는 것보다, 새 인증서-구현 품목을 제공하는 회사는 수백만 개의 인증서를 가진 랜드로드 CA에 접근하여, 공간을 대여하고, 그 후 랜드로드 CA 사용자의 다수에게 고객으로서 서명하게 한다. 이 서명 방식은 모든 대응하는 인증서들을 밤새 켜놓는 것이고, 그 후 각자의 기준에 따라 이들의 관리를 시작하는 것이다. 우리는 아래에서 이 기능을 구현하기 위한 여러 가지 기술들을 설명할 것이다.So far, we have described that a Landlord CA needs to cooperate with its own tenant CAs during the issuance process, and therefore needs to identify that tenant CA in advance. However, it is also practical to issue loan certificates when a Landlord CA does not need to identify all or some of these tenants, for example assuming 20 tenant CAs. Moreover, future tenant CAs will be able to rent space on already issued certificates. This feature is ideal for new authentication implementation applications. Rather than deal with the costs of issuing certificates to millions of customers, the company that provides the new certificate-implemented item accesses Landlord CA with millions of certificates, rents space, and then uses a large number of Landlord CA users. Have the customer sign as a customer. This signature method turns on all corresponding certificates overnight, and then starts managing them according to their criteria. We will describe several techniques for implementing this functionality below.

추가 시스템Additional system

장치 유효판별 시스템Device Validation System

당해발명의 기술들이 장치들(가령, 셀룰러폰, PDA, RF 식별 토큰, PC, 랩탑, VCR, 네트워크 장치, 라우터, 방화벽, 셋탑박스, CD 플레이어, 게임플레이어, DVD 장치 등등)에게 어떻게 적용될 수 있는 지를 살펴본다.How the techniques of the present invention can be applied to devices (eg, cellular phones, PDAs, RF identification tokens, PCs, laptops, VCRs, network devices, routers, firewalls, set-top boxes, CD players, game players, DVD devices, etc.) Look at the

이러한 장치를 켜거나 계속 동작하게 하는 기능들을 고려해보자. 장치를 도난당하였을 경우, 장치가 더 이상 동작하지 않는 것이 바람직하다. 다른 한편, 장치가 도난당하지 않았을 경우엔, 정상적으로 동작하는 것이 바람직하다. 마찬가지로, 사용자가 장치를 임대하거나 가입비용을 지불하거나 회사 대신에 장치를 이용할 경우, 장치는 동작하는 것이 바람직하며, 대여 비용을 더 이상 지불하지 않거나 가입비용을 더 이상 지불하지 않거나 회사용도로 사용하지 않을 경우 장치는 꺼져서 동작 정지될 필요가 있다. 그렇지 않을 경우, 장치는 정상적으로 기능하여야 한다. 이 장치들은 동적인 방식으로 온, 오프, 온 될 수 있다.Consider the features that turn these devices on and on. If the device is stolen, it is desirable that the device no longer operates. On the other hand, when the device is not stolen, it is desirable to operate normally. Similarly, when a user rents a device, pays a subscription fee, or uses a device on behalf of a company, the device is desirable to operate and no longer pay the rental fee, pay the subscription fee anymore, or use it for company use. If not, the device needs to be turned off and shut down. Otherwise, the device should function normally. These devices can be turned on, off and on in a dynamic way.

물론, 이 기능들은 본 발명의 선호되는 실시예에 따른 시스템을 이용하여 달성될 수 있다. 본질적으로는, 하루 단위의 점진성(일례에 해당)을 고려할 때, 장치는 디지털 인증서를 운반하여 유효 필드 X를 명시할 수 있으며, 장치는 X에 대한 유효성의 날짜별 증거를 가질 경우에만 해당 날짜에 동작할 수 있다. 장치는 오작동을 방지하기 위해 신뢰성/보호형 클락을 가질 수 있다. 이 장치(특히, 셀룰러폰의 경우)는 그 날짜별 유효성 증거를 발급할 수 있다. 대안으로, 장치는 해당 날짜에 대한 각자의 유효성 증거를 제 2 실체에 요청할 수 있다. 예를 들어, 장치는 그 일련번호를 제공할 수 있고, 해당 날짜의 유효성 증거를 이에 따라 수신할 수 있다.Of course, these functions can be achieved using a system according to a preferred embodiment of the present invention. In essence, given the day-by-day incrementality (which is an example), the device may carry a digital certificate to specify the valid field X, and that date only if the device has date-specific evidence of validity for X. Can work. The device may have a reliable / protected clock to prevent malfunction. This device (especially in the case of cellular phones) can issue proof of validity by date. Alternatively, the device may request the second entity for proof of its validity for that date. For example, the device may provide its serial number and receive proof of validity of the date accordingly.

이는 유효 필드의 일체성이 인증서에 의해 보장되고 따라서 CA의 X 디지털 서명(날짜 등의 정보와 함께)에 의해 보장되기 때문에 성립한다. 그러나 우리는 다음의 대안의 방식으로 X의 일체성을 보호할 수 있다. 즉, 장치에 변경 불가능한 방식으로 X를 구움으로서 보호할 수 있다. 가령, 상기 칩(스마트카드/PDA/전화/랩탑 등 칩 세트)의 ROM에 이를 기입함으로서 보호할 수 있다. 이 방식으로, 장치의 사용자는 어떤 방식으로도 X를 변경할 수 없다. 증거 유효판별 알고리즘도 구워져 내장될 수 있다. 해당 날짜에 대한 유효성의 경감된 증거 P가 제시될 경우, P는 적절한 횟수로 해시(hash)되고, 그 후 X로 구워진 것과 비교된다. 보다 일반적으론, 단방향 해시 함수보다는 단방향 함수 F를 이용할 수 있다. 제작을 포함한 전체 처리가 아래와 같이 나타난다.This is true because the integrity of the valid fields is guaranteed by the certificate and thus by the X digital signature (with information such as date) of the CA. But we can protect the integrity of X in the following alternative ways. That is, the device can be protected by burning X in an immutable manner. For example, it can be protected by writing it to a ROM of the chip (chip set such as smart card / PDA / telephone / laptop). In this way, the user of the device cannot change X in any way. Evidence-validating algorithms can also be baked and embedded. If reduced evidence P of validity for that date is presented, P is hashed the appropriate number of times and then compared to what is baked with X. More generally, one-way function F can be used rather than one-way hash function. The entire process, including the production, is shown below.

제 1 실체는 초기 값 IV를 발생시키고, V에 대한 단방향 함수 F를 주어진 횟수로 반복하여, 최종 값 FV를 획득한다. 제 2 실체(제 1 실체와 같을 수 있음)는 X를 장치 D에 굽는다. 장치 D는 함수 F를 반복하는 수단을 구비한다. 장치 D는 후에, 값 PV의 경감된 n번째 증거를 수신하며(이때, n은 양의 정수), PV를 확인한다. 이 확인 과정은 PV에 대하여 함수 F를 n회 반복하고 최종 값이 구워진 값 X와 동일한 지를 확인함으로서 이루어진다.The first entity generates an initial value IV and repeats the one-way function F for V a given number of times to obtain the final value FV. The second entity (which may be the same as the first entity) bakes X to apparatus D. The device D has means for repeating the function F. The device D later receives the reduced nth evidence of the value PV (where n is a positive integer) and confirms the PV. This check is done by repeating the function F n times for PV and checking that the final value is equal to the baked value X.

장치 D는 n번째 증거 값이 현 날짜에 대응함을 보장하기 위해 각자의 클락을 참조할 수 있다. 현 날짜는 고정 날짜로부터 시작하여 날짜순서 중 n번째 날짜일 수 있다. 고정 날짜는 장치에 구워져 보관될 수 있어서 그 일체성을 보호할 수 있다.Device D may refer to its clock to ensure that the nth evidence value corresponds to the current date. The current date may be the nth date of the date sequence starting from a fixed date. A fixed date can be baked and stored on the device to protect its integrity.

각각의 반복에서, 함수 F는 입력으로 추가 입력을 수신할 수 있다. 예를 들어, D의 식별자가 각각의 반복에서 입력될 수 있다. 이러한 추가적 입력들은 각각의 서로 다른 반복마다 다를 수 있다. 예를 들어, 정수 k가 반복 k에서 입력될 수 있다.In each iteration, function F may receive additional input as input. For example, an identifier of D may be entered at each iteration. These additional inputs may be different for each different iteration. For example, the integer k may be input in the iteration k.

한 가지 단방향 함수 F만 존재할 수 있는 것은 아니다. 단방향 함수들의 시퀀스가 존재할 수 있고, Fk가 반복 k에서 적용되는 함수일 수 있다.Only one unidirectional function F can exist. There may be a sequence of unidirectional functions, and Fk may be a function applied in iteration k.

필드 X의 유효성은D의 식별자로도 사용될 수 있어서, D의 일련번호와 유효 필드에 대한 개별적 취급을 나눌 수 있다.The validity of field X can also be used as an identifier of D, thus dividing D's serial number and individual handling of valid fields.

상술한 시스템은 주어진 장치 D를 온 이나 오프로 켜는 데 사용될 수 있다. 그러나 단일 기능이 주어졌을 때 온/오프를 하는 데 사용될 수 있을 뿐 아니라, 여러 기능들 중에서 단일 기능이 주어졌을 때도 온/오프를 하는 데 사용될 수 있다. 예를 들어 X는 기능 FX에 대한 유효 필드이고, Z는 기능 FZ에 대한 유효필드일 수 있다. 이 경우에, X(Z)에 대한 유효 증거를 수신하는 것은, 해당 날짜에 장치 D에 대해 기능 FX(FZ)가 온 되는 것을 의미한다. 이러한 추가적인 유효 필드 Z,...는 장치 D에 구워질 수 있다. 또한, X/Z/... 등등에 관련된 기능을 가진 설명/식별자도 함께 구워질 수 있다.The system described above can be used to turn a given device D on or off. However, it can be used not only to turn on / off when a single function is given, but also to turn on / off when a single function is given among several functions. For example, X may be a valid field for function FX and Z may be a valid field for function FZ. In this case, receiving valid evidence for X (Z) means that function FX (FZ) is turned on for device D on that date. These additional valid fields Z, ... can be baked in device D. In addition, descriptions / identifiers with functions related to X / Z / ... etc. can also be baked.

가능한 기능들의 수가 많을 경우, 유효 필드는 Merkle 해시되고, 그 후 Merkle 트리의 루트 값이 구워질 수 있다. 이 경우에, 기능 FX를 온 시키기 위하여, X로부터 Merkle 트리까지의 승인 경로와 함께 X에 대한 유효성의 적절한 증거를 장치에 제공할 수 있다. Merkle 승인 경로 알고리즘도 함께 구워질 수 있다.If there are a large number of possible functions, the valid fields are Merkle hashed and then the root value of the Merkle tree can be baked. In this case, in order to turn on the function FX, the device can be provided with adequate evidence of validity for X along with the approval path from X to Merkle tree. Merkle admission path algorithms can also be baked.

클락 없는 장치의 유효판별Effective identification of clockless devices

앞서 살펴본 바와 같이, 선호되는 실시예의 기술은 잘못된 이용을 방지하기 위해 장치들을 온 이나 오프시킴으로서 장치를 유효화 시키는 데 사용될 수 있다. 이 애플리케이션의 보안성은 장치가 침입자에 의해 제어될 수 없는 클락을 가진다는 점에 있다. 침입자는 장치의 원 소유자일 수 있다. 가령, 해고된 고용자로서, 가정에 있는 회사용 랩탑으로부터 회사 데이터에 액세스하려는 자를 예로들 수 있다. 실제로, 회사가 날짜 j에 대한 유효성 증거를 더 이상 발급하지 않을 경우, 침입자는 장치의 클락을 다시 감아서, 현 날짜 d가 j보다 작다고 믿도록 장치를 유도하여, 날짜 d에 대해 정확하게 발급된 유효성 증거를 장치에 다시 재생시킬 수 있다. 이럼으로서, 장치를 날짜 j에 동작시키도록 할 수 있다.As discussed above, the technique of the preferred embodiment can be used to validate a device by turning it on or off to prevent misuse. The security of this application is that the device has a clock that cannot be controlled by an intruder. The intruder can be the original owner of the device. For example, a dismissed employee who wants to access company data from a corporate laptop at home. In fact, if the company no longer issues proof of validity for date j, the attacker would rewind the clock on the device and induce the device to believe that the current date d is less than j, thus accurately validating the validity of date d. Evidence can be played back on the device. This allows the device to operate on date j.

선호되는 실시예는 클락 없는, 또는 보안 클락이 없는, 장치들에 대해서도 장치 유효판별을 실행하는 기술을 제공한다.The preferred embodiment provides a technique for performing device validation on devices that are either clock free or secure clock free.

이 기술은 주어진 장치가 일련의 날짜 중 해당 날짜에 유효화 되어야 하는 지 여부를 결정하는 실체인 유효화기(validator)를 고려한다. 해당 날짜가 일련의 날짜들 중 한 날짜라고 가정해보자. 장치는 보안 메모리 부분과 클락을 가진다. 보안화 되지 않았더라도, 장치는 온 될 때 해당 클락이 리셋 되었는지를 말할 수 있다. 예를 들어, 장치는 구동 중에, 24시간이 경과하였음을 말할 수 있다. 유효판별 소프트웨어는 장치 내에서 보호되어, 어떤 방식으로도 변경되는 것을 회피한다. 일부 스마트카드들로 이와 유사한 방식으로 동작한다. 에를 들어, 보호되는 메모리부분을 가질 수 있고, 해당 값을 기억 장치에 유지시키기 위한 최소한의 전력을 가질 수 있으며, 클락을 가질 수 있다. 그러나 어떤 상당한 시간동안 구동되는 클락을 가질 수 있는 배터리는 구비하지 못할 수 있다. 따라서 카드 판독기에 삽입되면, 스마트카드의 클락이 활성화되고, 카드는 시간 경과를 정확하게 모니터링 할 수 있다. 하지만, 카드가 판독기로부터 빠져나오면 클락은 더 이상 동작하지 않으며, 보안 메모리에서 작은 값이 여전히 보존된다.This technique considers a validator, which is an entity that determines whether a given device should be validated on that date in a series of dates. Suppose that date is one of a series of dates. The device has a secure memory portion and a clock. Even if not secured, the device can tell if the clock was reset when it was turned on. For example, the device may say that 24 hours have elapsed while driving. Validation software is protected within the device to avoid changing it in any way. Some smartcards work in a similar way. For example, it may have a protected portion of memory, may have minimal power to maintain its value in the storage device, and may have a clock. However, it may not be possible to have a battery that can have a clock driven for some significant time. Thus, when inserted into the card reader, the clock of the smart card is activated and the card can accurately monitor the passage of time. However, when the card is ejected from the reader, the clock no longer works, and small values are still preserved in secure memory.

예 12:Example 12:

이 방법에서, 유효판별기와 장치는 보안 키 K를 공유한다. 키 K는 장치의 보안 메모리 부분에 위치하는 것이 바람직하다. 이 키 K로부터, 장치와 유효판별기가 일련의 날짜들에 대응하는 예측 불가능한 일련의 값들을 생성할 수 있다. 예를 들어, 각각의 날짜, 1, 2,... 에 대하여, 일련의 값들은 V1 = H(K,1), V2=H(K2),... 로 구성된다. H는 단방향 해시 함수이거나, 매번 키 K로 1, 2,...를 암호화하는 암호화 함수이다. 날짜 j에 유효판별기가 장치를 하루 더 활성화시키고 싶어 할 경우, 유효 판별기는 값 Vj = H(K,j)를 공개한다(가령, 응답자에게 전송한다). 장치가 날짜 d에 활성화된 후 날짜 j에 온 으로 켜지고, 그 후 날짜 j까지 스위칭 오프된다. 그 후 장치는 값 Vd=H(K,d)를, 또는 활성화된 최종일의 표시자(가령, d)를 메모리에 유지시킨다. 장치는 날짜 d 이후 유효성 증거를 얻을 때까지 다시 기능하지 않을 것이다. 대안으로, 장치는 날짜 d 중에, 작업한 시간을 단일 변수 등으로 하여 저장하는 것을 계속한다. 장치가 스위치 오프되면, 장치는 날짜 d만을 기억하는 것이 아니라, 가령, 6시간 10분까지도 기억한다. 따라서 다시 스위칭 온 될 경우, 17시간 50분 동안 동작을 계속하게 된다. 이후, 장치는 날짜 d에 이어지는 날짜동안 유효성 증거를 필요로 할 것이다. 이번에는 장치가 날짜 j>d일 때 다시 스위칭 온되는 것을 가정한다. 그 후 장치는 날짜 j에 대하여 유효성 Vj의 증거를 얻는다(가령, 이러한 증거를 반출하거나, 응답자에 대한 요청 이후 이러한 증거를 수신한다. 장치는 Vj가 현재 메모리의 증거 V에 후속하는 유효성 증거인지를 알아보려 시도한다. 예를 들어, 장치는 값 Vj가 생성될 때까지 (또는 총 해당 날짜들을 넘길 때까지). 보안 키 K를 이용하여 Vd+1, Vd+2,... 를 생성한다. 만약 이에 해당하는 경우라면, 장치는 24시간동안 켜질 것이다. 즉, 새로운 Vj나 j를 메모리에 유지시킬 것이며, 클락을 정상적으로 동작시키고 모니터링 할 것이다. 그래서 24시간에 도달하면, 새 값 Vj+1이나 VK(k>j 인 경우)가 필요하다.In this way, the validator and the device share the security key K. The key K is preferably located in the secure memory portion of the device. From this key K, the device and validator can generate an unpredictable series of values corresponding to the series of dates. For example, for each date, 1, 2, ..., the series of values consists of V1 = H (K, 1), V2 = H (K2), ... H is a one-way hash function or an encryption function that encrypts 1, 2, ... with the key K each time. If the validator on date j wants to activate the device for another day, the validity discriminator publishes the value Vj = H (K, j) (eg, sends it to the responder). After the device is activated on date d, it turns on on date j and then switches off to date j. The device then keeps in memory the value Vd = H (K, d), or an indicator of the last day activated (eg d). The device will not function again until validity evidence is obtained after date d. Alternatively, the device continues to store the working time as a single variable or the like during the date d. When the device is switched off, the device stores not only the date d but also for example up to six hours and ten minutes. Thus, when switched on again, operation continues for 17 hours and 50 minutes. The device will then need proof of validity for a date following date d. This time it is assumed that the device is switched on again when the date j> d. The device then obtains evidence of validity Vj for date j (eg, exports such evidence or receives such evidence after a request to the responder. The device determines whether Vj is validity evidence following evidence V in current memory). For example, the device generates Vd + 1, Vd + 2, ... using the security key K until the value Vj is generated (or until the total corresponding dates are passed). If this is the case, the device will be turned on for 24 hours, that is, it will keep the new Vj or j in memory, operate and monitor the clock normally, and when it reaches 24 hours, the new value Vj + 1 or VK (if k> j) is required.

장치는 차후의 유효성 증거를 공개하거나 공급하지 않음으로서 오프될 수 있다. 또는, H같은 특정 값을 수신하거나 메모리에 저장된 특정 값 Vnomore를 공개하거나 수신하게 함으로서 오프될 수 있다. 이 장치는 H(K, suspend, j)같은 특정 값을 수신하거나 공개함으로서 해당 날짜에 권한이 정지될 수 있다. 유효, 폐기, 권한 정지 증거들에 대한 키들은 동일할 수도 있고 서로 다를 수도 있다.The device can be turned off by not publishing or supplying subsequent proof of validity. Alternatively, it may be turned off by receiving a particular value, such as H, or by publishing or receiving a particular value Vnomore stored in memory. The device may be suspended on that date by receiving or publishing certain values such as H (K, suspend, j). The keys for validity, revocation, and suspension of authority evidence may be the same or may be different.

이는 이미 다량의 보호를 제공한다. 장치가 날짜 j-1에 정상적으로 사용된 후 도난당하였다면, 날짜 j에 대한 유효성 증거가 전혀 공개되지 않으며, 장치에 가용한 어떤 것도 이루어지지 않는다. 그 후, 장치가 도난 이전에 스위칭 오프 되었는지 여부에 상관없이, 날짜 j에 동작의 시작을 정지시킬 것이다. 실제로, 스위칭 오프되었다면, 정상적으로 온시키기 위해 j-1 이후의 날짜에 대한 유효성 증거를 필요로 할 것이며, 어떤 이러한 증거도 나타나지 않는다. 스위칭 온 상태에서 도난당하였다면, 24시간 이후 어쨌든 동작을 멈출 것이다.This already provides a great deal of protection. If the device is stolen after being used normally on date j-1, no validity evidence for date j is disclosed and nothing is available to the device. Thereafter, it will stop the start of operation on date j, regardless of whether the device was switched off prior to theft. In fact, if switched off, you will need proof of validity for dates after j-1 to turn on normally, and no such evidence appears. If stolen in a switched-on state, it will stop working anyway after 24 hours.

안 좋은 경우에는 장치가 스위칭 온되어 Vj-3의 유효성 증거를 소지한 후, 스위칭 오프되는 현상이 나타날 수 있다. 장치가 이 시점에서 도난당하였지만 날자 j-1가지 그 분실을 알지 못하였다면, 또는, 장치가 날짜 j-1에 도난당했는데 침입자가 장치가 알 수 있던 값들 Vj-2와 Vj-1을 레코딩 한다면, 이러한 침입자는 기껏 해봐야 이 두 값들을 장치에 공급할 수 있고, 추가적인 이틀 동안만 이를 동작시킬 수 있다.In a bad case, the device may be switched on after having switched on and having proof of validity of Vj-3. If the device was stolen at this point but did not know the lost date of j-1, or if the device was stolen on date j-1 and the attacker recorded the values Vj-2 and Vj-1 that the device knew. At best, these intruders can supply both of these values to the device, and only run them for an additional two days.

예 13:이 방법은 예 11에 공개된 방법과 유사하다. 일련의 날짜 각각, 보안화 되지 않은 클락 등에서, 장치에 가용하게 만들어지거나 공개된 일련의 예측 불가능한 값들을 이용한다. 예를 들어, 장치는 Xk를 저장하고, 초기 값 X0에 대하여 한 개의(또는 한 개 이상의) 단방향 함수 F를 k번 반복하는 결과를 저장한다. 이는 상술한 바와 같이 동작하며, 동일한 변수들을 이용한다. 그 후 Xk가 펌웨어에 기입되거나(변경 불가능한 방식) 메모리의 보안화 된 부분에 저장된다. 날짜 j에 대한 유효성 증거는 당해발명의 기본 기법에서의 Xk-j에 해당한다. 추가적인 권한 정지 및 폐기가 마찬가지 방식으로 발생할 수 있다. Example 13: This method is similar to the method disclosed in Example 11. Each set of dates, such as an unsecured clock, uses a set of unpredictable values that are made available or exposed to the device. For example, the device stores Xk and stores the result of repeating one (or more) one-way functions F k times for the initial value X0. It operates as described above and uses the same variables. Xk is then written to the firmware (unmodifiable) or stored in a secure part of the memory. Evidence of validity for date j corresponds to Xk-j in the underlying technique of the invention. Additional suspensions and revocations can occur in the same way.

ㅇRTC 물리적 액세스구현ㅇ RTC physical access implementation

혼합된 환경에서 다중 특권 관리Managing Multiple Privileges in a Mixed Environment

로버스트 액세스제어 시스템은 모든 사용자에 대한 두 가지 질문에 답하여야한다. 첫 번째 질문은 인증 또는 신원확인을 어드레스한다. "당신에게 말한 사람이 누구인가?" 이 질문은 전형적으로 직접적으로 또는 간접적으로 신원확인 표지, 주요한 생물학 특징, 또는 패스코드들을 통해 어드레스한다. 이러한 것은 오래-지속하는 사용자 신원확인을 위한 합당한 대답을 제공하나 보다 시간적으로 타당성 있는 주요한 질문을 어드레스하지 않는다. " 당신은 최근에 당신이 하려 했던 것을 하도록 하나요?"Robust access control systems must answer two questions for all users. The first question addresses authentication or identification. "Who has told you?" This question is typically addressed either directly or indirectly via identification signs, key biological features, or passcodes. This provides a reasonable answer for long-lasting user identification but does not address the main question, which is more timely valid. "Do you do what you've been trying to do recently?"

예를 들어, 신원확인 표지는 당신에게 앨리스가 지난 10년간 일부 시간동안 고용인으로서 고용되었다는 것을 말할 수 있으나, 그녀가 컴퓨터 서버 룸에 액세스허용을 위해 여전히 고용인인지를 독립적으로 결정할 수는 없다.For example, the identification sign may tell you that Alice has been employed as an employee for some time in the last decade, but she cannot independently determine whether she is still an employee to grant access to the computer server room.

물리적 액세스제어를 위해, 보안 잠금은 인증을 통해 신원을 확인하여야 하며, 그 후 사용자의 현재 특권이 입장을 허용하는지를 결정하기 위해 정당성을 수행한다. 일부 잠금은 중앙 신뢰 허가 당국으로 유선 네트워크 연결을 통해 이 확인을 수행한다. 네트워크 유선 잠금에 전적으로 기반을 둔 물리적 액세스해결은 두 가지 상당한 제한을 지닌다. 각 유선 잠금의 가격은 보안 배선의 가격, 필드 제어 패널, 그리고 노동력의 가격을 포함하고, 총 문마다 수천 달라가 된다. 유선 구성의 도달은 영속적인 네트워킹에 의해 쉽게 액세스될 수 있는 잠금으로 제한된다. 이것은 이동을 위한 로버스트 액세스제어의 이용을 방해하거나 또는 수송수단, 저장 컨테이너, 유틸리티 캐비닛 등과 같은 잠금에 도달하는 것을 어렵게 한다.For physical access control, the security lock must verify its identity through authentication, and then justify to determine if the user's current privileges permit entry. Some locks are performed by a wired network connection to a central trust authority. Physical access solutions based entirely on network wired locking have two significant limitations. The price of each wire lock includes the price of the security wiring, the field control panel, and the cost of labor, and varies by thousands of doors. Reaching a wired configuration is limited to locks that can be easily accessed by persistent networking. This prevents the use of robust access control for movement or makes it difficult to reach locks such as vehicles, storage containers, utility cabinets, and the like.

당해 발명의 선호되는 실시예에 따른 실시간 신뢰 기술은 유선 및 연락이 끊긴 잠금 상의 물리적 접근을 위한 효율적인 확인을 수행하기 위한 보안 방법을 제공한다. 이것은 인공지능 문 잠금이 각 잠금으로 비싼 네트워크 연결을 요구함 없이 현재 사용자 특권 및 승인을 확인 하는 것을 허용한다.Real-time trust technology in accordance with a preferred embodiment of the present invention provides a security method for performing efficient verification for physical access on wired and disconnected locks. This allows AI door locks to verify current user privileges and permissions without requiring expensive network connections with each lock.

당해 발명은 다수의 독립적인 사용자 특권에 기초한 연결이 끊긴 확인을 제공할 수 있는 다수의 구현을 설명한다. 각 구현은 이종 장치내의 사용을 위해 존재하는 액세스제어 하드웨어 및 소프트웨어를 지닌 상호 운영성을 제공한다. 각 구현을 위해, 이 페이퍼는 획기적으로 높은-보안의 전체 가격을 낮추는 동안 실시간 신뢰가 증가된 융통성을 제공하는 방법을 설명할 것이다.The present invention describes a number of implementations that can provide for disconnected confirmation based on a number of independent user privileges. Each implementation provides interoperability with access control hardware and software that exists for use in heterogeneous devices. For each implementation, this paper will explain how real-time trust provides increased flexibility while dramatically lowering the overall price of high-security.

아래에 설명된 모든 4가지 구성들은 동일한 RTC 확인 과정을 특징으로 한다. 이러한 구조들 간의 주요 차이는 사용자의 인증 과정이며, 이는 존재하는 액세스해결책과 함께 가격 및 호환성에 영향을 미친다.All four configurations described below feature the same RTC verification process. The main difference between these structures is the user's authentication process, which affects price and compatibility along with existing access solutions.

접촉이 없는 ID/메모리ID / memory without contact

상기 제 1 RTC 확인 구현은 읽기/쓰기 메모리 접근을 지닌 접촉이 없는 ID 카드에 기초한 액세스제어 환경이다. 이것은 실시예로서 일반적 MIFARETM표준 접촉이 없는 카드를 이용하여 설명되었으나, 상기 확인 해결책은 어떠한 메모리 ID 카드와도 동일해진다.The first RTC verification implementation is an access control environment based on a contactless ID card with read / write memory access. This has been described using a card without a general MIFARE standard contact as an embodiment, but the verification solution is the same with any memory ID card.

MIFARE ID 카드가 현재 네트워크 물리적 액세스환경에서 사용될 때, 잠금은 카드로부터 ID를 읽고 그리고 그것의 특권을 체크하며 확인을 수행하는 가까운 패널 또는 서버로 전송한다. 상기 인증화 과정은 카드 ID의 결정이며, 이 ID에 기초하여 원격으로 조정된다.When a MIFARE ID card is currently used in a network physical access environment, the lock reads the ID from the card and sends it to a nearby panel or server that checks its privileges and performs verification. The authentication process is the determination of the card ID, which is remotely controlled based on this ID.

당해 발명의 물리적 액세스해결은 유선 집을 위해 이 모델과 호환성을 유지할 수 있으나 그 카드를 위해 디지털로 서명된"확인 증거"를 저장하기 위해 카드의 읽기/쓰기 메모리를 이용함으로써 연결이 되지 않은 집을 위한 지원을 부가하여야한다. 이 증거는 주기적으로 어떠한 네트워크 판독기에서라도 카드에 주기적으로 기록되고 그 후 그것은 사용자의 승인 및 현재 정당성을 확인하기 위해 연결이 되지 않은 잠금에서도 판독될 수 있다.The physical access solution of the present invention can maintain compatibility with this model for wired homes, but for disconnected homes by using the card's read / write memory to store digitally signed "verification evidence" for the card. Should be added. This evidence is periodically written to the card in any network reader and then it can be read in an unlocked lock to confirm the user's approval and current justification.

다음의 테이블은 각 성분에 대한 대략의 저장 조건을 따라 상기 카드 상에 저장되는 RTC 확인 증거의 논리적 컨텐트를 도시한다.The following table shows the logical content of the RTC validation evidence stored on the card according to the approximate storage conditions for each component.

사용자가 유선 문을 통해 설비에 들어갈 때, 그 문은 위의 포맷 내의 사용자의 전면적 확인 증거를 검색하고 그리고 그것을 그 카드 상의 메모리 영역에 배치한다. 일단 상기 증거가 그 카드 상에 로드 되면, 연결이 되지 않은 잠금은 다음의 단계를 통해 사용자 승인을 정당화 할 수 있다.When the user enters the facility through a wired door, the door retrieves the user's full verification evidence in the above format and places it in the memory area on the card. Once the evidence is loaded on the card, an unconnected lock can justify the user's authorization through the following steps.

(1) 사용자의 카드 ID를 검색함으로써 표준화 인증 수행(1) Perform standardized authentication by searching the user's card ID

(2) 메모리로부터 상기 RTC 확인 증거 검색(2) retrieve the RTC verification evidence from memory

(3) 디지털 서명이 신뢰되는 인증의 알려진 공개키와 매치되는지 확인(3) Verify that the digital signature matches a known public key of a trusted certificate

(4) 상기 증거가 현재(시작과 끝 시간을 이용하여)인지를 확인(4) confirming that the evidence is current (using start and end times).

(5) 상기 카드가 유효한지를 확인(5) Check if the card is valid

(6) 증거로부터 특권에 기초한 임의적 액세스제어 조건을 체크(6) checks for discretionary access control conditions based on privileges from evidence

상기 연결이 되지 않은 잠금은 개개인의 사용자 ID라기 보다 특권에 기초한 액세스제어 규칙 세트와 함께 구현된다. 예를 들어, 잠금은 단지 업무 시간동안에만 "주차"특권을 지닌 사용자만을 허용하기 위해 구성된다. 개개의 사용자 특권은 RTC 확인 증거를 통해서 변화할 수 있기 때문에, 잠금 그 자체는 새로운 사용자가 액세스수행을 변화하기위해 부가되거나 제거되는 것과 같이 변화될 필요가 없다. 부가적으로, 상기 잠금은 보안 키 또는 데이터 어느 것이나 저장할 필요가 없으며, 이는 개개의 잠금은 전체 시스템 보안에서 어떠한 감소 없이 분해될 수 있음을 의미한다.The disconnected lock is implemented with a set of access control rules based on privileges rather than an individual user ID. For example, lockout is configured to only allow users with "parking" privileges only during business hours. Because individual user privileges can change through RTC verification evidence, the lock itself does not need to be changed as new users are added or removed to change access performance. In addition, the lock does not need to store any security keys or data, which means that individual locks can be broken down without any reduction in overall system security.

당해 발명의 선호되는 실시예에 따라 상기 RTC 확인 증거는 물리적 액세스제어 환경을 위해 그들을 유일하게 강력하게 만드는 고유의 특징을 지닌다. 상기 증거들은 디지털로 서명되었기 때문에, 그들은 기억에 남고 그리고 참견-증거이다. 상기 증거들은 어떠한 보안키도 포함하지 않기 때문에, 그들은 공개될 수 있고 그리고 보안 위험 없이 전송된다. 상기 증거들은 로우-엔드(low-end) 메모리 카드 상에 저장될 정도로 충분히 작다.According to a preferred embodiment of the present invention, the RTC verification evidence has inherent features that make them uniquely robust for physical access control environments. Since the evidence is digitally signed, they are memorable and nosy-proof. Since the evidence does not contain any security keys, they can be made public and transmitted without security risk. The evidence is small enough to be stored on a low-end memory card.

이러한 특징들은 카드마다 수천의 독립적인 사용자 특권을 지닌 높은 보안 암호 확인을 여전히 제공하는 동안, RTC 확인 증거가 MIFARE 표준과 같은 카드에서 사용되도록 허용한다.These features allow RTC verification evidence to be used on cards such as the MIFARE standard, while still providing high security password verification with thousands of independent user privileges per card.

가격 - MIFARE 1k 표준 카드들은 제조자 및 부피에 따라 1달러에서 5달러가 적합하다. MIFARE 카드에 따른 연결이 되지 않은 잠금 및 RTC 확인 기술은 집마다 500달라 이하에서 제조될 수 있다. 설치함에 있어, 단일 문 또는 컨테이너는 1000달러 이하에서 보안될 수 있다. Price- MIFARE 1k standard cards range from $ 1 to $ 5 depending on manufacturer and volume. Unlocked locks and RTC identification techniques for MIFARE cards can be manufactured at less than $ 500 per house. In installation, a single door or container can be secured for less than $ 1000.

보안 - 단일 ID 인증화는 중첩 및 위조에 대한 약한 보호를 제공한다. PKI 보호와 결합된 제 2 그리고 제 3 성분 인증화는 인증화 보안을 증가시키기 위해 사용될 수 있다. 신뢰성 확인은 승인 위조 또는 수정을 방지하면서 강한 PKI 암호화에 의해 보호된다.Security-Single ID authentication provides weak protection against nesting and forgery. Second and third component authentication in combination with PKI protection can be used to increase authentication security. The trustworthiness check is protected by strong PKI encryption, preventing unauthorized forgery or modification.

접촉이 없는 분배된 보안Distributed security without contact

RTC 신뢰적 확인은 또한 모든 판독기와 함께 직접 또는 간접적으로 분배된 보안 정보를 이용하는 확인을 수행하는 HID의 iClass와 같은 신원확인 카드와 함께 사용될 수 있다. 잠금은 카드가 그것의 ID로의 보안 대응을 아는 것을 증명하는 랜덤화 된 도전/응답 프로토콜을 이용하는 카드로 인증화를 수행할 것이다.RTC trusted verification can also be used with an identity card such as HID's iClass that performs verification using secure information distributed directly or indirectly with all readers. The lockdown will perform authentication with the card using a randomized challenge / response protocol that proves that the card knows the security response to its ID.

분배된 보안 카드를 위한 RTC 확인은 단일 ID 카드를 위한 확인과 동일하다. 사용자가 유선 문에 들어갈 때, 상기 잠금은 사용자의 카드 상에 현재 RTC 확인 증거를 기록할 것이다. 이 증거는 이후에 오프라인 확인을 위해 연결이 되지 않은 판독기에 의해 검색된다.The RTC verification for a distributed security card is the same as the verification for a single ID card. When the user enters the wired door, the lock will record current RTC verification evidence on the user's card. This evidence is later retrieved by an unconnected reader for offline confirmation.

가격- 메모리를 지닌 접촉이 없는 분배된 보안 카드는 제조자 또는 부피에 따라 5달러에서 10달러에 이용가능하다. 분배된 보안 카드 및 RTC 확인 기술에 기초한 연결이 되지 않은 잠금은 문마다 500달러 이하에서 제조될 수 있다. 설치를 함에 있어, 단일 문 또는 컨테이너는 1000달러 하에서 보안될 수 있다.Price-A contactless dispensed security card with memory is available for $ 5 to $ 10 depending on manufacturer or volume. Unconnected locks based on distributed security cards and RTC verification technology can be manufactured for less than $ 500 per door. In installation, a single door or container can be secured under $ 1000.

보안- 분배된 보안 인증화는 개개의 카드의 중첩을 위한 기회를 감소하나 단일 오프라인 판독기의 협상은 많은 카드의 중첩을 허용한다. 신뢰적 확인은 승인 위조 또는 수정을 방지함으로써 강한 PKI 암호화에 의해 보호된다.Security-Distributed security authentication reduces the opportunity for the overlap of individual cards, but the negotiation of a single offline reader allows for the overlap of many cards. Trusted verification is protected by strong PKI encryption by preventing authorization forgery or modification.

접촉이 없는 PKIContactless PKI

공개 키 디지털 서명을 수행할 수 있는 카드들은 인증화 보안의 가장 높은 레벨을 제공한다. 이것은 많은 높은 엔드 자바카드(JavaCard)들과 마찬가지로 MIFARE PRO X 칩들에 기초한다. 잠금 들은 잠금 내의 어떠한 감지형 정보를 요구함 없이 도전/응답 프로토콜에 기초한 카드를 인증한다.Cards capable of performing public key digital signatures provide the highest level of authentication security. It is based on MIFARE PRO X chips, like many high end JavaCards. The locks authenticate the card based on the challenge / response protocol without requiring any sensitive information in the lock.

공개 키 카드를 위한 RTC 확인은 단일 ID 카드를 위한 확인과 동일하다. 사용자가 유선 문에 들어갈 때, 상기 잠금은 사용자의 카드 상에 현재 RTC 확인 증거를 기록할 것이고 이 증거는 오프라인 확인을 위해 연결이 되지 않은 판독기에서 검색될 것이다.The RTC verification for the public key card is the same as the verification for a single ID card. When the user enters the wired door, the lock will record current RTC verification evidence on the user's card and this evidence will be retrieved from an unconnected reader for offline verification.

상기 카드의 공개 키는 특히 디지털 증명서에 의해 표현될 것이며, 이는 컴퓨터 액세스 그리고 이메일 보안과 같은 대안적 응용을 위해 사용될 것이다. 하이-엔드 공공 키 카드들은 정보 보안 또는 저장된 값과 같은 부가적 장치들을 제공하며, 이는 각 장치를 위한 전체 가격을 감소시키도록 도와준다.The public key of the card will be represented in particular by a digital certificate, which will be used for alternative applications such as computer access and email security. High-end public key cards provide additional devices such as information security or stored values, which help to reduce the overall price for each device.

가격- 접촉이 없는 PKI 카드들은 제조 및 부피에 따라 10달러 내지 20달러로 이용할 수 있다. MIFARE 카드들 및 RTC 확인 기술에 기초한 연결되지 않은 잠금은 문마다 500달러 이하로 제조할 수 있다. 설치와 함께, 단일 문 또는 컨테이너는 1000달러 이하로 보안될 수 있다.Price-contact PKI cards are available from $ 10 to $ 20 depending on manufacturing and volume. Unconnected locks based on MIFARE cards and RTC identification technology can be manufactured for less than $ 500 per door. With installation, a single door or container can be secured for less than $ 1000.

보안- PKI 카드들은 키 협상 또는 카드 중첩의 낮은 위험을 지닌 잠금으로 강한 암호화 인증을 제공할 수 있다. 신뢰적 확인은 승인 위조 또는 수정을 방지하기 위해 강한 PKI 암호화에 의해 보호된다.Security-PKI cards can provide strong cryptographic authentication with a low risk lock of key negotiation or card overlap. Trusted verification is protected by strong PKI encryption to prevent unauthorized forgery or modification.

해시 연속을 통과하기 위한 기술Technique to pass through a hash sequence

H를 단-방향 해시 함수라 하자. 길이 n의 해시 체인은 값들의 수집이다.Let H be a one-way hash function. A hash chain of length n is a collection of values.

x0,x1,.....,xn 은 H(xi)=xi-1이다. 이 xi 를 계산하는 것으로부터 xi-1이 쉬운 동안, 반대 방향에서 계산은 H의 단-방향성 때문에 편리하지 않다.x0, x1, ....., xn is H (xi) = x i-1 . While x i-1 is easy from calculating this xi, the calculation in the opposite direction is not convenient because of the unidirectionality of H.

다음의 것은 해시 체인의 표현이다.Here is the hash chain representation:

x0 (H)x1 (H)... (H)xn-1(H)xnx0 (H) x1 (H) ... (H) x n-1 (H) xn

많은 응용에서(예를 들어, 문서 확인 및 특권 관리 서비스와 같은) 해시 체인을 횡단할 수 있도록 하는 것이 필요하다. 예를 들어, 시간의 특정 구간(예를 들어 일 년 동안 하루의 한 값을 출력하는 것)에 대해 순서대로(위의 체인에서 왼쪽으로부터 오른쪽으로) 상기 값들 x0, x1,...,xn 을 발생하는 것이다. 주의할 것은 H의 단방향성 때문에 왼쪽에서 오른쪽 순서는 이 문제를 어렵게 만든다는 것이다. 반복적으로 단순히 H를 적용함으로써 순서대로 x0, x1,...,xn 를 발생하고 출력하기 쉬운 동안, 반대 순서는 보다 많은 시간 및/또는 메모리를 요구한다.In many applications (such as document verification and privilege management services), it is necessary to be able to traverse the hash chain. For example, the values x0, x1, ..., xn in order (from left to right in the chain above) for a specific interval of time (for example, to output a value of one day per year). It happens. Note that the order of left to right makes this problem difficult because of the unidirectionality of H. While it is easy to generate and output x0, x1, ..., xn in order by simply applying H repeatedly, the reverse order requires more time and / or memory.

두 개의 명백한 접근들은,Two obvious approaches,

단지 하나의 값, xn을 저장하고, xi 를 출력하기 위해 Hn-1(xn)을 계산한다.Store only one value, x n , and compute H n-1 (x n ) to print xi.

모든 x0, x1,...,xn 의 값을 저장하고 그들이 출력됨에 따라 그들을 지운다.Store all x0, x1, ..., xn values and delete them as they are printed.

상기 제 1 접근은 두 개의 해시값들(xn 을 위해 하나 그리고 xi의 계산을 위해 또 하나) 및 H 전체의 n(n+1)/2 평가액 또는 평균, 출력값마다 n/2 평가액을 요구한다. 상기 제 2 접근은 n+1 해시 값 및 H 전체의 n 평가액, 또는 평균, 출력값마다 1 평가액의 저장을 요구한다.The first approach requires two hash values (one for xn and another for the calculation of xi) and an n (n + 1) / 2 valuation or average, n / 2 valuation per output. The second approach requires the storage of n valuation values of n + 1 hash values and H totals, or 1 valuation value per average, output value.

우리는 즉각적 해결에 관심이 있다. 메모리(저장된 해시값들의 수) 대 시간(필요한 H 평가액의 수)의 다른 트레이드오프를 제공하는 것이다.We are interested in an immediate solution. It provides another tradeoff of memory (number of stored hash values) versus time (number of H valuations required).

알고리듬이 다음의 트레이드오프를 초래하는 공지기술에서 제공되어 왔다: 저장된 [log2n] 해시값들과 해시값 출력마다 H의 [log2n] 계산 간이다.(Don Coppersmith 와 Maruks Jakobsson의 Almost Optimal Hash Sequence Traversal, 에디터, Financial Cryptography : Sixth International Conference(FC'02), Southhampton, Bermuda, 11-14, 2002년 3월)Algorithms have been provided in the prior art that lead to the following tradeoffs: between stored [log 2 n] hash values and [log 2 n] calculation of H per hash value output (Almost Optimal of Don Coppersmith and Maruks Jakobsson). Hash Sequence Traversal, Editor, Financial Cryptography: Sixth International Conference (FC'02), Southhampton, Bermuda, 11-14, March 2002)

일정한 저장장치를 지닌 새로운 알고리듬New Algorithm with Constant Storage

자콥슨의 방법은 log2n 해시값에 대한 저장장치를 요구하나 더 적은 저장장치가 이용 가능할 때 사용될 수는 없다. 365 길이의 해시 체인에서 주의할 것은, 이것은 9개의 값들이 저장될 필요가 있음을 의미하고, 1,000,000길이의 해시 체인은, 20개의 값들이 저장될 필요가 있음을 의미한다. 우리는 더 낮은 저장장치 요구를 지닌 알고리듬을 지니기 원한다. 게다가, 우리는 해시 체인 길이에 독립적인 저장장치 요구를 구체화할 수 있기를 요구한다. 이런 방식으로, 메모리의 동일한 양은 짧은 체인들 및 긴 체인들을 관리하기 위해 필요하다. 따라서 해시 체인 길이들이 변화하는 경우 새로운 메모리를 요구할 필요는 없다.Jacobson's method requires storage for log 2 n hash values, but cannot be used when less storage is available. Note that in a 365 chain of hash chains, this means that 9 values need to be stored, and a 1,000,000 length hash chain means that 20 values need to be stored. We want to have algorithms with lower storage requirements. In addition, we need to be able to specify storage requirements that are independent of hash chain length. In this way, the same amount of memory is needed to manage short chains and long chains. Thus, if the hash chain lengths change, there is no need for a new memory.

알고리듬에 대한 추론의 편의를 위해, 위치 j에서 알고리듬이 "페블(pebble)"을 저장하는 것을 값 xj 라고 부르자. 그 때 페블은 다음의 것이 "허용된다. (1) 또 다른 페블이 위치하는 곳(이는 값을 복사하는 것에 대응한다)으로 이동하는 것 (2) 그것의 현재 위치의 한 스텝 왼쪽으로 이동하는 것(이는 평가액 H에 대응한다). 처음으로, 페블들은 해시 체인상의 임의의 위치에서 시작한다.For convenience of reasoning about the algorithm, let's call the value xj where the algorithm stores "pebble" at position j. The pebble then is allowed the following: (1) moving to where the other pebble is located (corresponding to copying a value) (2) moving one step to the left of its current position (This corresponds to the valuation H.) For the first time, the pebbles start at any location on the hash chain.

주의할 것은 페블들의 수는 저장된 해시값의 수에 대응하고, 페블이 왼쪽으로 스텝을 취하는 시간의 횟수는 H 평가액의 횟수에 대응한다. 우리의 목적은 주어진 페블의 특정수에서 페블 단계의 수를 감소하는 알고리듬을 생각해내는 것이다.Note that the number of pebbles corresponds to the number of hash values stored, and the number of times the pebble takes a step to the left corresponds to the number of H valuations. Our goal is to come up with an algorithm that reduces the number of pebble steps in a given number of pebbles.

두 개의 페블Two pebbles

n에서 페블이 항상 필요하다는 것은 명백하다. xn이 저장되지 않으면, 그것을 회복하기 위한 어떠한 방법도 존재하지 않으며 따라서 횡단의 종단부에서 그것이 필요할 때 그것을 출력하기 위한 어떠한 방법도 없다. 또한 현재 위치 I에서 출력 xi 를 출력할 수 있기 위해, 페블이 항상 필요하다는 것 역시 명백하다. 따라서 두 개 이상의 페블이 필요하다.It is clear that the pebble is always needed at n. If xn is not stored, there is no way to recover it and therefore there is no way to output it when needed at the end of the traversal. It is also clear that the pebble is always needed to be able to output the output xi at the current position I. Therefore, more than two pebbles are needed.

단지 두 개의 페블이 사용되는 경우, 그들의 하나는 반드시 xn 에 머물러야만 하며, 그리고 다른 것은 xn에서만 시작하여야 하며, 각 시도마다 xi를 이동한다. 따라서 두 개의 페블을 위한 가장 좋은 알고리듬은 n(n+1)/2 전체 스텝 또는 평균적으로 출력마다 n/2 스텝을 취하는 것이다. 예를 들어, 1,000,000 길이의 해시 체인을 위한, 스텝의 평균 횟수는 출력값마다 500,000 이다.If only two pebbles are used, one of them must stay at xn, and the other must start at xn, moving xi on each attempt. So the best algorithm for two pebbles is to take n (n + 1) / 2 full steps or n / 2 steps per output on average. For example, for a hash chain of 1,000,000 lengths, the average number of steps is 500,000 per output.

3개의 페블3 pebbles

우리가 절대적으로 필요한 두 개에 단지 하나의 페블을 부가하는 경우, 그것은 우리가 다수의 단계에서 획기적으로 개선될 수 있음을 증명한다.If we add just one pebble to two absolutely necessary, it proves that we can be significantly improved in many stages.

우리는 다음과 같이 진행시킬 것이다. s=[sqrt{n}](주의할 것은 n/s sqrt{n} 구간이 있을 것이라는 점이다) s 길이 구간으로 해시 체인을 나눈다. xn에서 페블 숫자를 3으로 그리고 xs에서 페블 숫자를 2로 놓자. 그 후, 위에서 설명된 두 개의 페블을 위한 알고리듬을 이용하여 지점 x0, ...xs(xs에서 각 시간을 시작)를 횡단하기 위해 페블 숫자 1을 이용한다. 그 때 x2s(xn에서 시작하고 그리고 왼쪽으로 이동함으로써)에서 페블 숫자 2라 하고 다시 두 개의 페블 횡단 xs+1 ... x2s 을위한 알고리듬을 이용하자. 이런 방식으로 계속하면, 각 시간은 길이 s 구간을 위한 두 개의-페블 알고리듬을 이용한다.We will proceed as follows. s = [sqrt {n}] (Note that there will be n / s sqrt {n} intervals) Divide the hash chain by s length intervals. Set the pebble number to 3 in xn and the pebble number to 2 in xs. The pebble number 1 is then used to traverse points x0, ... xs (starting each time at xs) using the algorithm for the two pebbles described above. Then let's call the pebble number 2 at x2s (starting at xn and moving to the left) and again use the algorithm for two pebble crossings xs + 1 ... x2s. Continuing in this manner, each time uses a two-pebble algorithm for the length s interval.

이 알고리듬의 전체 단계는 다음과 같이 계산될 수 있다. 두 개의 페블을 이용하여 각 구간을 횡단하기 위해 우리는 s(s+1)/2 단계가 필요하다. 게다가, 그것을 횡단하기 이전에 각 구간의 시작으로 페블 숫자 2를 이동하기 위해 우리는 (n-s) +(n-2s)+..+s+0 (n/s)(n/2)이 필요하다.The overall level of this algorithm can be calculated as follows. In order to traverse each section using two pebbles we need s (s + 1) / 2 steps. In addition, we need (ns) + (n-2s) + .. + s + 0 (n / s) (n / 2) to move the pebble number 2 to the beginning of each leg before traversing it. .

단계- s=[sqrt{n}] 임을 기억하라. 그 결과 출력값 당 단계의 평균수는 s/2+(n/s)/2[sqrt{n}] 이다.Step-Remember that s = [sqrt {n}]. As a result, the average number of steps per output is s / 2 + (n / s) / 2 [sqrt {n}].

따라서 두 개만의 최소값에 3번째 페블을 부가하는 것은 n/2로부터 sqrt{n}까지 출력값마다 시간을 줄이게 한다. 이 감소는 확실히 극적이다. 예를 들어 길이 1,000,000의 해시 체인의 경우, 단계의 평균수는 출력값(두 개의 페블과 함께 필요로 되는 500,000에 대조적으로)마다 1,000이다.Thus, adding a third pebble to the minimum of only two will save time per output from n / 2 to sqrt {n}. This reduction is quite dramatic. For example, for a hash chain of 1,000,000 lengths, the average number of steps is 1,000 per output (as opposed to the 500,000 needed with two pebbles).

4개의 페블4 pebbles

우리가 또 다른 이용 가능한 페블을 지니는 경우, 우리는 상기 해시 체인을 간격으로 다시 나눌 수 있다. 이 때, 우리는 s = [sqrt{n(2/3)}]으로 세트할 수 있고 그리고 전체 체인을 길이 s의 n/s n(1/3)구간으로 나눈다.If we have another available pebble, we can divide the hash chain again at intervals. At this point, we can set s = [sqrt {n (2/3) }] and divide the entire chain into n / sn (1/3) intervals of length s.

우리는 그 후 n에서 페블 숫자 4라 할 것이며, 그것을 페블 숫자 3을 위한 시작 지점으로서 이용한다. 이는 왼쪽으로부터 오른쪽으로 순서대로 크기 s 의 각구간의 시작 시점으로 이동할 것이다. 각 구간 상에서, 우리는 위에서 설명한 3개의 페블 횡단 알고리듬을 이용할 것이다. 즉, 우리는 또한 각 구간을 크기[sqrt{s}]로 서브디바이드 할 것이며, 그리고 각 서브인터벌에서 왼쪽으로부터 오른쪽(페블 숫자 2는, 각 시간에서, 페블 숫자 3을 시작할 것이다)으로 순서대로 하기 위해 페블 숫자를 2라고 한다. 상기 페블 숫자 1은 서브인터벌을 횡단할 것이고, 각 시간은 페블 숫자 2에서 시작한다.We will then call the pebble number 4 in n and use it as the starting point for the pebble number 3. This will move to the beginning of each section of size s in order from left to right. On each interval, we will use the three pebble crossing algorithms described above. That is, we will also subdivide each interval by size [sqrt {s}], and in each subinterval, in order from left to right (pebble number 2 will begin pebble number 3 at each time). The pebble number is called 2. The pebble number 1 will traverse the subinterval, each time starting at the pebble number 2.

따라서 각 구간을 횡단하는 비용은 sqrt{s} 또는 출력값마다 [n(1/3)]이 될 것이다. 그것에 대해, 우리는 페블 숫자 3을 각 구간의 시작으로 이동하는 비용을 더하여야만 한다. 페블 숫자 3은 n/s 횟수만큼 이동될 것이며, 처음에는 n-s 단계, 다음에는 n-2s 단계 출력값마다 (n/s)/2 n(1/3)의 값을 제공하면서 이동될 것이다.Thus the cost of traversing each interval would be sqrt {s} or [n (1/3) ] per output. For that, we must add the cost of moving the pebble number 3 to the beginning of each interval. The pebble number 3 will be shifted n / s times, first with ns and then n-2s steps, giving a value of (n / s) / 2 n (1/3) .

따라서 출력값마다 단계의 평균 횟수는 [1.5n(1/3)]이다. 다시, 길이 1,000,000의 체인의 실시예를 이용하여, 단계의 평균수는 출력값마다 150이다.Therefore, the average number of steps per output value is [1.5n (1/3) ]. Again, using an embodiment of a chain of 1,000,000 lengths, the average number of steps is 150 per output value.

더 많은 페블로의 일반화More generalization of Pebble

위의 실시예로부터 나오는 일반적 기술은 다음과 같다. c 페블이 주어질 때, 해시 체인을 각각 길이 n((c-2)/(c-1))의 n(1/(c-1))구간으로 나눈다. 이러한 구간들 각각에 c-1 페블에 대한 기술을 이용한다. 출력값마다 평균 가격은 ((c-1)/2)n(1/(c-1))) 이 될 것이다.The general description from the above embodiment is as follows. Given a c pebble, divide the hash chain into n (1 / (c-1)) intervals of length n ((c-2) / (c-1)) , respectively. For each of these intervals we use the technique for c-1 pebble. For each output, the average price would be ((c-1) / 2) n (1 / (c-1)) ).

이 일반화는 페블의 정수에서뿐만 아니라, 예를 들어, c= 1+ log2n 과 같은경우에서도 고려될 수 있다. 그 경우에서, 방정식 nlog2n=2 라는 방정식을 이용하여, 우리는 출력값마다의 평균 가격이 우리의 알고리듬을 이용하여 log2n이 될 것이다.This generalization can be taken into account not only in the pebble's integer, but also in the case of c = 1 + log 2 n, for example. In that case, using the equation n log2n = 2, we will have the average price per output value log 2 n using our algorithm.

최악의 경우 가격 증대Worst case price increases

그럼에도 불구하고 위의 기술들은 출력값마다 평균정도의 가격을 획득함에도, 일부 출력값들은 다른 것보다 계산함에 있어 더 길게 거릴 것이다.Nevertheless, while the above techniques obtain average price per output, some outputs will take longer to calculate than others.

예를 들어, 3개의 페블의 경우를 보자. 우리가 s 페블을 횡단하는 모든 시간에서, 우리는 페블 숫자 2 를 재배치하여야 한다. 따라서 구간의 가장왼쪽 종단부에서 출력값은 계산하기에 더 긴 시간일 걸릴 것이다. 예를 들어 Xs+1을 계산하기 위해, 우리는 n-(s+1) 단계를 행할 필요가 있을 것이다. 반면에, 구간 내의 모든 다른 페블들은 많아야 s 단계를 거칠 것이다.For example, consider the case of three pebbles. At every time we traverse the s pebble, we must relocate the pebble number 2. Thus, at the left end of the interval, the output will take longer to calculate. For example, to calculate X s + 1 , we will need to do n- (s + 1) steps. On the other hand, all other pebbles in the interval will at most go through the s phase.

물론, 이것은 일부 응용에서 심각한 문제점을 야기한다. 포함된 상기 계산 장치는 이러한 "나쁜" 경우를 처리할 만큼 충분히 빨라야 한다. 그러나 그 정도로 이미 빠르지 않은 경우, "평균"정도를 지니는 어느 지점도 존재하지 않는 것처럼 보인다. 우리는 여전히 강력한 연산 장치를 필요로 할 것이며, 이는 평균 상의 단순히 느리게 앉아 있다.Of course, this causes serious problems in some applications. The computing device involved should be fast enough to handle this "bad" case. But if it's not already that fast, it doesn't seem to exist at all. We will still need a powerful computing device, which simply sits slowly on average.

이러한 문제점을 방지하기 위해, 우리는 평균 정도 출력값에 가까운 최악의 경우의 출력값을 만들 필요가 있다. 3개의 페블의 경우에서, 이는 하나의 추가적 페블만을 부가함으로써 수행될 수 있을 것이다. 페블 "2a"를 불러와라. 그것의 일은 페블 2가 다음이어야 하는 곳으로 먼저 이동하는 것이다. 예를 들어, 페블이 지점 s에 배치될 때, 페블 2a 는 지점 2s 쪽으로 이동하는 지점 n에서 시작할 것이다. 그것은 페블 2가 그곳에 있을 필요가 있을 때, 즉 값 s가 출력인 시간까지 정확히 지점 2s 에 도달할 것이다.To avoid this problem, we need to make the worst case output value close to the average output value. In the case of three pebbles, this may be done by adding only one additional pebble. Bring up the pebble "2a". Its job is to move first to where Pebble 2 should be next. For example, when the pebble is placed at point s, pebble 2a will start at point n moving towards point 2s. It will reach exactly point 2s when Pebble 2 needs to be there, that is, until the value s is the output.

따라서 주어진 크기 s의 구간이 횡단되고 있는 동안, 페블 2a 는 위치 n에서 시작할 것이고 그리고 다음 구간의 시작으로 왼쪽으로 이동한다. 주의할 것은 페블 2a 는 그것의 목적지에 도달하기 위해 n 단계보다 더 적은 단계를 취할 필요가 있다. 명백한 접근은 페블 2a 가 구간 내의 각 출력값을 위해 많아야 n/s 단계를 취하는 것이다. 이것은 출력값마다 s+n/s[2sqrt{n}] 의 최악의 경우를 초래할 것이다. 그러나 더 잘 행할 수 있음을 유의하라. 왜냐하면 페블 1은 최악의 경우 가격을 감소하기 위해 구간의 오른쪽 끝에서 값보다 구간의 왼쪽 끝에서 값을 위해 더 많은 단계를 취할 필요가 있으며, 페블 2a 는 "천천히"시작하여야 하고 그리고 "속도를 높인다." 페블 1 및 2a에 의해 취해지는 단계의 전체수는 이런 방식으로 상수를 유지할 것이다. 특히, 페블 2a 는 처음에 (n/s)/2 단계를 취해야 하고, 다음으로 (n/s)2 +1 단계를 행하여 구간의 마지막 값이 출력되는 때 3(n/s)/2 단계까지 행한다. 이는 [1.5sqrt{n}]까지 최악의 경우의 가격을 감소시킬 것이다.Thus, while a section of given size s is traversing, pebble 2a will start at position n and move to the left of the beginning of the next section. Note that Pebble 2a needs to take fewer steps than n steps to reach its destination. The obvious approach is that Pebble 2a takes at most n / s steps for each output in the interval. This will result in the worst case of s + n / s [2sqrt {n}] per output. But note that you can do better. Because Pebble 1 needs to take more steps for the value at the left end of the interval than at the right end of the interval to reduce the price in the worst case, Pebble 2a should start "slowly" and speed up . " The total number of steps taken by Pebble 1 and 2a will remain constant in this way. In particular, Pebble 2a must first take (n / s) / 2 steps and then up to 3 (n / s) / 2 steps when the last value of the interval is output by doing (n / s) 2 +1 steps Do it. This will reduce the worst case price by [1.5sqrt {n}].

단계의 전체 수 횟수에 주의하라 그리고 출력 값 단위당 평균값은, 이 추가적 페블에 부가하여 증가하지 않는다. 이는 따라서 추가적 페블은 먼저 약간의 일을 행한 다기 보다 어떤 추가적 일도 행하지 않는다. 따라서 길이 1,000,000의 해시 체인과 함께, 상기 최악의 경우 가격은 평균 경우의 가격이 출력값마다 1,000이되는 동안 1,500이 될 것이다.Note the total number of steps and the average value per unit of output value does not increase in addition to this additional pebble. This means that the additional pebble does not do any additional work first rather than doing some work first. Thus, with a hash chain of length 1,000,000, the worst case price would be 1,500 while the average case price would be 1,000 per output.

이 접근은 보다 많은 페블로 확장된다. 우리가 4개의 페블을 지닌 해결책을 취하는 경우, 그리고 먼저 페블 2 및 4를 위해 각각 적합한 위치로 이동하는 페블 2a 및 3a를 부가한다. 우리는 [2n1/3]으로 최악의 경우 가격을 감소시킬 것이다. 길이 1,000,000 의체인의 실시예를 다시 취하면, 상기 최악의 경우의 가격은 상기 평균 경우의 가격이 출력값마다 150인 경우 동안 200이 될 것이다.This approach extends to more pebbles. If we take a solution with four pebbles, we first add the pebbles 2a and 3a, which move to the appropriate positions for pebble 2 and 4, respectively. We will reduce the price in the worst case by [2n 1/3 ]. Taking the embodiment of a chain of 1,000,000 lengths again, the worst case price will be 200 while the average case price is 150 per output value.

따라서 일반적으로, 2c-2 페블과 함께, 우리는 ((c-a)/2 n{1/(c-1)}의 평균 값 및 주어진 출력값을 위한 (c/2)n{1/(c-1)}의 최악의 가격에서 해시 체인을 횡단할 수 있다.Thus, in general, with 2c-2 pebbles, we have an average value of ((ca) / 2 n {1 / (c-1)} and (c / 2) n {1 / (c-1 ) for a given output )} Can traverse the hash chain at the worst price.

다시, 이 일반화는 페블의 상수에서뿐만 아니라, 예를 들어 예를 들어, c= 1+ log2n 과 같은 경우에서도 고려될 수 있다. 이 경우에서 2log2n 페블을 이용하면, 우리의 알고리듬은 log2n 그리고 1 +log2n 의 최악의 경우 가격의 출력값마다 평균값을 지닌 해시 체인을 횡단할 수 있을 것이다.Again, this generalization can be considered not only in the pebble's constant, but also in the case of, for example, c = 1+ log 2 n. With 2log 2 n Pebble in this case, our algorithm will be able to traverse the hash chains each having an average output value of log 2 n and 1 + log 2 n worst case price.

최적 해결책Optimal solution

주어진 c 개의 페블에서, 아래에서 우리는 최적 전체 계산 가격을 아마 지닌 알고리듬을 획득하기 위한 방법을 설명한다. 주의할 것은 그러나, c의 작은 값에서, 이는 아마도 최적의 해결책은 단지 위의 해결책과 비교할 때 약간의 단계의 횟수를 줄이는 것이다.For a given c pebble, below we describe a method for obtaining an algorithm that probably has the optimal overall calculation price. Note, however, that for a small value of c, this probably means that the best solution is to only reduce the number of slight steps compared to the above solution.

우리가 c 페블을 지닌다고 가정하자. 우리는 xn 을 저장해야 하며, 이는 1 개의 페블을 장악한다. 그 후 하나 이상의 페블은 Hn-k 횟수만큼 Xn에 적용함으로써, Xk(일부 k 는 아래에서 결정되는 경우)로 이동될 것이다. 그 후, 귀납적으로, 순서대로 x0, x1, ..., xk 를 출력하기 위해 c-1 페블들을 위한 최적의 해결책을 이용한다. 주의할 것은 이것은 xk 값이 저장되기 때문에 더 짧은 체인-길이 k의 하나 를 횡단하는 것에 다다른다. 그 후, 순서대로 Xk+1,...,Xn 값을 출력하기 위해 c 페블을 위한 최적 해결책을 귀납적으로 이용한다. 상기 첫 번째 k 값이 이미 횡단되었기 때문에, 이는 다시 더 짧은 체인- 길이 n-k의 하나를 횡단하게 된다.Suppose we have c pebble. We need to store xn, which takes one pebble. One or more pebbles will then be moved to Xk (if some k is determined below) by applying to Hn the number of Hn-k times. Then, inductively, we use the optimal solution for c-1 pebbles to output x0, x1, ..., xk in order. Note that this amounts to traversing one of the shorter chain-lengths k since the value of xk is stored. Then, inductively use the optimal solution for c pebble to output the values of X k + 1 , ..., Xn in order. Since the first k value has already been traversed, it again traverses one of the shorter chain-lengths nk.

이제 주어진 시간에서 단지 c 개의 페블을 저장하는 동안 길이 n의 해시 체인을 횡단하기 위해 필요한 다수의 단계로서 F(c,n)를 정의하자. 명백히, c ≥1 인 경우 F(c,0)=0이고 그리고, 어느 n 에서나 F(0,n)= 이다. 그 때, 위의 방법에서, F(k,n)=minkF(c-1, k) + F(c, n-k-1)+n-k 이고, k 는 F(c,n)를 최소화하기 위해 선택되어야 한다.Now define F (c, n) as the number of steps needed to traverse a hash chain of length n while storing only c pebbles at a given time. Clearly, if c ≥ 1 then F (c, 0) = 0 and F (0, n) = at any n. Then, in the above method, F (k, n) = min k F (c-1, k) + F (c, nk-1) + nk, k is to minimize F (c, n) Should be chosen.

특정 c 와 n을 위한 최적 위치 k를 찾는 것은 메모이제이션(memoization)(a.k.a. 동적 프로그래밍)을 지닌 단순한 회귀의 문제이다. 우리는 이 일을 수행하는 C 코드를 표현한다. 그러한 최적 지점은 먼저 쉽게 발견될 수 있고 그리고 그 후 해시 횡단 코드로 집적된다.Finding the optimal location k for particular c and n is a matter of simple regression with memoization (a.k.a.dynamic programming). We represent C code that does this. Such optimal point can be easily found first and then integrated into the hash traversal code.

메모리양을 위한 최적 해결책의 구현Implementation of an Optimal Solution for the Amount of Memory

개인키 보안 물리적 접근( 커베로스형 세팅에서 실시간 증명)Private key security physical access (real-time proof in Kerberos setting)

일반적으로, 상기 시나리오는 다중 문, 그리고 다중 사용자들을 포함한다. 게다가, 상기 접근은 다중 인증에 의해 제어된다(각 인증은 몇몇 문을 통해 접근을 제어하고, 다른 인증을 위한 문들의 세트들은 오버래핑이 가능하다). 가장 일반적인 레벨에서, 상기 접근은 문으로 자격 증명을 표시하는 사용자들을 지님으로써 제어된다(그러한 자격 증명의 확인은 문과 사용자 카드 간의 메시지의 교환과 마찬가지로 PIN 입장과 같이, 사용자와 문간의 상호 작용을 요구한다). 문의 경우에서, 최저 가격을 지닌 그리고 어떠한 특정 서버 또는 네트워크로 문의 연결성 없이 접근의 보안을 지지하는 것이 특히 중요하다.)In general, the scenario includes multiple doors and multiple users. In addition, the access is controlled by multiple authentications (each authentication controls access through several statements, and sets of statements for other authentications can overlap). At the most general level, the access is controlled by having users presenting credentials to the door (confirmation of such credentials requires interaction between the user and the door, such as PIN entry, as is the exchange of messages between the door and the user card). do). In the case of a door, it is particularly important to support the security of access with the lowest price and without connection to the door to any particular server or network.)

하나의 중요한 관찰은 우리가 사용하는 자격증명이 무엇이던지, 우리의 RTC 기술은 중요한 보안, 인프라구조 및 가격 이점을 유도하는 것을 허용한다. RTC 는 개인 키 암호화 장치(대칭 또는 개인 키 서명 및 암호화, 케베로스-형 시스템 등)와 마찬가지로 공개 키 암호화 방법(증명서, 공개 키 서명, PKI)과 일치하도록 사용될 수 있다. 공개-키 기술을 이용하는 연결되지 않은 집을 위한 액세스제어가 어드레스 되어왔다. 여기서 우리는 개인-키 기술로 그러한 아이디어를 적응하는 방법을 설명한다.One important observation, whatever credentials we use, allows our RTC technology to drive significant security, infrastructure and price advantages. RTCs can be used to match public key encryption methods (certificates, public key signatures, PKIs), just like private key cryptographic devices (symmetric or private key signing and encryption, Kerberos-type systems, etc.). Access control for disconnected homes using public-key technology has been addressed. Here we describe how to adapt such ideas with private-key techniques.

기본적 프리미티브(primitive)Basic primitive

암호화, 서명, 슈도-랜덤 기능Encryption, signature, pseudo-random function

특히, 개인 키 암호화, 개인 키 서명(aka MAC), 개인 키 랜덤 함수들은 우리가 이용하게 될 전형적인 개인 키 프리미티브들이다. 우리의 목적을 위해, 이러한 프리미티브들은 상호 교환적으로 사용될 수 있다. 예를 들어, 결정적 개인 키 서명구조들(비밀 사인 키 SK를 분배하는 두 개의 엔티티들 간의), 그리고 랜덤 함수 Fs(그것의 시드 s 는 두 개의 엔티티들 간에서 분배된다)는 실질적으로 동등하게 간주될 것이다. 둘 다 대응하는 입력을 아는 3번째 파티로 예견할 수 없는 출력을 생산하나, SK 또는 s 는 아니다. 예를 들어, 보안 키 SK를 지닌 디지털 신호 x 를 돌려주는 함수 FSK(x)는, 실질적으로 시드 SK를 지닌 슈도-랜덤 함수로 간주되기에 충분하다. 반면, 입력 x에서, 시드 s 를 지닌 슈도-랜덤 함수 F의 x에서 값을 되돌리는 상기 함수 Fs(x)는 보안 키 s 를 가진 개인 키 서명 알고리듬으로 간주될 수 있다.In particular, private key encryption, private key signature (aka MAC), and private key random functions are typical private key primitives that we will use. For our purposes, these primitives can be used interchangeably. For example, deterministic private key signature structures (between two entities distributing secret signing key SK), and the random function Fs (its seed s is distributed between two entities) are considered substantially equal. Will be. Both produce an unpredictable output to a third party that knows the corresponding input, but not SK or s. For example, the function FSK (x), which returns the digital signal x with the security key SK, is substantially sufficient to be considered a pseudo-random function with the seed SK. On the other hand, at input x, the function Fs (x) returning the value at x of the pseudo-random function F with seed s can be considered a private key signature algorithm with security key s.

단-방향 및 단-방향 해시 함수Unidirectional and Unidirectional Hash Functions

우리는 또한 또 다른 기본적 프리미티브- 단방향 함수 F 및 단-방향 해시 함수 H를 이용한다. 실질적으로 함수 F는 (1) 주어진 입력 X에서, 효율적으로 F(X)를 계산할 수 있고, (2) 주어진F(X) 동안, X가 충분히 예견할 수 없도록 임의로 충분히 선택되는 경우 단방향이며, X를 계산하는 것은 실질적으로 불가능하다.(예를 들어, 왜냐하면 X를 위한 너무 많은 값들이 원칙적으로 시도되어야만 하고, 어떠한 효율적인 방법도 다수의 가능한 지원자와 가까워지기 위해 존재하지 않는다.) 함수 H가 단방향인 경우 그리고 두 개의 분리된 입력 X 및 Y를 찾는 것은 어려운 경우 (더 긴 입력을 더 짧은 것에 또는 임의적으로 긴 입력- 즉 160 비트를 맵핑하는 것이 바람직함에도 불구하고) 함수 H 는 단-방향 해시 함수이며 그 결과 H(X)=H(Y)이다.We also use another basic primitive-unidirectional function F and one-way hash function H. Substantially the function F is unidirectional if (1) at a given input X, it is possible to efficiently calculate F (X), and (2) during a given F (X) is arbitrarily sufficiently chosen so that X cannot be sufficiently foreseen. It is practically impossible to compute (e.g., because too many values for X must in principle be tried, and no efficient way exists to get close to many possible applicants). Case and it is difficult to find two separate inputs X and Y (although it is desirable to map a longer input to a shorter or arbitrarily long input—i.e. 160 bits), the function H is a one-way hash function. As a result, H (X) = H (Y).

실질적으로, 우리는 다른 프리미티브들을 구성하기 위해 단-방향 해시 함수H를 이용할 수 있다. 예를 들어, 개인-키 서명은 다음의 단순한 방법으로 구성될 수 있다. 보안 키 SK를 지닌 메시지 M에 서명함으로서, H(SK, M)를 계산하고 그 후 상기 결과를 해시한다. 즉, 그들을 연결하는 것과 같이 SK 및 M을 적절히 결합한다. 물론, 서명 및 데이트 M으로, 이 결합에 데이트 d를 부가할 수 있으며 대신 H(SK, M, d) 를 계산한다. 유사하게, 슈도-랜덤 함수들은 다음과 같이 세워질 수 있다. 입력 x 상에서, 시드 s 를 지닌 슈도-랜덤 함수 F의 출력을 생성하기 위해, H(s, x)를 계산한다. 즉, s 및 x 를 적절히 결합하고 그 후 그 결과에 단-방향 해시 함수를 적용한다.In practice, we can use the one-way hash function H to construct other primitives. For example, the private-key signature can be constructed in the following simple way. By signing message M with security key SK, H (SK, M) is calculated and then the result is hashed. In other words, SK and M are combined as appropriate. Of course, with signature and date M, we can add date d to this combination and compute H (SK, M, d) instead. Similarly, pseudo-random functions can be established as follows. On input x, compute H (s, x) to produce the output of pseudo-random function F with seed s. That is, combine s and x as appropriate and then apply a one-way hash function to the result.

보안 물리적 접근Secure physical approach

우리는 단지 개인-키 세팅에 의해 소개되는 새로운 측면에 초점을 맞추고, 새로운 시나리오에 적용할 수 있는 일반적인 측면(예, 일상적/보통적 계산 측면 등)은 건너뛰었다. 우리는 단순한 시나리오와 함께 시작한다.We only focused on the new aspects introduced by the private-key settings, and skipped the general aspects that can be applied to the new scenarios (eg everyday / normal computational aspects). We begin with a simple scenario.

단일 조직Single organization

D 를 문(상기 구조를 지닌)이라 하자. D로의 접근을 제어하기를 원하는 조직 A 그리고 사용자 U (아마 A를 위해 일하는)는 다시 적합한 신원 등을 지닌 카드, CU를 지닌다. 그 후 A 는 D로의 접근을 D를 지닌 보안 키 SK를 분배함으로써 제어한다. A가 날짜 d(시간 구간 d)상의 D로 접근을 U에게 허용하기를 원하는 경우, 그것은 증거 PUDd를 계산한다, A를 제외한 사람이 계산하는 것은 어려우나 D가 확인하는 것은 쉽다. 개인 키 암호화와 개인 키 서명을 모두 이용하여, 이것이 어떻게행해질 수 있는지 보겠다.Let D be a statement (with the above structure). Organization A and User U (probably working for A) who want to control access to D again have a card, CU with appropriate identity and so on. A then controls access to D by distributing security key SK with D. If A wants to allow U access to D on date d (time interval d), it computes evidence PUDd, which is difficult for anyone except A to calculate but is easy for D to identify. We will see how this can be done using both private key encryption and private key signature.

개인-키 암호화 해결책(가능한 신원 증거를 지닌)Private-Key Cryptographic Solution (with Proof of Identity)

예를 들어, PUDd 는 암호, EUDd, U를 구체화 하는 메시지, 마찬가지로 가능한 D 그리고 DES와 같은 일부 설치된 개인 키 암호화 알고리듬에 따른 개인 암호화 키 SK 를 지닌 d 일 수 있다.For example, PUDd may be d with a message embodying a cipher, EUDd, U, likewise possible D and a private encryption key SK according to some installed private key encryption algorithms such as DES.

여기서, 다른 곳과 마찬가지로, U는 U를 위한 적합한 식별자와 마찬가지로 사용자 모두를 표시하는 경향이 있다. 사용자 U가 그와 관련된 카드(바람직하게 보안의)를 지니는 경우, U는 그러한 카드 또는 그것의 적합한 식별자가 된다. 후자의 경우에, 예를 들어, 문의 카드 판독기는 카드로부터 U를 얻고 그리고 EH한 EUDd를 얻으며, 그것은 키 SK를 지닌 EUDd를 판독한 후 카드에 의해 제공되는 판독된 U를 그들이 같은 것을 확실히 하기 위해 비교한다.Here, as elsewhere, U tends to indicate all of the users as well as suitable identifiers for U. If user U has a card (preferably secure) associated with it, then U is such a card or a suitable identifier thereof. In the latter case, for example, the inquiry card reader gets U from the card and gets EUDd EH, which reads the EUDd with the key SK and then ensures that they read the U provided by the card to be the same. Compare.

주의할 것은 EUDd 는 사용자 U가 시간 구간 d에서 그것을 통해 들어가는 것을 허용하는 문 D를 승인하나, 그것이 확실히 사용자 U를 다루는 것인지를 증명하지는 않는다. 따라서 우리는 U가 문으로의 그의 고유의 신원을 확인하는 방법을 지닌 기본적 구조를 증대시켜야 한다. 이는 다양한 방법으로 행해질 수 있다. 특히, 권위자 A는 U의 카드로만 EUDd를 제공하고, U의 카드는 키패드와 함께 제공되며 그리고 단지 정당한 PIN이 그것의 키패드(그리고, 잘못된 PIN이 주어진 횟수 이상으로 들어오는 경우 상기 카드는 스스로-파괴되거나 또는 그것의 관련된 휘발성 메모리 컨텐트를 지운다)상에 들어오는 경우에만 문 D로 EUDd를 전송할 수 있다. 이런 방법으로, 문이 EUDd를 수신할 때마다, 그것이 U의 카드로부터 수신되고 있음을 알고(왜냐하면 A는 U의 카드로 EUDd만을 전송하기 때문에) 그리고 "카드 뒤의 사용자"는 U이어야만 한다(훔친 U 카드를 지닌 악의적인 사용자에 대항하기 위해).는 것을 안다. 왜냐하면 U의 카드는 작동하지 않거나 또는 U의 PIN이 그것의 키패드 상으로 입력되지 않는 경우 EUDd를 D로 전송한다. U가 U를 지니는 것으로 구성되는 D로 그의 신원을 증명하기 위한 두 번째 방법은 D로 직접적으로 그의 고유 PIN을 제공하는 것이다. 예를 들어, 문 D는 그것의 고유 키 패드를 지니고, U는 그것을 그의 고유의 PIN, PINu에 들어가지 위해 이용한다. 문은 PINu를 U로 맵하는 내부 길(예, 테이블)을 지니며 따라서 그것은 U를 정확히 다루고 있다는 것을 깨달을 수 있다. 시스템 내에 많은 문이 있는 경우, 그러나 각 문을 위한 테이블을 제공하거나 업데이트(예, 상기 시스템에 결합하는 새로운 사용자 때문에)하는 것은 비현실적이다. 따라서 U의 식별자가 직접적으로 PINu가 되는 것이 바람직하다. 예를 들어, EUDd는 EPINuDd가 된다. 사용자 U가 문 D에 접근할 때, 그는 D의 키패드로 PINu를 입력하고 그리고 그의 카드는 EPINuDd 는 문으로 전송된다. 상기 문은 그 후 상기 입력된 PIN이 EPINuDd에서 구체화되는지를 체크하며, 이 경우에서 그것은 정당한 사용자와 함께 다루어지고 이 동일한 사용자는 PIN-사용자 테이블을 이용함 없이 D를 지나가도록 하기 위해 A에 의해 인가된다. 확실히, 상기 키 패드는 PINu를 아는 사용자가 그것의 앞에 있음을 D에 말하고 그리고 EPINuDd 는 PINu가 최근에 D를 통해 가도록 인가된 것을 D에 말한다. 세 번째 방법에서, 직접적으로 EUDd에 보이는 것보다, 사용자 PIN은 EUDd와 확실히 결합된다. A는 EUDd를 키 PINu와 또는 PINu로부터 재구성할 수 있는 키 K와 함께 암호화된 U의 카드로 제공한다.(예, k=H(PINu) 또는 K=(PINu, d) 또는 K=H(D, PINu,d) 등) 이 경우에서, 문 D는 PIN이 안전하게 시간 구간 d 동안 사용자 인증에 속하는 것을 체크할 것이다. 예를 들어, 그것은 EUDd를 해독하기 위해 PINu를 이용하고 그리고 EUDd가 인증 A와 함께 그것을 분배하는 키 SK를 이용하는 적합한 인증화라는 것을 체크한다.Note that EUDd approves statement D that allows user U to enter through it in time interval d, but does not prove that it handles user U for sure. Thus we must augment the basic structure of how U identifies his unique identity to the door. This can be done in a variety of ways. In particular, authority A provides EUDd only with U's card, U's card is provided with the keypad and only if a valid PIN enters its keypad (and the wrong PIN is entered more than a given number of times) Or EUDd can only be sent to door D if it enters its associated volatile memory content). In this way, every time a door receives EUDd, it knows that it is being received from U's card (because A sends only EUDd to U's card) and "the user behind the card" must be U (stealed). To fight against a malicious user with a U card). Because U's card does not work or U's PIN is not entered on its keypad it sends EUDd to D. The second way to prove his identity to D, where U consists of having U, is to provide his unique PIN directly to D. For example, Door D has its own keypad, and U uses it to enter its own PIN, PINu. The door has an internal way (e.g. a table) that maps PINu to U, so it can be realized that it is handling U correctly. If there are many statements in the system, however, it is impractical to provide or update a table for each statement (e.g. because of a new user joining the system). Therefore, it is preferable that the identifier of U be directly PINu. For example, EUDd becomes EPINuDd. When user U accesses door D, he enters PINu with D's keypad and his card EPINuDd is sent to door. The statement then checks whether the entered PIN is embodied in EPINuDd, in which case it is handled with a legitimate user and this same user is authorized by A to pass D without using the PIN-user table. . Certainly, the keypad tells D that a user who knows PINu is in front of it and EPINuDd tells D that PINu has recently been authorized to go through D. In the third method, the user PIN is certainly combined with EUDd rather than directly seen in EUDd. A provides EUDd as a card of encrypted U with a key PINu or a key K that can be reconstructed from PINu (e.g. k = H (PINu) or K = (PINu, d) or K = H (D In this case, door D will check that the PIN belongs to user authentication safely during time interval d. For example, it uses PINu to decrypt EUDd and checks that EUDd is a suitable authentication using a key SK that distributes it with certificate A.

응답기 이용Use of answering machine

그러나 A가 어떻게 쉽게 그리고 안정적으로 EUDd를 U의 카드에 전송하는가? 우리는 응답기를 이용하는 것을 제안한다. 이러한 것은 장치이다.(서버 또는 서버에 링크될 수 있는 컴퓨터 터미널/카드 판독기) 바람직하게 이러한 응답기는 뛰어 넘어가거나 또는 보호될 필요가 없다. 그러한 보호는 응답기를 안전하게 할 필요 없이 안전하게 시스템이 일하도록 하는 시스템에 가격 및 불편함을 부가할 수 있다. 이상적으로, 인증 A는 일련의 날의 모든 날짜 d에서 업데이트를 수행한다. 각 데이트는 바람직하게 시간 구간(예, 일 일)을 구체화 한다. 예를 들어, d는 날짜 d 또는 날짜 d의 시작이 된다. 업데이트 d 동안, A는 어떤 사용자 U가 D를 통해/로 접근이 허용되는지를 결정하고 그리고 이 사실로 D에 의해 확인될 수 있는 증거를 계산한다. 예를 들어, 암호-기반 분배 키 시스템에서, 이 증명은 위에서 설명된 일련의 EUDd가 되며 A가 D와 함께 키 SK를 분배하기 때문에 A가 EUDd를 계산하기 위해 사용되는 A가 확인될 수 있다. 모든 이러한 증거들은 그 후 응답기에 전송된다. 이러한 응답기들은 편리한 위치에 배치되는 것이 바람직하다. 예를 들어, 공항 시스템에서, 응답기들은 공항 메인 입구에 배치된다. 사용자 U는 그 때(예, 근무처에도달할 때) 문 D를 통해 가기 위해 응답기로부터 그의 고유의 인증화를 픽업 한다. 바람직하게, U의 카드는 EUDd를 수신하기 위해 응답기에 그 자체를 인증한다. 이것은 매우 편리하다. 왜냐하면 무선 또는 다른 비싼 시스템 없이도, 사용자는 모든 문을 위한 그의 메일의 모든 인증화를 픽업 하고 , 이 때 그는 정면 입장(여하튼 그가 통과해야만 하는 것을 통해)으로부터 주어진 날에 경험하기 위한 권리를 부여하고 그리고 카드 판독기(예, 그가 직장에 나타난 것을 증명하기 위한)에서 그의 고유의 카드를 삽입하는 것과 같은 전통적 구조를 이용한다. 그 후, 그는 공항 주위를 이동하는 것이 자유로우며 쉽게 모든 보호된 문 D를 통과할 수 있으며, 그는 그가 픽업된 인증화 EUDd를 이용할 권리가 있다. 그러나 이 편리함과 응답기가 불안정한 것이 바람직하다는 사실 때문에, 악의적인 사용자는 또한 진정한 사용자의 인증을 픽업 한다. 따라서 (1) 이것을 응답기의 보안 없이 발생하는 것을 방지하기 위해 그리고/EH는 (2) 진정한 사용자를 위한 인증화는 다른 누구에 의해서도 사용될 수 없다는 것을 확실히 하기 위해 필요하다. 상기 후자의 경우는 이미 설명한 것과 같이, 문에서 사용자가 PIN에 입력하도록 함으로써 충분히 강제 될 수 있으며, 카드에 의해 해제되는 인증화에 안전하게 구속되는 것이 바람직하다. 따라서 응답기로부터 U의 인증화 EUDd를 픽업하는 악의적인 사용자 V 는 문에서 U를 가장할 수 없다 왜냐하면 그것은 U의 PIN을 알지 못하기 때문이다. 전자의 보호는 그것을 키 SKCU와 함께 암호화 하고 A에 알려진 이후에 인증 A가 응답기 인증 EUDd에 전송하도록 함으로써 강요될 수 있다. 이런 방식으로, A 는 응답기 내에서 U의 카드에 의해서만 인증화 EUDd로 변환 될 수 있는 암호화된 인증 EUDd를 게시하고, 그것을 하루 동안 악의적인 V가 다른 사람의 인증화를 다운받는 것을 소용없게 만든다. 심지어 V 가 어떤 식으로든 그가 원하는 그의 고유의 카드를 제조하는 경우 V는 여전히 SKCU를 알지 못한다.But how does A transfer EUDd to U's card easily and reliably? We offer to use a responder. This is a device (a server or computer terminal / card reader that can be linked to the server). Preferably, such a transponder need not be skipped or protected. Such protection can add cost and inconvenience to a system that allows the system to work safely without having to secure the transponder. Ideally, certification A performs an update on every date d of the series of days. Each date preferably specifies a time period (eg, one day). For example, d is the date d or the beginning of date d. During update d, A determines which user U is allowed to access through and to D and calculates evidence that can be verified by D with this fact. For example, in a cipher-based distribution key system, this proof becomes the set of EUDds described above and A can be identified as A is used to calculate EUDd since A distributes the key SK with D. All this evidence is then sent to the responder. Such transponders are preferably arranged in convenient locations. For example, in an airport system, responders are located at the airport main entrance. User U then picks up his own authentication from the answering machine to go through door D (e.g., when he reaches work). Preferably, U's card authenticates itself to the responder to receive EUDd. This is very convenient. Because without wireless or other expensive system, the user picks up all the authentications of his mail for every door, at which time he grants the right to experience on a given day from frontal entry (somehow through what he has to pass) and The card reader (eg, to prove that he appeared at work) uses a traditional structure, such as inserting his own card. Thereafter, he is free to move around the airport and can easily pass through all protected doors D, and he has the right to use the certified EUDd he has been picked up. However, due to this convenience and the fact that the responder is unstable, the malicious user also picks up the authentic user's certificate. Thus (1) to prevent this from happening without the security of the responder, and / EH is needed to (2) to ensure that authentication for a true user cannot be used by anyone else. The latter case, as already described, can be sufficiently enforced by having the user enter the PIN at the door, and is preferably securely bound to the authentication released by the card. Thus, a malicious user, V, picking up UD's authenticated EUDd from the responder, cannot impersonate U at the door because it doesn't know U's PIN. The former protection can be enforced by encrypting it with the key SKCU and having certificate A transmit to the responder certificate EUDd after it is known to A. In this way, A posts an encrypted authentication EUDd in the responder that can only be converted to an authentication EUDd by the U's card, making it useless for the malicious V to download another person's authentication for a day. Even if V manufactures his own card in any way he wants, V still doesn't know SKCU.

A가 문 D를 지닌 보안 키 SKD 그리고 사용자 U와 함께 보안 키 SKU를 분배하는 것이 또한 가능하다. 그 다음 PUDd는 EUDdk 값이 될 수 있으며, 이는 몇몇의 랜덤 비밀 k, 비밀 키 SKD와 함께(A에 의해) 암호화된 모든 것과 마찬가지로 사용자 U, 문 D 그리고 날짜 d로 구성된다. 부가적으로, U는 Ek, 즉 SKU와 함께 암호화된 k 를 수신한다.( D 그리고 d 는 U에게 알려졌거나 또는 U와 통신될 수 있다. 예를 들어, 메인 도어에서 동일한 응답기에 의해) 이런 방식에서, U는 SKU를 알고 있기 때문에, U는 마찬가지로 비밀 k 를 획득한다. 문 D에 들어가기 위해, 카드 U는 EUDdk 를 D에 전송한다. D 는 랜덤 값 q에 응답하고 그리고 카드 U는 그 후 Eq를 전송한다. 예를 들어, 비밀 k를 이용하여 암호화된 q이다. 문 D 는 Eq 를 해독하고, 동일한 q가 사용되었음을 증명한다. 그리고 U는 EUDdk에서 구체화 된 것과 동일하며, 날짜 d 는 현재이고 모든 체크가 확인되면, U를 통과하게 할 것이다. 이 구조는 그것을 더 안전하게 만들면서 위에서와 같은 PIN 구조를 통합시킬 수 있다.(특히, D는 Eq를 계산하고 전송할 수 있고 그리고 U를 정확한 판독 q 로 되돌려 보낸다.) 그러한 구조는 상기 공격자가 카드와 문 사이의 통신을 모니터 하는 경우에도 보안을 제공한다.It is also possible for A to distribute the security key SKU with security key SKD with door D and user U. The PUDd can then be the EUDdk value, which consists of the user U, the statement D, and the date d, as well as everything encrypted with some random secret k, the secret key SKD (by A). In addition, U receives Ek, i.e., k encrypted with the SKU (D and d may be known to U or communicate with U. For example, by the same responder at the main door) Since U knows the SKU, U likewise obtains the secret k. To enter door D, card U sends EUDdk to D. D responds with a random value q and card U then sends Eq. For example, q encrypted using secret k. Statement D decodes Eq and proves that the same q is used. And U is the same as specified in EUDdk, and if date d is current and all checks are confirmed, it will pass U. This structure can integrate the PIN structure as above while making it more secure (in particular, D can calculate and send Eq and send U back to the correct reading q). It also provides security when monitoring communication between doors.

그러나 문에서 사용자에 의해 입력되는 PIN을 보는 적은, U의 카드가 그것 안에 EUDd를 지니는 경우 시간 구간 d 동안 적어도, U의 카드를 도난 한 이후 U를가장 할 수 있다. 그 이후, U가 도난당한 그의 카드를 보고 하는 경우, A는 더 이상 U의 카드에 이용할 수 있는 EUDd를 만들지 않는다.However, the enemy who sees the PIN entered by the user at the door may impersonate U at least during the time interval d if U's card has EUDd in it, after stealing U's card. After that, if U reports his stolen card, A no longer makes EUDd available for U's card.

개인-키 서명 해결책Private-Key Signature Solution

예를 들어, PUDd 는 설치된 개인 키 서명 알고리듬에 따라, A 및 D 모두에 알려진 개인 키 SK를 지닌 U 및 d(그리고 가능한 D도 마찬가지로) 모두를 구체화 하는 메시지의 개인-키 디지털 서명이 된다. 특히, H를 단-방향 해시 함수가 되도록 하면, PUDd = H(SK, U, d) 이다. 카드로부터 U를 수신하는 것에 따라, 문의 판독기는 그것 고유의 개인 키 SK를 지닌 U 및 d 를 서명하고 그리고 이 계산의 결과가 상기 카드로부터 획득된 일련의 PUDd를 매치한다. 주의할 것은 클락을 전송하는 문 판독기는 현재 날짜 d가 무엇인지를 알고 따라서 카드로부터 그것을 수신할 필요가 없다. 이것은 A가 시간에 있어 모든 날을 위한 접근을 허용하는 한 작동한다. 그 외에, 상기 카드는 또한 d(또는 선택된 시간 구간) 를 판독기에 전송하고, 그리고 상기 판독기는 디지털적으로 SK와 함께 획득된 U 및 d를 서명하고, 그 결과가 PUDd와 확실히 동일한지를 체크하며, 그 후 상기 현재 시간(문의 클락에 따라)은 d 내에 있다. 그런 경우 그것은 열린다.For example, PUDd becomes a private-key digital signature of a message that specifies both U and d (and possibly D as well) with a private key SK known to both A and D, depending on the installed private key signature algorithm. In particular, if H is to be a one-way hash function, then PUDd = H (SK, U, d). Upon receiving U from the card, the query reader signs U and d with its own private key SK and the result of this calculation matches a series of PUDds obtained from the card. Note that the door reader sending the clock knows what the current date d is and therefore does not need to receive it from the card. This works as long as A allows access for all days in time. In addition, the card also sends d (or selected time interval) to the reader, and the reader digitally signs U and d obtained with SK, checking that the result is exactly the same as PUDd, The current time (according to the clock of the door) is then within d. In that case it opens.

다시 U 는 처리의 부분으로서 PIN을 입력하기 위해 물어본다. 그 경우에, 상기 PIN은 또한 U의 부분으로 사용될 수 있다. 예를 들어, U 는 u 및 PIN으로 구성되고, 이 때 u는 사용자를 식별하는 일련이며, PIN 패스워드는 사용자에게 알려졌다. 이 경우에서, 카드는 문 판독기 u에 들어가고, 그리고 PUDd(그리고 가능하게 D또는 d 및 부가적 분량), 사용자는 PIN을 판독기에 결합된 문 제어 또는 판독기 자체에 입력하고, 그 후 상기 판독기는 U=(u PIN) 로 재구성하고, 그리고 PUDd가 획득됨을 체크하기 위해 SK를 지닌 Ud를 서명한다. 다시, d가 제공된 카드인 경우, 그것은 또한 현재 시간이 d 이내임을 체크한다. 이 방법은 더 단단한 방법에서 그의 카드 및 사용자를 결합한다. 그 결과 카드를 훔친 도둑이 그것을 적합한 PIN 없이 이용하는 것은 어려운 시간을 지니게 된다.U again asks to enter the PIN as part of the process. In that case, the PIN can also be used as part of U. For example, U consists of u and PIN, where u is a series identifying the user, and the PIN password is known to the user. In this case, the card enters door reader u, and PUDd (and possibly D or d and additional quantities), the user enters the PIN into the door control or reader itself coupled to the reader, and then the reader Reconfigure with = (u PIN), and sign Ud with SK to check that PUDd is obtained. Again, if d is the provided card, it also checks that the current time is within d. This method combines his cards and the user in a harder way. As a result, it is difficult for a thief to steal a card and use it without a proper PIN.

물론, 동일한 SK는 문 세트를 위해 사용될 수 있고, 그 때 그들 중의 하나를 위해 U로 접근을 허용함으로써 A는 자동적으로 그를 그들 전체로 액세스하는 것을 허용한다. 접근의 최고의 세분성을 허용하고 각각의 문 D는 비밀 카 SKD를 지닌다.Of course, the same SK can be used for a set of doors, then allowing A to automatically access him all of them by allowing access to U for one of them. Allows the finest granularity of access and each door D has a secret car SKD.

두 개의 접근의 결합Combination of two approaches

두 개의 접근의 결합하는 실시예로서, U는 A(예, 위에서 설명된 구조를 이용, 특히, 암호화를 이용) 로부터 날짜 d 를 위한 비밀 키 SKUd를 수신한다. 그는 그 후 문 D로 그의 신원 및/또는 개인 키 서명을 이용한 인증을 "증명"한다. 즉, 문 D는 m의 서명-H(m, SKUd)로 전송하는 것에 응답하여 카드 U에 랜덤 메시지 m 을 전송한다. 이 서명의 계산은 PINu를 요구하는 것을 주의하여야 한다. 문 D는 그 후 서명을 증명한다. 이것은 문 D가 직접적으로 SKUd를 알 것을 요구한다.(예, A로부터 직접 그것을 수신하거나 또는 다른 정보로부터 그것을 계산한다. 예, H(SKD, d, U) 등) 대안적으로, A는 D를 분배하는 키 A와 함께 SKUd를 암호화 하고, ESKUd를 획득한다. 그 후 ESKUd 는 U에 주어질 수 있고, 그리고 그 후 U 는 그것을 서명과 함께 D에 전송할 수 있다.As a combined embodiment of the two approaches, U receives a secret key SKUd for date d from A (eg, using the structure described above, in particular using encryption). He then "proves" with statement D a certificate using his identity and / or private key signature. That is, door D sends random message m to card U in response to sending m's signature-H (m, SKUd). Note that the calculation of this signature requires a PINu. Statement D then verifies the signature. This requires that statement D knows SKUd directly (e.g., receives it directly from A or computes it from other information, e.g. H (SKD, d, U), etc.) Encrypt the SKUd with the key A you distribute and obtain the ESKUd. ESKUd can then be given to U, and then U can send it to D with a signature.

다중 조직Multiple organizations

우리가 살펴본 바와 같이 조직/인증 A가 주어진 시간 구간 d에서 사용자들 U가 D에 접근하는 것을 제어하기 위해 문 D를 지닌 비밀 키 SKD를 분배하기에 충분하다. 이 과정은 다중 조직 A, B, C,..., 을 가능하게 할 수 있게 하기 위해 문 D 또는 문들의 세트 D1, D2, D3을 통해 독립적으로 접근을 제어하기 위해 확장될 수 있다. 각 조직 X는 문 D를 지닌 비밀 키 SKXD를 분배하고 그 후 위에서 설명된 해결책들을 이용한다. 예를 들어, 각 조직 X는 SKXD를 선택하고 그리고 그것을 D의 판독기에 삽입한다. 각 조직 X는 문에서 문으로 한 명 이상의 고용인/ 일하는 사람들/계약자/종속계약자들의 팀을 보내야만 한다. 그러나 많은 문을 지닌 설비 내에서 그렇게 하는 것은 비실용적이거나 또는 낭비다. 왜냐하면 다른 조직들이 이미 그렇게 행했기 때문이다. 따라서 인증이 있거나 있을 경우, 상기 판독기는 모든 이러한 키들을 저장함에 있어 어려움을 지닌다. 부가적으로, 적합한 예방책이 취해져야 한다. 그렇지 않으면, 어느 것도 도둑이 그의 고유 비밀 키를 문의 판독기에 삽입하는 것으로부터 막지 못한다. 그 후 그것을 알면, 위의 방법을 이용하여 그 문으로 그 자신 또는 그의 동료의 접근을 허용하기 위해 사용할 수 있다. 이러한 이유로, 우리는 다음의 해결책을 제안한다. 주의할 것은 동일한 방법이 마찬가지로 단일 해결책으로 적용될 수 있다는 점이다.As we have seen, organization / authentication A is sufficient to distribute the secret key SKD with statement D to control users U accessing D in a given time interval d. This process can be extended to control access independently through door D or sets of doors D1, D2, D3 to enable multiple organizations A, B, C, ...,. Each organization X distributes the secret key SKXD with statement D and then uses the solutions described above. For example, each tissue X selects SKXD and inserts it into the reader of D. Each Organization X must send a team of one or more employees / workers / contractors / subcontractors from door to door. However, doing so in a facility with many doors is impractical or wasteful. For other organizations have already done so. Thus, with or without authentication, the reader has difficulty storing all these keys. In addition, appropriate precautions should be taken. Otherwise, nothing prevents the thief from inserting his unique secret key into the reader of the query. Then, knowing it, you can use the above method to allow yourself or his colleagues access to the door. For this reason, we propose the following solution. Note that the same method can be applied in a single solution as well.

첫 번째 해결책First solution

우리가 본 것과 같이, 사용자는 그 또는 그의 카드가 주어진 시간 구간에서비밀 키를 나누는 경우 비밀 문을 통과할 수 있다. 따라서 사용자 및 문은 세션 키를 분배한다. 케베로 및 니드함 슈뢰더(Needham-Schroeder) 프로토콜은 엔티티 쌍이 비밀 세션 키를 분배하는 것을 확실히 하기 위한 구조를 제공하고 그리고 여기서 전체 시스템 내에서 적용될 수 있다. 그러나 이러한 프로토콜들은 온-라인인 키-분배 중앙 상에 기초하고 그리고 분배된 세션 키가 필요할 때마다 접촉해야한다. 따라서 우리는 부가적이며 보다 편리한 방법을 제시하기 원한다. 시작과 함께, 케베로스/니드함 슈뢰더 기반 시스템을 구현하기 위해, 우리는 문에 키를 분배하기 위한 중앙 인증을 위한 방법이 필요하다(이는 다른 인증에 키를 분배하는 것보다 어렵다)As we have seen, a user can pass through a secret door if he or his card breaks a secret key in a given time interval. Thus, users and statements distribute session keys. The Chebero and Needham-Schroeder protocols provide a structure for ensuring that entity pairs distribute secret session keys and can be applied here throughout the system. However, these protocols are based on an on-line key-distribution center and must be contacted whenever a distributed session key is needed. Therefore, we want to suggest an additional and more convenient way. To begin with, to implement a Cerberus / Nedham Schroeder based system, we need a method for central authentication to distribute keys to doors (which is more difficult than distributing keys to other certificates).

우리는 문 판독기에 안전하게 키를 분배하기 위해 특별한 인증 SA(예를 들어, 공항에서, 공항 인증)를 상상한다. 바람직하게, SA는 그렇게 할 수 있는 유일한 엔티티가 된다. 예를 들어, 상기 문 판독기는 내부에 어떠한 비밀 키도 없이 전송되고 그리고 제조되며 그 결과 일단 비밀 키(가능하게 비밀 키 세트)의 첫 번째 세트가 삽입되면, 판독기들은 오랫동안 그것을 저장하고 그리고 나중에 저장을 위해 다른 어떤 키도 수용하지 못한다. 이 방법은, 문 판독기로 키를 값을 입력하기 위해 첫 번째 키가 됨으로써(설치 직후, 전, 동안), SA는 누구도 문으로 보안키를 설치할 수 없다는 것을 확실히 한다. 대안적으로, 제어 PIN 또는 키는 문 판독기로 다른 비밀 키를 저장하기 위해 필요하다. 상기 문 판독기는 어떠한 제어 PIN 또는 키 없이 전달되고 제조되는 결과 일단 첫 번째 제어 PIN 또는 키(또는 가능하게 그들 세트)가 삽입되면, 판독기는 오랫동안 그것을 저장하고 그리고 어떠한 다른 제어 PIN 또는 키들도 그 후에 허용하지 않는다. 그러나 올바를 제어 PIN/키를 제공하는 것은 입력이고, 그 후 어떠한 새로운 키도 삽입될 수 있으며 판독기에 저장될 수 있다. 이 방법은, 문 판독기(설치 전, 동안 또는 직후)로 어떠한 제어 PIN/키를 삽입하기 위해 첫 번째 것이 됨으로써, SA는 어떠한 다른 것도 문 판독기로 삽입되거나 비밀 키를 저장할 수 없음을 확실히 한다.We imagine a special certification SA (e.g., airport certification, at an airport) to distribute keys securely to the door reader. Preferably, the SA is the only entity that can do so. For example, the door reader is transmitted and manufactured without any secret key inside, so that once the first set of secret keys (possibly a secret key set) is inserted, the readers store it for a long time and then later store it. To accept any other key. This way, by being the first key (shortly before, during, and after installation) to enter a key value into the door reader, the SA ensures that no one can install the security key into the door. Alternatively, a control PIN or key is needed to store another secret key with the door reader. As the door reader is delivered and manufactured without any control PIN or key, once the first control PIN or key (or possibly their set) is inserted, the reader stores it for a long time and any other control PIN or keys are then allowed I never do that. However, providing the correct control PIN / key is an input, after which any new key can be inserted and stored in the reader. This method is the first to insert any control PIN / key into the door reader (before, during or immediately after installation), so that the SA ensures that nothing else can be inserted into the door reader or store the secret key.

이 지점에서, SA는 문 D의 판독기의 모든 보안키를 알고 있다. 예를 들어, SKAD, SKBD, SKCD 등이다. 케르베로스를 구현하는 것보다, SA가 SKAD 를 인증 A에, SKBD가 인증 B에 제공하는 것이 보다 단순하다. 이 지점에서, 인증 A/B/...는 사용자의 D로 접근을 개인 키 암호화 방법 또는 개인 키 서명 방법에 의해 제어할 수 있다. 주의할 것은 이러한 인증들은 문의 다른 세트에서 독립적으로 작동한다. 예를 들어,At this point, the SA knows all the security keys of the reader of Door D. For example, SKAD, SKBD, SKCD, etc. Rather than implement Cerberus, it is simpler for SA to provide SKAD to Certification A and SKBD to Certification B. At this point, authentication A / B / ... may control access to the user D by a private key encryption method or a private key signature method. Note that these certificates work independently on different sets of statements. E.g,

1. 문 D1 은 그것의 판독기 내부에 비밀 키 SKXD1을 지니고 그리고 SA는 SKXD1을 인증 X에 제공한다.1. Door D1 has a secret key SKXD1 inside its reader and SA provides SKXD1 to authentication X.

2. 문 D2 는 그것의 판독기 내부에 비밀 키 SKXD2를 지니고, 그리고 SA는 SKYD2를 인증 y에 제공한다.2. Door D2 has a secret key SKXD2 inside its reader, and SA provides SKYD2 to authentication y.

3. SA는 Y로의 문 D1에 어떠한 키도 그리고 X로의 문 D2에 어떠한 키도 제공하지 않는다.3. SA does not provide any key to door D1 to Y and no key to door D2 to X.

인증 X는 문 D1로의 접근을 제어하고 인증 Y는 전체적으로 독립적인 방법으로 문 D2를 제어한다.Authorization X controls access to statement D1, while authorization Y controls statement D2 in a totally independent way.

더 나은 해결책Better solution

이용 가능한 위의 특징과 함께, 우리는 일부 중요한 측면에서 위와 같은 시스템들을 개선할 수 있다. 즉With the above features available, we can improve these systems in some important respects. In other words

키-저장장치 크기- 문 판독기가 그것을 제어하는 각각의 다른 조직을 위해 다른 키들을 저장하는 것이 바람직한 동안, 이는 판독기가 안전하게 저장하여야 하는 다수의 키들을 올린다.Key-Storage Size- While it is desirable for the door reader to store different keys for each different organization that controls it, it raises a number of keys that the reader must store securely.

새로운 제어의 부가- 새로운 제어 이슈들은 새로운 인증 또는 새로운 문이 시스템 내에서 소개되는 때에 나타난다. 문 D가 조직 X를 위한 키를 저장하기 않는 경우, 그 후에 X가 D에 대한 제어를 획득하는 것이 바람직하며, SA는 D의 판독기로 X를 위한 키를 삽입하여야 한다. 예를 들어, 새로운 조직이 나타나는 경우, SA는 새로운 조직에 의해 제어되어야 하는 모든 문 D로 SKXD를 삽입하기 위해 일하는 사람의 팀을 급히 해치워야 한다. 그러한 물리적 "여행"은 그런 불편하다. 그것을 피하기 위해, SA는 문 D의 판독기로 부가적 키들을 미리 설치하고 그리고 그 후 그들을 발생하는 새로운 조직으로 또는 후에 D를 통해 제어해야만 하는 조직으로 묶는다. 이 전략은, 그러나, 단지 첫 번째 탄알에서 설명된 지점을 악화시킬 뿐이다. 게다가, 새로운 문이 이미 존재하는 인증에 의해 제어되도록 소개되면, SA는 문 판독기 내에 새로운 키를 삽입하여야 할 것이며 그것을 제어하기 위해 미리 존재하는 인증으로 적합한 보안 키들을 전송해야 한다. 할 수 있음에도 불구하고, 비밀 키를 전달하는 것은 항상 문제이다.Addition of new controls-New control issues arise when new authorizations or new statements are introduced into the system. If door D does not store the key for organization X, then it is desirable for X to gain control of D, and the SA must insert the key for X into D's reader. For example, when a new organization emerges, the SA must rush the team of people working to insert SKXD into all doors D that must be controlled by the new organization. Such physical "travel" is such an inconvenience. To avoid that, the SA pre-installs additional keys with the reader of Door D and then binds them to a new organization that generates them or to an organization that must be controlled later by D. This strategy, however, only aggravates the point described in the first bullet. In addition, if a new door is introduced to be controlled by an existing authentication, the SA will have to insert a new key into the door reader and send the appropriate security keys with the existing authentication to control it. Despite that, passing a secret key is always a problem.

철회 제어- 일단 비밀 키 SKXD가 문 D 내에 저장되고 인증 X에 알려지면, D에 대한 특정 지점 제어가 다른 조직으로 배타적으로 주어짐에도 불구하고, X는 D를 통한 액세스제어를 계속할 것이다. 이를 피하기 위해, SA는 다시 물리적 여행으로 속하게 되고 그리고 문 D로부터 SKXD를 제거한다.(DP, 제어 PIN/키 구조의 수단에 의해)Revocation Control-Once the secret key SKXD is stored in Door D and known to Authentication X, X will continue to control access through D, even though certain point control for D is given exclusively to another organization. To avoid this, the SA again belongs to the physical journey and removes SKXD from door D (by means of DP, control PIN / key structure).

어떻게 이러한 부가적 개선을 야기하는지 이하에서 설명하겠다.How to cause this additional improvement will be described below.

기본적 시스템 개요Basic system overview

시작과 함께, 우리는 문마다 단일키를 시는 시스템 워크를 지닐 수 있다. 예를 들어, 상기 SA는 문 D 내에 단일 키 SKD를 저장한다.(그리고 물론, 이 정보를 따라간다). 그러한 키는 잠재적으로 D의 식별자 그리고 SA에만 알려진 비밀 시드 s 로부터 결정적으로 SA에 의해 계산될 수 있다. 예를 들어, X에서 평가된 시드 SKD를 지닌 슈도-랜덤 함수로서 SKD = H(s,D). 상기 SA는 그 후 SKD 및 X로부터 결정적으로 X를 키 SKXD에 제공함으로써 인증 X에 D에 대한 제어를 제공한다. (단순성을 위해, 우리는 엔티티가 그것의 적합한 식별자와 일치한다고 가정한다) 특히, 우리는 SKXD=H(SKD, X)를 지닐 수 있다. 인증 X는 그 후 이전처럼 시간 구간(예, 일일)d 동안 D로 사용자 U 의 접근을 허용하기 위해 SKXD를 이용한다. 특히, 개인 키 서명 구조의 서명 키로서 SKXD를 이용함으로써, 예를 들어, SKXDUd=H(SKXD,U,d) 그리고 SKXDUd가 U의 카드로 저장되도록 계산함으로써 이다. U의 카드가 D의 판독기와 통신할 때, 상기 카드는 (a)X 그리고 (b)SKXDUd 그리고 d와 같은(사용자 U에 대한 정보와 마찬가지로), 가능한 다른 정보를 지닌 판독기를 제공한다. 이 정보를 수신함에 있어, SKXD와 함께 결합한 이후 해싱(U,d)에 의한 위의 실시예에서, 판독자는 H(SKD, X)를 계산하고 그 후 동일한 개인-키 신호 구조 및 사인(U,d)의 서명 키로서 그 결과( SKXD와 같다고 추정되는)를 이용한다. 상기 결과가 카드에 의해(추정하면, SKXDUd) 의도되는 값과 매치하는 경우, 시간 구간이 판독기 클락에 대해 정확한 경우(그리고 U가 정당한 PIN에 입력되는 경우, PIN들이 위의 시스템 내에서 적합하게 사용되는 경우), 문은 열린다.At the beginning, we can have a system walk that gives a single key per door. For example, the SA stores a single key SKD in door D (and of course follows this information). Such a key can potentially be computed by the SA from the identifier of D and the secret seed s known only to the SA. For example, SKD = H (s, D) as a pseudo-random function with seed SKD evaluated at X. The SA then gives control to D to authentication X by providing X to key SKXD deterministically from SKD and X. (For simplicity, we assume that the entity matches its appropriate identifier.) In particular, we can have SKXD = H (SKD, X). Authentication X then uses SKXD to allow access of user U to D during the time interval (eg daily) d as before. In particular, by using SKXD as a signature key of the private key signature structure, for example, by calculating SKXDUd = H (SKXD, U, d) and SKXDUd to be stored on the card of U. When the card of U communicates with the reader of D, the card provides a reader with possibly other information, such as (a) X and (b) SKXDUd and d (as with information about user U). In receiving this information, in the above embodiment by hashing (U, d) after combining with SKXD, the reader calculates H (SKD, X) and then the same private-key signal structure and sine (U, Use the result (presumed equal to SKXD) as the signature key of d). If the result matches the value intended by the card (inferred, SKXDUd), if the time interval is correct for the reader clock (and if U is entered into a valid PIN, then the PINs are used appropriately in the above system). The door is opened.

키 저장장치, 제어의 부가Key storage, addition of control

문마다 단일 키 시스템은 키-저장장치의 요구를 최소화 할 뿐만 아니라, 부가적 제어의 문제점을 매우 단순화 한다. 인증 X가 문 D에 대해 첫 번째 시간 제어를 위한 게인(gain)이 필요한 때에, SA는 물리적으로 D에 도달할 필요가 없고 그리고 D의 판독기로 새로운 D-X 키를 삽입한다. 오히려, D가 SA에 알려진 키 SKD를 지니는 경우, 상기 SA는 단순히 SKD(예, SKXD = H(SKD, X))로부터 D-X 키를 계산하고 그리고 그러한 D-X 키(예, 전기적으로) X에 전달한다.A single key system per door not only minimizes the need for key storage, but greatly simplifies the problem of additional control. When authentication X needs gain for the first time control for statement D, the SA does not need to physically reach D and inserts a new D-X key into D's reader. Rather, if D has a key SKD known to SA, the SA simply computes a DX key from SKD (e.g. SKXD = H (SKD, X)) and passes it to such DX key (e.g. electrically) X. .

철회 제어Retraction control

각 문 D 및 시간 구간(예, 일일) d'를 위해 D를 제어할 권리가 있는 인증 X를 위해, SA는 이 사실의 서명을 계산하고 이용가능하게 만든다. 예를 들어, 이 서명은 SA가 문 D와 함께 분배하는 키 SKD에 대한 개인-키 서명일 수 있다. 특히, 이서명은 값 D(SKD, 유효, X, d')가 될 수 있다. 개인 키 서명이 됨에도 불구하고, 서명 그 자체는 걱정 없이 공공으로 만들어 질 수 있다. 게다가, 위에서 설명한 개인-키 서명의 H-기반 구현을 이용하는 것은, H가 안전 단-방향 해시 함수인 경우, H(SKD, 유효, X, d')으로부터 SKD를 계산하는 것이 매우 어렵다. 따라서 사용자 U가 그의 카드에서 날짜의 문-제어 허가를 픽업 할 때, 그는 문 D를 위해 SKXDUd 뿐만 아니라 H(SKD, 유효, X, d')를 픽업한다. 문 D의 판독기는 그 후 이전과 같이 SKXDUd를 확인하고, 부가적으로 X가 확실히 SKD, 유효, X 그리고 d'와 함께 해싱함으로써 구간 d'동안 D에 대한 제어를 지녔는지를 확실히 하고 상기 카드를 획득함으로써 의도된 동일한 값을 체크하며, 현재 시간이 d' 이내인 것을 그것의 클락에 따라 체크한다. 사실상, 단지 SA(그리고 D)는 비밀 서명 키 SKD를 안다. H(SKD, X)만을 알고 그리고 H(SKD, X) 및 H(SKD, 유효, X, d')로부터 SKD를 계산하는 인증 X는 매우 어렵다. 주의할 것은 시간 구간 d 및 d' 은 동일하지 않다. 예를 들어, X가 하루를 기준으로 사용자에 대한 D를 통한 접근을 허용하는 동안, SA는 주말 기준 상의 X로 D에 대한 제어를 허용하는 것을 만족한다. 대안적으로, 상기 시스템은 그 키: 예, SKXDd = H(SKD, X, d)의 시간-의존 버전을 지닌 위의 것과 같은 SKXD의 이용을 대체한다. 그 후 SA는 상기 시간 구간 d 이전에 각 인증 X로 SKXDd를 전달하여야 한다. 철회를 제어하기 위해, SA는 단순히 문 D에 대한 X 제어를 부인하기로 결정하는 구간 d 동안 SKXDd를 전송하는 것을 멈춘다.For Certificate X, which has the right to control D for each statement D and time interval (eg daily) d ', the SA calculates and makes a signature of this fact available. For example, this signature could be a private-key signature for the key SKD that the SA distributes with statement D. In particular, this signature can be the value D (SKD, valid, X, d '). Despite being a private key signature, the signature itself can be made public without worry. In addition, using the H-based implementation of the private-key signature described above, it is very difficult to calculate SKD from H (SKD, valid, X, d ') when H is a secure unidirectional hash function. Thus, when user U picks up the door-control permission of the date from his card, he picks up H (SKD, valid, X, d ') as well as SKXDUd for door D. The reader of Moon D then checks the SKXDUd as before, additionally ensuring that X has control of D during the interval d 'by certainly hashing with SKD, valid, X and d' to obtain the card. By checking the same value intended, it checks according to its clock that the current time is within d '. In fact, only SA (and D) knows the secret signing key SKD. Certification X knowing only H (SKD, X) and calculating SKD from H (SKD, X) and H (SKD, valid, X, d ') is very difficult. Note that the time intervals d and d 'are not the same. For example, while X allows access through D to a user on a daily basis, SA satisfies allowing control of D with X on a weekend basis. Alternatively, the system replaces the use of SKXD as above with its key: eg, time-dependent version of SKXDd = H (SKD, X, d). The SA must then deliver SKXDd to each authentication X before the time interval d. To control the revocation, the SA simply stops sending SKXDd during interval d, which decides to deny X control for door D.

또한 주의할 것은 상기 시스템은 SA가 어떠한 사용자 U가 D로 X에 의한 주어진 접근인지 뿐만 아니라 그들의 번호를 알 필요 없다는 점에서 일부 사생활을 허용한다. 상기 구조는, 물론 이 사생활(예, 케베로스 시스템을 이용하거나 또는 레포팅)을 제거함으로써 될 수 있다.Also note that the system allows some privacy in that the SA does not need to know their number as well as which user U is given by X as D. The structure can, of course, be achieved by eliminating this privacy (eg using a Cerberus system or reporting).

예 14Example 14

이제 슈퍼 인증 SA,다수의 문(바람직하게 연결되지 않은) D, 다수의 조직 X, 다수의 사용자 U 를 지닌 시스템에서 안전 물리적 접근을 획득하기 위한 우리의 선호되는 구성을 짜보자. 선호되는 실시예는 키 저장장치를 최소화 하고 조직 X로 문 D의 제어를 부가하고 철회하는 것을 매우 쉽게 한다.Now let's build our preferred configuration for gaining secure physical access in a system with a super-certified SA, multiple doors (preferably not connected) D, multiple organizations X, and multiple users U. The preferred embodiment minimizes key storage and makes it very easy to add and withdraw control of door D with organization X.

선호되는 실시예에서, SA는 주어진 시간 구간에서 문 D에 대한 조직 X 제어를 허용한다. 그 구간 동안, X는 그 자체로서 사용자 U의 D로 접근을 허용한다.In a preferred embodiment, the SA allows tissue X control for door D in a given time interval. During that interval, X allows access to user U's D by itself.

일련의 시각 구간에 대응하는 일련의 날짜 d 각각에서 활동을 취하는 SA(가능하게는 다른 플레이어)응 구상한다. 예를 들어, d 는 주어진 날의 시작 그리고 주어진 날의 대응하는 시간 구간이 될 수 있다. 단순성을 위해, 우리는 d 가 날짜 및 대응하는 시간 구간 모두를 의미하는 것으로 이용한다. 구체성을 위해, 의도되는 제한 없이, 우리는 각 날짜/시간 구간이 날짜임을 가정한다.Design an SA (possibly another player) taking an action on each of a series of dates d corresponding to a series of time intervals. For example, d may be the start of a given day and the corresponding time period of a given day. For simplicity, we use d as meaning both date and corresponding time interval. For the sake of specificity, without any intended limitation, we assume that each date / time interval is a date.

우리는 개인 키 디지털 서명을 이용하는 선호되는 실시예를 설명한다. 이는 의도되는 어떠한 제한도 없다. 우리의 선호되는 실시예는 위에서 설명된 것과 같은 다른 개인키와 함께 구현되도록 고려되어야 한다. 보다 상세히, 우리는 개인 키 서명이 단-방향 해시 함수 H를 이용하여 구현된다고 가정한다. 이는 의도되는 제한이 없으며, H(SK, DATA)는 항상 DATA의 키 SK를 지닌 디지털 서명으로 고려된다.We describe a preferred embodiment using a private key digital signature. It is not intended to be any limitation. Our preferred embodiment should be considered to be implemented with other private keys as described above. In more detail, we assume that the private key signature is implemented using the one-way hash function H. There is no intended limitation, and H (SK, DATA) is always considered a digital signature with the key SK of DATA.

우리는 SA가 비밀 키 SKD를 문 D와 나눈다고 가정하자. SA는 또한 비밀 키 SKX를 조직 X와 나눈다.(SKD는 마스터 비밀 키 SK를 통해 A에 의해 발생될 수 있다. SKX와 유사하게, 예를 들어, SKD는 H(SK,D)와 같을 수 있고 SKX 는 H(SK, X)와 같을 수 있다). SA는 그 후 개인적으로 또는 암호화를 통해, D에 SKD를 제공한다. X와 유사하다.Suppose we divide the secret key SKD with door D. The SA also divides the secret key SKX with organization X. (SKD may be generated by A via master secret key SK. Similar to SKX, for example, SKD may be equal to H (SK, D) and SKX may be equal to H (SK, X)). The SA then provides SKD to D, either personally or via encryption. Similar to X.

각 날짜 d에서, SA가 문 D로 조직 X 접근을 허용하기 원하는 경우, 비밀 키 SKXDd를 수신하기 위해 X를 계산하고 일으킨다. 그것은 X, D, 그리고 D(예를 들어 입력 X 및 d)에 의해 증명할 수 있는 날짜 d 에 안전하게 속하는 키이다.At each date d, if the SA wants to allow organization X access to door D, it computes and raises X to receive the secret key SKXDd. It is a key belonging securely to date d which can be proved by X, D, and D (e.g. inputs X and d).

예를 들어, SKXDd = H(SKD, X,d), 즉, SA는 키 SKD와 함께 X, d에 사인한다. SA는 그 후 X가 SKXDd를 수신하도록 한다. SA는 X가 SKXDd를 X에 전송함으로써 SKXDd를 수신하도록 하며, 바람직하게 X를 분배한 보안 키 SKX와 함께 그것을 암호화 한 이후이다. 지금까지, 바람직하게 그것이 응답기 내에 저장되도록 함으로써 SA는 X로 그렇게 암호화된 SKXDd를 전송한다. 그것으로부터 X는 그 후 그것을 다운로드 한다.For example, SKXDd = H (SKD, X, d), i.e., SA signs X, d with the key SKD. The SA then causes X to receive SKXDd. The SA allows X to receive SKXDd by sending SKXDd to X, preferably after encrypting it with the security key SKX that distributed X. So far, preferably, the SA sends SKXDd so encrypted with X, such that it is stored in the responder. X from it downloads it after that.

X가 하루 내에 시간 구간 t에서 D로 사용자 U 접근을 허용하기 원하는 경우, X는 계산하고 U가 비밀 키 SKXDdUt를 수신하도록 한다. 그것은 X, D, U, 그리고 D에 의해 확인될 수 있는 t 에 안전하게 속한 키이다.If X wants to allow user U access from time interval t to D within one day, X calculates and causes U to receive the secret key SKXDdUt. It is a key belonging to t that can be identified by X, D, U, and D.

예를 들어, SKXDdUt = H(SKXDd, U, t), 즉 X 는 키 SKXDd 와 함께 U, t 에 서명하고 그 후 U가 SKXDdUt를 수신하도록 한다. X는 U가 SKXDdUt를 X에 전송함으로써 SKXDdUt 수신하도록 한다. 바람직하게 U와 함께 분배된 비밀 키 SKU를 그것과함께 암호화 한 이후이다. 지금까지 바람직하게, X는 그것을 응답기 내에 저장되도록 함으로써 U에 암호화된 SKXDdUt를 전송하고, 그것으로부터 U는 그 후 그것을 다운로드 한다.For example, SKXDdUt = H (SKXDd, U, t), ie X signs U, t with key SKXDd and then causes U to receive SKXDdUt. X allows U to receive SKXDdUt by sending SKXDdUt to X. Preferably after encrypting the secret key SKU distributed with U with it. So far, preferably, X sends the encrypted SKXDdUt to U by having it stored in the responder, from which U then downloads it.

U가 시간 구간 t에서 D를 접근하기 원하는 경우, U는 D가 X,U,t(예를 들어 U의 카드는 D의 판독기로 이동한다)를 수신하도록 한다.If U wants to approach D in time interval t, then U causes D to receive X, U, t (e.g. U's card moves to D's reader).

D가 날짜 d에서 X,U, t를 수신하는 경우, 그것은 그것의 비밀 키 SKD로부터 SKXDd를 계산하고 그 후 SKXDd로부터 SKXDdUt를 계산한다. D는 그 후 그 시간 구간 t가 날짜 d 이내 임을 확실히 하고 확실히 현재 시간이 시간 구간 t 이내인 그것의 고유 클락을 이용한다. 게다가, D는 키 SKXDdUt를 이용함으로써 도전-응답 구조에 의한 U/U' 카드와 함께 다뤄지는 것을 확실히 한다. 이러한 확인이 패스되면, D는 열린다.If D receives X, U, t on date d, it calculates SKXDd from its secret key SKD and then calculates SKXDdUt from SKXDd. D then makes sure that the time interval t is within date d and uses its own clock that surely the current time is within time interval t. In addition, D ensures that it is handled with a U / U 'card by a challenge-response structure by using the key SKXDdUt. If this confirmation passes, D is opened.

예를 들어, D가 H(SKD, X,d)를 계산함으로써 비밀 키 SKD로부터 SKXDd를 계산하고 그 후 H(SKXDd, U, t)를 계산함으로써 SKXDd로부터 SKXDdUt를 계산한다. 예를 들어, 키 SKXDdUt를 이용하는 도전-응답 구조는 랜덤 스트링 q 를 전송하고 그리고 SKXDdUt를 지닌 q의 암호화를 또는 키 SKXDdUT를 지닌 q의 디지털 서명을 되돌려 받는다. 대안적으로, D는 Eq, 키 SKXDdUT를 지닌 q의 암호화를 전송하고 그리고 반드시 다시 q를 수신해야한다.For example, D calculates SKXDd from the secret key SKD by calculating H (SKD, X, d) and then calculates SKXDdUt from SKXDd by calculating H (SKXDd, U, t). For example, the challenge-response structure using the key SKXDdUt sends a random string q and receives the encryption of q with SKXDdUt or the digital signature of q with the key SKXDdUT. Alternatively, D sends an encryption of q with Eq, key SKXDdUT and must receive q again.

주의할 것은 선호되는 구조는 위의 것과 일치하는 PIN을 이용하는 단계를 포함하는 것을 이해하여야 한다. 특히, 앞의 섹션 내에서 설명한 PIN 이용은 선호되는 구조 내에서 사용된다. 선호되는 시스템은 d 와 t가 다르다는 점에서 많은 융통성을 제공한다는 점에 유의하라. 예를 들어 X가 일주일 d 내에 하루 t 동안 U의 D로의 접근을 허용하는 동안, SA는 일주일 d 동안 X로 D에 대한 제어를 제공한다. 그러나 우리는 d=t 를 지니며, 그곳에서 경우 t 는 선호되는 시스템 내에서 구체화 또는 분리되어 사용될 필요가 없다.It should be understood that the preferred structure includes using a PIN consistent with the above. In particular, the PIN usage described in the previous section is used within the preferred structure. Note that the preferred system offers a lot of flexibility in that d and t are different. For example, while X allows access to U of D for a day t within a week d, SA provides control over D with X for a week d. But we have d = t where t does not need to be specified or used separately in the preferred system.

케베로스 접근Cerberus approach

케베로스 접근을 직접적으로 이용하는 것은 우리의 안전 액세스장치에서는 매우 잘 작동하지 않는다. 모든 문과 SA를 하나의 왕국으로서( 그 왕국을 위해, 티켓 허여 서비스, TGS로서 SA가 역할 하는 ) 구현하는 것이 가장 자연스럽다. 각 구현 그리고 그것의 고용인은 그 후 왕국을 분리한다. 각 조직의 인증은 그 후 그 왕국(그것 고유의 TGS와 마찬가지로) 인증 서비스, AS로서 역할 한다. 케베로스 프로토콜에 따라, 각 사용자는 그 후 티켓-허여 티켓, TGT 를 획득한 각각의 인증/AS로 인증된다. 이 티켓 TGT는 그 후 사용자에게 권리가 속한 문 각각을 위한 서비스 허여 티켓을 위한 요청을 따라 사용자에 의해 SA/TGS로 전송된다. 상기 SA/TGS는 그 후 사용자의 적격성을 확인하여야만 하고 그리고 사용자가 모두 정확한 경우, 사용자는 이 서비스-허여 티켓을 제공한다. 이 프로토콜은 명백히 상당히 힘들고, SA상에 상당한 짐을 부가한다. 특히, 어떠한 문에 특정 사용자가 속했는지 그리고 각각의 티켓을 발행하는지를 확인하기 위한 SA의 책임이 있게 된다. 게다가, 그것은 SA가 온-라인 상에 있을 것을 요구하고 실시간으로 프로토콜에 참여한다. 사용자가 SA로 채널을 지니는 것은 마찬가지로 추가적 보안 위험을 나타낸다.Using Cerberus access directly does not work very well with our secure access devices. It is most natural to implement all doors and SAs as one kingdom (for that kingdom, the ticket granting service, the SA acts as the TGS). Each implementation and its employees then separate the kingdom. Each organization's certification then serves as its Kingdom (as its own TGS) certification service, AS. According to the Cerberus protocol, each user is then authenticated with each authentication / AS that obtained a ticket-granted ticket, TGT. This ticket TGT is then sent by the user to SA / TGS in response to a request for a service grant ticket for each statement to which the user belongs. The SA / TGS must then confirm the user's eligibility and if the user is all correct, the user provides this service-granted ticket. This protocol is obviously quite difficult and adds significant burden on the SA. In particular, it is the SA's responsibility to ascertain which statements belong to which users and which tickets are issued. In addition, it requires the SA to be on-line and participate in the protocol in real time. Having the channel to the user by SA also likewise represents an additional security risk.

프로토콜이 없는 케베로스 티켓Cerberus tickets without protocol

원칙적으로, 우리는 케베로스 프로토콜을 "금지"할 수 있고 단지 티켓만을 이용할 수 있다. 즉, 모든 티켓들은 미리-주문되고 미리-계산될 수 있다. 그리고 사용자들은 그들을 메인 문 입장 시간에 적합한 케베로스 프로토콜에 참여하는 것 없이 픽업한다.In principle, we can "ban" the Cerberus protocol and only use tickets. That is, all tickets can be pre-ordered and pre-computed. Users then pick them up without participating in the appropriate Cerberus protocol for the main door entry time.

그러나 많은 위의 문제점들은, 특히 SA 가 특별한 인증으로 특정 문의 제어를 제거하는 것이 당연하다.(그러나, 그런 방법에서 이 제어는 쉽게 되돌아오고, 가능하게는 나중 지점에서 복귀된다)However, for many of the above problems, it is natural that the SA removes the control of a particular statement, especially with a special authentication. (However, this control is easily returned, possibly at a later point.)

케베로스 내에서 RTC 의 이용Use of RTC in Cerberus

이 문제로 어드레스를 돕기 위한 한 가지 방법은 실시간 증명서, RTC 를 이용하는 것이다. 예를 들어, 우리는 위의 접근에서와 같이 티켓을 이용할 수 있다. 그러나 이런 접근에서, 우리는 매일의 기준 상의 티켓을 발생시킬 수 없다. 대신, 우리는 긴-구간 티켓을 이용하고, 티켓의 인증-데이터 필드에서 패스되는 RTC 를 통한 짧은-구간 액세스제어를 관리한다.One way to help address this problem is to use real-time certificates, RTCs. For example, we can use a ticket as in the above approach. But in this approach, we cannot generate tickets on a daily basis. Instead, we use long-term tickets and manage short-term access control via RTC that is passed in the ticket's authentication-data field.

상기 RTC는 이 경우에 공공 키 증명서의 경우에서와 같은 방법으로 역할 할 수 있다. 그러나 일부 최적화들이 마찬가지로 여기서 가능하다.The RTC can in this case serve in the same way as in the case of a public key certificate. However, some optimizations are likewise possible here.

위에서와 같이 RTC 를 이용하는 것은 다수의 가능한 이점을 가져온다. 이러한 것은 (제한되는 것은 아니나)Using the RTC as above brings a number of possible advantages. These are (but are not limited to)

1. 관리의 용이1. Ease of Management

a. SA 는 상대적으로 비주기적으로 포함되어야 한다.a. SA should be included relatively aperiodically.

b. 상대적으로 더 큰 티켓 대신, 사용자는 훨씬 더 적은 RTC 를 픽업 할 필요가 있다.b. Instead of a relatively larger ticket, the user needs to pick up much less RTC.

c. RTC 를 발생하는 것은 대응하는 인증으로 대표될 수 있다.c. Generating the RTC may be represented by the corresponding authentication.

d. 철회를 하는 것은 쉽다: 이것은 두 가지 이상의 방법에서 이루어질 수 있다. 첫째로, 더 간단하고 더 미숙하게, 상기 티켓들은 그들이 흘러나올 때 SA에 의해 새롭게 되지 않는다. 보다 상세한 구조가 두 종류의 RTC를 이용할 것이다. SA에 의해 발행되는 것과 다른 인증에 의해 발행되는 것, 그 때 각각의 날에 SA는 각 인증마다 단일 RTC를 발행할 필요가 있으며, 이는 남아 있게 된다.(대안적으로, 그것은 각 인증-문 쌍을 위한 RTC를 발행하여야 하고, 그 인증은 문을 열 권리가 있다.) 각 인증은 또한 각 사용자 마다 RTC를 발행할 것이다(대안적으로, 각 사용자-문 쌍마다, 그곳에서 사용자는 문을 여는 권리를 지닌다). 주의할 것은, 더 많은 종래의 케베로스 접근이 발생될 더 많은 티켓을 요구하고 그리고 온-라인 프로토콜 내의 주위를 패스한다.d. It is easy to withdraw: this can be done in more than one way. First, simpler and more immature, the tickets are not renewed by the SA when they flow out. More detailed structures will use two types of RTC. Issued by a different certificate than that issued by the SA, where each day the SA needs to issue a single RTC for each certificate, which remains (alternatively, it is a certificate-statement pair). For each user will also issue an RTC (alternatively, for each user-door pair, where the user opens the door). Right). Note that more conventional Cerberus access requires more tickets to be generated and passes around within the on-line protocol.

e. RTC 는 역할의 명백한 분리를 허용하며, 많은 관리 측면 및 하부 구조의 이용을 촉진한다.e. RTC allows for clear separation of roles and facilitates the use of many administrative aspects and infrastructures.

2. 효율성2. Efficiency

a. 공간 : RTC 는 대응하는 티켓보다 훨씬 더 작다.a. Space: The RTC is much smaller than the corresponding ticket.

b. 시간 : 그들은 훨씬 더 짧기 때문에, 통신은 훨씬 더 빨라지고, 사용자가 적합한 페이스에서 RTC를 픽업 하는 동안 문을 통해 이동하는 것을 가능하게 한다.b. Time: Because they are much shorter, communication is much faster, allowing the user to move through the door while picking up the RTC at the appropriate pace.

c. 로드 분배 : RTC 는 비-보안 된 응답기에 의해 분배될 수 있다. RTC의 응답은 또한 비싸지도 위험하지도 않다.c. Load distribution: RTCs can be distributed by non-secure responders. The response of the RTC is also neither expensive nor dangerous.

3. 보안3. Security

a. RTC 는 보안-감지형이 아니다. 일단 그들이 발생되면 훨씬 더 쉽고 보안에 대한 어떤 위험 없이 관리될 수 있다.a. RTC is not security-sensitive. Once they are generated, they are much easier and can be managed without any risk to security.

b. 티켓 및 인증(RTC를 통한)의 분리는 키 관리에서 더 큰 보안을 허용한다.( 키/티켓들이 실질적으로 발생되고 통신될 때)b. Separation of ticket and authentication (via RTC) allows for greater security in key management (when keys / tickets are actually generated and communicated)

c. SA 고립 : SA는 결코 사용자와 함께 직접적 통신 라인을 지닐 필요가 없다.c. SA isolation: The SA never needs to have a direct communication line with the user.

케베로스를 넘어서Beyond Cerberus

위의 구조는 상기 핵심적인 케베로스 특징으로부터 상당히 이롭다.(이는 케베로스가 다른 장치를 위해 구조된다는 사실에 따른다). 따라서 여기서 우리는 어떻게 우리가 RTC-기반 구조를 이용할 수 있는지를 개발하고, 이는 직접적으로 케베로스와는 관련이 없다. 이러한 구조들은 개인 키 암호화 및 개인 키 서명 구조와 유사할 수 있다.The above structure is of considerable benefit from the core Cerberus feature (according to the fact that Cerberus is rescued for other devices). So here we develop how we can use RTC-based structures, which are not directly related to Cerberus. These structures can be similar to private key encryption and private key signature structures.

이러한 구조에서, 상기 특수한 인증 SA 는 서로의 조직 A(B, C, ...) 및 서로의 문 D 를 지닌 비밀을 나눈다. 이는 예를 들어, 위와 같은 방법을 이용함으로써 행해 질 수 있고, 그 결과 SA 는 단일 비밀 s만을 저장할 필요가 있다. SA 및 A 간의 분배된 비밀은 SKD=Hash(s,D) 이다. 주의할 것은 A 및 D 는 모두 또한 단지하나의 비밀 : SKA 또는 SKD 를 각각 저장할 필요가 있다. 부가적으로, 각 조직-문 쌍(A, D)으로, 부가적 비밀 SKAD = Hash(SKD, A)를 대응시킨다. 이 비밀은 SK 및 D 에 의해 쉽게 계산될 수 있다. A 에 SKAD 를 제공하는 것은 필요하나 A가 문으로 접근을 제어하기에는 충분하지 않다. 게다가, A 는 현재 시간 구간 d 를 위한 RTC 를 SA로부터 수신하기 위해 필요하다. 이 RTC는, RTCAd라 불리는, 비밀일 필요가 없으며 A가 SA와 함께 계속해서 서 있는 것을 증명한다.In this structure, the special authentication SAs share a secret with each other's organizations A (B, C, ...) and with each other's door D. This can be done, for example, by using the above method, so that the SA only needs to store a single secret s. The distributed secret between SA and A is SKD = Hash (s, D). Note that both A and D also need to store only one secret: SKA or SKD, respectively. Additionally, with each tissue-door pair (A, D), an additional secret SKAD = Hash (SKD, A) is mapped. This secret can be easily calculated by SK and D. It is necessary to provide SKAD to A, but it is not enough for A to control access by the door. In addition, A is needed to receive the RTC for the current time interval d from the SA. This RTC does not need to be secret, called RTCAd, and proves that A is standing with the SA.

A에 의해 그리고 문 D에 들어갈 권리가 있는 고용되는 각 사용자 U 는 그 후 A 로부터 키 SKAUD= Hash(SKAD, U)를 수신한다. 주의할 것은 SKAUD 는 부가적 비밀 없이 A 및 D 모두에 의해 쉽게 계산될 수 있다. U 에 SKAUD를 제공하는 것은 필요하나 U가 문 D를 열수 있도록 하기에는 충분하지 않다. 부가적으로, U는 현재 시간 구간 d: RTCAUDd 를 위해 분리된 RTC가 필요하다.Each user U employed by A and entitled to enter door D then receives a key SKAUD = Hash (SKAD, U) from A. Note that SKAUD can be easily calculated by both A and D without additional secrets. It is necessary to provide SKAUD to U, but not enough to allow U to open door D. In addition, U needs a separate RTC for the current time interval d: RTCAUDd.

주의할 것은 이 접근은 이미 정보 흐름을 상당히 단순화 한다. 각 시간 구간 d 의 시작에서, SA 는 각 조직 A를 위해 단일 RTCAd를 전송한다. 그리고 각 조직 A는 각 사용자-문 쌍을 위해 단일 RTCAUDd를 전송한다. 이러한 RTC들 모두는 메인 게이트에 들어가는 고용자에 의해 픽업될 수 있다. 사용자 U가 설비 내에서 100개의 문에 들어갈 권리가 있다고 가정하자. 모든 문을 위한 RTCAUDd 는 2KB- 느린 연결에 의해 관리될 수 있는 양 - 보다 작은 것을 요구할 것이다.Note that this approach already simplifies the flow of information considerably. At the beginning of each time interval d, the SA sends a single RTCAd for each tissue A. Each Organization A sends a single RTCAUDd for each user-door pair. All of these RTCs can be picked up by an employee entering the main gate. Suppose user U has the right to enter 100 doors within a facility. RTCAUDd for all statements will require less than 2KB-the amount that can be managed by a slow link.

문 D를 열기 위해, 사용자 U 는 비밀 SKAUD 상에 기초한 인증을 수행하는 것과 마찬가지로 RTCAd 및 RTCAUDd를 표현하기 위해 필요하다.(이 인증은 비밀을 보호하기 위해 도전-응답 타입이 된다). 주의: 상대적으로 적은 수의 RTCAd 증명서가시스템 내에 표현될 것이기 때문에, 이러한 증명서의 정당성은 사용자 기반마다 행해질 필요가 없다. 대신, 각각의 문은 각각의 RTCAd를 유효화 할 것이고, 그것은 그 결과가 다른 사용자의 유효화를 위해 사용되도록 수신하고 저장한다.To open door D, user U is required to represent RTCAd and RTCAUDd as well as performing authentication based on secret SKAUD (this authentication is a challenge-response type to protect the secret). Note: Since a relatively small number of RTCAd certificates will be represented in the system, the validity of these certificates need not be done on a per-user basis. Instead, each statement will validate each RTCAd, which receives and stores the results for use by other users.

상기 특정 권위 SA 는 문으로 조직의 접근을 더 섬세한 세분 제어를 실행하기를 원한다. 그러한 것을 획득하기 위해 조직 증명 RTCAd 대신에, SA 는 각 조직 문 쌍(A,D):RTCADd 마다 RTC를 발행한다. 그 후 SA가 메일의 기반 상에서 각 조직에 의해 각 문에 대한 철회 제어를 하도록 허용하는 것이 가능하다. 주의할 것은 이것은 적어도 각 사용자가 수신하기를 필요로 하는 RTC 데이터양을 갑절로 한다.(몇 분의 일초에서위의 실시예를 위해 요구되는 전이 시간을 계속 유지하면서)The particular authority SA wants to implement finer granular control of the organization's access to the door. Instead of an organization proof RTCAd to obtain such, the SA issues an RTC for each tissue statement pair (A, D): RTCADd. It is then possible to allow the SA to control revocation of each statement by each organization on the basis of the mail. Note that this is at least double the amount of RTC data that each user needs to receive (while maintaining the transition time required for the above embodiment in a few minutes).

RTC 모음RTC Collection

액세스제어 권리들이 날마다 극적으로 변하지 않는다는 것을 관찰할 것이다. 따라서 위의 구조의 많은 능력이 이용되지 않는다. 우리는 RTC 모음 구조를 제안하며, 이는 효율성을 증가하기 위해 상대적으로 안정적인 환경에서 이용될 수 있다.You will observe that access control rights do not change dramatically from day to day. Therefore, much of the above structure is not utilized. We propose an RTC collection structure, which can be used in a relatively stable environment to increase efficiency.

실시예 15 :Example 15:

각각 1000 개의 문으로의 접근을 지니는 100개의 조직의 경우를 생각해보자. 따라서 100,000개의 조직-문 쌍이 있고, 그에 따라, RTCADd 증명서가 발행되고 그리고 매일 SA에 의해 분배된다. 더욱이, 각 조직이 1000명 정도를 고용하는 경우, 이는 100000000 RTCAUDd 증명서들이 발행되도록 이끌고 그리고 모든 조직에 의해 분배된다.Consider the case of 100 organizations, each with access to 1000 doors. Thus there are 100,000 tissue-door pairs, whereby an RTCADd certificate is issued and distributed by the SA every day. Moreover, if each organization employs about 1,000 people, this leads to 100 million RTCAUDd certificates being issued and distributed by all organizations.

모든 조직-사용자-문의 트리플릿들 AUD의 것을 계층적으로 배열된 그룹으로나누자. 예를 들어 다음과 같이 이러한 것을 시각화 하는 것은 쉽다. 모든 AUD를 균형 잡힌 이진트리(선호되는 유형으로 배열된)의 입에 대응시키자. 그 때 트리의 각 노드 n 은 n의 서브트리에서 AUD의 입에 대응하는 것의 세트에 대응한다. 각각의 그러한 노드 및 시간 구간 d로, 3개의 대응하는 것이 또한 증명서 RTCnd 가 되도록 하자. 그 때 주기 d에서 AUD 트리플릿의 정당성은 AUD 선조들 n의 것을 위해 증명서 RTCnd에 의해 증명될 수 있다. 따라서 모든 AUD 트리플릿이 날짜 d 상에서 유효하게 유지되는 경우, 단일 증명서 RTCr은 전체 시스템을 위해 충분하다. 이 때, r이 트리의 뿌리이다.All Organization-User-Contact Triplets Let's divide the AUD's into hierarchically arranged groups. For example, it is easy to visualize this: Let's map every AUD to the mouth of a balanced binary tree (arranged in the preferred type). Each node n in the tree then corresponds to a set of things corresponding to the mouth of the AUD in the subtree of n. With each such node and time interval d, let the three corresponding ones also be certificate RTCnd. The validity of the AUD triplet in period d can then be proved by certificate RTCnd for the ones of AUD ancestors n. Thus, if all AUD triplets remain valid on date d, a single certificate RTCr is sufficient for the entire system. R is the root of the tree.

일반적으로, 허약해지는 100개의 AUD 트리플릿이 있는 경우, 적어도 1,500 증명서들이 전체 시스템을 증명하기에 충분하다.(즉 100,000,000 대신에) 보다 일반적으로, 적어도 k(26-1g k) 증명서들이 k 트리플릿이 쓸모없는 경우 전체 시스템의 증명서를 위해 필요하다.In general, if there are 100 AUD triplets that are fragile, at least 1,500 certificates are sufficient to prove the whole system (ie instead of 100,000,000). More generally, at least k (26-1g k) certificates are useful for k triplets. If not, it is necessary for a certificate of the whole system.

이 방법은 집합 RTC의 요구가 문 및/또는 사용자 내에 저장됨에 있어 보다 가치가 있을 때에 상당한 개선을 이끌어 낼 수 있다. 위의 실시예에서, 통신에서 크기(위의 실시예에서 4 또는 5)의 차원을 저장하는 동안 그러한 오버헤드는 저장 장치 내의 26개의 오버헤드 요소 이상을 초래한다. 보다 일반적으로, 인증되는 모든 엔티티들의 세트는 N개의 성분들을 포함하고, 그리고 이러한 것의 k 는 배제된다. 그리고 집합을 위한 오버헤드가 lgN이 되는 동안, k(lgN - lgk) 증명물들이 전체 시스템을 증명하기 위해 필요하다. 그룹의 보다 효율적인 표현이 문헌 내에 존재한다.(예, 위의 것이 서브셋 커버 방법으로 알려지는 동안, 우리는 또한 서브셋-차이 커버 및 그것 상의 최근 결과의 일부를 이용한다.)This method can lead to significant improvements when the needs of the aggregate RTC are more valuable to be stored in the door and / or user. In the above embodiment, such overhead results in more than 26 overhead elements in the storage device while storing the dimension of size (4 or 5 in the above embodiment) in communication. More generally, the set of all entities to be authenticated contains N components, and k of this is excluded. And while the overhead for aggregation is lgN, k (lgN-lgk) proofs are needed to prove the whole system. More efficient representations of groups exist in the literature (eg, while the above is known as the subset cover method, we also use subset-difference cover and some of the recent results on it).

따라서 그러한 집합 증명서들의 정당성은 최적화 된다. 예를 들어, 더 큰 그룹을 위한 결과를 저장함으로써 이다.Thus, the validity of such aggregate certificates is optimized. For example, by storing the results for a larger group.

RTC 구현 및 최적화RTC implementation and optimization

실시간 증명서를 위한 많은 다른 구현들이 가능하다. RTC의 이러한 구현들은 또한 많은 다른 최적화를 가능하게 한다. 예를 들어, 실-시간 증명서는 다음과 같이 구현될 수 있다. X0 를 임의의 값, 예를 들어 20 바이트 길이라고 하자. Xi 는 xi= Hash(xi)로서 정의하자. xn 은 일부 경우에서 고정된 공개 값이라 하자(예를 들어, SA로부터 문 D까지 안전적으로 통신되는 것. 그 때, xn-d는 시간 구간 d 를 위한 실시간 증명서 RTCd가 될 수 있다. 그것은 Hash()를 xn-d에 d 배 적용함으로써 검증될 수 있고 그리고 그 결과가 xn 과 같다는 것을 증명한다. 이것은 실질적으로 RTC의 것이 공개 키 증명서의 경우에서 구현되는 방법이다. - 예를 들어, 증명서의 부분으로서 xn 이 포함될 수 있다.Many other implementations for real time certificates are possible. These implementations of RTC also enable many other optimizations. For example, a real-time certificate can be implemented as follows. Let X0 be any value, for example 20 bytes long. Let Xi be defined as xi = Hash (xi). Let xn be a fixed public value in some cases (eg secure communication from SA to door D. where x nd can be a real-time certificate RTCd for time interval d. Can be verified by applying d times to x nd and proves that the result is equal to xn, which is actually how RTC's are implemented in the case of public key certificates-for example, xn as part of a certificate This may be included.

여기서 마찬가지로 동일한 구현을 실질적으로 이용할 수 있다. 증명서 내부에 xn 을 포함하는 것 대신에, 여기서 우리는 그것을 케베로스 티켓의 부분으로 포함한다. 우리는 그것을 D를 위한 비밀 키 SKD와 함께 암호화 되는 것과 같은, 일부 다른 보안 방법에 의해 통신된다.Here, the same implementation can be used substantially as well. Instead of including xn inside the certificate, here we include it as part of the Kerberos ticket. We communicate it by some other security method, such as encrypting it with the secret key SKD for D.

RTCd의 또 다른 가능한 구현은 단지 Hash(SKD, RTC, d)와 동일하게 그것을 세트하는 것이며, 이 때, RTC는 증명서 ID를 언급한다. 예를 들어, 조직 A가 날짜d 상에 문 D 에 대해 제어를 지니는 것을 가능하게 하기 위해, 상기 증명서 RTCADd 가 사용되고, 그 곳에서 RTCADd 는 RTCADd = Hash(SKAD, d)로 세트될 수 있다. 조직 A 에 의해 발행되는 것과 같은, 날짜 d상의 문 D에 접근하기 위해 사용자 U를 위한 증명서는 RTCAUDd = Hash(SKAD, U, d)가 될 수 있다. 그러한 방법은 증명서가 특별한 날짜에 미리 발행되는 것을 먼저 허용하고, 어떤 날에든지 접근을 허용하지 않고, 원하는 시간 구간의 밖에 있다. (이러한 것이 비연속인 경우조차도)Another possible implementation of RTCd is just to set it equal to Hash (SKD, RTC, d), where RTC refers to the certificate ID. For example, to enable organization A to have control over door D on dated, the certificate RTCADd is used, where RTCADd can be set to RTCADd = Hash (SKAD, d). The certificate for user U to access door D on date d, such as issued by organization A, can be RTCAUDd = Hash (SKAD, U, d). Such a method first permits the certificate to be issued in advance on a particular date, does not allow access on any day, and is outside the desired time interval. (Even if this is not continuous)

위의 증명서의 정당성이 솔직하다. 주의할 것은 위의 정당성들이 실질적으로 적합한 키를 지닌 대칭적 서명이라는 점이다. 위의 것 전체에서, 암호화가 Hash를 대신하여 사용된다.The validity of the above certificate is straightforward. Note that the above justifications are actually symmetric signatures with appropriate keys. Throughout the above, encryption is used instead of Hash.

주의할 것은 우리는 시스템이 각 스텝에서 보다 효율적이 되도록 한다는 점이다. 1000 달라, 100 인증 그리고 10000 가능한 근무자들이 있는 공항을 생각해라 그리고 간략 성을 위해 그 제어는 메일의 기반에서 주어진다고 가정한다. 그 때, 중앙 인증이 각 문-사용자 키에서 계산됨에 있어 포함되는 곳에서 케르베로스/니드함-슈뢰더 시스템은 날마다 10억 비밀 키들 내에 포함되어야 한다. 위에서 설명된 시스템은 SA가 날마다 100000 비밀 키보다 더 적은 모든 인증으로 발생하여 전달하기 위해 요구된다.Note that we make the system more efficient at each step. Consider an airport with 1000 different, 100 certified and 10000 possible workers and for simplicity assume that the control is given on the basis of mail. Then, the Cerberus / Nidham-Schroeder system should be included in the 1 billion secret keys per day where central authentication is included in being calculated at each door-user key. The system described above is required for SAs to be generated and delivered with every authentication less than 100,000 secret keys per day.

OCSP에 대한 실시간 증명서Real time certificate for OCSP

이제 우리는 디지털 증명서 정당성을 위한 오픈 증명 상태 프로토콜(OCSP)을 이용하는 환경 내의 실시간 증명서 기술을 위한 당해 발명의 선호되는 실시예를 이용하여 설명한다. 이는 발명적 기술이 종래의 OCSP 구현보다 성질 적으로 보다 우수한 보안 및 비례축소 가능성을 제공하는 동안 OCSP 표준을 지닌 적합성을 어떻게 당해 기술이 유지하는지를 보여준다.We now describe using a preferred embodiment of the present invention for real-time certificate technology in an environment using Open Certificate Status Protocol (OCSP) for digital certificate validity. This demonstrates how the technology maintains compliance with the OCSP standard while the inventive technology provides a property that is significantly better in security and scaling than a conventional OCSP implementation.

전통적 OCSP 구현Traditional OCSP Implementation

CRL들은 그들이 함께 총괄된 많은 증명서에 대한 철회의 증거를 제공한다. 대조적으로, 상기 OCSP는 개개의 증명서를 위한 정당성의 증거를 제공한다. OCSP 서비스는 주로 OCSP 응답기에 의해 구현된다. 그러한 응답기는, 주어진 CA에 의해 발행되는 주어진 증명서의 정당성에 관한 클라이언트로부터 질문을 수신하는 것에 기초하여, 답하는 시간과 증명서의 상태 모두를 표시하는 디지털로 서명된 답을 제공한다. 이를 행하기 위해, OCSP 응답기가 CA 증명서 모두의 상태를 아는 것이 필요하다. 왜냐하면, CA가 그것의 고유한 증명서를 철회할 수 있기 때문이다. OCSP 응답기가 CA 그 자체인 경우, 그러한 지식은 사소하게 요구된다. 그렇지 않으면 CA의 증명서의 상태에 관한 업데이트된 OCSP 응답기를 유지하는 다른 형태가 이용되어야 한다. 예를 들어, CA는 응답기를 그것의 가장 최근 CRL에 전송하고, 그 응답기는 관련 증명서가 최근에 유효한지 또는 철회되었는지를 유도하기 위한 서명된 문서를 참고하거나 또는 그것의 서명된 응답 내라고 말한다. 또한 다음 업데이트 시간과 마찬가지로, 시간을 표시한다.(여기서 업데이트 시간이 CA의 다음 CRL의 데이트와 일치하는 것이 통상적이다. 왜냐하면, 그 CRL은 다른 응답을 발생시키기 때문이다. )CRLs provide evidence of revocation of many of the certificates they have been put together. In contrast, the OCSP provides evidence of justification for individual certificates. OCSP services are primarily implemented by OCSP responders. Such a responder provides a digitally signed answer indicating both the time to answer and the status of the certificate, based on receiving a question from a client regarding the validity of a given certificate issued by a given CA. To do this, the OCSP responder needs to know the status of both CA certificates. This is because the CA can revoke its own certificate. If the OCSP responder is the CA itself, such knowledge is trivially required. Otherwise, another form of maintaining an updated OCSP responder on the status of the CA's certificate should be used. For example, the CA sends the responder to its most recent CRL, and the responder refers to the signed document to derive whether the associated certificate was recently valid or revoked, or is said to be in its signed response. It also displays the time, just like the next update time (where it is common for the update time to match the date of the CA's next CRL, because that CRL generates a different response).

물론, 악의의 응답기들은 후자의 CRL의 참고 없이 또는 그와 함께 주어진 CA의 증명서에 대한 임의적으로 서명된 답들을 제공한다. 주어진 CA의 증명서에 대한 OCSP 응답기의 디지털 서명된 답에 의존하기 위해, 상기 OCSP는 상기 CA가 응답기 증명서와 함께 응답기를 제공하는 것을 구상하며, CA에 의해 서명된 특별 디지털 증명서는 근본적으로 CA가 그것의 증명서에 관한 정확한 증명들을 제공하는 것을 신뢰하기 위해 다른 당에다가 제공한다.Of course, the malicious responders provide arbitrarily signed answers to the certificate of the given CA without or with reference to the latter CRL. In order to rely on the OCSP responder's digitally signed answer to a given CA's certificate, the OCSP envisions that the CA provides a responder with a responder certificate, and a special digital certificate signed by the CA is essentially a CA. It is provided to other parties in order to trust in providing accurate proofs of their certificates.

일을 하기 위한 이러한 과정에서 주의할 것은 각각의 OCSP 응답기는 보안 서명 키를 지녀야만 하고 이 키는 보호되어야 한다.Note that in this process for work, each OCSP responder must have a security signature key that must be protected.

도 2 는 사소한 OCSP 환경에서 거래의 일련을 도시한다. 보안 서명 키들이 보호되는 사실이 그들을 일부 두꺼운 "테두리"와 함께 놓음으로써 그래픽 적으로 강조된다. 서명된 데이터의 경우, 상기 서명자의 이름이 아래에 즉시 표시된다. 이 형태는 빗금친 박스와 같이 이 거래의 다양한 PKI-민감형 성분들을 도시한다. 상기 증명서 인증은 그 자체로 개인용 키, SK1을 지니고, 그것은 비인증된 발행 및 증명서의 철회를 방지하기 위해 보안되어야 한다. 이 키는 OCSP 응답기로 발행되는 CRL을 서명하기 위해 사용된다. 응답기 1A의 보안 키는 반드시 보안되도록 유지되어야 하고 응답기 1A의 OCSP 응답을 서명하기 위해 사용된다.2 shows a series of transactions in a trivial OCSP environment. The fact that the security signature keys are protected is graphically emphasized by placing them with some thick "border". In the case of signed data, the name of the signer is immediately displayed below. This form shows the various PKI-sensitive components of this transaction, such as the hatched box. The certificate authentication itself has a private key, SK1, which must be secured to prevent unauthorized authentication and revocation of the certificate. This key is used to sign the CRL issued to the OCSP responder. The security key of the responder 1A must be kept secure and is used to sign the OCSP response of the responder 1A.

OCSP의 결점OCSP Drawbacks

결점 1 :계산Defect 1: calculation

디지털 서명들은 계산적으로 강한 연산이다. 각 응답에서 응답기에 의해 생성된 상기 디지털 서명은 요청의 시간에 발생되고 그리고 대부분 계산적으로 상기정당화 작동의 집중적 부분이다. 그것은 거래시간에 대해 50밀리세컨드로부터 1 초까지 어느 곳에서도 쉽게 부가될 수 있다.Digital signatures are computationally strong operations. The digital signature generated by the responder in each response is generated at the time of the request and is mostly computationally intensive part of the justification operation. It can be easily added anywhere from 50 milliseconds to 1 second for trading time.

응답기가 디지털 증명서 C에 대한 그것의 디지털 서명을 저장하는 경우, 다음이 업데이트 될 때까지 C에 대해 질문될 때 동일한 서명을 전송하고, 여전히 C에 대한 첫 번째 사용자 질문에 대한 대답이 상당히 지연된다.If the responder stores its digital signature for digital certificate C, it sends the same signature when asked for C until the next update, and still delays the answer to the first user question for C significantly.

결점 2: 통신(중앙화 된 구현과 함께)Defect 2: Communication (with Centralized Implementation)

단일 정당성 서버가 중앙화 된 방법에서 OCSP를 구현한다고 가정하자. 그 때, 모든 증명-정당화 질문들은, 그것으로 순서를 정해져야 하고, 상기 서버는 도 3에 보이는 것과 같이 상당한 혼잡 및 지연을 일으키는 주요한 " 네트워크 교통 정체"가 될 것이다. 정직한 사용자들의 많은 수가 갑자기 서버에 질문하면, "서비스 부인"은 계속해서 일어날 것이다.Suppose a single legitimate server implements OCSP in a centralized way. At that time, all proof-justification questions must be ordered with it, and the server will be a major "network traffic congestion" causing significant congestion and delay as shown in FIG. If a large number of honest users suddenly ask the server, "denial of service" will continue to happen.

결점 3: 보안(분배된 구성의 경우)Defect 3: Security (for distributed configuration)

중앙화 된 OCSP 구현이 일으키는 교통체증 문제를 방지하기 위해, CA 는 그것을 다수의 OCSP 서버에 대해 분배함으로써 그것의 증명서에 의해 발생되는 요청 로드를 분배하는 것을 고려한다. 일반적으로, 다수의 서버에 대한 단일 서버의 로드를 분배하며, 전략적으로 세상 주위에 배치하여 네트워크 혼잡을 경감한다. OCSP 경우에서, 그러나, 로드 분배를 더 그것이 해결할 수 있는 것보다 더 나쁜 문제를 소개한다. 그것이 수신하는 증명서 질문들에 대해 그것의 응답에 서명하기 위해,100개 서버의 각각은 그것 고유의 보안 서명 키를 지닌다. 따라서 100개 서버 어느 것이라도 효과적으로 전체 시스템을 타협하여야 한다.To avoid traffic problems caused by a centralized OCSP implementation, the CA considers distributing the request load generated by its certificate by distributing it to multiple OCSP servers. In general, it distributes the load of a single server across multiple servers and strategically deploys them around the world to reduce network congestion. In the OCSP case, however, load distribution introduces a worse problem than it can solve. To sign its response to the certificate questions it receives, each of the 100 servers has its own security signature key. Therefore, any 100 servers must compromise the entire system effectively.

종래의 OCSP 응답기가 타협되는 경우, 공격자는 3가지 일들 중의 하나를 할 수 있다. 먼저, 그것은 응답기가 어떠한 응답을 발행하는 것을 방지할 수 있다. 이공격의 타입은 신뢰 모임에서 검출된다. 따라서 너무 가혹하지 않다. 두 번째로, 그것은 적합한 증명서들이 철회된 것을 표시하는 응답에 서명하기 위해 발견된 보안 서명 키를 이용할 수 있다. 세 번째로, 가장 파괴적으로, 그것은 응답기가 철회된 증명서가 여전히 유효하다는 것을 표시하는 서명된 응답들을 발생하도록 만들 수 있다. 이 잘못된-포지티브 응답의 타입은 해고된 고용자들이 시스템에 다시 접근하는 것들을 허용한다.If a conventional OCSP responder is compromised, the attacker can do one of three things. First, it can prevent the responder from issuing any response. This type of attack is detected in a trust meeting. So it's not too harsh. Secondly, it can use the found security signature key to sign the response indicating that the appropriate certificates have been revoked. Third, most destructively, it can cause the responder to generate signed responses indicating that the revoked certificate is still valid. This type of erroneous-positive response allows those who are dismissed to regain access to the system.

응답기가 포함할 수 있는 것을 방지하기 위한 가장 좋은 방법은 그것을 24*7 감시를 지닌 보안 둥근 천장으로부터 실행하는 것이다. 불행하게도, 이는 값이 비싼 선택이다. 실제로 보안 둥근 천장은, 경제적 CA를 위한 모든 조건들을 충족시키는, 작동을 위해 $1M/년 그리고 설치를 위해 $1M이상의 가격이 든다. 그러한 비용을 들일 의도가 있는 경우에도, 둥근 천장은 하룻밤 사이에 지을 수 없다. 철근을 넣은 콘크리트가 판매하지 않기 때문이다. 필요한 Cark 현재 응답기의 부하를 줄이기 위해 약간의 둥근 천장을 필요로 할 때, 새로운 것이 구성될 수 있기 전에 며칠을 기다려야만 한다.The best way to prevent what a transponder can contain is to run it from a secure vault with 24 * 7 surveillance. Unfortunately, this is an expensive choice. In fact, security vaults cost more than $ 1M / year for operation and more than $ 1M for installation, meeting all the requirements for an economical CA. Even if the intention is to incur such a cost, the vault cannot be built overnight. This is because reinforced concrete does not sell. Required Cark When you need some vault to reduce the load on the current transponder, you have to wait a few days before a new one can be constructed.

더욱이, 다수의 비싼 둥근 천장들이 배치되는 경우에도, 그들은 여전히 보안되지 않는다. 따라서 OCSP 구조는 응답기가 신뢰되지 않은 소스들로부터 나오는 요청들을 수신하기 고리고 그것의 보안 서명 키를 이용하기 때문이다. 상기 가능성은 따라서 악의의 대리인이 놓여있는 작동 시스템에서 어떠한 약점을 이용하기를 좋아하는 경우에 존재하며 철근이 끼워진-콘크리트 벽을 통해 밤 시간에 구멍을 뚫기 위해 보안 서명 키를 노출한다. 합계로서, 어떠한 둥근 청장 또는 충분히 비싼 보안된 주변 응답기도 없는 경우, 협약의 확률은 매우 높으나, 확실히 장착된 보안 빌딩 응답기의 경우에도, 응답기는 여전히 소프트웨어 공격에 취약하다. 정교한 디지털 적에 대해, OCSP 구조는 "윈도우"에서 벙커와 매우 유사한 둥근 천장을 만든다.Moreover, even if a large number of expensive vaults are placed, they are still not secure. Thus, the OCSP structure is because the responder receives requests from untrusted sources and uses its security signature key. This possibility thus exists where a malicious agent prefers to exploit any weaknesses in the operating system on which the malicious agent lies and exposes the security signature key to drill at night through reinforced-concrete walls. In total, if there is no rounded or sufficiently expensive secure peripheral responder, the probability of the agreement is very high, but even for securely equipped secure building responders, the responder is still vulnerable to software attacks. For sophisticated digital enemies, the OCSP structure creates a vault in the "window" that closely resembles a bunker.

결점 4 : 신뢰 흐름Defect 4: Trust Flow

OCSP 는 다른 보안 영역으로부터 발생하는 증명서 정당성 요구를 서비스함에 있어 어려움을 지닌다. 도 4에 도시된 시나리오에서, 조직 #1에 의해 실행되는 응답기는 CA #1로부터 증명서의 상태에 관한 응답을 제공할 수 있으나 또 다른 조직에 의해 실행되는 응답기는 "외래" 증명서에 관한 응답을 제공하기 위한 충분한 정보를 지니지 않는다. 예를 들어, 증명서 인증 CA2에 의해 실행되는 응답기 2A는 CA 1으 증명서에 대한 요청에 대답하는 법을 알지 못한다.OCSP has difficulty in servicing certificate legitimacy requests arising from other security domains. In the scenario shown in FIG. 4, the responder executed by organization # 1 may provide a response regarding the status of the certificate from CA # 1 while a responder executed by another organization may provide a response regarding the "foreign" certificate. It doesn't have enough information to do it. For example, responder 2A, executed by certificate certificate CA2, does not know how to respond to a request for a certificate with CA1.

특정 지식의 결여로부터 오는 이 문제는 두 가지 방법 중의 하나에서 어드레스될 수 있다.This problem resulting from the lack of specific knowledge can be addressed in one of two ways.

첫째로, 조직 #2로부터 당에 의존하는 것은 그들에게 CA#1로부터 증명서의 상태에 대해 묻기 위해 조직 #1로부터 응답기를 찾을 수 있다. 이것은 수행을 제한하고, 조직 #1로부터 응답기들이 조직#2에 관련되는 신뢰 당으로부터 지리적으로떨어져 있다. 따라서 네트워크 시간들은 전체 증명화 과정을 매우 느리게 한다.First, relying on a party from organization # 2 may find a responder from organization # 1 to ask them about the status of the certificate from CA # 1. This limits performance, and the responders from organization # 1 are geographically separated from the trust party associated with organization # 2. Therefore, network times slow down the entire attestation process.

두 번째 대안은 "외래"응답기들로 또한 그것의 CRL을 포워드 하는 CA#1을 지님으로써 조직 #1로부터 증명서에 관한 응답을 만드는 것을 허용한다. 이는 게다가 어떠한 보안의 위험도 두지 않는다. 왜냐하면, CRL들이 디지털로 서명되었고 그리고 CA가 그것의 고유 증명서의 정당성에 관한 가장 큰 가능한 관객에게 알리기 원하기 때문이다. 이는 CA 1 의 증명서에 관한 신뢰 모임으로부터 요청에 답하기 위해 조직 #2의 응답기에 충분한 정보를 제공한다. 그러나 신뢰 모임을 위해, 디지털적으로 서명된 대답은 매우 심각하다. CA1은 또한 그것의 고유 증명서에 대한 유효성 질문에 답하기 위해 신뢰할 수 있도록 응답기 2A를 확인하여야 한다. 전체 과정이 도 5에 도시되었다.The second alternative allows creating a response to a certificate from Organization # 1 by having CA # 1 forwarding its CRL to "foreign" responders as well. It also does not pose any security risk. Because the CRLs are digitally signed and the CA wants to inform the largest possible audience about the validity of its own certificate. This provides enough information to the responder of Organization # 2 to respond to requests from a trust meeting on CA 1's certificate. But for trust meetings, digitally signed answers are very serious. CA1 must also validate Responder 2A to answer the validity questions for its own certificate. The entire process is shown in FIG.

이 접근은 더 나은 비례 축소 가능 및 수행을 제공하나, 그것은 두 개의 조직 간의 신뢰 흐름 및 보안을 흐리게 한다. 위의 실시예에서, 응답기 #2A는 CA#1의 증명서 #321이 여전히 유효한 신뢰 모임에 대해 인증된 응답을 만들고 있다. 어떠한 이유로든지 부정확한 응답을 하는 것은, 응답기 2A가 조직 #1로부터 사용자들에게 역 순서를 일으키게 한다. 응답기 #2A가 그것 고유의 증명서에 대한 인증된 요청을 만드는 것을 허용함으로써, 조직 #1 은 이전에 붙든 신뢰의 일부를 포기한다.This approach provides better scaling and performance, but it blurs the trust flow and security between the two organizations. In the above embodiment, responder # 2A is making an authenticated response to a trust meeting in which certificate # 321 of CA # 1 is still valid. Giving an incorrect response for any reason causes responder 2A to reverse the order from users from organization # 1. By allowing Responder # 2A to make an authenticated request for its own certificate, Organization # 1 gives up some of the previously held trust.

실시예로서, 조직이 신뢰 카드 발행인인 경우를 생각하자. 은행#1 은 사용자 #321을 위한 카드 증명서를 철회하고 그리고 그것은 그것의 응답기들이 보안 적이고 신뢰할 수 있도록 지불한다. 은행#2로부터 응답기들은 잘못 오인되고, 따라서 신뢰 모임 상인은 사용자 #321의 정당성에 대한 질문을 할 때, 그들은 부정확하게상기 사용자가 유효하다고 대답한다. 상기 상인은 이 대답을 받아들이고 철회된 사용자를 위해 거래를 진행하는 것을 허용한다.As an example, consider the case where the organization is a trust card issuer. Bank # 1 revokes the card certificate for user # 321 and it pays for its responders to be secure and reliable. Responders from bank # 2 are misunderstood, so when the trust meeting merchant asks for the validity of user # 321, they incorrectly reply that the user is valid. The merchant accepts this answer and allows the transaction to proceed for the withdrawn user.

조직들 간의 신뢰-대표의 이런 타입은 일부 경우에 허용될 수 있으나, 그것은 일반적으로 종래의 OCSP의 큰-스케일 이종 전개를 위한 유용한 대안 책은 아니다.This type of trust-representation between organizations may be acceptable in some cases, but it is generally not a useful alternative for large-scale heterogeneous deployment of conventional OCSP.

OCSP 에 대한 실시간 증명서Real time certificate for OCSP

위의 문제점의 관점에서, 우리는 대안적 증명서 정당화 시스템을 제안하기를 원한다. 현재 OCSP 표준과 함께 호환성을 유지하는 동안 실시간 증명서(RTC)는 종래의 OCSP의 설명된 모든 결점들을 해결한다. RTC 기술은 그 점에서 종래의 OCSP와 다르다.In view of the above problems, we want to propose an alternative certificate justification system. While maintaining compatibility with current OCSP standards, Real-Time Certificates (RTC) solve all of the described drawbacks of conventional OCSP. RTC technology differs from conventional OCSP in that respect.

1. 그것은 외래 응답기에 대한 대표 신뢰가 아니다.1. It is not representative trust in an outpatient responder.

2. 그것은 단일 인증(RTC 인증)으로 모든 정당화 신뢰를 집중한다.2. It focuses all justified trusts into a single certificate (RTC certificate).

3. 그것은 예상되지 않은 응답기의 임의적 수에 대한 단일 인증으로부터 질문 로드를 분배한다.3. It distributes the question load from a single authentication for an arbitrary number of unexpected responders.

4. 그것은 수천 개의 응답기에 의존하는 분배된 구현에서도 심지어 보안을 감소하지 않는다.(그리고 이러한 응답기들이 보호되지 않은 경우에도)4. It does not even reduce security in distributed implementations that rely on thousands of responders (and even if these responders are not protected).

5. 그것은 질문에 대한 응답 시간을 획기적으로 개선한다.5. It dramatically improves the response time to questions.

이것은 보안, 수행, 비례 축소 가능, 그리고 이종성 측면에서 종래의 OCSP에 대한 근본적인 증대를 제공한다.This provides a fundamental increase over conventional OCSPs in terms of security, performance, scaling, and heterogeneity.

RTC 시스템은 다음의 단계를 포함한다.The RTC system includes the following steps.

CA는 RTCA를 검증한다. : 새로운 시스템은 RTC 인증(RTCA) 주위에 집중된다. 이는 주어진 조직의 CA와 일치하거나 또는 일치하지 않는 엔티티이다. 바람직하게, 각 CA는 특별한 증명서를 지닌 그것 고유의 RTC, RTCA 증명서를 제공한다. 상기 CA 는 바람직하게 이 증명서에 디지털로 서명하고, 그것이 신뢰하고 게다가 그것 고유의 증명서에 대한 증명서 정당화 정보를 제공하기 위해 RTCA에게 권능을 부여한다. 그러한 증명서는 주어진 증명서 키 PK를 RTC 인증에 속하게 하고 그리고 일부 경우에 있어서 증명서가 실질적으로 RTC 상태를 수여하는 것을 구체화 하고 그리고 다른 관습적 증명서 정보 및 포맷을 포함한다. 이 경우에서, 상기 en 개의 엔티티들이 일치하며, 그들이 분리된 서명 키를 지니는 것이 여전히 유리하다. 그 결과, 효과적으로, 어느 경우에서든지 CA는 단지 증명서를 발행하고 그리고 RTC 인증은 단지 그들을 관리한다. 이것은, 상기 CA 및 RTCA가 일치하는 경우에도, RTCA 증명서가 여전히 이용된다. 바람직하게, 중복적 목적에도 불구하고, 각 CA 는 단지 하나의 RTC를 지니고, 동일한 서명 키를 이용하던 그렇지 않던 간에 하나 이상을 지니기에 유리하다.The CA verifies the RTCA. The new system is centered around RTC certification (RTCA). This is an entity that matches or does not match the CA of a given organization. Preferably, each CA provides its own RTC, RTCA certificate with a special certificate. The CA preferably digitally signs this certificate, empowers the RTCA to trust and further provide certificate justification information for its own certificate. Such a certificate makes a given certificate key PK belong to RTC authentication and in some cases specifies that the certificate actually grants RTC status and includes other customary certificate information and formats. In this case, it is still advantageous for the en entities to match, and they have separate signature keys. As a result, effectively, in either case, the CA only issues certificates and RTC certificates only manage them. This means that even if the CA and RTCA match, the RTCA certificate is still used. Preferably, despite the redundant purpose, each CA is advantageous to have only one RTC and to have more than one, whether using the same signature key or not.

RTCA는 그것의 서명 키를 보호한다. - 예를 들어 둥근 천장 또는 보안 설비에 의해(우리가 보게 될 것과 같이, 그러나 증명서 정당화 목적을 위한 어떠한 부가적 둥근 천장에 대한 필요도 없다) RTCA는 그것의 서명 키를 보호해야 한다. RTCA 는 그것의 보안 서명 키를 끼워 넣은 하나 이상의 서버에서 보호된 동일한 설비 내에서 호스트 하거나 안전적으로 상기 키의 복사본을 저장하거나 또는 CA에 의해 적절히 증명되는 보안 서명 키를 각각 지니는 하나 이상의 서버를 호스트 한다.RTCA protects its signing key. For example, by vaults or security provisions (as we will see, but no need for any additional vaults for certificate justification purposes), the RTCA shall protect its signing key. The RTCA hosts one or more servers, each hosted in the same facility protected by one or more servers embedded with its security signature key, securely storing a copy of the key, or each having a security signature key properly certified by the CA. .

CA는 그것의 증명서 상태의 RTCA를 알린다. - 예를 들어, 온-라인/실-시간 유형에서 증명서 정당성에서 어떤 변화상에서 그것이 평가된다. ( 그것이 발생하자마자 증명서 상태 내의 변화의 RTCA를 알려주는 메시지를 전송하는 것과 같이) 대안적으로, 그것은 발생되었을 때 RTCA에게 그것의 CRL을 전송한다.The CA announces the RTCA of its certificate status. For example, on some changes in certificate validity in the on-line / real-time type it is evaluated. Alternatively, it sends its CRL to the RTCA when it occurs (such as sending a message indicating the RTCA of a change in certificate status as soon as it occurs).

상기 RTCA는 개개적으로 주어진 시간 구간에서 요청과 무관하게 각 증명서의 정당성 상태에 서명한다. - 바람직하게 주기적으로 (또는 일련의 날짜 중 어느 곳에서), 현재 정당화 지식에 기초한(예, CA의 최근 CRL에 기초한) 그리고 어떠한 신뢰 모임 요청에 독립적인 RTCA는 그것의 CA의 두드러진 증명서를 처리하고, 그리고 그 증명서의 상태를 진술하는 선언서에 디지털로 서명한다. 상기 결과는 따라서 그 증명서를 위한 다음 업데이트를 표시하는 시간 성분을 운송한다. RTC 주기가 CA-발행 CRL들에 의존하는 경우, 업데이트 시간은 다음 CRL의 그것이 된다. 시간 성분은 또한 처리에서 사용되는 CRL의 발행 시간을 표시한다. 본질적으로, 따라서, RTCA 는 주어진 시간 구간 T에서 각 증명서 상태를 표시하는 디지털 서명을 미리 계산한다. (예를 들어, 최근의 CRL의 시간으로부터 또는 그것에 충분히 가까운 시간으로부터 다음 CRL의 날짜까지 또는 그것에 가장 가까운 날짜까지, 모든 필요한 정보를 처리하는 것으로부터 충분한 시간을 허용하는 경우에). 그러한 미리-계산은 증명서에 관한 신뢰 모임 요구와 독립적으로 수행된다. 게다가, 바람직하게, RTCA 는 구간이 만들어지는 시간 EH는 모든 시간 구간 이전에 시간 구간 내의 증명서 상태에 관한 어떠한 질문 이전에 증명서 상태의 그러한 모든 서명된 선언을 미리-계산한다. 특히, RTCA는 T 시작하기 전에 시간 구간 R에 관해 그것의 서명된 모든 선원을 미리 처리한다. 그렇게 함으로써 CRL과 함께 "동기화"되지 않도록 그것을 행하는 사실은 매우 심각하지 않다. 상기 CRL은 그 자체가 실시간이 아니고, 증명서 철회에 관한 정보이며, 따라서 증명서가 철회되는데 상당히 많은 시간이 걸린다는 이유가 있다. 예를 들어, 사용자는 그의 보안키가 타협되었고 따라서 상기 사실 이후에 그의 고유의 증명서는 철회되도록 요청된다. 따라서 어느 경우에서든지 상기 증명서는 하루의 지연과 함께 철회된다. 바람직하게, 증명서 정당화의 서명된 RTCA 선언은 표준 OCSP 포맷이다. 즉, 본질적으로, 상기 RTCA는 바람직하게 아직 발생되지 않은 OCSP 요청에 대한 OCSP-순응 응답을 미리 계산한다. 이것은 OCSP 소프트웨어가 이미 배치되었기 때문에 중요하고, 그리고 존재하는 신뢰 모임 소프트웨어를 수정하는 것 없이 RTC 시스템을 이용하는 것은 매우 편리하다.The RTCA individually signs the validity status of each certificate irrespective of the request in a given time interval. -Preferably, periodically (or at any one of a series of dates), the RTCA, based on current justification knowledge (eg based on the CA's recent CRL) and independent of any trust meeting requests, processes the outstanding certificate of its CA and And digitally sign a declaration stating the status of the certificate. The result thus carries a time component indicating the next update for that certificate. If the RTC cycle depends on CA-issued CRLs, the update time is that of the next CRL. The time component also indicates the issue time of the CRL used in the process. In essence, the RTCA thus precomputes a digital signature that indicates the status of each certificate in a given time interval T. (Eg, if sufficient time is allowed from processing all the necessary information, from the time of the last CRL or close enough to the date of the next CRL or to the date closest to it). Such pre-calculation is performed independently of the trust meeting request for a certificate. In addition, preferably, the RTCA pre-calculates all such signed declarations of the certificate status before any question about the status of the certificate in the time interval before every time interval is made. In particular, the RTCA pre-processes all its signed sources with respect to time interval R before starting T. The fact of doing it so that it is not "synchronized" with the CRL is not very serious. The CRL itself is not real time, but is information about certificate revocation, and therefore there is a reason that it takes quite a long time for a certificate to be revoked. For example, a user may have been compromised that his security key has been compromised so that after his fact his unique certificate is revoked. In either case, therefore, the certificate is withdrawn with a delay of one day. Preferably, the signed RTCA declaration of certificate justification is in a standard OCSP format. That is, in essence, the RTCA preferably precomputes an OCSP-compliant response to an OCSP request that has not yet occurred. This is important because the OCSP software has already been deployed, and it is very convenient to use the RTC system without modifying existing trust group software.

RTCA는 보호되지 않은 응답기로 정당성 상태의 그의 미리-처리된 서명을 전송한다. : 그러한 서명이 미리-처리된 이후에, RTCA 는 그것을 다른 모임에도 이용가능하게 만들며, 이는 신뢰 모임들을 포함한다. 이러한 응답기들은 보호될 필요가 없다. 사실상 그들은 RTCA-서명 메시지를 처리하고, 이것들은 본질적으로 검출될 수 없는 방법에서 속여서 수정되거나 변경될 수 없다. 게다가, RTCA 는 쉽게 그들을 위험한 보안으로 외래 응답기에 전송한다. 상기 RTCA 는 적합하게 조직된 유형에서 응답기로 그들을 표현함으로써 그것의 서명의 응답기 처리를 쉽게 한다. 예를들어, 그것은 증명서 일변 번호에 따라 배열된 서명된 증명서 인증화 상태를 표현하거나 또는 배열에서 또는 데이터의 서명된 부분이 동일하게 EH는 적합하게 닫힌 길이 등을 지니는 것을 확실하게 한다. 모든 상대적으로 미리-계산된 응답들이 수신된다는 것을 확실히 하기 위해, RTCA 는 그것의 응답 전체에 서명하고 만난다.(예를 들어 동일한 시간 구간 및 CA에 대한 모든 것)The RTCA sends its pre-processed signature of validity to the unprotected responder. After such a signature is pre-processed, the RTCA makes it available to other meetings, which includes trust meetings. These responders do not need to be protected. In fact, they process RTCA-signed messages, and these cannot be modified or altered by tricking them in ways that are essentially undetectable. In addition, the RTCA easily sends them to foreign responders with dangerous security. The RTCA facilitates responder processing of its signature by representing them as responders in a suitably organized type. For example, it may represent a signed certificate authentication status arranged according to a certificate side number, or ensure that the signed portion of the data in the array or data is equally of equally closed length, and so forth. To ensure that all relatively pre-computed responses are received, the RTCA signs and meets all of its responses (eg everything for the same time interval and CA).

부가적으로, RTCA 는 바람직하게 그것의 응답기로 그것의 고유 RTCA 증명서를 전송한다. 이 전송은 모든 업데이트에서 발생될 필요는 없다. 특히 단지 초기에 수행될 수 있다.In addition, the RTCA preferably sends its own RTCA certificate to its responder. This transfer does not have to occur on every update. In particular it can only be carried out initially.

응답기들은 RTCA-미리-처리된 서명을 저장한다. : 응답기는 충분한 시간 동안 RTCA의 수신된 미리-처리된 서명을 저장한다. 바람직하게, 이러한 서명이 주어진 시간 구간 T와 관련되는 경우, 그들은 T의 끝까지 그들을 저장한다. 역시 바람직하게, 상기 응답기들은 프로-액티브 하고 그리고 그들이 제 때에 정확하게 적합한 RTCA 서명을 수신했는지를 체크한다. 예를 들어, 응답기는Responders store the RTCA-pre-processed signature. The responder stores the received pre-processed signature of the RTCA for a sufficient time. Preferably, if these signatures are associated with a given time interval T, they store them until the end of T. Also preferably, the responders are pro-active and check that they have received the appropriate RTCA signature correctly and on time. For example, the responder

(1) 시간 구간 T에 대한 미리-처리된 응답이 T의 시작(또는 다른 적합한 시간 관련 T)에서 수신되는 것을 확인한다.(1) Confirm that a pre-processed response to time interval T is received at the beginning of T (or other suitable time related T).

(2) 수신된 RTCA 서명들을 확인한다.(그리고 또한 적합한 RTCA 증명서가 가능하다)(2) Verify received RTCA signatures (and also have a suitable RTCA certificate available)

(3) 그것이 모든 서명을 수신하였는지를 확인한다.(예, 기대되는 다수의 서명보다 적게, 마지막 전송보다 적은 서명, 등)(3) Verify that it has received all signatures (e.g. less than the expected number of signatures, less than the last transmission, etc.)

(4) 이전에 철회되었다고 선언된 증명서를 위한 정당성의 RTCA-선언된 선언을 수신하는지를 확인한다.(4) Verify that it receives an RTCA-declared declaration of justification for a certificate previously declared to be revoked.

어떠한 문제도 검출되지 않는 경우, 그것은 RTCA 또는 또 다른 적합한 엔티티를 알린다.If no problem is detected, it informs the RTCA or another suitable entity.

신뢰 모임은 정당화 상태 정보를 위해 응답기에게 물어봄 : 신뢰 모임은 증명서의 정당화 상태를 위해 응답자에게 질문한다. 바람직하게, 그들은 그들의 요청을 위한 OCSP 포맷을 이용한다.The trust meeting asks the responder for justification status information: The trust meeting asks the respondent for the justification status of the certificate. Preferably, they use the OCSP format for their request.

응답자들은 미리-계산된 응답을 지닌 질문에 대답한다. : 주어진 증명서의 정당성에 대해 질문할 때, 상기 응답자는 그것을 증명하고 되돌리기 위한 RTCA 미리-처리된 대답을 메모리로부터 이끌어낸다.Respondents answer questions with pre-computed answers. When questioning the validity of a given certificate, the responder derives an RTCA pre-processed answer from memory to prove and return it.

응답기는 또한 미리-계산된 응답에 서명한 RTCA를 위한 적합한 증명서를 포워드 한다.The responder also forwards the appropriate certificate for the RTCA that signed the pre-computed response.

신뢰 모임은 미리-처리된 대답들(그리고 RTCA 증명들)을 확인한다. - 신뢰 모임은 관련 증명의 상태의 정당성을 확인하기 위해 응답을 수신한다. 바람직하게, 응답이 OCSP 포맷인 경우, 그들은 그러한 프로세싱을 위한 OCSP 소프트웨어를 이용한다. 바람직하게 그들은 적합한 RTCA 증명서를 확인한다.Trust meetings confirm pre-processed answers (and RTCA credentials). The trust meeting receives a response to confirm the validity of the status of the relevant proof. Preferably, if the response is in OCSP format, they use OCSP software for such processing. Preferably they identify the appropriate RTCA certificate.

이 응용을 통해, 증명서들이 계층적 증명서가 되는 것과 CA의 최근 유효성의 증거가 증명하고 그리고 CRTA 증명서들이 부가되며 필요할 때마다 정당화 되는 것이 이해된다.Through this application, it is understood that certificates become hierarchical certificates, evidence of the recent validity of the CA, and that CRTA certificates are added and justified whenever necessary.

도 6 은 RTC 시스템을 도시한다.6 shows an RTC system.

RTC 시스템의 이점Advantages of RTC Systems

RTCA는 주기적으로 CA의 모든 현재 증명서를 위해 디지털로 서명된 정당성 선언을 발생하고 그 후 그들은 관련 응답기로 분배한다.(각 증거는 구문적으로 정확한 OCSP 응답으로서 구성되는 것이 바람직하고, RTCA 개인키에 의해 서명된다) 신뢰 모임이 증명서의 상태에 관해 질문할 때, 상기 RTC 응답기는 그것이 저장되는 대응하는 미리-발생된 응답으로 되돌아 갈 수 있다. 상기 신뢰 모임은 RTCA의 서명을 확인 할 수 있다.(부가적으로, 그것은 주어진 CA를 위해 진짜 RTC 서명과 함께 다루어지는 것을 확실히 하기 위해 또한 RTCA의 증명서를 확인 할 수 있다. 물론, 이와 같이 모든 다른 증명서들은 계층적이 될 수 있다.)The RTCA periodically generates digitally signed validity declarations for all current certificates of the CA and then distributes them to relevant responders. (Each evidence is preferably constructed as a syntactically correct OCSP response, preferably in the RTCA private key. When a trust meeting asks about the status of a certificate, the RTC responder may go back to the corresponding pre-generated response in which it is stored. The trust group can verify the signature of the RTCA (in addition, it can also verify the certificate of the RTCA to ensure that it is handled with the real RTC signature for a given CA. Of course, all other Certificates can be hierarchical.)

이점 1: 계산Advantage 1: Calculation

디지털 서명들은 계산적으로 강력한 연산이다. 그러나 상기 RTC 시스템은 이 어려움은 단일 서버(엔티티): RTCA 에 집중시킨다. 따라서 그것은 매우 쉽고 모든 요구되는 디지털 서명을 처리하기에 충분히 강력한 컴퓨터를 지닌 단일 엔티티와 함께 구비되기 위해 상대적으로 비싸지 않다. 대조적으로, 상기 RTC 응답기는 단지 사소한 계산만을 수행한다. 그들은 실질적으로(1) RTCA 서명을 저장하고 (2) 신뢰 모임 질문에 대한 추출 및 포워드 작동만을 수행하며, 따라서 그들은 매우 값싼 하드웨어와 함께 구현될 수 있다. 결과적으로, 전체 RTC 가격은 상당히 OCSP에 비해 낮다. 동시에, 응답 시간은 훨씬 더 빠르다. 따라서 미리 계산된 RTCA 응답을 추출하고 전송하기 위한 매우 싼 RTC 응답기를 위한 시간은 신뢰 모임 요청에 응답하는 디지털 서명을 수행하여만 하는 OCSP 응답기에 의해 취해지도록 상대적으로 무시된다.Digital signatures are computationally powerful operations. However, the RTC system concentrates this difficulty on a single server (entity): RTCA. It is therefore relatively inexpensive to be equipped with a single entity that is very easy and powerful enough to handle all the required digital signatures. In contrast, the RTC responder performs only minor calculations. They actually (1) store the RTCA signature and (2) perform only extraction and forwarding operations on trust meeting questions, so they can be implemented with very cheap hardware. As a result, the overall RTC price is significantly lower than OCSP. At the same time, the response time is much faster. Thus, the time for a very cheap RTC responder to extract and send a precalculated RTCA response is relatively neglected to be taken by an OCSP responder that only has to perform a digital signature in response to a trust meeting request.

이점 2: 통신Advantage 2: Communication

RTC 시스템에서, 응답기들은 사소한 하드웨어를 이용하고 보안될 필요가 없다. 결과적으로 RTC 응답기들은 정말로 매우 싸며, 많은 수가 이용도리 수 있다. 즉, RTC 시스템의 분배된 구현을 항상 제공할 여유가 있다. 따라서 상당히 많은 증명서-정당화 요청이 짧은 시간동안 발생하는 경우라도, 이 로드는 항상 많은 RTC 응답기에 대해 전개될 수 있으며, 혼잡의 위험 및 많은 가격의 발생 없이 서비스의 다정한 부인을 제거한다.(주의할 것은 RTCA의 일의 양은 단지 증명서 숫자에 의존하며 그것은 정당성-상태 요청의 수에 영향을 받지 않는다. 따라서 단일 RCA 는 수백만의 정당화 요청이 기대되는 경우에도 사용될 수 있다.)In RTC systems, the responders use minor hardware and do not need to be secured. As a result, RTC responders are really very cheap and many are available. That is, there is always room to provide a distributed implementation of the RTC system. Thus, even if a large number of certificate-justification requests occur in a short period of time, this load can always be deployed for many RTC responders, eliminating the tender denial of service without the risk of congestion and high price. That is, the amount of work in the RTCA depends only on the number of certificates and it is not affected by the number of validity-state requests, so a single RCA can be used even if millions of justification requests are expected.)

이점 3 : 보안Advantage 3: security

RTC 시스템에서, 단지 RTCA(CA를 제외한, 그것이 다른/다르게 위치된 엔티티인 경우)가 보호된다. 사실상, 응답기들은 어떠한 보안키도 저장할 필요가 없다. 그들은 단지 RTCA의 디지털 서명만을 저장하면 되나, 무엇보다 보안 목적이 RTCA에 의해 계산된 이후에 전체적으로 공공으로 만들어 진다. 대조적으로, 각 OCSP 응답기는 보안 서명 키를 지니고, 그것의 하나는 전체 시스템을 포함한다. 따라서 단일 사이트를 지키는 것이 많은 동등하게 중요한 사이트를 지키는 것보다 바람직하고 더 쉽다.In an RTC system, only the RTCA (except for the CA, if it is another / differently located entity) is protected. In fact, responders do not need to store any security keys. They only need to store the digital signature of the RTCA, but above all, it is made public as a whole after the security objectives have been calculated by the RTCA. In contrast, each OCSP responder has a security signature key, one of which covers the entire system. Thus, keeping a single site is desirable and easier than keeping many equally important sites.

게다가, OCSP에서와 달리, 신뢰 모임은 쉽게 소프트웨어 공격에 올라갈 수 없다. 사실상, 상기 RTC 응답기는 비-보안 정보를 지닌 신뢰 모임의 요구를 서비스한다. 사실상 그들은 그들 자신의 어떠한 보안키도 지닐 필요가 없으며 단지 미리-처리된 디지털 서명만이 필요하다. 따라서 신뢰 모임이 것의 질문에 트로잔 호스의 일부 종류를 끼워 넣는 것에 성공하는 경우, 그것은 어느 것이라도 폭로할 수 있다. 기껏해야 그것은 모든 RTC 응답기들이 아는 것을 폭로할 수 있고 그리고 그것은 꽉차있고 증명서가 유효하고 주어진 시간 구간에서 철회되는 정확한 계산이다. 그리고 이것은 비-보안 정보일 뿐만 아니라, 심지어 증명서 인증이 세계적으로 알려지기를 원하는 정보이며, 그 결과 누구도 부정확하게 그것의 증명서들 중의 하나에 의존하지 못한다.In addition, unlike in OCSP, trust meetings cannot be easily escalated into software attacks. In fact, the RTC responder serves the request of a trust meeting with non-secure information. In fact, they do not need to have any security keys of their own, only a pre-processed digital signature. So if a trust group succeeds in embedding some sort of trojan hose in the question of one, it can expose any. At best it can reveal what all RTC responders know and it is a precise calculation that is full, the certificate is valid and is withdrawn in a given time interval. And this is not only non-secure information, it is even information that certificate authentication wants to be known worldwide, and as a result no one incorrectly relies on one of its certificates.

마지막으로, 주의할 것은 소프트웨어 공격들은 RTCA에 대해 쉽게 장착될 수 없다. 사실상, 비밀 서명 키를 처리함에도 불구하고, 상기 RTCA는 신뢰되지 않은 소스의 처리 요청이 아니다. 이는 따라서 RTCA가 어떠한 신뢰되지 않은 요청에 대답하지 않기 때문에, 그것은 단순히 CA(매우 신뢰된 소스)로부터 입력을 수신하고 주기적으로 데이터(서명된 정당화 진술)를 출력한다. 따라서 바로 RTC 시스템에서 잃어버린 트로잔 호스를 주입하기 위한 능력이다! 다른 말로, 단일 둥근 천장만 RTC 시스템에 충분할 뿐만 아니라, 이 둥근 천장도 "어느 것이던지 "윈도우"를 지니지 않는다.Finally, note that software attacks cannot be easily mounted against RTCA. In fact, despite processing a secret signing key, the RTCA is not a processing request from an untrusted source. This is therefore because the RTCA does not answer any untrusted request, it simply receives input from a CA (a very trusted source) and periodically outputs data (signed justification statements). Therefore, the ability to inject the missing trojan hose from the RTC system! In other words, not only is a single vault sufficient for an RTC system, but this vault does not have a "anything" window.

이점 4 : 신뢰 흐름Advantage 4: trust flow

이러한 이점에 부가하여, 상기 RTC-OCSP 접근은 다중 조직을 감싸는 이종 PKI 배치 내에서 상당한 신축을 가능하게 한다. 다음의 다이어그램은 RTC-OCSP 가 크로스-CA 환경에서 어떻게 배치되는지를 도시한다.In addition to these advantages, the RTC-OCSP approach allows for significant stretching within heterogeneous PKI deployments that enclose multiple tissues. The following diagram shows how the RTC-OCSP is deployed in a cross-CA environment.

도 7 은 조직#1로부터 조직 #2의 응답기로 신뢰를 이동하기 위한 필요 없이 조직 #1로부터 응답들을 교체(바람직하게, OCSP 컴플라이언트)할 수 있다. RTC 응답기들은 단순하고, 정보의 비-신뢰적 릴레이이기 때문에, 그들은 널리 분배되고 전체 시스템 보안의 감축 없이 반사된다. 신뢰 모임은 조직 #1의 증명서의 정당성에 대한 조직 2(응답기 2B) 응답기를 조회한다. 주의할 것은 (바람직하게 OCSP 컴플라이언트), 그것을 다시 얻는 응답은 확신된다. 왜냐하면 그것은 조직 #1의 RTCA에 의해 디지털 서명되었기 때문이다. 또한, 정당한 조직(그것의 고유 증명서가 여전히 유효한지를 알기 위해 최적으로 배치되고, 실수를 만들지 않기 위해 최대 관심을 지닌)으로부터 직접적 서명은 바람직하게 신뢰 모임이 RTCA1이 또한 조직 1의 적합한 RTC 인증이라는 것을 보증하는 RTCA1 의 증명서를 갖는다.FIG. 7 may replace (preferably, OCSP compliant) responses from Organization # 1 without the need to transfer trust from Organization # 1 to Organization # 2's responders. Because RTC responders are simple, unreliable relays of information, they are widely distributed and reflected without reducing overall system security. The trust meeting queries the Organization 2 (Responder 2B) Responder for the validity of the Certificate in Organization # 1. Note (preferably OCSP compliant), the response to get it back is assured. Because it is digitally signed by Organization # 1's RTCA. In addition, direct signatures from legitimate organizations (optimally placed to know if its unique certificate is still valid, and with the greatest interest to avoid making mistakes) should preferably indicate that the trust group is also the appropriate RTC certificate of Organization 1 Have a certificate of assurance RTCA1.

요약하면, 조직 #1 은 조직 #2의 응답기가 그것 고유의 증명서의 정당화 상태에 대한 제어의 양을 포기함 없이 조직 #1 증명서를 위한 정당성의 증거를 확인하도록 제공하는 것을 가능하게 한다.In summary, organization # 1 enables the responder of organization # 2 to provide evidence of justification for the organization # 1 certificate without giving up the amount of control over the justification status of its own certificate.

이점 5: 보안 이종성Advantage 5: Security Heterogeneity

도 7은 최후의 경우를 도시하는 것으로서 , 응답기들은 강화된 신뢰 지점이라기보다 투명한 네트워크 하부구조로서 다루어진다. 많은 소스들로부터 증명서의 상태에 관한 서비스 요청이 가능한 다수의 이종 응답기의 보안 구성을 어떻게 RTC의 최후의 경우가 가능하게 하는지를 도시한다. 이는 인터넷 하부구저에 의해 제공되는 서비스 구름과 유사하다. 그 점에서, 투명하세 상호 작동하는 네임 서버들의이종 수집이 질문을 위한 캐쉬 유효한 응답을 발견하고 저장하는 것을 허용한다.FIG. 7 illustrates the last case, where responders are treated as transparent network infrastructure rather than enhanced trust points. It shows how the last case of the RTC enables a secure configuration of multiple heterogeneous responders capable of requesting service regarding the status of a certificate from many sources. This is similar to the service cloud provided by the Internet infrastructure. In that regard, a heterogeneous collection of transparent and interoperable name servers allows to find and store cache valid responses for questions.

이 이종성은 종래의 OCSP 에 대해 RTC 시스템의 상당한 이점이다. 그것은 상호 작동하기 위해 매우 다양한 조직들을 허용하고 그 결과 다른 조직들로부터 신뢰 모임이 보안, 신뢰, 효율적 방법으로 다른 조직으로부터 증명서를 크로스-정당화 할 수 있다.This heterogeneity is a significant advantage of RTC systems over conventional OCSP. It allows a wide variety of organizations to interoperate so that trust meetings from other organizations can cross-justify certificates from other organizations in a secure, trusting, and efficient manner.

실시간 증명서(RTC) 는 가격이 효율적이고, 보안이며, 비례 축소가 가능하고 그리고 전체적으로 효율적인 증명서 정당화 시스템이다. RTC 는 (1) 오픈 증명서 상태 프로토콜(OCSP)에 선택적으로 제공되고, 마찬가지로(2) OCSP 내에서 작동하며 이를 강화 한다. RTC 시스템은, 사실상, OCSP 표준을 지닌 호환성을 유지하는 선택을 실행할 때조차, 성질 적으로 우수한 보안 및 비례 축소를 제공하기 위해 OCSP 에 대해 상당한 이점을 제공한다.Real-time Certificate (RTC) is a cost-effective, secure, proportional and overall efficient certificate justification system. The RTC is optionally provided for (1) Open Certificate Status Protocol (OCSP), and (2) works within and enhances OCSP. RTC systems, in fact, provide significant advantages over OCSP to provide superior security and proportional reduction in nature, even when making choices to maintain compatibility with OCSP standards.

RTC 최적화RTC optimization

2-모임 대 3- 모임 증명서 정당화2-Meet vs 3-Meeting Justification

U를 증명서 Cu를 지닌 모임이라 하자. 모임 V를 지닌 거래의 부분으로서, U는 Cu를 V에 전송하고(그렇지 않으면 V는 이미 그것을 가지고 있다) 그리고 가능하게 부가적 일을 수행한다.(U 에 속하는 Cu 내에 증명된 공공 증명서 키에 대한 디지털 서명을 보이는 것, 또는 U에 속한 Cu 내에 증명된 공공 암호 키를 이용하는 V에 의해 암호화된 임의 도전을 해독함으로써 식별하는 것 등이다) 보안되어야 하는 거래를 위해, V 는 Cu의 현재 정당성을 확실히 하고 그리고 RTC 응답기로 정당성 질문을 한다. 상기 응답기는 Cu 에 대한 가장 최근의 RTCA-서명 선언을 추출하고되돌림으로써 이 질문에 대답한다. 그러나 3-모임을 거래로 만들거나 그렇지 않으면 2-모임이 되는 RTC 응답기에 질문하는 것은 원하는 U-V 거래의 시간을 증가시킨다.Let U be a group with certificate Cu. As part of a transaction with G, U sends Cu to V (otherwise V already has it) and possibly performs additional work (for a public certificate key that is proven in Cu belonging to U). Displaying a digital signature, or identifying it by decrypting any challenge encrypted by V using a public cryptographic key that is proven in a Cu belonging to U.) For transactions that must be secured, V is sure of Cu's current legitimacy. And asks the justification question with the RTC responder. The responder answers this question by extracting and reverting the most recent RTCA-signature declaration for Cu. However, making a 3-party deal or asking a RTC responder that otherwise becomes a 2-party adds time to the desired U-V transaction.

예측 가능한 시간 구간 덕분에, RTC 는 상당히 도움이 된다. 즉, 모임 U는, 각 시간 구간 T의 시작에서(또는 그것 동안), Cu가 T를 통해 유효하다는 RTCA-서명 선언 Du를 수신한다. U는 그의 것(예, 일상적인 신뢰-모임요청을 만듦으로써)으로 요청에 대답함에 있어 Du를 수신할 수 있거나 또는 푸쉬 된 Du가 된다.(예를 들어 자동 기초에 따라 매일의 업데이트에서 RTCA에 의해 또는 RTC 응답기에 의해). 양 경우에서, 구간 T 동안 V와 거래함에 있어, U는 Du를 V로 포워드 한다. 이에 부가하여, 모든 다른 스텝들 또는 일들이 거래에서 수반된다. 따라서 U-V 거래는 상당히 속도가 빠르다. 왜냐하면 V는 U의 증명서의 현재 정당성을 확인하기 위해 어떠한 제 3의 모임도 부를 필요가 없기 때문이다.Thanks to the predictable time intervals, the RTC is quite helpful. That is, the meeting U receives an RTCA-signature declaration Du that Cu is valid through T at the beginning of (or during) each time interval T. U can either receive Du in answering the request with his (eg, by making a routine trust-request) or become a pushed Du (for example, to the RTCA in daily updates on an automatic basis). Or by an RTC responder). In both cases, in trading with V during interval T, U forwards Du to V. In addition, all other steps or tasks are involved in the transaction. Therefore, U-V trading is quite fast. Because V does not need to call any third party to verify the current validity of U's certificate.

그럼에도 불구하고, 일부 경우에, Du를 포함하는 U를 포함하는"전체 시간"은 빨라지지 않는다. U-V 거래가 있을 것이다. 주의할 것은 전체 시간에서 저장 없이 U-V 거래만의 속도를 높이는 것도 여전히 매우 가치가 있다. 사실상, RTCA 선언들은 오후에 처리되고 그리고 그들의 시간 구간으로서 하루 전체를 구체화 한다고 가정한다. 그 후, U 는 하루 동안(어떠한 실제적 압력도 존재하지 않을 때) 일찍 Du를 획득하고 시간을 저장하는 것이 필수적인 것이 아닐 때 그 후 일하는 시간 동안 수행되는 시간 민감형 U-V 거래동안 V에 그것을 포워드 한다. 게다가, DU를 획득하고 저장한 이후에 다수의(예, 100) 모임들과 거래할 때 하루 동안 내내 그것을 포워드 하는 경우 효율성이 획득된다. 이 방법은, 예를 들어, 단일 신뢰-모임 질문( U 자체, 가능하게 휴식 시간에 만들어진다)은 성공적으로 100 개의 신뢰-모임 요청(가능하게는 압력의 시간대에서)을 대체한다.Nevertheless, in some cases, the "total time" including U, which includes Du, is not accelerated. There will be a U-V deal. Note that it is still very worthwhile to speed up only U-V transactions without saving the whole time. In fact, it is assumed that RTCA declarations are processed in the afternoon and materialize the entire day as their time period. U then forwards it to V during the time sensitive U-V transaction performed during the next working day when it is not essential to obtain Du and save time early during the day (when no actual pressure exists). In addition, efficiency is gained if the DU is acquired and stored and then forwarded it throughout the day when trading with multiple (eg, 100) meetings. This way, for example, a single trust-meeting question (U itself, possibly made at rest) successfully replaces 100 trust-meeting requests (possibly in time of pressure).

이 최적화는 또한 모임 V에 의해 획득될 수 있다. 즉, 모임 U의 증명서 Cu의 정당성에 관한 질문으로 되돌아감에 있어 RTC 응답기로부터 응답 Du를 획득한 이후에, V 는 U에게 줄 수 있거나 또는 Du를 다른 사람이 이용 가능하도록 만든다.This optimization can also be obtained by meeting V. That is, after obtaining the response Du from the RTC responder in returning to the question of the validity of the certificate Cu of the meeting U, V can either give U or make Du available to others.

이 적합화는 선호되는 RTC 의 OCSP-순응 구현에 주로 적용된다. 사실상, 우리는 유사한 최적화를 또한 종래의 OCSP 구현에 적용하는 것을 제안한다. 즉, 사용자는 그의 고유의 증명서에 대한 OCSP 응답을 요청하거나 획득하고 그 후 적합한 시간 구간을 위한 거래의 다른 모임에 그의 거래의 부분으로서 이 OCSP 응답을 포워드 한다. 대안적으로, 모임 U의 증명서 Cu의 정당화에 대한 신뢰 모임에 의한 첫 번째 시간을 요청할 때, OCSP 응답기는 그것의 응답 Ru 를 계산하고 그것을 질문하는 신뢰 모임으로 되돌리며 또한 U에게 그것을 포워드 한다. 그 결과 U는 그것을 저장할 수 있고, 잠시 동안, Cu 에 기초한 그것의 거래의 부분으로서 그것을 포워드 할 수 있다.This adaptation mainly applies to the OCSP-compliant implementation of the preferred RTC. In fact, we propose to apply similar optimizations to conventional OCSP implementations as well. That is, the user requests or obtains an OCSP response to his own certificate and then forwards this OCSP response as part of his transaction to another meeting of the transaction for the appropriate time period. Alternatively, when requesting the first time by the trust meeting for the justification of the certificate Cu of meeting U, the OCSP responder calculates its response Ru and returns it to the trust meeting asking it and also forwards it to U. As a result U can store it and for a while, can forward it as part of its transaction based on Cu.

증명서-도움 정당화Certificate-Help Justification

RTC 시스템은 개개의 증명서에서 발견되는 데이터를 이용하여 구현되며, 부가적 증명서 및/또는 응답 길이를 저장한다. 우리가 살펴본 바와 같이, 상기 CA 는 그것의 고유의 증명서 정당성에 관한 권위 있는 대답을 제공하기 위해 주어진 RTCA에게 권한을 부여하는 RTCA 증명서를 발행한다. 그러한 RTCA 증명서는 이상적으로RTCA-서명된 응답을 확인하기 위해 사용되어야 하는 공개키를 구체화 한다. 상기 CA는 그러나, 그것 고유의 증명서 이내의 RTCA 공개키에 삽입한다. 즉, CA(적합한 포맷을 지닌, OID 등)는 Cu의 정당성에 관한 디지털 서명된 응답을 확인하기 위해 사용되어야 하는 공개 키 PK를 또한 증명서 Cu 내에 포함한다. 이런 방식으로, 신뢰 모임은 분리된 RTCA 증명서를 수신할 필요가 없다. Cu를 위한 정당성의 최근 증거를 RTC 응답기에 요구할 때, 그것은 단지 RTCA-서명된 응답만을 획득한다. 사실상, Cu는 신뢰 모임이 Cu를 위한 정당성의 증거를 확인하기 위한 공공 정당화 키 내에서 스스로 구체화 된다. 이것은 전송에 있어 (왜냐하면, RTC 응답기는 분리된 RTCA 증명서를 전송할 필요가 없으며, 이는 RTCA 응답보다 훨씬 더 길다) 그리고 저장장치에 있어(왜냐하면, 상기 신뢰 모임은 Cu에 의존한 장래의 요구에 대한 보호와 같이 RTCA 응답을 지닌 측면을 따라 RTCA 증명서를 저장할 필요가 없기 때문이다.) 상당한 저장을 산출한다.The RTC system is implemented using data found in individual certificates and stores additional certificates and / or response lengths. As we have seen, the CA issues an RTCA certificate that authorizes a given RTCA to provide an authoritative answer regarding its own certificate validity. Such an RTCA certificate ideally specifies a public key that should be used to verify the RTCA-signed response. The CA, however, inserts into the RTCA public key within its own certificate. That is, the CA (OID, with appropriate format, etc.) also includes in the certificate Cu a public key PK that should be used to verify the digitally signed response regarding Cu's legitimacy. In this way, trust meetings do not need to receive separate RTCA certificates. When requesting an RTC responder with recent evidence of justification for Cu, it only obtains an RTCA-signed response. In fact, Cu embodies itself within the public justification key to confirm the evidence of justification for Cu. This is true for transmission (because the RTC responder does not need to send a separate RTCA certificate, which is much longer than the RTCA response) and for storage (because the trust group protects against future needs that rely on Cu). This is because there is no need to store RTCA certificates along the side with the RTCA response.

유사하게, 증명서 Cu는 그것 고유의 시간 구간을 구체화 한다. 이 경우에서, RTCA 응답은 구간 T의 시작 및 끝을 구체화 할 필요가 없다. 사실상. T만을 따른 시작은 (또는 다른 단순화된 구현) T 를 명확히 정의한다. 예를 들어, Cu가 매일의 업데이트를 구체화 하는 경우, 주어진 날의 어느 시간이나 응답이 관여하는 곳으로 전체 날을 구체화하기에 충분하다. 대안적으로, 증명서가 하루 전체를 구성하는 정당화 구간을 지니는 것이 명백한 경우, 증명서 내에서 이 정보가 구체화 되어야 할 필요가 없으며, RTCA 응답 적용에서 저장에서도 마찬가지이다.Similarly, the certificate Cu specifies its own time period. In this case, the RTCA response does not need to specify the beginning and end of the interval T. virtually. Starting along T alone (or other simplified implementation) clearly defines T. For example, if Cu specifies a daily update, it is sufficient to specify the whole day to any time on a given day or where the response is involved. Alternatively, if it is clear that the certificate has a justification interval that constitutes the whole day, this information need not be specified in the certificate, as is storage in the application of the RTCA response.

분리된 철회Detached retraction

정당화의 RTC 증명 또는 주어진 증명서 C를 위한 유보가 그것이 참조하는 시간 구간을 구체화 하는 동안, 철회의 증명은 어떠한 시간 구간도 구체화 할 필요가 없다. 그것이 시간 내에 단일 지점을 구체화하기 위해 충분하다. (예, 철회의 실제적 시간) 정당성 및 유보와 달리, 사실상, 철회는 전통적으로 폐지할 수 없는 과정이다. 따라서 단일 철회 시간 rt 는 철회된 증명서를 제공하기에 충분하다. 그리고 rt 는 시간 구간 T(예를 들어 "T의 중앙"에 있어 어느 시간이나 가능하다)의 시작일 필요가 없다. 영속적 철회의 경우에 있어, RTCA 는 모든 업데이트 날짜(예, D1,D2 등)에 C의 철회 증명을 전송할 필요가 없다. 원칙적으로, 철회 증거는 단지 한번만 전송될 수 있고(또는 중복을 위해 몇 회만) 그리고 그 후 RTC 응답기에 의해 저장되고 C에 관한 신뢰-모임 질문이 발생될 때만다 되돌아간다.While the RTC proof of justification or the reservation for a given certificate C specifies the time interval it refers to, the proof of revocation does not need to specify any time interval. That is enough to materialize a single point in time. In contrast to legitimacy and reservation, withdrawal is, in fact, a process that cannot be traditionally abolished. Thus, a single withdrawal time rt is sufficient to provide a revoked certificate. And rt need not be the beginning of a time interval T (eg any time in the "center of T"). In the case of a permanent withdrawal, the RTCA does not need to send proof of revocation of C on all update dates (eg D1, D2, etc.). In principle, the withdrawal evidence can only be sent once (or a few times for redundancy) and then stored by the RTC responder and returned only when a trust-meeting question about C is raised.

또한 주의할 것은 RTCA는 증명서 C가 철회되었음을 즉각 알려준다. 예를 들어, RTCA가 이미 생성되고 그리고 RTC 응답기로 C를 위한 정당성의 증명이 제출되는 시간 구간 T 내에서 이다. 물론, 다음 업데이트에 의해, 그러한 정당성의 어떠한 증거도 C를 위해 처리될 것이다. 그러나 당분간(예를 들어, T의 끝까지) 정당성의 부정확한 증거가 그곳에 나와 있다. 따라서 좋은 카운터-측정은 정당성의 증거에 대한 우선순위를 취하는 철회의 증거로 구성된다. 즉, 일부 시간 구간 T 그리고 C를 위한 철회의 증거를 위한 C를 위해 정당성의 증거 모두를 볼 수 있는 정직한 신뢰 모임은 C를 철회로 간주한다(t 시간 이후에). 그러나 일부 신뢰 모임은 결코 철회의 그러한 증거를 볼 수 없으며, 따라서 C는 T의 끝까지 여전히 유효하다고 간주된다. 살펴본 바와 같이, 그러한 문제들은 어느 정도 피팔 수 있고, 종래의 OCSP라는 점에서, C 철회의 뉴스는 응답기에 도달하기 위해 어느 정도의 시간이 걸린다. 그리고 그것은 C가 철회되었다는 것을 깨닫기 위해 더 긴 시간을 취하지 않는다. 그럼에도 불구하고, 이러한 문제점들은 RTCA 를 지님으로써 경감될 수 있고 그리고 그것이 철회되었다는 것을 배우자마자 C의 철회 증거를 처리하고 RTC 응답기에 전송한다. 적합하게 모든 기능을 하는 RTC 응답기는 그 후 메모리로부터 C의 정당성에 관한 어떠한 증거라도 지우고 그것을 철회의 수신된 새로운 증거로 대체한다. 이런 방식으로, 그들은 C의 정당성에 관한 정확한 증거를 지닌 신뢰 모임을 제공할 것이다.Also note that the RTCA immediately informs you that Certificate C has been withdrawn. For example, within a time interval T where an RTCA has already been generated and proof of justification for C is submitted to the RTC responder. Of course, with the next update, any evidence of such justification will be processed for C. But for the time being (for example, to the end of T), there is inaccurate evidence of justification. A good counter-measurement therefore consists of evidence of retraction which takes precedence over evidence of justification. That is, an honest trust group that sees both proof of justification for C for proof of revocation for some time intervals T and C considers C to be withdrawn (after time t). However, some trust groups never see such evidence, and C is still considered valid until the end of T. As we have seen, such problems can be avoided to some extent, and in the sense of conventional OCSP, news of C retraction takes some time to reach a responder. And it does not take longer to realize that C has been withdrawn. Nevertheless, these problems can be alleviated by having an RTCA, and as soon as it learns that it has been withdrawn, it processes the C withdrawal evidence and sends it to the RTC responder. A properly functioning RTC responder then erases any evidence of C's legitimacy from memory and replaces it with received new evidence of revocation. In this way, they will provide a trust meeting with accurate evidence of C's legitimacy.

시스템 일반성System generality

CA/RTCA/응답기/모임/사용자는 엔티티 집합 또는 엔티티가 된다.The CA / RTCA / Responder / Meeting / User becomes an entity set or entity.

증명서는 모든 종류의 증명서 그리고 특히 계층적 증명서 및 평면 증명서를 포함하기 위해 구성되어야 한다.(미국 특허 No.5,420,927이 여기에 참고자료로 통합되었다). 정당성 상태 및 정당성 상태의 증거는 계층적 증명서를 위한 정당성 상태 및 정당성 상태의 증거를 포함한다.(예를 들어, 정당성 일련 내의 모든 정당성의 정당화 상태의 증거 및 정당화 상태). 증명서 C의 정당성을 확인하는 것은 CRTA의 정당성이 C의 정당화 상태에 관한 서명된 응답을 제공하는 RTCA를 위해 CRTA 증명서의 정당성과 마찬가지로, 발행된 C를 지닌 CA를 위한 CA 증명서의 정당성을 확인하는 것을 포함한다.Certificates should be constructed to include all kinds of certificates, especially hierarchical certificates and flat certificates (US Patent No. 5,420,927, incorporated herein by reference). Evidence of justification and justification includes evidence of justification and justification for hierarchical certificates (eg evidence of justification and justification of all justifications within a set of justifications). Verifying the validity of Certificate C means verifying the validity of the CA Certificate for the CA with the issued C, just as the CRTA Certificate is justified for the RTCA for which the CRTA provides a signed response to the justification status of C. Include.

미국 특허 No.5,666,416 에 따라 증명서가 전통적으로 주어진 사용자에게 주어진 키를 구속하였음에도 불구하고, 증명서는 모든 디지털 서명된 문서들을 포함해야 한다. 예를 들어, CA와 같이 역할 하는 공급자은 그것을 디지털 서명함으로써 그것의 가격 리스트를 증명한다(가능하게 날짜 정보와 함께). 그러한 증명서의 정당성 상태는 또한 매우 중요하다. 예를 들어, 공급자은 가격 리스트의 현재 정당성을 증명하기를 원한다.(그것의 현재 정당성의 증거가 도시되지 않는 한, 가격 리스트에서 주어진 가격을 거부한다). 따라서 소비자는 가격 리스트 문서의 현재 정당성을 확인하기를 원한다. 특히, RTC 시스템은 웹 페이지의 현재 정당성을 제공하기에 이상적이다(왜냐하면 그것의 비례 축소 가능성 및 오프-라인 처리 때문에). 게다가. 현재 정당성의 발생된 RTCA 증거들은 다음 페이지 그 자체(이 경우에서, 모임은 컴퓨터 파일로 간주될 수 있다)에 다음에 (또는 관련되게) 저장된다.Although the certificate has traditionally bound a given key to a given user in accordance with US Patent No. 5,666,416, the certificate must include all digitally signed documents. For example, a provider acting like a CA verifies its price list by digitally signing it (possibly with date information). The justification of such a certificate is also very important. For example, a supplier wants to prove the current justification of a price list (reject the price given in the price list unless evidence of its current justification is shown). The consumer therefore wants to confirm the current justification of the price list document. In particular, the RTC system is ideal for providing the current justification of a web page (because of its proportional shrinkability and off-line processing). Besides. The generated RTCA evidence of current legitimacy is stored next (or related) on the next page itself (in this case, the meeting can be considered a computer file).

데이터 D의 가격을 전송하는 것은(모임 X로) D를 이용가능하게 만드는 것(또는 X가 D를 수신하도록 하는 것)을 포함하기 위해 해석되어야한다.Sending the price of the data D (to the meeting X) should be interpreted to include making D available (or having X receive D).

실시간 정당화를 지닌 3개 요소의 인증화3 factor authentication with real-time justification

다음의 것은 신뢰 모임에서 하부 구조와 어떠한 연결도 지니지 않고 수행되는 실시간 정당화 및 철회를 지닌 효율적인 3-요소 인증화이다. 이는 파일 또는 응용 접근과 같은 문 또는 논리적 응용과 같은 물리적 액세스응용을 위해 일할 수 있다. 물리적 액세스시나리오가 아래에 설명되었다. 다른 응용들은 당업자를 위해 이 모델로부터 일반화되기 쉽다.The following is an efficient three-factor authentication with real-time justification and revocation that is performed without any connection to the infrastructure in trust meetings. This may work for statements such as file or application access or for physical access applications such as logical applications. Physical access scenarios are described below. Other applications are likely to be generalized from this model for those skilled in the art.

예 16 :Example 16:

1. 사용자는 무선 장치(물리적 토큰)상에 저장된 증명서를 지닌다. 이 토큰은 바람직하게 디지털 증명서 및 개인키를 저장하는 능력을 지닌다. 또한 바람직하게, 상기 토큰은 긴-범위(WAN) 연결성(GPRS, SMS, 페이저, CDMA, GSM 등과 같은) 및 짧은 범위(PAN) 연결성(블루투스, IT, RF 등과 같은)의 방법을 지닌다. 상기 토큰은 또한 하나 이상의 부가적 인증화 요소들( PIN을 위한 키패드 또는 생물학적 특징 판독기)을 지닌다. 이 실시예는 그 토큰이 블루투스 셀 폰이라 가정한다.1. The user has a certificate stored on the wireless device (physical token). This token preferably has the ability to store digital certificates and private keys. Also preferably, the token has a method of long-range (WAN) connectivity (such as GPRS, SMS, pager, CDMA, GSM, etc.) and short range (PAN) connectivity (such as Bluetooth, IT, RF, etc.). The token also has one or more additional authentication elements (keypad or biological feature reader for a PIN). This embodiment assumes that the token is a Bluetooth cell phone.

2. 문은 표준 PKI 작동이 가능한 작은 CPU를 지닌 제어 패널을 지니고 그리고 물리적 토큰에 얘기하기 위한 짧은-범위(PAN) 연결성의 방법을 지닌다. 이 실시예는 우리의 표준 데모 문과 유사한 블루투스-가능 컴퓨터를 가정한다.2. The door has a control panel with a small CPU capable of standard PKI operation and a short-range (PAN) connectivity method for talking to physical tokens. This embodiment assumes a Bluetooth-enabled computer similar to our standard demo statement.

3. 사용자는 그녀의 셀 폰(또는 생물학적 측정 판독기가 이용 가능한 경우 그의 고유의 생물학적 정보를 입력기)으로 PIN 번호를 신속히 입력한다. 이 신속은 하루에 한번 발생할 수 있으며, 처음으로 상기 사용자는 문을 통해 시도하고, 매 시간마다, 임의적으로 특별 SMS 메시지의 수령에 기초한다. PIN(또는 생물학적 측정)은 인증화의 제 2 요소로서(첫 번째는 전화기 상의 증명서가 된다) 그리고 물리적 액세스응용에서 이용을 위해 전화기를"안 잠금(unlocked)"로서 역할 한다.3. The user quickly enters the PIN number into her cell phone (or input his own biological information if a biometric reader is available). This swiftness can occur once a day, for the first time the user tries through the door, and every hour, based on the receipt of a special SMS message arbitrarily. The PIN (or biological measurement) acts as a second element of authentication (first being a certificate on the phone) and as "unlocked" the phone for use in physical access applications.

4. 일단 사용자가 문의 범위 내에 들어가면(블루투스의 경우 30ft), 상기 전화기와 문은 서로 인식하고 그리고 초기 인증화 및 정당화 순서를 시작한다.4. Once the user is within the range of the door (30ft for Bluetooth), the phone and the door recognize each other and start the initial authentication and justification sequence.

4.1 (선택적) 문은 블루투스를 통해 전화기로 문의 증명서를 전송함으로써 전화기로 그 자체를 정당화 한다. 전화기는 증명서를 체크하고 그리고 우리의 표준 방법(주기적으로 전화기의 아래로 전송되는 모든 문의 min-CRL은 좋은 접근이다) 중 어느 것이라도 이용하는 문을 정당화 한다. 이것은 "악한 판독기"들의 문제를해결하고 그 문이 전화기가 어떠한 정보를 포함하기 이전에 적합한 판독기라는 것을 확실히 한다.4.1 (Optional) The door justifies itself to the phone by sending the inquiry certificate to the phone via Bluetooth. The phone checks the certificate and justifies the statement using any of our standard methods (min-CRL is a good approach for all doors sent down the phone periodically). This solves the problem of "evil readers" and ensures that the door is a suitable reader before the phone contains any information.

4.2 전화기는 문에 사용자의 생물학적 미뉴티애(minutiae)를 포함하는 사용자의 증명서를 전송한다. 전화기는 또한 그것의 현재 정당성을 증명하기 위해 RTC 증거(바람직하게, 정당화-토큰, 예를 들어 정당화의 20 바이트 증거 또는 분배된 OCSP 증거이다) 를 전송한다. 상기 증거는 1997년 9월 9일 발행된 미국 특허 No. 5,666,416 의"증명서 철회 시스템"에 설명된 것과 같이, 이전에 일반적 코어스트리트(CoreStreet) 방법에서 WAN을 통해 수신되었다.4.2 The phone sends the user's certificate containing the user's biological minutiae to the door. The phone also sends RTC evidence (preferably justification-token, eg 20 bytes of justification or distributed OCSP proof) to prove its current justification. This evidence is disclosed in U.S. Patent No. As previously described in 5,666,416, "Certificate Revocation System," it was previously received over the WAN in a common CoreStreet method.

4.3 문은 일반적 RTC 유형에서 사용자의 증명서를 인증하고 정당화 한다. 상기 문은 범위(다수의 고용자들은 문 가까이에 있다)내에서 다수의(또는 심지어 전체) 전화기를 위해 이를 행한다.4.3 A statement authenticates and justifies a user's certificate in a common RTC type. The door does this for multiple (or even whole) phones in range (many employees are near the door).

5. 사용자에 문에 도달함에 따라, 이전의 단계들이 완성된다. 사용자는 문(아마 실질적 문손잡이에서) 가까이 또는 문상에 장착된 판독기 상에 그녀의 지문(또는 다른 생물학적 특징)을 스캔한다. 상기 문은 범위 내에서 모든 정당화된 증명서 내에 저장된 데이터에 대한 생물학적 미뉴티애를 매치한다. 상기 생물학적 특징이 매치되는 경우, 문은 열린다. 그렇지 않으면 문은 계속 닫혀있다.5. As the user reaches the door, the previous steps are completed. The user scans her fingerprint (or other biological feature) on a reader mounted near or on the door (perhaps in a substantial door handle). The statement matches the biological minutiae for the data stored in all justified certificates within range. If the biological characteristics match, the door is opened. Otherwise the door stays closed.

이것은 다음의 이점을 지닌다.This has the following advantages.

1. 강력한 인증화(이 실시예에서 3 요소, 더 많은 것이 가능하다)1. Strong authentication (three elements in this embodiment, more is possible)

2. 사용자(단지 문으로 걸어가서 그것을 열수 있도록 기억하기 위한 어떠한 카드 또는 PIN 넘버도 필요 없다)에게 투명하다.2. Transparent to the user (no need for any card or PIN number just remember to walk to the door and open it).

3. 실시간 철회 및 정당화3. Real time withdrawal and justification

4. 문에서 요구되는 어떠한 연결 하부구조가 없다. - 대양의 중앙에서 또는 30,000 피트에서 이것을 행할 수 있다.4. There is no connection infrastructure required for the door. You can do this in the middle of the ocean or at 30,000 feet.

5. 표준 하드웨어 및 소프트웨어 성분과 함께 설치될 수 있다.5. Can be installed with standard hardware and software components.

스텝 4.1 은 독립적인 관심의 독립적 발명이다. 그것은 어떠한 현재 알려진 해결책이 없는 알려진 문제점을 해결하기 때문이다.(예를 들어, 수비부에 의해 식별되는). 상기 구조는 연결이 되지 않은 문으로 다른 사람들의 카드/전화기로부터 및/또는 그것으로 액세스항해 여행 또는 청뢰 증거를 지님으로써 증대된다.Step 4.1 is an independent invention of independent interest. It is because it solves a known problem where there is no current known solution (eg identified by the defense). The structure is augmented by having proof of travel or request for access to and / or from other people's cards / telephones with unconnected doors.

이동 계산 자원의 보호Protection of Moving Compute Resources

당해 발명의 선호되는 실시예는 20 바이트, 지워지지 않는, 공공 "증거"에 기초한다. 20-바이트 증거들은 해싱이라 불리는 단-방향 함수를 이용하여 암호 적으로 보호된다. 상기 과정은 단순하고, 암호를 필요로 하지 않으며, 디지털 서명을 이용하지 않는다. 이러한 특징은 이 기술이, 큰 스케일 배치, 대역폭 제한 응용(예, 무선 응용), 오프라인 유효화(예, 네트워크 연결이 요구되지 않는) 에 이상적이다.The preferred embodiment of the invention is based on 20 bytes, indelible, public "evidence". The 20-byte evidence is cryptographically protected using a one-way function called hashing. The process is simple, does not require a password, and does not use digital signatures. This feature makes this technology ideal for large scale deployments, bandwidth constrained applications (e.g. wireless applications), offline validation (e.g. no network connection is required).

랩탑 도난은 대체 가격, 생산의 손실, 철회할 수 없는 손실(백업 되지 않은) 데이터, 감지성/기밀 데이터(예를 들어, 민감성 선택형 정보, 클라이언트에게 제안, 이메일, 달력, 접촉, 계류 중인 합병, 새로운 상품 IP, 전략 그리고 발진 계획, 경제적 작동 결과, 개인용 보상 정보 등)에 대한 제어의 손실, 그리고 네트워크 및 하부구조 상세점의 손실(예를 들어, 사용자 이름 및 패스워드, 다이얼-인 번호, IP 어드레스 구조, DNS 이름 집회, 그리고 주요 메일 서버)의 심각한 문제이다.Laptop theft may include replacement prices, loss of production, irreversible loss (non-backed up) data, sensitive / confidential data (e.g., sensitive optional information, suggestions to clients, emails, calendars, contacts, pending mergers, Loss of control over new commodity IPs, strategies and launch plans, economic operational results, personal compensation information, etc., and loss of network and infrastructure details (e.g. username and password, dial-in number, IP address) Structure, DNS name rally, and major mail servers) is a serious problem.

한 실시예에서, 당해 발명은 임대를 위해 제공한다. 즉 구체화된 시간 구간 동안 이용을 위한 라이센스이다. 이 때 상기 임대의 구간은 구현될 수 있는 변수 이다. 당해 발명의 기술은 유효한"임대"의 존재를 강요한다. 임대는 20 바이트의, 지워지지 않는, "공개 토큰" : 유효한 토큰, 정지 토큰, 그리고 철회 토큰이다. 새로운 임대들이 자동적으로 수신된다. 컴퓨터는 임시적으로 작동하기 않고 시스템 관리자 EH는 사용자는 랩탑을 정지시킬 수 없다. 컴퓨터는 시스템 관리자에 의해 가능한 회복과 함께 영속적으로 쓸모없게 된다. 도 8 은 당해 발명의 한 실시예에 따른 시스템 작동의 구조적 도시이다.In one embodiment, the invention provides for lease. That is, a license for use during a specified time interval. At this time, the interval of the lease is a variable that can be implemented. The techniques of this invention force the presence of a valid "rent". A lease is a 20-byte, indelible, "public token": a valid token, a suspension token, and a retraction token. New leases are automatically received. The computer will not work temporarily and the system administrator EH will not allow the user to stop the laptop. The computer becomes permanently useless with the possible recovery by the system administrator. 8 is a structural diagram of system operation in accordance with one embodiment of the present invention.

상기 장치가 여전히 인증되는 동안, 유요한 임대 토큰이 중앙 인증에 의해 하루(시간, 주 등)에 한 번 생성된다. 보호된 장치로 유효한 임대 토큰을 갖는 것은 다양한 많은 방법에서 수행될 수 있고 엔드 사용자에게 완전히 투명하다. 상기 장치가 도난당할 경우, 두 가지 일이 발생한다. : 유효한 임대 토큰이 발생되는 것을 멈춘다. 철회 토큰이 네트워크(즉시 이용할 수 없는 연결 판독기 장치)로 전파된다. 도난당한 장치들은 꺼진다. 초(최적 경우, 푸쉬 능력이 있는 경우), 시간(평균적 경우, 네트워크 연결이 이루어지자마자), 하루(최악의 경우, 어떠한 연결도 가능하지 않다)While the device is still authenticated, a valid lease token is generated once per day (time, week, etc.) by central authentication. Having a valid lease token as a protected device can be performed in many different ways and is completely transparent to the end user. If the device is stolen, two things happen. Stops generating valid lease tokens. The withdrawal token is propagated to the network (immediately unavailable connection reader device). Stolen devices are turned off. Seconds (in the best case, with push capability), time (in average, as soon as a network connection is made), and day (in the worst case, no connection is possible)

상기 시스템은 내부 사람에 의해 도난당한 것과 마찬가지로 임의의 도단에대해 보호한다. 장치를 도난 하는 것은 의미가 없다. 왜냐하면, 하드웨어는 이용할 수 없기 때문이며, 소프트웨어도 사용되지 않고, 그리고 데이터는 판독할 수 없기 때문이다. 일부 카드 라디오 브랜드와 유사하게 도난당한 경우 이용 불가능하므로 따라서 도난을 단념한다.The system protects against any theft as if stolen by an insider. Stolen your device is meaningless. This is because hardware is not available, software is not used, and data cannot be read. Similar to some card radio brands, it is not available if stolen, thus giving up theft.

유효성 토큰들은 다음의 방법으로 전송된다. 유선 네트워크, 무선 네트워크, SMS 무선 "푸쉬", 페이저 시스템, 핸드헬드 전화기/ 적외선 포트를 통한 PDA, 블루투스 장치, 수동적으로 대안 채널을 통해 수신되는 것과 같은 타입(예, "7G9L TC77 U8QL S2PS QK2Q EN9V PXXH XPUL"), 그러한 것은 팩스, 이메일, 전화를 통한 경우이다. 도 9 는 도난당한 컴퓨터 스케줄의 구조적 도시이다.Validity tokens are transmitted in the following way. Wired network, wireless network, SMS wireless "push", pager system, PDA via handheld phone / infrared port, Bluetooth device, passively received via alternative channel (eg "7G9L TC77 U8QL S2PS QK2Q EN9V PXXH" XPUL "), such as by fax, email or phone. 9 is a structural diagram of a stolen computer schedule.

대안적 보호 방법이 다음의 것을 포함하여 사용된다. 방지를 위한 물리적 닻, 회복을 위한 자산 흔적 서비스 그리고 단념, 움직임 센서, 단념으로서 움직임 센서 및 경고, 단념으로서 액세스키, 그리고 액세스제어, 단념으로서 그리고 회복을 위한 소프트웨어 트래킹, 그리고 데이터만을 보호하는 데이터 암호화 이다. 가능한 공격 및 결과들은Alternative protection methods are used, including the following. Physical anchor for prevention, asset trail service for recovery and dismissal, motion sensor, motion sensor and warning as disclaimer, access key as disclaimer, and software tracking for access control, disclaimer and recovery, and data encryption to protect data to be. Possible attacks and consequences

소프트웨어를 제거하는 것/포위하는 것 : "관리 특권"을 지니는 경우 그러나 철회 이후에는 매우 어렵다. 선택적 BIOS/하드웨어 대책은 거의 100% 보안을 제공한다.Removing / Surrounding the Software: Having "Administrative Privileges" But very difficult after revocation. Optional BIOS / hardware countermeasures provide nearly 100% security.

대체/재구성 하드 드라이브: 모든 보안 데이터가 손실되고 그리고 선택적 BIPS/하드웨어는 드라이브 대체를 방지하기 위해 훅(hook)한다.Replace / Rebuild Hard Drive: All secure data is lost and optional BIPS / Hardware hooks to prevent drive replacement.

데이터를 읽기 위한 또 다른 기계로 하드 드라이브의 이동: 데이터는 암호화될 수 있다.Moving the hard drive to another machine for reading data: The data can be encrypted.

철회 토큰의 수령의 방지 : 임대가 끝날 때까지만 랩탑 작동을 연장한다.Prevent receipt of withdrawal tokens: Extend laptop operation until the end of the lease.

Claims (21)

현재 시간을 결정하기 위한 수단을 지닌 하나 이상의 연결되지 않은 문 D로 한 명 이상의 사용자 U의 접근을 제어하기 위한 엔티티 A를 위한 방법으로서,A method for entity A for controlling the access of one or more users U to one or more unconnected doors D with means for determining the current time, - 일련의 날짜의 각 시간 구간 d 를 위해, A 는 디지털 서명 SIGUDd를 생산하고, 사용자 U가 시간 구간 d 동안 문 D로 액세스할 수 있는 것을 표시하며,For each time interval d of a series of dates, A produces a digital signature SIGUDd, indicating that user U can access door D during time interval d, - U가 D를 통해 패스하도록 문 D로 표현을 위해 시간 구간 d 동안 SIGUDd를 수신하도록 하고,Receive a SIGUDd during time interval d for representation by statement D so that U passes through D, - U 가 문 D 로 SIGHDd를 표현하게 하며, 그리고U causes S to represent SIGHDd in statement D, and - (ⅰ) SIGUDd가 U가 시간 구간 d에서 문 D에 액세스할 수 있음을 표시하는 A의 디지털 서명이고, (ⅱ) 현재 시간이 시간 구간 d 이내인 것을 확인한 후에 D가 오픈하도록 하는(I) SIGUDd is a digital signature of A indicating that U can access door D in time interval d, and (ii) allowing D to open after confirming that the current time is within time interval d. 단계를 포함하는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.And a step for said entity A. 제 1 항에 있어서, 이 때 사용자 U는 사용자 카드를 지니고 그리고 D는 전자기계적 잠금과 결합된 카드 판독기를 지니며, 이 때 U는 그것을 그의 카드에 저장함으로써 SIGUDd를 수신하고 그리고 D가 그의 카드 판독을 D의 카도 판독기에 의해 함으로써 D로 SIGUDd를 표기하는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.The method of claim 1, wherein user U has a user card and D has a card reader coupled with an electromechanical lock, where U receives SIGUDd by storing it on his card and D read his card. And denotes SIGUDd by D by means of a card reader of D. 제 1 항에 있어서, 이 때 U에 의해 접근이 가능한 데이터베이스로 SIGUDd를포스팅(posting) 함으로써 시간 구간 d 동안 A는 SIGUDd가 U에 의해 수신되도록 하는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.The method of claim 1, wherein A posts SIGUDd to a U-accessible database so that A during time interval d causes SIGUDd to be received by U. 7. 제 1 항에 있어서, 이 때, SIGUDd 는 공개 키 서명이고, 그리고 이 때 D 는 A의 공개-키를 저장하는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.2. The method of claim 1 wherein SIGUDd is a public key signature, and wherein D stores A's public-key. 제 1 항에 있어서, 이 때 D는 또한 U에 관한 식별 정보를 증명하는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.Method according to claim 1, wherein D also proves identification information about U. 제 1 항에 있어서, 이 때 U에 관한 식별 정보는 D의 도전에 대한 대답과 PIN 중의 하나 이상으로 구성되는 것을 특징으로 하는 상기 엔티티 A를 위한 방법.2. The method of claim 1 wherein the identification information about U consists of one or more of an answer to a challenge of D and a PIN. 엔티티 A, 하나 이상의 연결이 되지 않은 문, 문에 접근하기 위한 사용자 카드를 소유한 사용자를 지닌 액세스제어 시스템에서,In an access control system with entity A, one or more disconnected doors, a user who owns a user card to access the door, 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지 않은 문 D를 위한 방법으로서,A method for an unconnected statement D to indicate to A that an attempt by a given user U to access D, - U가 문 D에 접근하기를 원하는 것을 표시하는 정보 IU를 U로부터 수신하고,Receive an information IU from U indicating that U wants to access door D, -D가 일시적으로 IU를 저장하도록 하며, 그리고,-D temporarily stores the IU, and - 한 명 이상의 다음 사용자 V 를 위해, D는 V가 엔티티 A로 표현을 위해 V의 카드 내의 IU를 일시적으로 저장하도록 하는For one or more subsequent users V, D causes V to temporarily store the IU in V's card for representation as entity A. 단계를 포함하는 것을 특징으로 하는 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지 않은 문 D를 위한 방법.A method for an unconnected statement D to indicate to A that an attempt to access D by a given user U characterized in that it comprises a step. 제 7 항에 있어서, 이 때 V 는 A에 의해 액세스 가능한 데이터베이스로 IU를 이동함으로써 또는 A로 정보를 발송함으로써 A에 IU를 표현하는 것을 특징으로 하는 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지 않은 문 D를 위한 방법.8. A given user U attempts to access D according to claim 7, wherein V represents the IU to A by moving the IU to a database accessible by A or by sending information to A. Method for statement D that is not connected for marking on. 제 7 항에 있어서, 이 때 IU 는 (ⅰ) 문 D에 접근하기 위해 U로 제공되는 정보 및 (ⅱ) D에 접근하기 위해 U에 의해 발생되는 정보 중 하나 이상을 포함하는 것을 특징으로 하는 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지 않은 문 D를 위한 방법.8. The given system of claim 7, wherein the IU comprises at least one of (i) information provided to U to access statement D and (ii) information generated by U to access D. A method for an unconnected statement D to indicate to user A an attempt to access D by user U. 제 7 항에 있어서, 이 때 IU는 U에 의해 발생되는 디지털 서명을 포함하는 것을 특징으로 하는 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지 않은 문 D를 위한 방법.8. The method of claim 7, wherein the IU includes a digital signature generated by U, wherein a given user U is not connected to indicate to A an attempt to access D. 제 7 항에 있어서, 이 때 IU 는 U의 디지털 서명을 포함하는 것을 특징으로 하는 주어진 사용자 U 가 D에 접근하기 위한 시도를 A에 표시하기 위해 연결되지않은 문 D를 위한 방법.8. The method of claim 7, wherein the IU includes a digital signature of U, wherein a given user U is not connected to indicate to A an attempt to access D. 물리적 접근을 제어하기 위한 방법으로서,As a method for controlling physical access, - 실시간 증명서를 재조사 하고, 이 때 상기 실시간 증명서는 고정된 제 1 부분 그리고 주기적 기저 상에 수정된 제 2 부분을 포함하고, 이 때 상기 제 2 부분은 실시간 증명서가 현재라는 증명을 제공하며,Review the real-time certificate, wherein the real-time certificate includes a fixed first portion and a modified second portion on a periodic basis, wherein the second portion provides proof that the real-time certificate is current, - 상기 제 1 부분 상의 작동을 수행함으로써 실시간 증명서의 정당성을 확인하고 그리고 그 결과를 상기 제 2 부분과 비교하며, 그리고,Verifying the validity of a real-time certificate by performing an operation on said first part and comparing the result with said second part, and - 상기 실시간 증명서가 유효하다고 확인 되는 경우에만 물리적 접근을 허용하는Physical access only if the real-time certificate is verified to be valid 단계를 포함하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.And controlling the physical access. 제 12 항에 있어서, 이 때 상기 제 1 부분은 인증에 의해 디지털로 서명되는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.13. The method of claim 12 wherein the first portion is digitally signed by authentication. 제 13 항에 있어서, 이 때 사기 인증은 상기 제 2 부분을 제공하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.14. The method of claim 13 wherein fraud authentication provides the second portion. 제 14 항에 있어서, 이 때 상기 제 2 부분은 인증이 아닌 엔티티에 의해 제공되는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.15. The method of claim 14 wherein the second portion is provided by an entity other than an authentication. 제 12 항에 있어서, 이 때 상기 실시간 증명서는 스마트카드 상에서 제공되는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.13. The method of claim 12, wherein the real time certificate is provided on a smart card. 제 12 항에 있어서, 이 때 사용자는 제 1 위치에서 실시간 증명서의 제 2 부분을 획득하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.13. The method of claim 12, wherein the user obtains a second portion of the real time credential at the first location. 제 17 항에 있어서, 이 때 상기 사용자는 상기 제 1 위치와 다른 제 2 위치로 접근을 허용하고 그리고 분리되는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.18. The method of claim 17 wherein the user is granted access to a second location different from the first location and is separated. 제 12 항에 있어서, 이 때 실시간 증명서의 제 1 부분의 부분이 상기 실시간 증명서의 제 2 부분의 부분에 다수의 횟수 적용되는 단-방향 해시를 표현하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.13. The method of claim 12, wherein the portion of the first portion of the real-time certificate represents a one-way hash that is applied a number of times to the portion of the second portion of the real-time certificate. . 제 19 항에 있어서, 이 때 상기 실시간 증명서의 제 1 부분이 발행되기 때문에 다수의 횟수는 경과된 시간의 양에 대응하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.20. The method of claim 19, wherein a number of times corresponds to the amount of time elapsed since the first portion of the real-time certificate is issued. 제 12 항에 있어서, 이 때 물리적 접근을 제어하는 것은 문을 통한 액세스제어를 포함하는 것을 특징으로 하는 물리적 접근을 제어하기 위한 방법.13. The method of claim 12 wherein controlling the physical access at this time includes access control through the door.
KR10-2004-7016075A 2002-04-08 2003-04-08 Physical access control KR20040098066A (en)

Applications Claiming Priority (25)

Application Number Priority Date Filing Date Title
US37086702P 2002-04-08 2002-04-08
US60/370,867 2002-04-08
US37295102P 2002-04-16 2002-04-16
US60/372,951 2002-04-16
US37321802P 2002-04-17 2002-04-17
US60/373,218 2002-04-17
US37486102P 2002-04-23 2002-04-23
US60/374,861 2002-04-23
US42079502P 2002-10-23 2002-10-23
US60/420,795 2002-10-23
US42119702P 2002-10-25 2002-10-25
US60/421,197 2002-10-25
US42175602P 2002-10-28 2002-10-28
US60/421,756 2002-10-28
US42241602P 2002-10-30 2002-10-30
US60/422,416 2002-10-30
US42750402P 2002-11-19 2002-11-19
US60/427,504 2002-11-19
US44340703P 2003-01-29 2003-01-29
US60/443,407 2003-01-29
US44614903P 2003-02-10 2003-02-10
US60/446,149 2003-02-10
US10/395,017 2003-03-21
US10/395,017 US7337315B2 (en) 1995-10-02 2003-03-21 Efficient certificate revocation
PCT/US2003/010748 WO2003088166A2 (en) 2002-04-08 2003-04-08 Physical access control

Publications (1)

Publication Number Publication Date
KR20040098066A true KR20040098066A (en) 2004-11-18

Family

ID=49447257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7016075A KR20040098066A (en) 2002-04-08 2003-04-08 Physical access control

Country Status (1)

Country Link
KR (1) KR20040098066A (en)

Similar Documents

Publication Publication Date Title
US9230375B2 (en) Physical access control
US7353396B2 (en) Physical access control
US10829088B2 (en) Identity management for implementing vehicle access and operation management
US8171524B2 (en) Physical access control
EP1325476B1 (en) Wireless lock system
AU2010200020B2 (en) Physical access control
US8732457B2 (en) Scalable certificate validation and simplified PKI management
JP4668551B2 (en) Personal authentication device and system and method thereof
US20040128508A1 (en) Method and apparatus for access authentication entity
US20030126438A1 (en) ABDS System and Verification Status for Authenticating Entity Access
CN101578814B (en) Account management system, base account management device, derivative account management device and program
US20030126439A1 (en) ABDS System Utilizing Security Information in Authenticating Entity Access
US20230412400A1 (en) Method for suspending protection of an object achieved by a protection device
CA3184856A1 (en) Method, participatant unit, transaction register, and payment system for managing transaction data sets
Bosworth et al. Entities, identities, identifiers and credentials—what does it all mean?
KR20040098066A (en) Physical access control
CA2814254C (en) Physical access control
US20230267426A1 (en) Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets
JP2009112015A (en) Personal authentication device and system and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application