CN101512512B - 利用软件名声的软件授权 - Google Patents

利用软件名声的软件授权 Download PDF

Info

Publication number
CN101512512B
CN101512512B CN200780032404.7A CN200780032404A CN101512512B CN 101512512 B CN101512512 B CN 101512512B CN 200780032404 A CN200780032404 A CN 200780032404A CN 101512512 B CN101512512 B CN 101512512B
Authority
CN
China
Prior art keywords
software
reputation
received
publisher
author
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.)
Active
Application number
CN200780032404.7A
Other languages
English (en)
Other versions
CN101512512A (zh
Inventor
D·B·克罗斯
T·V·库瑞恩
S·菲尔德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN101512512A publication Critical patent/CN101512512A/zh
Application granted granted Critical
Publication of CN101512512B publication Critical patent/CN101512512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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

Abstract

根据软件的名声来授权软件。经由数字签名和/或CoA来确定软件的作者和/或发布者中的信用,并且利用软件的名声来确定软件的意图。软件的名声可经由诸如企业IT部门等本地服务和/或经由名声确定服务来确定。当下载了或将要执行软件时,使用与该软件相关联的数字签名和/或CoA来确定作者/发布者中的信用。如果该作者/发布者被确定为可信,则调用确定该软件的名声的服务。软件可取决于该软件的名声以及作者/发布者的可信度来安装和/或执行。

Description

利用软件名声的软件授权
技术领域
本技术领域一般涉及授权软件,且更具体地涉及经由例如密码验证技术利用软件的名声来授权软件。
背景
当今,在下载软件或打开应用程序时,消费者将信任基于该软件的发行者或发布者。例如,消费者可能信任MICROSOFT,而可能不信任未知发行者。然而,仅基于发行者的信任并不保证该软件不是恶意软件。消费者可接受已密码地或数字地签名的和/或具有真品证书(CoA)的软件。然而,经数字签名的软件仍可能是恶意的。除了对传入软件或在执行之前执行恶意软件检测应用程序之外,消费者、信息技术(IT)专业人士、开发者等没有用于将信任基于软件本身的机制。
概述
提供本概述以便以简化的形式介绍将在以下说明性实施例的详细描述中进一步描述的一些概念。部分地根据软件的名声来授权软件。数字签名作为为软件提供凭证的机制来对待。使用软件凭证和其他机制来将被称为名声的元数据绑定到软件。名声用于授权。例如,如果软件已知是恶意的,诸如,病毒、间谍软件、root kit等,则在确定是接受还是不接受该软件时考虑该软件的名声(用于安装、用于启动、用于执行、用于运行时等)。如果软件源自一已知的源并且已知是好的,则在确定该软件是可接受的还是不可接受时也考虑该名声。在一示例实施例中,软件是根据该软件的名声和该软件的有效性(例如,作者/发布者中的信用等级)来授权的。结合基于数字签名和真品证书(CoA)的机制利用软件的名声来确定软件的有效性。如果软件的名声是可接受的并且该软件是有效的(例如,软件的作者和/或发布者是可信的),则授权该软件。软件的名声可本地地和/或远程地确定。例如,本地IT部门可确定软件的名声,和/或可以向名声确定服务查询软件的名声。
附图说明
以上概述以及以下详细描述在结合附图阅读时可被更好地理解。出于说明利用名声的软件授权的目的,在附图中示出了其示例性构造;然而,利用名声的软件授权不限于所公开的具体方法和手段。
图1是用于利用软件的名声来授权软件的一示例系统的图示。
图2是用于利用名声来授权软件的一示例过程的流程图。
图3是软件被阻塞的通知的一示例用户界面(UI)的图示。
图4是软件被阻塞的通知的一示例用户界面(UI)的另一图示。
图5是用于同步利用名声来授权软件的一示例计算设备的图示。
图6是用于同步利用名声来授权软件的一示例性计算环境。
详细描述
提供了一种标识软件的名声的机制;由此提供了接受或拒绝软件的操作的能力。该机制可在各种时刻利用,诸如在安装软件之前和/或在执行软件(例如,运行时)之前等。该机制通过早期发现攻击来提供针对攻击的主动防御并减少正在发生的攻击和/或故障的影响。该机制还提供了撤销软件的能力。
在一示例实施例中,诸如代码、软件包、安装包装、动态链接库(DLL)等的软件通过验证软件并确定软件的名声来授权。统称为软件的有效性的软件的完整性和源利用数字签名或任何合适的手段来验证。软件的名声可本地地(例如,本地IT组或系统管理员策略)和/或远程地(例如,名声确定服务)确定。软件的名声指示软件的意图而不是软件的作者和/或发布者的凭证。
图1是用于利用软件的名声来授权软件的示例系统的图示。在一示例场景中,用户可将软件从网络14下载到处理器12,和/或该用户可将软件从存储介质18插入到处理器12。在接受该软件之前,确定该软件的名声和有效性。用户可根据该软件的名声和有效性来决定安装和/或执行该软件。在一示例实施例中,向名声确定服务20查询软件的名声。可查询多个名声确定服务。名声确定服务20能够响应于该查询提供软件的名声的指示。与其相结合,或另选地,可以向企业服务16查询软件的名声。企业服务服务16能够响应于该查询提供软件的名声的指示。与其相结合,或另选地,可以向企业服务16查询软件的名声。可根据关于软件的数字签名和/或真品证书(CoA)来确定软件的有效性。软件有效的判定意味着该软件的作者和/或发布者是可信的。通过利用对有效性和名声的判定,用户和/或处理器12可确定该软件是可接受的还是不可接受的。处理器12可包括任何合适的处理器。例如,处理器12可包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机等。处理器12可包括诸如掌上计算机、个人数字助理(PDA)、袖珍PC、移动电话等便携式设备。此外,处理器12可包括其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境。在这一分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。网络14可以是可从其下载软件的任何合适的源,诸如,例如因特网或局域网(LAN)等。
名声确定服务20可包括用于确定软件的名声的任何合适的服务。在一示例实施例中,名声确定服务20可包括远程实体,但并不限于此。名声确定服务20可监视各种软件和软件包的状态并利用该状态来提供软件的名声的指示。例如,名声确定服务20可经由其监视过程发现一特定版本的软件包已被报告为受到病毒感染。当向名声确定服务20查询该软件包的名声时,名声确定服务20可提供名声的指示,该名声的指示是根据该软件包的某些版本已被报告为例如恶意软件、间谍软件、特洛伊木马、受到病毒感染、与具有坏名声的软件相关联等的知识来确定的。
企业服务16也能够,或另选地,确定和/或提供软件的名声。虽然并不限于此,但企业服务16可包括例如,本地IT部门或系统管理员。企业服务16可查询诸如,例如名声确定服务20等服务,和/或以与名声确定服务20相似的方式确定软件的名声。
在一示例实施例中,根据社区投票来确定软件的名声。软件的用户得到提供关于软件的评论的机会。评论可由软件的用户明确地提供给收集实体,诸如例如,名声确定服务20等。在一示例实施例中,用户可同意可自动收集和提供关于用户就该软件的使用和体验的统计数据。关于特定软件包的统计数据可包括,例如,阻塞该软件包的用户数量和/或下载该软件包的用户数量。
软件的名声会受到关联的影响。例如,如果具有好名声的软件与具有坏名声的软件交互,则好软件的名声就会被玷污。即,名声可从好变为坏。例如,软件对象可访问一URI以下载病毒、间谍软件、特洛伊软件、恶意软件等。如果检测到该交互,则相应地调整该软件对象的名声(例如,表示为坏)。
在一示例实施例中,名声被分配给软件的名称。名称可以是软件包的名称(例如,应用程序和版本号)。名称可以是强名称,诸如从对软件执行散列函数所得的散列值等。将散列值用作软件的名称允许标识软件。
在一示例实施例中,结合软件的有效性利用软件的名声来授权软件。在该示例实施例中,根据诸如密码地签名软件等已知的数字验证技术来确定软件的源和有效性。如果软件被确定为有效,则意味着该软件的作者和/或发布者是可信的。如果软件被确定为无效,则意味着该软件的作者和/或发布者是不可信的。在该示例实施例中,存在代码签署生态系统,其中用户和/或开发者能够数字地签署其自己的代码并信任其内部公钥基础结构(PKI)。开发者可通过数字证书、密钥和软件开发工具包(SDK)工具来签署其自己的代码。开发者可发放用于签署代码的证书。在该示例性实施例中,名声基于可靠的且确定性的社区审阅/投票、和/或独立的产品审阅和分析,诸如,例如通过名声确定服务20等。经由该代码签署生态系统,好软件将增长,将生成对好软件的信任,并且软件的社区名声将变为可接受的且普遍存在的。并且,可预防和检测拒绝服务和社区名声欺诈检测。
图2是用于利用软件名声来授权软件的一示例过程的流程图。在步骤22处接收软件。软件可由例如处理器12来接收。软件可从例如网络14和/或存储介质18接收。在步骤24处,确定所接收到的软件是否有效。即,确定所接收到的软件的发布者和/或作者中的信用等级。如果所接收到的软件被确定为有效,则作者/发布者是可信的。如果所接收到的软件被确定为无效,则作者/发布者是不可信的。在一示例实施例中,密码地确定软件的有效性。即,根据与软件相关联的数字签名和/或CoA来确定软件的有效性。数字签名和CoA在本领域中是已知的。如果该软件在步骤26处被确定为无效(例如,软件的作者/发布者不可信),则在步骤28处提供警告。该警告可以按任何适当的方式来提供。在一示例实施例中,将不会安装/加载所接收到的软件并且提供指示该软件正被阻塞的指示。图3是软件由于作者和/或发布者不可信而正被阻塞的通知的一示例用户界面(UI)的图示。
如果软件在步骤26处被确定为有效(例如,软件的作者/发布者是可信的),则在步骤30处确定软件的名声。在一示例实施例中,调用/查询诸如,例如名声确定服务20等服务来确定软件的名声。在一示例实施例中,向诸如,例如IT部门或系统管理员等本地服务查询软件的名声。可以诸如从本地服务和远程服务、多个远程服务、或其组合接收多个名声。如果接收了多个名声,则它们可以按任何适当的方式聚集。例如,每一接收到的名声可被分配一权重,并且可确定多个名声的加权平均值。然后可使用所聚集的名声来授权软件。
如果该软件被确定为是不可接受的(步骤32),则在步骤28处提供警告。该警告可以按任何适当的方式来提供。在一示例实施例中,将不会安装/加载所接收到的软件并且提供指示该软件正被阻塞的指示。图4是软件因为该软件由于其名声而被认为是不可接受的而正被阻塞的通知的一示例用户界面(UI)的图示。如果该软件被确定为是可接受的(步骤32),则可任选地在步骤34处提供该结果的指示。该结果的指示可以按任何适当的方式来提供,诸如,例如在显示器上呈现通知等。然后可安装/执行该软件。
图5是用于利用软件名声来授权软件的一示例计算设备36的图示。在一示例实施例中,计算设备36被用作图1所示的处理器12。计算设备36包括处理部分38、存储器部分40和输入/输出部分42。处理部分38、存储器部分40和输入/输出部分42被耦合在一起(耦合未在图5中示出)以允许其间的通信。计算设备36能够执行与通过利用软件的名声来授权软件相关联的操作。例如,处理部分38能够,如上所述,经由输入/输出部分42来接收软件、确定软件的名声、确定软件的有效性、以及根据所确定的名声和所确定的有效性来授权软件。存储器部分40能够存储与利用名声来授权软件相关联的所有参数,诸如,例如软件、软件名称、以及软件名声等。
输入/输出部分42能够提供和/或接收如上所述用于利用软件的名声来授权软件的数据。输入/输出部分42可接收软件并将软件提供给处理部分38。输入/输出部分42可提供关于软件的名声的请求/查询。响应于请求/查询,或未经请求地,输入/输出部分42可接收指示软件的名声的信号。输入/输出部分42可从和/或向诸如,例如其他计算设备、网络(例如,图1中的网络14)、企业服务(例如,图1中的企业服务16)、名声确定服务(例如,图1中的名声确定服务20)和存储介质(例如,图1中的存储介质18)等各种实体接收和/或提供信息。
取决于处理器的确切配置和类型,存储器部分40可以是易失性的(如RAM和/或高速缓存)44、非易失性的(如ROM、闪存等)46、或其组合。计算设备36可以具有附加特征/功能。例如,计算设备36可包括附加存储(可移动存储48和/或不可移动存储50),包括但不限于,磁盘或光盘、磁带、闪存、智能卡或其组合。诸如存储器部分40、44、46、48和50等计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、兼容通用串行总线(USB)的存储器、智能卡、或能用于存储所需信息且可以由计算设备36访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备36的一部分。
计算设备36还可包含通信连接56,其允许计算设备36与另一计算设备、本地服务(例如,企业服务)、远程服务(例如,名声确定服务)或其组合进行通信。通信连接56是通信介质的一个示例。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。计算设备36也可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备54。也可以包括诸如显示器、扬声器、打印机等输出设备52。
利用名声来授权软件的各实施例可以在计算设备(例如,计算设备36)上执行。图6和以下讨论提供了其中可实现这一计算设备的合适计算环境的简要概括描述。尽管并非必需,但利用软件名声来授权软件的各方面可以在诸如程序模块等由诸如客户机工作站或服务器等计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,利用名声来授权软件可用其它计算机系统配置来实施,包括手持设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、网络PC、小型机、大型机等。此外,利用名声来授权软件也可以在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
计算机系统可被大致分为三个组件分组:硬件组件、硬件/软件接口系统组件、以及应用程序组件(也被称为“用户组件”或“软件组件”)。在计算机系统的各实施例中,硬件组件可包括中央处理单元(CPU)621、存储器(ROM664和RAM 625两者)、基本输入/输出系统(BIOS)666、以及诸如键盘640、鼠标642、监视器647和/或打印机(未示出)等各种输入/输出(I/O)设备。硬件组件包括计算机系统的基本物理基础结构。
应用程序组件包括各种软件程序,包括但不限于编译器、数据库系统、文字处理程序、商用程序、视频游戏等。应用程序提供用于利用计算机资源来解决问题、提供解决方案、及处理各种用户(机器、其他计算机系统和/或最终用户)的数据的手段。
硬件/软件接口系统组件包括(并且在某些实施例中只包括)操作系统,其本身在大多数情况下包括外壳和内核。“操作系统”(OS)是担当应用程序和计算机硬件之间中介的特殊程序。硬件/软件接口系统组件还可以包括虚拟机管理器(VMM)、公共语言运行库(CLR)或其功能等效物、Java虚拟机(JVM)或其功能等效物、或者作为对计算机系统中的操作系统的替换或补充的其他这样的软件组件。硬件/软件接口系统的目的在于提供用户可在其中执行应用程序的环境。
硬件/软件接口系统通常在启动时被加载到计算机系统中,并且之后管理计算机系统中的所有应用程序。应用程序通过经由应用程序接口(API)请求服务来与硬件/软件接口系统交互。某些应用程序使得最终用户能够经由诸如命令语言或图形用户界面(GUI)等用户界面来与硬件/软件接口系统交互。
硬件/软件接口系统传统上执行用于应用程序的各种服务。在其中多个程序同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定各应用程序应该以何种次序运行以及在作为轮换切换至另一应用程序之前应该允许每一个应用程序运行多长时间。硬件/软件接口系统还管理多个应用程序之间的内部存储器的共享,并且处理来自诸如硬盘、打印机和拨号端口等附连硬件设备的输入以及对其的输出。硬件/软件接口系统还将关于操作的状态和可能已发生的任何错误的消息发送给每一个应用程序(并且在特定情况下发送给最终用户)。硬件/软件接口系统还可卸载批作业(例如,打印)的管理以使得启动应用程序免除该工作并能够继续执行其他处理和/或操作。在能提供并行处理的计算机上,硬件/软件接口系统还管理程序的划分以使其能在同时在多于一个的处理器上运行。
硬件/软件接口系统外壳(被称为“外壳”)是到硬件/软件接口系统的交互式最终用户接口。(外壳也称为“命令解释程序”,或在操作系统中被称为“操作系统外壳”)。外壳是可直接由应用程序和/或最终用户访问的硬件/软件接口系统的外层。与外壳相反,内核是直接与硬件组件交互的硬件/软件接口系统的最内层。
如图6所示,示例性通用计算系统包括常规计算设备660等,该计算设备包括处理单元621、系统存储器662和将包括系统存储器的各种系统组件耦合到处理单元621的系统总线623。系统总线623可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM)664和随机存取存储器(RAM)625。基本输入/输出系统(BIOS)666被存储在ROM 664中,它包含帮助在诸如启动期间在计算设备660内的元件之间传递信息的基本例程。计算设备660还可包括对硬盘(未示出)读写的硬盘驱动器627、对可移动磁盘629(例如,软盘、移动存储)读写的磁盘驱动器628(例如,软盘)、以及对诸如CD-ROM或其它光学介质的可移动光盘631读写的光盘驱动器630。硬盘驱动器627、磁盘驱动器628和光盘驱动器630分别通过硬盘驱动器接口632、磁盘驱动器接口633和光盘驱动器接口634来连接到系统总线623。驱动器及其相关联的计算机可读介质为计算设备660提供了对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。虽然此处所描述的示例性环境采用了硬盘、可移动磁盘629和可移动光盘631,但本领域的技术人员可以理解,在示例性操作环境中也可以使用可储存可由计算机访问的数据的其它类型的计算机可读介质,如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。同样,该示例性环境还可包括诸如热传感器和安全或火警系统等许多类型的监控设备,以及其它信息源。
多个程序模块可被存储在硬盘、磁盘629、光盘631、ROM 664或RAM 625中,包括操作系统635、一个或多个应用程序636、其它程序模块637和程序数据638。用户可通过诸如键盘640和定点设备642(例如,鼠标)等输入设备将命令和信息输入到计算设备660中。其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的串行端口接口646连接至处理单元621,但也可以由其它接口,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器647或其它类型的显示设备也经由接口,诸如视频适配器648连接至系统总线623。除了监视器647之外,计算机通常包括其它外围输出设备(未示出),诸如扬声器或打印机等。图6的示例性环境还包括主机适配器655、小型计算机系统接口(SCSI)总线656和连接到SCSI总线656的外部存储设备662。
计算设备660可使用至诸如远程计算机649等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机649可以是另一计算设备(例如,个人计算机)、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算设备660描述的许多或所有元件,尽管在图6中只示出了存储器存储设备650(软盘)。图6所描绘的逻辑连接包括局域网(LAN)651和广域网(WAN)652。这样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
当在LAN联网环境中使用时,计算设备660通过网络接口或适配器653连接至LAN 651。当在WAN联网环境中使用时,计算设备660可包括调制解调器654或用于通过诸如因特网等广域网652来建立通信的其它装置。或为内置或为外置的调制解调器654经由串行端口接口646连接到系统总线623。在网络化环境中,相对于计算设备660描绘的程序模块或其部分可被储存在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
虽然可以想象利用软件的名声来授权软件的众多实施例尤其适用于计算机化的系统,但本文并不旨在将本发明限于这些实施例。相反,此处所使用的术语“计算机系统”旨在包括能够存储和处理信息和/或能够使用所存储的信息来控制设备本身的行为或执行的任何及所有设备,而不管那些设备本质上是电子的、机械的、逻辑的、还是虚拟的。
此处所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。由此,利用软件的名声来授权软件的方法和装置或其某些方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于利用软件的名声来授权软件的装置。
如果需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是编译的或解释的语言,且与硬件实现相结合。利用软件的名声来授权软件的方法和装置也可以经由以通过某种传输介质传输的程序代码的形式体现的通信来实现,比如通过电线或电缆、通过光纤或经由任何其它传输形式,其中,当程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机等机器接收、加载并执行时,该机器成为用于利用软件的名声来授权软件的装置。当在通用处理器上实现时,程序代码与处理器相结合来提供一种用于调用利用软件的名声的软件授权的功能的独特装置。另外,结合利用软件的名声来授权软件使用的任何存储技术总是可以是硬件和软件的组合。
尽管结合各附图的示例实施例描述了利用软件的名声来授权软件,但是可以理解,可以使用其它类似的实施例,或可以对所描述的实施例进行修改或添加来执行利用软件的名声的软件授权的相同功能而不背离本发明。因此,此处所描述的利用软件的名声来授权软件不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (8)

1.一种用于授权软件的方法,包括:
接收软件(22);
确定所接收到的软件的名声(30),其中所述名声至少部分基于从用户与软件的交互中的得到的统计数据,包括:
请求所接收到的软件的名声;
响应于请求所述名声:
接收分别指示所接收到的软件的名声的多个信号;以及
聚集所述多个信号所指示的名声以生成聚集名声;
将经确定的名声分配给软件的强名称,其中强名称是通过对软件的版本号执行散列函数来获取的;
基于所述强名称和所分配的名声来确定所述软件的发布者和作者中的至少一个中的信用(24);以及
如果所接收到的软件的名声被确定为可接受并且所述发布者和作者中的至少一个被确定为可信,则授权所接收到的软件(32、34),
其中所述软件的名声受到关联的影响,使得当所述软件被检测到与具有坏名声的软件交互时,则相应地调整所述软件的名声。
2.如权利要求1所述的方法,其特征在于,所述信用是根据与所述软件相关联的数字签名和/或真品证书来确定的。
3.如权利要求1所述的方法,其特征在于,确定所述信用包括标识所述软件的发布者和作者中的至少一个。
4.如权利要求1所述的方法,其特征在于,所接收到的软件包括所述软件的名声的指示。
5.一种用于授权软件的系统,包括:
用于接收软件的装置;
用于确定所接收到的软件的名声的装置,其中所述名声至少部分基于从用户与软件的交互中的得到的统计数据,其进一步包括:
用于请求所接收到的软件的名声的装置;
用于响应于请求所述名声:
接收分别指示所接收到的软件的名声的多个信号;以及
聚集所述多个信号所指示的名声以生成聚集名声的装置;
用于将经确定的名声分配给软件的强名称的装置,其中强名称是通过对软件的版本号执行散列函数来获取的;
用于基于所述强名称和所分配的名声来确定所述软件的发布者和作者中的至少一个中的信用的装置;以及
用于如果所接收到的软件的名声被确定为可接受并且所述发布者和作者中的至少一个被确定为可信,则授权所接收到的软件的装置,
其中所述软件的名声受到关联的影响,使得当所述软件被检测到与具有坏名声的软件交互时,则相应地调整所述软件的名声。
6.如权利要求5所述的系统,其特征在于,所述信用是根据与所述软件相关联的数字签名和/或真品证书来确定的。
7.如权利要求5所述的系统,其特征在于,确定所述信用包括标识所述软件的发布者和作者中的至少一个。
8.如权利要求5所述的系统,其特征在于,所接收到的软件包括所述软件的名声的指示。
CN200780032404.7A 2006-08-31 2007-08-06 利用软件名声的软件授权 Active CN101512512B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/515,160 US8615801B2 (en) 2006-08-31 2006-08-31 Software authorization utilizing software reputation
US11/515,160 2006-08-31
PCT/US2007/017509 WO2008027164A1 (en) 2006-08-31 2007-08-06 Software authorization utilizing software reputation

Publications (2)

Publication Number Publication Date
CN101512512A CN101512512A (zh) 2009-08-19
CN101512512B true CN101512512B (zh) 2015-10-21

Family

ID=39136230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780032404.7A Active CN101512512B (zh) 2006-08-31 2007-08-06 利用软件名声的软件授权

Country Status (5)

Country Link
US (1) US8615801B2 (zh)
KR (1) KR20090043530A (zh)
CN (1) CN101512512B (zh)
TW (1) TW200824401A (zh)
WO (1) WO2008027164A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495538B2 (en) * 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
US20100211772A1 (en) * 2009-02-16 2010-08-19 Bjorn Johansson Collaborative Reconciliation of Application Trustworthiness
US8347382B2 (en) * 2009-12-17 2013-01-01 International Business Machines Corporation Malicious software prevention using shared information
US8671449B1 (en) * 2010-11-10 2014-03-11 Symantec Corporation Systems and methods for identifying potential malware
WO2012088663A1 (zh) * 2010-12-28 2012-07-05 北京邮电大学 具有版权保护特性的数字水印作品及其生成方法
TWI461953B (zh) 2012-07-12 2014-11-21 Ind Tech Res Inst 運算環境安全方法和電子運算系統
RU2536663C2 (ru) 2012-12-25 2014-12-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты от нелегального использования облачных инфраструктур
JP2014229056A (ja) * 2013-05-22 2014-12-08 株式会社東芝 電子機器、制御方法およびプログラム
TWI510019B (zh) 2013-05-31 2015-11-21 Wistron Neweb Corp 自動診斷系統及自動診斷方法
US10069843B2 (en) * 2013-06-25 2018-09-04 Fedex Corporation Transport communication management
US20150007330A1 (en) * 2013-06-26 2015-01-01 Sap Ag Scoring security risks of web browser extensions
US10666677B2 (en) * 2013-09-23 2020-05-26 New York University System, method and computer-accessible medium for deterrence of malware
US10491587B2 (en) * 2013-10-28 2019-11-26 Singou Technology Ltd. Method and device for information system access authentication
US10885010B2 (en) 2013-12-18 2021-01-05 Federal Express Corporation Methods and systems for data structure optimization
US10083295B2 (en) * 2014-12-23 2018-09-25 Mcafee, Llc System and method to combine multiple reputations
US10834109B2 (en) * 2014-12-23 2020-11-10 Mcafee, Llc Determining a reputation for a process
US10185480B1 (en) * 2015-06-15 2019-01-22 Symantec Corporation Systems and methods for automatically making selections in user interfaces
CN108074071B (zh) * 2016-11-18 2021-06-18 腾讯科技(深圳)有限公司 一种项目数据处理方法及装置
US10419488B2 (en) * 2017-03-03 2019-09-17 Microsoft Technology Licensing, Llc Delegating security policy management authority to managed accounts
US10511632B2 (en) 2017-03-03 2019-12-17 Microsoft Technology Licensing, Llc Incremental security policy development for an enterprise network
US10445487B2 (en) * 2017-07-20 2019-10-15 Singou Technology (Macau) Ltd. Methods and apparatus for authentication of joint account login
US10581910B2 (en) 2017-12-01 2020-03-03 KnowBe4, Inc. Systems and methods for AIDA based A/B testing
CN115185544A (zh) * 2021-04-07 2022-10-14 花瓣云科技有限公司 一种应用处理的方法以及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090661A (ko) * 2000-04-10 2001-10-19 정호표 쌍방 대화형의 소프트웨어 평가 및 활용 방법
CN1550950A (zh) * 2003-05-09 2004-12-01 防护计算机系统使之免受恶意软件破坏的方法和系统
WO2005081665A2 (en) * 2004-02-17 2005-09-09 Microsoft Corporation User interface accorded to tiered object related trust decisions
CN1745376A (zh) * 2002-12-23 2006-03-08 微软公司 用于网络服务的信誉系统
CN1766778A (zh) * 2004-10-29 2006-05-03 微软公司 用户可修改文件的有效白名单

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825877A (en) 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US6154844A (en) 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US5958051A (en) * 1996-11-27 1999-09-28 Sun Microsystems, Inc. Implementing digital signatures for data streams and data archives
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6381741B1 (en) 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
US6381698B1 (en) 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
US6167521A (en) 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6275937B1 (en) * 1997-11-06 2001-08-14 International Business Machines Corporation Collaborative server processing of content and meta-information with application to virus checking in a server network
JP2001202013A (ja) * 2000-01-21 2001-07-27 Nec Corp 匿名参加権限管理システム
US7055040B2 (en) 1999-04-02 2006-05-30 Hewlett-Packard Development Company, L.P. Method and apparatus for uniquely and securely loading software to an individual computer
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6611925B1 (en) 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
US20020046041A1 (en) * 2000-06-23 2002-04-18 Ken Lang Automated reputation/trust service
EP2278429B1 (en) 2000-09-21 2014-03-12 BlackBerry Limited Software code signing system and method
US6944772B2 (en) 2001-12-26 2005-09-13 D'mitri Dozortsev System and method of enforcing executable code identity verification over the network
FR2834598B1 (fr) * 2002-01-04 2004-02-20 France Telecom Procede et dispositif de signature anonyme au moyen d'une cle privee partagee
US7386831B2 (en) 2002-01-09 2008-06-10 Siemens Communications, Inc. Interactive collaborative facility for inspection and review of software products
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US20030204730A1 (en) * 2002-04-29 2003-10-30 Barmettler James W. Secure transmission and installation of an application
US7340770B2 (en) * 2002-05-15 2008-03-04 Check Point Software Technologies, Inc. System and methodology for providing community-based security policies
US20040003390A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
GB0215911D0 (en) 2002-07-10 2002-08-21 Hewlett Packard Co Method and apparatus for encrypting data
US7694139B2 (en) 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
US7206814B2 (en) * 2003-10-09 2007-04-17 Propel Software Corporation Method and system for categorizing and processing e-mails
US7185015B2 (en) * 2003-03-14 2007-02-27 Websense, Inc. System and method of monitoring and controlling application files
US7437718B2 (en) 2003-09-05 2008-10-14 Microsoft Corporation Reviewing the security of trusted software components
US7814551B2 (en) * 2003-09-09 2010-10-12 Microsoft Corporation System and method for manifest generation
US7617519B2 (en) * 2004-03-18 2009-11-10 Microsoft Corporation System and method for intelligent recommendation with experts for user trust decisions
US8284942B2 (en) * 2004-08-24 2012-10-09 Microsoft Corporation Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US20060047766A1 (en) * 2004-08-30 2006-03-02 Squareanswer, Inc. Controlling transmission of email
US7176813B2 (en) * 2004-09-10 2007-02-13 Xanavi Informatics Corporation System and method for processing and displaying traffic information in an automotive navigation system
US20060075494A1 (en) * 2004-10-01 2006-04-06 Bertman Justin R Method and system for analyzing data for potential malware
US20060253584A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Reputation of an entity associated with a content item
US7730040B2 (en) * 2005-07-27 2010-06-01 Microsoft Corporation Feedback-driven malware detector
US7730539B2 (en) * 2005-10-21 2010-06-01 Microsoft Corporation Authenticating third party products via a secure extensibility model
US7761912B2 (en) * 2006-06-06 2010-07-20 Microsoft Corporation Reputation driven firewall
US8474004B2 (en) * 2006-07-31 2013-06-25 Telecom Italia S.P.A. System for implementing security on telecommunications terminals
US7991902B2 (en) * 2006-12-08 2011-08-02 Microsoft Corporation Reputation-based authorization decisions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090661A (ko) * 2000-04-10 2001-10-19 정호표 쌍방 대화형의 소프트웨어 평가 및 활용 방법
CN1745376A (zh) * 2002-12-23 2006-03-08 微软公司 用于网络服务的信誉系统
CN1550950A (zh) * 2003-05-09 2004-12-01 防护计算机系统使之免受恶意软件破坏的方法和系统
WO2005081665A2 (en) * 2004-02-17 2005-09-09 Microsoft Corporation User interface accorded to tiered object related trust decisions
CN1766778A (zh) * 2004-10-29 2006-05-03 微软公司 用户可修改文件的有效白名单

Also Published As

Publication number Publication date
KR20090043530A (ko) 2009-05-06
TW200824401A (en) 2008-06-01
US8615801B2 (en) 2013-12-24
CN101512512A (zh) 2009-08-19
WO2008027164A1 (en) 2008-03-06
US20080072049A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
CN101512512B (zh) 利用软件名声的软件授权
US7478246B2 (en) Method for providing a scalable trusted platform module in a hypervisor environment
Coker et al. Principles of remote attestation
JP5551130B2 (ja) サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
EP1056010A1 (en) Data integrity monitoring in trusted computing entity
US7590867B2 (en) Method and apparatus for providing secure virtualization of a trusted platform module
JP4939851B2 (ja) 情報処理端末、セキュアデバイスおよび状態処理方法
JP5611598B2 (ja) Usbトークン上の暗号化キーコンテナ
EP1055990A1 (en) Event logging in a computing platform
US20070289019A1 (en) Methodology, system and computer readable medium for detecting and managing malware threats
EP2146300A1 (en) Method and system for a platform-based trust verifying service for multi-party verification
WO2007066333A1 (en) A practical platform for high risk applications
US20060294355A1 (en) Secure variable/image storage and access
CN110321713B (zh) 基于双体系架构的可信计算平台的动态度量方法和装置
US10091213B2 (en) Systems and methods to provide secure storage
GB2403827A (en) Kernel cryptographic module signature verification system and method
US20080134348A1 (en) Conditional policies in software licenses
JP2023500433A (ja) ポリシ強制のための仮想環境タイプ検証
Gallery et al. Trusted computing: Security and applications
US20070220137A1 (en) Computer system evaluation
Maruyama et al. Linux with TCPA integrity measurement
KR101301938B1 (ko) 공유메모리를 이용하여 로그를 수집하는 방법 및 그 단말기
Feng et al. Using mobile phones to enhance computing platform trust
date Feb D02. 2 Requirements Definition and Specification

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: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant