KR102321360B1 - 디지털 인증서 취소 - Google Patents

디지털 인증서 취소 Download PDF

Info

Publication number
KR102321360B1
KR102321360B1 KR1020190119051A KR20190119051A KR102321360B1 KR 102321360 B1 KR102321360 B1 KR 102321360B1 KR 1020190119051 A KR1020190119051 A KR 1020190119051A KR 20190119051 A KR20190119051 A KR 20190119051A KR 102321360 B1 KR102321360 B1 KR 102321360B1
Authority
KR
South Korea
Prior art keywords
list
valid
request
secure device
revocation
Prior art date
Application number
KR1020190119051A
Other languages
English (en)
Other versions
KR20200035895A (ko
Inventor
마티아스 레르히
플로리안 갈도
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20200035895A publication Critical patent/KR20200035895A/ko
Application granted granted Critical
Publication of KR102321360B1 publication Critical patent/KR102321360B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • 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
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)

Abstract

디지털 인증서 취소 시스템을 구현하는 디바이스가 유효 디지털 인증서 리스트, 취소 리스트, 및 동기화 카운터 값을 유지하도록 구성된 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로세서는, 유효 디지털 인증서 리스트를 전자 디바이스와 동기화하라는 요청을 송신하도록 - 이 요청은 유효 디지털 인증서 리스트 및 취소 리스트를 포함함 - 구성된다. 적어도 하나의 프로세서는, 전자 디바이스로부터의 업데이트된 유효 디지털 인증서 리스트의 수신에 응답하여, 취소 리스트를 클리어하고, 유효 디지털 인증서 리스트를 업데이트된 유효 디지털 인증서 리스트로 대체하고, 동기화 카운터 값을 증분시키도록, 그리고 수신된 인증서 유지 요청이 증분된 동기화 카운터 값보다 크거나 그와 동일한 다른 동기화 카운터 값을 포함하는 경우에는 수신된 인증서 유지 요청을 이행하고, 그렇지 않으면, 수신된 인증서 유지 요청을 거부하도록 추가로 구성된다.

Description

디지털 인증서 취소{DIGITAL CREDENTIAL REVOCATION}
관련 출원의 상호 참조
본 출원은, 발명의 명칭이 "디지털 인증서 취소(Digital Credential Revocation)"이고 2018년 9월 27일자로 출원된 미국 가특허 출원 제62/737,820호에 대한 우선권의 이점을 주장하며, 그 개시내용은 이로써 그 전체가 본 명세서에 참고로 포함된다.
기술분야
본 발명은, 대체로, 디바이스들 및/또는 서버들에 걸쳐서, 취소된 디지털 인증서들과 유효 디지털 인증서들을 동기화시키는 것을 포함한 디지털 인증서 취소에 관한 것이다.
개별 사용자는 전화기, 태블릿, 시계, 및 컴퓨터와 같은 다수의 전자 디바이스들을 소유할 수 있다. 사용자가 디바이스들 각각을 그들의 사용자 계정과 연관시킨 경우에, 상이한 디바이스들 사이에는 암묵적으로 확립되는 신뢰 관계가 있을 수 있다. 따라서, 사용자는, 정보가 신뢰받는 디바이스(예컨대, 동일한 사용자 계정과 연관된 다른 디바이스)와 공유되고 있다는 비교적 높은 정도의 확실성을 갖고서, 디바이스들에 걸쳐서 정보를 공유할 수 있다. 그러나, 그러한 신뢰 관계는 다른 사용자들의 계정들과 연관된 디바이스들에 대해 암묵적으로 확립되지 않을 수도 있다.
본 발명의 기술의 특정 특징들이 첨부된 청구항들에 제시된다. 그러나, 설명을 위해, 본 발명의 기술의 여러 실시예들이 다음 도면들에 제시된다.
도 1은 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템이 구현될 수 있는 예시적인 네트워크 환경을 도시한다.
도 2는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템에서 사용될 수 있는 예시적인 전자 디바이스를 도시한다.
도 3은 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템에서 사용될 수 있는 예시적인 보안 요소를 포함하는 예시적인 전자 디바이스를 도시한다.
도 4는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템 내의 보안 디바이스의 예시적인 프로세스의 흐름도를 도시한다.
도 5는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템 내의 전자 디바이스의 예시적인 프로세스의 흐름도를 도시한다.
도 6a 내지 도 6c는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템의 상이한 상태들에서의 보안 디바이스 내의 그리고 전자 디바이스 내의 예시적인 데이터 값들을 도시한다.
도 7은 하나 이상의 구현예들에 따른, 액세서(accessor)의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 8은 하나 이상의 구현예들에 따른, 보안 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 9는 하나 이상의 구현예들에 따른, 보안 디바이스와 연관된 서비스 제공자 서버로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 10은 하나 이상의 구현예들에 따른, 보안 디바이스와 연관된 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 11은 하나 이상의 구현예들에 따른, 페이드-아웃(fade-out) 기간을 갖지 않고서 액세서의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 12는 하나 이상의 구현예들에 따른, 페이드-아웃 기간을 갖고서 액세서의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름을 도시한다.
도 13은 하나 이상의 구현예들에 따라 본 발명의 기술의 태양들이 구현될 수 있는 예시적인 전자 시스템을 도시한다.
아래에 제시되는 발명을 실시하기 위한 구체적인 내용은 본 발명의 기술의 다양한 구성들에 대한 설명으로 의도되며 본 발명의 기술이 실시될 수 있는 유일한 구성들을 나타내는 것으로 의도되지 않는다. 첨부된 도면들은 본 명세서에 포함되고, 발명을 실시하기 위한 구체적인 내용의 일부를 구성한다. 발명을 실시하기 위한 구체적인 내용은 본 발명의 기술의 완전한 이해를 제공하는 목적을 위한 특정 세부사항들을 포함한다. 그러나, 본 발명의 기술은 본 명세서에 설명된 특정 세부사항들로 제한되지 않으며, 하나 이상의 구현예들을 사용하여 실시될 수 있다. 하나 이상의 구현예들에서, 본 발명의 기술의 개념들을 모호하게 하는 것을 회피하기 위해, 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
스마트 디바이스들이 가정 및 차량에 확산됨에 따라, 가정, 차량 등에 액세스하기 위한 물리적 키들의 사용은 시계, 전화기, 태블릿 등과 같은 전자 디바이스 상에 저장된 디지털 키들의 사용으로 바뀔 수 있다. 예를 들어, 사용자는 (예컨대, 물리적 키 대신) 그의 전화기를 사용하여 그의 집 및/또는 자동차의 출입문에 있는 자물쇠를 열 수 있다. 물리적 키들이 사용되지 않게 되는 것처럼, 다른 사람으로부터의 가정 및/또는 차량에 대한 액세스를 취소하는, 예컨대 그 사람에게 가정 및/또는 차량에 액세스하기 위한 물리적 키의 그의 사본을 인계할 것을 요청하는 전통적인 방식도 또한 사용되지 않게 될 수 있다.
디지털 키들이 종종 상대적으로 쉽게 복사될 수 있고, 이어서 원래의 유효 디지털 키로서 가정 또는 차량에 제공될 수 있으므로(디지털 키가 만료되지 않았다고 가정함), 전자 디바이스로부터 디지털 키를 제거 또는 삭제하는 것은 사람들로부터 키의 물리적 사본을 되돌려 받는 것과 동일한 보안 효과를 갖지 않을 수도 있다. 따라서, 본 발명의 시스템은 다른 사람 및/또는 디바이스에게 승인된 디지털 키들을 취소하기 위한 다양한 메커니즘들뿐만 아니라, 가정 또는 차량과 같은 보안 디바이스가 취소된 (그러나 만료되지 않은) 디지털 키를 원래의 유효 디지털 키로서 허용하지 않음을 보장하는 동기화 시스템을 제공한다.
도 1은 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템이 구현될 수 있는 예시적인 네트워크 환경(100)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
네트워크 환경(100)은 하나 이상의 전자 디바이스들(102A 내지 102C), 하나 이상의 보안 디바이스들(104A, 104B), 네트워크(106), 및 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 네트워크(106)는, 예를 들어, 보안 디바이스들(104A, 104B) 중 하나 이상을 하나 이상의 서비스 제공자 서버들(120) 및/또는 하나 이상의 전자 디바이스들(102A 내지 102C)에 통신가능하게 커플링시킬 수 있고, 전자 디바이스들(102A 내지 102C) 중 하나 이상을 하나 이상의 서비스 제공자 서버들(120) 및/또는 하나 이상의 보안 디바이스들(104A, 104B)에 통신가능하게 커플링시킬 수 있다.
전자 디바이스들(102A 내지 102C) 중 하나 이상은 네트워크(106)를 우회하는 직접 통신, 예컨대 근거리 무선 통신(near field communication, NFC)을 통해 보안 디바이스들(104A, 104B) 중 하나 이상과 통신할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스들(102A 내지 102C) 중 하나 이상은 네트워크(106)를 통해 보안 디바이스들(104A, 104B) 중 하나 이상과 통신할 수 있고/있거나, 도 1의 보안 디바이스(104A)와 같은 보안 디바이스들(104A, 104B) 중 하나 이상은 네트워크(106)에 통신가능하게 커플링되지 않을 수 있다. 하나 이상의 구현예들에서, 네트워크(106)는 인터넷을 포함하거나 인터넷에 통신가능하게 커플링될 수 있는 디바이스들의 상호접속된 네트워크일 수 있다.
보안 디바이스들(104A, 104B)은, 예를 들어, 출입문, 자물쇠 등과 같은 액세스 디바이스들에 포함되고/되거나 커플링되는 보안 디바이스들, 자동차/차량 디바이스들에 포함되고/되거나 커플링되는 보안 디바이스들, 및/또는 하나 이상의 액세스 권한들을 승인하는 데 사용될 수 있는 하나 이상의 무선 인터페이스들을 포함하는 임의의 디바이스들, 예컨대 NFC 무선통신장치, 무선 근거리통신망(wireless local area network, WLAN) 무선통신장치, 블루투스 무선통신장치, 지그비(Zigbee) 무선통신장치, 셀룰러 무선통신장치, 및/또는 다른 무선통신장치일 수 있다. 도 1에서, 예로서, 보안 디바이스들(104A, 104B)은 출입문 자물쇠와 같은 액세스 디바이스에 포함되고/되거나 커플링된 디바이스들로서 도시된다. 보안 디바이스들(104A, 104B) 중 하나 이상은 도 13과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다.
하나 이상의 서비스 제공자 서버들(120)은 보안 디바이스들(104A, 104B) 중 하나 이상 및/또는 전자 디바이스들(102A 내지 102C) 중 하나 이상에 대한 디지털 키 관리 및/또는 디지털 키 취소를 용이하게 하는 하나 이상의 서버들을 포함할 수 있다. 예를 들어, 하나 이상의 서비스 제공자 서버들(120)은 하나 이상의 신뢰받는 서비스 관리자(trusted services manager, TSM) 서버들, 하나 이상의 브로커 서버들, 하나 이상의 애플리케이션 서버들, 하나 이상의 비즈니스 백엔드 서버들 및/또는 유사한 것을 포함할 수 있다.
하나 이상의 서비스 제공자 서버들(120)은, 또한, 하나 이상의 서비스 제공자들, 예컨대 보안 디바이스들(104A, 104B) 및/또는 보안 디바이스들(104A, 104B)의 각자의 제조자들에 대응하는 서비스 제공자들과 연관될 수 있는 하나 이상의 서버 디바이스들을 포함할 수 있다. 예를 들어, 하나 이상의 서비스 제공자 서버들(120)은 전자 디바이스들(102A 내지 102C)에 제공되고/되거나 전자 디바이스들(102A 내지 120C)에 의해 공유되는 보안 디바이스들(104A, 104B) 중 하나 이상에 액세스하기 위한 디지털 키들의 기록들을 저장하도록 구성된 하나 이상의 키 추적 서버들을 포함할 수 있다. 하나 이상의 구현예들에서, 하나 이상의 서비스 제공자 서버들(120)은 네트워크(106)의 전부 또는 일부를 우회하는 텔레매틱스 통신 링크와 같은 직접 및/또는 전용 통신 링크를 통해 보안 디바이스들(104A, 104B) 중 하나 이상에 통신가능하게 커플링될 수 있다.
하나 이상의 구현예들에서, 전자 디바이스(102A 내지 102C)의 인가받은 사용자들은 하나 이상의 서비스 제공자 서버들(120)에 대응하는 서비스 제공자들 중 하나 이상에 대한 각자의 사용자 계정을 가질 수 있다. 사용자 계정들은 디바이스들 및/또는 디지털 인증서들(예컨대, 디지털 키들)을 확립하고/하거나 관리하기 위해 사용될 수 있다. 하나 이상의 서비스 제공자 서버들(120)은 도 13과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다.
전자 디바이스들(102A 내지 102C)은, 예를 들어, 랩톱 컴퓨터, 스마트폰, 주변 디바이스(예컨대, 디지털 카메라, 헤드폰), 태블릿 디바이스, 웨어러블 디바이스(예컨대, 시계, 밴드 등)와 같은 휴대용 컴퓨팅 디바이스들, 또는 하나 이상의 NFC 무선통신장치들, WLAN 무선통신장치들, 블루투스 무선통신장치들, 지그비 무선통신장치들, 셀룰러 무선통신장치들, 및/또는 다른 무선 통신장치들과 같은, 하나 이상의 무선 인터페이스들을 포함하는 다른 적절한 디바이스들일 수 있다. 도 1에서, 예로서, 전자 디바이스들(102A 내지 102C)은 모바일 디바이스들로서 도시되어 있다. 전자 디바이스들(102A 내지 102C) 중 하나 이상은 도 2 및 도 3과 관련하여 이하에서 논의되는 전자 디바이스, 및/또는 도 13과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그들의 전부 또는 일부를 포함할 수 있다.
하나 이상의 구현예들에서, 전자 디바이스들(102A 내지 102C) 중 하나 이상, 예컨대 전자 디바이스(102A)는 보안 디바이스들(104A, 104B) 중 하나 이상과 페어링되고/되거나 연관될 수 있다. 예를 들어, 보안 디바이스들(104A, 104B)의 소유자(또는 인가받은 주 사용자)는 그들의 전자 디바이스, 예컨대, 소유자 전자 디바이스(102A)(또는 소유자 디바이스)를 보안 디바이스들(104A, 104B)과 페어링시킬 수 있다. 페어링 프로세스는 보안 디바이스들(104A, 104B)(및/또는 서비스 제공자 서버들(120) 중 하나 이상)이, 보안 디바이스들(104A, 104B)에 제공되는 액세스 커맨드들에 서명하기 위해 전자 디바이스(102A)에 의해 사용될 수 있는 하나 이상의 비밀 키들을 전자 디바이스(102A)에 제공하는 것을 포함할 수 있다. 이러한 방식으로, 보안 디바이스들(104A, 104B)은 액세스 커맨드들이 전자 디바이스(102A)에 의해 발행되었음을 확인할 수 있다.
전자 디바이스(102A)는, 또한, 보안 디바이스들(104A, 104B)(및/또는 서비스 제공자 서버들(120) 중 하나 이상)에 의해 제공되는 비밀 키들을 사용하여, 하나 이상의 디지털 인증서들(예컨대, 디지털 키들)을 전자 디바이스들(102B, 102C) - 이들은 이어서 하나 이상의 액세서 전자 디바이스들(102B, 102C)로 지칭될 수 있음 - 중 하나 이상과 공유할 수 있다. 전자 디바이스(102A)는, 또한, 예컨대 디지털 인증서들과 연관된 만료 시간 이전에, 전자 디바이스들(102B, 102C) 중 하나 이상과 공유된 하나 이상의 디지털 인증서들(예컨대, 디지털 키들)을 취소할 수 있다. 디지털 인증서들은, 예를 들어, 소유자 전자 디바이스(102A)로부터, 액세서 전자 디바이스들(102B, 102C) 중 하나 이상으로부터, 보안 디바이스들(104A, 104B) 중 하나 이상으로부터, 그리고/또는 서비스 제공자 서버들(120) 중 하나 이상으로부터 취소될 수 있다. 디지털 인증서들을 취소하기 위한 예시적인 데이터 흐름들이 도 7 내지 도 12와 관련하여 아래에서 추가로 논의된다.
디지털 인증서들이 만료 이전에 전자 디바이스들(102A 내지 102C) 중 하나 이상으로부터 그리고/또는 서비스 제공자 서버들(120) 중 하나 이상으로부터 취소될 수 있으므로, 임의의 그러한 취소의 표시는, 예컨대 취소된 디지털 인증서들(및/또는 대응하는 식별자들)을 포함하지 않는 업데이트된 유효 디지털 인증서 리스트의 형태로, 보안 디바이스들(104A, 104B)에 전파되어야 한다. 이와 관련하여, 보안 디바이스들(104A, 104B)은, 또한, 취소된 디지털 인증서(또는 그의 사본)가 보안 디바이스들(104A, 104B)에 액세스하는 데 사용되지 않음을 보장하기 위해, 취소된 디지털 인증서들(및/또는 대응하는 식별자들)의 취소 리스트를 유지할 수 있다. 그러나, 디지털 인증서들이 그들의 만료 시간 이전에 취소될 수 있으므로, 보안 디바이스들(104A, 104B)은 유효 디지털 인증서와 그의 만료 시간 이전에 취소된 디지털 인증서 사이를 구별하지 못할 수도 있다. 따라서, 전자 디바이스(102A)가 (디지털 인증서가 취소된 이후에, 그러나 디지털 인증서의 만료 시간 이전에) 디지털 인증서의 사본을 유지하는 경우에, 전자 디바이스(102A)는 디지털 인증서를 사용하여 보안 디바이스들(104A, 104B) 중 하나 이상에 부적절하게 액세스할 수 있다.
따라서, 본 발명의 시스템은 소유자 전자 디바이스(102A) 및 대응하는 보안 디바이스들(104A, 104B)에 의해 개별적으로 유지되는 동기화 카운터 값을 구현한다. 동기화 카운터 값은 보안 디바이스들(104A, 104B)이 소유자 전자 디바이스(102A)와 동기화할 때마다(예컨대, 그리고, 업데이트된 유효 디지털 인증서 리스트들을 수신할 때마다) 증분된다. 이어서, 소유자 전자 디바이스(102A)는 임의의 새롭게 공유된(또는 발행된) 디지털 인증서들과 함께 동기화 카운터 값을 제공할 수 있는데, 이 값은, 이어서, 디지털 인증서들이 먼저 보안 디바이스들(104A, 104B)에 제시될 때 보안 디바이스들(104A, 104B)에 제공될 수 있다. 보안 디바이스들(104A, 104B)은 수신된 동기화 카운터 값을 그들의 로컬 동기화 카운터 값과 비교할 수 있고, 그 비교에 적어도 부분적으로 기초하여, 디지털 인증서를 허용할지의 여부를 결정할 수 있다. 이러한 방식으로, 가장 최근의 동기화 이전에 발행되었던 디지털 인증서들은 (예컨대, 로컬 동기화 카운터 값보다) 더 낮은 동기화 카운터 값을 가질 것이고, 따라서 허용되지 않을 것이다.
본 발명의 시스템 내의 보안 디바이스의 예시적인 프로세스가 도 4와 관련하여 아래에서 추가로 논의되고, 본 발명의 시스템 내의 소유자 전자 디바이스(102A)의 예시적인 프로세스가 도 5와 관련하여 아래에서 추가로 논의된다. 본 발명의 시스템의 상이한 상태들에서의 예시적인 동기화 카운터 값들이 도 6과 관련하여 아래에서 추가로 논의된다.
도 2는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템에서 사용될 수 있는 예시적인 전자 디바이스(102A)를 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다. 하나 이상의 구현예들에서, 예시적인 전자 디바이스(102A)의 하나 이상의 컴포넌트들은 전자 디바이스들(102B, 102C) 및/또는 보안 디바이스들(104A, 104B) 중 하나 이상에 의해 구현될 수 있다.
전자 디바이스(102A)는 호스트 프로세서(202), 메모리(204), 무선 인터페이스(206), 및 보안 요소(208)를 포함할 수 있다. 설명의 목적을 위해, 전자 디바이스(102A)는 보안 요소(208)를 포함하는 것으로 도시되고; 전자 디바이스(102A)는, 보안 요소(208) 대신에 또는 그에 더하여, 보안 엔클레이브 프로세서(secure enclave processor)를 포함할 수 있다.
보안 요소(208)는, 예컨대 하나 이상의 단일 와이어 프로토콜(single wire protocol, SWP) 접속들 및/또는 임의의 다른 데이터 접속을 통해, 무선 인터페이스(206) 및/또는 호스트 프로세서(202)에 (직접적으로 또는 간접적으로) 통신가능하게 커플링시키기 위한 하나 이상의 인터페이스들을 포함할 수 있다. 보안 요소(208)는 본 명세서에서 애플릿들(210A 내지 210N)로 지칭될 수 있는 하나 이상의 서비스 제공자 애플릿들(210A 내지 210N)을 포함할 수 있다. 하나 이상의 구현예들에서, 보안 요소(208)의 운영 체제 및/또는 실행 환경은 JAVA 기반 운영 체제 및/또는 JAVA 기반 실행 환경일 수 있고, 애플릿들(210A 내지 210N)은 JAVA 기반 애플릿들일 수 있다. 다른 구현예들에서, 다른 운영 시스템들, 언어들, 및/또는 환경들이 구현될 수 있다. 하나 이상의 애플릿들(210A 내지 210N)에 더하여, 보안 요소(208)는, 또한, 보안 애플릿, 레지스트리 애플릿 등과 같은, 다른 동작들을 수행하기 위한 하나 이상의 추가 애플릿들을 포함할 수 있다.
애플릿들(210A 내지 210N)은, 부분적으로 서비스 제공자 서버들(120) 중 하나 이상, 예컨대 신뢰받는 서비스 관리자 서버 및/또는 브로커 서버에 의해 보안 요소(208) 상에 프로비저닝될 수 있다. 예를 들어, 신뢰받는 서비스 관리자 서버 및/또는 브로커 서버는 네트워크(106)를 통해 전자 디바이스(102A)에 프로비저닝 스크립트를 송신할 수 있다. 일부 구현예들에서, 전자 디바이스(102A)의 호스트 프로세서(202)는 스크립트를 수신할 수 있고, 스크립트를 보안 요소(208)에 제공하되, 예컨대 무선 인터페이스(206)를 통해 그리고/또는 직접적으로 보안 요소(208)에 제공할 수 있다. 보안 요소(208)는 글로벌플랫폼(GlobalPlatform) 프레임워크에 내재하는 하나 이상의 보안 메커니즘들과 같은, 수신된 스크립트를 검증하기 위한 하나 이상의 보안 메커니즘들을 수행할 수 있고, 이어서 수신된 스크립트를 실행할 수 있다. 보안 요소(208)에 의한 스크립트의 실행은 애플릿들(210A 내지 210N) 중 하나 이상이 보안 요소(208) 상에 프로비저닝되게 할 수 있다.
하나 이상의 구현예들에서, 애플릿들(210A 내지 210N) 중 하나 이상은 보안 디바이스들(104A, 104B) 중 하나 이상과 연관된 서비스 제공자에 대응할 수 있다. 예를 들어, 애플릿(210A)은 출입문 자물쇠 또는 차량의 제조자와 같은, 보안 디바이스(104A)와 연관된 서비스 제공자에 대응할 수 있다. 이러한 경우에, 보안 디바이스(104A)와 연관된 동기화 카운터들, 유효 디지털 인증서 리스트들, 비밀 키들, 공개 키들, 및/또는 증명 데이터(attestation data) 아이템들은 애플릿(210A)과 함께 보안 요소(208) 상에 저장될 수 있다. 또한, 보안 디바이스(104A)는 보안 디바이스 동기화 카운터, 보안 디바이스 유효 디지털 인증서 리스트, 보안 디바이스 취소 리스트, 및/또는 보안 디바이스 최종 동기화 시간을 저장하는 보안 요소를 포함할 수 있다.
무선 인터페이스(206)는 무선 통신을 송신/수신하기 위한 하나 이상의 안테나들 및 하나 이상의 송수신기들을 포함할 수 있다. 무선 인터페이스(206)는 호스트 프로세서(202) 및/또는 보안 요소(208)에 커플링시키기 위한 하나 이상의 인터페이스들, 예컨대 단일 와이어 프로토콜 인터페이스를 추가로 포함할 수 있다.
하나 이상의 구현예들에서, 무선 인터페이스(206)는 NFC-A(또는 타입 A), NFC-B(또는 타입 B), NFC-F(또는 타입 F 또는 FeliCA), 및/또는 ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 15693과 같은 하나 이상의 상이한 NFC 통신 프로토콜들을 통해 통신할 수 있는 NFC 제어기일 수 있다. NFC-A 프로토콜은 ISO/IEC 14443A에 기초할 수 있고, 예를 들어, 100% 진폭 변조와 함께 밀러 비트 코딩(Miller bit coding)을 사용할 수 있다. NFC-B 프로토콜은 ISO/IEC 14443B에 기초할 수 있고, 예를 들어, 10% 변조와 함께 맨체스터 인코딩(Manchester encoding)의 변형들을 사용할 수 있다. NFC-F 프로토콜은 FeliCA JIS X6319-4에 기초할 수 있고, 예를 들어, NFC-B 프로토콜과는 약간 상이한 변형의 맨체스터 코딩을 사용할 수 있다.
보안 디바이스들(104A, 104B) 중 하나 이상은 전자 디바이스(102A)와 유사한 무선 통신 능력들을 포함할 수 있다. 예를 들어,보안 디바이스(104A)는 NFC-A 프로토콜, NFC-B 프로토콜, NFC-F 프로토콜, 블루투스 프로토콜, 블루투스 저에너지 프로토콜, 지그비 프로토콜, Wi-Fi 프로토콜, 또는 일반적으로 임의의 통신 프로토콜 중 하나 이상을 통해 전자 디바이스들(102A, 102B) 중 하나 이상과 통신하기 위한 하나 이상의 안테나들 및/또는 송수신기들을 포함할 수 있다. 하나 이상의 구현예들에서, 보안 디바이스들(104A, 104B) 중 하나 이상은 NFC 판독기와 같은 무선 판독기를 포함할 수 있다.
호스트 프로세서(202)는 전자 디바이스(102A)의 프로세싱 데이터 및/또는 제어 동작들을 가능하게 하는 적합한 로직, 회로부, 및/또는 코드를 포함할 수 있다. 이와 관련하여, 호스트 프로세서(202)가 전자 디바이스(102A)의 다양한 다른 컴포넌트들에 제어 신호들을 제공하는 것이 가능하게 될 수 있다. 호스트 프로세서(202)는 또한 전자 디바이스(102A)의 다양한 부분들 사이의 데이터의 전송들을 제어할 수 있다. 추가적으로, 호스트 프로세서(202)는 운영 체제의 구현을 가능하게 하거나, 그렇지 않으면 전자 디바이스(102A)의 동작들을 관리하기 위해 코드를 실행할 수 있다. 메모리(204)는 수신된 데이터, 생성된 데이터, 코드, 및/또는 구성 정보와 같은 다양한 타입들의 정보의 저장을 가능하게 하는 적합한 로직, 회로부, 및/또는 코드를 포함할 수 있다. 메모리(204)는 예를 들어 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시, 및/또는 자기 저장장치를 포함할 수 있다.
하나 이상의 구현예들에서, 호스트 프로세서(202), 메모리(204), 무선 인터페이스(206), 보안 요소(208), 및/또는 이들의 하나 이상의 부분들 중 하나 이상은 소프트웨어(예컨대, 서브루틴들 및 코드)로 구현될 수 있고/있거나, 하드웨어(예컨대, 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 필드 프로그래밍가능 게이트 어레이(Field Programmable Gate Array, FPGA), 프로그래밍가능 로직 디바이스(Programmable Logic Device, PLD), 제어기, 상태 기계(state machine), 게이트 로직(gated logic), 개별 하드웨어 컴포넌트들, 또는 임의의 다른 적합한 디바이스들)로 구현될 수 있고/있거나, 양측 모두의 조합으로 구현될 수 있다.
도 3은 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템에서 사용될 수 있는 예시적인 보안 요소(208)를 포함하는 예시적인 전자 디바이스(102A)를 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다. 설명을 위해, 보안 요소(208)가 전자 디바이스(102A)에서 구현되는 것으로 도시되어 있으나, 보안 요소(208)는 임의의 다른 전자 디바이스 상에서 구현될 수 있다.
보안 요소(208)는, 다른 컴포넌트들 중에서도, 보안 프로세서(302), RAM(304), 보안 엔진(306), 인터페이스(308), 및 비휘발성 메모리(310)를 포함할 수 있다. RAM(304)은 정적 RAM(SRAM) 및/또는 동적 RAM(DRAM) 중 하나 이상을 포함할 수 있다. 인터페이스(308)는 무선 인터페이스(206) 및/또는 호스트 프로세서(202)와 같은 디바이스 내의 하나 이상의 다른 칩들에 보안 요소(208)를 통신가능하게 커플링시킬 수 있다. 인터페이스(308)는 예를 들어, SWP 인터페이스, 범용 직렬 버스(USB) 인터페이스, 또는 일반적으로 임의의 데이터 인터페이스일 수 있다. 보안 프로세서(302)는 예를 들어, RISC(reduced instruction set computing) 프로세서, ARM(advanced RISC machine) 프로세서, 또는 일반적으로 임의의 프로세싱 회로부일 수 있다.
보안 엔진(306)은 보안 요소(208)에 대한 하나 이상의 보안 동작들을 수행할 수 있다. 예를 들어, 보안 엔진(306)은 암호화 동작들을 수행할 수 있고/있거나 암호화 키들 및/또는 인증서들을 관리할 수 있다. 하나 이상의 구현예들에서, 보안 요소(208)와 외부 디바이스, 예컨대 보안 디바이스(104A) 사이의 통신이 암호화될 수 있다. 예를 들어, NFC-F 통신의 경우, 상호 인증이 수행될 때마다 암호화 키가 동적으로 생성될 수 있다. 이러한 하나 이상의 구현예들에서, 암호화/복호화 및/또는 키 생성/관리는 모두 또는 부분적으로 보안 엔진(306)에 의해 수행될 수 있다.
비휘발성 메모리(310)는 예를 들어 플래시 메모리일 수 있고/있거나 이를 포함할 수 있다. 비휘발성 메모리(310)는, 보안 디바이스들(104A, 104B)과 연관된 동기화 카운터들, 유효 디지털 인증서 리스트들, 취소 인증서 리스트들, 비밀 키들, 공개 키들, 및/또는 증명 데이터 아이템들과 같은 애플릿들(210A 내지 210N)과 연관되고/되거나 보안 디바이스들(104A, 104B)에 대한 액세스를 공유하기 위한 실행가능 코드를 저장할 수 있다. 하나 이상의 구현예들에서, 비휘발성 메모리(310)는, 또한, 자바 실행 환경과 같은, 애플릿들(210A 내지 210N)에 대한 실행 환경을 제공하기 위해 보안 프로세서(302)에 의해 실행되는 펌웨어 및/또는 운영 체제 실행가능 코드를 저장할 수 있다. 하나 이상의 구현예들에서, 비휘발성 메모리(310) 및/또는 RAM(304)은 전자 디바이스(102A)의 보안 메모리 영역 및/또는 보안 도메인, 및/또는 보안 요소(208)의 보안 메모리 영역 및/또는 보안 도메인으로 간주될 수 있다.
하나 이상의 구현예들에서, 보안 프로세서(302), RAM(304), 보안 엔진(306), 인터페이스(308), 비휘발성 메모리(310), 및/또는 이들의 하나 이상의 부분들 중 하나 이상은 소프트웨어(예컨대, 서브루틴들 및 코드), 하드웨어(예컨대, ASIC, FPGA, PLD, 제어기, 상태 기계, 게이트 로직, 개별 하드웨어 컴포넌트들, 또는 임의의 다른 적합한 디바이스들) 및/또는 양측 모두의 조합으로 구현될 수 있다.
도 4는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템 내의 보안 디바이스(104A)의 예시적인 프로세스(400)의 흐름도를 도시한다. 설명의 목적으로, 프로세스(400)는 본 명세서에서 주로 도 1의 보안 디바이스(104A)를 참조하여 설명된다. 그러나, 보안 디바이스(104A)는 예시적인 디바이스로서 제시되고, 본 명세서에 설명되는 동작들은 임의의 적합한 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(400)는 보안 디바이스(104B), 또는 일반적으로 임의의 전자 디바이스에 의해 수행될 수 있다. 또한, 설명의 목적으로, 프로세스(400)의 동작들은 본 명세서에서 순차적으로 또는 연속적으로 발생하는 것으로 설명된다. 그러나, 프로세스(400)의 다수의 동작들은 동시에 발생할 수 있다. 또한, 프로세스(400)의 동작들은 도시된 순서로 수행될 필요가 없고/없거나, 프로세스(400)의 동작들 중 하나 이상은 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
본 발명의 시스템에서, 보안 디바이스(104A)는 보안 디바이스 유효 디지털 인증서 리스트로 지칭될 수 있는 유효 디지털 인증서 리스트, 보안 디바이스 취소 리스트로 지칭될 수 있는 취소 리스트, 및 보안 디바이스 동기화 카운터 값으로도 지칭될 수 있는 로컬 동기화 카운터 값을 유지한다(402). 유효 디지털 인증서 리스트는, 디지털 인증서들에 할당된 하나 이상의 권리들(예컨대, 하나 이상의 액세스 권한들), 및 디지털 인증서들과 연관된 임의의 만료 시간들과 함께, 보안 디바이스(10A)에 액세스하는 데 유효한 디지털 인증서들, 예컨대 디지털 키들, (및/또는 대응하는 식별자들)을 포함한다. 취소 리스트는, 예컨대 보안 디바이스(104A)의 사용자 인터페이스를 통해 취소된 디지털 인증서들, 예컨대 디지털 키들의 식별자들뿐만 아니라 디지털 인증서들과 연관된 임의의 각자의 만료 시간들을 포함한다. 하나 이상의 구현예들에서, 디지털 인증서들 중 하나 이상은 단지 단일 시간에만 등록될 수 있고, 따라서 어떠한 만료 시간들도 갖지 않을 것이며; 따라서, 임의의 그러한 디지털 인증서가 삭제되고/되거나 취소된 경우에, 새로운 디지털 인증서가 발행될 필요가 있을 것이다. 동기화 카운터 값은 보안 디바이스(104A)가 전자 디바이스(102A)와 같은 보안 디바이스(104A)의 소유자(또는 인가받은 주 사용자)의 전자 디바이스와 동기화할 때마다 증분되는 카운터 값이다.
따라서, 보안 디바이스(104A)가, 유효 디지털 인증서 리스트에 포함되어 있고 만료되지 않았고 식별자가 취소 리스트에 저장되어 있지 않은 디지털 인증서를, 예컨대 전자 디바이스(102B)로부터 수신할 때, 보안 디바이스(104A)는 디지털 인증서에 할당된 하나 이상의 권리들에 따라 액세스를 허용한다. 그러나, 보안 디바이스(104A)가, 유효 디지털 인증서 리스트에 포함되어 있지 않거나 만료되었거나 식별자가 취소 리스트에 저장되어 있는 디지털 인증서를, 예컨대 전자 디바이스(102B)로부터 수신할 때, 전자 디바이스(102B)는 액세스를 허용하지 않는다. 또한, 유효 디지털 인증서 리스트에 저장된 디지털 인증서가 취소될 때, 디지털 인증서는 취소 리스트로 이송된다. 하나 이상의 구현예들에서, 어느 하나의 리스트에 저장된 디지털 인증서가 만료될 때, 디지털 인증서는 리스트로부터 제거된다. 예시적인 유효 디지털 인증서 및 취소 리스트들, 및 예시적인 동기화 카운터 값들은 도 6a 내지 도 6c와 관련하여 아래에서 추가로 논의된다.
보안 디바이스(104A)는 그의 유효 디지털 인증서 리스트를 보안 디바이스(104A)의 대응하는 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)와 동기화시키라는 요청을 송신한다(404). 동기화 요청은 보안 디바이스(104A)의 유효 디지털 인증서 리스트 및 취소 리스트를 포함할 수 있다. 보안 디바이스(104A)는 디지털 인증서가 보안 디바이스(104A)를 통해, 예컨대 보안 디바이스(104A)의 사용자 인터페이스를 통해 취소될 때 동기화 요청을 개시할 수 있다. 하나 이상의 구현예들에서, 동기화는, 예컨대 전자 디바이스(102A) 및/또는 서비스 제공자 서버(120)를 통해 디지털 인증서가 취소될 때, 전자 디바이스(102A) 및/또는 서비스 제공자 서버(120)에 의해 개시될 수 있다.
하나 이상의 구현예들에서, 동기화 요청은 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)로 직접적으로(예컨대, NFC, 블루투스 등을 통해) 또는 간접적으로 송신될 수 있고/있거나, 요청은 서비스 제공자 서버(120)로 송신될 수 있으며, 이 서버는 그 요청을 프로세싱하고/하거나 그 요청을 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)로 포워딩할 수 있다.
요청을 송신한 것에 응답하여(404), 보안 디바이스(104A)는, 전자 디바이스(102A) 및/또는 서비스 제공자 서버(120)에서 유효한 디지털 인증서들을 열거하는 업데이트된 유효 디지털 인증서 리스트를 수신한다(406). 보안 디바이스(104A)는 그의 유효 디지털 인증서 리스트를 수신된 업데이트된 유효 디지털 인증서 리스트로 대체하고, 그의 취소 리스트를 클리어하고, 그의 로컬 동기화 카운터 값을 증분시킨다(408). 하나 이상의 구현예들에서, 보안 디바이스(104A)는 단일 원자적 트랜잭션(single atomic transaction)에서 업데이트, 클리어, 및 증분(408)을 수행할 수 있고, 따라서, 업데이트, 클리어 및 증분 각각이 성공적으로 완료되지 않는 경우에는 전체 트랜잭션이 롤백(roll back)된다.
보안 디바이스(104A)는 동기화 카운터 값을 포함하는 인증서 유지 요청을 수신할 수 있다(410). 인증서 유지 요청은, 예를 들어, 디지털 인증서를 유효 디지털 인증서 리스트에 추가하라는 요청, 및/또는 디지털 인증서를 취소하라는 요청, 예컨대, 유효 디지털 인증서 리스트로부터 디지털 인증서를 제거하고 취소 리스트에 디지털 인증서의 식별자를 추가하라는 요청일 수 있다. 예를 들어, 보안 디바이스(104A)의 소유자(또는 인가받은 주 사용자)는 그의 전자 디바이스(102A)를 사용하여, 디지털 인증서를, 이어서 보안 디바이스(104A)의 액세서로 지칭될 수 있는 다른 사용자의 전자 디바이스(102B)와 공유할 수 있다. 디지털 인증서는, 소유자의 전자 디바이스(102A)에서의 현재 동기화 카운터 값과 함께, 전자 디바이스(102B)에 제공될 수 있다. 액세서는 보안 디바이스(104A)에 액세스하기 위해, 그의 전자 디바이스(102B)를 사용하여, 디지털 키 및 동기화 카운터 값을 보안 디바이스(104A)에 제시할 수 있다.
보안 디바이스(104A)는, 수신된 동기화 카운터 값이 보안 디바이스(104A)에서의 로컬 동기화 카운터 값보다 크거나 그와 동일한지의 여부를 결정한다(412). 수신된 동기화 카운터 값이 로컬 동기화 카운터 값보다 작은 경우에(수신된 디지털 인증서가 가장 최근의 동기화 이전에 발행되었음을 의미함), 보안 디바이스(104A)는 인증서 유지 요청을 거부하고 요청을 수행하지 않는다(414). 수신된 동기화 카운터 값이 로컬 동기화 카운터 값보다 크거나 그와 동일한 경우에(수신된 디지털 인증서가 가장 최근의 동기화 이후에 발행되었음을 의미함), 보안 디바이스(104A)는 디지털 인증서를 추가하거나 취소함으로써 인증서 유지 요청을 이행한다(416).
하나 이상의 구현예들에서, 주어진 보안 디바이스(104A)에 대해 발행된 디지털 인증서들이 일반적으로 비교적 짧은 기간, 예컨대 1시간, 1일, 1주일, 1개월, 또는 1년 내에 만료되도록 설정된 경우에, 보안 디바이스(104A)가 인증서 리스트들을 저장하기에 충분한 메모리를 갖는다면, 동기화 카운터 값이 사용되지 않을 수도 있다. 이 경우에, 디지털 인증서들은 그들이 만료됨에 따라 취소 리스트로부터 제거될 수 있다. 그러나, 디지털 인증서들이, 전형적으로, 더 긴 수명들을 갖고서 발행되는 경우에, 동기화 카운터 값은 취소된 인증서들을 차단하는 데 사용될 수 있다. 하나 이상의 구현예들에서, 동기화 카운터 값은 그의 최고 값에서 롤 오버(roll over)되는 것이 아니라 차단될 수 있다. 따라서, 동기화 카운터 값이 그의 최고 값에 도달할 때, 추가 디지털 인증서들이 보안 디바이스(104A)에 대해 발행되지 않을 수 있는데, 이는, 이어서, 더 이상 클리어될 수 없는 취소 리스트에 의해서만 취소가 관리될 수 있기 때문이다.
도 5는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템 내의 전자 디바이스(102A)의 예시적인 프로세스(500)의 흐름도를 도시한다. 설명의 목적으로, 프로세스(500)는 본 명세서에서 주로 도 1 내지 도 3의 전자 디바이스(102A)를 참조하여 설명된다. 그러나, 전자 디바이스(102A)는 예시적인 디바이스로서 제시되고, 본 명세서에 설명되는 동작들은 임의의 적합한 디바이스에 의해 수행될 수 있다. 예를 들어, 프로세스(500)는 전자 디바이스들(102B, 102C) 중 하나 이상, 또는 일반적으로 임의의 전자 디바이스에 의해 수행될 수 있다. 또한, 설명의 목적으로, 프로세스(500)의 동작들은 본 명세서에서 순차적으로 또는 연속적으로 발생하는 것으로 설명된다. 그러나, 프로세스(500)의 다수의 동작들은 동시에 발생할 수 있다. 또한, 프로세스(500)의 동작들은 도시된 순서로 수행될 필요가 없고/없거나, 프로세스(500)의 동작들 중 하나 이상은 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
프로세스(500)는 보안 디바이스(104A)의 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)가 보안 디바이스 유효 인증서 리스트 및 보안 디바이스 취소 리스트를 포함하는 동기화 요청을 보안 디바이스(104A)로부터 수신할 때 시작된다(502). 하나 이상의 구현예들에서, 동기화는 전자 디바이스(102A)에 의해 개시될 수 있는데, 이 경우에 전자 디바이스(102A)는 그에 대한 요청에 응답하여 보안 디바이스 유효 디지털 인증서 리스트 및 보안 디바이스 취소 리스트를 수신할 수 있다.
전자 디바이스(102A)는 수신된 리스트들에 기초하여 그의 일차 유효 디지털 인증서 리스트를 업데이트한다(504). 예를 들어, 전자 디바이스(102A)는 전자 디바이스(102A)에 의해 공유되었고 현재 유효한 디지털 인증서들의 식별자들을 포함하는 일차 유효 디지털 인증서 리스트를 유지할 수 있다. 따라서, 전자 디바이스(102A)가 보안 디바이스(104A)로부터 취소 리스트를 수신할 때, 전자 디바이스(102A)는 (일차 유효 디지털 인증서 리스트로부터) 보안 디바이스 취소 리스트에 포함된 임의의 디지털 인증서들의 식별자들을 제거하며, 전자 디바이스(102A)는 일차 유효 디지털 인증서 리스트에 포함되지 않은 (그리고, 그에 따라, 취소되지 않은) 보안 디바이스 유효 디지털 인증서 리스트에 포함된 임의의 디지털 인증서들의 식별자들을 추가한다.
하나 이상의 구현예들에서, 동기화가 수행될 때, 전자 디바이스(102A)는, 또한, 유효 디지털 인증서 리스트 및/또는 취소 리스트를, 디지털 인증서들이 발행되고/되거나 취소될 수 있는 하나 이상의 다른 소스들, 예컨대 서비스 제공자 서버(120)로부터 수신할 수 있다. 이 경우에, 전자 디바이스(102A)는 보안 디바이스(104A)로부터 수신된 리스트들이 프로세싱되는 유사한 방식으로 상이한 소스들로부터 수신된 리스트들을 프로세싱할 수 있다. 전자 디바이스(102A)는 그의 동기화 카운터 값을 증분시키고(506), 업데이트된 일차 유효 디지털 인증서 리스트를 보안 디바이스(104A)에 제공한다(508).
도 6a 내지 도 6c는 하나 이상의 구현예들에 따른, 디지털 인증서 취소 시스템의 상이한 상태들에서의 보안 디바이스 내의 그리고 전자 디바이스 내의 예시적인 데이터 값들을 도시한다. 그러나, 도시된 모든 값들이 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 값들 또는 도면들에 도시된 것들과는 상이한 값들을 포함할 수 있다. 추가의 값들, 상이한 값들, 또는 더 적은 값들이 제공될 수 있다.
도 6a 내지 도 6c는 보안 디바이스(104A), 및 보안 디바이스(104A)의 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)를 포함한다. 전자 디바이스(102A)는 동기화 카운터 값(602A 내지 602C), 및 유효 키 리스트(604A)(이는 일차 유효 디지털 인증서 리스트로 지칭될 수 있음)를 저장한다. 보안 디바이스(104A)는 동기화 카운터 값(612A 내지 612C)(이는 보안 디바이스 동기화 카운터 값으로 지칭될 수 있음), 유효 키 리스트(614A 내지 614C)(이는 보안 디바이스 유효 디지털 인증서 리스트로 지칭될 수 있음), 취소된 키 리스트(616A 내지 616C)(이는 보안 디바이스 취소 리스트로 지칭될 수 있음), 및 최종 동기화된 날짜/시간(618A 내지 618C)을 저장한다. 도 6a 내지 도 6c에 도시된 바와 같이, 취소된 키 리스트들(616A 내지 616C)은 취소된 디지털 키들의 해시들을 저장하는데, 이는 취소된 키 리스트들(616A 내지 616C)을 저장하는 데 필요한 메모리의 양을 감소시킬 수 있다. 또한, 보안 디바이스(104A)는, 예컨대 NFC 또는 블루투스를 통해 전자 디바이스(102A)와 빈번하게 동기화하여, 취소된 키 리스트들(616A 내지 616C)을 작게 유지할 수 있다.
도 6a에서, 전자 디바이스(102A)의 유효 키 리스트(604A) 및 동기화 카운터 값(602A)은 보안 디바이스(104A)의 유효 키 리스트(614A) 및 동기화 카운터 값(612A)과 매칭되고, 보안 디바이스(104A)의 취소된 키 리스트(616A)는 비어 있다. 따라서, 도 6a는, 예를 들어, 동기화가 발생한 직후의 상태를 표현할 수 있다.
도 6b에서, 전자 디바이스(102A)의 동기화 카운터 값(602A)은 보안 디바이스(104A)의 동기화 카운터 값(612A)과 매칭된다. 그러나, 추가 디지털 인증서들이 전자 디바이스(102A)의 유효 키 리스트(604B)뿐만 아니라 보안 디바이스(104A)의 유효 키 리스트(614B)에도 추가되었다. 또한, 다수의 디지털 인증서들이 보안 디바이스(104A)로부터 취소되었다. 따라서, 도 6b는, 예컨대 보안 디바이스(104A), 전자 디바이스(102A), 및/또는 서비스 제공자 서버(120)에 의해 동기화가 트리거되어야 하는 상태를 표현할 수 있다.
도 6c에서, 전자 디바이스(102A)의 유효 키 리스트(604A) 및 동기화 카운터 값(602A)은 보안 디바이스(104A)의 유효 키 리스트(614A) 및 동기화 카운터 값(612A)과 매칭되고, 보안 디바이스(104A)의 취소된 키 리스트(616A)는 비어 있다. 따라서, 도 6c는, 동기화가 발생하고 동기화 카운터 값들(602C, 612C)이 증분된 이후의 상태를 표현한다. 도 6c에 도시된 바와 같이, 액세서 2 및 3에 대응하는 디지털 키들(이들은 도 6b의 취소된 키 리스트(616B)에 나타내진 바와 같이 보안 디바이스(104A) 상에서 취소되었음)은 전자 디바이스(102A)의 유효 키 리스트(604C)로부터 제거되고, 이러한 유효 키 리스트는, 이어서, 동기화 동안에 보안 디바이스(104A)에 제공되고, 유효 키 리스트(614C)로서 사용된다.
도 7은 하나 이상의 구현예들에 따른, 액세서의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(700)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(700)은 서비스 제공자 서버(120), 및 디지털 키가 취소되고 있는 전자 디바이스(102A)를 포함한다. 데이터 흐름(700)에서, 서비스 제공자 서버(120)는 취소되고 있는 디지털 키를 포함하는 취소 디지털 키 커맨드를 전자 디바이스(102A)로 송신한다. 전자 디바이스(102A)는, 예컨대 디지털 키를 취소된 것으로 마킹하고, 이에 의해, 디지털 키를 그것이 사용될 수 없는 상태에 놓음으로써, 보안 요소(208) 내의 디지털 키를 동결시킨다. 전자 디바이스(102A)의 보안 요소(208) 상의 대응하는 애플릿(210A)은 연관된 우편함들(예컨대, 개인 및 공공)을 클리어하고, 전자 디바이스(102A)는 보안 요소(208)가, 키가 동결/취소되었음을 증명하는 취소 증명을 제공할 것을 요청한다. 하나 이상의 구현예들에서, 취소 증명은 취소된 키 및/또는 취소된 키에 대응하는 비밀 키를 사용하여 한번 서명될 수 있다.
전자 디바이스(102A)는 취소 증명을 서비스 제공자 서버(120)로 송신한다. 서비스 제공자 서버(120)는, 예컨대 취소된 키를 사용함으로써, 취소 증명 서명의 진위를 검증하고, 서비스 제공자 서버(120)는, 예컨대 키 추적 서버(KTS)에, 키 취소를 기록한다. 이어서, 서비스 제공자 서버(120)는 디지털 키를 삭제하라는 커맨드를 전자 디바이스(102A)로 송신한다. 전자 디바이스(102A)는 커맨드를 수신하고, 보안 요소(208)로부터 디지털 키를 삭제하고, 서비스 제공자 서버(120)에 삭제 확인을 송신한다.
도 8은 하나 이상의 구현예들에 따른, 보안 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(800)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(800)은 전자 디바이스들(102A, 102B), 보안 디바이스(104A), 및 키 추적 서버(820A) 및 비즈니스 백엔드 서버(820B)를 포함하는 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 데이터 흐름(800)에서, 액세서의 디지털 인증서가 보안 디바이스(104A)로부터 취소된다. 예를 들어, 보안 디바이스(104A)의 소유자 및/또는 인가받은 주 사용자는 보안 디바이스(104A)의 사용자 인터페이스를 통해 액세서의 디지털 키를 취소할 수 있고, 이는 보안 디바이스(104A)로부터 디지털 키를 제거한다. 하나 이상의 구현예들에서, 디지털 키가 안전성-페이드-아웃(safety-fade-out) 정책 - 이 정책에서 디지털 키는 즉시 삭제되는 것이 아니라 다수의 단계들에서 시간 경과에 따라 그의 가용성이 다운그레이드됨 - 을 구현할 때, 페이드-아웃 정책은 디지털 키가 보안 디바이스(104A)로부터 제거되기 전에 완료된다.
보안 디바이스(104A)는 디지털 키가 취소되었음을 하나 이상의 서비스 제공자 서버들(120)에게 통지한다. 예를 들어, 보안 디바이스(104A)는 셀룰러 데이터 접속을 통해, 전용 링크(예컨대, 텔레매틱스 링크(telematics link))를 통해, 그리고/또는 전자 디바이스(102A)와 같은 전자 디바이스에 통신가능하게 커플링하고 전자 디바이스의 네트워크 접속을 활용함으로써, 하나 이상의 서비스 제공자 서버들(120)에게 통지할 수 있다. 비즈니스 백엔드 서버(820B)는 통지를 수신하고, 디지털 키를 보안 디바이스(104A)에서 삭제된 것으로 마킹하라는 커맨드를 키 추적 서버(820A)로 송신한다. 비즈니스 백엔드 서버(820B)는 소유자의 전자 디바이스(102A)에게 통지하고, 이 소유자는 그의 사용자 인터페이스로부터 디지털 키를 제거하고, 취소 증명 요청을 액세서의 전자 디바이스(102B)로 (예컨대, 도 7에서 전술된 방식으로) 전송한다.
액세서의 전자 디바이스(102B)는 디지털 키를 (예컨대, 도 7에서 전술된 방식으로) 동결 및 취소하고, 취소 증명을 소유자의 전자 디바이스(102A)로 전송한다. 소유자의 전자 디바이스(102A)는 취소 증명을 비즈니스 백엔드 서버(820B)로 포워딩하고, 이 서버는 디지털 키를 액세서의 전자 디바이스(102B)에서 삭제된 것으로 마킹하라는 커맨드를 키 추적 서버(820A)로 전송한다. 이어서, 비즈니스 백엔드 서버(820B)는, 디지털 키가 (키 추적 서버(820A)에서) 전자 디바이스(102B)로부터 삭제된 것으로 마킹되었을 때 소유자의 전자 디바이스(102A)에게 통지한다. 이어서, 전자 디바이스(102A)는 그의 보안 요소로부터 동결된 디지털 키를 삭제하라는 삭제 커맨드를 전자 디바이스(102B)로 전송한다.
도 9는 하나 이상의 구현예들에 따른, 보안 디바이스와 연관된 서비스 제공자 서버로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(900)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(900)은 컴퓨팅 디바이스(902), 전자 디바이스들(102A, 102B), 보안 디바이스(104A), 및 키 추적 서버(820A) 및 비즈니스 백엔드 서버(820B)를 포함하는 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 데이터 흐름(900)에서, 보안 디바이스(104A)의 소유자 또는 인가받은 주 사용자는 컴퓨팅 디바이스(902)를 사용하여, 서비스 제공자에 대한 계정에 로그인하고, 예컨대 웹 브라우저를 사용함으로써, 특정 액세서의 디지털 키를 제거한다. 비즈니스 백엔드 서버(820B)는, 예컨대 네트워크 접속 디바이스를 통해 통신가능하게 커플링함으로써, 또는 셀룰러 접속을 통해, 또는 전용 링크(예컨대, 텔레매틱스 링크)를 통해, 디지털 키를 제거하라는 커맨드를 보안 디바이스(104A)로 송신한다. 데이터 흐름(900)의 나머지 단계들은 데이터 흐름(800)에 대해 전술되어 있다.
도 10은 하나 이상의 구현예들에 따른, 보안 디바이스와 연관된 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(1000)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(1000)은 전자 디바이스들(102A, 102B), 보안 디바이스(104A), 및 키 추적 서버(820A) 및 비즈니스 백엔드 서버(820B)를 포함하는 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 데이터 흐름(1000)에서, 보안 디바이스(104A)의 소유자 또는 인가받은 주 사용자는 전자 디바이스(102A)를 사용하여, 액세서의 전자 디바이스(102B)에서의 디지털 키의 제거를 트리거한다. 전자 디바이스(102A)는 비즈니스 백엔드 서버(820B)에게 키 삭제 요청을 통지하고, 데이터 흐름(1000)의 나머지 단계들은 데이터 흐름(800)에 대해 전술되어 있다.
도 11은 하나 이상의 구현예들에 따른, 페이드-아웃 기간을 갖지 않고서 액세서의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(1100)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(1100)은 전자 디바이스들(102A, 102B), 보안 디바이스(104A), 및 키 추적 서버(820A) 및 비즈니스 백엔드 서버(820B)를 포함하는 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 데이터 흐름(1100)에서, 보안 디바이스(104A)의 액세서의 디지털 인증서는 액세서의 전자 디바이스(102B)로부터 취소된다. 예를 들어, 액세서는 전자 디바이스(102B)의 사용자 인터페이스를 사용하여 디지털 키를 취소할 수 있다. 전자 디바이스(102B)는 디지털 키를 동결 및 취소하고, 취소 증명을 보안 디바이스(104A)의 소유자(또는 인가받은 주 사용자)의 전자 디바이스(102A)로 전송한다.
소유자의 전자 디바이스(102A)는 취소 증명을 비즈니스 백엔드 서버(820B)로 포워딩하고, 이 서버는 디지털 키를 액세서의 전자 디바이스(102B)에서 삭제된 것으로 마킹하라는 커맨드를 키 추적 서버(820A)로 전송한다. 비즈니스 백엔드 서버(820B)는, 또한, 보안 디바이스(104A)로부터 디지털 키를 제거하라는 커맨드를 송신하고, 디지털 키를 보안 디바이스(104A)로부터 삭제된 것으로 마킹하라는 커맨드를 키 추적 서버로 송신한다. 비즈니스 백엔드 서버(820B)는, 디지털 키가 키 추적 서버(820A)에서 전자 디바이스(102B)로부터 삭제된 것으로 마킹되었을 때, 소유자의 전자 디바이스(102A)에게 통지한다. 전자 디바이스(102A)는 그의 보안 요소로부터 동결된 디지털 키를 삭제할 것을 전자 디바이스(102B)에게 지시하라는 삭제 커맨드를 전자 디바이스(102B)로 전송한다. 액세서의 전자 디바이스(102B)는, 프로세스가 가역적이지 않을 수 있으므로, 디지털 키를 삭제하기 전에 액세서에게 경보할 수 있다.
도 12는 하나 이상의 구현예들에 따른, 페이드-아웃 기간을 갖고서 액세서의 전자 디바이스로부터의 보안 디바이스에 대한 액세서의 디지털 인증서를 취소하기 위한 예시적인 데이터 흐름(1200)을 도시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 추가의 컴포넌트들 또는 도면에 도시된 것들과는 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 타입의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
데이터 흐름(1200)은 전자 디바이스들(102A, 102B), 보안 디바이스(104A), 및 키 추적 서버(820A) 및 비즈니스 백엔드 서버(820B)를 포함하는 하나 이상의 서비스 제공자 서버들(120)을 포함한다. 데이터 흐름(1200)에서, 보안 디바이스(104A)의 액세서의 디지털 인증서는 액세서의 전자 디바이스(102B)로부터 삭제되도록 요청되며, 이때 페이드-아웃 정책이 구현된다. 예를 들어, 액세서는 전자 디바이스(102B)의 사용자 인터페이스를 사용하여 디지털 키를 취소할 수 있다. 전자 디바이스(102B)는 보안 디바이스(104A)의 소유자의 전자 디바이스(102A)로 취소 요청을 송신하고, 전자 디바이스(102A)는 그 취소 요청을 비즈니스 백엔드 서버(820B)로 송신한다. 비즈니스 백엔드 서버(820B)는 디지털 키를 페이드-아웃 시작된 것으로 마킹하라는 커맨드를 키 추적 서버(820A)로 송신한다. 비즈니스 백엔드 서버(820B)는, 또한, 페이드-아웃 프로세스를 시작하라는 커맨드를 보안 디바이스(104A)로 송신한다. 보안 디바이스(104A)는 페이드-아웃 프로세스를 완료하고, 이어서, 도 8에 대해 위에서 논의된 바와 같이 보안 디바이스(104A)로부터 키를 삭제하는 프로세스를 시작한다.
도 13은 하나 이상의 구현예들에 따라 본 발명의 기술의 태양들이 구현될 수 있는 예시적인 전자 시스템(1300)을 도시한다. 전자 시스템(1300)은 도 1에 도시된 전자 디바이스들(102A 내지 102C) 중 하나 이상, 보안 디바이스들(104A, 104B) 중 하나 이상, 및/또는 서비스 제공자 서버들(120) 중 하나 이상일 수 있고/있거나 그들의 일부일 수 있다. 전자 시스템(1300)은 다양한 타입들의 컴퓨터 판독가능 매체들 및 다양한 다른 타입들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함할 수 있다. 전자 시스템(1300)은 버스(1308), 하나 이상의 프로세싱 유닛(들)(1312), 시스템 메모리(1304)(및/또는 버퍼), ROM(1310), 영구 저장 디바이스(1302), 입력 디바이스 인터페이스(1314), 출력 디바이스 인터페이스(1306), 및 하나 이상의 네트워크 인터페이스들(1316), 또는 이들의 서브세트들 및 변형들을 포함한다.
버스(1308)는 전자 시스템(1300)의 다수의 내부 디바이스들을 통신가능하게 접속시키는 모든 시스템, 주변기기, 및 칩셋 버스들을 총괄하여 표현한다. 하나 이상의 구현예들에서, 버스(1308)는 하나 이상의 프로세싱 유닛(들)(1312)을 ROM(1310), 시스템 메모리(1304), 및 영구 저장 디바이스(1302)와 통신가능하게 접속시킨다. 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1312)은 본 발명의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 하나 이상의 프로세싱 유닛(들)(1312)은 상이한 구현예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM(1310)은 전자 시스템(1300)의 하나 이상의 프로세싱 유닛(들)(1312) 및 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 다른 한편, 영구 저장 디바이스(1302)는 판독-기록 메모리 디바이스일 수 있다. 영구 저장 디바이스(1302)는, 전자 시스템(1300)이 오프일 때에도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛일 수 있다. 하나 이상의 구현예들에서, 영구 저장 디바이스(1302)로서 (자기 또는 광 디스크 및 그의 대응하는 디스크 드라이브와 같은) 대용량 저장 디바이스가 사용될 수 있다.
하나 이상의 구현예들에서, 영구 저장 디바이스(1302)로서 (플로피 디스크, 플래시 드라이브, 및 그의 대응하는 디스크 드라이브와 같은) 제거가능한 저장 디바이스가 사용될 수 있다. 영구 저장 디바이스(1302)와 같이, 시스템 메모리(1304)는 판독-기록 메모리 디바이스일 수 있다. 그러나, 영구 저장 디바이스(1302)와는 달리, 시스템 메모리(1304)는 랜덤 액세스 메모리와 같은 휘발성 판독-기록 메모리일 수 있다. 시스템 메모리(1304)는 하나 이상의 프로세싱 유닛(들)(1312)이 런타임 시에 필요로 할 수 있는 명령어들 및 데이터 중 임의의 것을 저장할 수 있다. 하나 이상의 구현예들에서, 본 발명의 프로세스들은 시스템 메모리(1304), 영구 저장 디바이스(1302), 및/또는 ROM(1310)에 저장된다. 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1312)은 하나 이상의 구현예들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(1308)는, 또한, 입력 디바이스 인터페이스(1314) 및 출력 디바이스 인터페이스(1306)에 접속된다. 입력 디바이스 인터페이스(1314)는 사용자가 전자 시스템(1300)에 대해 정보를 통신하고 커맨드들을 선택할 수 있게 한다. 입력 디바이스 인터페이스(1314)와 함께 사용될 수 있는 입력 디바이스들은, 예를 들어, 영숫자 키보드들 및 포인팅 디바이스들("커서 제어 디바이스들"로도 지칭됨)을 포함할 수 있다. 출력 디바이스 인터페이스(1306)는, 예를 들어, 전자 시스템(1300)에 의해 생성된 이미지들의 디스플레이를 가능하게 할 수 있다. 출력 디바이스 인터페이스(1306)와 함께 사용될 수 있는 출력 디바이스들은, 예를 들어, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 가요성 디스플레이, 평판 디스플레이, 솔리드 스테이트 디스플레이, 프로젝터, 또는 정보를 출력하기 위한 임의의 다른 디바이스와 같은 프린터들 및 디스플레이 디바이스들을 포함할 수 있다. 하나 이상의 구현예들은 터치스크린과 같은, 입력 및 출력 디바이스들 양측 모두로서 기능하는 디바이스들을 포함할 수 있다. 이러한 구현예들에서, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 발화, 또는 촉각적 입력을 포함한 임의의 형태로 수신될 수 있다.
마지막으로, 도 13에 도시된 바와 같이, 버스(1308)는, 또한, 하나 이상의 네트워크 인터페이스(들)(1316)를 통해, 전자 시스템(1300)을 하나 이상의 네트워크들 및/또는 하나 이상의 네트워크 노드들, 예컨대 도 1에 도시된 전자 디바이스들(102A 내지 102F)에 커플링시킨다. 이러한 방식으로, 전자 시스템(1300)은 컴퓨터들의 네트워크(예컨대, LAN, 광역 네트워크(wide area network, "WAN"), 또는 인트라넷), 또는 네트워크들의 네트워크, 예컨대 인터넷의 일부일 수 있다. 전자 시스템(1300)의 임의의 또는 모든 컴포넌트들은 본 발명과 함께 사용될 수 있다.
전술된 바와 같이, 본 기술의 태양들은, 초청 콘텐츠 또는 사용자들이 관심을 가질 수 있는 임의의 다른 콘텐츠의 사용자들에게로의 전달을 향상시키기 위해, 다양한 소스들로부터 입수가능한 데이터의 수집 및 사용을 포함할 수 있다. 본 발명은, 일부 경우들에 있어서, 이러한 수집된 데이터가 특정 개인을 고유하게 식별하거나 또는 그와 연락하거나 그의 위치를 확인하는 데 이용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 금융 데이터, 인구통계 데이터, 위치 기반 데이터, 전화 번호들, 이메일 주소들, 트위터 ID들, 집 주소들, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록들(예컨대, 바이탈 사인(vital sign) 측정치들, 약물 정보, 운동 정보), 생년월일, 또는 임의의 다른 식별 또는 개인 정보를 포함할 수 있다.
본 발명은 본 기술에서의 그러한 개인 정보 데이터의 이용이 사용자들의 이득에 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 더 큰 관심이 있는 타깃 콘텐츠를 사용자에게 전달하는 데 이용될 수 있다. 따라서, 그러한 개인 정보 데이터의 이용은 사용자들이 전달된 콘텐츠의 계산된 제어를 가능하게 한다. 게다가, 사용자에게 이득을 주는 개인 정보 데이터에 대한 다른 이용들이 또한 본 발명에 의해 고려된다. 예를 들어, 건강 및 피트니스 데이터는 사용자의 일반적인 웰니스(wellness)에 대한 통찰력을 제공하는 데 사용될 수 있거나, 또는 웰니스 목표를 추구하기 위한 기술을 이용하여 개인들에게 긍정적인 피드백으로서 사용될 수 있다.
본 발명은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 이용을 책임지고 있는 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은, 대체로 개인 정보 데이터를 사적이고 안전하게 유지시키기 위한 산업적 또는 행정적 요건들을 충족시키거나 넘어서는 것으로 인식되는 프라이버시 정책들 및 관례들을 구현하고 지속적으로 이용해야 한다. 그러한 정책들은 사용자들에 의해 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 이용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 엔티티의 적법하며 적정한 사용들을 위해 수집되어야 하고, 이들 적법한 사용들을 벗어나서 공유되거나 판매되지 않아야 한다. 또한, 그러한 수집/공유는 사용자들의 통지된 동의를 수신한 후에 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 게다가, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 타입들의 개인 정보 데이터에 대해 조정되고, 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 연방법 및/또는 주의 법, 예컨대 미국 건강 보험 양도 및 책임 법령(Health Insurance Portability and Accountability Act, HIPAA)에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 규정들 및 정책들의 적용을 받을 수 있고 그에 따라 취급되어야 한다. 따라서, 상이한 프라이버시 관례들은 각각의 국가의 상이한 개인 데이터 타입들에 대해 유지되어야 한다.
전술한 것에도 불구하고, 본 발명은, 또한, 사용자가 개인 정보 데이터의 이용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 발명은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 광고 전달 서비스들의 경우에, 본 기술은 사용자들이 서비스를 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. 다른 예에서, 사용자들은 타깃 콘텐츠 전달 서비스들을 위한 분위기-연관된 데이터를 제공하지 않도록 선택할 수 있다. 또 다른 예에서, 사용자들은 분위기-연관된 데이터가 유지되는 시간의 길이를 제한하거나 또는 베이스라인 분위기 프로파일의 개발을 전적으로 금지하도록 선택할 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 더하여, 본 발명은 개인 정보의 액세스 또는 이용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
또한, 의도하지 않은 또는 인가되지 않은 액세스 또는 이용의 위험을 최소화하는 방식으로 개인 정보 데이터가 관리되고 처리되어야 한다는 것이 본 발명의 의도이다. 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않게 되면 데이터를 삭제함으로써 위험이 최소화될 수 있다. 추가로, 그리고 소정의 건강 관련 애플리케이션들에 적용하는 것을 비롯하여, 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 식별해제가 사용될 수 있다. 적절한 경우, 특정 식별자들(예컨대, 생년월일 등)을 제거함으로써, 저장된 데이터의 양 또는 특이성을 제어함으로써(예컨대, 주소 수준이라기보다는 오히려 도시 수준에서 위치 데이터를 수집함으로써), 데이터가 저장되는 방식을 제어함으로써(예컨대, 사용자들에 걸쳐 데이터를 집계함으로써), 그리고/또는 다른 방법들에 의해, 식별해제가 용이하게 될 수 있다.
따라서, 본 발명이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 이용을 광범위하게 커버하지만, 본 발명은, 또한, 다양한 실시예들이 그러한 개인 정보 데이터에 액세스할 필요 없이 또한 구현될 수 있다는 것을 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다. 예를 들어, 콘텐츠는, 사용자와 연관된 디바이스에 의해 요청되는 콘텐츠, 콘텐츠 전달 서비스들에 대해 이용가능한 다른 비-개인 정보, 또는 공개적으로 입수가능한 정보와 같은 비-개인 정보 데이터 또는 최소량의 개인 정보에 기초하여 선호도를 추론함으로써 선택되고 사용자들에게 전달될 수 있다.
본 발명의 범주 내의 구현예들은 하나 이상의 명령어들을 인코딩하는 유형적인(tangible) 컴퓨터 판독가능 저장 매체(또는 하나 이상의 타입들의 다수의 유형적인 컴퓨터 판독가능 저장 매체들)를 사용하여 부분적으로 또는 전체적으로 실현될 수 있다. 유형적인 컴퓨터 판독가능 저장 매체는 또한 사실상 비-일시적일 수 있다.
컴퓨터 판독가능 저장 매체는 명령어들을 실행할 수 있는 임의의 프로세싱 전자장치 및/또는 프로세싱 회로부를 포함하는 범용 또는 특수 목적 컴퓨팅 디바이스에 의해 판독, 기록, 또는 그렇지 않으면 액세스될 수 있는 임의의 저장 매체일 수 있다. 예를 들어, 제한 없이, 컴퓨터 판독가능 매체는 RAM, DRAM, SRAM, T-RAM, Z-RAM, 및 TTRAM과 같은 임의의 휘발성 반도체 메모리를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 ROM, PROM, EPROM, EEPROM, NVRAM, 플래시, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, 레이스트랙(racetrack) 메모리, FJG, 및 밀리피드(Millipede) 메모리와 같은 임의의 비휘발성 반도체 메모리를 포함할 수 있다.
또한, 컴퓨터 판독가능 저장 매체는 임의의 비-반도체 메모리, 예컨대 광 디스크 저장장치, 자기 디스크 저장장치, 자기 테이프, 다른 자기 저장 디바이스들, 또는 하나 이상의 명령어들을 저장할 수 있는 임의의 다른 매체를 포함할 수 있다. 하나 이상의 구현예들에서, 유형적인 컴퓨터 판독가능 저장 매체는 컴퓨팅 디바이스에 직접 커플링될 수 있는 반면, 다른 구현예들에서, 유형적인 컴퓨터 판독가능 저장 매체는 컴퓨팅 디바이스에, 예컨대 하나 이상의 유선 접속부들, 하나 이상의 무선 접속부들, 또는 이들의 임의의 조합을 통해, 간접 커플링될 수 있다.
명령어들은 직접 실행가능할 수 있거나, 또는 실행가능 명령어들을 개발하는 데 사용될 수 있다. 예를 들어, 명령어들은 실행가능 또는 비-실행가능 기계 코드로서, 또는 실행가능 또는 비-실행가능 기계 코드를 생성하도록 컴파일링될 수 있는 고레벨 언어에서의 명령어들로서 실현될 수 있다. 또한, 명령어들은 또한 데이터로서 실현될 수 있거나 데이터를 포함할 수 있다. 컴퓨터 실행가능 명령어들은 또한 루틴들, 서브루틴들, 프로그램들, 데이터 구조들, 객체들, 모듈들, 애플리케이션들, 애플릿들, 기능들 등을 비롯한 임의의 포맷으로 조직화될 수 있다. 당업자에 의해 인식되는 바와 같이, 명령어들의 수, 구조, 시퀀스, 및 조직화를 포함하지만 이에 제한되지 않는 상세사항들은 기초가 되는 로직, 기능, 프로세싱, 및 출력을 변경하지 않으면서 현저하게 변경될 수 있다.
위의 논의는 소프트웨어를 실행시키는 마이크로프로세서 또는 멀티-코어 프로세서들을 주로 언급하지만, 하나 이상의 구현예들은 ASIC들 또는 FPGA들과 같은 하나 이상의 집적 회로들에 의해 수행된다. 하나 이상의 구현예들에서, 그러한 집적 회로들은 회로 자체 상에 저장된 명령어들을 실행시킨다.
당업자는 본 명세서에 설명된 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 호환성을 예시하기 위해, 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 일반적으로 그들의 기능성에 관하여 전술되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있다. 다양한 컴포넌트들 및 블록들이 모두 본 발명의 기술의 범주로부터 벗어남이 없이 상이하게 배열될 수 있다(예를 들어, 상이한 순서로 배열되거나 상이한 방식으로 분할됨).
개시된 프로세스들의 임의의 특정한 순서 또는 블록들의 계층구조가 예시적인 접근법들의 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들의 특정한 순서 또는 블록들의 계층구조가 재배열될 수 있거나, 또는 모든 예시된 블록들이 수행될 수 있는 것이 이해된다. 블록들 중 임의의 것들이 동시에 수행될 수 있다. 하나 이상의 구현예들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 전술된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그래밍 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있음이 이해되어야 한다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "기지국", "수신기", "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적인 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 용어들 "디스플레이" 또는 "디스플레이하는"은 전자 디바이스 상에서 디스플레이하는 것을 의미한다.
본 명세서에서 사용되는 바와 같이, 항목들 중 임의의 것을 구분하기 위해 용어 "및" 또는 "또는"을 갖는 일련의 항목들 뒤에 오는 어구 "중 적어도 하나"는 리스트의 각각의 멤버(즉, 각각의 항목)보다는 리스트를 전체적으로 수식한다. 어구 "중 적어도 하나"는 열거된 각각의 항목 중 적어도 하나의 선택을 요구하지 않고, 오히려, 이 어구는 항목들 중 임의의 항목 중 적어도 하나, 및/또는 항목들의 임의의 조합 중 적어도 하나, 및/또는 항목들 각각 중 적어도 하나를 포함하는 의미를 허용한다. 예로서, 어구 "A, B 및 C 중 적어도 하나" 또는 어구 "A, B 또는 C 중 적어도 하나" 각각은 오직 A, 오직 B 또는 오직 C; A, B, 및 C의 임의의 조합; 및/또는 A, B, 및 C 각각의 적어도 하나를 지칭한다.
서술 문구들 "~ 하도록 구성된", "~ 하도록 작동가능한", 및 "~ 하도록 프로그래밍된"은 대상의 임의의 특정한 유형적이거나 비유형적인 변형을 암시하지 않고, 오히려 상호교환가능하게 사용되도록 의도된다. 하나 이상의 구현예들에서, 동작 또는 컴포넌트를 모니터링 및 제어하도록 구성된 프로세서는 또한 동작을 모니터링 및 제어하도록 프로그래밍되는 프로세서 또는 동작을 모니터링 및 제어하도록 동작가능한 프로세서를 의미할 수 있다. 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그래밍되거나 코드를 실행하도록 동작가능한 프로세서로서 해석될 수 있다.
일 태양, 태양, 다른 태양, 일부 태양들, 하나 이상의 태양들, 일 구현예, 구현예, 다른 구현예, 일부 구현예들, 하나 이상의 구현예들, 일 실시예, 실시예, 다른 실시예, 일부 실시예들, 하나 이상의 실시예들, 일 구성, 구성, 다른 구성, 일부 구성들, 하나 이상의 구성들, 본 발명의 기술, 발명, 본 발명, 이들의 다른 변형들 등과 같은 어구들은 편의를 위한 것이며, 이러한 어구(들)와 관련된 개시내용이 본 발명의 기술에 필수적인 것이라거나 이러한 개시내용이 본 발명의 기술의 모든 구성들에 적용되는 것을 의미하지는 않는다. 이러한 어구(들)와 관련된 개시내용은 모든 구성들 또는 하나 이상의 구성들에 적용될 수 있다. 이러한 어구(들)와 관련된 개시내용은 하나 이상의 예들을 제공할 수 있다. 일 태양 또는 일부 태양들과 같은 어구는 하나 이상의 태양들을 지칭할 수 있고 그 반대도 마찬가지이며, 이는 다른 전술한 어구들에 유사하게 적용된다.
본 명세서에서 단어 "예시적"은 "일례, 사례, 또는 예시의 역할을 하는 것"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 또는 "일례"로서 설명된 임의의 실시예는 반드시 다른 실시예들에 비해 바람직하거나 유리한 것으로 해석되어야 하는 것은 아니다. 또한, 용어 "포함한다", "갖는다" 등이 발명의 내용 또는 청구항에 사용되는 범위까지, 그러한 용어는, 청구항에서 "포함하다"가 전이 어구로서 이용되는 경우 해석되는 바와 같이, 용어 "포함하다"와 유사한 방식으로 포괄적으로 의도된다.
당업자들에게 공지되거나 추후에 알려지게 될 본 개시내용 전반에 걸쳐서 설명된 다양한 태양들의 요소들에 대한 모든 구조적 및 기능적 등가물들은 본 명세서에 참고로서 명시적으로 포함되며 청구항들에 의해 포괄되는 것으로 의도된다. 또한, 본 명세서에 개시된 어떠한 것도 그러한 개시내용이 청구항들에 명시적으로 언급되었는지 여부에 관계없이 대중에게 전용되도록 의도되는 것은 아니다. 어떠한 청구항 구성요소도, 그 구성요소가 "수단"이라는 문구를 사용하여 명시적으로 인용되지 않는 한, 또는 방법 청구항의 경우 구성요소가 "단계"라는 문구를 사용하여 인용되지 않는 한, 35 U.S.C. § 112의 제6 단락의 규정 하에서 해석되어서는 안 된다.
이전의 설명이 당업자가 본 명세서에 설명된 다양한 태양들을 실시할 수 있게 하도록 제공된다. 이러한 태양들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 태양들에 적용될 수 있다. 따라서, 청구항은 본 명세서에 예시된 태양들로 제한되는 것으로 의도되는 것이 아니라, 언어 청구항에 부합되는 전체 범주로 허용되며, 단수의 구성요소에 대한 언급은 구체적으로 그와 같이 언급되지 않는 한 "오직 하나만"을 의미하도록 의도되는 것이 아니고, 오히려 "하나 이상"을 의미하는 것으로 의도된다. 달리 구체적으로 언급되지 않는 한, 용어 "일부"는 하나 이상을 지칭한다. 남성 대명사(예를 들어, 그의)는 여성 및 중성(예를 들어, 그녀의 및 그것의)을 포함하고, 그 반대의 경우도 마찬가지이다. 표제들 및 부제목들은, 존재한다면, 오직 편의를 위해서만 사용되며 본 발명을 제한하지 않는다.

Claims (21)

  1. 보안 디바이스로서,
    메모리; 및
    적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는,
    유효 디지털 인증서 리스트(valid digital credential list), 취소 리스트(revocation list), 및 동기화 카운터 값을 유지하도록;
    상기 유효 디지털 인증서 리스트를 전자 디바이스와 동기화하라는 요청을 송신하도록 ― 상기 요청은 상기 유효 디지털 인증서 리스트 및 상기 취소 리스트를 포함함 ―;
    상기 전자 디바이스로부터, 업데이트된 유효 디지털 인증서 리스트를 수신하도록;
    상기 업데이트된 유효 디지털 인증서 리스트의 수신에 응답하여, 하나의 트랜잭션(transaction)에서, 상기 취소 리스트를 클리어(clear)하고, 상기 유효 디지털 인증서 리스트를 상기 업데이트된 유효 디지털 인증서 리스트로 대체하고, 상기 동기화 카운터 값을 증분시키도록;
    상기 클리어하는 동작, 상기 대체하는 동작, 또는 상기 증분시키는 동작 중 하나 이상이 성공적으로 완료되지 않으면 상기 하나의 트랜잭션을 롤백(roll back)하도록; 그리고
    수신된 인증서 유지 요청이 상기 증분된 동기화 카운터 값보다 크거나 그와 동일한 다른 동기화 카운터 값을 포함하는 경우에는 상기 수신된 인증서 유지 요청을 이행하도록 구성된, 보안 디바이스.
  2. 제1항에 있어서, 상기 유효 디지털 인증서 리스트는 상기 보안 디바이스에 액세스할 것을 인가받은 하나 이상의 디지털 인증서들의 하나 이상의 식별자들을 포함하고, 상기 취소 리스트는 상기 보안 디바이스에 대한 액세스가 취소된 하나 이상의 디지털 인증서들의 하나 이상의 식별자들을 포함하는, 보안 디바이스.
  3. 제2항에 있어서, 만료 시간이 상기 취소 리스트 내의 상기 하나 이상의 디지털 인증서들의 하나 이상의 식별자들 중 적어도 하나의 식별자와 연관되고, 상기 적어도 하나의 프로세서는,
    현재 시간이 상기 만료 시간과 같거나 그를 초과할 때 상기 취소 리스트 내의 하나 이상의 디지털 인증서들의 하나 이상의 식별자들 중 상기 적어도 하나의 식별자를 제거하도록 추가로 구성된, 보안 디바이스.
  4. 제2항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 보안 디바이스에 대한 액세스 권한을 전달하기 위한 비밀 키를 상기 전자 디바이스에 프로비저닝(provisioning)하는 것을 용이하게 하도록 추가로 구성된, 보안 디바이스.
  5. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 하나의 원자적(atomic) 트랜잭션에서, 상기 취소 리스트를 클리어하고, 상기 유효 디지털 인증서 리스트를 상기 업데이트된 유효 디지털 인증서 리스트로 대체하고, 상기 동기화 카운터 값을 증분시키도록 추가로 구성된, 보안 디바이스.
  6. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 디지털 인증서 식별자와 연관된 하나 이상의 액세스 권한들의 표시와 함께, 상기 디지털 인증서 식별자를 상기 유효 디지털 인증서 리스트에 추가함으로써 상기 수신된 인증서 유지 요청을 이행하도록 구성된, 보안 디바이스.
  7. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 상기 유효 디지털 인증서 리스트로부터 디지털 인증서 식별자를 제거하고 상기 디지털 인증서와 연관된 식별자를 상기 취소 리스트에 추가함으로써 상기 수신된 인증서 유지 요청을 이행하도록 구성된, 보안 디바이스.
  8. 제1항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 유효 디지털 인증서 리스트를 동기화하라는 상기 요청을 송신하기 전에, 다른 인증서 유지 요청을 수신하도록 ― 상기 다른 인증서 유지 요청은 제2 다른 동기화 카운터 값을 포함함 ―; 그리고
    상기 유효 디지털 인증서 리스트를 동기화하라는 상기 요청을 송신하기 전에, 상기 제2 다른 동기화 카운터 값이 상기 증분된 동기화 카운터 값보다 크거나 그와 동일한 경우에는 상기 다른 인증서 유지 요청을 이행하도록 추가로 구성된, 보안 디바이스.
  9. 제1항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 보안 디바이스에 액세스하라는 요청을 수신하도록 ― 상기 요청은 디지털 인증서 식별자를 포함함 ―; 그리고
    상기 디지털 인증서 식별자가 상기 유효 디지털 인증서 리스트에 저장되어 있고 상기 디지털 인증서의 식별자가 상기 취소 리스트에 저장되어 있지 않은 경우에는 상기 요청을 승인하도록 추가로 구성된, 보안 디바이스.
  10. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 피어-투-피어 접속(peer-to-peer connection)을 통해 상기 전자 디바이스로부터 상기 업데이트된 유효 디지털 인증서 리스트를 직접 수신하도록 구성된, 보안 디바이스.
  11. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 서버를 통해 상기 전자 디바이스로부터 상기 업데이트된 유효 디지털 인증서 리스트를 수신하도록 구성된, 보안 디바이스.
  12. 제1항에 있어서, 상기 보안 디바이스는 차량을 포함하거나 차량 내에 포함되는, 보안 디바이스.
  13. 방법으로서,
    보안 디바이스로부터 동기화 요청을 수신하는 단계 ― 상기 동기화 요청은 보안 디바이스 유효 인증서 리스트 및 보안 디바이스 취소 리스트를 포함함 ―;
    상기 보안 디바이스 취소 리스트에 적어도 부분적으로 기초하여 일차 유효 인증서 리스트를 업데이트하는 단계;
    동기화 카운터 값을 증분시키는 단계;
    상기 업데이트된 일차 유효 인증서 리스트를 상기 보안 디바이스에 제공하는 단계;
    전자 디바이스에 의해, 상기 보안 디바이스에 대한 하나 이상의 액세스 권한들을 디지털 인증서에 할당하라는 요청을 수신하는 단계; 및
    상기 전자 디바이스에 의해 그리고 상기 보안 디바이스에, 상기 디지털 인증서를 식별하는 증명 데이터 아이템을, 상기 동기화 카운터 값 및 상기 하나 이상의 액세스 권한들의 표시와 함께 제공하는 단계를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 보안 디바이스에 액세스하기 위해 다른 디바이스에 의해 사용되는 디지털 인증서를 취소하라는 요청을 수신하는 단계; 및
    상기 디지털 인증서에 대응하는 취소 요청을 상기 보안 디바이스로 송신하는 단계 ― 상기 취소 요청은 상기 동기화 카운터 값을 포함함 ― 를 추가로 포함하는, 방법.
  15. 제14항에 있어서, 상기 취소 요청은 서버를 통해 상기 보안 디바이스에 중계되는, 방법.
  16. 제14항에 있어서, 만료 시간이 상기 디지털 인증서와 연관되고, 상기 디지털 인증서를 취소하라는 상기 요청은 상기 만료 시간 전에 수신되는, 방법.
  17. 제14항에 있어서,
    다른 취소 요청 ― 상기 다른 취소 요청은 대상 디지털 인증서를 나타냄 ― 을 상기 다른 디바이스로 송신하는 단계; 및
    상기 다른 취소 요청에 응답하여 그리고 상기 다른 디바이스로부터, 상기 대상 디지털 인증서가 상기 다른 디바이스로부터 제거되었음을 확인하는 취소 증명 데이터 아이템을 수신하는 단계를 추가로 포함하는, 방법.
  18. 삭제
  19. 제13항에 있어서, 상기 증명 데이터 아이템은 상기 전자 디바이스의 비밀 키로 서명되는, 방법.
  20. 시스템으로서,
    전자 디바이스; 및
    상기 전자 디바이스로부터 물리적으로 분리되는 보안 디바이스를 포함하고,
    상기 전자 디바이스는,
    하나 이상의 인증서 식별자들, 및 일차 동기화 카운터 값을 포함하는 일차 유효 인증서 리스트를 저장하도록 구성된 메모리; 및
    적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는,
    상기 보안 디바이스로부터 무선으로, 상기 일차 유효 인증서 리스트를 보안 디바이스 유효 인증서 리스트와 동기화하라는 요청을 수신하도록 ― 상기 요청은 상기 보안 디바이스 유효 인증서 리스트 및 보안 디바이스 취소 리스트를 포함함 ―;
    상기 보안 디바이스 취소 리스트에서 식별된 인증서를 제거함으로써 그리고 상기 보안 디바이스 유효 인증서 리스트에 포함된 인증서 식별자를 추가함으로써 상기 일차 유효 인증서 리스트를 업데이트하도록; 그리고
    상기 업데이트된 일차 유효 인증서 리스트를 상기 보안 디바이스로 송신하도록 구성되고,
    상기 보안 디바이스는,
    상기 보안 디바이스 유효 인증서 리스트, 상기 보안 디바이스 취소 리스트, 및 보안 디바이스 동기화 카운터 값을 저장하도록 구성된 메모리; 및
    적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는,
    상기 전자 디바이스로부터 상기 업데이트된 일차 유효 인증서 리스트를 수신하도록;
    상기 업데이트된 일차 유효 인증서 리스트의 수신에 응답하여 그리고 단일 원자적 트랜잭션에서, 상기 보안 디바이스 유효 인증서 리스트를 상기 업데이트된 일차 유효 인증서 리스트로 대체하고, 상기 보안 디바이스 취소 리스트를 클리어하고, 상기 보안 디바이스 동기화 카운터 값을 증분시키도록;
    상기 대체하는 동작, 상기 클리어하는 동작, 또는 상기 증분시키는 동작 중 하나 이상이 성공적으로 완료되지 않는 경우 상기 단일 원자적 트랜잭션을 롤백하도록; 그리고
    수신된 인증서 유지 요청이 상기 보안 디바이스 동기화 카운터 값보다 크거나 그와 동일한 다른 동기화 카운터 값을 포함하는 경우에는 상기 수신된 인증서 유지 요청을 이행하도록 구성된, 시스템.
  21. 방법으로서,
    보안 디바이스로부터 동기화 요청을 수신하는 단계 ― 상기 동기화 요청은 보안 디바이스 유효 인증서 리스트 및 보안 디바이스 취소 리스트를 포함함 ―;
    상기 보안 디바이스 취소 리스트에 적어도 부분적으로 기초하여 일차 유효 인증서 리스트를 업데이트하는 단계;
    동기화 카운터 값을 증분시키는 단계;
    상기 업데이트된 일차 유효 인증서 리스트를 상기 보안 디바이스에 제공하는 단계;
    상기 보안 디바이스에 액세스하기 위해 다른 디바이스에 의해 사용되는 디지털 인증서를 취소하라는 요청을 수신하는 단계;
    상기 디지털 인증서에 대응하는 취소 요청을 상기 보안 디바이스로 송신하는 단계 ― 상기 취소 요청은 상기 동기화 카운터 값을 포함함 ―;
    다른 취소 요청 ― 상기 다른 취소 요청은 대상 디지털 인증서를 나타냄 ― 을 상기 다른 디바이스로 송신하는 단계; 및
    상기 다른 취소 요청에 응답하여 그리고 상기 다른 디바이스로부터, 상기 대상 디지털 인증서가 상기 다른 디바이스로부터 제거되었음을 확인하는 취소 증명 데이터 아이템을 수신하는 단계를 포함하는, 방법.
KR1020190119051A 2018-09-27 2019-09-26 디지털 인증서 취소 KR102321360B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862737820P 2018-09-27 2018-09-27
US62/737,820 2018-09-27
US16/578,198 2019-09-20
US16/578,198 US11443028B2 (en) 2018-09-27 2019-09-20 Digital credential revocation

Publications (2)

Publication Number Publication Date
KR20200035895A KR20200035895A (ko) 2020-04-06
KR102321360B1 true KR102321360B1 (ko) 2021-11-03

Family

ID=68072107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190119051A KR102321360B1 (ko) 2018-09-27 2019-09-26 디지털 인증서 취소

Country Status (5)

Country Link
US (2) US11443028B2 (ko)
EP (1) EP3629544B1 (ko)
JP (1) JP6929911B2 (ko)
KR (1) KR102321360B1 (ko)
CN (1) CN110958113B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4354791A1 (de) * 2022-10-14 2024-04-17 Siemens Aktiengesellschaft Attestierung der synchronisation eines kryptographischen schlüssels

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130212383A1 (en) * 2012-02-09 2013-08-15 Philip J. Hallin Revocation Information for Revocable Items
WO2018160863A1 (en) * 2017-03-01 2018-09-07 Apple Inc. System access using a mobile device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092201A (en) * 1997-10-24 2000-07-18 Entrust Technologies Method and apparatus for extending secure communication operations via a shared list
US7984488B2 (en) 2004-04-09 2011-07-19 Microsoft Corporation Credential roaming in electronic computing systems
US7814315B2 (en) * 2006-11-30 2010-10-12 Red Hat, Inc. Propagation of certificate revocation information
JP5815525B2 (ja) * 2010-07-23 2015-11-17 パナソニック株式会社 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
JP2012144899A (ja) 2011-01-12 2012-08-02 Nec Casio Mobile Communications Ltd 電子鍵管理装置、施錠・開錠システム、電子鍵管理方法およびプログラム
KR101300788B1 (ko) 2011-01-14 2013-09-11 시큐어플랫폼즈테크놀로지(주) 스마트폰을 이용한 차량 제어 방법 및 시스템
CN102651856B (zh) 2011-02-23 2015-06-17 腾讯科技(深圳)有限公司 一种提高终端上网安全性的方法、系统和装置
JP5853424B2 (ja) 2011-06-03 2016-02-09 ソニー株式会社 無線通信装置、情報処理装置、通信システムおよび通信方法
US9087187B1 (en) * 2012-10-08 2015-07-21 Amazon Technologies, Inc. Unique credentials verification
US9877188B1 (en) * 2014-01-03 2018-01-23 Google Llc Wireless network access credential sharing using a network based credential storage service
US10769262B1 (en) * 2014-01-17 2020-09-08 Microstrategy Incorporated Enabling use of credentials
US9756035B2 (en) * 2014-02-18 2017-09-05 Secureauth Corporation Device fingerprint registration for single sign on authentication
US9667620B2 (en) 2014-05-30 2017-05-30 Apple Inc. Encryption methods and apparatus
US10135833B2 (en) * 2015-05-29 2018-11-20 Schlage Lock Company Llc Credential driving an automatic lock update
US10320848B2 (en) * 2016-01-15 2019-06-11 Microsoft Technology Licensing, Llc Smart lockout
JP6744027B2 (ja) 2017-01-20 2020-08-19 富士通コネクテッドテクノロジーズ株式会社 端末装置及び読出制御プログラム
US11425115B2 (en) * 2018-03-27 2022-08-23 Workday, Inc. Identifying revoked credentials

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130212383A1 (en) * 2012-02-09 2013-08-15 Philip J. Hallin Revocation Information for Revocable Items
WO2018160863A1 (en) * 2017-03-01 2018-09-07 Apple Inc. System access using a mobile device

