KR101686982B1 - 재프로그램 가능한 보안 암호화 장치 - Google Patents

재프로그램 가능한 보안 암호화 장치 Download PDF

Info

Publication number
KR101686982B1
KR101686982B1 KR1020167013638A KR20167013638A KR101686982B1 KR 101686982 B1 KR101686982 B1 KR 101686982B1 KR 1020167013638 A KR1020167013638 A KR 1020167013638A KR 20167013638 A KR20167013638 A KR 20167013638A KR 101686982 B1 KR101686982 B1 KR 101686982B1
Authority
KR
South Korea
Prior art keywords
management system
account management
user
program code
encryption device
Prior art date
Application number
KR1020167013638A
Other languages
English (en)
Other versions
KR20160075675A (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 KR20160075675A publication Critical patent/KR20160075675A/ko
Application granted granted Critical
Publication of KR101686982B1 publication Critical patent/KR101686982B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules

Abstract

재프로그램 가능한 무선 암호화 장치는 데이터를 안전하게 저장하고, 모바일 장치를 통해 중앙 서버 시스템으로부터 기능 데이터 및/또는 프로그램 코드를 교환하기 위해 NFC 통신을 사용할 수 있다. 사용자는 모바일 장치상의 애플리케이션을 통해 새로운 암호화 장치 또는 새로운 장치의 기능을 요청한다. 중앙 서버 시스템은 암호화 장치를 식별하는 데 사용되는 프로그램 코드 및 공개 키를 정보에 대한 통과 도관 역할을 하는 모바일 장치에 전송하고, 이들 장치들이 동기화될 때까지 상기 정보를 저장한다. NFC 통신 채널이 생성되고, 모바일 장치는 일단 통신 채널이 설정되면, 중앙 서버 시스템으로부터 수신된 공개 키를 암호화 장치에 의해 전송된 공개 키와 상호 참조하여 암호화 장치를 인증한다. 인증 시, 암호화 장치는 모바일 장치와 동기화되고, 모바일 장치는 프로그램 코드를 암호화 장치에 전달한다.

Description

재프로그램 가능한 보안 암호화 장치{RE-PROGRAMMABLE SECURE CRYPTOGRAPHIC DEVICE}
본 발명은 암호화 장치에 관한 것으로, 보다 상세하게는 사용자가 안전하게 데이터를 저장하고 기능 데이터를 교환하기 위해 무선 주파수 (RF) 통신을 사용할 수 있도록 무선 암호화 장치를 재프로그램할 수 있게 하는 방법 및 시스템에 관한 것이다.
무선 장치 기술은 공중(air)을 통해 또는 물리적으로 연결하지 않고도 데이터 (예를 들어, 결제 정보) 전송을 인증 및 활성화하기 위해 2 개의 장치 사이에 근접 통신을 통합하고 있다. NFC는 무선 장치의 통신을 가능하게 하며, 모바일 통신용 글로벌 시스템 (GSM) 협회에 의해 지원되는 근접 통신 옵션의 일 예이다. NFC 통신 거리는 일반적으로 약 3 내지 약 4 인치의 범위이다. 그러한, 짧은 통신 거리는 근접해 있는 필드 근접 인에이블 장치들 사이의 보안 통신을 가능하게 한다.
GSM 전화들에 있어서, 안테나를 구비한 근접 인에이블 제어기 (예를 들어, NFC 제어기)는 스마트 칩에 위치된 보안 비접촉식 소프트웨어 애플리케이션을 갖는 무선 장치에 통합된다. NFC-인에이블 무선 장치는 장치의 소유자를 위한 금융 거래, 발권, 보안 인증, 쿠폰 및 기타 거래를 가능하게 하는 리더 장치에 데이터 정보의 전송을 가능하게 한다.
본 명세서에 기재된 일부 예시적인 양상들에서, 재프로그램 가능한 무선 암호화 장치를 제공하기위한 방법은 데이터를 안전하게 저장하고, 중앙 서버 시스템, 높은 보안 모듈 클라우드 시스템 또는 휴대 통신 장치 (예를 들어, 사용자의 모바일 폰)를 통한 다른 제 3 부분 시스템으로부터 기능 데이터 및/또는 프로그램 코드를 교환하기 위해 NFC 통신을 사용할 수 있는 재프로그램 가능한 무선 암호화 장치를 포함한다. 사용자는 모바일 장치상의 계정 관리 시스템의 애플리케이션에 액세스하여 모바일 장치상의 계정 관리 시스템의 애플리케이션을 통해 새로운 사용자 장치에 요청한다. 모바일 장치는 상기 요청을 계정 관리 시스템에 전송한다. 계정 관리 시스템은 프로그램 코드 및 사용자를 식별하는데 이용되는 식별자를 상기 정보에 대한 통과 도관으로서 기능하는 모바일 장치에 전송하고 사용자 장치가 모바일 장치와 동기화 될 때까지 정보를 저장한다. 사용자 장치는 모바일 장치의 소정의 근방에 소개되거나 모바일 장치와 탭되며(tapped), NFC 통신 채널 또는 다른 형태의 근접 기반의 무선 통신 채널이 생성(creat)된다.
모바일 장치는 일단 통신 채널이 설정되면, 계정 관리자 시스템으로부터 수신된 식별자와 사용자 장치가 전송한 식별자와 상호 참조하여 사용자 장치를 인증한다. 인증 시, 사용자 장치는 모바일 장치와 동기화되고, 모바일 장치는 사용자 장치에 프로그램 코드를 전달한다.
사용자는 모바일 장치상의 계정 관리 시스템 애플리케이션을 통해 새로운 사용자 장치 기능에 대한 요청을 제출한다. 모바일 장치는 계정 관리 시스템에 상기 요청을 제출하고, 계정 관리 시스템은 사용자 장치를 인증한다. 인증 시, 계정 관리 시스템은 모바일 장치에 원하는 기능을 위한 프로그램 코드를 전송한다. 모바일 장치는 사용자 장치와 동기화될 때까지 프로그램 코드를 저장한다. 사용자 장치와 동기화 시, 프로그램 코드는 무선 통신 채널을 통해 사용자 장치에 전송된다. 예시적인 실시 예들 및 다른 양상, 목적, 특징 및 장점은 예시된 실시 예들의 이하의 상세한 설명을 고려하면 당업자에게 명백해질 것이다.
도 1은 특정의 예시적인 실시 예들에 따른 재프로그램 가능한 무선 암호화 장치 시스템을 나타내는 블록선도이다.
도 2는 특정의 예시적인 실시 예들에 따른 재프로그램 가능한 무선 암호화 사용자 장치를 제공하는 방법을 나타내는 블록선도이다.
도 3은 특정의 예시적인 실시 예에 따른 새로운 재프로그램 가능한 무선 암호화 사용자 장치를 포맷하는 방법을 나타내는 블록선도이다.
도 4는 특정의 예시적인 실시 예에 따른 새로운 재프로그램 가능한 무선 암호화 사용자 장치를 모바일 장치와 동기화하는 방법을 나타내는 블록선도이다.
도 5는 특정의 예시적인 실시 예에 따른 재프로그램 가능한 무선 암호화 사용자 장치를 인증하기 위한 방법을 나타내는 블록선도이다.
도 6은 특정의 예시적인 실시 예에 따른 재프로그램 가능한 무선 암호화 사용자 장치에 새로운 기능을 추가하기 위한 방법을 나타내는 블록선도이다.
도 7은 특정의 예시적인 실시 예에 따른 재프로그램 가능한 무선 암호화 장치에 새로운 기능을 추가하기 위해 재프로그램 가능한 무선 암호화 사용자 장치를 모바일 장치와 동기화시키는 방법을 나타내는 블록선도이다.
도 8은 특정의 예시적인 실시 예들에 따른 컴퓨터 시스템 모듈의 블록선도이다.
본 명세서에 기재된 예시적인 실시 예들은 데이터를 안전하게 저장하고 기능 데이터를 교환하기 위해 NFC 통신을 사용할 수 있는, 재프로그램 가능한 무선 암호화 장치를 제공하는 컴퓨터-구현 기술을 제공한다. 예시적인 실시 예에서, 재프로그램 가능 무선 암호화 장치는 (운영 체제, 애플리케이션 호스트 프로세서, 내부 전파워 소스 또는 사용자 인터페이스를 구비하지 않는) 스마트 카드, 팔찌 또는 팔찌, 열쇠 고리 또는 다른 무선 토큰 또는 장치이다. 예시적인 실시 예에서, 재프로그램 가능한 무선 암호화 장치는 휴대 통신 장치 (예를 들어, 사용자의 모바일 폰) 를 통해 중앙 서버 시스템, 높은 보안 모듈 클라우드 시스템 또는 다른 제 3 부분 시스템으로 부터 프로그램 코드를 수신한다.
예를 들어, 재프로그램 가능한 무선 암호화 장치는 입원 환자가 착용한 팔찌 장치일 수도 있다. 팔찌는 환자의 의료 데이터를 포함하도록 프로그램된다. 팔찌가 도어 액세스 패스로서 기능하고, 환자에게 주어진 약물을 추적하고 그리고 필요에 따라 기능을 수행하도록 하는 추가 기능이 팔찌에 프로그램될 수 있다. 또 다른 예에서, 재프로그램 가능한 무선 암호화 장치는 스마트 카드이다. 스마트 카드는 사용자의 은행 A인 VISA 계정의 결제 정보를 포함하도록 프로그램되어 있다. 그 후, 사용자는 사용자의 은행 B인 MasterCard 계정의 결제 정보와 사용자의 비즈니스 장소를 위한 보안 액세스를 포함하도록 스마트 카드에 기능을 추가한다. 사용자가 그 기능을 제거할 때까지 스마트 카드는 사용자의 은행 A인 VISA 계정의 기능을 보유한다.
사용자는 모바일 장치상의 계정 관리 시스템의 애플리케이션에 액세스한다. 예시적인 실시 예에서, 계정 관리 시스템은 사용자의 계정을 유지하고 사용자의 재프로그램 가능한 무선 암호화 장치에 추가될 수 있는 기능을 엔코딩하는 프로그램코드를 포함한다.
사용자는 모바일 장치상의 계정 관리 시스템의 애플리케이션을 통해 새로운 사용자 장치를 요청하고, 모바일 장치는 상기 요청을 계정 관리 시스템에 전송한다. 예시적인 실시 예에서, 사용자 장치는 재프로그램 가능한 무선 암호화 장치이다. 계정 관리 시스템은 사용자 장치를 식별하기 위한 프로그램 코드 및 식별자를 모바일 장치에 전송한다. 예시적인 실시 예에서, 모바일 장치는 프로그램 코드를 읽거나 이해하는 데 필요한 개인 키에 대한 액세스 권한을 가지고 있지 않다. 본 실시 예에서, 모바일 장치는 기능 정보에 대한 통과 도관으로서 기능하며, 사용자 장치가 모바일 장치와 동기화될 때까지 이 정보를 저장한다.
사용자 장치는 모바일 장치의 소정의 근방에 소개되거나 모바일 장치에 "탭"되며, NFC 통신 채널 또는 근접 기반의 무선 통신 채널의 다른 형태가 생성된다. 모바일 장치는 일단 통신 채널이 설정되면, 사용자 장치가 전송한 식별자와 계정 관리 시스템으로부터 수신된 공개 키를 상호 참조하여 사용자 장치를 인증한다. 인증 시, 사용자 장치는 모바일 장치와 동기화되고, 모바일 장치는 사용자 장치에 프로그램 코드를 전달한다. 예시적인 실시 예에서, 사용자 장치는 개인 키를 포함하고, 프로그램 코드를 읽거나 이해할 수 있다. 사용자 장치는 성공적인 포맷 메시지를 모바일 장치에 전송하고, 모바일 장치는 사용자 인터페이스에 메시지를 디스플레이한다. 예시적인 실시 예에서, 프로그램 코드는 사용자 장치에서 상주하는 보안 요소에 의해 수신되어 처리된다.
사용자는 모바일 장치상의 계정 관리 시스템 애플리케이션을 통해 새로운 사용자 장치 기능에 대한 요청을 제출한다. 모바일 장치는 상기 요청을 계정 관리 시스템에 전송하고, 계정 관리 시스템은 사용자 장치를 인증한다. 인증 시, 계정 관리 시스템은 원하는 기능을 위한 프로그램 코드를 모바일 장치에 전송한다. 모바일 장치는 사용자 장치와 동기화될 때까지 프로그램 코드를 저장한다. 사용자 장치와 동기화 시, 프로그램 코드는 무선 통신 채널을 통해 사용자 장치에 전송된다. 예시적인 실시 예에서, 사용자는 상기 과정을 반복함으로써 사용자 장치에 추가 기능을 추가하거나 삭제한다.
대안적인 실시 예에서, 계정 관리 시스템은 원하는 기능을 위한 프로그램 코드를 모바일 장치에 통신함으로써 사용자 장치에 대한 장치 기능 변경을 시작할 수 있다. 그 후, 사용자 장치가 다음에 모바일 장치와 동기화될 때, 모바일 장치는 상기 원하는 기능을 위한 프로그램 코드를 통신한다.
예시적인 실시 예에서, 사용자 장치는 모바일 장치와 동기화될 때, 모바일 장치에 사용 데이터를 전송한다. 모바일 장치는 계정 관리 시스템에 상기 사용 데이터를 전송하지만 이 데이터를 이해할 수 없다.
본 발명의 가능은 프로그램의 흐름을 예시하는 도면들을 참조로 한 다음의 설명에서보다 상세하게 설명된다.
예시적인 시스템 아키텍처
이제, 도면들 (도면들에서, 같은 부호는 같은 요소를 표시하지만 반드시 동일한 것은 아니다)을 참조로 하여 예시적인 실시 예들을 상세하게 설명한다.
도 1은 특정의 예시적인 실시 예들에 따른 재프로그램 가능한 무선 암호화 장치 시스템을 나타내는 블록선도이다. 도 1에 보인 바와 같이, 예시적인 동작 환경(100)은 사용자 장치 (110), 모바일 장치 (120), 계정 관리 시스템 (130) 및 장치 리더기 (150)을 포함하며, 이들은 하나 이상의 네트워크 (140)를 통해 서로 통신하도록 구성되어 있다. 다른 예시적인 실시 예에서, (시스템 (110),(120),(130) 및 (150) 포함하는) 이러한 시스템들 중 2개 이상이 동일한 시스템에 통합된다. 일부 실시 예들에서, 장치와 관련된 사용자는 애플리케이션을 설치 및/또는 본 명세서에 기재된 기술의 이점을 얻기 위한 특성을 선택해야만 한다.
각 네트워크 (140)는 유선 또는 무선 통신 수단을 포함하며, 이 수단에 의해 (시스템 (110),(120),(130) 및 (150)을 포함하는) 네트워크 시스템들이 통신 및 데이터 교환을 할 수 있다. 예를 들어, 각 네트워크 (140)는 스토리지 영역 네트워크 (SAN), 개인 영역 네트워크 (PAN), 메트로폴리탄 영역 네트워크 (MAN), 근거리 통신망 (LAN), 광역 네트워크 (WAN), 무선 근거리 통신망 (WLAN), 가상 사설망 (VPN), 인트라넷, 인터넷, 휴대 전화 네트워크, 카드 네트워크, 블루투스, NFC 네트워크, 어떤 표준화된 무선 주파수 형태 또는 이들의 조합, 또는 데이터 및/또는 메시지(포괄적으로, 데이터로 언급됨)의 통신을 지원하는 어떤 다른 적절한 아키텍처 또는 시스템 데이터로서 혹은 이들 중 일부로서 구현될 수 있다. 본 명세서 통해 용어 "데이터"와 "정보"는 텍스트, 이미지, 오디오, 비디오 또는 컴퓨터 기반의 환경에서 존재할 수 있는 정보의 어떤 다른 형태를 가르치는데 상호 교환적으로 사용되는 것으로 이해되어야 한다.
예시적인 실시 예에서, (시스템 (110), (120), (130) 및 (150)을 포함하는) 각 네트워크 시스템은 네트워크 (140)를 통해 데이터의 송수신이 가능한 통신 모듈을 갖는 장치를 포함한다. 예를 들어, (시스템 (110),(120),(130) 및 (150)을 포함하는) 각 네트워크 시스템은 서버, 개인용 컴퓨터, 모바일 장치 (예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 넷북 컴퓨터, 개인 디지털 보조 (PDA), 비디오 게임 장치, GPS 로케이터 장치, 휴대폰, 스마트 폰, 또는 다른 모바일 장치), 내장 및/또는 결합된 하나 이상의 프로세서, 네트워크 (140)를 통해 웹브라우저 또는 다른 애플리케이션을 포함하거나 네트워크 (140)을 통해 이들에 결합된 TV를 포함할 수 있다.
예시적인 실시 예에서, 모바일 장치 (120)는 개인용 컴퓨터, 모바일 장치 (예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 넷북 컴퓨터, 개인용 정보 단말기 (PDA), 비디오 게임기, GPS 위치 장치, 휴대폰, 스마트 폰 또는 다른 모바일 장치), TV 혹은 웹서버를 포함하거나 이에 결합된 다른 적절한 기술 또는 웹 페이지 파일과 상호 작용하기 위한 다른 적절한 애플리케이션일 수 있다. 사용자는 사용자 인터페이스 (121) 및 애플리케이션 (125)을 통해 사용자 장치 (110)를 프로그램, 포맷 및/또는 재프로그램하기 위해 모바일 장치 (120)를 사용할 수 있다. 예시적인 실시 예에서, 사용자는 사용자 장치 (110)를 위한 프로그램 코드를 얻기 위해, 애플리케이션 (125)을 통해 계정 관리 시스템 (130)과 통신한다. 다른 예시적인 실시 예에서, 사용자는 사용자 장치 (110)를 포맷하고 재프로그램하기 위해 애플리케이션 (125)을 통해 사용자 장치 (110)와 통신한다. 애플리케이션 (125)은 모바일 장치 (120)상에 존재하여 그의 동작을 수행하는 프로그램, 함수, 루틴, 애플릿 또는 유사한 엔티티이다. 예를 들어, 애플리케이션 (125)은 사용자 장치 (110) 애플리케이션, 계정 관리 시스템 (130) 애플리케이션, 인터넷 브라우저, 디지털 지갑 애플리케이션, 로열티 카드 애플리케이션, 다른 부가가치 애플리케이션, 사용자 인터페이스 (121) 애플리케이션 또는 모바일 장치 (120)에서 작동하는 다른 적절한 애플리케이션은 중 하나 이상일 수 있다. 일부 실시 예들에서, 사용자는 본 명세서에 기재된 기술의 이점을 얻기 위해 애플리케이션 (125)을 설치 및/또는 모바일 장치 (120)상의 특성을 선택해야 한다.
예시적인 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 데이터를 얻고, 데이터 저장 유닛 (127)에 데이터를 저장하고 계정 관리 시스템 (130)에 이 데이터를 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 수신한 데이터를 이해할 수 없다.
다른 예시적인 실시 예에서, 사용자 장치 (110)는 모바일 장치 (120)를 통해 계정 관리 시스템, 중앙 서버 시스템, 높은 보안 모듈 클라우드 시스템 또는 다른 제 3 부분 시스템으로부터 프로그램 코드를 수신한다. 본 실시 예에서, 모바일 장치 (120)는 계정 관리 시스템 (130)으로부터 사용자 장치 (110)에 대한 기능을 인코딩하는 데이터를 얻고, 이 데이터를 데이터 저장 유닛 (127)에 저장하고, 사용자 장치 (110)에 기입한다. 예시적인 실시 예에서, 모바일 장치 (120)는 계정 관리 시스템 (130)으로부터 수신한 데이터를 이해할 수 없다.
예시적인 모바일 장치 (120)는 보안 요소 (129) 또는 보안 메모리를 포함하는데, 이는 모바일 장치 (120)상의 고정형 칩에 내장될 수 있거나 혹은 찰탈형 스마트칩 또는 보안 디지털(SD) 카드 내부에 존재할 수 있다. 특정의 실시 예에서, 가입자 식별 모듈 (SIM) 카드는 예를 들면 NFC SIM 카드인 보안 요소 (129)를 호스트 할 수 있다. 보안 요소 (129)는 모바일 장치 (120)상에 상주하고 이 장치에 의해 액세스 가능한 소프트웨어 애플리케이션으로 하여금 보안 요소 (129)의 특정 기능과 보안적으로 상호 작용할 수 있게 하며, 보안 요소 (129) 내에 저장된 정보를 보호한다. 보안 요소 (129)는 본 명세서에 기재된 기능을 수행할 수 있는 애플리케이션들을 포함한다. 예시적인 실시 예에서, 보안 요소 (129)는 암호화 프로세서와 난수 발생기와 같은 스마트 카드의 전형적인 컴포넌트들을 포함한다. 예시적인 실시 예에서, 보안 요소 (129)는 Java 카드 플랫폼의 운영 체제와 같은 스마트 카드 운영 체제에 의해 제어되는 칩의 높은 보안 시스템에서의 NFC 제어기를 포함한다.
다른 예시적인 실시 예에서, 보안 요소 (129)는 옵션에 따른 구현으로서 비- EMV 형 비접촉식 스마트 카드를 포함하도록 구성된다. 보안 요소 (129)는 모바일 장치 (120)의 애플리케이션 (125)과 통신한다. 예시적인 실시 예에서, 보안 요소 (129)는 암호화된 사용자 정보를 저장하고, 신뢰할 수 있는 애플리케이션만이 상기 저장된 정보에 액세스할 수 있게 한다. 예시적인 실시 예에서, 제어기 (123)는 보안 요소 (129)에서의 해독 및 설치를 위한 보안 키로 암호화된 애플리케이션과 상호 작용한다.
더욱이, 보안 요소 (129)는 또한, 지불 애플리케이션, 애플리케이션들 (125)의 보안 양식, 인증 애플리케이션, 지불 프로비저닝 애플리케이션, 사용자 장치 (110) 프로그래밍 애플리케이션, 보안 데이터 전송 애플리케이션, 또는 보안 요소 (129)의 보안 기능을 이용하는 다른 적절한 애플리케이션을 포함할 수 있다.
예시적인 실시 예에서, 데이터 저장 유닛 (127) 및 애플리케이션 (125)은 모바일 장치 (120)상의 보안 요소 (129)에 구현될 수 있다. 다른 예시적인 실시 예에서, 데이터 저장 유닛 (127)은 모바일 장치 (120)에 상주하는 개별 메모리 장치일 수 있다. 예를 들어, 데이터 저장 유닛 (127)은 사용자는 계정 관리 시스템 (130) 계정 및 사용자 장치 (110) 프로그램 코드의 검색을 위해 사용자 연락처 정보의 세부사항을 저장하게 한다. 예시적인 실시 예에서, 데이터 저장 유닛 (127)은 정보를 저장하기에 적합한 모바일 장치 (120)에 액세스할 수 있는 로컬 또는 원격 데이터 스토리지 구조를 포함할 수 있다. 예시적인 실시 예에서, 데이터 저장 유닛 (127)은 HTML5 로컬 스토리지등의 암호화된 정보를 저장한다.
모바일 장치 (120)는 안테나 (124)를 통해 사용자 장치 (110)와 통신한다. 모바일 장치 (120)가 활성화 및 우선화된 경우, 제어기 (123)는 트랜잭션을 위한 모바일 장치 (120)의 준비 상태를 통지받는다. 제어기 (123)는 안테나 (124)를 통해 무선 신호를 폴링하거나 사용자 장치 (110)로부터 무선 신호들을 청취한다.
예시적인 사용자 장치 (110)는 스마트 카드, 손목밴드 또는 팔찌, 열쇠 고리, 또는 다른 무선 토큰 또는 장치 등의 재프로그램가능 한 암호화 장치인 바, 이는 우영 체제, 애플리케이션 호스트 프로세서, 내부 파워 소스 또는 사용자 인터페이스를 포함하지 않는다.
사용자는 애플리케이션 (115)을 통해 프로그램된 기능을 수행하기 위해 사용자 장치 (110)를 사용할 수 있다. 예를 들어, 사용자 장치 (110)는 입원 환자가 착용 한 팔찌 장치일 수 있다. 팔찌는 환자의 의료 데이터를 포함하도록 프로그램된다. 팔찌가 도어 액세스 패스로서 기능 하게 하고, 환자에게 주어진 약물을 추척하고, 필요에 따라 기타 기능을 수행하도록 팔찌에 추가적인 기능이 프로그램될 수 있다. 또 다른 예에서, 사용자 장치 (110)는 스마트 카드이다. 스마트 카드는 사용자의 은행 A인 VISA 계정의 결제 정보를 포함하도록 프로그램되어 있다. 그 후, 사용자는 사용자의 은행 B인 MasterCard 계정의 결제 정보와 사용자의 비즈니스 장소를 위한 보안 액세스를 포함하도록 스마트 카드에 기능을 추가한다. 사용자가 그 기능을 제거할 때까지 스마트 카드는 사용자의 은행 A인 VISA 계정의 기능을 보유한다.
예시적인 모바일 장치 (120)는 장치 (110)상의 고정형 칩에 내장될 수 있거나 혹은 찰탈형 스마트칩 또는 보안 디지털(SD) 카드 내부에 존재할 수 있다. 특정의 실시 예에서, 가입자 식별 모듈 (SIM) 카드는 예를 들면 NFC SIM 카드인 보안 요소 (129)를 호스트 할 수 있다. 보안 요소 (129)는 사용자 장치 (110)상에 상주하고 이 장치에 의해 액세스 가능한 소프트웨어 애플리케이션으로 하여금 보안 요소 (129)의 특정 기능과 보안적으로 상호 작용할 수 있게 하며, 보안 요소 (129) 내에 저장된 정보를 보호한다. 보안 요소 (129)는 본 명세서에 기재된 기능을 수행할 수 있는 애플리케이션들을 포함한다. 예시적인 실시 예에서, 보안 요소 (129)는 암호화 프로세서와 난수 발생기와 같은 스마트 카드의 전형적인 컴포넌트들을 포함한다. 예시적인 실시 예에서, 보안 요소 (129)는 Java 카드 플랫폼의 운영 체제와 같은 스마트 카드 운영 체제에 의해 제어되는 칩의 높은 보안 시스템에서의 NFC 제어기를 포함한다.
다른 예시적인 실시 예에서, 보안 요소 (119)는 옵션에 따른 구현으로서 비- EMV 형 비접촉식 스마트 카드를 포함하도록 구성된다. 보안 요소 (119)는 사용자 장치 (110)의 애플리케이션 (125)과 통신한다. 예시적인 실시 예에서, 보안 요소 (119)는 암호화된 사용자 정보를 저장하고, 신뢰할 수 있는 애플리케이션만이 상기 저장된 정보에 액세스할 수 있게 한다. 예시적인 실시 예에서, 제어기 (113)는 보안 요소 (119)에서의 해독 및 설치를 위한 보안 키로 암호화된 애플리케이션 (115)과 상호 작용한다.
더욱이, 보안 요소 (119)는 또한, 지불 애플리케이션, 애플리케이션들 (115)의 보안 양식, 인증 애플리케이션, 지불 프로비저닝 애플리케이션, 보안 데이터 전송 애플리케이션, 또는 보안 요소 (119)의 보안 기능을 이용하는 다른 적절한 애플리케이션을 포함할 수 있다.
예시적인 실시 예에서, 데이터 저장 유닛 (117) 및 애플리케이션 (115)은 사용자 장치 (110)상의 보안 요소 (119)에 구현될 수 있다. 다른 예시적인 실시 예에서, 데이터 저장 유닛 (117)은 사용자 장치 (110)에 상주하는 개별 메모리 장치일 수 있다. 예를 들어, 데이터 저장 유닛 (117)은 사용자는 계정 관리 시스템 (130) 계정 및 사용자 장치 (110) 프로그램 코드의 검색을 위해 사용자 연락처 정보의 세부사항을 저장하게 한다. 예시적인 실시 예에서, 데이터 저장 유닛 (117)은 정보를 저장하기에 적합한 사용자 장치 (110)에 액세스할 수 있는 로컬 또는 원격 데이터 스토리지 구조를 포함할 수 있다. 예시적인 실시 예에서, 데이터 저장 유닛 (117)은 HTML5 로컬 스토리지 등의 암호화된 정보를 저장한다.
사용자 장치 (110)는 안테나 (124)를 통해 장치 리더기 (150)와 통신한다. 사용자 장치 (110)가 활성화 및 우선화된 경우, 제어기 (113)는 트랜잭션을 위한 사용자 장치 (110)의 준비 상태를 통지받는다. 제어기 (113)는 안테나 (114)를 통해 무선 신호를 폴링하거나 장치 리더기 (160)로부터 무선 신호들을 청취한다.
예시적인 장치 리더기 (150)는 애플리케이션 (155)을 포함한다. 장치 리더의 운영자는 애플리케이션 (155)을 통해 사용자 장치 (110)로부터 정보를 읽고 검색하기 위해 장치 리더기 (150)를 사용할 수 있다. 애플리케이션 (125)은 장치 리더기 (150)상에 존재하여 그의 동작을 수행하는 프로그램, 함수, 루틴, 애플릿 또는 유사한 엔티티이다. 예를 들어, 애플리케이션 (155)은 사용자 장치 (110) 애플리케이션, 계정 관리 시스템 (130) 애플리케이션, 인터넷 브라우저, 디지털 지갑 애플리케이션, 로열티 카드 애플리케이션, 다른 부가가치 애플리케이션, 사용자 인터페이스(121) 애플리케이션 또는 장치 리더기 (150)에서 작동하는 다른 적절한 애플리케이션은 중 하나 이상일 수 있다. 일부 실시 예들에서, 장치 리더기 운영자는 본 명세서에 기재된 기술의 이점을 얻기 위해 애플리케이션 (155)을 설치 및/또는 장치 리더기 (150)상의 특성을 선택해야 한다.
예시적인 모바일 장치 (120)는 또한 계정 관리 시스템 (130)과 통신한다. 예시적인 계정 관리 시스템 (130) 계정은 계정 관리 모듈 (133) 및 데이터 저장 유닛 (137)을 구비한다. 예시적인 실시 예에서, 사용자는 계정 관리 시스템 (130)과 계정을 생성한다. 계정 관리 모듈 (133)은 사용자의 등록을 관리한다. 사용자의 계정의 등록 정보에 관하여, 계정 관리 모듈 (133)은 사용자가 계정 관리 시스템 (130) 계정을 등록하기 위한 양식을 제공하는 웹 기반의 사용자 인터페이스를 생성한다. 예를 들어, 계정 관리 모듈 (133)은 기본적인 사용자 식별 정보, 하나 이상의 사용자 장치 (110)에 관한 등록 정보, 하나 이상의 모바일 장치 (120)에 관한 등록 정보 및 결제 정보를 수집할 수 있다. 예시적인 실시 예에서 사용자는 은행 계정 직불 카드, 신용 카드, 선물 카드를 포함하는 하나 이상의 금융 계정, 하나 이상의 금융 계정들에 대한 프록시에서의 링크(예컨대, 디지털 지갑을 다른 결제 계정에 연결하는 디지털 전자 지갑 링크), 또는 구매를 위해 사용할 수 있는 다른 타입의 금융 계정들을 등록하며, 계정 관리 시스템 (130)은 계정 관리 모듈 (133)을 사용한다. 예시적인 실시 예에서, 등록된 금융 결제 정보는 장치 리더기 (160)를 운영하는 판매자 시스템과 사용자가 구매를 완료하는 데 사용할 수 있다. 예시적인 실시 예에서, 사용자 계정 정보는 사용자의 계정에 저장되거나 데이터 저장 유닛 (137)의 사용자와 관련된다.
예시적인 실시 예에서, 데이터 저장 유닛 (137)은 정보를 저장하기에 적합한 모바일 장치 (120)에 액세스할 수 있는 로컬 또는 원격 데이터 스토리지 구조를 포함할 수 있다. 예시적인 실시 예에서, 데이터 저장 유닛 (137)은 HTML5 로컬 스토리지등의 암호화된 정보를 저장한다.
예시적인 동작 환경(100)의 컴포넌트들이 도 2-7에 도시된 예시적인 방법들을 참조하여 설명된다. 도 2-7의 예시적인 방법들은 다른 시스템들 및 다른 환경들에서 실행될 수 있다.
예시적인 시스템 프로세스
도 2는 특정의 예시적인 실시 예들에 따른 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 제공하기 위한 방법을 나타내는 블록 흐름도이다. 방법 (200)은 도 1에 도시된 컴포넌트를 참조하여 설명된다.
블록 (210)에서, 사용자는 모바일 장치 (120)상의 계정 관리 시스템 (130) 애플리케이션에 액세스한다. 예시적인 실시 예에서, 사용자는 모바일 장치 (120)상의 계정관리 시스템 (130) 애플리케이션 (125)을 다운로드하거나 혹은 이 애프리케이션으로 하여금 본 명세서에 기재된 기능을 수행하게 한다. 예시적인 실시 예에서, 사용자는 애플리케이션 (125)을 열거나 인에이블링함으로써 애플리케이션 (125)에 액세스한다.
블록 (220)에서, 계정 관리 시스템 (130)은 사용자가 모바일 장치 (120)의 애플리케이션 (125)을 액세스 및/또는 인에이블 했다는 통지를 수신하고, 사용자가 계정 관리 시스템 (130) 계정을 가지고 있는지를 결정한다. 예시적인 실시 예에서, 사용자는 상기 애플리케이션이 인에이블되었을 때, 계정 관리 시스템 (130) 계정에 로그인하거나 상기 계정을 만들 것을 촉구받는다. 다른 실시 예에서, 사용자가 이전에 계정 관리 시스템 (130) 계정에 로그인했고, 그렇지 않은 경우는 자동으로 계정에 로그인 한다. 또 다른 예시적인 실시 예에서, 사용자의 로그인 증명(credentials)이 다른 계정(예를 들어, 소셜 네트워킹 웹 사이트 또는 모바일 장치 (120) 계정들) 간에 공유되며, 사용자는 공유된 로그인 증명을 사용하여 자동으로 계정 관리 시스템 (130)의 계정에 로그인된다.
사용자가 계정 관리 시스템 (130) 계정을 가지고 있지 않은 경우, 방법 (200)은 블록 (230)으로 진행하며, 사용자는 계정 관리 시스템 (130) 계정을 만들 것을 촉구받는다. 일 예에서, 사용자는 사용자가 애플리케이션 (125)에 액세스할 때 계정 관리 시스템 (130)에 등록할 것을 촉구받는다. 다른 실시 예에서, 사용자는 사용자가 애플리케이션 (125)을 다운로드하거나 혹은 인에이블할 때, 계정 관리 시스템 (130)에 등록할 것을 촉구받는다. 또 다른 예시적인 실시 예에서 사용자는 계정 관리 시스템 (130) 계정에 로그인하거나 등록할 필요가 없다. 본 실시 예에서, 본 명세서에 설명된 방법은 "게스트" 사용자를 위해 수행된다
예시적인 실시 예에서, 계정 관리 시스템 (130) 계정은 계정 관리 시스템 (130) 또는 제 3자 시스템에 의해 유지되는 디지털 지갑 계정이다. 다른 예시적인 실시 예에서, 사용자는 계정 관리 시스템 (130)에 등록하기 위해 스마트 폰 애플리케이션 (125)을 사용할 수 있다. 또 다른 예시적인 실시 예에서, 사용자는 스마트 폰 애플리케이션 (125)을 통해 계정 관리 시스템 (130)에 액세스할 수 있다.
블록 (230)으로부터, 방법 (200)은 도 2의 블록 (240)으로 진행된다.
도 2의 블록 (220)으로 되돌아가서, 사용자가 계정 관리 시스템 (130) 계정을 가지고 있는 경우, 사용자는 블록 (235)에서 상기 계정에 로그인 한다. 예시적인 실시 예에서, 사용자의 계정 관리 시스템 (130) 계정 정보가 모바일 장치 (120)에 저장되고 사용자는 사용자의 계정 관리 시스템 (130) 계정에 자동으로 서명된다. 다른 실시 예에서, 사용자는 공유된 로그인 증명을 사용하여 계정 관리 시스템 (130) 계정에 자동으로 로그인된다. 또 다른 예시적인 실시 예에서, 사용자는 이전에 계정 관리 시스템 (130) 계정에 로그인 되었으므로 로그인할 것을 요구받지 않는다.
블록 (240)에서, 사용자는 모바일 장치 (120)상의 계정 관리 시스템 (130) 애플리케이션 (125)을 통해, 새로운 재프로그램 가능한 무선 암호화 사용자 장치 (110)에 대한 요청을 제출한다. 예시적인 실시 예에서, 사용자는 새로운 사용자 장치 (110)의 요구를 제출할 때 계정 관리 시스템 (130) 계정을 로그인하거나 작성할 것을 촉구받는다. 예시적인 실시 예에서, 사용자는 새로운 사용자 장치 (120)를 요청할 때, 장치 (110)와 사용자 장치 (110)의 유형 또는 설계에 의해 수행될 초기 기능 및/또는 기능들을 요구한다. 예를 들어, 사용자는 사용자 장치 (110)가 환자 기록을 유지할 수 있는 팔찌 혹은 도어 액세스 카드로서 작용할 수 있는 포브 태그(fob tag)임을 요청할 수 있다.
블록 (250)에서, 새로운 사용자 장치 (110)가 포맷된다. 새로운 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 포맷 하는 방법은 다음 도 3에 기재된 방법들을 참조하여 보다 상세하게 설명된다.
도 3은 특정 예시적인 실시 예에 따르면, 블록 (250)에서 참조 된 새로운 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 포맷 하는 방법 (250)을 나타내는 블록 흐름도이다. 방법 (250)은 도 1에 도시된 컴포넌트를 참조하여 설명된다.
블록 (310)에서, 모바일 장치 (120)는 계정 관리 시스템 (130)에 새로운 사용자 장치 (110)의 요청을 제출한다. 예시적인 실시에서, 모바일 장치 (120)상의 계정 관리 시스템 (130) 애플리케이션은 모바일 장치 (120)에게 계정 관리 시스템 (130)과 통신하고 새로운 사용자 장치 (110)의 요청을 계정 관리 시스템 (130)에 전송할 것을 지시한다. 예시적인 실시 예에서, 모바일 장치 (120)는 새로운 사용자 장치 (110)의 요청을 제출할 때, 사용자의 계정 관리 시스템 (130) 계정에 대응하는 계정 ID를 전송한다. 대안적인 예시적인 실시 예에서, 모바일 장치 (120)는 모바일 장치 (120)가 계정 관리 시스템 (130)과 통신할 수 있을 때까지 새로운 사용자 장치 (110)의 요청을 저장한다.
블록 (315)에서, 계정 관리 시스템 (130)은 모바일 장치로부터 새로운 사용자 장치 (110)의 요청을 수신한다. 예시적인 실시 예에서, 계정 관리 모듈 (133)은 상기 요청을 수신한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 새로운 사용자 장치 (110)의 요청으로 전송되는 계정 식별자에 대응하는 사용자는 계정을 확인한다.
블록 (320)에서, 계정 관리 시스템 (130)은 새로운 사용자 장치 (110)의 공개 / 개인 키 쌍을 생성한다. 예시적인 실시 예에서, 공개 키는 모바일 장치 (120)에 의해 이해가능하고, (장치 (110) 및 (120) 포함하는) 장치들이 동기화될 때 사용자 장치 (110)를 식별하기 위해 장치 (120)에 의해 사용된다. 본 실시 예에서, 각 사용자 장치 (110)는 사용자 장치 (110) 및 계정 관리 시스템 (130)에 요청하는 데 사용되는 모바일 장치 (110)에 의해 이해가능한 고유한 또는 다른 공개 키 또는 장치 (110) 식별을 가지고 있다. 예시적인 실시 예에서, 공개 키는 사용 장치 (110)의 식별자 또는 계정 관리 시스템 (130) 계정 식별자이다. 다른 예시적인 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110)를 식별하거나 또는 인증하지 않는다. 예시적인 실시 예에서, 개인 키는 계정 관리 시스템 (130)에 의해 유지되고 모바일 장치 (120)에 의해 이해가능하지 않다. 예시적인 실시 예에서, 모바일 장치 (120)는 비밀 키에 대한 액세스 권한을 가지고 있지 않다. 본 실시예에서, 개인 키는 계정 관리 시스템 (130)에 의해 전송된 프로그램 코드를 읽거나 이해할 필요가 있다. 본 실시 예에서, 모바일 장치 (120)의 기능은 정보에 대한 통과 도관으로서 기능을 하며, 사용자 장치 (110)가 모바일 장치 (120)와 동기화될 때까지 정보를 기억한다. 예시적인 실시 예에서, 개인 키와 공개 키 쌍은 사용자 장치 (110) 및 계정 관리 시스템 (130)에 알려진다.
블록 (330)에서, 계정 관리 시스템 (130)은 사용자 장치 (110)에 대한 공개 키 및 개인 키를 저장한다. 예시적인 실시 예에서, 공개 키와 개인 키는 사용자의 계정 관리 시스템 (130) 계정에 저장된다.
블록 (340)에서, 계정 관리 시스템 (130)은 사용자 장치 (110)에 대한 프로그램 코드를 검색하고, 이 정보를 모바일 장치 (120)에 전송한다. 예시적인 실시 예에서, 이 프로그램 코드는 사용자 장치 (110)를 활성화하고 인에이블할 것이 요구된다. 다른 예시적인 실시 예에서, 프로그램 코드는 사용자 장치 (110)의 하나 이상의 초기의 기능들을 인에이블하는 코드를 포함한다. 본 실시 예에서, 하나 이상의 초기 기능들은 새로운 사용자 장치 (110)를 요구할 때, 사용자가 요청한 기능들에 대응한다. 예시적인 실시 예에서, 프로그램 코드는 데이터 저장 유닛 (137)으로부터 검색된다. 예시적인 실시 예에서, 프로그램 코드는 사용자 장치 (110)의 식별자 또는 키를 포함한다.
블록 (345)에서, 모바일 장치 (120)는 새로운 사용자 장치 (110)에 대한 프로그램 코드 및 장치 (110) 식별자를 수신한다. 예시적인 실시 예에서, 계정 관리 시스템 (130) 애플리케이션 (125)은 계정 관리 시스템 (130)으로부터 프로그램 코드 및 장치 (110) 식별을 수신한다.
블록 (350)에서, 모바일 장치 (120)는 새로운 사용자 장치 (110)에 대한 프로그램 코드 및 식별자를 저장한다. 예시적인 실시예에서, 이 정보는 사용자 장치 (110)가 모바일 장치 (120)와 동기화될 때까지 데이터 저장 유닛 (127)의 애플리케이션 (125)에 의해 저장된다.
블록 (360)에서, 계정 관리 시스템 (130)은 모바일 장치 (120)에 전송된 동일한 장비 (110) 식별자를 포함하는 사용자 장치를 식별한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 모바일 장치 (120)에 전송된 장치 (110) 식별자에 대응하는 장치 (110) 식별자와 함께 사용자 장치 (110) 을 저장 또는 포맷 했다. 다른 실시예에서, 계정 관리 시스템 (130)은 새로운 사용자 장치 (110)를 식별 및/또는 전송한 후 상기 포맷 정보 및 디바이스 (110) 식별자를 모바일 장치 (120)에 전송한다.
블록 (370)에서, 계정 관리 시스템 (130)은 식별된 사용자 장치 (110)를 사용자에게 전송한다. 예시적인 실시 예에서, 이 새로운 사용자 장치 (110)는 사용자에게 발송된다. 다른 예시적인 실시 예에서, 새로운 사용자 장치 (110)는 소매 장소 또는 계정 관리 시스템 (130)의 장소에서 구매 또는 선택된다.
블록 (380)에서, 사용자는 새로운 사용자 장치 (110)를 수신한다. 예시적인 실시 예에서, 사용자는 모바일 장치 (120)에 전송된 동일한 장치 (110) 식별자를 포함하는 사용자 장치 (110)를 수신한다 .
블록 (390)에서, 모바일 장치 (120)는 새로운 사용자 장치 (110)와 동기화한다. 새로운 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 모바일 장치 (120)와 동기화하는 방법은 도 4에 설명된 방법들을 참조하여 이후 상세히 설명된다.
도 4는 특정 실시 예들에 따른, 블록 (390)에서 참조 되는 바와 같이 새로운 재프로그램 가능한 무선 암호화 사용자 장치 (390)를 모바일 장치 (120)와 동기화하는 방법들을 도시하는 블록 흐름도이다. 방법 (390)은 도 1에 도시된 컴포넌트들을 참조로하여 설명된다.
블록 (410)에서, 사용자는 모바일 장치 (120)상의 계정 관리 시스템 (130) 애플리케이션 (125)에 액세스한다. 예시적인 실시 예에서, 사용자는 새로운 사용자 장치 (110)를 수신하였으며, 장치 (110)를 모바일 장치 (120)와 동기화함으로써 디바이스(110)를 인에이블하거나 포맷 하기를 원한다. 실시 예서, 사용자는 계정 관리 시스템 (130)로부터 수신된 프로그램 코드의 전송을 인에이블 하기 위해 모바일 장치 (120)상의 애플리케이션 (125)에 액세스한다.
블록 (420)에서, 사용자 장치 (110)는 모바일 장치 (120)의 소정의 근방 내에서 이동된다. 일 실시 예에서, 사용자 장치 (110)는 "탭"되거나 혹은 모바일 장치 (120) 및 사용자 장치 (110)가 보안 통신 채널 (140) (예를 들어, 근거리 무선 통신, 블루투스, Wi-Fi 혹은 다른 근접 기반의 통신 채널 (140))을 확립할 수 있는 위치로 이동한다. 다른 예시적인 실시 예에서, 사용자 장치 (110)는 모바일 장치 (120)에 플러그인 되거나 이와 관련된다.
블록 (430)에서, 모바일 장치 (120) 및 사용자 장치 (110)는 통신 채널 (140)을 확립한다. 예시적인 실시 예에서, 통신 채널 (140)은 장치들 (장치 (110)과 (120)를 포함)이 정보를 전송 및/또는 공유할 수 있게 하는 보안 통신 채널 (140)이다. 예시적인 실시 예에서, (장치 (110) 및 (120)를 포함하는) 장치들은 이들 장치들로 하여금 서로를 식별 및/또는 인증할 수 있게 하기 위해 식별 정보를 공유한다. 예시적인 실시 예에서, 보안 통신 채널 (140)은 또한 사용자 장치 (110)를 위한 파워 소스로서 기능을 한다.
블록 (440)에서, 사용자 장치 (110)가 인증된다. 예시적인 실시 예에서, 사용자 장치 (110)는 프로그램 코드를 전송하는 모바일 장치 (120)에 의해 인증된다. 다른 예시적인 실시 예에서, 사용자 장치 (110)는 모바일 장치 (120)에 의해 인증되지 않는다. 이 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110)를 인증함이 없이 프로그램 코드를 전송한다. 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 인증하는 방법이 5에 기재된 방법을 참조하여 이후에 보다 상세히 설명된다.
도 5는 특정의 예시적인 실시 예들에 따라, 블록 (440)에서 참조 되는 바와 같이, 재프로그램 가능한 무선 암호화 사용자 장치 (110) 를 인증하는 방법 (440)을 나타내는 블록 흐름도이다. 이 방법 (440)은 도 1에 도시된 컴포넌트들을 참조하여 설명된다.
블록 (510)에서, 모바일 장치 (120)는 사용자 장치 (110)에 대한 식별 요청을 사용자 장치 (110)에 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 장치 (110)를 인증할 정보를 식별하기 위한 요청을 사용자 장치 (110)에 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 사용 데이터에 대한 요청을 전송한다. 본 실시 예에서, 모바일 장치 (120)는 사용 데이터를 요청하지만, 사용 데이터를 읽거나 이해할 수 없다. 본 실시 예에서, 사용 데이터는 사용자 장치 (110) 및 계정 관리 시스템 (130)에 의해서만 이해된다.
블록 (520)에서, 사용자 장치 (110)는 사용 데이터 및 장치 (110) 식별자에 대한 요청을 수신한다. 예시적인 실시 예에서, 상기 요청은 보안 통신 채널 (140)를 통해 전송된다.
블록 (530)에서, 요청이 수신되었을 때, 사용자 장치 (110)상의 애플리케이션 (115)이 활성화된다. 예시적인 실시 예에서, 사용자 장치 (110)는 사용자 인터페이스를 포함하지 않는다. 본 실시 예에서, 사용자는 모바일 장치 (120)를 통해 사용자 장치 (110)와 통신하였다. 예시적인 실시 예에서, 애플리케이션 (115)는 새로운 디바이스 (110)가 사용자에게 전송되기 전 사용자 장치 (110)에 프로그램된 있다. 다른 예시적인 실시 예에서, 애플리케이션 (115)는 장치 (110)가 먼저 모바일 장치 (120)와 동기화되는 때 사용자 장치 (110)에 프로그램된다.
블록 (540)에서, 사용자 장치 (110)는 사용자 장치 (110) 식별 및/또는 사용 데이터를 검색한다. 예시적인 실시 예에서, 이 정보는 데이터 저장 장치 (117)로부터의 애플리케이션 (115)에 의해 검색되거나 보안 요소 (119) 또는 보안 메모리에 저장된다. 다른 실시 예에서, 애플리케이션 (115)은 보안 요소 (119) 또는 보안 메모리에 상주한다. 예시적인 실시 예에서, 사용자 장치 (110) 식별은 사용자 장치 (110) 키 또는 계정 관리 시스템 (130) 키이다.
블록 (550)에서, 사용자 장치 (110)는 장치 (110) 식별자 및/또는 사용 데이터를 모바일 장치 (120)에 전송한다. 예시적인 실시 예에서, 이 정보는 모바일 장치 (120)로부터 수신된 요청에 응답하여 보안 통신 채널 (140)를 통해 전송된다.
블록 (555)에서, 모바일 장치 (120)는 사용자 장치 (110)에 의해 전송된 장치 (110) 식별자 및/또는 사용 데이터를 수신한다.
블록 (560)에서, 모바일 장치 (120)는 계정 관리 시스템 (130)로부터 이전에 수신된 장치 (110) 식별자를 검색한다. 예시적인 실시 예에서, 장치 (110) 식별자들은 사용자 장치 (110)를 인증하기 위해 비교된다. 예시적인 실시예에서, 장치 (110) 식별자는 데이터 저장 유닛 (127)으로부터 검색된다
블록 (565)에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 수신된 장치 (110) 식별자 및/또는 사용 데이터를 저장한다. 예시적인 실시 예에서, 이 정보는 애플리케이션 (125)에 의해 데이터 저장 유닛 (127)에 저장된다.
블록 (570)에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 수신된 장치 (110) 식별자가 계정 관리 시스템 (130)로부터 수신된 장치 (110) 식별자와 일치하는지 여부를 판단한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)로부터 모바일 장치 (120)는 이 2개의 장치 (110) 식별자들을 일치하는지 여부를 판단하기 위해 비교한다.
장치 (110) 식별자들이 일치하지 않는 경우, 방법 (440)은 도 5에서 블록 (585)으로 진행된다. 블록 (585)에서, 사용자 장치 (110)는 인증되지 않는다. 예시적인 실시 예에서, 사용자 장치 (110)는 장치 (110)의 식별자들이 일치하지 않기 때문에 인증되지 않는다.
블록 (590)에서, 모바일 장치 (120)는 오류 메시지가 디스플레이한다. 예시적인 실시 예에서, 오류 메시지는 애플리케이션 (125)에 의해 사용자 인터페이스 (121)에 디스플레이된다. 예시적인 실시예에서, 오류 메시지는 모바일 장치 (120)상에 팝업 창, 경고 또는 기타 텍스트로서 디스플레이된다.
블록 (595)에서, 모바일 장치 (120)는 사용자 장치 (110)을 인증하기 위해 계정 관리 시스템 (130)으로부터 추가적이 정보를 요청한다. 예시적인 실시 예에서, 모바일 장치 (110)는 사용자 장치 (110)가 인증되지 않는 한 사용자 장치에 포맷 정보를 전송하지 않는다. 예시적인 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 장치 (110) 식별자 또는 다른 식별 정보를 요청한다.
블록 (570)으로 돌아가서, 만일 장치 (110) 식별자들이 일치하면, 방법 (440)은 도 5에서 블록 (580)으로 진행된다.
블록 (580)에서, 사용자 장치 (110)가 인증된다. 예시적인 실시 예에서, 사용자 장치 (110)는 장치 (110)의 식별자들이 일치한다고 판단하는 것에 응답하여 인증된다.
방법 (440)는 다음 도 4의 블록 (450) 또는 도 7의 블록 (745)로 진행된다.
도 4로 돌아가서, 블록 (450)에서, 모바일 장치 (120)는 프로그램 코드를 검색한다. 예시적인 실시 예에서, 프로그램 코드는 데이터 저장 유닛 (127)으로부터 검색된다. 예시적인 실시 예에서, 프로그램 코드는 사용자 장치 (110)를 인증함에 응답하여 검색된다.
블록 (460)에서, 모바일 장치 (120)는 사용자 장치 (110)에 프로그램 코드를 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 통신 채널 (140)을 통해 프로그램 코드를 전송한다.
블록 (470)에서, 사용자 장치 (110)는 프로그램 코드를 수신한다. 예시적인 실시 예에서, 프로그램 코드는 애플리케이션 (115) 및/또는 보안 요소 (119)에 의해 수신된다.
블록 (480)에서, 사용자 장치 (110)가 포맷 된다. 예시적인 실시 예에서, 애플리케이션 (115) 및/또는 보안 요소 (119)는 장치 (110)를 포맷 하기 위해 사용자 장치 (110)에 프로그램 코드를 기입한다. 일 실시 예에서, 사용자 장치 (110)는 인에이블되어 프로그램 코드에 의해 인코딩된 기능을 수행하는데 사용될 수 있다.
블록 (490)에서, 사용자 장치 (110)는 성공적인 포맷 메시지를 모바일 장치 (120)에 전송한다. 일 실시 예에서, 메시지는 보안 통신 채널 (140)를 통해 전송된다.
블록 (495)에서, 모바일 장치 (120)는 성공적인 포맷 메시지를 수신한다. 예시적인 실시 예에서, 메시지는 애플리케이션 (125)에 의해 수신된다
방법 (390)는 다음 도 3의 블록 (395)으로 진행된다.
도 3으로 돌아가, 블록 (395)에서, 모바일 장치 (120)는 사용자 장치 (110)가 성공적으로 포맷 되었음을 나타내는 메시지를 디스플레이한다. 예시적인 실시 예에서 메시지는 사용자 인터페이스 (121)상에 디스플레이되는 팝업 창, 경고 또는 기타 텍스트를 포함한다.
방법 (250)은 다음 도 2 블록 (260)로 진행된다.
도 2로 돌아가서, 블록 (260)에서, 사용자는 모바일 장치 (120)상의 계정 관리 시스템 (130) 애플리케이션 (125)를 통해 새로운 사용자 장치 (110) 기능에 대한 요청을 제출한다. 예시적인 실시 예에서, 사용자는 새로운 및/또는 추가 기능을 요청하기 전 임의의 기간 동안 사용자 장치 (110)에서 초기에 포맷 된 기능을 수행하기 위해 사용자 장치를 이용한다. 예시적인 실시 예에서, 사용자는 모바일 장치 (120)상의 애플리케이션 (125)에 액세스하고 새로운 기능을 요구한다.
블록 (270)에서 상기 새로운 기능은 사용자 장치에 프로그램된다. 재프로그램 가능한 무선 암호화 사용자 장치 (110)에 상기 새로운 기능을 추가하기 위한 방법이 도 4에 기재된 방법들을 참조로 하여 하기에 상세하게 설명된다.
도 6은 특정 예시적인 실시 예에 따른, 블록 (2270)에서 참조 되는 재프로그램 가능한 무선 암호화 사용자 장치 (110)에 새로운 기능을 추가하는 방법 (270)을 나타내는 블록 흐름도이다. 방법 (270)은 도 1에 도시된 컴포넌트들을 참조로 하여 설명된다.
블록 (610)에서, 모바일 장치 (120)는 새로운 사용자 장치 (110) 기능에 대한 요청을 계정 관리 시스템 (130)에 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 사용자 장치 (110) 식별자 및/또는 사용자의 계정 관리 시스템 (130) 계정을 위한 계정 식별자를 전송한다. 본 실시 예에서, 사용자 장치 (110)의 식별자 및/또는 계정 식별자는 모바일 장치 (120)에 알려지며, 사용자 장치 (110) 및/또는 사용자의 계정 관리 시스템 (130) 계정을 식별하기 위해 계정 관리 시스템 (130)에 의해 이해가능하다. 다른 예시적인 실시 예에서, 상기 요청은 계정 관리 시스템 (130)와 사용자 장치 (110)에 의해서만 이해가능한 사용자 장치 (110)의 개인 키로 서명된다.
블록 (620)에서, 계정 관리 시스템 (130)은 모바일 장치 (120)로부터 새로운 사용자 장치 (110)의 기능에 대한 요청을 수신한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 새로운 사용자 장치 (110) 기능에 대한 요청으로 모바일 장치 (120)로부터 사용자 장치 (110) 식별자 및/또는 계정 식별자를 수신한다.
블록 (630)에서, 계정 관리 시스템 (130)은 사용자 장치 (110)을 인증한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 사용자 장치 (110) 식별자를 인증한다.
블록 (640)에서, 계정 관리 시스템 (130)은 모바일 장치 (120)로부터 수신된 장치 (110) 식별자를 사용자의 계정 관리 시스템 (130) 계정에 저장된 장치 (110) 식별자 또는 개인 키와 비교한다. 다른 예시적인 실시 예에서, 계정 관리 시스템 (130)은 사용자 장치 (110) 식별자가 기존의 사용자 장치 (110)에 대응하는 실제 사용자 장치 (110) 식별자인지를 판단한다.
장치 (110) 식별자들이 일치하지 않는 경우 또는 사용자 장치 (110)가 인증되지 않는 경우, 방법 (270)은 도 6의 블록 (650)으로 진행된다.
블록 (650)에서, 계정 관리 시스템 (130)은 모바일 장치 (120)에 오류 메시지를 전송한다. 일례의 실시 예에서, 오류 메시지는 사용자 장치 (110)가 인증될 수 없음을 나타낸다.
블록 (655)에서, 모바일 장치 (120)는 오류 메시지를 수신하고 그것을 디스플레이한다. 예시적인 실시 예에서, 오류 메시지는 애플리케이션 (125)에 의해 사용자 인터페이스 (121)를 통해 팝업 창, 경고 또는 다른 형태의 텍스트 통지로 디스플레이된다.
블록 (660)으로 돌아가, 사용자 장치 (110)가 인증된 경우, 방법 (270)은 도 6의 블록 (660)으로 진행된다.
블록 (660)에서, 계정 관리 시스템 (130)은 원하는 새로운 기능을 위해 상기 프로그램 코드를 검색한다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 데이터 저장 유닛 (137)으로부터 상기 프로그램 코드를 검색한다.
블록 (665)에서, 계정 관리 시스템 (130)은 상기 프로그램 코드를 모바일 장치 (120)에 전송하다. 예시적인 실시 예에서, 계정 관리 시스템 (130)은 또한, 사용자 장치 (110)에 대한 인증 장치 (110) 식별자를 송신한다.
블록 (670)에서, 모바일 장치 (120)는 계정 관리 시스템 (130)으로부터 상기 프로그램 코드를 수신한다.
블록 (680)에서, 모바일 장치 (120)는 상기 프로그램 코드를 저장한다. 일 실시 예에서, 애플리케이션 (125)은 프로그램 코드를 수신하고, 장치들 (장치 (110), (120)를 포함)이 동기화될 때까지 상기 프로그램 코드를 데이터 저장 유닛 (127)에 저장한다.
블록 (690)에서, 모바일 장치 (120)는 사용자 장치 (110)와 동기화된다. 재프로그램 가능한 무선 암호화 사용자 장치 (110)에 새로운 기능을 추가하기 위해, 재프로그램 가능한 무선 암호화 사용자 장치 (110)을 모바일 장치 (120)와 동기화시키는 방법이 도 7에 기술된 방법들을 참조하여 이후에 보다 상세하게 설명된다.
도 7은 특정의 예시적인 실시예에 따른, 블록 (690)에서 참조 되는, 재프로그램 가능한 무선 암호화 사용자 장치 (110)에 새로운 기능을 추가하기 위해, 재프로그램 가능한 무선 암호화 사용자 장치 (110)을 모바일 장치 (120)와 동기화시키는 방법 (690)을 도시하는 블록 흐름도이다. 방법 (690)은 도 1에 되시된 컴포넌트들을 참조하여 설명된다.
블록 (710)에서, 사용자 장치 (110)는 모바일 장치 (120)의 소정의 근방 내에서 이동된다. 일 실시 예에서, 사용자 장치 (110)는 "탭" 되거나 혹은 모바일 장치 (120) 및 사용자 장치 (110)가 보안 통신 채널 (140) (예를 들어, 근거리 무선 통신, 블루투스, Wi-Fi 혹은 다른 근접 기반의 통신 채널 (140))을 확립할 수 있는 위치로 이동한다. 다른 예시적인 실시 예에서, 사용자 장치 (110)는 모바일 장치 (120)에 플러그인 되거나 이와 관련된다.
블록 (720)에서, 모바일 장치 (120) 및 사용자 장치 (110)는 통신 채널 (140)을 확립한다. 예시적인 실시 예에서, 통신 채널 (140)은 장치들 (장치 (110)과 (120)를 포함)이 정보를 전송 및/또는 공유할 수 있게 하는 보안 통신 채널 (140)이다. 예시적인 실시 예에서, (장치 (110) 및 (120)를 포함하는) 장치들은 이들 장치들로 하여금 서로를 식별 및/또는 인증할 수 있게 하기 위해 식별 정보를 공유한다.
블록 (440)에서, 사용자 장치 (110)가 인증된다. 재프로그램 가능한 무선 암호화 사용자 장치 (110)를 인증하는 방법이 도 5에 기재된 방법을 참조하여 이후에 보다 상세히 설명된다.
도 7로 돌아가서, 블록 (745)에서, 모바일 장치 (120)는 프로그램 코드를 검색한다. 예시적인 실시 예에서, 프로그램 코드는 데이터 저장 유닛 (127)으로부터 검색된다. 예시적인 실시 예에서, 프로그램 코드는 사용자 장치 (110)를 인증함에 응답하여 검색된다.
블록 (750)에서, 모바일 장치 (120)는 사용자 장치 (110)에 프로그램 코드를 전송한다. 예시적인 실시 예에서, 모바일 장치 (120)는 통신 채널 (140)을 통해 프로그램 코드를 전송한다.
블록 (760)에서, 사용자 장치 (110)는 프로그램 코드를 수신한다. 예시적인 실시 예에서, 프로그램 코드는 애플리케이션 (115) 및/또는 보안 요소 (119)에 의해 수신된다.
블록 (770)에서, 사용자 장치 (110)가 포맷 된다. 예시적인 실시 예에서, 애플리케이션 (115) 및/또는 보안 요소 (119)는 장치 (110)를 포맷 하기 위해 사용자 장치 (110)에 프로그램 코드를 기입한다. 일 실시 예에서, 사용자 장치 (110)는 인에이블되어 프로그램 코드에 의해 인코딩된 기능을 수행하는데 사용될 수 있다.
블록 (780)에서, 사용자 장치 (110)는 성공적인 포맷 메시지를 모바일 장치 (120)에 전송한다. 일 실시 예에서, 메시지는 보안 통신 채널 (140)를 통해 전송된다.
블록 (790)에서, 모바일 장치 (120)는 성공적인 포맷 메시지를 수신한다. 예시적인 실시 예에서, 메시지는 애플리케이션 (125)에 의해 수신된다
방법 (690)은 다음 도 6의 블록 (695)으로 진행된다.
도 6으로 돌아가, 블록 (695)에서, 모바일 장치 (120)는 사용자 장치 (110)가 성공적으로 포맷 되었음을 나타내는 메시지를 디스플레이한다. 예시적인 실시 예에서 메시지는 사용자 인터페이스 (121)상에 디스플레이되는 팝업 창, 경고 또는 기타 텍스트를 포함한다.
방법 (270)은 다음 도 2 블록 (280)로 진행된다.
도 2로 돌아가서, 블록 (280)에서, 모바일 장치 (120)는 사용자 장치 (110)로부터 수신된 사용 데이터를 계정 관리 시스템 (130)에 전송한다. 예시적인 실시 예에서, 상기 사용 데이터는 새로운 사용자 장치 (110) 기능이 요청되는 때 또는 그 이후 언제든지 전송된다. 일 실시 예에서, 사용 데이터는 장치 (110) 식별자 및/또는 계정 식별자와 함께 전송된다.
블록 (285)에서, 계정 관리 시스템 (130)은 모바일 장치 (120)로부터 사용 데이터를 수신한다. 예시적인 실시 예에서, 사용 데이터는 데이터 저장 유닛 (137) 및/또는 사용자의 계정 관리 시스템 (130) 계정에 저장된다. 일 실시 예에서, 사용 데이터는 분석되어 사용자가 볼 수 있도록 이용가능하다.
블록 (290)에서, 사용자 장치 (110)는 새로운 기능을 수행한다. 예시적인 실시 예에서, 사용자 장치 (110)는 새로운 기능 및 이전에 요청된 기능들을 수행한다. 본 실시 예에서, 사용자 장치 (110)는 여러 기능을 수행할 수 있다.
블록 (260) 내지 (290)에 기재된 방법들은 새로운 사용자 장치 (110) 기능을 얻기 위해 필요로 될 때 반복된다.
다른 예시적인 실시예들
도 8은, 특정의 예시적인 실시 예들에 따른 컴퓨팅 머신 (2000) 및 모듈 (2050) 도시한다. 컴퓨팅 머신 (2000)은 본원에 제시된 다양한 컴퓨터, 서버, 모바일 장치, 임베디드 시스템 또는 컴퓨팅 시스템 중 하나에 대응할 수 있다. 모듈 (2050)은 본원에 제시된 다양한 방법들 및 프로세싱 기능을 수행하는 데 있어 컴퓨팅 시스템 (2000)을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 요소를 포함할 수 있다. 컴퓨팅 머신 (2000)은 프로세서 (2010), 시스템 버스 (2020), 시스템 메모리 (2030) 기록 매체 (2040), 입력/출력 인터페이스 (2060) 및 네트워크 (2080)와 통신하는 네트워크 인터페이스 (2070)와 같은 다양한 내부 또는 연결된 컴포넌트들을 포함할 수 있다.
컴퓨팅 시스템 (2000)은, 종래의 컴퓨터 시스템, 임베디드 제어기, 랩탑, 서버, 모바일 장치, 스마트 폰, 셋톱 박스, 키오스크, 차량 정보 시스템, TV와 관련된 하나 이상의 프로세서, 커스터마이징 머신 기계, 임의의 다른 하드웨어 플랫폼 또는 이들의 임의의 조합으로 구현될 수 있다. 컴퓨팅 시스템 (2000)은 데이터 네트워크 또는 버스 시스템을 통해 상호 접속된 복수의 컴퓨팅 시스템을 이용하여 동작하도록 구성된다.
프로세서 (2010)는 본 명세서에 설명된 동작과 기능을 수행하는 코드 또는 명령어들을 실행하고, 흐름 및 어드레스 매핑을 관리하고, 계산을 수행하고 명령들을 생성하도록 구성될 수 있다. 프로세서 (2010)는 범용 프로세서, 프로세서 코어, 다중 프로세서, 재구성가능한 프로세서, 마이크로 제어기, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 그래픽 처리 장치 (GPU), 필드 프로그래머블 게이트 어레이 (FPGA), 프로그래머블 로직 장치 (PLD), 제어기, 상태 머신, 게이트 로직, 이산 하드웨어 컴포넌트, 임의의 다른 프로세싱 유닛, 또는 이들의 임의의 조합일 수 있다. 프로세서 (2010)는 단일 처리 유닛, 다중 처리 유닛, 단일 처리 코어, 다수의 프로세싱 코어, 특수 목적 프로세싱 코어, 코프로세서, 또는 이들의 임의의 조합일 수 있다. 특정 실시예들에 따르면, 컴퓨팅 기계 (2000)의 다른 컴포넌트들과 함께 프로세서 (2010)는 하나 이상의 다른 컴퓨팅 기계들 내에서 실행하는 가상화된 컴퓨팅 기계이다.
시스템 메모리 (2030)는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), 플래시 메모리와 같은 비-휘발성 메모리들 또는 인가된 전원과 함께 또는 전원 없이 프로그램 명령들 또는 데이터를 저장할 수 있는 임의의 기타 디바이스를 포함한다. 또한 시스템 메모리 (2030)는 RAM(random access memory), SRAM(static random access memory), DRAM(dynamic random access memory) 및 SDRAM(synchronous dynamic random access memory)과 같은 휘발성 메모리들을 포함한다. 또한 다른 타입의 RAM이 시스템 메모리 (2030)을 구현하는데 사용될 수 있다. 시스템 메모리 (2030)는 단일의 메모리 모듈 또는 복수의 메모리 모듈들을 사용하여 구현된다. 시스템 메모리 (2030)는 컴퓨팅 기계 (2000)의 부분인 것으로 도시되었지만, 통상의 기술자는 시스템 메모리 (2030)는 본 기술의 범위로부터 벗어남 없이 컴퓨팅 기계 (2000)로부터 분리될 수 있다는 것을 인식할 것이다. 또한 시스템 메모리 (2030)는 저장 미디어 (2040)와 같은 비-휘발성 저장 디바이스를 포함하거나 또는 그와 함께 동작한다는 것이 인식되어야 한다.
저장 미디어 (2040)는 하드 디스크, 플로피 디스크, CD-ROM(compact disc read only memory), DVD(digital versatile disc), 블루레이 디스크, 광학 테이프, 플래시 메모리, 기타 비-휘발성 메모리 디바이스, SSD(solid state drive), 임의의 자기적 저장 디바이스, 임의의 광학 저장 디바이스, 임의의 전기적 저장 디바이스, 임의의 반도체 저장 디바이스, 임의의 물리-기반 저장 디바이스, 임의의 기타 데이터 저장 디바이스 또는 그것들의 임의의 조합 또는 집합을 포함한다. 저장 미디어 (2040)는 하나 이상의 운영 체제들, 어플리케이션 프로그램들 및 모듈 (2050)과 같은 프로그램 모듈들, 데이터 또는 임의의 기타 정보를 저장한다. 저장 미디어 (2040)는 컴퓨팅 기계 (2000)의 일부이거나 또는 그에 연결된다. 또한, 저장 미디어 (2040)는 하나 이상의 기타 컴퓨팅 기계들의 일부이며, 컴퓨팅 기계들은 서버들, 데이터베이스 서버들, 클라우드 스토리지, 네트워크 부착 스트리지 등과 같은 컴퓨팅 기계 (2000)와 통신한다.
모듈 (2050)은 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함하며, 컴퓨팅 기계 (2000)이 본 명세서에 제시된 다양한 방법들을 수행하고 기능들을 프로세싱하는 것을 용이하게 하도록 구성된다. 모듈 (2050)은 시스템 메모리 (2030), 저장 미디어 (2040) 또는 둘 다와 관련하여 소프트웨어 또는 펌웨어로서 저장된 하나 이상의 명령들의 시퀀스들을 포함한다. 그러므로, 저장 미디어 (2040)는 명령들 또는 코드가 프로세서 (2010)에 의한 실행을 위해 저장된 기계 또는 컴퓨터 판독가능 미디어의 예시들을 나타낸다. 기계 또는 컴퓨터 판독가능 미디어는 일반적으로 명령들을 프로세서 (2010)에게 제공하는데 사용되는 임의의 매체 또는 미디어를 지칭한다. 모듈 (2050)과 관련된 상기 기계 또는 컴퓨터 판독가능 미디어는 컴퓨터 소프트웨어 제품을 포함한다. 또한, 모듈 (2050)을 포함하는 컴퓨터 소프트웨어 제품은 모듈 (2050)을 컴퓨팅 기계 (2000)에 네트워크 (2080), 임의의 신호-베어링 매체 또는 임의의 기타 통신 또는 전달 기술을 통해 전달하기 위해 하나 이상의 프로세스들 또는 방법들과 관련된다는 것이 인식되어야 한다. 또한, 모듈 (2050)은 하드웨어 회로들 또는 마이크로코드 또는 FPGA 또는 기타 PLD에 대한 구성 정보와 같은 하드웨어 회로들을 구성하기 위한 정보를 포함한다.
입력/출력(I/O) 인터페이스 (2060)는 하나 이상의 외부 디바이스로부터 데이터를 수신하고, 하나 이상의 외부 디바이스들에게로 데이터를 전송하기 위해 하나 이상의 외부 디바이스들에 연결되도록 구성된다. 또한, 다양한 내부 디바이스들과 함께 상기 외부 디바이스들은 주변 장치들로도 알려져 있다. I/O 인터페이스 (2060)는 다양한 주변 디바이스들을 컴퓨팅 기계 (2000) 또는 프로세서 (2010)에 동작 적으로 연결하기 위한 전기적 및 물리적 연결들 둘 다를 포함한다. I/O 인터페이스 (2060)는 데이터, 주소들 및 주변 디바이스들, 컴퓨팅 기계 (2000), 또는 프로세서 (2010) 간의 제어 신호들을 통신하도록 구성된다. I/O 인터페이스 (2060)는 SCSI(small computer system interface), SAS(serial-attached SCSI), 파이버 채널, PCI(peripheral component interconnect), PCIe(PCI express), 직렬 버스, 병렬 버스, ATA(advanced technology attached), SATA(serial ATA), USB(universal serial bus), 썬더볼트, 파이어와이어, 다양한 비디오 버스들 및 이와 유사한 것들과 같은 임의의 표준 인터페이스를 구현하도록 구성된다. I/O 인터페이스 (2060)는 단지 하나의 인터페이스 또는 버스 기술을 구현하도록 구성된다. 대안적으로, I/O 인터페이스 (2060)는 복수의 인터페이스들 또는 버스 기술들을 구현하도록 구성된다. I/O 인터페이스 (2060)는 시스템 버스 (2020)의 일부, 전부로서 또는 그와 함께 동작하도록 구성된다. I/O 인터페이스 (2060)는 하나 이상의 외부 디바이스들, 내부 디바이스들, 컴퓨팅 기계 (2000) 또는 프로세서 (2010) 간의 전송들을 버퍼링하기 위한 하나 이상의 버퍼들을 포함한다.
I/O 인터페이스 (2060)는 컴퓨팅 기계 (2000)를 마우스들, 터치-스크린들, 스캐너들, 전자 디지타이저들, 센서들, 리시버들, 터치패드들, 트랙볼들, 카메라들, 마이크들, 키보드들, 임의의 기타 포인팅 디바이스들 또는 그것들의 임의의 조합들을 포함하는 다양한 입력 디바이스들과 연결한다. I/O 인터페이스 (2060)는 컴퓨팅 기계 (2000)를 비디오 디스플레이들, 스피커들, 프린터들, 프로젝터들, 촉각적 피드백 디바이스들, 자동 제어, 로보틱 컴포넌트들, 엑츄에이터들, 모터들, 팬들, 솔레노이드들, 밸브들, 펌프들, 트랜스미터들, 시그널 에미터들 (signal emitters), 라이트들 등을 포함하는 다양한 출력 디바이스들에 연결한다.
컴퓨팅 기계 (2000)는 네트워크 인터페이스(2070)를 통해 네트워크 (2080)상의 하나 이상의 다른 시스템들 또는 컴퓨팅 기계들과의 논리적 연결들을 사용하여 네크워크화된 환경에서 동작한다. 네트워크 (2080)는 WAN들 (wide area networks), LAN들 (local area networks), 인트라넷들, 인터넷, 무선 엑세스 네트워크들, 유선 네트워크들, 모바일 네트워크들, 전화 네트워크들, 광학 네트워크들 또는 그것들의 조합들을 포함한다. 네트워크 (2080)는 패킷 스위칭, 회로 스위칭된 임의의 토폴로지이고 임의의 통신 프로토콜을 사용한다. 네트워크 (2080) 내에서 통신 링크들은 광섬유 케이블들, 프리-스페이스 옵틱들 (free-space optics), 웨이브가이드들 (waveguides), 전기 컨덕터들, 무선 링크들, 안테나들, 라디오-주파수 통신들 등과 같은 다양한 디지털 또는 아날로그 통신 미디어와 관련된다.
프로세서 (2010)는 컴퓨팅 기계 (2000)의 기타 엘리먼트들 또는 본 명세서에서 논의되는 다양한 주변 장치들에 시스템 버스 (2020)를 통해 연결된다. 시스템 버스 (2020)는 프로세서 (2010) 내부에, 프로세서 (2010) 외부에 또는 둘 다에 있을 수 있다는 것을 인식해야 한다. 일부 실시예들에 따르면, 임의의 프로세서 (2010), 컴퓨팅 기계 (2000)의 기타 엘리먼트들 또는 본 명세서에서 논의된 다양한 주변 장치들은 SOC(시스템 온 칩), SOP(시스템 온 패키지, 또는 ASIC) 디바이스와 같은 단일의 디바이스에 통합된다.
본 명세서에서 논의되는 시스템이 사용자에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 상황들에서, 사용자에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크에 관한 정보, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치)를 수집할지 여부를 제어하기 위한, 또는 사용자와 더 관련된 컨텐츠 서버로부터 컨텐츠를 수신할지 여부 및/또는 어떻게 수신할지를 제어하기 위한 기회 또는 옵션이 제공된다. 추가로, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방식들로 취급되어, 개인적으로 식별가능한 정보가 제거된다. 예를 들면, 사용자의 신원은 개인적으로 식별가능한 정보가 사용자에 대해 결정될 수 없도록 취급되고, 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(도시, 우편번호 또는 주 레벨로와 같이), 사용자의 특정 위치가 결정될 수 없다. 따라서, 사용자는 사용자에 관해 정보가 어떻게 수집되는 지 그리고 컨텐츠 서버에 의해 사용되는지에 관한 제어를 가진다.
실시예들은 본 명세서에 기술되고 도시된 기능들이 수록되는 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 프로그램은 기계-판독가능 매체에 저장된 명령들 및 명령들을 실행하는 프로세서를 포함하는 컴퓨터 시스템으로 구현된다. 그러나 컴퓨터 프로그래밍으로 실시예들을 구현하는 서로 다른 많은 방식들이 있을 수 있다는 것은 분명하며, 실시예들은 임의의 하나의 컴퓨터 프로그램 명령들의 세트로 제한되는 것으로 여겨져서는 아니 된다. 추가로, 숙련된 프로그래머는 첨부된 흐름도들과 적용 텍스트에서 관련된 기술에 기초하여 개시된 실시예들의 실시예를 구현하기 위해 컴퓨터 프로그램을 작성할 수 있다. 그러므로 프로그램 코드 명령들의 특정 세트의 개시는 실시예들을 어떻게 만들고 사용하는지의 적절한 이해를 위해 필수적인 것으로 고려되어서는 아니 된다. 추가로, 통사의 기술자는 본 명세서에 기술된 실시예들의 하나 이상의 양태들이 하드웨어, 소프트웨어 또는 그것들의 조합에 의해, 하나 이상의 컴퓨팅 시스템들에 포함되는 것으로서 수행될 수 있다는 것을 인식할 것이다. 게다가, 컴퓨터에 의해 수행되는 행동에 대한 임의의 참조는 하나 이상의 컴퓨터가 행동을 수행할 수 있으므로 단일의 컴퓨터에 의해 수행되는 것으로 여겨져서는 아니된다.
본 명세서에 기술된 예시적 실시예들은 컴퓨터 하드웨어 및 소프트웨어와 함께 사용되어, 본 명세서에 기술된 방법들 및 기능들 프로세싱을 수행한다. 본 명세서에 기술된 시스템들, 방법들 및 절차들은 프로그래머블 컴퓨터, 컴퓨터-실행가능 소프트웨어 또는 디지털 회로에 포함된다. 소프트웨어는 컴퓨터-판독가능 미디어에 저장된다. 예를 들면, 컴퓨터-판독가능 미디어는 플로피 디스크, RAM, ROM, 하드 디스크, 이동식 미디어, 플래시 메모리, 메모리 스틱, 광학 미디어, 자기 광학 미디어, CD-ROM 등을 포함한다. 디지털 회로는 집적 회로들, 게이터 어레이들, 빌딩 블록 로직, FPGA들 (field programmable gate arrays)등을 포함한다.
이전에 제시된 실시예들에서 기술된 예시적 시스템들, 방법들 및 동작들은 도시적이며, 대안적 실시예들에서, 특정 동작들은 다른 순서로, 다른 것과 병렬적으로, 전체적으로 생략되어, 및/또는 다른 예시적 실시예들과 조합되어 수행될 수 있고, 및/또는 특정 추가적 행동들이 다양한 실시예들의 범위와 정신으로부터 벗어남 없이 수행될 수 있다. 따라서, 상기 대안적 실시예들은 본 명세서에 청구된 발명에 포함된다.
비록 특정 실시예들이 상기에 상세히 기술되었지만, 상기 기술은 단시 도시적인 목적이다. 그러므로 상기 기술된 많은 양태들은 명시적으로 다르게 언급하지 않는 한, 요구되거나 필수적 엘리먼트들인 것으로 의도되지 않았다는 것을 인식해야 한다. 상기 기술된 것들에 더하여, 예시적 실시예들의 개시된 양태들의 수정들, 균등 컴포넌트들 또는 그에 대등하는 동작들이 본 발명의 이익을 가지고, 후속하는 청구항들에서 정의된 실시예들의 정신과 범위로부터 벗어남 없이 통상의 기술자에 의해 행해질 수 있고, 청구항들의 범위에는 상기 수정들 및 균등 구조들을 포함하도록 가장 넓은 해석이 부여된다.

Claims (20)

  1. 컴퓨터에 의해 구현되는, 재프로그램 가능한 무선 암호화 장치를 제공하기 위한 방법으로서,
    하나 이상의 컴퓨팅 장치에 의해, 사용자가 상기 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 1 입력을 수신하는 단계와, 상기 제1 입력은 암호화 장치에 대한 제 1 기능에 대한 요청을 포함하고, 상기 암호화 장치는 다수의 서로 다른 기능을 수행하도록 재프로그램될 수 있으며;
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 제 1 입력을 상기 계정 관리 시스템에 전송하는 단계와, 상기 암호화 장치는 상기 계정 관리 시스템과 직접 통신할 수 없으며;
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 계정 관리 시스템으로부터의 제 1 입력에의 응답을 수신하는 단계와, 상기 제 1 입력에의 응답은 상기 암호화 장치에 대해 요청된 상기 제 1 기능을 인코딩하는 프로그램 코드를 포함하며;
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 암호화 장치가 상기 하나 이상의 컴퓨팅 장치의 소정의 근방 내에 있음을 검출하는 단계와;
    상기 하나 이상의 컴퓨팅 장치와 상기 암호화 장치 사이에 무선 통신 채널 을 설정하는 단계와;
    상기 하나 이상의 컴퓨팅 장치에 의해 그리고 상기 암호화 장치가 상기 하나 이상의 컴퓨팅 장치의 소정의 근방 내에 있는 동안 상기 무선 통신 채널을 통해, 상기 제 1 기능을 인코딩하는 프로그램 코드를 상기 암호화 장치에 전송하는 단계와; 그리고
    상기 하나 이상의 컴퓨팅 장치에 의해 상기 암호화 장치의 성공적인 프로그래밍을 나타내는 상기 암호화 장치로부터의 메시지를 수신하는 단계를 포함하며, 상기 제 1 기능을 인코딩하는 프로그램 코드는 상기 암호화 장치상에 상주하는 보안 메모리에 기입된 것임을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 인터넷 연결 또는 셀룰러 통신 연결을 통해 상기 계정 관리 시스템과 통신하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 무선 통신 채널은 NFC 채널 혹은 Bluetooth 통신 채널을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 개인 키 토큰 없이는 상기 제 1 기능을 인코딩하는 프로그램 코드를 실행할 수 없는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 암호화 장치에 의해, 상기 제 1 기능을 인코딩하는 프로그램 코드를 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 사용자가 상기 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 2 입력을 수신하는 단계와, 상기 제 2 입력은 상기 암호화 장치에 대한 제 2 기능의 요청을 포함하며;
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 제 2 입력을 상기 계정 관리 시스템에 전송하는 단계와; 그리고
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 계정 관리 시스템으로부터 상기 제 2 입력에의 응답을 수신하는 단계를 더 포함하며,
    상기 제 2 입력에의 응답은 상기 암호화 장치에 대한 요청된 상기 제 2 기능을 인코딩하는 프로그램 코드를 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 하나 이상의 컴퓨팅 장치에 의해 그리고 상기 암호화 장치가 상기 하나 이상의 컴퓨팅 장치의 소정의 근방 내에 있는 동안 제 2 무선 통신 채널을 통해, 상기 제 2 기능을 인코딩하는 제 2 프로그램 코드를 상기 암호화 장치에 전송하는 단계와; 그리고
    상기 하나 이상의 컴퓨팅 장치에 의해, 상기 암호화 장치의 성공적인 제 2 프로그래밍을 나타내는 제 2 메시지를 수신하는 단계를 더 포함하며,
    상기 제 2 기능을 인코딩하는 제 2 프로그램 코드는 상기 암호화 장치상에 상주하는 보안 메모리에 기입된 것이고, 상기 제 1 기능은 상기 보안 메모리에 기입된 채로 남아있는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 암호화 장치에 의해, 상기 제 2 기능을 인코딩하는 제 2 프로그램 코드를 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금 재프로그램 가능한 무선 암호화 장치를 제공하도록 하는 컴퓨터 판독가능 프로그램 명령어들이 수록된 비-일시적인 컴퓨터 판독가능 기록 매체로서,
    컴퓨터 판독가능 프로그램 명령어들은:
    사용자가 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 1 입력을 수신하도록 하는 컴퓨터 판독가능 프로그램 명령어들과, 상기 제1 입력은 암호화 장치에 대한 제 1 기능에 대한 요청을 포함하고, 상기 암호화 장치는 다수의 서로 다른 기능을 수행하도록 재프로그램될 수 있으며;
    상기 제 1 입력을 상기 계정 관리 시스템에 전송하도록 하는 컴퓨터 판독가능 프로그램 명령어들과, 상기 암호화 장치는 상기 계정 관리 시스템과 직접 통신할 수 없으며;
    상기 계정 관리 시스템으로부터 제 1 입력에의 응답을 수신하도록 하는 컴퓨터 판독가능 프로그램 명령어들과, 상기 제 1 입력에의 응답은 상기 암호화 장치에 대해 요청된 상기 제 1 기능을 인코딩하는 프로그램 코드를 포함하며;
    상기 제 1 기능을 인코딩하는 프로그램 코드를 상기 하나 이상의 컴퓨팅 장치 및 상기 암호화 장치에 전송하도록 하는 컴퓨터 판독가능 프로그램 명령어들과;
    상기 암호화 장치의 성공적인 프로그래밍을 나타내는 상기 암호화 장치로부터의 메시지를 수신하도록 하는 컴퓨터 판독가능 프로그램 명령어들을 포함하며, 상기 제 1 기능을 인코딩하는 프로그램 코드는 상기 암호화 장치상에 상주하는 보안 메모리에 기입된 것임을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  10. 제9항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 인터넷 연결 또는 셀룰러 통신 연결을 통해 상기 계정 관리 시스템과 통신하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  11. 제9항에 있어서,
    상기 암호화 장치가 상기 하나 이상의 컴퓨팅 장치의 소정의 근방 내에 있음을 검출하도록 하는 컴퓨터 판독가능 프로그램 명령어들과; 그리고
    상기 하나 이상의 컴퓨팅 장치와 상기 암호화 장치 사이에 무선 통신 채널을 설정하도록 하는 컴퓨터 판독가능 프로그램 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  12. 제9항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 개인 키 토큰 없이는 상기 제 1 기능을 인코딩하는 프로그램 코드를 실행할 수 없는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  13. 제9항에 있어서,
    상기 사용자가 상기 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 2 입력을 수신하도록 하는 컴퓨터 판독가능 프로그램 명령어들과, 상기 제 2 입력은 상기 암호화 장치에 대한 제 2 기능의 요청을 포함하며;
    상기 제 2 입력을 상기 사용자가 상기 하나 이상의 컴퓨팅 장치로부터 상기 계정 관리 시스템에 전송하도록 하는 컴퓨터 판독가능 프로그램 명령어들과; 그리고
    상기 하나 이상의 컴퓨팅 장치에 의해 상기 계정 관리 시스템으로부터 상기 제 2 입력에의 응답을 수신하도록 하는 컴퓨터 판독가능 프로그램 명령어들을 더 포함하며,
    상기 제 2 입력에의 응답은 상기 암호화 장치에 대한 요청된 상기 제 2 기능을 인코딩하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
  14. 재프로그램 가능한 무선 암호화 장치를 제공하기 위한 시스템으로서,
    사용자 인터페이스와;
    저장 매체와; 그리고
    상기 저장 매체에 통신가능하게 결합되며, 상기 저장 매체에 저장된 애플리케이션 코드 명령어들을 실행하는 프로세서를 포함하며,
    상기 명령어들은 상기 시스템으로 하여금:
    사용자가 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 1 입력을 수신하도록 하고, 상기 제1 입력은 암호화 장치에 대한 제 1 기능에 대한 요청을 포함하고, 상기 암호화 장치는 다수의 서로 다른 기능을 수행하도록 재프로그램될 수 있으며;
    상기 제 1 입력을 상기 계정 관리 시스템에 전송하도록 하고, 상기 암호화 장치는 상기 계정 관리 시스템과 직접 통신할 수 없으며;
    상기 계정 관리 시스템으로부터 제 1 입력에의 응답을 수신하도록 하고, 상기 제 1 입력에의 응답은 상기 암호화 장치에 대해 요청된 상기 제 1 기능을 인코딩하는 프로그램 코드를 포함하며;
    상기 제 1 기능을 인코딩하는 프로그램 코드를 상기 하나 이상의 컴퓨팅 장치 및 상기 암호화 장치에 전송하도록 하는 것을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 인터넷 연결 또는 셀룰러 통신 연결을 통해 상기 계정 관리 시스템과 통신하는 것을 특징으로 하는 시스템.
  16. 제14항에 있어서,
    상기 하나 이상의 컴퓨팅 장치는 개인 키 토큰 없이는 상기 제 1 기능을 인코딩하는 프로그램 코드를 실행할 수 없는 것을 특징으로 하는 시스템.
  17. 제14항에 있어서,
    상기 프로세서는 상기 저장 매체에 저장되고 컴퓨터 실행가능 명령어들을 더 실행하도록 구성되고, 상기 명령어들은 상기 시스템으로 하여금:
    상기 암호화 장치가 상기 하나 이상의 컴퓨팅 장치의 소정의 근방 내에 있음을 검출하도록 하고; 그리고
    상기 하나 이상의 컴퓨팅 장치와 상기 암호화 장치 사이에 무선 통신 채널 을 설정하도록 하는 것을 특징으로 하는 시스템.
  18. 제14항에 있어서,
    상기 프로세서는 상기 저장 매체에 저장되고 컴퓨터 실행가능 명령어들을 더 실행하도록 구성되고, 상기 명령어들은 상기 시스템으로 하여금:
    상기 암호화 장치의 성공적인 프로그래밍을 나타내는 상기 암호화 장치로부터의 메시지를 수신하도록 하고, 상기 제 1 기능을 인코딩하는 프로그램 코드는 상기 암호화 장치상에 상주하는 보안 메모리에 기입된 것임을 특징으로 하는 시스템.
  19. 제14항에 있어서,
    상기 프로세서는 상기 저장 매체에 저장되고 컴퓨터 실행가능 명령어들을 더 실행하도록 구성되고, 상기 명령어들은 상기 시스템으로 하여금:
    상기 사용자가 상기 하나 이상의 컴퓨팅 장치상의 계정 관리 시스템의 서비스에 액세스했음을 나타내는 제 2 입력을 수신하도록 하고, 상기 제 2 입력은 상기 암호화 장치에 대한 제 2 기능의 요청을 포함하며;
    상기 제 2 입력을 상기 사용자가 상기 하나 이상의 컴퓨팅 장치로부터 상기 계정 관리 시스템에 전송하도록 하고; 그리고
    상기 하나 이상의 컴퓨팅 장치에 의해 상기 계정 관리 시스템으로부터 상기 제 2 입력에의 응답을 수신하도록 하는 것을 포함하며,
    상기 제 2 입력에의 응답은 상기 암호화 장치에 대한 요청된 상기 제 2 기능을 인코딩하는 프로그램 코드를 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 프로세서는 상기 저장 매체에 저장되고 컴퓨터 실행가능 명령어들을 더 실행하도록 구성되고, 상기 명령어들은 상기 시스템으로 하여금:
    상기 암호화 장치의 성공적인 프로그래밍을 나타내는 상기 암호화 장치로부터의 메시지를 수신하도록 하고, 상기 제 2 기능을 인코딩하는 프로그램 코드는 상기 암호화 장치상에 상주하는 보안 메모리에 기입된 것임을 특징으로 하는 시스템.
