KR101702290B1 - 보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트 - Google Patents

보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트 Download PDF

Info

Publication number
KR101702290B1
KR101702290B1 KR1020147033156A KR20147033156A KR101702290B1 KR 101702290 B1 KR101702290 B1 KR 101702290B1 KR 1020147033156 A KR1020147033156 A KR 1020147033156A KR 20147033156 A KR20147033156 A KR 20147033156A KR 101702290 B1 KR101702290 B1 KR 101702290B1
Authority
KR
South Korea
Prior art keywords
software
image
update
component
tee
Prior art date
Application number
KR1020147033156A
Other languages
English (en)
Other versions
KR20150005667A (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 KR20150005667A publication Critical patent/KR20150005667A/ko
Application granted granted Critical
Publication of KR101702290B1 publication Critical patent/KR101702290B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • 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/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

일반적으로, 본 발명은 신뢰된 하드웨어 기반 인증을 사용하여 모바일 플랫폼 상 소프트웨어를 보안 업데이트하기 위한 디바이스, 방법 및 시스템을 설명한다. 디바이스는 업데이트 서버로부터 소프트웨어 업데이트 이미지를 수신하도록 구성된 이미지 업데이트 모듈 - 이미지 업데이트 모듈은 운영 체제(operating system: OS) 레벨에서 실행함 - 과; 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하도록 구성된 주요 컴포넌트 데이터베이스와; 디바이스 상의 소프트웨어 업데이트 이미지의 설치 전에 소프트웨어 업데이트 이미지 내의 주요 소프트웨어 컴포넌트의 포함을 검증하도록 구성된 보안 업데이트 애플리케이션 모듈과; 보안 업데이트 애플리케이션 모듈 및 주요 컴포넌트 데이터베이스에 대한 제어 액세스 및 데이터 액세스를 제한하도록 구성된 신뢰된 실행 환경(trusted execution environment: TEE) - 제한은 OS에 대해 그리고 OS 레벨에서 실행하는 모듈에 대해 실행됨 - 을 포함할 수 있다.

Description

보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트{MOBILE PLATFORM SOFTWARE UPDATE WITH SECURE AUTHENTICATION}
본 발명은 모바일 플랫폼용 보안 운영 체제 및 펌웨어 업데이트에 관한 것으로서, 더 구체적으로는 신뢰된 하드웨어 기반 인증(authentication)을 이용한 모바일 플랫폼용 보안 운영 체제 및 펌웨어 업데이트에 관한 것이다.
예를 들어, 스마트폰과 같은 모바일 디바이스 및 플랫폼은 통상적으로 감소된 사용자 관여(user involvement)를 갖는 운영 체제(OS) 및 펌웨어(FW) 업데이트 또는 재설치를 위한 능력을 제공한다. 사용자 관여는 종종 아이콘을 클릭하는 것 또는 동의를 수락하는 것에 제한될 수 있다. 이 감소된 레벨의 관여는 편의성 및 향상된 사용자 경험을 제공할 수 있지만, 이는 보안 사용자 인증의 문제점을 처리하는 것에 실패하였다. 예를 들어, 도난된 전화기는 새로운 OS 또는 FW 이미지로 리플래시(re-flash)될 수 있어 권한이 없는(unauthorized) 사용자가 OS 로그인 스크린 또는 다른 사용자 인증 방법을 바이패스하게 하게 한다.
자동 무선(또는 오버-더-에어(Over-The-Air)) 소프트웨어 업데이트에 의한 부가의 문제점은 사용자 또는 원격 권한 부여된 관리자가 새로운 OS/FW 이미지가 기업의 요구에 부합하는데 필요한 모든 요구된 소프트웨어 컴포넌트를 포함한다는 것과 업데이트가 임의의 미리 행해진 변경을 롤백(roll back)하지 않았다는 것을 검증할 수 있는 메커니즘의 결여에 있다.
청구된 요지의 실시예의 특징 및 장점은 이하의 상세한 설명이 진행됨에 따라 그리고 유사한 도면 부호가 유사한 부분을 나타내는 도면의 참조시에 명백해질 것이다.
도 1은 본 발명에 따른 일 예시적인 실시예의 상위 레벨 시스템 다이어그램을 도시한다.
도 2는 본 발명에 따른 일 예시적인 실시예의 블록 다이어그램을 도시한다.
도 3은 본 발명의 예시적인 실시예에 따른 데이터 구조를 도시한다.
도 4는 본 발명에 따른 일 예시적인 실시예의 동작의 흐름도를 도시한다.
도 5는 네트워크 내의 본 발명의 예시적인 실시예에 따른 플랫폼을 도시하는 시스템 다이어그램을 도시한다.
도 6은 본 발명에 따른 다른 예시적인 실시예의 동작의 흐름도를 도시한다.
이하의 상세한 설명은 예시적인 실시예를 참조하면서 진행될 것이지만, 그 다수의 대안, 수정 및 변형이 당 기술 분야의 숙련자들에게 명백할 것이다.
일반적으로, 본 발명은 신뢰된 하드웨어 기반 인증을 사용하여 모바일 플랫폼 또는 디바이스 상에 운영 체제(OS) 및/또는 펌웨어(FW)를 포함하는 소프트웨어를 보안 방식으로 업데이트하기 위한 디바이스, 시스템 및 방법을 제공한다. 디바이스 상의 신뢰된 실행 환경(trusted execution environment: TEE)은 주요 소프트웨어 컴포넌트의 데이터베이스 및 보안 업데이트 애플리케이션 모듈을 호스팅한다. TEE는 OS 및 OS 레벨에서 실행하는 다른 모듈을 포함하여, TEE의 외부의 엔티티(entity)로부터 데이터베이스 및 보안 업데이트 애플리케이션 모듈의 모두로의 제어 액세스 및 데이터 액세스를 제한할 수 있다. 데이터베이스 내에서 식별된 주요 소프트웨어 컴포넌트는 디바이스의 보안 동작을 위해 필요에 따라 인식되는 이들 컴포넌트들일 수 있고, 보안 업데이트 애플리케이션 모듈은 소프트웨어 업데이트 이미지가 업데이트의 설치를 허용하기 전에 모든 이들 컴포넌트들을 포함하는 것을 보장할 수 있다. 보안 업데이트 애플리케이션 모듈은 업데이트를 설치하기 위한 사용자의 아이덴티티(identity) 및/또는 권한을 검증하는데 사용된 사용자 인증 정보를 또한 유지할 수 있다.
시스템은 업데이트 이미지 내에 포함된 소프트웨어 컴포넌트의 아이덴티티에 관해 디바이스에 질의하고 디바이스가 적절하게 구성된 것은 검증하기 위한 로컬 사용자 또는 원격 관리자를 위한 능력을 또한 제공할 수 있다.
용어 액세스 포인트(access point: AP)는 본 명세서에 사용될 때, 스테이션(STA) 기능성을 갖고 연계된 STA을 위한 무선 매체(wireless medium: WM)를 거쳐 분산 서비스에 액세스를 제공하는 임의의 엔티티로서 정의된다.
용어 퍼스널 기본 서비스 세트 제어 포인트(Personal basic service set Control Point: PCP)는 본 명세서에 사용될 때, 밀리미터파(mm-파) 네트워크의 제어 포인트로서 동작하는 STA로서 정의된다.
용어 무선 네트워크 제어기는 본 명세서에 사용될 때, 무선 네트워크의 PCP로서 그리고/또는 AP로서 동작하는 스테이션으로서 정의된다.
용어 "트래픽" 및/또는 "트래픽 스트림(들)"은 본 명세서에 사용될 때, STA와 같은 무선 디바이스들 사이의 데이터 흐름 및/또는 스트림으로서 정의된다. 용어 "세션"은 본 명세서에 사용될 때 직접 물리적 링크(예를 들어, 포워딩을 제외함)를 설정하는 한 쌍의 스테이션에 유지되거나 저장된 상태 정보로서 정의되고, 상태 정보는 세션을 기술하거나 정의할 수 있다.
용어 "무선 디바이스"는 본 명세서에 사용될 때, 예를 들어 무선 통신이 가능한 디바이스, 무선 통신이 가능한 통신 디바이스, 무선 통신이 가능한 통신 스테이션, 무선 통신이 가능한 휴대용 또는 비-휴대용 디바이스 등을 포함한다. 몇몇 실시예에서, 무선 디바이스는 컴퓨터와 일체형인 주변 디바이스 또는 컴퓨터에 결합된 주변 디바이스이거나 이들 주변 디바이스들을 포함할 수도 있다. 몇몇 실시예에서, 용어 "무선 디바이스"는 선택적으로 무선 서비스를 포함할 수 있다.
본 발명의 다양한 용례에서 사용될 수도 있다는 것이 이해되어야 한다. 본 발명은 이 관점에서 한정되는 것은 아니지만, 본 명세서에 개시된 회로 및 기술은 라디오 시스템(radio system)의 스테이션과 같은 다수의 장치에서 사용될 수 있다. 본 발명의 범주 내에 포함되도록 의도된 스테이션은 단지 예로서만, 무선 근거리 통신망(wireless local area network: WLAN) 스테이션, 무선 개인 통신망(wireless personal network: WPAN) 등을 포함한다.
몇몇 실시예는 예를 들어, 비디오 디바이스, 오디오 디바이스, 오디오-비디오(A/V) 디바이스, 셋탑 박스(Set-Top-Box: STB), 블루레이 디스크(Blu-ray disc: BD) 플레이어, BD 레코더, 디지털 비디오 디스크(Digital Video Disc: DVD) 플레이어, 고해상도(High Definition: HD) DVD 플레이어, DVD 레코더, HD DVD 레코더, 퍼스널 비디오 레코더(Personal Video Recorder: PVR), 브로드캐스트 HD 수신기, 비디오 소스, 오디오 소스, 비디오 싱크, 오디오 싱크, 스테레오 튜너, 브로드캐스트 라디오 수신기, 디스플레이, 평판 패널 디스플레이, 퍼스널 미디어 플레이어(Personal Media Player: PMP), 디지털 비디오 카메라(digital video camera: DVC), 디지털 오디오 플레이어, 스피커, 오디오 수신기, 오디오 증폭기, 데이터 소스, 데이터 싱크, 디지털 스틸 카메라(Digital Still Camera: DSC), 퍼스널 컴퓨터(Personal Computer: PC), 데스크탑 컴퓨터, 모바일 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 스마트폰, 디지털 텔레비전, 서버 컴퓨터, 핸드헬드 컴퓨터, 핸드헬드 디바이스, 개인 휴대 정보 단말(Personal Digital Assistant: PDA) 디바이스, 핸드헬드 PDA 디바이스, 온-보드 디바이스, 오프-보드 디바이스, 하이브리드 디바이스, 차량용 디바이스, 비-차량용 디바이스, 모바일 또는 휴대용 디바이스, 소비자 디바이스, 비-모바일 또는 비-휴대용 디바이스, 무선 통신 스테이션, 무선 통신 디바이스, 무선 AP, 유선 또는 무선 라우터, 유선 또는 무선 모뎀, 유선 또는 무선 네트워크, 무선 영역 통신망, 무선 비디오 영역 통신망(Wireless Video Area Network: WVAN), 근거리 통신망(Local Area Network: LAN), WLAN, PAN, WPAN, 현존하는 무선 HDTM 및/또는 무선-기가비트-얼라이언스(Wireless-Gigabit-Alliance: WGA) 사양 및/또는 그 미래 버전 및/또는 파생물에 따라 동작하는 디바이스 및/또는 네트워크, 현존하는 IEEE 802.11(IEEE 802.11-2007: 무선 LAN 매체 액세스 제어(Medium Access Control: MAC) 및 물리적 계층(Physical Layer: PHY) 사양) 표준 및 수정판("IEEE 802.11 표준"), 마이크로파 액세스를 위한 전세계 상호 운용성(Worldwide Interoperability for Microwave Access: WiMAX)을 위한 IEEE 802.16 표준, 장기 진화(Long Term Evolution: LTE) 및 장기 진화 어드밴스드(LTE-A)를 포함하는 3세대 파트너쉽 프로젝트(Third Generation Partnership Project: 3GPP) 및/또는 이들의 파생물에 따라 동작하는 디바이스 및/또는 네트워크, 상기 네트워크들의 부분인 유닛 및/또는 디바이스, 1방향 및/또는 2방향 라디오 통신 시스템, 셀룰러 라디오-전화 통신 시스템, 무선-디스플레이(Wireless-Display: WiDi) 디바이스, 휴대폰, 무선 전화기, 퍼스널 통신 시스템(Personal Communication System: PCS) 디바이스, 무선 통신 디바이스를 합체한 PDA 디바이스, 모바일 또는 휴대용 글로벌 포지셔닝 시스템(Global Positioning System: GPS) 디바이스, GPS 수신기 또는 송수신기 또는 칩을 합체한 디바이스, RFID 소자 또는 칩을 합체한 디바이스, 다중 입력 다중 출력(Multiple Input Multiple Output: MIMO) 송수신기 또는 디바이스, 단일 입력 다중 출력(Single Input Multiple Output: SIMO) 송수신기 또는 디바이스, 다중 입력 단일 출력(Multiple Input Single Output: MISO) 송수신기 또는 디바이스, 하나 이상의 내부 안테나 및/또는 외부 안테나를 갖는 디바이스, 디지털 비디오 브로드캐스트(Digital Video Broadcast: DVB) 디바이스 또는 시스템, 멀티-표준 라디오 디바이스 또는 시스템, 유선 또는 무선 핸드헬드 디바이스(예를 들어, BlackBerry, Palm Treo), 무선 응용 프로토콜(Wireless Application Protocol: WAP) 디바이스 등과 같은 다양한 디바이스 및 시스템과 함께 사용될 수 있다.
몇몇 실시예는 예를 들어, 무선 주파수(Radio Frequency: RF), 적외선(Infra Red: IR), 주파수-분할 멀티플렉싱(Frequency-Division Multiplexing: FDM), 직교 FDM(OFDM), 시분할 멀티플렉싱(Time-Division Multiplexing: TDM), 시분할 다중 접속(Time-Division Multiple Access: TDMA), 확장 TDMA(E-TDMA), 범용 패킷 무선 서비스(General Packet Radio Service: GPRS), 확장 GPRS, 코드-분할 다중 접속(Code-Division Multiple Access: CDMA), 광대역 CDMA(WCDMA), CDMA 2000, 단일-반송파 CDMA, 다중-반송파 CDMA, 다중-반송파 변조(Multi-Carrier Modulation: MDM), 이산 멀티-톤(Discrete Multi-Tone: DMT), Bluetooth
Figure 112014114286034-pct00001
, 글로벌 포지셔닝 시스템(GPS), Wi-Fi, Wi-Max, 무선 도시권 통신망(Wireless Metropolitan Area Networks: WMAN), 무선 원거리 통신망(Wireless Wide Area Networks: WWAN), ZigBeeTM, 초광대역(UWB), 이동 통신을 위한 글로벌 시스템(Global System for Mobile communication: GSM), 2G, 2.5G, 3G, 3.5G, GSM 진화를 위한 향상된 데이터 레이트(Enhanced Data rates for GSM Evolution: EDGE) 등과 같은 하나 이상의 유형의 무선 통신 신호 및/또는 시스템과 함께 사용될 수 있다.
몇몇 실시예는 예를 들어 "피코넷(piconet)", 예로서 무선 영역 통신망, WVAN, WPAN 등과 같은 적합한 제한-거리 또는 단거리 무선 통신 네트워크와 함께 사용될 수 있다.
도 1은 본 발명에 따른 일 예시적인 실시예의 상위 레벨 시스템 다이어그램(100)을 도시한다. 신뢰된 또는 보안 서버일 수 있는 업데이트 서버(102)는 이하에 더 상세히 설명되는 바와 같이 보안 인증 및 업데이트 능력을 갖는 모바일 플랫폼(104)에 소프트웨어 업데이트를 제공할 수 있다. 모바일 플랫폼(104)은 예를 들어 스마트폰, 랩탑 또는 태블릿과 같은 임의의 유형의 모바일 또는 무선 통신 디바이스일 수 있다. 소프트웨어 업데이트는 임의의 수의 모바일 플랫폼(104)에 무선으로 제공될 수 있다. 몇몇 실시예에서, 업데이트는 플랫폼(104)으로부터의 요청에 대한 응답으로서 또는 서버(102)로부터 "푸시"로서 제공될 수 있는데, 즉 서버는 업데이트 전송을 스케쥴링하거나 개시한다. 플랫폼(104)은 서버(102)에 응답을 송신할 수 있다. 응답은 업데이트가 성공적이었다는 것 또는 문제점을 지시할 수 있다는 것을 검증할 수 있다. 문제점은 예를 들어 주요 소프트웨어 컴포넌트들이 업데이트 이미지로부터 누락되어 있는 것 또는 사용자 아이덴티티가 검증될 수 없는 것을 포함할 수 있다.
도 2는 본 발명에 따른 일 예시적인 실시예의 블록 다이어그램(200)을 도시한다. 업데이트 서버(102) 및 모바일 플랫폼(104)이 더 상세히 도시되어 있다. 모바일 플랫폼(104)은 신뢰된 사용자 인증 모듈(trusted user authentication module: TUAM)(210), 이미지 업데이트 및 질의 모듈(212), 사용자 인터페이스(208), 신뢰된 실행 환경(TEE)(214), 보안 업데이트 애플리케이션 모듈(216) 및 소프트웨어 주요 컴포넌트 데이터베이스(software critical component database: SCCD)(218)를 포함하는 것으로 도시되어 있다.
TEE(214)는 보안 업데이트 애플리케이션 모듈(216) 및 소프트웨어 주요 컴포넌트 데이터베이스(SCCD)(218)가 상주하고 동작할 수 있는 보안 환경을 제공한다. 소프트웨어 업데이트에 관련되지 않는 다른 보안 애플리케이션 모듈(222)이 또한 TEE 내에 상주할 수도 있다. 부가적으로, TEE(214)는 부호화, 복호화 및 인증 동작의 적어도 부분을 핸들링할 수 있다. 몇몇 실시예에서, TEE(214)는 FW 계층에 상주하는 것으로 고려될 수도 있다. TEE(214)는 예를 들어 OS 및 OS 레벨 또는 계층에서 동작하는 다른 비-신뢰된 애플리케이션과 같은 TEE 외부에 있는 다른 엔티티로부터 보안 및 격리를 제공한다. OS 레벨은 일반적으로 소프트웨어의 다중-계층 추상화 모델에서 덜 보안적이고 더 용이한 수정된 소프트웨어의 모듈인 것으로 고려될 수 있고, 일반적으로 하위 레벨(더 보안성) 펌웨어와 더 상위 레벨(덜 보안성) 사용자 애플리케이션 사이에 상주한다. 격리는 외부 엔티티가 보안 프로세싱 모듈(216, 222)에 대한 제어를 실시하는 것 또는 SCCD(212)에 저장된 데이터로의 액세스를 얻는 것을 방지할 수 있다. 몇몇 실시예에서, TEE(214)는 예를 들어 모바일 플랫폼(104)과 연계된 IC로부터 분리된 집적 회로(IC)와 같은 개별 물리적 하드웨어를 포함할 수 있다. 몇몇 실시예에서, TEE(214)는 모바일 플랫폼(104)과 공유되는 IC 내의 개별 제어기 또는 프로세서를 포함할 수 있다. 몇몇 실시예에서, TEE(214)는 모바일 플랫폼(104)과 공유된 제어기 또는 프로세서 내의 개별 도메인을 포함할 수 있다.
하드웨어가 TEE(214)와 모바일 플랫폼(104) 사이에 공유되는 상황들을 포함하는 다양한 기술이 TEE(214)를 보안적으로 격리하는데 이용될 수 있다. 이들 기술은 공유된 프로세서와 연계된 특권화된 실행 모드 및 공유된 메모리와 연계된 액세스 보호 메커니즘을 포함할 수 있다.
소프트웨어 주요 컴포넌트 데이터베이스(SCCD)(218)는 디바이스의 보안 동작을 위해 필요에 따라 인식되는 이들 소프트웨어 컴포넌트를 식별하도록 제공될 수 있고, 보안 업데이트 애플리케이션 모듈(216)은 보안 업데이트 이미지가 업데이트의 설치를 허용하기 전에 모든 이들 컴포넌트들을 포함하는 것을 보장할 수 있다. 이는 이하에 더 상세히 설명되는 바와 같이 SCCD(218) 내의 정보에 대해 이미지와 연계된 헤더 내에 포함된 정보를 체크함으로써 성취될 수 있다. 보안 업데이트 애플리케이션 모듈은 또한 업데이트를 설치하기 위한 사용자의 권한 및/또는 아이덴티티를 검증하는데 이용되는 사용자 인증 정보를 유지할 수 있다. 사용자 인증 정보는 예를 들어 패스워드 또는 임의의 다른 유형의 인증 정보를 포함할 수 있다.
OS 계층에서 실행할 수 있는 신뢰된 사용자 인증 모듈(TUAM)(210)은 사용자 인터페이스(208)를 통해 사용자에 의해 공급된 자격증명(credential)에 대해 보안 업데이트 애플리케이션 모듈(216)에 의해 TEE(214) 내에 유지된 인증 정보에 기초하여 사용자의 아이덴티티를 인증하도록 제공된다. 사용자 인증은 소프트웨어 업데이트의 설치 전에 요구될 수도 있다. 몇몇 실시예에서, 디바이스는 인증이 소프트웨어 업데이트 후에 사전 결정된 시간 이내에 수행되지 않으면 디스에이블링되거나(disabled) 또는 제한된 기간 동안 또는 감소된 능력을 갖고 동작하는 것이 허용될 수 있다.
OS 계층에서 또한 실행할 수도 있는 이미지 업데이트 및 질의 모듈(212)은 소프트웨어 업데이트 이미지(220)를 수신하고 응답(224)을 제공하기 위해 업데이트 서버(102)와 인터페이스하도록 제공된다. 모바일 플랫폼(104)과 업데이트 서버(102) 사이의 통신은 무선으로 성취될 수 있다. 이미지 업데이트 및 질의 모듈(212)은 또한 업데이트 이미지 내에 포함된 소프트웨어 컴포넌트의 아이덴티티에 관해 디바이스에 질의하고 그 디바이스가 적절하게 구성되었는지를 검증하기 위한, 로컬 사용자 또는 원격 권한부여된 관리자를 위한 능력을 제공할 수 있다.
업데이트 서버(102)는 보안 업데이트 서버 에이전트(202) 및 보안 업데이트 서버 엔진(204)을 포함하는 것으로 도시되어 있다. 몇몇 실시예에서, 보안 업데이트 서버 엔진(204)은 일반적으로 모바일 플랫폼 또는 디바이스를 위한 소프트웨어 업데이트 이미지의 구성에 채용되고 이용 가능해질 수 있는 소프트웨어 서브루틴 또는 함수의 라이브러리를 포함할 수 있다. 이 라이브러리는 따라서 표준화와 연계된 장점을 제공할 수 있다. 대조적으로, 보안 업데이트 서버 에이전트(202)는 제3 자 애플리케이션 개발자에 의해 제공되고, 개발되거나 유지될 수 있고, 특정 모바일 플랫폼을 위해 구성된 소프트웨어 업데이트 이미지를 생성하도록 구성될 수 있다.
도 3은 본 발명의 예시적인 실시예에 따른 데이터 구조(300)를 도시한다. 소프트웨어 업데이트 이미지(220)는 다수의 소프트웨어 컴포넌트를 포함하는 것으로 도시되어 있고, 이들 중 일부 또는 모두는 주요 컴포넌트일 수 있다. 컴포넌트들은 2원 실행한 헤더(304) 및 디지털 서명(306)일 수 있는 FW 또는 SW 이미지(302)를 포함한다. 부호화된 서명일 수 있는 디지털 서명(306)이 컴포넌트의 완전성을 검증하는데 사용되고, 컴포넌트는 신뢰된 소스에 의해 제공된다. 몇몇 실시예에서, 헤더(304)는 비-주요 컴포넌트에 대해 생략될 수도 있다. 헤더(304)는 컴포넌트를 식별하는 애플리케이션 ID(308), 컴포넌트의 존재 또는 부재(absence)를 지시하기 위한 존재 플래그(310), 및 선택적으로 컴포넌트과 연계된 애플리케이션 특정 데이터(312)를 위한 영역을 포함하는 것으로 도시되어 있다. 헤더 내의 ID(308) 및 존재 플래그(310) 정보는 소프트웨어 업데이트 이미지가 업데이트의 설치를 허용하기 전에 모든 주요 컴포넌트를 포함하는 것을 보장하도록 보안 업데이트 애플리케이션 모듈(216)에 의해 SCCD(218) 내의 정보에 대해 정합될 수 있다.
도 4는 본 발명에 따른 일 예시적인 실시예의 동작의 흐름도(400)를 도시한다. 동작 402에서, 소프트웨어 업데이트 이미지가 다운로드된다. 다운로드는 업데이트 서버로부터 모바일 플랫폼으로 무선으로 성취될 수 있다. 동작 404에서, 플랫폼 또는 디바이스가 잠금되어(locked) 있는지를 판정하기 위한 체크가 수행되고, 만일 잠금되어 있으면 이미지 업데이트는 동작 414에서 거절되거나 연기된다. 동작 406에서, 소프트웨어 업데이트 이미지 또는 이미지 내에 포함된 컴포넌트의 디지털 서명이 검증된다. 검증이 실패하면, 이미지 업데이트는 동작 414에서 거절되거나 연기된다. 동작 408에서, 소프트웨어 업데이트 이미지 내의 헤더는 모든 주요 소프트웨어 컴포넌트의 존재를 검증하도록 체크된다. 체크는 디바이스를 위한 주요 컴포넌트를 식별하는 데이터베이스에 대한 정합으로서 수행될 수 있다. 체크가 실패하면, 이미지 업데이트는 동작 414에서 거절되거나 연기되고, 그렇지 않으면 이미지 업데이트가 동작 412에서 허용된다.
도 5는 네트워크 내의 본 발명의 예시적인 실시예에 따른 플랫폼을 도시하는 시스템 다이어그램(500)을 도시한다. 플랫폼(104)은 예를 들어 스마트폰, 태블릿, 랩탑 컴퓨팅 디바이스 또는 무선 신호를 전송하거나 수신하도록 구성된 임의의 다른 디바이스와 같은 보안 인증 및 업데이트 능력을 갖는 모바일 통신 디바이스일 수 있다. 몇몇 실시예에서, 플랫폼(104)은 프로세서(508), 메모리(510), 입출력(I/O) 시스템(512), 디스플레이/키보드 또는 예를 들어 터치스크린과 같은 다른 유형의 사용자 인터페이스(user interface: UI)(514)를 포함할 수 있다. 플랫폼(104)은 전술된 바와 같이 TUAM(210), 이미지 업데이트 모듈(212) 및 TEE(214)를 또한 포함할 수 있다. 임의의 수의 플랫폼(104)이 무선 네트워크일 수 있는 네트워크(506)를 통해 업데이트 서버(102)에 신호를 전송하거나 수신할 수 있다.
도 6은 본 발명에 따른 다른 예시적인 실시예의 동작의 흐름도(600)를 도시한다. 동작 610에서, 소프트웨어 이미지가 업데이트 서버로부터 수신된다. 소프트웨어 이미지는 하나 이상의 다운로드된 소프트웨어 컴포넌트를 포함한다. 동작 620에서, 주요 컴포넌트 데이터베이스가 제공된다. 데이터베이스는 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하도록 구성된다. 데이터베이스는 디바이스 상의 운영 체제 레벨에서 실행하는 소프트웨어에 대해 액세스 제한을 실행하도록 구성된 TEE 내에 유지된다. 동작 630에서, 다운로드 소프트웨어 컴포넌트는 데이터베이스 내의 주요 소프트웨어 컴포넌트에 정합된다. 정합은 TEE에서 수행된다. 동작 640에서, 소프트웨어 이미지는 정합의 결과에 기초하여 디바이스 상에 설치된다.
본 명세서에 설명된 방법의 실시예는 하나 이상의 프로세서에 의해 실행될 때 방법을 수행하는 인스트럭션이 개별적으로 또는 조합하여 그 위에 저장되어 있는 하나 이상의 저장 매체를 포함하는 시스템 내에 구현될 수 있다. 여기서, 프로세서는 예를 들어 시스템 CPU(예를 들어, 코어 프로세서) 및/또는 프로그램가능 회로를 포함할 수 있다. 따라서, 본 명세서에 설명된 방법에 따른 동작은 다수의 상이한 물리적 위치에서 프로세싱 구조체와 같은 복수의 물리적 디바이스를 가로질러 분산될 수 있는 것으로 의도된다. 또한, 당 기술 분야의 숙련자에 의해 이해될 수 있는 바와 같이 방법 동작들은 개별적으로 또는 하위조합으로 수행될 수 있는 것으로 의도된다. 따라서, 각각의 흐름도의 모든 동작이 수행되어야 하는 것은 아니고, 본 발명은 이러한 동작의 모든 하위조합이 당 기술 분야의 숙련자에 의해 이해될 수 있는 바와 같이 인에이블링되는(enabled) 것을 명시적으로 의도한다.
저장 매체는 예를 들어, 플로피 디스크, 광학 디스크, 콤팩트 디스크 판독-전용 메모리(CD-ROM), 콤팩트 디스크 재기록가능(CD-RS), 디지털 다기능 디스크(DVD) 및 자기-광학 디스크, 판독-전용 메모리(ROM)와 같은 반도체 디바이스, 동적 및 정적 RAM과 같은 랜덤 액세스 메모리(RAM), 소거가능 프로그램가능 판독-전용 메모리(EPROM), 전기 소거가능 프로그램가능 판독-전용 메모리(EEPROM), 플래시 메모리, 자기 또는 광학 카드, 또는 전자 인스트럭션을 저장하는데 적합한 임의의 유형의 매체를 포함하는 임의의 유형의 디스크와 같은 임의의 유형의 탠저블 매체를 포함할 수도 있다.
"회로"는 본 명세서의 임의의 실시예에 사용될 때, 예를 들어 단독으로 또는 임의의 조합으로, 하드웨어 회로, 프로그램가능 회로, 상태 머신 회로, 및/또는 프로그램가능 회로에 의해 실행된 인스트럭션을 저장하는 펌웨어를 포함할 수도 있다. 앱(app)이 호스트 프로세서 또는 다른 프로그램가능 회로와 같은 프로그램가능 회로 상에서 실행될 수 있는 코드 또는 인스트럭션으로서 구체화될 수도 있다. 모듈은 본 명세서의 임의의 실시예에서 사용될 때, 회로로서 구체화될 수 있다. 회로는 집적 회로칩과 같은 집적 회로로서 구체화될 수 있다.
따라서, 본 발명은 신뢰된 하드웨어 기반 인증을 이용한 모바일 플랫폼을 위한 보안 운영 체제 및 펌웨어 업데이트를 위한 디바이스, 방법, 시스템 및 컴퓨터 판독가능 저장 매체를 제공한다. 이하의 부가의 예시적인 실시예들이 제공될 수도 있다.
예 1은 업데이트 서버로부터 소프트웨어 업데이트 이미지를 수신하도록 구성된 이미지 업데이트 모듈을 포함할 수 있는 디바이스이고, 이미지 업데이트 모듈은 OS 레벨에서 실행한다. 본 예의 디바이스는 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하도록 구성된 주요 컴포넌트 데이터베이스를 또한 포함할 수 있다. 본 예의 디바이스는 디바이스 상의 소프트웨어 업데이트 이미지의 설치 전에 소프트웨어 업데이트 이미지 내의 주요 소프트웨어 컴포넌트의 포함을 검증하도록 구성된 보안 업데이트 애플리케이션 모듈을 더 포함할 수 있다. 본 예의 디바이스는 보안 업데이트 애플리케이션 모듈 및 주요 컴포넌트 데이터베이스에 대한 제어 액세스 및 데이터 액세스를 제한하도록 구성된 TEE를 더 포함할 수 있고 - 제한은 OS에 대해 그리고 OS 레벨에서 실행하는 모듈에 대해 실행된다.
예 2는 예 1의 요지를 포함하고, 상기 구성요소들과 TEE 내에 유지된 인증 정보에 기초하여 디바이스의 사용자를 인증하도록 구성된 TUAM을 또한 포함한다.
예 3은 예 1 또는 2 중 하나의 요지를 포함하고, 또한 인증 정보가 패스워드이고 그리고/또는 인증이 소프트웨어 업데이트 이미지의 설치 전에 수행되는 다른 예시적인 디바이스이다.
예 4는 예 1 또는 2 중 하나의 요지를 포함하고, 또한 이미지 업데이트 모듈이 포함 검증의 실패를 업데이트 서버에 보고하고 그리고/또는 질의의 수신에 응답하여 소프트웨어 업데이트 이미지 내에 포함된 컴포넌트들의 아이덴티티를 보고하도록 더 구성되는 다른 예시적인 디바이스이다.
예 5는 예 1 또는 2 중 하나의 요지를 포함하고, 또한 보안 업데이트 애플리케이션 모듈이 소프트웨어 업데이트 이미지와 연계된 디지털 서명을 검증하도록 더 구성되는 다른 예시적인 디바이스이다.
예 6은 업데이트 서버로부터 소프트웨어 이미지를 수신하는 단계를 포함할 수 있고, 소프트웨어 이미지는 하나 이상의 다운로드된 소프트웨어 컴포넌트를 포함하는 방법이다. 본 예의 방법은 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하도록 구성된 주요 컴포넌트 데이터베이스를 제공하는 단계를 또한 포함할 수 있고, 데이터베이스는 TEE 내에 유지되고, TEE는 디바이스 상의 운영 체제 레벨에서 실행하는 소프트웨어에 대해 액세스 제한을 실행하도록 구성된다. 본 예의 방법은 다운로드된 소프트웨어 컴포넌트를 주요 소프트웨어 컴포넌트에 정합하는 단계를 더 포함할 수 있고, 정합은 TEE 내에서 수행된다. 본 예의 방법은 정합의 결과에 기초하여 디바이스 상에 소프트웨어 이미지를 설치하는 단계를 더 포함할 수 있다.
예 7은 예 6의 요지를 포함하고, 또한 디바이스가 잠금 상태(locked state)에 있다는 판정에 응답하여 소프트웨어 이미지 업데이트를 거절하는 단계를 더 포함한다.
예 8은 예 6 또는 7 중 하나의 요지를 포함하고, 소프트웨어 이미지와 연계된 디지털 서명을 검증하는 것의 실패에 응답하여 소프트웨어 이미지 업데이트를 거절하는 단계 및/또는 TEE 내에 유지된 인증 정보에 기초하여 디바이스의 사용자를 인증하는 것의 실패에 응답하여 소프트웨어 이미지 업데이트를 거절하는 단계를 포함하는 다른 예시적인 방법이다.
예 9는 예 6 내지 8 중 어느 하나의 요지를 포함하고, 정합의 실패를 업데이트 서버에 보고하는 단계 및/또는 질의의 수신에 응답하여 소프트웨어 이미지 내에 포함된 다운로드된 소프트웨어 컴포넌트의 아이덴티티를 보고하는 단계를 더 포함하는 다른 예시적인 방법이다.
예 10은 프로세서에 의해 실행될 때, 프로세서가 예 6 내지 9에 설명된 바와 같은 방법의 단계들을 수행하게 하는 인스트럭션이 그 위에 저장되어 있는 적어도 하나의 컴퓨터-판독가능 저장 매체이다.
예 11은 모바일 통신 플랫폼이다. 플랫폼은 프로세서와, 프로세서에 결합된 메모리와, 프로세서에 결합된 I/O 시스템과, I/O 시스템에 결합된 사용자 인터페이스를 포함할 수 있다. 본 예의 플랫폼은 업데이트 서버로부터 소프트웨어 업데이트 이미지를 수신하도록 구성된 이미지 업데이트 모듈을 또한 포함할 수 있고, 이미지 업데이트 모듈은 OS 레벨에서 실행한다. 본 예의 플랫폼은 플랫폼의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하도록 구성된 주요 컴포넌트 데이터베이스를 더 포함할 수 있다. 본 예의 플랫폼은 플랫폼 상의 소프트웨어 업데이트 이미지의 설치 전에 소프트웨어 업데이트 이미지 내의 주요 소프트웨어 컴포넌트의 포함을 검증하도록 구성된 보안 업데이트 애플리케이션 모듈을 더 포함할 수 있다. 본 예의 플랫폼은 보안 업데이트 애플리케이션 모듈 및 주요 컴포넌트 데이터베이스에 대한 제어 액세스 및 데이터 액세스를 제한하도록 구성된 TEE를 더 포함할 수 있고, 제한은 OS에 대해 그리고 OS 레벨에서 실행하는 모듈에 대해 실행된다.
예 12는 예 11의 요지를 포함하고, 상기 구성요소들 및 TEE 내에 유지된 인증 정보에 기초하여 플랫폼의 사용자를 인증하도록 구성된 TUAM을 또한 포함한다.
예 13은 예 11 또는 12 중 하나의 요지를 포함하고, 또한 인증 정보는 패스워드이고 그리고/또는 인증은 소프트웨어 업데이트 이미지의 설치 전에 수행되는 다른 예시적인 플랫폼이다.
예 14는 예 11 또는 12 중 하나의 요지를 포함하고, 또한 이미지 업데이트 모듈이 포함 검증의 실패를 업데이트 서버에 보고하고 그리고/또는 질의의 수신에 응답하여 소프트웨어 업데이트 이미지 내에 포함된 컴포넌트들의 아이덴티티를 보고하도록 더 구성되는 다른 예시적인 플랫폼이다.
예 15는 예 11 또는 12 중 하나의 요지를 포함하고, 또한 보안 업데이트 애플리케이션 모듈이 소프트웨어 업데이트 이미지와 연계된 디지털 서명을 검증하도록 더 구성되는 다른 예시적인 플랫폼이다.
예 16은 예 11 또는 12 중 하나의 요지를 포함하고, 플랫폼이 스마트폰, 랩탑 컴퓨팅 디바이스 또는 태블릿 중 하나이고, 사용자 인터페이스가 터치스크린인 다른 예시적인 플랫폼이고, 무선 네트워크를 통해 통신하도록 각각 구성된 복수의 플랫폼이 포함될 수 있다.
본 명세서에 이용되어 있는 용어 및 표현은 한정이 아니라 설명의 용어로서 사용되고, 이러한 용어 및 표현의 사용시에 도시되고 설명된 특징들(또는 이들의 부분)의 임의의 등가물의 배제의 의도는 없고, 다양한 수정이 청구범위의 범주 내에서 가능하다는 것이 인식된다. 이에 따라, 청구범위는 모든 이러한 등가물을 커버하도록 의도된다. 다양한 특징, 양태 및 실시예가 본 명세서에 설명되어 있다. 특징, 양태 및 실시예는 당 기술 분야의 숙련자들에 의해 이해될 수 있는 바와 같이, 서로의 조합 뿐만 아니라 변형 및 수정에 민감하다. 따라서, 본 발명은 이러한 조합, 변형 및 수정을 포함하는 것으로 고려된다.
102: 업데이트 서버
104: 모바일 플랫폼
208: 사용자 인터페이스
210: TUAM
212: 이미지 업데이트 및 질의 모듈
214: 신뢰된 실행 환경(TEE)
216: 보안 업데이트 애플리케이션 모듈
218: 소프트웨어 주요 컴포넌트 데이터베이스(SCCD)
220: 소프트웨어 업데이트 이미지
222: 보안 애플리케이션 모듈
224: 응답

Claims (36)

  1. 메모리 및 상기 메모리에 결합된 프로세서를 갖는 통신 디바이스로서,
    업데이트 서버로부터 소프트웨어 업데이트 이미지를 수신하는 이미지 업데이트 시스템 - 상기 이미지 업데이트 시스템은 운영 체제(operating system: OS) 레벨에서 실행함 - 과,
    상기 디바이스 상에서 동작하는 신뢰된 실행 환경(trusted execution environment: TEE) - 상기 TEE는, OS 및 상기 OS 레벨에서 실행하는 애플리케이션에 의한, 상기 TEE 내에서 동작하는 시스템에 대한 제어 액세스 및 데이터 액세스를 제한함 - 을 포함하되, 상기 TEE는,
    상기 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하는 데이터를 포함하는 주요 컴포넌트 데이터베이스 - 상기 식별하는 데이터는 상기 업데이트 서버로부터 상기 소프트웨어 업데이트 이미지가 수신되기 전에 상기 주요 컴포넌트 데이터베이스에 포함됨 - 와,
    상기 디바이스 상의 상기 소프트웨어 업데이트 이미지의 설치 전에 상기 식별하는 데이터를 사용하여 상기 소프트웨어 업데이트 이미지 내의 상기 주요 소프트웨어 컴포넌트의 포함을 검증하는 보안 업데이트 애플리케이션 시스템을 포함하는
    통신 디바이스.
  2. 제 1 항에 있어서,
    상기 TEE 내에 유지된 인증(authentication) 정보에 기초하여 상기 디바이스의 사용자를 인증하는 신뢰된 사용자 인증 시스템(trusted user authentication system)을 더 포함하는
    통신 디바이스.
  3. 제 1 항에 있어서,
    상기 주요 소프트웨어 컴포넌트 중 적어도 하나는 헤더를 포함하고,
    상기 헤더는 상기 컴포넌트를 식별하는 애플리케이션 ID, 및 상기 컴포넌트의 존재를 나타내는 존재 플래그를 포함하는
    통신 디바이스.
  4. 제 2 항에 있어서,
    상기 인증은 상기 소프트웨어 업데이트 이미지의 상기 설치 전에 수행되는
    통신 디바이스.
  5. 제 1 항에 있어서,
    상기 이미지 업데이트 시스템은 또한 상기 포함 검증의 실패를 상기 업데이트 서버에 보고하도록 구성되는
    통신 디바이스.
  6. 제 1 항에 있어서,
    상기 보안 업데이트 애플리케이션 시스템은 또한 상기 소프트웨어 업데이트 이미지와 연계된 디지털 서명을 검증하도록 구성되는
    통신 디바이스.
  7. 제 1 항에 있어서,
    상기 이미지 업데이트 시스템은 또한 질의의 수신에 응답하여 상기 소프트웨어 업데이트 이미지 내에 포함된 컴포넌트의 아이덴티티를 보고하도록 구성되는
    통신 디바이스.
  8. 통신 디바이스에 의해 수행되는, 상기 통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법으로서,
    업데이트 서버로부터 상기 소프트웨어 이미지를 수신하는 단계 - 상기 소프트웨어 이미지는 하나 이상의 다운로드된 소프트웨어 컴포넌트를 포함함 - 와,
    주요 컴포넌트 데이터베이스에 포함된 상기 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하는 식별 데이터에 상기 다운로드된 소프트웨어 컴포넌트를 정합(match)시키는 단계 - 상기 주요 컴포넌트 데이터베이스는 상기 디바이스 상에서 동작하는 신뢰된 실행 환경(TEE) 내에 유지되고, 상기 식별 데이터는 상기 업데이트 서버로부터 상기 소프트웨어 이미지가 수신되기 전에 상기 주요 컴포넌트 데이터베이스에 포함되고, 상기 TEE는 상기 디바이스 상의 운영 체제 레벨에서 실행하는 소프트웨어에 대해 제어 액세스 및 데이터 액세스의 제한을 실행하고, 상기 정합은 상기 디바이스 상의 상기 소프트웨어 이미지의 설치 전에 상기 식별 데이터를 사용하여 상기 소프트웨어 이미지 내의 상기 주요 소프트웨어 컴포넌트의 포함을 검증하도록 상기 TEE 내에서 수행됨 - 와,
    상기 정합의 결과에 기초하여 상기 디바이스 상에 상기 소프트웨어 이미지를 설치하는 단계를 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 디바이스가 잠금 상태(locked state)에 있다는 판정에 응답하여 상기 소프트웨어 이미지를 거절하는 단계를 더 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  10. 제 8 항에 있어서,
    상기 소프트웨어 이미지와 연계된 디지털 서명을 검증하는 것의 실패에 응답하여 상기 소프트웨어 이미지를 거절하는 단계를 더 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  11. 제 8 항에 있어서,
    상기 TEE 내에 유지된 인증 정보에 기초하여 상기 디바이스의 사용자를 인증하는 것의 실패에 응답하여 상기 소프트웨어 이미지를 거절하는 단계를 더 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  12. 제 8 항에 있어서,
    상기 정합의 실패를 상기 업데이트 서버에 보고하는 단계를 더 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  13. 제 8 항에 있어서,
    질의의 수신에 응답하여 상기 소프트웨어 이미지 내에 포함된 상기 다운로드된 소프트웨어 컴포넌트의 아이덴티티를 보고하는 단계를 더 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  14. 인스트럭션이 저장되어 있는 하나 이상의 컴퓨터-판독가능 저장 메모리로서,
    상기 인스트럭션은 프로세서에 의해 실행될 때, 통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위해,
    업데이트 서버로부터 상기 소프트웨어 이미지가 수신되게 하는 것 - 상기 소프트웨어 이미지는 하나 이상의 다운로드된 소프트웨어 컴포넌트를 포함함 - 과,
    주요 컴포넌트 데이터베이스에 포함된 상기 디바이스의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하는 식별 데이터에 상기 다운로드된 소프트웨어 컴포넌트를 정합(match)시키는 것 - 상기 주요 컴포넌트 데이터베이스는 상기 디바이스 상에서 동작하는 신뢰된 실행 환경(TEE) 내에 유지되고, 상기 식별 데이터는 상기 업데이트 서버로부터 상기 소프트웨어 이미지가 수신되기 전에 상기 주요 컴포넌트 데이터베이스에 포함되고, 상기 TEE는 상기 디바이스 상의 운영 체제 레벨에서 작동하는 소프트웨어에 대해 제어 액세스 및 데이터 액세스의 제한을 실행하고, 상기 정합은 상기 디바이스 상의 상기 소프트웨어 이미지의 설치 전에 상기 식별 데이터를 사용하여 상기 소프트웨어 이미지 내의 상기 주요 소프트웨어 컴포넌트의 포함을 검증하도록 상기 TEE 내에서 수행됨 - 과,
    상기 정합의 결과에 기초하여 상기 디바이스 상에 상기 소프트웨어 이미지가 설치되게 하는 것
    을 포함하는 동작을 초래하는
    컴퓨터-판독가능 저장 메모리.
  15. 모바일 통신 플랫폼으로서,
    프로세서와,
    상기 프로세서에 결합된 메모리와,
    상기 프로세서에 결합된 입출력(I/O) 시스템과,
    상기 I/O 시스템에 결합된 사용자 인터페이스와,
    업데이트 서버로부터 소프트웨어 업데이트 이미지를 수신하는 이미지 업데이트 시스템 - 상기 이미지 업데이트 시스템은 운영 체제(OS) 레벨에서 실행함 - 과,
    상기 플랫폼 상에서 동작하는 신뢰된 실행 환경(TEE) - 상기 TEE는, OS 및 상기 OS 레벨에서 실행하는 애플리케이션에 의한, 상기 TEE 내에서 동작하는 시스템에 대한 제어 액세스 및 데이터 액세스를 제한함 - 을 포함하되, 상기 TEE는,
    상기 플랫폼의 보안 동작과 연계된 주요 소프트웨어 컴포넌트를 식별하는 데이터를 포함하는 주요 컴포넌트 데이터베이스 - 상기 식별하는 데이터는 상기 업데이트 서버로부터 상기 소프트웨어 업데이트 이미지가 수신되기 전에 상기 주요 컴포넌트 데이터베이스에 포함됨 - 와,
    상기 플랫폼 상의 상기 소프트웨어 업데이트 이미지의 설치 전에 상기 식별하는 데이터를 사용하여 상기 소프트웨어 업데이트 이미지 내의 상기 주요 소프트웨어 컴포넌트의 포함을 검증하는 보안 업데이트 애플리케이션 시스템을 포함하는
    모바일 통신 플랫폼.
  16. 제 15 항에 있어서,
    상기 TEE 내에 유지된 인증 정보에 기초하여 상기 플랫폼의 사용자를 인증하는 신뢰된 사용자 인증 시스템을 더 포함하는
    모바일 통신 플랫폼.
  17. 제 15 항에 있어서,
    상기 주요 소프트웨어 컴포넌트 중 적어도 하나는 헤더를 포함하고,
    상기 헤더는 상기 컴포넌트를 식별하는 애플리케이션 ID, 및 상기 컴포넌트의 존재를 나타내는 존재 플래그를 포함하는
    모바일 통신 플랫폼.
  18. 제 16 항에 있어서,
    상기 신뢰된 사용자 인증 시스템은 또한 상기 소프트웨어 업데이트 이미지의 설치 전에 인증을 수행하도록 구성되는
    모바일 통신 플랫폼.
  19. 제 15 항에 있어서,
    상기 이미지 업데이트 시스템은 또한 상기 포함 검증의 실패를 상기 업데이트 서버에 보고하도록 구성되는
    모바일 통신 플랫폼.
  20. 제 15 항에 있어서,
    상기 보안 업데이트 애플리케이션 시스템은 또한 상기 소프트웨어 업데이트 이미지와 연계된 디지털 서명을 검증하도록 구성되는
    모바일 통신 플랫폼.
  21. 제 15 항에 있어서,
    상기 이미지 업데이트 시스템은 또한 질의의 수신에 응답하여 상기 소프트웨어 업데이트 이미지 내에 포함된 컴포넌트의 아이덴티티를 보고하도록 구성되는
    모바일 통신 플랫폼.
  22. 제 15 항에 있어서,
    상기 플랫폼은 스마트폰, 랩탑 컴퓨팅 디바이스 및 태블릿으로 구성되는 그룹으로부터 선택되는
    모바일 통신 플랫폼.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 제 14 항에 있어서,
    상기 동작은 상기 디바이스가 잠금 상태에 있다는 판정에 응답하여 상기 소프트웨어 이미지를 거절하는 것을 더 포함하는
    컴퓨터-판독가능 저장 메모리.
  31. 제 14 항에 있어서,
    상기 동작은 상기 소프트웨어 이미지와 연계된 디지털 서명을 검증하는 것의 실패에 응답하여 상기 소프트웨어 이미지를 거절하는 것을 더 포함하는
    컴퓨터-판독가능 저장 메모리.
  32. 제 14 항에 있어서,
    상기 동작은 상기 TEE 내에 유지된 인증 정보에 기초하여 상기 디바이스의 사용자를 인증하는 것의 실패에 응답하여 상기 소프트웨어 이미지를 거절하는 것을 더 포함하는
    컴퓨터-판독가능 저장 메모리.
  33. 제 14 항에 있어서,
    상기 동작은 상기 정합의 실패를 상기 업데이트 서버에 보고하는 것을 더 포함하는
    컴퓨터-판독가능 저장 메모리.
  34. 제 14 항에 있어서,
    상기 동작은 질의의 수신에 응답하여 상기 소프트웨어 이미지 내에 포함된 상기 다운로드된 소프트웨어 컴포넌트의 아이덴티티를 보고하는 것을 더 포함하는
    컴퓨터-판독가능 저장 메모리.
  35. 제 8 항에 있어서,
    상기 주요 소프트웨어 컴포넌트 중 적어도 하나는 헤더를 포함하고,
    상기 헤더는 상기 컴포넌트를 식별하는 애플리케이션 ID, 및 상기 컴포넌트의 존재를 나타내는 존재 플래그를 포함하는
    통신 디바이스를 위한 소프트웨어 이미지를 보안 업데이트하기 위한 방법.
  36. 제 14 항에 있어서,
    상기 주요 소프트웨어 컴포넌트 중 적어도 하나는 헤더를 포함하고,
    상기 헤더는 상기 컴포넌트를 식별하는 애플리케이션 ID, 및 상기 컴포넌트의 존재를 나타내는 존재 플래그를 포함하는
    컴퓨터-판독가능 저장 메모리.
KR1020147033156A 2012-06-29 2013-06-24 보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트 KR101702290B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/539,088 US9369867B2 (en) 2012-06-29 2012-06-29 Mobile platform software update with secure authentication
US13/539,088 2012-06-29
PCT/US2013/047413 WO2014004404A1 (en) 2012-06-29 2013-06-24 Mobile platform software update with secure authentication

Publications (2)

Publication Number Publication Date
KR20150005667A KR20150005667A (ko) 2015-01-14
KR101702290B1 true KR101702290B1 (ko) 2017-02-06

Family

ID=49778625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147033156A KR101702290B1 (ko) 2012-06-29 2013-06-24 보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트

Country Status (4)

Country Link
US (2) US9369867B2 (ko)
EP (1) EP2867813B1 (ko)
KR (1) KR101702290B1 (ko)
WO (1) WO2014004404A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110237234A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
JP2014021726A (ja) * 2012-07-18 2014-02-03 Canon Inc 配信装置、画像形成装置、システム、制御方法およびコンピュータプログラム
US8594850B1 (en) * 2012-09-30 2013-11-26 Nest Labs, Inc. Updating control software on a network-connected HVAC controller
CN102946604B (zh) * 2012-11-07 2017-02-08 中兴通讯股份有限公司 移动终端的版本保护方法及装置
WO2014106530A1 (de) * 2013-01-03 2014-07-10 Giesecke & Devrient Gmbh Verfahren zum laden einer aus mehreren komponenten bestehenden applikation in ein aus mehreren komponenten bestehenden gerätes
WO2014204363A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Method and an integrated circuit for executing a trusted application within a trusted runtime environment
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9161156B2 (en) 2013-07-31 2015-10-13 Sap Se Tiles in a mobile application framework
US9576153B2 (en) * 2013-08-23 2017-02-21 Cellco Partnership Device and method for providing information from a backend component to a frontend component by a secure device management abstraction and unification module
KR102132218B1 (ko) * 2013-09-24 2020-07-09 삼성전자 주식회사 신뢰하는 실행 환경에서의 보안 도메인 관리 방법 및 장치
US9264410B2 (en) 2014-06-05 2016-02-16 Sony Corporation Dynamic configuration of trusted executed environment resources
WO2015187175A1 (en) * 2014-06-06 2015-12-10 Hewlett-Packard Development Company, L.P. Action execution based on management controller action request
CN105335181A (zh) * 2014-08-06 2016-02-17 中兴通讯股份有限公司 一种实现ota升级的方法和终端
US10430589B2 (en) * 2015-03-19 2019-10-01 Intel Corporation Dynamic firmware module loader in a trusted execution environment container
US10104522B2 (en) * 2015-07-02 2018-10-16 Gn Hearing A/S Hearing device and method of hearing device communication
US9877123B2 (en) 2015-07-02 2018-01-23 Gn Hearing A/S Method of manufacturing a hearing device and hearing device with certificate
US10318720B2 (en) 2015-07-02 2019-06-11 Gn Hearing A/S Hearing device with communication logging and related method
US9887848B2 (en) 2015-07-02 2018-02-06 Gn Hearing A/S Client device with certificate and related method
US10158955B2 (en) 2015-07-02 2018-12-18 Gn Hearing A/S Rights management in a hearing device
US10158953B2 (en) * 2015-07-02 2018-12-18 Gn Hearing A/S Hearing device and method of updating a hearing device
DK201570433A1 (en) 2015-07-02 2017-01-30 Gn Hearing As Hearing device with model control and associated methods
DE102015216265A1 (de) * 2015-08-26 2017-03-02 Robert Bosch Gmbh Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug
US10146916B2 (en) 2015-11-17 2018-12-04 Microsoft Technology Licensing, Llc Tamper proof device capability store
EP3370449B1 (en) * 2015-11-25 2020-01-08 Huawei Technologies Co., Ltd. Method and device for configuring security indication information
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN108292340A (zh) * 2016-02-19 2018-07-17 惠普发展公司,有限责任合伙企业 在运行时间期间向安全数据存储设备安全地写入数据
US20180081666A1 (en) * 2016-03-11 2018-03-22 Oleksii Surdu Reliable and Secure Firmware Update for Internet of Things (IoT) Devices
US10097563B2 (en) * 2016-05-04 2018-10-09 Gbs Laboratories, Llc Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices
CN109923518B (zh) * 2016-10-31 2023-07-25 哈曼贝克自动系统股份有限公司 用于安全关键系统的软件更新机制
WO2018091093A1 (en) 2016-11-17 2018-05-24 Huawei Technologies Co., Ltd. Electronic device, software provisioning server and methods thereof
US10209981B2 (en) * 2016-11-21 2019-02-19 Nio Usa, Inc. Structure for updating software in remote device
US10416991B2 (en) * 2016-12-14 2019-09-17 Microsoft Technology Licensing, Llc Secure IoT device update
US10402273B2 (en) 2016-12-14 2019-09-03 Microsoft Technology Licensing, Llc IoT device update failure recovery
US10715526B2 (en) 2016-12-14 2020-07-14 Microsoft Technology Licensing, Llc Multiple cores with hierarchy of trust
CN108459950A (zh) * 2017-02-20 2018-08-28 宏碁股份有限公司 验证方法及验证装置
US10360020B2 (en) 2017-04-11 2019-07-23 Nio Usa, Inc. Virtual machine (VM) approach to embedded system hot update
EP3460700A1 (en) * 2017-09-22 2019-03-27 Banco Bilbao Vizcaya Argentaria, S.A. Authentication of software update modules using chameleon hashing.
US10871952B2 (en) * 2017-12-20 2020-12-22 Nio Usa, Inc. Method and system for providing secure over-the-air vehicle updates
WO2019120586A1 (en) * 2017-12-22 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method for restricting memory write access in iot devices
CN108306892B (zh) * 2018-03-01 2020-12-18 武汉大学 一种基于TrustZone的请求响应方法及系统
WO2019239191A1 (en) * 2018-06-14 2019-12-19 Sony Corporation Methods, wireless modules, electronic devices and server devices
CN109032634B (zh) * 2018-07-16 2021-11-26 北京百度网讯科技有限公司 用于更新应用的方法、装置、设备和计算机可读存储介质
CN110727966B (zh) * 2018-07-16 2021-11-16 Oppo广东移动通信有限公司 图像处理方法和装置、存储介质、电子设备
US10936295B2 (en) * 2018-11-01 2021-03-02 Dell Products L.P. Software update system
DE112019006586T5 (de) * 2019-01-08 2021-12-16 Hewlett Packard Enterprise Development Lp Absicherung von knotengruppen
CN110909346B (zh) * 2019-11-20 2021-12-10 北京理工大学 一种制造执行系统的管理方法及系统
CN113673000B (zh) * 2020-03-25 2024-03-08 支付宝(杭州)信息技术有限公司 Tee中可信程序的操作方法及装置
CN112566052B (zh) * 2020-11-30 2022-02-22 中国联合网络通信集团有限公司 一种终端的确定方法及装置
US20220366087A1 (en) * 2021-05-13 2022-11-17 AO Kaspersky Lab Systems and methods for verifying the integrity of a software installation image
CN114647453B (zh) * 2022-03-01 2023-06-09 芯原微电子(成都)有限公司 多处理器的可信动态启动方法、系统、存储介质及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130472A1 (en) * 2005-09-21 2007-06-07 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
US20080276301A1 (en) * 2007-05-03 2008-11-06 Pruthvi Panyam Nataraj Method and System for Software Installation

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826403B1 (en) * 2000-09-12 2004-11-30 Phonepages Of Sweden Ab Method and system for identifying a user
US7325246B1 (en) * 2002-01-07 2008-01-29 Cisco Technology, Inc. Enhanced trust relationship in an IEEE 802.1x network
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
FR2847756B1 (fr) * 2002-11-22 2005-09-23 Cegetel Groupe Procede d'etablissement et de gestion d'un modele de confiance entre une carte a puce et un terminal radio
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
WO2005001665A2 (en) * 2003-06-27 2005-01-06 Bitfone Corporation System and method for downloading update packages into a mobile handset in a carrier network
US8266676B2 (en) * 2004-11-29 2012-09-11 Harris Corporation Method to verify the integrity of components on a trusted platform using integrity database services
US20060143600A1 (en) 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US20080244553A1 (en) * 2007-03-28 2008-10-02 Daryl Carvis Cromer System and Method for Securely Updating Firmware Devices by Using a Hypervisor
JP2008305035A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd 装置、更新方法、および制御ソフト。
US9354864B2 (en) * 2008-05-08 2016-05-31 Dialogic Corporation Package header system and method to facilitate streaming a single firmware file upgrade
US20100011350A1 (en) * 2008-07-14 2010-01-14 Zayas Fernando A Method And System For Managing An Initial Boot Image In An Information Storage Device
US8607216B2 (en) 2008-08-01 2013-12-10 Palm, Inc. Verifying firmware
US8793758B2 (en) * 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
ES2773042T3 (es) 2009-05-04 2020-07-09 Nokia Solutions & Networks Oy Mecanismo para actualizar software
US8725122B2 (en) * 2009-05-13 2014-05-13 First Data Corporation Systems and methods for providing trusted service management services
US20110321024A1 (en) * 2010-06-28 2011-12-29 Nokia Corporation Method and apparatus for updating an executing application
US20120054734A1 (en) * 2010-08-31 2012-03-01 Apple Inc. Device software upgrade using a dynamically sized partition
US8522322B2 (en) * 2010-09-22 2013-08-27 Intel Corporation Platform firmware armoring technology
US8495731B1 (en) * 2010-10-01 2013-07-23 Viasat, Inc. Multiple domain smartphone
US9122492B2 (en) * 2010-10-25 2015-09-01 Wms Gaming, Inc. Bios used in gaming machine supporting pluralaties of modules by utilizing subroutines of the bios code
US8578376B2 (en) * 2011-01-04 2013-11-05 International Business Machines Corporation Automatically and securely configuring and updating virtual machines
US8966642B2 (en) * 2011-04-05 2015-02-24 Assured Information Security, Inc. Trust verification of a computing platform using a peripheral device
US9690941B2 (en) * 2011-05-17 2017-06-27 Microsoft Technology Licensing, Llc Policy bound key creation and re-wrap service
US8738915B2 (en) * 2011-06-30 2014-05-27 Dell Products L.P. System and method for establishing perpetual trust among platform domains
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US20130055335A1 (en) * 2011-08-22 2013-02-28 Shih-Wei Chien Security enhancement methods and systems
US8677343B2 (en) * 2011-09-16 2014-03-18 Cisco Technology, Inc. Centrally coordinated firmware upgrade model across network for minimizing uptime loss and firmware compatibility
US9075978B2 (en) * 2012-04-23 2015-07-07 Sap Se Secure configuration of mobile applications
US9319835B2 (en) * 2013-09-19 2016-04-19 Intel Corporation Securely managed location-and-tracking service access

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130472A1 (en) * 2005-09-21 2007-06-07 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
US20080276301A1 (en) * 2007-05-03 2008-11-06 Pruthvi Panyam Nataraj Method and System for Software Installation

Also Published As

Publication number Publication date
WO2014004404A1 (en) 2014-01-03
EP2867813B1 (en) 2018-01-17
US9953165B2 (en) 2018-04-24
US20160371493A1 (en) 2016-12-22
US20140004825A1 (en) 2014-01-02
EP2867813A4 (en) 2016-01-06
US9369867B2 (en) 2016-06-14
EP2867813A1 (en) 2015-05-06
KR20150005667A (ko) 2015-01-14

Similar Documents

Publication Publication Date Title
KR101702290B1 (ko) 보안 인증을 이용한 모바일 플랫폼 소프트웨어 업데이트
KR101671731B1 (ko) 센서 데이터 보안성을 갖는 모바일 플랫폼
US9524158B2 (en) Managing firmware updates for integrated components within mobile devices
US10477549B2 (en) Dynamic frequency selection for network hub with software defined radio
EP2850773B1 (en) System for protection and authentication of location services with distributed security
US10492045B2 (en) Dynamic provisioning of device configuration files for electronic subscriber identity modules
Weinmann Baseband Attacks: Remote Exploitation of Memory Corruptions in Cellular Protocol Stacks.
US9736678B2 (en) Tamper prevention for electronic subscriber identity module (eSIM) type parameters
EP3039897B1 (en) Adaptive security indicator for wireless devices
KR20160125427A (ko) 우선순위 액세스 채널에 대한 우선순위 액세스
EP3643086A1 (en) Systems and methods for delivering radio applications to reconfigurable radio equipment
JP6911303B2 (ja) 認証システム及び認証方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right