用于管理计算机芯片模块中可信应用程序的系统和方法

文档序号:39294 发布日期:2021-09-24 浏览:37次 >En<

阅读说明:本技术 用于管理计算机芯片模块中可信应用程序的系统和方法 (System and method for managing trusted applications in a computer chip module ) 是由 米哈伊·沃伊库 马蒂诺·图尔卡托 于 2019-12-19 设计创作,主要内容包括:用于管理计算机芯片模块中可信应用的系统和方法包括生成可信应用程序包(TAP),可信应用程序包TAP包括应用程序和激活码,其中TAP用密码加密,并且其中激活码被存储在计算机的存储器中;从计算机芯片模块接收公钥,其中公钥是由计算机芯片模块生成的一对非对称传输密钥的一部分,并且其中一对非对称传输密钥还包括私钥;用公钥对密码加密;将经加密的密码发送给计算机芯片模块,其中计算机芯片模块被配置为使用私钥对密码进行解密;以及将TAP传输到计算机芯片模块,其中TAP存储在计算机芯片模块上的专用文件夹中。(Systems and methods for managing trusted applications in a computer chip module include generating a Trusted Application Package (TAP), the trusted application package TAP including an application and an activation code, wherein the TAP is encrypted with a password, and wherein the activation code is stored in a memory of a computer; receiving a public key from the computer chip module, wherein the public key is part of a pair of asymmetric transmission keys generated by the computer chip module, and wherein the pair of asymmetric transmission keys further comprises a private key; encrypting the password by using a public key; sending the encrypted password to a computer chip module, wherein the computer chip module is configured to decrypt the password using a private key; and transmitting the TAP to the computer chip module, wherein the TAP is stored in a dedicated folder on the computer chip module.)

用于管理计算机芯片模块中可信应用程序的系统和方法

相关申请的交叉引用

本申请要求于2018年12月19日提交的临时申请号为No.62/782,062、名称为“管理模块中的可信应用程序”的权益,其全部内容通过引用纳入本文。

技术领域

本发明一般涉及管理可信应用程序,更具体地涉及用于管理计算机芯片模块中可信应用程序的系统和方法。

背景技术

“物联网”(IoT)是具有电子器件、传感器、软件和网络连接的通信设备(例如,“智能”设备)的互连网络。IOT设备可以部署为监控技术设备,例如汽车、安全系统、包括生物植入物的医疗设备、家用电器等。IOT设备可以测量和/或手机有关其部署环境的数据。IoT通信设备可以具有电信收发器或调制解调器,其允许IoT通信设备经由无线网络(例如,因特网)向/从监控设备发送和/或接收数据,IoT通信设备可以具有硬连线、串行连接或其它本地接口。IOT设备可以包括芯片组或计算机模块(例如,包括一个或多个芯片),例如由泰利特股份有限公司(Telit,Inc.)生产的ME910C1-E2系列芯片组,其使得设备能够与通信网络(例如,蜂窝网络或其他网络)通信。

IoT设备可以在其计算机芯片模块中安装应用程序,其根据需要启用各种功能,例如监控、通信等。这些应用程序可以预先安装,或者可以由,例如,服务提供商、供应商等远程安装。然而,当前的IoT设备不具备让服务提供商控制如何和何时从设备安装、运行、读取和/或删除此类应用程序,和/或防止设备所有者或恶意第三方滥用的能力。

发明内容

本发明的各种实施方式包括用于管理计算机芯片模块中可信应用程序的系统和方法。一些实施方式可以包括计算机,其具有处理器和存储器,以及存储在存储器中且在处理器中执行的一个或多个代码集,该一个或多个代码集将处理器配置为:生成可信应用包(TAP),TAP包括应用程序和激活码,其中用密码加密TAP,且其中激活码存储在计算机的存储器中;从计算机芯片模块接收公钥,其中公钥是由计算机芯片模块生成的一对非对称传输密钥的一部分,并且其中一对非对称传输密钥还包括私钥;用公钥来加密密码;将经加密的密码传输到计算机芯片模块,其中计算机芯片模块被配置为使用私钥对密码进行解密;以及将TAP传输到计算机芯片模块,其中TAP被存储在计算机芯片模块上的专用文件夹中。

在本发明的一些实施方式中,传输经由无线网络进行。在一些实施方式中,传输经由本地接口和物理连接的串行连接中的至少一者进行。在一些实施方式中,密码存储在计算机芯片模块上的密码存储器中。在一些实施方式中,处理器还被配置为:从存储器中检索激活码;将运行命令和激活码传输到计算机芯片模块;其中在接收到运行命令和激活码后,计算机芯片模块被配置为:从密码存储器中检索密码;从专用文件夹中检索TAP;使用密码对TAP进行解密;将与运行命令一起传输的激活码和TAP中的激活码进行比较;以及

只有当两个激活码相同时才执行该应用程序。

在一些实施方式中,应用程序在计算机芯片模块中的专用应用环境中执行。在一些实施方式中,处理器还被配置为:从存储器中检索激活码;以及将读取命令和激活码一起传输到计算机芯片模块;其中当接收到读取命令和激活码后,计算机芯片模块被配置为:从密码存储器中检索密码;从专用文件夹中检索TAP;使用密码对TAP进行解密;将与读取命令一起传输的激活码和TAP中的激活码进行比较;以及仅当两个激活码相同时才读取应用程序。

在一些实施方式中,处理器还被配置为:从存储器中检索激活码;将覆盖/写入命令和激活码传输到计算机芯片模块;其中当接收到覆盖/写入命令和激活码后,计算机芯片模块被配置为:从密码存储器中检索密码;从专用文件夹中检索TAP;使用密码对TAP进行解密;将覆盖/写入命令一起传输的激活码与TAP中的激活码进行比较;以及仅当两个激活码相同时才对应用程序进行覆盖和写入中的至少一者。

在一些实施方式中,处理器进一步被配置为:从存储器中检索激活码;将删除命令和激活码一起传输到计算机芯片模块;其中,当接收到删除命令和激活码后,计算机芯片模块被配置为:从密码存储器中检索密码;从专用文件夹中检索TAP;使用密码对TAP进行解密;将与删除命令一起传输的激活码与TAP中的激活码进行比较;以及仅当两个激活码相同时才从专用文件夹中删除该应用程序。

在一些实施方式中,计算机芯片模块集成在物联网(IoT)设备中。

参考本发明的某些实施例的以下描述将理解这些和其他方面,特征和优点。

附图说明

在说明书的结论部分特别指出并清楚地要求保护本发明的主题。然而,当与附图一起阅读时,通过参考以下详细描述,可以最好地理解本发明的组织和操作方法以及其目的,特征和优点。在附图中以示例而非限制的方式示出了本发明的实施例,其中相同的附图标记表示相应的,类似的或相似的元件,其中:

图1示出了说明根据本发明的至少一个实施方式的用于管理计算机芯片模块中可信应用程序的系统的示例配置的高级图;

图2是说明根据本发明的至少一个实施方式的用于生成可信应用程序包(下文中称为“TAP”)的示例方法的高级图;

图3是说明根据本发明的至少一个实施方式的用于将TAP加载到计算机芯片模块中的示例方法300的高级概述图;

图4是说明根据本发明的至少一个实施方式的用于从计算机芯片模块中删除TAP的示例方法的高级概述图;

图5是说明用于在管理计算机芯片模块中的可信应用程序时加载应用程序的方法工作流的示例配置的高级图;

图6是说明根据本发明的至少一个实施方式的用于在管理计算机芯片模块中的可信应用程序时执行应用程序的方法工作流的示例配置的高级图;以及

图7是说明根据本发明的至少一个实施方式的用于在管理计算机芯片模块中可信应用程序时删除应用程序的方法工作流的示例配置的高级图。

应当理解,为了简单和清楚地举例说明,图中所示的元件未必精确或按比例绘制。例如,为了清楚起见,一些元件的尺寸可以相对于其它元件被放大,或者几个物理组件可以包括在一个功能块或元件中。此外,在认为适当的情况下,附图标记可以在图中重复以指示对应或类似的元件。

具体实施方式

在以下描述中,将描述本发明的各个方面。出于解释的目的,阐述了具体配置和细节以便提供对本发明的透彻理解。然而,本领域技术人员还将明白,可以在没有本文中给出的具体细节的情况下实施本发明。此外,为了不模糊本发明,可以省略或简化公知的特征。

虽然本发明的实施方式不限于此方面,但利用术语,例如,“处理”、“计算(computing)”、“计算(calculating)”、“确定”、“建立”、“分析”、“检查”等的讨论可以指计算机、计算平台、计算系统或其它电子计算设备的操作和/或过程。这些设备将代表计算机的寄存器和/或存储器内的物理(例如,电子)量的数据操纵和/或转换成类似地表示计算机的寄存器和/或存储器或可以存储指令的其他信息非暂时性处理器可读存储介质内的物理量的其他数据,当这些指令由处理器执行时,使处理器执行操作和/或过程。虽然本发明的实施例不限于此方面,但如本文所用的术语“多数”和“多个”可以包括例如,“多种”或“两个或更多个”。“多数”或“多个”可以在整个说明书中用于描述两个或更多个组件、设备、元件、单元、参数等。当在本文使用时,术语集合可以包括一个或多个项目。除非明确陈述,否则在本文描述的方法实施例不限于特定顺序或次序。附加地,描述的方法实施方式或其元件中的一些可以同时,在相同的时间点或并发发生或执行。

本发明的实施方式提供了用于管理计算机芯片模块中可信应用程序的系统和方法。例如,本发明的实施方式使用户(例如,客户、供应商、服务提供商等)能够管理和控制如何和何时将应用写入、安装、运行、读取和/或从安装在物联网(IoT)设备中或以其他方式与IoT设备集成的计算机芯片模块中删除,和/或防止设备所有者/用户处理器/或恶意第三方的滥用。由于驻留在IoT设备中的计算机芯片模块上的应用程序的管理器的可信特性,实现所需的各种功能(例如,监测、通信等)的此类应用程序在本文称为可信应用程序。

图1示出了说明根据本发明的至少一个实施方式的用于管理计算机芯片模块中可信应用程序的系统100的示例配置的高级图。系统100包括网络105,其可以包括专用操作网络、因特网、一个或多个电话网络、包括局域网(LAN)和广域网(WAN)的一个或多个网络段、一个或多个无线网络、一个或多个本地接口、一个或多个物理连接(例如,串行连接)接口和/或其组合。例如,在一些实施例中,网络105可以包括专用IoT无线网络平台和/或本地命令接口(例如,在客户环境中)。在一些实施方式中,系统100可以包括根据本发明的一个或多个实施方式构造的系统服务器110。在一些实施方式中,系统服务器110可以是独立的计算机系统。在其它实施方式中,系统服务器110可以包括通过网络105通信的操作性连接的计算设备的分散网络。因此,系统服务器110可以包括多个其他处理机,例如,计算机,更具体地,固定设备、移动设备,终端和/或计算机服务器(统称为“计算设备”)。例如,与这些计算设备的通信可以通过可访问网络105的其他机器直接或间接地进行。

系统服务器110可以是能够与计算设备、其它远程设备或计算网络通信,并且接收、发送和存储如在本文进一步描述的电子信息以及处理请求的任何合适的计算设备和/或数据处理装置。因此,系统服务器110旨在表示各种形式的数字计算机,例如,膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、边缘服务器、主机以及能够采用在本文描述的系统和方法的其它适当的计算机和/或联网的或基于云的计算系统。

在一些实施方式中,系统服务器110可以包括服务器处理器115,其操作性连接到用于启用系统100的操作的各种硬件和软件组件。服务器处理器115可以用于执行指令以执行与在本文更详细描述的本发明的实施方式的各种功能相关的各种操作。服务器处理器115可以是一个或多个处理器,中央处理单元(CPU)、图形处理单元(GPU)、多处理器核或任何其它类型的处理器,这取决于具体实现。

系统服务器110可以被配置为经由通信接口120与连接到网络105的各种其他设备通信。例如,通信接口120可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发送器/接收器、例如,蓝牙无线连接、蜂窝、5G、近场通信(NFC)协议、窄带物联网(NB-IoT)、卫星通信发送器/接收器、红外端口、USB连接和/或用于将系统服务器110连接到其它计算设备和/或通信网络(例如,专用网络和因特网)的任何其它此类接口。

在某些实施方案中,服务器存储器125可以由服务器处理器115访问,从而使服务器处理器115能够接收并执行以一个或多个软件模块130的形式存储在存储器和/或存储装置中的诸如代码的指令,每个模块表示一个或多个代码集。软件模块130可以包括一个或多个软件程序或应用程序(统称为“服务器应用程序”),其具有计算机程序代码或指令集,该计算机程序代码或指令集部分或全部在服务器处理器115中执行以进行在本文所公开的系统和方法的各方面的操作,并且可以以一种或多种编程语言的任何组合来编写。服务器处理器115可以被配置为通过例如,执行代码或软件来进行本发明的实施方案,并且可以执行如本文所述的模块的功能。一个或多个软件模块130可以由服务器处理器115执行,以便于系统服务器110与系统100的各种软件和硬件组件(例如,如本文所述的服务器数据库135和IoT计算机芯片模块140、IoT设备175)之间的交互和/或各种执行功能。

当然,在一些实施例中,服务器模块130可以包括更多或更少的可以执行以启用本发明的这些和其他功能的实际模块。因此,在本文描述的模块旨在表示根据本发明的一些实施例的系统服务器110的各种功能。应当注意,根据本发明的各种实施方式,服务器模块130可以作为独立软件包全部在系统服务器110上执行,部分在系统服务器110上并且部分在IoT计算机芯片模块140中的一个或多个上执行,或者全部在IoT计算机芯片模块140上执行。

服务器存储器125可以是,例如,随机存取存储器(RAM)或任何其它合适的易失性或非易失性计算机可读存储介质。服务器存储器125还可以包括可采取各种形式的存储装置,这取决于具体实施方案。例如,存储器可以包括一个或多个组件或设备,例如硬盘驱动器、闪存、可重写光盘、可重写磁带或上述的一些组合。此外,存储器和/或存储设备可以是固定的或可移动的。此外,存储器和/或存储装置可以是系统服务器110本地的或位于远程的。

根据本发明的其它实施方式,系统服务器110可以,例如,直接地或经由网络105远程地连接到一个或多个数据库135。数据库135可以包括如本文所述的任何存储器配置,并且可以与系统服务器110直接或间接通信。在一些实施例中,数据库135可以存储与本发明的一个或多个方面相关的信息。

如本文所述,在网络105上或连接到网络105的计算设备中,可以是一个或多个IoT计算机芯片模块140。IoT计算机芯片模块140可以是任何标准计算设备或可以是任何标准计算设备的一部分。如本文所理解的,根据一个或多个实施方式,计算设备可以是固定计算设备,例如台式计算机、自助服务终端和/或其他机器,其中的每一个通常具有一个或多个处理器,例如,配置为执行代码以实现各种功能的IoT处理器145、用于连接到网络105的IoT通信接口150、计算机可读存储器例如IoT存储器155、一个或多个IoT软件模块例如IoT软件模块160、一个或多个输入设备例如输入设备165、以及一个或多个输出设备例如输出设备170。典型的输入设备,例如输入设备165,可以包括键盘、定点设备(例如,鼠标或数字化手写笔、web照相机和/或触敏显示器等)。典型的输出设备,例如输出设备170,可以包括监视器、显示器、扬声器、打印机等中的一个或多个。

在一些实施例中,如本文所述,IoT设备175可以是使用通信接口150连接到网络105以发送和/或接收数据的任何电子设备(例如,恒温器、汽车、起搏器等)。在一些实施方式中,IoT装置175已安装或以其它方式集成在其中的IoT计算机芯片模块140。该IoT计算机芯片模块140向IoT设备175和为其提供各种处理和/或通信功能。在一些实施方式中,IoT处理器145、IoT通信接口150、IoT存储器155和IoT软件模块160可以集成在单个芯片组或计算机模块(例如,包括一个或多个芯片)例如,由泰利特股份有限公司(Telit,Inc.)生产的ME910C1-E2系列芯片组)中,其使IoT设备175能够与通信网络(例如,蜂窝网络或其它网络,例如,网络105)等进行通信。在一些实施方式中,各种输入设备165和输出设备170可以与IoT设备175集成或以其他方式成为IoT设备175的一部分,和/或可以与IoT计算机芯片模块140通信。

在一些实施方式中,IoT软件模块160可以由IoT处理器145执行以提供IoT计算机芯片模块140的各种功能。具体而言,在一些实施方式中,IoT软件模块160可以提供用户接口,其中IoT计算机芯片模块140(和/或IoT设备175)的用户可以与该用户接口交互,以便除其他事项之外,与系统服务器110通信。

附加地或可选择的地,计算设备可以是移动电子设备(“MED”),其在本领域中通常被理解为具有与上述固定设备中相同的硬件组件,并且能够实施在本文描述的系统和/或方法,但是其可以进一步包括诸如无线通信电路、陀螺仪、惯性检测电路、地理定位电路、触摸灵敏度以及其他传感器等组件。典型的MED的非限制性示例是可以通过蜂窝、NB-IoT和/或Wi-Fi网络或使用蓝牙或其它通信协议进行通信的智能手机、个人数字助理、平板计算机等。与常规的MED相关联的典型输入设备包括传感器、键盘、麦克风、加速计、触摸屏、光度计、数码相机以及能够附接其它设备的输入插孔等。

在一些实施方式中,IoT计算机芯片模块140和/或IoT设备175可以是“虚拟”终端,通过它可以在系统服务器110上或主要在系统服务器110上执行处理和计算,然后可以经由服务器通信接口120向IoT计算机芯片模块140提供信息以用于显示和/或基本数据操纵。在一些实施方式中,被描绘为在一个设备上存在和/或执行的模块可以附加地或可选择地在另一设备上存在和/或执行。例如,在一些实施方式中,服务器模块130的一个或多个模块在图1中被描绘为在系统服务器110上存在和执行,可以附加地或可选择地在IoT计算机芯片模块140上存在和/或执行。同样地,在一些实施例中,在图1中描绘为在IoT计算机芯片模块140上存在和执行的IoT软件模块160的一个或多个模块可以附加地或可选择地在系统服务器110上存在和/或执行。

在一些实施方式中,IoT存储器155可以包括用于存储数据(例如,应用程序、可信应用程序包(如本文所述的)、由IoT设备140收集的数据等)的一个或多个专用文件夹。在一些实施方式中,一个或多个专用文件夹可以是设备的存储器中的闪存分区。在一些实施方式中,IoT存储器155可以包括用于存储敏感数据或以其他方式需要较高程度的保护以防止未经授权的访问(例如,密码等)的数据的密码存储器(例如,数字库等)。

图2是说明根据本发明的至少一个实施方式的用于生成可信应用包(下文中称为“TAP”)的示例方法200的高级图。如在本文所理解的,TAP是包括至少两个主要元件的数据的安全包,(1)应用程序(例如,和应用程序二进制)以及(2)激活码,并且使用密码来加密。如图2所示,当用户205(例如,客户、服务提供商、供应商等,使用例如系统服务器110)期望管理计算机芯片模块(例如,IoT设备175上的IoT计算机芯片模块140)上的可信应用程序时,应用程序210可以与激活码215结合,并用密码220加密,以创建TAP 225。

如在本文所理解的,应用程序210可以是能够在IoT设备140中安装和执行的任何程序、代码、软件等。在本文所理解的,激活码215可以是任何唯一的或选择的码(例如,字母数字字符的组合,或其他串等),其可以附加到应用程序210或以其他方式与应用程序210组合。本文中进一步详细描述的,激活码215可以由本发明的实施方式使用以确保应用程序210及其在IoT计算机芯片模块140(例如,在安装在IoT设备175中的计算机芯片模块中)中与应用程序210通信时使用的各种命令的可信性。例如,在一些实施方式中,每个操作/命令(例如,AT#M2M写入/删除/运行/读取)在执行时必须使用与TAP中的激活码215匹配的激活码。

在各种实施例中,激活码215可以是用户生成的(例如,基于用户输入)、手动生成的、(由系统服务器110)自动生成的等。在各种实施方式中,密码220可以是用户生成的(例如,基于用户输入),(由系统服务器110)自动生成的等。在一些实施方式中,如本领域技术人员所理解的,密码220可以用于使用多种标准加密协议和方法中的一种来加密应用210和激活码215。在一些实施方式中,每个应用程序必须发送到由用户或系统管理器加密和签名的IoT计算机芯片模块140(例如,在IoT设备175中)中,作为安全控制。一旦生成了TAP,就可以经由网络105将其加载或以其他方式传送到IoT计算机芯片模块140(例如,到IoT设备175中的IoT计算机芯片模块140)中。

图3是说明根据本发明的至少一个实施方式的用于将TAP加载到计算机芯片模块中的示例方法300的高级概述图。一旦生成了TAP 225(参见图2),在步骤305,在一些实施方式中,系统处理器(例如,服务器处理器115)被配置为在服务器存储器(例如,服务器存储器125)中或者在数据库(例如,数据库135)中存储激活码215,其中激活码215可以稍后如在本文所述地被检索并使用。接下来,在步骤310,在一些实施方式中,服务器处理器115被配置为,例如,经由网络105将TAP 225传送、发送或以其他方式递送到IoT计算机芯片模块140。应当注意,虽然在图3中描述的实施方式中,TAP 225被示出为在密码220之前发送,但是在其他实施方式中,密码220可以在TAP 225之前发送(参见在本文图5的实施方式)。

在一些实施方式中,在步骤315,IoT计算机芯片模块140可以被配置为生成一对非对称传输密钥(例如,公钥和私钥,使用非对称密钥加密),然后公钥可以被发送到系统服务器110以便将密码220传送到IoT计算机芯片模块140,如在本文参考图5更详细地描述。

简而言之,非对称密钥加密是指需要两个独立的密钥的加密算法,其中一个密钥是秘密的(或私有的),另一个密钥是公共的。虽然不同,但这个密钥对的两个部分在数学上是相连的。公钥用于加密消息或数据(简称纯文本或明文)或验证数字签名;而私钥用于解密加密数据(简称密文)或创建数字签名。术语“非对称”源于使用不同的密钥来执行这些相反的功能,每一个密钥都是另一个密钥的逆——与依赖于相同密钥同时进行加密和解密的传统的(“对称”)密码学形成对比。非对称密码的强大之处在于以下事实:从其对应的公钥确定正确生成的私钥是“不可能的”(计算上不可行)。因此,在不损害安全的情况下,可以公布公钥或不采取任何保护措施,而私钥不得泄露给未经授权解密数据或执行数字签名的任何人。

在步骤320,在一些实施方式中,服务器处理器115可以被配置为用从IoT计算机芯片模块140接收的公共传输密钥来加密密码220,并将密码安全地递送到IoT计算机芯片模块140。在步骤325,在一些实施方式中,IoT处理器145可以被配置为解密密码220(例如,使用非对称密码密钥对的私钥)并将密码220存储在密码存储器(例如,IoT存储器160)中,并且在步骤330,在一些实施方式中,IoT处理器145可以被配置为将TAP 225存储在专用文件夹中以供将来使用。应当理解,密码和TAP的存储顺序可以根据实施方式而变化。

图4是说明根据本发明的至少一个实施方式的用于从计算机芯片模块中删除TAP的示例方法400的高级概述图。在一些实施方式中,在步骤405,系统处理器(例如,服务器处理器115)被配置为从先前存储激活码215的,例如,服务器存储器(例如,服务器存储器125)或数据库(例如,数据库135)中检索存储的激活码215。接下来,在步骤410,在一些实施方式中,服务器处理器115被配置为经由网络105将删除命令(例如,AT#M2MDel的AT命令)与检索到的激活码215一起发送到IoT计算机芯片140(例如,参见在本文图7的实施方式)。在步骤415,在一些实施方式中,IoT处理器145可以被配置为从先前存储密码220的密码存储器(例如,IoT存储器160中)中检索密码220,并且在步骤420,在一些实施方式中,IoT处理器145可以被配置为从先前存储在专用文件夹中的TAP 225中检索激活码215。应当理解,检索密码和TAP的顺序可以根据实施方式而变化。最后,在一些实施方式中,在步骤425,IoT处理器145可以被配置为将与删除命令一起发送的激活码和从存储的TAP中检索到的激活码进行比较,并且仅当两个激活码相同时才从专用文件夹中删除应用程序。

图5是说明用于在管理计算机芯片模块中的可信应用程序时加载应用程序的方法工作流程500的示例配置的高级图。一些实施方式中,在步骤505,用户(例如,用户205)的处理器(例如,传统服务器处理器115)可以被配置为(例如,使用存储在存储器中且在处理器中执行的一个或多个代码集)建立或者或以其他方式编译应用程序210(例如,应用程序二进制文件,例如在中,或者在IoT计算机芯片模块140上运行应用的任何环境中使用)。在步骤510,在一些实施方式中,服务器处理器115可以被配置为定义、接收、检索或生成密码,例如,密码220(用于加密应用程序的密码)。在步骤515,在一些实施方式中,服务器处理器115可以被配置为定义、接收、检索或生成激活码,例如,激活码215(例如,在管理计算机芯片模块中的应用程序时与命令结合使用的代码)。在一些实施方式中,系统处理器(例如,服务器处理器115)可以被配置为将激活码215存储在,例如服务器存储器(例如,服务器存储器125)中或数据库(例如,数据库135)中,其中稍后可以如本文所述地检索和使用激活码215。在步骤520,在一些实施方式中,服务器处理器115可以配置为建立、构造、编译、打包或以其他方式将应用210与激活码215结合在一起。在步骤525,在一些实施方式中,服务器处理器115可以配置为使用密码220来加密应用程序/激活码包,从而生成包括(至少)应用程序210和用密码220加密的激活码215的可信应用程序包(TAP)。

接下来,在步骤530,在一些实施方式中,服务器处理器115可以被配置为指示或以其他方式发送请求到IoT处理器145以生成一对非对称传输密钥(例如,公钥和私钥,使用如本文所述的非对称密钥加密),从而使密码220能够安全地传送到IoT计算机模块140。在一些实施方式中,在步骤535,IoT处理器145可以被配置为生成非对称传输密钥对,并将私钥存储在密码存储器(例如,数字库,例如模块CryptoMS)中,并且在一些实施方式中,在步骤540,IoT处理器145可以被配置为将公钥发送到服务器(例如,到系统服务器110)。

在步骤545,服务器处理器115可以被配置为从IoT计算机芯片模块140接收公钥,并且在步骤550,在一些实施方式中,服务器处理器115可以被配置为用公钥来加密密码220。接下来,在步骤555,服务器处理器115可以被配置为将加密的密码220发送到IoT计算机芯片模块140,并且在步骤560,IoT处理器145可以被配置为将加密的密码220传送到密码存储器。在步骤565,在一些实施方式中,IoT处理器145可以被配置为使用存储在密码存储器中的私钥来解密密码220,并且在步骤570,解密的密码可以存储在密码存储器中。

在步骤575,在一些实施方式中,服务器处理器115可以被配置为将TAP 225发送到IoT计算机芯片模块140,并且在步骤580,在一些实施方式中,可以将加密的TAP(例如,用密码220来加密的)存储在IoT计算机芯片模块140上的专用文件夹中(例如,目录文件夹)。最后,在步骤585,在一些实施方式中,消息或其它指示可以发送到系统服务器110,指示该应用程序已加载到IoT计算机芯片模块140上。

图6是说明根据本发明的至少一个实施方式的用于在管理计算机芯片模块中的可信应用程序时执行应用程序的方法工作流程600的示例配置的高级图。在一些实施方式中,在步骤605,用户(例如,用户205)的处理器(例如,服务器处理器115)可以被配置为(例如,使用存储在存储器中并且在处理器中执行的一个或多个代码集)从存储装置中检索先前存储的激活码(例如,激活码215)。在步骤610,在一些实施方式中,服务器处理器115可以被配置为发送运行命令和激活码215到IoT计算机芯片模块140,以运行存储在IoT计算机芯片模块140上的可信应用程序。例如,该命令可以是AT命令,例如AT#M2MRun(例如,用于无线通信命令)连同检索的激活码215。当然,例如,当经由本地接口或物理连接的(串行)连接/接口来促进通信时,也可以考虑其它命令。在步骤615,在一些实施方式中,IoT处理器145可以被配置为解析接收的命令以识别应用程序210,并且在步骤620,在一些实施方式中,IoT处理器145可以被配置为解析所接收的命令以识别所接收的激活码215。

接下来,在步骤625,在一些实施方式中,IoT处理器145可以被配置为从IoT计算机芯片模块140上的密码存储器中检索密码220。在步骤630,在一些实施方式中,IoT处理器145可以配置为检索预先存储在IoT计算机芯片模块140上的专用文件夹中的加密的TAP225(例如,用密码220来加密的)。在步骤635,在一些实施方式中,IoT处理器145可以被配置为使用密码220来解密TAP 225。在步骤640,在一些实施方式中,IoT处理器145可以被配置为从TAP 225提取激活码220,并且在步骤645,在一些实施方式中,IoT处理器145可以被配置为将与运行命令一起传输的激活码和解密的TAP 225中的激活码进行比较。

如果两个激活码相同,则在步骤650,在一些实施方式中,IoT处理器145可以被配置为将应用程序210加载到用于在IoT计算机芯片模块140上运行应用程序(例如,)的环境中,并且在步骤655,IoT处理器145可以被配置为执行该应用程序。在步骤660,在一些实施方式中,消息或其它指示可以发送到系统服务器110,指示该应用程序已在IoT计算机芯片模块140上执行。如果两个激活码不相同,则在步骤665,在一些实施方式中,IoT处理器145可以被配置为丢弃该命令,而在步骤670,在一些实施方式中,消息或其它指示可以发送到系统服务器110,指示激活码无效。

虽然结合图6描述的方法涉及运行命令,但是本领域技术人员应当理解,当执行其它命令时,例如读取命令、覆盖/写入命令和/或其它类似命令,可以执行相同或类似的方法。例如,在一些实施方式中,服务器处理器115和/或IoT处理器145可以被配置为从存储器中检索激活码215;发送读取命令和激活码215到IoT计算机芯片模块140,在接收到读取命令和激活码215时,从密码存储器中检索密码220,从专用文件夹中检索TAP 225,使用密码220来解密TAP 225,将与读取命令一起发送的激活码和TAP 225中的激活码进行比较,并且仅当两个激活码相同时才从专用文件夹读取应用程序。类似地,在一些实施方式中,服务器处理器115和/或IoT处理器145可以被配置为从存储器中检索激活码215;发送覆盖/写入命令和激活码215到IoT计算机芯片模块140,在接收到覆盖/写入命令和激活码215时,从密码存储器中检索密码220,从专用文件夹中检索TAP 225,使用密码220来解密TAP 225,将与覆盖/写入命令一起发送的激活码和TAP 225中的激活码进行比较,并且仅当两个激活码相同时才覆盖和/或写入应用程序。

图7是说明根据本发明的至少一个实施方式的用于在管理计算机芯片模块中的可信应用程序时删除应用程序的方法工作流程700的示例配置的高级图。在一些实施方式中,在步骤705,用户(例如,用户205)的处理器(例如,服务器处理器115)可以被配置为(例如,使用存储在存储器中并且在处理器中执行的一个或多个代码集)从存储装置中检索先前存储的激活码(例如,激活码215)。在步骤710,在一些实施方式中,服务器处理器115可以被配置为发送删除命令和激活码215到IoT计算机芯片模块140,以删除存储在IoT计算机芯片模块140上的可信应用程序。例如,该命令可以是AT命令,例如AT#M2MDel(例如,用于无线通信命令)连同检索的激活码215。当然,例如,当经由本地接口或物理连接的(串行)连接/接口来促进通信时,也可以考虑其它命令。在步骤715,在一些实施方式中,IoT处理器145可以被配置为解析所接收的命令以识别应用程序210,并且在步骤720,在一些实施方式中,IoT处理器145可以被配置为解析所接收的命令以识别所接收的激活码215。

接下来,在步骤725,在一些实施方式中,IoT处理器145可以被配置为从IoT计算机芯片模块140上的密码存储器中检索密码220。在步骤730,在一些实施方式中,IoT处理器145可以被配置为检索预先存储在IoT计算机芯片模块140上的专用文件夹中的加密的TAP225(例如,用密码220加密)。在步骤735,在一些实施方式中,IoT处理器145可以被配置为使用密码220来解密TAP 225。在步骤740,在一些实施方式中,IoT处理器145可以被配置为从TAP 225提取激活码220,并且在步骤745,在一些实施方式中,IoT处理器145可以被配置为将与删除命令一起发送的激活码和解密的TAP 225中的激活码进行比较。

如果两个激活码相同,则在步骤750,在一些实施方式中,IoT处理器145可以被配置为删除应用程序210。在步骤755,在一些实施方式中,消息或其它指示可以发送到系统服务器110,指示该应用程序已从IoT计算机芯片模块140中删除。如果两个激活码不相同,则在步骤760,在一些实施方式中,IoT处理器145可以被配置为丢弃该命令,而在步骤765,在一些实施例中,消息或其它指示可以被发送到系统服务器110,指示激活码无效。

除非明确说明,否则在本文描述的方法实施例不限于特定顺序或次序。此外,在本文描述的所有公式旨在仅作为示例,并且可以使用其他或不同的公式。附加地,描述的方法实施例或其元件中的一些可以在相同的时间点发生或执行。

虽然本文已说明和描述了本发明的某些特征,但本领域技术人员可想到许多修改、替代、改变和等效物。因此,应当理解,所附权利要求旨在覆盖落入本发明的真实精神内的所有这样的修改和改变。

已经提出了各种实施方式。当然,这些实施方式中的每一个可以包括来自所呈现的其它实施方式的特征,并且未具体描述的实施方式可以包括在本文描述的各种特征。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:标签基材的凸纹压印或凹纹压印

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!