CN104503705A - 利用闪存设备构建可信存储***的方法及构建的可信存储*** - Google Patents
利用闪存设备构建可信存储***的方法及构建的可信存储*** Download PDFInfo
- Publication number
- CN104503705A CN104503705A CN201410802857.5A CN201410802857A CN104503705A CN 104503705 A CN104503705 A CN 104503705A CN 201410802857 A CN201410802857 A CN 201410802857A CN 104503705 A CN104503705 A CN 104503705A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- controller
- data
- memory devices
- main frame
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出了利用闪存设备构建可信存储***的方法及构建的可信存储***,可信存储***具有两个闪存设备,它们的闪存转换层独立开发、互不共享设计;主机发出写请求时,控制器计算待写数据的校验码并将其存储于校验码表中,数据和其逻辑页码被传递给两个闪存设备进行存储;主机发出读请求时,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回数据,控制器分别计算两份数据的校验码并分别与校验码表中该页码的校验码对比,若不一致,通知主机闪存设备不可信,若至少有一个一致,将该数据传输给主机。本发明利用两个独立生产的闪存设备,写时进行校验码计算和记录,读时进行校验码的重计算和验证,提高了使用者信息的安全性。
Description
技术领域
本发明涉及计算机信息存储技术领域,具体涉及一种利用闪存设备构建可信存储***的方法及构建的可信存储***。
背景技术
CPU处理速度与存储设备的读写速度之间日益增大的差距一直是计算机发展的挑战,近年来,基于磁盘的存储设备有向基于闪存技术的存储设备(简称“闪存设备”,例如固态硬盘SSD等)发展的趋势。闪存设备广泛应用于个人设备例如MP3、手机、平板电脑、笔记本电脑,工作站,服务器,以及政府和军队的通讯设备等,与基于磁盘的存储设备相比,闪存设备具有更低的读写延迟,更低的功耗,以及更好的耐冲击性。
但是,闪存设备的闪存转换层(FTL,Flash Translation Layer)是由生产厂商研发,并作为知识产权保护的,使用者无法知道其设计细节。考虑到生产厂商均为国外的公司,使用者无法得知其设计是否有隐藏的后门,如果其设计有隐藏的后门,并在特定的条件下被触发后,会主动破坏数据,无法保证数据和***的安全,给使用者的信息安全造成极大的威胁。因此,如何利用闪存设备构建可信的存储***,是一个亟需解决的技术问题。
发明内容
为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种利用基于闪存技术的存储设备构建可信的存储***的方法及构建的可信存储***,能够快速高效地确定由闪存设备构建的存储***是否可信,提高了信息安全。
为了实现本发明的上述目的,本发明提供了一种利用闪存设备构建可信存储***的方法,其利用的存储装置设置有与控制器相连的两个闪存设备,所述两个闪存设备的闪存转换层独立开发、互不共享设计;在所述的可信存储***中,
当主机发出写请求时,其中,写请求包括要写入的逻辑页码和要写入的数据,所述控制器计算所述数据的校验码,并存储于校验码表中所述逻辑页码对应的位置中,校验码表存储于主机或是控制器中;同时,所述写请求被分别传递给两个闪存设备进行存储;
当主机发出读请求时,其中,读请求包括要读的逻辑页码,控制器将所述逻辑页码传递给两个闪存设备,获得其返回的存储于该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该页码的校验码进行对比,如果其中某个闪存设备返回的数据的校验码与校验码表存储的记录不一致,控制器将其数据抛弃并通知主机相应闪存设备不可信,如果至少有一个闪存设备返回的数据的校验码与校验码表存储的记录一致,控制器将相应数据传输给主机。
在本发明的利用闪存设备构建可信的存储***的方法中,利用两个具有独立开发互不共享设计的闪存转换层的闪存设备,在写的时候进行校验码计算和记录,在读的时候进行校验码计算和验证,能够高效快速地确定闪存设备的可信性,有利于提高使用者的信息安全。
在本发明的一种优选实施方式中,主机开机时,当主机发出读请求时,主机将要读的逻辑页码传输给控制器,控制器从闪存设备中读取数据并与校验码表中该页码的校验码比对;当主机发出写请求时,控制器计算数据的校验码并将其更新至校验码表中。
在本发明的一种优选实施方式中,当主机关机时,控制器将校验码表认证加密后传输给两个闪存设备实现校验码表的关机存储,当主机开机时,控制器从两个闪存设备中读取认证加密后的校验码数据,解密认证确认无误后,开始***的正常工作。
在本发明的一种优选实施方式中,所述校验码加密步骤为:
当主机关机时,控制器将校验码表认证加密后,分别传输给两个闪存设备实现码表的关机存储,认证加密使用的秘钥存储于主机的密码安全模块,
当主机开机时,所述控制器从密码安全模块取出上次关机时存储的认证加密秘钥,并从两个闪存设备中分别读取认证加密后的校验码表,进行解密和认证,实现校验码表的安全恢复,如果其中一个硬盘提供的校验码表认证失败,则向主机报告其不可信,解密认证后,确保无误的校验码表将存储于主机或控制器中,用于认证加密的秘钥应在每次开机完成认证后更换。
为了实现本发明的上述目的,本发明提供了一种可信的存储***,其包括主机及与主机互联的控制器,以及分别与所述控制器相连的两个闪存设备,所述两个闪存设备的闪存转换层独立开发、互不共享设计;
当主机发出写请求时,其中,写请求包括要写入的逻辑页码和要写入的数据,所述控制器计算所述数据的校验码并存储于校验码表,所述数据被分别写入两个闪存设备的相应逻辑页码中;
当主机发出读请求时,其中,读请求包括要读的逻辑页码,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该逻辑页的校验码进行对比,如果其中某个闪存设备返回数据的校验码与校验码表中的记录不一致,控制器将其数据抛弃并通知主机该闪存设备不可信,如果至少有一个闪存设备返回数据的校验码与校验码表的记录一致,控制器将其数据传输给主机。
在本发明的利用闪存设备构建的可信存储***中,利用闪存转换层独立开发、互不共享设计的两个闪存设备,同时在读写的时候都进行校验码验证,能够高效快速地确定闪存设备的可信性,有利于提高使用者的信息安全。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明数据信息与校验码的映射表;
图2是本发明一种优选实施方式中利用闪存设备构建可信存储***的方法的流程图;
图3是本发明利用闪存设备构建的可信存储***的结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提供了一种利用闪存设备构建可信存储***的方法,其构建的可信存储***具有与控制器相连的两个闪存设备,控制器控制两个闪存设备,其中,两个闪存设备的闪存转换层独立开发、互不共享设计,具体闪存设备可以采用但不限于固态硬盘(SSD),例如可以使用同一个厂家的独立开发,互不共享设计的两个固态硬盘,或者采用两个产自不同厂家的固态硬盘,优选采用的方案是两个固态硬盘产自于不同的厂家,因此两个固态硬盘具有同样后门的可能性为0。
在该利用闪存设备构建可信存储***的方法中,当主机发出写请求时,其中,写请求包括要写入的逻辑页码和需要写入的数据,控制器计算数据的校验码并将其存储于校验码表中该逻辑页码对应的位置,数据和其逻辑页码被分别传递给两个硬盘进行存储;校验码表可存放于控制器或主机中。
当主机发出读请求时,读请求包括要读的逻辑页码,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该页码的校验码进行对比,如果其中某个闪存设备返回数据的校验码与校验码表中的校验码不一致,控制器将数据抛弃并通知主机相应闪存设备不可信,如果至少有一个闪存设备返回数据的校验码与校验码表中的校验码一致,控制器将该数据传输给主机。
在本发明的利用闪存设备构建可信存储***的方法中,利用闪存转换层独立开发、互不共享设计的两个闪存设备,在写的时候进行校验码的计算和存储,在读的时候都进行校验码的计算和验证,能够高效快速确认闪存设备的可信性,有利于提高使用者的信息安全。
图1示出了本发明一个优选实施方式中校验码表的组织方式。其中,每个逻辑页的校验码依次存储于校验码表中,例如第0逻辑页的校验码存储在第0个位置,第1逻辑页的校验码存储在第1个位置,依次类推。校验码表可以存储于控制器中也可以存储于主机内。
图2示出了本发明一个优选实施方式中利用闪存设备构建可信存储***的方法的流程图,如图2所示,当主机发出读请求时,读请求包括要读的逻辑页码LPN,控制器将逻辑页码LPN传递给闪存设备1和闪存设备2,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码MD1和MD2,并从校验码表中读取逻辑页码LPN对应的校验码MD,将MD1和MD2分别与控制器中存储的校验码MD进行对比,判断MD1和MD2是否与MD相同,如果三者都相同,则将其中之一的数据传递给主机,如果MD1和MD不同,将闪存设备2返回的数据传递给主机,并报告闪存设备1不可信,如果MD2和MD不同,将闪存设备1返回的数据传递给主机,并报告闪存设备2不可信。
当主机发出写请求时,如图2所示,写请求包括要写入的逻辑页码和要写入的数据,主机将数据传输至控制器,控制器计算数据的校验码并更新主机中的校验码表,控制器同时将该写请求传递给两个闪存设备。
在本实施方式中,为保证在主机开机时和主机关机时都能够及时升级校验码表,当主机开机时,校验码表可以存储于控制器中也可以存储于主机内,在本发明的一种优选实施方式中,校验码表存储于主机内而校验码的计算在控制器内进行,当主机发出读请求时,主机将要读的逻辑页码传输给控制器,同时主机将逻辑页码对应的校验码传输给控制器,控制器从闪存设备中读取数据并与主机传输来的校验码比对;当主机发出写请求时,控制器计算数据的校验码并传输给主机,主机进行校验码升级。通过这种方式,主机操作***的额外开销少,通过控制器进行计算,避免了额外的I/O堵塞和不必要的计算。
当主机关机时,控制器将校验码表认证加密后,传输给两个闪存设备实现码表的关机存储,当主机开机时,控制器从两个闪存设备中读取认证加密后的校验码数据,解密认证确认无误后将正确的校验码数据上传给主机进行校验码升级,开始***的正常工作。无论在开机时还是在关机时,都能够进行校验码升级,提高了计算方法的安全性。
在本发明的一个优选实施方式中,校验码采用的是国际标准MD5或是SHA计算方法。
在本发明的一个优选实施方式中,校验码表的认证加密步骤具体如下:当主机关机时,控制器将校验码表认证加密后,分别传输给两个闪存设备实现码表的关机存储,认证加密使用的秘钥存储于主机的密码安全模块,主机开机时,控制器从密码安全模块取出上次关机时存储的认证加密秘钥,并从两个闪存设备中分别读取认证加密后的校验码表,进行解密和认证,如果其中一个闪存设备提供的校验码表认证失败,则向主机报告其不可信,解密认证后,确保无误的校验码表将存储于主机或控制器中,用于认证加密的秘钥应在每次开机完成认证后更换。提高了校验码升级的安全性。
在本发明的一个优选实施方式中,认证加密方法采用的是国际通用的Keyed Hash算法,或Authenticated Encryption算法。
本发明还提供了一种利用闪存设备构建的可信存储***,如图3所示,其包括主机及与主机互联的控制器,以及分别与控制器相连的两个闪存设备,两个闪存设备的闪存转换层独立开发、互不共享设计;当主机发出写请求时,其中,写请求包括要写入的逻辑页码和要写入的数据,控制器计算数据的校验码并存储于校验码表,数据被分别写入两个闪存设备的相应逻辑页码中;当主机发出读请求时,其中,读请求包括要读的逻辑页码,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该逻辑页的校验码进行对比,如果其中某个闪存设备返回数据的校验码与校验码表中的记录不一致,控制器将其数据抛弃并通知主机该闪存设备不可信,如果至少有一个闪存设备返回数据的校验码与校验码表的记录一致,控制器将其数据传输给主机。
需要说明的是,本发明可信存储***的技术方案与构建可信***的方法的技术方案有许多共同点,构建可信***的方法已经做了详细描述,因此存储***就不做过多赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (5)
1.一种利用闪存设备构建可信存储***的方法,其特征在于,构建的可信存储***具有与控制器相连的两个闪存设备,所述两个闪存设备的闪存转换层独立开发、互不共享设计;在所述利用闪存设备构建可信存储***的方法中,
当主机发出写请求时,其中,写请求包括要写入的逻辑页码和要写入的数据,所述控制器计算该数据的校验码,并将其存储于校验码表该逻辑页码对应的位置中;校验码表存放于控制器或主机中;同时,该写请求也被分别传递给两个闪存设备进行存储;
当主机发出读请求时,其中,读请求包括要读的逻辑页码,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该逻辑页码的校验码进行对比,如果其中某个闪存设备返回的数据的校验码与校验码表中的校验码不一致,控制器将其数据抛弃并通知主机相应闪存设备不可信,如果至少有一个闪存设备返回数据的校验码与校验码表中的校验码一致,控制器将该数据传输给主机。
2.根据权利要求1所述的利用闪存设备构建可信存储***的方法,其特征在于,主机开机时,当主机发出读请求时,主机将要读的逻辑页码传输给控制器,控制器从闪存设备中读取数据并与校验码表中该页码的校验码比对;当主机发出写请求时,控制器计算数据的校验码并将其更新至校验码表中。
3.根据权利要求1或2所述的利用闪存设备构建可信存储***的方法,其特征在于,当主机关机时,控制器将校验码表认证加密后,传输给两个闪存设备实现校验码表的关机存储,当主机开机时,控制器从两个闪存设备中读取认证加密后的校验码数据,解密认证确认无误后,开始***的正常工作。
4.根据权利要求3所述的利用闪存设备构建可信存储***的方法,其特征在于,所述校验码表的认证加密步骤为:
当主机关机时,控制器将校验码表认证加密后,分别传输给两个闪存设备实现校验码表的关机存储,认证加密使用的秘钥存储于主机的密码安全模块,
当主机开机时,所述控制器从密码安全模块取出上次关机时存储的认证加密秘钥,并从两个闪存设备中分别读取认证加密后的校验码表,进行解密和认证,如果其中一个闪存设备提供的校验码表认证失败,则向主机报告其不可信,解密认证后,确保无误的校验码表将存储于主机或控制器中,用于认证加密的秘钥应在每次开机完成认证后更换。
5.一种利用闪存设备构建的可信存储***,其特征在于,包括主机及与主机互联的控制器,以及分别与所述控制器相连的两个闪存设备,所述两个闪存设备的闪存转换层独立开发、互不共享设计;
当主机发出写请求时,其中,写请求包括要写入的逻辑页码和要写入的数据,所述控制器计算所述数据的校验码并存储于校验码表,所述数据被分别写入两个闪存设备的相应逻辑页码中;
当主机发出读请求时,其中,读请求包括要读的逻辑页码,控制器将逻辑页码传递给两个闪存设备,两个闪存设备分别向控制器返回其存储的该页码的数据,控制器分别计算来自两个闪存设备的数据的校验码,并分别与校验码表中该逻辑页的校验码进行对比,如果其中某个闪存设备返回数据的校验码与校验码表中的记录不一致,控制器将其数据抛弃并通知主机该闪存设备不可信,如果至少有一个闪存设备返回数据的校验码与校验码表的记录一致,控制器将其数据传输给主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410802857.5A CN104503705B (zh) | 2014-12-22 | 2014-12-22 | 利用闪存设备构建可信存储***的方法及构建的可信存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410802857.5A CN104503705B (zh) | 2014-12-22 | 2014-12-22 | 利用闪存设备构建可信存储***的方法及构建的可信存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503705A true CN104503705A (zh) | 2015-04-08 |
CN104503705B CN104503705B (zh) | 2017-08-08 |
Family
ID=52945106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410802857.5A Expired - Fee Related CN104503705B (zh) | 2014-12-22 | 2014-12-22 | 利用闪存设备构建可信存储***的方法及构建的可信存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503705B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924291A (zh) * | 2015-10-19 | 2018-04-17 | 株式会社日立制作所 | 存储*** |
CN113938278A (zh) * | 2021-10-25 | 2022-01-14 | 北京计算机技术及应用研究所 | 一种加密硬盘的密钥管理和保护方法 |
CN115794685A (zh) * | 2023-01-05 | 2023-03-14 | 量子芯云(北京)微电子科技有限公司 | 一种基于物联网通讯的安全存储芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231622A (zh) * | 2007-12-27 | 2008-07-30 | 深圳华为通信技术有限公司 | 基于闪存的数据存储方法和设备、及数据读取方法和设备 |
US20090158124A1 (en) * | 2006-05-18 | 2009-06-18 | Buffalo Inc. | Data storage apparatus and data storage method |
CN102841861A (zh) * | 2011-06-24 | 2012-12-26 | 同方股份有限公司 | 一种以sd为通讯接口的数据安全存储设备及其工作方法 |
-
2014
- 2014-12-22 CN CN201410802857.5A patent/CN104503705B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158124A1 (en) * | 2006-05-18 | 2009-06-18 | Buffalo Inc. | Data storage apparatus and data storage method |
CN101231622A (zh) * | 2007-12-27 | 2008-07-30 | 深圳华为通信技术有限公司 | 基于闪存的数据存储方法和设备、及数据读取方法和设备 |
CN102841861A (zh) * | 2011-06-24 | 2012-12-26 | 同方股份有限公司 | 一种以sd为通讯接口的数据安全存储设备及其工作方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924291A (zh) * | 2015-10-19 | 2018-04-17 | 株式会社日立制作所 | 存储*** |
CN107924291B (zh) * | 2015-10-19 | 2020-10-09 | 株式会社日立制作所 | 存储*** |
CN113938278A (zh) * | 2021-10-25 | 2022-01-14 | 北京计算机技术及应用研究所 | 一种加密硬盘的密钥管理和保护方法 |
CN113938278B (zh) * | 2021-10-25 | 2024-03-15 | 北京计算机技术及应用研究所 | 一种加密硬盘的密钥管理和保护方法 |
CN115794685A (zh) * | 2023-01-05 | 2023-03-14 | 量子芯云(北京)微电子科技有限公司 | 一种基于物联网通讯的安全存储芯片 |
CN115794685B (zh) * | 2023-01-05 | 2023-04-14 | 量子芯云(北京)微电子科技有限公司 | 一种基于物联网通讯的安全存储芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN104503705B (zh) | 2017-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911250B2 (en) | Challenge response authentication for self encrypting drives | |
US9589138B2 (en) | Computing device boot software authentication | |
US20210328790A1 (en) | Key encryption handling | |
CN103065102B (zh) | 基于虚拟磁盘的数据加密移动存储管理方法 | |
EP2715598B1 (en) | Method and apparatus for authenticating a non-volatile memory device | |
US8996933B2 (en) | Memory management method, controller, and storage system | |
KR20180045039A (ko) | 보안 서브시스템 | |
US9935768B2 (en) | Processors including key management circuits and methods of operating key management circuits | |
US11354048B2 (en) | Storage device and data disposal method thereof | |
US20140075190A1 (en) | Authenticator, authenticatee and authentication method | |
CN102262721A (zh) | 用于独立代理的数据加密转换 | |
TW201314454A (zh) | 記憶體儲存裝置及其記憶體控制器與密碼驗證方法 | |
US8898807B2 (en) | Data protecting method, mobile communication device, and memory storage device | |
JP2012227899A (ja) | 認証コンポーネント、被認証コンポーネントおよびその認証方法 | |
CN113632066A (zh) | 所执行代码中的错误识别 | |
US10235526B2 (en) | Secure resume from a low power state | |
CN103257938A (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
US20140173280A1 (en) | Device authentication | |
CN104503705A (zh) | 利用闪存设备构建可信存储***的方法及构建的可信存储*** | |
CN105205416A (zh) | 一种移动硬盘密码模块 | |
US11863664B2 (en) | Method of performing key exchange for security operation in storage device and method of performing authority transfer in storage device using the same | |
CN107861892B (zh) | 一种实现数据处理的方法及终端 | |
US20140052988A1 (en) | Authenticator, authenticatee and authentication method | |
CN109583196B (zh) | 一种密钥生成方法 | |
CN103034594A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170808 Termination date: 20181222 |