鉴别通信会话和加密其数据的电路、系统、设备和方法

文档序号:7909475阅读:231来源:国知局
专利名称:鉴别通信会话和加密其数据的电路、系统、设备和方法
技术领域
本发明一般涉及通信鉴别(authentication)领域。更确切地说,本发明涉及基于“一次性编程” (OTP)NVM存储器进行设备和/或内容识别(identification)和鉴别 (authentication)和/或加密的电路、系统、设备和方法。
背景技术
鉴别是确定某人或某物事实上是否是所宣称的某人或某物的过程。在私有和公共计算机网络(包括因特网)中,鉴别通常是通过登录密码的使用来完成的。假设通过知晓密码来保证该用户是可信的。每个用户最初注册(或由某个其他人注册)时,利用分配的或自己声明的密码。在每次后续使用时,该用户必须知道和使用先前所声明的密码。在这个系统中对于重要交易(如货币兑换)而言,其缺点是密码可能常被窃取、偶然泄露、或遗
忘ο因此,因特网商务和许多其它交易要求更严格的鉴别过程。使用由证书授权机构 (CA)颁发和验证的数字证书作为公钥基础设施的一部分,被认为很可能成为在因特网上进行鉴别的标准方式。有三个鉴别的主要因素要考虑你所知道的,如用户ID和密码;你拥有的,如智能卡;以及你是什么,其涉及物理特征,如利用生物特征识别技术验证的指纹。这些因素可以单独使用,或可以被结合以形成在被称为双因素或多因素鉴别中的更强的鉴别策略。用户ID和密码系统属于数字鉴别的最老的形式。这类鉴别系统,简单地提示用户输入他或她的ID和密码以获取系统的访问权,容易实现和使用,但是它们也带有某些巨大的安全风险。密码的最大问题之一是它们可以被共享、猜测或误用。组织机构教育用户如何妥善地处理他们的密码。对用户最重要的密码准则之一是密码绝不应该写下来。雇员常常要将他们的密码记下,以试图帮助他们记住他们的多套证书。消除这个问题的一种方法是禁止使用多个密码。如果用户可以有一个ID和密码用于公司系统——一般称之为企业单点登录——他们需要记下任何东西的可能性被大大地降低。生物特征识别技术是利用指纹或面部扫描和虹膜或声音识别来识别用户的鉴别方法。生物特征识别扫描设备获取用户的生物特征数据,如虹膜图案或指纹扫描,并将之转换成计算机可以判读和验证的数字字符。由于居心不良的黑客获取个人生物特征数据比较困难,且用户不大可能误放或误用他或她的生物特征数据,这种技术形式比其他识别方法更加保险。生物特征识别既可以用于进入公司大楼的物理访问,也可以用于进入企业计算机和系统的内部访问。生物特征识别最常用作在较广泛的双因素或多因素鉴别中的鉴别形式。单点登录(SSO)是为用户和IT管理员简易鉴别过程的一种技术形式。通过SS0, 对于访问多种应用,用户可以只输入一次他或她的用户名和密码。用户被赋予特定应用的权利,并且当他们输入他们的证书时他们将能够访问所有这些应用,这样就消除了连续提示。SSO也为IT员工减少了管理无数的密码数量的成本。SSO系统通过在专用服务器上集中鉴别改善了安全性。所有鉴别证书必须首先通过专用SSO服务器,然后该专用SSO服务器再为单个用户传递其已储存的特定的鉴别证书。 这种集中化比单一因素鉴别系统更可能清除恶意访问。公钥基础设施(H(I)是一组服务器,它处理用于数字证书的公钥(public key)的创建。PKI系统维护数字证书,必要时将其创建和删除。该系统允许用户通过一对公共和私有密钥经由公共网络安全地交换字符,该密钥是通过证书授权机构(CA)获得和存取的。公钥基础设施提供数字证书,它是包含证书授权机构的名称、用户名称、生效和失效日期以及用户公钥的电子“信用卡”。数字证书用于在线交易期间建立用户的证书。所有数字证书由证书授权机构颁发并包含证书颁发授权机构的数字签名以用于验证鉴别。智能卡是小型塑料卡片,相当于信用卡的大小,包含可被编程以存储特定用户的鉴别字符的嵌入式微芯片。智能卡上的芯片可以存储特定用户的多种识别因素(如密码和指纹)。当用户插入他或她的卡到智能卡阅读器中时,该卡实施鉴别的多种因素,使得智能卡系统成为双因素或多因素鉴别的适用选项。关于安全交易和安全通信会话(如通过分布式通信网络进入)。鉴别可以是字符串或代码(如登录id),而不是在其背后的真实的设备或人。当专用硬件鉴别方案试图识别在虚拟身份背后的真实设备/人时,这种需求可能会造成问题。因此,在该领域需要可以减小基于复制识别设备或识别码的误判识别(false positive authentication)的可能性和消除从计算机偷窃存储或传送的字符的黑客的威胁的用于鉴别和/或加密的电路、系统设备和方法。字符可以全部或部分地在智能卡上被处理,因此字符的某些或全部可以不必离开卡片或被传送到另外的机器。关于通过分布式通信网络参与的安全交易和安全通信会话,需要鉴别以便核实请求会话的虚拟身份(如请求连接安全服务器或网关的一方)是初始注册的身份。鉴别可以是字符串或代码(如登录id),而不是在其背后的真实设备或人。当专用硬件鉴别方案试图识别在虚拟身份背后的真实设备/人时,这种需求对大多数专用硬件鉴别方案提出问题。因此,在该领域需要可以减轻基于复制识别设备或识别码的误判识别可能性的用于鉴别和/或加密的电路、系统和方法。

发明内容
本发明是基于一个或更多识别字符串(identification string)(如芯片序列号或用户识别号,其被写入NVM阵列的一次性编程(OTP)部分),在非易失性存储器(NVM)阵列和一个或多个主机之间,在计算设备和/或通信设备与主机之间,在计算设备和/或通信设备通信网关之间鉴别通信会话的电路、系统和方法,所述通信网关与数据服务器和/或用于通信会话的鉴别和/或与应用有关的交易的鉴别(如许可产品的证书的鉴别)有关。 根据本发明的某些实施方式,可以提供包括主机接口电路和非易失性存储器(NVM)阵列的外围设备,其中一个或多个识别字符串(如芯片序列号或用户识别码)可以被写入该阵列的一次性编程(OTP)部分。与该阵列在功能上相关联的NVM控制器可以被配置以标记或用其他方法识别该一个或多个已写入该阵列的OTP部分的识别字符串,作为在单因素或多因素鉴别方案中的一个或多个因素。根据本发明的某些实施方式的NVM控制器,可以驻留在与阵列相同的晶片上,并且可适配于(可能通过在功能上与另外的NVM控制逻辑相关联)跟踪阵列的OTP部分的那些已经被写入数据的地址,以及可以进一步适配于从用于新数据的可能的数据存储位置的表中去除阵列的已被写入数据的地址。可替换地,已写入数据的阵列OTP位置的地址,可以被加到“不可写”(NO Write)表中。可替换地,OTP数据可以被顺序写入,而计数器可以用于跟踪和识别数据可以被继续写入的阵列位置。根据本发明的更进一步实施方式,控制器可以适配于校验在该阵列的OTP部分的位置(如阵列的页)和确定该位置是否已经被写入——在那种情形控制器可以阻止对该位置的再次写入。目前已知或未来被发明的用于在 NVM阵列中实现OTP功能的任何方法、电路或技术可以适用于本发明。此外,NVM控制器也可以适配于阻止/禁止格式化或擦除该阵列的OTP部分的位置的写入(如闪烧NVM块)。根据本发明的进一步实施方式,所描述的OTP功能的某些或全部也可以由外围设备中的以及功能上与该NVM阵列相关联的系统级控制器实现。根据本发明的进一步实施方式,功能上与NVM控制器相关联的鉴别逻辑响应于鉴别询问(authentication query)可以取得和利用一个或多个识别字符串。此外,功能上与 NVM控制器相关联的加密逻辑,为支持加密的通信会话(如介于非易失性存储器(NVM)晶片和当前的主机设备之间,介于当前主机设备和主机设备通过网络与之通信的远程通信网关之间),可以取得和利用一个或多个识别字符串,其中加密方案的至少一部分基于从NVM阵列的OTP部分得到的数据。附图简要说明作为本发明的主题在说明书的总结部分特别地指出和清楚地提出了声明。但是, 本发明的构造和操作方法,以及目的、特性及其优点,在阅读包括附图的相应附件时通过参考下列详细说明能够被很好地理解

图1显示根据本发明的某些实施方式,用于在非易失性存储器(NVM)阵列和一个或多个主机之间鉴别通信会话的系统的基本的示例性系统配置;图2A显示根据本发明的某些实施方式,用于在非易失性存储器(NVM)阵列和一个或多个主机之间鉴别通信会话的系统的部分示例性系统配置,其中NVM控制器被适配于从用于新数据的可能的数据存储位置表中去除已被写入的NVM阵列的一次性可编程(OTP)部分的地址;图2B显示根据本发明的某些实施方式,用于在非易失性存储器(NVM)阵列和一个或多个主机之间鉴别通信会话的系统的部分示例性系统配置,其中NVM控制器被适配于将已写入数据的阵列OTP位置的地址加到“不可写”表中;图2C显示根据本发明的某些实施方式,用于在非易失性存储器(NVM)阵列和一个或多个主机之间鉴别通信会话的系统的部分示例性系统配置,其中OTP数据被顺序写入, 而计数器用于跟踪和识别数据可以被继续写入的阵列位置;图3A显示根据本发明的某些实施方式的OTP NVM电路的内容拥有者加载工具(Content-Owner Loading Tool)和主机之间的多级多组件鉴别和加密方案的第一主要阶段,其中所述OTP NVM电路的内容拥有者加载工具用于将数据编程/写入到OTPNVM电路的 NVM晶片上,所述主机用于被编程/写入到NVM晶片上的数据的再现/呈现/输出;图;3B显示根据本发明的某些实施方式的OTP NVM电路的内容拥有者加载工具 (Content-Owner Loading Tool)和主机之间的多级多组件鉴别和加密方案的第二和第三主级,其中所述OTP NVM电路的内容拥有者加载工具用于将数据编程/写入到OTP NVM电路的NVM晶片,所述主机用于被编程/写入到NVM晶片上的数据的再现/呈现/输出;图4A显示根据本发明的某些实施方式,在主机设备和主机设备通过网络与之通信的远程通信网关之间的示例性加密的通信会话;图4B显示根据本发明的某些实施方式的示例性加密的通信会话,其中也部分地基于计算和/或通信设备用户和/或外围设备用户的个人身份数据进行加密;图4C显示根据本发明的某些实施方式的示例性加密的通信会话,其中加密引擎包括与时间相关的组件(如实时时钟(RTC)和电池);图5显示根据本发明的某些实施方式的利用两个或多个识别字符串的结合的示例性鉴别方案,其中第一识别字符串存储在用作交易系统的接口的计算设备和/或通信设备上,而第二识别字符串存储在由计算设备和/或通信设备作为主机的外围设备上;图6显示根据本发明的某些实施方式的示例性鉴别方案,其中存储在OTP存储器上的一个或多个识别字符串用作与本地应用相关联的鉴别或授权方案的部分,这种本地应用诸如在当前主机设备上运行的应用;图7显示根据本发明的某些实施方式,用于在游戏控制台盒式存储器和游戏控制台之间的鉴别和加密系统的基本的示例性系统配置;图8A显示根据本发明的某些实施方式,示例性的基于询问-应答 (challenge-response)的相互鉴别方案,其中游戏控制台和游戏盒式存储器可以相互鉴别对方;图8B显示根据本发明的某些实施方式,在游戏控制台和游戏盒式存储器之间的示例性加密方案;图9显示根据本发明的某些实施方式的在功能上与主机的相应的接口电路相关联的示例性外围设备/电路;图10显示根据本发明的某些实施方式,由示例性外围设备的系统控制器执行的步骤的流程图,该控制器作为触发在其主机设备上的应用激活的“主控部件”;图IlA显示根据本发明的某些实施方式的包括非OTP存储器部分的示例性外围设备,其中外围设备接收到的来自主机的数据被存储在非OTP存储器部分;图IlB显示根据本发明的某些实施方式的包括非OTP存储器部分的示例性外围设备,其中一个或多个识别字符串被外围设备加密引擎用于对从主机设备接收到的数据进行加密和/或数字地签名;图IlC显示根据本发明的某些实施方式的包括非OTP存储器部分的示例性外围设备,其中外围设备包括适配于接纳外部存储卡(如SD卡),并将从主机接收到的数据存储在插入到该槽中的卡上的接口槽和电路;以及图12显示根据本发明的某些实施方式,由示例性系统配置执行的步骤的流程图,其中一个或多个新的识别字符串被加到NVM阵列的OTP部分。本发明的说明在下列详细说明中,陈述了许多具体细节以便提供对本发明的充分理解。但是,本领域的那些技术人员可以理解,没有这些具体细节本发明也可以实施。在其他例子中,众所周知的方法、步骤、组件和电路没有详细说明以免使本发明难以理解。除非以其他方式特别说明,如从下列讨论所明显看出的,将认识到贯穿说明书讨论中,使用的诸如“处理”、“计算”、“推算”(calculating)、“确定”或类似的术语,指计算机或计算系统或类似电子计算设备的动作和/或过程,其将计算系统的寄存器和/或存储器中以物理(如电子)量表示的数据处理和/或变换成在计算系统的存储器、寄存器或其他这样的字符存储、传输或显示设备中的以物理量表示的其他类似数据。本发明的实施方式可以包括用于执行本文的操作的设备。这种设备可以为了希望的用途而专门地构造,或可以包括由存储在计算机中的计算机程序选择性地启动或重新配置的通用计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如但不限于,任何类型的磁盘包括软盘、光盘、CD-ROM,磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、 电可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)、磁卡或光学卡、或适于存储电子指令并能够被耦合到计算机系统总线的任何其他类型的介质。这里介绍的过程和显示内容并非固有地与任何特定的计算机或其他设备相关联。 各种通用系统可以用于根据本文的教导的程序,或者可以证明构建更专业的设备以执行希望的方法也是方便的。从下列详细说明中将显示用于多种这类系统的希望的结构。此外, 本发明的实施方式没有参照任何特定的编程语言进行描述。可以理解各种编程语言可以用于实现本文所描述的本发明的教导。本发明是基于可以被写入NVM阵列的一次性编程(OTP)部分的一个或多个识别字符串,如芯片序列号或用户识别号,在非易失性存储器(NVM)阵列和一个或更多主机之间, 在计算和/或通信设备与主机之间,在计算和/或通信设备与关联数据服务器和/或用于通信会话的鉴别和/或带有应用的已鉴别的交易(如已授权产品的证书的鉴别)的通信网关之间鉴别通信会话的电路、系统和方法。根据本发明的某些实施方式,可以提供包括主机接口电路和非易失性存储器(NVM)阵列的外围设备,其中一个或多个识别字符串,诸如芯片序列号或用户的身份证号,可以被写入阵列的一次性编程(OTP)部分。功能上与阵列相关联的NVM控制器可以被配置成标记或以其他方式识别写入到阵列的OTP部分的一个或多个识别字符串,作为在单因素或多因素鉴别方案中的一个或多个因素(图1)。根据本发明的某些实施方式的NVM控制器,可以驻留在与阵列一样的晶片上,可以适配于跟踪已经被写入的阵列的OTP部分的地址,且可以进一步适配于从用于新数据的可能的数据存储位置表中去除阵列的已被写入的地址(图2A)。可替换地,已写入数据的阵列OTP位置的地址可以被加到“不可写”表中(图2B)。可替换地,OTP数据可以被顺序写入,而计数器可用于跟踪和识别数据可以被继续写入的阵列位置(图2C)。根据本发明的又一个实施方式,控制器可以被适配于校验在阵列的OTP部分上的位置(如阵列的页)和确定该位置是否已经被写入——在那种情形,控制器可以阻止进一步写入到该位置。目前已知的或未来将被发明的用于在NVM阵列中实现OTP功能的任何方法、电路或技术,可以适用于本发明。此外,NVM控制器也可以被适配于阻止/禁止格式化或擦除阵列的OTP部分的位置的写入内容(如闪烧NVM块)。根据本发明的又一实施方式,所描述的OTP功能的某些或全部也可以由在外围设备内的且功能上与NVM阵列相关联的系统级控制器实现。根据本发明的进一步实施方式,功能上与NVM控制器相关联的鉴别逻辑响应于鉴别查询可以取得和利用一个或多个识别字符串。此外,功能上与NVM控制器相关联的加密逻辑可以取得和利用一个或多个识别字符串,以支持加密的通信会话(如在非易失性存储器(NVM)晶片和当前主机设备之间,在当前主机设备和主机设备通过网络与之通信的远程通信网关之间),其中加密方案的至少一部分是基于从NVM阵列的OTP部分得到的数据。下列是根据本发明的某些实施方式,在OTP NVM电路的用于编程/写入数据到OTP NVM电路的NVM晶片上的内容拥有者加载工具和用于将被编程/写入到NVM晶片上的数据再现/呈现/输出的主机之间的多级多组件鉴别和加密方案的示例性实施方式。需要清楚的是包括这个多级多组件鉴别和加密方案的各种鉴别和/或加密子方案,可以被使用和/ 或分别地利用或者作为许多可能组合的部分,作为鉴别和/或加密方案的部分来利用。此外,包含OTP NVM的各种系统,包括但不限于0PT NVM电路、SD卡(带控制器)、USB笔式驱动器(带控制器)、裸OTP晶片等等,可以被用于实现一个或多个这些方案。当由功能上与NVM阵列相关联的外围设备(如SD卡)内的系统/卡级控制器实现时,在存储器和主机之间的一些或全部通信,可以经由系统/卡级控制器的“安全加密链路”而不与控制器和/或控制器-制造者分享数据/秘密(如控制器不能泄露密钥,因此不能解密数据)。现在参考图3A(图3A),其中介绍了这个示例性鉴别和加密方案的第一主要阶段。 根据本发明的某些实施方式,内容加载工具(如内容拥有者加载工具/主机)可以从NVM 控制器要求已写入到NVM阵列的OTP部分的OTP晶片ID。内容加载工具可以包括密钥发生器,其适配于利用接收到的OTP晶片ID(1. 1. 1)以及第一密钥(1. 1. 2)来计算内容加载工具的第一密码(如哈希值)(1. 1.3),该第一密钥为内容加载工具拥有。然后,算出的内容加载工具的第一密码可以被通信和编程到NVM阵列的OTP部分。根据本发明的某些实施方式,密钥发生器可以被适配于利用算出的内容加载工具的第一密码(1. 2. 1)以及内容加载工具(1. 2. 2)拥有的第二密钥来计算内容加载工具的第二密码(如哈希值)(1. 2.3)。算出的内容加载工具的第二密码可以被用作加密方案的部分(1.3. 1),用于加密为内容加载工具所拥有的数据(1.3.2)。然后,加密的数据可以被通信和编程到NVM阵列的OTP部分上(1. 3. 3)。根据某些实施方式,内容加载工具可能够加载每个NVM晶片/卡的私有/特定数据(例如,根据晶片的ID/卡的ID)。现在参考图;3B(图:3B),其中介绍了这个示例性鉴别和加密方案的第二和第三主要阶段。根据本发明的某些实施方式,当NVM阵列连接到主机和/或NVM阵列已经被连接到其上的主机上电时,主机可以从NVM控制器请求已写入到NVM阵列的OTP部分的OTP晶片ID。主机可以包括密钥发生器(类似于内容加载工具的密钥发生器),其被适配于利用接收到的OTP晶片ID (2. 1. 1)以及为主机所拥有的第一密钥(2. 1.2),该第一密钥类似于内容加载工具的第一密钥,来计算主机的第一密码(如哈希值)(2. 1. 3)。根据本发明的某些实施方式,主机的密钥发生器可以被适配于利用算出的主机的第一密码(2.2. 1)以及为主机所拥有的第二密钥O. 2. 2),该第二密钥类似于内容加载工具的第二密钥,来计算主机的第二密码(如哈希值)(2. 2. 3)。根据本发明的某些实施方式,算出的主机的第一密码可以被通信到NVM控制器(3.1.1)并可以与编程到NVM阵列的OTP部分上的内容加载工具的第一密码相比较 (3. 1. 2)。类似于内容加载工具的第一密码的主机的第一密码可以指示两个第一密码都基于类似的第一密钥、同样的晶片或晶片组的OTP晶片ID而产生,且由类似的密钥发生器算出。因此,可以建立到主机鉴别(通过)的确信晶片(positive die)。在主机的第一密码和内容加载工具的第一密码之间的任何、一个或更多(各种鉴别级,或基于各种级别的密码相似性的鉴别可以被实施)的不一致性,可以导致到主机鉴别的不良晶片(negative die) (失败)。根据本发明的某些实施方式,NVM控制器可以被适配于以杂乱格式(scrambled format),编程/读出通信到和编程到NVM阵列的OTP部分上的加密数据(3. 1. 3)。在到主机鉴别的确信晶片上,数据在其通信到主机前可以是非杂乱的(3. 1.4. 1),可替换地,在到主机鉴别的不良晶片上,数据可以以其原始的杂乱格式被送到主机(3. 1. 4. 2)。根据本发明的某些实施方式,OTP NVM的某一个或多个部分(如高于某值的所有阵列地址)可以被指定为杂乱数据区(Scrambled Data Section),NVM控制器可以从该区以杂乱格式读取数据。 根据本发明的某些示例性实施方式,一个或多个杂乱数据区的初始位置/地址可以由数据拥有者确定,根据本发明的进一步示例性实施方式,一个或多个杂乱数据区的位置/地址可以由主机/NVM控制器在运行期间动态地改变。根据本发明的某些实施方式,算出的主机的第二密码当被主机读出时,可以被用作加密方案的部分,用于解密已编写到NVM阵列的OTP部分上的加密数据(3. 1. 5)。类似于内容加载工具的第二密码的主机的第二密码,可以因此使加密的数据解密,可以指示两个第一密码都基于类似的第一密钥,相同晶片或晶片组的OTP晶片ID而产生,且由类似的密钥发生器算出;此外,它可以指示主机的第二密钥和内容加载工具的第二密钥是类似的。 然后,解密的数据可以被通信到媒体播放器用于再现/呈现/输出(3. 1. 6)。根据这个例子的某些实施方式,密码0 )可以单独由主机所有且从不在数据线上被通信或被存储到NVM上。根据本发明的某些实施方式,加密的通信会话可以发生在当前主机设备和主机设备通过网络与之通信的远程通信网关之间(图4A)。根据本发明的进一步实施方式,加密也可以部分地基于计算和/或通信设备用户、和/或外围设备用户的个人识别数据(如个人身份证号码(PIN)、指纹数据、声纹数据、或任何其他的生物特征数据)(图4B)。根据本发明的进一步实施方式,加密引擎可以包括与时间有关的组件(如实时时钟(RTC)和电池) (图4C),使得数据流不能被攻击者重放或重复。根据本发明的某些实施方式,可以利用两个或多个识别字符串的结合鉴别参加与给定的交易系统(如银行网络)相关的交易和要求鉴别的用户,其中第一识别字符串可以被存储在用作交易系统的接口的计算和/或通信设备上,而其中的第二识别字符串可以被存储在由计算和/或通信设备作为主机的外围设备上(图5)。根据本发明的进一步的实施方式,存储在OTP存储器上的一个或多个识别字符串,可以被用作与本地应用相关联的鉴别或鉴别方案的部分,所述本地应用诸如运行在当前主机设备上的应用或运行在直接连接到当前主机设备上的计算平台上的应用(图6)。
根据本发明的可替换实施方式,外围设备和主机计算设备和/或通信设备可以相互鉴别。根据本发明的某些进一步实施方式,相互鉴别过程可以不要求计算设备和/或通信设备去接收存储在外围设备上的识别字符串,而是可以包括基于质问的鉴别。例如,根据本发明的某些实施方式,外围设备的控制器可以被配置使得用于读取OTP数据的数据访问被限制在功能上与外围相关联的加密/鉴别逻辑。因此,给定的外围设备可以对它的一个或多个主机、计算设备和/或通信设备的任何一方,永不公开它的识别字符串。在本发明的下列示例性实施方式中,存储在OTP存储器上的识别字符串被用作与本地应用相关联的鉴别、授权和/或加密方案的部分。在这个示例性实施方式中,诸如游戏控制台盒式存储器的数据存储设备适配于存储在游戏控制台上被执行的游戏代码。该存储设备可以包括鉴别引擎、加密/解密引擎、以及存储在该设备上的游戏代码,其可以以加密的形式被存储。主机、游戏控制台也可以包括鉴别引擎和加密/解密引擎(图7)。根据本发明的这个示例性实施方式,当数据存储设备与游戏控制台相互连接时,鉴别方案可以被启动。鉴别方案可以是多级安全配置中的一个阶段或一层。设备的鉴别引擎或者控制台的鉴别引擎可以提供与多因素鉴别方案相关联的一个或多个因素。作为基于询问-应答的相互鉴别方案(如显示在(图8A)中的示例性方案)的部分,控制台和盒式存储器二者可以相互鉴别。根据鉴别方案的这个示例性实施方式,数据存储设备鉴别引擎可以发送唯一的设备询问值和设备卡的序列ID到控制台鉴别引擎。然后, 控制台鉴别引擎可以产生控制台询问值,并可以通过在盒式存储器询问值、它拥有的附加秘密(如功能、模板、代码、字符串)和设备卡的序列ID上运行哈希函数来计算控制台响应值;以及然后,可以发送控制台询问值和计算出的控制台响应值到存储设备。然后,数据存储设备鉴别引擎可以计算希望的控制台响应值和将之与从控制台鉴别引擎接收到的值相比较以确保它们是相同的,且通过在控制台询问值上、它拥有的附加秘密(如功能、模板、 代码、字符串)、和设备卡的序列ID上运行混合函数来计算它的盒式存储器响应。然后,数据存储设备的鉴别引擎可以将算出的盒式存储器响应值发送回控制台鉴别引擎,在那里它可以与控制台鉴别引擎算出的希望的存储设备响应值相比较以确保它们是相同的。所描述的方案可以被重复直到实现期望的安全级别。如上述示例性实施方式中所描述,控制台和盒式存储器二者可以利用基于询问-应答的鉴别来相互验证。结果,可以获得盒式存储器和控制台的可靠性,其中非授权的盒式存储器不能与任何(授权的或非授权的)控制台相通信;和/或非授权的控制台不能与任何(授权的或非授权的)盒式存储器相通信。询问-应答鉴别可以进一步防止重放型 (replay type)攻击尝试,其中真实数据包被记录并稍后回放到可信的盒式存储器的鉴别引擎;和/或强力攻击尝试,其可能尝试各种或所有可能的密码以模仿真实的控制台和得到关于盒式存储器的虚假的鉴别,因此透露盒式存储器存储的数据。当数据存储设备和游戏控制台相互连接时,可以在设备的控制器和控制台的控制器之间建立加密的通信会话。加密的通信会话可以是多级安全配置中的一个阶段或一层。 关于设备和控制台的各自的加密/解密引擎可以被用于建立加密的通信会话。根据本发明的加密方案的这个示例性实施例,及如(图8B)中所示,数据可以在出厂时基于实际的普通数据(actual plain data)和盒式存储器控制器的公钥(public-key) 被初始地加密,然后写入到盒式存储器的NVM。从盒式存储器的NVM以加密格式输送的数据,可以稍后基于实际的工厂加密数据和盒式存储器控制器的私钥(private-key),在盒式存储器控制器被解密。第二次加密可以发生在盒式存储器控制器,基于实际的盒式存储器加密数据和控制台的数据信号处理(DSP)公钥,使得输送到控制台的CPU和到它的DSP之上的数据也被加密。当到达控制台的DSP时,数据基于实际的盒式存储器加密数据和控制台的DSP私钥被解密。由于在它的预定路径中没有额外的可能侵入点(hacking point)存在,解密的数据现在可以安全地发送到输出设备(如通过控制台的CPU)。存储设备的加密/解密引擎可以杂乱和/或加密数据且仅在此后将数据传送到控制台。解密代码可以被存储在存储设备和控制台上,而加密代码可以由控制台的加密/解密引擎从该存储设备的存储器中提取出来。因此,在存储设备和控制台的DSP之间的虚拟私有通道可以通过加密所有从该通道输送的数据而被创建。由于大部分或全部实质上可能的(如值得开销的黑客时间和成本)侵入点(hacking point) :(1)在盒式存储器上的闪存设备(如OTP)和该存储设备的控制器之间;( 在存储设备控制器和控制台的中央处理单元(CPU)之间;以及(3)在控制台的CPU和DSP之间;都沿着那个通道,甚至居心不良的成功的数据取回尝试,将导致取回加密的无法使用的数据,它将无助于侵入尝试。通过从DSP 回到控制台的CPU和到输出设备上的“最后里程”的单独的数据可以是解密的格式,且由于没有可能的侵入点是沿着那段最后的路径的,它不可能妨碍总的基于加密的安全级别。根据本例子的进一步实施方式,当数据存储设备与游戏控制台相互连接时,可能通过利用前述的加密的通信会话,在存储设备的控制器和控制台的控制器之间建立在存储器存储级别上的数据加密。在存储器存储级别上的数据加密可以是多级安全配置中的一个阶段或一层。非易失性存储器(NVM)存取控制码可以被从存储设备加载到控制台的处理器上。这些码可以是处理器专用的且只可以与预先规定的游戏控制台处理器组一起运行。NVM 存取控制码也可以包括用于解密存储在设备NVM上的代码数据需要的解密因素。利用接收到的NVM存取控制码,处理器可以读出和解密在设备NVM上的游戏代码数据。解密码可以存储在盒式存储器和控制台上,而加密码可以由DSP从盒式存储器的存储器中取出。因此, 任何从存储器的直接读取,其不是由真正的控制台产生的,可以导致随机的无意义的字符。此外,为了读取和执行写入到盒式存储器的可执行的游戏代码,被控制台使用的实际的机器码的部分(如二进制码),可以以加密的格式被写入到盒式存储器。这对于控制台和盒式存储器都为真实的和/或也包括真实组件(如真实的控制台DSP),甚至试图执行来自真实的盒式存储器的可执行游戏码是必要的,当由非真实的控制台DSP执行时,将引起该DSP接收杂乱的/加密的机器码,其必须接收,但为了其能够运行所述可执行游戏码又不能使用机器码。根据本发明的某些实施方式,功能上与外围设备的控制器电路相关联的主机接口电路,可以是通用串行总线(USB)接口,安全数字卡(SD)接口,微型SD卡接口等等(图9)。 根据本发明的基于USB的实施方式,外围设备的系统控制器可以充当“主控”USB并触发主机设备的应用激活。已触发的应用可以被适配于利用外围设备的鉴别和/或加密逻辑的某些或全部,以便建立和/或与远程通信网关之间通信。通信网关可以是交易系统或数据检索系统的网关如医疗系统或数据库,个人数据系统,基于用户/设备位置的系统,监视系统,以用于各种系统的鉴别的应用激活或鉴别的设置配置和/或用于任何要求或从鉴别的通信会话获益的系统。
外围设备可以进一步包括非OTP存储器部分,处于与OTP存储器部分相同的或不同的阵列上。外围设备从主机接收到的数据(如主机产生的数据或从远程网关接收到的数据)可以被存储到非OTP存储器部分上(图11A)。根据本发明的某些实施方式,一个或多个识别字符串,可以被外围设备加密引擎用于对从主机设备接收到的数据进行加密和/或数字签名(图11B)。根据本发明的进一步实施方式,外围设备可以包括接口槽和电路以接纳外部存储器卡(如SD卡)和可以将从主机接收到的数据存储到插入该槽的卡上。存储到卡上的数据可以利用在外围设备上的加密逻辑被加密和/或数字地签名(图11C)。根据这种实施方式,通过外围设备对存储在卡上的数据进行读取,可以被限制使得数据仅仅可以通过该外围设备被读取。根据本发明的进一步实施方式,外围设备可以包括一个或多个应用,当运行在主机设备上时它们被适配于呈现出来(如显示文本、图像和/或视频和播放声音)。该一个或多个应用可以被适配于接收和显示以加密的形式存储在外围上的数据。根据本发明的某些实施方式,该应用可以被数字签名,且外围的接口电路、加密逻辑和/或控制器只可以解密和提供存储的数据到所述应用。根据本发明的进一步实施方式,外围可以解密和提供数据的数字签名的应用,可以是由信任方发布的因特网应用。根据本发明的进一步实施方式,一个或多个新的识别字符串可以被加到存储器阵列的OTP部分。该一个或多个新的识别字符串(如交易会话识别器)可以在与外部应用/ 网关/服务器通信会话期间被添加,且可以由该应用/网关/服务器提供。可替换地,该一个或多个新的识别字符串,可以由外围控制逻辑产生(图12)。新的识别字符串可以与时间戳或其他时间标记(temporal marker) 一起被存储。根据本发明的某些实施方式,当满足一个或多个预先确定的阈值条件(如时间、剩余存储、或其他情形)时,为了进一步对它写入,部分或整个OTP存储器部分可以被分块。尽管本发明的一些特性已经在此被图示和说明,本领域的技术人员会想到许多改进、替换、改变以及等同物。因此,需要理解的是附上的权利要求,旨在覆盖所有落入本发明的实质精神之内的这些改进和改变。
权利要求
1.一种用于鉴别通信会话的非易失性存储器(NVM)晶片,其包括 一组NVM单元;NVM控制逻辑,其适于将所述NVM单元的至少一部分作为一次性编程(OTP) NVM来操作和在所述OTP NVM单元上存储一个或多个识别字符串,其中至少一个所存储的字符串是与所述晶片相关的实质上唯一的字符串;以及NVM控制器,其在功能上与所述NVM控制逻辑相关联,且适于利用存储在所述OTP NVM 上的所述一个或多个识别字符串作为鉴别方案的一部分。
2.根据权利要求1所述的NVM晶片,其中所述实质上唯一的字符串至少部分地包含基于所述NVM晶片的序列号的数据集。
3.根据权利要求1所述的NVM晶片,其中所述NVM控制器还适于利用存储在所述OTP NVM上的所述一个或多个识别字符串作为加密和/或解密方案的一部分。
4.根据权利要求1所述的NVM晶片,其中所述NVM控制逻辑还适于在所述OTPNVM单元上存储一个或多个附加ID字符串,其中所述一个或更多附加ID字符串是与一组晶片的相应的分销商相关的一组实质上唯一的字符串的一部分。
5.一种用于鉴别通信会话的设备,其包括 一组非易失性存储器(NVM)单元;NVM控制逻辑,其适于将所述NVM单元的至少一部分作为一次性编程(OTP) NVM来操作和在所述OTP NVM单元上存储一个或多个识别字符串,其中至少一个所存储的字符串是与所述设备相关的实质上唯一的字符串;NVM控制器,其在功能上与所述NVM控制逻辑相关联且适于利用存储在所述OTP NVM上的一个或多个识别字符串作为鉴别方案的一部分;以及设备控制器,其在功能上与所述NVM控制器相关联。
6.根据权利要求5所述的设备,其中所述设备控制器还适于接收所述设备的用户的一个或多个生物特征参数;以及利用所述一个或多个生物特征参数作为一个或多个附加因素,作为鉴别方案的一部分。
7.根据权利要求5所述的设备,其中所述设备控制器还适于充当“主控”设备并在与主机设备互连时触发所述主机设备的应用的激活。
8.一种用于鉴别通信会话的系统,其包括 一组非易失性存储器(NVM)单元;NVM控制逻辑,其适于将所述NVM单元的至少一部分作为一次性编程(OTP) NVM来操作和在所述OTP NVM单元上存储一个或多个识别字符串,其中至少一个所存储的字符串是与所述一组NVM单元相关的实质上唯一的字符串;以及NVM控制器,其在功能上与所述NVM控制逻辑相关联;以及主机设备,其在功能上与所述NVM控制器相关联,并被配置成取得和利用存储在所述 OTP NVM上的所述一个或多个识别字符串作为鉴别方案的一部分。
9.根据权利要求8所述的系统,其中所述实质上唯一的字符串至少部分地包含基于所述NVM晶片的序列号的数据集。
10.根据权利要求8所述的系统,其中所述主机设备还被配置成取得和利用存储在所述OTP NVM上的所述一个或多个识别字符串作为加密和/或解密方案的一部分。
11.根据权利要求8所述的系统,还包括功能上与所述NVM控制器相关联的设备控制器。
12.根据权利要求11所述的系统,其中所述设备控制器还适于接收所述设备的用户的一个或多个生物特征参数;以及其中所述主机设备在功能上与设备控制器相关联并且还被配置以利用所述一个或多个生物特征参数作为一个或多个附加因素,作为鉴别方案的一部分。
13.根据权利要求11所述的系统,其中功能上与所述NVM控制器相关联的所述设备控制器位于所连接的主机设备上。
14.根据权利要求8所述的系统,其中所述NVM控制逻辑还适于在所述OTPNVM单元上存储一个或多个附加ID字符串,其中所述一个或多个附加ID字符串为与通过所述设备连接的一个或多个所述主机设备相关的实质上唯一的字符串。
15.根据权利要求11所述的系统,其中所述NVM控制逻辑还适于在所述OTPNVM单元上存储一个或多个附加ID字符串,其中所述一个或多个附加ID字符串为与一组设备的相应分销商相关的一组实质上唯一的字符串的一部分。
16.根据权利要求11所述的系统,其中所述设备控制器还适于充当主控设备及当连接所述主机设备时触发所述主机设备的应用中的一个或多个应用的激活。
17.根据权利要求8所述的系统,其中所述一组非易失性存储器(“NVM”)单元位于游戏盒式存储器上;以及所述主机设备是游戏控制台。
18.根据权利要求8所述的系统,其中所述一组非易失性存储器(“NVM”)单元位于媒体存储设备上;以及所述主机设备是媒体播放器。
19.一种用于鉴别通信会话的方法,其包括将一组非易失性存储器(NVM)单元的至少一部分作为一次性编程(OTP) NVM来操作;在所述OTPNVM单元上存储一个或多个识别字符串,其中至少一个所存储的字符串是与所述一组NVM单元相关的实质上唯一的字符串;取得所述一个或多个识别字符串;以及利用所述一个或多个识别字符串作为鉴别方案的一部分。
20.根据权利要求19所述的方法,其中利用存储在所述OTP上的所述一个或多个识别字符串,是作为加密和/或解密方案的一部分。
21.根据权利要求19所述的方法,其中存储是关于至少部分地包含基于所述NVM晶片的序列号的数据集的实质上唯一的字符串。
22.根据权利要求19所述的方法,其中存储还包括存储用户的一个或更多生物特征参数;以及利用步骤还包括,利用所述一个或多个生物特征参数作为一个或多个附加因素,作为鉴别方案的一部分。
23.根据权利要求19所述的方法,其中,利用步骤还包括连接主机设备;以及允许位于所述主机上的控制器利用所述一个或多个识别字符串作为鉴别方案的一部分。
24.根据权利要求19所述的方法,其中存储步骤还包括存储一个或多个附加ID字符串,所述附加ID字符串是与一个或多个主机设备相关的实质上唯一的字符串。
25.根据权利要求19所述的方法,其中存储步骤还包括存储一个或多个附加ID字符串,所述附加ID字符串是与所述组的分销商相关的一组实质上唯一的字符串的一部分。
26.一种多因素鉴别和加密系统,其包括第一鉴别字符串(密码1),其是第一密钥和非易失性存储器(NVM)的唯一 ID的乘积, 所述唯一 ID被写入到所述NVM的一次性编程(OTP)部分;第一加密密钥(密码幻,其是所述第一鉴别字符串(密码1)和第二密钥的乘积;第一主机,其知道所述第一密钥和所述第二密钥并接收所述NVM的唯一 ID,其中所述第一主机适于产生所述第一鉴别字符串(第一密码1)并将它发送到所述NVM控制器以用于对照第二主机产生的相应的第二鉴别字符串(第二密码1)进行鉴别,所述第二主机知道所述第一密钥和所述第二密钥并接收所述NVM的唯一 ID ;以及其中所述第一主机还适于产生所述第一加密密钥(第一密码2)并使用它在将数据传送到所述NVM控制器前加密数据;以及其中所述第二主机还适于产生相应的第二加密密钥 (第二密码2、并使用它解密由所述NVM控制器传送到所述第二主机的数据。
27.根据权利要求沈所述的系统,其中在鉴别失败后,所述NVM控制器适于读取处于杂乱格式的所述数据的至少一部分。
28.一种多因素鉴别和加密方法,其包括产生第一鉴别字符串(密码1),其是第一主机知道的第一密钥和被所述第一主机接收到的NVM的唯一 ID的乘积,其中所述唯一 ID被写入到所述非易失性存储器(NVM)的一次性编程(OTP)部分;传送所述鉴别字符串(第一密码1)到所述NVM控制器;对照第二主机产生的相应的第二鉴别字符串(第二密码1)鉴别所述第一鉴别(第一密码1)字符串,所述第二主机知道所述第一密钥并接收所述NVM的唯一 ID,并将之传送到所述NVM控制器;产生第一加密密钥(第一密码幻,其是所述第一鉴别字符串(第一密码1)和所述第一主机知道的第二密钥的乘积,并用它在将数据传送到所述NVM控制器前加密数据;以及产生相应的第二加密密钥(第二密码幻,其是所述相应的第二鉴别字符串(第二密码 1)和所述第二主机知道的所述第二密钥的乘积,并用它解密由所述NVM控制器传送到所述第二主机的数据。
29.根据权利要求观所述的方法,还包括在鉴别失败后,读取处于杂乱格式的所述数据的至少一部分。
全文摘要
披露的是用于鉴别和/或加密的电路、系统、设备和方法,其是基于可以阻止改变、变更、模仿或以其他方式用识别字符串/码来获取误鉴别和/或误解密已加密的数据的能力的一次性编程(OTP)非易失性存储器(NVM)的特性和/或管理的。
文档编号H04K1/00GK102301629SQ201080006111
公开日2011年12月28日 申请日期2010年2月8日 优先权日2009年2月8日
发明者约阿夫·约格夫 申请人:茵芬尼特麦默里有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1