芯片中非易失性存储空间的数据存储方法和可信芯片与流程

文档序号:14518744阅读:367来源:国知局
芯片中非易失性存储空间的数据存储方法和可信芯片与流程
本发明涉及数据存储领域,具体而言,涉及一种芯片中非易失性存储空间的数据存储方法和可信芯片。
背景技术
:用户可以在可信安全芯片中创建非易失空间,可以为非易失空间赋予如表1所示的属性:表1图1示出了根据现有技术的一种用户获取非易失空间数据的交互示意图,如图1所示,具体包括如下步骤:(1)属主c向可信芯片t发起访问非易失空间请求;(2)可信芯片t响应属主c请求,要求其反馈密码口令、非易失空间编号以及数据长度;(3)属主c回传口令、要访问的非易失空间编号、非易失数据长度给可信芯片t;(4)可信芯片t验证口令和非易失空间索引编号的正确性,以及非易失空间的数据长度l是否满足下式:l≤|last_adress-first_adress|(1)上式中,first_adress表示非易失空间初始物理地址,last_adress表示非易失空间末位物理地址。如果口令和非易失空间编号正确,其获取的数据长度l也满足公式(1),则可信芯片返回属主c要访问的数据,流程结束。否则,直接终止流程。现有国际tcg标准安全芯片规范了可信安全芯片的非易失空间的固定大小、访问授权,该规范中其状态标识数据默认为0,容易与属主数据0相混淆,导致用户获取数据时,获取到的部分数据可能是状态标识数据0,而非用户真正存储的数据0。例如,属主c申请了6字节的非易失空间,其存放了4个字节的数据,如表2所示:属主空间编号为1,属主名称为c,属主空间编号对应的非易失空间的大小为6字节,即数据长度最大可为6字节,其对应的物理地址为fffff0~fffff6,在其物理地址中存放了4字节,属主写入的数据为“1101”,tcg标准默认没有写入数据的两字节为00,即属主数据为110100(加粗斜体的数字表示状态数据,不加粗的数字表示属主数据,如表1所示的属主数据)。表2nv_indexuser_namepasswordnv_sizenv_f&l_adressdata1c****6fffff0~fffff6110100当存储数据较长,且经常变更时,属主c不一定能记住自己存了多长,且存了什么数据,比如当属主c并当属主向用户获取数据长度5时,且响应可信芯片要求反馈的信息:用户输入正确的口令****,nv_index编号1,可信芯片接到信息后,验证口令和nv索引编号的正确性,也验证其长度5<6,是其可允许的范围内,因此返回给属主c数据长度为11010,这样属主c的原始数据由1101变成了11010,造成了数据的错误。针对上述现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种芯片中非易失性存储空间的数据存储方法和可信芯片,以至少解决现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。根据本发明实施例的一个方面,提供了一种芯片中非易失性存储空间的数据存储方法,包括:在芯片中创建非易失性存储空间,其中,非易失性存储空间的属性至少包括:用于表征在非易失性存储空间中存储属主数据的参数,属主数据的存储地址范围;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。根据本发明实施例的另一方面,还提供了一种获取存储在芯片中的数据的方法,包括:接收用于访问芯片的非易失性存储空间的访问请求;响应访问请求,得到验证信息和需要请求的数据长度;在验证验证信息通过的情况下,判断需要请求的数据长度是否处于非易失性存储空间中预先设置的属主数据的存储地址范围之内;如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。根据本发明实施例的另一方面,还提供了一种可信芯片,包括:存储器,包括非易失性存储空间,其中,非易失性存储空间的属性至少包括:用于表征在非易失性存储空间中存储属主数据的参数,属主数据的存储地址范围;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。根据本发明实施例的另一方面,还提供了一种获取存储在芯片中的数据的系统,包括:访问设备端,用于发出用于访问芯片的非易失性存储空间的访问请求;可信芯片,与访问设备端通信,用于响应访问请求,获取访问设备端返回的验证信息和需要请求的数据长度,在验证验证信息通过的情况下,如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。根据本发明实施例的另一方面,还提供了一种获取存储在芯片中的数据的装置,包括:接收模块,用于接收用于访问芯片的非易失性存储空间的访问请求;响应模块,用于响应访问请求,得到验证信息和需要请求的数据长度;判断模块,用于在验证验证信息通过的情况下,判断需要请求的数据长度是否处于非易失性存储空间中预先设置的属主数据的存储地址范围之内;控制模块,用于如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。在本发明实施例中,采用限定属主数据的存储地址范围的方式,通过在芯片中创建非易失存储空间之后,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,根据属主数据的大小和属主数据的存储地址范围返回属主需要获取的数据,达到了准确获取属主数据的目的,从而实现了保证属主获取原始数据的正确性的技术效果,进而解决了现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据现有技术的一种用户获取非易失空间数据的交互示意图;图2是根据本发明实施例的一种可选的计算机终端的硬件结构框图;图3是根据本发明实施例的一种芯片中非易失性存储空间的数据存储方法流程图;图4是根据本发明实施例的一种可选的芯片中非易失性存储空间的数据存储方法流程图;图5是根据本发明实施例的一种可选的访问非易失性存储空间的属主数据的方法流程图;图6是根据本发明实施例的一种可选的tcg信任链的结构示意图;图7是根据本发明实施例的一种获取存储在芯片中的数据的方法流程图;图8是根据本发明实施例的一种可信芯片的结构示意图;图9是根据本发明实施例的一种获取存储在芯片中的数据的系统结构示意图;图10是根据本发明实施例的一种获取存储在芯片中的数据的装置结构示意图;以及图11是根据本发明实施例的一种可选的计算机终端的结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:非易失存储(non-volatilememory,简称为nv),作为一种存储技术,其可以保证在设备掉电的时候,设备中存储的数据不会丢失,常用来保护用户非常敏感的数据。属主数据,指用户向存储设备中存储的数据,其中,属主指对数据进行操作的主体。可信,指一个实体一直以一种可预期的方式为特定的目标运行。可信计算(trustedcomputing),是在计算和通信系统中广泛使用的基于硬件安全模块支持下的可信计算平台,使用该可信计算平台可以提高系统整体的安全性。其核心机制是通过信任链机制构建可信计算环境。可信安全芯片,是一种具有产生加解密密钥功能的芯片,可信安全芯片也能够进行高速的资料加密和解密,以及充当保护基本输入输出系统和操作系统不被修改的辅助处理器。实施例1根据本发明实施例,还提供了一种芯片中非易失性存储空间的数据存储方法的方法实施例。本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图2示出了一种用于实现芯片中非易失性存储空间的数据存储方法的计算机终端(或移动设备)的硬件结构框图。如图2所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块4。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的芯片中非易失性存储空间的数据存储方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。此处需要说明的是,在一些可选实施例中,上述图2所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图2仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。在上述运行环境下,本申请提供了如图3所示的芯片中非易失性存储空间的数据存储方法。图3是根据本发明实施例1的芯片中非易失性存储空间的数据存储方法的流程图,包括如下步骤:步骤s302,在芯片中创建非易失性存储空间,其中,非易失性存储空间的属性至少包括:用于表征在非易失性存储空间中存储属主数据的参数,属主数据的存储地址范围;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。在上述步骤s302所限定的技术方案中,上述非易失存储空间的存储模式可以采用大端模式和小端模式,大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;而小端模式是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,该存储模式可以将地址的高低和数据的位权有效结合起来,高地址部分数据的权值高,低地址部分数据的权值低。需要说明的是,非易失性存储空间的属性之一属主数据为用户存入到非易失性存储空间的数据,例如,用户存储的数据为“1101”,则该数据即为存储到非易失性存储空间的属主数据;非易失性存储空间的另一个属性属主数据的存储地址范围的长度为允许用户读取非易失性存储空间的最大数据长度,例如,属主数据的存储地址范围为:fffff0~fffff6,则允许用户向芯片请求数据时的最大数据长度为7。此外,在芯片中创建非易失性存储空间可以保证在设备掉电时,存储在芯片中的数据不会丢失,从而可以用来存储比较重要的数据。基于上述实施例步骤s302所公开的方案中,可以获知在芯片中创建非易失性存储空间,可以保证用户存储在芯片中的数据在设备掉电时,不会丢失,进而提高了数据存储的安全性。可选的,非易失性存储空间的属性至少还包括如下至少之一:空间编号、空间属主名称、空间授权密码、空间大小和空间物理地址范围。在一种可选的实施例中,表3为已经写入属主数据的非易失性存储空间的属性表,如表3所示。表3在表3中,属主的空间编号为1,空间属主名称为c,属主空间编号为1的属主空间大小为6字节,即数据长度最大可为6字节,其对应的空间物理地址范围为fffff0~fffff6,在其物理地址中存放了4字节,其存储地址范围为fffff1~fffff4,写入的属主数据为“1101”。可选的,图4示出了在芯片中创建非易失性存储空间之后,芯片中非易失性存储空间的数据存储方法的流程示意图,如图4所示,该方法还包括如下步骤:步骤s304,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。在一种可选的实施例中,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|(2)因此,根据属主数据的大小l以及属主数据的初始存储地址min_adress可以确定属主数据的末尾地址max_adress,进而可以确定属主数据的存储地址范围。例如,向非易失性存储空间写入的属主数据为“1101”,该属主数据的大小为4字节,则该属主数据的存储地址范围的长度也为4字节,如果此时属主数据的初始存储地址为fffff1,则该属主数据的末尾地址为fffff4,属主数据的数据块的存储地址范围为fffff1~fffff4。可选的,图5示出了在向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围之后,访问非易失性存储空间的属主数据的方法流程图,如图5所示,该方法包括如下步骤:步骤s502,接收用于访问非易失性存储空间的访问请求;步骤s504,响应访问请求,得到验证信息和需要请求的数据长度;步骤s506,在验证验证信息通过的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内;步骤s508,如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容。作为一种可选的实施例,访问设备端向可信芯片发起访问非易失性空间请求,可信芯片接收到访问设备端发送的非易失性空间请求后,响应访问设备端的请求,并要求访问设备端反馈验证信息以及属主数据的长度信息;访问设备端向可信芯片发送验证信息以及属主数据的长度信息,例如,访问的属主数据的长度为4字节;可信芯片验证访问设备端返回的验证信息是否符合要求,在验证信息符合要求的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内,例如,需要请求的数据长度为4字节,属主数据的存储地址范围为fffff1~fffff4,属主数据的最大存储长度为4字节,请求的数据长度满足公式(2),因此,可信芯片允许访问属主数据,并返回存储地址范围为fffff1~fffff4的属主数据。需要说明的是,上述验证信息可以用来验证访问设备端是否有访问的权限以及确定访问设备端访问数据的位置,从而可以进一步提高访问数据的准确性。可选的,如果需要请求的数据长度处于属主数据的存储地址范围之外,则中止获取属主数据的流程,和/或输出用于表征请求失败的提示信息。作为一种可选的实施例,在可信芯片验证访问设备端返回的验证信息符合要求的情况下,可信芯片进一步判断需要请求的数据长度是否处于属主数据的存储地址范围之内,如果需要请求的数据长度处于属主数据的存储地址范围之外,例如,需要请求的数据长度为4字节,而属主数据的存储地址范围为fffff1~fffff3,属主数据的最大存储长度为3字节,请求的数据长度不满足公式(2),因此,可信芯片不允许访问属主数据,直接终止流程,并输出此次请求失败的提示信息。可选的,验证信息至少包括如下至少之一:需要访问的空间编号、密码口令。作为一种可选的实施例,验证上述需要访问的空间编号可以确认可信芯片中是否存有该空间编号,进一步验证密码口令可以确认当前访问的用户是否有访问权限,从而可以进一步提高访问数据的准确性。可选的,在验证验证信息失败的情况下,返回无法获取属主数据的提示信息。在一种可选的实施例中,用户需要访问的空间编号为2,但可信芯片中不存在空间编号为2的属主数据,在这种情况下,中止获取属主数据的流程,并向访问设备端发送提示信息,提示不存在空间编号为2的属主数据。在另一种可选的实施例中,用户需要访问的空间编号为2,可信芯片中存在空间编号为2的属主数据,当检测到密码口令不对,在这种情况下,同样会中止获取属主数据的流程,并向访问设备端发送提示信息,提示密码口令不正确,并要求其再次操作。在一种优选的实施例中,属主c申请了6字节的非易失性空间,其存放了4个字节的数据,如表4所示:属主空间编号nv_index为1,空间属主名称user_name为c,属主空间编号1对应的空间大小nv_size为6字节,即数据长度最大可为6字节;其对应的物理地址为fffff0~fffff6,在物理地址中存放了4字节,属主写入的数据为“1101”,tcg标准默认没有写入的属主数据data为00,即data数据项数据为110100(加粗斜体的数字表示状态数据,不加粗的数字表示属主数据,如表4所示的属主数据)。表4当存储的数据较长且经常变更时,属主可能不记得在存储空间中存储数据长度为多长的数据,例如,当属主要求向可信芯片获取数据的长度为5,并响应了可信芯片要求反馈的信息,包括:属主输入的正确的密码口令****,以及空间编号nv_index1后,可信芯片接到上述验证信息后,验证密码口令和空间编号反馈正确,并验证其要求获取的数据长度5大于属主数据的长度4,由于请求数据长度不在其允许访问的范围内,因此可信芯片提示请求数据超出预存范围,终止获取属主数据的流程。可信计算能够在计算运算的同时进行安全防护,使计算结果总是与预期一致,计算全程可测可控,不被干扰。可信计算的核心要素是可信链与可信根,其中,可信计算可以通过信任链机制构架可信计算环境。在可信根为包含有非易失性存储空间的可信芯片的情况下,存在另一种可选的实施例,具体如下:目前可信计算有国内可信平台控制模块(trustedplatformcontrolmodule,tpcm)和国际tcg标准组织的可信平台模块(trustedplatformmodule,tpm)两种技术路线。可信计算的核心要素是可信链与可信根,tcg规范中的可信平台模块(trustedplatformmodule,tpm)是可信计算平台的硬件可信根,tpm是提供受保护的安全存储、密码运算能力的安全芯片。tpm通过物理方式与计算平台相连并通过外部总线连接到cpu上,例如pc机平台上采取直接固化在主板上的方式并通过lpc总线连接。tcg规范中给出了对可信(trusted)的定义:一个实体一直以一种可预期的方式为特定的目标运行。可信计算的核心机制是通过信任链机制构建可信计算环境,目前运行实体是否可信是建立系统前一运行过程是否可信的基础上。基于这种信任关系,如果系统从一个初始的信任根出发,在平台计算环境的每一次转换时,这种信任可以通过传递的方式维持下去,从而在计算平台上建立了一级验证一级,一级信任一级的可信链,该计算环境就始终是可信的,它就能够被本地用户或远程实体信任。图6示出了tcg信任链的结构示意图,如图6所示,图中实线箭头表示可信度量连接,虚线箭头表示可信报告连接,加粗实线箭头表示可信存储连接,加粗虚线箭头表示可信网络连接。可信计算的关键技术包括可信度量,可信报告,可信存储和可信网络连接等几部分。可信平台控制模块tpcm实现了可信平台模块的基本功能,其功能组成和与tpm基本相同,但由于tpm的核心度量根crtm处于基本输入输出系统bios中,不受tpm的保护,因此,tpcm提出新的可信度量根设计,解决了可信度量根的起始度量点问题,改变了启动和度量顺序,在此基础上,建立了以该芯片为信任根的信任链度量流程,实现了由该芯片控制整个系统的启动,i/o接口控制以及系统配置等,体现了该芯片对系统可信性的控制作用。在计算平台的运行控制传递过程中,可信根tpcm判断其下一级执行代码的真实性和完整性是否被篡改,如果没有,系统将运行控制权传递到下一级可信执行代码,系统的可信范围因扩大到下一级功能代码;同理,这种系统控制权不断传递,就可以实现信任链的建立和传递过程,最终实现系统范围可信构建。一个完整的系统可信传递过程要从可信根开始,系统控制权顺序由可信平台控制模块传递到可信的bios,再传递到可信的操作系统装载器,从可信的操作系统装载器传递到可信的操作系统,再从可信的操作系统传递到可信的应用。可信安全芯片具有产生加解密密钥的功能,也能够进行高速的资料加密和解密,以及充当保护bios和操作系统不被修改的辅助处理器。tpm安全芯片用途十分广泛,配合专用软件可以实现以下用途:(1)存储、管理bios开机密码以及硬盘密码。以往这些事务都是由bios做的,玩过的朋友可能知道,忘记了密码只要取下cmos电池,给cmos放电就清除密码了。如今这些密钥实际上是存储于固化在芯片的存储单元中,即便是掉电其信息亦不会丢失。相比于bios管理密码,tpm安全芯片的安全性要大为提高。(2)tpm安全芯片可以进行范围较广的加密。tpm安全芯片除了能进行传统的开机加密以及对硬盘进行加密外,还能对系统登录、应用软件登录进行加密。比如msn、qq、网游以及网上银行的登录信息和密码,都可以通过tpm加密后再进行传输,这样就不用担心信息和密码被人窃取。(3)加密硬盘的任意分区。可以加密本本上的任意一个硬盘分区,也可以将一些敏感的文件放入该分区以策安全。比如有些本本厂商采用的一键恢复功能,就是该用途的集中体现之一(其将系统镜像放在一个tpm加密的分区中)。还有一些大型商业软件公司(如:microsoft)也会利用其作为加密分区的手段(如:著名的bitlocker)。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。实施例2根据本发明实施例,还提供了一种获取存储在芯片中的数据的方法实施例。本申请提供了如图7所示的获取存储在芯片中的数据的方法。图7是根据本发明实施例2的获取存储在芯片中的数据的方法流程图。包括如下步骤:步骤s702,接收用于访问芯片的非易失性存储空间的访问请求;步骤s704,响应访问请求,得到验证信息和需要请求的数据长度;步骤s706,在验证验证信息通过的情况下,判断需要请求的数据长度是否处于非易失性存储空间中预先设置的属主数据的存储地址范围之内;步骤s708,如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。在上述步骤s702至步骤s708所限定的方案中,上述访问芯片可以为可信芯片,该可信芯片中包含非易失性存储空间。上述非易失存储空间的存储模式可以采用大端模式和小端模式,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|在访问设备端向可信芯片发起访问非易失性空间请求,可信芯片接收到访问设备端发送的非易失性空间请求后,响应访问设备端的请求,并要求访问设备端反馈验证信息以及属主数据的长度信息;访问设备端向可信芯片发送验证信息以及属主数据的长度信息,例如,访问的属主数据的长度为4字节;可信芯片验证访问设备端返回的验证信息是否符合要求,在验证信息符合要求的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内,例如,需要请求的数据长度为4字节,属主数据的存储地址范围为fffff1~fffff4,属主数据的最大存储长度为4字节,请求的数据长度满足公式:l≤|max_adress-min_adress|因此,可信芯片允许访问属主数据,并返回存储地址范围为fffff1~fffff4的属主数据。需要说明的是,上述验证信息可以用来验证访问设备端是否有访问的权限以及确定访问设备端访问数据的位置,从而可以进一步提高访问数据的准确性。上述非易失存储空间的存储模式可以采用大端模式和小端模式,大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;而小端模式是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,该存储模式可以将地址的高低和数据的位权有效结合起来,高地址部分数据的权值高,低地址部分数据的权值低。基于上述实施例步骤s702至步骤s708所公开的方案中,可以获知通过在芯片中创建非易失存储空间之后,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,根据属主数据的大小和属主数据的存储地址范围返回属主需要获取的数据,达到了准确获取属主数据的目的,从而实现了保证属主获取原始数据的正确性的技术效果,进而解决了现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。可选的,非易失性存储空间的属性至少还包括如下至少之一:空间编号,空间属主名称、空间授权密码、空间大小和空间物理地址范围。在一种可选的实施例中,表5为已经写入属主数据的非易失性存储空间的属性表,如表5所示。表5在表5中,属主的空间编号为1,空间属主名称为c,属主空间编号为1的属主空间大小为6字节,即数据长度最大可为6字节,其对应的空间物理地址范围为fffff0~fffff6,在其物理地址中存放了4字节,其存储地址范围为fffff1~fffff4,写入的属主数据为“1101”。可选的,在接收用于访问芯片的非易失性存储空间的访问请求之前,方法还包括:向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。在一种可选的实施例中,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|因此,根据属主数据的大小l以及属主数据的初始存储地址min_adress可以确定属主数据的末尾地址max_adress,进而可以确定属主数据的存储地址范围。例如,向非易失性存储空间写入的属主数据为“1101”,该属主数据的大小为4字节,则该属主数据的存储地址范围的长度也为4字节,如果此时属主数据的初始存储地址为fffff1,则该属主数据的末尾地址为fffff4,属主数据的数据块的存储地址范围为fffff1~fffff4。可选的,如果需要请求的数据长度处于属主数据的存储地址范围之外,则中止获取属主数据的流程,和/或输出用于表征请求失败的提示信息。作为一种可选的实施例,在可信芯片验证访问设备端返回的验证信息符合要求的情况下,可信芯片进一步判断需要请求的数据长度是否处于属主数据的存储地址范围之内,如果需要请求的数据长度处于属主数据的存储地址范围之外,例如,需要请求的数据长度为4字节,而属主数据的存储地址范围为fffff1~fffff3,属主数据的最大存储长度为3字节,请求的数据长度不满足公式l≤|max_adress-min_adress|,因此,可信芯片不允许访问属主数据,直接终止流程,并输出此次请求失败的提示信息。实施例3根据本发明实施例,还提供了一种可信芯片的实施例。本申请提供了如图8所示的可信芯片的结构示意图。图8是根据本发明实施例3的可信芯片的结构示意图,该可信芯片包括:存储器801。其中,存储器801,包括非易失性存储空间,其中,非易失性存储空间的属性至少包括:用于表征在非易失性存储空间中存储属主数据的参数,属主数据的存储地址范围;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。在上述存储器801所限定的技术方案中,上述非易失存储空间的存储模式可以采用大端模式和小端模式,大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;而小端模式是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,该存储模式可以将地址的高低和数据的位权有效结合起来,高地址部分数据的权值高,低地址部分数据的权值低。需要说明的是,非易失性存储空间的属性之一属主数据为用户存入到非易失性存储空间的数据,例如,用户存储的数据为“1101”,则该数据即为存储到非易失性存储空间的属主数据;非易失性存储空间的另一个属性属主数据的存储地址范围的长度为允许用户读取非易失性存储空间的最大数据长度,例如,属主数据的存储地址范围为:fffff0~fffff6,则允许用户向芯片请求数据时的最大数据长度为7。此外,在芯片中创建非易失性存储空间可以保证在设备掉电时,存储在芯片中的数据不会丢失,从而可以用来存储比较重要的数据。由上可知,在芯片中创建非易失性存储空间,可以保证用户存储在芯片中的数据在设备掉电时,不会丢失,进而提高了数据存储的安全性。实施例4根据本发明实施例,还提供了一种获取存储在芯片中的数据的系统实施例。本申请提供了如图9所示的获取存储在芯片中的数据的系统。图9是根据本发明实施例4的获取存储在芯片中的数据的系统结构示意图,该系统包括:访问设备端901和可信芯片903。其中,访问设备端901,用于发出用于访问芯片的非易失性存储空间的访问请求;可信芯片903,与访问设备端通信,用于响应访问请求,获取访问设备端返回的验证信息和需要请求的数据长度,在验证验证信息通过的情况下,如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向可信芯片请求数据时的最大数据长度。在一种可选的实施例中,上述可信芯片中包含非易失性存储空间。上述非易失存储空间的存储模式可以采用大端模式和小端模式,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|在访问设备端向可信芯片发起访问非易失性空间请求,可信芯片接收到访问设备端发送的非易失性空间请求后,响应访问设备端的请求,并要求访问设备端反馈验证信息以及属主数据的长度信息;访问设备端向可信芯片发送验证信息以及属主数据的长度信息,例如,访问的属主数据的长度为4字节;可信芯片验证访问设备端返回的验证信息是否符合要求,在验证信息符合要求的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内,例如,需要请求的数据长度为4字节,属主数据的存储地址范围为fffff1~fffff4,属主数据的最大存储长度为4字节,请求的数据长度满足公式:l≤|max_adress-min_adress|因此,可信芯片允许访问属主数据,并返回存储地址范围为fffff1~fffff4的属主数据。需要说明的是,上述验证信息可以用来验证访问设备端是否有访问的权限以及确定访问设备端访问数据的位置,从而可以进一步提高访问数据的准确性。上述非易失存储空间的存储模式可以采用大端模式和小端模式,大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;而小端模式是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,该存储模式可以将地址的高低和数据的位权有效结合起来,高地址部分数据的权值高,低地址部分数据的权值低。由上可知,通过在芯片中创建非易失存储空间之后,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,根据属主数据的大小和属主数据的存储地址范围返回属主需要获取的数据,达到了准确获取属主数据的目的,从而实现了保证属主获取原始数据的正确性的技术效果,进而解决了现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。可选的,可信芯片903还用于向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。实施例5根据本发明实施例,还提供了一种用于实施上述实施例2的获取存储在芯片中的数据的装置,如图10所示,该装置包括:接收模块1001、响应模块1003、判断模块1005和控制模块1007。其中,接收模块1001,用于接收用于访问芯片的非易失性存储空间的访问请求;响应模块1003,用于响应访问请求,得到验证信息和需要请求的数据长度;判断模块1005,用于在验证验证信息通过的情况下,判断需要请求的数据长度是否处于非易失性存储空间中预先设置的属主数据的存储地址范围之内;控制模块1007,用于如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。上述访问芯片可以为可信芯片,该可信芯片中包含非易失性存储空间。上述非易失存储空间的存储模式可以采用大端模式和小端模式,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|在访问设备端向可信芯片发起访问非易失性空间请求,可信芯片接收到访问设备端发送的非易失性空间请求后,响应访问设备端的请求,并要求访问设备端反馈验证信息以及属主数据的长度信息;访问设备端向可信芯片发送验证信息以及属主数据的长度信息,例如,访问的属主数据的长度为4字节;可信芯片验证访问设备端返回的验证信息是否符合要求,在验证信息符合要求的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内,例如,需要请求的数据长度为4字节,属主数据的存储地址范围为fffff1~fffff4,属主数据的最大存储长度为4字节,请求的数据长度满足公式:l≤|max_adress-min_adress|因此,可信芯片允许访问属主数据,并返回存储地址范围为fffff1~fffff4的属主数据。需要说明的是,上述验证信息可以用来验证访问设备端是否有访问的权限以及确定访问设备端访问数据的位置,从而可以进一步提高访问数据的准确性。上述非易失存储空间的存储模式可以采用大端模式和小端模式,大端模式是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;而小端模式是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,该存储模式可以将地址的高低和数据的位权有效结合起来,高地址部分数据的权值高,低地址部分数据的权值低。由上可知,通过在芯片中创建非易失存储空间之后,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,根据属主数据的大小和属主数据的存储地址范围返回属主需要获取的数据,达到了准确获取属主数据的目的,从而实现了保证属主获取原始数据的正确性的技术效果,进而解决了现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。此处需要说明的是,上述接收模块1001、响应模块1003、判断模块1005和控制模块1007对应于实施例2中的步骤s702至步骤s708,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。可选的,非易失性存储空间的属性至少还包括如下至少之一:空间编号,空间属主名称、空间授权密码、空间大小和空间物理地址范围。在一种可选的实施例中,表6为已经写入属主数据的非易失性存储空间的属性表,如表6所示。表6在表6中,属主的空间编号为1,空间属主名称为c,属主空间编号为1的属主空间大小为6字节,即数据长度最大可为6字节,其对应的空间物理地址范围为fffff0~fffff6,在其物理地址中存放了4字节,其存储地址范围为fffff1~fffff4,写入的属主数据为“1101”。可选的,如图10所示,上述获取存储在芯片中的数据的装置还包括:写入模块1009,用于向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。在一种可选的实施例中,在属主数据的存储模式为小端模式的情况下,假设属主数据的大小为l,属主数据的数据块的初始存储地址,即属主数据的低字节所在的内存地址为min_adress,属主数据的数据块的末尾存储地址,即属主数据的高字节所在的内存地址为max_adress,则l、min_adress和max_adress满足下式:l≤|max_adress-min_adress|因此,根据属主数据的大小l以及属主数据的初始存储地址min_adress可以确定属主数据的末尾地址max_adress,进而可以确定属主数据的存储地址范围。例如,向非易失性存储空间写入的属主数据为“1101”,该属主数据的大小为4字节,则该属主数据的存储地址范围的长度也为4字节,如果此时属主数据的初始存储地址为fffff1,则该属主数据的末尾地址为fffff4,属主数据的数据块的存储地址范围为fffff1~fffff4。可选的,如果需要请求的数据长度处于属主数据的存储地址范围之外,则中止获取属主数据的流程,和/或输出用于表征请求失败的提示信息。作为一种可选的实施例,在可信芯片验证访问设备端返回的验证信息符合要求的情况下,可信芯片进一步判断需要请求的数据长度是否处于属主数据的存储地址范围之内,如果需要请求的数据长度处于属主数据的存储地址范围之外,例如,需要请求的数据长度为4字节,而属主数据的存储地址范围为fffff1~fffff3,属主数据的最大存储长度为3字节,请求的数据长度不满足公式l≤|max_adress-min_adress|,因此,可信芯片不允许访问属主数据,直接终止流程,并输出此次请求失败的提示信息。实施例6本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,图11是根据本发明实施例的一种计算机终端的结构框图。如图11所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器1103以及存储器1101。其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在芯片中创建非易失性存储空间,其中,非易失性存储空间的属性至少包括:用于表征在非易失性存储空间中存储属主数据的参数,属主数据的存储地址范围;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。可选的,上述处理器还可以执行如下步骤的程序代码:向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。可选的,上述处理器还可以执行如下步骤的程序代码:接收用于访问非易失性存储空间的访问请求;响应访问请求,得到验证信息和需要请求的数据长度;在验证验证信息通过的情况下,判断需要请求的数据长度是否处于属主数据的存储地址范围之内;如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容。可选的,上述处理器还可以执行如下步骤的程序代码:如果需要请求的数据长度处于属主数据的存储地址范围之外,则中止获取属主数据的流程,和/或输出用于表征请求失败的提示信息。采用本发明实施例,提供了一种获取存储在芯片中的数据的方法的方案,通过在芯片中创建非易失存储空间之后,向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,根据属主数据的大小和属主数据的存储地址范围返回属主需要获取的数据,达到了准确获取属主数据的目的,从而实现了保证属主获取原始数据的正确性的技术效果,进而解决了现有技术从可信安全芯片的非易失空间中读取原始数据时,读取到的原始数据准确性差的技术问题。本领域普通技术人员可以理解,图11所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。实施例7本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例2所提供的获取存储在芯片中的数据的方法所执行的程序代码。可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收用于访问芯片的非易失性存储空间的访问请求;响应访问请求,得到验证信息和需要请求的数据长度;在验证验证信息通过的情况下,判断需要请求的数据长度是否处于非易失性存储空间中预先设置的属主数据的存储地址范围之内;如果需要请求的数据长度处于属主数据的存储地址范围之内,则允许返回属主数据的内容;其中,属主数据的存储地址范围用于表征允许向芯片请求数据时的最大数据长度。可选地,在本实施例中,存储介质被设置为存储还用于执行以下步骤的程序代码:向非易失性存储空间写入属主数据,并根据属主数据的大小确定属主数据的存储地址范围,其中,通过属主数据的数据块的初始存储地址和末尾存储地址来确定存储地址范围。可选地,在本实施例中,存储介质被设置为存储还用于执行以下步骤的程序代码:如果需要请求的数据长度处于属主数据的存储地址范围之外,则中止获取属主数据的流程,和/或输出用于表征请求失败的提示信息。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1