CN101238470B - 操作计算设备的方法、制造软件的方法 - Google Patents

操作计算设备的方法、制造软件的方法 Download PDF

Info

Publication number
CN101238470B
CN101238470B CN2006800287861A CN200680028786A CN101238470B CN 101238470 B CN101238470 B CN 101238470B CN 2006800287861 A CN2006800287861 A CN 2006800287861A CN 200680028786 A CN200680028786 A CN 200680028786A CN 101238470 B CN101238470 B CN 101238470B
Authority
CN
China
Prior art keywords
software
equipment
application software
unique identification
identification symbol
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.)
Expired - Fee Related
Application number
CN2006800287861A
Other languages
English (en)
Other versions
CN101238470A (zh
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN101238470A publication Critical patent/CN101238470A/zh
Application granted granted Critical
Publication of CN101238470B publication Critical patent/CN101238470B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/55Detecting local intrusion or implementing counter-measures
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及操作计算设备的方法、制造软件的方法及其操作系统。一种计算设备以这样的方式操作,当应用软件包括唯一软件标识符时,该标识符可以来自于非保护范围(该范围可以分配给任何应用软件)或者来自于保护范围(该范围只能够由数字签名软件使用)。在安装时,检验唯一软件标识符来保证该标识符没有与任何属于设备上已经存在的软件的标识符冲突,如果该标识符来自于保护范围,那么安装的软件就是数字签名的。检验唯一标识符的所有者也在签名应用软件时进行。

Description

操作计算设备的方法、制造软件的方法
技术领域
本发明涉及一种操作计算设备的方法,以提供更安全的计算设备,并且尤其涉及一种操作计算设备的使应用软件能够在运行时提供它的身份校验的改进方法。
背景技术
术语“计算设备”包括,但不局限于,桌上型电脑和膝上型电脑计算机,个人数字助理(PDAs),移动电话,智能手机,数码相机和数码音乐播放器。还包括结合了一种或多种上述设备类型,和很多其它工业和家用电子设备的功能的集中设备。
允许它的所有者或者用户安装提供新应用或者新功能的软件的计算设备称之为开放型设备。虽然以这种方式使设备的作用能够扩展具有很明确的好处,但是显然这样的设备可能给所有者或者用户带来重大安全风险。只要计算设备通过网络连接到其它设备,风险就会扩展到连接该网络的所有其它设备,并且甚至威胁到网络自身的完整性。
现在普遍知道影响开放型计算设备的恶意程序(或者恶意软件)的重大风险。最近的互联网文章(http://en.wikipedia.org/wiki/Malware)确定和描述了十一种不同类型的恶意软件,其包括病毒,蠕虫,Wabbits,特洛伊木马,漏洞,间谍软件,欺诈,Rootkits,密钥记录器,拨号器和URL注入器。
开放型计算设备通常提供操作系统,或者OS。还有管理系统硬件和提供常用工具的平台,使运行在平台上的应用软件能够运行,现代操作系统还提供管理这种应用软件的生命周期的工具。在执行之前它加载应用软件,当应用结束时释放资源,以及处理这种软件的安装和卸载。
因此操作系统本质上致力于努力保护可编程计算设备以免遭受各种类型的恶意软件。注重于平台安全的设计良好的操作系统应当:
a.采取步骤来阻止恶意软件安装到设备上;和
b.如果恶意软件自己找到方法安装到设备上,自动检测到感染;和
i.采取步骤阻止恶意软件执行;如果恶意软件执行了,
ii.采取步骤限制它可能造成的损害。
有很多已知的技术用来提供上述的功能(a),其目标是识别恶意软件或者被恶意软件入侵的软件,以及阻止把恶意软件安装到设备上。他们通常依靠鉴别和认证技术的组合,并且提供外围安全。要安装的应用通常与确认作者的正确身份的可证实签名证书打包在一起,以及与一个或者多个哈希(hash)表或者其它类型的包内容的消息摘要打包在一起,这就能检测到任何篡改。一旦安全地证实了应用软件的起源和其完整性,就能够高度可靠地把应用安全地安装到计算设备。
提供上述功能(b)的技术就很不一样。它们包括使用访问控制列表,为了使用能够承担敏感操作的软件,设备的用户需要通过访问控制列表授予特殊的权力,如果没有授予这些特权,就拒绝这样的操作的访问权力。这个方法有某种弱点,就是它只监控设备的用户,而没有监控正在运行的软件应用。
提供功能(b)的一种相当好的方法是软件能力模型,如名称为“安全移动无线设备”的专利申请PCT/GB03/02311和名称为“具有受保护的文件系统的移动无线设备”的专利申请PCT/GB03/02313中所公开的。
PCT/GB03/02311描述了为了承担敏感操作,计算设备上的所有的可执行软件如何必须授予某种软件能力。所有这样的应用软件的行为由设备上可以依靠不会毁坏的核心软件的可信任计算基(TCB)监控;TCB典型地包括应用启动器和文件系统。
PCT/GB03/02313描述了能力模型如何通过分区扩展到保护计算设备的数据存储系统,以这样的方式把它分区,通过要求访问这些数据的身份校验或者特定能力,阻止任何应用软件访问不属于它的任意的保密数据。
应当理解由可执行软件项目提供的这个身份校验与访问控制机制所要求的身份校验不同;它确实不能采用设备的用户或者所有者在访问时提供的密码或者密文或者生物数据的形式。相反,这个身份校验采用标识符的形式,该标识符保证是全球唯一的并且在建立时授予可执行软件项目。
传统的身份校验是数字签名证书或者全球唯一软件标识符(GUIDs)。
安装软件时使用数字签名证书,但是数字签名证书在计算上是非常昂贵的,并且对于在运行时计算设备的持续使用负荷过重。
相反,检验GUIDs快速而简单;它们包含在二进制可执行软件中,并且可以在运行时通过简单的算术比较进行检验。已经在很多计算设备中使用它们。例如,微软为了多种目而使用128比特的GUIDs,并且这些间接地依靠集中IEEE以太网MAC地址分配数据库,它们形成于这里。(请参见http://standards.ieee.org/regauth/oui/index.shtml)。这个方法的完整性依靠于与IEEE GUID分配算法相关的每个用户,并且都知道MAC地址没有任何预防假冒的或者欺骗性攻击的防护。把这个特性加入该设计会包括把确认问题推给管理附加密码措施的第二集中数据库。
Symbian OS设备(在OS 9.0版本之前)使用合作集中数据库来给出它们的32比特UIDs。Palm OS 4为使用相同机制的字符型创建者ID。在两种情况下,没有使用或者执行认证;实际上任何软件可以使用任何标识符,并且没有把GUIDs限制到特定标识的可执行软件的范围。
本领域技术人员清楚为了使GUIDs安全,不仅仅是需要集中标识符分配权力,而且认证和确认措施也是基本的;需要把这些要求应用到GUID的授予,请求者和每个使用。
这里没有明显的办法避免潜在的复杂程序,即使简单程序可能更好。而且,没有任何功能的未签名的软件理论上应当可以自由地安装到开放式平台上;没有明显的办法来调解这个需求与保护敏感性高安全应用的需求。
发明内容
根据本发明的第一方面,提供了操作计算设备的方法,其中
a.在该设备上运行的应用软件中的所有可执行软件必须包括它们身份的嵌入式校验,该设备在允许它们访问该设备上的任何存储的数据或者其它资源之前检查它们的身份;和
b.所述身份校验采用全球唯一标识符(GUIDs)的形式;和
c.该设备上已知有效的GUIDs的范围分为保护范围和非保护范围;
d.所有在制造时没有包括在该设备中的所述应用软件必须在它能够运行之前通过单一元件(安装器)安装到该设备上;和
e.可以用数字证书签名所述应用软件或者可以不用数字证书签名所述应用软件,该数字证书必须由该安装器在安装之前验证;和
f.该安装器确保要安装在该设备上的软件中的任何可执行软件的GUIDs与之前在制造时或者后来已经安装到该设备上的任何可执行软件的GUIDs不同;和
g.该安装器不安装包含位于保护范围的GUIDs的可执行软件的任何应用软件,除非该软件由有效的数字证书签名。
根据本发明第二方面,提供了制造在计算设备上运行的软件的方法,该设备设置为根据第一方面的方法操作,其中如果应用包含具有GUIDs的可执行软件,该GUIDs还没有分配给软件的所有者、制造商、或者作者或者他们的已知授权代理中的一个,就不用数字签名应用软件。
根据本发明第三方面,提供了设置为根据第一方面的方法操作的计算设备。
根据本发明第四方面,提供了使计算设备根据第一方面操作或者根据第二方面制造软件的操作系统。
附图说明
现在将描述本发明的实施例,仅仅是通过进一步的举例,参考附图,其中:
图1显示了根据本发明操作计算设备的方法;和
图2显示了根据本发明的实施例操作计算设备以实现签名软件包的方法。
具体实施方式
本质上,本发明提供了保护敏感软件的简单方法,同时使设备能够维持为开放型设备。它依靠以下方面:
●当结合外围安全使用GUID保护设备上的保密数据时,只需要外围安全检验正在安装的可执行软件具有在本地唯一的标识符。试图窃取数据包括骗取在设备上没有使用的全球唯一的ID就是攻击实际上并不存在的数据。
●虽然一些软件执行具有高敏感度的操作和存储高敏感度的数据,但是并不是所有软件都属于这种类型。例如,保护属于家庭银行应用软件的数据的安全措施对于娱乐游戏就不是必须的应用。因此,把GUIDs的范围区分为预留给高安全性应用的部分和预留给低安全性应用的部分允许把不太严格的策略应用于某类软件。
本发明具有如下的三个相关方面:
1.无论什么时候把可执行软件安装到计算设备上,都会进行GUID本地唯一性检验。如果已经使用该GUID安装了任何其它软件单元,那么该新安装就失败。这个过程显示于图1中。假设计算设备已经采用了确保所有可执行软件使用单一强制软件安装器的相当基本的外围安全措施,这个措施独自就足够确保所有的GUIDs保证在该设备上是唯一的,并且因此保证已经安装的应用不会被欺骗,以及所有由已经存在的GUIDs保护的保密数据仍然是保密的。
2.GUIDs的数字范围的子集(例如,32比特UIDs的下半部分范围)仍然保留,这样只有签名的应用软件可以使用这个范围中的标识符。在本发明的上下文中,这个范围称之为保护范围。设备中的安装器会拒绝安装具有这个范围内的GUID的软件,除非该软件是签名的。这个过程也可以在图1中看到。
3.当签名应用软件时,认证检验包括保证正在签名的可执行软件没有使用还没有分配给那个软件的所有者的GUIDs,这个措施显示于图2中。
还有,这些措施表示:
a.所有软件保证在任何单个设备上的本地唯一性;
b.签名软件保证全球唯一性;
c.保护标识符在32比特分配空间中保持唯一。
本发明相对于以前的操作计算设备的方法提供了明显的优点:
1.它不要求密码机制来检验标识符。
2.它在安装时对于非签名软件不要求密码机制。
3.它保证所有软件具有至少本地唯一,以及因此保护了所有本地保密数据的标识符。
4.它保证非签名软件不能够伪装为使用保护范围内的GUID的签名软件,无论对于服务拒绝(DOS)攻击或者任何其它目的。
5.通常,对GUIDs的运行时间检验不需要考虑它们是如何分配的。
因此,总之,当应用软件包括唯一软件标识符时,标识符就可以取自非保护范围(该范围可以分配给任何应用软件)或者取自保护范围(该范围只能够由数字签名软件使用)。在安装时,检验唯一软件标识符来保证该标识符没有与任何属于设备上已经存在的软件的标识符冲突,并且,如果该标识符来自于保护范围,那么安装的软件就是数字签名的。检验唯一标识符的所有者也在签名该应用软件时进行。
虽然参考特定实施例描述了本发明,应当理解可以进行各种变化,同时仍然落入所附的权利要求所限定的本发明的范围之内。

Claims (2)

1.一种操作计算设备的方法,其中
a.在该设备上运行的应用软件中的所有可执行软件必须包括它们身份的嵌入式校验,该设备在允许它们访问该设备上的任何存储的数据或者其它资源之前检查它们的身份;和
b.所述嵌入式校验采用全球唯一标识符的形式;和
c.该设备上已知有效的全球唯一标识符的范围分为保护范围和非保护范围;和
d.所有在制造时没有包括在该设备中的所述应用软件必须在它能够运行之前通过单一安装器安装到该设备上;和
e.可以用数字证书签名所述应用软件或者可以不用数字证书签名所述应用软件,该数字证书必须由该安装器在安装之前验证;和
f.该安装器确保要安装在该设备上的软件中的任何可执行软件的全球唯一标识符与之前在制造时或者后来已经安装到该设备上的任何可执行软件的全球唯一标识符不同;和
g.该安装器不安装包含具有位于保护范围的全球唯一标识符的可执行软件的任何应用软件,除非该软件由有效的数字证书签名。
2.一种制造软件的方法,所述软件用于在设置为根据权利要求1所述的方法操作的计算设备上运行,其中如果应用软件包含具有全球唯一标识符的可执行软件并且该全球唯一标识符还没有分配给该软件的所有者、制造商、或者作者或者他们的已知授权代理中的一个,就不用数字签名该应用软件。
CN2006800287861A 2005-08-10 2006-08-08 操作计算设备的方法、制造软件的方法 Expired - Fee Related CN101238470B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0516471.0A GB0516471D0 (en) 2005-08-10 2005-08-10 Protected software identifiers for improving security in a computing device
GB0516471.0 2005-08-10
PCT/GB2006/002964 WO2007017676A2 (en) 2005-08-10 2006-08-08 Protected software identifiers for improving security in a computing device

Publications (2)

Publication Number Publication Date
CN101238470A CN101238470A (zh) 2008-08-06
CN101238470B true CN101238470B (zh) 2010-08-18

Family

ID=34984421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800287861A Expired - Fee Related CN101238470B (zh) 2005-08-10 2006-08-08 操作计算设备的方法、制造软件的方法

Country Status (6)

Country Link
US (1) US20100325426A1 (zh)
EP (1) EP1924943A2 (zh)
JP (1) JP2009505196A (zh)
CN (1) CN101238470B (zh)
GB (2) GB0516471D0 (zh)
WO (1) WO2007017676A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8523666B2 (en) * 2007-05-25 2013-09-03 Microsoft Corporation Programming framework for closed systems
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
GB2456134A (en) * 2007-12-31 2009-07-08 Symbian Software Ltd Typed application development
CN102024127B (zh) * 2010-11-17 2012-09-19 中国联合网络通信集团有限公司 应用软件控制平台、使用者终端、分发系统及方法
CN102024107A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、开发者终端、分发系统及方法
KR101944010B1 (ko) * 2012-02-24 2019-01-30 삼성전자 주식회사 애플리케이션의 변조 감지 방법 및 장치
US10866963B2 (en) * 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255209A (zh) * 1997-04-10 2000-05-31 查耐威尔有限公司 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统
EP1168166A2 (en) * 2000-06-30 2002-01-02 Fujitsu Limited Program installation method and system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
AU7735600A (en) * 1999-10-01 2001-05-10 Infraworks Corporation Port blocking method and system
US7017189B1 (en) * 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
EP1211587A1 (en) * 2000-11-30 2002-06-05 Pentap Technologies AG Distributing programming language code
JP2003202929A (ja) * 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US20040153644A1 (en) * 2003-02-05 2004-08-05 Mccorkendale Bruce Preventing execution of potentially malicious software
JP2004280283A (ja) * 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
US7559091B2 (en) * 2004-06-12 2009-07-07 Microsoft Corporation Software obfuscation
US7747998B2 (en) * 2004-08-31 2010-06-29 Microsoft Corporation Elevated patching
GB0516443D0 (en) * 2005-08-10 2005-09-14 Symbian Software Ltd Improving the security of operation of a computing device through the use of vendor ids

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1255209A (zh) * 1997-04-10 2000-05-31 查耐威尔有限公司 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统
EP1168166A2 (en) * 2000-06-30 2002-01-02 Fujitsu Limited Program installation method and system

Also Published As

Publication number Publication date
CN101238470A (zh) 2008-08-06
WO2007017676A2 (en) 2007-02-15
WO2007017676A3 (en) 2007-05-24
GB0516471D0 (en) 2005-09-14
GB0615909D0 (en) 2006-09-20
JP2009505196A (ja) 2009-02-05
EP1924943A2 (en) 2008-05-28
US20100325426A1 (en) 2010-12-23
GB2429081A (en) 2007-02-14

Similar Documents

Publication Publication Date Title
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
CN109937419B (zh) 安全功能强化的设备的初始化方法及设备的固件更新方法
US7546587B2 (en) Run-time call stack verification
EP2831787B1 (en) Method and system for preventing and detecting security threats
CN107567630B (zh) 受信输入/输出设备的隔离
CN101238470B (zh) 操作计算设备的方法、制造软件的方法
Löhr et al. Patterns for secure boot and secure storage in computer systems
EP2126770B1 (en) Trusted computing entities
CN103455756B (zh) 一种基于可信计算的进程控制方法
Paverd et al. Hardware security for device authentication in the smart grid
WO2011146305A2 (en) Extending an integrity measurement
US9026803B2 (en) Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
WO2014153760A1 (en) Detecting exploits against software applications
WO2014153635A1 (en) Method and system for platform and user application security on a device
KR20180007922A (ko) Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법
CN101238472A (zh) 通过使用供应商id来改进计算装置的操作的安全性
WO2020007249A1 (zh) 一种操作系统安全主动防御方法及操作系统
US20180181731A1 (en) Method and system for preventing unauthorized computer processing
Msgna et al. Secure application execution in mobile devices
Zaharis et al. Live forensics framework for wireless sensor nodes using sandboxing
Meshram et al. Security in embedded systems: Vulnerabilities pigeonholing of attacks and countermeasures
Murmann et al. How Secure are Current Mobile Operating Systems?
Surendrababu System Integrity–A Cautionary Tale
Li et al. Research on the security of automotive domain controller systems based on trusted execution environment
Yu et al. Research on Model for Verifying the Integrity of Software Based on API Hook

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NOKIA NETWORKS OY

Free format text: FORMER OWNER: SYMBIAN SOFTWARE LTD

Effective date: 20100618

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: LONDON, THE UNITED KINGDOM TO: ESPOO, FINLAND

TA01 Transfer of patent application right

Effective date of registration: 20100618

Address after: Espoo, Finland

Applicant after: Nokia Oyj

Address before: London, England

Applicant before: Symbian Software Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100818

Termination date: 20120808