KR20140101823A - 일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템 - Google Patents

일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20140101823A
KR20140101823A KR1020147017711A KR20147017711A KR20140101823A KR 20140101823 A KR20140101823 A KR 20140101823A KR 1020147017711 A KR1020147017711 A KR 1020147017711A KR 20147017711 A KR20147017711 A KR 20147017711A KR 20140101823 A KR20140101823 A KR 20140101823A
Authority
KR
South Korea
Prior art keywords
computing device
control server
access control
temporary value
mobile device
Prior art date
Application number
KR1020147017711A
Other languages
English (en)
Other versions
KR101641809B1 (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 KR20140101823A publication Critical patent/KR20140101823A/ko
Application granted granted Critical
Publication of KR101641809B1 publication Critical patent/KR101641809B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

분산된 로그온 서비스를 오프라인 컴퓨팅 장치로 확장하는 방법 및 시스템은, 오프라인 컴퓨팅 장치에서, 일회용 비밀번호(OTP), 임시값(nonce), 및 고유 식별자를 암호화하여 허가 요청 메시지를 생성하는 과정을 포함한다. 모바일 장치를 프록시로 사용하여 허가를 위해 허가 요청 메시지를 액세스 제어 서버에 포워드한다. 허가 응답 메시지를 복호화하여 임시값을 획득한다. 임시값을 재암호화하여 허가 응답 메시지를 생성한다. 모바일 장치를 프록시로 이용하여 허가 응답 메시지를 오프라인 컴퓨팅 장치에 포워드한다. 허가 응답 메시지를 복호화하여 임시값을 획득한다. 허가 응답 메시지로부터 획득한 임시값을 원래 임시값과 비교한다. 컴퓨팅 장치는 허가 응답 메시지로부터 획득한 임시값과 원래 임시값을 비교한 결과로서 액세스를 허용 또는 거절한다.

Description

일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템{METHOD AND SYSTEM FOR DISTRIBUTED OFF-LINE LOGON USING ONE-TIME PASSWORDS}
수많은 컴퓨팅 장치와 하루 종일 상호작용하는 것이 사람들에게 드물지 않을 정도로 컴퓨팅 장치는 일상 어디서나 존재하는 것이 되었다. 수많은 이유 때문에, 그러한 컴퓨팅 장치 중 대부분은 항시 인터넷과 같은 하나 이상의 네트워크에 접속되어 있다. 그러한 접속은 컴퓨팅 장치가 원격 장치 및 서버로부터 보안 패치, 소프트웨어 업데이트, 펌웨어 업데이트, 및 각종의 다른 형태의 정보 및 데이터를 받게 한다.
그러나, 각종 요인으로 인해, 어떤 장치와의 강력한 접속을 제공하는 것이 가능하지 않을 수 있다. 이들 장치들 중 많은 장치들은 네트워크로의 접근을 제한 받거나 또는 액세스하지 못하며, 이로 인해 그러한 장치들을 관리하고 서비스하기가 어려워진다. 더욱이, 이들 장치들의 접속 부족으로 인하여, 이들 장치들 중 많은 장치들이 원격 로그온 서버와 신뢰 있게 통신할 수 없고, 그 결과 종종 평범한 사용자 이름과 비밀번호를 이용하여 설정되고 있다. 그러한 장치들이 비밀번호를 신속하고 안전하게 바꾸거나 사용자의 허가를 철회하는 기능이 부족하기 때문에 이런 관행은 이러한 장치들이 수많은 보안 위협에 열려 있게 만든다.
본 출원에 기술된 본 발명은 제한이 아닌 예로써 첨부 도면에서 도시된다. 설명의 간략성과 명료성을 기하기 위해, 도면에 도시된 구성요소들은 반드시 축척대로 그려지지 않는다. 예를 들면, 몇몇 구성요소들의 치수는 명료성을 위해 다른 구성요소에 비해 과장될 있다. 또한, 적절하다고 고려되는 경우 대응하는 또는 유사한 구성요소들을 표시하기 위해 참조 번호가 도면들 사이에서 반복되었다.
도 1은 분산된 로그온 서비스를 오프라인 컴퓨팅 장치로 확장하기 위한 시스템의 적어도 일 실시예의 간략한 블록도이다.
도 2는 분산된 로그온 서비스를 도 1의 오프라인 컴퓨팅 장치로 확장하기 위한 방법의 적어도 일 실시예의 간략한 동작 흐름도이다.
도 3은 도 1 및 도 2의 컴퓨팅 장치에 의해 수행된 분산된 로그온 서비스를 확장하기 위한 방법의 적어도 일 실시예의 간략한 흐름도이다.
도 4는 도 1 및 도 2의 모바일 장치에 의해 수행된 분산된 로그온 서비스를 확장하기 위한 방법의 적어도 일 실시예의 간략한 흐름도이다.
도 5는 도 1 및 도 2의 액세스 제어 서버에 의해 수행된 분산된 로그온 서비스를 확장하기 위한 방법의 적어도 일 실시예의 간략한 흐름도이다.
본 개시의 개념은 다양한 변경과 대안 형태의 영향을 받기 쉽지만, 그의 특정한 예시적인 실시예가 도면에서 예를 들어 도시되고 본 출원에서 상세히 기술될 것이다. 그러나, 본 개시의 개념을 기술된 특정 형태로 제한하려는 의도는 없으며, 그 반대로, 의도하는 바는 본 개시 및 첨부의 특허청구범위와 일치하는 모든 변형, 균등물, 및 대안의 것들을 모두 망라하는 것임을 이해하여야 한다.
하기 설명에서, 로직 구현, 오피코드(opcodes), 오퍼랜드를 명시하는 수단, 자원 분할/공유/복제 구현, 시스템 컴포넌트들의 형태 및 상관성, 및 로직 분할/통합 선택과 같은 많은 특정 세부사항이 본 개시의 더 철저한 이해를 제공하기 위하여 설명된다. 그러나, 본 기술에서 통상의 지식을 가진 자들에게는 본 개시의 실시예가 그러한 특정 세부사항 없이 실시될 수 있다는 것이 인식될 것이다. 다른 예로, 제어 구조, 게이트 레벨 회로 및 전체 소프트웨어 인스트럭션 시퀀스는 본 발명을 모호하게 하지 않기 위해 상세히 도시되지 않는다. 본 기술에서 통상의 지식을 가진 자들이라면 포함된 설명을 가지고 과도한 실험 없이도 적절한 기능을 구현할 수 있을 것이다.
명세서에서 "일 실시예", "실시예", "예제의 실시예" 등이라는 말은 기술된 실시예가 특별한 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특별한 특징, 구조 또는 특성을 포함하지 않을 수 있다는 것을 나타낸다. 더욱이, 그러한 구문은 반드시 동일한 실시예를 언급하는 것은 아니다. 또한, 특별한 특징, 구조, 또는 특성이 실시예와 관련하여 기술될 때, 이것은 명시적으로 기술되든 않든지 간에 다른 실시예들과 연계하여 그러한 특징, 구조, 또는 특성을 실시하는 것은 본 기술에서 통상의 지식을 가진 자들의 지식 범위 내에 있는 것이라 하기로 한다.
본 발명의 실시예는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 컴퓨터 시스템에서 구현된 본 발명의 실시예는 컴포넌트들 사이의 하나 이상의 버스-기반 상호접속부 및/또는 컴포넌트들 사이의 하나 이상의 포인트-투-포인트 상호접속부를 포함할 수 있다. 본 발명의 실시예는 또한 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 일시적 또는 비일시적 머신 판독가능 저장 매체에 의해 실행된 또는 저장된 인스트럭션으로서 구현될 수 있다. 머신 판독가능 저장 매체는 머신(예를 들면, 컴퓨팅 장치)에 의해 판독가능한 형태로 정보를 저장 또는 전송하는 임의의 장치, 메커니즘, 또는 물리적 구조체로서도 구현될 수 있다. 예를 들면, 머신 판독가능 저장 매체는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치, 미니- 또는 마이크로-SD 카드, 메모리 스틱, 및 전기 신호 등으로서 구현될 수 있다.
도면에서, 설명의 용이함을 위해 장치, 모듈, 인스트럭션 블록 및 데이터 요소를 나타내는 것과 같이 개략적인 요소의 특정 배열 또는 순서가 도시될 수 있다. 그러나, 본 기술에서 통상의 지식을 가진 자들이라면 도면에서 개략적인 요소의 특정 순서나 배열은 프로세싱의 특별한 순서나 시퀀스 또는 프로세스의 구분이 필요하다는 것을 시사하려는 것이 아님을 이해하여야 한다. 또한, 도면에서 개략적인 요소가 포함된 것은 그러한 요소가 모든 실시예에서 필요하다거나 또는 그러한 요소에 의해 표현된 특징이 일부 실시예의 다른 요소에 포함되지 않거나 또는 그 요소와 결합되지 않을 수 있다는 것을 시사하려는 것은 아니다.
일반적으로, 인스트럭션 블록을 표현하기 위해 사용된 개략적인 요소는 소프트웨어 또는 펌웨어 애플리케이션, 프로그램, 함수, 모듈, 루틴, 프로세스, 프로시져, 플러그-인, 애플릿(applets), 위젯, 및/또는 코드 프래그먼트 등과 같이 머신 판독가능 인스트럭션의 적절한 임의의 형태를 이용하여 구현될 수 있으며, 각각의 그러한 인스트럭션은 모든 적절한 프로그래밍 언어, 라이브러리, 애플리케이션 프로그래밍 인터페이스(API), 및/또는 기타 소프트웨어 개발 툴을 이용하여 구현될 수 있다. 예를 들면, 일부 실시예는 자바, C++, 및/또는 기타 프로그래밍 언어를 이용하여 구현될 수 있다. 유사하게, 데이터 또는 정보를 표현하는데 사용된 개략적인 요소는 레지스터, 데이터 스토어, 테이블, 레코드, 어레이, 인덱스, 해시, 맵, 트리, 리스트, 그래프, (임의의 파일 형태의) 파일, 폴더, 디렉토리 및/또는 데이터베이스 등과 같은 임의의 적절한 전자 배열 또는 구조를 이용하여 구현될 수 있다.
또한, 도면에서, 실선 또는 점선 또는 화살표와 같이 요소들을 연결하는 것이 둘 이상의 다른 개략적 요소들 사이 또는 끼리의 연결, 관계 또는 연합을 묘사하는데 사용되는 경우, 그러한 어느 연결 요소가 없더라도 아무런 연결, 관계 또는 연합도 존재할 수 없다는 것을 시사하려는 것은 아니다. 다시 말해서, 요소들 간의 일부 연결, 관계 또는 연합은 개시를 모호하게 하지 않기 위해 도면에 도시되지 않을 수 있다. 게다가, 용이한 묘사를 위해, 단일의 연결 요소가 요소들 간의 복수의 연결, 관계 또는 연합을 표현하는데 사용될 수 있다. 예를 들면, 연결 요소가 신호, 데이터 또는 인스트럭션의 통신을 표현하는 경우, 본 기술에서 통상의 지식을 가진 자들이라면 그러한 요소는 필요에 따라 그 통신을 실행하기 위해 하나 또는 복수개의 신호 경로(예를 들면, 버스)를 표현할 수 있다는 것을 이해하여야 한다.
이제 도 1을 참조하면, 분산된 로그온 서비스를 오프라인 장치로 확장하기 위한 시스템(100)은 컴퓨팅 장치(102) 및 액세스 제어 서버(162)를 포함한다. 일부 실시예에서, 컴퓨팅 장치(102)는 네트워크(180)와 같은 하나 이상의 네트워크로의 액세스가 제한된 또는 액세스하지 못하는 "오프라인" 장치를 포함한다. 부가적으로 또는 대안으로, 다른 실시예에서, 오프 라인 컴퓨팅 장치(102)는 사설 네트워크에 액세스할 수 있지만, 네트워크(180)에는 액세스하지 못할 수 있다. 사용 시, 아래에서 더 상세히 기술되는 바와 같이, 모바일 장치(132)는 액세스 제어 서버(162)와 함께 사용자를 인증함에 있어서 오프라인 컴퓨팅 장치(102)를 위한 프록시로서 작용한다. 이를 위해, 오프라인 컴퓨팅 장치(102)는 허가 요청 메시지(an authotization request message)를 생성하고, 이는 액세스 제어 서버(162)에 의해 검증 받는다. 오프라인 컴퓨팅 장치(102)는 나중에 모바일 장치(132)에 의해 캡처가능하도록 만들어지는 허가 요청 메시지의 시각적 및/또는 전자적 표현을 생성한다. 일단 획득되면, 허가 요청 메시지는 프록시로서 작용하는 모바일 장치(132)에 의해 네트워크(180)를 통해 액세스 제어 서버(162)에게 전송된다. 허가 요청 메시지 내에 담겨진 정보에 기초하여, 액세스 제어 서버(162)는 오프라인 컴퓨팅 장치(102)로의 액세스가 허가되어야 하는지를 판단한다. 오프라인 컴퓨팅 장치(102)로의 액세스가 허가되는지 여부에 대한 판단에 응답하여, 액세스 제어 서버(162)는 허가 응답 메시지(an authorization response message)를 생성하여 다시 프록시로서 작용하는 모바일 장치(132)에게 전송한다. 이를 수신하면, 모바일 장치(132)는 허가 요청 메시지의 시각적 및/또는 전자적 표현을 생성하고, 이 표현은 나중에 오프라인 컴퓨팅 장치(102)에 의해 캡처될 수 있게 된다. 오프라인 컴퓨팅 장치는 이후 허가 요청 메시지 내에 담겨진 정보와 허가 응답 메시지 내에 담겨진 정보를 비교하여 액세스가 허가되어야 하는지를 판단한다.
컴퓨팅 장치(102)는 본 출원에서 기술된 기능을 수행할 수 있는 임의의 형태의 컴퓨팅 장치로서 구현될 수 있다. 예를 들면, 컴퓨팅 장치(102)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 장치, 휴대용 컴퓨터, 스마트 폰, 태블릿 컴퓨터, 개인 휴대 정보 단말, 텔레포니 장치, 또는 기타 컴퓨팅 장치로서 구현될 수 있다. 특정한 일 실시예에서, 컴퓨팅 장치(102)는 현금자동 입출금기(automated teller machine)으로서 구현될 수 있다. 도 1의 예시적인 실시예에서, 컴퓨팅 장치(102)는 프로세서(104), I/O 서브시스템(110), 메모리(108), 데이터 저장 장치(118), 및 하나 이상의 주변 장치(126)를 포함한다. 일부 실시예에서, 전술한 컴포넌트들 중 몇 개는 컴퓨팅 장치(102)의 마더보드 상에 포함될 수 있으며, 반면 다른 컴포넌트들은, 예를 들면, 주변 포트를 통해 마더보드에 통신가능하게 연결될 수 있다. 또한, 컴퓨팅 장치(102)는 설명의 명료함을 위해 도 1에 도시되지 않은 다른 컴포넌트, 서브-컴포넌트, 및 컴퓨터 및/또는 컴퓨팅 장치에서 주로 발견되는 장치를 포함할 수 있다.
컴퓨팅 장치(102)의 프로세서(104)는 마이크로프로세서, 디지털 신호 프로세서 또는 마이크로컨트롤러 등과 같이 소프트웨어/펌웨어를 실행할 수 있는 임의의 형태의 프로세서로서 구현될 수 있다. 프로세서(104)는 프로세서 코어(106)를 갖는 싱글 코어 프로세서로서 구현된 것으로 도시되어 있다. 그러나, 다른 실시예에서, 프로세서(104)는 복수개의 프로세서 코어(106)를 갖는 멀티-코어 프로세서로서 구현될 수 있다. 또한, 컴퓨팅 장치(102)는 하나 이상의 프로세서 코어(106)를 갖는 부가적인 프로세서(104)를 포함할 수 있다.
컴퓨팅 장치(102)의 I/O 서브시스템(110)은 컴퓨팅 장치(102)의 프로세서(104) 및/또는 다른 컴포넌트와의 입력/출력 동작을 용이하게 해주는 회로 및/또는 컴포넌트로서 구현될 수 있다. 일부 실시예에서, I/O 서브시스템(110)은 메모리 컨트롤러 허브(a memory controller hub; MCH 또는 "노스브릿지"), 입력/출력 컨트롤러 허브(an input/output controller hub; ICH 또는 "사우스브릿지"), 및 펌웨어 장치로서 구현될 수 있다. 그러한 실시예에서, I/O 서브시스템(110)의 펌웨어 장치는 기본 입력/출력 시스템(BIOS) 데이터 및/또는 인스트럭션 및/또는 다른 정보(예를 들면, 컴퓨팅 장치(102)의 부팅 중에 사용된 BIOS 드라이버)를 저장하는 메모리 장치로서 구현될 수 있다. 그러나, 다른 실시예에서, 다른 구성의 I/O 서브시스템이 사용될 수 있다. 예를 들면, 일부 실시예에서, I/O 서브시스템(110)은 플랫폼 컨트롤러 허브(a platform controller hub; PCH)로서 구현될 수 있다. 그러한 실시예에서, 메모리 컨트롤러 허브(MCH)는 프로세서(104) 내에 포함되거나 또는 그렇지 않으면 그와 연관될 수 있으며, 프로세서(104)는 (도 1에서 점선으로 표시된 바와 같이) 메모리(108)와 직접 통신할 수 있다. 또한, 다른 실시예에서, I/O 서브시스템(110)는 단일 집적 회로 칩 상에서, 컴퓨팅 장치(102)의 프로세서(104) 및 다른 컴포넌트들과 함께 시스템-온-칩(SoC)의 일부를 형성하면서 그에 포함될 수 있다.
I/O 서브시스템(110)은 보안 엔진(a Security Engine; SE)(112)을 포함할 수 있고, 이 보안 엔진은 컴퓨팅 장치(102)의 프로세서(104) 또는 다른 컴포넌트들이 액세스할 수 없는 안전하고 격리된 환경을 제공하도록 프로세서(104)와 독립적으로 동작하는 보안 코-프로세서와 같은 내장 마이크로프로세서로서 구현될 수 있다. 일부 실시예에서, SE(112)은 컴퓨팅 장치(102)에 의해 사용된 하나 이상의 암호화 키의 저장을 관리하여 컴퓨팅 장치(102)와 모바일 장치(132) 및/또는 액세스 제어 서버(162)와의 사이의 데이터 및/또는 통신신호를 안전하게 지킨다. 그러한 실시예에서, 하나 이상의 암호화 키는 SE(112)에게 액세스가능하고 컴퓨팅 장치(102)의 다른 컴포넌트들에게는 액세스 불가능한 메모리(108)의 일부분에 저장될 수 있다. 다른 실시예에서, SE(112)는 아래에서 더 자세히 설명되는 바와 같이 분산된 로그온 서비스를 오프라인 컴퓨팅 장치(102)로 확장하는데 부분적으로 활용되는 일회용 비밀번호(OPT)를 생성할 수 있다.
프로세서(104)는 다수의 신호 경로를 통해 I/O 서브시스템(110)에 통신가능하게 연결된다. 이들 신호 경로(및 도 1에 도시된 다른 신호 경로)는 컴퓨팅 장치(102)의 컴포넌트들 간의 통신을 용이하게 해줄 수 있는 임의의 형태의 신호 경로로서 구현될 수 있다. 예를 들면, 신호 경로는 와이어, 케이블, 광 가이드, 인쇄 회로 기판 트레이스, 비아, 버스, 및/또는 개재 장치(intervening devices) 등 중의 임의의 개수로서도 구현될 수 있다.
컴퓨팅 장치(102)의 메모리(108)는, 예를 들면, 다이나믹 랜덤 액세스 메모리(DRAM) 장치, 동기식 다이나믹 랜덤 액세스 메모리(SDRAM) 장치, 더블-레이트 동기식 다이나믹 랜덤 액세스 메모리(DDR SDRAM) 장치, 마스크 판독 전용 메모리(ROM) 장치, 소거가능 프로그램머블 ROM(EPROM), 전기적 소거가능 프로그래머블 ROM(EEPROM) 장치, 플래시 메모리 장치, 및/또는 다른 휘발성 및/또는 비휘발성 메모리 장치를 포함하는, 하나 이상의 메모리 장치 또는 데이터 저장 위치로서 구현될 수 있거나 그렇지 않으면 이들을 포함할 수 있다. 메모리(108)는 다수개의 신호 경로를 통해 I/O 서브시스템(110)에 통신가능하게 연결된다. 각종 데이터 및 소프트웨어는 메모리(108)에 저장될 수 있다. 예를 들면, 프로세서(104)에 의해 실행된 소프트웨어 스택을 구성하는 하나 이상의 오퍼레이팅 시스템, 애플리케이션, 프로그램, 라이브러리, 및 드라이브는 실행 중에 메모리(108)에 상주할 수 있다. 또한, 메모리(108)에 저장된 소프트웨어 및 데이터는 메모리 관리 동작의 일부로서 메모리(108)와 데이터 저장 장치(118) 사이에서 교환될 수 있다.
컴퓨팅 장치(102)는 다른 실시예에서 부가적인 메모리 장치를 포함할 수 있다. 예를 들면, 컴퓨팅 장치(102)는 아래에서 더 상세히 설명되는 바와 같이, 컴퓨팅 장치(102)의 데이터 또는 통신 신호를 보안하기 위한 하나 이상의 암호화 키(116)를 저장할 수 있는 보안 메모리(114)를 포함할 수 있다. 보안 메모리(114)는 메모리(108)와 별개의 메모리 장치로서 구현될 수 있거나 또는 메모리(108)의 보안 파티션으로서 구현될 수 있다. 비록 도 1에는 단지 두 개의 메모리 장치(108, 114)만이 도시되지만, 다른 실시예에서 컴퓨팅 장치(102)는 임의의 수의 부가적인 메모리 장치도 포함할 수 있다.
컴퓨팅 장치(102)는 또한 데이터 저장 장치(들)(118)를 포함할 수 있다. 데이터 저장 장치(들)(118)은 예를 들면, 메모리 장치 및 회로, 메모리 카드, 하드 디스크 드라이브, 고체 상태 드라이브(solid-state devices), 또는 기타 데이터 저장 장치와 같이 데이터의 단기간 또는 장기간 저장을 위해 구성되는 임의의 형태의 장치 또는 장치들로서 구현될 수 있다.
또한, 컴퓨팅 장치(102)는 네트워크(180)를 통해 하나 이상의 원격 컴퓨팅 장치와 통신을 용이하게 해주는 통신 회로(122)를 포함할 수 있다. 컴퓨팅 장치(102)는, 예를 들면, 특정 형태의 네트워크(들)(180)에 따라서, 네트워크(180)를 통해 다른 컴퓨팅 장치와 통신하는데 적절한 어느 통신 프로토콜이라도 사용할 수 있다. 통신 회로(122)는 일부 실시예에서 근접장 통신(near-field communication; NFC) 회로(124)를 포함할 수 있다. 컴퓨팅 장치(102)는 네트워크(180)를 이용하지 않고도 NFC 회로(124)를 이용하여 정보 또는 데이터를 하나 이상의 원격 통신 장치에 전달할 수 있다. 예를 들면, 컴퓨팅 장치(102)는 NFC 회로(124)를 이용하여 아래에서 설명되는 바와 같이 역시 NFC 회로(154)를 포함할 수 있는 모바일 장치(132)에게 정보 또는 데이터를 전달할 수 있다.
일부 실시예에서, 컴퓨팅 장치(102)는 하나 이상의 원격 컴퓨팅 장치에 의해 디스플레이되는 시각적 이미지 또는 객체를 캡처하기 위한 카메라(120) 또는 스캐너를 포함할 수 있다. 예를 들면, 컴퓨팅 장치(102)는 카메라(120)를 이용하여 모바일 장치(132)에 의해 디스플레이된 하나 이상의 이미지를 캡처할 수 있다. 카메라(120)는 하나 이상의 원격 컴퓨팅 장치들에 의해 디스플레이된 이미지 또는 컴퓨팅 장치(102)의 사용자에 의해 제공된 이미지를 생성할 수 있는, 스틸 카메라, 또는 비디오 카메라 등과 같은, 임의의 형태의 카메라로서 구현될 수 있다. 일부 실시예에서, 카메라(120)는 컴퓨팅 장치(102)의 하우징 내에 포함될 수 있거나 또는 컴퓨팅 장치(102)에 통신가능하게 연결된 주변 장치(126)일 수 있다. 예를 들면, 카메라(120)는 컴퓨팅 장치(102)의 디스플레이 스크린 가까이에 포함될 수 있거나 또는 컴퓨팅 장치(102)의 부근에 배치될 수 있다.
컴퓨팅 장치(102)의 주변 장치(126)는 임의의 개수의 주변 장치 또는 인터페이스 장치를 포함할 수 있다. 예를 들면, 주변 장치(126)는 디스플레이, 터치 스크린, 키보드, 마우스, 외부 스피커, 및/또는 기타 주변 장치를 포함할 수 있다. 주변 장치(126)는 다수의 신호 경로를 통해 I/O 서브시스템(110)에 통신가능하게 연결됨으로써, I/O 서브시스템(110) 및/또는 프로세서(104)가 주변 장치(126)로부터 입력을 수신하고 주변 장치(126)로 출력을 전송하게 해줄 수 있다. 주변 장치(126)에 포함된 특정 장치는, 예를 들면, 컴퓨팅 장치(102)의 사용 목적에 달려 있을 수 있다.
도시된 예시적인 실시예에서, 주변 장치(126)는 그래픽스 주변 카드의 그래픽스 처리 유닛으로서 구현된 그래픽스 회로(128)를 포함한다. 그래픽스 처리 유닛은 그래픽스 등의 생성을 가속화 해주는 것과 같은 각종 그래픽스 처리 기능을 수행하는데 사용된다. 이와 같이, 그래픽스 처리 유닛은 전형적으로 컴퓨팅 장치(102)에서 그래픽스의 생성을 지원하기 위해 사용된다. 그러나, 그래픽스 처리 유닛은 또한 카메라(120)에 의해 캡처된 가시적 이미지를 처리 및/또는 컴퓨팅 장치(102)의 다른 작업을 수행하기 위해 사용될 수도 있다. 예를 들면, 그래픽스 처리 유닛은 프로세서(104)와 함께 또는 별개로 컴퓨팅 장치의 소프트웨어 펌웨어를 실행할 수 있다. 일부 실시예에서, 프로세서(104)는 또한 프로세서 코어(106)와의 공통 다이 상에서 규정된 그래픽스 회로(128)를 포함할 수 있다.
모바일 장치(132)는 아래에서 설명되는 프록시 기능을 수행할 수 있는 임의의 형태의 휴대용 장치로서 구현될 수 있다. 컴퓨팅 장치(102)와 유사하게, 모바일 장치(132)는 휴대용 컴퓨터에서 통상적으로 발견되는 각종 컴포넌트들을 포함할 수 있다. 도 1의 예시적인 실시예에서, 모바일 장치(132)는 프로세서(134), 메모리(138), I/O 서브시스템(140), 데이터 저장 장치(148), 카메라(150), 통신 회로(152), 및 하나 이상의 주변 장치(156)를 포함한다. 통신 회로(152)는 네트워크(180)와 별개로 모바일 장치(132)와 컴퓨팅 장치(102) 사이에서 직접적인 통신을 위한 NFC 회로(154)를 포함할 수 있다. 도 1의 예시적인 실시예에서 도시된 바와 같이, 데이터 저장 장치(148), 카메라(150), 통신 회로(152), 및 NFC 회로(154)는 모바일 장치(132)의 개별 컴포넌트들을 포함할 수 있다. 물론, 다른 실시예에서 주변 장치(156)는 데이터 저장 장치(148), 카메라(150), 통신 회로(152), 및 NFC 회로(154) 중 하나 이상을 포함할 수 있다는 것을 이해하여야 한다.
액세스 제어 서버(162)는 본 출원에서 기술된 허가 기능을 수행할 수 있는 임의의 형태의 서버로서 구현될 수 있다. 액세스 제어 서버(162)는 서버 컴퓨터에서 통상적으로 발견되는 각종 컴포넌트들을 포함할 수 있다. 도 1의 예시적인 실시예에서, 액세스 제어 서버(162)는 프로세서(164), 메모리(166), 데이터 저장 장치(170), 및 통신 회로(172)를 포함한다. 메모리(166)는 액세스 제어 서버(162)에 의해 사용된 하나 이상의 암호화 키(168)를 저장하여 액세스 제어 서버(162)와 컴퓨팅 장치(102) 및/또는 모바일 장치(132)와의 사이의 데이터 및/또는 통신신호를 안전하게 지킬 수 있다. 일부 실시예에서, 메모리(166)는 분산된 로그온 서비스를 오프라인 컴퓨팅 장치(102)로 확장하기 용이하게 해주는데 활용될 수 있는 일회용 비밀번호(OTP)를 저장할 수 있다.
이제 도 2를 참조하면, 분산된 로그온 서비스를 오프라인 컴퓨팅 장치(102)로 확장하기 위한 방법(200)의 예시적인 실시예가 도시된다. 동작에 있어서, 컴퓨팅 장치(102)는 컴퓨팅 장치(102)에 액세스를 요청하는 사용자에 대한 응답으로 허가 요청 패킷을 생성한다. 그러한 실시예에서, 사용자는 컴퓨팅 장치(102)의 하나 이상의 컴포넌트를 액세스하려 요청할 수 있거나 또는 사용자는 컴퓨팅 장치(102)에서 실행하는 하나 이상의 기능 또는 프로그램을 액세스하려 요청할 수 있다. 허가 요청 패킷을 생성하기 위해, 컴퓨팅 장치(102)는 컴퓨팅 장치(102)에 의해 생성된 일회용 비밀번호(OTP), 컴퓨팅 장치(102)에 의해 생성된 임시값(nonce), 및 컴퓨팅 장치(102)의 고유 식별자를 암호화 키를 이용하여 암호화할 수 있다. 임시값은, 예를 들면, 리플레이 공격(replay attacks)을 막는 암호 기능에서 한번만 사용되도록 의도된 난수 또는 의사-난수(random or pseudo-random number)로서 구현된다.
일부 실시예에서, 데이터 전송 단계(202)에서 컴퓨팅 장치(102)는 생성된 허가 요청 패킷을 모바일 장치(132)와 공유한다. 그러한 실시예에서, 컴퓨팅 장치(102)는 바코드 및/또는 하나 이상의 NFC 데이터 교환을 이용하여 생성된 허가 요청 패킷을 모바일 장치(132)와 공유할 수 있다.
생성된 허가 요청 패킷을 수신하면, 모바일 장치(132)는 컴퓨팅 장치(102)로의 액세스를 요청하는 사용자로부터 사용자 크리덴셜(credential)을 획득할 수 있다. 일부 실시예에서 사용자 크리덴셜은 컴퓨팅 장치(102)로의 액세스를 요청하는 사용자에게 고유하다. 사용자로부터 크리덴셜을 획득한 후, 데이터 전송 단계(204)에서 모바일 장치(132)는 네트워크(180)를 통해 허가 요청 패킷 및 사용자 크리덴셜을 액세스 제어 서버(162)로 전송한다.
액세스 제어 서버(162)는, 모바일 장치(132)로부터 허가 요청 패킷 및 사용자 크리덴셜을 수신하면, 암호화 키를 이용하여 허가 요청 패킷을 복호화하여 OTP, 임시값, 및 컴퓨팅 장치(102)의 고유 식별자를 획득한다. 허가 요청 패킷을 복호화하는데 사용된 암호화 키는 허가 요청 패킷을 암호화하는데 사용되었던 암호화 키와 대응한다는 것을 이해하여야 한다. 일부 실시예에서, 액세스 제어 서버(162)는 OTP 및 컴퓨팅 장치(102)의 고유 식별자를 검증한다. 부가적으로 또는 대안으로, 일부 실시예에서, 액세스 제어 서버(162)는 모바일 장치(132)에 의해 획득된 사용자 크리덴셜을 검증한다.
OTP, 컴퓨팅 장치(102)의 고유 식별자, 및 모바일 장치(132)에 의해 획득된 사용자 크리덴셜을 검증하는 것에 대한 응답으로, 액세스 제어 서버(162)는 암호화 키를 이용하여 임시값을 재암호화하여 허가 응답 패킷을 생성한다. 임시값을 재암호화하는데 사용된 암호화 키는 OTP, 임시값, 및 컴퓨팅 장치(102)을 암호화하는데 사용된 암호화 키에 대응하는 키 또는 상이한 키일 수 있음을 이해하여야 한다. 임시값을 재암호화한 후, 데이터 전송 단계(206)에서 액세스 제어 서버(162)는 생성된 허가 응답 패킷을 네트워크(180)를 통해 모바일 장치(132)로 전송한다.
생성된 허가 응답 패킷을 수신하면, 데이터 전송 단계(208)에서 모바일 장치(132)는 생성된 허가 응답 패킷을 컴퓨팅 장치(102)와 공유한다. 그러한 실시예에서, 모바일 장치(132)는 바코드 및/또는 하나 이상의 NFC 데이터 교환을 이용하여 생성된 허가 응답 패킷을 컴퓨팅 장치(102)와 공유한다. 생성된 허가 응답 패킷을 컴퓨팅 장치(102)와 공유하기 위해 모바일 장치(132)에 의해 사용된 바코드 및/또는 하나 이상의 NFC 데이터 교환은, 생성된 허가 요청 패킷을 모바일 장치(132)와 공유하기 위해 컴퓨팅 장치(102)에 의해 사용된 바코드 및/또는 하나 이상의 NFC 데이터 교환과 다르다는 것을 이해하여야 한다.
컴퓨팅 장치(102)는 허가 응답 패킷을 수신하면, 허가 응답 패킷을 복호화하여 액세스 제어 서버(162)에 의해 재암호화되었던 임시값을 획득한다. 허가 응답 패킷을 복호화하는데 사용된 암호화 키는 허가 응답 패킷을 암호화하는데 사용되었던 암호화 키와 대응한다는 것을 이해하여야 한다. 일부 실시예에서, 컴퓨팅 장치(102)는, 엑세스 제어 서버(162)에 의해 재암호화되었던 임시값이 컴퓨팅 장치(102)에 의해 원래 생성되었던 임시값과 동일한지 검증한다. 이후, 컴퓨팅 장치(102)는 임시값의 확인에 기초하여 컴퓨팅 장치(102)로의 액세스를 허용 또는 거절할지를 결정할 수 있다.
앞에서 검토한 바와 같이, 일부 실시예에서, 컴퓨팅 장치(102)는 현금자동 입출금기(ATM)(102)로서 구현될 수 있다. 그러한 실시예에서, ATM(102)는 ATM(102)의 하나 이상의 컴포넌트들 또는 기능들로의 액세스를 요청하는 사용자에 응답하여 허가 요청 패킷을 생성할 수 있다. 이를 위하여, ATM(102)는 먼저, 예를 들면, 하나 이상의 암호화 알고리즘을 이용하여 OTP 및 임시값을 생성할 수 있다. 그런 다음 ATM(102)는 OTP, 임시값, 및 ATM(102)의 고유 식별자를 암호화하여 허가 요청 패킷을 생성한다.
ATM(102)가 네트워크(180)로의 액세스를 제한 받거나 액세스하지 못하는 실시예에서, ATM은 프록시로서 모바일 장치(132)를 이용하여 허가 요청 패킷을 액세스 제어 서버(162)로 전송한다. 이러한 실시예에서, ATM(102)는 허가 요청 패킷을 인코드하거나 그렇지 않으면 모바일 장치(132)에 의해 판독 또는 캡처될 수 있는 NFC 태그 또는 바코드로 변환할 수 있다. ATM(102)에 의해 제공된 NFC 태그 또는 바코드로부터 허가 요청 패킷을 수신하면, 모바일 장치(132)는 그 패킷을 사용자 크리덴셜과 함께 네트워크(180)를 통해 액세스 제어 서버(162)에 포워드한다.
그러면 액세스 제어 서버(162)는 허가 요청 패킷을 복호화하고 그 안에 담겨진 정보를 검증한다. 만일 정보(즉, OTP, 임시값, 및 ATM(102)의 고유 식별자)가 검증되면, 액세스 제어 서버(162)는 임시값을 재암호화하여 허가 응답 패킷을 생성하여 ATM(102)에게 전송한다.
앞에서 검토한 바와 같이, 일부 실시예에서 ATM(102)는 네트워크(180)로의 액세스를 제한 받거나 액세스하지 못한다. 이전과 유사하게, 모바일 장치(132)는 액세스 제어 서버(162)와 ATM(102) 사이에서 프록시로서 사용될 수 있다. 그러한 실시예에서, 액세스 제어 서버(162)는 허가 응답 패킷을 네트워크(180)를 통해 모바일 장치(132)에 전송한다. 모바일 장치(132)는 허가 응답 패킷을 인코드하거나 그렇지 않으면 ATM(102)에 의해 판독 또는 캡처될 수 있는 NFC 태그 또는 바코드로 변환할 수 있다.
그러한 실시예에서, ATM(102)는 허가 응답 패킷을 복호화하여 액세스 제어 서버(162)에 의해 재암호화되었던 임시값을 획득한다. 하나 이상의 요청된 컴포넌트들 또는 기능으로의 액세스가 허용되어야 하는지를 판단하기 위해, ATM(102)는 허가 응답 패킷으로부터 획득된 임시값을 ATM(102)가 원래 생성하였던 임시값과 비교할 수 있다. 그러한 실시예에서, ATM(102)는 임시값이 일치하는 경우 사용자가 하나 이상의 요청된 컴포넌트들 또는 기능들에 액세스하는 것을 허용할 수 있다.
이제 도 3을 참조하면, 사용 시, 오프라인 컴퓨팅 장치(102)는 분산된 로그온 서비스를 컴퓨팅 장치(102)로 확장하기 위한 방법(300)을 실행할 수 있다. 방법(300)은 사용자가 컴퓨팅 장치(102)로의 액세스를 요청하는지를 컴퓨팅 장치(102)가 판단하는 블록(302)에서 시작한다. 앞에서 검토한 바와 같이, 사용자는 컴퓨팅 장치(102)의 하나 이상의 컴포넌트 또는 컴퓨팅 장치(102)에서 실행하는 하나 이상의 기능 또는 프로그램으로의 액세스를 요청할 수 있다. 사용자가 컴퓨팅 장치(102)로의 액세스를 요청한다는 판단에 응답하여, 방법(300)은 블록(304)으로 진행한다.
블록(304)에서, 컴퓨팅 장치(102)는 앞에서 검토한 바와 같이 일회용 비밀번호(OTP)를 생성한다. 이를 위하여, 일부 실시예에서 컴퓨팅 장치(102)의 보안 엔진(SE)(112)은 컴퓨팅 장치(102)에 제공된 시드(seed)의 함수로서 OTP를 생성하는데 적절한 암호화 알고리즘을 사용할 수 있다. 또한, OTP가 악의적인 제3자에게 획득되는 것을 방지하기 위하여, SE(112)는 OTP, 알고리즘, 시드, 및/또는 모든 다른 관련된 데이터를 컴퓨팅 장치(102)의 보안 메모리(114)에 저장할 수 있다. 비록 기술된 실시예에서 SE(112)에 의해 단 하나의 알고리즘이 사용되어 OTP를 생성할지라도, 다른 실시예에서 SE(112)에 의해 하나 보다 많은 알고리즘이 사용될 수 있다는 것을 이해하여야 한다.
또한, 블록(304)에서, 컴퓨팅 장치(102)는 임시값을 생성할 수 있다. 임시값은 난수 또는 의사 난수로서 구현될 수 있다. 컴퓨팅 장치(102)는 적절한 암호화 알고리즘을 이용하여 컴퓨팅 장치(102)에 제공된 시드의 함수로서 임시값을 생성할 수 있다. 예시적인 실시예에서, 임시값을 생성하는데 사용된 알고리즘 및 시드는 OTP를 생성하는데 사용된 알고리즘 및 시드와 상이하다. 또한, 예시적인 실시예에서, 각각의 생성된 임시값은 컴퓨팅 장치(102)에 의해 한번 사용된다.
컴퓨팅 장치(102)는 또한 고유 식별자와 연관될 수 있다. 고유 식별자는 숫자, 컴퓨팅 장치(102)를 하나 이상의 다른 컴퓨팅 장치와 고유하게 식별하는 영숫자 문자열(alphanumeric string of characters), 단어, 또는 임의의 다른 적절한 마킹으로서 구현될 수 있다. 예를 들면, 일부 실시예에서, 고유 식별자는 컴퓨팅 장치(102)와 연관된 고유의 일련 번호를 포함할 수 있다. 그러한 실시예에서, 액세스 제어 서버(162)의 데이터 저장 장치(170)는 고유의 일련 번호와 컴퓨팅 장치와의 매핑을 저장할 수 있다.
다시 도 3을 참조하면, 블록(306)에서, 컴퓨팅 장치(102)는 보안 메모리(114)로부터 수신된 암호화 키(116)를 이용하여 OTP, 임시값, 및 고유 식별자를 암호화할 수 있다. 부가적으로 또는 대안으로, 컴퓨팅 장치(102)는 메모리(166) 및/또는 컴퓨팅 장치(102)의 데이터 저장 장치(118)에 저장된 (이들 장치에 암호화된 상태로 저장될 수 있는) 하나 이상의 암호화 키를 이용하여 OTP, 임시값, 및 고유 식별자를 암호화할 수 있다. 컴퓨팅 장치(102)는 OTP, 임시값, 및 고유 식별자를 암호화하는데 적절한 임의의 암호화 기술을 사용할 수 있다는 것을 이해하여야 한다. 예를 들면, 컴퓨팅 장치(102)는 OTP, 임시값, 및 고유 식별자를 암호화하고 허가 요청 패킷을 생성하기 위하여, 하나 이상의 대칭 키 알고리즘(즉, 공유 키), 비대칭 키 알고리즘(즉, 공개 키/개인 키 쌍), 또는 임의의 다른 적절한 암호화 메커니즘을 사용할 수 있다. OTP, 임시값, 및 컴퓨팅 장치(102)의 고유 식별자를 암호화하고 허가 요청 패킷을 생성한 후, 방법(300)은 블록(308)으로 진행한다.
블록(308)에서, 컴퓨팅 장치(102)는 생성된 허가 요청 패킷을 허가를 위해 액세스 제어 서버(162)에 전송한다. 그러한 실시예에서, 컴퓨팅 장치(102)는 먼저 생성된 허가 요청 패킷을 모바일 장치(132)와 공유함으로써 모바일 장치(132)를 프록시로서 사용한다. 이를 위하여, 블록(310)에서, 컴퓨팅 장치(102)는 허가 요청 패킷을 구비하는 NFC 태그 또는 바코드를 생성할 수 있다. 그러한 실시예에서, 컴퓨팅 장치(102)는 허가 요청 패킷을 인코드하거나 그렇지 않으면 이를 NFC 태그 또는 바코드로 변환할 수 있다. 컴퓨팅 장치(102)에 의해 생성된 NFC 태그는 물리적인 NFC 태그 또는 컴퓨팅 장치(102) 상의 "소프트" NFC 태그로서 구현될 수 있다는 것을 이해하여야 한다. 또한, 컴퓨팅 장치(102)는 허가 요청 패킷을 모바일 장치(132)가 캡처하기에 적절한 임의의 바코드 포맷으로 인코드할 수 있다. 예를 들면, 컴퓨팅 장치(102)는 허가 요청 패킷을 퀵 리스폰스(Quick Response; QR) 와 같은 2D 바코드 또는 임의의 다른 적절한 바코드 포맷으로서 인코드할 수 있다. 모바일 장치(132)는 컴퓨팅 장치(102)로부터 허가 요청 패킷을 캡처하거나 달리 수신할 수 있으며, 허가 요청 패킷을 허가를 위해 액세스 제어 서버(162)에 전송할 수 있다.
블록(312)에서, 컴퓨팅 장치(102)는 허가 응답 패킷이 액세스 제어 서버(162)로부터 수신되었는지를 판단한다. 일부 실시예에서, 허가 응답 패킷은 컴퓨팅 장치(102)에 의해 생성된 임시값을 포함하지만, 나중에는 액세스 제어 서버(162)에 의해 암호화된다. 또한, 앞에서 검토한 바와 같이, 액세스 제어 서버(162)는 모바일 장치(132)를 프록시로서 사용하여 허가 응답 패킷을 전송한다. 이를 위하여, 컴퓨팅 장치(102)는 카메라(120) 및/또는 NFC 회로(124)를 이용하여 모바일 장치(132)에 의해 생성된 바코드 또는 NFC 태그로부터 허가 응답 패킷을 캡처 및/또는 수신할 수 있다. 모바일 장치(132)를 프록시로서 사용하여 액세스 제어 서버(162)로부터 허가 패킷이 수신되었다고 판단하면, 방법(300)은 블록(314)으로 진행한다.
블록(314)에서, 컴퓨팅 장치(102)는 허가 응답 패킷을 복호화하여 임시값을 획득한다. 이를 위하여, 컴퓨팅 장치(102)는 보안 메모리(114)로부터 검색된 암호화 키(116) 또는 대응하는 암호화 키를 사용한다. 부가적으로 또는 대안으로, 컴퓨팅 장치(102)는 메모리(166) 및/또는 컴퓨팅 장치(102)의 데이터 저장 장치(118)에 저장된 하나 이상의 암호화 키를 이용하여 허가 응답 패킷을 복호화할 수 있다. 컴퓨팅 장치(102)는 임의의 적절한 복호화 기술을 이용하여 허가 응답 패킷을 복호화하고 임시값을 획득할 수 있다는 것을 이해하여야 한다. 예를 들어, 컴퓨팅 장치(102)는 허가 응답 패킷을 복호화하여 임시값을 획득하기 위하여 하나 이상의 대칭 키 알고리즘(즉, 공유 키), 비대칭 키 알고리즘(즉, 공개 키/개인 키 쌍), 또는 임의의 다른 적절한 암호화 메커니즘을 사용할 수 있다. 허가 응답 패킷을 복호화하고 임시값을 획득한 후, 방법(300)은 블록(316)으로 진행한다.
블록(316)에서, 컴퓨팅 장치(102)는 복호화된 허가 응답 패킷으로부터 획득된 임시값이 컴퓨팅 장치(102)에 의해 원래 생성된 임시값과 일치하는지를 판단할 수 있다. 일부 실시예에서, 원래 생성된 임시값은 보안 메모리(114), 메모리(108), 또는 데이터 저장 장치(118)로부터 검색될 수 있다. 만일 컴퓨팅 장치(102)가 블록(316)에서 복호화된 허가 응답 패킷으로부터 획득된 임시값이 컴퓨팅 장치(102)에 의해 원래 생성되었던 임시값과 일치한다고 판단하면, 방법(300)은 블록(320)으로 진행하고, 이 블록에서 컴퓨팅 장치(102)로의 액세스가 허용된다. 그러나, 만일 블록(316)에서 컴퓨팅 장치(102)가 복호화된 허가 응답 패킷이 컴퓨팅 장치(102)에 의해 원래 생성되었던 임시값과 일치하지 않다고 판단하면, 방법(300)은 블록(318)으로 진행하고, 이 블록에서 컴퓨팅 장치(102)로의 액세스가 거절된다.
앞에서 검토한 바와 같이, 모바일 장치(132)는 컴퓨팅 장치(102)에 의해 프록시로서 사용된다. 이를 위하여, 도 4에 도시된 바와 같이, 모바일 장치(132)는 분산된 로그온 서비스를 오프라인 컴퓨팅 장치(102)로 확장하기 위한 방법(400)을 실행할 수 있다. 방법(400)은 모바일 장치(132)가 사용자가 컴퓨팅 장치(102)로의 액세스를 요청하는지를 판단하는 블록(402)에서 시작한다. 그러한 실시예에서, 모바일 장치(132)는 주변 장치(156) 중 하나 이상으로부터 액세스의 요청을 나타내는 입력을 수신하는 것에 기초하여 컴퓨팅 장치(102)로의 액세스를 시도하고 있다고 판단할 수 있다. 예를 들면, 모바일 장치(132)는, 사용자가 컴퓨팅 장치(102)에 액세스하기 위해 모바일 장치의 하나 이상의 키를 누르는 것, 모바일 장치(132)에서 실행을 위한 하나 이상의 애플리케이션을 시작하는 것, 및/또는 컴퓨팅 장치(160)에 액세스하고자 하는 사용자의 요구를 나타내는 임의의 다른 행위를 수행하는 것을 하였다고 판단할 수 있다. 블록(402)에서 만일 모바일 장치(132)가 사용자가 컴퓨팅 장치(102)에 액세스하려 시도하고 있다고 판단하면, 방법(400)은 블록(404)으로 진행한다.
블록(404)에서, 모바일 장치(132)는 컴퓨팅 장치(102)로부터 허가 요청 패킷이 수신되었는지를 판단할 수 있다. 전술한 바와 같이, 컴퓨팅 장치(102)는 사용자가 컴퓨팅 장치(102)의 하나 이상의 컴포넌트, 기능 및/또는 프로그램에 액세스하려 시도하고 있다고 판단한 것에 대한 응답으로 허가 요청 패킷을 생성할 수 있다. 모바일 장치(132)는 카메라(150) 및/또는 NFC 회로(154)를 이용하여 컴퓨팅 장치(102)에 의해 생성된 바코드 또는 NFC 태그로부터 허가 요청 패킷을 캡처 및/또는 수신할 수 있다. 허가 요청 패킷이 수신되었다고 판단한 후, 방법(400)은 블록(406)으로 진행한다.
블록(406)에서, 모바일 장치(132)는 컴퓨팅 장치(102)로의 액세스를 요청하는 사용자로부터 사용자 크리덴셜을 획득한다. 예를 들면, 모바일 장치(132)는 일부 실시예에서 사용자의 사용자 이름 및 비밀번호를 획득할 수 있다. 부가적으로 또는 대안으로, 다른 실시예에서, 모바일 장치(132)는 사용자로부터 개인 식별 번호(a personal identification number; PIN)를 획득할 수 있다. 사용자 크리덴셜은 사용자로부터 모바일 장치(132)의 주변 장치(156)(즉, 키패드, 터치 스크린, 음성 인식 컴포넌트 등) 중 하나 이상을 통해 획득될 수 있다. 블록(408)에서, 모바일 장치(132)는 일부 실시예에서 사용자의 액세스 요청과 연관되는 부가적인 보안 데이터를 또한 생성할 수 있다. 예를 들면, 모바일 장치(132)는 모바일 장치(132)의 위치(즉, 위도와 경도, 도시, 주, 지방 등)를 생성할 수 있다. 그러한 실시예에서, 모바일 장치(132)의 주변 장치(156)는 모바일 장치(132)의 위치를 판단하기 위한 위치 회로(즉, 글로벌 포지셔닝 시스템(GPS) 회로, RF 삼각측량 회로 등)를 또한 포함할 수 있다. 부가적으로 또는 대안으로, 모바일 장치(132)는 사용자가 컴퓨팅 장치(102)로의 액세스를 요청한 날짜 및/또는 시간을 생성할 수 있다.
블록(410)에서, 사용자 크리덴셜 및 임의의 다른 보안 데이터를 획득한 후, 모바일 장치(132)는 컴퓨팅 장치(102)로부터 수신한 허가 요청 패킷을 사용자 크리덴셜 및 보안 데이터와 함께 액세스 제어 서버(162)로 전송한다. 그러한 실시예에서, 모바일 장치(132)는 네트워크(180)를 통하여 허가 요청 패킷, 사용자 크리덴셜, 및 보안 데이터를 액세스 제어 서버(162)로 전송한다. 그런 다음 방법(400)은 블록(412)으로 진행한다.
블록(412)에서, 모바일 장치(132)는 네트워크(180)를 통해 액세스 제어 서버(162)로부터 허가 응답 패킷이 수신되었는지를 판단한다. 만일 모바일 장치(132)가 액세스 제어 서버(162)로부터 허가 응답 패킷이 수신되었다고 판단하면, 방법(400)는 블록(414)으로 진행한다.
블록(414)에서, 모바일 장치(132)는 허가 응답 패킷을 포함하는 NFC 태그 또는 바코드를 생성할 수 있다. 그러한 실시예에서, 모바일 장치(132)는 허가 응답 패킷을 인코드하거나 그렇지 않으면 NFC 태그 또는 바코드로 변환할 수 있다. 모바일 장치(132)에 의해 생성된 NFC 태그는 물리적인 NFC 태그 또는 모바일 장치(132) 상의 "소프트" NFC 태그로서 구현될 수 있다는 것을 이해하여야 한다. 또한, 모바일 장치(132)는 허가 응답 패킷을 모바일 장치(132)가 캡처하기에 적절한 임의의 바코드 포맷으로도 인코드될 수 있다. 예를 들면, 모바일 장치(132)는 허가 응답 패킷을 퀵 리스폰스(QR) 코드와 같은 2D 바코드 또는 임의의 다른 적절한 바코드 포맷으로서 인코드할 수 있다. 컴퓨팅 장치(102)는 모바일 장치(132)로부터 허가 응답 패킷을 캡처하거나 달리 수신할 수 있다.
이제 도 5를 참조하면, 사용 시, 액세스 제어 서버(162)는 분산된 로그온 서비스를 오프라인 컴퓨팅 장치(102)로 확장하기 위한 방법(500)을 실행할 수 있다. 방법(500)은 액세스 제어 서버(162)가 컴퓨팅 장치(102)로부터 허가 요청 패킷이 수신되었는지를 판단하는 블록(502)에서 시작한다. 일부 실시예에서, 허가 요청 패킷은 컴퓨팅 장치(102)에 의해 생성된 OTP, 컴퓨팅 장치(102)에 의해 생성된 임시값, 및 컴퓨팅 장치(102)의 고유 식별자를 포함한다. 앞에서 검토한 바와 같이, 컴퓨팅 장치(102)는 모바일 장치(132)를 허가 요청 패킷을 액세스 제어 서버(162)에 전송하기 위한 프록시로서 사용한다. 이와 같이, 액세스 제어 서버(162)는 모바일 장치(132)가 허가 요청 패킷을 네트워크(180)를 통해 재전송하였는지를 판단할 수 있다. 모바일 장치(132)를 프록시로 사용하는 컴퓨팅 장치(102)로부터 허가 요청 패킷이 수신되었다고 판단하면, 방법(500)은 블록(504)으로 진행한다.
블록(504)에서, 액세스 제어 서버(162)는 암호화 키를 이용하여 허가 요청 패킷을 복호화하여 OTP, 임시값, 및 컴퓨팅 장치(102)의 고유 식별자를 획득한다. 허가 요청 패킷을 복호화하는데 사용된 암호화 키는 허가 요청 패킷을 암호화하는데 사용되었던 암호화 키와 대응한다는 것을 이해하여야 한다. 그 다음 방법(500)은 블록(506)으로 진행한다.
블록(506)에서, 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)로의 액세스를 제공받아야 하는지를 판단한다. 이를 위하여, 액세스 제어 서버(162)는 허가 요청 패킷으로부터 획득된 OTP 및 컴퓨팅 장치(102)의 고유 식별자를 검증한다. 일부 실시예에서, 액세스 제어 서버(162)는 보안 엔진(a security engine; SE) 또는 다른 안전한 실행 환경을 포함할 수 있다. 그러한 실시예의 SE 또는 다른 안전한 실행 환경은 동일한 또는 대응하는 암호 알고리즘 및 시드를 이용하여 컴퓨팅 장치(102)에 의해 생성된 OTP에 대응하는 액세스 제어 서버(162) 상의 OTP를 생성할 수 있다. 이와 같이, 플랫폼 식별자를 이용하여, 액세스 제어 서버(162)는 허가 요청 패킷으로부터 획득한 OTP가 액세스 제어 서버(162) 상에서 생성된 OTP와 일치하는지를 판단할 수 있다. 일부 실시예에서, 허가 요청 패킷으로부터 획득한 OTP가 액세스 제어 서버(162)에 의해 생성된 OTP와 일치하지 않으면 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)에 액세스하는 것을 허용하지 말아야 한다고 판단할 수 있다. 그러나, 허가 요청 패킷으로부터 획득한 OTP가 액세스 제어 서버(162)에 의해 생성된 OTP와 일치하면, 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)에 액세스하는 것을 제공받아야 한다고 판단할 수 있다.
또한, 앞에서 검토한 바와 같이, 모바일 장치(132)는 허가 요청 패킷을 사용자로부터 획득한 사용자 크리덴셜과 함께 전송할 수 있다. 이와 같이, 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)에 액세스하는 권한이 있는지를 또한 검증할 수 있다. 동작에 있어서, 액세스 제어 서버(162)는 사용자 크리덴셜을 데이터 저장 장치(170)에 저장된 하나 이상의 대응하는 사용자 크리덴셜과 비교할 수 있다. 예를 들면, 액세스 제어 서버(162)는 모바일 장치(132)에서 사용자가 입력하고 나중에 액세스 제어 서버(162)가 수신한 사용자 이름과 비밀번호를 데이터 저장 장치(170)에 저장된 대응하는 사용자 이름과 비밀번호와 비교할 수 있다. 일부 실시예에서, 만일 모바일 장치(132)에 의해 획득된 사용자 크리덴셜이 액세스 제어 서버(162)의 데이터 저장 장치(170)에 저장된 사용자 크리덴셜과 일치하지 않으면, 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)를 액세스하는 것을 허용하지 않아야 한다고 판단할 수 있다. 다른 실시예에서, 만일 모바일 장치(132)에 의해 획득된 사용자 크리덴셜이 액세스 제어 서버(162)의 데이터 저장 장치(170)에 저장된 크리덴셜과 일치하면, 액세스 제어 서버(162)는 사용자가 컴퓨팅 장치(102)에 액세스하는 것을 허용하여야 한다고 판단할 수 있다.
부가적으로 또는 대안으로, 앞에서 검토한 바와 같이, 모바일 장치(132)는 또한 액세스 요청과 연관된 부가적인 보안 데이터를 액세스 제어 서버(162)에 전송할 수 있다. 동작에 있어서, 액세스 제어 서버(162)는 부가적인 보안 데이터가 컴퓨팅 장치(102)의 관리자가 설정한 하나 이상의 액세스 보안 정책을 준수하는지를 판단할 수 있다. 예를 들면, 액세스 제어 서버(162)는 특정 사용자가 특정 시간에, 컴퓨팅 장치(102)의 기준 근접도 내의 특정한 장소에서, 컴퓨팅 장치(102)에 액세스할 권한이 있는지 판단하거나 또는 컴퓨팅 장치(102)의 사용에 대응하는 임의의 다른 액세스 보안 정책에 기초하여 컴퓨팅 장치(102)에 액세스할 권한이 있는지를 판단할 수 있다.
다시 블록(506)으로 돌아가면, 만일 액세스 제어 서버(162)가 사용자가 컴퓨팅 장치(102)에 액세스하는 것을 허용하지 않아야 한다고 판단하면, 방법(500)은 다시 블록(502)으로 루프백한다. 그러나, 만일 액세스 제어 서버(162)가 사용자가 컴퓨팅 장치(102)에 액세스하는 것을 허용하여야 한다고 판단하면, 방법(500)은 블록(508)으로 진행한다.
블록(508)에서, 사용자가 컴퓨팅 장치(102)를 액세스할 권한이 있다고 판단한 것에 대한 응답으로 액세스 제어 서버(162)는 컴퓨팅 장치(102)에 의해 생성된 임시값을 재암호화한다. 동작에 있어서, 액세스 제어 서버(162)는 암호화 키를 이용하여 임시값을 재암호화하여 허가 응답 패킷을 생성한다. 임시값을 재암호화하는데 사용된 암호화 키는 OTP, 임시값, 컴퓨팅 장치(102)의 고유 식별자를 암호화하는데 사용된 암호화 키에 대응하는 키 또는 상이한 키일 수 있다는 것을 이해하여야 한다. 그 다음 방법(500)은 블록(510)으로 진행한다.
블록(510)에서, 임시값을 재암호화한 후, 액세스 제어 서버(162)는 생성된 허가 응답 패킷을 컴퓨팅 장치(102)에 전송한다. 앞에서 검토한 바와 같이, 액세스 제어 서버(162)는 모바일 장치(132)를 프록시로서 이용하여 허가 응답 패킷을 컴퓨팅 장치(102)에 전송한다. 이를 위하여, 액세스 제어 서버(162)는 네트워크(180)를 통해 허가 응답 패킷을 모바일 장치(132)에 전송한다. 이후, 모바일 장치(132)는 바코드 및/또는 하나 이상의 NFC 데이터 교환을 이용하여 생성된 허가 응답 패킷을 컴퓨팅 장치(102)와 공유한다.
본 개시가 도면과 전술한 설명에서 상세하게 묘사되고 기술되었지만, 그러한 묘사와 설명은 예시적인 것으로 고려되는 것이지 문자 그대로 제한하는 것으로 고려되어서는 안되며, 단지 예시적인 실시예들이 도시되고 기술된 것일 뿐이고 본 개시물 및 열거한 청구범위와 일치하는 모든 변경과 수정은 보호되는 것으로 요구된다는 것을 이해하여야 한다.

Claims (27)

  1. 시스템으로서,
    (i) 일회용 비밀번호(a one-time password; OTP) 및 임시값(a nonce)을 생성하고, (ii) 상기 컴퓨팅 장치의 암호화 키를 이용하여 상기 OTP, 상기 임시값, 및 고유 식별자를 암호화하여 허가 요청 메시지(an authorization request message)를 생성하고, (iii) 상기 허가 요청 메시지를 모바일 장치와 공유하는 컴퓨팅 장치와,
    (i) 상기 모바일 장치로부터 상기 허가 요청 메시지 및 사용자 크리덴셜(user credentials)을 수신하고, (ii) 상기 허가 요청 메시지 및 상기 사용자 크리덴셜의 함수로서 사용자가 상기 컴퓨팅 장치에 액세스할 권한이 있는지 여부를 판단하고, (iii) 상기 사용자가 상기 컴퓨팅 장치에 액세스할 권한이 있는지 여부를 판단하는 함수로서 허가 응답 메시지(an authorization response message)를 생성하고, (iv) 상기 허가 응답 메시지를 상기 모바일 장치에 전송하여 상기 컴퓨팅 장치와 공유되게 하는 액세스 제어 서버를 포함하되,
    상기 컴퓨팅 장치는 상기 허가 응답 메시지의 함수로서 상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지 여부를 판단하는
    시스템.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 장치는 디스플레이를 포함하되, 상기 컴퓨팅 장치는 상기 허가 요청 메시지를 퀵 리스폰스(Quick Response; QR) 코드로서 인코드하고 상기 QR 코드를 상기 디스플레이 상에 디스플레이하는
    시스템.
  3. 제 1 항에 있어서,
    상기 모바일 장치를 더 포함하되,
    상기 컴퓨팅 장치 및 상기 모바일 장치는 각각 근접장 통신(near-field communication; NFC) 회로를 포함하고, 상기 컴퓨팅 장치는 상기 허가 요청 메시지가 저장된 NFC 태그를 생성하는
    시스템.
  4. 제 3 항에 있어서,
    상기 컴퓨팅 장치는 상기 모바일 장치의 상기 NFC 회로가 상기 컴퓨팅 장치의 NFC 태그를 터치하는 것에 응답하여 상기 NFC 태그 내에 저장된 허가 요청 메시지를 전송하는
    시스템.
  5. 제 1 항에 있어서,
    상기 액세스 제어 서버는 추가로 상기 컴퓨팅 장치의 암호화 키를 이용하여 상기 허가 요청 메시지를 복호화하여 상기 OTP, 상기 임시값, 및 상기 컴퓨팅 장치의 고유 식별자를 획득하는
    시스템.
  6. 제 5 항에 있어서,
    상기 허가 요청 메시지 및 상기 사용자 크리덴셜의 함수로서 상기 사용자가 상기 컴퓨팅 장치에 액세스할 권한이 있는지 여부를 판단하는 상기 액세스 제어 서버는, 상기 OTP, 상기 고유 식별자 및 상기 사용자 크리덴셜을 검증하는 것을 포함하는
    시스템.
  7. 제 6 항에 있어서,
    상기 사용자가 상기 컴퓨팅 장치에 액세스할 권한이 있는지 여부를 판단하는 함수로서 허가 응답 메시지를 생성하는 상기 액세스 제어 서버는, 상기 사용자가 상기 컴퓨팅 장치를 액세스할 권한이 있다고 판단한 것에 대한 응답으로 상기 컴퓨팅 장치에 의해 생성된 임시값을 상기 액세스 제어 서버의 암호화 키로 재암호화(re-encrypt)하는 것을 포함하는
    시스템.
  8. 제 7 항에 있어서,
    상기 컴퓨팅 장치는 추가로 상기 모바일 장치에 의해 공유된 상기 허가 응답 메시지를 상기 액세스 제어 서버의 암호화 키를 이용하여 복호화(decrypt)하여 상기 액세스 제어 서버에 의해 재암호화된 임시값을 획득하는
    시스템.
  9. 제 8 항에 있어서,
    상기 허가 응답 메시지의 함수로서 상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지 여부를 판단하는 상기 컴퓨팅 장치는, 상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치하는지 여부를 검증하는 것을 포함하는
    시스템.
  10. 제 9 항에 있어서,
    상기 컴퓨팅 장치는 추가로,
    상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치한다는 판단에 응답하여 액세스를 허용하고,
    상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치하지 않다는 판단에 응답하여 액세스를 거절하는
    시스템.
  11. 제 1 항 내지 제 3 항 및 제 5 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 장치는 상기 컴퓨팅 장치의 보안 엔진(a Security Engine; SE)에서 상기 OTP 및 상기 임시값을 생성하는
    시스템.
  12. 제 1 항 내지 제 3 항 및 제 5 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 장치는 상기 컴퓨팅 장치의 암호화 키 및 상기 액세스 제어 서버의 암호화 키를 보안 메모리 저장소로부터 검색하는 보안 엔진(SE)을 더 포함하되,
    상기 보안 메모리 저장소는 상기 SE에게 액세스 가능하고 상기 컴퓨팅 장치의 다른 컴포넌트들에게는 액세스 불가능한
    시스템.
  13. 방법으로서,
    컴퓨팅 장치에서, 일회용 비밀번호(a one-time password; OTP) 및 임시값(a nonce)을 생성하는 단계와,
    상기 OTP, 상기 임시값, 및 상기 컴퓨팅 장치의 고유 식별자를 암호화하여 허가 요청 패킷을 생성하는 단계와,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 단계와,
    상기 모바일 장치에 의해 포워드된 허가 응답 패킷 - 상기 허가 응답 패킷은 액세스 제어 서버에 의해 재암호화된 임시값을 포함함 - 을 수신하는 단계와,
    상기 액세스 제어 서버에 의해 암호화된 상기 허가 응답 패킷을 복호화하는 단계와,
    상기 허가 응답 패킷의 함수로서 상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지 여부를 판단하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 단계는 상기 허가 요청 패킷을 인코딩하여 퀵 리스폰스(Quick Response; QR) 코드를 생성하는 단계를 포함하는
    방법.
  15. 제 14 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 단계는 상기 모바일 장치에 의한 캡처를 위해 상기 QR 코드를 상기 컴퓨팅 장치 상에서 디스플레이하는 단계를 포함하는
    방법.
  16. 제 13 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 단계는 상기 허가 요청 패킷을 인코딩하여 상기 컴퓨팅 장치 상에서 근접장 통신(near-field communication; NFC) 태그를 생성하는 단계를 포함하되, 상기 허가 요청 패킷이 상기 NFC 태그 내에 저장되는
    방법.
  17. 제 16 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 단계는 상기 모바일 장치의 NFC 회로가 상기 컴퓨팅 장치의 NFC 태그를 터치하는 것에 응답하여 상기 NFC 태그 내에 저장된 허가 요청 패킷을 전송하는 단계를 포함하는
    방법.
  18. 제 13 항, 제 14 항 또는 제 16 항에 있어서,
    상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지 여부를 판단하는 단계는 상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치하는지 여부를 판단하는 단계를 포함하는
    방법.
  19. 제 18 항에 있어서,
    상기 컴퓨팅 장치로의 액세스는,
    상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치한다는 판단에 응답하여 허용되는 것과,
    상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 생성된 임시값과 일치하지 않다는 판단에 응답하여 거절되는 것 중 적어도 하나인
    방법.
  20. 제 13 항, 제 14 항 또는 제 16 항에 있어서,
    상기 컴퓨팅 장치에서, 일회용 비밀번호 및 임시값을 생성하는 단계는 상기 컴퓨팅 장치의 보안 엔진(a Security Engine; SE)에서 생성하는 단계를 포함하는
    방법.
  21. 제 13 항, 제 14 항 또는 제 16 항에 있어서,
    컴퓨팅 장치의 보안 엔진(SE)을 이용하여, 상기 컴퓨팅 장치의 암호화 키 및 상기 액세스 제어 서버의 암호화 키를 상기 컴퓨팅 장치의 보안 메모리 저장소로부터 검색하는 단계를 더 포함하되,
    상기 보안 메모리 저장소는 상기 SE에게 액세스 가능하고 상기 컴퓨팅 장치의 다른 컴포넌트들에게는 액세스 불가능한
    방법.
  22. 복수의 인스트럭션을 포함하는 적어도 하나의 머신 판독가능 저장 매체로서, 상기 인스트럭션은 실행됨에 따라, 컴퓨팅 장치로 하여금,
    상기 컴퓨팅 장치의 보안 엔진(Security Engine ;SE)에서, 일회용 비밀번호(a one-time password; OTP) 및 임시값(a nonce)을 생성하게 하고,
    상기 OTP, 상기 임시값, 및 고유 식별자를 상기 컴퓨팅 장치의 암호화 키 - 상기 컴퓨팅 장치의 암호화 키는 상기 컴퓨팅 장치의 보안 메모리에 저장되어 있고, 상기 컴퓨팅 장치의 보안 메모리는 상기 SE에게 액세스 가능하고 상기 컴퓨팅 장치의 다른 컴포넌트들에게는 액세스 불가능함 - 를 이용하여 암호화하여 허가 요청 패킷을 생성하게 하고,
    상기 허가 요청 패킷을 모바일 장치와 공유하게 하고,
    상기 모바일 장치에 의해 포워드된 허가 응답 패킷 - 상기 허가 응답 패킷은 액세스 제어 서버의 암호화 키로 재암호화된 임시값을 포함함 - 을 수신하게 하고,
    상기 허가 응답 패킷을 상기 액세스 제어 서버의 암호화 키 - 상기 액세스 제어 서버의 암호화 키는 상기 보안 메모리에 저장되어 있음 - 로 복호화하여 상기 액세스 제어 서버에 의해 재암호화된 상기 임시값을 획득하게 하고,
    상기 액세스 제어 서버에 의해 재암호화된 임시값이 상기 컴퓨팅 장치에 의해 원래 생성된 임시값과 일치하는지 여부에 대한 판단의 함수로서 상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지를 판단하게 하는
    컴퓨터 판독가능 매체.
  23. 제 22 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하는 것은, 상기 허가 요청 패킷이 저장된, 퀵 리스폰스(Quick Response; QR) 코드 및 근접장 통신(near-field communication; NFC) 태그 중 적어도 하나를 생성하는 것을 포함하는
    컴퓨터 판독가능 매체.
  24. 제 22 항에 있어서,
    상기 모바일 장치에 의해 포워드된 허가 응답 패킷을 수신하는 것은 상기 모바일 장치에 의해 생성되고 디스플레이된 퀵 리스폰스(QR) 코드를 캡처하는 것을 포함하되, 상기 QR 코드는 그 내부에 인코드된 상기 허가 응답 패킷을 포함하는
    컴퓨터 판독가능 매체.
  25. 제 22 항에 있어서,
    상기 모바일 장치에 의해 포워드된 허가 응답 패킷을 수신하는 것은 상기 컴퓨팅 장치의 근접장 통신(NFC) 회로가 상기 모바일 장치에 의해 생성된 NFC 태그를 터치하는 것에 응답하여 상기 모바일 장치에 의해 생성된 NFC 태그로부터 상기 허가 응답 패킷을 수신하는 것을 포함하는
    컴퓨터 판독가능 매체.
  26. 컴퓨팅 장치로서,
    프로세서와,
    보안 엔진(a Security Engine; SE)과,
    하나 이상의 암호화 키를 저장하는 보안 메모리 - 상기 보안 메모리는 상기 SE에 의해서는 액세스 가능하고 상기 컴퓨팅 장치의 다른 컴포넌트들에 의해서는 액세스 불가능함 - 와,
    복수개의 인스트럭션이 저장되어 있는 메모리를 포함하되,
    상기 인스트럭션은 상기 프로세서에 의해 실행됨에 따라, 상기 프로세서로 하여금,
    일회용 비밀번호(a one-time password; OTP) 및 임시값(a nonce)을 생성하게 하고,
    상기 SE을 이용하여, 상기 보안 메모리에 저장된 상기 컴퓨팅 장치의 암호화 키를 검색하게 하고,
    상기 컴퓨팅 장치의 암호화 키를 이용하여 상기 OTP, 상기 임시값, 및 고유 식별자를 암호화하여 허가 요청 패킷을 생성하게 하고,
    상기 허가 요청 패킷을 모바일 장치와 공유하게 하고,
    상기 모바일 장치에 의해 포워드된 허가 응답 패킷 - 상기 허가 응답 패킷은 액세스 제어 서버의 암호화 키로 재암호화된 임시값을 포함함 - 을 수신하게 하고,
    상기 SE을 이용하여, 상기 보안 메모리로부터 상기 액세스 제어 서버의 암호화 키를 검색하게 하고,
    상기 허가 응답 패킷을 상기 액세스 제어 서버의 암호화 키로 복호화하게 하고,
    상기 허가 응답 패킷의 함수로서 상기 컴퓨팅 장치로의 액세스를 허용 또는 거절할지 여부를 판단하게 하는
    컴퓨팅 장치.
  27. 제 26 항에 있어서,
    상기 허가 요청 패킷을 모바일 장치와 공유하게 하는 것은 상기 허가 요청 패킷이 저장된, 퀵 리스폰스(a Quick Response; QR) 코드 및 근접장 통신(near-field communication ; NFC) 태그 중 적어도 하나를 생성하게 하는 것을 포함하는
    컴퓨팅 장치.
KR1020147017711A 2011-12-27 2011-12-27 일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템 KR101641809B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067399 WO2013100905A1 (en) 2011-12-27 2011-12-27 Method and system for distributed off-line logon using one-time passwords

Publications (2)

Publication Number Publication Date
KR20140101823A true KR20140101823A (ko) 2014-08-20
KR101641809B1 KR101641809B1 (ko) 2016-07-21

Family

ID=48698149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017711A KR101641809B1 (ko) 2011-12-27 2011-12-27 일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US9118662B2 (ko)
EP (1) EP2798777B1 (ko)
JP (1) JP5852265B2 (ko)
KR (1) KR101641809B1 (ko)
CN (1) CN104160652B (ko)
WO (1) WO2013100905A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180118977A (ko) * 2017-04-24 2018-11-01 한국스마트인증 주식회사 코드를 이용한 단말기간 데이터 통신 방법

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5852265B2 (ja) 2011-12-27 2016-02-03 インテル コーポレイション 計算装置、コンピュータプログラム及びアクセス許否判定方法
US10148629B1 (en) * 2013-09-23 2018-12-04 Amazon Technologies, Inc. User-friendly multifactor authentication
US10181122B2 (en) 2013-10-31 2019-01-15 Cellco Partnership Mobile authentication for web payments using single sign on credentials
US10135805B2 (en) * 2013-10-31 2018-11-20 Cellco Partnership Connected authentication device using mobile single sign on credentials
ES2812541T3 (es) * 2013-12-30 2021-03-17 Onespan Int Gmbh Aparato de autenticación con interfaz Bluetooth
US9319401B2 (en) * 2014-01-27 2016-04-19 Bank Of America Corporation System and method for cross-channel authentication
CN105940693A (zh) * 2014-02-06 2016-09-14 亚普知识产权控股有限公司 通信系统
JP6170844B2 (ja) * 2014-02-14 2017-07-26 株式会社Nttドコモ 認証情報管理システム
US9721248B2 (en) * 2014-03-04 2017-08-01 Bank Of America Corporation ATM token cash withdrawal
JP5960181B2 (ja) * 2014-03-13 2016-08-02 キーパスコ アーベーKeypasco AB ユーザ位置情報を利用したユーザ識別情報を安全に検証するためのネットワーク認証方法
JP6162071B2 (ja) 2014-04-11 2017-07-12 株式会社Nttドコモ 施錠制御装置、施錠制御システム及び施錠制御方法
CN105337642B (zh) * 2014-06-17 2018-08-24 阿里巴巴集团控股有限公司 一种离线终端访问网络数据的方法及系统
EP2961200A1 (en) * 2014-06-23 2015-12-30 Nxp B.V. Near Field Communication System
US9942756B2 (en) * 2014-07-17 2018-04-10 Cirrent, Inc. Securing credential distribution
US10154409B2 (en) 2014-07-17 2018-12-11 Cirrent, Inc. Binding an authenticated user with a wireless device
US10356651B2 (en) 2014-07-17 2019-07-16 Cirrent, Inc. Controlled connection of a wireless device to a network
US10834592B2 (en) 2014-07-17 2020-11-10 Cirrent, Inc. Securing credential distribution
US10057240B2 (en) * 2014-08-25 2018-08-21 Sap Se Single sign-on to web applications from mobile devices
US10419886B2 (en) * 2014-09-25 2019-09-17 Intel Corporation Context-based management of wearable computing devices
US9870386B1 (en) 2014-10-31 2018-01-16 Amazon Technologies, Inc. Reducing I/O operations for on-demand demand data page generation
CN104580175A (zh) * 2014-12-26 2015-04-29 深圳市兰丁科技有限公司 一种设备授权方法和装置
US10003465B2 (en) * 2015-01-07 2018-06-19 Cyph, Inc. System and method of encrypting authentication information
US9961056B2 (en) 2015-01-07 2018-05-01 Cyph, Inc. Method of deniable encrypted communications
US10298400B2 (en) * 2015-02-06 2019-05-21 eStorm Co., LTD Authentication method and system
KR101652625B1 (ko) * 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
AU2016294131B2 (en) * 2015-04-24 2020-02-27 7Tunnels, Inc. Random Cipher Pad cryptography
US9673979B1 (en) * 2015-06-26 2017-06-06 EMC IP Holding Company LLC Hierarchical, deterministic, one-time login tokens
TWI567667B (zh) 2016-01-21 2017-01-21 澧達科技股份有限公司 雲端投幣裝置
US10601859B2 (en) 2016-02-25 2020-03-24 Trusona, Inc. Anti-replay systems and methods
CN107154847B (zh) * 2016-03-06 2022-04-12 北京火河科技有限公司 面向离线环境的密码生成方法、验证方法及其智能设备
EP3491565A4 (en) 2016-07-29 2020-01-22 Trusona, Inc. ANTI-FILLING AUTHENTICATION SYSTEMS AND METHODS
WO2018049234A1 (en) 2016-09-09 2018-03-15 Trusona, Inc. Systems and methods for distribution of selected authentication information for a network of devices
EP3552347A4 (en) 2016-12-12 2020-08-12 Trusona, Inc. PROCEDURES AND SYSTEMS FOR NETWORK-ACTIVATED ACCOUNT CREATION USING OPTICAL RECOGNITION
US10382413B1 (en) 2016-12-23 2019-08-13 Cisco Technology, Inc. Secure bootstrapping of client device with trusted server provided by untrusted cloud service
US10616186B2 (en) * 2017-04-14 2020-04-07 International Business Machines Corporation Data tokenization
US10116635B1 (en) * 2017-04-27 2018-10-30 Otis Elevator Company Mobile-based equipment service system using encrypted code offloading
US10455416B2 (en) * 2017-05-26 2019-10-22 Honeywell International Inc. Systems and methods for providing a secured password and authentication mechanism for programming and updating software or firmware
EP3783575A1 (en) * 2017-06-02 2021-02-24 Deutsche Post AG Locker system access control
WO2018236391A1 (en) * 2017-06-23 2018-12-27 Hewlett-Packard Development Company, L.P. BIOMETRIC DATA SYNCHRONIZATION DEVICES
EP3441899A1 (de) * 2017-08-10 2019-02-13 Siemens Aktiengesellschaft Verfahren, system und computerprogrammprodukt zum zugreifen auf eine geschützte einrichtung mit einer zugriffseinrichtung sowie geschützte einrichtung
CN108280369B (zh) * 2018-03-05 2021-11-02 中国工商银行股份有限公司 云文档离线访问系统、智能终端及方法
CN108762791B (zh) * 2018-06-07 2022-09-16 深圳市元征科技股份有限公司 固件升级方法及装置
EP3668135B1 (de) * 2018-12-14 2020-12-09 Deutsche Telekom AG Autorisierungsverfahren zum freigeben oder sperren von ressourcen und endgerät
CN109858236A (zh) * 2018-12-29 2019-06-07 北京奇安信科技有限公司 一种驱动加载监管方法及客户端
CN109858201A (zh) * 2018-12-29 2019-06-07 北京奇安信科技有限公司 一种安全软件模式切换授权方法、客户端及服务端
US11233790B2 (en) * 2019-02-22 2022-01-25 Crowd Strike, Inc. Network-based NT LAN manager (NTLM) relay attack detection and prevention
CN110516470A (zh) * 2019-07-31 2019-11-29 中国移动通信集团黑龙江有限公司 访问控制方法、装置、设备及存储介质
CN110719288A (zh) * 2019-10-12 2020-01-21 深圳市道通科技股份有限公司 云端服务访问的方法、云端服务器及终端
CN111147239B (zh) * 2019-12-27 2022-02-11 郑州信大捷安信息技术股份有限公司 一种离线远程授权认证方法和系统
US20220329577A1 (en) 2021-04-13 2022-10-13 Biosense Webster (Israel) Ltd. Two-Factor Authentication to Authenticate Users in Unconnected Devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716489B1 (en) * 2004-09-29 2010-05-11 Rockwell Automation Technologies, Inc. Access control method for disconnected automation systems
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3207192B1 (ja) 2000-05-02 2001-09-10 株式会社 ジェネス 認証方法および装置
JP4486567B2 (ja) * 2005-08-29 2010-06-23 日本電信電話株式会社 認証システム、認証方法および認証プログラム
US20070203850A1 (en) * 2006-02-15 2007-08-30 Sapphire Mobile Systems, Inc. Multifactor authentication system
NZ547903A (en) * 2006-06-14 2008-03-28 Fronde Anywhere Ltd A method of generating an authentication token and a method of authenticating an online transaction
CN101127625B (zh) * 2006-08-18 2013-11-06 华为技术有限公司 一种对访问请求授权的系统及方法
JP4799496B2 (ja) * 2007-07-11 2011-10-26 中国電力株式会社 個人認証方法
EP2026266B1 (en) * 2007-07-27 2011-02-16 NTT DoCoMo, Inc. Method and apparatus for performing delegated transactions
JP2009104509A (ja) * 2007-10-25 2009-05-14 Dainippon Printing Co Ltd 端末認証システム、端末認証方法
CN100488099C (zh) * 2007-11-08 2009-05-13 西安西电捷通无线网络通信有限公司 一种双向接入认证方法
TWI486045B (zh) * 2008-05-02 2015-05-21 Crimsonlogic Pte Ltd 使用機密視覺信息以用於螢幕上認證的方法及系統
US20100082490A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Systems and methods for secure wireless transactions
US9665868B2 (en) * 2010-05-10 2017-05-30 Ca, Inc. One-time use password systems and methods
CA2704864A1 (en) 2010-06-07 2010-08-16 S. Bhinder Mundip Method and system for controlling access to a monetary valued account
JP5852265B2 (ja) 2011-12-27 2016-02-03 インテル コーポレイション 計算装置、コンピュータプログラム及びアクセス許否判定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US7716489B1 (en) * 2004-09-29 2010-05-11 Rockwell Automation Technologies, Inc. Access control method for disconnected automation systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180118977A (ko) * 2017-04-24 2018-11-01 한국스마트인증 주식회사 코드를 이용한 단말기간 데이터 통신 방법

Also Published As

Publication number Publication date
US9118662B2 (en) 2015-08-25
EP2798777A4 (en) 2015-10-14
WO2013100905A1 (en) 2013-07-04
CN104160652B (zh) 2017-06-13
CN104160652A (zh) 2014-11-19
JP2015506153A (ja) 2015-02-26
EP2798777B1 (en) 2018-03-28
US20140201517A1 (en) 2014-07-17
KR101641809B1 (ko) 2016-07-21
JP5852265B2 (ja) 2016-02-03
EP2798777A1 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
KR101641809B1 (ko) 일회용 비밀번호를 이용한 분산된 오프-라인 로그온을 위한 방법 및 시스템
US11647023B2 (en) Out-of-band authentication to access web-service with indication of physical access to client device
US11665006B2 (en) User authentication with self-signed certificate and identity verification
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
US9252946B2 (en) Method and system to securely migrate and provision virtual machine images and content
CN106537403B (zh) 用于从多个装置访问数据的系统
US8751809B2 (en) Method and device for securely sharing images across untrusted channels
KR20180117715A (ko) 개선된 보안성을 갖는 사용자 인증을 위한 방법 및 시스템
US8904504B2 (en) Remote keychain for mobile devices
KR20150094548A (ko) 원격 액세스, 원격 디지털 서명을 위한 방법 및 시스템
CA3070540A1 (en) System and method for authenticating a transaction
WO2017093917A1 (en) Method and system for generating a password
US10341110B2 (en) Securing user credentials
EP3886355B1 (en) Decentralized management of data access and verification using data management hub
US20210306328A1 (en) Multi-factor geofencing system for secure encryption and decryption system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal