KR101063076B1 - 소프트웨어 업데이트 보안 방법 - Google Patents

소프트웨어 업데이트 보안 방법 Download PDF

Info

Publication number
KR101063076B1
KR101063076B1 KR1020057009728A KR20057009728A KR101063076B1 KR 101063076 B1 KR101063076 B1 KR 101063076B1 KR 1020057009728 A KR1020057009728 A KR 1020057009728A KR 20057009728 A KR20057009728 A KR 20057009728A KR 101063076 B1 KR101063076 B1 KR 101063076B1
Authority
KR
South Korea
Prior art keywords
update
key
list
asymmetric key
signature
Prior art date
Application number
KR1020057009728A
Other languages
English (en)
Other versions
KR20050088091A (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 KR20050088091A publication Critical patent/KR20050088091A/ko
Application granted granted Critical
Publication of KR101063076B1 publication Critical patent/KR101063076B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 비밀 대칭키에 의한 서명의 생성에 기초하여 복수의 디코더 내의 소프트웨어 업데이트를 안전하게 하는 방법을 제안한다.
디코더의 업데이트는 관리 센터로부터 패치 및 그 서명을 포함하는 데이터 블록을 다운로딩하는 것에 의해 수행되며, 이 블록은 RAM에 저장된다. 서명은 디코더의 제 1 비휘발성 메모리에 저장된 리스트로부터 현재의 공개키에 의해 해독되어 확인되고, 서명 확인이 이루어지면, 제 2 비휘발성 플래시 메모리에 패치를 설치하고 현재의 키를 비활성화한다.
본 발명의 목적은 디코더 소프트웨어의 작업의 체계적은 분석에 의해 비밀키를 발견하는 사태를 크게 감소시키거나 비밀키를 판정하는데 사용되는 프로세서에 필요한 시간 및 수단을 크게 증가시키는 것이다.

Description

소프트웨어 업데이트 보안 방법{METHOD FOR SECURING SOFTWARE UPDATES}
본 발명은 여러 시스템의 작업을 안전하게 하는 프로세싱 소프트웨어 업데이트 보안 방법에 관한 것이다. 특히 본 발명의 방법은 비대칭 암호화 알고리즘의 비밀키를 갖는 수치 서명 메커니즘(numerical signature mechanism)을 이용한다.
본 명세서에서 시스템은 비휘발성 메모리 내 또는 하드디스크 상에 저장된 하나 또는 여러 개의 소프트웨어 프로그램에 의존하는 기능을 하는 장치 또는 장치 세트로 정의된다. 사용자의 요구가 증가되는 것에 적응하도록 시스템의 기능이 개선되어야 하거나 완성되어야 하는 경우에, 흔히 시스템을 구성하는 모든 요소를 변경하지 않고 관련 소프트웨어를 업데이트하기만 하면 될 필요가 있다.
일반적으로, 주어진 소프트웨어의 업데이트는 이미 설치된 소프트웨어 파일을 교체하거나 이미 저장되어 있는 소프트웨어 파일을 완성하기 위해 새로운 파일을 추가함으로써 수행된다. 따라서, 어셈블리는 원하는 개량으로부터 이런 방법으로 이익을 누리는 시스템에 사전에 설치된 소프트웨어의 새로운 버전을 구성한다.
컴퓨터 및 그 주변 장치, 자동 판매기, 고정식 및 이동식 전화기, 유료 TV 디코더 등과 같은 다양한 장치들이 그들의 구성 및 특정 구성요소의 기능에 적응된 소프트웨어 프로그램에 의해 제어된다.
예를 들면, 유료 TV 디코더(셋톱 박스)에서, 프로세싱 소프트웨어는 하드디스크, 칩 카드 판독기, 데이터 수신 인터페이스 및 메모리와 같은 주변 장치를 제어한다. 구성 레벨 또는 기능 레벨에서 변경을 도입하기 위해, 때론 기존의 소프트웨어를 교체하거나 또는 디코더에 이미 설치되어 있는 소프트웨어를 개량할 필요가 있다. 이러한 유형의 개량은 소정 수의 사용자가 가입해 있는 오퍼레이터의 관리 센터에 의해 제공되는 업데이트 또는 패치라고 하는 소프트웨어 부분에 의해 발생한다. 이들 업데이트는 관리 센터에 의해 정기적으로 제공되며 필요한 권한을 소유한 각 가입자의 디코더로 다운로드된다.
WO 98/43431은 수신기/디코더로 애플리케이션을 다운로딩하는 방법을 기술하고 있다. 애플리케이션 소프트웨어는 모듈들로 분할되고 모듈의 다운로딩은 정해진 로컬 어드레스에서 디렉토리 모듈의 검색에 앞서 이루어진다. 단일 암호화가 애플리케이션을 형성하는 모든 모듈에 적용되는 방식으로 모듈이 서명되고 디렉토리 모듈이 서명되고 암호화된다. 몇몇 공개 암호화키는 수신기/디코더의 ROM(read only memory)에 저장된다. 따라서 각각의 비밀키의 정보를 요구하지 않고 상이한 소스에 의해 애플리케이션이 생성될 수 있다. 디렉토리 서명은 디렉토리 모듈의 임의의 데이터 블록 내의 가변 위치에 감추어질 수 있다. 다운로드될 애플리케이션은 수신기/디코더에 저장된 애플리케이션 확인 비트맵과 비교함으로써 검증될 수 있다.
WO 01/35670은 유료 TV 디코더로 전송된 정보 인증 방법을 개시하고 있다. 소프트웨어 객체 및 인증 데이터를 포함하는 별개의 데이터 구조는 두 객체 모두를 커버하는 글로벌 서명에 의해 수치적으로 서명된다. 이들 객체는 디코더로 개별적으로 전송된다. 디코더가 이들 객체를 수신하면, 서명이 검증된다.
일반적으로 디코더 사용자는 오퍼레이터와 디코더에 설치된 소프트웨어에 대해 정기적인 유지 서비스를 보장하는 가입 계약을 한다. 권한없는 복제 및 적합하지 않은 소프트웨어 구성요소의 유입과 같은 오용을 제한하기 위해, 디코더의 소프트웨어 업데이트를 안전하게 하는 것이 필수적이다. RSA 유형의 비대칭 암호화 알고리즘 키로 코딩된 다이제스트(digest)를 사용하는 방법이 공지되어 있다. 업데이트 소프트웨어는 단방향 해시 함수에 의해 획득된 다이제스트와 함께 온라인으로 제공된다. 이 다이제스트는 전체 업데이트를 나타내는 단일 이미지로 구성되며, 상이한 데이터를 갖는 두 개의 동일한 어셈블리에 두 개의 동일한 다이제스트는 절대로 존재하지 않는다. 다이제스트는 가입자 그룹과 관련된 오퍼레이터의 비밀키에 의해 암호화되는데, 이것은 이 그룹에 특유한 서명을 구성한다. 서명을 수반하는 소프트웨어는 디코더의 RAM(Random Access Memory)에 로딩된다. 디코더 소프트에어에 속하는 프로그램은 해시 함수(hash function)로 RAM에 저장된 소프트웨어의 다이제스트를 계산한다. 수신된 서명은 디코더 내에 포함된 공개키에 의해 해독되고, 그 후 사전에 계산된 소프트웨어 다이제스트와 비교된다. 만약 해독된 서명이 해시 함수에 의해 획득된 다이제스트와 일치하면, RAM에 저장된 업데이트를 수반하는 서명이 유효한 것으로 간주된다. 업데이트 소프트웨어는 디코더의 비휘발성 메모리(플래시 메모리)에 설치된다.
따라서 오퍼레이터의 비밀키에 해당하는, 디코더 내의 공개키로 서명을 검증 함으로써 보안 프로세스가 실행된다.
디코더 내에 존재하는 공개키 및 서명 검증을 허용하는 프로그램은 고정되어야 한다. 비밀키가 디코더의 공개키에 의존한다는 사실로 인해 서명의 인증이 보장된다. 비밀키는 소정의 오퍼레이터만 알고 있기 때문에, 서명은 재생될 수 없다. 또한, 서명은 잘 규정된 업데이트의 함수이므로, 여러 상이한 업데이트에 대해 동일한 서명이 이용될 수 없다. 그 내용이 RAM에서 수정되는 서명된 업데이트 소프트웨어는 공개키에 의해 해독된 서명으로 확인될 수 없는 또다른 다이제스트를 생성한다. 사실, 디코더의 레벨에서 업데이트 소프트웨어를 해싱하여 획득된 다이제스트는 서명 해독 후에 획득된 다이제스트와 다르다.
그러나, 이 보안 방법은 오퍼레이터의 비밀키 그 자체에 존재하는 약점을 포함한다. 사실상, 이 키가 제3자에게 알려지면, 어떠한 소프트웨어에도 서명할 수 있으므로 시스템의 수정을 남용하게 된다.
이 발견은 정확한 키 쌍이 발견될 때까지 제3자가 디코더로부터 추출한 공개키에 대해 반복하는 것에 의해 이루어질 수 있다. 디코더 소프트웨어의 동작을 변경시켜, 발견된 키로 생성된 서명을 거부하는 대응책은, 적합한 프로그램을 사용하는 것에 의해 이들 변경이 제3자에 의해 회피될 수 있기 때문에 불충분하다.
본 발명의 목적은 디코더 소프트웨어의 작업의 체계적인 분석에 의해 비밀키의 발견을 상당히 줄이거나 비밀키를 판정하는데 사용된 프로세스에 필요한 시간 및 수단을 크게 증가시키는 것이다.
이 목적은 독립항 1에 개시된 바와 같이, 복수의 장치에서 데이터 업데이트를 안전하게 하는 방법에 의해 달성된다.
업데이트 데이터는 패치 및 관리 센터로부터 비밀키로 암호화된 패치의 다이제스트로 구성된 서명을 포함하는 제어 블록의 형태로, 관리 센터에 의해 전송된다. 디코더는 이 데이터의 처리를 위해 RAM 메모리에 저장한다. 현재의 키(current key)라고도 하는 이 비밀키와 관련된 공개키가 패치 서명을 해독하기 위해 제1 비휘발성 메모리에 저장된 리스트로부터 선택된다. 해독 및 검증이 성공적인 경우에, 디코더의 제2 비휘발성 메모리(플래시) 내에 패치 설치를 지시하는 커맨드(command)가 실행된다. 이 방법에 사용된 현재의 키는 리스트 상에서 비활성화되며, 이것은 후속 키가 그 다음 업데이트에 이용가능하도록 만든다.
리스트로부터의 공개키에 의해 서명의 검증 및 디코더 업데이트의 해독이 이루어지면, 상기 키는 삭제되어 추가의 업데이트에 사용될 수 없다. 따라서, 각 업데이트에 새로운 키가 사용되고, 그 후 리스트에서 제거된다. 리스트로부터의 공개키 및 서명을 검증하는 역할을 하는 프로그램은 변경될 수 없어야 한다. 리스트만이 검증 프로그램에 의해 수정(사용된 키의 제거)될 수 있다.
전술한 방법은 비밀키를 발견한 제3자에 의한 디코더 수정의 가능성을 크게 감소시킬 수 있다. 키가 1회만 사용될 수 있기 때문에, 제3자는 단일 수정을 수행할 것이다. 결국, 제3자는 더 이상 유효한 비밀키를 소유하지 않아 장치에 액세스할 수 없기 때문에, 디코더를 해적 행위로부터 보호하기 위한 디코더 동작의 수정이 보다 효과적으로 된다.
비밀키의 수가 많기 때문에, 제3자는 발견된 키에 대응하는 업데이트에서 차단되는 것을 회피하기 위해 모든 키를 체계적으로 활성화해야 한다. 디코더의 소프트웨어의 개발은 빠르며 키들 중 하나가 발견되면 후속 업데이트는 제3자가 침입할 수 있었을 보안 갭을 채운다는 것을 고려하고 있음을 알 필요가 있다. 만약 제3자가 모든 후속 업데이트를 차단할 수 있으면, 디코더의 기능은 급속하게 뒤떨어지게 되며 따라서 오퍼레이터에게 중요한 침해를 하지 않게 된다.
이 상황에서 비대칭 키의 사용이 중요한데, 그 이유는 업데이트가 오퍼레이터의 비밀키에 의해 서명되어야 하기 때문에, 디코더로부터의 공개키의 추출이 수락할 수 있는 업데이트의 실행을 허용하지 않기 때문이다. 안전한 부분(오퍼레이터) 내에 비밀키를 두고 공개 영역 부분(디코더)에 공개키를 두는 것이 일반적이다. 그럼에도 불구하고, 본 발명의 기능에 손상을 주지 않고 이 키들을 반대로 할 수도 있다.
본 발명의 제 1 실시예는 사전 결정된 순서에 따라서 리스트로부터 선택된 공개키를 사용하는 것을 제안한다. 따라서, 각 키는 이전의 키가 사용되자마자 리스트로부터 선택된다.
본 발명은 첨부한 도면을 참고로 한 이하의 상세한 설명을 통해 잘 이해할 수 있을 것이다.
도 1은 버전 N으로부터 버전 N+1로의 디코더의 업데이트 프로세스의 진행을 도시한 도면.
도 2는 버전 N으로부터 버전 R로의 업데이트를 도시한 도면.
도 1에 도시한 예에서, 최초 버전의 디코더는 패치(P1)에 의해 버전 1로 업데이트된다. 이 패치(P1)는 오퍼레이터의 관리 센터에 의해 그것의 서명((H(P1))PK1)과 함께 디코더 쪽으로 전송된다. 이 패치(P1)을 디코더의 RAM으로 로딩하는 것에 의해 업데이트 프로세스가 시작된다.
서명((H(P1))PK1)은 오퍼레이터의 비밀키(PK1)로 패치(P1)의 다이제스트( H(P1))를 암호화하여 획득되며, 이 동작은 관리 센터에서 수행된다. 이 다이제스트는 오퍼레이터에 의해 패치(P1)에 단방향 해시 타입 함수(H)를 적용하여 계산된다.
디코더 소프트웨어는 수신된 서명((H(P1))PK1)을 공개키(K1)로 해독하여 패치의 다이제스트((HP1)1)을 획득한다. 동시에 이 소프트웨어는 RAM에 저장된 패치(P1)의 다이제스트(H(P1)2)를 계산한다. 서명의 해독으로부터 발생된 제1 다이제스트(H(P1)1)와 해시 함수(H)에 의한 계산 결과인 제2 다이제스트(H(P1)2)가 비교된다. 만약 두 값이 대응하면, 디코더의 비휘발성 플래시 메모리(FH)에 패치(P1)가 설치되어 디코더 소프트웨어의 업데이트를 수행한다. 서명을 해독하는데 사용된 공개키(K1)는 리스트로부터 삭제된다.
서명((H(P2))PK2)을 수반하는 새로운 패치(P2)의 형태로 관리 센터에 의해 전송된 버전 1을 버전 2로 업데이트하는 제2 업데이트는 동일한 다운로딩 및 검증 프 로세스를 거친다. 그러면 리스트로부터 취해진 새로운 공개키(K2)가 디코더에 의해 사용된다. 모든 후속하는 전송된 업데이트는 새로운 공개키가 리스트로부터 취해질 때마다 동일한 방법을 이용하여 검증된다. 이전의 업데이트 키는 삭제 또는 적절한 마킹(marking)에 의해 무효화된다.
이 프로세스를 적용함으로써, 버전 1로부터 버전 N으로의 소프트웨어 업데이트가 N-1 개의 단계에서 이루어진다. 관리 센터는 각 버전에 대해 특유한 비밀키에 의해 각각 암호화된 대응하는 N-1 개의 서명을 갖는 N-1 개의 패치를 전송한다. 따라서, 상이한 패치를 설치하면, 리스트로부터 N-1 개의 공개키가 무효화된다.
공개키 리스트는 예를 들어 EEPROM(Electrically Erasable Programmable Read-Only Memory) 유형의 비휘발성 메모리에 저장될 수 있다. 업데이트 동안에 키를 사용한 후에, 이 키는 그 다음 업데이트를 위한 후속 키에 액세스 권한을 부여하고 최종적으로는 EEPROM으로부터 삭제된다.
다른 실시예에 따르면, 공개키의 리스트가 키의 삭제 또는 마킹에 의해 변경되지 않는다. 비휘발성 메모리에 각 소프트웨어 버전 설치 후에, 카운터가 증가되거나 또는 포인터가 이동하여, 다음 업데이트 동안 리스트로부터 선택될 키의 위치를 나타낸다. 따라서, 각 업데이트에서, 패치의 서명을 해독하는 역할을 하는 키만이 지정되며, 카운터 또는 포인터는 위치가 증가하는 한 방향으로만 진행할 수 있기 때문에, 이전의 키는 선택에 더 이상 이용가능하지 않게 된다.
변형예에 따르면, 오퍼레이터의 비밀키에 의해 패치가 암호화될 수 있다. 따라서 부가적인 해독 단계가 전술한 프로세스에 추가된다. 수신되어 RAM으로 로 딩된 패치(P)는 서명 검증 역할을 하는 다이제스트의 해시 함수(H)에 의해 계산되기 전에 공개키에 의해 해독될 수 있다. 다이제스트의 계산은 또한 암호화된 형태로 패치에 대해 수행될 수 있다.
제3자에 의한 업데이트 설치는 각 버전의 변화가 현재의 키에 대한 정보를 요구한다는 사실로 인해 보다 어렵게 된다. 현재의 키는 각 업데이트에서 변하므로, 제3자가 상이한 업데이트를 수행하기 위해서는 모든 키를 알아야 한다.
전술한 프로세스는 여러 업데이트가 수행되어야 하는 시간 동안 디코더가 서비스 외에 있었던 경우에 문제가 발생할 수 있다. 새로운 버전의 번호가 이전 버전의 번호에 연속하지 않는 경우에, 구 소프트웨어 버전을 새 버전으로 변화(pass)시키는 것이 여러 연속하는 단계에서 순차적으로 수행된다. 이 단계들은 리스트로부터 차례로 연속하는 순서로 취해진 상이한 공개키를 사용한다. 패치 그 자체는 현재의 키 외의 키의 선택을 허용하는 커맨드를 포함하지 않는다. 만약 포함하면, 제3자는 이 커맨드를 사용하여 자신이 알고 있는 키를 사용하게 할 수 있을 것이다.
도 2는 소프트웨어 버전 N으로부터 버전 R로 변화하는 경우를 도시하는데, 여기서 새로운 버전과 이전 버전 사이의 차 R-N은 1보다 크다. 일반적인 방법은 독립 청구항 11에 개시되어 있다.
다음 예는 N=2 및 R=5의 경우를 설명한다.
버전 2 소프트웨어를 구비한 디코더는 새로운 버전 5의 서명((H(P))PK5)를 직 접 해독할 수 없다. 왜냐하면, 공개키 리스트에서 이용가능한 키는 바로 위의 버전의 키, 즉, K3이기 때문이다. 새로운 버전 5를 설치하기 위해서는, 디코더는 이 버전에 해당하는 키, 즉 K5에 대한 액세스를 획득할 수 있어야 한다.
이에 대한 솔루션은, 디코더의 소프트웨어를 키(PK5)로 서명된 버전 5로 업데이트하기 위한 패치(P)를 포함하는 데이터 플로(data flow)를 전송하는 데 있으며, 여기서 키 리스트로부터 각각 취해진 비밀키(PK1, PK2, PK3, PK4)로 암호화된 복수의 메시지(M1, M2, M3, M4)가 이 데이터 플로에 추가된다. RAM 메모리는 이들 메시지 및 서명((H(P))PK5)를 구비한 패치를 저장한다. 디코더의 버전이 2이면, 버전 1에서 2로의 업데이트 키는 이미 제 1 업데이트에 의해 비활성화된다. 그러면, 해독 역할을 하는 키 K1이 더 이상 이용가능하지 않기 때문에, 메시지 M1은 무시된다.
후속 메시지(M2, M3, M4)는 버전 5에 선행하는 중간 버전인 버전 2로부터 버전 4에 해당하는 공개키(K2, K3, K4)를 연속적으로 비활성화시키는 데 사용된다. 따라서, 비휘발성 플래시 메모리에 버전 5를 설치하기 위해, 리스트 내의 각 공개키(K2, K3, K4)는 무효화되거나 삭제된다. 올바른 키로 메시지를 해독하는 동안에, 이 메시지의 내용이 인식되고 현재의 키의 무효화 동작이 일어난다. 만약 메시지가 인식되지 않으면, 이것은 이 메시지의 암호화 키가 현재의 키가 아니라는 것을 의미한다.
메시지(M2, M3, M4)의 연속적이고 올바른 해독 후에, 패치((H(P))PK5) (및 패 치(P))의 서명의 해독에 필요한 키(K5)가 현재의 키가 된다. 후자는 또한 패치의 설치 후에 리스트로부터 삭제되고 키(K6)가 버전 5에서 버전 6으로의 후속 업데이트를 위한 리스트의 헤드에 존재할 것이다.
따라서 이 유형의 플로는 패치에 수반되는 키 변경 메시지로 인해 소프트웨어 버전에 관계없이 전체 디코더 그룹을 업데이트할 수 있다. 각각의 디코더는 구 키의 무효화 후의 현재의 버전의 업데이트를 해독할 수 있는 리스트 내의 공개키를 처리한다.
버전 N에서 버전 R로의 디코더 소프트웨어 업데이트 동안, R-N의 차가 예를 들어 10 이상으로 큰 경우라면, 버전 R-1의 디코더가 비활성화 순서를 검증하기 위해 모든 메시지를 체계적으로 해독하는 것이 지루하게 된다. 이 디코더는 현재의 키(R-1)를 이들 모든 메시지에 적용하여 그 내용을 해석할 수 없다는 것을 통지한다.
제1 솔루션은 상이한 버전의 번호에 대응하는 인덱스를 메시지 헤더 내에 도입하는 데 있다. 이 인덱스는 현재의 키 외의 키에 의해 암호화된 메시지의 해독을 회피하는 역할만 한다. 이 인덱스는 현재의 키의 위치를 선택하지 않고, 현재의 키에 의한 메시지의 성공적인 해독은 키 리스트 내의 한 위치의 진행을 유도한다.
제2 솔루션에 따르면, 업데이트 패치의 다이제스트는 이전의 업데이트의 모든 비밀키에 의해 성공적으로 암호화된다. 이 프로세스는 리스트 내의 각 공개키를 사용하여 연속적으로 서명을 해독하게 한다. 이전 경우와는 달리, 체인 내의 암호화의 이 경우에, 모든 공개키는 디코더의 EEPROM에서 이용가능하게 유지되어야 한다. 예를 들어, 버전 1에서 버전 N으로의 업데이트에 있어서, 패치(P)의 다이제스트는 버전 N의 비밀키로 암호화된다. 그 다음에 전체 세트가 버전 N-1의 비밀키로 암호화되고, 그 후에 버전 N-2의 키로 암호화되고, 버전 1까지 계속한다. 따라서 해독은 공개키 버전 1에서 버전 N의 업데이트에 대응하는 공개키(K1에서 KN-1)의 연속적인 사용을 요구한다. 이 반복 메커니즘의 중단은 해독 결과에서 적절한 마크의 인식에 의해 가능해진다.
만약 업데이트 데이터를 보호하고자 한다면, 예를 들어 관리 센터에 의해 무작위로 생성된 세션 키(SK)를 사용하는 방법이 있다. 동작 속도 때문에, 이 키는 대칭 유형이다. 관리 센터는 세션 키(SK)로 패치를 암호화하고 세션 키(SK) 및 업데이트 패치의 다이제스트를 포함하는 데이터 세트를 구성한다. 이 세트는 오퍼레이터의 현재의 비밀키에 의해 암호화되어 제어 블록을 구성한다.
암호화된 패치 및 제어 블록은 디코더의 RAM 메모리로 로딩된다. 이 블록은 리스트 상의 현재의 공개키에 의해 해독되며, 패치 다이제스트 및 세션키(SK)를 제공한다. 세션 키(SK)는 RAM에 로딩된 패치에 적용되어 그 해독을 한다. 그 다음에, 패치 다이제스트가 검증되고 일치하는 경우에 그 패치는 비휘발성 플래시 메모리에 설치된다.
세션 키는 예를 들어 다음과 같이, 전술한 변형예의 어느 하나의 추가의 보안 수단으로서 도입될 수 있다.
- 여러 단계에서 버전 1에서 버전 N으로의 단순한 업데이트
- 패치 및 키 비활성화 메시지로 버전 N에서 버전 R로의 업데이트
여러 차례 갱신된 디코더에서, 이용가능한 공개키의 수는 감소하는 반면에 비활성화된 키의 수는 성공적인 업데이트에 따라 증가한다. 장래의 업데이트를 허용하는 키 리스트를 재구성하기 위해, 관리 센터에 의해 새로운 공개키 리스트가 디코더로 전송될 수 있다. 이 리스트는 데이터 플로에 포함될 수 있으며 업데이트 패치의 경우에서와 같이 서명을 수반할 수 있다. 상기 리스트는 EEPROM 내에 저장되며 비활성화된 키를 포함하는 구 리스트를 대체한다.
본 발명의 방법의 변형예에 따르면, 관리 센터 및 디코더는 고정된 비밀키 및 공개키 리스트를 각각 처리한다. 각각의 업데이트를 위해, 관리 센터는 리스트 상의 비밀키 세트로부터 비밀키 세트를 무작위로 선택하고 이 세트의 각 키로 패치 다이제스트를 성공적으로 암호화한다. 관리 센터는 암호화된 다이제스트(서명) 및 이전에 선택된 키의 위치에 대응하는 일련의 번호를 포함하는 데이터 블록을 생성한다. 이 시리즈는 순수하게 전송되거나 세션키로 암호화될 수 있다. 이 시리즈를 수신하는 디코더는 공개키 리스트로부터 그들의 위치에 따라서 패치 다이제스트를 해독하는데 필요한 키를 선택한다. 이 리스트는 1회 이상 동일한 키 번호를 포함할 수 없고, 이 리스트의 길이(사용된 키의 수)는 공지되며 수정될 수 없다. 이 변형예에서, 키들의 리스트는 고정되며 성공적인 패치 설치 후에 변경되지 않는다. 각 업데이트에서, 패치 서명을 위해 리스트로부터 취해진 새로운 키 조합이 사용된다. 따라서, 제 3자는 업데이트를 장치에 도입하기 위해 항상 키 세트를 처리할 수도 있으며, 이것은 단일 키를 결정하는데 요구된 수단보다 더 중요한 수단을 요 구한다.
본 발명에 따른 업데이트 보안 프로세스는 공급자와 사용자 사이에 사용된 전송 모드와 관계없다. 사실, 이 프로세스는 CD-ROM, 디스크 또는 임의의 다른 디지털 데이터 저장 매체에 배포된 패치에 적용될 수도 있다.

Claims (21)

  1. 복수의 장치의 데이터의 업데이트를 보안하는 방법으로서,
    각각의 장치는 관리 센터로부터 업데이트(Pn)를 수신하고, 상기 업데이트(Pn)는 상기 장치가 최초 버전 N으로부터 다음 버전 N+1로 변화(pass)되게 하고,
    상기 업데이트(Pn)는 업데이트(Pn)와 연관된 하나 이상의 서명((H(Pn))PKn)을 포함하는 제어 블록을 수반하며, 상기 서명((H(Pn))PKn)은 관리 센터에 포함된 비대칭 키 리스트에서 선택된 비대칭 키(PKn)로 업데이트(Pn)의 다이제스트(H(Pn))를 암호화하여 얻어지고, 상기 비대칭 키에 대응하는 리스트는 상기 장치 내에 저장되어 있으며,
    상기 방법은,
    a. 상기 관리 센터에서 상기 키 리스트로부터의 현재의 비대칭 키(PKn)를 사용하는 단계,
    b. 업데이트(Pn) 및 상기 현재의 비대칭 키(PKn)로 암호화된 상기 업데이트의 서명((H(Pn))PKn)을 준비하여 상기 장치로 전송하는 단계 - 상기 전송은 상기 장치가 비대칭 키 리스트 내에서 대응하는 비대칭 키를 선택하는 지시(indication)을 포함하지 않음 - ,
    c. 상기 장치에서 상기 업데이트(Pn) 및 서명((H(Pn))PKn)을 수신하는 단계,
    d. 상기 장치의 대응하는 현재의 비대칭 키(Kn)를 사용하여 상기 서명((H(Pn))PKn)을 해독하고 상기 업데이트(Pn)의 제1 대기 다이제스트(H(Pn)1)를 획득하는 단계,
    e. 상기 업데이트(Pn)의 데이터에 대해 제2 다이제스트(H(Pn)2)를 계산하고 상기 제1 및 제2 다이제스트를 비교함으로써 상기 업데이트의 부합성(update conformity)을 검증하는 단계,
    f. 상기 검증 결과가 긍정인 경우, 수신된 업데이트(Pn)를 설치하는 단계,
    g. 상기 장치의 대응하는 현재의 비대칭 키(Kn)를 비활성화시키고, 다음번의 대응하는 현재의 비대칭 키(Kn+1)를 활성화시키는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제 2 다이제스트(H(Pn)2)는 해시 함수(hash function)의 결과이고, 상기 서명((H(Pn))PKn)을 검증하는 단계는 상기 수신된 업데이트(Pn)의 제2 다이제스트(H(Pn)2)를 설정하고, 상기 대응하는 현재의 비대칭 키(Kn)로 서명((H(Pn))PKn)의 해독 후에 획득된 상기 제1 다이제스트(H(Pn)1)와 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제어 블록은 상기 관리 센터에 의해 결정된 대칭 세션 키(SK)를 더 포함하며, 상기 대칭 세션 키(SK)는 상기 업데이트(Pn)의 데이터를 암호화하는데 사용되고, 상기 대칭 세션 키(SK)는 관리 센터의 현재의 비대칭 키(PKn)로 암호화되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 대응하는 현재의 비대칭 키(Kn)는 상기 장치에 의해 사용된 후에 상기 리스트로부터 파기되어, 상기 대응하는 현재의 비대칭 키(Kn)는 모든 후속 절차에 사용 불가능하게 되는 것을 특징으로 하는 방법.
  5. 제3항에 있어서,
    상기 리스트로부터의 상기 대응하는 현재의 비대칭 키(Kn)는 상기 검증 단계가 긍정인 경우 상기 장치에 의해 미리 결정된 순서로 순차적으로 사용되는 것을 특징으로 하는 방법.
  6. 제3항에 있어서,
    상기 대응하는 현재의 비대칭 키(Kn)의 리스트는 상기 장치의 비휘발성 메모리 내에 저장되고, 성공적으로 사용된 대응하는 현재의 비대칭 키(Kn)는, 추가적인 사용을 위해, 그 다음 키에 액세스 권한을 부여하고 최종적으로는 메모리로부터 삭제되는 것을 특징으로 하는 방법.
  7. 제3항에 있어서,
    상기 장치는 업데이트의 설치시에 상기 검증 단계가 긍정일 때마다 증가되는 카운터를 포함하는 것을 특징으로 하는 방법.
  8. 제3항에 있어서,
    상기 장치는 상기 리스트 내에서 선택될 현재의 비대칭 키(PKn)의 위치를 나타내는 포인터를 포함하며, 상기 포인터는, 상기 검증 단계가 긍정일 때마다 이동되는 것을 특징으로 하는 방법.
  9. 제6항에 있어서,
    상기 대응하는 현재의 비대칭 키(Kn)의 새로운 리스트가 상기 장치로 전송되고, 이전의 성공적인 업데이트에 의해 비활성화된 대응하는 현재의 비대칭 키를 포함하는 비휘발성 메모리에 저장된 리스트가 상기 새로운 리스트로 대체되는 것을 특징으로 하는 방법.
  10. 제3항에 있어서,
    상기 장치는 유료 텔레비전 디코더를 포함하는 것을 특징으로 하는 방법.
  11. 복수의 장치의 데이터의 업데이트를 보안하는 방법으로서 - 여기서, 복수의 장치 각각은 관리 센터로부터 업데이트(PR)를 수신하고, 상기 업데이트(PR)는 상기 장치가 초기 버전 N으로부터 최종 버전 R로 변화(pass)될 수 있도록 하고, 초기 버전과 최종 버전 간의 차(R-N)는 한 단위(one unit)를 초과하고, 상기 업데이트(PR)는 상기 업데이트(PR)와 관련된 서명((H(PR))PKR)을 포함하는 제어 블록을 수반하고, 상기 서명은 상기 업데이트(PR)의 다이제스트(H(PR))를 상기 관리 센터에 포함된 비대칭 키의 리스트에서 선택된 비대칭 키(PKR)로 암호화하여 얻어지며, 대응하는 비대칭 키의 리스트는 상기 장치 내에 저장되어 있음 - ,
    a. 상기 관리 센터에서 현재의 비대칭 키(PK1,...,PKR-1)로 각각 암호화된 복수의 메시지(M1,..., MR-1)를 준비하고, 상기 복수의 암호화된 메시지(M1, ..., MR-1)를 상기 장치로 전송하는 단계,
    b. 상기 장치에서 상기 복수의 암호화된 메시지(M1,..., MR-1)를 수신하고, 대응하는 현재의 비대칭 키(K1,...,KR-1)의 각각을 사용하여 상기 복수의 암호화된 메시지(M1,..., MR-1)의 각각을 해독하는 단계,
    c. 상기 장치에 의해 상기 메시지(M1,..., MR-1)의 부합성을 검증하는 단계,
    d. 상기 부합성의 검증 결과가 긍정인 경우, 상기 대응하는 현재의 비대칭 키(K1,..,KR-1)의 각각을 비활성화시키고, 업데이트(PR)의 버전(R)에 대응하는 현재의 비대칭 키(KR)를 활성화시키는 단계,
    e. 상기 관리 센터에서 업데이트(PR)와, 현재의 비대칭 키(PKR)로 암호화된 서명((H(PR))PKR)을 준비하여 상기 장치로 전송하는 단계 - 상기 전송은 상기 장치가 비대칭 키의 리스트 내에서 비대칭 키를 선택하는 지시를 포함하지 않음 - ,
    f. 상기 장치에서 상기 업데이트(PR) 및 서명((H(PR))PKR)을 수신하는 단계,
    g. 상기 대응하는 현재의 비대칭 키(KR)를 사용해 상기 서명((H(PR))PKR)을 해독하여 상기 업데이트(PR)의 제1 대기 다이제스트(H(PR)1)를 획득하는 단계,
    h. 상기 업데이트(PR)의 데이터에 대해 제2 다이제스트(H(PR)2)를 계산하고 상기 제1 및 제2 다이제스트를 비교함으로써 상기 업데이트(PR)의 부합성(update conformity)을 검증하는 단계,
    i. 상기 검증 단계가 긍정인 경우, 상기 수신된 업데이트(PR)를 설치하는 단계,
    j. 상기 장치의 대응하는 현재의 비대칭 키(KR)를 비활성화시키고, 그 다음의 대응하는 현재의 비대칭 키(KR+1)를 활성화시키는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 제2 다이제스트(H(PR)2)는 해시 함수의 결과이고, 상기 서명((H(PR))PKR)을 검증하는 단계는 상기 수신된 업데이트(PR)의 제2 다이제스트(H(PR)2)를 설정하고, 상기 서명((H(PR))PKR)을 대응하는 현재의 비대칭 키(KR)로 해독한 후 획득된 상기 제1 다이제스트(H(PR)1)와 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 제어 블록은 상기 관리 센터에 의해 결정된 대칭 세션 키(SK)를 더 포함하며, 상기 대칭 세션 키(SK)는 상기 업데이트(PR)의 데이터를 암호화하는데 사용되고, 상기 대칭 세션 키(SK)가 상기 현재의 비대칭 키(PKR)에 의해 암호화되는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 대응하는 현재의 비대칭 키(KR)는 상기 장치에 의해 사용된 후에 상기 리스트로부터 파기되어, 상기 대응하는 현재의 비대칭 키(KR)가 모든 후속 절차에서 사용 불가능한 것을 특징으로 하는 방법.
  15. 제13항에 있어서,
    상기 리스트로부터의 상기 대응하는 현재의 비대칭 키(KR)는 상기 검증 단계가 긍정인 경우 상기 장치에 의해 미리 결정된 순서로 순차적으로 사용되는 것을 특징으로 하는 방법.
  16. 제13항에 있어서,
    상기 대응하는 현재의 비대칭 키(KR)의 리스트는 상기 장치의 비휘발성 메모리 내에 저장되고, 성공적으로 사용된 상기 대응하는 비대칭 키(KR)는, 추가적인 사용을 위해, 그 다음번의 대응하는 비대칭 키에 액세스 권한을 부여하고 최종적으로는 상기 메모리로부터 삭제되는 것을 특징으로 하는 방법.
  17. 제11항에 있어서,
    상기 메시지(M1, ... MR-1)의 수(R-1)는, 상기 장치의 초기 버전 N과, 상기 업데이트(PR)의 최종 버전 R에서 1을 뺀 버전(R-1) 사이의 업데이트 버전의 수에 대응하는 것을 특징으로 하는 방법.
  18. 제13항에 있어서,
    상기 장치는 업데이트의 설치시에 상기 검증 단계가 긍정일 때마다 증가되는 카운터를 포함하는 것을 특징으로 하는 방법.
  19. 제13항에 있어서,
    상기 장치는 상기 리스트 내에서 선택될 현재의 비대칭 키(PKR)의 위치를 나타내는 포인터를 포함하며, 상기 포인터는, 상기 검증 단계가 긍정일 때마다 이동되는 것을 특징으로 하는 방법.
  20. 제11항에 있어서,
    대응하는 현재의 비대칭 키의 새로운 리스트가 상기 장치로 전송되고, 이전의 성공적인 업데이트에 의해 비활성화된 대응하는 현재의 비대칭 키를 포함하는 비휘발성 메모리에 저장된 리스트는, 상기 새로운 리스트로 대체되는 것을 특징으로 하는 방법.
  21. 제13항에 있어서,
    상기 장치는 유료 텔레비전 디코더를 포함하는 것을 특징으로 하는 방법.
KR1020057009728A 2002-12-03 2003-12-01 소프트웨어 업데이트 보안 방법 KR101063076B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CH20432002 2002-12-03
CH2043/02 2002-12-03
PCT/IB2003/005655 WO2004051983A1 (fr) 2002-12-03 2003-12-01 Méthode de sécurisation des mises à jour de logiciels

Publications (2)

Publication Number Publication Date
KR20050088091A KR20050088091A (ko) 2005-09-01
KR101063076B1 true KR101063076B1 (ko) 2011-09-07

Family

ID=32331835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057009728A KR101063076B1 (ko) 2002-12-03 2003-12-01 소프트웨어 업데이트 보안 방법

Country Status (12)

Country Link
US (1) US7440571B2 (ko)
EP (1) EP1570648B1 (ko)
KR (1) KR101063076B1 (ko)
CN (1) CN100342713C (ko)
AU (1) AU2003286298A1 (ko)
CA (1) CA2508424C (ko)
ES (1) ES2553985T3 (ko)
MX (1) MXPA05005695A (ko)
MY (1) MY140368A (ko)
PL (1) PL376560A1 (ko)
TW (1) TWI309379B (ko)
WO (1) WO2004051983A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019146812A1 (ko) * 2018-01-25 2019-08-01 엘지전자 주식회사 차량용 업데이트 시스템 및 제어 방법

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
EP1536606A1 (fr) 2003-11-27 2005-06-01 Nagracard S.A. Méthode d'authentification d'applications
MXPA06006837A (es) * 2003-12-15 2006-09-04 Theramex Derivados de 1-n-fenil-amino-ih-imidazol y composiciones farmaceuticas que los contienen.
EP1607821A1 (fr) * 2004-06-17 2005-12-21 Nagracard S.A. Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
EP1662788A1 (fr) * 2004-11-24 2006-05-31 Nagravision SA Unité de traitement de données audio/vidéo numériques et méthode de contrôle d'accès audites données
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8495389B2 (en) * 2005-12-16 2013-07-23 Safenet, Inc. Locking changing hard disk content to a hardware token
KR100659510B1 (ko) * 2006-02-16 2006-12-20 삼성전기주식회사 캐비티가 형성된 기판 제조 방법
CN100401309C (zh) * 2006-04-24 2008-07-09 南京熊猫电子股份有限公司 税控设备软件版本智能升级加密验证方法
KR20080052943A (ko) * 2006-12-08 2008-06-12 엘지전자 주식회사 이동통신단말기의 소프트웨어 업데이트방법
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
KR101425224B1 (ko) * 2007-11-19 2014-07-31 삼성전자주식회사 펌웨어 업그레이드를 위해 펌웨어를 복호화하는 장치 및방법
US8150039B2 (en) * 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
WO2009156302A1 (en) * 2008-06-23 2009-12-30 Nxp B.V. Electronic device and method of software or firmware updating of an electronic device
KR101029758B1 (ko) * 2008-12-31 2011-04-19 노틸러스효성 주식회사 펌웨어의 원격 업데이트 방법
FR2954651B1 (fr) * 2009-12-23 2012-03-16 Viaccess Sa Procede de mise a jour d'un processeur de securite, systeme, programme d'ordinateur et processeur de securite correspondants
US9417865B2 (en) * 2010-05-28 2016-08-16 Red Hat, Inc. Determining when to update a package manager software
CN102262549B (zh) * 2011-03-02 2014-10-15 奇智软件(北京)有限公司 补丁安装方法与系统
CN103262042B (zh) * 2011-12-19 2016-03-30 华为技术有限公司 一种分布式存储数据恢复方法、装置及系统
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US9715591B2 (en) 2012-07-30 2017-07-25 Hewlett-Packard Development Company, L.P. Code validation
CN103595530B (zh) * 2012-08-17 2017-04-26 华为技术有限公司 软件密钥更新方法和装置
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
CN104468153B (zh) * 2013-09-13 2018-10-30 华为技术有限公司 一种集群系统中的告警方法、设备及集群系统
US9270469B2 (en) 2014-02-20 2016-02-23 Xilinx, Inc. Authentication using public keys and session keys
US9698976B1 (en) * 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
CN104980410A (zh) * 2014-04-14 2015-10-14 领步科技集团有限公司 一种电能质量在线监测设备软件远程升级的加密方法
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器
US9830479B2 (en) * 2014-09-16 2017-11-28 Nxp Usa, Inc. Key storage and revocation in a secure memory system
US9910655B1 (en) * 2014-11-06 2018-03-06 Accellion, Inc. Secure content platform software developer kit
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
GB2538773A (en) * 2015-05-28 2016-11-30 Vodafone Ip Licensing Ltd Device key security
CN105207802B (zh) * 2015-08-13 2018-09-21 华为技术有限公司 节点的版本升级方法、装置和系统
US10191728B2 (en) * 2015-10-12 2019-01-29 Samsung Electronics Co., Ltd. System and method to reduce storage area usage of android application
US10033534B2 (en) 2015-12-01 2018-07-24 Intel Corporation Methods and apparatus to provide for efficient and secure software updates
US9584493B1 (en) 2015-12-18 2017-02-28 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9602477B1 (en) 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
WO2018078406A1 (en) * 2016-10-31 2018-05-03 Harman Becker Automotive Systems Gmbh Software update mechanism for safety critical systems
CN106412128B (zh) * 2016-12-07 2019-06-04 北京奇虎科技有限公司 补丁下载的方法、装置、文件打包服务器以及客户端
US10997297B1 (en) * 2019-12-06 2021-05-04 Western Digital Technologies, Inc. Validating firmware for data storage devices
CN113094060A (zh) * 2019-12-23 2021-07-09 瑞昱半导体股份有限公司 电子装置与软体更新方法
CN113434165A (zh) * 2021-06-02 2021-09-24 武汉天喻信息产业股份有限公司 一种嵌入式操作系统的补丁更新方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
DE69717505T2 (de) 1997-03-21 2003-10-02 Canal & Technologies Paris Verfahren zum fernladen von daten in einen mpeg-empfänger/-dekoder
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
DE19850665A1 (de) * 1998-11-03 2000-05-04 Siemens Ag Verfahren und Anordnung zur Authentifikation von einer ersten Instanz und einer zweiten Instanz
AU3759600A (en) * 1999-03-17 2000-10-04 Charles E. II Moore Internet, intranet and other network communication security systems utilizing entrance and exit keys
FR2792789B1 (fr) * 1999-04-20 2001-08-31 Bull Cp8 Procede de verification de signature ou d'authentification
US7120251B1 (en) * 1999-08-20 2006-10-10 Matsushita Electric Industrial Co., Ltd. Data player, digital contents player, playback system, data embedding apparatus, and embedded data detection apparatus
CN1210959C (zh) 1999-11-12 2005-07-13 通用器材公司 对象安全实现
CN1338841A (zh) * 2000-08-11 2002-03-06 海南格方网络安全有限公司 计算机安全认证智能密钥
US6857067B2 (en) 2000-09-01 2005-02-15 Martin S. Edelman System and method for preventing unauthorized access to electronic data
US7174017B2 (en) * 2002-03-04 2007-02-06 Lenovo Singapore Pte, Ltd Decryption system for encrypted audio
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019146812A1 (ko) * 2018-01-25 2019-08-01 엘지전자 주식회사 차량용 업데이트 시스템 및 제어 방법
KR20200105743A (ko) * 2018-01-25 2020-09-09 엘지전자 주식회사 차량용 업데이트 시스템 및 제어 방법
US11449331B2 (en) * 2018-01-25 2022-09-20 Lg Electronics Inc. Vehicular update system and control method thereof
KR102534209B1 (ko) * 2018-01-25 2023-05-17 엘지전자 주식회사 차량용 업데이트 시스템 및 제어 방법

Also Published As

Publication number Publication date
EP1570648B1 (fr) 2015-09-02
US20040107349A1 (en) 2004-06-03
PL376560A1 (pl) 2006-01-09
ES2553985T3 (es) 2015-12-15
TW200419444A (en) 2004-10-01
AU2003286298A1 (en) 2004-06-23
CN1720715A (zh) 2006-01-11
KR20050088091A (ko) 2005-09-01
CA2508424C (en) 2014-09-30
CN100342713C (zh) 2007-10-10
CA2508424A1 (en) 2004-06-17
WO2004051983A1 (fr) 2004-06-17
TWI309379B (en) 2009-05-01
MXPA05005695A (es) 2005-08-16
US7440571B2 (en) 2008-10-21
MY140368A (en) 2009-12-31
EP1570648A1 (fr) 2005-09-07

Similar Documents

Publication Publication Date Title
KR101063076B1 (ko) 소프트웨어 업데이트 보안 방법
US7506381B2 (en) Method for securing an electronic device, a security system and an electronic device
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
KR100958108B1 (ko) 이동통신 단말기의 프로그램 불법복제 방지 방법 및 장치
CN106302379B (zh) 车载电器的认证方法、系统及其装置
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
CN1423766A (zh) 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
EP1400055A2 (en) A method and system for generating and verifying a key protection certificate.
CN103067333A (zh) 验证机顶盒接入身份的方法和认证服务器
US20100185859A1 (en) Software update system, management apparatus, recording medium, and integrated circuit
CN102761790A (zh) 基于数字水印的iptv终端的数字版权管理方法及装置
JP4976135B2 (ja) 限定アクセス方法及び限定アクセス装置
CN110414248B (zh) 一种调试微处理器的方法及微处理器
JP6146476B2 (ja) 情報処理装置及び情報処理方法
CN113378119B (zh) 一种软件授权方法、装置、设备及存储介质
EP2958039A1 (en) Device for decrypting and providing content of a provider and method for operating the device
EP1632943B1 (en) Method of preventing multimedia copy
CN108923910B (zh) 一种移动应用apk防篡改的方法
KR100849334B1 (ko) 이동 단말의 불법 사용을 방지하기 위한 방법 및 장치
CN110287725B (zh) 一种设备及其权限控制方法、计算机可读存储介质
CN115795438A (zh) 应用程序授权的方法、系统及可读存储介质
EP2958265B1 (en) Revocation of a root certificate stored in a device
CN117157942A (zh) 提供和管理移动网络运营商简档

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140821

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150820

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170817

Year of fee payment: 7