本发明涉及固态硬盘,特别是涉及一种基于固态硬盘的访问验证方法、装置、设备及介质。
背景技术:
1、随着信息技术的高速发展,固态硬盘为了适应技术的高速变化也随之高速发展。为了保护数据安全,需要对存储数据的固态硬盘进一步实现安全保护。固态硬盘中一般会设置有安全访问区域和非安全访问区域,其中,安全访问区域用于存储安全等级高的数据,非安全访问区域用于存储安全等级低的数据。
2、现有的数据安全存储方式是在操作系统层面的应用软件上实现数据安全访问和记录,但这依赖于主机环境,对于便携式可移动多用户共享的固态硬盘,可能会在多个主机上使用,此时无法记录访问固态硬盘的用户,造成不便。目前也有实现在固态硬盘上按照设定的安全等级对安全访问区域和非安全访问区域进行访问,其中,不同的用户对应的安全级别不同,所能访问固态硬盘的存储区域也不同,但均是验证通过后就可以读写存储区域,没有对访问固态硬盘的用户进行记录,此时对于一些特殊场景下,如果多个用户在之前访问过同一块固态硬盘的安全存储区域,当出现问题时无法追责。
3、鉴于上述存在的问题,寻求一种能够对访问固态硬盘的用户进行记录的验证方法是本领域技术人员竭力解决的问题。
技术实现思路
1、本发明的目的是提供一种基于固态硬盘的访问验证方法、装置、设备及介质,用于解决访问验证后没有对访问固态硬盘的用户进行记录,当出现问题时无法追责的问题。
2、为解决上述技术问题,本发明提供一种基于固态硬盘的访问验证方法,方法包括:
3、用户端获取并发送用户签名证书至固态硬盘;
4、固态硬盘对用户签名证书中的用户签名进行验证;
5、在确定用户签名通过验证时,用户端发送表征访问固态硬盘的预设的安全存储区域的访问请求至固态硬盘;
6、服务端发送传输请求,以便于服务端根据传输请求传输固态硬盘签名证书至固态硬盘;
7、用户端根据访问请求访问固态硬盘,以便于固态硬盘在响应访问请求后,通过服务端传输的固态硬盘签名证书和用户签名证书对固态硬盘中的数据进行加解密。
8、另一方面,在用户端获取并发送用户签名证书至固态硬盘之前,还包括:
9、判断固态硬盘是否为首次使用;
10、若否,则进入获取并发送用户签名证书至固态硬盘的步骤;
11、若是,则向服务端发送表征生成管理公钥和管理私钥的生成公私钥对请求,以便于服务端响应生成公私钥对请求后,传输管理公钥至固态硬盘,并接收固态硬盘生成的固态硬盘公钥和固态硬盘私钥;
12、向固态硬盘发送表征获取信息的获取请求,以便于固态硬盘响应获取请求后,根据固态硬盘的基本信息和固态硬盘公钥生成并传输第一序列至服务端;
13、向服务端发送表征对第一序列签名的第一签名请求,以便于服务端响应第一签名请求后,调用管理公钥对第一序列进行签名,并得到固态硬盘签名;
14、向服务端发送表征生成固态硬盘签名证书的第一生成签名证书请求,以便于服务端响应第一生成签名证书请求后,根据第一序列和固态硬盘签名生成固态硬盘签名证书。
15、另一方面,在用户端获取并发送用户签名证书至固态硬盘之前,还包括:
16、生成用户公钥和用户私钥并传输用户公钥至固态硬盘;
17、通过固态硬盘获取的用户的基本信息和用户公钥生成第二序列;
18、向固态硬盘发送表征对第二序列进行签名的第二签名请求,以便于固态硬盘响应第二签名请求后,控制固态硬盘根据管理私钥对第二序列进行签名,得到用户签名;
19、向固态硬盘发送表征生成用户签名证书的第二生成签名证书请求,以便于固态硬盘响应第二生成签名证书请求后,根据第二序列和用户签名生成用户签名证书。
20、另一方面,固态硬盘对用户签名证书中的用户签名进行验证包括:
21、固态硬盘判断第二序列中的用户的基本信息是否正确;
22、若否,则结束;
23、若是,则固态硬盘接收表征对用户签名进行验证的用户验证请求,以便于固态硬盘响应用户验证请求后,根据管理公钥对用户签名进行验证;
24、对应地,在确定用户签名通过验证时,用户端发送表征访问固态硬盘的预设的安全存储区域的访问请求至固态硬盘包括:
25、用户端设置表征用户签名通过验证的验证标识;以便于固态硬盘根据验证标识响应访问请求。
26、另一方面,用户端根据访问请求访问固态硬盘,以便于固态硬盘在响应访问请求后,通过服务端传输的固态硬盘签名证书和用户签名证书对固态硬盘中的数据进行加解密包括:
27、根据访问请求控制固态硬盘生成对称秘钥;
28、通过固态硬盘获取的用户签名证书中的用户公钥对对称秘钥加密;
29、通过固态硬盘私钥控制固态硬盘对加密后的对称秘钥进行签名,得到对称秘钥签名;
30、通过加密后的对称秘钥、对称秘钥签名、固态硬盘签名证书在固态硬盘中生成第三序列;
31、从固态硬盘获取第三序列,并验证固态硬盘的基本信息是否正确;
32、若否,则结束;
33、若是,则获取管理公钥对固态硬盘签名进行验证;
34、当固态硬盘签名验证成功时,通过固态硬盘获取固态硬盘公钥验证对称秘钥签名;
35、当对称秘钥签名验证成功时,利用用户私钥对加密后的对称私钥进行解密。
36、另一方面,当对固态硬盘进行读数据访问时,用户端根据访问请求访问固态硬盘包括:
37、获取目标访问存储区的起始地址、目标访问存储区的结束地址、当前时间;
38、根据起始地址、结束地址、当前时间生成第四序列;
39、利用用户私钥对第四序列进行签名,得到读数据访问签名;
40、根据第四序列和读数据访问签名生成第五序列,并传输第五序列至固态硬盘;
41、利用用户公钥验证读数据访问签名;
42、当读数据访问签名验证成功时,根据目标访问存储区的起始地址和目标访问存储区的结束地址在固态硬盘中读取数据;
43、对应的,在根据目标访问存储区的起始地址和目标访问存储区的结束地址在固态硬盘中读取数据之后,还包括:
44、控制固态硬盘利用对称秘钥对读取到的数据加密,以便于获取加密后的数据;
45、获取固态硬盘进行读数据访问的读命令码;
46、根据读命令码、用户签名证书、第五序列在固态硬盘中生成第六序列;
47、传输第六序列至固态硬盘,以便于将第六序列存储至固态硬盘。
48、另一方面,当对固态硬盘进行写数据访问时,用户端根据访问请求访问固态硬盘包括:
49、获取写入固态硬盘的数据、目标写入存储区的起始地址、目标写入存储区的结束地址、当前时间;
50、对数据进行哈希运算,确定数据对应的哈希值;
51、根据目标写入存储区的起始地址、目标写入存储区的结束地址、当前时间、哈希值生成第七序列;
52、利用用户私钥对第七序列进行签名,得到写数据访问签名;
53、获取固态硬盘的对称秘钥对写入固态硬盘的数据加密;
54、根据加密后的数据、写数据访问签名、第七序列生成第八序列,并传输第八序列至固态硬盘;
55、固态硬盘利用用户公钥验证写数据访问签名;
56、当写数据访问签名验证成功时,固态硬盘使用对称秘钥对写入固态硬盘的数据解密;
57、对解密后的数据进行哈希运算,确定解密后的数据对应的解密哈希值;
58、判断解密哈希值与哈希值是否一致;
59、若不一致,则结束;
60、若一致,则将数据写入目标写入存储区;
61、对应地,在将数据写入目标写入存储区之后,还包括:
62、获取固态硬盘进行写数据访问的写命令码;
63、根据写命令码、用户签名证书、写数据访问签名、第七序列在固态硬盘中生成第九序列;
64、传输第九序列至固态硬盘,以便于将第九序列存储至固态硬盘
65、另一方面,固态硬盘对用户签名证书中的用户签名进行验证包括:
66、固态硬盘接收用户端发送的用户签名证书;
67、对用户签名证书中的用户签名进行验证;
68、对应的,在固态硬盘对用户签名证书中的用户签名进行验证之后,还包括:
69、在确定用户签名通过验证时,固态硬盘接收表征访问固态硬盘的安全存储区域的访问请求;
70、固态硬盘接收固态硬盘签名证书,其中,固态硬盘签名证书为服务端响应用户端的传输请求得到的固态硬盘签名证书;
71、固态硬盘响应访问请求,以便于通过固态硬盘签名证书和用户签名证书进行数据加解密。
72、为解决上述技术问题,本发明还提供了一种基于固态硬盘的访问验证装置,包括:
73、第一获取模块,用于用户端获取并发送用户签名证书至固态硬盘;
74、第一验证模块,用于固态硬盘对用户签名证书中的用户签名进行验证;
75、第一发送模块,用于在确定用户签名通过验证时,用户端发送表征访问固态硬盘的预设的安全存储区域的访问请求至固态硬盘;
76、第二发送模块,用于服务端发送传输请求,以便于服务端根据传输请求传输固态硬盘签名证书至固态硬盘;
77、访问模块,用于用户端根据访问请求访问固态硬盘,以便于固态硬盘在响应访问请求后,通过服务端传输的固态硬盘签名证书和用户签名证书对固态硬盘中的数据进行加解密。
78、该装置还包括以下模块:
79、另一方面,在用户端获取并发送用户签名证书至固态硬盘之前,还包括:
80、第一判断模块,用于判断固态硬盘是否为首次使用;
81、若否,则进入获取并发送用户签名证书至固态硬盘的步骤;
82、若是,则触发第三发送模块,用于向服务端发送表征生成管理公钥和管理私钥的生成公私钥对请求,以便于服务端响应生成公私钥对请求后,传输管理公钥至固态硬盘,并接收固态硬盘生成的固态硬盘公钥和固态硬盘私钥;
83、第四发送模块,用于向固态硬盘发送表征获取信息的获取请求,以便于固态硬盘响应获取请求后,根据固态硬盘的基本信息和固态硬盘公钥生成并传输第一序列至服务端;
84、第五发送模块,用于向服务端发送表征对第一序列签名的第一签名请求,以便于服务端响应第一签名请求后,调用管理公钥对第一序列进行签名,并得到固态硬盘签名;
85、第六发送模块,用于向服务端发送表征生成固态硬盘签名证书的第一生成签名证书请求,以便于服务端响应第一生成签名证书请求后,根据第一序列和固态硬盘签名生成固态硬盘签名证书。
86、另一方面,在用户端获取并发送用户签名证书至固态硬盘之前,还包括:
87、第一生成模块,用于生成用户公钥和用户私钥并传输用户公钥至固态硬盘;
88、第二生成模块,用于通过固态硬盘获取的用户的基本信息和用户公钥生成第二序列;
89、第七发送模块,用于向固态硬盘发送表征对第二序列进行签名的第二签名请求,以便于固态硬盘响应第二签名请求后,控制固态硬盘根据管理私钥对第二序列进行签名,得到用户签名;
90、第八发送模块,用于向固态硬盘发送表征生成用户签名证书的第二生成签名证书请求,以便于固态硬盘响应第二生成签名证书请求后,根据第二序列和用户签名生成用户签名证书。
91、另一方面,固态硬盘对用户签名证书中的用户签名进行验证包括:
92、第二判断模块,用于固态硬盘判断第二序列中的用户的基本信息是否正确;
93、若否,则结束;
94、若是,则触发第九发送模块,用于固态硬盘发送表征对用户签名进行验证的用户验证请求,以便于固态硬盘响应用户验证请求后,根据管理公钥对用户签名进行验证;
95、对应地,在确定用户签名通过验证时,用户端发送表征访问固态硬盘的预设的安全存储区域的访问请求至固态硬盘包括:
96、设置模块,用于用户端设置表征用户签名通过验证的验证标识;以便于固态硬盘根据验证标识响应访问请求。
97、另一方面,用户端根据访问请求访问固态硬盘,以便于固态硬盘在响应访问请求后,通过服务端传输的固态硬盘签名证书和用户签名证书对固态硬盘中的数据进行加解密包括:
98、生成对称秘钥模块,用于根据访问请求控制固态硬盘生成对称秘钥;
99、第二获取模块,用于通过固态硬盘获取的用户签名证书中的用户公钥对对称秘钥加密;
100、对称秘钥签名模块,用于通过固态硬盘私钥控制固态硬盘对加密后的对称秘钥进行签名,得到对称秘钥签名;
101、第三生成模块,用于通过加密后的对称秘钥、对称秘钥签名、固态硬盘签名证书在固态硬盘中生成第三序列;
102、第三获取模块,用于从固态硬盘获取第三序列,并验证固态硬盘的基本信息是否正确;
103、若否,则结束;
104、若是,则触发第四获取模块,用于获取管理公钥对固态硬盘签名进行验证;
105、第二验证模块,用于当固态硬盘签名验证成功时,通过固态硬盘获取固态硬盘公钥验证对称秘钥签名;
106、解密模块,用于当对称秘钥签名验证成功时,利用用户私钥对加密后的对称私钥进行解密。
107、另一方面,当对固态硬盘进行读数据访问时,用户端根据访问请求访问固态硬盘包括:
108、第五获取模块,用于获取目标访问存储区的起始地址、目标访问存储区的结束地址、当前时间;
109、第四生成模块,用于根据起始地址、结束地址、当前时间生成第四序列;
110、第一签名模块,用于利用用户私钥对第四序列进行签名,得到读数据访问签名;
111、第五生成模块,用于根据第四序列和读数据访问签名生成第五序列,并传输第五序列至固态硬盘;
112、验证读数据访问签名模块,用于利用用户公钥验证读数据访问签名;
113、读数据模块,用于当读数据访问签名验证成功时,根据目标访问存储区的起始地址和目标访问存储区的结束地址在固态硬盘中读取数据;
114、对应的,在根据目标访问存储区的起始地址和目标访问存储区的结束地址在固态硬盘中读取数据之后,还包括:
115、读数据加密模块,用于固态硬盘利用对称秘钥对读取到的数据加密,以便于获取加密后的数据;
116、第六获取模块,用于获取固态硬盘进行读数据访问的读命令码;
117、第六生成模块,用于根据读命令码、用户签名证书、第五序列在固态硬盘中生成第六序列;
118、第一存储模块,用于传输第六序列至固态硬盘,以便于将第六序列存储至固态硬盘。
119、另一方面,当对固态硬盘进行写数据访问时,用户端根据访问请求访问固态硬盘包括:
120、第七获取模块,用于获取写入固态硬盘的数据、目标写入存储区的起始地址、目标写入存储区的结束地址、当前时间;
121、第一哈希运算模块,用于对数据进行哈希运算,确定数据对应的哈希值;
122、第七生成模块,用于根据目标写入存储区的起始地址、目标写入存储区的结束地址、当前时间、哈希值生成第七序列;
123、第二签名模块,用于利用用户私钥对第七序列进行签名,得到写数据访问签名;
124、第八获取模块,用于获取固态硬盘的对称秘钥对写入固态硬盘的数据加密;
125、第八生成模块,用于根据加密后的数据、写数据访问签名、第七序列生成第八序列,并传输第八序列至固态硬盘;
126、验证写数据签名模块,用于控制固态硬盘利用用户公钥验证写数据访问签名;
127、写数据解密模块,用于当写数据访问签名验证成功时,控制固态硬盘使用对称秘钥对写入固态硬盘的数据解密;
128、第二哈希运算模块,用于对解密后的数据进行哈希运算,确定解密后的数据对应的解密哈希值;
129、第三判断模块,用于判断解密哈希值与哈希值是否一致;
130、若不一致,则结束;
131、对应地,在将数据写入目标写入存储区之后,还包括:
132、若一致,则触发写数据模块,用于将数据写入目标写入存储区;
133、第九获取模块,用于获取固态硬盘进行写数据访问的写命令码;
134、第九生成模块,用于根据写命令码、用户签名证书、写数据访问签名、第七序列在固态硬盘中生成第九序列;
135、第二存储模块,用于传输第九序列至固态硬盘,以便于将第九序列存储至固态硬盘。
136、另一方面,固态硬盘对用户签名证书中的用户签名进行验证包括:
137、第一接收模块,用于固态硬盘接收用户端发送的用户签名证书;
138、第三验证模块,用于对用户签名证书中的用户签名进行验证;
139、对应的,在固态硬盘对用户签名证书中的用户签名进行验证之后,还包括:
140、第二接收模块,用于在确定用户签名通过验证时,固态硬盘接收表征访问固态硬盘的安全存储区域的访问请求;
141、第三接收模块,用于固态硬盘接收固态硬盘签名证书,其中,固态硬盘签名证书为服务端响应用户端的传输请求得到的固态硬盘签名证书;
142、响应模块,用于固态硬盘响应访问请求,以便于通过固态硬盘签名证书和用户签名证书进行数据加解密。
143、为解决上述技术问题,本发明还提供了一种基于固态硬盘的访问验证设备,包括:
144、存储器,用于存储计算机程序;
145、处理器,用于指向计算机程序,实现基于固态硬盘的访问验证方法的步骤。
146、为解决上述技术问题,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述全部基于固态硬盘的访问验证方法的步骤。
147、本发明所提供的一种基于固态硬盘的访问验证方法包括:用户端获取并发送用户签名证书至固态硬盘;固态硬盘对用户签名证书中的用户签名进行验证;在确定用户签名通过验证时,用户端发送表征访问固态硬盘的预设的安全存储区域的访问请求至固态硬盘;服务端发送传输请求,以便于服务端根据传输请求传输固态硬盘签名证书至固态硬盘;根据访问请求访问固态硬盘,以便于固态硬盘在响应访问请求后,通过服务端传输的固态硬盘签名证书和用户签名证书对固态硬盘中的数据进行加解密。由于引入用户签名证书,此时通过用户签名证书能够记录在访问固态硬盘的过程中,对固态硬盘进行访问的用户的签名,以便于根据签名,在出现非法执行的操作的情况下,找到该非法执行的操作所属的用户,进行追责;另外,使用固态硬盘签名证书和用户签名证书能够实现对固态硬盘中的数据的加解密,由此能够保证固态硬盘中的数据的安全性。
148、本发明还提供了一种基于固态硬盘的访问验证装置、设备及介质,效果同上。