CN103782304B - 用于制造期间预配置密钥的方法 - Google Patents

用于制造期间预配置密钥的方法 Download PDF

Info

Publication number
CN103782304B
CN103782304B CN201180073312.XA CN201180073312A CN103782304B CN 103782304 B CN103782304 B CN 103782304B CN 201180073312 A CN201180073312 A CN 201180073312A CN 103782304 B CN103782304 B CN 103782304B
Authority
CN
China
Prior art keywords
processor
processing unit
plate
random seed
identifiers
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
CN201180073312.XA
Other languages
English (en)
Other versions
CN103782304A (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.)
BlackBerry Ltd
Original Assignee
Certicom Corp
BlackBerry Ltd
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 Certicom Corp, BlackBerry Ltd filed Critical Certicom Corp
Priority to PCT/US2011/045553 priority Critical patent/WO2013015806A1/en
Publication of CN103782304A publication Critical patent/CN103782304A/zh
Application granted granted Critical
Publication of CN103782304B publication Critical patent/CN103782304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Abstract

提供了一种制造计算设备的方法,该方法允许计算设备生成秘密值,其中,计算设备的任何一个制造商缺少足以确定秘密值的信息。该方法可以包括:制造处理器并且在第一制造地点处将第一随机种子注入处理器中。在将处理器与其他硬件组件一起装配到PCB上之后,可以在第二制造地点处注入第二随机种子。在注入随机种子之后,处理器可以执行指令以组合种子从而生成秘密值。

Description

用于制造期间预配置密钥的方法
技术领域
[0001] 本发明涉及用于在设备的制造期间向计算设备预配置密钥的方法。
背景技术
[0002] 密码学是一种用于保护计算设备处理的信息的已建立的方法。用于确保安全通信 的一个问题是建立仅计算设备知道的安全私钥。秘密的私钥形成了设备进行的安全通信的 基础。私钥可以用作生成计算设备执行密码操作所需的附加的密钥(私有的或公共的)的种 子。
[0003] 用于建立私钥的一种已知的方法是在计算设备的制造期间创建和插入私钥。该过 程确实使私钥减弱,这是因为计算设备通常是由第三方供应方制造和装配的。如果未对供 应方插入的私钥保持秘密,则不道德或松懈的供应商可能危害计算设备。
[0004] 需要改善私钥的安全性的制造计算设备的方法。
附图说明
[0005] 在仅通过示例方式示出本发明的优选实施例的附图中,
[0006] 图1是移动设备的实施例的框图。
[0007] 图2是图1的移动设备的通信子系统组件的实施例的框图。
[0008] 图3是制造方法的实施例的框图。
[0009] 图4是制造方法的实施例的过程图。
[0010] 图5a、5b和5c是制造方法的实施例的过程图。
具体实施方式
[0011] 在一个实施例中,提供了一种用于制造计算设备的方法。该方法可以包括:在第一 制造地点处装配包括处理器随机种子的处理单元;将所述处理单元装配到板上;在第二制 造地点处将板随机种子注入所述装配板;以及所述处理单元组合所述处理器随机种子和所 述板随机种子以生成私钥。在一个方案中,所述处理单元可以存储所述私钥。
[0012] 在一个实施例中,在所述第一制造地点处注入可以包括:将所述处理单元连接到 处理器器件;向所述处理单元查询处理器标识符;生成所述处理器随机种子;组合所述处理 器随机种子和所述处理器标识符以生成处理器消息;对所述处理器消息进行加密;将所加 密的消息注入所述处理单元中;以及确定所述处理单元的功能。
[0013] 在一个实施例中,在所述第二制造地点处注入可以包括:将所述装配板连接到板 器件;向所述处理单元查询处理器标识符;将所述处理器标识符与从所述第一制造地点接 收的经验证的处理器标识符列表进行比较,如果所述处理器标识符与经验证的处理器标识 符相匹配,则生成所述板随机种子并且组合所述板随机种子和所述处理器标识符以生成板 消息,并且将所述板消息注入所述装配板上的所述处理单元中;所述处理单元验证在所述 板消息中接收的所述处理器标识符与所述处理单元的所述处理器标识符相匹配,如果所述 处理器标识符匹配,则所述处理单元组合所述处理器随机种子和所述板随机种子以生成所 述私钥。在一个方案中,所述处理单元可以通过生成随机值并且将所述随机值与所述处理 器随机种子和所述板随机种子进行组合来组合所述处理器随机种子和所述板随机种子。在 一个方案中,在所述处理单元生成所述私钥之后,所述处理单元可以将所述私钥存储在所 述处理单元的数据存储设备中或者存储在所述装配板的安全数据存储设备中。
[0014] 在一个实施例中,在所述第一制造地点处注入可以包括:将所述处理单元连接到 处理器器件;向所述处理单元查询处理器标识符;生成所述处理器随机种子;基于所述处理 器随机种子和所述处理器标识符生成处理器数字签名;组合所述处理器随机种子、所述处 理器标识符和所述处理器数字签名以生成处理器消息;使用处理器密钥对所述处理器消息 进行加密;将所加密的消息和所述处理器密钥注入所述处理单元中;以及确定所述处理单 元的功能。在一个方案中,在所述第二制造地点处注入可以包括:将所述装配板连接到板器 件;向所述处理单元查询处理器标识符;将所述处理器标识符与从所述第一制造地点接收 的经验证的处理器标识符列表进行比较,如果所述处理器标识符与经验证的处理器标识符 相匹配,则生成所述板随机种子并且组合所述板随机种子、所述处理器密钥和所述处理器 标识符以生成板消息,并且将所述板消息注入所述装配板上的所述处理单元中;所述处理 单元使用所述处理器密钥对所述处理器消息进行解密,验证在所述板消息中接收的所述处 理器标识符与所述处理单元的所述处理器标识符相匹配并且验证所述处理器数字签名,如 果所述处理器标识符和所述处理器数字签名被验证,则所述处理单元组合所述处理器随机 种子和所述板随机种子以生成所述私钥。在一个方案中,如果所述处理器标识符和所述处 理器数字签名未被验证,则所述处理单元可以向所述板器件返回错误代码。
[0015] 在一个实施例中,所述组合所述处理器随机种子和所述板随机种子以生成私钥可 以包括:所述处理器将所述处理器随机种子和所述板随机种子作为输入应用于X0R操作、级 联操作、密钥导出函数或加密散列操作之一,所述输出包括所述私钥。
[0016] 在一个实施例中,所述方法还可以包括:所述处理单元使用所生成的私钥作为用 于输入到密钥生成操作的密码种子,来生成用于密码操作的密钥。在一个方案中,所述密钥 生成操作包括伪随机数生成器。在一个方案中,所述处理单元可以使用所生成的密钥对所 述私钥进行加密,并且将所加密的私钥存储在所述计算设备的数据存储设备上。在一个方 案中,所述密码操作包括公钥生成操作。
[0017] 在一个实施例中,可以提供使用上述方法中的任意一个方法制造的计算设备。
[0018] 可以在诸如图1和图2中所示的通信设备等的计算设备上执行本文所描述的实施 例。通信设备可以通过无线通信系统或企业系统来与其他设备进行通信。通信设备100可以 是具有双向通信能力和高级数据通信能力(包括通过收发机站的网络与其他移动设备或计 算机系统进行通信的能力)的移动设备。通信设备100还可以具有语音通信能力。
[0019] 图1是通信设备100的示例性实施例的框图。通信设备100包括多个组件,例如,控 制通信设备1〇〇的整体操作的主处理器102。通过通信子系统104来执行包括数据通信和语 音通信的通信功能。通信设备100接收的数据可以由解码器103进行解压缩和解密,其中,解 码器103根据任何适合的解压缩技术和符合多种标准(例如对称算法(包括例如数据加密标 准①ES)、三重DES或高级加密标准(AES))和不对称算法(包括例如RSA、ECC等))的加密/解 密技术进行操作,多种标准。图像数据通常是根据诸如JPEG的适合标准被压缩和解压缩的, 而视频数据通常是根据诸如H. 26x和MPEG-x系列标准的适合标准来被压缩和解压缩的。 [0020] 通信子系统104从无线网络200接收消息并且向无线网络200发送消息。在通信设 备100的该示例性实施例中,根据诸如以下一项或多项的通信标准来配置通信子系统104: 码分多址接入(CDMA)、全球移动通信系统(GSM)、通用分组无线电服务(GPRS)标准、增强型 数据GSM环境(EDGE)和通用移动电信服务(UMTS)。仍然在定义新的标准,并且可以认为新的 标准将与本文所描述的网络性能具有相似性,并且本领域技术人员还将理解的是,本文所 描述的实施例旨在使用将来开发的任何其他适合的标准。将通信子系统104与无线网络200 连接的无线链路表示一个或多个不同的射频(RF)信道,该RF信道根据针对GSM、GPRS、EDGE 或UMTS规定的已定义协议和可选的其他网络通信操作。通过利用更新的网络协议,这些信 道能够支持电路交换语音通信和分组交换数据通信二者。
[0021] 在不同的实现中,其他无线网络也可以与通信设备100相关联。可以采用的不同类 型的无线网络包括例如以数据为中心的无线网络、以语音为中心的无线网络、和可以在相 同的物理基站上支持语音通信和数据通信的双模网络。组合的双模网络包括但不限于:码 分多址接入(CDMA)或CDMA2000网络、GSM/GPRS网络、诸如EDGE、HSPA、HSPA+、EVDO和UMTS等 的第三代(3G)网络或诸如LTE和高级LTE等的第四代(4G)网络。以数据为中心的网络的一些 其他示例包括旧?1802.111¥、^/!〇1^1^1¥和0&1&了八07_络通信系统。其他以语音为中心的数 据网络的示例包括个人通信系统(PCS)网络,例如,GSM和时分多址接入(TDMA)系统。移动设 备1〇〇可以具有附加的通信子系统,例如,也在图1中示出的无线LAN(WLAN)通信子系统105。 WLAN通信子系统可以根据诸如由IEEE开发的802.11™标准族中的一个或多个等的己知网络 协议来操作。通信子系统105可以与通信子系统104或短距离通信模块122分离或者集成在 一起。主处理器102还与附加的子系统进行交互,附加的子系统例如是随机存取存储器 (RAM) 106、闪存存储器108、显示器110、辅助输入/输出(I/O)子系统112、数据端口 114、键盘 116、扬声器118、麦克风120、短距离通信122和其他设备子系统124。通信设备还可以具有加 速度计111,加速度计111可以用于检测重力或运动引起的力及其方向。可以对施加于设备 100的这些力的检测进行处理以确定设备100的响应,例如,响应于设备100的当前方向的确 定,在显示装备110上显示的图形用户界面的方向。
[0022] 通信设备100的子系统中的一些执行通信相关功能,而其他子系统可以提供“驻 留”或设备上功能。举例说明,显示器110和键盘116可以用于通信相关功能(例如,输入文本 消息以通过网络200进行传输)、以及设备驻留功能(例如,计算器或任务列表)两者。
[0023] 在设备100中包括呈现电路125。当用户指定要在显示器110上查看数据文件时,呈 现电路125分析并处理数据文件以便在显示器110上可视化。当在小屏幕便携式电子设备显 示器上可视化之前,呈现最初为了在便携式电子设备显示器上的大屏幕显示器上可视化而 优化或准备的数据文件需要附加的处理。该附加处理可以由呈现引擎125来完成。本领域技 术人员将清楚的是,呈现引擎可以实现在硬件、软件或其组合中,并且可以包括专用图像处 理器和相关联的电路,或者可以实现在主处理器102中。
[0024] 在已经完成所需的网络注册或激活过程之后,通信设备100可以通过无线网络200 发送和接收通信信号。网络接入与通信设备100的订户或用户相关联。为了识别用户,通信 设备100需要SIM/RIHM卡126 (即,订户标识模块或可拆卸用户标识模块)或者另一适合的标 识模块以便插入SM/RUIM接口 128中以与网络进行通信。SIM/RUIM卡126是一种传统的“智 能卡”,其尤其可以用于识别通信设备100的订户并且个人化该通信设备100。在没有SIM/ RUIM卡126的情况下,该通信设备100不能完全操作用于与无线网络200进行通信。通过将 SM/RUIM卡126插入SM/RUIM接口 128,订户可以访问所有订购服务。这些服务可以包括: web浏览和消息传送,例如电子邮件、语音邮件、短信息服务(SMS)和多媒体信息传送服务 (MMS)。更高级的服务可以包括:销售点、现场服务和销售自动化。SIM/RUIM卡126包括处理 器和用于存储信息的存储器。一旦将SIM/RUIM卡126插入SM/RIHM接口 128,SIM/RUIM卡126 就耦合到主处理器1〇2。为了识别订户,Sm/RUIM卡126可以包括一些用户参数,例如国际移 动订户标识(IMSI)。使用SIM/RUIM卡126的优点是,订户不必由任何单个物理移动设备绑 定。SIM/RUIM卡126还可以存储移动设备的附加订户信息,包括数据簿(或日历)信息和最近 呼叫信息。备选地,还可以将用户标识信息编程至闪存存储器108中。
[0025] 通信设备100是电池供电设备,其包括用于容纳一个或多个可再充电电池130的电 池接口 132。在至少一些实施例中,电池130可以是具有嵌入式微处理器的智能电池。电池接 口 132耦合到调节器(未示出),它帮助电池130向通信设备100提供电源V+。虽然当前技术使 用电池,但是诸如微燃料电池等的未来技术可以向通信设备100供电。
[0026] 通信设备100还包括操作系统134和软件组件136至146,下面对其进行更详细地描 述。由主处理器102执行的操作系统134和软件组件136至146通常存储在持久存储设备(例 如闪存存储器1〇8)中,它们备选地可以是只读存储器(ROM)或类似存储元件(未示出)。本领 域技术人员将清楚的是,操作系统134和软件组件136至146 (例如特定设备应用或其一部 分)的部分可以临时加载到诸如RAM106等的易失性存储设备中。还可以包括本领域技术人 员公知的其他软件组件。
[0027]通常将在通信设备100的制造期间在通信设备100上安装控制基本设备操作的软 件应用136的子集,包括数据通信应用和语音通信应用。其他软件应用包括消息应用138,其 可以是允许通信设备100的用户发送和接收电子消息的任何适合的软件程序。存在本领域 技术人员公知的消息应用138的多种替换形式。己经由用户发送或接收的消息通常被存储 在通信设备100的闪存存储器108或者通信设备100中的某一其他适合的存储元件中。在至 少一些实施例中,发送和接收的消息中的一些可以存储在设备100的远端,例如,存储在与 通信设备100进行通信的相关联的主机系统的数据存储设备中。
[0028] 软件应用还可以包括设备状态模块140、个人信息管理器(PIM) 142和其他适合的 模块(未示出)。设备状态模块140提供持久性,S卩,设备状态模块140确保重要的设备数据存 储在持久存储器(例如闪存存储器108)中,使得当通信设备1〇〇关机或掉电时数据不会丢 失。
[0029] PIM142包括用于组织和管理用户感兴趣的数据项的功能,这些项例如但不限于: 电子邮件、联系人、日历事件、语音邮件、约会和任务项。PIM应用具有经由无线通信网络200 发送和接收数据项的能力。可以经由无线网络200将PIM数据项与所存储的或者与主机系统 相关联的移动设备的订户的相应数据项进行无缝集成、同步和更新。该功能在通信设备1〇〇 上关于上述项创建镜像主机。当主机系统是移动设备的订户的办公室计算机系统时,该方 法可能特别有优势。在通信设备100处存储的数据项中的一些或全部可以被编索引以便于 通过诸如PIM142等的相应应用或者另一适合的模块在设备100上进行搜索。此外,可以使用 在设备操作系统134中执行的统一搜索处理来搜索这些项。例如,应用数据项可以封装在可 搜索实体类中并且向设备100上的统一搜索引擎注册,该统一搜索引擎基于接收的查询搜 索设备上的所有注册的数据存储库。搜索引擎也可以被配置为调用外部资源的搜索处理, 例如,互联网搜索引擎或远端数据库。
[0030] 通信设备100还包括连接模块144和信息技术(IT)策略模块146。连接模块144实现 通信设备100与无线基础设施和授权通信设备100接口连接的任意主机系统(例如企业系 统)进行通信所需的通信协议。在图3和图4中给出了无线基础设施和企业系统的示例,下面 对其进行更详细地描述。
[0031] 连接模块144包括可以和通信设备100集成的应用编程接口(API)集合,以允许通 信设备100使用与企业系统或可以通过网络200访问的其他系统相关联的任意数量的服务。 连接模块144允许通信设备100与主机系统建立端对端的安全认证通信管道。通过连接模块 144提供对其的访问的应用子集可以用于从主机系统向通信设备100传递IT策略命令。这可 以以无线或有线的方式完成。然后,这些指令可以传递给IT策略模块146以修改设备100的 配置。备选地,在一些情况下,IT策略更新还可以通过有线连接来完成。
[0032] 还可以在通信设备100上安装其他类型的软件应用。这些软件应用可以是在制造 通信设备100之后添加的第三方应用。第三方应用的示例包括游戏、计算器、工具等。
[0033] 可以通过无线网络200、辅助I/O子系统112、数据端口 114、短距离通信子系统122 或任意其他适合的设备子系统124中至少一个将附加应用加载到通信设备1〇〇上。应用安装 的这种灵活性增加了通信设备100的功能性,并且可以提供增强的设备上功能、通信相关功 能或这二者。例如,安全通信应用可以使得能够使用通信设备100来执行电子商务功能和其 他此类金融交易。
[0034] 数据端口 114使订户能够通过外部设备或软件应用设置偏好,并通过向通信设备 1〇〇提供信息或软件下载而不是通过无线通信网络来扩展通信设备100的能力。可以使用例 如备选下载路径,以通过直接并且因此可靠且可信的连接将加密密钥加载到通信设备100 上,以提供安全的设备通信。数据端口 114可以是实现通信设备100与另一计算设备之间的 数据通信的任意适合端口。数据端口 114可以是串口或并口。在一些实例中,数据端口 114可 以是USB端口,其包括用于数据传输的数据线和可以提供充电电流来对通信设备1〇〇的电池 130充电的充电线。
[0035] 短距离通信子系统122提供通信设备100与不同系统或设备之间的通信,而无需使 用无线网络200。例如,子系统122可以包括红外设备和用于短距离通信的相关联的电路和 组件。短距离通信标准的示例包括由红外数据协会(IrDA)开发的标准、Bluetooth™和 802.11™标准族。
[0036]在使用中,接收信号(例如文本消息、电子邮件消息或网页下载)将由通信子系统 104处理并被输入到主处理器102。然后,主处理器102将处理该接收信号,以输出到显示器 110或备选地输出到辅助I/O子系统112。订户还可以例如使用键盘116结合显示器110和可 能的辅助I/O子系统II2来编写数据项(例如电子邮件消息)。辅助子系统112可以包括诸如 以下各项等的设备:触摸屏、鼠标、跟踪球、红外指纹检测器或具有动态按钮按压能力的滚 轮。键盘116可以是字母数字键盘和/或电话式键区。然而,还可以使用其他类型的键盘。可 以在无线网络200上通过通信子系统104传输已编写的数据项。将清楚的是,如果显示器110 包括触摸屏,则辅助子系统112仍然可以包括上文所标识的设备中的一个或多个。
[0037]针对语音通信,通信设备100的整体操作基本上是类似的,除了将接收信号输出到 扬声器118并且通过麦克风120生成用于发送的信号。还可以在通信设备100上实现备选的 语音或音频I/O子系统(例如语音消息记录子系统)。虽然主要通过扬声器118完成声音或音 频信号输出,但是还可以使用显示器110来提供附加信息(例如主叫方的标识、语音呼叫的 持续时间或其他语音呼叫相关信息)。
[0038]图2示出了通信子系统组件104的示例性框图。通信子系统104包括接收机150、发 射机152、以及相关联的组件,例如,一个或多个嵌入式或内部天线元件154和156、本地振荡 器(L0) 158、以及诸如数字信号处理器①SP) 160等的处理模块。通信子系统104的特定设计 取决于通信设备100旨在与其一起操作的通信网络200。因此,应当理解的是,图2中所示的 设计仅用作一个示例。
[0039]通过无线网络2〇0由天线154接收的信号被输入到接收机150,接收机150可以执行 诸如信号放大、下变频、滤波、信道选择和模数(A/D)转换等的一般接收机功能。对接收信号 的A/D转换允许在DSP160中执行更复杂的通信功能,例如,解调和解码。通过类似的方式,要 发送的信号被DSP160处理,包括调制和编码。这些经DSP处理的信号被输入到发射机152以 进行数模①/A)转换、上变频、滤波、放大并经由天线156通过无线网络200进行发送。DSP160 不仅处理通信信号,而且还提供接收机和发射机控制。例如,可以通过在DSP160中实现的自 动增益控制算法来对接收机150和发射机152中施加于通信信号的增益进行自适应控制。 [0040] 通信设备100与无线网络200之间的无线链路可以包含一个或多个不同的信道(通 常不同的RF信道)和在通信设备100与无线网络200之间使用的相关联的协议。由于整体带 宽的限制以及通信设备100的有限电池功率,因此RF信道是应当节约的有限资源。当通信设 备100可完全操作时,通常仅当发射机152正在向无线网络200进行发送时才接通或打开发 射机152,否则,关闭发射机I52以节约资源。类似地,周期性地关闭接收机150以节约功率, 直到它需要在指定的时间段期间接收信号或信息(如果真的会发生的话)为止。诸如图丄中 所示的WLAN通信子系统105等的其他通信子系统可以具有与被配置用于在适合的频率上使 用适合的协议进行通信的上述组件相类似的组件。
[0041]通常,可以通过在不同的组件制造地点处制造诸如主处理器i〇2、RAM106、闪存存 储器108等的单独的硬件组件来制造诸如上述通信设备100等的计算设备。
[0042]制造的硬件组件可以从其相应的组件制造地点运送到装配地点以装配并固定到 印刷电路板(PCB)或“板”上。板提供了对硬件组件的机械支撑和固定和通过印刷或蚀刻到 板中的传导通路在硬件组件之间的电连接。一旦已经将硬件组件装配到板上,就可以使用 测试器件来测试装配板,并且可以将固件软件指令加载到装配板上以由诸如主处理器102 等的处理单元来执行。
[0043]诸如通信设备100等的计算设备通常需要秘密值,优选地,该秘密值对于计算设备 在统计上是唯一的,或者在其他计算设备将共享相同的秘密值方面至少具有低可能性。秘 密值通常是用于为内部数字生成器提供种子(seed)的随机数,或者形成用于生成由计算设 备在诸如加密、解密、数字签名、验证等的密码操作期间使用的密钥的基础。
[0044]可以将随机数生成器制造在计算设备中,例如,制造在处理单元中,例如,诸如环 形振荡器等的硬件随机数生成器。该生成器生成的随机数可能不够鲁棒以基于该随机数来 生成适合于在密码操作中使用的随机值。例如,由于制造条件,多个处理单元的随机数生成 器可能具有生成相同值或者落入选择相对较窄的整个可能值范围内的值的趋势。因此,通 常期望在制造过程期间主动地将秘密随机值插入或注入诸如处理单元等的硬件组件中。通 过这种方式,可以相对于注入到类似处理单元中的其他值对注入的随机值进行测试以确保 冲突的可能性相对较低。
[0045] 然而,在制造地点处直接注入秘密值导致制造地点有权访问或者直接了解秘密 值。因此,在计算设备制造商己经与独立的合约制造商签订了关于硬件组件的制造和将完 成的组件装配到PCB上的合约的情形中,将出现潜在的安全风险,这在电子行业中是常见 的。计算设备制造商缺乏关于秘密值将受保护的保证,这是因为它缺乏对制造过程中由独 立的制造商执行的步骤的实际物理控制。
[0046] 在一个实施例中,制造计算设备的方法允许计算设备生成秘密值,例如,私钥,其 中,任何一个制造商都不具有足以确定秘密值的信息。参照图3,该方法可以包括:制造处理 器300并且在制造过程中在第一制造地点310处注入第一随机种子,如图3中的处理器随机 种子302所示。可以在制造过程期间将处理器随机种子302硬编码到处理器300中,或者可以 在确定处理器300的功能之前的处理单元测试过程期间注入处理器随机种子302。
[0047] 完成的处理器300以及计算设备所需的其他硬件组件305可以被运送到用于在本 领域中公知的印刷电路板(PCB或“板”)400上进行装配的地点。一旦已经将处理器300和其 他硬件组件305与板400装配在一起从而创建装配板405,就可以使用测试器件以将第二随 机种子(如图3中的板随机种子402所示)注入装配板405中。注入可以在第二制造地点410处 发生,第二制造地点410可以包括用于装配的地点、用于测试的地点、或者作为与第一制造 地点310不同的地点的某一其他地点,在该第一制造地点310处,在制造期间将处理器随机 种子注入或编码到处理器300中。
[0048] 在注入板随机种子402之后,处理器300然后可以执行指令以组合处理器随机种子 302和板随机种子402从而生成私钥。指令的执行可以方便地在第二制造地点410处或在某 一其他地点处发生。因此,内部生成的私钥取决于在不同的制造地点310、410处注入的两个 种子值。每一个制造地点310、410能够控制种子值302、402,但是在没有至少从另一制造地 点获得信息的情况下,制造地点310、410均不能确定私钥。
[0049] 参照图4,概述了上述过程。在步骤500中,在第一制造地点310处使用第一随机种 子值(如处理器随机种子302所指示的)注入处理器300。第一制造地点310可以包括例如芯 片制造商。
[0050] 在步骤510中,例如,通过在处理器300上进行熔丝来保护处理器300内的一次性可 编程(OTP)存储器并且禁用处理器300的调试接口(例如,JTAG),来确定处理器300的功能。 [0051] 然后,在步骤520中,可以将完成的处理器300运输到第二制造地点410以与其他硬 件组件305—起装配到板400上从而创建装配板405。在步骤530中,可以在第二制造地点410 处将第二随机种子值(如板随机种子402所指示的)注入装配板405中。然后,在步骤540中, 可以给装配板405供电以使处理器300能够将注入的第一随机种子值和第二随机种子值进 行组合从而生成私钥。私钥可以包括随机数的内核,当生成将来的随机数以例如进行密码 操作时,处理器300可以将该内核用作种子。
[0052] 通常但是不一定,步骤520处的装配、步骤530处的注入和步骤540处的组合将均在 相同的制造地点处发生。
[0053]在一个实施例中,可以介绍该方法的其他方案。在该实施例中,处理器300还可以 包括处理器标识符。处理器标识符可以包括字符串,优选地,该字符串唯一地标识每一个处 理器300或者将每一个处理器300与作为该过程的一部分制造的所有其他处理器300区分 开。可以在制造期间例如通过将标识符写入0TP存储器中来将处理器标识符硬编码到处理 器300中。可以维护指派给在设施处制造的处理器300的标识符列表以提供制造的记录以及 针对每一个处理器300的标识符。
[00M] 在该实施例中,可以由向处理器300提供一定级别的功能的诸如资产管理系统 (AMS)器件(未示出)等的器件(“处理器器件”)访问处理器3〇〇,但是处理器3〇〇将不完全操 作,这是因为它还未与板400和其他硬件组件305装配在一起。类似地,装配板405可以连接 到板器件或者由板器件访问。板器件通常向处理器300提供更高级别的功能,这是因为处理 器300己经与必需的硬件组件305—起装配在板400上。
[0055] 图5a、图5b和图5c从处理器器件、板器件和装配板405上的处理器300的简化角度 示出了实施例的步骤。图5a详述了图4中所示的步骤500的实施例,图5b从板器件的角度详 述了图4中的步骤530的实施例。图5c从处理器300执行的操作的角度详述了图4中的步骤 530的实施例。如将理解,器件还可以包括这里未具体提及的计算设备、网络连接、数据存储 设备等。
[0056] 参照图5a,在步骤600中,一旦处理器300连接到处理器器件,就可以向处理器300 查询其处理器标识符。然后,在步骤605中,处理器器件可以生成处理器消息,处理器消息包 括处理器标识符、处理器随机种子302和可选的由处理器器件根据处理器标识符和处理器 随机种子302生成的处理器数字签名。然后,在步骤610中,处理器器件可以对处理器消息进 行加密。在一个方案中,处理器器件可以使用专门针对该处理器300生成的处理器密钥来对 处理器消息进行加密。在该方案中,可以由处理器器件将处理器密钥与处理器标识符相关 联地存储。然后,在步骤615中,处理器器件可以将加密的处理器消息注入处理器300中。加 密的处理器消息被注入的地点是第一制造地点310。在步骤620中,如上所述的,可以确定处 理器300的功能。
[0057] 可以由处理器器件存储与加密的处理器消息有关的信息。处理器标识符、处理器 密钥和处理器数字签名(如果使用的话)可以相互关联并且被转发到第二制造地点410。
[0058] 参照图5b,在第二制造地点410处,可以将包括处理器300的装配板405连接到板器 件。在步骤625中,一旦处理器300连接到板器件,就可以向处理器3〇〇查询其处理器标识符。 然后,在步骤635中,板器件可以生成板消息,板消息由以下各项组成:处理器标识符、板随 机种子402、从第一制造地点310接收的处理器密钥和可选的根据处理器标识符、板随机种 子402和处理器密钥生成的板数字签名。然后,在步骤640中,板器件可以在第二制造地点 410处将板消息注入处理器300中。因为处理器300已经与其他必需的硬件组件305—起装配 到板400上,因此处理器300可以在第二制造地点410处工作。
[0059] 参照图5c,在步骤645中,处理器3〇〇可以关于在板消息中接收的处理器标识符与 在处理器300自身中编码的处理器标识符的值相匹配执行检查。在步骤的〇中,处理器3〇〇可 以使用在步骤635中在第二制造地点410处注入的处理器密钥对在步骤615中在第一制造地 点310处注入的加密的处理器消息进行解密。在处理器数字签名包含在加密的处理器消息 中的实施例中,处理器300可以验证处理器数字签名。在板数字签名包含在板消息中的实施 例中,处理器300可以验证板数字签名。如果处理器标识符、处理器数字签名或板数字签名 中的任意一个未能被验证,则处理器300可以停止处理并且向板器件返回错误代码。如将理 解,步骤645可以在650之后发生,例如,作为所有检查和验证发生的一般验证步骤的一部 分。
[0060] 在处理器数字签名包含在加密的处理器消息中的实施例的一个方案中,处理器 300可以在步骤650之后向板器件输出处理器数字签名。然后,板器件可以将从处理器300接 收的输出的处理器数字签名与从第一制造地点310接收的处理器数字签名和相关联的处理 器标识符进行比较。该方案允许第二制造地点410确认在第一制造地点310处对处理器300 进行可靠地编程。如果确认失败,则板器件可以停止处理,发布错误代码,并且标记处理器 300以便复查/拒绝。
[0061] 在步骤655中,处理器300可以根据处理器随机种子302和板随机种子402生成私钥 值。在一个方案中,处理器300还可以使用内部生成的随机或伪随机值补充两个随机种子值 以生成私钥。例如,处理器300可以使用在第一制造地点310处制造在处理器300中的诸如环 形振荡器等的随机数生成器来生成随机值。
[0062] 处理器300可以通过根据已知的方法(例如,通过执行XOR操作(掩蔽)以组合相同 长度的值或者通过级联处理器随机种子302和板随机种子402并且将级联的结果与随机值 进行X0R ((处理器随机值| |板随机值)X0R随机值))组合这些值来生成私钥,其中,级联的结 果具有与随机值相同的长度。
[0063] 在一个方案中,可以生成私钥作为密钥导出操作或加密散列操作的输出,其中,处 理器随机种子302、板随机种子402和可选的随机值作为该功能的输入。
[0064] 在包含随机值的方案中,即使了解两个种子值也不允许直接计算私钥,这是因为 处理器300将注入的处理器种子值和板种子值与由处理器300生成并且仅处理器300已知的 随机值进行组合。
[0065] 所生成的私钥提供了随机性的内核,该内核可以直接用作私有密钥,或者可以包 括处理器300根据其生成密钥的密码种子。在一个方案中,私钥可以包括由处理器300执行 的伪随机数生成器的密码种子。可以远离处理器300将私钥存储在装配板的数据存储设备 中,例如,可以由处理器300安全地存储私钥,从而使用生成的私有密钥对私钥进行加密并 且将加密的私钥存储在数据存储设备中。
[0066] 处理器300可以在其他密码操作中使用私钥,以例如创建处理器特有的私有-公共 密钥对。因此,在一个实施例中,步骤655还可以包括:根据私钥生成公钥。在一个方案中,密 钥对可以包括椭圆曲线密码(ECC)密钥对。例如,可以按照私钥与椭圆曲线参数集的基准点 的乘积来计算公钥。
[0067] 在处理器300在步骤655中生成私有-公共密钥对之后,板器件可以验证私有-公共 密钥生成成功。在一个方案中,当在步骤655的实施例中生成私有-公共密钥对之后,处理器 300还可以生成密钥消息,密钥消息包括处理器标识符、公钥、处理器数字签名和板随机种 子402。处理器300可以使用私钥对密钥消息进行数字签名,以生成密钥数字签名。处理器 300可以向板器件输出密钥消息和密钥数字签名。
[0068] 板器件可以接收密钥消息和密钥数字签名,从密钥消息中提取公钥,并且验证密 钥消息上的密钥数字签名。在验证密钥数字签名之后,板器件已经验证处理器300成功地建 立私有—公共密钥对。如果密钥数字签名未被验证,则板器件可以返回错误代码并且标记处 理器300以复查/拒绝。
[0069] 因此,已经通过示例方式详细地描述了本发明的各个实施例,但是本领域技术人 员将理解的是,可以在不脱离本发明的情况下做出变化和修改。例如,本发明可以实现在与 上述不例性通信设备100不同的计算形状因素上。本发明包括落入所附权利要求的范围内 的所有这些变化和修改。
[0070]本专利文档的公开内容的一部分包含受版权保护的资料。当专利文档成专 中的任意一个出现在专利商标局的专利文件或记录中时,版权所有 3 利公开中_意-个的摘,但鎌此之外籠肺驗。w仏对专利又档或专

Claims (14)

1. 一种用于制造计算设备的方法,包括: 在第一制造地点处将处理器随机种子注入处理单元; 在第二制造地点处将所述处理单元和其它硬件组件与印刷电路板PCB加以装配以创建 装配板; 在所述第二制造地点处将板随机种子注入装配板;以及 所述处理单元组合所述处理器随机种子和所述板随机种子以生成私钥,其中,所述私 钥是依赖于在不同制造地点处注入的两个随机种子值的内部生成的私钥, 其中,在所述第一制造地点处的注入包括: 将所述处理单元连接到处理器器件,其中,所述处理器器件被配置为访问所述处理单 元,以及在所述第二制造地点处将所述处理单元装配到所述装配板之前向所述处理单元提 供一定级别的功能; 向所述处理单元查询处理器标识符; 生成所述处理器随机种子; 组合所述处理器随机种子和所述处理器标识符以生成处理器消息; 对所述处理器消息进行加密; 将所加密的消息注入所述处理单元;以及 确定所述处理单元的功能,包括:保护处理器内的一次性可编程存储器。
2.根据权利要求1所述的方法,坯包括:所述处理单元存储所述私钥。
3. 根据权利要求1或2所述的方法,其中,在所述第二制造地点处的注入包括: 将所述装配板连接到板器件; 向所述处理单元查询处理器标识符; 将所述处理器标识符与从所述第一制造地点接收的经验证的处理器标识符的列表进 行比较,如果所述处理器标识符与经验证的处理器标识符相匹配,则生成所述板随机种子 并且组合所述板随机种子和所述处理器标识符以生成板消息,并且将所述板消息注入所述 装配板上的所述处理单元; 所述处理单元验证在所述板消息中接收的所述处理器标识符与所述处理单元的所述 处理器标识符相匹配,如果所述处理器标识符是匹配的,则所述处理单元组合所述处理器 随机种子和所述板随机种子以生成所述私钥。
4. 根据权利要求3所述的方法,其中,所述处理单元通过生成随机值并且将所述随机值 与所述处理器随机种子和所述板随机种子进行组合来组合所述处理器随机种子和所述板 随机种子。
5.根据权利要求3所述的方法,其中,在所述处理单元生成所述私钥之后,所述处理单 元将所述私钥存储在所述处理单元的数据存储设备中或者存储在所述装配板的安全数据 存储设备中。
6.根据权利要求1或2所述的方法,其中,在所述第一制造地点处的注入包括: 将所述处理单元连接到处理器器件; 向所述处理单元查询处理器标识符; 生成所述处理器随机种子; 基于所述处理器随机种子和所述处理器标识符,生成处理器数字签名; 将所述处理器随机种子、所述处理器标识符和所述处理器数字签名进行组合,以生成 处理器消息; 利用处理器密钥对所述处理器消息进行加密; 将所加密的消息和所述处理器密钥注入所述处理单元中;以及 确定所述处理单元的功能。
7. 根据权利要求6所述的方法,其中,在所述第二制造地点处的注入包括: 将所述装配板连接到板器件; 向所述处理单元查询处理器标识符; 将所述处理器标识符与从所述第一制造地点接收的经验证的处理器标识符的列表进 行比较,如果所述处理器标识符与经验证的处理器标识符相匹配,则生成所述板随机种子 并且将所述板随机种子、所述处理器密钥和所述处理器标识符进行组合以生成板消息,并 且将所述板消息注入所述装配板上的所述处理单元; 所述处理单元利用所述处理器密钥对所述处理器消息进行解密,验证在所述板消息中 接收的所述处理器标识符与所述处理单元的所述处理器标识符相匹配并且验证所述处理 器数字签名,如果所述处理器标识符和所述处理器数字签名被验证,则所述处理单元组合 所述处理器随机种子和所述板随机种子以生成所述私钥。
8. 根据权利要求7所述的方法,其中,如果所述处理器标识符和所述处理器数字签名未 被验证,则所述处理单元向所述板器件返回错误代码。
9. 根据权利要求1或2所述的方法,其中,所述组合所述处理器随机种子和所述板随机 种子以生成私钥包括:所述处理器将所述处理器随机种子和所述板随机种子作为输入应用 于XOR操作、级联操作、密钥导出函数或加密散列操作之一,以产生包括所述私钥的输出。
10. 根据权利要求1或2所述的方法,其中,所述方法还包括:所述处理单元使用所生成 的私钥作为用于输入到密钥生成操作的密码种子,来生成用于密码操作的密钥。
11. 根据权利要求10所述的方法,其中,所述密钥生成操作包括伪随机数生成器。
12. 根据权利要求10所述的方法,还包括:所述处理单元使用所生成的密钥对所述私钥 进行加密,并且将所加密的私钥存储在所述计算设备的数据存储设备上。
13. 根据权利要求10所述的方法,其中,所述密码操作包括公钥生成操作。
14. 一种计算设备,所述计算设备是使用根据权利要求1至13中任意一项所述的方法制 造的。
CN201180073312.XA 2011-07-27 2011-07-27 用于制造期间预配置密钥的方法 Active CN103782304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2011/045553 WO2013015806A1 (en) 2011-07-27 2011-07-27 Method for provisioning cryptographic keys during manufacturing

Publications (2)

Publication Number Publication Date
CN103782304A CN103782304A (zh) 2014-05-07
CN103782304B true CN103782304B (zh) 2017-07-11

Family

ID=44545901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180073312.XA Active CN103782304B (zh) 2011-07-27 2011-07-27 用于制造期间预配置密钥的方法

Country Status (4)

Country Link
EP (1) EP2724286B1 (zh)
CN (1) CN103782304B (zh)
CA (1) CA2843271C (zh)
WO (1) WO2013015806A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019113844A1 (zh) * 2017-12-13 2019-06-20 深圳市汇顶科技股份有限公司 生成随机数的方法、芯片和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101164086A (zh) * 2005-03-07 2008-04-16 诺基亚公司 能够使用无线网络实现信用卡个人化的方法、系统和移动设备
CN101322424A (zh) * 2005-11-02 2008-12-10 诺基亚公司 用于初始化无线终端中的安全元件的方法和装置
CN101452539A (zh) * 2008-12-12 2009-06-10 龙冬阳 一种基于nfc的移动识别方法
CN101918953A (zh) * 2008-01-11 2010-12-15 质子世界国际公司 电子电路中的加密密钥的分层

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2306139C (en) * 1997-10-14 2007-04-17 Visa International Service Association Personalization of smart cards

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101164086A (zh) * 2005-03-07 2008-04-16 诺基亚公司 能够使用无线网络实现信用卡个人化的方法、系统和移动设备
CN101322424A (zh) * 2005-11-02 2008-12-10 诺基亚公司 用于初始化无线终端中的安全元件的方法和装置
CN101918953A (zh) * 2008-01-11 2010-12-15 质子世界国际公司 电子电路中的加密密钥的分层
CN101452539A (zh) * 2008-12-12 2009-06-10 龙冬阳 一种基于nfc的移动识别方法

Also Published As

Publication number Publication date
CA2843271C (en) 2018-06-19
CN103782304A (zh) 2014-05-07
WO2013015806A1 (en) 2013-01-31
EP2724286B1 (en) 2018-04-18
CA2843271A1 (en) 2013-01-31
EP2724286A1 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
CN104821937B (zh) 令牌获取方法、装置及系统
CN104836664B (zh) 一种执行业务处理的方法、装置和系统
CN109472166B (zh) 一种电子签章方法、装置、设备及介质
CN105915502B (zh) 利于网络加入的方法和系统
CN1953375B (zh) 用于提供代码签名服务的系统和方法中的账户管理
US20170118650A1 (en) Wi-fi connecting method, terminal and system
CN105981398B (zh) 用于提供内容安全功能的内容安全方法和电子设备
CN103503366A (zh) 管理针对认证设备的数据
CN103095457A (zh) 一种应用程序的登录、验证方法
CN100507934C (zh) 针对代码签名服务来注册实体的系统和方法
CN106850220A (zh) 数据加密方法、数据解密方法及装置
CN104202736A (zh) 面向Android系统的移动终端短信端到端加密方法
CN109600223A (zh) 验证方法、激活方法、装置、设备及存储介质
CN110417543B (zh) 一种数据加密方法、装置和存储介质
CN106845177A (zh) 密码管理方法及系统
CN104954126A (zh) 敏感操作验证方法、装置及系统
CN104579668A (zh) 一种用户身份的验证方法和密码保护装置及验证系统
CN106599698A (zh) 一种加密图片、解密图片的方法和装置
CN106657137A (zh) 一种软件产品合法性的验证方法、装置以及系统
CN104639394B (zh) 客户端使用人数的统计方法、装置和系统
US20110170689A1 (en) Terminal and method for processing encrypted message
CN100511258C (zh) 用于提供代码签名服务的系统和方法
CN114039726A (zh) 一种密钥生成的方法、密钥获取的方法、相关装置及介质
CN103782304B (zh) 用于制造期间预配置密钥的方法
CN108319870B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191028

Address after: Voight, Ontario, Canada

Patentee after: Blackberry Ltd.

Address before: Rika Univ.

Co-patentee before: Blackberry Ltd.

Patentee before: Seldikam Company