Also Published As

Publication number Publication date
JP6929911B2 (ja) 2021-09-01
US20200104481A1 (en) 2020-04-02
KR20200035895A (ko) 2020-04-06
CN110958113A (zh) 2020-04-03
EP3629544B1 (en) 2023-03-15
US11443028B2 (en) 2022-09-13
CN110958113B (zh) 2022-10-25
JP2020053054A (ja) 2020-04-02
US20230004636A1 (en) 2023-01-05
EP3629544A1 (en) 2020-04-01

Similar Documents

Publication Publication Date Title
US9973484B2 (en) System and method for securely storing and sharing information
EP2905925B1 (en) System and method for remote access, Remote digital signature
US11356450B2 (en) Managing data access
US11190507B2 (en) Trusted device establishment
EP3938941B1 (en) User choice in data location and policy adherence
WO2020256892A1 (en) Encrypting data associated with decentralized identifier
US9369440B2 (en) Securing private information in public, private and mobile devices
AU2017275376B2 (en) Method and apparatus for issuing a credential for an incident area network
US11228580B2 (en) Two-factor device authentication
US11737012B2 (en) Maintaining access to services via SIM card
WO2020190386A1 (en) Provision of policy compliant storage for did data
US20200154270A1 (en) Secure trusted service manager provider
EP4115577A1 (en) Automatic renewal of a verifiable claim
WO2022256121A1 (en) Endorsement claim in a verifiable credential
US20230004636A1 (en) Digital credential revocation
US11546174B2 (en) Wireless terminal authentication
US20220385643A1 (en) End-to-end encryption for location sharing
KR102670853B1 (ko) Sim 카드를 통한 서비스들에 대한 액세스 유지
US11785005B2 (en) Secure tunneling with implicit device identification
US20200104825A1 (en) Wireless transaction via persistent wireless connection

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant