CN114840863B - 一种基于可信嵌入式设备与ftp的安全存储方法和系统 - Google Patents
一种基于可信嵌入式设备与ftp的安全存储方法和系统 Download PDFInfo
- Publication number
- CN114840863B CN114840863B CN202210492880.3A CN202210492880A CN114840863B CN 114840863 B CN114840863 B CN 114840863B CN 202210492880 A CN202210492880 A CN 202210492880A CN 114840863 B CN114840863 B CN 114840863B
- Authority
- CN
- China
- Prior art keywords
- ftp
- trusted
- ftp server
- embedded device
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005192 partition Methods 0.000 claims abstract description 106
- 238000013475 authorization Methods 0.000 claims abstract description 6
- 238000012795 verification Methods 0.000 claims description 14
- 238000002377 Fourier profilometry Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 46
- 238000007726 management method Methods 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 15
- 240000007651 Rubus glaucus Species 0.000 description 8
- 235000011034 Rubus glaucus Nutrition 0.000 description 8
- 235000009122 Rubus idaeus Nutrition 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000002407 reforming Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于可信嵌入式设备与FTP的安全存储方法和系统。本方法为:1)使用可信密码模块作为可信嵌入式设备的信任根,使得可信嵌入式设备具备可信计算环境;可信嵌入式设备包括可信密码模块、FTP服务端和加密分区管理子系统;2)将外置存储设备与可信嵌入式设备相连,将外置存储设备初始化为加密分区,并将加密分区与一个随机生成的密钥文件关联,使用信任根将密钥文件加密存储在可信嵌入式设备中;将FTP服务端的根目录与加密分区绑定;3)将FTP客户端部署在主机环境上主机环境使用FTP客户端向FTP服务端发送安全操作请求,FTP服务端对FTP客户端进行加密分区访问授权并对收到的安全操作请求进行响应。
Description
技术领域
本发明属于计算机系统安全可信存储领域,具体涉及一种基于可信嵌入式设备与FTP的安全存储方法和系统。
背景技术
随着互联网信息技术的发展,海量数据不断被各种形式的计算机系统和信息设备存储和使用。对于个人而言,一些数据与文件可能涉及个人隐私;对于企业而言,很多数据可能会涉及知识产权和商业秘密;甚至对于国家而言,一些数据涵盖国家的重要信息,泄漏可能会对国家安全造成威胁。由于这些安全敏感数据通常价值很高,它们很容易成为黑客和不法分子攻击或者盗窃的目标。
安全存储是用来对敏感数据进行安全保护的一种重要技术,其通常包含两个基本安全属性:其一,对数据进行加密保护,使得数据只以密文形式持久存储,任何攻击只能获得密文(对攻击者而言是一堆乱码),基于加密算法的安全性可以确保密文不会泄漏数据明文的任何信息;其二,对数据的访问进行认证授权保护,只有拥有合法凭证的用户才能解密和使用这些敏感数据,防止其它用户或者恶意用户的非法访问。因此,通过安全存储技术可以对重要的敏感数据进行安全保护。
实现安全存储的方法通常包含基于OTP(One-Time Programmable)的方法和基于磁盘加密的方法。OTP是一种特殊类型的非易失性存储器NVM(Non-Volatile Memory),如2004年IBM发明的eFuse技术,其只能编程一次,一旦编程则永久有效无法被篡改,由于OTP存储空间有限,其通常用于安全保存加密密钥等最核心的数据,只有系统上信任根代码才能访问OTP进行安全操作,因此基于OTP的方法主要适合对加密密钥等少量核心数据的安全存储保护。而基于磁盘加密的方法,主要是将要保护的数据使用加密算法进行加密后存储在磁盘上,其保护的数据量由磁盘的存储空间决定,适合大量数据的安全存储。
基于磁盘加密的安全存储方法通常有软件和硬件两种技术方式。基于软件的磁盘加密技术通常可以在应用层(如PGP、OpenSSL),文件系统层(如ecryptfs、fscrypt)或者block块子系统层(如BitLocker)集成加密算法,将要存储的数据在经过存储架构的相应层级时进行加密后再存储。基于硬件的磁盘加密技术通常会在存储设备的控制器中实现一个特殊的硬件模块,该硬件会对写入该存储设备的所有数据进行自动加密;当想要读取数据时,用户通过物理安全路径输入合法的凭证数据后,存储设备控制器中的特殊硬件会自动对数据进行解密。基于硬件的磁盘加密的具有代表性的技术主要是自加密驱动器SED(Self-Encrypting Drive)和TCG Opal,其中TCG Opal是国际可信计算组织制定的一套自加密驱动器规范。TCG Opal提供了一种安全管理标准层次结构,可以保护数据免遭非法人员(能够访问存储设备或者主机系统的未授权人员)的盗窃和篡改。TCG Opal使用硬件加密技术对整个驱动器进行加密,如果驱动器或者使用驱动器的主机被盗或者丢失,用户不必担心其数据会被非法访问和泄漏。
虽然上述安全存储技术已经得到了一定的应用,但随着研究的深入也暴露一些缺点。对于基于软件的磁盘加密技术,其在使用数据的主机环境中完成加解密,没有任何隔离保护机制,加解密的密钥也位于主机环境的DRAM内存中,很容易遭受各种内存攻击,一旦密钥被泄漏,存储在磁盘上的所有数据都会受到威胁,而且这种方法通常依赖复杂的配置,加密带来的性能开销对于很多应用场景也是不能接受的。对于TCG Opal这种基于硬件驱动器的全盘加密技术,其将密钥和加解密操作都置于存储设备的硬件驱动器中,能在一定程度上达到与主机内存环境的隔离,而且加密由硬件驱动器自动完成,对于用户而言完全透明,其缺点在于硬件驱动器的密钥管理能力有限,无法实施细粒度的安全存储,特别是面对多用户场景时,可扩展性较差,而且硬件驱动器本身也缺乏安全保护机制,相应的密码操作也难以审计。
发明内容
本发明的目的在于借鉴软件加密技术的灵活性以及硬件驱动器加密技术的隔离性,提出了一种基于可信嵌入式设备和FTP机制的新安全存储方案,该方案在保持数据的持久性安全存储的同时能满足灵活性与隔离性要求,具体体现在:首先,将外置存储设备通过硬件接口与可信嵌入式设备相连接,同时基于可信嵌入式设备将外置存储设备配置为具有加密保护的安全存储设备,其与主机环境是相互隔离的(主机是指使用FTP客户端功能使用安全数据的任何机器,可以是PC也可以是服务器),密钥不会受到主机内存攻击的威胁;其次,基于可信计算技术构建可信嵌入式设备,该可信嵌入式设备具有独立的软件运行环境,可以实现灵活的软件加密和安全存储管理功能,可扩展性更强;最后,通过FTP连接可信嵌入式设备与主机环境,可以非常方便地对安全存储设备中的数据进行操作(如显示、上传、下载、修改等),同时为了确保FTP连接的安全性,将可信计算的远程证明机制扩展到FTP的认证系统中,只有通过鉴权的用户使用经过认证的设备才能获得FTP访问的权限。
本发明是一种基于可信嵌入式设备与FTP的安全存储方法,其构建原理和步骤如下:
1)定制可信嵌入式设备,使用可信密码模块作为可信嵌入式设备的信任根,基于可信密码模块使用可信计算技术完成可信嵌入式设备上的系统可信引导,使得可信嵌入式设备具备可信计算环境;
2)将外置存储设备与所述可信嵌入式设备相连,使用加密分区管理子系统将外置存储设备初始化为加密分区,并将加密分区与一个随机生成的密钥文件sskeyfile关联,使用所述可信密码模块信任根将sskeyfile加密存储在可信嵌入式设备中,确保只有所述可信密码模块才能解密sskeyfile,而且只有成功解密获取正确的sskeyfile时,加密分区才能被打开和使用;
3)改造FTP客户端和FTP服务端,使得FTP能支持远程证明功能和加密分区的安全存储管理功能,将FTP客户端部署在主机环境上,将FTP服务端部署在所述可信嵌入式设备中,并将FTP服务端的根目录与所述加密分区绑定,绑定后所有对FTP的操作都响应在加密分区对应的文件系统中;即绑定之后FTP客户端传输过来的文件都会默认存储在加密分区中,FTP客户端也可以直接从加密分区中下载文件;
4)所述主机环境使用所述改造FTP客户端可以完成安全操作请求(如安全显示数据、安全上传数据、安全下载数据、安全修改数据等),所述FTP客户端与所述服务端完成远程证明后,所述FTP服务端对所述FTP客户端进行加密分区访问授权,所述可信嵌入式设备使用所述改造FTP服务端完成相应的安全操作响应。
进一步地,本发明方法包括可信嵌入式设备配置阶段、FTP改造与部署阶段和安全存储使用阶段,具体说明如下:
1.可信嵌入式设备配置阶段:
a)定制或者选择具有网口、外置IO接口和可信密码模块的嵌入式设备,网口使其能与主机环境进行FTP通信,外置IO接口使其能与外置存储设备连接(如通过USB口连接外置大容量硬盘),可信密码模块能为可信嵌入式设备提供信任根和硬件密码算法接口;
b)在可信嵌入式设备系统启动时,在启动固件中内置密码算法和度量验证功能,形成安全启动固件,对嵌入式操作系统内核镜像进行度量并验证,以安全方式启动嵌入式操作系统内核和嵌入式系统应用程序,保证嵌入式设备内核以及系统应用的可信性;
c)将外置存储设备通过外置IO接口与可信嵌入式设备相连,将外置存储设备配置成加密分区,随机生成密钥文件sskeyfile,将加密分区与sskeyfile关联;
d)使用可信密码模块生成密钥保护密钥kpk(key protection key),使用kpk对密钥文件sskeyfile进行加密生成sskeyfile.enc文件,并将sskeyfile.enc文件存储在嵌入式设备的文件系统中,同时将明文sskeyfile文件删除(防止未经授权使用sskeyfile);
e)密钥保护密钥kpk受到可信密码模块的保护,只有拥有可信密码模块访问权限且具有合法访问密码pwd_tcmkey的用户才能使用kpk密钥;
f)合法用户或者管理员通过输入正确的访问密码pwd_tcmkey的方式使用基于可信密码模块的kpk密钥解密sskeyfile.enc文件获得sskeyfile,使用sskeyfile打开加密分区并挂载到嵌入式设备文件系统的指定路径(如/media/secure),并将加密分区的UUID(通用唯一识别码)值写入到该加密分区对应的指定路径中;
g)合法用户或者管理员运行检查程序,通过软件程序的方式对外置存储设备、加密分区、挂载的文件系统、可信密码模块、UUID(通用唯一识别码)标识等进行验证检查,确保安全存储依赖的各种软硬件配置正常;
h)在步骤1.g)中检查操作通过后,合法用户或管理员将安全存储配置恢复到初始状态,即关闭加密分区并删除sskeyfile。
2.FTP改造与部署阶段:
a)改造FTP服务端:其只保存合法用户的哈希值(即hash(pwd_user))作为登录的验证数据;增加认证接口,可以对服务端所在设备的完整性状态进行签名,可以对客户端提交的签名数据进行验证;增加加密分区管理接口,通过验证安全存储加密分区访问权限的方式验证加密分区的管理密码(pwd_ss)后,可以打开加密分区,可以关闭加密分区;不同用户可以对应不同的加密分区与管理密码;
b)改造FTP客户端:其对用户输入的密码pwd_user进行哈希计算之后,使用hash(pwd_user)值来连接改造的FTP服务端;增加认证接口,可以对客户端所在设备的完整性状态进行签名,可以对服务端提交的签名数据进行验证;增加加密分区管理接口,允许用户通过输入其对应加密分区的管理密码(pwd_ss)的方式来打开或者关闭其加密分区;
c)由可信第三方为FTP服务端生成公私钥对(sk_ftps,pk_ftps),为每个合法的FTP客户端用户i生成公私钥对(sk_ftpci,pk_ftpci);
d)部署服务端:将改造的FTP服务端部署在步骤1中的嵌入式设备上,将步骤2.c)中的FTP服务端公私钥对(sk_ftps,pk_ftps),以及所有合法的FTP客户端用户的公钥pk_ftpci也部署在嵌入式设备上,使得改造的FTP服务端能基于认证接口完成单向或者双向认证功能;
e)部署客户端:将改造的FTP客户端部署在使用安全存储功能的主机环境上,将步骤2.c)中的FTP服务端公钥pk_ftps也部署在主机环境上,每个合法的FTP客户端用户i对应的公私钥对(sk_ftpci,pk_ftpci)都部署在主机环境上,私钥由各个用户自己选择方式保护;
f)步骤2.b)中所述的完整性状态是指可以代表其所在设备系统软硬件环境的安全状态的值,可以由管理员根据实际应用场景选择,例如,这种完整性状态可以是系统运行的进程状态、内存状态、网络连接状态等;
g)步骤2.d)中所述单向认证是指客户端认证服务端,或者服务端认证客户端;所述双向认证是指客户端和服务端完成相互认证;具体选择哪种方式根据实际应用场景而定;所述认证是指证明者基于公钥算法使用其私钥对所述的完整性状态进行签名,验证者使用公钥检查签名的合法性以及完整性状态的可信性。
3.安全存储使用阶段:
a)FTP用户登录:用户输入密码pwd_user,FTP客户端计算hash(pwd_user)作为用户凭证登录FTP服务端,登录成功后FTP服务端可以访问的文件根目录暂时为空;
b)FTP安全存储认证:基于步骤2生成与配置的密钥完成单向认证或者双向认证;认证功能采用远程证明技术,FTP客户端需要使用其私钥对环境完整性状态值进行签名,并连同完整性列表一起发送给FTP服务端,接收者使用对应的公钥进行验证,并确保完整性列表本身符合安全要求;
c)FTP安全存储打开:通过步骤3.b)中的认证之后,用户输入加密分区管理密码pwd_ss,FTP服务端验证管理密码的合法性之后,使用可信密码模块解密获得密钥文件sskeyfile,然后打开加密分区并挂载到FTP服务端对应的指定路径中;
d)FTP安全存储使用:通过步骤3.c)打开加密分区后,用户可以对安全存储路径中的数据和文件进行远程FTP操作(如显示、上传、下载、修改等);
e)FTP安全存储关闭:完成步骤3.d)中的安全存储使用操作后,用户输入加密分区管理密码pwd_ss,FTP服务端验证管理密码的合法性之后,解除FTP服务端根路径的挂载,然后关闭加密分区并删除sskeyfile。
与上面方法对应地,本发明还提供一种基于可信嵌入式设备与FTP的安全存储系统,其架构如图1所述,具体包括:
可信密码模块,负责为可信嵌入式设备提供信任根和密码功能;
外置存储设备,通过硬件接口与可信嵌入式设备相连,可信嵌入式设备将其配置为安全存储设备,负责为安全存储系统提供存储空间;
可信环境构建子系统,负责为可信嵌入式设备提供安全引导、可信密码模块驱动、可信软件栈和密码算法功能;安全引导是指以可信密码模块为信任根,在可信嵌入式设备启动过程中,确保启动的每个组件的完整性;可信密码模块驱动和可信软件栈是可以将可信密码模块的安全功能呈现给系统软件使用的依赖组件;密码算法提供哈希、加解密、签名验证等功能;
加密分区管理子系统,负责将外置存储设备配置为加密分区,并提供加密分区初始化、加密分区检查、加密分区打开和加密分区关闭四个功能;
改造的FTP服务端,除了提供常见的服务端FTP功能(即处理客户端的显示、上传、下载、修改等请求)外,增加了服务端认证子系统和服务端安全存储子系统;服务端认证子系统实现对FTP客户端的双重认证,即基于哈希值的口令认证以及基于完整性状态的远程证明认证,还可以对所在可信嵌入式设备系统环境的完整性状态进行签名,以便通过客户端认证子系统的验证;服务端安全存储子系统,负责对加密分区的打开和关闭进行安全管理,并将FTP服务端根路径与加密分区进行绑定;
改造的FTP客户端,除了提供常见的客户端FTP功能(即向服务端发送显示、上传、下载、修改等请求)外,增加了客户端认证子系统和客户端安全存储子系统;客户端认证子系统向服务端提供用户口令的哈希值,以及对所在主机环境的完整性状态进行签名,以便通过FTP服务端认证子系统的验证,客户端认证子系统还负责验证服务端的签名合法性和服务端完整性状态的可信性;客户端安全存储子系统提供用户加密分区对应的管理密码,可以打开或者关闭服务端该用户对应的加密分区。
本发明的优点如下:
1.相比于基于软件的磁盘加密安全存储技术,本发明将加密分区功能从主机环境移到隔离的可信嵌入式设备,这样安全存储依赖的加密密钥不再位于主机环境的RAM内存中,确保安全存储的使用与安全存储的密钥保护相互隔离,防止针对安全存储使用环境的各种内存攻击;同时,通过改造FTP,在增加远程证明认证功能提供安全性的同时,确保本发明像本地操作加密磁盘一样方便易用。
2.本发明还提供了更好的灵活性和可扩展性,通过加密分区管理子系统和改造的FTP功能,可以很容易的扩展到多用户安全使用,每个用户可以对应各自的加密分区密钥文件和加密分区路径,互不干扰。相对于TCG Opal这种基于硬件驱动器的全盘加密技术,本发明的密钥不再固化在硬件中,可信嵌入式设备提供安全可信的软件环境和密码功能,支持密钥的更新/撤销、密码算法的替换等管理功能,能够实现更加细粒度的安全存储功能,可信密码模块可以为加密分区提供硬件级密钥保护。
3.本发明通过加密分区来保证数据在外置存储设备的持久性安全存储,在没有管理密码和可信密码模块的解密功能支持下,即便外置存储设备被盗或者丢失,攻击者也无法获取外置存储设备中保存的数据。此外,本发明通过改造FTP支持口令哈希和远程证明双重认证功能,使得对数据的访问具有更强的认证授权功能支撑。
附图说明
图1是本发明基于可信嵌入式设备与FTP的安全存储系统的架构图。
图2是本发明基于可信嵌入式设备与FTP的安全存储方法的使用流程图。
具体实施方式
下面以一个普通PC设备作为主机环境(使用安全存储的实体),一个配备TCM安全芯片的树莓派作为可信嵌入式设备(提供安全存储的实体)为例,说明本发明的具体实现方式:
本发明提出一种基于可信嵌入式设备与FTP的安全存储方法,对于本领域的技术人员而言,可以参考该方法设计、实现出对应的安全存储系统。
本实施例的基于可信嵌入式设备与FTP的安全存储方法,其中安全存储的使用流程如图2所示,具体包括以下步骤:
1.遵循发明内容步骤1的子步骤a),树莓派具有网口和USB接口,网口可以与PC主机环境通过网线相连,通过USB接口可以连接移动硬盘作为外置存储设备,可信密码模块采用符合《可信计算密码支撑平台功能及接口规范》国家标准的TCM安全芯片。
2.遵循发明内容步骤1的子步骤b),使用遵循我国商用密码算法标准的SM3(SM3密码杂凑算法标准)算法作为度量算法,使用遵循我国商用密码算法标准的SM2(SM2公钥密码学算法标准)作为签名验证算法(SM2算法采用国家密码管理局推荐的参数),对树莓派Linux内核镜像进行度量和验证。
3.遵循发明内容步骤1的子步骤c)~h),使用树莓派Linux系统的/dev/urandom提供随机字节流生成密钥文件sskeyfile,调用TCM安全芯片的密钥创建接口生成kpk密钥(SM4密钥),使用遵循我国商用密码算法标准的SM4(SM4分组密码算法),调用TCM的加密接口对sskeyfile进行加密;同时通过将树莓派Linux系统提供的cryptsetup工具将USB连接的移动硬盘配置为加密分区的方式将外置存储设备转化为安全存储设备,并与密钥文件sskeyfile绑定,在打开并检查加密分区的可用性之后,关闭加密分区,并删除sskeyfile文件,只保存TCM加密后的sskeyfile.enc文件。
4.遵循发明内容步骤2,采用开源ftp作为基准ftp功能,分别扩展ftp.Client类和ftp.Server类完成对ftp客户端和服务端功能的改造,增加远程证明和安全存储功能,改造后的ftp客户端为ssftpClient,改造后的ftp服务端为ssftpServer;对用户口令的哈希算法采用SM3,远程证明中的签名机制采用SM2,安全存储打开和关闭采用基于管理密码的访问控制授权方法;将ssftpClient部署在PC设备的主机环境上,将ssftpServer部署在树莓派设备上,公私钥对都使用SM2的密钥对,树莓派设备的服务端密钥对为(sk_ftps,pk_ftps),PC设备主机环境的客户端密钥对为(sk_ftpc,pk_ftpc)。
5.遵循发明内容步骤3的子步骤a),用户输入用户名name_user和登录口令pwd_user,并发起FTP请求req_ftp(如显示、上传、下载或者修改等ftp功能);ssftpClient计算登录口令的哈希值hpwd=SM3(pwd_user),将(name_user,hpwd,req_ftp)一起发送给ssftpServer;ssftpServer验证name_user和hpwd的合法性后,若验证成功用户就可以通过客户端调用服务端的可信存储服务了。
6.遵循发明内容步骤3的子步骤b),选择双向认证流程:ssftpServer使用随机数算法生成随机挑战值N_s发送给ssftpClient;ssftpClient获取表示其主机环境完整性状态的值M_c,并使用其私钥完成签名计算得到签名值V_c,即V_c=Sig(sk_ftpc,N_s|M_c),ssftpClient也生成随机挑战值N_c,连同V_c和M_c一起发送给ssftpServer;ssftpServer首先验证签名是否合法,即R1=Verify(pk_ftpc,N_s|M_c),如果R1为True,说明签名合法,则继续使用标准的完整性状态值对M_c进行比对,确保ssftpClient的主机环境可信,任一验证失败都会终止连接;全部验证成功后,ssftpServer会类似地计算表征树莓派设备完整性状态的签名值,即V_s=Sig(sk_ftps,N_c|M_s),将V_s和M_s一起发送给ssftpClient;ssftpClient首先验证签名是否合法,即R2=Verify(pk_ftps,N_c|M_s),如果R2为True,说明签名合法,则继续使用标准的完整性状态值对M_s进行比对,确保ssftpServer所在的嵌入式设备环境的可信,全部验证通过则继续,否则终止连接。
7.遵循发明内容步骤3的子步骤c),用户输入加密分区管理密码pwd_ss,发起加密分区打开请求req_ssopen;ssftpClient计算出哈希值hss=SM3(pwd_ss),将哈希值hss和req_ssopen一起发送给ssftpServer;ssftpServer会处理req_ssopen请求,在验证hss的合法性后,调用加密分区函数secptt_open(name_user,hss)打开该用户对应的加密分区,并使用该加密分区作为该通过认证用户的ftp根目录路径;secptt_open函数会请求TCM解密sskeyfile,才能打开加密分区。
8.遵循发明内容步骤3的子步骤d),在该用户对应的加密分区被打开后,ssftpServer根据FTP请求req_ftp完成相应的FTP操作处理(如显示、上传、下载或者修改等FTP功能),并产生FTP响应rsp_ftp;ssftpClient根据rsp_ftp判断FTP请求是否成功,并将结果呈现给用户。
9.遵循发明内容步骤3的子步骤e),在加密分区的FTP请求处理完成后,用户输入加密分区管理密码pwd_ss,发起加密分区关闭请求req_ssclose;ssftpClient计算出哈希值hss=SM3(pwd_ss),将哈希值hss和req_ssclose一起发送给ssftpServer;ssftpServer会处理req_ssclose请求,在验证hss的合法性后,调用加密分区函数secptt_close(name_user,hss)关闭该用户对应的加密分区,这样任何FTP请求无法再次访问该加密分区的数据,除非该用户再次发起登录、认证和安全存储请求;secptt_close函数会自动删除sskeyfile文件,只保留其加密版本sskeyfile.enc。
本发明另一实施例提供一种基于可信嵌入式设备与FTP的安全存储系统,其各个模块形成的架构如图1所示,具体包括:
基于普通PC的主机环境,部署有SM2、SM3密码算法和改造的FTP客户端ssftpClient,供用户使用安全存储功能;ssftpClient除了提供常见的客户端FTP功能(即向服务端发送显示、上传、下载、修改等请求)外,还增加了客户端认证子系统和客户端安全存储子系统;客户端认证子系统向服务端提供用户口令的哈希值,以及对所在主机环境的完整性状态签名值,以便通过服务端认证子系统的验证,客户端认证子系统还负责验证服务端的签名合法性和服务端完整性状态的可信性;客户端安全存储子系统提供用户加密分区对应的管理密码,可以打开或者关闭服务端该用户对应的加密分区;
基于TCM和树莓派的可信嵌入式设备,配备有TCM安全芯片和外置移动硬盘,部署有可信环境构建子系统,加密分区管理子系统和改造的FTP服务端ssftpServer;TCM安全芯片,负责为可信嵌入式设备提供信任根和密码功能;通过USB连接的外置移动硬盘,负责为安全存储系统提供存储空间;可信环境构建子系统,负责为可信嵌入式设备提供安全引导、TCM硬件驱动、可信软件栈和SM2、SM3、SM4密码算法功能;安全引导是指以TCM为信任根,在可信嵌入式设备启动过程中,确保启动的每个组件的完整性;TCM驱动和可信软件栈是TCM安全芯片的软件配套,为系统软件使用TCM可信功能提供命令接口;密码算法提供SM3哈希、SM4加解密、SM2签名验证等功能;加密分区管理子系统,负责使用cryptsetup工具将外置移动硬盘配置为加密分区,具体过程由加密分区初始化函数secptt_init、加密分区检查函数secptt_check、加密分区打开函数secptt_open和加密分区关闭函数secptt_close四个功能实现;ssftpServer,除了提供常见的服务端FTP功能(即处理客户端的显示、上传、下载、修改等请求)外,增加了服务端认证子系统和服务端安全存储子系统;服务端认证子系统实现对客户端的双重认证,即基于哈希值的口令认证以及基于完整性状态的远程证明认证,还可以对所在嵌入式设备系统环境的完整性状态进行签名,以便通过客户端认证子系统的验证;服务端安全存储子系统,负责对加密分区的打开和关闭进行安全管理,并将FTP服务端根路径与加密分区进行绑定。
上述各模块的具体实现方式参见上文对具体方法的说明。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (10)
1.一种基于可信嵌入式设备与FTP的安全存储方法,其步骤包括:
1)使用可信密码模块作为可信嵌入式设备的信任根,完成可信嵌入式设备上的系统可信引导,使得可信嵌入式设备具备可信计算环境;其中,所述可信嵌入式设备包括可信密码模块、FTP服务端和加密分区管理子系统;
2)将外置存储设备与所述可信嵌入式设备相连,使用加密分区管理子系统将外置存储设备初始化为加密分区,并将加密分区与一个随机生成的密钥文件sskeyfile关联,使用所述信任根将sskeyfile加密存储在所述可信嵌入式设备中;将FTP服务端的根目录与所述加密分区绑定;
3)将FTP客户端部署在主机环境上,所述主机环境使用所述FTP客户端向所述FTP服务端发送安全操作请求;所述FTP客户端与所述FTP服务端完成远程证明后,所述FTP服务端对所述FTP客户端进行加密分区访问授权,所述可信嵌入式设备使用所述FTP服务端对收到的安全操作请求进行响应。
2.根据权利要求1所述的方法,其特征在于,通过可信第三方为FTP服务端生成公私钥对(sk_ftps,pk_ftps),以及为合法用户i生成公私钥对(sk_ftpci,pk_ftpci);将FTP服务端的公私钥对(sk_ftps,pk_ftps)以及合法用户的公钥pk_ftpci存储在所述可信嵌入式设备上;将FTP服务端的公钥pk_ftps以及用户i对应的公私钥对(sk_ftpci,pk_ftpci)部署在所述主机环境上。
3.根据权利要求2所述的方法,其特征在于,所述FTP客户端与所述FTP服务端完成远程证明的方法为:用户i通过FTP客户端输入登录密码pwd_user,FTP客户端计算hash(pwd_user)作为用户凭证登录FTP服务端;FTP客户端使用用户i的私钥对环境完整性状态值进行签名,并将签名与完整性列表发送给FTP服务端,FTP服务端使用该用户i的公钥对收到的信息进行验证。
4.根据权利要求3所述的方法,其特征在于,所述可信嵌入式设备使用所述FTP服务端对收到的安全操作请求进行响应的方法为:
41)FTP客户端将用户输入的加密分区管理密码pwd_ss发送给FTP服务端,FTP服务端验证pwd_ss的合法性之后,使用可信密码模块解密获得密钥文件sskeyfile,然后使用密钥文件sskeyfile打开加密分区并将其挂载到FTP服务端对应的指定路径中;
42)用户i通过FTP客户端对所述加密分区中的数据进行远程操作;远程操作完成后,FTP客户端将用户输入的加密分区管理密码pwd_ss发送给FTP服务端,FTP服务端验证pwd_ss的合法性之后,解除FTP服务端指定路径的挂载,然后关闭所述加密分区并删除sskeyfile。
5.根据权利要求1所述的方法,其特征在于,所述可信嵌入式设备为具有网口、外置IO接口和可信密码模块的嵌入式设备;所述可信嵌入式设备启动时,通过内置安全启动固件,对所述可信嵌入式设备的嵌入式操作系统内核镜像进行度量并验证,以安全方式启动嵌入式操作系统内核和嵌入式系统应用程序,保证嵌入式设备内核以及系统应用的可信性。
6.根据权利要求1所述的方法,其特征在于,所述FTP客户端与所述FTP服务端完成远程证明为双向认证或单向认证;所述单向认证是指FTP客户端认证FTP服务端或者FTP服务端认证FTP客户端;所述双向认证是指FTP客户端与FTP服务端相互认证。
7.根据权利要求1所述的方法,其特征在于,所述FTP服务端中保存合法用户的验证数据,用于对访问用户进行远程认证;所述FTP服务端中设有认证接口,用于对FTP服务端所在设备的完整性状态进行签名,以及对FTP客户端提交的签名数据进行验证;所述FTP服务端中设有加密分区管理接口,用于验证加密分区管理密码pwd_ss后,打开加密分区;FTP客户端对用户输入的密码pwd_user进行哈希计算,将哈希值hash(pwd_user)作为所述验证数据发送给FTP服务端;FTP客户端中设置认证接口,用于对FTP客户端所在设备的完整性状态进行签名,以及对FTP服务端提交的签名数据进行验证;所述FTP客户端中设置加密分区管理接口,用于接收用户输入的加密分区管理密码。
8.根据权利要求1所述的方法,其特征在于,不同用户对应不同的加密分区与加密分区管理密码。
9.根据权利要求1所述的方法,其特征在于,步骤1)中,基于可信密码模块使用可信计算技术完成可信嵌入式设备上的系统可信引导,使得可信嵌入式设备具备可信计算环境。
10.一种基于可信嵌入式设备与FTP的安全存储系统,其特征在于,包括主机和可信嵌入式设备;其中,所述可信嵌入式设备包括可信密码模块、FTP服务端和加密分区管理子系统,所述主机上部署FTP客户端;
所述可信密码模块,用于为可信嵌入式设备提供信任根和密码功能;
所述可信嵌入式设备,用于与外置存储设备相连,使用加密分区管理子系统将外置存储设备初始化为加密分区,并将加密分区与一个随机生成的密钥文件sskeyfile关联,使用所述可信密码模块信任根将sskeyfile加密存储在所述可信嵌入式设备中;将FTP服务端的根目录与所述加密分区绑定;
将FTP客户端,用于向所述FTP服务端发送安全操作请求;所述FTP客户端与所述FTP服务端完成远程证明后,所述FTP服务端对所述FTP客户端进行加密分区访问授权,所述可信嵌入式设备使用所述FTP服务端对收到的安全操作请求进行响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492880.3A CN114840863B (zh) | 2022-05-07 | 2022-05-07 | 一种基于可信嵌入式设备与ftp的安全存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492880.3A CN114840863B (zh) | 2022-05-07 | 2022-05-07 | 一种基于可信嵌入式设备与ftp的安全存储方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840863A CN114840863A (zh) | 2022-08-02 |
CN114840863B true CN114840863B (zh) | 2024-09-10 |
Family
ID=82567907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492880.3A Active CN114840863B (zh) | 2022-05-07 | 2022-05-07 | 一种基于可信嵌入式设备与ftp的安全存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840863B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350044B (zh) * | 2008-09-02 | 2010-07-14 | 中国科学院软件研究所 | 一种虚拟环境信任构建方法 |
US8914634B2 (en) * | 2012-04-10 | 2014-12-16 | Western Digital Technologies, Inc. | Digital rights management system transfer of content and distribution |
CN104991526B (zh) * | 2015-05-04 | 2017-09-26 | 中国科学院软件研究所 | 工业控制系统安全支撑框架及其数据安全传输和存储方法 |
CN105162808B (zh) * | 2015-10-19 | 2019-09-06 | 成都卫士通信息产业股份有限公司 | 一种基于国密算法的安全登录方法 |
-
2022
- 2022-05-07 CN CN202210492880.3A patent/CN114840863B/zh active Active
Non-Patent Citations (2)
Title |
---|
Trusted Embedded Attestation Storage Scheme and System;Xiao Zhang 等;2023 3rd International Conference on Electronic Information Engineering and Computer Science (EIECS);20240121;第16-23页 * |
基于 DICE 的证明存储方案;王辉 等;计算机系统应用;20230714;第32卷(第9期);第53−66页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114840863A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190089527A1 (en) | System and method of enforcing a computer policy | |
JP4615601B2 (ja) | コンピュータセキュリティシステムおよびコンピュータセキュリティ方法 | |
EP2866166B1 (en) | Systems and methods for enforcing third party oversight data anonymization | |
JP6275653B2 (ja) | データ保護方法及びシステム | |
US11115208B2 (en) | Protecting sensitive information from an authorized device unlock | |
CN113545006A (zh) | 远程授权访问锁定的数据存储设备 | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
CN102271037A (zh) | 基于在线密钥的密钥保护装置 | |
KR102676616B1 (ko) | 생체인식 지불 디바이스를 인증하기 위한 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 | |
US11706022B1 (en) | Method for trusted data decryption based on privacy-preserving computation | |
CN113557689A (zh) | 用管理器设备初始化数据存储设备 | |
CN113378119B (zh) | 一种软件授权方法、装置、设备及存储介质 | |
US20140143896A1 (en) | Digital Certificate Based Theft Control for Computers | |
CN113545021A (zh) | 预先授权设备的注册 | |
US20200295950A1 (en) | System, method, and computer program product for sensitive data recovery in high security systems | |
CN114840863B (zh) | 一种基于可信嵌入式设备与ftp的安全存储方法和系统 | |
JP7431382B2 (ja) | 排他的自己エスクロー方法及び機器 | |
US11405201B2 (en) | Secure transfer of protected application storage keys with change of trusted computing base | |
CN108985079B (zh) | 数据验证方法和验证系统 | |
CN114091027A (zh) | 信息配置方法、数据访问方法及相关装置、设备 | |
CN106992976B (zh) | 网络安全管理方法及服务器 | |
CN117272346A (zh) | 一种磁盘数据访问方法、装置、设备及存储介质 | |
CN118921661A (zh) | 基于移动端tee的高安全性蓝牙数字钥匙存储管理方法 | |
CN118972839A (zh) | 用于生成安全密钥的方法、无线控制设备和介质 |
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 |