CN111460530B - 一种m.2接口的sata加密卡 - Google Patents
一种m.2接口的sata加密卡 Download PDFInfo
- Publication number
- CN111460530B CN111460530B CN202010248072.3A CN202010248072A CN111460530B CN 111460530 B CN111460530 B CN 111460530B CN 202010248072 A CN202010248072 A CN 202010248072A CN 111460530 B CN111460530 B CN 111460530B
- Authority
- CN
- China
- Prior art keywords
- sata
- data
- encryption
- encryption card
- card
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/77—Protecting 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 in smart cards
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- 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)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种M.2接口的SATA加密卡,包括SATA PHY、CPU、RAM、NorFlash、DMA和加密模块,所述SATA加密卡通过SATA PHY上的M.2接口与外部通信,SATA PHY上设有SATA IN FIFO和SATA OUT FIFO,加密模块通过DMA与SATA IN FIFO相连,SATA OUT FIFO通过另一DMA与加密模块相连,加密模块与CPU相连,CPU分别与RAM、NorFlash相连,与SATA IN FIFO、SATA OUT FIFO相连的DMA、加密模块、SATA PHY均受CPU的控制;使用时,所述SATA加密卡模拟为M.2接口SATA硬盘,并采用数据by pass模式执行系统对模拟SATA硬盘的读写操作。本发明可以接入支持M.2接口或者SATA接口的设备,并且具备传统PCIE加密卡的功能。
Description
技术领域
本发明涉及一种加密卡,具体是一种M.2接口的SATA加密卡,属于安全存储技术领域。
背景技术
随着国家对等保2.0机制和云安全标准的深入和推广,基础加密设备的性能、成本、可靠性要求越来越高。传统意义上的加密卡一般采用PCIE接口,PCIE接口在IC硬件上占用较大的面积,因此成本和功耗较高,并且要求设备也支持PCIE形式的接口,而在性能要求不高、加密数据量较小、对功耗较为敏感的场合显得不太适用。
发明内容
本发明要解决的技术问题是提供一种M.2接口的SATA加密卡,可以接入支持M.2接口或者SATA接口的设备,并且具备传统PCIE加密卡的功能。
为了解决所述技术问题,本发明采用的技术方案是:一种M.2接口的SATA加密卡,包括SATA PHY、CPU、RAM、NorFlash、DMA和加密模块,所述SATA加密卡通过SATA PHY上的M.2接口与外部通信,SATA PHY上设有SATA IN FIFO和SATA OUT FIFO,加密模块通过DMA与SATA IN FIFO相连,SATA OUT FIFO通过另一DMA与加密模块相连,加密模块与CPU相连,CPU分别与RAM、NorFlash相连,与SATA IN FIFO、SATA OUT FIFO相连的DMA、加密模块、SATAPHY均受CPU的控制;使用时,所述SATA加密卡模拟为M.2接口SATA硬盘,并采用数据by pass模式执行系统对模拟SATA硬盘的读写操作。
进一步的,通过修改SATA加密卡中的sata identify指令响应的第54~58个word的内容,告诉系统本SATA加密卡的容量为T,系统则自行将SATA加密卡识别为T容量的SATA硬盘。
进一步的,采用数据by pass模式执行系统对模拟SATA硬盘的写操作时,模拟SATA硬盘缓存并丢弃所有的写入数据并且返回SATA指令成功;采用数据by pass模式执行系统对模拟SATA硬盘的读操作时,模拟SATA硬盘填充指定长度的0xff数据返回上位机并且返回SATA指令成功。
进一步的,SATA IN FIFO、SATA OUT FIFO、加密模块在一个DIE封装,在DMA传输过程中,CPU自动随机配置传输数据的掩码种子,干扰传输过程中的功耗变化。
进一步的,所述SATA加密卡采用两种指令模式:结构数据模式和流数据模式,每次加/解密由一个写操作和/或一个读操作完成,通过越界LBA来定义指令,每次标准读写数据最小长度为1个LBA。
进一步的,NorFlash位于SATA加密卡内部,在安全授权的情况下由客户进行信息存储,存储的信息包括数据、密钥、日志;NorFlash与CPU之间设有加扰存储空间的EMC模块,EMC的寄存器配置设置为掉电不丢失,并且EMC的寄存器控制不对客户开放,提供SATA加密卡层面、由各自厂商进行权限控制的定制接口。
进一步的,所述SATA加密卡设置安全量产机制,SATA加密卡出厂量产后,通过量产工具写入一组授权数据,该授权数据与加密模块的加密芯片ID进行绑定,并在量产工具目录下存储为一个文件,当需要重新量产时,自动检索量产工具目录下的加密芯片ID验证权限数据,只有正确的权限数据才能重新正确量产,多次错误量产会导致SATA加密卡进入数据、密钥销毁状态。
进一步的,流数据模式适用于加密算法SM1、SM3、SM4、AES、SHA256,流数据加密模式下,数据连续传输,通过SATA标准指令读/写指令LBA,指令LBA设定数据长度,连续发送数据,由上位机自行丢弃多余数据。
结构数据模式适用于加密算法SM2、RSA,通过SATA标准指令读写特定的指令LBA,特定的指令LBA指定只有第一个数据包有特殊含义,SATA加密卡接收数据后先进行指令处理,分析合法数据长度,将有意义数据拆分并送入硬件加密模块,然后上位机读取计算结果,自行丢弃多余数据。
进一步的,不需要输入数据计算、只需要上位机从SATA加密卡获取数据的加密操作,只需要1个读操作即可完成。
本发明的有益效果:本发明所述种M.2接口的SATA协议加密卡,可以完全实现传统PCIE加密卡的功能,对称加密128KB/64KB数据包稳态性能880bps±5%。该产品价格低廉,功耗远低于PCIE接口加密卡,支持OpenSSL、SKF、SDF接口标准,并且针对客户可以进行二次开发定制,对客户数据和芯片在SATA加密卡层面和芯片层面的多重保护机制,加强数据的安全性,可适用于加密设备终端,加密摄像头,小型百兆加密服务器等设备。在等保2.0、物联网和云安全方面有着广泛的应用前景。
附图说明
图1为本发明的原理框图;
图2为本发明所述SATA加密卡作为模拟SATA硬盘的读写控制示意图;
图3为本发明所述SATA加密卡的加密指令通讯流程图;
图4为加解密指令定义及计算的示意图;
图5为本发明所述SATA加密卡的存储管理机制流程图;
图6为本发明所述SATA加密卡的安全量产机制流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明,附图中所述固件即为SATA加密卡。
本实施例公开一种M.2接口的SATA加密卡,如图1所示,包括SATA PHY、CPU、RAM、NorFlash、EMC模块、DMA和加密模块,所述SATA加密卡通过SATA PHY上的M.2接口与外部通信,SATA PHY上设有SATA IN FIFO和SATA OUT FIFO,加密模块通过DMA与SATA IN FIFO相连,SATA OUT FIFO通过另一DMA与加密模块相连,加密模块与CPU相连,CPU分别与RAM、NorFlash相连,EMC模块连接在NorFlash与CPU之间,与SATA IN FIFO、SATA OUT FIFO相连的DMA、加密模块、SATA PHY均受CPU的控制。
图1中,实线表示SATA加密卡内部数据线,虚线表示SATA加密卡内部控制线。
本实施例中,所述加密模块基于HX8800国密安全芯片,该芯片支持SATAⅢ标准,采用M.2接口,硬件实现国密SM1、SM2、SM3、SM4等算法,同时支持AES、SHA1、RSA等国际通用加密算法,SATA加密卡层面采用Lib方式,隐藏关键寄存器控制,封装成SATA加密卡接口形式。上位机开发包支持OpenSSL、SKF、SDF接口标准,也可根据客户要求进行定制开发,支持Windows、中标麒麟、Ubuntu等X86或者ARM架构系统。
由于某些系统版本禁止对M.2接口的SATA非存储设备的LBA(逻辑偏移地址)读写,本实施例采用虚拟存储模式,将M.2接口加密卡模拟为M.2接口SATA硬盘。具体实现方式为:通过修改模拟SATA硬盘中的sata identify指令响应的第54~58个word的内容,告诉系统该设备的容量为T,系统会自动将加密卡识别为T容量的SATA存储硬盘,但实际SATA加密卡上并无存储功能。本实施例中,T为100GB。
由于系统对SATA设备具有错误重传机制,如果禁止对虚拟存储区的读写,会触发驱动层7~10次自动重试,造成长时间卡顿。本实施例采用数据by pass模式执行系统对模拟SATA硬盘的读写操作。如图2所示,写操作时,模拟SATA硬盘缓存并丢弃所有的写入数据并且返回SATA指令成功,图2中,将写入数据缓存至RAM,随后丢弃。
读操作时,SATA加密卡填充指定长度的0xff数据到SATA IN FIFO,然后返回上位机并且返回SATA指令成功,这样不会触发重传机制,也无需增加存储颗粒提高成本,既保证兼容性,又降低成本。
本实施例中,加密模块基于国密安全芯片HX8800,加密算法均采用硬件实现,性能高且安全性好。硬件设计上,经过硬件加密运算的中间过程和结果无法进入RAM,直接通过DMA将运算结果放入SATA IN FIFO中,该FIFO只能通过SATA硬件发送给上位机,无法通过SATA加密卡获取中间结果。整个SATA IN/OUT FIFO、加密模块在一个DIE(晶圆(SiliconWafer)上切割下来的一个个小方块)封装,并且在DMA传输过程中,CPU自动随机配置传输数据的掩码种子,干扰传输过程中的功耗变化,从而一定程度上防止DPA(差分功耗功耗)攻击和针对RAM的监听攻击。实现高安全硬件加密。
本实施例中,所述SATA加密卡采用两种指令模式:结构数据模式和流数据模式,每次加/解密操作由一个写操作和/或一个读操作完成。如图3所示,为由一个读操作和一个写操作完成的加/解密的流程图,包括以下步骤:S31)、操作系统生成加/解密指令,同时向SATA加密卡发送写操作指令(SATA OUT);S32)、SATA OUT FIFO数据接收完成后,CPU启动DMA和加密模块,同时向操作系统返回发送指令成功;S33)、SATA OUT FIFO通过DMA向加密模块传输数据,加密模块获取数据后进行加/解密计算,并且向CPU返回计算完成;S34)、操作系统向SATA加密卡的CPU发送读操作指令(SATA IN),CPU再次启动DMA和加密模块,加密模块根据上位机获取结果的要求发送计算结果;S35)、计算结果由加密模块经过DMA传输至SATA IN FIFO,由SATA IN FIFO传输至操作系统,同时返回指令成功。
在某些情况下,如获取随机数,不需要输入数据计算,只需要上位机从SATA加密卡获取数据,只需要1个读操作即可。
如图4所示,通过越界LBA来定义指令,越界LBA包括基地址(Base_addr)和offset,offset为定义的私有指令,有数据加密、密钥配置、获取计算结果三种类型。根据SATAⅢ接口标准,每次标准读写数据最小长度为1个LBA(512字节)。
针对流加密模式如SM1、SM3、SM4、AES等或哈希算法SM3、SHA256,在应用上一般是大量数据连续传输,通过SATA标准指令读/写指令LBA,设定数据长度,连续发送数据,由上位机自行丢弃多余数据,此方式对大量数据传输有较高效率。而针对结构数据模式,一般是非对称加密SM2、RSA等,通过SATA标准指令读写特定的指令LBA,特定的指令LBA指定只有第一个数据包有特殊含义,固件接收数据后先进行指令处理,分析合法数据长度,将有意义数据拆分并送入硬件加密模块,然后上位机读取计算结果,自行丢弃多余数据。
如图1所示,NorFlash位于SATA加密卡内,即本实施例提供片内flash管理机制,NorFlash的存储空间为128KB,可以在安全授权的情况下由用户进行数据、密钥、日志等信息存储。
硬件上提供一种可以加扰存储空间的EMC硬件模块,该寄存器配置掉电不会丢失,该模块的主要作用是对FLASH中的数据根据种子掺杂一定规则与地址相关的扰乱数据,将原始数据进行再次计算,计算流程如图5所示。可以在某些区域数据写入完成后,设置为EMC加扰模式,在开启EMC的情况下无法擦除数据,并且读取数据是经过EMC模块扰乱的,无法获得真实数。EMC的寄存器控制不对客户开放,固件层面提供定制接口由各自厂商进行权限控制,可以安全保证集成厂商之间数据无法相互破解。
本实施例中,所述SATA加密卡设置安全量产机制,SATA加密卡出厂量产后,通过量产工具写入一组授权数据,该授权数据与加密模块的加密芯片ID进行绑定,并在量产工具目录下存储为一个文件。如图6所示,当需要重新量产时,自动检索量产工具目录下的加密芯片ID验证权限数据,只有正确的权限数据才能重新正确量产,多次错误量产会导致SATA加密卡进入数据、密钥销毁状态,以此保证数据的安全性。
为了验证本实施例所述M.2加密卡的性能,按如下步骤进行性能测试:
1、手动插入M.2接口SATA加密卡,系统识别为100GB未格式化的存储设备,初始化设备成功,格式化设备提示失败(正常现象,因为没有存储介质),第三方读写100GB无格式虚拟存储设备,无长时间卡顿。
2、通过脚本测试加密算法性能,在SATAⅢ接口速度下,性能如表1所示。
3、尝试在开启EMC加扰模块的情况下写入数据、擦除数据、提示失败,读取数据为错误数据,关闭加锁情况下读写擦除数据正常。
4、尝试在未获取权限的情况下重量产,量产失败,重试10次M.2接口SATA加密卡原有固件及数据自动销毁。
本SATA加密卡可以接入移动笔记本、服务器、PC机等支持M.2或者SATA接口的设备,设备内部有硬件加密模块,加解密数据无中间缓存,SATA加密卡及上位机支持OpenSSL规范,支持SDF、SKF接口,也可定制接口满足非标准要求。具有成本低、性能较高、稳定性好、灵活性较高的特点,在远端设备本地加解密有着巨大的优势,可广泛作为基础硬件设备应用于安防、视频监控、数据终端、加密服务器等领域。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (7)
1.一种M.2接口的SATA加密卡,其特征在于:包括SATA PHY、CPU、RAM、NorFlash、DMA和加密模块,所述SATA加密卡通过SATA PHY上的M.2接口与外部通信,SATA PHY上设有SATAIN FIFO和SATA OUT FIFO,加密模块通过DMA与SATA IN FIFO相连,SATA OUT FIFO通过另一DMA与加密模块相连,加密模块与CPU相连,CPU分别与RAM、NorFlash相连,与SATA INFIFO、SATA OUT FIFO相连的DMA、加密模块、SATA PHY均受CPU的控制;使用时,所述SATA加密卡模拟为M.2接口SATA硬盘,并采用数据by pass模式执行系统对模拟SATA硬盘的读写操作;采用数据by pass模式执行系统对模拟SATA硬盘的写操作时,模拟SATA硬盘缓存并丢弃所有的写入数据并且返回SATA指令成功;采用数据by pass模式执行系统对模拟SATA硬盘的读操作时,模拟SATA硬盘填充指定长度的0xff数据返回上位机并且返回SATA指令成功;SATA IN FIFO、SATA OUT FIFO、加密模块在一个DIE封装,在DMA传输过程中,CPU自动随机配置传输数据的掩码种子,干扰传输过程中的功耗变化;所述SATA加密卡采用两种指令模式:结构数据模式和流数据模式,每次加/解密操作由一个写操作和/或一个读操作完成,通过越界LBA来定义指令,每次标准读写数据最小长度为1个LBA。
2.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:通过修改SATA加密卡中的sata identify指令响应的第54~58个word的内容,告诉系统本SATA加密卡的容量为T,系统则自行将SATA加密卡识别为T容量的SATA硬盘。
3.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:NorFlash位于SATA加密卡内部,在安全授权的情况下由客户进行信息存储,存储的信息包括数据、密钥、日志;NorFlash与CPU之间设有加扰存储空间的EMC模块,EMC的寄存器配置设置为掉电不丢失,并且EMC的寄存器控制不对客户开放,提供SATA加密卡层面、由各自厂商进行权限控制的定制接口。
4.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:所述SATA加密卡设置安全量产机制,SATA加密卡出厂量产后,通过量产工具写入一组授权数据,该授权数据与加密模块的加密芯片ID进行绑定,并在量产工具目录下存储为一个文件,当需要重新量产时,自动检索量产工具目录下的加密芯片ID验证权限数据,只有正确的权限数据才能重新正确量产,多次错误量产会导致SATA加密卡进入数据、密钥销毁状态。
5.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:流数据模式适用于加密算法SM1、SM3、SM4、AES、SHA256,流数据加密模式下,数据连续传输,通过SATA标准指令读/写指令LBA,指令LBA设定数据长度,连续发送数据,由上位机自行丢弃多余数据。
6.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:结构数据模式适用于加密算法SM2、RSA,通过SATA标准指令读写特定的指令LBA,特定的指令LBA指定只有第一个数据包有特殊含义,SATA加密卡接收数据后先进行指令处理,分析合法数据长度,将有意义数据拆分并送入硬件加密模块,然后上位机读取计算结果,自行丢弃多余数据。
7.根据权利要求1所述的M.2接口的SATA加密卡,其特征在于:不需要输入数据计算、只需要上位机从SATA加密卡获取数据的加密操作,只需要1个操作即可完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010248072.3A CN111460530B (zh) | 2020-04-01 | 2020-04-01 | 一种m.2接口的sata加密卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010248072.3A CN111460530B (zh) | 2020-04-01 | 2020-04-01 | 一种m.2接口的sata加密卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460530A CN111460530A (zh) | 2020-07-28 |
CN111460530B true CN111460530B (zh) | 2023-05-05 |
Family
ID=71679494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010248072.3A Active CN111460530B (zh) | 2020-04-01 | 2020-04-01 | 一种m.2接口的sata加密卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460530B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073808B (zh) * | 2010-11-17 | 2014-05-21 | 曙光云计算技术有限公司 | 一种通过sata接口加密存储的方法和加密卡 |
CN103345453B (zh) * | 2013-06-27 | 2016-02-24 | 清华大学 | 基于支持sata接口的硬盘数据加密卡进行加密的方法 |
CN105243344B (zh) * | 2015-11-02 | 2020-09-01 | 上海兆芯集成电路有限公司 | 具有硬盘加密功能的芯片组以及主机控制器 |
WO2017101122A1 (zh) * | 2015-12-18 | 2017-06-22 | 深圳市振华微电子有限公司 | 管用分离的计算机加密锁 |
-
2020
- 2020-04-01 CN CN202010248072.3A patent/CN111460530B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111460530A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806128B2 (en) | System and method for information security device with compact flash interface | |
KR102453780B1 (ko) | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 | |
CN106127043B (zh) | 从远程服务器对数据存储设备进行安全扫描的方法和装置 | |
US8627100B2 (en) | Separate type mass data encryption/decryption apparatus and implementing method therefor | |
US20060053308A1 (en) | Secured redundant memory subsystem | |
Shwartz et al. | Reverse engineering IoT devices: Effective techniques and methods | |
TWI620093B (zh) | 用於保全電腦大容量儲存資料的方法和裝置 | |
US8843768B2 (en) | Security-enabled storage controller | |
KR20100009062A (ko) | 데이터 보안을 위한 파일 시스템 구성 방법 및 장치, 그에의해 만들어진 데이터 보안 영역에 접근하는 방법 및 장치,그에 따른 데이터 저장 장치 | |
US20060112267A1 (en) | Trusted platform storage controller | |
CN106845261A (zh) | 一种销毁ssd硬盘数据的方法及装置 | |
CN111460530B (zh) | 一种m.2接口的sata加密卡 | |
CN102004705B (zh) | 基于硬件加密的usb存储设备 | |
CN113536330A (zh) | 存储装置及其数据清理方法 | |
US6810438B1 (en) | Method for enabling value-added feature on hardware devices using a confidential mechanism to access hardware registers in a batch manner | |
CN201886463U (zh) | 基于硬件加密的usb存储设备 | |
CN117473495A (zh) | 用于勒索软件和恶意软件保护的存储系统和设备及其方法 | |
CN113127896B (zh) | 基于独立加密芯片的数据处理方法及设备 | |
CN115455440A (zh) | 透明加密方法、装置、电子设备及存储介质 | |
KR20100048705A (ko) | Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법 | |
CN107240408B (zh) | 针对cd-rom光盘介质的读写管控系统 | |
CN110334501B (zh) | 一种基于u盘的数据保护方法和装置以及设备 | |
CN110765450A (zh) | 非易失性内存主机控制器接口权限设置和非对称加密方法 | |
Lee et al. | USB PassOn: secure USB thumb drive forensic toolkit | |
KR20190078198A (ko) | 안전성을 높인 클라우드 저장소 기반 메모리 장치 및 이의 인증 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |