CN1703668A - 集成软件及用于验证该软件的方法 - Google Patents

集成软件及用于验证该软件的方法 Download PDF

Info

Publication number
CN1703668A
CN1703668A CNA200380100961XA CN200380100961A CN1703668A CN 1703668 A CN1703668 A CN 1703668A CN A200380100961X A CNA200380100961X A CN A200380100961XA CN 200380100961 A CN200380100961 A CN 200380100961A CN 1703668 A CN1703668 A CN 1703668A
Authority
CN
China
Prior art keywords
software
certificate
integrated
downloaded
check
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CNA200380100961XA
Other languages
English (en)
Inventor
埃尔韦·肖
让-克劳德·萨尔法蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1703668A publication Critical patent/CN1703668A/zh
Pending legal-status Critical Current

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/22Microcontrol or microprogram arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • 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
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及用于验证被下载到终端中的软件的方法,包括以下步骤:通过借助于集成在所述终端中的软件,利用证书验证所述已下载软件;在执行所述已下载软件期间,借助于与所述已下载软件相关联的验证软件模块,利用证书对所述集成软件进行验证。

Description

集成软件及用于验证该软件的方法
技术领域
本发明涉及集成软件及用于验证该软件的方法,更具体地,涉及数字电视解码器领域方面。
背景技术
在现有技术的设备中,通常,通过使用外部工具计算表示软件的此软件的参考签名,并通过将参考签名***到该软件中来进行对组合软件的完整性测试。在软件初始化阶段期间,软件计算其自身的签名,并将此签名与参考签名进行比较。如果这些签名不同,则该软件执行专用于防护过程的软件例程,否则其正常继续。
在验证这样的软件的情况下,需要检查软件的源。公知的解决方案在于:应用完整性测试的原理,并将其与不对称密码算法相结合:利用专用密钥对参考签名进行加密,并以证书的形式将该结果集成在软件中。在检查阶段期间,在与参考签名进行比较之前,利用包括在软件内的公用密钥对参考签名进行加密。
现有技术的第一文件,题为“Digital Video Broadcasting(DVB)Multimedia Home Platform(MHP)Specification 1.0”的ETSI标准TS 101 812 V1-1-1,具体地,章节12.2和12.7描述了验证下载到终端的软件的方法的实现,通过借助于集成在所述终端中的软件,通过所述已下载软件的证书来执行验证。
现有技术的第二文件,US 6,167,521描述了一种将新软件下载到***的方法,其目的是防止此新下载的软件攻击已经安装在***中的软件,相反地,或者用于防止已经安装的软件攻击新软件,特别是当各个软件拥有者彼此不具有可信度时。
更具体地,如图1所示,为了进行软件验证,公知的是使用包括在存储器中的第一固定(即,写保护)部分10中的软件,以利用位于第二部分11中的证书12来验证可能已经下载的第二部分11的应用软件。
因此,在解码器领域中,当顾客想获得服务提供商的新应用软件时,服务提供商向其提供用于检验此应用软件的软件及与所述应用软件相关联的证书。
但是,在这种方案中,不存在第一软件的提供者检查验证过程已经真正发生的方式。
本发明的目的是使提供者能够检查此验证已经真正发生,因此其权利已经真正得到客户的尊重。
发明内容
因此,本发明提出了一种用于验证被下载到终端的软件的方法,所述方法包括借助于集成在所述终端中的软件,利用证书来验证所述已下载软件的步骤,其特征在于所述方法还包括在执行所述已下载软件期间,借助于与所述已下载软件相关联的验证软件模块,利用证书来验证所述第一集成软件的步骤。
有利地,第一集成软件借助于验证程序库和第一证书来验证已下载软件;第一集成软件和验证程序库形成写保护存储器的第一部分,并且已下载软件和第一证书形成可加载存储器的第二部分。
有利地,第一部分还包括第二证书,第二部分还包括检验软件,一旦已经验证了已下载软件,检验软件通过验证程序库和第二证书来验证第一软件。
有利地,在初始化时,发生这两个连续的验证。可以下载所述第二部分。
本发明还涉及集成软件,包括:第一写保护存储部分,由第一软件、验证程序库形成;以及第二存储部分,所述第二存储部分包括应用软件、第一证书,其特征在于所述第一部分还包括第二证书,以及所述第二部分还包括检验软件。
例如,可以在数字电视解码器、PC(个人计算机)型终端或任何其它集成设备中使用此软件。
附图说明
图1示出了现有技术的验证方法;
图2示出了了本发明的验证方法;
图3示出了证书的实例;
图4示出了签名的实例。
具体实施方式
在本发明的方法中,与图1中所示的现有技术的方法中一样,例如,在初始化阶段中,在写保护存储器的第一部分10中包含的第一软件,利用位于第一部分中的验证库和位于第二部分11中的证书12,对位于第二可加载部分11中的作为应用软件的第二软件进行验证。
由于术语“证书”具有很特定的含义(由针对个人或网络实体的信任第三方公布的电子身份,每个证书均利用认证授权的个人签名密钥进行签名)且其仅限于验证技术,一般来说,用于本描述中的术语“证书”用于更一般地覆盖术语签名、CRC或其它检验软件的真实性/完整性所需的其它数据。
在本发明的方法中,第一部分10还包括第二证书13,如图2所示。第二部分11还包括检验软件。一旦已经验证了应用软件时,此检验软件通过验证库和第二证书对第一软件进行验证。
此方法使第一软件的提供者能够检查使用该应用软件的客户真正地尊重其权利。
在典型实施例中,如图3所示,以下为证书的格式:
·报头:
-CLP(“证书位置图案”):指定证书的位置的图案,以便在存储器中找到验证证书(例如,8字节);
-RFU(“保留用于将来使用”):保留用于将来使用(例如,1字节);
-K:要使用的密钥号(例如,1字节)
·签名(例如,128字节),作为利用专用密钥对图4所示的1024比特的消息进行RSA加密的结果。
1024比特签名从0处字节开始,以实现其RSA加密,在每个加密前,以不同的方式,随意填充其余部分20。
在从消息起始的偏移H_CODE_OFFSET处,存在20字节上的散列编码SHA1。CHECK_PATTERN图案位于此H_CODE前,其功能是在完整性检查期间,实现在错误解密(公用密钥号或值、算法、不一致证书)和错误H_CODE之间的区别。

Claims (6)

1、一种用于验证下载到终端中的软件的方法,所述方法包括借助于集成在所述终端中的软件,利用证书来验证所述已下载软件的步骤,其特征在于所述方法还包括在执行所述已下载软件期间,借助于与所述已下载软件相关联的验证软件模块,利用证书来验证所述第一集成软件的步骤。
2、根据权利要求1所述的方法,其特征在于:所述第一集成软件通过验证程序库和第一证书,对已下载软件进行验证,其中所述第一集成软件和验证库形成写保护存储器的第一部分(10),并且所述已下载软件和第一证书(12)形成可加载存储器的第二部分(11)。
3、根据权利要求2所述的方法,其特征在于:所述第一部分(10)还包括第二证书(13),所述第二部分(11)还包括检验软件,一旦已经验证了已下载软件,检验软件通过验证程序库和第二证书(13)来验证第一集成软件。
4、根据权利要求1所述的方法,其特征在于:在初始化时,发生这两个连续的验证。
5、根据权利要求2所述的方法,其特征在于:下载所述第二部分(11)。
6、一种集成软件,包括:第一写保护存储部分(10),所述第一写保护存储部分包括第一软件、验证程序库和第二证书(13);以及第二存储部分(11),所述第二存储部分包括应用软件、第一证书(12)和检验软件,所述检验软件用于当在计算机上执行所述软件时,执行根据权利要求1到5任一个所述的方法步骤。
CNA200380100961XA 2002-10-04 2003-10-02 集成软件及用于验证该软件的方法 Pending CN1703668A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0212325A FR2845493A1 (fr) 2002-10-04 2002-10-04 Logiciel embarque et procede d'authentification de celui-ci
FR02/12325 2002-10-04

Publications (1)

Publication Number Publication Date
CN1703668A true CN1703668A (zh) 2005-11-30

Family

ID=32011393

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200380100961XA Pending CN1703668A (zh) 2002-10-04 2003-10-02 集成软件及用于验证该软件的方法

Country Status (9)

Country Link
US (1) US7356815B2 (zh)
EP (1) EP1546866A2 (zh)
JP (1) JP2006501735A (zh)
KR (1) KR100973203B1 (zh)
CN (1) CN1703668A (zh)
AU (1) AU2003288370A1 (zh)
FR (1) FR2845493A1 (zh)
MX (1) MXPA05003618A (zh)
WO (1) WO2004032328A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103779B2 (en) * 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
MXPA06004543A (es) * 2003-12-18 2006-06-23 Matsushita Electric Ind Co Ltd Metodo para autentificar y ejecutar un programa de aplicacion.
CA2548546A1 (en) * 2003-12-18 2005-06-30 Matsushita Electric Industrial Co., Ltd. Method for storing, authenticalting and executing an application program
US7831838B2 (en) * 2004-03-05 2010-11-09 Microsoft Corporation Portion-level in-memory module authentication
US7644287B2 (en) * 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
EP1913511B1 (en) * 2005-08-03 2011-02-23 ST-Ericsson SA A secure terminal, a routine and a method of protecting a secret key
CN101313570A (zh) * 2005-11-29 2008-11-26 汤姆森特许公司 用于使得数字内容安全的方法和装置
US8364965B2 (en) * 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
CN102016867B (zh) * 2008-03-04 2015-02-25 苹果公司 基于至少一个已安装的简档来授权执行软件代码的***和方法
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
US20090228868A1 (en) * 2008-03-04 2009-09-10 Max Drukman Batch configuration of multiple target devices
KR101252921B1 (ko) * 2008-03-04 2013-04-09 애플 인크. 사업자에게 부여된 자격들에 기초하여 장치 내의 소프트웨어 코드의 실행을 인가하는 시스템 및 방법
EP2250607A1 (en) * 2008-03-04 2010-11-17 Apple Inc. System and method of authorizing execution of software code based on accessible entitlements

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
FI990461A0 (fi) * 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6901518B1 (en) * 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
ES2253222T3 (es) * 1999-04-21 2006-06-01 General Instrument Corporation Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable.
JP2002140298A (ja) * 2000-10-31 2002-05-17 Matsushita Electric Ind Co Ltd 認証方法
US6965994B1 (en) * 2001-01-30 2005-11-15 Microsoft Corporation Security mechanism for computer processing modules

Also Published As

Publication number Publication date
EP1546866A2 (fr) 2005-06-29
US7356815B2 (en) 2008-04-08
MXPA05003618A (es) 2005-06-17
KR100973203B1 (ko) 2010-07-30
WO2004032328A3 (fr) 2004-07-15
KR20050083699A (ko) 2005-08-26
AU2003288370A8 (en) 2004-04-23
US20060156000A1 (en) 2006-07-13
WO2004032328A2 (fr) 2004-04-15
AU2003288370A1 (en) 2004-04-23
FR2845493A1 (fr) 2004-04-09
JP2006501735A (ja) 2006-01-12

Similar Documents

Publication Publication Date Title
AU2009233685B2 (en) Method and apparatus for incremental code signing
CA2450844C (en) A method for securing an electronic device, a security system and an electronic device
US8250373B2 (en) Authenticating and verifying an authenticable and verifiable module
US6571335B1 (en) System and method for authentication of off-chip processor firmware code
US8001385B2 (en) Method and apparatus for flash updates with secure flash
US8732445B2 (en) Information processing device, information processing method, information processing program, and integrated circuit
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
US6587947B1 (en) System and method for verification of off-chip processor code
CN1703668A (zh) 集成软件及用于验证该软件的方法
JP2004280284A (ja) 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
CN1886747A (zh) 使用运营商根证书控制应用的安装的方法和装置
US7552092B2 (en) Program distribution method and system
US20030167407A1 (en) Authenticated file loader
JP2009003853A (ja) 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール
Devanbu et al. Research directions for automated software verification: Using trusted hardware
CN115913563A (zh) 电子签章的生成方法、验证方法及设备
CN116541890A (zh) 一种文件完整性校验方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication