KR101878149B1 - 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법 - Google Patents

패스워드의 보안 입력 및 처리 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR101878149B1
KR101878149B1 KR1020130050016A KR20130050016A KR101878149B1 KR 101878149 B1 KR101878149 B1 KR 101878149B1 KR 1020130050016 A KR1020130050016 A KR 1020130050016A KR 20130050016 A KR20130050016 A KR 20130050016A KR 101878149 B1 KR101878149 B1 KR 101878149B1
Authority
KR
South Korea
Prior art keywords
user
secure
screen
scrambled
password
Prior art date
Application number
KR1020130050016A
Other languages
English (en)
Other versions
KR20130125316A (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 KR20130125316A publication Critical patent/KR20130125316A/ko
Application granted granted Critical
Publication of KR101878149B1 publication Critical patent/KR101878149B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • 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
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • 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
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

패스워드 및 개인 식별 번호(PINs)의 보안 입력 및 처리, 모바일 장치 및 결제 단말을 통한 보안 로컬 저장, 보안 사용자 인증, 및 보안 결제 등을 위한 장치, 시스템 및 방법. 모바일 전자 장치는 코드를 안전하게 실행하는 보안 실행 환경(SEE) 및 모바일 전자 장치의 터치 스크린 사이에 정보를 안전하게 교환하는 보안 비디오 경로(SVP)를 포함한다. SEE는 스크램블 된 온-스크린 인터페이스를 생성하고 SVP를 통해 터치-스크린에 스크램블 된 온-스크린 인터페이스를 전송하는 보안 패스워드 입력 모듈을 포함한다.

Description

패스워드의 보안 입력 및 처리 장치, 시스템 및 방법{DEVICE, SYSTEM, AND METHOD OF SECURE ENTRY AND HANDLING OF PASSWORDS}
관련 출원에 대한 상호-참조
본 출원은 2012년 5월 8일 출원된 "개인 식별 번호의 보안 입력을 위한 장치, 시스템 및 방법"을 발명의 명칭으로 하는 미국 임시 출원 제61/643,077호에 의한 우선권의 이익을 주장하고, 여기서 전체적으로 참조되어 통합된다.
본 출원은 2012년 11월 29일 출원된 "보안 인터페이스 바인딩을 위한 장치, 시스템 및 방법"을 발명의 명칭으로 하는 미국 임시 출원 제61/730,996호에 의한 우선권의 이익을 주장하고, 여기서 전체적으로 참조되어 통합된다.
본 발명은 통신 보안 기술 분야에 관한 것이다.
수백만의 사람이 스마트폰, 태블릿 및 다른 모바일 컴퓨팅 장치를 사용하여 다양한 작업을 수행한다. 일부 작업은, 예를 들면 모바일 장치의 카메라를 가지고 사진을 촬영하는 것과 같은 작업은 중대한 위험이 제기되지 않을 수 있다. 그러나 전자 상거래(E-commerse)인 모바일 지불 거래(M-지불)를 위해 온라인 뱅킹 웹 사이트에 접속하기 위해 모바일 장치를 이용하는 것과 같은 일부 작업은 중대한 위험이 제기될 수 있다.
모바일 장치의 사용자에게 제기되는 일부 위협은, 예를 들면 공격자가 사용자에게 합법 뱅킹 사이트를 가장한 가짜 웹-페이지를 제공하는 "피싱(phishing)" 사기를 포함할 수 있다. 사용자는 자신의 사용자 이름과 비밀번호를 가짜 웹-페이지에 입력하도록 유도되어 공격자가 사용자 이름과 비밀번호를 캡쳐하고, 실제 사용자를 가장한 공격자에 의해 사용되어 공격자가 실제 뱅킹 사이트에 로그인할 수 있게 한다.
아울러 기업 환경에서, 특히 BYOD(Bring Your Own Device) 운영 방안에 따라 이용되는 모바일 장치는 사용자 및 전체 조직이 데이터 손실 및 금전적 손실의 위험에 노출되게 할 수 있다. 예를 들면, 공격자는 한 사용자의 사용자 이름과 비밀번호를 캡쳐할 수 있고, 이를 이용하여 기업 네트워크 또는 자원에 로그인할 수 있다.
일부 웹 사이트 및 일부 기업 조직은 최소 길이(예를 들어 적어도 8 문자) 및/또는 요구 엔트로피(예를 들어 적어도 하나의 문자 및 적어도 하나의 숫자를 가짐)를 패스워드가 가지도록 요구할 수 있다. 그러나 많은 사용자들은 복잡한 패스워드를 기억하는 것을 어려워할 수 있고, 폭력적인 공격에 의해 쉽게 깨질 수 있는 약한 패스워드를 결국 선택하게 된다. 물리적 키보드 또는 가상(온-스크린) 키보드가 소형 폼 팩터(small form factor)인 경우, 모바일 장치의 사용자에게 패스워드 입력을 지루하고 노력 소모적인 것으로 만드는 것이 사실이다. 아울러 "강한" 패스워드 조차도 "피싱" 사기 또는 소프트웨어 기반 키로거 악성 애플리케이션을 이용하는 공격자에 의해 많은 사용자로부터 캡쳐될 수 있다.
PKI(Public-Key Infrastructure)는 인증 기관(Certificate Authority:CA)에 의해 이슈된 디지털 인증서를 이용하여 보안 문제를 완화시키는 시도를 한다. 그러나 PKI를 통한 암호 기반 인증은 복잡한 사용자 등록 처리를 요구하거나, 종종 클라이언트 측에서 키 저장소가 부족하거나, 종종 통일된 사용자 경험이 부족하다.
아울러 모바일 장치 사용자 및 서비스 사이의 인증 프로세스 보안은 사용자를 완전히 보호하는데 충분하지 않을 수 있다. 예를 들면, 모바일 장치에 캐쉬(cache)되거나 저장될 수 있고, 또는 모바일 장치에서 실행되어 원격지로 통신 네트워크를 통해 캡처된 데이터를 선택적으로 전송할 수 있는 다른 애플리케이션(예를 들면 합법적 애플리케이션 또는 악성 소프트웨어 모듈)에 의해 캡처될 수 있는 보안 데이터를 제공할 수 있다. 이 문제는 지역적으로 저장되거나 지역적으로 캐쉬된 데이터의 암호화를 통해 부분적으로 완화될 수 있다. 그러나 암호화는 약한 사용자 선택 패스워드를 종종 이용할 수 있고, 약한 사용자 선택 패스워드는 폭력적 공격자, 사전(dictionary) 공격, 키로깅(keylogging) 모듈에 의해 크랙(crack)될 수 있다. 다른 암호화 방법은 모바일 장치에 암호키의 지역적으로 저장된 사본이 있는지 검색하는 모듈에 의해 우회될 수 있다.
본 발명은 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법을 제공하는 것이다.
본 발명은 예를 들면 모바일 장치 및 결제 단말을 통한 보안 로컬 저장, 보안 사용자 인증, 및 보안 결제 등을 위한, 패스워드 및 개인 식별 번호(PINs)의 보안 입력 및 처리를 하는 장치, 시스템 및 방법을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 모바일 전자 장치는 코드를 안전하게 실행하는 보안 실행 환경(SEE), 및 상기 SEE와 모바일 전자 장치의 터치 스크린 사이에 정보를 안전하게 교환하는 보안 비디오 경로(SVP)를 포함한다. SEE는 스크램블 된 온-스크린 인터페이스를 생성하고 SVP를 통해 터치-스크린에 스크램블 된 온-스크린 인터페이스를 전송하는 보안 패스워드 입력 모듈을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 보안 패스워드 입력 모듈은, 상기 스크램블 된 온-스크린 인터페이스 상의 상기 터치 스크린을 통해 사용자가 선택한 가상 키에 대응하는 문자를 상기 SEE 내에서 안전하게 인식할 수 있는 터치-이벤트 인식기를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 상기 SEE에서 상기 터치-스크린에 가로채기에 대응하여 안전하게 상기 스크램블 된 온-스크린 인터페이스를 이송하는 보안 콘텐츠 채널(secure content channel)을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 인코딩되어 DRM(Digital Rights Management) 보호된 비디오로써, 상기 SEE에서 상기 터치-스크린으로, 상기 스크램블 된 온-스크린 인터페이스를 이송하는 보안 콘텐츠 채널을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는 상기 스크램블 된 온-스크린 인터페이스를 나타내는 상기 인코딩되어 DRM 보호된 비디오를 재생하는 DRM-인에이블 재생 모듈을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 스크램블 된 온-스크린 인터페이스는 온-스크린 스크램블 된 가상 키보드, 온-스크린 스크램블 된 가상 키패드; 상기 터치-스크린 상에 사용자의 제스처에 대응하여 회전할 수 있는 숫자 휠의 온-스크린 표현 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 스크램블 된 온-스크린 인터페이스는 사용자-특정 진정성 보장 이미지를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자-특정 진정성 보장 이미지는 상기 모바일 전자 장치의 카메라를 통해 사용자에 의해 캡처된 사용자-업로드 이미지를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 SEE는 상기 이미지 업로드 전에 상기 이미지의 하나 이상의 가시적 속성(visible properties)을, 사용자 명령에 기반하여, 안전하게 수정하는 코드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 SEE는 상기 이미지 집합으로부터 상기 사용자-특정 진정성 보장 이미지의 선택 다음에, 상기 사용자-특정 진정성 보장 이미지의 하나 이상의 가시적 속성(visible properties)을 사용자 명령에 기반하여, 안전하게 수정하는 코드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자-특정 진정성 보장 이미지는 스크램블 된 온-스크린 인터페이스의 상부에 워터마크(watermark)로써 오버레이된(overlaid) 이미지; 상기 스크램블 된 온-스크린 인터페이스 하부에 워터마크로써 오버레이된 이미지; 상기 스크램블 된 온-스크린 인터페이스의 주변에 표시되는 이미지; 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 SVP는, 상기 SEE에서 상기 모바일 전자 장치의 상기 터치-스크린 방향으로만 안전하게 정보를 전달하는 단-방향 SVP를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 랩톱 컴퓨터, 태블릿, 스마트폰, 휴대용 컴퓨팅 장치, 휴대용 게임 장치, 휴대용 멀티미디어 플레이어 및 휴대용 결제 단말로 이루어진 그룹 중에서 선택된 하나의 장치를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 상기 모바일 전자 장치에 의해 수행되는 특정 작업에 유일한 암호 키를 안전하게 저장하는 보안 스토리지 유닛; 및, 상기 터치 스크린을 통해 수신되고 확인을 나타내는 사용자의 제스처에 기반하여 상기 암호 키를 상기 보안 스토리지 유닛으로부터 풀고(release), 상기 특정 작업과 연계되는 암호 작업을 수행하기 위해 상기 암호 키를 사용하는 암호화 작업 모듈;을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 암호 키는 상기 모바일 전자 장치의 사용자에게 유일할 수 있다.
본 발명의 일 실시예에 따르면, 상기 암호화 작업은, 상기 암호 키를 사용하는 암호화; 및 상기 암호 키를 사용하는 복호화; 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 암호화 작업은 상기 모바일 전자 장치 상에서 상기 특정 작업에 투명한 암호 작업을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 특정 작업은, 상기 암호 키에 유일하고, 상기 모바일 전자 장치의 스토리지 유닛의 전체에 접근에 대한 잠금 해제의 작업을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 긁혀진 결제 카드를 읽는 결제 카드 리더기; 및, 상기 보안 패스워드 입력 모듈이 활성화된 것 및 상기 사용자가 상기 결제 카드 리더기를 통해 상기 결제 카드를 긁을 수 있는 것을 나타내는 가시적 표시기; 를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 결제 카드 리더기는 상기 보안 패스워드 입력 모듈이 활성화될 때 동작 가능하고, 상기 결제 카드 리더기는 상기 보안 패스워드 입력 모듈이 비활성화된 때는 동작 가능하지 않을 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는, 상기 터치 스크린을 통해 사용자에 의해 입력된 패스워드를 상기 보안 패스워드 입력 모듈로부터 안전하게 수신하고, 상기 패스워드를 암호화하고, 상기 모바일 전자 장치 외부의 검증 모듈에서 검증을 위해 상기 암호화된 패스워드를 전송하는 보안 동작 모듈; 을 포함하고, 상기 모바일 전자 장치 외부의 상기 검증 모듈은 상기 패스워드가 유효한지 여부를 나타내는 검증 결과를 전송하고, 상기 검증 모듈은 상기 모바일 전자 장치 외부의 원격 서버 및 스마트 카드 중 적어도 하나를 포함할 있다.
본 발명의 일 실시예에 따르면, 상기 터치-스크린 상의 상기 스크램블 된 온-스크린 인터페이스를 통해 사용자가 입력하는 패스워드에 대한 응답으로, 상기 모바일 전자 장치는 원격 서버가 상기 패스워드를 판단하고 상기 패스위드를 검증하는 프로세스를 시작하게 시키는 터치 좌표를 나타내는 메시지를 상기 원격 서버에 전송하며, 상기 모바일 전자 장치는 상기 사용자에 의해 입력된 상기 패스워드를 알지못할 수 있다.
본 발명의 일 실시예에 따르면, 서버 또는 컴퓨터는 안전하게 코드를 실행하는 보안 실행 환경(SEE) 시스템; 을 포함하고, 상기 SEE 시스템은 (a) 스크램블 된 온-스크린을 생성하고, (b) 원격 모바일 장치에 인코딩되어 DRM(Digital Rights Management) 보호된 비디오로써 상기 스크램블 된 온-스크린 인터페이스를 전송하는 보안 패스워드 입력 모듈을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 인코딩되어 DRM 보호된 비디오는, 상기 원격 모바일 장치의 DRM-인에이블 재생 모듈에 의해 재생될 때, 상기 원격 모바일 장치의 터치 스크린이 상기 서버의 상기 SEE 시스템에 의해 생성되는 상기 스크램블 된 온-스크린 인터페이스를 안전하게 표시할 수 있다.
본 발명의 일 실시예에 따르면, 상기 스크램블 된 온-스크린 인터페이스는, 온-스크린 스크램블 된 가상 키보드; 온-스크린 스크램블 된 가상 키패드; 및 터치-스크린 상의 사용자 제스처에 응답하여 각 휠이 회전할 수 있는 숫자 휠의 온-스크린 표현; 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 스크램블 된 온-스크린 인터페이스는 사용자-특정 진정성 보장 이미지를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 원격 모바일 장치의 터치-스크린을 통해 상기 스크램블 된 온-스크린 인터페이스 상에 입력된 사용자-입력 패스워드를 검증하는 검증 모듈; 을 포함하고, 상기 검증 모듈은, 상기 터치-스크린 상에 사용자의 터치 제스처에 대응하는 터치 좌표를 나타내는 메시지를 상기 원격 모바일 장치로부터 수신하고, 상기 검증 모듈은, 상기 사용자-입력 패스워드가 상기 원격 모바일 장치에 알려지지 않은 동안에, 상기 터치로부터 상기 사용자-입력 패스워드를 판정할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨팅 장치는 비밀 데이터 아이템을 안전하게 저장하는 보안 스토리지 유닛; 원격 서버에 메시지를 전송하는 프로그램 코드를 실행하는 비-보안 실행 환경; 및, 코드를 안전하게 실행하는 보안 실행 환경(SEE); 을 포함하고, 상기 SEE는 상기 보안 스토리지로부터 비밀 데이터 아이템을 안전하게 획득하고, 상기 메시지의 하나 이상의 필드에 비밀 데이터 아이템을 안전하게 쓰고, 상기 원격 서버에 암호화된 메시지를 전송하는 재작성기(rewriter) 모듈을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 비밀 데이터 아이템은 패스워드, 개인 식별 번호(PIN), 사용자 이름, 사용자 인증 정보를 나타내는 스트링, 인증을 위한 데이터 아이템 중 적어도 하나를 포함하고, 상기 SEE는 상기 메시지 상에 암호화 작업을 안전하게 수행하고 상기 원격 서버에 그 메시지를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 상기 프로그램 코드는 전송 보안 프로토콜을 통해 상기 원격 서버에 상기 메시지를 전송하는 애플리케이션을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 메시지는 상기 재작성기 모듈에 의해 상기 비밀 데이터 아이템이 삽입되어야 할 특정 필드를 나타내는 데이터 객체와 연계될 수 있다.
본 발명의 일 실시예에 따르면, 상기 재작성기 모듈은 콘텍스트 분석(contextual analysis)에 기반하여, 상기 재작성기 모듈에 의해 상기 비밀 데이터가 삽입되어야 할 상기 메시지의 특정 필드를 추론하는 추론(inference) 모듈; 을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 재작성기 모듈은 원격 서버로부터 수신한 서비스 인증서에 기반하여, 상기 재작성기 모듈에 의해 상기 비밀 데이터가 삽입되어야 할 상기 메시지의 특정 필드를 결정하는 필드 결정 모듈; 을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 프로그램 코드는 웹 브라우저를 포함할 수 있고, 상기 메시지는 HTTPS(HyperText Transfer Protocol Secure)를 통해 전송되는 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 메시지는 사용자 이름 및 패스워드 필드 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 메시지는 상기 원격 서버에 사용자를 인증하기 위한 하나 이상의 데이터 아이템을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 재작성기 모듈은 상기 원격 서버에 의해 사용되는 특정 타입의 인증 방식으로 독립적으로 동작할 수 있고, 상기 재작성기의 동작은 상기 재작성이 상기 컴퓨팅 장치에서 수행되는 것을 상기 원격 서버가 모르게 유지할 수 있다.
본 발명의 일 실시예에 따르면, 상기 컴퓨팅 장치는 스마트폰 및 태블릿을 포함하는 그룹 중에서 선택되는 장치를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨팅 장치에서 구현될 수 있는 방법은, 상기 컴퓨팅 장치의 비밀 스토리지 유닛에 비밀 데이터를 안전하게 저장하는 단계; 상기 컴퓨팅 장치의 비-보안 실행 환경에서 원격 서버에 메시지를 전송하는 프로그램 코드를 포함하는 프로그램 코드를 실행하는 단계; 상기 컴퓨팅 장치의 보안 실행 환경(SEE)에서 코드를 안전하게 실행하는 단계; 를 포함하고, 상기 SEE에서 코드를 안전하게 실행하는 단계는, 상기 보안 스토리지로부터 상기 비밀 데이터 아이템을 안전하게 획득하는 단계; 상기 원격 서버에 암호화된 메시지를 전송하기에 앞서, 상기 메시지의 하나 이상의 필드에 상기 비밀 데이터 아이템을 안전하게 쓰는 단계; 를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 비밀 데이터 아이템은 패스워드, 개인 식별 번호(PIN), 사용자 이름, 사용자 인증 정보를 나타내는 스트링, 인증을 위한 데이터 아이템 중 적어도 하나를 포함할 수 있고, 상기 SEE는 상기 원격 서버에 메시지 전송을 하기 전에 암호화 작업을 안전하게 수행하는 코드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 프로그램 코드는 전송 보안 프로토콜을 통해 상기 원격 서버에 상기 메시지를 전송하는 애플리케이션을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 메시지는 상기 재작성기 모듈에 의해 상기 비밀 데이터 아이템이 삽입되어야 할 특정 필드를 나타내는 데이터 객체와 연계될 수 있다.
본 발명의 일 실시예에 따르면, 서버 또는 컴퓨터는 서버 인증서를 원격 클라이언트 장치에 전송하는 인증 모듈; 을 포함할 수 있고, 상기 서버 상의 미리 정의된 위치에 허가 인증서가 저장되고, 상기 미리 정의된 위치는 상기 원격 클라이언트 장치가 접근 가능하고, 상기 허가 인증서는 상기 서버 인증서가 상기 원격 클라이언트 장치에 의한 인증을 위해 수락되기 위해 만족시킬 필요가 있는 조건을 나타낼 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 상기 허가 인증서가 저장된 것으로 추정되는 미리-정의된 스토리지 위치에 기초한 상기 원격 클라이언트 장치의 자동 폴링(polling)을 통해 접근 가능할 수 있다.
본 발명의 일 실시예에 따르면, 상기 조건은 상기 서버 인증서의 공개 키에 대한 참조를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 조건은 상기 서버 인증서의 발행인에 대한 참조를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 조건은 상기 서버 인증서에 유일한 데이터 아이템에 대한 참조를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 디지털 서명에 의해 보호될 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 제1 엔티티(entity)에 의해 디지털 서명되고, 상기 서버 인증서는 다른 제2 엔티티에 의해 디지털 서명될 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 시간-기반 유효성 또는 만료 시간/일자 스탬프를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 모바일 전자 장치는 서버 인증서를 원격 서버로부터 수신하는 인증 모듈; 및 허가 인증서를 인출하는 허가 인증서 인출기; 를 포함하고, 상기 허가 인증서는 상기 원격 서버에 대한 인증이 상기 모바일 전자 장치의 상기 인증 모듈에 의해 수락되기 위해 상기 서버 인증서가 만족시킬 필요가 있는 조건을 나타낼 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서 인출기는 상기 모바일 전자 장치에 의해 접근 가능한 상기 원격 서버 상에 미리 정의된 위치로부터 상기 허가 인증서를 인출할 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 시간-제한 유효성을 가질 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서 인출기는 상기 모바일 전자 장치 내부의 로컬 스토리지로부터 상기 허가 인증서를 인출할 수 있다.
본 발명의 일 실시예에 따르면, 상기 허가 인증서는 상기 모바일 전자 장치 상에서 실행되는 애플리케이션 내에 하드-코드 될(hard-coded) 수 있다.
본 발명의 일 실시예에 따르면, 상기 모바일 전자 장치는 스마트폰 및 태블릿을 포함하는 그룹 중에서 선택된 장치일 수 있다.
본 발명은 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법을 제공할 수수 있다. 또한 본 발명은 다른 및/또는 부가적인 편익 및/또는 장점을 제공할 수 있다.
설명의 편의 및 간결을 위해, 도면에서 나타내는 구성요소는 반드시 스케일에 따라 도시되지 않을 수 있다. 예를 들면, 일부 구성요소의 차원(dimension)은 표현의 간결성을 위해 다른 구성요소에 비해 과장되어질 수 있다. 아울러 참조 부호는 대응되거나 유사한 구성 요소를 지시하기 위해 도면들에서 반복될 수 있다.
도 1a는 본 발명의 일 실시예에 따른 모바일 장치의 아키텍쳐를 설명하기 위해 제공되는 블록도이다.
도 1b는 본 발명의 일 실시예에 따른 보안 동작 모듈(Secure Operation Module)(SOM)과 그 구성요소를 설명하기 위해 제공되는 블록도이다.
도 1c는 본 발명의 일 실시예에 따른 보안 패스워드 보안 모듈(Secure Password Secure Module)(SPSM)을 설명하기 위해 제공되는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 시스템을 설명하기 위해 제공되는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 상점의 PoS(Point of Sale) 단말에서 사용자를 인증하는 방법을 설명하기 위해 제공되는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 보안 PIN 입력이 가능한 단말을 예시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 트랜잭션(transaction) 서버 및 지불 단말을 포함하는 시스템의 블록도이다.
이하 상세한 설명에서, 많은 구체적인 상세는 일부 실시예에 대한 전체적인 이해를 제공하기 위해 제시되는 것이다. 그러나 본 기술 분야에서 당업자에 의해 이러한 구체적인 상세 없이도 실시예들이 구현될 수 있는 것으로 이해되어야 한다. 공지된 방법, 절차, 요소, 유닛 및/또는 회로는 논지를 흐리지 않도록 설명이 생략될 수 있다.
출원인은 종래 시스템에서 키-기반 인증은 제공 및 관리가 너무 복잡하여, 실제로 거의 사용되지 않으며, 결국 제한되고 파편화된 지원을 초래한다는 것을 깨달았다. 또한 패스워드-기반 인증은 사용자 인터페이스 제한이나 사용자에게 긴 암호화된 패스워드를 선택하거나 기억하는 능력이 부족하기 때문에 모바일 장치에서 적절하게 이용될 수 없다. 또한 "패스워드 관리" 프로그램이 존재하더라도, 종종 길고 복잡한 마스터 패스워드를 요구하거나, 종종 평문으로 패스워드를 불안전하게 이용한다.
또한 출원인은 모바일 장치의 하이레벨 운영체제(High Level Operating System)(HLOS)의 상부 상에서 실행되는 로직을 이용하는 인증을 수행하더라도 중대한 보안 결함이 유지되어, 키(key) 및 패스워드가 악성 소프트웨어 모듈에 의해 캡쳐될 수 있다는 것을 깨달았다. 아울러 로컬 데이터 보호는 저장된 애플리케이션 데이터를 보호하는 것을 지원할 수 있지만, 이러한 메커니즘은 또한 HLOS 상에서 실행되는 합리적인 보안 솔루션을 제공할 수 없기 때문에 거의 사용되지 않는다.
출원인은 또한 일부 모바일 장치는, 예컨대 (영국, 잉글랜드, 캠브리지에 있는 ARM 홀딩스 PLC로부터 이용 가능한) 트러스트존 테크놀로지(TrustZone Technology)에 의해 가능해진 보안 실행 환경(Secure Execution Environment)(SEE)을 갖출 수 있다는 것을 깨달았다. 그러나 SEE는 HLOS 애플리케이션(예를 들어 모바일 장치 상의 대부분의 애플리케이션)이 자신 및 자신의 데이터를 보호하도록 지원하는 것보다 SEE 내부에서 실행되는 보안 애플리케이션을 보호하는데 맞춰져 있을 수 있다. 또한 종래의 SEE는 보안 인증을 위해 중요한 보안 입력 메커니즘을 제공하지 않을 수 있다. 출원인은 또한 원격 서버가 SEE로서 동작할 수 있다는 것을 깨달았다.
본 발명은 패스워드를 안전하게 입력, 전송, 수신 및/또는 처리할 수 있는 방법, 장치 및 시스템을 포함할 수 있다. 특히 본 발명은 사용자를 대신하여 인증(authentication) 및 허가(authorization)를 위한 보안 통합 요소를 가진 모바일 장치, 컴퓨팅 장치 및/또는 휴대 장치를 사용자에게 제공할 수 있다. 본 발명의 보안 패스워드 입력 및 처리는 (예컨대 트러스트존 테크놀로지에 의해 또는 SEE로서 동작하는 원격 서버에 의해 가능하고), 안전하게 저장된 패스워드 및 키 요소(key material)을 이용하여 인증 및 허가 암호 연산을 실행할 수 있는 보안 실행 환경에서 실행될 수 있는 에이전트 모듈에 기반할 수 있다. 사용자를 대신한 인증 및 허가는 인간 사용자가 보안 패스워드 입력 루틴을 이용하여 긍정적으로 식별된 후에야 실행될 수 있다. 패스워드 입력 루틴은 그 자체로 악성소프트웨어 기반 패스워드 가로채기(interception) 및/또는 입력으로부터 보호될 수 있다. 예를 들어 모바일 장치의 보안 비디오 경로를 이용하여 보호될 수 있다.
본 발명은 안전하게 패스워드를 처리할 수 있고, 견고하고 사용자 친화적인 방법으로 사용자 인증 및 허가를 가능하게 할 수 있다. 예를 들면, 본 발명은 인증-토큰 기반 능력을 가능하게 함으로써 패스워드 및 클라이언트 인증서의 보안 저장을 위한 기능(facility)을 제공할 수 있다. 또한 본 발명은 패스워드 및 키를 위한 보안 스토리지(storage), 보안 패스워드 입력 모듈(Secure Password Entry Module)(SPEM), 및 사용자를 대신하여 모바일 장치의 사용자를 안전하게 인증하는 패스워드 및 키를 사용할 수 있는 모듈을 이용할 수 있다. 올바른 사용자 패스워드의 보안 입력에만, 보안 스토리지 모듈(Secure Storage Module)(SSM)은 다른 시스템 요소가 해당 사용자에 속한 인증 정보(credentials)를 이용할 수 있게 한다.
본 발명은 예를 들어 모바일 장치의 보안 콘텐츠 경로 또는 보안 비디오 경로를 이용함으로써 보안 패스워드 입력을 허용할 수 있다. 보안 사용자 인증 및 허가에 따라, 본 발명은 HLOS 애플리케이션들이 자신들의 인증 프로세스나 지역적으로 저장된 데이터를 보호하는 것을 가능하게 할 수 있다.
여기에서 사용되는 용어 "패스워드"는 시스템에서 사용자의 인증에 이용할 수 있는 예를 들어 패스워드를 나타내는 문자(character) 조합의 스트링(string), 패스프레이즈(passphrase), 개인 식별 번호(PIN), 사용자 식별 인증 및/또는 서비스에 대한 사용자 액세스를 허가를 위해 이용되는 문자 스트링, 또는 사용자 및 시스템 사이에 공유되는 다른 비밀 데이터-아이템 또는 신호를 포함할 수 있다. 선택적으로 용어 "패스워드"는 다른 타입의 비밀, 또는 준 비밀, 또는 비밀이 아닌 데이터 아이템을 포함할 수 있다. 예를 들어 사용자명, 사용자 별명, 사용자 ID 스트링, 사용자 식별자, 토큰 및/또는 다른 데이터 아이템, 특히 사용자 인증 프로세스에서 사용되는 데이터 아이템을 포함할 수 있다.
도 1a는 본 발명의 일 실시예에 따른 모바일 장치(100)의 구조를 설명하기 위해 제공되는 블록도이다. 도 1a를 참고하면, 장치(100)는 예를 들어 셀룰라폰, 스마트폰, 태블릿, 랩탑 컴퓨터, 휴대 전자 장치, 휴대 컴퓨팅 장치 또는 적합한 컴퓨팅 장치일 수 있다.
장치(100)는 보안 실행 환경(SEE)(140)(예컨대, 독일 뮌헨의 기-제케 운트 데브리엔트 게엠베하(Giesecke & Devrient GmbH)로부터 이용가능한 모비코어(MobiCore)와 같은 보안 운영 체체(Secure OS)(107)와 선택적으로 연계되는 트러스트존 기술 환경)에서 실행되는 하나 이상의 모듈과, 비보안 실행 환경(Unsecure Execution Environment)(UEE)(120)(예컨대 안드로이드 환경)에서 실행되는 하나 이상의 모듈을 포함할 수 있다.
UEE(120)는 예를 들어 터치 스크린(152), 보안 패스워드(SP) DRM 플러그인(154)과 연계될 수 있는 보안 DRM-인에이블 미디어 플레이어(153), 보안 패스워드(SP) 액티비티(activity)(159), TLS/SSL 통합 라이브러리(193) 및 TLS/SSL 허가 액티비티(191)로 구성될 수 있다.
SEE(140)는 예를 들어 UEE(120), UEE(120) 내의 모듈 또는 애플리케이션에게 또는 장치(100)의 내부 또는 외부에 있을 수 있는 다른 침입자에게 패스워드 또는 PIN을 노출하지 않고 사용자 패스워드 및/또는 PIN, 다른 키 및 자산(assets)을 안전하게 저장, 전송, 수신 및 처리할 수 있는 보안 동작 모듈(Secure Operations Module)(SOM)(130)을 포함할 수 있다. SOM(130)은 보안 코덱(CODEC)(155)에 의해 렌더링되는 사용자 인터페이스(UI)를 생성하고 전송할 수 있다.
도 1b는 본 발명의 일 실시예에 따른 보안 동작 모듈(Secure Operation Module)(SOM)(130)과 그 구성요소를 설명하기 위해 제공되는 블록도이다. 도 1b를 참고하면, SOM(130)은 예를 들어 보안 스토리지(149)와 연계되는 보안 스토리지 모듈(SSM)(141); 보안 패스워드 입력 모듈(SPEM)(142); 보안 TLS/SSL 지원 모듈(151); 로컬 암호/복호 서비스 모듈(146); 및 선택적 보안-토큰(Crypto Token) 모듈(147); 을 포함할 수 있다.
보안 TLS/SSL 지원 모듈(151)은 예를 들어, TLS/SSL 지원 라이브러리(131); 쿠키 핸들러(192); 재작성기(rewriter)(132); 애플리케이션 지원 API(133); 및 등록 데이터베이스(138) 및 등록 캐쉬(139)와 연계될 수 있는 등록(enrollment) 모듈(137);을 포함할 수 있다. 설명을 위해, 등록 데이터베이스(138)를 보안 TLS/SSL 지원 모듈(151)의 부분으로 나타내었으나, 일부 실시예에서는 등록 데이터베이스(138)가 보안 스토리지(149) 내에 저장될 수도 있다.
로컬 암호/복호 서비스 모듈(146)은 예를 들어, 암호 모듈(143), 복호 모듈(144), 키 생성기(145) 및 암호 파티션 매니저(197)를 포함할 수 있다.
보안 스토리지(149)는 메모리 유닛(또는 메모리 유닛이나 메모리 영역의 할당된 부분 또는 세그먼트)일 수 있으며, 비밀 데이터가 저장될 수 있다. SSM(141)은 보안 스토리지로 쓰기(및 보안 스토리지로부터 읽기)를 제어할 수 있는 보안 소프트웨어 모듈일 수 있다. 예를 들어, SSM(141)은 SEE(140)에서 실행되는 애플리케이션일 수 있고, 암호-시스템에서 사용될 수 있는 패스워드, 클라이언트 인증서, 사설 암호 키, 다른 형태의 암호 인증 정보(credentials) 또는 보안이 유지될 필요가 있는 다른 데이터에 대한 보안 스토리지(149)에서 저장을 가능하게 할 수 있다.
SSM(141)에서 암호 인증 정보 각각은 예를 들어, (사용자 식별을 가진 암호 인증 정보과 연관되는)사용자 ID, (암호 인증 정보를 이용하여 사용자가 인증하는 서비스의 식별자를 가진 암호 인증 정보과 연관되는)서비스 ID와 연관될 수 있다. 서비스 ID는 본 발명의 메커니즘을 이용하기 위해 등록하는 모든 서비스 공급자(또는 애플리케이션)에 이슈될 수 있는 서비스 인증서로부터 얻어지는 신원(identity)일 수 있다. (X.509 인증서, 전송 레이어 보안(Transport Layer Security)(TLS)인증서 또는 보안 소켓 레이어(Secure Sockets Layer)(SSL) 인증서와 혼동되지 않는) 이 새로운 타입의 디지털 인증서는 최종 사용자에게 피싱 시도에 대한 보호를 제공하는 동안에 다른 TLS 인증서를 이용할 때 서비스 제공자에게 충분한 유연성을 허용할 수 있다.
SSM(141)에 저장될 수 있는 패스워드는 숫자 패스워드, 영숫자(alpha-numeric) 패스워드, 영숫자 및/또는 비-영숫자 문자 등의 스트링일 수 있다. SSM(141)에 저장될 수 있는 디지털 인증서는, 예를 들어 ITU-T 표준 X.509 및/또는 비밀 키에 따른 클라이언트 인증서일 수 있다. 부가적으로 SSM(141)은 각 사용자-ID와 연계될 수 있고 여기서 기술된 인증 프로세스에서 이용될 수 있는 개인 사용자-선택 이미지를 안전하게 복원하는데 필수적인 정보와 같은 각 사용자-ID에 할당된 패스워드를 저장할 수 있다.
보안 패스워드 입력 모듈(SPEM)(142)은 SEE(140)에서 실행될 수 있고, 사용자를 대신하여 인증하기 위한 보안 저장 인증 정보를 이용하기에 앞서 사용자의 패스워드를 위해 사용자 폴링(polling)을 맡을 수 있다. SPEM(142)은 장치(100)의 보안 비디오 경로(SVP) 기능(feature)을 이용하여 온-스크린 키보드 또는 온-스크린 키패드를 사용자에게 표시하여, 장치(100) 상에서 실행될 수 있는 악성 소프트웨어 모듈에 의해 인터셉트 될 수 없게 할 수 있다. 본 발명은 따라서 온-스크린 가상 키패드/키보드를 안전하게 통신하는 다른 목적을 위해, 원래 보호 미디어 콘텐츠, 예컨대 디지털 저작권 관리(DRM)-보호 콘텐츠의 안전한 디스플레이를 위한 장치(100)의 보안 콘텐츠 경로 또는 SVP 기능을 이용할 수 있다.
예를 들면, 사용자가 그의 패스워드에 대한 답변이 요구될 때, SPEM(142)은 (a)사용자에 의해 예전에 선택된 개인 이미지를 포함하거나 그에 기초하여 구성된 배경 이미지; 및 (b)셔플(shuffle) 또는 스크램블(scramble)된 온-스크린 키패드 또는 키보드를 각 호출(invocation)마다 랜덤 또는 의사-랜덤(pseudo-random) 위치에, 랜덤 또는 의사-랜덤하게 스크램블된 순서 또는, 전통적인 물리적 키패드 또는 키보드에서의 보통의 순서와 랜덤 또는 의사-랜덤(pseudo-random)하게 다른 순서로 숫자 및/또는 글자를 표현하는 온-스크린 키들이 나타나는 온-스크린 키패드 또는 키보드를 SVP를 이용하여 장치(100)의 스크린 상에 안전하게 렌더링하여 나타낼 수 있다. 서비스 제공자의 아이덴티티(identity)는 서비스 인증서로부터 안전하게 얻어지거나 아니면 서비스 인증서에 의해 지시될 수 있다. 사용자는 탭핑(tapping), 터칭(touching), 클릭킹(clicking) 아니면 스크램블 된 온-스크린 키보드 또는 키패드 상에 키를 선택하는 것에 의해 패스워드를 입력할 수 있다. 사용자의 키-누름 좌표는 (UEE(120), 예를 들면 안드로이드와 같은 비보안 하이레벨 운영체제(High Level Operating System)(HLOS)에서 실행되는)장치(100)의 터치 스크린의 드라이버로부터 SEE(140)에서 실행되는 SPEM(142)으로 통신될 수 있다. 사용자가 패스워드를 입력함에 따라, 각 문자 또는 숫자가 랜덤하게 스크램블된 키보드 또는 키패드의 현재 호출에서 표시되는 곳의 노션(notion)에 기초하여, SPEM(142)은 좌표를 눌러진 문자 또는 숫자로 변환할 수 있다. 사용자 선택 개인 이미지의 표시는 사용자가 피싱 웹-페이지 또는 사칭 웹사이트가 아닌 진짜 인터페이스에 패스워드를 입력하고 있다는 것을 확인하게 할 수 있다. 유사하게, 서비스 제공자의 상세(description)는 사용자가 적절한 서비스 제공자가 인증되는 것을 확인하게 할 수 있다.
보안 TLS/SSL 지원 모듈(151)은, 사용자가 정확하게 패스워드를 입력한 후, 사용자를 위한 인증을 하도록 SSM(141)에 저장된 사용자의 암호 인증 정보를 이용할 수 있다. 상술한 것과 같이, SSM(141)에 저장된 사용자 암호 인증 정보는, 예를 들어 사용자-지정 패스워드 또는 (비밀 키를 함께 가진) TLS 클라이언트 인증서일 수 있다. 사용자 인증 정보가 비밀 키를 가진 클라이언트 인증서이면, 비밀키는 TLS 핸드세이크(handshake)로 안전하게 통합될 수 있다. 사용자 인증 정보가 패스워드이면, 패스워드는 재작성기(rewriter)(132), 또는 여기서 기술하는 것과 같은 애플리케이션 지원 API(133)를 통해 TLS에서 사용될 수 있다. TLS/SSL 구현(implementation)의 적어도 일부분(또는 전체)은 SEE(140)에서 실행될 수 있으며, HLOS 상에서 또는 장치(100)의 UEE(120) 내에서 사용자 인증 정보를 처리하기 위한 어떠한 필요도 없게 할 수 있다.
보안 TLS/SSL 지원 모듈(151)은 핸드세이크 단계 동안 TLS 프로토콜에 따라 클라이언트 인증서를 이용할 수 있다. 본 발명에 따르면, TLS 구현의 부분은 SEE(140)에서 실행될 수 있어, 클라이언트 인증서에 속하고 안전하게 저장된 비밀 키를 HLOS 또는 UEE(120)에 노출됨 없이 핸드세이크 프로세스에 통합시킬 수 있다.
보안 TLS/SSL 지원 모듈(151)은 선택적으로 재작성기(132), 예컨대 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol)(HTTP) 재작성기를 포함할 수 있다. 클라이언트 인증서 대신에 패스워드가 인증을 위해 TLS/SSL과 함께 사용될 때, 이러한 패스워드는 TLS/SSL 핸드쉐이크의 부분처럼 통과되지 않을 수 있다. 대신에 이러한 패스워드는 핸드쉐이크 프로세스가 완료된 후, (예컨대 RESTful 인증 방법에 따른)세션 데이터로서 전송될 수 있다. 예를 들면, 사용자에 의해 입력된 패스워드는 웹 사이트와의 HTTP 인터랙션(interaction)의 부분인 HTTP POST 명령 상에서 원격 웹-서버에 통신될 수 있다. 종래 시스템에서, TLS/SSL 프로토콜 구현은 이 패스워드를 의식하지 못할 수 있고, 웹 브라우저(또는 다른 애플리케이션)가 웹 서버에 전송하거나 또는 웹 서버로부터 수신하는 데이터를 모를 수 있다. 종래의 TLS/SSL 구현은 콘텐츠를 살피는 것 없이 단지 세션 데이터를 암호화 및 복호화한다. 반대로 재작성기(132)는 암호화 및/또는 복호화된 데이터에 대한 TLS/SSL 무의식을 깰 수 있는 보안 TLS/SSL 지원 모듈(151)의 요소일 수 있다. 재작성기(130)는 SEE(140)에서 실행될 수 있고, 패스워드를 포함하는 미래 암호화되는 레코드(예컨대 웹 페이지에서 제공되는 입력)의 부분을 제공할 수 있다. 이것은 패스워드가 TLS 호출 동안에 HLOS 또는 UEE(120)에 분명하게 전달되는 것 없이 SSM(141)에 의해 안전하게 저장되는 것을 가능하게 할 수 있다. 예를 들면, 재작성기(132)는 제출된 HTML 페이지에서 폼 필드(form field)의 내용을 SSM(141)으로부터 SEE(140) 내에 안전하게 획득된 엔트리(entries)로 교체할 수 있다. 재작성기(132)는 SSM(141)으로부터 SEE(140) 내에 안전하게 검색된 엔트리로 폼 페이지(form page)에서 사용자 필드의 전부(또는 일부)를 교체할 수 있다. 또는 재작성기(132)는 제출된 HTML 페이지에서 패스워드 필드만을 SSM(141)로부터 SEE(140) 내에 안전하게 획득된 관련 패스워드로 교체할 수 있다. 제출된 HTML 페이지에서 패스워드 필드는 그들의 특정 필드 타입에 기반하여 인식될 수 있다.
재작성기 모듈(132)은 여기서 용어 "리라이팅(rewriting)"으로 기술되지만, 일부 구현에서 데이터(또는 가짜 데이터)를 재기록 또는 대체하는 것보다는 원본 데이터를 적절한 필드에 쓸 수 있는 "라이터(writer)" 모듈로서 동작할 수 있다. 일부 다른 실시예에서 재작성기 모듈(132)은 기술된 것처럼 교체(replacer) 모듈 또는 대체(substitution)-실행 모듈처럼 동작할 수 있다.
또한 재작성기 모듈(132)은 하나 이상의 소스로부터(예컨대 서비스 인증서로부터; 패스워드 필드로부터; 브라우저로부터) 쓰기 또는 다시쓰기하거나, 교체할 필드의 표시를 수신 및/또는 다시쓰기하거나 내용 교체를 요구하는 필드 또는 위치를 자동적으로 추론 또는 연역할 수 있다.
보안 TLS/SSL 지원 모듈(151)은 선택적으로 애플리케이션 지원 API(133)를 포함할 수 있다. 예를 들면, 패스워드는 장치(100)로부터 원격 서버에 웹 브라우저를 거치지 않고 장치(100) 상에서 실행되는 로컬 애플리케이션을 통해 보내질 수 있다(예컨대, 사용자 및 원격 서버 사이에 인터랙션(interaction)은 웹 브라우저 상에서 일어나지 않지만, 전용으로 다운로드되거나 미리 인스톨된 애플리케이션이 사용자 실행에 의해 일어날 수 있다). 로컬 애플리케이션은 원격 서버에 자체적인 연결을 생성할 수 있다. 원격 서버로 나가는 트래픽은, 예를 들면, XML로써 쌓여져서 HTTP 트래픽을 따라 통과할 수 있다. 일부 경우에서, 사용자에 의해 기입되는 HTML 폼이 아니라, 로컬 애플리케이션에 의해 장치(100) 상에 표시되는 로컬 폼일 수 있고, 로컬 애플리케이션은 원격 서버에 전송하기 전에 폼 콘텐츠를 사전-처리한다. 패스워드가 전형적인 HTML 폼에서 입력되지 않기 때문에, 재작성기(132)는 HTML 필드 콘텐츠를 교체하도록 동작하지 않을 수 있다. 보안 트래픽을 보내는 종래 로컬 애플리케이션은 미리 제공된 TLS/SSL 프로토콜의 OS 구현을 이용하고, 보안 TLS/SSL 지원 모듈(151)에 의해 제공되는 보안 TLS/SSL 구현을 여전히 이용할 수 있다. 그러나 재작성기(132)는 안전하게 저장된 사용자 인증 정보을 붙이는 곳과 붙이는 방법을 판단할 수 없기 때문에, 로컬 애플리케이션에 의해 그러한 정보가 제공되는 것이 간접적으로 요구될 수 있다. 애플리케이션 지원 API(133)는 애플리케이션 공급자와 애플리케이션 개발자에 대한 인터페이스를 제공할 수 있고, 로컬 애플리케이션에 의해 보안 TLS/SSL 지원 모듈(151)이 안전하게 저장된 인증 정보를 로컬 애플리케이션과 원격 서버가 유지하는 TLS/SSL 연결에 삽입하게 하는데 이용될 수 있다.
암호 모듈(143) 및 복호 모듈(144)은 SOM(130)이 견고한 방법으로 데이터 암호화를 사용함으로써 로컬 데이터 보호를 지원할 수 있게 한다. 데이터가 보호되도록 시도하는 각 애플리케이션은 예를 들면, 애플리케이션의 정규 데이터 디렉토리 아래에 탑재된 리눅스의 폼에서 "가상 파티션(virtual partition)"에 대한 액세스(access)에 제공될 수 있다. 애플리케이션은 이러한 가상 파티션 디렉토리에서 파일(들) 생성, 쓰기, 읽기, 삭제 및/또는 수정에 의해 다른 디렉토리를 처리하는 것과 같은 방법으로 이 디렉토리를 처리할 수 있다. 그러나 가상 파티션 디렉토리의 콘텐츠는 SOM(130)에 의해 투명하게 암호화될 수 있다(필요에 따라 복호화 될 수도 있다). 따라서 애플리케이션 제공자 또는 개발자는 어떻게 암호화가 작업되는지를 이해하는 것이 요구되지 않으며, 로컬 애플리케이션의 부모 디렉토리에서 보다는 가상 파티션 서브-디렉토리에서 파일을 저장하는 것과 다른 방법으로 이러한 암호화를 설명할 필요가 없다. 암호 및 복호 연산은 암호 모듈(143) 및 복호 모듈(144)에 의해 각각 AES(Advanced Encryption Standard)를 이용하여 수행될 수 있다.
예시적인 실시예에서, 암호/복호 키는 SEE(140) 내의 키 생성기(145)에 의해 예를 들면 사용자-ID 및 서비스-ID의 기능으로써 내부적으로 생성될 수 있다. 키는 SSM(141)에 의해 안전하게 저장될 수 있고, 각 장치별, 각 사용자-ID별 및 각 애플리케이션 별로 고유할 수 있다. 선택적으로 필요할 때마다 안전하게 얻어질 수 있다. 이 아키텍처는 유출된 키(leaked key)로부터 손상의 범위가 제한되고, 암호화된 데이터를 다른 장치 상에서 사용될 수 있는 것을 방지하고, 제1 로컬 애플리케이션이 제2 로컬 애플리케이션에 연계된 데이터를 읽는 것을 방지할 수 있다. SOM(130)에 의해 제공되는 다른 보안 기능과 마찬가지로, 애플리케이션에 의한 키의 사용은 사용자가 SPEM(142)을 사용하여 동의를 제공한 후에 허가될 수 있다. 예를 들면, 키를 가지고 암호/복호를 구하고 있는 애플리케이션의 사람이 읽을 수 있는 서비스-ID를 안전하게 표시하고 있는 동안에, SPEM(142)은 패스워드를 사용자에게 요청할 수 있다. 사용자가 (특정 애플리케이션에 속하는) 특정 키의 사용을 승인하면, 적절한 키가 로드(load)될 수 있고, 숨겨진 마운트(mount)(가상 파티션 디렉토리)가 나타나고 특정 애플리케이션에 의해 사용될 수 있다.
예를 들면 애플리케이션을 위해 생성된 키에 대한 요청이 수정되지 않은 해당 애플리케이션에 의해서만 이슈될 수 있는 것을 보장함으로써, 부가적인 보안 레이어를 형성하도록 다른 수단이 HLOS 레벨에서 사용될 수 있다. 이 기능은 암호 키를 이용하기 위해 사용자 승인을 구할 때 애플리케이션 식별의 표시에 부수적으로 제공될 수 있다.
선택적인 실시예에서, SOM(130)의 부분으로서 제공될 수 있는 수정된 기능을 이용하여 데이터에 접근하는 동안에, 로컬 애플리케이션은 투명하게-암호화되어 탑재된 볼륨(volume) 또는 가상 파티션에 접근하기보다, 애플리케이션 데이터를 정규적으로 저장할 수 있다. 이러한 수정된 기능은 파일 위치에 영향을 주지 않고 파일 및/또는 데이터의 투명 암호화 및 복호화를 처리할 수 있다.
SSM(141)은 패스워드, 클라이언트 인증서 및 암호화된 폼 및/또는 무결성-보호(integrity-protected) 폼에서만 저장될 필요가 있는 다른 정보에 대한 보안 저장 서비스를 제공할 수 있다. SSM(141)은 SEE(140)의 보안 OS에 의해 제공될 수 있는 보안 저장 기능의 상부에 원시 데이터베이스 추상화(primitive database abstraction)를 수립할 수 있다. SSM(141)은, 예를 들면 암호화된 XML 파일(또는 다른 적절한 표현 포맷(representation format))을 이용하여 표현되는, 각각의 사용자-ID 및 서비스-ID와 각각의 데이터 아이템이 연계를 유지하게 할 수 있고, 상부 레이어에 의해 제공되는 데이터를 유지할 수 있다. 넓은 범위 타입의 보안 OS와의 호환성을 성취하기 위해, SSM(141)은 장치-고유 키에 접근하고, 각 암호화 파일을 위해 사용되는 초기화 벡터(Initialization Vector (IV))의 카피(copy)를 저장하기 위해 보안 OS의 플랫폼 서비스에 배타적으로 의존할 수 있다.
연계된 보안 코드와 아울러 보안 패스워드 입력 모듈(SPEM)(142)은 보안 애셋(asset)에 대한 접근이 요구되는 장치(100) 상에서 실행되는 애플리케이션(예컨대 장치(100)가 안드로이드 OS를 실행하면 안드로이드 애플리케이션)에 의해 호출될 수 있다. SPEM(142)은 장치(100)의 터치-스크린 디스플레이 유닛, 예를 들면 패스워드(또는 PIN) 입력 스크린 상에 디스플레이될 수 있다. 다음으로 SPEM(142)은 사용자 입력(패스워드)를 수신하고, 패스워드가 옳으면 SPEM(142)은 관련 보안 애셋에 접근을 가능하게 할 수 있다.
일부 실시예에서, 보안 패스워드 입력은 SEE(140) 및 UEE(120) 모두에 걸칠 수 있고, 예를 들면 도 1a의 구성요소의 전부 또는 일부를 포함할 수 있다.
SP 액티비티(159)는 다른 애플리케이션으로부터 보내진 인텐트(intent)에 대응하여 호출되는 안드로이드 액티비티(예컨대, 자바 액티비티)일 수 있다. 예를 들면 패스워드-보호 애셋에 접근이 요구되는 로컬 안드로이드 애플리케이션은 요청을 생성하고, (보안 컴포턴트에 유일하게 접근 가능한)요청키를 가지고 요청에 서명(sign)하도록 보안 컴포넌트(component)의 인스턴스(instance)를 사용할 수 있다. 다음으로 애플리케이션은 startActivityForResult ()을 이슈하여 SP 액티비티(159)를 호출하고, 보안 컴포넌트의 인스턴스로부터 수신된 서명된 요청을 보낼수 있다. 다음으로 SP 액티비티(159)는 요청 애플리케이션이 관련 보안 컴포넌트 인스턴스에 제공한 보안 컴포넌트만이 이용가능한 다른 장치-특정 키에 의해 암호화된 응답을 보낸다. 또한 요청 및 응답은 낡은 또는 이전 응답(들)의 재사용을 막기 위해 요청 애플리케이션에 의해 생성된 암호화된 논스(nonce)를 포함할 수 있다. 요청 애플리케이션은 예를 들면, 패스워드 인증 서비스를 요청하는 보안 애플리케이션; 여기서 기술된 보안 컴포넌트를 이용하여 로컬 스토리지를 보호하기 위한 패스워드 인증을 요청하는 HLOS 애플리케이션; 또는 여기서 기술된 TLS 연결을 이용하는 애플리케이션을 돕는 TLS 액티비티; 일 수 있다.
보안 비디오 경로는 입력되는 보호된 비디오(또는 이미지, 멀티미디어 파일 등)를 장치(100) 내에서 보호하도록 사용되는 방식(scheme)에 의해 안전하게 복호되고, HLOS를 바이패스하는 방법으로 터치-스크린(152) 상에 안전하게 디스플레이되어, 비디오/이미지가 캡처되는 것을 방지하는 것을 보장한다. 따라서 본 발명은 예를 들면 SOM(130)에서 비디오처럼 그것을 인코딩하고 특정 보호 방식으로 랩핑(wrapping)한 보안 이미지/비디오로써 스크램블된 PIN 패드의 이미지(또는 다른 적절한 타입의 온-스크린 입력 인터페이스)를 생성함으로써, 보안 비디오 경로의 능력을 이용하고 레버리지(leverage)할 수 있다. 다음으로 보호된 비디오는 SP 액티비티(159)에 전달될 수 있다. SP 액티비티(159)는 보호된 비디오를 장치(100)에 의해 이용가능한 보안 DRM-인에이블 미디어 플레이어(153)에 전송할 수 있다. 보안 DRM-인에이블 미디어 플레이어(153)는 비디오가 특정 DRM 방법에 기초하여 암호화된 비디오인지를 식별할 수 있고, 적절한 DRM 플러그인(154)에 암호화된 비디오를 전달하여, 차례로 암호화된 비디오를 복호하도록 SOM(130)에서 SPEM(142)의 서비스를 이용할 수 있다. 복호화된 비디오는 터치-스크린(152) 상에서 안전하게 렌더링할 수 있는 보안 코덱(155)에 전달될 수 있다.
터치-스크린(152) 상에서 사용자에 의해 수행되는 터치 이벤트를 그에 대응하는 키의 SOM(130) 내에서 보안 식별(secure identification)로 전환(conversion)을 허가하는데 적합한 메커니즘이 사용될 수 있다. SOM(130)은 스크램블된 PIN 패드 또는 다른 스크램블된 패스워드-입력 인터페이스를 생성할 수 있다. 터치 이벤트는 그들을 검출하는 액티비티로부터 SOM(130)에 전달될 수 있고, 차례로 입력 PIN으로 변환될 수 있다. SOM(130)은 스크램블된 패스워드-입력 인터페이스를 생성하였기 때문에, 스크램블된 패스워드-입력 인터페이스는 보안 비디오 경로의 능력을 레버리징함으로서 안전하게 디스플레이될 수 있거나, SP 액티비티 또는 HLOS(120)의 다른 컴포넌트는 사용자가 누른 터치-스크린 상에서 무엇을 드로(draw)했는지 판단할 수 없다. 따라서 SP 액티비티(159)는 사용자 손가락(들)의 좌표만을 식별할 수 있고, 예를 들어 사용자가 터치-스크린(152)의 상부-좌측 영역 상에 태핑한 것을 지시할 수 있을 뿐, SOM(130)에 의해 안전하게 생성되어 보안 비디오 경로(150)를 통해 안전하게 디스플레이된 스크램블된 패스워드-입력 인터페이스(예컨대 스크랩블된 PIN 패드)의 부분으로써 터치-스크린(152)의 영역에 표시되는 어떤 키인지는 알 수 없다. 따라서 SP 액티비티는 터치-이벤트 좌표를 SOM(130)에 "안보이게(blindly)" 통과할 수 있고, 사용자가 터치한 각각의 포인트 아래에 표시되는 문자(예컨대 숫자, 심볼 또는 글자)를 안전하게 판단할 수 있고, SOM(130)은 따라서 터치-이벤트 좌표를 PIN 숫자 또는 패스워드 문자로 안전하게 변환할 수 있다.
패스워드 입력 액티비티(159)의 안드로이드 또는 자바 레벨에서의 대부분 로직은 OS와 요구되는 인터랙션, 예를 들면 터치-스크린(152)에 접근을 획득하거나 보안 컴포넌트에 의해 생성되는 사용자 인터페이스(UI)를 디스플레이하도록 플랫폼의 하드웨어 코덱(CODEC)을 구동하는 것에 관한 것일 수 있다. 액티비티 로직은 풀-스크린 비디오 표면(full-screen video surface)으로 사용자 UI를 디스플레이하는 것, UI의 "스누핑(snooping)"을 방지하도록 보안 비디오 경로를 이용하는 것, 및 터치-스크린(152) 상의 터치 이벤트를 SOM(130)에 직접 보내는 것에 의해 사용자 인터랙션을 유도할 수 있다.
도 1c는 본 발명의 일 실시예에 따른 보안 패스워드 보안 모듈(Secure Password Secure Module)(SP-SM)(168)을 설명하기 위해 제공되는 블록도이다. 도 1c를 참고하면, SP-SM(168)은 SPEM(142)의 예시적인 실시예일 수 있다.
SP-SM(168)은 예를 들면, 링크 보호 암호 모듈(182), SP 서비스 인증서 검사기(validator)(183), UI 제어 로직(184), 보안 텍스트 렌더러(secure text renderer)(185), 이미지 합성 모듈(186), 보안 프레임 버퍼(187) 및 비디오 인코더(188)(예컨대, H.264 또는 다른 적합한 코덱을 이용하는)를 포함할 수 있다.
SP-SM(168)은 SEE(140)에서 실행될 수 있고, 예를 들면 사용자-선택 개인 이미지 및 오버레이의 백그라운드 PNG 화면으로써 보안 패스워드 입력을 위한 UI를 생성할 수 있다. SP-SM(168)은 SP 액티비티(159)로부터 도착하는 터치 이벤트에 반응할 수 있고, UI 진행(progress)을 반영하도록 업데이트 및 디스플레이할 수 있고, (예컨대, H.264 또는 다른 적절한 비디오 코덱을 이용하여) 비디오에서 UI를 인코딩할 수 있고, DRM 보호 방식과 같은 종래 보호 방식을 이용하는 인코딩된 비디오를 보호할 수 있다.
UI 제어 로직(184)은 그래픽 라이브러리를 실행할 수 있다. UI 제어 로직(184)은 PNG 디코더 및 트루타입 폰트 렌더러(TrueType font renderer)에 기반할 수 있고, 랜덤 또는 의사-랜덤 또는 스크램블된 숫자(또는 문자)를 그릴 수 있다. 보안 텍스트 렌더러(185)는 콘텍스트(예컨대 서비스-ID)의 텍스트를 렌더링할 수 있고, 이미지 합성 모듈(160)은 개인 재확신 이미지(personal reassurance image)와 숫자 및 텍스트를 함께 가지는 이미지를 구성할 수 있다. 비디오 인코더(188)는 디스플레이 출력을 H.264 비디오 스트림(또는 적절한 표준 또는 프로토콜을 이용하여 인코딩한 다른 적절한 비디오 스트림 또는 비디오 칩 또는 비디오 파일)으로 인코딩할 수 있고, 세션마다 랜덤하게 생성되는 키를 가지고(예컨대, AES-CTR을 이용하여) 암호화할 수 있다. 이것은 DRM-보호 비디오를 위한 보안 디스플레이를 이용하기 위해 설계된 플랫폼-정의 보안 콘텐츠 경로 또는 보안 비디오 경로를 이용할 수 있게 한다.
UI 제어 로직(184)은 스크램블된 PIN 패드 레이아웃, 스크램블된 패스워드-입력 인터페이스, 랜덤한 초기 값을 가지는 일련의 회전 다이얼 등을 그리는 것을 담당할 수 있다. UI 제어 로직(184)은 PIN 패드 또는 패스워드 입력 인터페이스와 같은 이미지를 생성할 수 있다. SP 서비스 인증서 검사기(183)는 "승인 인증서(accreditation certificate)(또는 "서비스 인증서")"를 수신하여 검사할 수 있고, 유효하면, 그로부터 서비스 제공자 이름을 얻을 수 있다. 보안 텍스트 렌더러(185)는 서비스 인증서 검사기(183)에 의해 처리된 인증서로부터 서비스 제공자의 ID 또는 이름을 획득할 수 있고, 요구되는 허가의 콘텍스트에 대한 다른 텍스츄얼 상세(textual detail)(예를 들면, 상업 콘텍스트에서 지불된 양, 또는 TLS 콘텐스트에서 서비스 제공자 상세)를 획득할 수 있다. UI 제어 로직(184) 및 보안 텍스트 렌더러(185)는 HLOS의 보안되지 않는 폰트(들)을 이용하는 것을 피하도록 자신이 가진 보안 폰트를 이용하여 이미지 상에 텍스트(예컨대 텍스츄얼 상세 및 서비스 제공자의 이름)를 그리는 작업을 할 수 있다. 이미지 합성 모듈(186)은 서비스 상세 및 개인 확신 이미지, PIN-패드(또는 패스워드 입력 인터페이스)를 위해 생성되는 모든 그래픽을 가지고, 그들을 이용하여 결합된 이미지를 합성하고, 이미지 버퍼를 포함하는 보안 프레임 버버(187)에 전달할 수 있다. 보안 프레임 버퍼(187)는 하나 이상의 버퍼된 이미지(들) 또는 프레임(들)을 비디오 인코더(188)로 전달하고, 비디오 인코더(188)는 그것으로부터 비디오(예컨대 H.264로 인코딩된 비디오 파일)를 생성한다. 인코딩된 비디오는 비디오 인코더(188)로부터링크 보호 암호 모듈(182)로 전달된다. 링크 보호 암호 모듈(182)은 랜덤 또는 의사-랜담 키를 생성하고, 그것을 가지고 비디오를 암호화하며 보호 비디오(예컨대 와이드바인(Widevine) 비디오, 플레이레이디(PlayReady) 비디오)로써 감싸고 캡슐화한다. 보호 비디오는 SP 액티비티(159)로 다시 보내진다. 선택적으로 SP-SM(168)은 종래 DRM과 같은 보호 방식을 복호하기 위해 CryptoPlugin :: decrypt 함수(function)를 이용할 수 있다. 이것은 (예컨대 플레이레이디 및 와이드바인을 위해 사용되는) CryptoPlugin을 지원하는 어떠한 플랫폼 상의 현재의 보안 콘텐츠 경로(또는 보안 비디오 경로)로 패스워드 입력 디스플레이의 통합을 가능하게 할 수 있다.
도 1a 및 1b를 다시 참고하면, 보안 TLS/SSL 지원 모듈(151)은 보안 실행 환경에서 실행되고 UEE(120)에서 실행되는 TLS/SSL 통합 라이브러리(193)과 통신하는 TLS/SSL 지원 라이브러리(131)를 포함할 수 있다. TLS/SSL 통합 라이브러리(193)는 또한 사용자 공간에서 전체 TLS/SSL 구현(implementation)을 포함할 수 있다. 예를 들면, TLS/SSL 통합 라이브러리(193)는 확장 TLS/SSL 라이브러리(예컨대 TLS 라이브러리)를 포함할 수 있다. TLS/SSL 라이브러리는 SEE-기반 보안 세션 수립을 가지는 HLOS에서 TLS/SSL 구현을 증가시킨다. 그리고 TLS/SSL 통합 라이브러리(193)는 사용자 인증 정보(예컨대 패스워드 및 클라이언트 인증서) 보호를 위한 선택적 지원을 SEE에 의해, 예를 들어 SEE에서 실행되는 TLS/SSL 지원 라이브러리(131)과 상호작용하는 것에 의해 제공할 수 있다. SEE-기반 작업이 가능해질 때, TLS/SSL 통합 라이브러리(193)는 SEE에서(또는 서버 상에서) 실행되는 TLS/SSL 지원 라이브러리(131)를 이용하여 TLS 핸드쉐이크 프로토콜을 처리할 수 있다. 보안 TLS/SSL 통합 라이브러리(193)는 2가지 모드 중 하나로 동작할 수 있다. 오직 핸드쉐이크 단계를 위해 SEE에서 실행되는 보안 컴포넌트를 이용할 수 있거나, 기록의 암호 및 복호를 위해서 뿐 아니라 핸드쉐이크 단계를 위해서 보안 컴포넌트를 이용할 수 있다.
TLS/SSL 지원 라이브러리(131)의 작업은 트리거 조건 또는 이벤트에 의해, 예를 들면 웹 사이트가 서비스 인증서를 가진 것을 식별하는 것에 의해 트리거되거나 호출될 수 있다. TLS/SSL 통합 라이브러리(193)는 초기화 동안 웹 사이 트 상에 잘 알려진 URL로부터 서비스 인증서를 인출(fetch)할 수 있다. 웹 사이트가 장치(100)에 알려져 있지 않다면, 다음으로 "등록 모드(enrollment mode)"(예컨대 "첫번째 구성 마법사(first-time wizard)")는 등록 모듈(137)에 의해 초기화될 수 있다(예컨대, 웹 사이트 등록 모듈 및/또는 애플리케이션 등록 모듈은 TLS/SSL 지원 라이브러리(131)의 일부분일 수 있고, 비-등록된 웹 사이트의 비-영구적인 등록 캐쉬(139) 뿐 아니라 사전-등록된 웹 사이트 및/또는 애플리케이션의 등록 데이터베이스(138)을 포함할 수 있다.). 등록 모듈(137)은 사용자가 이름, 패스워드 및 선택적으로 다른 식별 상세를 입력하는 것을 허가할 수 있다. 다음으로 이 애플리케이션 또는 브라우저는 비밀 식별 상세를 보안 저장소에 (예컨대, TLS/SSL 지원 라이브러리(131)에 의해 제공되는 확장 API를 이용하여) 서비스에 하위 연결에서 사용하기 위해 저장되게 한다.
핸드쉐이크가 완성되고, 사용자 인증 정보 보호가 요구되지 않으면, 다음으로 보안 컴포넌트(또는 도 2에서 예시한 것처럼 원격 서버 실시예에서의 서버)는 HLOS 라이브러리 레이어에 합의된(agreed-upon) 세션 키를 반환할 수 있고, 따라서 분리된 아키텍처의 성능 영향을 최소화한다. 이 모드는 위에서 기술된 것처럼 클라이언트 인증서를 이용하여 사용자를 인증할 때 이용될 수 있다.
보안 인증 정보 처리는 TLS/SSL 통합 라이브러리(193)가 다른 방법으로 동작하도록 요구할 수 있다. 이 모드가 인에이블(enabled)될 때, 새로운 API는 보안 TLS/SSL 지원 모듈(151)의 부분일 수 있는 재작성기(132)가 특정 인증 정보(예컨대, 패스워드)을 암호 스트림으로 보내도록 하는데 사용될 수 있다. HLOS 스트림 상에서 실행되는 악성 소프트웨어가 암호 스트림으로부터 인증 정보를 캡쳐하는 것을 방지하도록, 세션 키는 보안 환경(또는 또는 도 2에서 예시한 것처럼 원격 서버 실시예에서의 서버)으로부터 내보내지지 않을 수 있고, 모든 암호(또는 복호) 작업은 보안 컴포넌트에 보내질 수 있다.
애플리케이션은 인증 정보를 보낸 후에 HLOS 기반 페이로드 처리 모드로 전환되도록 여전히 요청할 것이다. 모드 스위치는 TLS/SSL 통합 라이브러리(193)가 연속된 세션에서 사용을 위해 새로운 키를 생성하면서 축약된(abbreviated) TLS 재협상을 수행하게 할 수 있다. 서비스 인증서는 HLOS 기반 페이로드 처리에 대한 폴백(fall-back)을 위한 허가와 관련된 정보를 포함할 수 있다.
도 2를 참조하여 여기서 설명된 것처럼, TLS/SSL 지원 라이브러리(131)(또는 유사한 역할을 수행할 수 있는 TLS/SSL 핸드쉐이크 지원 모듈(103))는 원격 프록시 서버 상에서 실행될 수 있다. 이러한 경우에, 모바일 장치(100)으로부터 보안 프록시 서버로의 트래픽은 보안 프록시 서버에 대해 안전하게 통신하기 위한 데이터 보호 모듈을 이용하여 보호될 수 있고, 보안 프록시 서버는 장치(100)를 위해 실제 서비스 서버와 TLS 연결을 유지한다. 재협상이 행해지면, TLS 세션은 더 이상 보안 프록시 서버를 통하지 않고 모바일 장치(100)로부터 서비스 서버(TLS 서버)로의 그 다음 재협상을 재개할 수 있다.
로컬 암호/복호 서비스 모듈(146)은 로컬 데이터를 보호하도록 로컬 HLOS 애플리케이션이 안전하게 저장된 키를 이용하는 암호 및/또는 복호 처리를 트리거하게 허용하는 라이브러리를 포함할 수 있다. 로컬 암호/복호 서비스 모듈(146)은 보안 로컬 스토리지를 요구하는 애플리케이션에 대한 서비스를 제공할 수 있다. 로컬 암호/복호 서비스 모듈(146)은 예를 들면, 클라이언트 애플리케이션과 통신을 위한 안드로이드 액티비티; 보안 탑재점(secure mount points)을 관리하기 위한 시스템 데몬(daemon); 및 저장된 데이터의 실제 암호 및 보호를 위한 보안 컴포넌트; 를 포함할 수 있다.
(도 2에서 예시한 것과 같은)서버 실시예에서, 키 생성기(145)는 서버 상에서 실행될 수 있고, 암호 모듈(143) 및 복호 모듈(144)은 모바일 장치(100) 상에, HLOS 내에, 상주하고 실행될 수 있다. 서버가 보안 패스워드 입력 모듈(142)를 가지고 사용자를 인증한 후, 장치(100)의 암호 모듈(143) 및 복호 모듈(144)은 관련 키를 얻기 위해 원격 서버와 안전하게 인터랙트(interact)할 수 있다. 서버가 사용자를 인증하면, 서버는 장치(100)의 암호 모듈(143) 및 복호 모듈(144)에 이용가능한 올바른 키(correct key)를 만들 수 있다.
암호-토큰 모듈(147)은 위에서 기술한 것처럼, 안전하게 저장된 키를 이용하여 수행되는 인증 및 디지털 서명 루틴을 애플리케이션이 트리거하게 할 수 있다.
SOM(130)의 컴포넌트는 여기서 기술되는 것처럼 HLOS(예컨대 안드로이드)레벨 및 보안 OS 레벨에서 모바일 장치(100)로 통합될 수 있다. SOM(130)의 컴포넌트는 또한 (도 2에서 예시한 것과 같은)원격 서버에 통합될 수도 있다.
SOM(130)의 컴포넌트는 SEE(140)에서 또는 원격 서버에서 구현될 수 있다. 일부 실시예에서, 암호 토큰 모듈(147)의 이용은 UEE(120)에서 "토큰 전달관(conduit)"을 요구할 수 있다; 토큰 전달관은 SOM(130)의 암호 토큰 모듈(147)과 인터랙트할 수 있는 액티비티일 수 있고, 보안-토큰 모듈(147)이 보안 스토리지(149)에서 SSM(141)에 의해 저장된 인증 정보를 가지고 암호 연산을 수행할 수 있게 한다.
HLOS 레벨에서, TLS/SSL 허가 액티비티(191)가 사용될 수 있다. TLS/SSL 지원 라이브러리(131)의 보안 작업을 가능하게 하도록, 애플리케이션은 사용자 인증 정보(예컨대, 패스워드 또는 클라이언트 인증서와 연계된 사설 키)을 사용하기 위한 사용자 허가를 요청할 필요가 있을 수 있다. 허가 요청은 웹 사이트 URL, 또는 다른 서비스 식별자, 및 선택적 사용자-ID를 가지고 안드로이드 인텐트(Android Intent)를 이슈함으로써 이루어질 수 있다. 이것은 웹사이트의 TLS 서버 인증서를 검색하도록 웹 사이트에 HTTP HEAD 요청을 이슈할 수 있는 TLS/SSL 허가 액티비티(191)를 호출할 수 있다. 다음으로 TLS/SSL 허가 액티비티(191)는 일부 이용 가능한 정보, 예컨대 웹 사이트 URL, 서비스 인증서로부터 웹사이트의 일반명(common name), 및/또는 사용자-ID 등을 표시하도록 보안 패스워드 요청을 호출할 수 있다. 사용자-제공 패스워드는 다음으로 해제되거나, 사용자 디지털 인증서 및/또는 패스워드에 접근을 허가할 수 있다.
사용자가 인증 정보의 사용을 허가하면, TLS/SSL 허가 액티비티(191)는 보안 "쿠키(cookie)" 값을 애플리케이션에 반환할 수 있다. 다음으로 보안 "쿠키" 값은 TLS/SSL 지원 라이브러리(131)의 보안 작업을 가능하도록 쿠키 핸들러(192)에 의해 사용될 수 있다. 보안 "쿠키"는 보안 TLS/SSL 지원 모듈(151)에 의해 생성될 수 있다. 보안 "쿠키"는 보안 TLS/SSL 지원 모듈(151)의 쿠키 생성 및/또는 쿠키 증명(verification)을 수행할 수 있는 쿠키 처리기(192)에 의해 증명될 수 있다. 유효하지 않거나 오래된(stale) "쿠키"는 기대되지 않는 자격을 누설하지 않을 수 있다. 예시적인 목적을 위해, 쿠키 처리기(192)는 보안 TLS/SSL 지원 모듈(151)의 부분처럼 표현되었다. 쿠키 처리기(192)는 하나 이상의 다른 모듈, 예를 들면, TLS/SSL 지원 라이브러리(131), SPEM(142), 로컬 암호/복호 서비스 모듈(146) 및/또는 암호-토큰 모듈(147)의 부분으로 구현되거나 연계될 수 있다.
TLS/SSL 지원 라이브러리(131)는 TLS/SSL 라이브러리의 종래 능력을 증가시킬 수 있다. TLS/SSL 지원 라이브러리(131)는 보안 작업을 허가하기 위한 부가적인 모듈을 포함할 수 있다; 이 모듈은 자바 함수(Java function)일 수 있는 API와 연계될 수 있고, TLS/SSL 허가 액티비티(안드로이드 인텐트를 경유하여)를 호출할 수 있고, 그 결과에 따라 내부 상태를 업데이트 할 수 있다. 또한 TLS/SSL 지원 라이브러리(131)는 예를 들면, SSL session object를 (SEE(140)에서 암호/복호를 수행하는)고-비밀 모드로 설정하는 능력을 추가할 수 있는 새로운 함수를 포함할 수 있고, 비밀 사용자 인증 정보의 이용을 가능하게 한다. 이미-액티브한 세션 상에서 모드를 변화하는 것은 TLS/SSL 지원 라이브러리(131)를 TLS 연결의 축약된 재협상을 트리거하게 할 수 있고, 결과적으로 변경된 키를 그 후에 사용되게 한다. TLS/SSL 지원 라이브러리(131)는 또한 새로운 함수를 포함할 수 있다. 새로운 함수는 미리-이네이블된(previously-enabled) 사용자 인증 정보의 이름을 수용할 수 있고, 재작성기(132)가 사용자 인증 정보(credential)의 값을 출력 스트림에 쓰도록 지시할 수 있다. SSL _ session _ object는 이 함수가 사용될 때, 고-비밀 모드일 수 있다.
TLS/SSL 지원 라이브러리(131)는 또한 장치(100)의 HLOS에서 대응하는 TLS/SSL 통합 라이브러리(193)와 인터랙트할 수 있다. TLS/SSL 통합 라이브러리(193)는 예를 들면, 세션 비밀 플래그 또는 파라미터(예컨대 "높음(high)" 및 "낮음(low)" 사이의 토글 또는 반대의 토글)를 설정 및/또는 수정할 수 있는 세션 비밀 모듈(194); 재작성기(132)가 호출될 필요가 있는 것을 식별할 수 있는 재작성기 트리거(195); 및 TLS/SSL 지원 라이브러리(131)와 인터랙트할 수 있고 TLS/SSL 지원 라이브러리(131)로 암호 또는 복호한 데이터를 전송할 수 있는(TLS/SSL 지원 라이브러리(131)로부터 수신할 수 있는) 전송/수신 모듈(196); 을 포함할 수 있다.
내부적으로, TLS/SSL 통합 라이브러리(193)는 HLOS-기반 TLS/SSL 구현의 사본 또는 TLS/SSL 지원 라이브러리(131)에 함수를 보낼 수 있다. 코드의 HLOS 버전은 세션이 고-비밀 모드에 있지 않은 한, SSL _ write / SSL _ read 를 위해 사용될 수 있다. 보안 인증 정보에 접근이 허가되지 않으면, 코드의 HLOS 버전은 세션 수립(예컨대, SSL _ connect)을 위해 사용될 수 있다.
SOM(130)의 컴포넌트는 또한 보안 OS 레벨로 통합될 수 있다. 예를 들면, SOM(130)은 SEE(140)의 제어 하에서 SEE(140)에서 실행되는 모듈들을 포함할 수 있다. 이러한 모듈들은 "보안 애플리케이션"으로써 구현될 수 있다; 그들은 보안 OS 서비스를 이용할 수 있고, 다른 보안 서비스처럼(예컨대 DRM을 위해 사용되는 것처럼) 로드될 수 있다. 보안 모듈들은 예를 들어, 보안 패스워드 입력 모듈(SPEM)(142), 보안 TLS/SSL 모듈(예컨대, 보안 TLS/SSL 지원 모듈(151)), 보안 스토리지 모듈(SSM(141)), 및 암호 파티션 매니저(197)를 포함할 수 있다.
SPEM(142)은 보안 패스워드 입력을 위한 사용자 인터페이스를 구현할 수 있다. SPEM(142)에 의해 수신된 입력은 "패스워드 요청", 예를 들면, 비밀 키를 가지고 모두 서명된 웹 사이트 상세(서비스 인증서로부터 도메인 및 이름) 및 웹 사이트 로그인을 위해 사용할 사용자-ID일 수 있다. SPEM(142)에 의해 생성된 출력은, 패스워드 입력이 옳으면, 보안 컴포넌트 요청 인증에 의해 단독으로 사용되기 위한 암호화된 사용자-특정 및 서비스-특정 보안 스토리지 키일 수 있다. 보안 스토리지 키는 사용자-ID, 서비스-ID 및 부가 데이터를 파라미터로서 이용할 수 있는 결정성 키 유도 함수(deterministic Key Derivation Function (KDF))를 이용하는 장치-전용(device-private) 마스터 키로부터 유도될 수 있다.
보안 TLS/SSL 지원 모듈(151)은 최소 TLS, 예컨대, TLS v1.2,스택을 구현할 수 있고, 다른 모드 등과 같이 AES-기반 기록 페이로드 보호뿐 아니라 DHE_RSA-기반 핸드쉐이크 및 키 교환을 지원할 수 있다. 보안 TLS/SSL 지원 모듈(151)은 서버의 서비스 인증서 및 사용자 인증정보를 포함하는 서비스 파라미터 패키지를 접근함에 의해 초기화될 수 있다. 서비스 파라미터 패키지는 SSM(141)에 저장될 수 있고, 서비스 파라미터 패키지에 대한 접근은 SPEM(142)를 사용하여 제공되는 패스워드를 요구할 수 있다. TLS/SSL 지원 모듈(151)은 아울러 사용자 등록을 가능하게 할 수 있고, 서비스 파라미터 패키지를 생성할 수 있고 보안 스토리지에 (SSM(141)을 통해) 그러한 패키지를 저장할 수 있다.
SSM(141)은 서비스 파라미터 및 사용자 파라미터의 비밀성 및 무결성을 처리할 수 있다. SSM(141)은 다른 보안 모듈로부터(예컨대 TLS/SSL 지원 모듈(151)로부터) 직접적으로 호출될 수 있고, SEE-내부 키를 이용하여 제공되는 데이터의 암호 및 서명을 관리할 수 있다.
암호 파티션 매니저(197)는 로컬 암호 서비스 모듈(146)의 일부분이거나 그로부터 분리될 수 있다. 예를 들면, 암호 파티션 매니저(197)는 위에서 기술한 것처럼, 로컬 데이터 보호 기능을 이용하는 로컬 애플리케이션의 파일 접근 작업에 관련된 데이터의 암호 및 복호를 처리할 수 있다. 일부 실시예에서, 애플리케이션은 로컬 암호 서비스 모듈(146)의 암호 및/또는 복호 기능을 직접적으로 이용할 수 있다. 다른 실시예에서 암호 파티션 매니저(197)는 애플리케이션이 다음에 투명하게 사용할 수 있는 암호화된 파티션을 생성할 수 있다.
로컬 암호/복호 서비스 모듈(146)은 로컬 암호 및 복호 기능을 제공할 수 있다. 각 로컬 애플리케이션의 민감한 데이터는 암호화된 서브-볼륨(sub-volume)으로써 지역적으로 저장될 수 있고, 서브 볼륨은 애플리케이션의 데이터 디렉토리 내부 또는 다른 위치에서 저장되는 파일의 뒤에 위치할 수 있다. 각각의 서브-볼륨은 사용자-ID 및 애플리케이션 식별자(패키지 명)에 의해 파라미터화된 보안 KDF를 이용하여 장치 마스터 키로부터 유도된 다른 키를 사용하여 암호화될 수 있다. 선택적으로 키는 램덤하게 또는 의사-랜덤하게 생성될 수 있다. 암호화는 데이터 섹터를 위한 AES-XTS를 이용할 수 있고, AES-유도 소프 셔플(Thorp shuffle)을 이용하여 섹터 어드레스를 스크램블할 수 있다. 다른 적절한 암호(ciphers) 및/또는 모드가 사용될 수 있다.
초기에(예컨대, 시스템 시작), 민감 데이터 컨테이너(container)는 닫혀 있을 수 있다. 애플리케이션이 민감 데이터에 접근이 필요할 때, 애플리케이션은 암호 파티션 매니저(197)처럼 구현될 수 있는(예컨대 시스템 부트에서 시작되는)"보안 스토리지 매니저" 데몬으로부터 접근을 요청하기 위해 안드로이드 바인더 인터프로세스 통신(Android Binder InterProcess Communication)(IPC) 메커니즘을 호출할 수 있다. 암호 파티션 매니저(197)는 사용자 마스터 키에 접근을 위해 보안 패스워드 요청을 이슈할 수 있다. 암호 파티션 매니저(197)는 리눅스 네트워크 블록 장치(Linux Network Block Device)(NBD) 메커니즘을 사용하여 보호된 볼륨의 탑재(mounting) 또는 탑재해제(un-mounting)를 관리할 수 있고, 이러한 볼륨을 위한 서버-사이드 로직, 백킹 파일(backing files)을 액세스하는 것과 보안 컴포넌트를 이용하여 암호/복호를 실행하는 것을 구현할 수 있다. 암호 및 복호를 위해 사용되는 키는 보안 컴포넌트를 절대 떠나지 않는다. 암호 파티션 매니저(197)는 또한 로컬 애플리케이션이 닫히거나 중지되고, 로컬 애플리케이션을 위해 탑재된 모든 보호된 볼륨을 탑제 해제할 때를 검출하도록 안드로이드 바인더 메커니즘을 이용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 시스템(200)을 설명하기 위해 제공되는 블록도이다. 시스템(200)은 하나 이상의 통신 네트워크, 무선 링크 및/또는 유선 링크 상에서 원격 서버(101)와 통신할 수 있는 모바일 장치(100)를 포함할 수 있다.
서버(101)는 보안 에이전트(198)를 포함할 수 있다, 예를 들면 대체로 SEE(140)와 비슷할 수 있는 보안 컴포넌트 또는 보안 환경을 포함할 수 있다. 시스템(200)의 일부 실시예에서, 장치(100)는 SEE를 포함하지 않을 수 있고, 또는 장치(100)는 SEE를 포함할 수 있지만, 장치(100)의 로컬 SEE는 사용되지 않거나 본 발명에 의해 사용될 필요가 없을 수 있다. 따라서 SOM(130)은 (장치(100)에 SEE 내부에 구현되는 대신에) 서버(101)의 보안 에이전트(198) 내에 구현될 수 있다. 서버(101)의 보안 에이전트(198)는 도 1c의 컴포넌트의 일부 또는 전부의 기능, 특히 링크 보호 암호 모듈(182) 및 비디오 인코더(188)과 연계된 기능을 처리할 수 있는 보안 비디오 생성기(102)를 또한 포함할 수 있다. 보안 비디오 생성기(102)는 온-스크린 스크램블 PIN 패드(또는 다른 적절한 스크램블된 패스워드-입력 인터페이스)를 나타내는 DRM-암호화된 비디오를 생성할 수 있다. 보안 비디오 생성기(102)는 장치(100)의 보안 DRM-인에이블 미디어 플레이어(153)에 DRM-암호화된 비디오를 전달할 수 있고, DRM-인에이블 미디어 플레이어(153)는 차례로 터치-스크린(152) 상에 차례로 DRM-암호화된 비디오를 표시할 수 있다. 터치-스크린(152) 상에 사용자의 터치-이벤트를 포함하는 비디오 피드백(feedback)은 장치(100)의 SP 액티비티(159)와 서버(101)의 보안 에이전트(198)에서 실행되는 원격 SOM(130) 사이에 교환될 수 있다.
SOM(130)은 서버(101)의 보안 에이전트(198) 내부에 구현될 수 있다. 일 실시예에서, SOM(130)은 암호 모듈(143) 및/또는 복호 모듈(144)를 포함할 필요가 없고, 암호/복호 서비스는 장치(100)의 HLOS에 의해 제공될 수 있다. 서버(101)는 보안 에이전트(198)의 SOM(130)의 내부에 클라이언트 인증서 또는 사용자의 패스워드를 사용하여 이용할 수 있는 TLS/SSL 핸드쉐이크 지원 모듈(103)을 포함할 수 있다. 부가적으로 애플리케이션 지원 API(133)는 장치(100)의 내부 대신에 서버(101)의 내부에 마찬가지로 구현될 수 있다. 서버-기반 아키텍처에서, 모바일 장치(100)는 TLS/SSL 지원 모듈(151) 및/또는 증강된 TLS/SSL 라이브러리(131)을 반드시 포함할 필요는 없다. 자신의 증강된 TLS/SSL 라이브러리(131)를 이용하는 대신에, 모바일 장치(100)는 서버(101)의 TLS/SSL 핸드쉐이크 지원 모듈(103)에 의해 지원될 수 있다. TLS/SSL 핸드쉐이크 지원 모듈(103)은 증강된 TLS/SSL 라이브러리(131)와 대체적으로 비슷한 서비스를 제공할 수 있다.
시스템(200)에서, 장치(100)의 HLOS는 서버(101)와 인터랙트를 위한 서버 인터랙션 모듈(104)을 더 포함할 수 있다. (장치(100)는 사용가능한 SEE를 포함하지 않을 수 있기 때문에) 서버 인터랙션 모듈(104)은 HLOS(120)에서 실행될 수 있고, 로직 및 데이터를 보호하도록 데이터 및 제어-흐름 불명료를 이용할 수 있다. 서버 인터랙션 모듈(104)은 서버 장치(100)의 서버 인터랙션 모듈(104) 및 원격 서버(101) 사이에 교환되는 통신을 보호하도록 서버(101)와 공유할 수 있는 장치 내부 키(105)를 이용할 수 있다. 공개 키 암호 방식(Public Key Cryptography)과 같은 다른 키잉 방식(keying schemes)이 유사하게 사용될 수 있다. 장치 내부 키(105)는 안전하게 제공되거나, 미리 정의된 보안 방법으로 장치(100)에 의해 생성될 수 있다.
시스템(200)에서, SPEM(142)은 보안 에이전트(198) 내의 SOM(130)에 포함될 수 있고, 장치(100)의 보안 플레이백 컴포넌트(199)에 (예컨대, 통신 네트워크를 통해) 연결됨으로써 동작할 수 있다. 재작성기(132)는 장치(100) 내부 대신에 서버(101) 상에 상주할 수 있다; 장치(100)의 HLOS(120)는 요구된 재작성을 수행할 수 있는 서버(101)와 인터랙트 하기 위해 서버 인터랙션 모듈(104)를 이용할 수 있다.
시스템(200)에서, 암호화 모듈(143) 및 복호화 모듈(144)은 장치(100)의 HLOS(120)의 부분일 수 있고, 로직-난독화(obfuscated) 폼(form) 및/또는 데이터-난독화로 구현될 수 있다. 이러한 모듈들은 서버 내의 적절한 모듈과 안전하게 통신할 수 있고, 암호/복호 키, 또는 키 요소(key material)가 유도될 수 있는 데이터를 그들이 작업할 수 있는 암호화 모듈(143) 및 복호화 모듈(144)에 전송할 수 있다.
따라서, (SPEM(142)은 서버(101)의 보안 에이전트(198) 내에서 실행되기 때문에) 서버(101)는 사용자의 인증을 초래할 수 있고, 다음으로 장치(100)에 보호되는 방법으로 옳은 키를 보낼 수 있다, 그래서 암호화 모듈(143) 및/또는 복호화 모듈(144) 및/또는 암호 파티션 매니저(197)는 장치(100) 내에서 키를 이용할 수 있다.
시스템(200)에서, 키 생성은 보안 스토리지를 또한 처리할 수 있는 서버(101) 상의 키 생성기(145)에 의해 수행될 수 있다. 시스템(200)은 모바일 장치(100) 상의 SEE를 포함 및/또는 필요로 하지 않을 수 있다. 예를 들면, 보안 패스워드 입력을 위해, 장치(100) 내의 로컬 HLOS 애플리케이션은 서버(101) 상의 SPEM 애플리케이션(142)을 호출할 수 있다. SPEM 애플리케이션(142)은 HLOS로 전달되는 DRM-암호화 비디오, 또는 스크램블된 PIN 패드를 나타내는 이미지를 차례로 생성할 수 있다. HLOS는 터치-스크린(152) 상에 비디오를 렌더링하는 보안 플레이백 컴포넌트를 사용하고, (터치-이벤트 좌표와 같은) 키스트로크(kyestroke)를 캡처링하고 스크램블된 PIN 패드에서 표현되는 스크램블된 키를 가지는 보안 상관(correlation)을 위해 그들을 서버(101)에 재전송할 수 있다.
일부 실시예에서, PIN 패드는 스크램블되지 않을 수 있고, 터치 이벤트를 캡처링할 수 있는 개체(entity) 또는 모듈이 입력된 PIN 또는 패스워드를 판단하는 것을 방지하는 적절한 방법으로 전달될 수 있다.
서버(101)는 장치(100)으로부터 (서버(101) 내의 SP 서비스인증서 서비스 검증기(183)에 의한 검증을 위한) 인증서나 다른 맥락(contextual) 데이터를 수신할 수 있다.
본 발명은 보안 패스워드 인증을 이용하는 웹 사이트 등록 프로세스를 포함할 수 있다. 이 프로세스는 (클라이언트 인증서를 사용하는 것에 의해서 보다는)패스워드를 사용하여 인증이 수행될 때, 모바일 장치의 사용자가 본 발명의 보안 동작 모듈(Secure Operations Module)(SOM)을 사용하여 보안 인증을 위한 새로운 웹 사이트를 등록하는 것을 가능하게 한다.
모바일 장치의 사용자는 모바일 장치 상에서 실행되는 웹 브라우저 애플리케이션을 사용하여 새로운 웹 사이트(예를 들면, https ://www.Bank.com)를 네비게이팅 할 수 있다. 브라우저는 보안 연결을 지시하는 "https" 접두부(prefix)를 포함하는 URL을 검출할 수 있고, 따라서 브라우저는 보안 TLS/SSL 지원 모듈(151)의 TLS/SSL 통합 라이브러리(193)을 초기화할 수 있다.
TLS/SSL 통합 라이브러리(193)는 등록된-사이트 데이터베이스에 질의할 수 있고, 이 특정 웹 사이트가 아직 등록되지 않았는지 검출할 수 있다. TLS/SSL 통합 라이브러리(193)는 비-등록된-웹 사이트의 (영구적이지 않은)캐쉬를 질의할 수 있고, 이 특정 웹 사이트가 리스트되지 않은 것을 검출할 수 있다. 비-등록된-사이트 캐쉬는 비-참여 웹 사이트에 대한 반복된 등록 테스트를 방지할 수 있다.
TLS/SSL 통합 라이브러리(193)는 웹 사이트의 서비스 인증서를 웹 사이트와 연계된 URL로부터(예컨대, http://www.Bank.com/SecureMobileCertificate로부터) 인출할 수 있고, TLS/SSL 지원 라이브러리(131)에 의해 인출된 서비스 인증서의 유효성을 검증하도록 인증서를 전달할 수 있다. 예를 들면, 인증서 서명은 SEE(140) 또는 원격 서버(101)에서 하드코드(hardcode) 될 수 있는 참조 공개 키에 대응하는 확인을 할 수 있고, 그 다음에 포맷 및 유효기간 만료가 검증될 수 있다. 선택적으로 온라인 인증서 상태 프로토콜(Online Certificate Status Protocol)(OCSP) 또는 철회(revocation) 상태를 얻기 위한 다른 적절한 프로토콜이 이용될 수 있다.
사용자는 웹 사이트 등록을 위한 사용자의 확인 또는 허가에 대해 웹 사이트 등록 모듈(137)에 의해 문의될 수 있다. 그리고 사용자는 탭핑, 클릭, 선택 또는 장치(100) 상에 표시되는 적절한 UI 요소를 활용하는 다른 것에 의해 그의 승인을 표시할 수 있다.
TLS/SSL 지원 라이브러리(131)는 웹 사이트를 보안 등록된-웹 사이트 데이터베이스에 추가할 수 있고, 이 장치(100) 상에 이 웹 사이트를 위한 보안 TLS의 사용을 가능하게 할 수 있다. 예를 들면, 등록된 각 서비스를 위해, 인증서(예컨대, 피닝(pinning) 정보) 및 사용자가 등록할 때 입력한 사용자 인증정보(예컨대, 클라이언트 인증서 또는 재작성기(132)와 함께 사용되는 인증정보)로부터 데이터를 포함하는 보안 스토리지(149)에서의 기록이 있을 수 있다. 사용자가 서비스 인증서를 가지고 웹 사이트에 대한 등록을 할 때, 이러한 데이터 아이템은 보안 스토리지(149) 내의 기록에 덧붙여질 수 있다. 그리고 다음으로, 사용자가 그러한 데이터가 존재할 때 사이트 또는 서비스에 다시 로그인할 때, 데이터는 그 기록으로부터 획득될 수 있고, 자동적으로 사용될 수 있다.
브라우저는 웹 사이트 로그인 페이지를 인출할 수 있고, 장치(100) 상에 사용자에게 표시할 수 있다. 사용자는 로그인 상세(예컨대, 웹 사이트에 접속하기 위해 사용자가 이용하는 사용자 이름 및 패스워드)를 로그인 폼 상에서 입력할 수 있고, 브라우저가 웹 사이트에 로그인 상세를 제출하게 명령할 수 있다.
서비스 인증서가 그렇게 지시하면, 다음으로 사용자는 영숫자 키패드(예컨대, 온-스크린 키패드 또는 온-스크린 키보드)를 지원하는 보안 UI 상에 로그인 상세를 입력하도록 요청되거나 유도될 수 있다. 사용자는 안전하게 그의 로그인 상세를 HLOS 상에서 실행되는 코드에 의해 로그인 상세를 가로채기 당하지 않는 방법으로 입력할 수 있다
브라우저는 TLS/SSL 지원 라이브러리(131)에 사용자에 의해 선택된 사용자-ID와 함께, 웹 사이트에 대한 보안 인증 정보(credential)를 저장하도록 요청할 수 있다. 보안 인증 정보는 SSM(141)을 통해 보안 스토리지(149)에 저장될 수 있고, 예를 들면, "패스워드" 타입을 가지는 폼 필드(form fields)(또는 선택적으로 웹 사이트의 로그인 페이지의 모든 폼 필드)를 포함할 수 있다. 브라우저는 로컬 폼-데이터 히스토리 데이터베이스 내에 비-보안 필드를 (예컨대 비보안적으로)저장할 수 있다. 언급된 사용자-ID는 사용자가 웹 사이트와 연계될 수 있는 "사용자이름"이 아니고, 사용자-ID는 사용자에게 제공된 리스트로부터 사용자에 의해 선택될 수 있다(예컨대 이 옵션은 모바일 장치가 다수의 사용자에 의해 공유될 때 사용될 수 있다).
TLS/SSL 지원 라이브러리(131)는 제1 등록 지시(indication)뿐 아니라 사이트 도메인("Bank.com") 및 인증서 일반명(CN)을 리스팅하여 보안 패스워드 입력 요청을 SPEM(142)에 이슈할 수 있다. 등록 요청에 대응하여, 사용자는 패스워드를 입력할 수 있다. 다음으로 비밀 데이터는 보안 저장소에서 SSM(141)에 의해 영구적으로 파일될 수 있다. 일부 실시예에서, 먼저 사용자는 그의 "실제" 패스워드(반드시 모바일 장치를 통할 필요는 없고, 사용자가 웹 사이트를 위한 로그인을 위해 규정한 패스워드)를 입력해서, 모바일 장치(100) 내에 기록되게 할 수 있다. 현재 단계에서, 로그인을 승인하고 개시되게 하기 위해 사용자는 보조 패스워드 또는 PIN(보안 PIN 입력 인터페이스를 이용하여)을 입력할 수 있다.
브라우저는 TLS/SSL 연결을 통해 웹 사이트에 폼 데이터를 제출할 수 있다. 브라우저는 TLS 연결을 저-비밀 모드로 스위칭하여, 키 재협상을 일으킬 수 있다. 다음으로 TLS 지원 모듈(151)의 TLS/SSL 지원 라이브러리(131)로부터 부가적인 작업을 요구하지 않고도 세션은 계속될 수 있다. 기록 페이로드 보호는 TLS/SSL 통합 라이브러리(193)에 의해 HLOS 라이브러리 내에서 수행되는 동안에, 모든 TLS 키-교환 작업은 SEE에서 수행될 수 있다. 예를 들면, 등록 버전과 다른 인증서 파라미터를 제출하는 공격은 에러를 초래할 수 있다.
등록 해제(dis-enrollment)는 사용자에게 이미 그가 등록한 서비스 및/또는 웹 사이트의 리스트를 보여주는 UI를 이용하여 구현될 수 있고, 리스트 상의 아이템을 사용자가 선택하여 제거 또는 삭제를 요청하여, 리스트 상에서 적절한 기록이 보안 스토리지(149)로부터 삭제될 수 있다. 일부 실시예에서, 사용자는 이전-등록된 웹 사이트 또는 서비스를 위한 모바일 PIN 또는 패스워드를 할당된 UI 컴포넌트 또는 프로세스를 통하거나, 웹 사이트(또는 서비스)를 등록해제하고 새로운 패스워드 또는 PIN과 함께 다시 등록함으로써 수정할 수 있다. 반드시 모바일 장치와 연결될 필요 없이, 사용자가 웹 사이트(또는 서비스)로 로그인하기 위해 사용한 패스워드를 변경하면, 장치(100)의 SOM(130)을 통한 자동 로그인은 실패할 수 있고, 사용자는 등록 해제를 하고 다음으로 보안 스토리지(149)로 새로운 패스워드를 적기 위해 모바일 장치(100)를 통해 웹 사이트를 재등록할 필요가 있다.
본 발명은 본 발명에 따른 보안 패스워드 인증을 이용함으로써 사전-등록된 웹 사이트에 대한 사용자 로그인 처리를 또한 포함할 수 있다.
모바일 장치의 사용자는 모바일 장치 상에서 실행되는 웹 브라우저를 이용하여 사전-등록된 웹 사이트(예컨대, https ://www.Bank.com)를 네비게이션할 수 있다. 브라우저는 URL이 보안 연결을 지시하는 "https" 접두부를 포함하는 것을 검출할 수 있고, 브라우저는 따라서 TLS/SSL 통합 라이브러리(193)를 초기화할 수 있다.
TLS/SSL 통합 라이브러리(193)는 등록-사이트 데이터베이스를 질의할 수 있고, 특정 웹 사이트가 이미 등록된 것을 검출할 수 있다. TLS/SSL 통합 라이브러리(193)는 웹 사이트와 연계된 URL(예컨대 http://www.Bank.com/ SecureMobileCertificate)로부터 서비스 인증서를 인출할 수 있고, 인출된 서비스 인증서의 유효성 검증을 트리거(trigger)할 수 있다. 서비스 인증서는 다른 위치에서 인출되거나 얻어질 수 있으며, 반대로 다른 장치가 이용가능할 수도 있다.
TLS/SSL 통합 라이브러리(193)는 사이트 도메인("Bank.com") 및 인증서 일반명(CN)을 리스팅하여 보안 패스워드 입력 요청을 SPEM(142)에 이슈할 수 있다. 등록 요청에 응답하여, 사용자는 패스워드를 입력할 수 있다.
TLS/SSL 통합 라이브러리(193)는 높은-보안을 가능하게 할 수 있다. 일부 실시예에서, 예를 들면, 본 발명은 SEE(140)에서 실행되는 TLS를 위한 지원 라이브러리, 예컨대 TLS/SSL 지원 라이브러리(131)를 사용하는 방법을 알 수 있는HL0S에서 증가된 TLS 구현을 제공할 수 있다. 비-보안 모드(또는 낮은 비밀 모드)에서, HLOS의 TLS 라이브러리는 핸드쉐이크가 SEE(140)의 TLS/SSL 지원 라이브러리(131)를 아용하여 수행될 수 있는 것을 제외하고는 종래 TLS 라이브러리와 유사하게 동작할 수 있다. 보안 모드(또는 높은 비밀 모드)에서, HLOS의 TLS 라이브러리는 세션 트래픽의 암호 및 복호 등을 위해 TLS/SSL 지원 라이브러리(131)를 이용할 수 있다. 비밀 모드를 나타내는 플래그 또는 다른 파라미터는 TLS를 이용하는 애플리케이션(또는 브라우저)에 의해 설정되거나 수정될 수 있다. 그리고 서비스 인증서는 그 값이어야 하는 것을 나타내거나 또는 강제할 수 있고, 애플리케이션은 그것을 변경할 수 없다. 예를 들면, 애플리케이션은 서비스 인증서가 이 애플리케이션이 보안 보드(높은 비밀 모드)로 유지되어야 하는 것을 지시하지 않으면, 비-보안 모드(낮은 비밀 모드)에서 TLS가 동작하도록 요청하는 것을 결정할 수 있다.
브라우저는 웹 사이트 로그인 페이지를 인출할 수 있고, 사용자에게 장치(100) 상에서 디스플레이할 수 있다. 선택적으로, 브라우저는 하나 이상의 비밀이 아닌 필드의 디폴트(default) 값을, 예컨대 브라우저의 로컬 폼 데이터 데이터베이스로부터 인출할 수 있다.
브라우저는 예컨대 서비스 인증서 내의 데이터에 의해 지시됐다면, 비밀 필드로 가짜(mock) 값을 삽입할 수 있다.
사용자는 브라우저가 웹 사이트에 로그인 상세를 제출하도록 명령할 수 있다. 브라우저는 TLS/SSL 연결을 통해 웹 사이트로 로그인 폼을 전달할 수 있다. 전송 프로세스 동안, 브라우저가 비밀 필드에 접근할 때, 자신이 가진 가짜 값을 쓰는 대신에, 브라우저는 보안 스토리지 데이터베이스에 이미 기록된 값을 사용하도록 TLS/SSL 지원 라이브러리(131)에 요청할 수 있다. 일부 실시예에서, 브라우저는 웹 브라우저 또는 다른 클라이언트-측 애플리케이션일 수 있고, TLS/SSL 지원 라이브러리(131)의 서비스를 이용하도록 수정되거나 조정될 수 있다.
재작성기(132)는 제출된 HTML 페이지를 가짜 값 대신에 TLS/SSL 지원 라이브러리(131)의 데이터베이스로부터 실제 인증 정보를 포함하도록 재작성할 수 있다. TLS/SSL 지원 라이브러리(131)는 제출된 페이지를 TLS/SSL 상에 다른 기록을 암호화하는 것과 비슷하게 암호화할 수 있다.
브라우저는 HLOS에서 TLS/SSL 통합 라이브러리(193)와 통신할 수 있고, SEE(140)에서 TLS/SSL 지원 라이브러리(131)로부터 서비스를 차례로 이용할 수 있다. 예를 들면, HLOS에서 TLS/SSL 통합 라이브러리(193)는 SEE(140) 내의 TLS/SSL 지원 라이브러리(131)가 인증 정보를 삽입하도록 요청할 수 있다. SEE(140) 내의 TLS/SSL 지원 라이브러리(131)는 TLS 통합 라이브러리(193)을 통해 전송되어 수신되는 데이터를 이용하여 원격 서버와 핸드쉐이크를 수행한다. 높은 비밀 모드에서, SEE(140) 내의 TLS/SSL 지원 라이브러리(131)는 세션 암호화를 수행한다. 반면 낮은 비밀 모드에서는 TLS/SSL 통합 라이브러리(193)는 세션 암호화를 수행한다.
브라우저는 낮은 비밀 모드로 TLS 연결을 스위칭할 수 있고, 키 재협상을 초래할 수 있다. 다음으로 세션은 TLS 지원 모듈(151)의 TLS/SSL 지원 라이브러리(131)로부터 부가적인 작업을 요구하지 않고 계속될 수 있고, 기록 페이로드 보호는 HLOS 라이브러리 내에서 수행되는 동안에, 모든 TLS 키-교환(예컨대, 핸드쉐이크) 작업을 SEE 내에서 수행될 수 있다. 예를 들면, 등록된 버전과 다른 인증서 파라미터 제출하는 공격은 에러를 초래할 수 있다.
본 발명은 또한 본 발명에 따른 보안 패스워드 인증을 사용하기 위한 애플리케이션의 등록 프로세스를 포함할 수 있다. 인증이 (클라이언트 인증서를 이용하는 것보다) 패스워드를 이용하여 수행될 때, 상기 프로세스는 모바일 장치의 사용자가 본 발명의 보안 작동 모듈(SOM)을 사용하는 보안 인증을 위한 애플리케이션(또는 웹 브라우저를 통해 액세스할 수 있거나 실행될 수 있는 다른 애플리케이션)을 등록하는 것을 허가할 수 있다. 용어 "애플리케이션"은 예를 들면, 적어도 부분적으로 지역적으로 모바일 장치 상에 설치되는(또는 지역적으로 상주할 수 있는)및/또는 모바일 장치 상에 마침내 부분적으로 실행될 수 있는 및/또는 웹 브라우저의 외부에서 원격 서버와 모바일 장치의 통신을 요구할 수 있는 소프트웨어 애플리케이션을 포함할 수 있다.
모바일 장치의 사용자는 애플리케이션을 시작할 수 있다. 애플리케이션은 보안 TLS/SSL 지원 모듈(151)의 TLS/SSL 지원 라이브러리(131) 뿐만 아니라 TLS/SSL 통합 라이브러리(193)을 초기화할 수 있고, TLS/SSL 지원 라이브러리(131)에게 클라우드 서버 어드레스(예를 들면, http://www.Bank.com)를 알려줄 수 있다. 일부 실시예에서, 로컬 애플리케이션은 HLOS의 TLS 통합 라이브러리(193)과 통신할 수 있고, 차례로 서비스가 등록되었는지 여부를 확인할 수 있다(예컨대 직접 확인하거나 SEE(140) 내의 TLS/SSL 지원 라이브러리(131)가 확인하도록 요청할 수 있다).
예를 들면, 서비스가 등록되지 않았으면, HLOS의 TLS 통합 라이브러리(193)는 서비스 인증서의 인출을 시도할 수 있다. 선택적으로 TLS/SSL 지원 라이브러리(131)는 등록된 애플리케이션 데이터베이스를 질의할 수 있고, 특정 애플리케이션이 아직 등록되지 않았는지 확인할 수 있다. TLS/SSL 지원 라이브러리(131)는, TLS/SSL 통합 라이브러리(193)를 통해, 서비스와 연계된 URL(예컨대, http://www.Bank.com/SecureMobileCertificate) 또는 다른 서비스 인증서(들)의 적절한 위치 또는 저장소로부터 서비스 인증서를 인출할 수 있고, 인출된 서비스 인증서의 유효성을 검증할 수 있다.
TLS/SSL 지원 라이브러리(131)는 보안 등록 애플리케이션 데이터베이스에 이 애플리케이션을 추가할 수 있고, 장치(100) 상에 이 애플리케이션을 위한 SEE-인에이블된 TLS의 사용을 가능하게 할 수 있다.
애플리케이션은 애플리케이션에 의해 제공되는 온-스크린 UI를 통하거나 TLS/SSL 지원 라이브러리(131)와 연계된 보안 UI를 통해서 사용자로부터 로그인 상세(예컨대 사용자 이름 및 패스워드)를 획득할 수 있다.
서비스 인증서가 그렇게 지시하면, 다음으로 사용자는 다음으로 사용자는 영숫자 키패드(예컨대, 온-스크린 키패드 또는 온-스크린 키보드)를 지원하는 보안 UI 상에 로그인 상세를 입력하도록 요청되거나 유도될 수 있다. 사용자는 안전하게 그의 로그인 상세를 HLOS 상에서 실행되는 코드에 의해 로그인 상세를 가로채기 당하지 않는 방법으로 입력할 수 있다
애플리케이션은 TLS/SSL 지원 라이브러리(131)에 사용자에 의해 선택된 사용자-ID와 함께, 이 애플리케이션에 대한 보안 크리덴셜(credential) 정보를 저장하도록 요청할 수 있다. 이 애플리케이션은 TLS/SSL 지원 라이브러리(131)에 어떤 필드(들) 또는 데이터 아이템(들)이 (예컨대 사용자 패스워드만 또는 다른 데이터 아이템들도 함께) 보안 저장을 요구하는지 그리고 요구되는 필드(들)의 콘텐츠(content)가 저장될 수 있는지를 지시할 수 있다.
TLS/SSL 지원 라이브러리(131)는, TLS/SSL 통합 라이브러리(193)을 통해, 제1 등록 지시(indication)뿐 아니라 애플리케이션의 이름(예컨대 "Bank.com") 및 인증서 일반명(CN)을 리스팅하여 보안 패스워드 입력 요청을 SPEM(142)에 이슈할 수 있다. 등록 요청에 대응하여, 사용자는 패스워드를 입력할 수 있다. 애플리케이션은 로그인 요청을(예컨대 SOAP(Simple Object Access Protocol) 또는 JSON(JavaScript Open Notation) 표준 등을 사용하여) TLS/SSL 연결을 통해 애플리케이션의 서버로 제출할 수 있다.
TLS/SSL 통합 라이브러리(193)가 시스템의 보안 모듈들이 하나 이상의 태스크(task)를 수행하게 하도록 동작할 수 있는 것으로 이해될 수 있다. 예시적인 실시예에서, 증강된 TLS/SSL 라이브러리(131)는 SEE(140) 내의 보안 라이브러리일 수 있지만 트리거되지 않거나 트리거될 때까지 동작하지 않을 수 있다. 예컨대 증강된 TLS/SSL 라이브러리(131)에 입력을 제공하고 증강된 TLS/SSL 라이브러리(131)로부터 출력을 수신할 수 있는 TLS/SSL 통합 라이브러리(193)에 의해 트리거되지 않거나 트리거될 때까지 증강된 TLS/SSL 라이브러리(131)는 동작하지 않을 수 있다. 예를 들면, SEE(140) 내의 2개의 보안 모듈은 서로 직접 통신하지 않을 수 있고, 요구된 프로세스를 시작시킬 수 있는 TLS/SSL 통합 라이브러리(193)의 간접적 동작을 요구할 수 있다. (예컨대, 인증서를 검증할 때, TLS/SSL 통합 라이브러리(193)는 네트워크 소켓을 열어서, 인증서를 획득하고 증강된 TLS/SSL 라이브러리(131)에 파라미터로서 인증서를 보낼 수 있다; 또는 증강된 TLS/SSL 라이브러리(131)가 SPEM(142)에 의해 PIN 입력을 트리거링하는 것을 요청할 때, 증강된 TLS/SSL 라이브러리(131)는 그러한 요청을 TLS/SSL 통합 라이브러리(193)에 응답으로써 보고하고, 차례로 SPEM(142)을 동작하도록 트리거할 수 있다).
선택적으로, 애플리케이션은 TLS 연결을 낮은-비밀 모드로 전환할 수 있고, 키 재협상을 초래할 수 있다. 다음으로 세션은 TLS/SSL 지원 라이브러리(131)로부터 부가적인 작업을 요구하지 않고 계속될 수 있고, 기록 페이로드 보호는 HLOS 라이브러리 내에서 수행되는 동안에, 모든 TLS 키-교환 작업을 SEE 내에서 수행될 수 있다. 예를 들면, 등록된 버전과 다른 인증서 파라미터 제출하는 공격은 에러를 초래할 수 있다.
본 발명은 부가적으로 본 발명에 따른 보안 패스워드 인증을 이용하여 사전-등록된 애플리케이션을 사용자가 호출하는 프로세스를 포함할 수 있다.
모바일 장치의 사용자는 애플리케이션을 시작할 수 있다. 이 애플리케이션은 TLS/SSL 통합 라이브러리(193)을 초기화할 수 있고, TLS/SSL 통합 라이브러리(193)에 클라우드 서버 어드레스(예를 들면, https ://www.Bank.com)을 알려줄 수 있다.
TLS/SSL 지원 라이브러리(131)는 등록 애플리케이션 데이터베이스를 질의할 수 있고, 이 특정 애플리케이션이 이미 등록되었는지 확인할 수 있다.
TLS/SSL 지원 라이브러리(131)는, TLS/SSL 통합 라이브러리(193)와 결합하여, 애플리케이션과 연계된 URL로부터(예컨대 http://www.Bank.com/ SecureMobileCertificate로부터) 애플리케이션의 서비스 인증서를 인출할 수 있고, 인출된 서비스 인증서의 유효성을 검증할 수 있다.
TLS/SSL 지원 라이브러리(131)는, 애플리케이션의 이름(예컨대 "Bank.com") 및 인증서 일반명(CN)을 리스팅하여 보안 패스워드 입력 요청을 SPEM(142)에 이슈할 수 있다. 등록 요청에 대응하여, 사용자는 패스워드를 입력할 수 있다.
TLS/SSL 지원 라이브러리(131)는 높은-보안 동작(예컨대, SEE-인에이블된 TLS)를 가능하게 할 수 있다.
애플리케이션은 로그인 요청을(예컨대 SOAP(Simple Object Access Protocol) 또는 JSON(JavaScript Open Notation) 표준 등을 사용하여) TLS/SSL 연결을 통해 애플리케이션의 서버로 제출할 수 있다. 제출 프로세스 동안, 애플리케이션이 비밀 필드(예컨대 패스워드 필드)에 접근할 때, 애플리케이션은 TLS/SSL 지원 라이브러리(131)에 애플리케이션 데이터베이스 내에 지역적으로 안전하게 저장된 인증값(credential value)을 삽입하도록 요청할 수 있다. 재작성기(132)는 제출된 요청을 원격 서버에 전송하기 전에 재작성하여, 제출된 요청이 로컬 애플리케이션 데이터베이스로부터 얻은 진짜 인증값을 (애플리케이션 또는 서버 인증서에 의해 지시된 필드 또는 위치에) 포함하게 된다. TLS/SSL 지원 라이브러리(131)는 제출된 요청을 TLS/SSL 상에 다른 기록을 암호화하는 것과 비슷한 방법으로 암호화한다.
애플리케이션은 TLS 연결을 통해 원격 서버로부터 응답을 수신하고, 세션 정보를 (예컨대 "쿠키" 또는 다른 메커니즘을 이용하여) 저장할 수 있다.
선택적으로 애플리케이션은 낮은 비밀 모드로 TLS 연결을 전환할 수 있고, 키 재협상을 초래할 수 있다. 다음으로 세션은 TLS 지원 모듈(151)의 TLS/SSL 지원 라이브러리(131)로부터 부가적인 작업을 요구하지 않고 계속될 수 있고, 기록 페이로드 보호가 HLOS 라이브러리 내에서 수행되는 동안에, 모든 TLS 키-교환 작업은 SEE 내에서 수행될 수 있다. 예를 들면, 등록된 버전과 다른 인증서 파라미터 제출하는 공격은 에러를 초래할 수 있다.
본 발명의 일부 실시예는, 예를 들면 범용 키(general-purpose key) 보안 스토리지를 선택적으로 포함할 수 있다. 예를 들면, 클라이언트 인증서, 패스워드 및 대칭 키를 저장하기 위해 사용되는 SSM(141)은 예컨대 대칭 키 및/또는 비대칭 키와 같은 범용 키 요소의 스토리지를 위해서도 사용될 수 있다. 본 발명의 일부 실시예는 예를 들면 키 제공(key provisioning)을 선택적으로 포함할 수 있다. 이것은 예를 들면, 서비스 제공자로부터 SSM(141)에 직접적으로 키 요소의 보안 공중(over-the-air) 제공을 허가할 수 있다. 본 발명의 일부 실시예는 예를 들면, 보안-토큰 능력을 선택적으로 포함할 수 있다. 이러한 능력은 상기한 키 요소을 이용하여 인증 및 디지털 서명 연산 작업을 가능하게 할 수 있다. 본 발명의 일부 실시예의 상기한 기능은 보안 동작 모듈의 기능을 TLS/SSL 연결을 반드시 사용하지 않고 넓은 범위의 서비스 제공자의 모든 인증 및 허가 요구를 제공할 수 있는 범용 원격-제공 암호 모듈로 확장할 수 있다.
일부 실시예에서, 등록은 웹 사이트 상에서 수행될 수 있고, 다음으로 웹 사이트는 장치(100)에 등록 정보를 전달할 수 있고, 보안 스토리지에 데이터를 직접적으로 삽입할 수 있다. 서비스 제공자가 보안 스토리지에 키를 삽입하기 위해 제공 프로토콜(provisioning protocol)을 사용할 수 있는 방법과 마찬가지로, 서비스 제공자는 위에서 기술한 것처럼 사용자 등록 프로세스에 의해 삽입된 값을 보안 스토리지로 저장되게 하기 위해 비슷한 메커니즘을 사용할 수 있다. 따라서 등록이 사용자의 행동 없이도 수행될 수 있기 때문에, 사용자는 서비스 등록을 수행할 필요가 없을 수 있다.
도 3은 본 발명의 일 실시예에 따른 상인 또는 판매자의 PoS(Point of Sale) 단말에서 사용자를 인증하는 방법을 설명하기 위해 제공되는 흐름도이다. 도 3을 참고하면, PoS 단말은, 예를 들면, 결제 카드 리더기와 연계되어 동작할 수 있는 터치-스크린을 가지는 단말을 포함할 수 있다.
PoS 단말은 스크램블된 PIN 인터페이스를 터치-스크린 상에 표시할 수 있다(단계 310). 사용자는 카드 리더기를 통해 결제 카드를 긁을 수 있다(또는 카드 리더기에 결제 카드를 삽입할 수 있다)(단계 320). 사용자는 스크램블된 PIN 인터페이스를 통해 PIN을 입력할 수 있다(단계 330). 예를 들면, 입력된 PIN은 (예컨대 EMV 표준 또는 다른 적절한 표준마다) 결제 카드에 대응하거나 결제 카드 발행인의 서버에 대응하여 확인될 수 있다(단계 340). 여기서 사용되는 용어 "긁히기(swipe)"는, 예를 들면 결제 카드를 카드 리더기를 통해 슬라이딩하기, 카드 리더기로 결제 카드를 삽입하기 및/또는 카드 리더기로부터 결제 카드를 제거하기, 결제 카드 및 카드 리더기 사이에 접촉을 생성하기, 또는 카드 리더기가 결제 카드의(마그네틱 띠 또는 칩으로부터) 데이터를 읽게 하기 위한 행동을 수행하는 것 등을 포함할 수 있다.
본 발명의 선택적 실시예에서, 사용자는 상기한 것처럼 카드 리더기에서 결제 카드를 긁힐 수 있지만, 다음으로 (상인의 단말 상에서보다는) 모바일 장치 상에 PIN을 입력할 수 있고, PIN 입력을 위해 모바일 장치 상에 스크램블된 PIN 인터페이스를 이용할 수 있다. 그리고 사용자 모바일 장치는 다음으로 PIN을 암호화된 형식으로 위에서 처럼 카드 발행인에게 전송할 수 있고, 응답을 수신하여 상인의 결제 단말에 (예컨대 암호화된) 확인 코드를 전달할 수 있다. 다른 적절한 동작이나 방법이 사용될 수도 있다.
본 발명의 다른 실시예에서, 입력된 PIN은 카드 발행인에 의해 검증되지 않을 수 있고, 예를 들면 EMV 카드 검증 표준 또는 방법에 기초하여 결제 카드 자체에서 검증될 수 있다. 그러한 경우에, PIN은 암호화될 수 있고 결제 카드에 전달될 수 있고, 결제 카드는 차례로 확인을 수행하고 검증 응답을 회신할 수 있다. 본 발명의 일부 실시예에서, 모바일 장치(100)는 옳은 PIN을 알 수 없지만, 모바일 장치(100)는 모바일 장치(100)의 외부의 다른 모듈에 검증 목적으로 사용자 입력을 수신하여, 암호화하고, 전송하는 것으로 신뢰될 수 있다.
본 발명의 보안 패스워드는 예를 들면, PIN, 패스워드, 클라이언트 인증서(Client-Cert), 애플리케이션 키(App-Key), 서비스 승인(Accreditation) 데이터, 및 내부 ROT(Root-of-Trust) 등과 같은 애셋들(assets)을 포함하는 보안 모델을 이용함으로써 구현될 수 있다. 보안 모델은 사용자를 안전하게 인증하는 것과 안전하게 저장된 인증정보(credential) 중 하나와 관련된 인증 행동을 수행하려는 의도를 목적으로 하고, 이러한 인증 행위를 수행하기 위한 시스템을 구현하는데 사용될 수 있다.
PIN은 주어진 사용자-ID를 가지는 사용자가 자신을 인증하는 것과 인증하려는 의도를 가능하게 할 수 있다. 패스워드는 주어진 제공자-ID를 가지는 서비스 제공자에게 주어진 사용자-ID의 사용자를 인증하는데 사용될 수 있는 하나 이상의 텍스트 인증 정보(들)일 수 있다. 패스워드 애셋은 전형적으로 사용자-식별자 및/또는 사용자-지정 패스워드일 수 있다.
Client-Cert는 (서비스에 의해 지원되면) TLS/SSL 프로토콜 상에서, 주어진 사용자-ID를 가진 사용자를 주어진 서비스-ID와 연계된 서버에 인증하는데 사용되는 클라이언트 X.509일 수 있다. 앱-키(App-Key)는 주어진 사용자-ID의 사용자 및 주어진 서비스-ID에 연계된 애플리케이션을 위한 지역적으로 생성된 대칭 키일 수 있고, 지역적으로 저장된 데이터를 보호하기 위한 애플리케이션에 의해 사용될 수 있다.
서비스 승인(Accreditation) 데이터는 주어진 서비스-ID, TLS에서 사용되는 서버 인증서 프로퍼티(properties) 및 관련 파라미터를 사용하도록 서비스 제공자의 허가를 나타내는 값을 포함하는 구조일 수 있다. 내부 ROT는 SEE(140)에 저장된 내부 대칭 키일 수 있고, 보안 스토리지를 위한 ROT로서 역할할 수 있다.
본 발명은 플랫폼이 보안 실행 환경(SEE)을 포함하는 것을 요구할 수 있다. SEE는, 예를 들면, 보안 OS와 결합 가능한 ARM 트러스터존(TrustZone)에 의해 제공되는 환경일 수 있다. SEE에서 실행되는 코드는 (저장중이거나 실행 중에) 수정되는 것으로부터 보호될 수 있고, 제어 흐름이 공격자에 의해 간섭되거나, (데이터를 포함하는) 실행 상태가 공격자에 의해 드러내지거나 변경되는 것으로부터 보호될 수 있다.
본 발명은 플랫폼이 보안 ROT(Root-of-Trust)를 포함하는 것을 요구할 수 있다. 예를 들면, 모바일 장치 상에서 또는 모바일 장치 밖에서 또 다른 엔티티(entity) 또는 다른 애플리케이션에 드러내지지 않는 (또는 수정되어지지 않는) 방법으로 적절한 엔트로피의 보안 대칭 키가 보안 패스워드 솔루션의 보안 코드에 이용가능한 것이 요구될 수 있다. ROT 키는 보안 패스워드 솔루션이 이용할 수 있는 보안 스토리지를 가능하게 하는데 사용될 수 있다.
본 발명은 또한 모바일 플랫폼이 SEE 내에서 실행되는 코드가, HLOS 상에 실행되는 코드(예컨대 또 다른 로컬 애플리케이션 또는 악성웨어 모듈)에 의해 노출되는 것 및/또는 간섭되는 것 없이 디바이스 스크린 상에, 전체 화면으로, 렌더링될 수 있는 미디어 콘텐츠 (이미지 및/또는 비디오)를 생산하여 전송하는 것을 가능하게 하는 보안 비디오 경로를 포함하는 것을 요구할 수 있다.
본 발명은 하나 이상의 적절한 타입의 공격자 또는 공격 엔터티, 예를 들면, 모바일 장치의 영구적 불법 점유자(예컨대, 모바일 장치를 훔친 도둑, 잃어버린 모바일 장치를 찾고 합법적 소유자에게 돌려주지 않은 사람); 모바일 장치의 일시적인 불법적 관리를 획득한 임시 불법 점유자(예컨대 모바일 장치가 몇 분 동안 주인이 옆에 없는 상태로 놓인 경우), 타겟화된 악성웨어 모듈(예컨대, 특정 사용자를 공격하도록 만들어진) 및/또는 다른 적절한 타입의 공격자 또는 공격(예컨대, 중간자 공격(man-in-the-middle attacker), "피싱(phishing)" 공격, 부채널 공격(side-channel attack) 등)으로부터 모바일 장치, 통신 시스템 및/또는 모바일 장치의 사용자를 보호할 수 있다.
본 발명은 다양한 타입의 공격, 예를 들면, 오프라인 공격, 실행 시간 공격, 및/또는 API 공격에 대해 보호할 수 있다. 오프라인 공격은 장치의 실행 환경을 통하지 않고(예컨대, 코드 실행을 위해 모바일 장치, CPU 또는 그와 유사한 것에 의해 제공되는 서비스를 통하지 않고) 우회 수단을 사용하여 값을 읽거나 변경하는 것을 포함할 수 있다. 오프라인 공격은 예를 들면, 장치 전원이 꺼졌을 때 물리적으로 연결된 컨트롤러를 직접 사용하여 플래쉬 메모리를 읽는 것을 포함할 수 있다. 실행 시간 공격은 예를 들면, 메모리(RAM) 또는 CPU 레지스터의 콘텐츠(contents)를 드러나도록 디버거를 실행하는 것, 코드(애플리케이션 및/또는 OS)의 부분 교체, 장치 리플래싱(re-flashing)에 의해 실행 환경이 수행하는 코드를 수정하는 것 등, 보안 패스워드의 의도된 API의 밖에서 모바일 장치의 실행 환경을 통한 애셋에 대한 접근을 포함할 수 있다. API 공격은 시스템 디자인에 의해 가정된 폼과 다른 의도를 가지고, 보안 패스워드에 의해 실시될 수 있는 의도된 인터페이스를 통한 애셋에 대한 접근을 포함할 수 있다. 일부 API 공격은 모바일 장치 상에 실행되는 코드의 변화 없이도 탑재될 수 있다.
PIN 애셋은 오프라인 공격으로부터 보호될 수 있다. 예를 들면, PIN은 보안 스토리지의 사용에 의해 모바일 장치 상에서 실행되는 코드를 통하지 않는 접근에 대해 보호될 수 있다. SSM(141)은 플랫폼에 의해 제공되고 보안될 수 있는 내부 ROT 키를 이용하여 데이터를 보호할 수 있다. 보안 데이터는 불법 변경이나 폭로(disclosure)에 대해 보호될 수 있다. SSM(141)은 트러스트존(TrustZone)에 의해 활성화되는 SEE(140) 내에서 실행될 수 있다. 보안 스토리지는 RAM에서만 복호화된 데이터를 저장할 수 있어, SEE(140) 내에서 실행되는 코드에 의해서만 접근 가능할 수 있다. 따라서 장치의 전원이 꺼졌을 때, 이용 가능한 복호화된 보안 스토리지 데이터의 흔적이 없다.
PIN 애셋은 실행 시간 공격에 대응하여 보호될 수 있다. PIN 값은 SEE(140) 내에서만 이용가능할 수 있고, SEE(140)은 로직 및 중간 데이터를 보호한다. PIN 값은 SPEM(142)를 이용함으로써 SEE(140)에 입력될 수 있다. 아울러, PIN 값은 암호화된 폼으로만 출력으로 생성될 수 있다. 제어 PIN(예를 들면, 지갑 안 모바일 장치의 패키징 상에 또는 지갑 안 모바일 장치와 함께 제공되는 종이 서류 안에서, 모바일 장치의 법적 소유자와 안전하게 통신될 수 있는 초기 PIN)이 사용되지 않으면, PIN 값은 인간(예컨대, "영구 불법 점유" 공격자, 또는 "일시적 불법 점유" 공격자) 공격에 의해 그가 선택한 값으로 초기화될 수 있다. 새로운 서비스 등록에서 옳은 PIN에 대한 요청은 그런 상황에 대해 사용자에게 경고하는 것으로 의도될 수 있고, 모바일 장치가 설정된 PIN이 사용자에게 알려진 것이 아닌 상태이면, 다른 애셋이 수집되는 것을 막을 수 있다.
PIN 애셋은 API 공격에 대해 보호될 수 있다. PIN 값은 API를 통해서만 접근 가능할 수 있다. 해당 API는 입력된 값에 대응하여 매칭 또는 비매칭 응답을 제공하거나 암호화된 폼을 출력하도록 PIN 값들을 설정하고, 재설정하고, 확인한다. PIN 재설정은 현재 PIN을 이용하여 사용자가 안전하게 인증된 경우에만 수행될 수 있다. 공개적으로 이용가능한 인터페이스를 통해서, 현재 설정된 PIN을 바르게 입력하지 않고는 PIN을 재설정하는 것이 불가능하도록 SEE(140)에서 실행되는 코드에 의해 강제된다. 초기 PIN은 위에서 기술된 것처럼 제어 PIN을 이용하여 설정될 수 있다. PIN 값은 전형적으로 무작위 추측 공격(brute-force guessing)에 취야할 수 있다. 그러나 본 발명에 따르면, PIN 입력은 보안 비디오 경로를 이용하는 SPEM(142)를 통해서만 일어날 수 있다. 따라서, PIN 추측은 터치-스크린 유닛을 통해 모바일 장치(100)와 인터랙팅하는 인간에 의해서 수동으로만 수행될 수 있다. 이것은 추측된 PIN이 입력될 수 있는 비율을 엄격하게 제한할 수 있다. 일부 실시예는 시간 단위마다(예컨대 분마다 , 시간마다, 일마다) 제출되는 PIN 시도의 숫자를 제한하는 '쓰로틀링(ThroTLSing)' 기능을 추가로 이용할 수도 있다.
패스워드 애셋은 오프라인 공격에 대해 보호될 수 있다. 예를 들면, 텍스트의 인증 정보는 SSM(141)에 의해 활성화되는 보안 스토리지에 저장되는 것에 의해 오프라인 공격에 대해 보호될 수 있다. 패스워드 애셋은 아울러 실행 시간 공격에 대해 보호될 수도 있다. 예를 들면, 텍스트의 인증 정보는 일단 입력이 되면, SEE(140) 내부에서만 이용가능할 수 있다. SEE(140)는 이러한 인증 정보를 처리하는 모든 코드의 로직 및 중간 데이터를 보호할 수 있다.
일부 실시예에서, 서비스 인증서에 의해 다르게 지시되지 않으면, 처음에 사용자에 의해 입력된 텍스트의 인증 정보는 장치 인터페이스 본래 기능(예컨대, 온-스크린 키보드)을 사용하여 입력될 수 있고, 그들은 그러한 입력을 캡처하도록 위치된 악성웨어에 의해 캡쳐될 수 있다. 이러한 위험을 줄이기 위해, 서비스 인증서는 (예컨대, 텍스트 또는 영숫자 패스워드와 같은) 상세가 (스크램블되거나) 흩어진 온-스크린 영숫자 키보드를 사용하여 더 보안적으로 입력되게 한다. 문자들이 흩어지거나 랜덤한 위치에 나타나게 하거나 전형적인(QWERTY) 키보드의 순서와 다르게 배열되어 나타나게 한다.
패스워드 애셋은 API 공격에 대해 보호될 수 있다. 예를 들면, 패스워드 및 다른 사용자 텍스트의 인증 정보는 보안 동작 모듈의 로직으로부터 결코 노출되지 않을 수 있고, 그들은 오직 보안 동작 모듈로 입력되어 그 내부에서만 사용될 수 있다.
텍스트의 인증 정보의 사용은, 평문 폼으로 SEE(140)에서 그들을 벗어나지 않게 하는 작업을 통해서, 현재 TLS/SSL 세션에 그들을 결합시킴으로써만 지원될 수 있게 한다. 따라서 암호화된 TLS/SSL 스트림으로부터 그러한 인증 정보의 평문을 복구하는 것으로 인식된 방법은 없을 수 있다.
텍스트 인증 정보는 이론적으로는 TLS 핸드쉐이크를 공격자에게 알려진 비밀 대응 키(private counterpart)의 서버 공개 키를 이용하여 수행될 수 있게 함으로써 캡처될 수 있다. 그러나 이 공격은 서버 키가 거치는 허가 프로세스에 의해 차단될 수 있다. 인증 정보는 패스워드가 처음 등록된 서버의 동일한 공개 키를 사용하고 보안 패스워드 서비스를 사용하도록 승인된 서버를 위해서만 암호화될 수 있다. 따라서 모바일 장치의 사용자에 대한 "피싱" 공격은 차단될 수 있다.
Client-Cert 애셋은, 예컨대 TLS 클라이언트와 연계되는 사용자 비밀 키는 오프라인 공격에 대해 보호될 수 있다. 예를 들면, 사용자 공개 키는 SSM(141)에 의해 활성화되는 보안 스토리지에 저장될 수 있다. Client-Cert 애셋은 실행 시간 공격에 대해 보호될 수 있고, 사용자 비밀 키는 SEE(140)에서 실행되는 TLS/SSL 지원 라이브러리(131)에 의해 수행되는 TLS/SSL 핸드쉐이크에서만 사용될 수 있다. 따라서 클라이언트 인증서 데이터(예컨대 사용자 비밀 키)는 그것이 보호되는 SEE(140)의 밖에서는 결코 이용가능하지 않도록 만들 수 있다.
Client-Cert 애셋은, 사용자 비밀 키가 보안 코드에 의해 발행되는 API 함수에 의해 제공되지 않을 수 있기 때문에, API 공격에 대해 보호될 수 있다. 서비스는 TLS/SSL 핸드쉐이크 연산을 위한 적재된 비밀 키를 이용하기 위해서만 제공될 수 있고, 연역, 추측 또는 역-설계될 수 있는 비밀 키로부터 정보가 드러나지 않을 수 있다.
애플리케이션 키, 예컨대, 보안 로컬 스토리지를 위한 애플리케이션 대칭 키는 SSM(141)에 의해 활성화되는 보안 스토리지 내에 저장되는 것에 의해 오프라인 공격에 대해 보호될 수 있다. 예를 들면, 애플리케이션 키는, SEE(140) 내부에서만 실행될 수 있는 암호 및 복호 함수를 이용하여, 애플리케이션 데이터의 암호화 및 복호화를 위해 사용될 수 있다(이것은 서버 기반 실시예에 적용할 수 없을 수 있다). 따라서, 애플리케이션 키는 SEE(140)의 밖에서 이용가능하지 않을 수 있다. 아울러, 다른 보안 애셋과 반대로, 애플리케이션 키는 지역적으로 SEE(140) 내에서 생성될 수 있고, 따라서 애플리케이션 키는 그들이 초기 제공되는 동안에도 가로채기로부터 취약하지 않을 수 있다.
애플리케이션 키는 API 공격에 대해 보호될 수 있다. 암호화 및 복호화 서비스를 제공하는 보안 패스워드 모듈은 애플리케이션 대칭 키에 접근할 수 있는 유일한 모듈일 수 있다. 애플리케이션 키를 이용하여 암호화 및 복호화를 하기 위한 유일한 인터페이스일 수 있고, 애플리케이션의 입력 또는 출력을 위한 다른 인터페이스를 평문 및 암호화 폼 모두 지원하지 않을 수 있다. 그리고, 애플리케이션 키와 함께 사용할 수 있는 암호 및 모드는 알려지고 선택된 평문 공격에 견딜 수 있고, 인터페이스에서 유출되는 결과로부터 애플리케이션 키가 추론되지 못하도록 만든다.
서비스 및 애플리케이션의 허가와 관련된 서비스 허가(Accreditation) 데이터는, SSM(141)에 의해 활성화되는 보안 스토리지 내에 저장되는 것에 의해, 오프라인 공격으로부터 보호될 수 있다. 서비스 허가 데이터는 아울러 실행 시간 공격으로부터 보호될 수 있다. 예를 들면, 서비스 허가 데이터는, 서비스-ID와 연계되어, 서비스 제공자에 대한 허가를 제어할 수 있다. 허가는 서비스-ID의 TLS/SSL 인증서의 부분일 수 있는 특정 공개 키 및, 로컬 애플리케이션들, 그들의 식별, 및 로컬 데이터 암호를 사용하는 그들의 권리와 관련된 정보와 서비스-ID의 연계를 포함할 수 있다.
서비스 허가 데이터는, 예를 들면, (a) 서비스의 식별, 또는 이 식별이 TLS 인증서로부터 획득되어지는 것에 대한 표시; (b) 모바일 장치 상에서 기술을 이용하는 서비스의 권리 상의 정보, 예를 들면, 특정 애플리케이션 키를 가지는 로컬 데이터 암호화가 지원되는 것에 대한 표시; (c) 서버의 TLS 인증서가 받아들여지는 것이 허락되었는지를 판단할 수 있는 질의 또는 조건(들)의 표시를 닮은 명세(specification)를 포함할 수 있다. 예를 들면, 증강된 TLS 라이브러리는, TLS 인증서가 특정 발행인에 의해 이슈되거나 TLS 인증서가 특정 공개 키 또는 다른 적절한 조건을 포함된 경우에만, TLS 인증서를 사용할 수 있다.
서비스 허가 데이터는 비밀성의 관점에서가 아니라 무결성 및 진정성(authenticity)의 관점에 민감할 수 있다. 따라서 서비스 허가 데이터는 오직 불법 변경에 대해서 보호될 필요가 있을 수 있다. 그러나 서비스 허가 데이터의 모든 소비자는 SEE(140) 내에서 실행되는 모듈일 수 있고, 이러한 모듈들은 서비스 허가 데이터를 사용하기에 앞서 복잡하게 코딩된 공개 키를 사용하여 서비스 허가 데이터의 진정성을 검증할 수 있다. 검증을 위한 공개 키는 보안 동작 모듈의 실행 코드에 고정될 수 있고, SEE(140)을 통해 보호될 수 있다. 결과적으로, "서비스 허가 데이터"로 언급되는 요소의 집합 중에서 각 요소는 그것이 사용되기 전에 SEE(140)에 의해 보호될 수 있는 로직 및 참조 키 요소에 의해 검증될 수 있다. 어떠한 서비스 컴포넌트도 SEE(140) 내에서 실행되지 않는 서비스 허가 데이터에 의존하지 않는다.
서비스 허가 데이터는 API 공격에 대해 보호될 수 있다. 개방성으로 인해, 서비스 허가 데이터에 대한 위협은 불법 변경일 수 있다. 모든 서비스 허가 데이터는 보안 패스워드 모듈의 컴포넌트에 의해서만 읽힐 수 있다. 따라서, (공격자에 의해) 불법적으로 또는 (사용자에 의해) 합법적으로도 서비스 허가 데이터의 변경을 지원하는 인터페이스는 제공되지 않는다.
보안 스토리지를 위한 내부 ROT 애셋은, 장치(100)의 플랫폼으로부터 요청처럼, 오프라인 공격에 대해 보호될 수 있다. SEE(140) 내에서만 실행될 수 있는 SSM(141)에 의해서만 내부 ROT가 사용될 수 있기 때문에, 내부 ROT는 실행 시간 공격에 대해서도 보호될 수 있다.
내부 ROT 키에 대한 직접적 인터페이스가 없기 때문에, 내부 ROT는 API 공격에 대해 보호될 수 있다. 내부 ROT 키는 SEE(140) 내부의 플랫폼에 의해서만 제공될 수 있고, 보안 패스워드 모듈은 내부 ROT 키에 대한 접근 기능을 지원하지 않을 수 있다. 내부 ROT 키는 SSM(141)에 의해 SEE(140) 내부에서 내부적으로만 사용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 보안 PIN 입력이 가능한 단말(400)을 예시한 블록도이다. 도 4를 참고하면, 단말(400)은 도 1a의 모바일 장치(100)와 대부분 유사할 수 있고, 다른 적절한 장치, 예를 들면, 모바일 핸드셋, 셀룰라 폰, 스마트폰, PDA, 태블릿, 터치 스크린을 가지는 장치, 휴대용 장치, 터치 스크린을 가지는 랩톱 컴퓨터, 터치 스크린을 가지는 데스크탑 또는 태블릿 등일 수 있다. 단말(400)은 예를 들면, SEE(140) 및 터치-스크린(402)을 포함할 수 있다. SEE(140)는 안전하게 코드를 실행할 수 있다. 코드는 터치-스크린(402)이 스크램블된 PIN 레이아웃(403)을 렌더링 및 디스플레이하게 할 수 있다. 스크램블된 PIN 레이아웃(403)은 (예컨대, 이미지, 또는 일련의 이미지, 또는 비디오로써) 스크램블된 온-스크린 키패드(또는 스크램블된 가상 키패드)일 수 있다. 그리고 터치 스크린(402)은, 터치, 클릭, 탭 또는 다른 방법으로 터치-스크린(402) 상에 스크램블된 PIN 레이아웃(403)처럼 표시되는 스크램블된 온-스크린 키패드로부터 키를 선택하는 사용자로부터, 사용자 입력을 수신할 수 있다. SEE(140)는 또한 코드를 안전하게 실행할 수 있다. 코드는 터치-스크린(402)이 사용자-선택 진정성 보장 이미지(authenticity assurance image)(406)를 표시하게 할 수 있다. 예시적인 설명 및 간결함을 위해, 진정성 보장 이미지(406)는 스크램블된 PIN 레이아웃(403)의 근방 또는 옆의 터치-스크린(402) 상에 표시되게 도시하였다. 그러나, 일부 실시예에서, 진정성 보장 이미지(406)는 배경 이미지, 탈색(grayed-out) 또는 세척된(washed) 이미지, 오버레이된 이미지 또는 오버레이된 레이어, 스크램블된 PIN 레이아웃(403)의 밑 또는 위, 스크랩블된 PIN 레이아웃에 부분적으로 또는 전체적으로 오버랩된 이미지로써 표시될 수도 있다.
예시적인 목적으로, 스크램블된 PIN 레이아웃(403)이 일반적인 키패드에서 사용되는 순서가 아닌 불규칙한 숫자 순서를 가지는 키 패드로 도시하였다. 일부 실시예에서, 스크램블된 PIN 레이아웃(403)은 다른 적절한 표현, 예를 들면, 각각의 휠이 중심을 따라 숫자 "0"과 "9" 사이에서 회전할 수 있는 4개의(또는 다른 갯수의) 잭팟 휠(jack-pot wheel) 또는 슬롯 머신 휠을 사용하여 도시될 수도 있다. 따라서 스크램블된 PIN 레이아웃(403)이 호출될 때마다 랜덤 또는 의사 랜덤 값이 설정된 초기 조합을 가지고, 4자리 숫자의 조합으로 표현할 수 있다. 다른 적절한 타입의 표현 또는 선택 메커니즘이 사용될 수 있다.
SEE(140)는 보안 PIN 입력을 위한 루틴(RSPE)(404)을 포함할 수 있다. RSPE는 터치-스크린 상에 표시되는 PIN 레이아웃(403)을 랜덤 또는 의사 랜덤하게 생성할 수 있고, 터치-스크린(402)을 통해 사용자에 의해 선택된 온-스크린 키를 인식할 수 있다.
단말(400)은 사용자에 의한 보안 데이터 입력을 허가할 수 있고, 특히 스크램블된 온-스크린 키 패드(또는 유사한 스크램블된 온-스크린 키 보드)를 사용하는 PIN 또는 패스워드의 보안 입력을 허가할 수 있다. 아울러, 단말(400)은 패스워드 및 PIN의 보안 입력 및 보안 통신을 보안 비디오 경로(SVP)(405)와 결합하여 스크램블된 가상 키패드(또는 스크램블된 가상 키보드)을 이용하여 허가할 수 있다. 따라서, 스크램블된 온-스크린 키패드를 보여주는 터치-스크린(402)과 SVP(405)의 결합은 일부 타입의 공격을 더욱 견딜 수 있는 보안 PIN 입력을 가능하게 할 수 있다. SVP(405)는 스크램블된 PIN 레이아웃 및/또는 진정성 보장 이미지 모두 또는 적어도 하나를 이송하기 위해 사용될 수 있다.
SEE(140)는 사용자에 의한 PIN 입력을, 동작의 한 부분으로써, 요구하는 코드의 실행을 허가할 수 있다. SEE(140)에서 실행되는 코드는 RSPE(404)를 포함할 수 있고, SEE(140)에 의해 안전하게 실행됨으로써 특정 타입의 간섭으로부터 보호될 수 있다. RSPE(404)는 PIN 입력을 위해 사용될 수 있는 문자(예컨대, 숫자, 영숫자, 표준 쿼티(QWERTY) 키보드에서 나타나는 문자 또는 심볼 등)를 표현하는 아이콘을 적어도 포함하는 이미지 또는 비디오로써 스크램블된 PIN 레이아웃을 생성할 수 있다.
PIN 레이아웃(203)은 키의 스크램블된 또는 의사-랜덤된 이미지를 표준 쿼티(QWERTY) 레이아웃 또는 표준 키패드 레이아웃과 다른 레이아웃에서 포함할 수 있다. PIN이 사용자에 의해 입력되고 RSPE(404)에 의해 처리되는 것이 요구될 때마다, 스크램블 된 PIN 레이아웃(4O3) 또는 다른 스크램블 된 PIN 레이아웃(403)은 생성될 수 있다.
RSPE(404)는 스크램블 된 PIN 레이아웃(403) 및/또는 인증 보장 이미지(406)를 생성할 수 있고, 이미지(들)는 PIN을 입력하는 사용자에 의해 수용될 수 있는 값의 표현을 포함할 수 있다. 사용자에 의해 PIN이 입력되기 전에, RSPE(404)는 사용자에게 진정성 보장 이미지(406)를 보안 비디오 경로(405) 상에서 표시할 수 있다. 사용자는, 진정성 보장 이미지(406)에서 표현의 인식으로부터, 표시의 진정성을 추론할 수 있고, (예컨대 PIN 레이아웃(403)이 "피싱' 공격자에 의해 또는 가짜 웹 사이트에 의해 제공되는 것을 의심하기 보다는), 사용자는 RSPE(404)의 진정성을 추론할 수 있다.
RSPE는 진정성 보장 이미지(406)와 함께 사용자에 의해 받아질 수 있는 값을 표시할 수 있다.
본 발명의 예시적인 일 실시예에 따라, RSPE(404)는 터치-스크린(402)이 스크램블 된 PIN 레이아웃(403) 및 진정성 보장 이미지(406)를 동시에 표시하게 할 수 있다. RSPE(404)는 PIN 레이아웃(403) 및 진정성 보장 이미지(406)과 함께 동시에 사용자에 의해 받아질 수 있는 값을 표시할 수 있다. 선택적으로, 사용자는 PIN이 사용자에 의해 전체적으로 입력 및/또는 제출될 때까지 어느 순간에 작업(예컨대, PIN 입력 프로세스)을 중단시키는 옵션을 받을 수 있다.
사용자는 터치-스크린(402) 상에 무질서하게 스크램블 되어 표시될 수 있는 적절한 아이콘을 선택하여 PIN을 입력할 수 있다. 그러한 아이콘 또는 온-스크린 키는 스크램블 된 PIN 레이아웃(403)의 표시로부터 사용자에게 보여질 수 있다. 선택 프로세스는 터치 이벤트가 단말(400) 상에 트리거 되게 할 수 있고, 터치 이벤트는 터치-스크린(402) 상에 사용자에 의해 터치된 위치를 전달한다. 터치 이벤트에 의해 전달된 터치 위치는 단말(400) 상에서 실행되는 적절한 코드에 의해 RSPE(404)에 제공될 수 있다. 따라서 RSPE(404)는 스크램블 된 PIN 레이아웃(403)을 기술하는 지역적으로 저장된 데이터를 사용하여 터치 위치를 선택된 대응하는 아이콘 또는 키에 맵핑하고, 아울러 그들을 선택된 매칭 심볼에 맵핑할 수 있다. RSPE(404)는 선택된 심볼들의 시퀀스를 스크램블 된 온-스크린 키패드를 통해 사용자에 의해 선택된 순서로 출력할 수 있다. 단말(400) 상에서 실행되는 애플리케이션 및 부분적으로 SEE(140) 내에서 실행되는 애플리케이션은 다음으로 사용자에 의해 안전하게 입력된 PIN에 기초하여 작업(예컨대, 로그인 프로세스; 인증 프로세스)을 수행할 수 있다.
본 발명의 일부 실시예는 다른 적절한 아키텍쳐를 포함하거나 이용할 수 있고, 다른 장치에, 예를 들면, 원격 서버 및/또는 모바일 장치 또는 결제 단말의 외부에 위치할 수 있는 모듈을 이용할 수 있다. 예시적인 실시예에서, 예를 들면, SEE(140) 및 RSPE(404)는 단말(400) 내에 포함되기 보다는 원격 서버 상에 상주할 수 있다. 다른 적절한 아키텍쳐가 사용될 수 있다.
본 발명은 진정성 보장 이미지를 선택 및/또는 수정하는 방법 및 시스템을 포함할 수 있고, 진정성 보장 이미지는 개인 보안 이미지(PSI)로써 언급될 수 있다. 일부 실시예에서, 모바일 장치의 사용자는 HLOS로부터(예컨대, 로컬 저장소 또는 "이미지 갤러리"로부터) 이미지를 선택할 수 있거나, 모바일 장치의 카메라를 사용하여 이미지를 캡쳐할 수 있고, 다음으로 SEE 내에서 안전하게 실행되는 보안 인터페이스를 이용함으로써 하나 이상의 이미지 수정 작업을 안전하게 수행할 수 있고, 그렇게 함으로써 사용자만이 인식할 수 있고 사용자에 의해 생성되는 동안 가로채지거나 캡쳐되지 않을 수 있는 정말로 고유한 PSI를 생성할 수 있다. 영상 수정 작업은, 예를 들면, 컬러(color), 밝기, 어둡기, 콘트라스트(contrast), 채도(saturation), 색상(hue), 조도(light level), 컬러 교체(color replacement)(예컨대 파란색을 녹색으로 교체), 영상 왜곡, 이미지에 필터 적용, 또는 원본으로부터 이미지를 다른 방법으로 수정 또는 변환, 또는 다른 방법으로 이미지의 하나 이상의 가시적 속성(visible properties) 을 수정하는 것을 포함할 수 있다. 본 발명에 따르면, 보안이 반드시 필요하지 않은 GUI 상에서 사용자에 의해 (사용자에 의해 캡쳐되거나) PSI가 근본적으로 선택되더라도, 사용자는 모바일 장치의 보안 서브 시스템(SEE)에서 PSI를 수정할 수 있다.
다른 실시예에서, 사용자는 원격 웹 사이트 또는 서버에서 선택을 위해 이용가능할 수 있는 미리-정의된 이미지의 집합으로부터 PSI를 선택할 수 있고, 다음으로 지역적으로 안전하게 선택된 PSI를 수정할 수 있다. 그리고 다음으로 원격 웹 사이트 또는 서버에 안전하게 다시 업로드 할 수 있다. 이것은 사용자가 제3 파티(party)에 의해 생성되는 미리 정의된 PSI를 선택 가능하게 하지만, 사용자만이 아는 고유의 수정을 PSI에 도입할 수 있다. 모바일 장치에서 실행되고 미리 정의된 PSI 아이템의 집합으로부터 PSI의 선택을 캡쳐할 수 있는 악성웨어 모듈은, SEE 내부에서 사용자에 의해 수행되는 이미지 수정 작업(들)을 캡처할 수 없고, 원격 서버에 SEE로부터 안전하게 이송될 수 있는 수정된 이미지를 캡처할 수 없다.
도 5는 본 발명의 일 실시예에 따른 트랜잭션(transaction)서버(533) 및 결제 단말(500)을 포함하는 시스템(555)의 블록도이다. 도 5를 참고하면, 시스템(555)은 본 발명에 따른 보안 인터페이스 바인딩(binding)을 설명할 수 있고, 결제 카드(예컨대, 신용 카드, 현금 카드, 자기 띠 카드, 체크 카드, ATM 카드, 칩&핀 카드, EMV 카드 등)를 이용하여 고객이 상인 또는 판매인에게 결제하는데 사용될 수 있다.
결제 단말(500)은 예를 들면, 모바일 장치, 모바일 핸드셋, 셀룰라 폰, 스마트폰, PDA, 태블릿, 랩톱, 컴퓨터, 전자 소비자 장치, 터치-스크린을 가지는 장치, 휴대용 장치, 비휴대용 또는 고정 결제 단말, PoS 단말, 현금 등록기 또는 PoS 단말과 연계된 결제 단말 등을 포함할 수 있다.
결제 단말(500)은, 예를 들면, 터치 스크린(501); 긁거나 삽입된 결제 카드를 읽을 수 있는 결제 카드 리더기(502); 하나 이상의 바인딩 표시기(indicator)(들)(511); 및 보안 PIN 입력 모듈(SPEM)(505)을 포함할 수 잇는 SEE(504) 또는 다른 신뢰되는 실행 환경; 을 포함할 수 있다. 예시적으로, 결제 카드 리더기(502)는 결제 단말(500)에 연결된 것으로 도시되었으나, 결제 카드 리더기는 결제 단말(500)의 부분일 수 있고, 결제 단말(500)의 내부에 있거나 임베디드될 수 있으며, 결제 단말(500)과 통합될 수 있고, 결제 단말(500)의 외부에 (연계되어) 있을 수 있고, 또는 결제 단말(500)에 착탈 가능한(또는 착탈할 수 없는) 추가 모듈일 수도 있다. 아울러 모듈들은 다수의 장치에 예를 들면, 서버-기반 아키텍쳐에서 분산될 수도 있다. SEE(504)는 원격 서버 상에 구현될 수도 있다.
본 발명은 결제 단말(500)의 터치 스크린(501) 상의 보안 PIN 입력 프로세스를 가능하게 할 수 있다. 결제 단말(500)의 터치 스크린은 공격자에 의해 PIN이 캡쳐되는 것을 보호하는 보안 UI(544)를 제공할 수 있다. 보안 UI(544)는, 예를 들면, 스크램블 된 PIN 패드 레이아웃 및/또는 진정성 보장 이미지를 포함할 수 있다. 결제 단말(500)이 (a)터치-스크린(501) 상에 표시되는 출력 데이터 또는 (b) (터치, 제스쳐, 클릭, 손가락 이동, 손가락 긁기, 손가락 선택 등을 통해) 터치-스크린(501) 상에 사용자에 의해 수동으로 입력되는 입력 데이터에 대한 보호를 제공할 때, 보안 UI(544)가 "활성화되거나" 또는 "가동되는 것"으로 간주될 수 있다. 부가적으로 또는 선택적으로, 보안 UI(544)가 (a) 터치-스크린(501)을 통한 표시를 위한 SEE(504)로부터 안전하게 데이터를 수신 또는 (b) 터치-스크린(501)에서 SEE(504)로 데이터를 안전하게 전달할 수 있는 경우 또는 그 경우에만, 보안 UI(544)가 "활성화되거나" 또는 "가동되는 것"으로 간주될 수 있다. 부가적으로 또는 선택적으로, 양 방향 보안 통신 경로가 SEE(504) 상에서 실행되는 로직 또는 코드와 결제 카드 리더기(502) 상에서 실행되는 로직 또는 코드 사이에 수립되는 경우 또는 그 경우에만, 보안 UI(544)가 "활성화되거나" 또는 "가동되는 것"으로 간주될 수 있다. 그 결과로 보안 경로는 결제 단말(500)의 내부 및/또는 외부에서 비 인가된 로직 또는 엔티티에 의한 콘텐츠 무결성 및/또는 비밀성의 누설(compromise)에 대해서 보호될 수 있다.
바인딩 표시기(511)는, 예를 들면, 특정 색상(예컨대, 녹색 또는 노란색)을 밝힐 수 있는 LED(Light Emitting Diode) 또는 다른 조명 유닛을 포함할 수 있다. 바인딩 표시기는 결제 카드 리더기(502) 상에 위치하거나, 시스템(555)의 다른 컴포넌트 상에 위치할 수 있다. 선택적으로, 2개 또는 그 이상의 바인딩 표시기(511)가 결제 시스템(555)에 포함될 수 있다. 예를 들면, 결제 카드 리더기(502) 상에 바인딩 표시기(511) 및 터치-스크린(501) 상에 또 다른 바인딩 표시기가 위치할 수 있다.
본 발명의 일 실시예에 따르면, 바인딩 표시기(511)는 보안 UI(544)가 활성화되거나 가동될 때에만 빛을 낼 수 있고, 바인딩 표시기(511)는 활성화되지 않거나 가동되지 않을 때는 빛을 내지 않을 수 있다.
본 발명의 일 실시예에 따르면, 바인딩 표시기(511)는 보안 UI(544)가 활성화되거나 가동될 때 제1 색상(예컨대 녹색)의 빛을 낼 수 있고, 보안 UI(544)가 활성화되지 않거나 가동되지 않을 때는 제2 색상(예컨대, 붉은색)의 빛을 낼 수도 있다.
보안 UI(544)가 활성화되면, SPEM(505)은 바인딩 표시기(511)가 빛을 내게 (또는 제1 색상으로 빛을 내도록) 하는 신호 또는 명령을 전송할 수 있다. 보안 UI(544)가 비활성화되면, SPEM(505)은 바인딩 표시기(511)가 빛을 내지 않거나 끄게 (또는 제2 색상으로 빛을 내도록) 하는 신호 또는 명령을 전송할 수 있다.
바인딩 표시기(511)의 모드(예컨대 조명 또는 비조명, 제1 색상으로 조명 또는 제2 색상으로 조명)는, 결제 카드 리더기(502) 외부의 모듈 또는 컴포넌트 및/또는 SPEM(505) 및/또는 SEE(504) 내에서 실행되는 다른 모듈 또는 로직에 의해 제어(또는 트리거, 또는 수정)될 수 있다.
바인딩 표시기(511)는, 예를 들면, LED, 유기 LED(OLED), 조명 유닛, 가시 신호, 음향 신호, 사운드, 오디오 클립, 비디오 클립 또는 애니메이션 클립, 그랙픽 또는 텍스트 아이템, 또는 사용자에게 보안 UI(544)가 활성화되어 사용자가 결제 단말(500)의 터치-스크린(501) 상에 PIN(또는 패스워드)를 입력해도 안전하다는 것을 나타내는 다른 적절한 표시기, 또는 신호를 포함할 수 있다.
PIN 입력이 되면, 결제 단말(500)은 유선 및/또는 무선 링크를 통해 안전하게 트랜잭션 서버(533)와 통신하여, 입력된 PIN을 검증하고 거래 상세(transaction details)를 제공한다. 일부 실시예에서, 선택적으로 입력된 PIN은 트랜잭션 서버(533)보다는 결제 카드 리더기(502) 내의 결제 카드에서 테스트되고 검증될 수 있다.
SPEM(505) 또는 결제 단말(500) 내의 다른 적절한 로직은, 보안 UI(544)가 활성화되어 있는 한, 다른 로직이 터치 스크린(501) 상에 표시되는 데이터의 수정 및/또는 캡쳐를 하는 것을 방지하도록 동작할 수 있다.
보안 UI(544)가 활성화되어 있는 동안, SPEM(505)은 결제 카드 리더기(502)가 동작하게 또는 완전하게 동작하게 하여, 결제 카드를 읽도록 할 수 있다. 반대로, 보안 UI(544)가 활성화되어 있지 않은 동안은, SPEM(505)는 결제 카드 리더기(502)가 동작하지 않게 하거나 긁혀지거나 삽입된 결제 카드를 읽지 못하게 할 수 있다.
보안 UI(544)가 활성화되어 있는 동안, SPEM(505)은 결제 단말(500)이 결제 카드 리더기(502)로부터 연속적으로 도착하는 데이터에 하나 이상의 기능을 실행하게 할 수 있다.
보안 UI(544)가 더 이상 활성화되지 않거나 터치-스크린(501)이 보안 인터페이스(예컨대 스크램블 된 PIN 패드)를 더 이상 표시하지 않으면, SPEM(505)은 예컨대, 결제 카드를 읽는 결제 카드 리더기(502)의 능력이 사용되지 못하게 하여, 결제 카드 리더기(502)가 작업을 멈추게 할 수 있다.
보안 UI(544)가 더 이상 활성화되지 않거나 터치-스크린(501)이 보안 인터페이스(예컨대 스크램블 된 PIN 패드)를 더 이상 표시하지 않으면, SPEM(505)은, 결제 단말(500)이 결제 카드 리더기(502)로부터 연속적으로 도착하는 데이터에 하나 이상의 기능을 실행하는 것을 중단하게 할 수 있다.
SPEM(505)은, 예컨대 보안 UI(544)가 활성화되기 전에, 보안 데이터 연결이 결제 단말(500) 및 트랜잭션 서버(533) 사이에 수립되게 할 수 있다. 보안 데이터 연결이 수립되면, 보안 데이터 연결은 트랜잭션 서버(533)에서 SPEM(505)로 데이터를 전달할 수 있고, 데이터는 SPEM(505)가 터치-스크린(501) 상에 진정성 보장 이미지(예컨대, 사용자에 의해 미리-설정된 사용자 인식가능한 이미지)를 렌더링하게 할 수 있다.
본 발명의 일부 실시예에서, 결제 단말(500) 및 트랜잭션 서버(533) 사이의 보안 데이터 연결은 트랜잭션 서버(533)에서 결제 단말(500)로 허가(Accreditation) 데이터 또는 허가 인증서를 이송하는데 사용될 수 있다.
SPEM(505)은 허가 인증서에 포함된 정보에 따라 SPEM(505)의 기능을 제어하는 로직을 실시할 수 있다. 예를 들면, 허가 인증서는, SPEM(505)에 의해 처리될 때, SPEM(505)가 PIN 패드 기능의 적어도 일부분을 수행하는 것을 막게 할 수 있는 정보를 포함할 수 있다. 예를 들면, 결제 단말(500) 및 결제 카드 리더기(502) 사이의 연결을 통해 전달되는 데이터는 결제 카드 리더기(502)의 특정 식별(또는 특정 타입)을 나타낸다.
시스템 결제 단말(500)은 "보안 모드"가 동작 중인 것 또는 결제 카드 리더기(502)가 결제 카드를 긁을 준비가 된 것을 LED 표시기가 신호로 나타내는 컴퓨터화된 시스템이다. 결제 단말(500)은 LED 표시기 또는 다른 적절한 표시기를 보여줄 수 있다. LED 표시기 또는 다른 적절한 표시기는 보안(예컨대 폐쇄형) 기기(예컨대, 결제 카드 리더기(502)) 상에 위치할 수 있다. 보안 기기는 부주의한 사용자에게 일반적으로 신뢰되지 않는 개방형 기기가 일시적으로 비보안 부분 상에 보안 부분의 임시적 인수(takeover)에 의해 임시적으로 신뢰될 수 있는 것을 표시할 수 있다. LED 표시기는 결제 카드를 긁힐(swiping) 준비가 되어 있는 것을 나타낼 뿐만 아니라, 보통은 비보안인 장치가 사용자가 PIN 또는 패스워드를 입력할 수 있을 만큼 일시적으로 안전하게 된 것을 나타낼 수 있다. LED 표시기는 ,적어도 PIN 또는 패스워드 입력의 콘텍스트에서, 범용 장치의 UI의 보안 서브 시스템의 인수를 나타낼 수 있다. LED 표시기는 결제 카드 리더기(502) 및 결제 단말(500) 사이의 보안 바인딩을 정확하게 나타낼 수 있고, 결제 단말(500)의 HLOS가 누설되어도, 공격자는 LED 표시기가 빛을 내게 할 수 있다.
여기서 사용되는 용어 "암호화 작업(cryptographic operation)"은, 예를 들면, 인코딩(encoding), 디코딩(decoding), 서명(signing), 인증(authenticating), 해슁(hashing) 및/또는, 암호화 및/또는 데이터 보안과 관련된 다른 적절한 작업을 포함할 수 있다. 예를 들면, "암호화 작업 모듈" 또는 "암호-토큰 모듈"은 인코딩 모듈 및/또는 디코딩 모듈 및/또는 다른 적절한 모듈 또는 유닛을 포함할 수 있다.
본 발명의 일부 실시예는 하드웨어 컴포넌트 및/또는 소프트웨어 모듈의 적절합 조합을 이용하여 구현될 수 있고, 예를 들면, 프로세서, 중앙 처리 장치, 디지털 신호 프로세서(DSP), 싱글 코어 또는 다중 코어 프로세서, 프로세싱 코어, 집적 회로(IC), 로직 유닛, 컨트롤러, 버퍼, 누산기(accumulator), 메모리 유닛, 스토리지 유닛, 입력 유닛(예컨대, 키보드, 키패드, 터치-스크린, 스타일러, 물리적 버튼, 마이크로폰, 온-스크린 인터페이스), 출력 유닛(예컨대, 스크린, 터치-스크린, 디스플레이 유닛, 스피커, 이어폰), 유선 및/또는 무선 송수신기, 유선 및/또는 무선 통신 링크 또는 네트워크(예컨대, IEEE 802.11 및/또는 IEEE 802.16 및/또는 다른 통신 표준 또는 프로토콜), 네트워크 요소(예컨대, 네트워크 인터페이스 카드(NIC), 네트워크 어댑터, 모뎀, 라우터, 허브, 스위치), 전원, 운영체제(OS), 드라이버, 애플리케이션 및/또는 다른 적절한 컴포넌트를 포함할 수 있다.
본 발명의 일부 실시예는 컴퓨터 또는 컴퓨팅 장치 또는 다른 기계에 의해 실행될 때 그러한 기계들이 본 발명에 따른 방법을 수행하게 할 수 있는 코드 또는 명령 또는 프로그램을 저장할 수 있는 물품 또는 저장 물품(예컨대, CD 또는 DVD 또는 "클라우드(cloud)"-기반 원격 스토리지)으로 구현될 수 있다.
본 발명의 일부 실시예는 웹 사이트 또는 애플리케이션 스토어(또는 "앱 스토어" 또는 온라인 마켓)으로부터 다운로드, 구입 또는 획득될 수 있는 소프트웨어 애플리케이션 또는 "앱(app)"을 사용함으로써 구현될 수 있다.
본 발명의 하나 이상의 실시예에서 참조되고 여기서 기술된 기능, 작업, 컴포넌트 및/또는 특징은 본 발명의 또 다른 실시예에서 참조되고 기술된 하나 이상의 다른 기능, 작업, 컴포넌트 및/또는 특징과 결합될 수 있다.
본 발명의 특정 특징이 여기서 예시되고 기술되었지만, 많은 다른 변형예, 대체, 변화 및 등가로 본 기술분야의 당업자에게 이해될 수 있다. 따라서 청구항은 모든 그러한 수정, 대체, 변화 및 등가를 포함하는 것으로 이해되어야 한다.

Claims (27)

  1. 모바일 전자 장치에 있어서,
    코드를 안전하게(securely) 처리하는 보안 처리 환경(Secure execution envrionment)(SEE); 및
    상기 SEE 및 상기 모바일 전자 장치의 터치-스크린 사이에 안전하게 결제 관련 정보를 교환하여 상기 모바일 전자 장치를 통한 결제 트랜잭션(transaction)을 가능하게 하는 보안 비디오 경로(SVP);
    를 포함하고,
    상기 SEE는,
    스크램블 된 온-스크린 인터페이스를 생성하고, 상기 SVP를 통해 상기 터치--스크린에 상기 스크램블 된 온-스크린 인터페이스를 보내는 보안 패스워드 입력 모듈(entry module); 및
    (a) 상기 모바일 전자 장치를 통해 상기 결제 트랜잭션을 가능하게 하도록 상기 터치-스크린을 통해 사용자에 의해 입력된 패스워드를 상기 보안 패스워드 입력 모듈로부터 안전하게 수신하고, (b) 상기 패스워드를 암호화하고, (c) 상기 모바일 전자 장치를 통해 상기 결제 트랜잭션을 가능하게 하도록 상기 모바일 전자 장치의 외부에 있는 검증 모듈에서 검증을 위해 상기 암호화된 패스워드를 전송하는 보안 동작 모듈;
    을 포함하는 모바일 전자 장치.
  2. 제 1 항에서,
    상기 보안 패스워드 입력 모듈은,
    상기 터치-스크린을 통해 상기 스크램블 된 온-스크린 인터페이스 상에서 사용자가 선택한 가상 키에 대응하는 문자(character)를 상기 SEE 내에서 안전하게 식별하는 터치-이벤트 식별기를 포함하는 모바일 전자 장치.
  3. 제 1 항에서,
    가로채기(interception)에 대항하여 상기 스크램블 된 온-스크린 인터페이스를 상기 SEE로부터 상기 터치-스크린에 안전하게 이동시키는 보안 콘텐츠 채널을 포함하는 모바일 전자 장치.
  4. 제 1 항에서,
    상기 스크램블 된 온-스크린 인터페이스를 인코딩된 DRM(Digital Right Management)-보호 비디오로서 상기 SEE로부터 상기 터치-스크린에 이동시키는 보안 콘텐츠 채널을 포함하는 모바일 전자 장치.
  5. 제 4 항에서,
    스크램블 된 온-스크린 인터페이스를 나타내는 인코딩된 DRM-보호 비디오를 재생하는 DRM-인에이블(enabled) 재생 모듈을 포함하는 모바일 전자 장치.
  6. 제 1 항에서,
    상기 스크램블 된 온-스크린 인터페이스는,
    온-스크린 스크램블 가상 키보드;
    온-스크린 스크램블 가상 키패드; 및,
    상기 터치-스크린 상에서 사용자의 제스처(gesture)에 대응하여 회전하는 디지트 휠(digit wheel)의 온-스크린 표현; 중 적어도 하나를 포함하는 모바일 전자 장치.
  7. 제 1 항에서,
    상기 스크램블된 온-스크린 인터페이스는 사용자-특정 진정성 보장(reassurance) 이미지를 포함하는 모바일 전자 장치.
  8. 제 7 항에서,
    상기 사용자-특정 진정성 보장 이미지는 상기 모바일 전자 장치의 카메라를 통해 상기 사용자에 의해 캡처된 사용자 업로드 이미지를 포함하는 모바일 전자 장치.
  9. 제 8 항에서,
    상기 SEE는 상기 이미지의 업로드 전에 상기 이미지의 하나 이상의 가시적 속성(visible properties)을, 사용자 명령에 기반하여, 안전하게 수정하는 코드를 포함하는 모바일 전자 장치.
  10. 제 7 항에서,
    상기 SEE는 이미지의 집합으로부터 상기 사용자-특정 진정성 보장 이미지를 선택한 다음에 상기 사용자-특정 진정성 보장 이미지의 하나 이상의 가시적 속성을, 사용자 명령에 기반하여, 안전하게 수정하는 코드를 포함하는 모바일 전자 장치.
  11. 제 7 항에서,
    상기 사용자-특정 진정성 보장 이미지는,
    스크램블 된 온-스크린 인터페이스의 상부에 워터마크(watermark)로써 오버레이된 이미지;
    상기 스크램블 된 온-스크린 인터페이스 하부에 워터마크로써 오버레이된 이미지;
    상기 스크램블 된 온-스크린 인터페이스의 주변에 표시되는 이미지;
    중 적어도 하나를 포함하는 모바일 전자 장치.
  12. 제 1 항에서,
    상기 SVP는,
    상기 SEE에서 상기 모바일 전자 장치의 상기 터치-스크린 방향으로만 안전하게 정보를 전달하는 단방향 SVP를 포함하는 모바일 전자 장치.
  13. 제 1 항에서,
    상기 모바일 전자 장치는,
    랩톱 컴퓨터, 태블릿, 스마트폰, 휴대용 컴퓨팅 장치, 휴대용 게임 장치, 휴대용 멀티미디어 플레이어 및 휴대용 결제 단말로 이루어진 그룹 중에서 선택된 하나의 장치를 포함하는 모바일 전자 장치.
  14. 제 1 항에서,
    상기 모바일 전자 장치에 의해 수행되는 특정 작업에 유일한 암호 키를 안전하게 저장하는 보안 스토리지 유닛; 및,
    상기 터치 스크린을 통해 수신되고 확인을 나타내는 사용자의 제스처에 기반하여 상기 암호 키를 상기 보안 스토리지 유닛으로부터 배포하고, 상기 암호 키를 상기 특정 작업과 연계되는 암호 작업을 수행하기 위해 사용하는 암호화 작업 모듈;
    을 포함하는 모바일 전자 장치.
  15. 제 14 항에서,
    상기 암호 키는 상기 모바일 전자 장치의 사용자에게도 유일한 모바일 전자 장치.
  16. 제 14 항에서,
    상기 암호화 작업은,
    상기 암호 키를 사용하는 암호화; 및 상기 암호 키를 사용하는 복호화; 중 적어도 하나를 포함하는 모바일 전자 장치.
  17. 제 16 항에서,
    상기 암호화 작업은
    상기 모바일 전자 장치 상에서 상기 특정 작업에 투명한 암호 작업을 포함하는 모바일 전자 장치.
  18. 제 14 항에서,
    상기 특정 작업은, 상기 암호 키에 유일하고, 상기 모바일 전자 장치의 스토리지 유닛의 전체에 접근에 대한 잠금 해제의 작업을 포함하는 모바일 전자 장치.
  19. 제 1 항에서,
    긁혀진 결제 카드를 읽는 결제 카드 리더기; 및,
    상기 보안 패스워드 입력 모듈이 활성화된 것 및 상기 사용자가 상기 결제 카드 리더기를 통해 상기 결제 카드를 긁을 수 있는 것을 나타내는 가시적 표시기;
    를 더 포함하는 모바일 전자 장치.
  20. 제 19 항에서,
    상기 결제 카드 리더기는 상기 보안 패스워드 입력 모듈이 활성화될 때 동작 가능하고, 상기 결제 카드 리더기는 상기 보안 패스워드 입력 모듈이 비활성화된 때는 동작 가능하지 않은 모바일 전자 장치.
  21. 제 19 항에서,
    상기 모바일 전자 장치 외부에 있는 상기 검증 모듈은 상기 패스워드가 유효한지 여부를 나타내는 검증 결과를 전송하고,
    상기 검증 모듈은 상기 모바일 전자 장치로부터 분리되고 상기 결제 트랜잭션이 인증된 것의 표시(indication)를 상기 모바일 전자 장치로부터 수신하는 PoS(Point of Sale)를 포함하는 모바일 전자 장치.
  22. 제 19 항에서,
    상기 터치-스크린 상의 상기 스크램블 된 온-스크린 인터페이스를 통해 사용자가 입력하는 패스워드에 대한 응답으로, 상기 모바일 전자 장치는 원격 서버가 상기 패스워드를 판단하고 상기 패스워드를 검증하는 프로세스를 시작하게 시키는 터치 좌표를 나타내는 메시지를 상기 원격 서버에 전송하며,
    상기 모바일 전자 장치는 상기 사용자에 의해 입력된 상기 패스워드를 모르는 모바일 전자 장치.
  23. 안전하게 코드를 실행하는 보안 실행 환경(SEE) 시스템; 을 포함하고,
    상기 SEE 시스템은,
    (a) 스크램블 된 온-스크린 인터페이스를 생성하고, (b) 인코딩되어 DRM(Digital Rights Management) 보호된 비디오로써 상기 스크램블 된 온-스크린 인터페이스를 원격 모바일 장치에 전송하는 보안 패스워드 입력 모듈; 및
    (a) 상기 원격 모바일 장치를 통한 결제 트랜잭션(transaction)을 가능하게 하도록 상기 원격 모바일 장치의 터치-스크린을 통해 사용자에 의해 입력된 패스워드를 상기 보안 패스워드 입력 모듈로부터 안전하게 수신하고, (b) 상기 패스워드를 암호화하고, (c) 상기 원격 모바일 장치를 통한 상기 결제 트랜잭션을 가능하게 하도록 상기 원격 모바일 장치의 외부에 있는 검증 모듈에서 검증을 위해 상기 암호화된 패스워드를 전송하는 보안 동작 모듈;
    을 포함하고,
    상기 원격 모바일 장치의 보안 비디오 경로(SVP)는 상기 SEE 및 상기 원격 모바일 장치의 터치-스크린 사이에 안전하게 결제 관련 정보를 교환하여 상기 원격 모바일 장치를 통한 결제 트랜잭션을 가능하게 하며,
    상기 보안 패스워드 입력 모듈은 상기 원격 모바일 장치를 통한 상기 결제 트랜잭션을 가능하게 하도록 스크램블 된 온-스크린 인터페이스를 생성하고, 상기 SVP를 통해 상기 원격 모바일 장치의 상기 터치-스크린에 상기 스크램블 된 온-스크린 인터페이스를 보내는 서버.
  24. 제 23 항에서,
    상기 인코딩되어 DRM 보호된 비디오는, ,상기 원격 모바일 장치의 DRM-인에이블 재생 모듈에 의해 재생될 때, 상기 원격 모바일 장치의 터치-스크린이 상기 서버의 상기 SEE 시스템에 의해 생성되는 상기 스크램블 된 온-스크린 인터페이스를 안전하게 표시할 수 있게 하는 서버.
  25. 제 23 항에서,
    상기 스크램블 된 온-스크린 인터페이스는,
    온-스크린 스크램블 된 가상 키보드;
    온-스크린 스크램블 된 가상 키패드; 및
    터치-스크린 상의 사용자 제스처에 응답하여 회전할 수 있는 각 숫자 휠의 온-스크린 표현;
    중 적어도 하나를 포함하는 서버.
  26. 제 23 항에서,
    상기 스크램블 된 온-스크린 인터페이스는 사용자 특정 진정성 보장 이미지를 포함하는 서버.
  27. 제 23 항에서,
    상기 원격 모바일 장치의 터치-스크린을 통해 상기 스크램블 된 온-스크린 인터페이스 상에 입력된 사용자-입력 패스워드를 검증하는 검증 모듈; 을 포함하고,
    상기 검증 모듈은, 상기 터치-스크린 상에 사용자의 터치 제스처에 대응하는 터치 좌표를 나타내는 메시지를 상기 원격 모바일 장치로부터 수신하고, 상기 검증 모듈은, 상기 사용자-입력 패스워드가 상기 원격 모바일 장치에 알려지지 않은 동안에, 상기 터치로부터 상기 사용자-입력 패스워드를 판정하는 서버.
KR1020130050016A 2012-05-08 2013-05-03 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법 KR101878149B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261643977P 2012-05-08 2012-05-08
US61/643,977 2012-05-08
US201261730996P 2012-11-29 2012-11-29
US61/730,996 2012-11-29
US13/740,291 2013-01-14
US13/740,291 US20130301830A1 (en) 2012-05-08 2013-01-14 Device, system, and method of secure entry and handling of passwords

Publications (2)

Publication Number Publication Date
KR20130125316A KR20130125316A (ko) 2013-11-18
KR101878149B1 true KR101878149B1 (ko) 2018-08-17

Family

ID=49548623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130050016A KR101878149B1 (ko) 2012-05-08 2013-05-03 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법

Country Status (2)

Country Link
US (5) US9124419B2 (ko)
KR (1) KR101878149B1 (ko)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5430504B2 (ja) * 2009-09-29 2014-03-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US9532222B2 (en) 2010-03-03 2016-12-27 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US9544143B2 (en) 2010-03-03 2017-01-10 Duo Security, Inc. System and method of notifying mobile devices to complete transactions
US11223619B2 (en) * 2010-11-29 2022-01-11 Biocatch Ltd. Device, system, and method of user authentication based on user-specific characteristics of task performance
US10834590B2 (en) 2010-11-29 2020-11-10 Biocatch Ltd. Method, device, and system of differentiating between a cyber-attacker and a legitimate user
US20190158535A1 (en) * 2017-11-21 2019-05-23 Biocatch Ltd. Device, System, and Method of Detecting Vishing Attacks
US10917431B2 (en) 2010-11-29 2021-02-09 Biocatch Ltd. System, method, and device of authenticating a user based on selfie image or selfie video
US10069837B2 (en) 2015-07-09 2018-09-04 Biocatch Ltd. Detection of proxy server
US11210674B2 (en) 2010-11-29 2021-12-28 Biocatch Ltd. Method, device, and system of detecting mule accounts and accounts used for money laundering
US9467463B2 (en) 2011-09-02 2016-10-11 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US9544197B2 (en) * 2012-05-01 2017-01-10 Ricoh Company, Ltd. Communication terminal, communication system, display control method, and recording medium storing display control program
US10515363B2 (en) 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
US9344405B1 (en) 2012-06-15 2016-05-17 Massachusetts Institute Of Technology Optimized transport layer security
GB201212878D0 (en) 2012-07-20 2012-09-05 Pike Justin Authentication method and system
US10373149B1 (en) 2012-11-12 2019-08-06 Square, Inc. Secure data entry using a card reader with minimal display and input capabilities having a display
US9690759B2 (en) 2013-01-03 2017-06-27 Cable Television Laboratories, Inc. Content linking
CN104036160B (zh) * 2013-03-07 2019-03-15 腾讯科技(深圳)有限公司 一种网页浏览方法、装置及浏览器
KR20140110639A (ko) * 2013-03-08 2014-09-17 삼성전자주식회사 데이터 보호 방법 및 이를 구현하는 전자 장치
US9300645B1 (en) * 2013-03-14 2016-03-29 Ip Holdings, Inc. Mobile IO input and output for smartphones, tablet, and wireless devices including touch screen, voice, pen, and gestures
GB2514142A (en) * 2013-05-14 2014-11-19 Incorporated Mastercard International System and method for mobile PIN synchronisation
KR101711021B1 (ko) * 2013-09-09 2017-03-13 한국전자통신연구원 모바일 신뢰 모듈 기반의 전자 서명을 제공하기 위한 시스템 및 그 방법
US9773240B1 (en) * 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US10129242B2 (en) 2013-09-16 2018-11-13 Airwatch Llc Multi-persona devices and management
US9558491B2 (en) * 2013-09-30 2017-01-31 Square, Inc. Scrambling passcode entry interface
US9613356B2 (en) 2013-09-30 2017-04-04 Square, Inc. Secure passcode entry user interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
KR101492054B1 (ko) * 2013-11-08 2015-02-10 한국정보통신주식회사 카드 리더, 단말기 및 그를 이용한 결제 정보 처리 방법
US9613353B1 (en) 2013-12-26 2017-04-04 Square, Inc. Passcode entry through motion sensing
US9495527B2 (en) * 2013-12-30 2016-11-15 Samsung Electronics Co., Ltd. Function-level lock for mobile device security
US9646306B1 (en) 2014-02-11 2017-05-09 Square, Inc. Splicing resistant homomorphic passcode encryption
US10719828B2 (en) * 2014-02-11 2020-07-21 Square, Inc. Homomorphic passcode encryption
DE102014001843B3 (de) * 2014-02-11 2015-05-13 Giesecke & Devrient Gmbh Mikroprozessorsystem
US9197662B2 (en) * 2014-02-26 2015-11-24 Symantec Corporation Systems and methods for optimizing scans of pre-installed applications
KR102181799B1 (ko) * 2014-04-28 2020-11-24 원투씨엠 주식회사 터치를 이용한 컨텐츠 교환 방법
US8990121B1 (en) 2014-05-08 2015-03-24 Square, Inc. Establishment of a secure session between a card reader and a mobile device
US20160261632A1 (en) * 2014-05-28 2016-09-08 Telefonaktiebolaget L M Ericsson (Publ) Methods and Arrangements for Cloud Caching
US11838851B1 (en) * 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
CN104090772A (zh) * 2014-07-23 2014-10-08 广州金山网络科技有限公司 一种生成安卓安装包apk的方法及装置
CN105450406B (zh) 2014-07-25 2018-10-02 华为技术有限公司 数据处理的方法和装置
WO2016026532A1 (en) * 2014-08-21 2016-02-25 Irdeto B.V. User authentication using a randomized keypad over a drm secured video path
JP6571168B2 (ja) * 2014-08-21 2019-09-04 華為技術有限公司Huawei Technologies Co.,Ltd. セキュア相互作用の方法およびデバイス
FR3026524B1 (fr) * 2014-09-25 2016-10-28 Morpho Authentification d'un dispositif electronique securise depuis un dispositif electronique non securise
US10425446B2 (en) * 2014-09-29 2019-09-24 Akamai Technologies, Inc. HTTPS request enrichment
US9270670B1 (en) 2014-10-10 2016-02-23 Joseph Fitzgerald Systems and methods for providing a covert password manager
US9507951B2 (en) * 2014-10-20 2016-11-29 Intel Corporation Technologies for secure input and display of virtual touch user interfaces
EP3021249A1 (en) * 2014-11-13 2016-05-18 Gemalto Sa System for securely entering a private code
CN104391657A (zh) * 2014-11-24 2015-03-04 上海盈方微电子有限公司 一种安卓系统上挂载多分区存储设备的方法
FR3030817B1 (fr) * 2014-12-22 2017-01-13 Oberthur Technologies Procede d'authentification d'un utilisateur, module securise, appareil electronique et systeme associes
FR3031614B1 (fr) 2015-01-09 2018-03-23 Ingenico Group Procede de traitement d'une transaction a partir d'un terminal de communication.
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
CN105989486A (zh) * 2015-02-15 2016-10-05 广州市动景计算机科技有限公司 支付安全处理方法、装置及系统
US10178087B2 (en) * 2015-02-27 2019-01-08 Samsung Electronics Co., Ltd. Trusted pin management
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
GB201520760D0 (en) 2015-05-27 2016-01-06 Mypinpad Ltd And Licentia Group Ltd Encoding methods and systems
CN104866782A (zh) * 2015-05-29 2015-08-26 宇龙计算机通信科技(深圳)有限公司 一种数据处理方法和装置
ES2758755T3 (es) 2015-06-01 2020-05-06 Duo Security Inc Método para aplicar normas de salud de punto final
US9626500B2 (en) 2015-06-09 2017-04-18 International Business Machines Corporation Managing access to an electronic system
KR101657005B1 (ko) * 2015-06-11 2016-09-12 전문석 심전도 생체 인증 방법
US10749860B2 (en) * 2015-06-25 2020-08-18 Kean University Systems and methods for authenticating devices using single factor dynamic authentication
US11102313B2 (en) 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10452497B2 (en) 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10013668B2 (en) * 2015-08-14 2018-07-03 Oracle International Corporation Secure storage of enterprise certificates for cloud services
US10699274B2 (en) 2015-08-24 2020-06-30 Samsung Electronics Co., Ltd. Apparatus and method for secure electronic payment
US10846696B2 (en) * 2015-08-24 2020-11-24 Samsung Electronics Co., Ltd. Apparatus and method for trusted execution environment based secure payment transactions
US20170063820A1 (en) * 2015-08-28 2017-03-02 Bank Of America Corporation Performing Online Account Security Actions in Response to Sign-On and Sign-Off Events
US10248307B2 (en) * 2015-09-28 2019-04-02 Adobe Inc. Virtual reality headset device with front touch screen
US10931455B2 (en) * 2015-09-28 2021-02-23 EyeVerify Inc. Secure image pipeline
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
US10462135B2 (en) * 2015-10-23 2019-10-29 Intel Corporation Systems and methods for providing confidentiality and privacy of user data for web browsers
US10565210B2 (en) * 2015-11-23 2020-02-18 Verizon Patent And Licensing Inc. Generating and verifying a reputational profile
US11593780B1 (en) * 2015-12-10 2023-02-28 Block, Inc. Creation and validation of a secure list of security certificates
KR20180099811A (ko) * 2015-12-28 2018-09-05 모비웨이브 인코포레이티드 디바이스에서 사용자를 인증하는 시스템 및 방법
US10817593B1 (en) * 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
US10523663B2 (en) 2016-01-10 2019-12-31 Apple Inc. Shared password protection within applications
US10339339B2 (en) 2016-02-10 2019-07-02 Mobileron, Inc. Securely storing and distributing sensitive data in a cloud-based application
US11048805B2 (en) * 2016-02-17 2021-06-29 Nec Corporation Method for storing data on a storage entity
US10929526B2 (en) * 2016-03-01 2021-02-23 Qualcomm Incorporated User interface for tee execution of a device
JP6430427B2 (ja) * 2016-03-17 2018-11-28 Jx金属株式会社 コバルト酸リチウム焼結体及び該焼結体を用いて作製されるスパッタリングターゲット及びコバルト酸リチウム焼結体の製造方法並びにコバルト酸リチウムからなる薄膜
DE102016207339A1 (de) * 2016-04-29 2017-11-02 Volkswagen Aktiengesellschaft Verfahren zur sicheren Interaktion eines Nutzers mit einem mobilen Endgerät und einer weiteren Instanz
CN105791324B (zh) * 2016-05-12 2019-12-06 腾讯科技(深圳)有限公司 帐号登录方法和装置
US10594683B2 (en) 2016-06-08 2020-03-17 International Business Machines Corporation Enforce data security based on a mobile device, positioning, augmented reality
WO2018005143A1 (en) * 2016-06-29 2018-01-04 Duo Security, Inc. Systems and methods for endpoint management classification
CN107666383B (zh) * 2016-07-29 2021-06-18 阿里巴巴集团控股有限公司 基于https协议的报文处理方法以及装置
US10289847B2 (en) * 2016-07-29 2019-05-14 Qualcomm Incorporated Updating virtual memory addresses of target application functionalities for an updated version of application binary code
EP3291504B1 (en) * 2016-08-30 2020-03-11 Wacom Co., Ltd. Authentication and secure transmission of data between signature devices and host computers using transport layer security
EP3319067B1 (en) * 2016-11-02 2019-05-15 Skeyecode Method for authenticating a user by means of a non-secure terminal
EP3319069B1 (en) * 2016-11-02 2019-05-01 Skeyecode Method for authenticating a user by means of a non-secure terminal
US20180150838A1 (en) * 2016-11-28 2018-05-31 Yello Company Limited Electronic payment acceptance device
US20180174129A1 (en) * 2016-12-12 2018-06-21 Topl, Llc Method and Apparatus for Processing Mobile Payment Using Blockchain Techniques
US10374809B1 (en) * 2016-12-13 2019-08-06 Amazon Technologies, Inc. Digital signature verification for asynchronous responses
CN108512657B (zh) * 2017-02-28 2021-05-14 中兴通讯股份有限公司 一种密码生成方法及装置
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10097538B1 (en) 2017-08-12 2018-10-09 Growpath, Inc. User authentication systems and methods
US10903985B2 (en) 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10992652B2 (en) * 2017-08-25 2021-04-27 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted network traffic flows
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
EP3486852A3 (de) * 2017-11-15 2019-08-07 Rubean AG Verfahren und anordnung zum auslösen einer elektronischen zahlung
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
NO20172033A1 (en) * 2017-12-22 2019-05-06 Protectoria As Secure mobile platform
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
CN108509234B (zh) * 2018-04-12 2021-06-11 珠海横琴盛达兆业科技投资有限公司 一种基于Android平台处理拍照返回时闪退的方法
CN110618847A (zh) * 2018-06-20 2019-12-27 华为技术有限公司 一种用户界面的显示方法和终端设备
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
CN114143606A (zh) 2018-08-22 2022-03-04 华为技术有限公司 一种实现视频流切换的方法、装置和系统
US10846432B2 (en) 2018-09-11 2020-11-24 OneLogin, Inc. Secure data leak detection
CN110891182B (zh) 2018-09-11 2022-04-12 华为技术有限公司 一种实现视频流切换的方法、装置和系统
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications
US11010467B2 (en) * 2018-10-30 2021-05-18 Blue Popcon Co.Ltd Multifactor-based password authentication
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction
EP3909003B1 (en) 2019-01-09 2023-05-03 Visa International Service Association Method, system, and computer program product for network bound proxy re-encryption and pin translation
US11282066B1 (en) * 2019-01-18 2022-03-22 Worldpay, Llc Systems and methods to provide user verification in a shared user environment via a device-specific display
US11212319B2 (en) * 2019-01-24 2021-12-28 Zhnith Incorporated Multiple sentinels for securing communications
US11641274B2 (en) * 2019-03-22 2023-05-02 Jpmorgan Chase Bank, N.A. Systems and methods for manipulation of private information on untrusted environments
WO2020191464A1 (en) * 2019-03-28 2020-10-01 Bankvault Pty Ltd Computer systems and methods including html browser authorisation approaches
US11693980B2 (en) * 2019-04-19 2023-07-04 Datalocker Inc. Offline data storage device
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US11336684B2 (en) * 2019-06-07 2022-05-17 Lookout, Inc. Mobile device security using a secure execution context
CN110443078B (zh) * 2019-07-19 2021-05-28 南京芯驰半导体科技有限公司 一种基于特权分级的安全存储系统
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
KR102140496B1 (ko) 2019-10-08 2020-08-03 맹선주 방송 컨텐츠 운용시스템
JP7212169B2 (ja) * 2019-10-11 2023-01-24 エスダブリュー エンパイア カンパニー リミテッド ブラウザのウェブストレージを利用した簡易認証方法及びシステム
CN112711452B (zh) * 2019-10-24 2023-11-03 华为技术有限公司 一种图像显示方法与电子设备
CN110889095B (zh) * 2019-11-18 2022-02-25 中国银行股份有限公司 一种虚拟数字键盘的控制方法及控制装置
US20210166227A1 (en) * 2019-11-28 2021-06-03 Qualcomm Incorporated Secure User Interface With Improved User Experience
CN110968895B (zh) * 2019-11-29 2022-04-05 北京百度网讯科技有限公司 一种数据的处理方法、装置、电子设备及存储介质
US11709966B2 (en) * 2019-12-08 2023-07-25 GlassBox Ltd. System and method for automatically masking confidential information that is input on a webpage
US20210240801A1 (en) * 2020-02-03 2021-08-05 Arris Enterprises Llc Digital rights management system resource manager
US11190417B2 (en) 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
US11503013B2 (en) * 2020-02-13 2022-11-15 Sap Se Translation of client certificate authentication into authorization graph descriptors
KR102416538B1 (ko) * 2020-03-11 2022-07-05 주식회사 티모넷 전자 서명 서비스 시스템 및 그 방법
CN111478901B (zh) * 2020-04-07 2022-07-12 中国民航信息网络股份有限公司 一种账号弱口令检测方法、装置、服务器及存储介质
US11763038B2 (en) 2020-04-24 2023-09-19 Wells Fargo Bank, N.A. Secured file storage
JP2021173956A (ja) * 2020-04-30 2021-11-01 ローランド株式会社 データ利用装置、データ利用プログラム及びデータ利用方法
US20210350020A1 (en) * 2020-05-10 2021-11-11 Eiko Onishi De-identified Identity Proofing Methods and Systems
US12001031B2 (en) * 2020-07-22 2024-06-04 Nidec Sankyo Corporation Input device and information processing device
US20220045848A1 (en) * 2020-08-07 2022-02-10 Charter Communications Operating, Llc Password security hardware module
US11310256B2 (en) 2020-09-23 2022-04-19 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11463466B2 (en) * 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11502840B2 (en) * 2020-10-08 2022-11-15 Authentico Technologies Ab Password management system and method
US11689510B2 (en) * 2020-12-08 2023-06-27 TrustFour Technologies, Inc. Cryptographic platform system and method
US11870801B2 (en) * 2021-01-27 2024-01-09 Paypal, Inc. Protecting computer system end-points using activators
US11669639B2 (en) * 2021-02-25 2023-06-06 Dell Products L.P. System and method for multi-user state change
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
KR102363316B1 (ko) * 2021-07-02 2022-02-16 쿠팡 주식회사 정보 제공 방법 및 이를 이용한 전자 장치
US11706210B2 (en) * 2021-07-22 2023-07-18 Citrix Systems, Inc. Computing connection credential verification
US11606353B2 (en) 2021-07-22 2023-03-14 Biocatch Ltd. System, device, and method of generating and utilizing one-time passwords
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US20230291548A1 (en) * 2022-03-08 2023-09-14 Western Digital Technologies, Inc. Authorization requests from a data storage device to multiple manager devices
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294370A1 (en) 2005-06-08 2006-12-28 Ronen Greenspan Method, device, and system of maintaining a context of a secure execution environment
US20110219239A1 (en) 2010-03-04 2011-09-08 Comcast Cable Communications, Llc PC Secure Video Path
WO2012050933A1 (en) 2010-09-28 2012-04-19 Headwater Partners I Llc Secure device data records

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031914A (en) * 1996-08-30 2000-02-29 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible images
US6421781B1 (en) * 1998-04-30 2002-07-16 Openwave Systems Inc. Method and apparatus for maintaining security in a push server
US6714982B1 (en) * 2000-01-19 2004-03-30 Fmr Corp. Message passing over secure connections using a network server
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
CN100401669C (zh) * 2001-11-06 2008-07-09 国际商业机器公司 用于数据供应、交易和电子投票的方法和系统
EP1329787B1 (en) * 2002-01-16 2019-08-28 Texas Instruments Incorporated Secure mode indicator for smart phone or PDA
US8423763B2 (en) * 2002-03-20 2013-04-16 Research In Motion Limited System and method for supporting multiple certificate status providers on a mobile communication device
US20110225064A1 (en) * 2003-09-02 2011-09-15 Augustine Fou Methods and systems for using universally unique item identifiers
US20060031174A1 (en) * 2004-07-20 2006-02-09 Scribocel, Inc. Method of authentication and indentification for computerized and networked systems
US7814315B2 (en) * 2006-11-30 2010-10-12 Red Hat, Inc. Propagation of certificate revocation information
US8261091B2 (en) * 2006-12-21 2012-09-04 Spansion Llc Solid-state memory-based generation and handling of security authentication tokens
US8996864B2 (en) * 2006-12-22 2015-03-31 Virtuallogix Sa System for enabling multiple execution environments to share a device
CN100566251C (zh) * 2007-08-01 2009-12-02 西安西电捷通无线网络通信有限公司 一种增强安全性的可信网络连接方法
CN101247228A (zh) 2007-08-13 2008-08-20 李东声 一种软键盘电子签名方法及其工具
US8220035B1 (en) * 2008-02-29 2012-07-10 Adobe Systems Incorporated System and method for trusted embedded user interface for authentication
US20090281949A1 (en) * 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US20090307486A1 (en) * 2008-06-09 2009-12-10 Garret Grajek System and method for secured network access utilizing a client .net software component
US8335931B2 (en) * 2008-06-20 2012-12-18 Imation Corp. Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
US8290427B2 (en) * 2008-07-16 2012-10-16 Centurylink Intellectual Property Llc System and method for providing wireless security surveillance services accessible via a telecommunications device
US8756675B2 (en) * 2008-08-06 2014-06-17 Silver Spring Networks, Inc. Systems and methods for security in a wireless utility network
KR20100060707A (ko) * 2008-11-28 2010-06-07 주식회사 하렉스인포텍 이동통신 단말기를 이용한 구매자에 의한 결제 승인, 정산 및 멤버십가입 방법, 장치 및 시스템
US8171292B2 (en) * 2009-04-08 2012-05-01 Research In Motion Limited Systems, devices, and methods for securely transmitting a security parameter to a computing device
US11182752B2 (en) * 2009-04-29 2021-11-23 International Business Machines Corporation Generating transaction message
US9794248B2 (en) * 2009-12-23 2017-10-17 Symantec Corporation Alternative approach to deployment and payment for digital certificates
US8788811B2 (en) * 2010-05-28 2014-07-22 Red Hat, Inc. Server-side key generation for non-token clients
KR20120005364A (ko) * 2010-07-08 2012-01-16 정보통신산업진흥원 전자 주소, 및 전자문서 유통 시스템
US8204480B1 (en) * 2010-10-01 2012-06-19 Viasat, Inc. Method and apparatus for secured access
CN102045367B (zh) 2011-01-10 2014-04-23 软库创投(北京)科技有限公司 实名认证的注册方法及认证服务器
US8533805B2 (en) * 2011-03-16 2013-09-10 Red Hat, Inc. Certificates to create product mappings
US8842057B2 (en) * 2011-09-27 2014-09-23 Z124 Detail on triggers: transitional states
US8806196B2 (en) * 2011-11-04 2014-08-12 Motorola Solutions, Inc. Method and apparatus for authenticating a digital certificate status and authorization credentials

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294370A1 (en) 2005-06-08 2006-12-28 Ronen Greenspan Method, device, and system of maintaining a context of a secure execution environment
US20110219239A1 (en) 2010-03-04 2011-09-08 Comcast Cable Communications, Llc PC Secure Video Path
WO2012050933A1 (en) 2010-09-28 2012-04-19 Headwater Partners I Llc Secure device data records

Also Published As

Publication number Publication date
US20130305392A1 (en) 2013-11-14
US20130305041A1 (en) 2013-11-14
US10491379B2 (en) 2019-11-26
US20130301830A1 (en) 2013-11-14
US20160234014A1 (en) 2016-08-11
KR20130125316A (ko) 2013-11-18
US9124419B2 (en) 2015-09-01
US9344275B2 (en) 2016-05-17
US10009173B2 (en) 2018-06-26
US20180270048A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
US10187211B2 (en) Verification of password using a keyboard with a secure password entry mode
US20180144114A1 (en) Securing Blockchain Transactions Against Cyberattacks
CN103390124B (zh) 安全输入和处理口令的设备、系统和方法
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
Nyang et al. Keylogging-resistant visual authentication protocols
US10616215B1 (en) Virtual smart card to perform security-critical operations
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
TR201810238T4 (tr) Bir mobil kimlik doğrulama uygulaması kullanarak kullanıcıya uygun kimlik doğrulama yöntemi ve aparatı.
WO2015188424A1 (zh) 一种密钥存储设备及其使用方法
KR20080101333A (ko) 가상키보드를 이용한 보안방법
US20230362018A1 (en) System and Method for Secure Internet Communications
WO2008053279A1 (en) Logging on a user device to a server
CN108985079A (zh) 数据验证方法和验证系统
EP4058921B1 (en) Device and method for secure communication
WO2011060738A1 (zh) 一种确认cpu卡内数据的方法
JP5361850B2 (ja) アクセス管理システム
KR20100120835A (ko) 보안 입력 장치 및 이를 이용한 보안 방법
JP2017098697A (ja) 署名検証システム及び署名検証方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant