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.)
Maliki Innovation Co 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
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 OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

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

Description

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

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)

Applications Claiming Priority (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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019113844A1 (zh) * 2017-12-13 2019-06-20 深圳市汇顶科技股份有限公司 生成随机数的方法、芯片和电子设备
US11574079B2 (en) * 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data

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
US6367011B1 (en) * 1997-10-14 2002-04-02 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
EP2724286A1 (en) 2014-04-30
CA2843271A1 (en) 2013-01-31
CN103782304A (zh) 2014-05-07
CA2843271C (en) 2018-06-19
EP2724286B1 (en) 2018-04-18
WO2013015806A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
CN104821937B (zh) 令牌获取方法、装置及***
CN109472166B (zh) 一种电子签章方法、装置、设备及介质
CN104836664B (zh) 一种执行业务处理的方法、装置和***
CN105915502B (zh) 利于网络加入的方法和***
CN106850220B (zh) 数据加密方法、数据解密方法及装置
CN1953375B (zh) 用于提供代码签名服务的***和方法中的账户管理
CN110417543B (zh) 一种数据加密方法、装置和存储介质
CN109600223A (zh) 验证方法、激活方法、装置、设备及存储介质
CN105981398B (zh) 用于提供内容安全功能的内容安全方法和电子设备
CN100507934C (zh) 针对代码签名服务来注册实体的***和方法
US20170118650A1 (en) Wi-fi connecting method, terminal and system
CN103503366A (zh) 管理针对认证设备的数据
CN103095457A (zh) 一种应用程序的登录、验证方法
CN106845177A (zh) 密码管理方法及***
CN104202736A (zh) 面向Android***的移动终端短信端到端加密方法
CN104954126A (zh) 敏感操作验证方法、装置及***
CN106599698A (zh) 一种加密图片、解密图片的方法和装置
CN106657137A (zh) 一种软件产品合法性的验证方法、装置以及***
CN114039726B (zh) 一种密钥生成的方法、密钥获取的方法、相关装置及介质
CN107612915A (zh) 基于验证码变换的双保密形式的防密码破解的方法和装置
CN104639394B (zh) 客户端使用人数的统计方法、装置和***
CN103782304B (zh) 用于制造期间预配置密钥的方法
CN116684102A (zh) 报文传输方法、报文校验方法、装置、设备、介质和产品
CN108319870B (zh) 一种无按键的电子密钥设备
KR101162227B1 (ko) 알에프아이디 단말기

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

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: CERTICOM Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right