KR1020167013638A 2013-10-23 2014-10-15 재프로그램 가능한 보안 암호화 장치 KR101686982B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/061,727 US9516006B2 (en) 2013-10-23 2013-10-23 Re-programmable secure cryptographic device
US14/061,727 2013-10-23
PCT/US2014/060784 WO2015061114A1 (en) 2013-10-23 2014-10-15 Re-programmable secure cryptographic device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034650A Division KR101928015B1 (ko) 2013-10-23 2014-10-15 재프로그램 가능한 보안 암호화 장치

Publications (2)

Publication Number Publication Date
KR20160075675A KR20160075675A (ko) 2016-06-29
KR101686982B1 true KR101686982B1 (ko) 2016-12-16

Family

ID=52827251

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167013638A KR101686982B1 (ko) 2013-10-23 2014-10-15 재프로그램 가능한 보안 암호화 장치
KR1020167034650A KR101928015B1 (ko) 2013-10-23 2014-10-15 재프로그램 가능한 보안 암호화 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167034650A KR101928015B1 (ko) 2013-10-23 2014-10-15 재프로그램 가능한 보안 암호화 장치

Country Status (5)

Country Link
US (2) US9516006B2 (ko)
EP (1) EP3061204A4 (ko)
KR (2) KR101686982B1 (ko)
CN (1) CN105659523A (ko)
WO (1) WO2015061114A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516006B2 (en) 2013-10-23 2016-12-06 Google Inc. Re-programmable secure cryptographic device
US9692879B1 (en) 2014-05-20 2017-06-27 Invincea, Inc. Methods and devices for secure authentication to a compute device
US10970691B2 (en) * 2014-12-22 2021-04-06 Capital One Services, Llc System, method, and apparatus for reprogramming a transaction card
US9736628B2 (en) * 2015-01-09 2017-08-15 Twych Innovation, Inc. Object location tracking using mobile communication device
US20180054702A1 (en) * 2015-01-09 2018-02-22 Twych Innovation, Inc. Object Location Tracking Using Mobile Communication Device
US10216852B1 (en) * 2015-01-22 2019-02-26 Google Llc Indexing access limited native applications
US10360558B2 (en) * 2015-03-17 2019-07-23 Ca, Inc. Simplified two factor authentication for mobile payments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100207742A1 (en) 2009-01-26 2010-08-19 Motorola, Inc. Wireless Communication Device for Providing at Least One Near Field Communication Service
US20130075469A1 (en) 2011-09-28 2013-03-28 Silviu Stochita My Vacation Card

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986564A (en) * 1984-03-28 1999-11-16 Computerized Security Systems, Inc. Microcomputer controlled locking system
US5046084A (en) * 1985-12-30 1991-09-03 Supra Products, Inc. Electronic real estate lockbox system with improved reporting capability
US4837822A (en) * 1986-04-08 1989-06-06 Schlage Lock Company Cryptographic based electronic lock system and method of operation
FR2669368A1 (fr) * 1990-11-16 1992-05-22 Vachette Sa Serrure electronique et mecanique et cle pour une telle serrure.
US5933086A (en) * 1991-09-19 1999-08-03 Schlage Lock Company Remotely-operated self-contained electronic lock security system assembly
US5602535A (en) * 1994-07-15 1997-02-11 The Friedkin Corporation Vehicle security system based on two step communication range between transmitter and receiver
US20050285716A1 (en) * 2001-12-27 2005-12-29 Triteq Lock And Security, Llc Electronic key control and management system for vending machines and the like
WO1998019237A1 (en) * 1996-10-25 1998-05-07 Schlumberger Systemes Using a high level programming language with a microcontroller
JP3932654B2 (ja) * 1998-03-10 2007-06-20 株式会社デンソー 車両用制御装置及び車両制御システム
FR2776448B1 (fr) * 1998-03-20 2000-04-28 Gemplus Card Int Terminal de telecommunication lecteur de carte a puce
US6385651B2 (en) * 1998-05-05 2002-05-07 Liberate Technologies Internet service provider preliminary user registration mechanism provided by centralized authority
US6477559B1 (en) * 1998-08-21 2002-11-05 Aspect Communications Corporation Method and apparatus for remotely accessing an automatic transaction processing system
AU1223901A (en) * 1999-10-20 2001-04-30 Spyrus, Inc. Method and system for an integrated circuit card interface device with multiple modes of operation
US6738901B1 (en) * 1999-12-15 2004-05-18 3M Innovative Properties Company Smart card controlled internet access
US7002451B2 (en) * 2000-01-11 2006-02-21 Freeman Jeffrey R Package location system
US8452259B2 (en) * 2001-02-20 2013-05-28 Adidas Ag Modular personal network systems and methods
US7254706B2 (en) * 2001-06-29 2007-08-07 Hewlett-Packard Development Company, L.P. System and method for downloading of files to a secure terminal
GB2380018A (en) * 2001-09-21 2003-03-26 Hewlett Packard Co Reprogramming electronic apparatus having non-volatile memory
FR2833374A1 (fr) * 2001-12-12 2003-06-13 Cp8 Procede et dispositif de controle d'acces dans un systeme embarque
US20110276609A1 (en) * 2001-12-27 2011-11-10 Denison William D Method for Controlling and Recording the Security of an Enclosure
WO2004077848A2 (en) * 2003-02-21 2004-09-10 Ge Interlogix, Inc. Key control with real time communications to remote locations
GB2407948B (en) * 2003-11-08 2006-06-21 Hewlett Packard Development Co Smartcard with cryptographic functionality and method and system for using such cards
JP2005217621A (ja) 2004-01-28 2005-08-11 Kyocera Corp 携帯通信端末及び通信システム
US8548429B2 (en) * 2004-03-08 2013-10-01 Rafi Nehushtan Cellular device security apparatus and method
US20050248436A1 (en) * 2004-05-10 2005-11-10 Hohmann Richard A Programmable, eletronic, keyless entry, key fob signal receiver, storage and transmission device for multiple vehicles
US20060038654A1 (en) * 2004-08-18 2006-02-23 Khalil Mohamad A Wireless messenger system
US7205882B2 (en) * 2004-11-10 2007-04-17 Corestreet, Ltd. Actuating a security system using a wireless device
FI20055344A0 (fi) * 2005-06-23 2005-06-23 Jouni Koljonen Kulunvalvontajärjestelmän tiedonsiirtomenetelmä
US7734068B2 (en) * 2005-10-26 2010-06-08 Sentrilock, Inc. Electronic lock box using a biometric identification device
US8245292B2 (en) * 2005-11-16 2012-08-14 Broadcom Corporation Multi-factor authentication using a smartcard
US8171531B2 (en) * 2005-11-16 2012-05-01 Broadcom Corporation Universal authentication token
WO2008008686A2 (en) * 2006-07-10 2008-01-17 Continental Automotive Systems Us, Inc. Control of fleet vehicles with common transmitters
US20080101160A1 (en) * 2006-11-01 2008-05-01 Rodney Besson Med Alert Watch
US10540485B2 (en) * 2006-12-05 2020-01-21 David Gene Smaltz Instructions received over a network by a mobile device determines which code stored on the device is to be activated
US8117475B2 (en) 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US8117445B2 (en) 2006-12-20 2012-02-14 Spansion Llc Near field communication, security and non-volatile memory integrated sub-system for embedded portable applications
US7966039B2 (en) * 2007-02-02 2011-06-21 Microsoft Corporation Bidirectional dynamic offloading of tasks between a host and a mobile device
EP2135359A4 (en) 2007-03-16 2011-07-27 Lg Electronics Inc APPLICATION EXECUTION, NON-CONTACT IN NON-BATTERY MODE
US7953216B2 (en) 2007-05-04 2011-05-31 3V Technologies Incorporated Systems and methods for RFID-based access management of electronic devices
US7911338B2 (en) * 2007-07-30 2011-03-22 Eaton Corporation Wireless system and wireless module therefor
US8095113B2 (en) * 2007-10-17 2012-01-10 First Data Corporation Onetime passwords for smart chip cards
US8175579B2 (en) * 2007-12-05 2012-05-08 Echostar Technologies L.L.C. Apparatus, systems and methods to communicate authorized programming between a receiving device and a mobile device
KR101450756B1 (ko) * 2008-04-02 2014-10-15 삼성전자주식회사 무선통신시스템에서 중계 장치 및 방법
US8814052B2 (en) * 2008-08-20 2014-08-26 X-Card Holdings, Llc Secure smart card system
US9369938B2 (en) * 2009-03-31 2016-06-14 Microsoft Technology Licensing, Llc Subscriber identity module (SIM) for mobile stations
FR2945137B1 (fr) * 2009-04-30 2011-06-24 Pascal Metivier Systeme de programmation d'une serrure comportant des moyens de communication sans contact de type nfc
EP2284803B1 (fr) * 2009-08-05 2013-03-13 Openways Sas Système sécurisé de programmation de dispositifs de serrure à commande électronique par accréditations acoustiques chiffrées
CA2686844A1 (en) * 2009-12-02 2011-06-02 Yosi Shachar Remote access procedure for electronic locks
US9129269B2 (en) * 2010-02-02 2015-09-08 Xia Dai Secured point-of-sale transaction system
WO2011097471A1 (en) * 2010-02-04 2011-08-11 Johnson Controls Technology Company System and method for wireless re-programming of memory in a communication system
US20110241826A1 (en) * 2010-04-01 2011-10-06 Blackwell Jr James Dale Reconfigurable Security Systems and Methods
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US9264897B2 (en) * 2011-03-30 2016-02-16 Qualcomm Incorporated Pairing and authentication process between a host device and a limited input wireless device
WO2013049213A1 (en) 2011-09-26 2013-04-04 Cubic Corporation Personal point of sale
US9069947B2 (en) * 2011-09-29 2015-06-30 Oracle International Corporation Privileged account manager, access management
US8447273B1 (en) * 2012-01-09 2013-05-21 International Business Machines Corporation Hand-held user-aware security device
ITMI20120124A1 (it) * 2012-01-31 2013-08-01 St Microelectronics Srl Metodo per personalizzare sim card con una macchina di produzione
AU2013221600B2 (en) * 2012-02-13 2016-09-29 Xceedid Corporation Credential management system
US11424930B2 (en) * 2012-05-22 2022-08-23 Barclays Bank Delaware Systems and methods for providing account information
US9043856B2 (en) * 2012-06-07 2015-05-26 Verizon Patent And Licensing Inc. Remote control of program receiving devices
CN102737308B (zh) * 2012-06-08 2015-08-12 中兴通讯股份有限公司 一种移动终端及其查询智能卡信息的方法和系统
CN202813648U (zh) * 2012-06-27 2013-03-20 珠海格力电器股份有限公司 一种控制装置及空调
US8639291B1 (en) 2012-07-28 2014-01-28 Sprint Communications Company L.P. Mobile phone operation during low battery condition
US9472034B2 (en) * 2012-08-16 2016-10-18 Schlage Lock Company Llc Electronic lock system
US10171974B2 (en) * 2012-08-16 2019-01-01 Schlage Lock Company Llc System and method for using an electronic lock with a smartphone
US8890654B2 (en) * 2013-02-25 2014-11-18 Ford Global Technologies, Llc Methodology for emergency transfer of keys for vehicle equipped with biometric access and start
WO2014152817A1 (en) * 2013-03-14 2014-09-25 Brivo Systems, Inc. System and method for physical access control
US9565173B2 (en) * 2013-03-26 2017-02-07 Xerox Corporation Systems and methods for establishing trusted, secure communications from a mobile device to a multi-function device
US8990922B2 (en) * 2013-05-01 2015-03-24 Cheng Uei Precision Industry Co., Ltd. Access control system and control method thereof
US9516006B2 (en) 2013-10-23 2016-12-06 Google Inc. Re-programmable secure cryptographic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100207742A1 (en) 2009-01-26 2010-08-19 Motorola, Inc. Wireless Communication Device for Providing at Least One Near Field Communication Service
US20130075469A1 (en) 2011-09-28 2013-03-28 Silviu Stochita My Vacation Card

Also Published As

Publication number Publication date
WO2015061114A1 (en) 2015-04-30
KR20160147065A (ko) 2016-12-21
CN105659523A (zh) 2016-06-08
US20170048210A1 (en) 2017-02-16
EP3061204A1 (en) 2016-08-31
KR101928015B1 (ko) 2018-12-11
US20150113271A1 (en) 2015-04-23
KR20160075675A (ko) 2016-06-29
US10581814B2 (en) 2020-03-03
EP3061204A4 (en) 2017-08-02
US9516006B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
US11374943B2 (en) Secure interface using non-secure element processors
KR101686982B1 (ko) 재프로그램 가능한 보안 암호화 장치
US10552827B2 (en) Dynamic digital certificate updating
AU2018201795A1 (en) Secure offline payment system
US20150278795A1 (en) Secure offline payment system
US10445491B2 (en) Confirming the identity of integrator applications
US20150278796A1 (en) Reserving account balance for concurrent payments in secure offline payment system
US20160132875A1 (en) Enhancement of mobile device initiated transactions
US20150310432A1 (en) Secure element architectural services
US20160005023A1 (en) Conducting financial transactions by telephone
WO2019050590A1 (en) AUDIO SERVICE SET IDENTIFIER

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant