KR102217941B1 - 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법 - Google Patents
타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법 Download PDFInfo
- Publication number
- KR102217941B1 KR102217941B1 KR1020167009198A KR20167009198A KR102217941B1 KR 102217941 B1 KR102217941 B1 KR 102217941B1 KR 1020167009198 A KR1020167009198 A KR 1020167009198A KR 20167009198 A KR20167009198 A KR 20167009198A KR 102217941 B1 KR102217941 B1 KR 102217941B1
- Authority
- KR
- South Korea
- Prior art keywords
- computing device
- persona
- target computing
- authorization
- mobile communication
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013475 authorization Methods 0.000 claims abstract description 123
- 230000004044 response Effects 0.000 claims abstract description 66
- 238000012795 verification Methods 0.000 claims description 11
- 238000010295 mobile communication Methods 0.000 description 163
- 230000001413 cellular effect Effects 0.000 description 19
- 238000012546 transfer Methods 0.000 description 19
- 230000007704 transition Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 229920001643 poly(ether ketone) Polymers 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
- G06F21/335—User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법이 제공된다. 이 방법은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청을 생성하는 단계, 제 1 개인, 공개 키 쌍의 개인 키로 요청을 서명하는 단계, 인증 서버에 요청을 송신하는 단계, 인증 서버로부터 요청 및 인가 토큰을 포함하는 인가 응답을 수신하는 단계, 및 타깃이 되는 컴퓨팅 디바이스에 인가 응답을 송신하는 단계를 포함한다.
Description
[1] 본 개시의 분야는 일반적으로 모바일 통신 디바이스들에 관한 것으로, 보다 구체적으로는 모바일 통신 디바이스 상에서 작동하는 하나 또는 그보다 많은 격리된 가상화 운영 시스템들의 신뢰할 수 있는 동작을 가능하게 하는 모바일 통신 디바이스에 관한 것이다.
[2] 스마트폰들, 셀룰러폰들 및 개인용 디지털 보조기기(PDA: personal digital assistant)들과 같은 모바일 통신 디바이스들은 다양한 서로 다른 타입들의 사용자들 사이에서 사용 및 인기가 증가해 왔다. 적어도 일부 알려진 디바이스들은 하나의 디바이스 상에서 다수의 운영 시스템(OS: operating system)들을 동시에 실행하도록 가상화될 수 있는 중앙 처리 유닛(CPU: central processing unit)을 포함한다. 예를 들어, 하이퍼바이저로서 알려진 소프트웨어 프로그램이 컴퓨터 시스템에 포함된 하드웨어 디바이스들과 OS들 사이에 송신되는 입력/출력(I/O: input/output) 접근 동작들을 관리함으로써 서로 다른 OS들을 구별하는 데 사용될 수 있다. 보다 구체적으로, 하이퍼바이저는 CPU 및 연관된 주변 장치들(예를 들어, 디스플레이 디바이스들, 터치 스크린들 및 통신 인터페이스들)과 같은 기본 하드웨어를 하드웨어 상에서 작동하는 OS들과 구별하는 것을 가능하게 한다.
[3] 디바이스 가상화는 알려진 컴퓨팅 디바이스들 상에서 한 세트의 소프트웨어를 다른 세트의 소프트웨어와 구별하는 것을 가능하게 할 수도 있지만, 기본 플랫폼이 다양한 보안 취약성들에 영향을 받기 쉬울 수도 있다. 이 때문에, 알려진 컴퓨팅 디바이스들의 보안을 강화하는 것이 컴퓨터 산업의 당업자들에게 점점 더 중요해져 왔다. 이에 따라, 디바이스 가상화 아키텍처에 강화된 보안을 포함시키는 것이 바람직할 수도 있다.
[4] 한 양상에서, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법이 제공된다. 이 방법은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청을 생성하는 단계, 제 1 개인, 공개 키 쌍의 개인 키로 요청을 서명하는 단계, 인증 서버에 요청을 송신하는 단계, 인증 서버로부터 요청 및 인가 토큰을 포함하는 인가 응답을 수신하는 단계, 및 타깃이 되는 컴퓨팅 디바이스에 인가 응답을 송신하는 단계를 포함한다.
[5] 다른 양상에서, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법이 제공된다. 이 방법은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하도록 요청 디바이스로부터의 요청을 수신하는 단계, 제 1 개인, 공개 키 쌍의 공개 키로 요청을 검증하는 단계 ― 요청은 제 1 개인, 공개 키 쌍의 개인 키로 서명됨 ―, 요청 및 인가 토큰을 포함하는 인가 응답을 형성하는 단계, 및 인가 응답을 요청 디바이스로 송신하는 단계를 포함한다.
[6] 또 다른 양상에서, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법이 제공된다. 이 방법은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청 및 인가 토큰을 포함하는 인가 응답을 요청 디바이스로부터 수신하는 단계, 개인, 공개 키 쌍의 공개 키로 인가 응답을 검증하는 단계를 포함하며, 여기서 인가 응답은 개인, 공개 키 쌍의 개인 키로 서명된다. 이 방법은 또한, 인가 응답의 검증시 동작을 수행하기 위한 인가를 그랜트하는 단계를 포함한다.
[7] 도 1은 예시적인 모바일 통신 디바이스의 정면 사시도이다.
[8] 도 2는 도 1에 도시된 모바일 통신 디바이스의 뒷면 사시도이다.
[9] 도 3은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 예시적인 하드웨어 아키텍처의 개략도이다.
[10] 도 4는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 예시적인 소프트웨어 아키텍처의 개략도이다.
[11] 도 5는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나의 소유권을 주장하는 예시적인 방법의 흐름도이다.
[12] 도 6은 도 1에 도시된 모바일 통신 디바이스 상에서 수행될 동작을 인가하는 데 사용하기 위한 예시적인 시스템의 개략도이다.
[13] 도 7은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나 소프트웨어를 업데이트하는 예시적인 방법의 흐름도이다.
[14] 도 8은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나의 소유권을 트랜지션하는 예시적인 방법의 흐름도이다.
[15] 도 9는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 새로운 페르소나를 로딩하는 예시적인 방법의 흐름도이다.
[8] 도 2는 도 1에 도시된 모바일 통신 디바이스의 뒷면 사시도이다.
[9] 도 3은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 예시적인 하드웨어 아키텍처의 개략도이다.
[10] 도 4는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 예시적인 소프트웨어 아키텍처의 개략도이다.
[11] 도 5는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나의 소유권을 주장하는 예시적인 방법의 흐름도이다.
[12] 도 6은 도 1에 도시된 모바일 통신 디바이스 상에서 수행될 동작을 인가하는 데 사용하기 위한 예시적인 시스템의 개략도이다.
[13] 도 7은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나 소프트웨어를 업데이트하는 예시적인 방법의 흐름도이다.
[14] 도 8은 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 페르소나의 소유권을 트랜지션하는 예시적인 방법의 흐름도이다.
[15] 도 9는 도 1에 도시된 모바일 통신 디바이스에 사용될 수 있는 새로운 페르소나를 로딩하는 예시적인 방법의 흐름도이다.
[16] 본 명세서에서 설명되는 시스템들 및 방법들은 모바일 통신 디바이스를 작동시키는 데 사용될 수 있다. 예시적인 구현에서, 모바일 통신 디바이스는 이 디바이스 상에서 작동하는 운영 시스템들을 안전하게 하는 것을 가능하게 하기 위해 공개 및 개인 키들을 기반으로 하는 암호 기법과 같은 암호 기법을 사용하는 하드웨어 및 소프트웨어 아키텍처에 의해 관리된다. 보다 구체적으로, 모바일 통신 디바이스는 디바이스 상에서 동시에 작동하며 각각이 개별 신뢰 루트들을 갖는 다수의 가상화 운영 시스템들을 지원한다. 이에 따라, 디바이스 상의 하드웨어에 대한 가상화 운영 시스템들의 접근은 디바이스의 신뢰할 수 있는 동작을 가능하게 하도록 미리 결정된 보안 정책들에 의해 시행된다.
[17] 도 1과 도 2는 예시적 모바일 통신 디바이스(10)를 나타낸다. 예시적인 구현에서, 모바일 통신 디바이스(10)는 다른 모바일 통신 디바이스와 같은 다른 디바이스와의 음성 통신을 지원하기 위해 제공된다. 더욱이, 모바일 통신 디바이스(10)는 네트워크 액세스, SMS 메시징, 하나 또는 그보다 많은 애플리케이션들의 호스팅, 데이터 처리, 암호화 및/또는 다른 기능들을 비롯한 다양한 다른 기능들을 포함할 수도 있다. 모바일 통신 디바이스(10)는 하나 또는 그보다 많은 셀룰러 네트워크들을 통해 통신하도록 구성된 스마트폰일 수도 있다. 대안적인 구현에서, 모바일 통신 디바이스(10)는 WiFi 및/또는 위성 네트워크와 같은 비-셀룰러 네트워크 상에서 배타적으로 작동할 수도 있다.
[18] 도시된 바와 같이, 모바일 통신 디바이스(10)는 하우징(12) 그리고 하우징(12) 내에 적어도 부분적으로 배치된 다수의 표현 디바이스들(14)을 포함한다. 표현 디바이스(14)는 모바일 통신 디바이스(10)의 동작과 관련된 데이터, 커맨드들, 요청된 데이터, 메시지들, (가상 키보드와 같은) 하나 또는 그보다 많은 입력 디바이스들, 및/또는 임의의 다른 타입의 데이터와 같은, 그러나 이에 한정된 것은 아닌 정보를 사용자에게 출력한다. 여러 예들에서, 표현 디바이스(14)는 예를 들어, 액정 디스플레이(LCD: liquid crystal display), 발광 다이오드(LED: light-emitting diode) 디스플레이, 발광 다이오드(LED), 카메라 플래시, 유기 LED(OLED: organic LED) 디스플레이 및/또는 "전자 잉크" 디스플레이를 포함할 수 있다. 일부 구현들에서는, 사용자에게 데이터를 시각적으로 그리고/또는 청각적으로 제시하기 위해 다수의 표현 디바이스들(14)이 포함될 수도 있다. 예시적인 구현에서, 표현 디바이스(14)는 음성 통신에서 사용할 오디오 출력을 포함한다.
[19] 모바일 통신 디바이스(10)는 하우징(12) 내에 적어도 부분적으로 배치된 다수의 입력 디바이스들(16)을 더 포함한다. 각각의 입력 디바이스(16)는 본 명세서에서 설명되는 방법들 및/또는 프로세스들 중 하나 이상에 따라, 선택들, 요청들, 커맨드들, 정보, 데이터 및/또는 임의의 다른 타입의 입력들을 수신하도록 구성될 수도 있다. 입력 디바이스들(16)은 예를 들어, 버튼들, 키보드, 마이크로폰, 바이브(vibe), 포인팅 디바이스, 스타일러스, 터치 감지 패널(예를 들어, 터치 패드 또는 터치 스크린), 자이로스코프, 가속도계, 디지털 나침반, 포지션 검출기, 카메라, 제2 카메라, 주변광 센서 및/또는 오디오 입력 인터페이스를 포함할 수 있다. 예시적인 구현에서는, 터치 스크린(18)과 같은 단일 컴포넌트가 표현 디바이스(14)와 입력 디바이스(16) 둘 다로서 기능을 한다.
[20] 한 구현에서, 모바일 통신 디바이스(10)는 모바일 통신 디바이스(10)의 보안 동작을 가능하게 하는 보안 특징들을 포함한다. 보안 특징들은 보안 버튼(17)과 같은 입력 디바이스(16) 및 복수의 LED들과 같은 표현 디바이스(14)를 포함한다. 보다 구체적으로, 모바일 통신 디바이스(10)는 제 1 LED(19) 및 제 2 LED(21)를 포함한다. 아래 더 상세히 설명되는 바와 같이, 보안 특징들은 모바일 통신 디바이스(10)의 신뢰할 수 있는 동작 상태를 변경 및/또는 검증하는 데 사용될 수도 있다. 대안적인 구현에서, 모바일 통신 디바이스(10)는 보안 특징들이 본 명세서에서 설명되는 바와 같이 기능할 수 있게 하는 임의의 타입 및/또는 임의의 개수의 표현 디바이스들을 포함할 수도 있다.
[21] 모바일 통신 디바이스(10)는 하우징(12)과 맞물린 뒷판(20)을 포함한다. 뒷판(20)이 하우징(12)과 실질적으로 일치하는 단면을 한정함으로써, 하우징(12)에 결합될 때 하우징(12)과 실질적으로 일체형 유닛을 형성한다. 뒷판(20)은 모바일 통신 디바이스(10)의 하나 또는 그보다 많은 양상들에 대한 접근을 제공하도록 모바일 통신 디바이스(10)로부터 탈착 가능하다.
[22] 도 3은 (도 1에 도시된) 모바일 통신 디바이스(10)에 사용될 수 있는 예시적인 하드웨어 아키텍처의 개략도이다. 예시적인 구현에서, 모바일 통신 디바이스(10)는 메모리(22) 그리고 메모리(22)에 연결되어 프로그래밍된 명령들을 실행하기 위한 프로세서(24)를 포함한다. 프로세서(24)는 하나 또는 그보다 많은 처리 유닛들을 (예를 들어, 멀티코어 구성으로) 포함할 수도 있고 그리고/또는 (도시되지 않은) 암호화 가속기를 포함할 수도 있다. 모바일 통신 디바이스(10)는 메모리(22) 및/또는 프로세서(24)를 프로그래밍함으로써 본 명세서에서 설명되는 하나 또는 그보다 많은 동작들을 수행하도록 프로그래밍 가능하다. 예를 들어, 프로세서(24)는 실행 가능 명령들로서 동작을 인코딩하고 실행 가능 명령들을 메모리(22)에 제공함으로써 프로그래밍될 수도 있다.
[23] 프로세서(24)는, 범용 중앙 처리 유닛(CPU), 마이크로컨트롤러, 축소 명령 집합 컴퓨터(RISC: reduced instruction set computer) 프로세서, 오픈 미디어 애플리케이션 플랫폼(OMAP: open media application platform), 주문형 집적 회로(ASIC: application specific integrated circuit), 프로그래밍 가능 로직 회로(PLC: programmable logic circuit), 및/또는 본 명세서에서 설명되는 기능들을 실행할 수 있는 임의의 다른 회로 또는 프로세서를 포함할 수도 있지만 이에 한정된 것은 아니다. 본 명세서에서 설명되는 방법들은 한정 없이, 저장 디바이스 및/또는 메모리 디바이스를 포함하는 컴퓨터 판독 가능 매체에 포함된 실행 가능 명령들로서 인코딩될 수도 있다. 이러한 명령들은 프로세서(24)에 의해 실행될 때 프로세서(24)로 하여금, 본 명세서에서 설명되는 기능들의 적어도 일부를 수행하게 한다. 상기 예들은 단지 예시일 뿐이며, 따라서 프로세서라는 용어의 정의 및/또는 의미를 어떤 식으로도 한정하는 것으로 의도되지 않는다.
[24] 본 명세서에서 설명되는 것과 같은 메모리(22)는 실행 가능 명령들 및/또는 다른 데이터와 같은 정보가 저장 및 리트리브될 수 있게 하는 하나 또는 그보다 많은 디바이스들이다. 메모리(22)는 한정 없이, 동적 랜덤 액세스 메모리(DRAM: dynamic random access memory), 동기식 동적 랜덤 액세스 메모리(SDRAM: synchronous dynamic random access memory), 정적 랜덤 액세스 메모리(SRAM: static random access memory), 솔리드 스테이트 디스크, 및/또는 하드 디스크와 같은 하나 또는 그보다 많은 컴퓨터 판독 가능 매체를 포함할 수도 있다. 메모리(22)는 한정 없이, 실행 가능 명령들, 운영 시스템들, 애플리케이션들, 자원들, 설치 스크립트들 및/또는 본 명세서에서 설명되는 방법들 및 시스템들에 사용하기에 적합한 임의의 다른 타입의 데이터를 저장하도록 구성될 수도 있다.
[25] 운영 시스템들 및 애플리케이션들에 대한 명령들은 본 명세서에서 설명되는 프로세스들 중 하나 또는 그보다 많은 프로세스를 수행하도록 프로세서(24)에 의한 실행을 위해 비-일시적 메모리(22) 상에 함수 형태로 로케이팅된다. 서로 다른 구현들에서 이러한 명령들은 서로 다른 물리적 또는 유형의 컴퓨터 판독 가능 매체, 예컨대 메모리(22) 또는 한정 없이, 플래시 드라이브 및/또는 썸(thumb) 드라이브를 포함할 수도 있는 다른 메모리, 예컨대 컴퓨터 판독 가능 매체(26) 상에 포함될 수도 있다. 또한, 명령들은 한정 없이, 스마트 미디어(SM: smart-media) 메모리, 콤팩트 플래시(CF: compact flash) 메모리, 보안 디지털(SD: secure digital) 메모리, 메모리 스틱(MS: memory stick) 메모리, 멀티미디어 카드(MMC: multimedia card) 메모리, 임베디드 멀티미디어 카드(e-MMC: embedded-multimedia card) 및 마이크로 드라이브 메모리를 포함할 수도 있는 비-일시적 컴퓨터 판독 가능 매체(26) 상에 함수 형태로 로케이팅된다. 컴퓨터 판독 가능 매체(26)는 프로세서(24)에 의한 접근 및/또는 실행을 허용하도록 모바일 통신 디바이스(10)로부터 선택적으로 삽입 가능 및/또는 탈착 가능할 수도 있다. 일부 구현들에서, 컴퓨터 판독 가능 매체(26)는 탈착 가능하지 않다.
[26] 다시 도 3을 참조하면, 모바일 통신 디바이스(10)는 프로세서(24)에 위치 데이터를 제공하도록 구성되는 GPS 컴포넌트(30)를 포함할 수도 있다. 위치 데이터는 프로세서(24)가 모바일 통신 디바이스(10)의 위치를 결정하고 그리고/또는 예를 들어, 내비게이션 기능과 같은, 모바일 통신 디바이스(10)의 위치에 의존한 기능을 제공하는 것을 가능하게 한다. 대안적인 구현에서는, 인근 802.11 및/또는 블루투스 기지국들 또는 디바이스들, 및/또는 이들의 결합을 식별함으로써 셀룰러 네트워크를 사용하여 모바일 통신 디바이스(10)에 대한 위치 데이터가 얻어질 수도 있다.
[27] 일부 구현들에서, 모바일 통신 디바이스(10)는 추가로, 적어도 하나의 암호화 프로세서를 포함한다. 보다 구체적으로, 모바일 통신 디바이스(10)는 제 1 신뢰할 수 있는 플랫폼 모듈(TPM: trusted platform module)(60) 및 제 2 TPM(62)을 포함한다. TPM들은 모바일 통신 디바이스(10)로의/로부터의 통신을 위해 그리고/또는 모바일 통신 디바이스(10)로의 저장을 위해 프로세서(24)에 의해 접근되는 데이터의 적어도 일부를 암호화한다. 이에 따라, 일부 데이터는 모바일 통신 디바이스(10)의 다른 애플리케이션들 및/또는 동작들과 구별되고, 이러한 애플리케이션들/동작들보다 더 높은 수준의 보안이 유지될 수도 있다. 이에 따라, TPM들(60, 62)은 예를 들어, 신뢰할 수 있는 부팅, 신중한 부팅, 보안 부팅, 원격 증명 및 보호 키스토어를 작동시키는 것을 가능하게 한다.
[28] 또한, 모바일 통신 디바이스는 프로세서(24)에 연결된 보안 엘리먼트(64)를 포함한다. 보다 구체적으로, 보안 엘리먼트(64)는 범용 집적 회로 카드(UICC: Universal Integrated Circuit Card), 마이크로SD 카드, 그리고/또는 모바일 통신 디바이스(10) 내에 내장되는 것 중 적어도 하나로서 모바일 통신 디바이스(10)와 통합될 수도 있다. 보안 엘리먼트(64)는 키스토어 디바이스로서 그리고/또는 모바일 통신 디바이스(10) 상에서 작동하는 플랫폼에 대한 하드웨어 신뢰 앵커로서 사용될 수 있는 변조 방지(tamper-resistant) 저장 및 실행 환경이다. 보다 구체적으로, 보안 엘리먼트(64)는 데이터 암호 키들, 패스워드들 그리고 하드웨어 및 소프트웨어 구성 정보를 저장한다. 또한, 보안 엘리먼트(64)는 공개 키 쌍들을 생성하고 연관된 개인 키들의 내보내기의 제한을 가능하게 한다. 대안적인 구현에서, 보안 엘리먼트(64)는 TPM으로 구현될 수도 있다.
[29] 모바일 통신 디바이스(10)는 또한 보안 수퍼바이저 메모리(66)를 포함한다. 보안 수퍼바이저 메모리(66)는 복수의 키들을 포함할 수도 있고 보안 엘리먼트(64) 및/또는 제 1 TPM(60) 또는 제 2 TPM(62) 내에서 데이터를 랩핑(wrap)하는 데 사용될 수 있는 변조 반응(tamper-reactive) 데이터를 저장한다. 동작시, 변조 반응 데이터는 변조 사건의 검출시 랩핑된 데이터가 복구될 수 없게 클리어될 수 있다. 보안 수퍼바이저 메모리(66)는 모바일 통신 디바이스(10)가 본 명세서에서 설명되는 바와 같이 기능할 수 있게 하는 임의의 양의 변조 반응 데이터를 보유할 수 있다.
[30] 모바일 통신 디바이스(10)는 추가로, 프로세서(24)에 연결된 셀룰러 제어기(31)를 포함한다. 셀룰러 제어기(31)는 모바일 통신 디바이스(10)가 (도시되지 않은) 하나 또는 그보다 많은 셀룰러 네트워크와 통신하여 셀룰러 네트워크와의 음성 및/또는 데이터 통신을 제공하도록 허용한다. 이 예에서, 모바일 통신 디바이스(10)는 셀룰러 제어기(31)에 연결된 2개의 가입자 식별 모듈(SIM: subscriber identity module) 카드 소켓들(33A, 33B)을 포함한다. 이런 식으로, 모바일 통신 디바이스(10)는 모바일 통신 디바이스(10)의 사용자에 의해 선택 가능한 2개의 서로 다른 셀룰러 계정들과 연관된 2개의 SIM 카드들을 수신할 수 있다. 예를 들어, 모바일 통신 디바이스(10)는 개인용 셀룰러 계정 및 업무용 셀룰러 계정에 접근하여, 사용자가 그 사이에서 개인적 사용과 업무적 사용을 구별하도록 선택하게 할 수도 있다. 다른 구현들에서는 다른 개수의 SIM 카드 소켓들이 포함될 수도 있다고 인식되어야 한다.
[31] 또한, 모바일 통신 디바이스(10)는 프로세서(24)에 연결된 USB 제어기(35)를 포함한다. 도 3에 도시된 바와 같이, USB 제어기(35)는 커넥터(37)를 통해 접근 가능하다. 이런 식으로, 하나 또는 그보다 많은 서로 다른 디바이스들이 모바일 통신 디바이스(10)와 통신할 수도 있다. 마찬가지로, 모바일 통신 디바이스(10)는 추가로, 프로세서(24)에 연결되어 커넥터(41)를 통해 접근 가능한 고화질 멀티미디어 인터페이스(HDMI: high-definition multimedia interface) 제어기(39)를 포함한다. 적어도 하나의 구현에서, 커넥터들(37 및/또는 41)은 모바일 통신 디바이스(10)에 대한 마이크로-USB 및/또는 마이크로-HDMI 접속들을 제공할 수도 있다.
[32] 추가로 또는 대안으로, 모바일 통신 디바이스(10)는 하나 또는 그보다 많은 무선 통신 채널들을 제공하기 위해 블루투스 제어기, 지그비(ZigBee) 제어기 및/또는 Wi-Fi 제어기 중 하나 이상을 포함할 수도 있다. GPS 컴포넌트(30), 제 1 TPM(60), 제 2 TPM(62) 및 셀룰러 제어기(31)는 적어도 부분적으로는 하드웨어로 제공되지만, 모바일 통신 디바이스(10)에 통합된 하나 또는 그보다 많은 컴포넌트들은 프로세서(24)와 연관된 소프트웨어 및/또는 펌웨어를 통해 제공될 수도 있다고 추가로 인식되어야 한다. 일례로, 프로세서(24)는 모바일 통신 디바이스(10)의 저수준 에어 인터페이스 프로토콜들을 분석하고 공인된 네트워크 아이덴티티들 및 특징들을 기초로 네트워크 송신들을 허가 또는 거부하도록 구성된 에어 인터페이스 방화벽을 제공한다. 이 예에서, 셀룰러 네트워크 아이덴티티들 및 특징들을 포함하는 셀룰러 제어기(31)로부터의 에어 인터페이스 프로토콜 데이터는 프로세서(24)에 제공되고 프로세서(24)에 의해 분석되어, 모바일 통신 디바이스(10)가 셀룰러 제어기(31)에 의해 식별된 셀룰러 네트워크들을 통해 네트워크 송신들을 수행하도록 허가되어야 하는지 여부가 결정된다. 이 예에서, 제공되는 분석 수준은 프로세서(24)가 셀룰러 제어기(31)의 표준 셀룰러 네트워크 프로토콜 인증 메커니즘들만을 사용하는 것 이상으로 셀룰러 제어기(31)의 네트워크 접속들을 추가 인증하게 함으로써 모바일 통신 디바이스(10)에 네트워크 보안을 부가한다. 예를 들어, 블루투스 제어기 및/또는 Wi-Fi 제어기와 같은 모바일 통신 디바이스(10)의 다른 에어 인터페이스 컴포넌트들은 또한 에어 인터페이스 방화벽에 의해 모니터링될 수도 있다는 점이 주목되어야 한다. 대안적인 구현에서, 제 1 TPM(60) 및 제 2 TPM(62)은 소프트웨어로 구현될 수도 있다.
[33] 다른 모바일 통신 디바이스 구현들은 프로세서(24)와 통합된 또는 프로세서(24) 외부의 더 많은 또는 더 적은 컴포넌트들을 포함할 수도 있다고 인식되어야 한다.
[34] 도 4는 (도 1에 도시된) 모바일 통신 디바이스(10)에 사용될 수 있는 예시적인 소프트웨어 아키텍처(100)의 개략도이다. 예시적인 구현에서, 소프트웨어 아키텍처(100)는 프로세서(24) 및 메모리(22)를 포함하는 하드웨어 플랫폼(102) 상에 설치된 운영 시스템(104)을 포함한다. 하드웨어 플랫폼(102)은 앞서 설명한 모바일 통신 디바이스(10)의 컴포넌트들을 포함한다. 소프트웨어 아키텍처(100)는 또한 가상화 소프트웨어 계층, 예컨대 운영 시스템(104) 위에서 작동하는 하이퍼바이저(106)(즉, 타입 2 하이퍼바이저) 및 하이퍼바이저(106)와 연결되어 통신하는 보안 수퍼바이저(108)를 포함한다. 대안적인 구현에서, 하이퍼바이저(106)는 하드웨어 플랫폼(102) 상에 설치되어 동작할 수도 있다(즉, 타입 1 하이퍼바이저). 하이퍼바이저(106)는 복수의 가상 머신들이 동시에 실체화되어 실행될 수 있도록 복수의 가상 머신 실행 공간들을 지원한다.
[35] 하이퍼바이저(106)는 하이퍼바이저(106) 위에서 실행되어 작동할 수 있는 제 1 페르소나(110) 및 제 2 페르소나(120)를 가상화한다. 제 1 페르소나(110)는 제 1 페르소나 운영 시스템(OS)(112) 및 제 1 신뢰할 수 있는 실행 환경(TEE: trusted execution environment)(114)을 포함하고, 제 2 페르소나(120)는 제 2 페르소나 운영 시스템(122) 및 제 2 신뢰할 수 있는 실행 환경(124)을 포함한다.
[36] 제 1 페르소나(110) 및 제 2 페르소나(120)는 각각, 신뢰성을 확인하고 각각의 페르소나에 의해 수행되는 동작들을 인가하는 데 사용될 수 있는 정해진 신뢰 앵커를 갖는다. 보다 구체적으로, 제 1 페르소나(110)는 제 1 신뢰 앵커를 갖고, 제 2 페르소나(120)는 제 1 신뢰 앵커와는 별개인 제 2 신뢰 앵커를 갖는다. 본 명세서에서 사용되는 바와 같이, "신뢰 앵커"라는 용어는 페르소나의 소유자를 정의하는 그리고 페르소나 자산들을 서명하는 데 사용될 수도 있는 하나 또는 그보다 많은 비밀 암호 키들(즉, 암호화 인증서)을 의미한다. 반대로, 본 명세서에서 사용되는 바와 같이, "소유자" 및/또는 "소유권"이라는 용어들은 신뢰 앵커를 보유함으로써 페르소나에 대한 관리 통제를 하는 사람 또는 엔티티를 의미한다. 일부 구현들에서는, 신뢰 앵커 루트 인증서가 페르소나 패키지의 자산들을 서명하는 중간 인증서 권한을 서명하는 데 사용될 수도 있다.
[37] 각각의 신뢰 앵커는 루트 인증서 권한을 역추적하는데, 이는 업체 기관일 수도 있고 그리고/또는 데스크톱 컴퓨터 상의 단일 사용자에 대해 가벼운 방식으로 정의될 수도 있다. 이에 따라, 제 1 페르소나(110)의 자원들은 제 2 페르소나(120)와 별개로 유지될 수도 있고, 각각의 신뢰 앵커에 대해 합의되어 그에 의해 서명된 접근 정책들이 시행될 수도 있다. 루트 인증서 권한은 오프라인으로 보안 위치에 저장될 수도 있다. 또한, 신뢰 앵커는 구체적으로 정의된 능력들을 갖는 복수의 중간 인증서 권한들을 포함할 수도 있다. 예시적인 능력들은 운영 시스템을 정할 권한, TEE를 정할 권한, 보안 정책들을 정할 권한, 다른 중간 인증서 권한들 및/또는 사용자 인증서들을 정할 권한, 백업 능력들, 백업 정책, 운영 시스템을 업데이트하는 능력, TEE를 업데이트하는 능력, 모바일 디바이스 관리(MDM: mobile device management) 기능, 및 키 가져오기 및/또는 내보내기를 포함하지만 이에 한정된 것은 아니다.
[38] 제 1 페르소나(110) 및 제 2 페르소나(120)의 신뢰할 수 있는 소프트웨어는 각각, 다른 하위 디폴트 상태들로부터 격리된 상황에서 작동한다. 보다 구체적으로는, 앞서 설명한 바와 같이, 하이퍼바이저(106)가 제 1 TEE(114)와 제 2 TEE(124)를 서로 구별하고 격리하는 것을 가능하게 한다. 이에 따라, 각각의 페르소나는 모바일 통신 디바이스(10) 상에서 작동하는 다른 운영 시스템들의 영향을 받지 않을 것이다. 또한, 제 1 페르소나(110) 및 제 2 페르소나(120)는 제 1 TEE(114)와 제 2 TEE(124) 사이에 상호 신뢰를 구축하도록 구성될 수도 있다. 이러한 상호 신뢰의 구축은 제 1 페르소나(110)와 제 2 페르소나(120) 사이에 신뢰할 수 있는 통신 경로가 형성될 수 있게 한다. 제 1 TEE(114)와 제 2 TEE(124) 사이의 통신은 제 1 페르소나(110) 및 제 2 페르소나(120)의 보안 정책들의 상호 합의에 의해서만 허용될 수도 있다. 또한, (도시되지 않은) 고 확실성 가드(high assurance guard)가 제 1 페르소나(110)와 제 2 페르소나(120) 간의 데이터 흐름의 제한을 가능하게 하도록 구현될 수도 있다. 예를 들어, 고 확실성 가드는 제 1 페르소나(110)와 제 2 페르소나(120) 간의 민감한 그리고/또는 분류된 데이터의 흐름을 제한하면서, 이들 사이의 분류되지 않은 데이터의 흐름은 허용하는 것을 가능하게 할 수도 있다.
[39] 제 1 페르소나(110) 및 그 엘리먼트들은 아래 더 상세히 설명될 것이지만, 제 2 페르소나(120) 및 그 엘리먼트들에 동일한 설명이 적용될 수도 있다고 이해되어야 한다. 예시적인 구현에서, 제 1 페르소나 OS(112)는 전체 운영 시스템의 작동을 가능하게 하는 자원들 및 가상 디바이스 드라이버들을 갖는 실행 환경이다. 예시적인 전체 운영 시스템은 Android® 오픈 소스 프로젝트(AOSP: Open Source Project) 운영 시스템을 포함할 수도 있지만 이에 한정된 것은 아니다. 제 1 페르소나 OS(112)는 제 1 페르소나 OS(112)가 제 1 TEE(114)와 통신할 수 있게 하는 라이브러리를 포함할 수도 있다. 또한, 복수의 애플리케이션들(130)이 (도시되지 않은) 외부 소스로부터 획득되어 제 1 페르소나 OS(112) 위에서 작동할 수도 있다.
[40] 제 1 TEE(114)는 제 1 페르소나 OS(112)와 별개이며 제 1 페르소나 OS(112)와 연결되어 통신하는 가벼운 실행 환경이다. 제 1 TEE(114)는 민감한 데이터를 저장하고 민감한 애플리케이션들을 작동시키는 데 사용될 수 있는 영역을 제공하는 보안 환경이다. 대안적인 구현들에서, 제 1 TEE(114)는 전체 운영 시스템의 작동을 가능하게 하는 자원들 및 가상 디바이스 드라이버들을 갖는 실행 환경일 수도 있고 그리고/또는 하드웨어의 개별 부분 상에서 작동될 수도 있다. 또한, 제 1 페르소나(110)는 하나를 초과하는 신뢰할 수 있는 실행 환경을 포함할 수도 있다.
[41] 제 1 TEE(114)는 ISO7816 가입자 식별 모듈(SIM) 인터페이스 및/또는 TPM에 직접 접근한다. 보다 구체적으로, (도 3에 도시된) 제 1 TPM(60)이 제 1 페르소나(110)에 할당되고, (도 3에 도시된) 제 2 TPM(62)이 제 2 페르소나(120)에 할당된다. 이에 따라, 제 1 TPM(60)이 제 1 페르소나(110)의 소유자에 대한 하드웨어 신뢰 앵커로서 사용될 수도 있고, 제 2 TPM(62)이 제 2 페르소나(120)의 소유자에 대한 하드웨어 신뢰 앵커로서 사용될 수도 있다. 또한, 제 1 TEE(114)는 제 1 TPM(60)에 그리고 예를 들어, 인증, 키스토어 접근, 가상 개인 네트워크(VPN: virtual private network) 구성, 및/또는 인터넷을 통한 음성 프로토콜(VoIP: voice over internet protocol) 소프트웨어와 같은 신뢰할 수 있는 실행 환경 서비스들에 직접 접근한다. 이러한 민감한 데이터 경로들을 제 1 TEE(114) 내에서 그리고 제 1 페르소나 OS(112)로부터 멀리 격리하는 것은 페르소나 소유자에 의한 TEE 서비스들의 제어를 유지하면서 모바일 통신 디바이스(10)의 신뢰할 수 있는 동작을 보장하는 것을 가능하게 한다. 또한, 제 1 TEE(114)가 제 1 TPM(60)을 제어하게 하는 것은, 정보가 더 안전하고 보호되는 환경에 있도록 제 1 페르소나 OS(112)로부터 민감한 정보를 격리하는 것을 가능하게 한다.
[42] 또한, 제 1 TEE(114)는 암호화 동작들이 이를 평문 키에 노출시키지 않으면서 제 1 페르소나 OS(112) 대신 수행될 수 있도록 암호화 서비스들에 접근할 수도 있다. 보다 구체적으로, 제 1 TEE(114)는 인증되지 않은 하드웨어 가속 암호 기법, 스위트(suite) B 및/또는 FIPS-140-2 인증된 암호화를 가능하게 하는 암호화 모듈들을 제 1 TPM(60)에서 사용할 수도 있다. 모바일 통신 디바이스(10)는 또한 VPN 모듈 및/또는 VoIP 모듈을 포함할 수도 있다. VPN 모듈은 제 1 페르소나(110)가 VPN을 인증하여 신뢰할 수 없는 코드에는 인증 또는 암호 키들이 보이지 않는 암호화로 통신할 수 있게 한다. 추가로, VoIP 모듈은 제 1 페르소나(110)가 VoIP 호를 설정하고 인증하여 신뢰할 수 없는 코드에는 인증 또는 암호 키들이 보이지 않는 암호화로 통신할 수 있게 한다.
[43] 제 1 페르소나 OS(112) 및 제 2 페르소나 OS(122)의 신뢰성은 플랫폼 하드웨어(102)에 의해 로딩되는 각각의 페르소나의 부트 이미지의 무결성으로 정의된다. 예를 들어, 제 1 TEE(114)의 신뢰성은 아래 더 상세히 설명되는 바와 같이 플랫폼 하드웨어(102)에 의해 로딩될 때 그 정적 이미지의 무결성으로 정의된다. 보다 구체적으로, 제 1 TEE(114)에 로딩되는 코드는 로딩 중에 신뢰 앵커와 비교하여 승인되고, 이미지는 일단 로딩되면 불변한다. 이미지는 불변하기 때문에, 제 1 TEE(114)는 제 1 TEE(114) 위로 새로운 서명된 이미지를 로딩하는 것에 의해서만 변경될 수도 있다. 또한, 제 1 페르소나 OS(112) 및 제 2 페르소나 OS(122)는 이들 자체의 실행 환경 밖의 자원들을 사용하여 이들의 무결성을 관리할 수도 있다. 예를 들어, 운영 시스템들의 로딩은 암호화되어 승인될 수도 있고, 하드웨어 자원들에 대한 운영 시스템들의 접근은 이들의 제어 밖의 구성들을 통해 제한 및 시행될 수도 있다.
[44] 소프트웨어 아키텍처(100)는 또한 운영 시스템(104)을 로딩하는 1차 부트로더(140), 제 1 페르소나 OS(112)를 로딩하는 첫 번째 2차 부트로더(142), 및 제 2 페르소나 OS(122)를 로딩하는 두 번째 2차 부트로더(144)를 포함한다. 예시적인 구현에서, 모바일 통신 디바이스(10)는 부팅 프로세스 동안 플랫폼 신뢰의 구축을 가능하게 하는 프로세서를 사용한다. 보다 구체적으로, 프로세서는 부트로더들의 서명 검증이 각각의 운영 시스템의 로딩 중에 신뢰의 구축을 가능하게 할 수 있게 한다. 예를 들어, 모바일 통신 디바이스(10)는 신뢰 체인이 하드웨어 플랫폼(102)에서 제 1 페르소나(110) 및 제 2 페르소나(120)로 확장될 때 신뢰 체인이 끊어지지 않고 유지되도록 고정된 해시 값들과 서명 검증의 결합을 사용한다.
[45] 동작시, 프로세서(24)는 디바이스 제조사의 신뢰 루트에 의해 디지털 서명된다면 1차 부트로더(140)를 로딩한다. 본 명세서에서 사용되는 바와 같이, "디바이스 제조사 신뢰 루트"라는 용어는 모바일 통신 디바이스(10) 상에 설치하게 된 자산들을 서명하기 위해 디바이스 제조사에 의해 사용되는 하나 또는 그보다 많은 비밀 암호 키들(즉, 암호화 인증서)을 의미한다. 신뢰 체인은 하이퍼바이저(106)를 통해 끊어지지 않고 계속되어, 격리된 실행 환경들의 구축, 모바일 통신 디바이스(10) 내에서 컴포넌트들의 승인, 및/또는 사용자 코드가 신뢰할 수 있는 상태에 대해 구속하도록 추후 사용하기 위해 신뢰할 수 있는 플랫폼 모듈들로의 측정들의 저장을 가능하게 한다.
[46] 제 1 페르소나(110) 및 제 2 페르소나(120)에 의해 TPM들(60, 62)의 신중한 부팅 양상들이 사용될 수 있도록, 제 1 TPM(60)의 제어는 제 1 페르소나(110)에 양도(transfer)되고, 제 2 TPM(62)의 제어는 제 2 페르소나(120)에 양도된다. 보다 구체적으로, TPM들(60, 62)은 모바일 통신 디바이스(10)의 신뢰할 수 있는 부팅 소프트웨어에 의해 초기화되고, 다음에 페르소나들이 로딩된 후 이들의 배타적 사용을 위해 각각의 페르소나에 제어가 양도된다. 페르소나가 신뢰할 수 있는 부팅을 위해 TPM을 사용한다면, 하드웨어 및/또는 소프트웨어 변경들은 페르소나가 전체 디바이스를 리셋하지 않고는 재부팅되지 못할 수도 있게 원래 구성들에 대해 구속된 키들의 리트리브 불능을 야기할 수도 있다.
[47] 부팅 프로세스 동안, TPM들은 모바일 통신 디바이스(10) 내에서 사용되는 중대한 소프트웨어 및 펌웨어 컴포넌트들을 측정(즉, 해시)한다. 예를 들어, 1차 부트로더(140), 운영 시스템(104), 하이퍼바이저(106), 보안 수퍼바이저(108), 부트로더(142) 및 제 1 페르소나 OS(112)에 대한 측정들이 제 1 TPM(60)으로 확장될 때 측정에 대한 신뢰 루트가 구축될 수도 있다. 측정들은 제 1 TPM(60)에 로케이팅된 플랫폼 구성 레지스터(PCR: platform configuration register)들 내에 저장될 수 있고, 부팅시 연관된 신뢰 앵커와 비교하여 운영 시스템의 이미지를 승인하는 데 사용될 수도 있다. 이에 따라, PCR들에 구속될 수도 있는 민감한 정보에 대한 접근을 허용하기 전에 시스템의 무결성이 검증될 수도 있다.
[48] 부트 로딩 중에 신뢰할 수 있는 디바이스 제조사로부터 제어가 트랜지션되면, 페르소나들이 이들 자체의 무결성에 책임이 있을 수 있다. 예를 들어, 제 1 페르소나 OS(112) 상에 설치되어 작동하는 애플리케이션들(130)을 승인하는 것은 제 1 페르소나 OS(112)의 책임이다. 이에 따라, (도시되지 않은) 사기(rogue) 애플리케이션이 모바일 통신 디바이스(10) 상에서 작동하는 게스트 운영 시스템의 무결성을 손상시키는 경우, 다른 게스트 운영 시스템들이 손상된 운영 시스템과 신뢰 관계를 갖지 않는다면 그 손상은 다른 게스트 운영 시스템들의 무결성에 영향을 주지 않을 것이다.
[49] 보안 수퍼바이저(108)가 제 1 및 제 2 페르소나 OS들(112, 122)과 연결되어 통신한다. 보안 수퍼바이저(108)는 모바일 통신 디바이스(10)의 동작에 사용할 보안 정책들의 저장 및 실행을 가능하게 하는 운영 시스템이다. 보안 수퍼바이저(108)는 격리된 환경에서 작동하며, 플랫폼 자원들, 추가 인터페이스들 및/또는 추가 능력들에 접근할 수도 있다. 일부 구현들에서, 페르소나 소유자가 그 페르소나 소유자에 의해 소유되지 않은 페르소나의 보안 정책을 구성할 수 없도록 제 1 페르소나(110) 및 제 2 페르소나(120)는 신뢰할 수 있는 메커니즘(즉, CPU 가상화)을 통해 구별된다. 예를 들어, 제 1 페르소나(110)의 보안 정책은 제 1 페르소나 소유자에 의해서만 구성될 수 있고, 제 2 페르소나(120)의 보안 정책은 제 2 페르소나 소유자에 의해서만 구성될 수 있다. 보다 구체적으로, 각각의 보안 정책은 페르소나 소유자의 개인 키로 서명될 수도 있고, 서명은 보안 수퍼바이저(108)가 연관된 페르소나에 보안 정책을 적용하기 전에 페르소나 소유자의 대응하는 공개 키를 사용하여 모바일 통신 디바이스(10)에 의해 검증될 수도 있다. 제 1 페르소나(110) 및 제 2 페르소나(120)에 대한 소유권 및 보안 정책들은 보안 수퍼바이저(108)에 의해 유지될 수도 있는 구성 파일에 저장된다. 또한, 소유권 및 보안 정책들은 암호화 인증서들에 의해 승인된다. 이에 따라, 각각의 페르소나 소유자는 각자 소유하는 페르소나에 대한 운영 시스템, 신뢰할 수 있는 실행 환경 및 보안 정책을 정의할 수 있다.
[50] 제 1 페르소나(110) 및 제 2 페르소나(120)의 보안 정책들은 페르소나 소유자들에 의해 정의될 수도 있고, 페르소나 코드와는 별개로 정의, 저장 및 시행될 수도 있다. 보안 정책들은 각각의 연관된 페르소나가 모바일 통신 디바이스(10) 상의 물리적 디바이스들에 어떻게 접근할 수 있는지를 정의한다. 예를 들어, 보안 정책들은 하나 또는 그보다 많은 물리적 디바이스들에 대한 페르소나의 접근을 제한하고, 하나 또는 그보다 많은 물리적 디바이스들에 대한 페르소나의 배타적 접근의 가이드라인들을 정의하고, 그리고/또는 제 1 페르소나(110) 및 제 2 페르소나(120)에 대한 공유 디바이스 접근의 가이드라인을 정의한다. 보다 구체적으로, 공유 디바이스에 대한 접근의 가이드라인들은 사용자 인터페이스를 제어하고 있는 페르소나만이 공유 디바이스에 접근하도록 디바이스를 공유하는 것을 가능하게 할 수도 있다. 또한, 공유 디바이스에 대한 접근에 관한 하나 또는 그보다 많은 보안 정책들에 명시된 규칙들은 배경에서 작동하는 페르소나가 여전히 공유 디바이스에 접근할 수 있도록 디바이스를 공유하는 것을 가능하게 할 수도 있다. 이에 따라, 보안 정책들에 의해 정의된 규칙들은 페르소나 소유자들이 이들의 요구들에 맞게 모바일 통신 디바이스(10)를 다양한 구성들로 맞출 수 있게 한다.
[51] 제 1 페르소나(110)의 기준 이미지 및/또는 파일시스템들이 암호화되어 내부 및/또는 탈착 가능 매체 상에 저장될 수도 있다. 또한, 제 1 페르소나(110)가 부팅하여 그에 저장된 민감한 데이터에 접근할 수 있기 전에 신뢰할 수 있는 부팅 프로세스로부터의 사전 부팅 인증이 요구될 수 있게 제 1 페르소나(110)의 부트 볼륨이 암호화될 수도 있다. 보다 구체적으로, 신뢰할 수 있는 부팅 프로세스 도중, 제 1 페르소나(110)가 부팅이 허용되기 전에 크리덴셜들을 입력하도록 사용자에게 프롬프트(prompt)될 수도 있다. 사용자는 자신의 크리덴셜들을 입력하기 전에 모바일 통신 디바이스(10)의 상태를 검증하길 원할 수도 있다. 예를 들어, 사용자는 입력 화면이 인증된 것임을 확실하게 하기 위해 패스워드 및/또는 개인 식별 번호(PIN: personal identification number)를 입력하기 전에 모바일 통신 디바이스(10)가 신뢰할 수 있는 상태라는 검증을 요청할 수도 있다. 앞서 설명한 바와 같이, 모바일 통신 디바이스(10)는 보안 버튼(17) 및/또는 (도 1에 도시된) LED들(19, 21)과 같은 보안 특징들을 포함한다. 보안 특징들은 입력 화면이 인증된 것이라는 검증을 가능하게 하기 위해, 모바일 통신 디바이스(10) 상에서 작동하는 신뢰할 수 없는 코드로부터 접근 불가능한 하드웨어에 격리된다.
[52] 동작시, 사용자는 (도 1에 도시된) 터치 스크린(18) 상에 인증 다이얼로그가 나타나면 보안 버튼(17)을 작동시킬 수 있다. 보안 버튼(17)을 작동시키는 것은 모바일 통신 디바이스(10)에 대한 신뢰 루트 정보를 디스플레이하고 그리고/또는 인증 다이얼로그가 나타날 것을 요청하는 소프트웨어에 대한 신뢰 루트 정보를 디스플레이한다. 예를 들어, 신뢰 루트 정보는 모바일 통신 디바이스(10)에 대한 그리고/또는 모바일 통신 디바이스(10) 상에서 작동하는 페르소나에 대한 신뢰 루트 정보를 포함할 수도 있다. 이에 따라, 사용자는 신뢰 루트 정보를 검증하여 요청된 크리덴셜들을 안전하게 입력할 수 있다. 대안적인 구현에서는, LED들(19, 21)이 미리 결정된 구성으로 활성화될 때 인증 다이얼로그가 검증될 수도 있다.
[53] 한 구현에서, 사용자가 모바일 통신 디바이스의 동작 상태 변경을 원할 수도 있다. 보다 구체적으로, 사용자가 모바일 통신 디바이스(10) 상에서 작동하는 페르소나들 사이에서 모바일 통신 디바이스(10)의 포커스를 트랜지션하길 원할 수도 있다. 예를 들어, 보안 버튼(17)을 작동시키는 것은 제 1 페르소나(110)와 제 2 페르소나(120) 간의 포커스 트랜지션을 가능하게 한다. 더욱이, 제 1 LED(19)가 제 1 페르소나(110)에 할당되고, 제 2 LED(21)가 제 2 페르소나(120)에 할당된다. 제 1 페르소나(110)에 포커스가 맞춰지면 제 1 LED(19)는 활성화될 수 있고 제 2 LED(21)는 비활성화될 수 있으며, 제 2 페르소나(120)에 포커스가 맞춰지면 제 2 LED(21)는 활성화될 수 있고 제 1 LED(19)는 비활성화될 수 있다. 이에 따라, 제 1 LED(19) 및 제 2 LED(21)가 모바일 통신 디바이스(10)의 동작 상태를 기초로 사용자에게 시각적 피드백을 제공한다.
[54] TPM들(60, 62) 중 적어도 하나는 사용자에게 모바일 통신 디바이스(10)에 대한 그의 존재를 검증하도록 프롬프트하는 물리적 존재 특징을 갖는다. 예를 들어, 물리적 존재 특징은 모바일 통신 디바이스(10) 상에서 작동하고 있는 동작이 원격으로 수행되고 있지 않음을 검증하도록 구현될 수도 있다. 이에 따라, 보안 버튼(17)이 눌려 사용자의 물리적 존재가 검증될 수 있다.
[55] 도 5는 모바일 통신 디바이스(10)에 사용될 수 있는 페르소나의 소유권을 주장하는 예시적인 방법의 흐름도이다. 예시적인 구현에서, 모바일 통신 디바이스(10)는 암호 신뢰 루트들을 사용하여 제 1 페르소나(110) 및 제 2 페르소나(120)의 소유권을 정의한다. 예를 들어, 제 1 페르소나(110)는 하나의 엔티티에 의한 사용을 위해 구성될 수 있고, 제 2 페르소나(120)는 다른 엔티티에 의한 사용을 위해 구성될 수 있다. 모바일 통신 디바이스(10)의 발행인(즉, 기업)은 사용자(예를 들어, 고객 및/또는 피고용자)에게 하나 또는 그보다 많은 모바일 통신 디바이스들(10)을 지급할 수 있다. 이러한 구현에서, 제 1 페르소나(110)는 업무용으로 구성될 수도 있고, 제 2 페르소나(120)는 개인용으로 구성될 수도 있다. 대안적인 구현에서, 모바일 통신 디바이스(10)는 개별 SIM들, 개별 서비스들을 할당함으로써, 그리고/또는 제 1 페르소나(110) 및 제 2 페르소나(120)의 데이터, 운영 시스템들 및 셀룰러 통신들을 격리함으로써 페르소나들을 구별하도록 구성될 수도 있다.
[56] 암호 신뢰 루트들의 사용은 모바일 통신 디바이스(10)가 페르소나 구성의 무결성을 검증하고, 페르소나의 수정 권한들을 공인된 자들로 제한할 수 있게 한다. 예를 들어, 적어도 하나의 디폴트 페르소나(즉, 정해진 소유권이 없는 페르소나)가 설치된 모바일 통신 디바이스(10)가 최종 사용자에게 제공될 수 있다. 디폴트 페르소나는 제조사의 디폴트 신뢰 앵커로 서명되는데, 이는 페르소나가 수정되지 않으며 그에 할당된 디폴트 정책을 가짐을 표시한다. 그래서 최종 사용자는 디폴트 페르소나를 사용할 수 있지만, 신뢰 루트를 정의함으로써 먼저 소유권을 취득하지 않고서는 디폴트 페르소나를 커스터마이즈할 수 없다.
[57] 운영자(200)는 페르소나 매니저(PM: Persona Manager)(202)의 워크스테이션 상에 페르소나에 대한 신뢰 루트를 생성(212)함으로써 제 2 페르소나(120)와 같은 페르소나의 소유권을 주장한다. 일부 구현들에서, PM(202)은 또한, 운영자(200)가 페르소나에 대한 보안 정책을 편집 및/또는 정의하고 그리고/또는 페르소나의 이미지들 및/또는 제 2 TEE(124)와 같은 신뢰할 수 있는 실행 환경을 업데이트할 수 있게 할 수도 있다. 운영자(200)는 디폴트 신뢰 앵커로부터의 소유권을 생성된(212) 신뢰 루트에 양도하도록 디바이스 매니저(DM: Device Manager)(204)가 제 2 페르소나 OS(122)와 같은 운영 시스템을 주장하기 위한 주장 티켓을 생성(214)할 것을 요청한다. 다음에, 양도가 인가(216)되고 모바일 통신 디바이스(10)가 재부팅(218)된다.
[58] 재부팅(218) 동안, 운영자(200)는 DM(204)과 모바일 통신 디바이스(10) 사이에 범용 직렬 버스(USB: Universal Serial Bus) 케이블을 연결하고, 모바일 통신 디바이스(10)는 USB 접속을 검출하여, 페르소나 운영 시스템들이 로딩하지 않도록 프로그래밍 모드에 진입한다. 운영자(200)는 다음에, DM(204)이 소프트웨어를 작동시켜 페르소나를 새로운 소유자에게 양도할 것을 워크스테이션으로부터 요청(220)한다. 요청은 보안 수퍼바이저(206) 쪽으로 전달(222)되고 새로운 페르소나 신뢰 앵커를 정의할 수도 있다. 다음에, 보안 수퍼바이저(206)는 생성된(214) 주장 티켓을 사용하여 자신의 아이덴티티를 검증하기 위한 운영자(200)로부터의 인가를 요청(224)하고, 운영자(200)는 인가 요청(224)에 응답하여 미리 결정된 디바이스 패스워드를 입력(226)한다. 요청(224)은 또한 생성된(212) 신뢰 루트로 서명될 수도 있다.
[59] 모바일 통신 디바이스(10)는 다음에, 사용자들의 크리덴셜들을 입력하여 보안 엘리먼트(208)를 언로크하도록 보안 수퍼바이저(206)로부터의 인증 요청(228)을 사용자에게 제시한다. 디폴트 신뢰 앵커에 의해 페르소나가 소유자 없는 것으로 확인된다면, 구(old) 페르소나 자산 해시들 및 서명들이 DM(204)으로 양도(234)된다. DM(204)은 서명들을 검증하고, 관련 자산들을 서명하도록 인가되는 새로운 페르소나 서명 키로 해시들을 다시 서명한다. 또한, 페르소나 미디어 키들에 대한 접근을 허용하는 페르소나 키가 변경된다. 다음에, 대체 서명들이 DM(204)에서 모바일 통신 디바이스(10)로 양도(236)되고, 모바일 통신 디바이스(10)는 서명들을 승인하고 페르소나 자산들에 대한 구 서명들을 새로운 서명들로 대체한다.
[60] 다음에, 페르소나 트랜지션 파일이 생성(238)되고, 페르소나에 대한 구성 파일이 유효성에 관해 체크되며 이미 모바일 통신 디바이스(10) 상에 있는 다른 구성 파일들과 충돌한다. 구성 파일이 승인된다면 프로세스가 진행되고, 구성 파일들 간에 충돌이 있다면 소프트웨어 업데이트가 중단된다. 인가시 사용자 페르소나 인증이 업데이트(240)되어, 미디어 키들이 새로운 신뢰 루트에 의해 접근되고 DM(204)으로 리턴(242)될 수 있게 진행한다.
[61] DM(204)은 업데이트되고 있는 자산들을 서명하고, 서명된 해시들을 리턴한다. 예를 들어, 업데이트되고 있는 자산들은 다시 서명된 해시들로 업데이트되는 서명들을 가질 수도 있고 그리고/또는 새로운 서명들로 업데이트(246)될 수도 있다. 각각의 업데이트 이후 페르소나 트랜지션 파일이 체크포인트(244)되어 프로세스가 중단된 업데이트에서부터 재시작될 수 있게 한다. 업데이트가 완료된 후, 버퍼 데이터가 플래시(210)로 플러시(flush)(248)되고, 페르소나 트랜지션 파일이 삭제(250)되며, 모바일 통신 디바이스(10)가 재부팅(252)된다.
[62] 도 6은 모바일 통신 디바이스(10) 상에서 수행될 동작을 인가하는 데 사용하기 위한 예시적인 시스템(300)의 개략도이다. 예시적인 구현에서, 엔티티는 모바일 통신 디바이스(10)와 같은 타깃이 되는 컴퓨팅 디바이스 상에 설치된 소프트웨어를 수정하도록 허가를 받기 전에 인가될 필요가 있을 수도 있다. 예를 들어, 모바일 통신 디바이스(10) 상에 페르소나가 로딩되었다면, 디바이스 보유자는 그 페르소나를 제거 및/또는 교체할 권한을 보유하지만, 페르소나 소유자는 페르소나를 수정할 권한을 갖는다. 이에 따라, 페르소나 소유자를 대행하는 엔티티는 페르소나를 수정하도록 페르소나 소유자에 의해 그 엔티티에 그랜트된 미리 결정된 허가들을 받은 것으로서 인가될 필요가 있을 수도 있다. 본 명세서에서 사용되는 바와 같이, "디바이스 보유자"라는 용어는 디폴트 페르소나를 사용하여 모바일 통신 디바이스(10)를 작동시키는 엔티티를 의미한다.
[63] 디바이스 매니저(DM)(302)와 같은 관리자 컴퓨터가 모바일 통신 디바이스(10) 상에서 동작을 수행하기 위한 인가에 대한 요청을 생성하여 인가 서버(304)에 송신할 수 있다. 요청은 모바일 통신 디바이스(10) 상에서 수행될 동작에 대한 파라미터들을 특정하는 파일이다. 예시적인 파라미터들은 타깃이 되는 컴퓨팅 디바이스(예를 들어, 모바일 통신 디바이스(10))의 식별, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작, 동작이 수행될 시간 기간, 및 타깃이 되는 컴퓨팅 디바이스의 지리적 위치를 포함하지만 이에 한정된 것은 아니다. 더욱이, 요청은 관리자에게 할당된 제 1 개인, 공개 키 쌍의 개인 키로 서명된다. 일부 구현들에서, 요청은 (도시되지 않은) 탈착 가능 매체를 통해 송신될 수도 있다.
[64] 인가 서버(304)는 DM(302)으로부터의 요청을 수신하고 제 1 개인, 공개 키 쌍의 공개 키로 DM(302)의 서명을 검증한다. 인가 서버(304)는 또한, 수행될 동작에 대한 파라미터들이 모바일 통신 디바이스(10)에 대한 보안 정책에 맞춰 조정되는지 여부를 결정한다. 인가된 파라미터들은 인가 서버(304)에 의해 접근 가능한 인가 데이터베이스(306)에 저장될 수 있다. 다음에, 인가 서버(304)는 요청이 인가되었다면 인가 응답을 생성한다. 인가 응답은 DM(302)으로부터의 요청 및 인가 서버(304)에 의해 생성된 인가 토큰을 포함할 수도 있다. 인가 토큰은 요청된 동작을 인가하는 데 사용될 수도 있다. 일부 실시예들에서, 인가 토큰은 요청된 동작이 수행될 수 있는 미리 결정된 인가 기간을 가질 수도 있고, 특정 타깃이 되는 컴퓨팅 디바이스에 대한 인가의 그랜트로 제한될 수도 있고, 그리고/또는 모바일 통신 디바이스(10) 상에서 단일 또는 다수의 동작들의 수행을 인가할 수도 있다. 단지 예로서, 인가 토큰은 미리 결정된 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 인가, 및/또는 타깃이 되는 컴퓨팅 디바이스 상에서 미리 결정된 동작을 수행하기 위한 인가를 포함할 수도 있다. 더욱이, 인가 토큰은 모바일 통신 디바이스(10) 상에서 동작을 수행하기 위한 요청을 수신하기 전에 그리고 모바일 통신 디바이스(10) 상에서 동작을 수행하기 위한 요청의 검증에 응답하여 중 적어도 하나에 따라 생성될 수도 있다. 다음에, 인가 응답은 인가 서버 컴퓨터와 연관된 제 2 개인, 공개 키 쌍의 개인 키로 서명되어 관리자 컴퓨터에 송신될 수도 있다. 대안적인 구현에서, 인가 응답은 인증 운영자에 의해 서명될 수도 있다. 예를 들어, 요청은 대기 열이 이루어져 인증 운영자에 의해 서명되거나, 그랜트되거나 또는 거부될 수도 있다. 일부 구현들에서, 인가 응답은 (도시되지 않은) 탈착 가능 매체를 통해 송신될 수도 있다.
[65] DM(302)은 인가 응답을 수신하고 인가 토큰이 요청된 동작을 인가하는지 여부를 결정한다. 예를 들어, DM(302)은 제 2 개인, 공개 키 쌍의 공개 키로 인가 응답을 검증할 수도 있으며, 여기서 인가 응답은 제 2 개인, 공개 키 쌍의 개인 키로 서명된다. DM(302)은 다음에, 인가 응답 파일을 모바일 통신 디바이스(10)에 송신하여, 요청이 인가되었다면 수행될 동작을 요청한다. 인가 응답의 송신은 제 1 개인, 공개 키 쌍의 개인 키로 인가 응답을 서명하는 것을 포함할 수도 있다. 모바일 통신 디바이스(10)는 인가 응답을 수신하고 관리자 컴퓨터와 연관된 제 1 개인, 공개 키 쌍의 공개 키로 서명들을 검증하며, 인가 응답에 명시된 파라미터들이 모바일 통신 디바이스(10)에 대한 보안 정책에 맞춰 조정되는지 여부를 결정한다. 모바일 통신 디바이스(10)는 서명들이 검증되고 파라미터들이 조정된다면 요청된 동작이 진행되게 한다. 다음에, 모바일 통신 디바이스(10) 상에서 특권 동작이 수행될 수도 있다. 대안적인 구현에서, 인가 응답은 인가 신뢰 루트에 대한 인증서 체인을 포함할 수도 있다. 또한, 대안적인 구현에서, 인가 토큰이 생성되어 스니커넷을 통해 송신될 수도 있다.
[66] 도 7은 모바일 통신 디바이스(10)에 사용될 수 있는 페르소나 소프트웨어를 업데이트하는 예시적인 방법의 흐름도이다. 예시적인 구현에서, 운영자(400)는 디바이스 매니저(DM) 워크스테이션(402)에서부터 모바일 통신 디바이스(10)까지 USB 케이블을 연결함으로써 제 2 페르소나(120)와 같은 기존의 페르소나 OS를 업데이트할 수도 있다. 디바이스 관리 소프트웨어가 실행되고, 운영자(400)는 모바일 통신 디바이스(10)에 재부팅(410)을 지시한다. 재부팅(410) 동안, 모바일 통신 디바이스(10)는 USB 접속을 검출하여, 페르소나 운영 시스템들이 로딩하지 않도록 프로그래밍 모드에 진입한다. 운영자(400)는 다음에, 모바일 통신 디바이스(10) 상의 페르소나 OS에 대한 업데이트를 요청(414)하도록 DM 소프트웨어에 지시(412)한다. DM 워크스테이션(402)이 인가 서버에 접촉하여 인가 토큰을 획득한다. 인가 토큰은 캐시될 수도 있고 그리고/또는 오프라인 소스로부터 로딩될 수도 있다. 다음에, 보안 수퍼바이저(404)가 요청(414)을 인가(416)할 수 있으며, 페르소나 업데이트(418)가 진행될 수 있다. 일부 구현들에서, DM 소프트웨어는 유효 인가 토큰이 존재하지 않는다면 운영자(400)에게 경고하고 업데이트 프로세스의 수행을 거부할 것이다.
[67] DM 워크스테이션(402)은 보안 엘리먼트(406)를 언로크하는 데 사용될 수 있는 공유 비밀 키를 포함한다. 공유 비밀 키에 의해 제공된 인증을 사용하여, 인가된 페르소나와 관련된 저장소 암호 키들만이 보안 엘리먼트(406)로부터 리트리브될 수도 있다. 다음에, 모바일 통신 디바이스(10)는 인가 토큰을 확인하여 운영자(400)가 요청된 동작을 수행할 특권들을 가짐을 검증한다. 보안 엘리먼트(406)에 의해 사용자가 인증(420)되고, 운영자(400)가 적절한 크리덴셜들을 갖지 않는다면 동작이 중단된다.
[68] DM 소프트웨어는 다음에, 모바일 통신 디바이스(10)로부터의 페르소나의 디바이스 지오메트리 데이터를 요청(422)한다. 디바이스 지오메트리 데이터는 페르소나의 OS 및 TEE 컴포넌트들의 크기를 포함할 수도 있지만, 이에 한정되는 것은 아니다. 페르소나 지오메트리가 디바이스 지오메트리와 매칭한다면 소프트웨어 업데이트가 진행되고, 미스매칭이 있다면 소프트웨어 업데이트가 중단되고 에러가 표시된다. 대안적인 구현에서, 페르소나 소유자가 업데이트의 호환성을 검증할 수 있도록 개정 번호의 페르소나 소유 패키지들이 또한 제공될 수도 있다.
[69] DM 소프트웨어는 업데이트될 소프트웨어를 모바일 통신 디바이스(10)에 송신(424)함으로써 로딩 프로세스를 시작한다. 한 구현에서, 페르소나의 구성이 업데이트에 포함된다면 페르소나의 구성을 송신(426)함으로써 소프트웨어 업데이트가 시작된다. 다음에, 보안 수퍼바이저(404)가 구성 파일의 지오메트리, 신뢰 루트 및 서명을 검사하고 평가하여 모바일 통신 디바이스(10) 상에 이미 로딩된 다른 구성 파일들과 충돌이 발생할지 여부를 결정한다. 구성 파일이 승인(428)된다면 그리고/또는 구성 파일이 업데이트되고 있지 않다면 소프트웨어 업데이트가 진행되고, 구성 파일들 간에 충돌이 있다면 소프트웨어 업데이트가 중단된다. 또한, 업데이트된 운영 시스템 및/또는 신뢰할 수 있는 실행 환경이 모바일 통신 디바이스(10)에 로딩(430, 432)될 수도 있다.
[70] 송신된 소프트웨어 업데이트들은 플래시 메모리(408) 상에 저장되고 신뢰 앵커와 비교하여 승인된다. 다음에, 페르소나 트랜지션 파일이 생성(434)되어 어떤 소프트웨어가 업데이트될지를 표시하고, 소프트웨어가 플래시(408)에 작성되고, 각각의 업데이트 이후 트랜지션 파일에 체크포인트가 생성된다. 예를 들어, 플래시(408)에 새로운 구성 파일이 작성(436)되고 트랜지션 파일이 체크포인트(438)되며, 새로운 페르소나 OS 파일시스템이 플래시(408)에 작성(440)되고 트랜지션 파일이 체크포인트(442)되며, 새로운 페르소나 TEE 파일시스템이 플래시(408)에 작성(444)되고 트랜지션 파일이 체크포인트(446)된다. 예시적인 구현에서, 타깃 플래시 파일시스템들은 이전에 저장된 메모리 콘텐츠로부터 프로그래밍되고, 구성 파일로부터의 저장소 키들을 사용하여 양도 중에 암호화된다. 업데이트가 완료된 후, 버퍼 데이터가 플래시(408)에 플러시(448)되고, 페르소나 트랜지션 파일이 삭제(450)되며, 모바일 통신 디바이스(10)가 재부팅(452)된다.
[71] 도 8은 모바일 통신 디바이스(10)에 사용될 수 있는 페르소나의 소유권을 트랜지션하는 예시적인 방법의 흐름도이다. 모바일 통신 디바이스(10) 상에 로딩된 페르소나의 소유권은 페르소나 데이터를 업데이트하지 않고 새로운 소유자에게 트랜지션될 수도 있다. 예시적인 구현에서, 새로운 소유자가 디바이스 매니저(DM)(새로운 RoT)(502) 내에 양도 티켓을 생성(510)한다. 양도 티켓은 트랜지션될 특정 디바이스 및 예상되는 현재 신뢰 루트를 상술하는 데이터의 블록일 수도 있다. 다음에, 데이터의 블록이 현재 페르소나 소유자에게 전송되고, 현재 페르소나 소유자는 현재 페르소나 소유자 DM(새로운 RoT) (502) 내의 정보를 검증한다.
[72] 다음에, 현재 페르소나 소유자를 대리하는 운영자(500)는, 페르소나를 양도하도록 DM(구 RoT)(503)에 의해 운영자 및 현재 페르소나 소유자가 인가(512, 514)되는지 여부를 표시하는 인가 토큰을 획득한다. 다음에, 인가 토큰이 양도 티켓에 첨부되어 양도 티켓을 서명하고, 서명된 양도 티켓이 플래시(508)로 양도되어 저장(516)된다. 서명된 양도 티켓은 또한 보안 엘리먼트(506) 내의 페르소나 슬롯에 대한 인증 키와 함께 장래의 새로운 페르소나 소유자에게 리턴될 수도 있다. 이러한 구현에서, 인증 키는 양도 티켓에 부착되는 새로운 페르소나 소유자의 DM 운영자 공개 키를 사용하여 랩핑될 수도 있다. 다음에, 새로운 페르소나 소유자를 대리하는 운영자가 랩핑된 양도 티켓을 사용하여 양도 프로세스를 시작할 수 있다. 보다 구체적으로, 모바일 통신 디바이스(10)는 새로운 페르소나 소유자의 크리덴셜들을 검증하고 양도를 인가할 수 있다.
[73] 다음에, 운영자(500)는 DM(새로운 RoT)(502)의 워크스테이션에서부터 모바일 통신 디바이스(10)까지 USB 케이블을 연결한다. 디바이스 관리 소프트웨어가 실행되고, 운영자(500)는 모바일 통신 디바이스(10)에 재부팅(518)을 지시한다. 재부팅(518) 동안, 모바일 통신 디바이스(10)는 USB 접속을 검출하여 페르소나 운영 시스템들이 로딩하지 않도록 프로그래밍 모드에 진입한다. 다음에, 운영자(500)는 현재 페르소나 소유자에 의해 소유된 페르소나를 새로운 페르소나 소유자로 트랜지션하도록 DM 소프트웨어에 명령한다. 양도 티켓은 인가에 필요한 정보, 및 트랜지션된 페르소나의 이전 소유자에 대한 신뢰 루트로 서명된 요청을 인증하는 역할을 하는 운영자(500)의 공개 키 기반구조(PKI: public key infrastructure) 인증서를 포함한다.
[74] DM 소프트웨어는 운영자(500)의 비밀 키를 사용하여 양도 티켓으로부터의 인증 키를 언랩핑한다. 다음에, 인증 키가 사용(520)되어 페르소나 양도를 요청(522)하고, 모바일 통신 디바이스(10) 상의 보안 엘리먼트(506)를 언로크하도록 운영자를 인증(524)할 수도 있다. 이러한 구현에서, 인증(524)은 단지 인가된 페르소나와 관련된 저장소 암호 키들만이 보안 엘리먼트(506)로부터 리트리브될 수 있게 한다.
[75] 트랜지션은 추가로, 구 페르소나 자산 해시들을 DM(502)에 양도(530)하는 것을 포함한다. DM(502)은 서명들을 검증하고, 관련 자산들을 서명하도록 인가되는 새로운 페르소나 서명 키로 해시들을 다시 서명한다. 또한, 페르소나 미디어 키들에 대한 접근을 허용하는 페르소나 키가 변경되고, 새로운 값이 DM(502)으로 양도된다. 다음에, 대체 서명들이 DM(502)에서 모바일 통신 디바이스(10)로 양도(532)되고, 모바일 통신 디바이스(10)는 서명들을 승인하고 페르소나 자산들에 대한 구 서명들을 새로운 서명들로 대체한다.
[76] 다음에, 페르소나 트랜지션 파일이 생성(534)되고, 페르소나에 대한 구성 파일이 유효성에 관해 체크되며 이미 모바일 통신 디바이스(10) 상에 로딩된 다른 구성 파일들과 충돌한다. 구성 파일이 승인된다면 프로세스가 진행되고, 구성 파일들 간에 충돌이 있다면 소프트웨어 업데이트가 중단된다. 인가시 사용자 페르소나 인증이 업데이트(536)되어, 미디어 키들이 새로운 신뢰 루트에 의해 접근되고 DM(502)으로 리턴(538)될 수 있게 진행한다.
[77] DM(502)은 업데이트되고 있는 자산들을 서명하고, 서명된 해시들을 리턴한다. 예를 들어, 업데이트되고 있는 자산들은 다시 서명된 해시들로 업데이트되는 서명들을 가질 수도 있고 그리고/또는 새로운 서명들로 업데이트(542)될 수도 있다. 각각의 업데이트 이후 페르소나 트랜지션 파일이 체크포인트(540)되어 프로세스가 중단된 업데이트에서부터 재시작될 수 있게 한다. 업데이트가 완료된 후, 버퍼 데이터가 플래시(508)로 플러시(544)되고, 페르소나 트랜지션 파일이 삭제(546)되며, 모바일 통신 디바이스(10)가 재부팅(548)된다.
[78] 페르소나 소유권이 새로운 페르소나 소유자에게 양도된 후, 이전 페르소나 소유자와 신뢰 관계를 갖고 있던 임의의 페르소나들과 트랜지션된 페르소나 사이에 새로운 신뢰 관계가 구축될 필요가 있을 수도 있다. 보다 구체적으로, 모바일 통신 디바이스(10) 상에서 작동하는 다른 페르소나들의 페르소나 구성은 새로운 페르소나 소유자와 신뢰 관계를 구축하여 이전 페르소나 소유자와 동일한 기능을 유지하도록 업데이트되어야 할 수도 있다.
[79] 도 9는 모바일 통신 디바이스(10)에 사용될 수 있는 새로운 페르소나를 로딩하는 예시적인 방법의 흐름도이다. 예시적인 구현에서, 운영자(600)는 디바이스 매니저(DM) 워크스테이션(602)에서부터 모바일 통신 디바이스(10)까지 USB 케이블을 연결한다. 디바이스 관리 소프트웨어가 실행되고 운영자(600)는 모바일 통신 디바이스(10)에 재부팅(612)을 지시한다. 재부팅(612) 동안, 모바일 통신 디바이스(10)는 USB 접속을 검출하여, 페르소나 운영 시스템들이 로딩하지 않도록 프로그래밍 모드에 진입한다. 운영자(600)는 다음에, 디바이스 소유자가 보유하는 디바이스 패스워드로 USB 접속을 인가하도록 프롬프트(614)되며, 디바이스 패스워드가 입력(616)되고 인증(618)되어 보안 엘리먼트(606)를 언로크한다. 대안적인 구현에서, 모바일 통신 디바이스(10)는 다시 초기화되어 공장 구성으로 리셋될 수도 있다.
[80] DM 소프트웨어는 다음에, 모바일 통신 디바이스(10)로부터의 페르소나의 디바이스 지오메트리 데이터를 요청(620)하고, 운영자(600)는 페르소나 패키지를 특정 페르소나 슬롯에 로딩(622)하도록 DM 워크스테이션(602)에 지시한다. 디바이스 지오메트리 데이터는 페르소나의 OS 및 TEE 컴포넌트들의 크기를 포함할 수도 있지만, 이에 한정되는 것은 아니다. 페르소나 지오메트리가 디바이스 지오메트리와 매칭한다면 소프트웨어 업데이트가 진행되고, 미스매칭이 있다면 소프트웨어 업데이트가 중단되고 에러가 표시된다. 대안적인 구현에서, 페르소나 소유자가 업데이트의 호환성을 검증할 수 있도록 개정 번호의 페르소나 소유 패키지들이 또한 제공될 수도 있다.
[81] DM 소프트웨어는 모바일 통신 디바이스(10)에 로딩될 소프트웨어를 송신함으로써 로딩 프로세스를 시작한다. 한 구현에서, 페르소나의 구성 파일을 모바일 통신 디바이스(10)에 송신(624)함으로써 소프트웨어 로딩이 시작된다. 다음에, 보안 수퍼바이저(604)가 구성 파일의 지오메트리, 신뢰 루트 및 서명을 검사하고 평가하여 모바일 통신 디바이스(10) 상에 이미 로딩된 다른 구성 파일들과 충돌이 발생할지 여부를 결정한다. 구성 파일이 승인(626)된다면 소프트웨어 로딩이 진행되고, 구성 파일들 간에 충돌이 있다면 소프트웨어 로딩이 중단된다. 일부 구현들에서, 새로운 페르소나 OS 및 새로운 TEE가 모바일 통신 디바이스(10)에 로딩(628, 630)된다.
[82] 송신된 소프트웨어는 플래시 메모리(608) 상에 저장되고 신뢰 앵커와 비교하여 승인된다. 다음에, 페르소나 트랜지션 파일이 생성(632)되어 중복 기재를 표시하도록 작성된다. 중복 기재 표시는 업데이트 프로세스가 중단된다면 적절한 복구 조치들이 취해져 실패로부터 복구될 수 있도록 지속적인 방식으로 작성되는 센티널(sentinel) 값이다. 보다 구체적으로, 페르소나에 대한 보안 엘리먼트(606) 내의 저장소 미디어 키들이 삭제(634)되고, 구 페르소나 구성 파일이 소거(636)되고, 페르소나 플래시 파일시스템들이 소거(638)되며, 신뢰할 수 있는 플랫폼 모듈(TPM)(610)이 강제로 클리어(forceclear)(640)된다.
[83] 다음에, 지속적인 방식으로 모바일 통신 디바이스(10)에 새로운 페르소나가 로딩될 수 있다. 보다 구체적으로, 새로운 구성 파일이 플래시(608)에 작성(642)되고, 보안 수퍼바이저(604)에 의해 사용자 인증 데이터가 판독(644)되며, 사용자가 인증(646)되어 보안 엘리먼트(606)를 언로크한다. 다음에, 개인, 공개 키 쌍의 공개 암호 키(PEK)가 생성(648)되어 보안 엘리먼트(606)로부터 페르소나 소유자에게 내보내(650)질 수 있다. 페르소나 소유자는 자신의 인증서 권한으로 PEK를 서명하고, 구성 파일이 승인(652)된다면 소프트웨어 로딩(654)이 진행된다. 다음에, PEK가 보안 엘리먼트(606)에 리턴되어 저장(656)된다.
[84] PEK 개인, 공개 키 쌍의 비밀 키가 보안 엘리먼트(606)로부터 내보내지지 않도록 이는 보안 엘리먼트(606) 내에 저장되어 보호된다. 이는 페르소나 소유자가 개인 키에 의해 서명된 응답에 의해, 서비스를 수행하기 위한 요청이 인가된 디바이스로부터 왔음을 검증할 수 있게 한다. PEK는 페르소나 소유권이 정의될 때 생성될 수 있으며 예를 들어, 소프트웨어 업데이트, 요청 및/또는 패키지를 인증하는 데 사용될 수도 있다. 대안적인 구현에서, 페르소나 소유자가 특정 디바이스를 타깃으로 하는 데이터를 암호화할 수 있도록 그리고 다른 디바이스들이 데이터를 복호화하는 것이 불가능하도록 제 2 개인, 공개 키 쌍이 생성되어 암호화에 사용될 수도 있다.
[85] 다음에, 새로운 페르소나 OS 파일시스템이 플래시(608)에 작성(658)되고, 새로운 페르소나 TEE 파일시스템이 플래시(608)에 작성(660)되고, 새로운 페르소나 데이터 분할이 생성(662)된다. 타깃 플래시 파일시스템들은 이전에 저장된 메모리 콘텐츠로부터 프로그래밍되고, 구성 파일로부터의 저장소 키들을 사용하여 양도 중에 암호화된다. 업데이트가 완료된 후, 페르소나 트랜지션 파일이 삭제(664)되며, 모바일 통신 디바이스(10)가 재부팅(666)된다.
[86] 또한, 본 개시는 다음 조항들에 따른 실시예들을 포함한다:
조항 1. 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법으로서, 상기 방법은,
타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하도록 요청 디바이스로부터의 요청을 수신하는 단계;
제 1 개인, 공개 키 쌍의 공개 키로 요청을 검증하는 단계 ― 요청은 제 1 개인, 공개 키 쌍의 개인 키로 서명됨 ―;
요청 및 인가 토큰을 포함하는 인가 응답을 형성하는 단계; 및
인가 응답을 요청 디바이스로 송신하는 단계를 포함한다.
조항 2. 조항 1에 따른 방법은 타깃이 되는 컴퓨팅 디바이스에 대한 보안 정책을 기초로 요청을 그랜트할지 여부를 결정하는 단계를 더 포함한다.
조항 3. 조항 2에 따른 방법에서, 요청을 그랜트할지 여부를 결정하는 단계는 수행될 동작에 대한 파라미터들이 타깃이 되는 컴퓨팅 디바이스에 대한 보안 정책에 맞춰 조정될지 여부를 결정하는 단계를 포함한다.
조항 4. 조항 1에 따른 방법은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청을 수신하기 전에 그리고 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청의 검증에 응답하여 중 적어도 하나에 따라 인가 토큰을 생성하는 단계를 더 포함한다.
조항 5. 조항 1에 따른 방법에서, 인가 응답을 형성하는 단계는 미리 결정된 인가 기간, 미리 결정된 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 인가, 및 타깃이 되는 컴퓨팅 디바이스 상에서 미리 결정된 동작들을 수행하기 위한 인가 중 적어도 하나를 갖도록 인가 토큰을 생성하는 단계를 포함한다.
조항 6. 조항 1에 따른 방법은 제 2 개인, 공개 키 쌍의 개인 키로 인가 응답을 서명하는 단계를 더 포함한다.
조항 7. 조항 1에 따른 방법에서, 인가 응답을 송신하는 단계는 탈착 가능 매체를 통해 인가 응답을 요청 디바이스에 전송하는 단계를 포함한다.
조항 8. 조항 1에 따른 방법에서, 요청을 수신하는 단계는 타깃이 되는 컴퓨팅 디바이스의 식별, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작, 동작이 수행될 시간 기간, 및 타깃이 되는 컴퓨팅 디바이스의 지리적 위치 중 적어도 하나를 갖는 요청을 수신하는 단계를 포함한다.
조항 9. 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법으로서, 상기 방법은,
요청 디바이스로부터 인가 응답을 수신하는 단계 ― 인가 응답은 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청 및 인가 토큰을 포함함 ―;
개인, 공개 키 쌍의 공개 키로 인가 응답을 검증하는 단계 ― 인가 응답은 개인, 공개 키 쌍의 개인 키로 서명됨 ―; 및
인가 응답의 검증시 동작을 수행하기 위한 인가를 그랜트하는 단계를 포함한다.
조항 10. 조항 9에 따른 방법에서, 인가 응답을 수신하는 단계는 타깃이 되는 컴퓨팅 디바이스의 식별, 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작, 동작이 수행될 시간 기간, 및 타깃이 되는 컴퓨팅 디바이스의 지리적 위치 중 적어도 하나를 갖는 요청을 포함하는 인가 응답을 수신하는 단계를 포함한다.
조항 11. 조항 9에 따른 방법에서, 인가 응답을 수신하는 단계는 미리 결정된 인가 기간, 미리 결정된 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 인가, 및 타깃이 되는 컴퓨팅 디바이스 상에서 미리 결정된 동작들을 수행하기 위한 인가 중 적어도 하나를 갖는 인가 토큰을 포함하는 인가 응답을 수신하는 단계를 포함한다.
조항 12. 조항 9에 따른 방법에서, 인가 응답을 검증하는 단계는 수행될 동작에 대한 파라미터들이 타깃이 되는 컴퓨팅 디바이스에 대한 보안 정책에 맞춰 조정되는지 여부를 결정하는 단계를 포함한다.
[87] 이러한 서면 기술은 최선 모드를 포함하는 다양한 구현들을 개시하기 위해 그리고 또한 해당 기술분야에서 통상의 지식을 가진 임의의 자가 임의의 디바이스들 또는 시스템들을 제작하여 사용하고 임의의 통합된 방법들을 수행하는 것을 비롯해 다양한 구현들을 실시할 수 있게 하기 위해 예들을 사용한다. 본 개시의 특허 가능 범위는 청구항들에 의해 정의되고, 해당 기술분야에서 통상의 지식을 가진 자들에게 일어나는 다른 예들을 포함할 수도 있다. 그러한 다른 예들은 그들이 청구항들의 문언과 다르지 않은 구조적 엘리먼트들을 갖는다면, 또는 그들이 청구항들의 문언과 사소한 차이들을 갖는 동등한 구조적 엘리먼트들을 포함한다면, 청구항들의 범위 내에 있는 것으로 의도된다.
Claims (15)
- 타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법으로서,
요청 디바이스(302)에서, 상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 동작을 수행하기 위한 요청을 생성하는 단계;
상기 요청 디바이스에서, 제 1 개인, 공개 키 쌍의 개인 키로 상기 요청에 서명하는 단계;
상기 요청 디바이스로부터 인증 서버(304)로 상기 요청을 송신하는 단계;
상기 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하도록 요청 디바이스로부터의 상기 요청을 상기 인증 서버에서 수신하는 단계;
상기 인증 서버에서, 제 1 개인, 공개 키 쌍의 공개 키로 상기 요청을 검증하는 단계;
상기 인증 서버에서, 상기 요청 및 인가 토큰을 포함하는 인가 응답을 형성하는 단계;
상기 인증 서버에서, 제 2 개인, 공개 키 쌍의 개인 키로 상기 인가 응답에 서명하는 단계;
상기 인가 응답을 상기 인가 서버로부터 상기 요청 디바이스로 송신하는 단계;
상기 요청 디바이스에서, 상기 인증 서버로부터 상기 요청 및 상기 인가 토큰을 포함하는 상기 인가 응답을 수신하는 단계;
상기 요청 디바이스에서, 제 2 개인, 공개 키 쌍의 공개 키로 상기 인가 응답을 검증하는 단계;
상기 요청 디바이스에 의해, 상기 제 1 개인, 공개 키 쌍의 개인 키로 상기 인가 응답에 서명하는 단계;
상기 요청 디바이스에 의해, 상기 타깃이 되는 컴퓨팅 디바이스에 상기 인가 응답을 송신하는 단계;
상기 타깃이 되는 컴퓨팅 디바이스에 의해, 상기 요청 디바이스로부터 상기 인가 응답을 수신하는 단계 ― 상기 인가 응답은 상기 타깃이 되는 컴퓨팅 디바이스 상에서 동작을 수행하기 위한 요청 및 상기 인가 토큰을 포함함 ―;
상기 타깃이 되는 컴퓨팅 디바이스에 의해, 상기 제 1 개인, 공개 키 쌍의 공개 키로 상기 인가 응답을 검증하는 단계; 및
상기 타깃이 되는 컴퓨팅 디바이스에 의해, 상기 인가 응답의 검증시 상기 동작을 수행하기 위한 인가를 그랜트하는 단계
를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 요청을 생성하는 단계는 상기 타깃이 되는 컴퓨팅 디바이스(10)의 식별, 상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작, 상기 동작이 수행될 시간 기간, 및 상기 타깃이 되는 컴퓨팅 디바이스(10)의 지리적 위치 중 적어도 하나를 포함하도록 상기 요청을 생성하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 인가 응답을 수신하는 단계는 미리 결정된 인가 기간, 미리 결정된 타깃이 되는 컴퓨팅 디바이스(10) 상에서 상기 동작을 수행하기 위한 인가, 및 상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 미리 결정된 동작들을 수행하기 위한 인가 중 적어도 하나를 갖는 인가 토큰을 포함하는 인가 응답을 수신하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 삭제
- 제 1 항에 있어서,
상기 인가 응답을 송신하는 단계는 상기 제 2 개인, 공개 키 쌍의 공개 키에 의한 상기 인가 응답의 검증시 상기 인가 응답을 송신하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 제 1 개인, 공개 키 쌍의 개인 키로 상기 인가 응답을 서명하는 단계를 더 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 인가 응답을 수신하는 단계는 상기 인가 토큰이 요청된 동작을 인가하는지 여부를 결정하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 요청을 송신하는 단계는 탈착 가능 매체를 통해 상기 인증 서버(304)로 상기 요청을 전송하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 삭제
- 제 1 항에 있어서,
상기 타깃이 되는 컴퓨팅 디바이스(10)에 대한 보안 정책을 기초로 상기 요청을 그랜트할지 여부를 결정하는 단계를 더 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 10 항에 있어서,
상기 요청을 그랜트할지 여부를 결정하는 단계는 상기 수행될 동작에 대한 파라미터들이 상기 타깃이 되는 컴퓨팅 디바이스(10)에 대한 보안 정책에 맞춰 조정될지 여부를 결정하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 제 1 항에 있어서,
상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 상기 동작을 수행하기 위한 요청을 수신하기 전에 그리고 상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 상기 동작을 수행하기 위한 요청의 검증에 응답하여 중 적어도 하나에 따라 상기 인가 토큰을 생성하는 단계를 더 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법 - 제 1 항에 있어서,
상기 인가 응답을 형성하는 단계는 미리 결정된 인가 기간, 미리 결정된 타깃이 되는 컴퓨팅 디바이스(10) 상에서 상기 동작을 수행하기 위한 인가, 및 상기 타깃이 되는 컴퓨팅 디바이스(10) 상에서 미리 결정된 동작들을 수행하기 위한 인가 중 적어도 하나를 갖도록 상기 인가 토큰을 생성하는 단계를 포함하는,
타깃이 되는 컴퓨팅 디바이스(10) 상에서 수행될 동작을 인가하는 방법. - 삭제
- 타깃(10)이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하기 위한 컴퓨터 구현 시스템로서,
제 1 항 내지 제 3 항 및 제 5 항 내지 제 7 항 중 어느 한 항의 방법을 수행하도록 구성되는,
타깃(10)이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하기 위한 컴퓨터 구현 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/025,560 US9819661B2 (en) | 2013-09-12 | 2013-09-12 | Method of authorizing an operation to be performed on a targeted computing device |
US14/025,560 | 2013-09-12 | ||
PCT/US2014/045022 WO2015038220A1 (en) | 2013-09-12 | 2014-07-01 | Method of authorizing an operation to be performed on a targeted computing device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160054555A KR20160054555A (ko) | 2016-05-16 |
KR102217941B1 true KR102217941B1 (ko) | 2021-02-19 |
Family
ID=51298936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167009198A KR102217941B1 (ko) | 2013-09-12 | 2014-07-01 | 타깃이 되는 컴퓨팅 디바이스 상에서 수행될 동작을 인가하는 방법 |
Country Status (12)
Country | Link |
---|---|
US (1) | US9819661B2 (ko) |
EP (1) | EP3039604B1 (ko) |
JP (2) | JP2016535547A (ko) |
KR (1) | KR102217941B1 (ko) |
CN (1) | CN105531710B (ko) |
BR (1) | BR112016004501B1 (ko) |
CA (1) | CA2922158C (ko) |
ES (1) | ES2802265T3 (ko) |
RU (1) | RU2675902C2 (ko) |
SG (1) | SG11201601108YA (ko) |
TW (2) | TWI674533B (ko) |
WO (1) | WO2015038220A1 (ko) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9942257B1 (en) | 2012-07-11 | 2018-04-10 | Amazon Technologies, Inc. | Trustworthy indication of software integrity |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9825944B2 (en) * | 2014-01-24 | 2017-11-21 | Microsoft Technology Licensing, Llc | Secure cryptoprocessor for authorizing connected device requests |
US20150213433A1 (en) * | 2014-01-28 | 2015-07-30 | Apple Inc. | Secure provisioning of credentials on an electronic device using elliptic curve cryptography |
US9542558B2 (en) * | 2014-03-12 | 2017-01-10 | Apple Inc. | Secure factory data generation and restoration |
KR102209840B1 (ko) * | 2014-04-22 | 2021-02-01 | 삼성전자주식회사 | 가상화 서비스 제공 장치 및 그 방법 |
US9858421B2 (en) * | 2014-07-02 | 2018-01-02 | Dell Products L.P. | Systems and methods for detecting hardware tampering of information handling system hardware |
US10057072B2 (en) * | 2014-12-31 | 2018-08-21 | Schneider Electric USA, Inc. | Industrial network certificate recovery by identifying secondary root certificate |
US10171427B2 (en) | 2015-01-29 | 2019-01-01 | WebCloak, LLC | Portable encryption and authentication service module |
US11023968B2 (en) * | 2015-03-05 | 2021-06-01 | Goldman Sachs & Co. LLC | Systems and methods for updating a distributed ledger based on partial validations of transactions |
US10120696B2 (en) * | 2015-03-19 | 2018-11-06 | Sony Corporation | Method and device for controlling usability of a communication device |
US9578020B2 (en) | 2015-03-19 | 2017-02-21 | Sony Corporation | Module for controlling usability of a device |
JP6493522B2 (ja) * | 2015-05-07 | 2019-04-03 | 日本電気株式会社 | 秘密計算データ利用システムと方法と装置並びにプログラム |
US10205712B2 (en) * | 2015-06-10 | 2019-02-12 | Mcafee, Llc | Sentinel appliance in an internet of things realm |
US9686240B1 (en) | 2015-07-07 | 2017-06-20 | Sprint Communications Company L.P. | IPv6 to IPv4 data packet migration in a trusted security zone |
US9727737B1 (en) * | 2015-07-27 | 2017-08-08 | Amazon Technologies, Inc. | Trustworthy indication of software integrity |
US9749294B1 (en) * | 2015-09-08 | 2017-08-29 | Sprint Communications Company L.P. | System and method of establishing trusted operability between networks in a network functions virtualization environment |
US10542115B1 (en) | 2015-10-01 | 2020-01-21 | Sprint Communications Company L.P. | Securing communications in a network function virtualization (NFV) core network |
US9811686B1 (en) | 2015-10-09 | 2017-11-07 | Sprint Communications Company L.P. | Support systems interactions with virtual network functions in a trusted security zone |
US9781016B1 (en) | 2015-11-02 | 2017-10-03 | Sprint Communications Company L.P. | Dynamic addition of network function services |
US10459722B2 (en) * | 2015-11-24 | 2019-10-29 | Wind River Systems, Inc. | Device, system, and method for secure supervisor system calls |
US10652023B2 (en) | 2015-12-30 | 2020-05-12 | T-Mobile Usa, Inc. | Persona and device based certificate management |
US10972262B2 (en) * | 2015-12-30 | 2021-04-06 | T-Mobile Usa, Inc. | Persona and device based certificate management |
CN106897874B (zh) * | 2016-06-01 | 2021-02-09 | 创新先进技术有限公司 | 移动支付方法、装置及*** |
US10210333B2 (en) * | 2016-06-30 | 2019-02-19 | General Electric Company | Secure industrial control platform |
US20180012037A1 (en) * | 2016-07-05 | 2018-01-11 | Nxp B.V. | Secure operation apparatuses and methods therefor |
SG10202110839VA (en) | 2016-07-11 | 2021-11-29 | Visa Int Service Ass | Encryption key exchange process using access device |
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 |
US10303884B2 (en) * | 2016-09-22 | 2019-05-28 | Apple Inc. | Countersigning updates for multi-chip devices |
US10250498B1 (en) | 2016-10-03 | 2019-04-02 | Sprint Communications Company L.P. | Session aggregator brokering of data stream communication |
US10310885B2 (en) * | 2016-10-25 | 2019-06-04 | Microsoft Technology Licensing, Llc | Secure service hosted in a virtual security environment |
EP3542274A1 (en) * | 2016-11-18 | 2019-09-25 | Veritas Technologies LLC | Systems and methods for performing secure backup operations |
US10135899B1 (en) * | 2016-12-16 | 2018-11-20 | Amazon Technologies, Inc. | Dynamic archiving of streaming content |
US10348488B1 (en) | 2017-08-25 | 2019-07-09 | Sprint Communications Company L.P. | Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network |
US10546276B2 (en) * | 2017-09-13 | 2020-01-28 | Microsoft Technology Licensing, Llc | Cyber ownership transfer |
US11374760B2 (en) * | 2017-09-13 | 2022-06-28 | Microsoft Technology Licensing, Llc | Cyber physical key |
US10831877B1 (en) * | 2018-03-05 | 2020-11-10 | Architecture Technology Corporation | Systems and methods for implementing multiple personas in a computing system |
US11120137B2 (en) * | 2018-06-19 | 2021-09-14 | Netgear, Inc. | Secure transfer of registered network access devices |
US11223485B2 (en) * | 2018-07-17 | 2022-01-11 | Huawei Technologies Co., Ltd. | Verifiable encryption based on trusted execution environment |
CN109067528B (zh) * | 2018-08-31 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 密码运算、创建工作密钥的方法、密码服务平台及设备 |
CN113168476A (zh) * | 2018-11-30 | 2021-07-23 | 百可德罗德公司 | 操作***中个性化密码学安全的访问控制 |
US20200364354A1 (en) * | 2019-05-17 | 2020-11-19 | Microsoft Technology Licensing, Llc | Mitigation of ransomware in integrated, isolated applications |
US11489675B1 (en) * | 2019-07-12 | 2022-11-01 | Allscripts Software, Llc | Computing system for electronic message tamper-roofing |
US12045629B2 (en) | 2019-09-30 | 2024-07-23 | Microsoft Technology Licensing, Llc | Securely configuring target devices using device identity |
CN111737678B (zh) * | 2020-06-18 | 2024-05-24 | 海尔优家智能科技(北京)有限公司 | 目标设备的绑定方法及装置、存储介质、电子装置 |
TWI804754B (zh) * | 2020-09-08 | 2023-06-11 | 四零四科技股份有限公司 | 憑證管理系統及憑證管理方法 |
US11847205B1 (en) | 2020-10-26 | 2023-12-19 | T-Mobile Innovations Llc | Trusted 5G network function virtualization of virtual network function elements embedded on a system-on-chip |
TWI803907B (zh) * | 2021-07-19 | 2023-06-01 | 臺灣網路認證股份有限公司 | 透過驗證有效憑證在不同裝置上確認身分之系統及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172531A1 (en) | 2002-12-09 | 2004-09-02 | Little Herbert A. | System and method of secure authentication information distribution |
US20100106963A1 (en) * | 2008-04-22 | 2010-04-29 | Barclays Capital Inc. | System and method for secure remote computer task automation |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5320554A (en) | 1992-10-02 | 1994-06-14 | Compaq Computer Corp. | Attachment unit interface connector |
US5778304A (en) * | 1994-03-10 | 1998-07-07 | Motorola, Inc. | Method for providing communication services based on geographic location |
KR100277689B1 (ko) * | 1998-12-04 | 2001-01-15 | 정선종 | 개방형 통신망에서의 사용자 인증 방법 |
JP3873624B2 (ja) * | 1999-01-13 | 2007-01-24 | 株式会社日立製作所 | モバイルコードの実行方法およびそのシステム |
JP2000316006A (ja) | 1999-04-28 | 2000-11-14 | Nec Corp | バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム |
US6636750B1 (en) | 1999-10-15 | 2003-10-21 | Motorola, Inc. | Speakerphone accessory for a portable telephone |
JP2001320178A (ja) | 2000-05-02 | 2001-11-16 | Nec Yonezawa Ltd | 電子機器装置 |
DE20009217U1 (de) | 2000-05-22 | 2000-08-24 | Lu, Ping Chang, Taipeh/T'ai-pei | Batteriesatz für Mobiltelefone |
US20020091931A1 (en) * | 2001-01-05 | 2002-07-11 | Quick Roy Franklin | Local authentication in a communication system |
AU2002340566A1 (en) | 2001-10-17 | 2003-04-28 | Infineon Technologies Ag | Method and device for guaranteeing a calculation in a cryptographic algorithm |
US20030115447A1 (en) | 2001-12-18 | 2003-06-19 | Duc Pham | Network media access architecture and methods for secure storage |
US20040204096A1 (en) | 2002-03-08 | 2004-10-14 | Koninklijke Philips Electronics N.V. | RF and BB subsystems interface |
ATE254773T1 (de) * | 2002-03-18 | 2003-12-15 | Ubs Ag | Sichere benutzerauthenifizierung über ein kommunikationsnetzwerk |
JP2004265139A (ja) * | 2003-02-28 | 2004-09-24 | Nec Corp | コンテンツ実行システム、携帯情報端末、外部機器、コンテンツ実行方法及びプログラム |
TW594544B (en) | 2003-05-14 | 2004-06-21 | Benq Corp | Interface device for automatically determining peripherals and electronic device having such a function |
DE10338032B4 (de) | 2003-08-19 | 2009-12-17 | Infineon Technologies Ag | Prozessor mit elektronischen Sicherungen zum Speichern von Geheimdaten |
US7574603B2 (en) * | 2003-11-14 | 2009-08-11 | Microsoft Corporation | Method of negotiating security parameters and authenticating users interconnected to a network |
US7305260B2 (en) | 2004-01-30 | 2007-12-04 | Nokia Corporation | Function specific interchangeable cover piece for a mobile communication device |
US20050177661A1 (en) | 2004-02-10 | 2005-08-11 | Loo Fok K. | Multimedia playback device with a USB controller |
JP4420201B2 (ja) * | 2004-02-27 | 2010-02-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハードウェアトークンを用いた認証方法、ハードウェアトークン、コンピュータ装置、およびプログラム |
US7380119B2 (en) | 2004-04-29 | 2008-05-27 | International Business Machines Corporation | Method and system for virtualization of trusted platform modules |
US7565522B2 (en) | 2004-05-10 | 2009-07-21 | Intel Corporation | Methods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch |
US7552476B2 (en) * | 2004-06-25 | 2009-06-23 | Canon Kabushiki Kaisha | Security against replay attacks of messages |
US7715559B2 (en) | 2004-08-26 | 2010-05-11 | Motorola, Inc. | Crypto-synchronization for secure communication |
US20110255226A1 (en) | 2004-09-08 | 2011-10-20 | Belkin International, Inc. | Electrical Accessory and Method of Providing Same |
US7865917B2 (en) | 2004-12-17 | 2011-01-04 | Martin E Hellman | Security enhanced tiered subscription broadcast system |
JP4594753B2 (ja) * | 2005-01-24 | 2010-12-08 | 日本放送協会 | コンテンツ利用許可証送信装置、コンテンツ利用許可証送信プログラム及びコンテンツ利用許可証受信プログラム |
US20060230439A1 (en) | 2005-03-30 | 2006-10-12 | Smith Ned M | Trusted platform module apparatus, systems, and methods |
US8619971B2 (en) | 2005-04-01 | 2013-12-31 | Microsoft Corporation | Local secure service partitions for operating system security |
US7643817B2 (en) | 2005-05-18 | 2010-01-05 | General Dynamics C4 Systems, Inc. | Method and apparatus for rapid secure session establishment on half-duplex AD-hoc group voice cellular network channels |
US7747021B2 (en) | 2005-05-18 | 2010-06-29 | General Dynamics C4 Systems, Inc. | Method and apparatus for fast secure session establishment on half-duplex point-to-point voice cellular network channels |
US7728549B2 (en) | 2005-10-21 | 2010-06-01 | Matthew Bartlett | Battery pack including an emergency back-up battery for use in mobile electronic devices |
EP1814028A1 (de) | 2006-01-27 | 2007-08-01 | Siemens Aktiengesellschaft | Verfahren zum Implementieren von Applikationen in unabhängigen Partitionen mit optimierten Betriebsystemen |
US7856653B2 (en) | 2006-03-29 | 2010-12-21 | International Business Machines Corporation | Method and apparatus to protect policy state information during the life-time of virtual machines |
WO2007149154A2 (en) | 2006-05-09 | 2007-12-27 | Interdigital Technology Corporation | Secure time functionality for a wireless device |
KR100725522B1 (ko) | 2006-09-01 | 2007-06-07 | 삼성전자주식회사 | 접촉입력부를 구비한 휴대기기의 부분잠금 제어방법 |
US8843222B2 (en) | 2007-01-08 | 2014-09-23 | Varia Holdings Llc | Selective locking of input controls for a portable media player |
CN104052870B (zh) | 2007-02-13 | 2018-09-11 | 谷歌有限责任公司 | 模块式无线通信器 |
US7863856B2 (en) | 2008-01-11 | 2011-01-04 | Modu Ltd. | Bi-directional battery charging for coupled electronic devices |
US20080244261A1 (en) | 2007-03-29 | 2008-10-02 | Wiseman Willard M | Separation of logical trusted platform modules within a single physical trusted platform module |
JP5213353B2 (ja) | 2007-05-17 | 2013-06-19 | キヤノン株式会社 | 通信端末、通信端末の制御方法、通信装置、通信装置の制御方法 |
US7792544B2 (en) | 2007-05-25 | 2010-09-07 | Motorola, Inc. | Method and apparatus for disabling the user interface of electronic devices |
CN201063805Y (zh) | 2007-06-28 | 2008-05-21 | 中兴通讯股份有限公司 | 一种功能可扩展的手机终端 |
US8060074B2 (en) * | 2007-07-30 | 2011-11-15 | Mobile Iron, Inc. | Virtual instance architecture for mobile device management systems |
US8060876B2 (en) | 2007-08-10 | 2011-11-15 | Intel Corporation | Methods and apparatus for creating an isolated partition for a virtual trusted platform module |
US8032741B2 (en) | 2007-08-22 | 2011-10-04 | Intel Corporation | Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM) |
TW200910202A (en) | 2007-08-30 | 2009-03-01 | Behavior Tech Computer Corp | Multimedia access device, multimedia display system comprising the multimedia access device, and multimedia data display method |
US8130206B2 (en) | 2007-10-09 | 2012-03-06 | Nokia Corporation | Apparatus, method, computer program and user interface for enabling a touch sensitive display |
IL187043A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Secure pipeline manager |
US8220029B2 (en) | 2007-11-13 | 2012-07-10 | Samsung Electronics Co., Ltd. | Method and system for enforcing trusted computing policies in a hypervisor security module architecture |
US8150452B2 (en) | 2007-11-16 | 2012-04-03 | Standard Microsystems Corporation | Providing a connection between a memory medium of a mobile device and an external device |
US9363258B2 (en) * | 2007-12-17 | 2016-06-07 | International Business Machines Corporation | Secure digital signature system |
US8259948B2 (en) | 2007-12-29 | 2012-09-04 | Intel Corporation | Virtual TPM key migration using hardware keys |
US20090181735A1 (en) | 2008-01-02 | 2009-07-16 | Griffin Jr Paul P | Reception Boosting Accessory |
US20100325628A1 (en) | 2008-02-25 | 2010-12-23 | Tomoyuki Haga | Information processing device |
KR20090095909A (ko) | 2008-03-06 | 2009-09-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 관리 방법 |
JP4987820B2 (ja) * | 2008-08-11 | 2012-07-25 | 日本電信電話株式会社 | 認証システム、接続制御装置、認証装置および転送装置 |
US8176214B2 (en) | 2008-10-31 | 2012-05-08 | Silicon Image, Inc. | Transmission of alternative content over standard device connectors |
GB2466071B (en) | 2008-12-15 | 2013-11-13 | Hewlett Packard Development Co | Associating a signing key with a software component of a computing platform |
FR2941584B1 (fr) | 2009-01-27 | 2011-04-01 | St Nxp Wireless France | Procede de traitement de flux de donnees recues par un appareil de communication sans fil et necessitant au moins en partie des traitements cryptographiques et appareil correspondant |
US8341318B2 (en) | 2009-03-16 | 2012-12-25 | Apple Inc. | Techniques for facilitating communication between an accessory and a mobile computing device using application specific protocols |
KR101537706B1 (ko) | 2009-04-16 | 2015-07-20 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
US20100277415A1 (en) | 2009-04-30 | 2010-11-04 | Sony Ericsson Mobile Communications Ab | Multimedia module for a mobile communication device |
CN101562621B (zh) * | 2009-05-25 | 2013-05-22 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、***和装置 |
US8224170B2 (en) | 2009-06-28 | 2012-07-17 | Kevin James King | Photographic control system, devices and method |
US8626932B2 (en) | 2009-09-01 | 2014-01-07 | Apple Inc. | Device-dependent selection between modes for asymmetric serial protocols |
US8397306B1 (en) | 2009-09-23 | 2013-03-12 | Parallels IP Holdings GmbH | Security domain in virtual environment |
US8244231B2 (en) | 2009-09-30 | 2012-08-14 | Research In Motion Limited | Method and apparatus for disambiguating an emergency call attempt during password entry for unlocking a mobile communication device |
US8327059B2 (en) | 2009-09-30 | 2012-12-04 | Vmware, Inc. | System and method to enhance memory protection for programs in a virtual machine environment |
KR20110049230A (ko) | 2009-11-04 | 2011-05-12 | 삼성전자주식회사 | 다수의 송신 키를 포함하는 멀티 심 단말기 및 그의 운용 방법 |
US8966657B2 (en) * | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
US8634873B2 (en) | 2010-03-17 | 2014-01-21 | Microsoft Corporation | Mobile communication device having multiple, interchangeable second devices |
US8631185B2 (en) | 2010-09-15 | 2014-01-14 | Standard Microsystems Corporation | Method and system for transferring high-speed data within a portable device |
US8689004B2 (en) | 2010-11-05 | 2014-04-01 | Microsoft Corporation | Pluggable claim providers |
AU2011202836B2 (en) | 2010-12-21 | 2014-04-10 | Lg Electronics Inc. | Mobile terminal and method of controlling a mode screen display therein |
CN102158599B (zh) | 2011-03-15 | 2013-09-04 | 上海艾为电子技术有限公司 | 无线终端及其多sim卡连接装置 |
WO2012156586A2 (en) | 2011-05-18 | 2012-11-22 | Nokia Corporation | Secure boot with trusted computing group platform registers |
CN102853966A (zh) | 2011-06-30 | 2013-01-02 | 扬州市嘉禾仪表有限公司 | 压力表阻尼器 |
US20130036377A1 (en) | 2011-08-05 | 2013-02-07 | Nokia Corporation | Controlling responsiveness to user inputs |
US9171139B2 (en) | 2011-08-05 | 2015-10-27 | Vmware, Inc. | Lock screens to access work environments on a personal mobile device |
US8494585B2 (en) | 2011-10-13 | 2013-07-23 | The Boeing Company | Portable communication devices with accessory functions and related methods |
WO2013061156A2 (en) | 2011-10-27 | 2013-05-02 | Cell Rox, Ltd. | Systems and method for implementing multiple personas on mobile technology platforms |
JP5713244B2 (ja) * | 2012-01-17 | 2015-05-07 | 日立金属株式会社 | ネットワークシステム |
US9075913B2 (en) * | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
CN103369456B (zh) | 2012-03-29 | 2016-08-17 | 英华达(上海)科技有限公司 | 手机防盗***及其方法 |
US9256506B1 (en) * | 2012-06-04 | 2016-02-09 | Google Inc. | System and method for performing operations on target servers |
CN102724647B (zh) * | 2012-06-06 | 2014-08-13 | 电子科技大学 | 一种能力访问授权方法及*** |
US20140007087A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
US8983543B2 (en) | 2012-09-12 | 2015-03-17 | Li Li | Methods and apparatus for managing data within a secure element |
US8874916B2 (en) | 2012-09-28 | 2014-10-28 | Intel Corporation | Introduction of discrete roots of trust |
CN102984252B (zh) * | 2012-11-26 | 2015-04-08 | 中国科学院信息工程研究所 | 一种基于动态跨域安全令牌的云资源访问控制方法 |
US9264413B2 (en) * | 2012-12-06 | 2016-02-16 | Qualcomm Incorporated | Management of network devices utilizing an authorization token |
US9503268B2 (en) * | 2013-01-22 | 2016-11-22 | Amazon Technologies, Inc. | Securing results of privileged computing operations |
EP3869332B1 (en) | 2013-03-06 | 2023-04-12 | INTEL Corporation | Roots-of-trust for measurement of virtual machines |
-
2013
- 2013-09-12 US US14/025,560 patent/US9819661B2/en active Active
-
2014
- 2014-06-18 TW TW107134432A patent/TWI674533B/zh active
- 2014-06-18 TW TW103120995A patent/TWI640893B/zh active
- 2014-07-01 SG SG11201601108YA patent/SG11201601108YA/en unknown
- 2014-07-01 EP EP14748330.9A patent/EP3039604B1/en active Active
- 2014-07-01 CA CA2922158A patent/CA2922158C/en active Active
- 2014-07-01 KR KR1020167009198A patent/KR102217941B1/ko active IP Right Grant
- 2014-07-01 CN CN201480050437.4A patent/CN105531710B/zh active Active
- 2014-07-01 BR BR112016004501-7A patent/BR112016004501B1/pt active IP Right Grant
- 2014-07-01 WO PCT/US2014/045022 patent/WO2015038220A1/en active Application Filing
- 2014-07-01 RU RU2016104645A patent/RU2675902C2/ru active
- 2014-07-01 ES ES14748330T patent/ES2802265T3/es active Active
- 2014-07-01 JP JP2016541960A patent/JP2016535547A/ja active Pending
-
2019
- 2019-09-20 JP JP2019171659A patent/JP7086908B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172531A1 (en) | 2002-12-09 | 2004-09-02 | Little Herbert A. | System and method of secure authentication information distribution |
US7809953B2 (en) | 2002-12-09 | 2010-10-05 | Research In Motion Limited | System and method of secure authentication information distribution |
US20100106963A1 (en) * | 2008-04-22 | 2010-04-29 | Barclays Capital Inc. | System and method for secure remote computer task automation |
Also Published As
Publication number | Publication date |
---|---|
RU2016104645A (ru) | 2017-10-17 |
TWI640893B (zh) | 2018-11-11 |
JP2020005310A (ja) | 2020-01-09 |
ES2802265T3 (es) | 2021-01-18 |
BR112016004501B1 (pt) | 2022-01-04 |
CA2922158C (en) | 2023-06-27 |
JP2016535547A (ja) | 2016-11-10 |
RU2675902C2 (ru) | 2018-12-25 |
EP3039604B1 (en) | 2020-04-29 |
BR112016004501A2 (ko) | 2017-08-01 |
SG11201601108YA (en) | 2016-03-30 |
US9819661B2 (en) | 2017-11-14 |
CN105531710A (zh) | 2016-04-27 |
CA2922158A1 (en) | 2015-03-19 |
TWI674533B (zh) | 2019-10-11 |
JP7086908B2 (ja) | 2022-06-20 |
WO2015038220A1 (en) | 2015-03-19 |
TW201518989A (zh) | 2015-05-16 |
TW201905688A (zh) | 2019-02-01 |
KR20160054555A (ko) | 2016-05-16 |
US20150074764A1 (en) | 2015-03-12 |
CN105531710B (zh) | 2020-07-07 |
EP3039604A1 (en) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10244578B2 (en) | Mobile communication device and method of operating thereof | |
JP7086908B2 (ja) | 対象のコンピューティング装置で実施される動作を認証する方法 | |
KR102276873B1 (ko) | 모바일 통신 디바이스 및 그 작동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |