固件实现的软件许可的制作方法

文档序号:8548099阅读:264来源:国知局
固件实现的软件许可的制作方法
【技术领域】
[0001]所公开的实施方案总体上涉及软件许可。具体来说,所公开的实施方案涉及使用固件来实现软件许可技术。
[0002]发明背景
[0003]软件许可证是管理受版权保护的软件的使用或重新分配的法律文书。典型的软件许可证授权最终用户使用软件的一个或多个副本,否则这种使用在版权法下将可能构成对软件所有人的专有权的侵犯。软件许可证可以使用计算设备来执行。
发明概要
[0004]根据一些实施方案,一种设备接收使用软件程序的请求,基于接收所述请求确定比较指示符,并基于存储在安全环境中的许可证有效性指示符和比较指示符来确定所述软件程序的许可证是否有效。所述设备在许可证被确定为有效时允许执行存储在安全环境中的安全代码,并在许可证被确定为无效时阻止执行存储在安全环境中的安全代码。
[0005]附图简述
[0006]图1A和图1B是根据一些实施方案的软件许可过程的概述图;
[0007]图2是根据一些实施方案的可以实现软件许可过程的例示性计算设备的图;
[0008]图3是根据一些实施方案的相当于图2的一个或多个组件和/或设备的设备的例示性组件的图;
[0009]图4是根据一些实施方案的相当于图2的一个或多个组件和/或设备的例示性功能组件的图;
[0010]图5是根据一些实施方案的用于评估和实施软件许可证的例示性过程的流程图;以及
[0011]图6至9是关于图5中所示的例示性过程的例示性实施方案的图。
【具体实施方式】
[0012]例示性实施方案的以下详细描述参照附图。不同图示中的相同参考数字可以表示相同或类似的元件。
[0013]软件许可证管理软件(例如专利受保护的软件和/或版权受保护的软件)的使用或重新分配。软件许可证实施技术包括软件实现实施技术、硬件实现实施技术和服务器实现实施技术。软件实现实施技术消耗大量的计算机资源,降低软件性能,且容易被黑客规避。硬件实现实施技术需要附加硬件,其可能昂贵和不方便。服务器实现实施技术需要互联网连接,其可能不可用。
[0014]本文所描述的实施方案提供了一种固件实现许可证实施技术,这种技术消除了许多与软件实现技术、硬件实现技术和服务器实现技术相关的问题。例如,固件实现实施技术提供高水平安全性、不容易被规避、不需要附加硬件,而且不需要互联网连接。
[0015]图1A和图1B是根据一些实施方案的软件许可过程100的概述图。如图1A中所示,软件许可过程100包括许可程序、计算设备和包括许可证评估器和许可证实施器的安全环境。在软件许可过程100中,许可程序是软件程序,计算设备是计算机,安全环境包括包括在所述计算设备中的固件,且许可证评估器和许可证实施器是安全环境的组件。
[0016]在一些实施方案中,所述计算设备包括片上系统(SoC),该片上系统包括一个或多个处理器核心(例如,中央处理单元核心、图形处理单元核心等)和专用硬件(例如,专用安全处理器),用于实现安全环境。在一些实施方案中,计算设备包括片上系统(SoC),该片上系统包括一个或多个处理器核心(例如,中央处理单元核心、图形处理单元核心等)和基于硬件的访问控制机制。在这些实施方案中,SoC实现两个或更多个虚拟处理器,所述虚拟处理器包括实现安全环境的至少一个虚拟安全处理器和不实现安全环境的至少一个虚拟标准处理器(在本文中被称为“非安全环境”)。基于硬件的访问控制机制管理(或另外控制)访问所述虚拟安全处理器(例如所述安全环境)。例如,基于硬件的访问控制机制可以在全局切换到安全环境和从安全环境的全局切换已经发生时通知应用程序、外围设备等,且可以在安全环境或非安全环境中实施安全政策。所述的两个或更多个虚拟处理器利用所述SoC的资源(例如,中央处理单元核心、图形处理单元核心等)。换句话说,在这些实施方案中,SoC不包括实现安全环境的专用硬件(例如,专用安全处理器)。
[0017]如图1A中所示,许可程序被安装在计算设备上。计算设备生成许可证有效性指示符,其被发送到许可证评估器并存储在安全环境中(例如,在安全存储器例如非易失性存储器中)。在一些实施方案中,许可证有效性指示符是基于用于安装/执行许可程序的许可证密钥和与计算设备相关的系统识别符。在一些实施方案中,许可证有效性指示符是基于当许可程序被安装在计算设备上时所确定的系统时间。系统时间是指时间推移的计算机(例如,计算设备210)指示。例如,系统时间可以由计算设备210的系统时钟来测量,该系统时钟计数自从特定日期/时间以来已经经过的时间计数。系统时间还可以指系统时间至标准日历时间的转换。
[0018]如图1B中所示,计算设备的用户请求使用许可程序。计算设备基于被许可证评估器存储在安全环境中的许可证有效性指示符来确定许可程序的许可证是否有效。在确定许可证有效之后,许可证评估器向许可证实施器发送有效性通知。基于确定许可证有效(例如经由有效性通知),许可证实施器执行安全代码(例如,被计算设备安装在安全环境中和/或在安全环境中执行),或者解密安全代码和/或信息(例如,使用在安全环境中存储和/或执行的解密算法)。所述执行和/或解密允许计算设备执行许可程序的基本功能。
[0019]图2是根据一些实施方案的可以实现软件许可过程的例示性计算设备210的图。如图2中所示,计算设备210包括许可程序220和安全环境230。
[0020]计算设备210包括能够执行软件程序和在存储器中存储信息的计算设备。例如,计算设备210可以包括台式计算机、膝上型计算机、平板计算机、服务器计算机、移动电话或能够执行软件和存储信息的另一种计算设备。
[0021]许可程序220包括能够被计算设备例如计算设备210执行的计算机程序。例如,许可程序220可以包括软件程序和/或应用程序,例如照片/视频编辑器、照片/视频浏览器、文件存档器、音乐播放器、游戏、商业应用程序(例如,文字处理器、电子数据表程序等)等。许可程序220与许可证相关联,该许可证在许可程序220可以被计算设备210执行之前必须被验证。在一些实施方案中,许可程序220被计算设备210安装并存储在非易失性存储器(例如,存储设备例如硬盘驱动器、固态磁盘驱动器等)中。
[0022]安全环境230包括存储供计算设备210用的信息和/或指令的存储器。在一些实施方案中,安全环境230包括在未通电时(例如当安全环境230和/或计算设备210未通电时)保留存储信息的非易失性存储器,例如只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、快闪存储器、硬盘驱动器等。安全环境230还可以包括固件,例如非易失性存储器和存储在非易失性存储器中的程序代码和/或信息的组合。另外或替代地,安全环境230包括在专用安全处理器上运行的固件。在一些实施方案中,安全环境230被整合到安全执行环境中,例如整合到处理器中的安全资产管理单元(SAMU)环境。在一些实施方案中,安全环境230是作为如本文所述的至少一个虚拟安全处理器而被实现。
[0023]图2中示出的设备/组件的数量是为了解释目的而提供。实际上,相比于图2中示出的设备/组件,可以有额外的设备/组件、更少的设备/组件、不同的设备/组件或不同配置的设备/组件。此外,图2中示出的两个或更多个设备/组件可以在单一设备/组件内实现,或图2中示出的单一设备/组件可以被实现成多个分散式设备/组件。另外,图2中示出的设备/组件中的一个或多个可以执行被描述为由图2中示出的另外一个或多个设备/组件执行的一个或多个功能。图2中示出的设备/组件可以经由有线连接、无线连接或有线和无线连接的组合而互连。
[0024]图3是相当于图2的一个或多个组件和/或设备的设备300的例示性组件的图。如图3中所示,设备300包括总线310、处理器320、主存储器330、非易失性存储器340、存储组件350、输入组件360、输出组件370和通信接口 380。
[0025]总线310包括允许在设备300的组件之间通信的路径。处理器320包括解释和/或执行指令的处理设备(例如,一个或多个中央处理单元核心、一个或多个图形处理单元核心、一个或多个加速处理单元、专用集成电路、数字信号处理器等)。在一些实施方案中,处理器320包括一个或多个处理器核心。另外或替代地,处理器320可以包括处理单元的组合(例如,一个或多个中央处理单元核心和一个或多个图形处理单元核心等)。
[0026]主存储器330包括一个或多个随机存取存储器(RAM)或其它类型的动态和/或易失性存储设备,所述设备存储用于被处理器320执行的信息和指令。非易失性存储器340包括一个或多个ROM组件或其它类型的静态和/或非易失性存储设备,所述设备存储供处理器320使用的静态信息和/或指令。在一些实施方案中,非易失性存储器340被包括在安全环境230中。存储组件350包括磁
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1