一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在存储器装置处的物理不可复制函数的制作方法

2021-10-20 02:12:00 来源:中国专利 TAG:申请 优先权 装置 存储器 文中

在存储器装置处的物理不可复制函数
1.优先权申请
2.本技术案主张2018年12月31日申请的序列号为62/786,753的美国临时申请案的优先权的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
3.本文中描述的实例大体上涉及用于管理包括主机装置及存储器装置的系统处的物理不可复制函数(puf)的系统及方法。


背景技术:

4.各种计算装置利用密钥来保卫所存储数据、认证命令及用于其它目的。然而,在计算装置或其组件处产生且安全地存储密钥可产生相当大挑战。
附图说明
5.在不必按比例绘制的图式中,相似数字在不同视图中可描述类似组件。具有不同字母后缀的相似数字可表示类似组件的不同例子。一些实例通过实例而说明且不限于附图的图,其中:
6.图1是展示包含主机装置及存储器装置的环境的一个实例的图,其中在存储器装置处实施物理不可复制函数(puf)。
7.图2是展示可由图1的本地驱动程序执行以管理在存储器装置处实施的puf的过程流程的一个实例的流程图。
8.图3是展示可由图1的本地驱动程序执行以初始化管理在存储器装置处实施的puf的过程流程的一个实例的流程图。
9.图4是展示可由图1的存储器装置处的puf实用程序执行以实例化puf的过程流程的一个实例的流程图。
10.图5是展示可在图1的环境中执行以执行产生数字指纹数据(例如,puf数据)的命令的过程流程的一个实例的流程图。
11.图6展示具有存储器布置作为一或多个设备的部分的实例处理系统。
12.图7是展示计算装置的软件架构的一个实例的框图。
13.图8是说明计算装置硬件架构的框图,可在其内执行一组或序列指令以致使机器执行本文中论述的方法中的任一者的实例。
具体实施方式
14.在以下描述中,出于说明目的,阐述数种特定细节以提供对一些实例的透彻理解。然而,所属领域的技术人员将明白,可在无这些特定细节的情况下实践本发明。
15.puf是在选定存取条件下从半导体装置的选定部分导出的电可读取非编程数字指纹。在许多实例中,数字指纹将依据导致裸片特定变化的个别半导体裸片的制造变化而变
化。数字指纹可包含例如存储器单元群组(例如在通电时)的默认状态或其它性质、电路内的信号传播延迟(或其它特性)等的参数。
16.在一些实例中,puf是基于存储器的制造中的小工艺变化且其它半导体装置可另外导致类似半导体装置展现稍微不同的行为。这些小行为差异可被检测且用于产生puf数据。puf数据是包含上文描述的数字指纹或从上文描述的数字指纹导出的数据。puf数据可用于例如产生密钥且产生随机或伪随机数。
17.在各种实例中,puf由在包含主半导体组件的装置处执行的puf实用程序实施。puf实用程序读取半导体装置的选定部分的数字指纹。puf实用程序传回数字指纹作为puf数据或在一些实例中修改数字指纹以产生puf数据。例如,puf实用程序可将数字指纹转换为具有合适大小的形式以用作密钥、随机数或其它应用程序。
18.考虑其中主半导体组件包含同步随机存取存储器(sram)存储器单元的实例。在此实例中,puf实用程序读取sram存储器单元在起始时的初始逻辑状态且将读取值转译为具有合适大小的puf数据。考虑其中主半导体组件包含nand存储器单元的另一实例。在此实例中,puf实用程序读取nand存储器单元以检测阈值电压分布。阈值电压分布用于产生puf数据。由puf实用程序产生的puf数据可用于数个不同目的,包含例如作为随机数、作为密钥或作为产生密钥的基础等。
19.puf实用程序对应于来自各种其它应用程序或实用程序的命令。例如,一或多个命令可指示puf实用程序产生数字指纹数据,例如puf。到puf实用程序的其它命令可指示puf实用程序执行与puf数据的产生相关的动作。到puf实用程序的实例命令可包含用于准备或初始化主半导体组件以读取数字指纹的命令、用于读取数字指纹且产生对应puf或其它数字指纹数据的命令及用于传回关于puf实用程序的数据(例如版本数据)的命令。
20.本文中描述的各种实例涉及用于在外部存储器装置处实施puf的系统及方法。例如,与在主机装置处直接实施puf相比,在存储器装置处实施puf产生挑战,所述挑战由本文中描述的系统及方法解决。
21.为说明在外部存储器装置处实施puf的挑战,考虑其中puf在主机装置处(而非在外部存储器装置处)本地实施的布置。在此布置中,主机装置的本地sram单元被用作是puf的基础的半导体装置的选定部分。在此布置中,消耗由puf实用程序产生的puf数据的puf实用程序及应用程序都在主机装置处执行。主机装置可实施应用程序编程接口(api),应用程序使用api将命令直接发送到puf实用程序。此外,puf实用程序可将命令的结果(如果存在)映射到主机装置处的存储器,其中通过请求应用程序使用指针或间接法存取所述结果。
22.然而,当在外部实施puf时,用于产生puf数字指纹的半导体装置的sram单元或其它选定部分在主机装置外部的存储器装置处实施。例如,主机装置可形成于第一半导体芯片上。存储器装置可形成于第二半导体芯片上。主机装置及存储器装置可在第一半导体芯片与第二半导体芯片之间的总线上通信。在一些实例中,主机装置是或包含芯片上系统(soc)且存储器装置是或包含嵌入式多媒体控制器(emmc)。
23.在此布置中,从在主机装置处执行的应用程序到puf实用程序的命令在从主机装置传输到外部存储器装置处的puf实用程序时可能易于被截取及/或欺骗。而且,敏感puf数据在从外部存储器装置处的puf实用程序传输到主机装置处的请求应用程序时可能易于被截取。此外,由于puf实用程序在外部存储器装置处执行,所以其可能无法存取主机装置的
本地存储器。此可防止puf实用程序使用指针及/或间接法将命令结果映射到主机装置存储器。
24.本文中描述的各种实例通过在主机装置处执行本地驱动程序而解决这些及其它挑战。本地驱动程序可经配置以接收通过在主机装置处执行的应用程序引导到puf实用程序的主机命令。本地驱动程序从主机应用程序接收主机命令。主机命令可包含参数,例如输出指针参数。输出指针参数是主机装置的本地存储器映射的指针,其指示主机应用程序在执行命令之后期望存取puf数据的位置。主机命令还可包含输入参数,其包含或指代由puf使用以执行命令的数据。输入参数可直接包含于主机命令中或使用指向本地存储器映射处的存储器位置的输入参数指针间接传递。
25.在接收主机命令之后,本地驱动程序产生经修改命令。在一些实例中,例如,使用主机装置及外部存储器装置两者所信任或已知的一或多个密钥对经修改命令进行数字签名。经修改命令还可排除输出指针参数。例如,本地驱动程序可将输出指针参数存储于主机装置处以供随后使用,如本文中描述。本地驱动程序将经修改命令引导到外部存储器装置。
26.外部存储器装置处的puf实用程序执行经修改命令。如果经修改命令产生输出,例如puf数据,那么puf实用程序将输出(例如,包含puf数据)传回到本地驱动程序。在接收输出之后,本地驱动程序检索使用主机命令提供的所存储输出指针参数且在由所述输出指针参数指代的一或若干位置处将输出写入到主机装置处的本地存储器。以此方式,主机应用程序可利用指针及/或间接法来存取puf数据。
27.图1是展示包含主机装置102及存储器装置104的环境100的一个实例的图,其中在存储器装置104处实施puf 124。主机装置102经由通信接口118而与存储器装置104通信。主机装置104及/或存储器装置104可包含于各种产品(例如物联网(iot)装置(例如,冰箱或其它设施、传感器、电动机、致动器、移动通信装置、汽车、无人机等)、网络设施(例如,路由器、交换器等)或任何其它合适产品)中以支持产品的处理、通信或控制。在一些实例中,主机装置105及存储器装置104包含于共同电路板或封装上。在一些实例中,主机装置102是或包含芯片上系统(soc)且存储器装置104是或包含与soc通信的emmc。
28.在图1的实例中,主机装置102包含处理器109及本地存储器108。处理器109可为或包含任何合适硬件处理器。本地存储器108可为或包含任何合适类型的存储器,包含例如sram、其它合适ram或其它合适数据存储器。在一些实例中,主机装置102还包含存储器装置控制器116以经由通信接口118与存储器装置104通信。
29.存储器装置104包含一或多个控制器123,其经配置以执行用于操作存储器装置及/或经由通信接口118与主机装置102介接的逻辑功能。存储器装置104还包含可实施puf124的存储器阵列122。存储器阵列122可包含数个块或数个存储器单元。存储器阵列122可包含任何合适类型的存储器单元,包含例如sdram。在一些实例中,存储器装置104还包含与存储器阵列122分离的闪存阵列121。例如,存储器阵列122可为由控制器123利用以管理闪存阵列121的sram阵列。
30.再次参考主机装置102,处理器109执行主机应用程序110。主机应用程序110可为在主机装置102处执行以执行任何合适功能的任何合适应用程序或实用程序。在一些实例中,主机应用程序110是主机装置102的操作系统(os)。
31.处理器109还执行本地驱动程序106。本地驱动程序106实施应用程序编程接口
(api)112以与主机应用程序110通信。api 112可支持一组主机命令113及主机回复115。主机命令113是由主机应用程序110提供的命令。主机命令113可包含直接包含或由指针指代的输入参数。主机命令113还可包含指代其中主机应用程序110将存取源自命令的puf数据的本地存储器108处的位置的输出指针。api 112还可支持一或多个主机回复115。主机回复是对由puf实用程序产生的命令的响应。例如,回复可包含puf数据。并非全部命令导致puf实用程序产生回复。主机回复115是提供到主机应用程序110的回复。主机回复115可并入源自命令的puf数据及/或可指示源自命令的puf数据映射到本地存储器108,如本文中描述。
32.本地驱动程序106经配置以从主机应用程序110接收主机命令113。主机命令113可直接从主机应用程序105接收或在一些实例中可通过主机应用程序的os提供。一些主机命令113包含参数而其它主机命令可不包含参数。例如,请求停止puf 124的主机命令113可不包含参数。请求密钥的主机命令113可包含描述所请求密钥的一或多个输入参数及指向本地存储器108处的存储器位置128a、128b的一或多个输出指针参数。输出指针参数可向本地驱动程序106指示将响应于主机命令113而产生的puf数据写入或以其它方式映射到的位置。
33.在接收主机命令113之后,本地驱动程序106产生存储器装置(md)命令130。经由通信接口118将md命令130传输到存储器装置104。在一些实例中,本地驱动程序106将md命令130提供到存储器装置控制器116,存储器装置控制器116管理与存储器装置的通信接口118。存储器装置控制器116将md命令130提供到存储器装置104(例如,其puf实用程序120)。
34.md命令130可类似于主机命令113但被引导到存储器装置104。在一些实例中,从原始主机命令113修改md命令130。例如,本地驱动程序106可修改主机命令113以删除输出指针参数。(本地驱动程序106存储经删除输出指针参数以供随后使用,如本文中描述。)在一些实例中,本地驱动程序106还可对md命令130进行密码签名,例如使用密钥以产生消息认证码(mac)或哈希消息认证码(hmac)。mac或hmac可与存储器装置104共享,如本文中描述。在一些实例中,如果md命令130包含一或多个输入参数,那么本地驱动程序加密所述输入参数。
35.存储器装置104处的puf实用程序120接收且执行md命令130。puf实用程序120可在存储器装置104的控制器123处执行。如本文中描述,puf实用程序120可经配置以验证所接收md命令130。如果md命令130包含一或多个经加密输入参数,那么puf实用程序120可解密所述输入参数且使用其执行命令130。
36.在执行md命令130之后,puf实用程序120可将md回复132提供到本地驱动程序106。md回复132可包含描述命令的状态(例如例如是否成功执行命令)的状态数据。puf实用程序120可经配置以对回复密码签名。例如,puf实用程序120可使用mac或hmac密钥产生mac或hmac。一些md命令130传回puf数据,例如举例来说激活码、密钥等。puf实用程序120可经配置以加密puf数据以传输到本地驱动程序106。经加密puf数据可为由puf实用程序120密码签名的md回复132的部分。
37.本地驱动程序106可直接及/或经由存储器装置控制器116接收md回复132。本地驱动程序106可验证md回复132的密码签名。在其中md回复132包含puf数据的实例中,本地驱动程序106可解密puf数据,如本文中描述。如本文中描述,验证命令113、130及回复132、115以及加密参数及puf数据可在包含本地驱动程序106及存储器装置104的环境100处实施安
全边界126。此可降低与在主机装置102外部实施puf124相关联的安全风险。
38.在解密puf数据之后,本地驱动程序106可将经解密输出(例如puf数据)写入或以其它方式映射到由与原始主机命令113相关联的所述输出指针参数指示的所述存储器位置128a、128b。以此方式,主机应用程序110可存取本地存储器108处的输出。本地驱动程序106还可将主机回复115发送到主机应用程序110。主机回复115可指示成功执行主机命令113(或未成功执行主机命令113,任选地而定)。在接收主机回复115之后,主机应用程序110可使用运用主机命令113传递的所述输出指针参数存取本地存储器108处的输出数据。
39.本地驱动程序106及puf实用程序120可支持待在puf 124处执行的各种命令。实例化命令指示存储器装置104产生puf且准备好puf以供使用。实例化命令可作为主机命令113起源于主机应用程序110或可在本地驱动程序106起始之后作为md命令130由本地驱动程序106直接实施。本文中提供实例实例化命令的额外细节,例如关于过程流程300的操作308。例如,实例化命令可包含指示puf 124的大小的分配大小输入参数(例如,将用于实施puf 124的存储器阵列122处的存储器单元的数目)。实例化命令还可包含主机公钥输入参数,其指示puf实用程序120将用以加密源自其它命令的puf数据的主机公钥。在一些实例中,主机公钥经提供而与可由puf实用程序120验证的数字证书相关联。实例化命令还可包含单调计数器输入参数,其指示puf实用程序120应用以产生puf数据的单调计数器。puf实用程序120执行实例化命令且产生指示命令的成功或失败的md回复132。本地驱动程序106可类似地产生指示命令的成功或失败的主机回复115。
40.可将产品信息命令引导到puf 124且传回描述puf 124及/或puf实用程序120的puf数据。产品信息主机命令113可包含对应于待产生的预期puf数据的输出指针参数但可不包含任何输入参数。因此,产品信息md命令130可不包含任何参数。对产品信息命令的md回复132可包含描述puf 124及/或puf实用程序120的puf数据,例如例如产品识别、puf版本、puf修正、puf构建版本号等中的一或多者。本地驱动程序106可解密此puf数据且将其写入到由包含于初始主机命令内的输出指针参数指示的本地存储器108处的位置。本地驱动程序106可产生指示命令的成功或失败的主机回复115。
41.初始化命令可确认puf已被正确实例化。初始化主机命令113可包含实际puf大小的输出指针参数及指示所要puf大小的大小输入参数。本地驱动程序106产生包含所要puf大小输入参数的md命令130。puf实用程序120在接收md命令130之后验证puf 124的实例化大小匹配所要puf大小参数且如果是,那么传回指示实际puf大小的puf数据。本地驱动程序106将puf数据写入到对应于输出指针参数的本地存储器108处的位置。本地驱动程序106还可产生指示命令的成功或失败的主机回复115。
42.登记命令可提示puf实用程序120使用puf来产生激活码。激活码是可在随后用作例如用于产生密钥、随机数等的不同命令的参数的puf数据。登记主机命令113可包含用于接收激活码puf数据的输出指针参数。本地驱动程序106可产生可不包含任何参数的md命令130。puf实用程序120使用puf 124产生激活码且使用md回复132传回激活码作为puf数据。本地驱动程序106将激活码写入到由输出指针参数指示的本地存储器108处的存储器位置且产生指示命令的成功或失败的主机回复115。
43.起始命令向puf 124提供先前产生的激活码且使其准备好接收额外命令。起始主机命令113包含激活码输入参数。本地驱动程序106产生包含激活码作为输入参数的md命令
130。puf实用程序120使用激活码起始puf 124且传回指示起始命令的成功(或失败)的md回复132。本地驱动程序106随后产生指示命令的成功或失败的主机回复115。
44.停止命令停止puf 124且可停用puf 124直到其重启。停止主机命令113可不包含任何参数。本地驱动程序106可产生及传递还可缺乏参数的停止md命令130。puf实用程序可执行停止命令且提供指示命令的成功或失败的md回复132。本地驱动程序106还可产生指示命令的成功或失败的主机回复115。
45.使用获取密钥命令以使用puf 124产生密钥。获取密钥主机命令113可包含各种参数,包含指示所请求的密钥的类型(例如,密钥类型)的密钥类型输入参数及在一些实例中索引输入参数。获取密钥主机命令113还可包含用于接收密钥的输出指针参数。本地驱动程序106产生包含密钥类型输入参数及索引输入参数的md命令130。puf实用程序120使用puf 124以使用索引产生所请求的密钥类型且在md回复132中传回密钥作为puf数据。本地驱动程序106将密钥写入到由输出指针参数指示的本地存储器108处的位置且将主机回复115发送到主机应用程序110。
46.另一实例主机命令113可请求作为输入参数提供的数据的密码签名。例如,主机命令113可包含酬载数据。响应于主机命令113,puf实用程序120例如利用从puf 124产生的密钥产生酬载数据的密码签名,如本文中描述。输入参数还可包含用于接收密码签名的输出指针参数。
47.图2是展示可由在主机装置102处执行的本地驱动程序106执行以管理在存储器装置104处实施的puf 124的过程流程200的一个实例的流程图。在操作202,本地驱动程序106从主机应用程序110接收主机命令113。主机命令113可从主机应用程序110直接接收及/或经由主机装置102的os接收。主机命令113可包含一或多个参数,包含例如输入参数及输出指针参数。输入参数可包含于主机命令113内或作为指针提供到本地存储器108处的存储器位置128a、128b。
48.在操作204,本地驱动程序106产生md命令130。此可包含例如从主机命令113移除输出指针参数。输出指针参数可本地存储于主机102处,例如与本地驱动程序106相关联的安全存储器位置处。在其中输入参数作为指针包含于主机命令113内的实例中,本地驱动程序106存取包含输入参数的本地存储器108处的存储器位置128a、128b且将输入参数直接并入到md命令130中。
49.在任选操作206,本地驱动程序106加密md命令130的任何输入参数。例如,如果主机命令113包含输入参数,那么可加密所述输入参数。输入参数可使用任何合适对称或不对称加密方案加密,包含例如数据加密标准(des)、利瓦伊斯特

莎米尔

阿尔德曼(rivest

shamir

aldeman)(rsa)、先进加密标准(aes)等。在一些实例中,使用对称方案(例如rsa)且本地驱动程序106使用存储器装置104及/或puf实用程序120的存储器装置公钥加密输入参数。puf实用程序120随后可使用对应于公钥的存储器装置私钥解密参数,如本文中描述。如果md命令130不包含任何参数,那么可不执行操作206。
50.在操作208,本地驱动程序106对md命令130进行密码签名。类似于操作206的加密,操作208的密码签名可使用对称密钥或一组不对称密钥执行。如果使用不对称密钥,那么本地驱动程序106可使用md命令130及其私钥产生数字签名。如本文中描述,puf实用程序120可使用与本地驱动程序106相关联的公钥认证数字签名。在其中使用对称密钥的实例中,本
地驱动程序106及puf实用程序120两者都具有相同对称密钥的复本。本地驱动程序106例如通过使用对称密钥将哈希或其它密码函数应用到md命令130而产生数字签名。在一些实例中,所得密码签名被称为mac或hmac。
51.在操作210,本地驱动程序106将md命令130(包含密码签名)发送到存储器装置104(例如,其puf实用程序120)。存储器装置104执行md命令且发送md回复132,本地驱动程序106在操作212接收md回复132。md回复132可包含指示是否成功执行md命令130的状态。在其中md命令130产生puf数据的实例中,md回复132还包含puf数据(其可经加密)。
52.在操作214,本地驱动程序106验证md回复132。例如,回复132可包含密码签名,例如mac或hmac。本地驱动程序106利用适当密钥来验证密码签名。在其中回复132包含puf数据的实例中,本地驱动程序106还可例如使用与主机装置102相关联的私钥及/或与存储器装置104共享的对称密钥解密puf数据。
53.在任选操作216,本地驱动程序106将puf数据(如果存在)写入到对应于包含于主机命令113内的所述输出指针参数的所述存储器位置128a、128b。例如,本地驱动程序106可检索在经修改命令的产生期间存储的指针参数。在操作218,本地驱动程序106将指示已执行主机命令113的状态消息发送到主机应用程序110。主机应用程序110随后可存取本地存储器108处的puf数据中的puf数据(如果存在)。
54.图3是展示可由本地驱动程序106执行以初始化管理存储器装置104处的puf 124的过程流程300的一个实例的流程图。本地驱动程序106可执行过程流程300以准备对主机命令113作出响应,如本文中描述。在一些实例中,本地驱动程序106在起始之后执行过程流程300。
55.在操作302处,本地驱动程序106存取主机私钥。主机私钥可存储于例如与处理器109及/或本地存储器108相关联的密钥寄存器处。主机私钥可用于解密在md回复132中接收的puf数据。
56.在操作304处,本地驱动程序106验证包含存储器装置104的公钥(存储器装置公钥)的存储器装置凭证。在一些实例中,通过凭证机构利用凭证机构的私钥对存储器装置凭证进行密码签名。验证存储器装置凭证可包含使用凭证机构的公钥来确认存储器装置凭证的密码签名是使用凭证机构的私钥产生。存储器装置凭证可包含本地驱动程序106在验证之后可用以加密md命令130参数的存储器装置公钥,如本文中描述。
57.在操作306处,本地驱动程序106可初始化对称mac密钥。此可包含关于共享秘密与存储器装置104实现一致。初始化对称mac密钥可例如使用任何合适密钥交换算法执行。本地驱动程序106可将对称mac密钥存储于例如与处理器109及/或本地存储器108相关联的密钥寄存器处。
58.在操作308处,本地驱动程序106将实例化md命令130发送到存储器装置104。实例化md命令130指示存储器装置104(例如,puf实用程序120)产生puf 124。例如,实例化md命令130可包含例如例如puf的大小的参数。实例化md命令130的另一实例参数可为puf实用程序120可用以加密提供到本地驱动程序106的puf数据的主机公钥。主机公钥可对应于在操作302存取的主机私钥。
59.图4是展示可由puf实用程序120执行以例如响应于从本地驱动程序106接收的实例化md命令130而实例化puf 124的过程流程400的一个实例的流程图。在操作402,puf实用
程序120为puf 124分配来自存储器阵列122的一组存储器地址。在操作404,puf实用程序为puf 124分配存储器装置104处的一或多个单调计数器。在操作406,puf实用程序将用于管理puf 124的密钥分配到例如控制器123处及/或存储器阵列122处的特定密钥寄存器位置。例如,从本地驱动程序106接收的对称mac密钥可存储于一个密钥寄存器位置处。对称mac密钥可用于密码地验证md命令130且对md回复132数字签名。与存储器装置数字证书(在操作304验证)相关联的存储器装置私钥可存储于另一密钥寄存器位置处。存储器装置私钥可用于解密由本地驱动程序106使用存储器装置公钥加密的md命令130参数。
60.图5是展示可在图1的环境100中执行以执行命令的过程流程500的一个实例的流程图。过程流程500包含三列501、503、505。列501包含可通过主机应用程序110执行的操作。列503包含可通过本地驱动程序106执行的操作。列505包含可通过存储器装置104(例如,其puf实用程序120)执行的操作。
61.在操作502处,主机应用程序110将主机命令113发送到本地驱动程序106。主机命令113可请求在puf 124处执行命令,例如本文中描述的实例命令中的一者。取决于所请求的命令,主机命令113可包含一或多个参数。参数可包含将用于执行命令的输入参数以及输出指针参数。输出指针参数可指向其中主机应用程序110在执行命令之后期望定位puf数据的本地存储器108处的存储器位置128a、128b。输入参数可直接或经由本地存储器108的指针间接包含于命令113中。
62.本地驱动程序106接收主机命令113且在任选操作504,其产生md命令130。产生md命令130可包含从主机命令113移除输出指针参数。输出指针参数可被存储且在随后用于将源自命令的puf数据写入到所指示存储器位置128a、128b。在一些实例中,存储输出指针参数与所产生md命令130的指示(例如例如md命令130的一些或全部的哈希)。在接收对md命令130的回复132之后,所产生md命令130的指示在随后用于检索输出指针参数。产生md命令130还可包含加密输入参数(如果存在)。在其中经由一或多个指针间接提供输入参数的实例中,本地驱动程序106可在加密之前从本地存储器108存取相关输入参数的值。
63.在操作506处,本地驱动程序106例如使用mac密钥对md命令130进行密码签名,如本文中描述。在操作508,本地驱动程序106将md命令130发送到存储器装置104(例如,其puf实用程序120)。
64.存储器装置104接收md命令130且在操作510验证mf命令130的数字签名。在一些实例中,存储器装置104的固件使用md命令130呼叫puf实用程序120来执行命令。此可在验证之前或之后发生。在操作512,puf实用程序120执行puf 124处的命令。取决于命令,此可产生puf数据。如果产生puf数据,那么puf实用程序在任选操作514加密puf数据。例如可利用提供到存储器装置104的主机公钥加密puf数据,如本文中描述。在操作516,存储器装置104及/或puf实用程序120将md回复132发送到本地驱动程序106。此可包含例如使用mac密钥对回复132进行数字签名。
65.本地驱动程序106接收md回复132且在操作518验证其密码签名。任选地,如果md回复132包含puf数据,那么本地驱动程序106在操作520解密puf数据且将其写入到由输出指针参数(如果存在)指示的本地存储器处的所述位置。本地驱动程序106可例如使用主机私钥解密puf数据。在操作522,本地驱动程序106将主机回复115发送到主机应用程序110。主机回复115指示原始主机命令113的成功(或失败)。主机应用程序110在操作524接收回复。
如果回复115指示命令是成功的,那么主机应用程序可在操作526从本地存储器108存取所得puf数据。
66.图6展示包含具有存储器布置620(例如,本文中描述的存储器布置中的任一者)的处理系统610(例如,处理系统101)作为一或多个设备630、640、650的部分的实例环境600。设备包含可包含处理系统(例如处理系统610)的任何装置。如先前提及,处理系统610可为能够(依序或以其它方式)执行指令的任何装置。实例设备包含车辆630(例如,作为信息娱乐系统、控制系统或类似物的部分)、无人机650(例如,作为控制系统的部分)、家具或电器640(例如,作为传感器系统、娱乐或信息娱乐系统的部分)或类似物。在其它实例中,尽管未展示,但设备可包含航空装置、航海装置、物联网(iot)及其它装置。
67.图7是展示处理装置的软件架构702的一个实例的框图700。架构702可结合各种硬件架构使用。例如,软件架构702可描述主机装置102。图7仅是软件架构702的非限制性实例且可实施许多其它架构以促进本文中描述的功能性。说明代表性硬件层704且其可表示例如上文提及的计算装置中的任一者。在一些实例中,硬件层704可根据图7的架构702、图8的机器800及/或本文中描述的安全处理系统101的架构实施。
68.代表性硬件层704包括具有相关联可执行指令708的一或多个处理单元706。可执行指令708表示软件架构702的可执行指令,包含图1到4的方法、模块、组件等的实施。硬件层704还包含存储器及/或存储模块710,其还具有可执行指令708。硬件层704还可包括如由其它硬件712指示的其它硬件,其表示硬件层704的任何其它硬件,例如说明为硬件架构800的部分的其它硬件。
69.在图7的实例架构中,软件702可被概念化为一层堆叠,其中每一层提供特定功能性。例如,软件702可包含例如操作系统714、程序库716、框架/中间件718、应用程序720及呈现层744的层。操作上,应用程序720及/或层内的其它组件可通过软件堆叠调用应用程序编程接口(api)呼叫724且响应于api呼叫724接收说明为消息726的响应、传回值等。所说明的层本质上是代表性的且并非全部软件架构具有全部层。例如,一些移动或专用操作系统可不提供框架/中间件层718,而其它可提供此层。其它软件架构可包含额外或不同层。
70.操作系统714可管理硬件资源且提供共同服务。操作系统714可包含例如内核728、服务730及驱动程序732。内核728可充当硬件与其它软件层之间的抽象层。例如,内核728可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务730可为其它软件层提供其它共同服务。在一些实例中,服务730包含中断服务。中断服务可检测硬件或软件中断的接收且据此响应导致架构702暂停其当前处理且在接收中断时执行中断服务例程(isr)。
71.驱动程序732可负责控制或介接下层硬件。例如,驱动程序732可取决于硬件配置而包含显示器驱动程序、相机驱动程序、驱动程序、闪存驱动程序、串行通信驱动程序(例如,通用串行总线(usb)驱动程序)、驱动程序、nfc驱动程序、音频驱动程序、功率管理驱动程序等。
72.程序库716可提供可由应用程序720及/或其它组件及/或层利用的共同基础设施。程序库716通常提供允许其它软件模块以比与下层操作系统714功能性(例如,内核728、服务730及/或驱动程序732)直接介接更容易的方式执行任务的功能性。程序库716可包含系统734程序库(例如,c标准程序库),其可提供例如存储器分配功能、串操纵功能、数学功能
及类似物的功能。另外,程序库716可包含api程序库736,例如媒体程序库(例如,用于支持各种媒体格式(例如mpeg4、h.264、mp3、aac、amr、jpg、png)的呈现及操纵的程序库)、图形程序库(例如,可用于在显示器上的图形内容中呈现2d及9d的opengl框架)、数据库程序库(例如,可提供各种关系数据库功能的sqlite)、网站程序库(例如,可提供网站浏览功能性的webkit)及类似物。程序库716还可包含广泛多种其它程序库738以将许多其它api提供到应用程序720及其它软件组件/模块。
73.框架718(有时还被称为中间件)可提供可由应用程序720及/或其它软件组件/模块利用的较高级共同基础设施。例如,框架718可提供各种图形用户接口(gui)功能、高级资源管理、高级位置服务等。框架718可提供可由应用程序720及/或其它软件组件/模块利用的广泛频谱的其它api,其中一些可专用于特定操作系统或平台。
74.应用程序720包含内建应用程序740及/或第三方应用程序742。代表性内建应用程序740的实例可包含(但不限于)联系人应用程序、浏览器应用程序、图书阅读器应用程序、定位应用程序、媒体应用程序、发消息应用程序及/或游戏应用程序。第三方应用程序742可包含内建应用程序以及广泛分类的其它应用程序中的任一者。在特定实例中,第三方应用程序742(例如,通过除特定平台的供货商以外的实体使用android
tm
或ios
tm
软件开发套件(sdk)开发的应用程序)可为在移动操作系统(例如ios
tm
、android
tm
、电话或其它移动计算装置操作系统)上运行的移动软件。在此实例中,第三方应用程序742可调用由移动操作系统(例如操作系统714)提供的api呼叫724以促进本文中描述的功能性。
75.应用程序720可利用内建操作系统功能(例如,内核728、服务730及/或驱动程序732)、程序库(例如,系统734、api 736及其它程序库738)、框架/中间件718以产生用户接口以与系统的用户交互。替代地或另外,在一些系统中,与用户的交互可通过呈现层(例如呈现层744)发生。在这些系统中,应用程序/模块“逻辑”可从与用户交互的应用程序/模块的方面分离。
76.一些软件架构利用虚拟机。例如,本文中描述的系统可利用在一或多个服务器计算机处执行的一或多个虚拟机执行。在图7的实例中,此由虚拟机748说明。虚拟机产生软件环境,其中应用程序/模块可宛如其在硬件计算装置上执行那样执行。虚拟机由主机操作系统(操作系统714)托管且通常(尽管并非始终)具有虚拟机监测器746,虚拟机监测器746管理虚拟机以及与主机操作系统(即,操作系统714)的接口的操作。软件架构在例如操作系统750、程序库752、框架/中间件754、应用程序756及/或呈现层758的虚拟机内执行。在虚拟机748内执行的软件架构的此类层可与先前描述的对应层相同或可为不同的。
77.图8说明可在其上执行本文中论述的技术(例如,方法)中的任何一或多者的实例机器800的框图。在替代实施例中,机器800可作为独立装置操作或可连接(例如,联网)到其它机器。在联网部署中,机器800可以服务器机器、客户端机器或服务器

客户端网络环境中的两者的身份操作。在实例中,机器800可充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器800可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络设备、iot装置、汽车系统或能够执行指定由所述机器采取的动作的指令(循序或以其它方式)的任何机器。此外,虽然仅说明单个机器,但术语“机器”还应被视为包含个别或联合地执行一组(或多组)指令以执行本文中论述的方法(例如云计算、软件即服务(saas)、其它计算机集群配置)中的任何一或多者的任何机器集合。
78.如本文中描述,实例可包含逻辑、组件、装置、封装或机构或可由其操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路集合(例如,一组电路)。电路系统成员可随时间灵活变化且具有基础硬件可变性。电路系统包含可在操作时单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可经不变地设计以实行特定操作(例如,硬接线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),其包含经物理地修改(例如,磁性地、电气地、可移动放置不变质量颗粒等)以编码特定操作的指令的非暂时性计算机可读媒体。在连接物理组件时,硬件构成的基础电性质例如从绝缘体改变为导体或反之亦然。指令使参与硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中产生电路系统的部件以在操作时实行特定任务的部分。因此,在装置正操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,可在一个以上电路系统的一个以上部件中使用物理组件中的任一者。例如,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路中且在不同时间由第一电路系统中的第二电路或第二电路系统中的第三电路重用。
79.机器(例如,计算机系统)800(例如,主机装置102等)可包含硬件处理器802(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理核心或其任何组合,例如存储器控制器116等)、主存储器804及静态存储器806,其一些或全部可经由互连(例如,总线)808彼此通信。机器800可进一步包含显示单元810、字母数字输入装置812(例如,键盘)及用户接口(ui)导航装置814(例如,鼠标)。在实例中,显示单元810、输入装置812及ui导航装置814可为触摸屏显示器。机器800可另外包含存储装置(例如,驱动单元)816、信号产生装置818(例如,扬声器)、网络接口装置820及一或多个传感器817(例如全球定位系统(gps)传感器、指南针、加速度计或其它传感器)。机器800可包含输出控制器828,例如串行(例如,通用串行总线(usb))、并行或其它有线或无线(例如,红外线(ir)、近场通信(nfc)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。
80.存储装置816可包含机器可读媒体822,其上存储器现本文中描述的技术或功能中的任何一或多者或由其利用的一或多组数据结构或指令824(例如,软件)。例如,指令824可与主机应用程序110、本地驱动程序106、puf实用程序120或其它合适软件相关联。指令824还可在其由机器800执行的期间完全或至少部分驻留于主存储器804内、静态存储器806内或硬件处理器802内。在实例中,硬件处理器802、主存储器804、静态存储器806或存储装置816中的一者或任何组合可构成机器可读媒体822。
81.虽然机器可读存储媒体822经说明为单个媒体,但术语“机器可读存储媒体”可包含经配置以存储一或多个指令824的单个媒体或多个媒体(例如,集中或分布式数据库或相关联高速缓存及服务器)。
82.术语“机器可读媒体”可包含能够存储、编码或携载由机器800执行且导致机器800执行本发明的技术中的任何一或多者的指令或能够存储、编码或携载由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器及光学及磁性媒体。在实例中,集结型(massed)机器可读媒体包括具有拥有不变(例如,静止)质量的多个颗粒的机器可读媒体。因此,集结型机器可读媒体并非暂时性传播信号。集结型机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))及闪存装置;磁盘,例如内置
硬盘及可抽换式磁盘;磁光盘;及cd

rom及dvd

rom光盘。
83.指令824(例如,软件、程序、操作系统(os)等)或其它数据经存储于存储装置821上,可由存储器804存取以供处理器802使用。存储器804(例如,dram)通常是快速但易失性的且因此是与存储装置821(例如,ssd)不同类型的存储器,存储装置821合适于长期存储(包含在“关闭”状态中时)。由用户或机器800使用的指令824或数据通常加载存储器804中以供处理器802使用。当存储器804充满时,可分配来自存储装置821的虚空间以补充存储器804;然而,由于存储器821通常比存储器804慢且写入速度通常比读取速度至少慢一倍,所以虚拟存储器的使用可归因于存储装置延时而(与存储器804(例如,dram)相比)大幅减低用户体验。此外,将存储装置821用于虚拟存储器可大幅减少存储装置821的可使用寿命。
84.与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“zram”)使用存储器的部分作为压缩块存储器以避免到存储装置821的传呼。传呼发生在压缩块中直到有必要将此数据写入到存储装置821。虚拟存储器压缩增加存储器804的可用大小,同时减少存储装置821上的损耗。
85.针对移动电子装置优化的存储装置或移动存储器传统地包含mmc固态存储装置(例如,微型安全数字(microsd
tm
)卡等)。mmc装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常可为从主机装置移除及与主机装置分离的组件。相比之下,emmc
tm
装置经附接到电路板且被视为主机装置的组件,其具有与基于串行ata
tm
(串行at(先进技术)附件或sata)的ssd装置相媲美的读取速度。然而,对于移动装置性能的需求持续增加,例如完全实现虚拟或扩增实境装置、利用增加网络速度等。响应于此需求,存储装置已从平行通信接口转换为串行通信接口。通用快闪存储(ufs)装置(包含控制器及固件)使用具有专用读取/写入路径的低电压差分信令(lvds)串行接口与主机装置通信,从而进一步推进更大读取/写入速度。
86.可进一步利用数个传送协议(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)中的任一者经由网络接口装置820使用传输媒体通过通信网络826传输或接收指令824。实例通信网络可包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝式网络)、简易老式电话(pots)网络及无线数据网络(例如,称为的电机电子工程师学会(ieee)802.11标准系列、称为的ieee 802.16标准系列)、ieee 802.15.4标准系列、对等(p2p)网络等。在实例中,网络接口装置820可包含一或多个物理插孔(例如,以太网络、同轴或电话插孔)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可包含多个天线以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一者进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或携载由机器800执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。
87.上文的实施方式包含对附图(其形成实施方式的一部分)的参考。图式通过图解展示其中可实践本发明的特定实施例。此类实施例在本文中还被称为“实例”。此类实例可包含除展示或描述的元件以外的元件。然而,本发明者还预期其中仅提供所展示或描述的所述元件的实例。此外,本发明者还预期相对于特定实例(或其一或多个方面)或相对于在本文中展示或描述的其它实例(或其一或多个方面)使用所展示或描述的所述元件(或其一或
多个方面)的任何组合或排列的实例。
88.在此文件中,使用术语“一”(如在专利文件中常见)以包含一个或一个以上,其独立于“至少一个”或“一或多个”的任何其它例子或用法。在此文件中,除非另有指示,否则术语“或”用于指代非穷尽性或使得“a或b”可包含“a但非b”、“b但非a”及“a及b”。在所附权利要求书中,术语“包含”及“其中”是用作相应术语“包括”及“其中”的通俗英文等效术语。而且,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除在此术语之后列出的元件以外的元件的系统、装置、物品或过程仍视为落入所述权利要求书的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且不希望对其对象强加数值要求。
89.在各种实施例中,本文中描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中使用,“处理器”意味着任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其它类型的处理器或处理电路(包含处理器或多核心装置的群组)。
90.无论衬底在任何时间点的实际定向如何,如此文件中使用的术语“水平”被定义为平行于所述衬底的常规平面或表面(例如位于晶片或裸片下方)的平面。术语“垂直”指代垂直于如上文定义的水平的方向。无论衬底的定向如何,介词(例如“在
……
上”、“在
……
上方”及“在
……
下方”)关于常规平面或表面在衬底的顶部或暴露表面上而定义;且同时“在
……
上”希望暗示一个结构相对于所述一个结构位于其“上”的另一结构的直接接触(无相反的表达指示);术语“在
……
上方”及“在
……
下方”明确希望识别结构(或层、特征等)的相对放置,其明确包含(但不限于)经识别结构之间的直接接触,除非特别如此识别。类似地,术语“在
……
上方”及“在
……
下方”不限于水平定向,这是因为如果结构在某时间点是所论述构造的最外部分,那么所述结构可“在”参考结构“上方”,即使此结构相对于参考结构垂直延伸而非在水平定向上延伸。
91.术语“晶片”及“衬底”在本文中大体上用于指代其上形成集成电路的任何结构且还指代在集成电路制造的各种阶段期间的此类结构。因此,并未以限制意义获得下列实施方式,且仅通过所附权利要求书连同此类权利要求书所授权的等效物的全部范围定义各种实施例的范围。
92.根据本发明且在本文中描述的各种实施例包含利用垂直存储器单元结构的存储器(例如,存储器单元的nand串)。如本文中使用,方向形容词将被视为相对于其上形成存储器单元的衬底的表面(即,垂直结构将被视为远离于衬底表面延伸,垂直结构的底端将被视为最靠近衬底表面的端部且垂直结构的顶端将被视为最远离于衬底表面的端部)。
93.如本文中使用,除非另有指示,否则方向形容词(例如水平、垂直、法向、平行、垂直等)可指代相对定向且不希望要求严格遵守特定几何性质。例如,如本文中使用,垂直结构不必严格垂直于衬底的表面,而可代替地大体上垂直于衬底的表面,且可与衬底的表面形成锐角(例如,介于60度与120度之间等)。
94.在本文中描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极(sgs)、控制栅极(cg)及漏极侧选择栅极(sgd),在此实例中,其中的每一者可由多晶硅形成或至少包含多晶硅,使得这些层叠(例如,多晶硅等)在暴露到蚀刻溶液时可具有不同蚀刻速率。例如,在3d半导体装置中形成整块柱的过程中,sgs及cg可形成凹槽,而sgd可保持较少凹陷或
甚至不凹陷。这些掺杂配置可因此能够通过使用蚀刻溶液(例如,氢氧化四甲铵(tmch))而选择性地蚀刻到3d半导体装置中的不同层叠(例如,sgs、cg及sgd)中。
95.如本文中使用,操作存储器单元包含从存储器单元读取、写入到或擦除存储器单元。将存储器单元置于预期状态中的操作在本文中称为“编程”,且可包含写入到存储器单元或从存储器单元擦除两者(例如,存储器单元可经编程到擦除状态)。
96.根据本发明的一或多个实施例,定位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、定义、利用、修改、应用等)损耗循环的数量或损耗状态(例如,记录损耗循环、在存储器装置操作发生时计数所述操作、跟踪其起始的存储器装置操作、评估对应于损耗状态的存储器装置特性等)。
97.根据本发明的一或多个实施例,存储器存取装置可经配置以在每一存储器操作下将损耗循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
98.将理解,当元件被称为“在”另一元件“上”、“连接到”另一元件或“与”另一元件“耦合”时,其可直接在另一元件上、连接到另一元件或与另一元件耦合或可存在中介元件。相比之下,当元件被称为“直接在”另一元件“上”,“直接连接到”另一元件或“直接与”另一元件“耦合”时,不存在中介元件或层。除非另有指示,否则如果两个元件在图式中展示为用线连接其,那么两个元件可经耦合或直接耦合。
99.本文中描述的方法实例可至少部分使用机器或计算机实施。一些实例可包含用指令编码的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在上文实例中描述的方法。此类方法的实施方案可包含程序代码,例如微码、汇编语言码、更高级语言码或类似物。此程序代码可包含用于执行各种方法的计算机可读指令。程序代码可形成计算机程序产品的部分。此外,程序代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含(但不限于)硬盘、可抽换式磁盘、可抽换式光盘(例如,光盘及数字光盘)、卡式磁带、存储器卡或棒、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置及类似物。
100.实例1是一种用于将存储器装置的选定部分的数字指纹提供到主机装置的系统,其包括:存储器装置;主机装置,其包括与所述存储器装置分离的本地存储器,所述主机装置用于执行驱动程序及主机应用程序,其中所述主机装置经配置以执行包括以下各者的操作:通过所述主机应用程序将产生数字指纹数据的命令发送到所述驱动程序,所述命令包含待写入所述数字指纹数据的所述本地存储器的存储器位置的输出指针;通过所述驱动程序产生经修改命令,其中所述经修改命令不包含所述输出指针;通过所述驱动程序将所述经修改命令发送到所述存储器装置;通过所述驱动程序接收包括描述所述存储器装置的选定部分的所述数字指纹数据的回复;及将所述数字指纹数据写入到由所述输出指针指示的所述本地存储器的所述存储器位置处的位置。
101.在实例2中,根据实例1所述的标的物任选地包含其中所述主机装置进一步经配置以执行包括以下各者的操作:在将所述数字指纹数据写入到由所述输出指针指示的所述本
地存储器处的所述位置之前,通过驱动程序使用主机装置公钥解密所述数字指纹数据。
102.在实例3中,根据实例1到2中任何一或多者所述的标的物任选地包含其中所述命令包括输入参数,且其中所述主机装置进一步经配置以执行包括至少部分基于与所述存储器装置相关联的公钥加密所述输入参数的操作。
103.在实例4中,根据实例1到3中任何一或多者所述的标的物任选地包含其中所述主机装置进一步经配置以执行包括将实例化命令发送到所述存储器装置的操作,其中所述实例化命令指示指示待分配到puf的所述存储器装置处的存储器的量的分配大小。
104.在实例5中,根据实例4所述的标的物任选地包含其中所述实例化命令还指示用于加密所述存储器装置处的数字指纹数据的主机公钥。
105.在实例6中,根据实例1到5中任何一或多者所述的标的物任选地包含其中所述命令是登记命令,且其中所述数字指纹数据包括激活码。
106.在实例7中,根据实例1到6中任何一或多者所述的标的物任选地包含其中所述命令包括响应于到所述驱动程序的先前命令而接收的激活码。
107.在实例8中,根据实例1到7中任何一或多者所述的标的物任选地包含其中所述命令包括密钥类型的指示且其中所述数字指纹数据包括所述密钥类型的密钥。
108.在实例1到8中任何一或多者中,所述数字指纹包括puf且所述数字指纹数据可包含puf数据。
109.实例9是一种用于将数字指纹提供到主机装置的方法,其包括:通过在所述主机装置处执行的主机应用程序将产生数字指纹数据的命令发送到在所述主机装置处执行的驱动程序,所述命令包含指示待写入所述数字指纹数据的所述主机装置的本地存储器的存储器位置的输出指针;通过所述驱动程序产生经修改命令,其中所述经修改命令不包含所述输出指针;通过所述驱动程序将所述经修改命令发送到外部存储器装置;通过所述驱动程序接收包括所述数字指纹数据的回复;及将所述数字指纹数据写入到由所述输出指针指示的所述本地存储器的所述存储器位置处的位置。
110.在实例10中,根据实例9所述的标的物任选地包含在将所述数字指纹数据写入到由所述输出指针指示的所述本地存储器处的所述位置之前,通过驱动程序使用主机装置私钥解密所述数字指纹数据。
111.在实例11中,根据实例9到10中任何一或多者所述的标的物任选地包含其中所述命令包括输入参数,进一步包括至少部分基于与所述存储器装置相关联的公钥加密所述输入参数。
112.在实例12中,根据实例9到11中任何一或多者所述的标的物任选地包含将实例化命令发送到所述存储器装置,其中所述实例化命令指示指示待分配到puf的所述存储器装置处的存储器的量的分配大小。
113.在实例13中,根据实例12所述的标的物任选地包含其中所述实例化命令还指示用于加密所述存储器装置处的数字指纹数据的主机公钥。
114.在实例14中,根据实例9到13中任何一或多者所述的标的物任选地包含其中所述命令是登记命令,且其中所述数字指纹数据包括激活码。
115.在实例15中,根据实例9到14中任何一或多者所述的标的物任选地包含其中所述命令包括响应于到所述驱动程序的先前命令而接收的激活码。
116.在实例16中,根据实例9到15中任何一或多者所述的标的物任选地包含其中所述命令包括密钥类型的指示且其中所述数字指纹数据包括所述密钥类型的密钥。
117.在实例9到16中任何一或多者中,所述数字指纹包括puf且所述数字指纹数据可包含puf数据。
118.实例17是一种其上包括指令的非暂时性计算机可读媒体,所述指令在由硬件处理器执行时导致所述硬件处理器执行包括以下各者的操作:通过在所述硬件处理器处执行的主机应用程序将产生数字指纹数据的命令发送到在所述主机装置处执行的驱动程序,所述命令包含指示待写入所述数字指纹数据的与所述硬件处理器相关联的本地存储器的存储器位置的输出指针;通过所述驱动程序产生经修改命令,其中所述经修改命令不包含所述输出指针;通过所述驱动程序将所述经修改命令发送到存储器装置;通过所述驱动程序接收包括所述数字指纹数据的回复;及将所述数字指纹数据写入到由所述输出指针指示的所述本地存储器的所述存储器位置处的位置。
119.在实例18中,根据实例17所述的标的物任选地包含其中所述操作进一步包括在将所述数字指纹数据写入到由所述输出指针指示的所述本地存储器处的所述位置之前,通过驱动程序使用主机装置私钥解密所述数字指纹数据。
120.在实例19中,根据实例17到18中任何一或多者所述的标的物任选地包含其中所述命令包括输入参数,且其中操作进一步包括至少部分基于与所述存储器装置相关联的公钥加密所述输入参数。
121.在实例20中,根据实例17到19中任何一或多者所述的标的物任选地包含其中所述操作进一步包括将实例化命令发送到所述存储器装置,其中所述实例化命令指示指示待分配到puf的所述存储器装置处的存储器的量的分配大小。
122.在实例17到20中任何一或多者中,所述数字指纹包括puf且所述数字指纹数据可包含puf数据。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