KR20080078820A - 안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는장치 - Google Patents

안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는장치 Download PDF

Info

Publication number
KR20080078820A
KR20080078820A KR1020087013612A KR20087013612A KR20080078820A KR 20080078820 A KR20080078820 A KR 20080078820A KR 1020087013612 A KR1020087013612 A KR 1020087013612A KR 20087013612 A KR20087013612 A KR 20087013612A KR 20080078820 A KR20080078820 A KR 20080078820A
Authority
KR
South Korea
Prior art keywords
application
token
token device
host device
host
Prior art date
Application number
KR1020087013612A
Other languages
English (en)
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 KR20080078820A publication Critical patent/KR20080078820A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • 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/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 실시예에 따른, 시스템은, 디스플레이를 포함하는 호스트 장치(200) - 상기 호스트 장치는 클라이언트 애플리케이션을 실행시킴 - ; 및 인터페이스(204)를 통하여 상기 호스트 장치에 연결된 토큰 장치(202)를 포함하고, 상기 토큰 장치는 토큰 장치 애플리케이션을 실행시키기 위한 프로세서(104)를 포함하고, 상기 토큰 장치 애플리케이션은 상기 인터페이스를 통하여 상기 호스트 장치 상에서 실행하는 상기 클라이언트 애플리케이션에 이미지 정보를 제공하고, 상기 클라이언트 애플리케이션은 상기 토큰 장치로부터 제공된 상기 이미지 정보에 대응하는 이미지를 상기 호스트 장치의 상기 디스플레이 상에 표시한다.
보안, 토큰 장치, 호스트 장치, 가상 인터페이스

Description

안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는 장치{DEVICE PROVIDING A SECURE WORK ENVIRONMENT AND UTILIZING A VIRTUAL INTERFACE}
본 발명은 토큰 장치에 관한 것이다. 더 구체적으로는, 본 발명은 호스트 컴퓨터와 함께 이용되는 토큰 장치에 관한 것이다.
본원은 카퍼(Carper) 명의로, 2005년 11월 9일자 출원된, "TOKEN COMPUTER PROVIDING A SECURE WORK ENVIRONMENT AND UTILIZING A VIRTUAL INTERFACE"라는 명칭의, 미국 가 특허 출원 60/734,793호의 우선권을 주장하며, 상기 출원은 그 전체 내용이 참고로 본 명세서에 통합된다.
이동식의 작업은 종종 사람이 현재 작업하고 있는 파일들을 포함하는 휴대용 저장 장치(예컨대, USB(Universal Serial Bus) 저장 장치)를 휴대함으로써 성취된다. USB 장치 상에 있는 파일들에의 액세스가 요구되는 경우, USB 장치는 호텔, 카페, 고객 사무실 등에 있는 이용 가능한 컴퓨터(매킨토시, 윈도즈, 리눅스, PDA)에 접속되고, USB 장치는 파일들이 액세스되도록 허용하는 컴퓨터 상의 드라이브로서 나타난다.
USB 저장 장치의 일부 구현들에서는, 저장된 파일들 및 애플리케이션들에 액세스하기 위해 암호(password)가 요구될 수 있다. 또한, 파일들이 도난당하는 것 에 대비하여 추가 보안을 제공하기 위해 각 파일 또는 애플리케이션이 암호화될 수 있다.
파일들을 운송하는 이 방법은, 어디에서나 랩톱을 휴대할 필요가 없기 때문에 편리하다. 사용자는 단지 이용 가능한 컴퓨터 곁에 앉아 USB 저장 장치를 접속하고 호스팅 컴퓨터 또는 USB 장치 상에서 이용 가능한 애플리케이션들을 이용하여, USB 장치 상의 파일들에 액세스하면 된다.
개인 파일들, 작업 파일들, 및 많은 다른 애플리케이션들에 대한 보안은 많은 다른 사용자들에게 점점 더 많은 관심사와 요구 사항이 되고 있다. 따라서, 암호로 보호하는(password-protect) 능력에 의해 USB 저장 장치 및/또는 USB 장치 상의 각 파일 및 애플리케이션은 USB 장치가 분실되거나 도난당하는 경우에 보안을 제공한다. 그러나, 컴퓨터(특히 USB 장치를 사용하는 경우에 전형적이듯이 사용자가 소유하지 않는 컴퓨터) 상에서 파일이 액세스되는 언제든지 다수의 잠재적인 문제점들이 있다.
예를 들어, 한 가지 문제점은, USB 장치 상의 파일들 및/또는 애플리케이션들이 바이러스에 노출될 수 있다는 점이다. 동작 시에, 일단 적절한 암호가 제공되면(암호가 요구될 경우) USB 장치 상에 저장되어 있는 파일들 및 애플리케이션들은 그 USB 장치가 접속되어 있는 컴퓨터에게 직접 이용 가능하다. 일단 컴퓨터가 파일들에 액세스할 수 있다면, 유효한 또는 바이러스성의, 어떤 애플리케이션이든지 저장된 파일들 및 애플리케이션들에 액세스하여 변경하는 능력을 갖는다. USB 저장 장치를 바이러스에 감염되어 있는 컴퓨터에 삽입할 경우 USB 저장 장치 상에 저장된 파일들 및 애플리케이션들의 일부 또는 전부가 감염되게 될 수 있다.
두 번째 문제는, USB 장치가 호스트 컴퓨터와 함께 이용되고 USB 장치 상에 저장된 파일들 및/또는 애플리케이션들이 컴퓨터로부터 액세스되는 경우, USB 장치가 호스트 컴퓨터로부터 제거된 후에도 정보(즉, 파일들 및/또는 애플리케이션들의 전부 또는 일부)의 사본들이 뒤에 남겨진다. 바이러스가 없는 머신의 경우에도, USB 장치 상에 저장된 파일을 편집, 인쇄, 판독, 또는 복사하기 위해 일단 애플리케이션이 시동(launch)되면(예컨대, 워드 프로세서), 그 파일 및 애플리케이션은 호스팅 컴퓨터의 메모리 내로 옮겨진다. 이 시점에서, 문서는 임시로 디스크에 캐싱될 수도 있고(컴퓨터에 대한 통상의 동작) 또는 모든 시스템 활동을 모니터하는 프로그램(반드시 바이러스성 트로이 목마(viral Trojan)는 아님)에 의해 메모리로부터 복사될 수도 있다. 또한, 애플리케이션은 실제로는 호스트 컴퓨터 상에서 실행중일 것이다. 이 다양한 사건들은 파일이 닫히거나 인쇄가 완료되어 USB 장치가 호스트 컴퓨터로부터 제거된 후에도, 그 파일 및/또는 애플리케이션의 하나 이상의 전체 사본들(full copies) 또는 부분들이 여전히 호스트 컴퓨터 상에 남아 있을 수 있다는 것을 의미한다. 그 사본들 또는 잔존물들은 공개적으로 이용 가능한 복구 도구(recovery tools)를 이용하여 볼 수 있는(viewable) 또는 사용할 수 있는(usable) 형태로 복구될 수 있다. 따라서, 비록 파일들이 USB 장치 상에 저장되어 있다 하더라도(아마도 하나 이상의 보안 모델들을 이용하여), 사용자는 프라이버시 및 그 파일들 및 애플리케이션들의 무결성(integrity)에 관하여 잘못된 보안 의식을 갖는다.
운송 가능한 작업 영역들을 제공하는 또 다른 기존의 접근법은 캘리포니아주, 레드우드시의 U3 LLC(www.u3.com)로부터의 기술을 이용하는 것을 포함한다. U3은 휴대용 USB 저장 장치로부터 시동되도록 설계되어 있는 애플리케이션들의 특수한 축소 버전들(stripped down versions)을 설치하는 기술을 제공한다. 예를 들면, 마이크로소프트 워드(Microsoft Word)의 축소 버전이 USB 장치 상에 저장될 수 있다. 이 시스템은 파일들과 필요한 애플리케이션들 둘 다를 운송하는 능력을 제공한다. USB 장치의 메모리 내에 애플리케이션들을 휴대함으로써, 사용자는 USB 장치가 해당 애프리케이션이 설치되어 있지 않은 호스트 장치에 접속하는 경우에도 적절한 애플리케이션을 이용 가능하게 하는 것을 확신한다. 그러나, 이 시스템에서 USB 장치는 여전히 바이러스에 취약하고 USB 저장 장치 상에 설치된 애플리케이션들을 실행시키는 경우, 그 애플리케이션은 실제로는 호스트 컴퓨터 프로세서를 이용하고 호스트 컴퓨터의 주 메모리에서 실행한다. 또한, 파일들도 액세스되는 동안 호스트 컴퓨터의 메모리 내에 로딩된다. 따라서, 바이러스 및 파일들의 사본을 뒤에 남겨두는 것과 관련된 전술한 문제점들이 여전히 U3 시스템에서 존재한다. U3 접근법은 USB 저장 장치가 호스트 컴퓨터에 삽입될 때 그 USB 저장 장치 상에 있는 프로그램을 자동으로 로딩함으로써 얼마간의 괜찮은 유용성 특징들을 도입한다. 그 프로그램은 다른 설치된 애플리케이션들이 기존의 호스트 컴퓨터 인터페이스로부터(예컨대, 윈도즈 시작(Windows START) 메뉴로부터) 용이하게 선택될 수 있도록 하는 인터페이스를 제공한다. U3 시스템은 윈도즈 기반 컴퓨터 시스템들과 함께 사용하도록 되어 있다.
따라서, 토큰 장치 상에 저장되어 있는 애플리케이션들을 실행시키고 파일들에 액세스하는 안전한 방법이 요구되고 있다.
[발명의 개요]
본 명세서에서의 각종 실시예들은 특수화된 애플리케이션을 실행시키는 토큰 장치로서, 사용자가 호스트 장치 상에서 실행하는 클라이언트 애플리케이션을 통하여 상기 토큰 장치 상의 특수화된 애플리케이션과 상호작용할 수 있는 토큰 장치를 제공한다.
일 실시예는 토큰 장치에 관한 것으로서, 이 토큰 장치는 메모리; 상기 토큰 장치를 호스트 장치에 연결하는 인터페이스; 및 상기 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는 상기 토큰 장치의 메모리에 저장된 토큰 장치 애플리케이션을 실행시키고, 상기 프로세서는 상기 인터페이스를 통하여 상기 호스트 장치에 이미지 정보를 제공하고, 상기 이미지 정보는 상기 애플리케이션에 대응하는 이미지를 렌더링하기 위한 것이고, 상기 이미지 정보는 상기 호스트 장치의 디스플레이 상에서 렌더링하기 위해 클라이언트 애플리케이션에 송신되는 것을 특징으로 할 수 있다.
다른 실시예는 시스템에 관한 것으로서, 이 시스템은 디스플레이를 포함하는 호스트 장치 - 상기 호스트 장치는 클라이언트 애플리케이션을 실행시킴 - ; 및 인터페이스를 통하여 상기 호스트 장치에 연결된 토큰 장치를 포함하고, 상기 토큰 장치는 토큰 장치 애플리케이션을 실행시키기 위한 프로세서를 포함하고, 상기 토큰 장치 애플리케이션은 상기 호스트 장치 상에서 실행하는 상기 클라이언트 애플 리케이션에 상기 인터페이스를 통하여 이미지 정보를 제공하고, 상기 클라리언트 애플리케이션은 상기 토큰 장치로부터 제공된 이미지 정보에 대응하는 이미지를 상기 호스트 장치의 디스플레이 상에 표시하는 것을 특징으로 할 수 있다.
후속 실시예는 토큰 장치를 동작시키는 방법을 포함하고, 이 방법은 상기 토큰 장치를 인터페이스를 통하여 호스트 장치에 연결하는 단계; 상기 토큰 장치 상에서 토큰 장치 애플리케이션을 실행시키는 단계; 이미지 정보를 생성하는 단계; 및 상기 이미지 정보를 상기 인터페이스를 통하여 상기 호스트 장치에 송신하는 단계 - 상기 이미지 정보는 상기 호스트 장치 상에서 실행하는 클라이언트 애플리케이션에 의해 렌더링됨 - 를 포함한다.
본 발명의 상기 및 기타 양태들, 특징들 및 이점들은 다음의 도면들과 관련하여 제시된, 본 발명에 대한 다음의 보다 구체적인 설명으로부터 더 명백해질 것이다.
도 1은 일 실시예에 따라 휴대용 토큰 장치를 예시하는 블록도.
도 2는 일 실시예에 따라 호스트 컴퓨터에 연결된 휴대용 토큰 장치를 예시하는 블록도.
도 3은 일 실시예에 따라 호스트 컴퓨터와 함께 휴대용 토큰 장치를 이용하는 방법을 예시하는 흐름도.
도 4는 일 실시예에 따라 뱅킹 애플리케이션(banking application)과 함께 이용되는 휴대용 토큰 장치를 예시하는 블록도.
도 5는 일 실시예에 따라 판매 시점 단말기(point of sale terminal)와 함께 이용되는 휴대용 토큰 장치를 예시하는 블록도.
도 6은 일 실시예에 따라 가상 인터페이스 애플리케이션과 함께 이용되는 각종 애플리케이션들의 스크린 샷(screen shot)을 예시하는 도.
도면들의 몇몇 도시(view)들을 통하여 대응하는 참조 문자들은 대응하는 컴포넌트들을 나타낸다. 숙련된 당업자라면 도면들 내의 요소들이 간결성과 명료함을 위해 예시되어 있고 반드시 일정한 비례로 그려지지는 않았다는 것을 알 것이다. 예를 들면, 도면들 내의 요소들 중 일부의 치수, 사이즈, 및/또는 상대적인 배치는 본 발명의 각종 실시예들에 대한 이해의 증진을 돕기 위해 다른 요소들에 비하여 과장되어 있을 수 있다. 또한, 상업적으로 실행 가능한 실시예들에서 유용하거나 필요한 일반적이지만 잘 이해되는 요소들은, 본 발명의 이들 각종 실시예들의 덜 방해받는 도시를 용이하게 하기 위하여 종종 도시되지 않는다. 또한 본 명세서에서 이용되는 용어들 및 표현들은, 본 명세서에서 다른 특정 의미들이 달리 제시된 경우를 제외하고, 대응하는 각각의 조사 및 연구 분야의 숙련자들이 그러한 용어들 및 표현들에 일반적으로 부여하는 통상의 의미를 갖는다는 것도 이해해야 할 것이다.
다음의 설명은 제한적인 의미로 해석되어서는 안 되고, 단지 발명의 일반적인 원리들을 설명할 목적으로 작성되었다. 본 발명의 범위는 청구항들을 참조하여 결정되어야 한다. 본 실시예들은 배경기술에서 설명된 문제점들을 다루는 한편 또한 다음의 상세한 설명으로부터 확인될 다른 추가 문제점들을 다룬다.
여기에서 설명되는 일부 실시예들은 다양한 사용자들의 요구를 만족시킬 수 있는 안전하고 휴대 가능한 작업 환경을 제공한다. 토큰 장치들은, 각종 실시예들에서 다음의 특징들, 즉, 파일을 안전하게 유지하는 특징, 사용자가 필요한 애플리케이션들을 휴대 가능한 환경 내에 상주하게 함으로써 파일들을 다루도록 허용하는 특징, 파일들이 호스트 머신 상에 캐싱되지 못하게 하는 특징, 고도로 휴대 가능한 폼 팩터(highly portable form factor)(예컨대, 스마트 카드 또는 USB 장치)를 제공하는 특징, 호스트 머신에 의한 감염으로부터 면역성이 있는 특징, 및 윈도즈, 리눅스, 매틴토시, PDA 호스트 컴퓨터들 또는 각종 운영 체제들을 실행시키는 많은 다른 유형의 호스트 컴퓨터들과 함께 동작할 수 있는 특징 중 하나 이상을 제공한다.
일 실시예는, 프로세서, 메모리에 저장된 하나 이상의 애플리케이션들, 메모리에 저장된 하나 이상의 파일들, 및 호스트 컴퓨터를 통하여 가상 인터페이스를 실행시키기 위한 클라이언트 애플리케이션을 포함하는 휴대용 장치(예컨대, USB 폼 팩터 또는 스마트 카드)를 포함한다. 일 실시예에서, 상기 휴대용 장치는 운영 체제를 포함한다. 일부 실시예들에서, 상기 장치는 단일 접속 인터페이스(예컨대, USB, 스마트 카드, 네트워크)를 포함하고, 키보드, 마우스, 디스플레이 또는 기타 입력 장치는 포함하지 않는다. 동작 시에, 사용자는 장치 인터페이스의 가상화(virtualization)를 지원하는 클라이언트 애플리케이션을 통하여 상기 휴대용 토큰 장치와 상호작용할 것이다. 상기 휴대용 장치 상의 토큰 장치 애플리케이션 및 파일들의 처리는 상기 휴대용 장치에 대해 로컬로(locally) 발생하고 호스트 장치 상에서는 발생하지 않는다. 어떤 파일 데이터, 애플리케이션(상기 가상 인터페이스 애플리케이션 이외의 것), 또는 컴퓨팅 동작들도 호스트 컴퓨터 상에서 수행되거나, 호스트 컴퓨터 상에 캐싱되거나, 호스트 컴퓨터에 전송되지 않는다.
다른 실시예는, 호스트 컴퓨터에 접속될 때, 안전한 온라인 뱅킹, 안전한 개인 작업 공간, 안전한 사용자 지정 판매 시점 인터페이스(custom point-of-sale interface), 워드 프로세싱, 스프레드시트, 파일 뷰어 및 임의의 다른 애플리케이션 등의 애플리케이션들을 지원하는 안전한 컴퓨팅 환경을 제공하는, 인터페이스(예컨대, USB, 스마트 카드, 또는 네트워크 인터페이스)를 갖는 마이크로프로세서를 포함하는 휴대용 토큰 장치를 포함한다.
또 다른 실시예는, 스마트 카드에서 일반적으로 이용되는 것들과 같은 안전한 프로세서, 대상 용도(targeted use)로 지향된 하나 이상의 토큰 장치 애플리케이션들, 및, 예를 들어, 카퍼 등(Carper et al.)의 명의로, 2002년 5월 21일자 발행된, "SYSTEM AND METHOD FOR INSTALLING/DE-INSTALLING AN APPLICATION ON A SMART CARD"라는 명칭의, 미국 특허 6,390,374호에서 설명된 것과 같은 운영 체제를 포함하고, 상기 특허는 그 전체 내용이 참고로 본 명세서에 통합된다. 대안적인 운영 체제로는, 또한, 예를 들어, http://en.wikipedia.org/wiki/Contiki에서 설명된 콘티키(Contiki) 운영 체제, 또는 http://sourceforge.net/projects/vnc-tight에서 설명된 VNC 서버와 같은 가상 서버를 포함할 수 있다. 상기 컴포넌트들은 스마트 카드 또는 USB 토큰 폼 팩터로 조립된다. 또한, 상기 토큰 장치는, 예를 들어, 카퍼 등의 명의로, 2006년 7월 3일자 출원된, "BIOMETRIC EMBEDDED DEVICE"라는 명칭의, 미국 가 특허 출원 60/806,494호에서 설명되어 있는 것과 같은 생체 인식 장치(biometric device)일 수 있고, 상기 가 출원은 그 전체 내용이 참고로 본 명세서에 통합된다.
이제 도 1을 참조하면, 일 실시예에 따라 휴대용 토큰 장치를 예시하는 블록도가 도시되어 있다. 인터페이스(100), 프로세서(104), 및 메모리(106)가 도시되어 있다. 이 장치는, 예를 들어, 추가 프로세서들, 생체 인식 컴포넌트들 및 전원을 포함하는 각종의 다른 컴포넌트들을 가질 수 있다.
이 휴대용 토큰 장치는 USB 장치, 스마트 카드, 또는 기타 용이하게 휴대 가능한 소형 임베드 장치(embedded device)의 형태로 된 것일 수 있다. 일반적으로, 이 휴대용 토큰 장치는 인터페이스(100)를 통하여 제공되는 것을 제외하고 키보드, 디스플레이 스크린 또는 기타 입력/출력 기능을 포함하지 않을 것이다.
메모리(106)는 각종 실시예들에 따라 ROM, 플래시 메모리 및/또는 RAM을 모두 포함할 수 있다. 메모리는 하나 이상의 물리적 메모리 저장 장치들 및/또는 프로세서 회로와 직접 관련된 메모리를 포함할 수 있다. 통상의 USB 장치들과는 대조적으로, 이 휴대용 토큰 장치는 그 휴대용 토큰 장치 상에서 토큰 장치 애플리케이션들을 실행시키기 위한 프로세서(104)를 포함한다. 그 애플리케이션들은 여기에서 특수화된 애플리케이션(specialized applications), 토큰 장치 애플리케이션(token device application) 및/또는 가상 서버 애플리케이션(virtual server applications)으로 불릴 것이다. 이들 각각은 단순히 토큰 장치의 프로세서(104) 상에서 실행하는 애플리케이션들을 지칭한다.
프로세서(104)는 일 실시예에 따라 특수화된 마이크로프로세서이다. 그러나, 프로세서(104)는, 위에서 설명한 것들과 같은 많은 다양한 유형의 프로세서일 수 있다. 옵션으로, 프로세서(104)는 운영 체제를 실행시키는 안전한 프로세서 또는 특수화된 애플리케이션을 실행시키도록 설계된 특수화된 안전한 마이크로프로세서를 포함할 수 있다.
일 실시예에서, 이 휴대용 토큰 장치는 하나 이상의 특수화된 애플리케이션들(예컨대, 뱅킹 애플리케이션, 파일 뷰어, 파일 에디터, 또는 금융 거래(financial transaction) 애플리케이션)을 위해 사용된다. 특수화된 애플리케이션(여기서는 토큰 장치 애플리케이션이라고도 함)은 휴대용 토큰 장치의 메모리(106)에 저장되고 프로세서(104)에 의해 실행된다. 또한, 이 휴대용 토큰 장치는 하나 이상의 파일들을 메모리(106)에 저장할 수 있고 또한 옵션으로 호스트 컴퓨터 상에서 실행하도록 설계되어 있는 클라이언트 애플리케이션을 저장할 수 있다. 클라이언트 애플리케이션은 휴대용 토큰 장치의 프로세서(104) 상에서 실행하는 특수화된 애플리케이션에 대한 가상 인터페이스를 제공한다. 이런 식으로, 호스트 컴퓨터는 특수화된 애플리케이션과 상호작용하기 위해 이용될 수 있다. 예를 들면, 사용자는 토큰 장치 상에서 실행하는 특수화된 애플리케이션과 상호작용하기 위하여 호스트 컴퓨터의 키보드 및 마우스를 이용할 수 있다.
다음으로 도 2를 참조하면, 일 실시예에 따라 호스트 컴퓨터에 연결된 휴대용 토큰 장치를 예시하는 블록도가 도시되어 있다. 호스트 장치(200), 토큰 장치(202), 및 인터페이스(204)가 도시되어 있다.
호스트 장치(202)는 인터페이스(204)를 통하여 토큰 장치(202)에 연결된다. 인터페이스(204)는, 예를 들면, USB 인터페이스, 스마트 카드 인터페이스, 또는 네트워크 인터페이스이다. 인터페이스(204)는 또한 각종 실시예들에 따라 유선 또는 무선 인터페이스일 수 있다. 인터페이스는 호스트 장치(200)와 토큰 장치(202) 간에 I/O 기능을 제공한다. 또한, 일부 실시예들에서는, 인터페이스(204)를 통하여 호스트 장치(200)로부터 토큰 장치(202)로 전력이 제공된다. 대안적으로, 토큰 장치(202)는 배터리 또는 태양 전지와 같은 온보드 전원(on-board power source)을 포함한다.
토큰 장치(202)는, 예를 들면, 도 1을 참조하여 설명된 토큰 장치이다. 상술한 바와 같이, 토큰 장치(202)는 그 토큰 장치(202) 상에서 실행하는 특수화된 애플리케이션을 저장한다. 특수화된 애플리케이션은 또한 여기에서 가상 서버로 간주될 수 있고, 가상 서버로 불려질 것이다. 옵션으로, 토큰 장치(202)는 또한 그 토큰 장치(202)가 호스트 장치(200)에 접속될 때 인터페이스(204)를 통하여 호스트 장치(200) 상에 로딩되는 클라이언트 애플리케이션을 저장한다. 클라이언트 애플리케이션은 또한 여기에서 가상 클라이언트로 간주될 수 있고, 가상 클라이언트로 불릴 것이다. 클라이언트 애플리케이션은 토큰 장치(202) 상에 저장되어, 토큰 장치가 임의의 호스트 장치(200)에 연결되는 언제든지, 클라이언트 애플리케이션이 호스트 장치(200)에 용이하게 전송될 수 있도록 하는 것이 바람직하다. 그러나, 대안 실시예들에서, 클라이언트 애플리케이션은 토큰 장치(202)에 연결되기에 앞서 호스트 장치(200) 상에 저장될 수 있고 또는 호스트 장치(200)가 원격 소스로부터 클라이언트 애플리케이션을 다운로드할 수 있다.
가상 서버(즉, 특수화된 애플리케이션(들))는 인터페이스(204)를 통하여 가상 클라이언트(즉, 클라이언트 애플리케이션)와 통신한다. 일 실시예에서, 가상 클라이언트는 자바를 이용하여 개발되고 따라서 그것은 특정 운영 체제에 의존하지 않고, 예를 들어, PDA(Personal Digital Assistants), 전화기, 및 컴퓨터들을 포함하는, 대부분의 컴퓨터 시스템들 상에서 실행할 것이다. 그러나, 클라이언트 장치는 다른 기술을 이용하여 개발될 수 있고 원한다면 플랫폼 특정적(platform specific)으로 구축될 수 있다.
동작 시에, 호스트 장치(200) 상에서 실행하는 가상 클라이언트는 토큰 장치(202) 상에서 실행하는 가상 서버와 통신한다. 가상 클라이언트는 호스트 장치(202) 상의 애플리케이션 창 내에 가상 스크린을 표시한다. 가상 클라이언트 및 가상 스크린의 예시적인 스크린 샷이 도시되고 아래에서 도 6을 참조하여 설명된다. 키보드 및 마우스 액션들이 가상 클라이언트에 의해 수집되어 가상 서버에 전달된다. 이에 따라 사용자는 비록 토큰 장치가 일반적으로, 예를 들어, 키보드 또는 마우스와 같은 어떤 입력도 포함하지 않더라도 토큰 장치 상에서 실행중인 특수화된 애플리케이션과 상호작용할 수 있게 된다. 예를 들면, 특수화된 애플리케이션은 파일 편집 프로그램일 수 있고 사용자는 토큰 장치(202) 상에 저장되어 있는 텍스트 파일을 편집할 수 있을 것이다. 사용자는 가상 스크린에서 텍스트 파일을 볼 수 있지만, 호스트 장치(200)는 텍스트 파일의 사본에 액세스할 수 없다. 호스트 장치(200)가 수신하는 데이터는 토큰 장치(202)로부터의 이미지 데이터이고 실제로는 텍스트 파일의 사본을 획득하지 않는다. 옵션으로, 가상 클라이언트는, 예를 들어, 네크워크 및/또는 인쇄 서비스에의 액세스를 제공하는 것을 지원할 수 있다.
가상 스크린은, 예를 들면, 호스트 장치(200)의 디스플레이 장치 상의 창(window)이다. 가상 스크린의 콘텐츠는 가상 서버로부터 가상 클라이언트로 제공된 이미지 데이터에 응답하여 업데이트된다. 호스트 장치(200)의 디스플레이 장치 상에 보여지는 가상 스크린을 업데이트하기 위하여, 토큰 장치(202) 상에서 실행하는 특수화된 애플리케이션은 이미지 정보를 가상 클라이언트에 제공한다. 그 후 가상 클라이언트는 가상 스크린을 업데이트한다. 그러나, 호스트 장치(200)는 토큰 장치(202) 상에서 실행하는 특수화된 애플리케이션에 액세스하거나 그것을 실행하지 않는다는 것을 이해해야 할 것이다. 토큰 장치(202) 상의 애플리케이션 및/또는 어떤 파일들이든 완전히 안전하게 유지되고 호스트 컴퓨터(200)로부터 분리된다. 이는 특수화된 애플리케이션이 바이러스에 걸리거나 특수화된 애플리케이션이 데이터를 호스트 장치(200)에 노출시키는 것을 방지한다. 따라서, 토큰 장치(202)가 호스트 장치(200)로부터 제거될 때, 호스트 장치(200) 상에는 정보의 어떤 사본(전부 또는 일부)도 남겨지지 않는다.
일 실시예에서는, 토큰 장치(202)가 호스트 장치(200)에 접속되는 때에 가상 클라이언트 애플리케이션를 포함하는 드라이브가 호스트 장치(200)에 게시(publish)된다. 이에 따라 호스트 장치(200)는 토큰 장치에 접속되는 즉시 가상 클라이언트 애플리케이션을 로드하여 실행시킬 수 있게 된다. 옵션으로, 토큰 장치(202)는 읽기 전용 또는 읽기/쓰기용인 추가 드라이브를 게시할 수 있다. 이 추가 드라이브는 파일들 또는 애플리케이션들에 액세스하거나 그것들을 저장하는 데 이용될 수 있다. 예를 들면, 파일이 호스트 장치(200)로부터 복사되어 토큰 장치(202) 상에 저장될 수 있을 것이다. 이것은 일부 애플리케이션들에서는 바람직하지 않을 수 있는데, 이는 토큰 장치(202) 상에 바이러스를 복사할 수도 있기 때문이다.
토큰 장치(202)는 암호로 보호되거나 및/또는 생체 인식 식별(biometric identification)을 요구함으로써 보호될 수 있다. 생체 인식 토큰의 일례는, 카퍼 등의 명의로, 2006년 7월 3일자 출원된, "BIOMETRIC EMBEDDED DEVICE"라는 명칭의, 미국 가 특허 출원 60/806,494호에서 설명되어 있고, 상기 가 출원은 그 전체 내용이 본 명세서에 참고로 통합된다. 생체 인식 장치와 비교하여 암호로 보호되는 토큰 장치(202)를 갖는 것의 한 가지 문제점은, 호스트 컴퓨터는 사용자가 그의 암호를 입력할 때 키 입력(key strokes)(또는 마우스 클릭)을 캡처할 수 있는 "키 로거(key logger)" 프로그램을 잠재적으로 가지고 있을 수 있다는 점이다. 본 실시예에 따른, 이에 대한 한 가지 해법은, 토큰 장치 상에서 실행하는 특수화된 애플리케이션이 사용자에게 키패드를 제공하게 하고 사용자가 마우스를 이용하여 그의 암호를 입력하게 하는 것이다. 이 키패드는, 암호가 요구될 때마다 번호들이 키 패드의 상이한 위치들에서 나타나도록, 스크램블(scramble)될 수 있다. 이 해법은 "키 로거" 프로그램이 사용자의 암호에 관하여 어떤 의미 있는 데이터도 기록하지 못하게 할 것이다. 토큰 장치(202)에서 실행중인 특수화된 애플리케이션이 키패드를 제공(present)하고 있기 때문에, 호스트 컴퓨터(200)는 어떤 키패드가 사용자에게 제공되는지를 추적할 수 없다.
다음으로 도 3을 참조하면, 일 실시예에 따라 호스트 컴퓨터와 함께 휴대용 토큰 장치를 이용하는 방법을 예시하는 흐름도가 도시되어 있다.
단계 300에서는, 토큰 장치가 인터페이스를 통하여 호스트 컴퓨터에 연결된다. 예를 들면, 토큰 장치는 호스트 컴퓨터 상의 USB 포트에 삽입(플러그)된다. 다음으로 단계 302에서는, 호스트 컴퓨터에 드라이브(예컨대 읽기 전용 드라이브)가 제공된다. 이 드라이브는 하나 이상의 애플리케이션 파일들을 포함하고 바람직하게는 가상 인터페이스 클라이언트를 포함한다. 상술한 바와 같이, 최대의 호환성을 위하여 가상 클라이언트 애플리케이션은 바람직하게는 자바로 작성되지만, 많은 상이한 기술들을 이용하여 대상 컴퓨팅 환경에 대하여 특정하게 작성될 수 있다. 또한, 상술한 바와 같이, 가상 클라이언트 애플리케이션은 이미 호스트 컴퓨터 상에 있을 수 있고 또는 호스트 컴퓨터 장치는 토큰 장치 이외의 소스로부터 가상 클라이언트 애플리케이션을 다운로드할 수 있다.
단계 304에서는, 만일 가상 클라이언트 애플리케이션이 드라이브 상에 있다면, 사용자는, 예를 들어, 그 가상 클라이언트 애플리케이션을 두 번 클릭함으로써, 그 가상 클라이언트 애플리케이션을 시동할 수 있다. 대안적으로, 가상 클라이언트 애플리케이션은 토큰 장치가 인터페이스를 통하여 호스트 컴퓨터에 접속될 때 프로그램적으로 시동될 수 있다.
다음으로, 단계 306에서는, 가상 클라이언트 애플리케이션을 이용하여, 사용자는 적절한 암호를 제공하여 토큰 장치에 로그인할 수 있다. 대안적으로는, 사용자를 인증하기 위해 생체 인식 인증이 이용될 수 있다. 단계 308에서는, 토큰 장치로부터 클라이언트 애플리케이션으로 이미지 정보가 송신되고 토큰 장치 상에서 실행중인 특수화된 애플리케이션 또는 데스크톱의 뷰(view)가 클라이언트 애플리케이션 내의 창에 나타날 것이다. 예를 들면, 가상 클라이언트 애플리케이션 내의 창이 토큰 장치 상에서 실행중인 특수화된 애플리케이션에 대한 창 또는 데스크톱 환경을 표시할 것이다. 만일 토큰 장치가 단 하나의 특수화된 애플리케이션만을 포함한다면, 그 애플리케이션은 자동으로 시작할 수 있고 데스크톱을 가질 필요가 없다. 그러나, 토큰 장치 상에 다수의 특수화된 애플리케이션 또는 다수의 파일들이 저장되어 있다면, 사용자에게는 데스크톱이 편리할 수 있다. 다시, 특수화된 애플리케이션은 토큰 장치 상에서 실행중이고 호스트 컴퓨터에 로딩되지 않는다는 것에 유의해야 할 것이다. 호스트 컴퓨터는 가상 클라이언트 애플리케이션만을 실행시키고 있다.
다음으로, 단계 310에서는, 특수화된 애플리케이션이 임의의 다른 컴퓨터 애플리케이션처럼 동작한다. 즉, 사용자는 호스트 장치를 인터페이스로서 이용하여 애플리케이션과 상호작용할 수 있다. 예를 들면, 사용자는 토큰 장치 상에서 실행하는 애플리케이션과 상호작용하기 위하여 마우스를 움직이거나 키보드 상에서 타이핑할 수 있다. 옵션으로, 호스트의 네트워크(예컨대, 인터넷) 접속이 USB 접속을 통하여 터널링(tunnel)되어 토큰 장치에게 이용 가능하게 될 수 있다. 네트워크 접속은, 예를 들면, 원격 서버 또는 인쇄에 액세스하기 위해 이용될 수 있다. 옵션으로, 보안 위험으로 간주될 수도 있지만, 토큰 장치로 및 토큰 장치로부터 파일들을 복사하기 위해 토큰 장치 상에 있는 추가 읽기/쓰기용 드라이브가 이용 가능하게 될 수 있다. 다른 옵션으로, 토큰 장치로부터 호스트 컴퓨터로 파일이 전송되도록 허용하기 위해 읽기 전용 드라이브가 이용 가능하게 될 수 있다. 또 다른 옵션으로, 토큰 장치는 선택된 파일들이 호스트 컴퓨터에 의해 액세스될 수 있는 읽기 전용 방식으로 게시될 수 있게 하는 웹 서버로서 동작한다.
다음으로 도 4를 참조하면, 일 실시예에 따라 뱅킹 애플리케이션(banking application)과 함께 이용되는 휴대용 토큰 장치를 예시하는 블록도가 도시되어 있다. 은행 서버(bank server)(400), 네트워크(402), 호스트 컴퓨터(404), 토큰 장치(406) 및 인터페이스(408)가 도시되어 있다.
토큰 장치(406)는 인터페이스(408)를 통하여 호스트 컴퓨터(404)에 연결된다. 호스트 컴퓨터(404)는 네트워크(402)를 통하여 은행 서버(400)에 연결된다(예컨대, 인터넷 또는 모뎀을 통하여 직접).
뱅킹에의 통상적인 웹 브라우저 액세스에 있어서 한 가지 문제점은, 그것은 매우 편리하지만, 그것이 반드시 기밀의 신중을 요하는 정보(confidential and sensitive information)에 액세스하는 매우 안전한 방식은 아니라는 점이다. 또 다른 문제점은 무효한 암호를 가진 권한이 없는 사용자들이 사용자 계정 이름 또는 번호들을 무차별 공격 샘플링할 경우 매우 빠르게 계정들이 잠겨서(너무 많은 실패 시도로 인해), 유효한 사용자들이 뱅킹 정보에 액세스하지 못하게 한다는 점이다. 또한, 사용자의 컴퓨터 상에서 실행하는 트로이 목마 프로그램들이 신중을 요하는 정보(예컨대, 암호 또는 사용자 이름)를 캡처할 수 있다. 또 다른 문제점은 컴퓨터의 로컬 디스크 캐시가 신중을 요하는 정보를 저장할 수 있다는 점이다. 더욱이, 누구든지 임의의 컴퓨터로부터 액세스를 시도할 수 있고 어떤 물리적 장치 또는 카드도 요구되지 않는다. 또 다른 문제점은 웹 사이트 링크가 위장(spoof)될 수 있고 사용자가 그의 계정에 로그인하려고 시도할 때 그의 뱅킹 자격 증명(banking credentials)을 누설하게 할 수 있다는 점이다.
전통적인 온라인 뱅킹과 관련된 상기 문제점들 및 다른 문제점들을 극복하기 위하여, 도 4에 도시된 시스템이 구현될 수 있다. 토큰 장치(406)는, 예를 들면, 단 하나의 특수화된 애플리케이션(예컨대, 뱅킹 애플리케이션)을 저장한다. 하나 이상의 파일들이 또한 토큰 장치(406)의 메모리에 저장될 수 있다. 은행은 은행 서버에의 안전한 액세스를 용이하게 하는 애플리케이션을 생성 또는 채용한다. 은행에 의해 생성된 특수화된 애플리케이션은 토큰 장치(406) 상에 안전하게 설치된다. 바람직하게는, 그 후 토큰 상에 추가 애플리케이션들을 설치하는 능력은 사용 불능화(disable) 된다. 그러나, 뱅킹 애플리케이션은 옵션으로 설치된 소프트웨어에 대한 업데이트들을 허용할 수 있다. 토큰 장치 상의 애플리케이션들을 업데이트하는 것은, 예를 들면, 카퍼 등의 명의로, 2002년 5월 21일자 발행된, "SYSTEM AND METHOD FOR INSTALLING/DE-INSTALLING AN APPLICATION ON A SMART CARD"라는 명칭의, 미국 특허 6,390,374호에서 설명되어 있고, 상기 특허는 그 전체 내용이 참고로 본 명세서에 통합된다. 옵션으로, 직접 토큰 장치(406)에 액세스하거나 또는 토큰 장치 상의 은행 인증된 애플리케이션 이외의 어떤 애플리케이션이든 실행시키는 것은 가능하지 않다.
동작 시에, 토큰 장치(406)는 인터페이스(408)를 통하여 호스트 컴퓨터(404)에 연결된다. 예를 들면, 토큰 장치(406)는 호스트 컴퓨터의 USB 인터페이스에 삽입된다. 토큰 장치(406)가 삽입되면, 토큰 장치(406)에 전력이 인가되고(예를 들면, USB 인터페이스를 통하여) 토큰 장치의 프로세서가 실행하기 시작한다. 만일 토큰 장치가 운영 체제를 포함하고 있다면, 그 운영 체제가 부팅(boot up)된다. 일 실시예에서는, 뱅킹 애플리케이션이 시작되어, 운영 체제와 뱅킹 애플리케이션이 업(up)되어 실행하고 사용자 상호작용을 대기한다. 만일 2 이상의 애플리케이션이 토큰 장치(406) 상에서 실행될 수 있다면 데스크톱 또는 애플리케이션 또는 파일을 선택하는 다른 수단이 사용자에게 제공(present)될 수 있다.
다음으로, 예를 들어, 통상의 USB 저장 장치처럼 보이는 드라이브가 호스트 컴퓨터의 데스크톱 상에 나타난다. 그러나, 바람직하게는, (삭제될 수 없는) 단 하나의 애플리케이션만이 그 드라이브 상에 존재한다. 옵션으로, 다른 파일들 또는 애플리케이션들이 또한 공통 영역에 저장될 수 있고 아마도 읽기 전용 파일들로서 유지될 것이다. 예를 들면, 애플리케이션에 대한 사용자 매뉴얼이 메모리의 이 영역에 저장될 수 있다. 다음으로, 예를 들어, 프로그램적으로 또는 사용자가 애플리케이션을 선택하는 것에 의해 애플리케이션이 시동된다. 시동되는 즉시 통상의 애플리케이션 창이 호스트 컴퓨터(404) 상에서 열리고 토큰 장치(406) 상에서 실행하는 운영 환경에의 가상 인터페이스를 제공한다. 예를 들면, 가상 인터페이스는 사용자가 토큰 장치(406) 상에서 실행중인 뱅킹 애플리케이션과 상호작용하도록 허용한다.
호스트 컴퓨터의 인터넷 접속을 토큰 장치(406) 상의 뱅킹 애플리케이션에 접속시키는 네크워크 브리지(network bridge)가 생성된다. 이 인터넷 브리지는 뱅킹 애플리케이션이 네트워크(예컨대, 인터넷 또는 로컬 네트워크)를 통하여 은행 서버(400)와 통신할 수 있게 한다. 토큰 장치 상의 뱅킹 애플리케이션은, 예를 들면, 네크워크 브리지를 이용하여 원격 은행 서버(400)에 직접 접속할 것이다. 프라이버시와 보안이 요구되는, 뱅킹과 같은 애플리케이션에 대해서는, 은행 서버(400)와 토큰 장치(406) 간의 정보의 송신은 어떤 중개자(intermediary)에 의해서도 판독될 수 없도록 암호화되어야 한다. 호스트 컴퓨터(404)는 단순히 토큰 장치(406)와 은행 서버(400) 간의 통신을 라우팅하는 도관(conduit)으로서 동작한다. 호스트 컴퓨터(404)는 전송되는 정보를 (무결성을 손상시키지 않고) 보거나 변경할 수 없다. 뱅킹 애플리케이션은 토큰 장치(406)의 프로세서 상에서 실행중이기 때문에, 호스트 컴퓨터(404)는 암호화되어 있지 않은 어떤 정보에도 액세스할 수 없다. 더욱이, 뱅킹 애플리케이션 및 옵션으로 운영 체제는 토큰 장치(404) 상에서 완전히 실행중이고, 따라서, 호스트 컴퓨터(404) 상에서 동작하는 애플리케이션의 흔적이 없다. 옵션으로, 토큰 장치(406) 상에서의 생체 인식 센서의 사용은 도난 및 악용에 대한 양호한 보호를 가능하게 한다. 생체 인식 센서를 토큰 장치와 통합하는 하나의 바람직한 실시예는, 카퍼 등의 명의로, 2006년 7월 3일자 출원된, "BIOMETRIC EMBEDDED DEVICE"라는 명칭의, 미국 가 특허 출원 60/806,494호에서 설명되어 있고, 상기 가 출원은 그 전체 내용이 참고로 본 명세서에 통합된다.
도 4의 시스템은 옵션으로 은행이 금융 거래를 위하여 이용될 수 있고 또한 안전한 네트워크 뱅킹을 위하여 이용될 수 있는 토큰(예컨대, 스마트 카드)을 배포하도록 허용한다. 그러한 보안은 현재 온라인 뱅킹 시스템들에서 통용되고 있지 않다. 위에 설명된 동작은 예시적인 것이고 원하는 시스템 동작에 따라서는 보다 많은 또는 보다 적은 수의 단계들이 구현된다는 것을 이해해야 할 것이다.
다음으로 도 5를 참조하면 일 실시예에 따라 POS(point-of-sale) 단말기와 함께 이용되는 휴대용 토큰 장치를 예시하는 블록도가 도시되어 있다. 백 엔드(back end)(500), 네트워크(502), 단말기(504), 토큰 장치(506) 및 인터페이스(508)가 도시되어 있다.
토큰 장치(506)는 인터페이스(508)를 통하여 단말기(504)에 연결된다. 단말기(504)는 네트워크(502)(예컨대, 인터넷 또는 다이렉트 모뎀 라인)를 통하여 백 엔드(500)에 연결된다.
전형적인 POS 단말기들에서는, 각종 지불 방법들이 용인된다. 전형적으로, 자기 띠(magnetic-stripe), 접촉형 스마트 카드(contact smart card), 또는 비접촉형 스마트 카드(contactless smart card)가 소비자들에 의해 이용된다. 스마트 카드 기반 시스템들은 자기 띠 시스템들보다 더 안전하다고 여겨진다. 이것이 사실일 수 있지만, 단말기는 종종 많은 시스템들에서 어택트 포인트(attack point)로서 간과된다. 많은 단말기들은 그것들이 적절히 기능하는 것 같이 보이지만 실제로는 소비자와 판매인(vendor)에 의해 보이지 않는 추가 동작들을 수행하도록 변경된 내부 소프트웨어를 가질 수 있다. 예를 들면, 단말기 소프트웨어는 거래 정보를 기록하도록 변경될 수 있다. 또한, 소비자는 스크린 상에 표시된 액(amount)은 스마트 카드 기반 모델을 이용하는 경우에도 (자기 띠의 경우에는 전화 라인을 통하여 직접) 승인을 위해 서브미트(submit)되는 실제 액이라고 확신할 수 없다. 또한, 단말기는 소비자에게 알려지지 않은 다른 카드 정보에 액세스하고 그 정보를 저장 또는 이용할 수 있다.
도 5에 도시된 시스템은 금융 거래 시스템과 관련된 이들 및 다른 문제점들을 극복한다. 바람직하게는, 토큰 장치(506)는 스마트 카드의 폼 팩터로 되어 있는 안전한 토큰 컴퓨터이고 스마트 카드 인터페이스를 인터페이스(508)로서 이용한다. 단말기(504)(여기서는 POS 단말기(504)로도 불림)는 여기서 설명된 실시예들에 따라 안전한 토큰 컴퓨터의 존재를 검출하도록 변경된다. POS 단말기(504)가 토큰 장치(506)를 식별할 때, POS 단말기(504)의 디스플레이(도시되지 않음)의 일부가 사용자에게 가상 인터페이스를 제공하기 위해 이용된다. 단말기는 가상 인터페이스를 보여주는 클라이언트 애플리케이션을 실행중이다. 가상 인터페이스는 토큰 장치(506) 상에서 실행중인 금융 거래 애플리케이션에 관련된 정보를 표시하기 위해 이용된다. 따라서, 토큰 장치(506)는 단말기에 이미지 정보를 송신함으로써 가상 인터페이스에서 표시되는 것을 제어하고 있다. 그 이미지 정보는 가상 인터페이스를 업데이트하기 위해 클라이언트 애플리케이션에 의해 이용된다. POS 단말기(504)의 디스플레이의 다른 영역(예컨대, 가상 인터페이스 위쪽)에는 거래의 액이 표시된다. 그 액은 또한 메시지의 부분으로서 토큰 장치(504)에 송신될 수 있다.
이어서, 사용자는, 예를 들어, POS 단말기(504) 상의 키보드를 이용하여, 특수화된 거래 애플리케이션과 상호작용할 수 있다. 이 실시예에서, POS 단말기(504)는 호스트 컴퓨터로서 기능하고 있다. 위에 설명한 것과 유사하게, 토큰 장치는 암호 또는 핀을 이용하여 또는 생체 인식 식별을 이용하여 보호될 수 있다. 단말기 장치(504)는 토큰 장치 상에서 실행하는 금융 거래 애플리케이션과 상호작용하기 위해 이용된다. 다음으로, 사용자는 일반적으로 표시된 액을 수락하고, 원하는 허용된 지불 방법을 선택한 다음, 기록 및 송신을 위해 거래를 서브미트(submit)할 것이다. 바람직하게는 암호화된 통신이 이용됨으로써, 단말기가 그 암호화된 거래 정보를 변경하거나, 또는 검사조차 할 수 없도록 한다.
상기 동작은 예시일 뿐이고 설명된 동작을 변경하기 위해 추가의 또는 소수의 단계들이 이용될 수 있다는 것을 이해해야 할 것이다. 예를 들면, 백 엔드(500)와 토큰 장치(506) 간의 각종 통신 단계들이 거래를 인증하기 위해 구현될 수 있다. 도 4 및 5를 참조하여 위에서 설명된 뱅킹 애플리케이션 및 판매 시점 단말기 애플리케이션에서는 각종의 안전한 통신 방법들이 이용될 수 있다. 위에서 설명한 실시예들에 따라 이용될 수 있는 각종의 통신 방법 및 시스템들의 일부는, 카퍼 등의 명의로, 2006년 10월 20일자 출원된, "DECENTRALIZED SECURE TRANSACTION SYSTEM"이라는 명칭의, 미국 가 특허 출원 60/862,381호에서 제공되고, 상기 출원은 그 전체 내용이 본 명세서에 참고로 통합된다.
다음으로 도 6을 참조하면 일 실시예에 따라 가상 인터페이스 애플리케이션과 함께 이용되는 각종 애플리케이션들의 스크린 샷을 예시하는 도가 도시되어 있다. 클라이언트 애플리케이션 창(600), 워드 프로세서 창(602) 및 파일 뷰어 창(604)이 도시되어 있다.
클라이언트 애플리케이션 창(600)은 호스트 컴퓨터 상에서 실행중인 클라이언트 애플리케이션에 대한 그래픽 사용자 인터페이스이다. 워드 프로세서 창(602)은 토큰 장치로부터 호스트 컴퓨터로 송신된 이미지 정보를 표시하는 창이다. 호스트 컴퓨터는 워드 프로세서 창(602)에 보여지는 것의 뷰(view)를 업데이트하기 위하여 토큰 장치로부터 이미지 정보를 수신하지만, 호스트 장치는 결코 토큰 장치 상에 저장되어 있는 파일 또는 애플리케이션에 액세스할 수 없다. 토큰 장치 상에서 실행하는 워드 프로세싱 애플리케이션에 대해서는 아래에서 더 상세히 설명된다.
파일 뷰어 창(604)은 토큰 장치로부터 호스트 컴퓨터로 송신된 이미지 정보를 표시하는 창이다. 다시, 호스트 컴퓨터는 파일 뷰어 창(604)에 보여지는 것의 뷰를 업데이트하기 위하여 토큰 장치로부터 이미지 정보를 수신하지만, 호스트 장치는 결코 토큰 장치 상에 저장되어 있는 파일 또는 애플리케이션에 액세스할 수 없다. 토큰 장치 상에서 실행하는 파일 뷰어 애플리케이션에 대해서는 아래에서 더 상세히 설명된다.
현 시스템들에서는, 고도로 신중을 요하는 문서들(통상 암호화된)의 배포는 다양한 기존의 기술들을 이용하여 달성될 수 있다. 그러나, 일단 문서가 전달되면, 수령인은 문서가 보이도록 하기 위하여 문서를 암호해독(decrypt)할 필요가 있다. 일단 문서가 암호해독되면, 그것은 안전하지 않은 방식으로 저장될 수 있고 및/또는 그 문서를 볼 권한이 없는 다른 사람에게 전달될 수 있다. 또한, 문서를 보기 위해 이용되는 컴퓨터는 그 문서의 사본을 컴퓨터의 캐시에 유지할 수 있다. 따라서, 고도로 신중을 요하는 문서들을 보고 편집할 때 기존의 기술에 있어서의 문제점들이 있다.
문서 및 애플리케이션의 액세스 및 배포를 제어하려고 시도하는 DRM(digital rights management)에 관련된 많은 기존의 모델들이 있다. 일단 특정 파일 또는 애플리케이션에 대해 액세스가 허여되고 호스트 컴퓨터가 호스트 컴퓨터를 판독하고 액세스되고 있는 파일 또는 애플리케이션을 기록하는 다른 프로그램을 실행한다면 이들 기존의 시스템들은 종종 좌절된다.
다음의 실시예들은 상기 문제점들을 해결하고 현 시스템에 있어서의 다른 문제점들을 다룬다. 일 실시예에서, 토큰 장치는 스마트 카드의 폼 팩터로 되어 있고 스마트 카드 인터페이스를 이용한다. 토큰 장치는 안전한 문서를 보기 위해 이용된다. 문서는 토큰 장치로부터 호스트 컴퓨터로 송신된 이미지 정보를 이용하여 파일 뷰어 창(604)에서 보여질 것이다. 동작 시에, 토큰 장치는 스마트 카드 인터페이스를 통하여 호스트 장치에 접속된다. 다음으로, 토큰 장치 상의 드라이브(예컨대, 읽기/쓰기 드라이브)가 호스트 장치에게 이용 가능하게 된다. 예를 들어, 공개 키 또는 특정 토큰 장치에 대한 공유 비밀(shared secret)을 이용하여 암호화된 파일이 사용자에게 전달되고(예컨대, 이메일, CD 또는 네트워크 다운로드에 의해) 그 암호화된 파일은 토큰 장치에 복사된다.
가상 인터페이스 프로그램(즉, 클라이언트 애플리케이션)이 호스트 장치 상에서 시작되고 파일 뷰어 창(604)이 클라이언트 애플리케이션의 창에 나타난다. 일 실시예에서, 파일 뷰어 창(604)은 토큰 장치 상에 저장된 파일(예컨대, 암호화된 파일)을 선택하기 위해 사용자에 의해 이용된다. 암호화된 파일은 토큰 장치에 의해 자동으로 암호해독되고(예컨대, 토큰 장치의 비밀 키 또는 공유 비밀을 이용하여) 파일 뷰어 창(602)에 표시된다. 파일 뷰어 창(604)에 보여지는 것을 업데이트하기 위하여 토큰 장치로부터 가상 인터페이스 프로그램으로 이미지 정보가 전송된다. 주어진 다른 예들과 유사하게, 사용자는 호스트 컴퓨터 상의 입력 장치(예컨대, 마우스 또는 키보드)를 이용하여 파일 뷰어 창(604)과 상호작용할 수 있다. 상호작용 중에, 클라이언트 애플리케이션은 호스트 장치 상의 임의의 입력들(예컨대, 마우스 및 키보드 입력들)을 기록하고 그것들을 토큰 장치 상에서 실행중인 파일 뷰어 애플리케이션에 송신할 것이다. 파일 뷰어 애플리케이션(가상 서버 애플리케이션)은 그 입력들을 해석하고 클라이언트 애플리케이션에 송신되는 이미지 정보를 업데이트한다. 업데이트된 이미지 정보를 수신하는 즉시, 클라이언트 애플리케이션은 파일 뷰어 창(604) 내의 이미지들을 업데이트할 것이다. 이런 식으로, 암호화된 파일은 결코 암호해독된 상태로 호스트 장치에게 이용 가능하지 않지만, 사용자는 호스트 컴퓨터 상의 가상 인터페이스를 통하여 파일을 볼 수 있다.
보기(viewing)가 완료된 후, 암호화된 파일은 토큰 장치로부터 제거되어 버려지거나 다른 저장 매체를 이용하여 아카이브(archive)될 수 있다. 그 파일은 여전히 암호화되어 있으므로 그것은 권한 없는 보기(unauthorized viewing)의 염려 없이 전송 및 저장될 수 있다.
이제 워드 프로세싱 창(602)을 살펴본다. 고도로 신중을 요하는 또는 비밀 문서들의 작성 및 편집은 종종 신중을 요하는 문서들을 다루도록 특별히 설계된 컴퓨터 시스템 상에서 수행된다. 종종 그 컴퓨터는 잠겨진 방 안에 있고 정당한 사용자들만 액세스할 수 있도록 보장하기 위해 매우 강력한 액세스 제어를 이용한다. 일반적으로 매우 고도로 신중을 요하는 또는 비밀 문서로서 간주되지 않을 문서를 다루는 경우에도, 사람들은 종종 그들의 금융 정보, 캘린더, 또는 연락처 목록(contact list)조차도 매우 신중을 요한다고 생각한다. 또한, 통상적으로 파일들을 편집하기 위해 이용되는 컴퓨터들(예를 들어 집 또는 사무실에 있는 컴퓨터)로부터 떨어져 있을 때 파일들을 편집할 필요가 있을 수 있다. 예를 들면, 이것은 클라이언트를 방문중일 때, 여행중일 때, 또는 예를 들어, 인터넷 카페에 있는 공중 컴퓨터(public computer)를 이용할 필요가 있을 때 일어날 수 있다. 그러한 상황들에서, 사용자는 여기에서 언급된 이유들 중 많은 이유들 때문에 공중 컴퓨터가 문서에 액세스하는 것을 원하지 않을 수 있지만, 사용자는 그 문서에 액세스하여 그것을 편집할 필요가 있을 수 있다.
다음의 실시예들은 상기 문제점들을 해결하고 현 시스템들에 있어서의 다른 문제점들을 다룬다. 동작 시에, 토큰 장치는 인터페이스를 통하여 호스트 장치에 접속된다. 토큰 장치는, 예를 들면, USB 인터페이스를 이용하는 USB 장치의 폼 팩터로 되어 있다. 토큰 장치를 호스트 컴퓨터의 USB 슬롯에 삽입한 후, 읽기 전용 드라이브가 옵션으로 호스트 컴퓨터 상에 나타난다. 호스트 장치 상에서 실행하는 클라이언트 애플리케이션은 토큰 장치의 읽기 전용 드라이브에 저장되어 있다. 상술한 바와 같이, 클라이언트 애플리케이션은 대안적으로 호스트 장치 상에 사전에 로딩되거나 또는 네트워크(예컨대, 인터넷, 무선, 원격 통신)를 통하여 다운로드되어 호스트 컴퓨터에 저장될 수 있다.
다음으로, 클라리언트 애플리케이션이 시동되어 호스트 장치 상에서 실행된다. 이로 인해 클라이언트 애플리케이션 창(600)이 호스트 컴퓨터의 디스플레이 장치 상에 나타나게 된다. 클라이언트 애플리케이션 창은 옵션으로 토큰 장치로부터 가상화된 데스크톱 인터페이스를 표시할 수 있다. 대안적으로, 워드 프로세싱 창(602)이 즉시 보여질 수 있다. 적절한 검증(예컨대, 암호 또는 생체 인식 식별) 후에, 워드 프로세싱 애플리케이션이 토큰 장치 상에서 실행되고 편집을 위해 원하는 파일이 선택될 수 있다. 워드 프로세싱 창(602)에 보여지는 이미지를 업데이트하기 위해 토큰 장치로부터 호스트 장치로 이미지 정보가 송신된다. 사용자는 호스트 장치의 입력 장치들을 이용하여 토큰 장치 상에서 실행중인 워드 프로세싱 애플리케이션과 상호작용한다. 옵션으로, 토큰 장치의 일부가 호스트 장치로부터의 읽기 및 읽기/쓰기 액세스를 위해 가능하게 될 수 있다. 또한, 호스트 컴퓨터가 액세스할 수 있는 프린터에의 액세스를 가능하게 하는 가상 클라이언트 애플리케이션을 이용하여 인쇄가 가능하다.
다시, 호스트 컴퓨터는 워드 프로세싱 애플리케이션을 실행하고 있지 않고 클라이언트 애플리케이션만을 실행하고 있음을 이해해야 할 것이다. 클라이언트 애플리케이션은 토큰 장치로부터 이미지 정보를 수신하여, 보는 사람이 워드 프로세싱 애플리케이션과 상호작용하도록 허용한다.
여기에 개시된 발명은 특정 실시예들 및 그의 응용들에 의하여 설명되었지만, 다음의 청구항들에 의해 정의된 정신 및 범위 내에서 발명을 실시하기 위해 구체적으로 설명된 것 외에 상기 교시 내용들에 따라 본 발명의 다른 변경, 변형, 및 배열이 이루어질 수 있다.

Claims (20)

  1. 토큰 장치(token device)로서,
    메모리(106);
    상기 토큰 장치를 호스트 장치(204)에 연결하기 위한 인터페이스(100, 204); 및
    상기 메모리에 연결된 프로세서(104) - 상기 프로세서는 상기 토큰 장치의 메모리에 저장된 토큰 장치 애플리케이션을 실행시키고, 상기 프로세서는 상기 인터페이스를 통하여 상기 호스트 장치에 이미지 정보를 제공하고, 상기 이미지 정보는 상기 애플리케이션에 대응하는 이미지를 렌더링하기 위한 것이고, 상기 이미지 정보는 상기 호스트 장치의 디스플레이 상에서 렌더링하기 위해 클라이언트 애플리케이션에 송신됨 -
    를 포함하는 토큰 장치.
  2. 제1항에 있어서, 상기 클라이언트 애플리케이션은 상기 호스트 장치로부터 입력을 받고, 상기 입력은 상기 토큰 장치에 라우팅(route)되는 토큰 장치.
  3. 제1항에 있어서, 상기 메모리의 읽기 전용 부분(read only portion)을 더 포함하는 토큰 장치.
  4. 제3항에 있어서, 상기 메모리의 읽기 전용 부분은 상기 클라이언트 애플리케이션을 저장하는 토큰 장치.
  5. 제1항에 있어서, 상기 메모리의 읽기 및 쓰기 부분(read and write portion)을 더 포함하는 토큰 장치.
  6. 제1항에 있어서, 상기 프로세서는 안전한 프로세서(secure processor)인 토큰 장치.
  7. 제1항에 있어서, 상기 토큰 장치 애플리케이션은 뱅킹 애플리케이션(banking application), 판매 시점 애플리케이션(point of sale application), 워드 프로세싱 애플리케이션 또는 파일 보기 애플리케이션(file viewing application)인 토큰 장치.
  8. 디스플레이를 포함하는 호스트 장치(200) - 상기 호스트 장치는 클라이언트 애플리케이션을 실행시킴 - ; 및
    인터페이스(204)를 통하여 상기 호스트 장치에 연결된 토큰 장치(202) - 상기 토큰 장치는 토큰 장치 애플리케이션을 실행시키기 위한 프로세서(104)를 포함하고, 상기 토큰 장치 애플리케이션은 상기 인터페이스를 통하여 상기 호스트 장치 상에서 실행하는 상기 클라이언트 애플리케이션에 이미지 정보를 제공하고, 상기 클라이언트 애플리케이션은 상기 토큰 장치로부터 제공된 상기 이미지 정보에 대응하는 이미지를 상기 호스트 장치의 상기 디스플레이 상에 표시함 -
    를 포함하는 시스템.
  9. 제8항에 있어서, 네트워크(402)를 통하여 상기 호스트 장치에 연결된 은행 서버(400)를 더 포함하는 시스템.
  10. 제8항에 있어서, 네트워크(502)를 통하여 상기 호스트 장치에 연결된 금융 거래 백 엔드(financial transaction back end)(500)를 더 포함하는 시스템.
  11. 제10항에 있어서, 상기 호스트 장치는 거래 단말기(transaction terminal)(504)인 시스템.
  12. 제11항에 있어서, 상기 토큰 장치는 스마트 카드인 시스템.
  13. 제8항에 있어서, 상기 호스트 장치에 연결된 입력 장치를 더 포함하고, 상기 클라이언트 애플리케이션은 상기 호스트 장치의 상기 입력 장치로부터 입력을 받고, 상기 입력은 상기 토큰 장치에 라우팅되고 상기 토큰 장치 애플리케이션에 의해 해석되는 시스템.
  14. 토큰 장치를 동작시키는 방법으로서,
    상기 토큰 장치(202)를 인터페이스(204)를 통하여 호스트 장치(200)에 연결하는 단계;
    상기 토큰 장치 상에서 토큰 장치 애플리케이션을 실행시키는 단계;
    이미지 정보를 생성하는 단계; 및
    상기 이미지 정보를 상기 인터페이스를 통하여 상기 호스트 장치에 송신하는 단계 - 상기 이미지 정보는 상기 호스트 장치 상에서 실행하는 클라이언트 애플리케이션에 의해 렌더링됨 -
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 토큰 장치 상의 드라이브를 상기 호스트 장치에 게시(publish)하는 단계; 및
    상기 호스트 장치에 다운로드하기 위해 상기 드라이브 상에 상기 클라이언트 애플리케이션을 저장하는 단계
    를 더 포함하는 방법.
  16. 제14항에 있어서, 상기 호스트 장치를 통하여 은행 서버(400)에 메시지를 송신하는 단계를 더 포함하고, 상기 토큰 장치 애플리케이션은 뱅킹 애플리케이션을 포함하는 방법.
  17. 제16항에 있어서, 상기 은행 서버에의 상기 메시지는 암호화되는 방법.
  18. 제14항에 있어서, 상기 호스트 장치를 통하여 금융 거래 백 엔드(500)에 메시지를 송신하는 단계를 더 포함하고, 상기 토큰 장치 애플리케이션은 금융 거래 애플리케이션을 포함하는 방법.
  19. 제14항에 있어서, 상기 호스트 장치로부터 상기 호스트 장치에서 수신된 입력에 대응하는 입력 정보를 수신하는 단계를 더 포함하는 방법.
  20. 제19항에 있어서, 상기 입력 정보를 상기 토큰 장치 상에서 실행하는 상기 토큰 장치 애플리케이션에 제공하는 단계를 더 포함하는 방법.
KR1020087013612A 2005-11-09 2006-11-09 안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는장치 KR20080078820A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73479305P 2005-11-09 2005-11-09
US60/734,793 2005-11-09

Publications (1)

Publication Number Publication Date
KR20080078820A true KR20080078820A (ko) 2008-08-28

Family

ID=38023969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013612A KR20080078820A (ko) 2005-11-09 2006-11-09 안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는장치

Country Status (7)

Country Link
US (1) US20070124536A1 (ko)
EP (1) EP1952244A2 (ko)
JP (1) JP2009518702A (ko)
KR (1) KR20080078820A (ko)
AU (1) AU2006311596A1 (ko)
CA (1) CA2629435A1 (ko)
WO (1) WO2007056476A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101457365B1 (ko) * 2010-03-26 2014-11-03 퀄컴 인코포레이티드 휴대용 자급식 노드 컴퓨터를 위한 방법 및 장치

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US8869270B2 (en) 2008-03-26 2014-10-21 Cupp Computing As System and method for implementing content and network security inside a chip
US20080276302A1 (en) * 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US7447821B2 (en) * 2006-04-21 2008-11-04 Sandisk Corporation U3 adapter
US7516261B2 (en) * 2006-04-21 2009-04-07 Sandisk Corporation Method for U3 adapter
TW200824366A (en) * 2006-11-24 2008-06-01 Shi-Han Hong Portable storage device with web function
US7970433B2 (en) 2007-06-08 2011-06-28 Modu Ltd. SD switch box in a cellular handset
US8391921B2 (en) 2007-02-13 2013-03-05 Google Inc. Modular wireless communicator
US10027789B2 (en) 2007-02-13 2018-07-17 Google Llc Modular wireless communicator
IL183148A0 (en) * 2007-05-13 2007-09-20 Aivshay Ban Natan Method and device for accessing data in signage systems
US8365272B2 (en) 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
CA2615645A1 (en) * 2007-08-17 2009-02-17 Telecompute Integrated Systems Inc. A portable database system for independent operation on computing device
US20090125645A1 (en) * 2007-11-12 2009-05-14 Gemalto Inc System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US8307131B2 (en) * 2007-11-12 2012-11-06 Gemalto Sa System and method for drive resizing and partition size exchange between a flash memory controller and a smart card
US8260348B2 (en) * 2008-03-19 2012-09-04 Google Inc. Wireless communicator for laptop computers
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
WO2009124223A1 (en) 2008-04-02 2009-10-08 Twilio Inc. System and method for processing telephony sessions
US8412226B2 (en) 2008-06-24 2013-04-02 Google Inc. Mobile phone locator
US8631488B2 (en) 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US9183369B2 (en) * 2008-09-26 2015-11-10 Red Hat, Inc. Thumb drive guest user
WO2010059864A1 (en) 2008-11-19 2010-05-27 Yoggie Security Systems Ltd. Systems and methods for providing real time access monitoring of a removable media device
KR101224717B1 (ko) * 2008-12-26 2013-01-21 에스케이플래닛 주식회사 소프트웨어 라이센스 보호 방법과 그를 위한 시스템, 서버,단말기 및 컴퓨터로 읽을 수 있는 기록매체
US8341087B2 (en) * 2010-03-03 2012-12-25 Cassis International Pte Ltd Method for implementing and application of a secure processor stick (SPS)
CN102415068B (zh) 2009-03-02 2015-09-02 特维里奥公司 用于多租户电话网络的方法和系统
US8573493B2 (en) * 2009-06-30 2013-11-05 Avocent Corporation Method and system for smart card virtualization
US9244699B2 (en) 2011-03-23 2016-01-26 Avocent Corporation Method and system for audio device virtualization
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US9454617B1 (en) 2011-12-30 2016-09-27 hopTo Inc. Client rendering
US8856262B1 (en) 2011-12-30 2014-10-07 hopTo Inc. Cloud-based image hosting
US9218107B1 (en) 2011-12-30 2015-12-22 hopTo Inc. Cloud-based text management for cross-platform display
US9367931B1 (en) 2011-12-30 2016-06-14 hopTo Inc. Motion vectors for cross-platform display
US9223534B1 (en) 2011-12-30 2015-12-29 hopTo Inc. Client side detection of motion vectors for cross-platform display
US20140122879A1 (en) * 2012-03-07 2014-05-01 Darren Cummings Secure computing system
US9106612B1 (en) 2012-05-18 2015-08-11 hopTo Inc. Decomposition and recomposition for cross-platform display
US9124562B1 (en) 2012-05-18 2015-09-01 hopTo Inc. Cloud-based decomposition and recomposition for cross-platform display
US8990363B1 (en) 2012-05-18 2015-03-24 hopTo, Inc. Decomposition and recomposition for cross-platform display
CA2877839C (en) 2012-06-28 2021-07-27 Ologn Technologies Ag Secure key storage systems, methods and apparatuses
KR20140037476A (ko) * 2012-09-19 2014-03-27 브레인즈스퀘어(주) 파일의 외부 유출 방지를 위한 시스템 및 그 방법
US9973501B2 (en) 2012-10-09 2018-05-15 Cupp Computing As Transaction security systems and methods
US9430134B1 (en) 2013-03-15 2016-08-30 hopTo Inc. Using split windows for cross-platform document views
US9292157B1 (en) 2013-03-15 2016-03-22 hopTo Inc. Cloud-based usage of split windows for cross-platform document views
WO2015006375A1 (en) 2013-07-08 2015-01-15 Cupp Computing As Systems and methods for providing digital content marketplace security
CN104639503B (zh) * 2013-11-11 2017-12-19 国际商业机器公司 一种用于保护敏感信息的方法、装置和系统
DE102013021935A1 (de) * 2013-12-20 2015-06-25 Giesecke & Devrient Gmbh Verfahren und Vorrichtungen zum Verwenden eines Sicherheitselements mit einem mobilen Endgerät
US9762614B2 (en) 2014-02-13 2017-09-12 Cupp Computing As Systems and methods for providing network security using a secure digital device
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US10395227B2 (en) 2015-01-14 2019-08-27 Tactilis Pte. Limited System and method for reconciling electronic transaction records for enhanced security
US9607189B2 (en) 2015-01-14 2017-03-28 Tactilis Sdn Bhd Smart card system comprising a card and a carrier
US10037528B2 (en) 2015-01-14 2018-07-31 Tactilis Sdn Bhd Biometric device utilizing finger sequence for authentication
US10642516B2 (en) * 2015-12-30 2020-05-05 Seagate Technology Llc External hard drive device with cloud drive support
US20200327556A1 (en) * 2019-04-12 2020-10-15 Salesforce.Com, Inc. Method to accept certifications with blockchain transactions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844218A (en) * 1996-07-16 1998-12-01 Transaction Technology, Inc. Method and system for using an application programmable smart card for financial transactions in multiple countries
US5734154A (en) * 1996-09-03 1998-03-31 Motorola, Inc. Smart card with Iintegrated reader and visual image display
US6209104B1 (en) * 1996-12-10 2001-03-27 Reza Jalili Secure data entry and visual authentication system and method
US20020029254A1 (en) * 2000-09-06 2002-03-07 Davis Terry L. Method and system for managing personal information
IL141441A0 (en) * 2001-02-15 2002-03-10 Aharonson Dov Smart card having an optical communication circuit and a method for use thereof
US20030200447A1 (en) * 2001-08-17 2003-10-23 Lotta Almroth Identification system
US20050044385A1 (en) * 2002-09-09 2005-02-24 John Holdsworth Systems and methods for secure authentication of electronic transactions
US7395435B2 (en) * 2002-09-20 2008-07-01 Atmel Corporation Secure memory device for smart cards
US7306143B2 (en) * 2002-09-20 2007-12-11 Cubic Corporation Dynamic smart card/media imaging
US20050283633A1 (en) * 2004-06-18 2005-12-22 Ron Kozenitzky Method and system for securing a device
US7451921B2 (en) * 2004-09-01 2008-11-18 Eric Morgan Dowling Methods, smart cards, and systems for providing portable computer, VoIP, and application services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101457365B1 (ko) * 2010-03-26 2014-11-03 퀄컴 인코포레이티드 휴대용 자급식 노드 컴퓨터를 위한 방법 및 장치
US9274815B2 (en) 2010-03-26 2016-03-01 Qualcomm Incorporated Method and apparatus for portable self-contained node computer

Also Published As

Publication number Publication date
US20070124536A1 (en) 2007-05-31
WO2007056476A3 (en) 2009-04-23
JP2009518702A (ja) 2009-05-07
AU2006311596A1 (en) 2007-05-18
CA2629435A1 (en) 2007-05-18
WO2007056476A2 (en) 2007-05-18
EP1952244A2 (en) 2008-08-06

Similar Documents

Publication Publication Date Title
KR20080078820A (ko) 안전한 작업 환경을 제공하고 가상 인터페이스를 이용하는장치
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
US11086979B1 (en) Security system and method for controlling access to computing resources
US9049194B2 (en) Methods and systems for internet security via virtual software
US6986030B2 (en) Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program
CN102469080B (zh) 实现通行证用户安全登录应用客户端的方法和系统
US8156331B2 (en) Information transfer
US20140006782A1 (en) Document encryption and decryption
US8055905B2 (en) Graphical password authentication based on pixel differences
US20050138389A1 (en) System and method for making password token portable in trusted platform module (TPM)
EA012863B1 (ru) Устройство и система управления компьютерным сеансом
US9069869B1 (en) Storing on a client device data provided by a user to an online application
NO20101464A1 (no) Sikkert databehandlingssystem
US20190013952A1 (en) Privacy control using unique identifiers associated with sensitive data elements of a group
US8850563B2 (en) Portable computer accounts
CN103154965A (zh) 用于安全地管理对文件系统的用户访问的方法、安全设备、系统和计算机程序产品
Nasirinejad et al. SASy username and password management on the cloud
CN117751551A (zh) 用于安全互联网通信的系统和方法
Peng et al. Secure online banking on untrusted computers
US8914901B2 (en) Trusted storage and display
KR20050112146A (ko) 웹서비스를 이용하여 인증서 및 개인비밀정보를 안전하게보관하고 전달하는 방법
CN115935389A (zh) 一种个人敏感信息保护方法、装置、电子设备及存储介质
MX2008008439A (es) Dispositivo y sistema de administracion de sesion de computadora.

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid