KR101075891B1 - 자동화된 크리덴셜 로딩을 갖는 대량 저장 장치 - Google Patents

자동화된 크리덴셜 로딩을 갖는 대량 저장 장치 Download PDF

Info

Publication number
KR101075891B1
KR101075891B1 KR1020087002120A KR20087002120A KR101075891B1 KR 101075891 B1 KR101075891 B1 KR 101075891B1 KR 1020087002120 A KR1020087002120 A KR 1020087002120A KR 20087002120 A KR20087002120 A KR 20087002120A KR 101075891 B1 KR101075891 B1 KR 101075891B1
Authority
KR
South Korea
Prior art keywords
mass storage
storage device
user
organization
portable mass
Prior art date
Application number
KR1020087002120A
Other languages
English (en)
Other versions
KR20080034898A (ko
Inventor
카를로스 제이. 곤잘레즈
조그 퍼차우
패브리스 자곤드-콜롬브
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/319,259 external-priority patent/US7743409B2/en
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20080034898A publication Critical patent/KR20080034898A/ko
Application granted granted Critical
Publication of KR101075891B1 publication Critical patent/KR101075891B1/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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Abstract

이중 인증 시스템들 및 방법들에서 사용하기 위한 휴대용 대량 저장 장치가 개시되어 있다. 안전한 휴대용 대량 저장 장치는 펌웨어 및 보안 메커니즘들에 의해 자유롭게 복제되는 것으로부터 콘텐트를 보호한다. 보안 기능이 또한 기밀한 사용자 크리덴셜들 및 패스워드들, 뿐만 아니라, 이중 인증 또는 비대칭 인증 방법들에 필요로 되는 알고리즘들 및 시드들을 보호한다. 대량 저장 장치에 상주하는 클라이언트 애플리케이션은 사용자를 자신이 선택한 다수의 기관들로 사인(signing)하면서 배경에서 인증 절차들을 끊김없이 수행하는 패스워드 관리자 및 인증 관리자 둘 모두의 역할을 한다. 매우 높은 레벨의 보안성이 대량 저장 장치 내로 통합되어,사용자는 이중 인증 이외의 목적들을 가지며, 사용자가 전달하기 매우 용이한 편리한 포켓 크기의 패키지에 의해 매우 안전한 패스워드 관리의 편리성이 발생된다. 이것은 이중 인증의 수용을 용이하게 하고, 광범위한 온라인 거래들에 대한 보안성을 증가시킨다.
이중 인증 시스템, 휴대용 대량 저장 장치, 보안 메커니즘, 클라이언트 애플리케이션, 패스워드 관리.

Description

자동화된 크리덴셜 로딩을 갖는 대량 저장 장치{MASS STORAGE DEVICE WITH AUTOMATED CREDENTIALS LOADING}
본 발명은 일반적으로 디지털 장치들로, 그리고 상기 디지털 장치로부터 큰 파일을 저장하고 전달하는데 사용되는 휴대용 유니버셜 시리얼 버스("USB") 플래시 메모리 드라이브들 및 메모리 카드들과 같은 휴대용 대량 저장 장치들에 관한 것이며, 특히 상기 장치들 및 또한 다른 기관(institution)들에 액세스하기 위하여 상기 장치들 내에 구현되는 보안 및 액세스 제어 메커니즘들에 관한 것이다.
패스워드들을 기억하는 것은 혼란스럽다. 사무실의 컴퓨터는 사용자 이름 및 패스워드를 필요로 한다. 각각의 이메일 계정은 사용자 이름 및 패스워드를 필요로 하고, 각각의 온라인 계정도 마찬가지이다. 보안이 문제가 되지 않는다면, 사람은 모든 계정들에 대해 단지 하나의 사용자이름 및 패스워드를 가질 것이다.
그러나, 보안은 중대한 문제이므로, 계정들로의 액세스 및 패스워드 관리가 또한 중대한 문제이다. 다수의 현재 방법들은 패스워드들을 기억하는 것을 더 용이하게 하거나 절충되는 것에 대해 더 로버스트(robust)하고 내성이 있도록 하는 시도에서 이 중대한 문제를 처리한다.
하나의 방법은 1회용 패스워드("OTP")이다. 1회용 패스워드는 일반적으로 말 하면, 자신이 변화되기 전에 시스템에 한번 액세스하는데 사용될 수 있는 값이다. 즉, 이 패스워드는 사용자가 상기 패스워드를 변화시킴이 없이 (어떤 규정된 빈도로) 규칙적으로 갱신된다. 이것은 사용자가 단지 한번 사용되는 특정 (패스워드) 값을 제출하고 사용자가 액세스하고자 하는 시스템이 상기 값이 무엇이어야 하는지를 검증한다는 것을 의미한다. 전형적으로, 이것은 예측 가능한 알고리즘에 기초하여 사용자에 대한 패스워드를 발생시키는 작은 장치 또는 "토큰"으로 성취된다. 동일한 예측 가능한 알고리즘이 시스템 내의 검증 엔티티(validating entity)에 의해 사용되며, 상기 알고리즘이 동일한 시드 값(seed value)을 제공받을 때, 시스템은 임의의 순간(또는 카운트)에서 사용자의 언젠가 변화하는 1회용 패스워드 값이 무엇인지를 "인지한다". 날짜에 대한 토큰들 중 가장 통상적인 형태는 사용자가 스크린으로부터 값을 판독하고 이를 컴퓨터 내로 입력하는 것을 필요로 한다. 또 다른 최근에 개발된 형태는 토큰이 컴퓨터에 값을 직접 전송하도록 한다. 이러한 구현예들 둘 모두, 및 1회용 패스워드 개념은 일반적으로 고 레벨의 보안을 제공하지만, 사용자가 1회용 패스워드 값들의 발생을 위해 토큰을 지녀야 하는 것을 필요로 한다. 토큰들은 이중 인증(two factor authentication)의 형태인데, 사용자의 시크리트(패스워드 또는 핀)가 하나의 팩터이고, OTP 값 및 이를 생성하는데 필요로 되는 하드웨어(토큰)이 제2 팩터이다.
또 다른 방법은 패스워드 관리 장치를 사용하는 것이다. 이와 같은 장치는 사용자의 각종 패스워드들 및 계정 번호들을 추적하고 각각의 사용자 계정에 대한 적절한 패스워드(들)를 제시할 수 있다. 예를 들어, 사용자는 장치에 액세스하기 위한 마스터 패스워드를 가질 수 있고, 장치가 사용자의 마스터 패스워드를 검증한 후, 상기 장치는 자신이 호스트 컴퓨터에 접속될 때 소정의 계정에 대한 실제 패스워드를 제출할 수 있다. 사용자는 자신의 각종 패스워드들을 입력하거나, 패스워드들이 패스워드 관리 장치로 푸시될 수 있다. (이전에 Rainbow Technologies라고 생각되었던) SafetNet®로부터의 하나의 이와 같은 장치는 iKeyTM으로서 공지되어 있고, 또한 암호화 및 관련 키 생성을 할 수 있다.
이러한 방법들 각각에는 어떤 것이 부족하므로, 일반 대중에 의한 고 레벨의 수용을 성취하지 못한다. OTP 토큰들은 요즘 법인 네트워크로의 액세스를 제어하는데 주로 사용되고, 일반 대중, 예를 들어, 이메일 공급자들 또는 온라인 경매인들, 등에게 광범위하게 이용 가능한 시스템들과 함께 사용하는 것에 대해 광범위하게 수용되지 못한다. 현재 이용 가능한 패스워드 관리 장치들에는 OTP 토큰들 및 시스템들의 보안 레벨이 부족하다.
이러한 방법들 각각은 전용 장치의 사용을 필요로 하거나, 대안적으로 패스워드들과, 관련 알고리즘들, 및 보안 시드들을 유지하면서 상이한 기관들에 대한 1회용 패스워드들을 발생시키는 능력이 부족하다. 예를 들어, 다수는 단일 목적 키체인 토큰 또는 USB 장치를 포함한다. 모든 곳에 이와 같은 장치를 지니는 것은 불편하고, 특히 기술에 정통한 사용자가 이미 셀 전화, 음악 플레이어, PDA 또는 블랙베리, 디지털 카메라, 및 다른 여러 전자 장치들을 휴대하고 있다면, 사용자 수용을 제한한다.
따라서, 로버스트한 보안 및 패스워드 관리 시스템의 부분으로서 1회용 패스워드 발생을 통합하는 편리한 다용도 장치가 필요로 된다.
본 발명은 휴대용 대량 저장 장치 내로 패스워드 관리의 로버스트한 보안성 및 편리성을 통합한다. 사용자가 전형적으로 이미 자신의 디지털 카메라, 음악 플레이어, PDA, 등과 함께 사용하기 위한 휴대용 대량 저장 장치를 가지기 때문에, 추가된 보안성 및 편리성은 사용자에게 적은 부담을 지운다. 이것은 매우 안전한 1회용 패스워드 방식들의 진출을 용이하게 하며, 온라인 뱅킹과 같은 민감한 애플리케이션들에 대한 위험을 상당히 적게 한다. 안전한 휴대용 대량 저장 장치가 프로그램들 및 다른 보안 데이터를 저장할 수 있기 때문에, OTP 발생 및 패스워드 관리가 하나의 편리한 플랫폼 내로 통합될 수 있다.
소비자 공간에서 이와 같은 이중 인증 시스템들의 채용에 대한 장벽들 중 하나는 사용자가 특히 인증 작동을 수행하기 위한 토큰을 지닐 필요가 있다는 것이다. 다수의 전용 장치들을 지녀야 하는 이러한 부담을 제거하는 하나의 방법은 이와 같은 기능을 사람이 다른 이유들로 인해 소유하고/하거나 지니는 장치 내로 통합하는 것이다. 이와 같은 대량 저장 장치의 예는 통상적으로 데이터를 저장하고 최근에는 애플리케이션들을 저장하고 운반하는데 사용되는 콤팩트 플래스 "CF" 카드, SD 카드, MMC 카드, XD 카드, 메모리 스틱, 트랜스플래시 카드, 등과 같은 디량 저장 플래시 메모리 또는 USB 플래시 저장 장치이다. 본 발명에 따르면, 이와 같은 장치는 기본적인 OTP 기능을 수행하며, 대량 저장 장치로부터 런칭(launching)되고 호스트 컴퓨터 상에서 실행될 수 있는 클라이언트 애플리케이션을 운반한다. 클라이언트 애플리케이션은 OTP 작동을 수행하는 장치와 상호작용하고, 상기 장치로부터 OTP 값을 획득할 책임이 있다. 또 다른 실시예에서, 클라이언트 자신이 OTP 기능을 수행하고, 필요에 따라 장치로, 그리고 상기 장치로부터 카운트와 같은 정보를 저장하고 회수한다. 어느 경우든, 정보는 안전한 방식으로 저장되고, 암호화와 같은 어떤 수단에 의해 적절하게 보호된다.
하나의 실시예에서, 단일 대량 저장 장치가 소정의 기관을 독립적으로 각각 인증하는 다수의 독립적인 시드 및 카운트 쌍들을 상기 장치 상에 유지함으로써 다수의 독립적인 기관들을 인증하는데 사용될 수 있다. 다수의 기관들에 대한 인증은 대안적으로 인증 정보를 검증하는 중심 위치를 사용함으로써 단일 시드 및 카운트로 성취될 수 있다. 어느 경우든, 시드 또는 시드들은 장치의 제조 동안, 또는 보안 채널을 통해 원격이며 우선적으로 장치 내로 또는 클라이언트로 안전하게 로딩될 수 있다. 보안 채널들은 당업계에 널리 공지되어 있고 일반적으로 통신 프로토콜을 포함함으로써, 2개의 엔티티들 간의 통신이 이러한 2개의 엔티티에만 공지된 키에 의해 암호화된다. 일반적으로, 키는 2개의 엔티티들 사이의 미리 규정된 키 교환 프로토콜에 의해 설정되는 세션 키의 유형이다.
소비자 용도를 위한 인증 시스템들을 둘러싸는 관심사들 중 하나는 시스템의 간소성 및 사용의 용이성이다. 전형적으로, 보안은 채용에 대한 장벽인 복잡도의 레벨을 부가시킨다. 이와 같은 시스템들의 설계에서의 하나의 목적은 사용자 상호작용의 보안 양상들을 사용자에게 거의 투명하게 하는 간소성의 레벨을 성취하는 것이다. 이 때문에, 본 발명에서, 보안은 통상적인 사용자 활동들의 부분으로서 배경에서 취급된다.
본 발명은 사용자 로그온 작동 내로 직접 OTP 기능을 통합하여 사용자가 바람직하게는 어떤 최초 등록 및/또는 활성화(activation) 이후에 OTP 인증을 수행할 시에 성가신 일이 없도록 하는 것과 관련된다. 특히, 바람직한 실시예들에서, OTP 기능은 USB 플래시 저장 장치 또는 다른 통상적인 제거 가능한 저장 장치 내로 통합되며, 클라이언트 애플리케이션이 또한 장치 자체 상에 저장된다. 클라이언트 애플리케이션은 저장 장치로부터 런칭되고 호스트 컴퓨터 상에서 실행된다. 상기 애플리케이션은 사용자에 의해 수동으로 런칭되거나, 장치를 호스트 컴퓨터 내로 삽입할 시에 자동적으로 애플리케이션을 런칭하도록 시스템이 설정될 수 있다. 일단 런칭되면, 클라이언트 애플리케이션은 대량 저장 장치로부터 OTP 값을 획득하고, 사용자 아이덴티티, 크리덴셜(credential)들, 및 OTP 값을 사용자가 인증되는 서버에 제공하는 태스크(task)를 수행한다. 이상적으로는, 이것은 클라이언트 애플리케이션이 단일 기관과 함께 작동하도록 전용되는 경우에 자동적으로, 또는 리스트로부터 기관 아이콘(법인 로고) 또는 이름 중 하나를 선택하기 위하여 마우스 또는 키보드와 같은 인간 인터페이스 장치를 사용하여 원-클릭 작동(one-click operation)으로 수행된다.
또 다른 실시예에서, 클라이언트는 호스트 컴퓨터 상에서 활성일 수 있고, 사용자가 로그온 시퀀스를 활성화하기 위하여 등록된 기관들의 리스트 내의 웹 페이지에 액세스하는 시간을 검출한다. 기관 리스트는 리스트, 드롭-다운 리스트, 아이콘들의 그룹, 법인 로고들의 그룹, 또는 다른 이와 같은 표현들로서 그래픽 사용자 인터페이스("GUI") 상에 디스플레이될 수 있다. 사용자 아이덴티티 및 크리덴셜들, 및 기관 유니폼 리소스 로케이터("URL") 또는 다른 형태의 웹 어드레스가 또한 이상적으로는 제거 가능한 저장 인증 대량 저장 장치 상에 이미 저장되고, 인증을 위해 회수된다. 상기 장치가 다수의 독립적인 OTP 시드들을 지원한다면, 또는 상기 장치가 동일한 OTP 시드들을 사용하여 다수의 독립적인 기관들을 지원할지라도, 사용자 아이덴티티, 크리덴셜들, 및 URL은 이상적으로는 사람이 인증하는 특정 기관에 따라 장치 상에 저장된 리스트로부터 선택된다. 이 시스템은 종래의 패스워드 관리기 및 OTP 인증 시스템의 기능들을 끊김없이 결합하고, 한 번의 버튼 클릭으로 로그온 및 인증 작동 모두를 수행한다. 한 번의 클릭으로 모든 이러한 동작들을 수행하는 것이 일부 시나리오들에서 바람직할지라도, 여러 번의 클릭들 또는 다른 사용자 입력이 다른 시나리오들에서 사용될 수 있고 바람직할 수 있다.
분실 또는 절도의 경우에 다른 사람이 인증하는데 상기 장치를 사용할 수 없도록 하기 위하여, 본 발명의 대량 저장 장치는 사용자가 PIN 또는 패스워드과 같은 사람을 특정하게 식별하는 어떤 정보를 클라이언트 애플리케이션의 런치 시에 적어도 한 번 입력함이 없이는 작동하지 않게 된다. 생체인식, 질문들에 응답하는 것, 등과 같은 다수의 다른 사용자 인증 방법들이 존재한다. 하나의 실시예에서, 더 일반적인 이중 인증 및/또는 패스워드 관리 작동들을 위해 사용자 정보를 제공하기 위하여 시스템이 사용될 수 있고, 이 정보 중 일부는 다른 정보보다 더 민감할 수 있다. 시스템은 이와 같은 민감한 정보를 분리하고 사용자 검증, PIN/패스워드의 부가적인 엔트리, 또는 다른 동작을 요청하여, 사용자가 시스템에 의해 제공될 이와 같은 정보를 인식하고 이와 같은 정보를 인증하도록 설계될 수 있다. 이것의 일례는 신용 카드 인증 및 지불에 대한 것일 수 있다.
하나의 실시예에서, 클라이언트는 유효한 사용자 크리덴셜들 및 인증 정보를 수신할 시에, 통상적으로 이중 인증 없이 로그온하는데 사용되는 종래의 로그-인 웹 페이지 엔트리들을 자동적으로 채우는 웹 서버로 사용자 및 인증 정보를 제공할 수 있다. 이 실시예는 소정의 기관이 이중 인증을 취급하기 위하여 별도의 시스템 구성요소를 부가하면서, 단일 웹 로그-온 페이지를 유지할 수 있도록 할 것이다. 이 경우에, 이중 인증은 OTP가 빌려질 때 형태-채우기(form-filling)에 자신들을 용이하게 빌려주지 않은 인증의 형태들로 이루어질 수 있지만, 그 대신에, 전형적으로 챌린지-응답 작동들을 포함하는 공개 키 기반구조("PKI")와 같은 인증 방식들일 수 있다.
시스템에 대한 개선점으로서, 장치는 사용자가 인증에 대해 등록하는 기관들의 리스트를 포함할 수 있다. 이 리스트는 클라이언트 애플리케이션에 의하여, 자동적으로 또는 사용자 요청에 의해 원격으로 갱신될 수 있다. 상기 리스트는 지불 기관들에 대한 우선적 배치를 제공하도록 하는 방식으로 구성될 수 있고, 리스트 자체에 대한 배치는 단지 지불 기관들을 위한 것일 수 있다. 시스템은 또한 자신이 크리덴셜들을 저장하였던 특정 웹 페이지가 개방되었다는 것을 검출할 때 사용자를 위해 사용자의 크리덴셜들을 채울 수 있다. 이것은 인터넷 또는 WWW와 통신하는데 사용되는 포트를 모니터링하는 프로그램 또는 루틴으로 행해질 수 있다. 프로그램은 호스트 상에 설치된 브라우저를 모니터링하고, 자신이 모니터링하는 특정 포트를 통하여 인터넷/WWW와 모든 데이터 통신들을 실행하도록 브라우저들을 구성한다. 모니터링은 호스트 장치가 사용되는 임의의 시간에 자동적으로 행해지며, 방문되는 모든 웹 사이트들의 파일을 유지할 것이다. 방문된 웹 사이트가 시스템이 사용자의 크리덴셜들을 유지하는 것이면, 상기 웹 사이트는 사용자를 로그온할 것이다.
통상적으로 '피싱(phishing)'이라 칭해지는 해킹의 하나의 통상적인 방법은 사용자가 속아서 유효한 웹 사이트로서 위장되는 웹 사이트에 기밀 정보를 제공하는 것이다. 이 유형의 해킹에 맞서는 다수의 방법들이 존재한다. 참여 기관들의 리스트는 소정 기관에 속하는 유효한 URL들, 인증의 유형 또는 인증에 사용된 특정 프로토콜들, 등과 같은 부가적인 정보를 시스템에 제공하는 수단으로서 사용된다. 하나의 실시예에서, 참여 기관들의 리스트 내에 있는 URL은 사용자가 시스템으로 등록할 수 있는 URL들을 제한하는데 사용될 수 있다. 이와 같은 구현예에서, 리스트는 제3자에 의한 스누핑(snooping)을 피하기 위하여 원격 서버로부터 보안 채널을 통하여 우선적으로 다운로딩될 것이다. 또 다른 구현예에서, 클라이언트는 원격 서버로의 링크를 설정하고, 우선적으로 보안 채널을 통하여, URL의 검증을 요청함으로써 URL의 검증을 요청할 수 있다. 원격 서버는 하나의 실시예에서, 도1 내지 3에 도시된 바와 같이, 오서리티 서버(authority server) 또는 검증 엔티티일 수 있다. 또 다른 실시예에서, 웹사이트의 검증은 인증서들을 갖는 PKI, 등과 같은 통상적인 방법을 사용하는 어떤 형태의 인증에 의해 수행될 수 있다. 하나의 구현예에서, 유효한 장치가 인증 프로세스를 개시하기 전에 접속되도록 하기 위하여 보안성이 웹 서버에 부가된다. 또 다른 실시예에서, 웹 페이지는 인증 클라이언트와 상호작용하여 장치에 대한 존재를 결정하도록 PC 상에서 서비스들을 활성화시킬 수 있으며, 이는 마이크로소프트 윈도우 OS 상에서 Active X 기술일 수 있다. 바람직한 솔루션에서, 모든 검증은 원격 서버 및 장치 자신 사이에서 논리적으로 행해지며, 로컬 클라이언트는 단지 통신을 용이하게 한다.
상기 시스템들 모두는 인증 권리들을 하나의 장치로부터 또 다른 장치로 양도할 뿐만 아니라, 사용자 정보 및 크리덴셜들을 하나의 장치로부터 또 다른 장치로 전달하는 단순한 메커니즘을 포함한다. 하나의 실시예에서 장치 ID 및 시드이고 다른 실시예들에서 인증서, 키, 또는 다른 정보 유형일 수 있는 인증 권리들의 양도는 서버 상의 비활성 장치들의 리스트로의 정보의 부가, 보안 프로토콜을 통한 장치로부터의 상기 정보의 제거, 사용자의 성공적인 식별 시에 보안 프로토콜을 통한 새로운 장치로의 재공급, 및 비활성 장치들의 리스트로부터의 제거에 의하여 수행될 수 있다. 사용자에 의한 장치 분실의 경우에 유사한 방법이 사용될 수 있는데, 이는 서버에서 오래된 장치 ID 및 시드가 무효하고 새로운 장치에 동일하거나 새로운 장치 ID 및 시드가 재공급된다는 것을 의미한다.
도1은 본 발명에 따른 제1 시스템의 개략도.
도2는 본 발명에 따른 제2 시스템의 개략도.
도3A는 대량 저장 장치(100)의 블록도.
도3B는 도3A의 대량 저장 플래시 메모리(308)의 메모리 공간의 도면.
도3C는 대량 저장 장치(100)의 1회용 패스워드 발생기 및 클라이언트의 도면.
도4는 대량 저장 장치(100)의 기능도.
도5A는 장치 슬롯 바인딩 및 장치 슬롯 활성화와 관련된 엔티티들 및 상호작용들의 도면.
도5B는 바인딩된 슬롯에 의한 장치의 인증과 관련된 엔티티들 및 상호작용들의 도면.
도5C는 공개 키 기반구조에 의한 인증에 관련된 엔티티들 및 상호작용들의 도면.
도6은 본 발명의 실시예에 따른, 기관들 내로 사인(sign)하기 위한 대량 저장 장치(100)의 사용 방법의 흐름도.
도8은 본 발명의 실시예에 따른, 기관들 내로 사인하기 위한 대량 저장 장치(100)의 사용 방법의 흐름도.
도9는 본 발명의 실시예에 따른, 기관들 내로 사인하기 위한 대량 저장 장치(100)의 사용 방법의 흐름도.
도10A는 도9의 단계(905)에 도시된 바와 같은 장치 슬롯 바인딩의 흐름도.
도10B는 도9의 단계(910)에 도시된 바와 같은 장치 슬롯 활성화의 흐름도.
도10C는 도9의 단계(915)에 도시된 바와 같은 인증의 흐름도.
도11A 내지 I는 본 발명의 실시예에 따른 클라이언트(320)의 사용자 인터페이스 스크린의 도면.
도12A 및 B는 본 발명의 실시예에 따른 클라이언트(320)의 사용자 인터페이스 스크린의 도면.
휴대용 대량 저장 장치들은 사진들, 음악, 비디오들, 및 문서들과 같은 디지털 콘텐트를 저장하는데 광범위하게 사용된다. 상기 장치들은 또한 큰 소프트웨어 애플리케이션들을 저장할 만큼 충분히 크다. 전형적으로, 휴대용 대량 저장 장치들은 이제 저장 용도들로 플래시 메모리를 사용하며, 메모리 카드 또는 휴대용 USB 드라이브의 폼 팩터(form factor)를 갖는다. 이러한 대량 저장 장치들은 거래(transaction) 또는 식별 용도들에 필요로 되는 것과 같은 매우 적은 정보를 저장하기 위한 다른 휴대용 장치들과 상이하다. 대량 저장 장치들은 또한 인증에 사용된 토큰들 및 키 카드들과 같은 다른 전용 용도 장치들과 상이한데, 그 이유는 전용 장치들이 적절한 사용자 식별 정보를 저장하는데 적은 량의 메모리를 가질 수 있는 반면, 고속으로 신뢰 가능하고 반복 가능한 방식으로 비교적 대량이고 종종 암호화된 파일들을 자주 저장하고 전달하도록 설계되지 않기 때문이다.
예를 들어, 휴대용 대량 저장 장치의 하나의 실시예인 메모리 카드는 5-20 메가바이트 정도 또는 그 이상의 픽처(picture)들을 고속으로 저장할 수 있어야 한다. 디지털 카메라로부터의 하나의 단일 픽처는 스마트 카드, 키 카드, 또는 토큰과 같은 전용 용도 장치에서 존재하는 것보다 더 많은 정도의 저장 크기를 필요로 할 수 있다. 더구나, 이와 같은 전용 용도 장치는 일반적으로 카메라들 및 음악 플레이어들, 등과 함께 사용되는 비교적 큰 파일들은 말할 것도 없이, 파일들을 고속 으로 기록 및 판독할 수 없다. 휴대용 대량 저장 장치들은 메모리 뱅크들을 매우 고속으로 판독 및 기록하도록 최적화되는 루틴들을 갖는 펌웨어 및 제어기들을 갖는다. 더구나, 많은 휴대용 대량 저장 장치들은 자주 갱신된 콘텐트의 인증받지 않은 복제를 방해하는 보안 및 암호화 루틴들을 갖는다. 전용 토큰들이 (시드 및/또는 알고리즘을 보호하기 위하여) 어떤 형태의 보안성을 가질 수 있지만, 토큰 상의 데이터는 일반적으로 고정적이며, 상기 보안성은 자주 갱신되는 사용자 파일들의 인증되지 않은 복제에 대해 보호하도록 설계되지는 않는다. 본 발명의 대량 저장 장치는 또한 정보가 더 신뢰 가능하고 고속으로 회수되도록 하기 위하여 논리적 대 물리적 맵핑을 겪지 않는 대량 저장 메모리의 에어리어에서 검증 및 인증에 필요로 되는 시드들 및 다른 정보를 저장할 수 있다. 이에 대한 더 많은 정보에 대해서는, 그 전체들이 본원에 참조되어 있는 M. Holtzman, 등에게 허여되고, 대리인 문서번호가 SNDK.470US2이며, 명칭이 "Methods Used in a Secure Yet Flexible System Architecture for Secure Device With Flash Mass Storage Memory"인 출원 번호 11/317,341 및 M. Holtzman 등에게 허여되고, 대리인 문서번호가 SNDK.470US3이며, 명칭이 "Secure Yet Flexible System Architecture for Secure Devices With Flash Mass Storage Memory"인 출원 번호 11/317,339호를 참조하라. 시드들은 또한 장치의 숨겨진 구획들 내로 로딩될 수 있다. 시드들이 저장될 때마다 시드들을 로딩하는 것은 시드를 로딩하고자 하는 엔티티가 그렇게 하도록 적절한 승인 및/또는 크리덴셜들을 가지는 경우에만 가능할 수 있다. 일부 실시예들에서, 이 승인은 이후에 논의되는 액세스 제어 기록에 포함된다.
본 발명은 보안 용도를 위해 휴대용 대량 저장 장치를 사용한다. 상기 장치는 i) 자신 상에 저장된 정보로의 액세스를 제한하고, ii) 장치 기능을 다른 보안 시스템 및 데이터로의 액세스를 허용하는 "키"의 유형으로서 만드는 장치에 내장된 보안 특성들을 갖는다. 본 발명은 또한 사용자의 크리덴셜들을 검증하기 위하여 휴대용 대량 저장 장치를 사용하는 시스템을 포함한다. 일단 검증되면, 사용자는 정보에 액세스하는 것을 허용받을 것이며, 그렇지 않으면, 사용자는 액세스할 수 없을 것이다.
전형적으로, 사용자의 크리덴셜들을 검증하기 위하여 고정적 패스워드들이 사용되었다. 그러나, 고정적 패스워드는 훔치기가 용이하고, 특히 요즘의 패스워드들 및 다른 개인 정보에 대한 광범위한 "피싱"이 제공되면, 더 적은 보호를 제공한다. 배경에서 상술된 바와 같이, 전용 OTP 토큰 시스템들이 또한 구현되었다. 이러한 전용 토큰들은 지니기가 부담스럽고, 고가이며, 시장에서 광범위하게 수용되지 않았다. 이러한 토큰들은 또한 메모리 카드 또는 USB 드라이브의 대량 저장 기능을 갖지 않는다.
요즘, 디지털 카메라, 비디오 레코더, PDA, 휴대용 음악 플레이어, 또는 퍼스널 컴퓨터를 가진 거의 모든 사람은 메모리 카드 또는 종종 "섬" 드라이브("thumb" drive)라고 칭해지는 포켓 크기의 USB 드라이브를 갖는다. 본 발명은 OTP를 구현하기 위해 별도의 전용 토큰(또는 다른 전용 장치)을 필요로 하는 엔트리에 대한 장벽을 제거한다. 사용자가 다수의 장치들을 지닐 필요가 있는 것이 아니라, 그 대신에 자신이 이미 가진 어떤 것을 종종 사용할 수 있다면, 이중 인증 및 OTP의 사용과 수용은 실질적으로 증대되어야 한다. 이로 인해, 전자 상거래 및 다른 에어리어에서 사기의 위험이 줄어들고 보안 조치가 더 양호해진다.
본 발명의 실시예들은 OTP 기능을 갖는 USB 플래시 저장 장치와 같은 휴대용 저장 장치를 포함하며, 사용자에 의한 선택 시에 적절한 기관 웹 페이지로 자동적으로 링크되는 상기 장치 내의 클라이언트는 사용자 크리덴셜들을 입력하고, 상기 장치와의 OTP 거래를 수행하고, OTP 값을 웹 페이지에 입력하므로, 한 번의 사용자 클릭으로 전체 작동을 끊김없이 수행한다.
증가된 보안 조치는 아이덴티티 절도 및 사기가 온라인 금융 활동의 성장에 대해 항상 더 큰 위협들이 되고 있기 때문에 가장 중요하다. 은행들, 중계업자들, 및 다른 금융 기관들은 자신들이 비용들이 지점에서 수행된 동일한 거래에 비하여, 거래당 0.5%만큼 적어질 수 있는 온라인으로 더 많은 활동을 행할 수 있도록 하는 솔루션들을 찾고 있다. 마찬가지로, 온라인 상거래, 아이들을 위한 안전 브라우징, 등에 관해 개발되고 있는 다른 프로그램들이 존재한다. 이들 각각에 대해, 사용자 아이덴티티 및 크리덴셜들을 획득하기 위하여 피싱 및 해킹하고 있는 아이덴티티 절도, 및 신용 카드 정보의 복제 또는 물리적 절도의 가장 통상적인 형태들을 극복하는, 개인의 더 강한 인증을 제공하는 수단이 근본적으로 필요로 된다.
문제점에 대한 하나의 솔루션, 및 본 발명의 한 양상은 온라인으로 로그온하거나 온라인으로 거래를 수행하기 위하여 이중 인증을 수행하는 수단 또는 시스템을 소비자들에게 제공하는 것이다. 이름이 나타내는 바와 같이, 이중 인증은 사람이 2개의 시스템 구성요소들을 소유하는 것을 필요로 하는데, 이 중 하나는 전형적 으로 사람을 특정하게 식별하는 물리적 장치이고, 다른 하나는 그 사람에게만 공지되어 있는 한 피스(piece)의 정보(시크릿) 및 사람이 인증하고자 하는 엔티티이다.
인증 또는 검증 엔티티는 전형적으로 사람의 크리덴셜들을 포함하는 데이터베이스를 가질 뿐만 아니라 사람이 이중 인증 시스템의 구성요소들 둘 모두를 소유하고 있는지를 검증하는 수단을 가질 것이다. 사람은 구성요소들 둘 모두를 검증할 수 있는 경우에만 인증되어서, 해커가 사람의 아이덴티티 및 시크릿을 결정할 수 있는 가장 통상적인 형태의 사기가 방해되는데, 그 이유는 전형적으로 결코 물리적으로 사람 주변에 있지 않은 해커가 물리적 구성요소의 소유권을 갖지 않을 것이기 때문이다. 마찬가지로, 사람은 장치를 분실하게 되거나, 절도를 당하는 경우, 시크릿의 정보 없이 잘못 인증하는데 물리적 구성요소를 사용할 수 없다.
본 발명은 암호 기능을 포함한다. 바람직한 실시예에서, 본 발명은 암호화 기능이 대안적으로 주로 펌웨어를 기반으로 할 수 있을지라도, 하드웨어-기반으로 한 암호 엔진을 포함한다. 시스템을 해킹하는데 필요로 되는 노력을 증가시키기 위하여 어떤 형태의 암호를 포함하는 것이 유용하다. 하드웨어 기반으로 한 암호 엔진을 사용하는 장점은 하드웨어에 의해 사인되지 않는다면 펌웨어가 실행될 수 없는 방식으로 펌웨어가 암호 엔진에 얽매일 수 있다는 것이다. 이것은 장치가 작동하기 위하여 인증 펌웨어 및 하드웨어 둘 모두가 존재할 필요가 있다는 것을 의미한다. 하나 또는 다른 하나는 장치의 보안을 절충하도록 설계된 피스(piece)들로 교체될 수 없고, 콘텐트들의 인증받지 않은 복제를 허용할 수 없다. 더 많은 정보에 대해서는, 그 전체가 본원에 참조되어 있는 Holtzman 등에게 허여되고, 명칭이 "Hardware Driver Integrity Check of Memory Card Controller Firmware"인 미국 특허 출원 번호 11/285,600을 참조하라.
PC 또는 셀 전화는 모든 형태들의 해킹을 받기 쉬운 개방 구조를 갖는다. 본 발명의 장점은 대량 저장 장치 내에 암호 케이퍼빌리티(cryptographic capability)들을 배치함으로써, 전형적인 퍼스널 컴퓨터("PC") 또는 셀룰러 전화와 같은 전자 장치 상에 존재하는 것에 비하여 매우 안전하고 제한된 API가 사용될 수 있다는 것이다. 대량 저장 장치의 안전한 API는 해커들이 대량 저장 장치 내에 포함된 암호 시크릿들을 식별하도록 시도하는데 있어서 통상적인 논리적 인터페이스를 사용하지 못하도록 한다. 본질적으로, 본 발명의 대량 저장 장치는 자신의 결합되는 호스트보다 훨씬 더 안전하도록 이루어진다.
안전한 대량 저장 장치는 본질적으로 자동 이체(pass-through)로서 호스트 장치를 사용하여, 원격으로 위치된 서버 또는 서버들과 제휴하여 작동한다. 어떤 실시예들에서, 호스트 장치의 프로세서가 대량 저장 장치 상에 저장되는 클라이언트를 실행할지라도, 바람직한 실시예에서, 암호 및 OTP 작동들은 훨씬 더 보호된 방식으로 물리적이고 논리적으로 구성될 수 있는 대량 저장 장치에 독점적으로 포함된다. 안전한 대량 저장 장치는 원격으로 위치된 보안 엔티티 또는 엔티티들과 함께 작동하여 보안 시스템을 형성한다. 대량 저장 장치 및 보안 엔티티들 간의 접속들이 또한 안전하다. 원격으로 위치된 보안 엔티티는 전형적으로 액세스로부터 물리적으로 보호되고 외부 인터페이스를 통해 수행될 수 있는 상호작용들의 유형들을 제한하는 보안 대응책들(secure countermeasure)들을 가지는 하나 이상의 원격 서버이거나, 상기 하나 이상의 원격 서버를 포함한다.
이제 도면들이 참조될 것이다. 도1은 휴대용 대량 저장 장치("MSD")가 인증 및 패스워드 관리에 사용될 수 있는 시스템을 도시한다. MSD(100)는 접속(102)을 통하여 호스트 컴퓨팅 장치(110)에 접속된다. 접속(102)은 직접 또는 무선 접속 중 어느 한 유형일 수 있다. 무선 접속의 일부 예들로는 표준 전화 통신 링크를 사용하는 OTA(over the air); 일부가 wi-fi(802.11x) 및 블루투스와 같은 프로토콜들 및 선택된 범위들 포함하는 무선 주파수들; 유도 근거리 자기장 통신("NFC"); 및 적외선이 있다. 현재 바람직한 실시예들에서, MSD(100)는 USB 드라이브 또는 메모리 카드의 형태를 취하므로, 상기 접속은 직접적이며, MSD는 호스트 장치의 리셉터클(104)과 인터페이스할 것이다. 이하에 더 상세히 논의되는 바와 같이, MSD(100)는 큰 사용자 파일들을 자주, 그리고 고속으로 저장 및 회수하는데 사용되는 대량 저장 메모리를 갖는다. 이러한 사용자 파일들은 임의의 유형의 파일일 수 있고, 통상적으로 디지털 사진들 및 음악, 뿐만 아니라, 실행 가능한 소프트웨어 프로그램들을 포함한다. 무선 접속(102)의 경우에, 리셉터클(104)은 물리적 리셉터클이 아니라, 그 대신에 무선 송수신기일 것이다.
호스트 컴퓨팅 장치(110)는 임의의 유형의 스마트 전자 장치일 수 있고, 편의상 간단히 호스트라 칭해질 것이다. 호스트(110)의 일부 예들로는 퍼스널 컴퓨터, 셀룰러 전화, 또는 휴대용 오거나이저/이메일 디바이스("PDA")가 있다. 실제로, 호스트는 사용자의 계정들 및/또는 관심 있는 사이트들에 액세스하는데 사용될 수 있는 임의의 전자 장치일 수 있다. 호스트(110)는 다양한 기관들(118) 및 다른 엔티티들과 차례로 접속되는 네트워크에 접속된다. 간소화를 위하여 단지 하나의 기관(118)만이 도시되어 있다. 네트워크는 인터넷과 같은 임의의 유형의 광역 네트워크, 및 다양한 유형들의 셀룰러 전화 네트워크들을 포함할 수 있다. 어떤 네트워크들은 또한 위성 통신들을 사용할 수 있다. 네트워크에 접속된 한 유형의 엔티티는 검증 또는 인증 엔티티(124)이다. 엔티티(124)는 하나 이상의 서버들을 포함한다. 호스트(110)가 PC인 경우에, 바람직하다면 가상 사설 네트워크("VPN") 접속이 설정될 수 있다. 호스트를 기관(118)에 접속시키는 네트워크 접속(114) 및 호스트를 검증 엔티티(124)에 접속시키는 네트워크 접속(116) 이외에, 기관(118) 및 검증 엔티티(124) 사이에 별도의 비-네트워크 접속(122)이 또한 존재할 수 있다. 틀림없이, 기관들(118)은 또한 네트워크를 통하여 엔티티들(124)과 통신할 수 있다.
호스트(110) 및 이와 상호작용하는 구성요소들이 이제 현재 바람직한 실시예들을 참조하여 설명될 것이지만, 이와 같은 설명은 결코 첨부된 청구항들에 의해 규정되는 본 발명의 범위를 제한하지 않아야 한다. 바람직한 실시예에서, 호스트(110)는 PC이며, MSD(100)는 USB 섬(thumb) 드라이브이다. 상술된 바와 같이, 호스트 컴퓨터는 또한 제거 가능한 저장 장치를 수용할 수 있는, 통상적으로 PDA라 칭해지는 휴대용 컴퓨터, 또는 셀룰러 전화, 또는 디지털 카메라, 또는 이러한 기능들 모두를 갖는 하이브리드 장치 일 수 있다. 하나의 실시예에서, 저장 장치 및 서브시스템은 호스트 컴퓨터에 내장될 수 있다. 사용자는 특정 기관에 액세스하고자 할 때, 예를 들어, 자신의 온라인 은행에 말하고, MSD(100)를 USB 포트 내로 플러깅하고, MSD에 상주하는 클라이언트가 PC에 의해 런칭되고 나서, 클라이언트가 상기 사용자를 자신의 은행 계정 또는 계정들 내로 사인(sign)한다. 검증 엔티티(124)는 기관, 클라이언트, PC, 및 MSD와 함께 작동하여, 사용자가 기관에 액세스하는 것을 허용받고 기관으로 로그온 또는 사인하기 전에, 사용자 및 사용자의 MSD를 검증/인증하도록 한다. 물론, 각각의 기관(118)은 자신의 사용자들 및 이들의 계정 번호들 및 시크릿들(예를 들어, 패스워드들 또는 PIN 번호들)의 각종 데이터베이스들을 유지한다. 마찬가지로, 검증 엔티티는 사용자들 및 이들의 장치들을 검증/인증하는데 필요로 되는 데이터베이스들을 유지한다. 이러한 프로세스들은 이하에 더 상세히 논의될 것이다. 또한, MSD(100)에 상주하는 클라이언트 애플리케이션은 MSD(100) 또는 호스트(110)의 프로세스에 의해 실행될 수 있고, 이것은 필요로 되는 보안 레벨 및 호스트(110)와 MSD(100)의 구성들, 뿐만 아니라, 이들 사이의 접속(102)에 따를 것이다. 호스트(110)가 PC인 경우에, PC가 클라이언트 애플리케이션을 실행하는 것이 현재 바람직하다.
도2는 도1과 유사하지만, 하나 이상의 서버들을 포함하는 검증 엔티티가 기관 및 이의 장비와 동일한 프리미스(premise)들 상에 있을 수 있다는 것을 더 명확하게 한다. 게다가, 도2는 오서리티(authority)(126)를 도시한다. 오서리티는 검증/인증 및 사용자 사인 온에 필요로 되는 정보를 MSD(100)에 제공하는 엔티티이다. 오서리티(126)는 또한 오서리티 서버(126)로 칭해질 것이다. 예를 들어, 오서리티(126)는 MSD(100) 내에서 OTP 발생에 필요한 시드들을 제공할 수 있다. 오서리티(126)는 네트워크 접속(128)을 통하여 호스트(110)에 접속되는 것으로 도시되어 있다. 이와 같은 시나리오에서, 오서리티는 MSD(100)의 가용 수명 동안의 임의의 시간에 시드들을 MSD(100) 내로 로딩할 수 있다. 오서리티는 또한 필요하다면 시드들을 변화시키고 제거할 수 있다. 시드들이 공장에서 로딩되는 시나리오에서, 오서리티(126)는 네트워크 및 호스트 장치를 통하여 접속함이 없이, 직접 MSD에 접속될 수 있다. 오서리티(126)는 임의의 수의 회사들 또는 다른 엔티티들에 의해 작동될 수 있다. 이와 같은 한 엔티티는 장치의 제조자 또는 공급자일 수 있다. 예를 들어, MSD가 본 발명의 양수인인 SanDisk에 의해 제조된 경우, 오서리티는 또한 SanDisk 또는 이의 에이전트일 수 있다. 또 다른 예로서, 오서리티(126)는 고용주와 같은 장치 분배자일 수 있다. 또한, 기관(118) 또는 검증 엔티티(124)는 오서리티(126) 대신에 직접 또는 오서리티(126)와 함께 검증/인증에 필요로 되는 정보(예를 들어, OTP 시드들)를 제공할 수 있다.
도3A는 MSD(100)의 물리적 구성요소들 중 일부를 도시한다. 인터페이스(304)는 데이터 및 명령들을 MSD(100)와 송수신하며, 제어기(306)와 정보를 교신한다. 상술된 바와 같이, 인터페이스(304)는 일부 실시예들에서, 대량 저장 장치의 전기 접촉부들 및/또는 커넥터를 포함하는 반면, 다른 실시예들에서 무선 송수신기를 포함한다. 실시예들 중 일부에서, MSD(100)에 대한 전력이 또한 장치 인터페이스(304)를 통하여 수신될 수 있다. 제어기(306)는 마이크로프로세서를 포함하며, MSD(100)의 데이터 저장 작동들 모두를 제어한다. 이것은 상기 제어기가 바람직하게는 플래시 변종(flash variety)으로 이루어지는 대량 저장 메모리(308)로, 그리고 상기 대량 저장 메모리로부터의 판독 및 기록 작동들 모두를 조정한다는 것을 의미한다. 제어기 및 대량 저장 메모리가 직렬로 접속되어 있는 것으로 도시되어 있을지라도, 이들은 실제로는 통상적으로 버스를 통해 접속된다. 판독 전용 메모리("ROM") 및 랜덤 액세스 메모리("RAM")을 포함한 다수의 다른 구성요소들이 또한 버스 상에 존재한다. MSD(100)는 대량 저장 메모리(308)에서 암호화된 파일들을 판독 및 기록할 수 있고, 이것은 바람직한 실시예들에서 제어기(306) 내의 암호화 엔진에 의해 성취된다. 제어기는 MSD(100)를 작동시키기 위하여 펌웨어를 실행하고, 이 펌웨어는 전용 ROM 상에 위치되거나, 대안적으로 플래시 메모리(308)에 저장될 수 있다. 펌웨어는 상기 펌웨어를 저장하기 위한 ROM의 비용을 제거하기 위하여, 바람직하게는 대량 저장 장치(308)에 저장된다. ROM의 본질적인 보호를 필요로 하는, 플래시 메모리(308)에 MSD를 작동시키는 펌웨어를 저장하는 것은 펌웨어 내의 복제 보호 루틴들이 악의 있는/안전하지 않은 펌웨어로 탬퍼링(tampering)되거나 펌웨어가 악의 있는/안전하지 않은 펌웨어로 완전히 교체될 수 없도록 하는 광범위한 보호 메커니즘들을 MSD(100)에서 필요로 한다.
도3B에 도시된 바와 같이, 플래시 메모리(308)는 펌웨어 및 MSD의 작동에 필수적인 다른 정보가 위치되는 보안 에어리어(308A)를 갖는다. 일부 실시예들에서, 펌웨어는 암호화되고, 먼저 자신이 인증되었다는 것이 결정되지 않는다면 실행되지 않을 것이다. 펌웨어의 인증에 대한 더 많은 정보에 대해서는, 그 전체가 본원에 참조되어 있는 Holtzman 등에게 허여된 명칭인 "Hardware Driver Integrity Check of Memory Card Controller Firmware"인 출원 번호 11/285,600를 참조하라. 또한, 일부 실시예들에서, 보안 에어리어(308)로의 기록은 장치의 어떤 작동 상태들에서만 수행될 수 있다. 일반적으로 말하면, 이것은 또한 펌웨어의 탬퍼링 또는 교체로 부터 보호하는 역할을 하며, 대량 저장 장치의 작동 상태들에 대한 더 많은 정보에 대해서는, 그 전체가 본원에 참조되어 있는 M.Holtzman 등에게 허여된 명칭이 "Secure Memory Card with Life Cycle Phases"인 출원 번호 11/053,273을 참조하라. 이러한 보호들은 대량 저장 장치가 일반적인 용도의 파일 저장에 사용되고, 특히 복제에 자유롭게 이용할 수 없는 저작권이 있는 작품들을 저장하는데 사용되기 때문에 적절할 필요가 있다. 예를 들어, MSD 상의 음악은 인증되지 않은 복제로부터 보호되어야 한다(이것은 사용자 파일들을 저장하는데 사용될 수 없는 전용 토큰들에 의한 문제가 아니다). 이것은 장치를 제어하는 펌웨어가 해킹하기가 본질적으로 더 어려운 ROM과 같은 전용 저장 장치 상이 아니라, 사용자 파일들과 동일한 대량 저장 메모리 내에 존재할 때 특히 중요하다.
논리적 슬롯들(310A, 310B... 310x)이 보안 에어리어(308A) 내에 위치된다. 이러한 슬롯들은 또한 파일 저장 에어리어(308B)에 존재할 수 있다. 슬롯은 사용자를 기관에 로그인하는데 필요한 정보를 저장하는데 사용되는 보호된 논리적 메모리 에어리어이다. 정보는 하나의 보안 조치로서 암호화된다. 이 정보는 사용자의 이름 어드레스 계정 번호 등과 같은 사용자의 식별 정보, 패스워드 또는 PIN과 같은 사용자의 시크릿, 및 각각의 기관에 대한 시드 값들 및 알고리즘들을 포함하는 OTP 값들을 발생시키는데 필요한 정보를 포함할 수 있다. 각각의 기관은 자신의 슬롯을 가질 것이다. 일부 실시예들에서, 기관들 내의 각각의 계정은 자신의 슬롯을 가질 수 있다. 로그인 및 슬롯들의 사용이 이후에 더 상세히 설명될 것이다. 본 발명의 실시예에서, MSD의 슬롯들은 정보가 더 신뢰 가능하고 고속으로 회수되도록 하기 위하여 논리적 대 물리적 맵핑을 겪지 않는 대량 저장 메모리의 시스템 에어리어에 위치될 수 있다. OTP 발생을 위해 사용되는 시드들은 또한 파일 저장 에어리어(308B) 내의 파일들에 액세스하는 컴퓨터로부터 숨겨지는 메모리(308)의 에어리어에 저장될 수 있다. 이것은 메모리(308) 내의 어딘가에 위치되는 숨겨진 구획들 내에서 행해질 수 있다.
상술된 바와 같이, 시드들은 여러 번 MSD(100) 내로 로딩될 수 있다. 시드들을 카드 내로 로딩하고자 하는 엔티티가 로딩이 발생하기 전에 검증되는 것이 중요하다. 하나의 실시예에서, 이것은 대량 저장 장치의 보안 모듈인 보안 저장 애플리케이션("SSA")에 의해 관리된다. 이것은 장치 내의 관리 층을 통해 또는 클라이언트 애플리케이션(320)과 상호작용할 수 있다. SSA 및 다른 관련 정보는 그 전체가 본원에 참조되어 있는, Fabrice Jogand-Coulomb 등에게 허여되고, 명칭이 "Control Sturcture for Versatile Content Control"이며 대리인 문서 번호 SNDK.382US4를 갖는 특허 출원 번호 11/313,536에 설명되어 있다. SSA 시스템은 MSD의 저장 시스템의 최상부에 위치하고, 하나의 실시예에서 시드들을 포함하는, 저장된 파일들 및 다른 데이터에 대한 보안 층을 부가한다.
SSA 구획들은 SSA을 통해서만 액세스될 수 있는 (호스트 운영 시스템 또는 OS 및 다른 모든 엔티티들로부터) 숨겨진 구획들이다. SSA 시스템은 바람직하게는, 액세스 제어 기록("ACR")으로 로그온함으로써 설정되는 세션을 통한 것 이외에는, 호스트 장치 또는 다른 엔티티가 SSA 구획에 액세스하지 못하도록 할 것이다. 유사하게, 바람직하게는, SSA는 이 요청이 적절한 오서리티 또는 엔티티에 의해 설정된 세션을 통해서 발생되고 있지 않다면, SSA 구획의 존재, 크기 및 액세스 승인에 관한 정보를 제공하지 않을 것이다.
구획들에 대한 액세스 권리들은 ACR 내에 포함된 승인들의 리스트로부터 도출된다. ACR은 또한 로그인 알고리즘, 크리덴셜들, 및 엔트리의 또는 상기 엔트리와 함께 사용될 인증 방법을 포함할 수 있다. 구획이 생성될 때, 호스트는 그 구획에 대한 레퍼런스 이름 또는 ID를 제공한다. 이 레퍼런스는 구획에 대한 부가적인 판독 및 기록 명령들에서 사용된다. 그러므로, 이와 같은 실시예에서, 엔티티가 MSD에서 시드를 로딩하도록 하기 위하여, 상기 엔티티는 적절한 승인 및/또는 적절한 로그인 알고리즘, 크리덴셜들, 및 인증 방법을 가져야 할 것이다.
도3C는 MSD(100)의 바람직한 실시예들의 분할된 기능을 도시한다. 바람직한 실시예들에서, 클라이언트 애플리케이션(320)은 많은 기능들을 수행하지만, OTP 발생을 수행하지 않는다. 바람직한 실시예들에서, 상술된 바와 같이, 클라이언트는 (MSD 상에 저장될지라도) 호스트 상에서 실행되는 발면, OTP 발생은 MSD 상에서 수행된다. OTP 발생기(330)는 다양한 호스트 장치들에 존재할 수 있는 비교적 개방되고 잠재적으로 안전하지 않은 환경들에 비하여, MSD(100)의 보안 환경들 내에서 더 양호하게 보호된다. 클라이언트(320)는 OTP 발생기(330)에 의해 발생된 OTP 값을 요청하고 나서 상기 값을 페칭할 것이다. OTP 발생기(330)는 제조 시에 시딩 (seeding)된 단일 알고리즘만을 사용할 수 있는 이전의 OTP 토큰들보다 더 많은 보안성 및 기능을 제공하기 위하여 다수의 상이한 알고리즘들을 사용할 수 있다. 예를 들어, OTP 발생기(330)는 각각의 기관에 대하여 특정 값 발생 알고리즘을 사용 할 수 있다. OTP 발생기는 제어기(306)의 논리, 프로그램 가능한 논리 장치, 또는 별도의 전용 회로에서 구현될 수 있다. 전용 회로는 ASIC에서 구현되거나, 기판 레벨 회로 구성요소들로 구현될 수 있다.
클라이언트(320)는 또한 장치 인터페이스(320A), 사용자 인터페이스(320B), 인증 관리자(320C), 및 프로비저닝 관리자(320D)를 포함한다. 클라이언트(320)는 사용자 인터페이스(320A)와의 사용자 상호작용에 기초하여 사용자를 사용자가 선택한 기관들로 끊김없이 로그온시킨다. 사용자 인터페이스는 사용자의 인식 또는 중재 없이 장치 인터페이스, 인증 관리자, 및 프로비저닝 관리자를 트리거한다.
도4는 장치(100)의 다용도 기능을 도시한다. MSD(100)는 대량 저장 기능을 갖는다. 이것은 사용자가 전형적으로 종래의 패킷 크기의 장치에서 자신의 파일들을 저장하기 위하여 MSD(100)를 갖는 이유이다. 이제, 본 발명은 계정 관리 및 사인 온의 편리성을 추가한다. 이것은 패스워드 관리 및 인증 관리 둘 모두를 포함한다. 인증 관리는 사용자 및 사용자의 장치 둘 모두가 이들이 보안 기관들에 액세스하고자 하고 상기 보안 기관들에 액세스하도록 승인받은 것들인지를 검증하는 것을 포함한다. 인증 관리는 특정 장치 식별자 및 OTP 발생기(330)에 의해 발생된 1회용 패스워드들의 사용을 포함한다. 장치에 이중 인증 및 OTP 발생의 보안성을 추가하여, OTP 사용의 채택이 이미 사용자에 의해 상당히 증가되었다. 다중 패스워드들을 관리하는 편리성을 추가하여, 이와 같은 장치가 또한 사용자들에게 훨씬 더 관심을 받았고 유용해졌다. 보안성, 기능성, 및 편리성이 증가되어 보안 기관들에서 뿐만 아니라, 사용자들 사이에서 이중 인증의 수용 레벨이 더 높아질 것이다.
프로세스들의 복잡함이 이제 도5A-10C를 참조하여 상세히 설명될 것이다.
도6C는 2개의 원리 단계들을 도시한다. 우선 단계(604)에서, MSD(100)는 장치가 현장에 있는 동안, 즉, 장치가 판매되어 사용자가 소유한 후에, 하나 이상의 OTP 시드들을 수신한다. 하나의 실시예에서, 카드에서 기관당 하나의 시드가 수신된다. 다른 실시예들에서, 2개 이상의 기관들에 대한 값들을 발생시키기 위하여 하나의 시드가 사용된다. 장치가 사용자 또는 중개인에게 판매되기 전에 다수의 시드들이 장치 내에서 프리-로딩(pre-loading)될 수 있지만, 시드들이 작동 중에 로딩될 수 있는 것이 바람직하다. 그 후에, 단계(608)에서, 수신된 시드(들)는 휴대용 대량 저장 장치(100)에 의해 다수의 기관(들) 내로 사인하는데 사용된다. 시드들이 작동 중 로딩되기 전에, 클라이언트는 일부 실시예들에서 호스트에 접속된 MSD가 필요한 OTP 발생을 수행할 수 있는지를 검증한다. 이를 행하는 방법은 ActiveX에 의한 것이다.
도5A와 5B 및 도7-10C의 흐름도들은 함께 보여져야 한다. 도5A는 장치 슬롯 바인딩 및 장치 슬롯 활성화와 관련된 엔티티들: 최종 사용자(99), MSD(100), 클라이언트(320), 기관(118), 및 검증 엔티티(124) 각각 사이의 상호작용을 도시한다. 장치 슬롯 바인딩 및 활성화는 MSD(100)가 특정 기관에 액세스하는데 사용되기 전에 수행된다. 도5B는 일단 MSD(100)의 슬롯이 이미 바인딩되고 활성화되면, 기관에 액세스하는 것과 관련된 엔티티들 각각 사이의 상호작용을 도시한다. 도5A 및 5B에 도시된 엔티티들은 주로 동일하지만, 클라이언트(320)의 상이한 기능이 사용되고 도시된다. 예를 들어, 도5B에서, 클라이언트의 인증 관리자(320C) 및 사용자 인터 페이스(320B)는 프로세스들에 관련되는 반면, 도5A에 도시된 장치 슬롯 바인딩 및 활성화 동안에는 클라이언트(320)의 프로비저닝 관리자(320D)가 활성이다. 또한, 기관(118)의 기관 데이터베이스(120)는 기관(118)의 부분일지라도, 별도의 논리적 엔티티로서 도시되어 있다.
도7은 기관에 액세스하기 위하여 MSD(100)를 사용하는 주요 단계들을 고 레벨로 도시한 흐름도이다. 단계(704)에서, MSD(100)가 컴퓨터에 접속된 후, 클라이언트가 런칭된다. 클라이언트는 사용자에 의해 런칭되거나, 대안적으로 컴퓨터로의 접속이 감지될 때 자동적으로 런칭될 수 있다. 다음으로, 단계(708)에서, 사용자는 자신이 클라이언트의 사용자 인터페이스를 통하여 액세스하고자 하는 기관을 선택한다. 일부 사용자 인터페이스 스크린들이 도11-12에 도시되어 있고, 이후에 설명될 것이다. 일반적으로, 선택은 클라이언트가 런칭될 때마다 컴퓨터의 인간 인터페이스 장치들을 통하여 행해질 것이다. 그러나, 사용자는 접속이 감지되고 클라이언트가 런칭될 때 기관에 자동적으로 액세스하도록 MSD(100)를 구성할 수 있다.
단계(712)에서, MSD(100)는 선택된 기관들 각각에 대한 OTP 값을 발생시킨다. 각각의 기관은 OTP 발생을 위한 특정한 시드 및 알고리즘을 가질 수 있다. 단계(716)에서, 클라이언트는 선택된 기관들에 접속한다. 일단 접속되면, 클라이언트는 사용자를 선택된 기관들에 로그인하는데 필요로 되는 정보를 제공한다. 이 정보는 사용자의 이름, 계정 번호, 또는 사용자 ID와 같은 사용자의 식별 정보, 사용자의 패스워드 또는 PIN과 같은 사용자의 시크릿 정보, 및 기관이 로그인을 위해 OTP 값을 필요로 하는 유형인 경우에 특정 기관에 대한 OTP 값을 포함한다. 상기 정보 는 사용자가 채우는 클라이언트 사용자 인터페이스의 페이지로부터 수집되거나, 사용자가 자신의 정보를 기관의 웹 페이지에 입력할 때 사용자의 동작들을 모니터링함으로써 수집될 수 있다. 하나의 실시예에서, 클라이언트는 유효한 사용자 크리덴셜들 및 인증 정보를 수신할 시에, 통상적으로 이중 인증 없이 로그온하는데 사용될 수 있는 종래의 로그인 웹 페이지 엔트리들을 자동적으로 채우는 웹 서버에 사용자 및 인증 정보를 제공할 수 있다. 이 실시예는 소정의 기관이 이중 인증을 핸들링하기 위하여 별도의 시스템 구성요소를 추가하면서, 단일 웹 로그-온 페이지를 유지할 수 있도록 할 것이다. 일부 실시예들에서, MSD(100)의 장치 ID가 또한 로그인하는데 필요로 될 수 있다. 단계(724)에서, 사용자(99) 및 장치(100)는 인증/검증되고, 사용자/장치는 각각의 선택된 기관에 로그인된다. 최종적으로, 사용자가 로그인되면, 상기 사용자는 기관에 액세스할 수 있다. 사용자가 기관의 웹 사이트에 액세스하고 있는 경우에, 단계(728)에서 기관 웹 페이지들은 사용자에게 제공된다. 물론, 기관 인터페이스들은 웹 페이지들에 국한되지 않고, 다른 인터페이스들의 액세스가 본 발명의 범위 내에 존재한다. 이것은 특히 호스트(110)가 PC 이외의 어떤 것인 경우와 관련된다.
도8은 도7과 유사한 흐름도이지만, 도8에서, 기관 및 사용자/장치 이외의 당사자인 제3자가 사용자를 기관에 로그인하는 역할을 한다. 도7과 상이한 단계들만이 설명될 것이다. 단계(714)에서는, 도7의 단계(716)에서와 같이 클라이언트가 사용자/장치/호스트를 기관 이외의 제3자에게 접속시킨다. 이 제3자는 사용자들, 장치들, 기관들, 및 사용자와 사용자의 장치의 신뢰성(authenticity) 및 유효 성(validity)을 검증하는데 필요로 되는 모든 정보의 데이터베이스들을 유지한다. 이것은 MSD에 의해 발생된 OTP 값들을 검증하는 것을 포함할 수 있다. 단계(717)에서, 제3자는 사용자/장치를 인증/검증한다. 일단 이것이 발생하면, 단계(717)에서 제3자는 사용자를 상기 사용자가 선택한 기관들에 로그인시키는데 필요로 되는 적절한 정보를 제공한다. 제3자는 MSD 레벨에서 또는 제3자 자신에 의해 발생된 OTP 값들을 제공할 수 있다. 그 후, 단계(722)에서, 사용자는 기관에 로그인된다.
상술된 바와 같이, MSD(100)가 사용자를 상기 사용자가 선택한 사이트들에 로그인하는데 사용되기 전에, 장치 내의 슬롯들이 바인딩되고 활성화되어야 한다. 사용자 및 장치는 또한 도9에 도시된 바와 같이, 로그인이 완료되기 전에 인증되어야 한다. 단계(905)에서, MSD(100)의 슬롯(310)은 검증 서버(124)라고 또한 칭해질 수 있는 검증 엔티티(124)의 서버에 의해 바인딩된다. 이 단계는 도10의 흐름도에 더 상세히 설명되어 있고, 도5A에서 또한 도시되어 있다. 다음으로, 단계(910)에서, 슬롯이 활성화된다. 이 활성화 프로세스는 도10B의 흐름도에 더 상세히 설명되어 있고, 도5A에 또한 도시되어 있다. 단계(915)에서, MSD(100)의 사용자 및 슬롯이 인증된다. 이 인증 또는 검증 프로세스는 도10C의 흐름도에 더 상세히 설명되어 있고, 도5B에 또한 도시되어 있다.
도10A는 바인딩(도9의 단계(905))의 프로세스를 상세히 도시한다. 단계(918)에서, MSD가 우선 호스트(110)에 접속된다. 단계(920)에서, 클라이언트가 런칭된다. 다음으로, 단계(922)에서, 사용자는 자신이 사인하고자 하는 기관을 선택한다. 다시, 사용자가 이때 이것을 행하거나, 기관들이 이전의 사용자 세션으로부터 미리 -선택될 수 있다. 그 후, 단계(924)에서, 선택된 기관 또는 계정에 대해 MSD(100) 내의 슬롯이 할당된다. 단계(926)에서, 클라이언트들이 MSD(100)로부터 장치 ID를 회수한다. 그 후, 단계(928)에서, 토큰 ID라 칭해지는 특정 식별자가 장치 ID 및 슬롯 ID로부터 생성된다. 단계(930)에서, MSD(100), 특히 MSD(100)의 적절한 슬롯이 토큰 ID를 사용하여 검증 서버(128)에 바인딩된다. 단계(932)에서, 선택된 기관에 대해 OTP 시드가 수신되고 나서, 단계(934)에서 상기 시드가 할당된 슬롯에 할당된다. 단계들(924-934)은 단계(922)에서 선택된 각각의 기관에 대해 반복된다.
도10B는 장치 슬롯 활성화(도9의 단계(910))의 프로세스를 상세히 도시한다. 장치 슬롯은 바인딩된 후에 활성화될 수 있다. 단계(940)에서, 사용자는 자신의 사용자 이름 또는 다른 사용자 식별 정보 및 자신의 패스워드 또는 다른 시크릿을 입력한다. 다음으로, 단계(942)에서, MSD(100)의 OTP 발생기(330)는 작동되는 슬롯에 대한 하나 이상의 1회용 패스워드 값들을 발생시킨다. 단계(944)에서, MSD의 슬롯이 기관에 의해 활성화되고 나서, 단계(946)에서, 기관 및/또는 클라이언트가 검증 서버(124)에 의한 슬롯/MSD/사용자의 검증을 요청한다. 동일한 시간에, 기관(118) 및 검증 서버(124)는 단계들(948 및 950)에서 슬롯/MSD/사용자를 검증한다. 그 후, 선택적으로 단계(952)에서, 클라이언트 및 사용자는 성공적인 활성화를 통지받는다.
도10C는 사용자 및 장치 인증(도9의 단계(915))의 프로세스를 더 상세히 도시한다. 이것은 도한 도5B에 도시되어 있다. 장치가 활성화될 때, 상기 장치는 기관 또는 계정에 바인딩되고 관련된다. 이것은 장치 ID 및 슬롯 정보를 사용함으로 써 행해진다. 그 후, 기관은 자신이 장치에 제공된 정보 플러스 사용자 특정 정보(사용자 식별 정보 및 시크릿)로 사용자를 인증할 수 있도록 장치 및 이의 콘텐트들을 사용자 이름과 관련시킬 필요가 있다. 단계(960)에서, MSD는 자신이 이미 접속되지 않았다면, 호스트에 접속된다. 다음으로 단계(962)에서, 클라이언트는 자신이 개방이 아니거나 실행되고 있지 않다면 런칭되고, 단계(964)에서, 사용자는 자신의 식별 정보(예를 들어, 사용자 이름, 계정 번호, 등) 및 자신의 시크릿(예를 들어, 패스워드 또는 PIN)을 입력한다. 다음으로, 단계(966)에서, MSD(100)의 OTP 발생기는 특정 슬롯에 대한 OTP 값을 발생시킨다. 단계(968)에서, OTP 값, 사용자 식별 정보 및 사용자 시크릿이 기관에 제출된다. 그 후, 단계(970)에서, 기관은 사용자가 기관에 액세스하는지를 검증한다. 이것은 단계들(970A 및 970B)을 포함한다. 단계(970A)에서, 기관은 기관 데이터베이스(들)에 의해 사용자 식별 정보 및 시크릿을 검증한다. 상기 기관은 또한 단계(970B)에서 검증 서버(124)에 의해 MSD(100)의 토큰 ID 및 OTP 값을 검증한다. 단계(970)에서 사용자가 성공적으로 검증되었다면, 단계(974)에서 상기 사용자는 기관에 로그인된다.
상술된 바와 같이, 하나의 실시예에서, 클라이언트는 유효한 사용자 크리덴셜들 및 인증 정보를 수신할 시에, 통상적으로 이중 인증 없이 로그온하는데 사용되는 종래의 로그인 웹 페이지 엔트리들을 자동적으로 채우는 웹 서버에 사용자 및 인증 정보를 제공할 수 있다. 이 실시예는 소정의 기관이 이중 인증을 핸들링하기 위하여 별도의 시스템 구성요소를 추가하면서, 단일 웹 로그-온 페이지를 유지할 수 있도록 할 것이다. 이 경우에, 이중 인증은 OTP가 빌려질 때 형태-채우기에 자 신들을 용이하게 빌려주지 않은 인증의 형태들로 이루어질 수 있지만, 그 대신에, 전형적으로 챌린지-응답 작동들을 포함하는 "PKI"와 같은 인증 방식들일 수 있다.
도5C는 크리덴셜들의 검증/인증을 위해 공개 키 기반구조를 사용하는 실시예의 하나의 가능한 구현예를 도시한다. 거래들이 자신들이 발생하는 시스템보다 더 안전하지 않을 수 있기 때문에, 가장 중요한 요소는 코리스판던트(correspondents)들이 서로 위치되고 이들이 사용하는 공개 키가 자신들이 통신하고자 하는 사람(또는 기계)에 실제로 속한다는 확신을 갖도록 방법을 설정하는 것이다. 공개 키 기반구조는 이 신뢰를 제공하도록 설계된다. 공개 키를 이의 소유자에 관한 식별 정보와 바인딩하는 디지털 인증서 또는 공개 키 인증서로 칭해지는 데이터 요소를 사용하여, 기반구조는 바인딩을 생성하고, 사용의 커뮤니티(community) 내에서 모든 것의 이점을 위해 이를 관리하도록 설계된다.
PKI는 인증 기술이다. 시크릿 키 및 공중 키 암호의 조합을 사용하여, PKI는 데이터 기밀성, 데이터 무결성, 및 키 관리를 포함한 다수의 다른 보안 서비스들을 가능하게 한다. PKI에 대한 기초 또는 구조는 그 전체가 본원에 참조되어 있는 ITU-T X.509 권장사항[X.509]에 규정되어 있다.
최종 엔티티들은 종종 최종-사용자들로서 간주된다. 종종 최종 엔티티들이 최종 사용자들일지라도, 용어 최종 엔티티는 훨씬 더 일반적인 것을 의미한다. 최종 엔티티는 최종-사용자, 라우터 또는 서버와 같은 장치, 프로세스, 또는 공개 키 인증서의 주체 이름(subject name)에서 식별될 수 있는 어떤 것일 수 있다. 최종 엔티티들은 또한 PKI-관련 서비스들의 소비자들로서 간주될 수 있다. 본 발명에서, 도5에 도시된 실시예에서 알 수 있는 바와 같이, 최종 엔티티는 대량 저장 장치(100) 또는 이의 사용자이다.
공개 키들은 CA(550)에 의해 공개 키 인증서들의 형태로 분배된다. 인증서는 MSD(100)로부터 필요로 되어, 기관(118) 또는 검증 엔티티가 MSD(100)의 사용자가 사인 온 하도록 할 수 있다. 기관(118)으로부터의 인증서는 또한 MSD가 사용자를 기관 내로 사인하기 전에 기관이 인증되었는지를 검증하는데 사용될 수 있다. 공개 키 인증서들은 (공개 키에 주체 이름을 효율적으로 바인딩시키는) 발부 CA(520)에 의해 디지털로 사인된다. CA들은 또한 이것이 별도의 CRL 발부자에 위임되지 않았다면, 인증서 폐기 리스트들("CRL들")을 발부할 책임이 있다. CA들은 또한 최종-사용자 등록과 같은 다수의 관리 태스크들과 관련될 수 있지만, 종종 선택적이며 도5C에 도시되지 않은 별도의 등록 오서리티("RA")에 위임된다. 실제로, CA(520) 또는 다른 CA는 또한 이 기능들이 또한 별도의 구성요소에 위임될 수 있을지라도, 키 백업 및 복구 기능의 역할을 할 수 있다. CA들은 종종 PKI에서 "신뢰의 소스(source of trust)"로서 간주된다. 전형적으로, 최종 엔티티들은 나중에 소정의 인증 경로를 검증하기 위하여 시작 포인트로서 사용되는 하나 이상의 "신뢰 앵커(trust anchor)들"로 구성된다. 일단 PKI 인터페이스를 통하여 신뢰가 설정되면, 로그인이 발생할 수 있다.
도11A-I 및 12A-B는 클라이언트(320)의 다른 실시예들의 인터페이스 스크린들이다. 이러한 스크린들은 본 발명의 편리성을 설명하는 역할을 한다. 비교적 복잡한 계산들 및 상호작용들이 "스크린들 뒤에서" 발생할지라도, 사용자에게 로그인 프로세스는 매우 간단하다. 예를 들어, 사용자는 장치가 선택된 각각의 기관들에 대해 시딩되고, 시드가 사용자의 다른 정보와 함께 자동적으로 검증되는 각각의 로그인에 대한 새로운 (OTP) 값을 발생시키기 위하여 복잡한 알고리즘에 의해 사용된다는 것을 인식하지 못한다. 본 발명은 매우 높은 레벨의 보안을 패스워드 관리의 끊김없는 자동화와 결합시킨다. 본 발명은 또한 일부 실시예들에서 단일 사인 온을 포함할 수 있고, 여기서 사용자의 마스터 정보는 상이한 기관들에 대한 모든 개별적인 패스워드들 및 사용자이름들과 자동적으로 상관된다. 생체인식, 질문들에 응답하는 것, 등과 같이, 본 발명과 함께 사용될 수 있는 다수의 다른 사용자 식별 방법들을 존재한다. 하나의 실시예에서, 더 일반적인 이중 인증 및/또는 패스워드 관리 작동들을 위해 사용자 정보를 제공하기 위하여 시스템이 사용될 수 있고, 상기 정보 중 일부는 다른 정보보다 더 민감할 수 있다. 상기 시스템은 이와 같은 민감한 정보를 분리하고 사용자 검증, PIN/패스워드의 부가적인 엔트리, 또는 다른 동작을 요청하여, 사용자가 시스템에 의해 제공될 이와 같은 정보를 인식하고 이와 같은 정보를 인증하도록 설계될 수 있다. 이것의 일례는 신용 카드 인증 및 지불에 대한 것일 수 있다.
도11A는 웰컴 스크린(welcome screen)을 도시하면, 도11B는 사용자가 특정 기관에 액세스하기 위하여 자신의 패스워드 및 사용자 이름을 채울 수 있는 인터페이스이다. 사용자는 새로운 기관에 진입하거나, 이전에 구성되었던 기관에 액세스할 수 있다. 바람직한 실시예들에서 사용자가 자신의 MSD의 장치 ID를 입력함이 없이 클라이언트가 이러한 정보를 회수할지라도, 이 스크린에서, 사용자는 자신의 MSD의 장치 ID를 입력할 수 있다. 도11C에서, 사용자 인터페이스는 시스템이 MSD를 사용자의 계정(들)에 바인딩시키고 있다는 것을 사용자에게 통지한다. 이 경우에, 선택된 기관은 금융 기관 또는 브로커이다. 도11D에 도시된 바와 같이, 사용자는 자신이 특정 기관에서 가질 수 있는 다수의 계정들에 액세스할 수 있고, 계정들을 추가하고, 편집하고 삭제할 수 있다. 도11E에서, 사용자는 자신의 마스터 패스워드를 입력하도록 요구받는다. 이것은 이후에 시스템에 의해 모든 사용자의 다른 패스워드들 및 계정 정보와 상관되는 패스워드이다. 하나의 실시예에서, 일단 사용자가 바인딩되었다면, 사용자는 이 마스터 패스워드만을 입력할 필요가 있고, 자신의 계정에 액세스하기 위하여, 프로세스가 도11A 또는 11B라기보다는 오히려, 도 11D에서 시작될 것이다. 도11F에서, 사용자는 시스템이 자신의 계정에 접속할 때를 대기하도록 요구받는다. 다음으로, 사용자는 자신이 도11G에서 자신의 계정에 안전하게 접속되었다는 것을 통지받는다. 이 단계에서, 기관의 웹 페이지 또는 다른 인터페이스는 사용자의 호스트 장치 상에서 개방될 것이다. 사용자가 자신의 계정(들)에 액세스하는 것을 마칠 때, 사용자는 도11H에 도시된 사용자 인터페이스 스크린의 출구 버튼을 클릭할 수 있다. 그 후, 사용자는 도11I에 도시된 바와 같이, 부가적인 계정들에 접속할 수 있다.
도12A-B는 클라이언트(320)의 또 다른 실시예의 사용자 인터페이스 스크린들을 도시한다. 도12A에서, 다수의 상이한 기관들을 나타내는 아이콘들이 사용자 인터페이스 스크린 상에 동시에 디스플레이된다. 사용자는 "계정"이라고 또한 칭해지는 기관을 추가하고, 계정을 편집하거나 삭제할 수 있다. 기관들은 사용자에 의해 수동으로 추가되거나, 대안적으로, 사용자가 MSD에 의해 유지되는 리스트로부터 선택할 수 있다. 이와 같은 리스트는 사용자에 의한 요청 시에, 또는 어떤 갱신 스케줄에 기초하여 자동적으로 서버로부터 MSD로 원격으로 갱신될 것이다. 상기 리스트는 또한 사용자 등록에 대한 요청과 같은 임의의 수의 이벤트들에 기초하여 갱신될 수 있다. 아이콘들 각각 내의 버튼들을 클릭함으로써, 사용자는 또한 계정에 액세스하거나 로그인할 수 있고, 계정을 닫거나 로그 오프할 수 있다. 도12B에 도시된 바와 같이, 사용자가 특정 계정을 클릭하여 그 계정을 개방할 때, 클라이언트는 사용자가 "서브-계정들"이라고 또한 칭해질 수 있는 특정 기관들에서의 자신의 계정들 사이를 선택하도록 할 것이다.
바람직한 실시예에서, 일단 제시된 모든 계정들이 구성되었다면, 사용자는 MSD에 대한 자신의 마스터 패스워드만을 입력하기만 하면 되고, 그 후에 자신이 로그인하고자 하는 기관에 대응하는 아이콘을 간단히 클릭할 수 있다. 다른 실시예들에서, 개별적인 패스워드들 및/또는 사용자 ID들이 또한 추가된 보안성을 위해 입력될 필요가 있다.
그 후, 사인 온을 용이하게 하는 애플리케이션에서 상세히 상술된 작동들이 스크린들 뒤에서 끊김없이 발생할 것이다. 이것은 사용자들 및 기관들에게 동등하게 이익이 되는 매우 높은 레벨의 보안성을 제공하는 동시에, 로그온 및 패스워드 관리를 취급하는 것이 사용자에게 매우 편리하도록 할 것이다. 이러한 편리성 및 보안성 모두는 사용자가 이미 가장 소유할 것 같은 장치 내로 통합된다. 이것은 전용 토큰들과 달리, 클라이언트가 포켓 크기의 대량 저장 장치의 대량 저장 메모리 에 추가될 수 있기 때문에 가능하다. 휴대용 대량 저장 장치는 PC와 같은 개방 환경에서보다 더 로버스트한 물리적 및 논리적 보안성을 가지므로, 정보에 대한 해킹 또는 "피싱"이 훨씬 더 어렵다. 또한, 상이한 패스워드들 또는 다른 정보를 상관시킬 수 있는 일부 대량 저장 장치들과 달리, 본 발명은 일정하게 변화하지만 즉시 검증 가능한 특정 패스워드 값들을 발생시킬 수 있는 알고리즘들 및 프로세스들을 사용한다.
본 발명의 실시예들이 설명되었지만, 본 발명이 이러한 예시적인 실시예들에 국한되는 것이 아니라, 첨부된 청구항들에 의해 규정된다는 것이 이해되어야 한다. 예를 들어, MSD(100)은 대량 저장 용도들을 위해 플래시 형 고체 상태 메모리보다는 오히려 자기 디스크를 사용할 수 있고, 사용자 선택 패스워드들의 종래의 보안성을 강화하기 위한 인증 용도들을 위해 대칭 또는 비대칭 인증 중 어느 한 방식이 구현될 수 있다.

Claims (74)

  1. 휴대용 대량 저장 장치로 사용자의 계정들에 액세스하는 방법에 있어서,
    상기 휴대용 대량 저장 장치가 컴퓨터에 접속하는 것을 검출하는 단계;
    상기 휴대용 대량 저장 장치에 상주하는 클라이언트를 상기 컴퓨터에 의해 기동(launch)하는 단계로서, 상기 컴퓨터와 검증 서버(validation server) 간에 접속이 상기 클라이언트에 의해 설정되도록 하는 단계;
    상기 휴대용 대량 저장 장치가 상기 컴퓨터에 접속되는 동안에, 상기 휴대용 대량 저장 장치에 상주하는 1회용 패스워드 생성기에 의해 사용될 시드(seed)가 상기 클라이언트에 의해 상기 휴대용 대량 저장 장치 내로 로딩되도록 하는 단계;
    상기 로딩된 시드로 1회용 패스워드를 생성하는 단계; 및
    상기 1회용 패스워드가 사용자 식별 정보와 함께 상기 검증 서버로 송신되도록 함으로써, 상기 사용자를 상기 계정들 중 하나에 로그인하여 상기 사용자가 자신의 계정에 액세스할 수 있도록 하는 단계;
    를 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  2. 제1항에 있어서, 상기 휴대용 대량 저장 장치가 접속되는 동안에, 상기 1회용 패스워드 생성기에 의해 사용될 복수의 추가 시드가 상기 휴대용 대량 저장 장치 내로 로딩되도록 하는 단계를 더 포함하고, 각각의 추가 시드는 특정 계정 또는 검증 서버에 의해 사용되고, 각각의 시드는 상기 휴대용 대량 저장 장치의 저장 볼륨 내의 데이터를 액세스하기 위해 상기 접속된 컴퓨터의 시스템 파일에 의해 사용되는 표준 판독 기록 명령을 통해 액세스할 수 없는 상기 휴대용 대량 저장 장치의 숨겨진 파티션에 저장되는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  3. 제2항에 있어서, 오서리티 서버(authority server)가 시드를 상기 휴대용 대량 저장 장치 내로 로딩하기 위해서, 상기 오서리티 서버는 자신이 시드를 로딩하고 상기 숨겨진 구획에 액세스하기 위해 시드를 로딩할 권한이 있음을 설정해야 하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  4. 제1항에 있어서, 상기 1회용 패스워드를 생성하는 단계는 알고리즘으로 값을 계산하는 단계를 포함하고, 상기 1회용 패스워드를 생성하는 단계는 액세스될 각각의 계정 또는 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)에 대해 상이한 알고리즘을 사용하는 단계를 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  5. 제1항에 있어서, 상기 클라이언트를 기동하는 단계 후에, 상기 검증 서버를 상기 휴대용 대량 저장 장치의 슬롯과 바인딩(binding)시키는 단계를 더 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  6. 제5항에 있어서, 상기 검증 서버를 상기 슬롯과 바인딩시키는 단계와 상기 1회용 패스워드를 생성하는 단계 후에, 상기 슬롯이 활성화되도록 하는 단계를 더 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  7. 제6항에 있어서, 상기 슬롯이 활성화되도록 하는 단계 후에, 상기 사용자 및 상기 휴대용 대량 저장 장치가 인증되도록 하는 단계를 더 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  8. 제5항에 있어서, 상기 검증 서버를 상기 슬롯과 바인딩시키는 단계는,
    계정을 선택하는 단계;
    슬롯 식별자를 수신하는 단계;
    상기 휴대용 대량 저장 장치 내의 장치 식별자를 검색(retrieve)하는 단계; 및
    상기 슬롯 식별자 및 상기 장치 식별자에 기초하여 고유 식별자를 생성하는 단계;
    를 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  9. 제8항에 있어서, 상기 검증 서버를 상기 슬롯과 바인딩시키는 단계는 상기 고유 식별자를 사용하여 수행되는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  10. 제8항에 있어서, 상기 슬롯 식별자는 상기 휴대용 대량 저장 장치에 저장되고 상기 컴퓨터의 프로세서에 의해 실행되는 클라이언트로부터 수신되는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  11. 제8항에 있어서, 상기 슬롯 식별자는 상기 휴대용 대량 저장 장치에 저장되고 상기 휴대용 대량 저장 장치의 프로세서에 의해 실행되는 클라이언트로부터 수신되는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  12. 제6항에 있어서, 상기 슬롯이 활성화되도록 하는 단계는,
    사용자 식별 정보가 상기 사용자에 의해 입력되도록 하는 단계;
    상기 사용자가 계정을 선택하도록 하는 단계; 및
    상기 계정 및 상기 사용자를 상기 슬롯과 관련시키는 단계;
    를 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  13. 제1항에 있어서, 상기 시드를 로딩하기 전에, 오서리티 서버(authority server)로부터 상기 시드를 수신하는 단계를 더 포함하는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  14. 제1항에 있어서, 상기 1회용 패스워드를 생성하는 단계는 상기 휴대용 대량 저장 장치 내에서 행해지는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  15. 제1항에 있어서, 상기 1회용 패스워드를 생성하는 단계는 상기 휴대용 대량 저장 장치에 저장된 시드로 상기 컴퓨터 내에서 행해지는 것을 특징으로 하는 사용자의 계정들에 액세스하는 방법.
  16. 자격정보(credentials)를 자동적으로 로딩하는 방법에 있어서,
    휴대용 대량 저장 장치로부터 기동되고 호스트 시스템에 의해 실행되는 애플리케이션에 의해, 상기 휴대용 대량 저장 장치가 1회용 패스워드 값을 생성하는 1회용 패스워드 생성 시퀀스를 수행하도록 하는 단계;
    상기 애플리케이션에 의해, 상기 휴대용 대량 저장 장치로부터 1회용 패스워드 값을 획득하는 단계;
    상기 애플리케이션에 의해, 상기 휴대용 대량 저장 장치의 보안 메모리 영역에 저장된 자격정보 리스트로부터 하나 이상의 사용자 자격정보를 검색하는 단계;
    상기 애플리케이션에 의해, 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)의 웹사이트에 액세스하는 단계; 및
    상기 하나 이상의 사용자 자격정보 및 상기 1회용 패스워드 값을 상기 기관의 웹사이트에 입력하는 단계;
    를 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  17. 제16항에 있어서, 상기 입력 단계는 상기 휴대용 대량 저장 장치의 사용자의 참여없이 자동적으로 수행되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  18. 제16항에 있어서, 상기 입력 단계는 상기 휴대용 대량 저장 장치의 사용자의 행동에 의해 개시되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  19. 제16항에 있어서, 상기 휴대용 대량 저장 장치가 1회용 패스워드 생성 시퀀스를 수행하도록 하는 단계 전에, 시드를 상기 휴대용 대량 저장 장치에 로딩하는 단계를 더 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  20. 제16항에 있어서, 상기 휴대용 대량 저장 장치가 1회용 패스워드 생성 시퀀스를 수행하도록 하는 단계 전에, 상기 휴대용 대량 저장 장치의 식별자를 상기 휴대용 대량 저장 장치에 로딩하는 단계를 더 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  21. 제19항 또는 20항에 있어서, 하나 이상의 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)이 액세스되고, 각각의 기관에 대하여 고유 시드가 로딩되며, 로딩되는 시드에 대하여 상기 시드를 로딩하고자 하는 오서리티 서버(authority server)는 자신이 시드를 로딩할 권한 있음을 설정해야 하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  22. 제16항에 있어서, 하나 이상의 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)이 액세스되고, 각각의 기관에 대하여, 상기 1회용 패스워드 생성 시퀀스를 수행하는데 있어서 고유 패스워드 생성 프로세스가 사용되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  23. 제16항에 있어서, 상기 입력 단계는 상기 하나 이상의 사용자 자격정보와 상기 1회용 패스워드 값의 그래픽 표현을 상기 웹사이트의 데이터 입력부에 끌어놓기(drag and drop) 하는 것을 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  24. 제16항에 있어서, 상기 입력 단계는 상기 휴대용 대량 저장 장치에 저장된 필드들을 상기 웹사이트의 웹페이지 필드들과 관련시키는 단계를 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  25. 제16항에 있어서, 상기 입력 단계는 사용자가 상기 리스트로부터 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)을 선택하는 것에 의해 개시되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  26. 제16항에 있어서, 상기 입력 단계는 웹브라우저로 특정 웹페이지의 개방하는 것을 검출하는 것에 의해 개시되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  27. 제16항에 있어서, 상기 입력 단계는 제3자에 의해 수행되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  28. 제16항에 있어서, 상기 입력 단계는 상기 휴대용 대량 저장 장치에 저장되고 상기 호스트 장치에 의해 실행되는 애플리케이션에 의해 수행되는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  29. 제16항에 있어서, 상기 입력 단계는 상기 하나 이상의 사용자 자격정보를 상기 웹사이트의 웹페이지 필드들에 입력하는 단계를 포함하는 것을 특징으로 하는 자격정보를 자동적으로 로딩하는 방법.
  30. 사인온(sign on) 방법에 있어서,
    휴대용 대량 저장 장치를 호스트 장치의 소켓에 삽입하는 단계로서, 상기 소켓은 전자 접촉부들을 갖고, 상기 소켓은 상기 휴대용 대량 저장 장치의 사용자에 의한 상기 휴대용 대량 저장 장치의 빈번한 삽입과 제거를 위해 배치되는 단계;
    상기 휴대용 대량 저장 장치에 상주하는 애플리케이션을 기동하는 단계;
    사용자 식별 정보와 사용자 비밀 정보를 입력하는 단계;
    사인온 할 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)을 선택하는 단계;
    오서리티 서버(authority server)에 접속하는 단계;
    상기 호스트 장치에서, 상기 오서리티 서버로부터 시드를 수신하는 단계;
    상기 호스트 장치에서, 상기 오서리티 서버로부터 장치 식별자를 수신하는 단계;
    상기 시드를 상기 휴대용 대량 저장 장치에 저장하는 단계;
    상기 장치 식별자를 상기 휴대용 대량 저장 장치에 저장하는 단계;
    기관 식별자를 상기 휴대용 대량 저장 장치에 저장하는 단계; 및
    상기 시드와 함께 사용하기 위한 카운트(count)를 저장하는 단계;
    를 포함하는 것을 특징으로 하는 사인온 방법.
  31. 제30항에 있어서, 상기 애플리케이션은 상기 호스트 장치에 의해 실행되는 것을 특징으로 하는 사인온 방법.
  32. 제30항에 있어서, 상기 사인온 할 기관을 선택하는 단계 전에, 상기 사인온 할 기관의 리스트를 상기 사용자에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 사인온 방법.
  33. 제30항에 있어서, 상기 사인온 할 기관을 선택하는 단계는 기관 식별자를 입력하는 단계를 포함하는 것을 특징으로 하는 사인온 방법.
  34. 제30항에 있어서, 상기 사인온 할 기관을 선택하는 단계는 리스트로부터 기관을 선택하는 단계를 포함하는 것을 특징으로 하는 사인온 방법.
  35. 제33항에 있어서, 상기 기관 식별자는 URL(uniform resource locator)을 포함하는 것을 특징으로 하는 사인온 방법.
  36. 제33항에 있어서, 상기 기관 식별자는 상기 기관의 이름 또는 별명을 포함하는 것을 특징으로 하는 사인온 방법.
  37. 제30항에 있어서, 상기 시드는 암호화된 포맷으로 저장되는 것을 특징으로 하는 사인온 방법.
  38. 제30항에 있어서, 상기 장치 식별자는 상기 애플리케이션에 의해 상기 휴대용 대량 저장 장치에 저장되는 것을 특징으로 하는 사인온 방법.
  39. 제30항에 있어서, 상기 사용자 식별 정보는 생체학적 정보를 포함하는 것을 특징으로 하는 사인온 방법.
  40. 제30항에 있어서, 상기 사용자 식별 정보와 사용자 비밀 정보를 입력하는 단계는 상기 애플리케이션을 사용하여 행해지는 것을 특징으로 하는 사인온 방법.
  41. 제30항에 있어서, 상기 카운트를 저장하는 단계 후에, 보안 자격정보(security credentials) 및 식별 정보의 배치를 습득하는 단계를 더 포함하는 것을 특징으로 하는 사인온 방법.
  42. 제30항에 있어서, 상기 카운트를 저장하는 단계 후에, 상기 사용자 식별 정보와 사용자 비밀 정보를 상기 기관 식별자와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 사인온 방법.
  43. 제36항에 있어서, 상기 기관 식별자를 저장하는 단계 후에, 상기 시드를 상기 기관 식별자와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 사인온 방법.
  44. 제30항에 있어서, 상기 휴대용 대량 저장 장치는 유니버설 직렬 버스(USB) 인터페이스를 갖는 것을 특징으로 하는 사인온 방법.
  45. 제30항에 있어서, 상기 휴대용 대량 저장 장치는 메모리 카드의 외형(form factor)을 갖는 것을 특징으로 하는 사인온 방법.
  46. 제30항에 있어서, 상기 시드는 암호화된 포맷으로 상기 휴대용 대량 저장 장치에 저장되는 것을 특징으로 하는 사인온 방법.
  47. 제30항에 있어서, 상기 시드는 상기 휴대용 대량 저장 장치에서 대량 저장을 위해 사용되는 메모리의 보안 부분에 저장되는 것을 특징으로 하는 사인온 방법.
  48. 제47항에 있어서, 상기 시드는 상기 휴대용 대량 저장 장치가 상기 보안 부분에 대한 기록이 허용되는 동작 상태인 동안에만 저장될 수 있는 것을 특징으로 하는 사인온 방법.
  49. 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)에 로그인하는 방법에 있어서,
    휴대용 대량 저장 장치를 호스트 장치의 소켓으로 삽입하는 것을 감지하는 단계로서, 상기 소켓은 상기 휴대용 대량 저장 장치의 사용자에 의한 상기 휴대용 대량 저장 장치의 빈번한 삽입과 제거를 위해 설계된 단계;
    상기 휴대용 대량 저장 장치에 상주하는 애플리케이션을 기동하는 단계;
    상기 휴대용 대량 저장 장치에 저장된 등록된 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)의 리스트를 검색하는 단계;
    상기 리스트로부터 한 기관을 선택하는 단계;
    상기 휴대용 대량 저장 장치의 메모리에 저장된 사용자 신원, 사용자 비밀 및 기관 식별자를 검색하는 단계;
    상기 휴대용 대량 장치 내에서 1회용 패스워드 값을 생성하는 단계;
    기관 식별자가 검색된 기관의 사용자 인터페이스를 개방하는 단계;
    상기 호스트 장치가 상기 사용자 신원, 자격정보(credentials) 및 상기 1회용 패스워드 값을 상기 기관의 사용자 인터페이스에 입력하도록 하는 단계;
    상기 기관이 장치 식별자 및 상기 1회용 패스워드 값을 검증 서버로 전달하도록 하는 단계; 및
    상기 검증 서버가 상기 휴대용 대량 저장 장치의 인증 상태를 상기 기관으로 전달하는 단계;
    를 포함하는 것을 특징으로 하는 로그인 방법.
  50. 삭제
  51. 제49항에 있어서, 상기 입력 단계는 1회 수행되고, 그 후에 상기 입력된 상기 사용자 신원, 상기 자격정보 및 상기 1회용 패스워드 값은 상기 휴대용 대량 저장 장치의 메모리에 저장되고 상기 메모리로부터 검색되는 것을 특징으로 하는 로그인 방법.
  52. 제49항에 있어서, 상기 리스트는 상기 애플리케이션에 의해 검색되는 것을 특징으로 하는 로그인 방법.
  53. 제49항에 있어서, 상기 기관을 선택하는 단계는 키보드를 통해 수행되는 것을 특징으로 하는 로그인 방법.
  54. 제49항에 있어서, 상기 기관을 선택하는 단계는 컴퓨터 마우스를 통해 수행되는 것을 특징으로 하는 로그인 방법.
  55. 제49항에 있어서, 상기 사용자 인터페이스는 하나 이상의 월드 와이드 웹 페이지를 포함하는 것을 특징으로 하는 로그인 방법.
  56. 휴대용 대량 저장 장치 및 컴퓨터로 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)에 로그인하는 방법에 있어서,
    상기 휴대용 대량 저장 장치를 상기 컴퓨터의 소켓(receptacle)에 삽입하는 단계; 및
    상기 휴대용 대량 저장 장치의 대량 저장 메모리에 상주하는 명령들을 실행하는 단계로서,
    - 상기 명령들은 상기 컴퓨터가 상기 휴대용 대량 저장 장치로부터 1회용 패스워드 값을 요청하도록 하고,
    - 상기 휴대용 대량 저장 장치는 상기 컴퓨터로부터의 요청에 응답하여 1회용 패스워드 값을 생성하고,
    - 상기 명령들은 또한 상기 컴퓨터가 사용자 식별자, 사용자 비밀 및 상기 1회용 패스워드 값을 상기 기관에 제공하도록 하여, 사용자를 상기 기관에 로그인하는 단계;
    를 포함하는 것을 특징으로 하는 로그인 방법.
  57. 사용자 파일들의 대량 저장 및 사용자 자격정보(credentials) 관리를 할 수 있고, 호스트 장치에 제거가능하게 결합하기 위한 물리적 인터페이스를 가진 휴대용 장치에 있어서,
    사용자 파일들 및 프로그램들을 저장하는데 사용되는 대량 저장 고체 상태 메모리;
    상기 대량 저장 고체 상태 메모리의 판독 및 기록 동작을 제어하는 마이크로 제어기;
    1회용 패스워드 생성기;
    상기 대량 저장 고체 상태 메모리에 상주하는 애플리케이션으로서, 상기 1회용 패스워드 생성기로부터 패스워드를 검색하기 위해 호스트의 프로세서에 의해 실행가능한 애플리케이션; 및
    제1 시드 및 카운터 쌍;
    을 포함하고, 상기 제1 시드 및 카운터 쌍은 제1 기관(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직)에 상기 휴대용 장치를 인증시키는 것을 특징으로 하는 휴대용 장치.
  58. 제57항에 있어서, 상기 애플리케이션을 실행시키는 상기 프로세서는 상기 호스트 장치에 위치하는 것을 특징으로 하는 휴대용 장치.
  59. 제57항에 있어서, 상기 애플리케이션을 실행시키는 상기 프로세서는 상기 휴대용 장치에 위치하는 것을 특징으로 하는 휴대용 장치.
  60. 데이터 사이트들에 대한 액세스를 제어하는 시스템에 있어서,
    호스트 컴퓨팅 장치에 제거가능하게 결합될 수 있는 대량 저장 장치;
    상기 대량 저장 장치가 상기 호스트 컴퓨팅 장치에 결합되는 동안, 상기 호스트 컴퓨팅 장치 및 상기 대량 저장 장치에 시드 및 장치 식별자를 로딩하는 오서리티 서버(authority sever); 및
    상기 대량 저장 장치가 상기 대량 저장 장치의 사용자의 사용자 식별자, 상기 장치 식별자 및 1회용 패스워드 값을 전달하는 기관 서버(즉, 사용자가 액세스하고자 하는 컴퓨터가 있는 기구나 조직의 서버);
    를 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  61. 제60항에 있어서, 상기 액세스 제어 시스템은 검증 서버를 더 포함하고, 상기 기관 서버는 상기 사용자 및 상기 대량 저장 장치의 검증을 위해 상기 사용자 식별자 및 상기 1회용 패스워드를 상기 검증 서버로 전달하는 것을 특징으로 하는 액세스 제어 시스템.
  62. 제61항에 있어서, 상기 검증 서버는 검증이 성공적인지 성공적이지 않은지 여부에 대한 표시자를 제공하는 것을 특징으로 하는 액세스 제어 시스템.
  63. 제60항에 있어서, 상기 오서리티 서버는 상기 대량 저장 장치와 보안 채널을 설정하고 상기 보안 채널을 통해 상기 시드 및 상기 장치 식별자를 로딩하도록 동작가능한 것을 특징으로 하는 액세스 제어 시스템.
  64. 제60항에 있어서, 상기 액세스 제어 시스템은 추가 대량 저장 장치를 더 포함하고, 상기 액세스 제어 시스템은 하나의 대량 저장 장치로부터 다른 대량 저장 장치로 인증 권리들을 양도하도록 동작가능한 것을 특징으로 하는 액세스 제어 시스템.
  65. 제64항에 있어서, 상기 인증 권리들은 장치 식별자 및 시드를 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  66. 제65항에 있어서, 상기 인증 권리들을 양도하는 것은 시드 및 장치 식별자를 양도하는 것을 포함하는 액세스 제어 시스템.
  67. 제66항에 있어서, 상기 오서리티 서버는 상기 인증 권리들을 상기 추가 대량 저장 장치로 양도하는 것을 특징으로 하는 액세스 제어 시스템.
  68. 제67항에 있어서, 상기 액세스 제어 시스템은 상기 추가 대량 저장 장치와 보안 채널을 설정하고, 상기 양도는 상기 보안 채널을 통해 완료되는 것을 특징으로 하는 액세스 제어 시스템.
  69. 제64항에 있어서, 상기 액세스 제어 시스템은 상기 인증 권리들이 양도된 대량 저장 장치로부터 상기 인증 권리들을 제거하도록 동작가능한 것을 특징으로 하는 액세스 제어 시스템.
  70. 제69항에 있어서, 상기 인증 권리들은 상기 인증 권리들이 양도된 대량 저장 장치의 사용자의 성공적인 검증 시에 제거되는 것을 특징으로 하는 액세스 제어 시스템.
  71. 제69항에 있어서, 상기 액세스 제어 시스템은 비활동 장치들의 리스트로부터 제거된 상기 인증 권리들을 갖는 장치를 제거하도록 동작가능한 것을 특징으로 하는 액세스 제어 시스템.
  72. 제60항에 있어서, 상기 대량 저장 장치의 사용자에 의한 상기 대량 저장 장치의 분실 시에, 상기 액세스 제어 시스템은 상기 오서리티 서버 및 상기 기관 서버 중 하나 또는 모두에서 상기 대량 저장 장치의 상기 시드 및 상기 장치 식별자를 무효화하도록 동작가능한 것을 특징으로 하는 액세스 제어 시스템.
  73. 제72항에 있어서, 상기 대량 저장 장치의 분실 시에, 상기 분실된 대량 저장 장치의 식별자 및 시드가 상기 사용자의 새로운 장치에 전달되는 것을 특징으로 하는 액세스 제어 시스템.
  74. 제72항에 있어서, 상기 대량 저장 장치의 분실 시에, 새로운 식별자 및 시드가 상기 사용자의 새로운 장치에 전달되는 것을 특징으로 하는 액세스 제어 시스템.
KR1020087002120A 2005-07-08 2006-07-05 자동화된 크리덴셜 로딩을 갖는 대량 저장 장치 KR101075891B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US69790605P 2005-07-08 2005-07-08
US60/697,906 2005-07-08
US11/319,259 2005-12-27
US11/319,259 US7743409B2 (en) 2005-07-08 2005-12-27 Methods used in a mass storage device with automated credentials loading
US11/319,835 US7748031B2 (en) 2005-07-08 2005-12-27 Mass storage device with automated credentials loading
US11/319,835 2005-12-27

Publications (2)

Publication Number Publication Date
KR20080034898A KR20080034898A (ko) 2008-04-22
KR101075891B1 true KR101075891B1 (ko) 2011-10-25

Family

ID=37432415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087002120A KR101075891B1 (ko) 2005-07-08 2006-07-05 자동화된 크리덴셜 로딩을 갖는 대량 저장 장치

Country Status (8)

Country Link
EP (2) EP2230622B1 (ko)
JP (1) JP5193035B2 (ko)
KR (1) KR101075891B1 (ko)
CN (2) CN101258507B (ko)
AT (1) ATE498870T1 (ko)
DE (1) DE602006020150D1 (ko)
IL (1) IL188631A (ko)
WO (1) WO2007008540A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8220039B2 (en) 2005-07-08 2012-07-10 Sandisk Technologies Inc. Mass storage device with automated credentials loading
KR101232860B1 (ko) 2012-04-27 2013-02-14 ㈜ 엘케이컴즈 하이브리드 인증 시스템 및 그 제공방법
KR20180100369A (ko) * 2016-01-25 2018-09-10 애플 인크. 비-네이티브 크리덴셜들과 함께 전자 디바이스들을 사용하는 거래들의 수행

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
GB2445783A (en) * 2006-11-23 2008-07-23 Tiss Singapore Pte Ltd Portable security instrument
WO2009025605A2 (en) * 2007-08-19 2009-02-26 Yubico Ab Device and method for generating dynamic credit card data
CN101377760B (zh) * 2007-08-30 2010-06-02 佛山普立华科技有限公司 影像文件保护系统及其方法
US20110289567A1 (en) * 2008-12-30 2011-11-24 Nokia Siemens Networks Oy Service access control
JP5531485B2 (ja) * 2009-07-29 2014-06-25 ソニー株式会社 情報処理装置、情報提供サーバ、プログラム、通信システム及びログイン情報提供サーバ
JP2011077769A (ja) * 2009-09-30 2011-04-14 Fujifilm Corp Vpnシステムおよびその動作制御方法
US8613065B2 (en) 2010-02-15 2013-12-17 Ca, Inc. Method and system for multiple passcode generation
US9015489B2 (en) 2010-04-07 2015-04-21 Microsoft Technology Licensing, Llc Securing passwords against dictionary attacks
US8839415B2 (en) * 2011-02-01 2014-09-16 Kingston Technology Corporation Blank smart card device issuance system
US20120329388A1 (en) * 2011-06-27 2012-12-27 Broadcom Corporation NFC-Enabled Devices to Store and Retrieve Portable Application-Specific Personal Information for Use with Computational Platforms
JP5845742B2 (ja) * 2011-09-07 2016-01-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN102368230A (zh) * 2011-10-31 2012-03-07 北京天地融科技有限公司 移动存储器的访问控制方法、移动存储器及系统
CN103117853B (zh) * 2011-11-16 2016-05-18 航天信息股份有限公司 一种安全存储装置帐户输入及认证方法
WO2014009813A2 (en) * 2012-07-12 2014-01-16 Md Databank Corp Secure storage system and uses thereof
US9424443B2 (en) 2013-08-20 2016-08-23 Janus Technologies, Inc. Method and apparatus for securing computer mass storage data
CN103761067A (zh) * 2013-12-13 2014-04-30 昆山五昌新精密电子工业有限公司 数据文件的加/解密的处理系统与其方法
KR102017057B1 (ko) * 2017-02-20 2019-09-02 (주)이스톰 인증 관리 방법 및 시스템
US20180241743A1 (en) * 2017-02-21 2018-08-23 Google Inc. Integrated Second Factor Authentication
WO2019199282A1 (en) * 2018-04-10 2019-10-17 Visa International Service Association Deep link authentication
GB2582794B (en) 2019-04-03 2021-05-12 Stopinski Wojciech Portable data stack holder

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096287A1 (en) 2002-05-10 2003-11-20 Quizid Technologies Ltd. An authentication token
US20050015588A1 (en) 2003-07-17 2005-01-20 Paul Lin Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327305A (en) 1992-08-14 1994-07-05 Conner Peripherals, Inc. Tape format detection system
US20020145632A1 (en) * 2000-10-27 2002-10-10 Shimon Shmueli Portable interface for computing
CN100454809C (zh) * 2001-12-20 2009-01-21 西北工业大学 利用一次性口令进行交易认证的方法
CN1226688C (zh) * 2002-07-04 2005-11-09 张东旭 自动随机一次性密码提高网络交易安全的认证方法
JP2004104539A (ja) * 2002-09-11 2004-04-02 Renesas Technology Corp メモリカード
US7454783B2 (en) * 2003-08-08 2008-11-18 Metapass, Inc. System, method, and apparatus for automatic login
CN1271485C (zh) * 2004-01-08 2006-08-23 中国工商银行股份有限公司 对网上银行数据进行加密、认证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096287A1 (en) 2002-05-10 2003-11-20 Quizid Technologies Ltd. An authentication token
US20050015588A1 (en) 2003-07-17 2005-01-20 Paul Lin Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8220039B2 (en) 2005-07-08 2012-07-10 Sandisk Technologies Inc. Mass storage device with automated credentials loading
KR101232860B1 (ko) 2012-04-27 2013-02-14 ㈜ 엘케이컴즈 하이브리드 인증 시스템 및 그 제공방법
KR20180100369A (ko) * 2016-01-25 2018-09-10 애플 인크. 비-네이티브 크리덴셜들과 함께 전자 디바이스들을 사용하는 거래들의 수행
US11386424B2 (en) 2016-01-25 2022-07-12 Apple Inc. Conducting transactions using electronic devices with non-native credentials
KR102576667B1 (ko) * 2016-01-25 2023-09-11 애플 인크. 비-네이티브 크리덴셜들과 함께 전자 디바이스들을 사용하는 거래들의 수행

Also Published As

Publication number Publication date
CN102176225B (zh) 2014-07-09
EP1920380A2 (en) 2008-05-14
JP2009500756A (ja) 2009-01-08
ATE498870T1 (de) 2011-03-15
CN101258507A (zh) 2008-09-03
WO2007008540A3 (en) 2007-04-05
JP5193035B2 (ja) 2013-05-08
CN101258507B (zh) 2011-06-15
IL188631A (en) 2014-04-30
EP2230622B1 (en) 2014-08-20
IL188631A0 (en) 2008-04-13
DE602006020150D1 (de) 2011-03-31
WO2007008540A2 (en) 2007-01-18
EP2230622A1 (en) 2010-09-22
CN102176225A (zh) 2011-09-07
KR20080034898A (ko) 2008-04-22
EP1920380B1 (en) 2011-02-16

Similar Documents

Publication Publication Date Title
KR101075891B1 (ko) 자동화된 크리덴셜 로딩을 갖는 대량 저장 장치
US7748031B2 (en) Mass storage device with automated credentials loading
US9117324B2 (en) System and method for binding a smartcard and a smartcard reader
US9397988B2 (en) Secure portable store for security skins and authentication information
US8220035B1 (en) System and method for trusted embedded user interface for authentication
US8555078B2 (en) Relying party specifiable format for assertion provider token
US9813236B2 (en) Multi-factor authentication using a smartcard
US20130125222A1 (en) System and Method for Vetting Service Providers Within a Secure User Interface
EP2481185B1 (en) Multi-identity access control tunnel relay object
US20060294023A1 (en) System and method for secure online transactions using portable secure network devices
KR20130125316A (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
EP1716468A1 (en) System and method for preventing identity theft using a secure computing device.
US20100095372A1 (en) Trusted relying party proxy for information card tokens
US20070204167A1 (en) Method for serving a plurality of applications by a security token
Fourar-Laidi A smart card based framework for securing e-business transactions in distributed systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee