CN110190962B - 一种防泄露的文件安全共享方法 - Google Patents

一种防泄露的文件安全共享方法 Download PDF

Info

Publication number
CN110190962B
CN110190962B CN201910294184.XA CN201910294184A CN110190962B CN 110190962 B CN110190962 B CN 110190962B CN 201910294184 A CN201910294184 A CN 201910294184A CN 110190962 B CN110190962 B CN 110190962B
Authority
CN
China
Prior art keywords
file
browsing record
encrypted
key
browsing
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
Application number
CN201910294184.XA
Other languages
English (en)
Other versions
CN110190962A (zh
Inventor
张笑尘
吕秋云
陈中渊
郑涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910294184.XA priority Critical patent/CN110190962B/zh
Publication of CN110190962A publication Critical patent/CN110190962A/zh
Application granted granted Critical
Publication of CN110190962B publication Critical patent/CN110190962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开了一种防泄露的文件安全共享方法。本发明使用SM4和SM2算法来分别实现文件加密和文件密钥安全传递。在加密文件的算法选择上,对称加密更加高效,因此选用SM4作为文件主体的加密算法。再选用SM2算法将文件加密的密钥进行加密并传输。同时实现了密钥分发后的文件权限管理。除此之外,利用SM3算法生成的摘要和SM2签名来保证文件及浏览记录不被篡改。本发明创新将浏览记录和文件融合在一起,一定程度上提高了文件传输和解密花销,但是有助于生成全系统组成部分公认的文件浏览记录。

Description

一种防泄露的文件安全共享方法
技术领域
本发明涉及密码应用的技术领域,具体为一种防泄露的文件安全共享方法。
技术背景
随着互联网技术的飞速发展,网络技术越来越普及,使得网络上出现了很多不法分子利用技术性手段修改或窃取未加密的或者简单加密的文件,对个人隐私、企业运作、社交活动产生了严重影响。尤其在企业环境下,有极高的文件可读不可传的需求。但是在已有的软件和系统环境下,目前的文件分享方案有以下几个问题。
(一)难以兼顾文件安全传输速度和文件共享的安全性。大部分文件加密方案均需要复杂的加解密行为,使得文件传输效率大大降低,不能很好的体现信息共享的即时性。
(二)着重于文件传输的安全性,却难以保证文件不被私传。电子机密文件的泄露也会体现在有资历共享者的私自分享。
发明内容
本发明的目的是针对现有技术的不足,提供一种防泄露的文件安全共享方法。
本发明解决其技术问题所采用的技术方案如下:
本系统使用SM4和SM2算法来分别实现文件加密和文件密钥安全传递。在加密文件的算法选择上,对称加密更加高效,因此选用 SM4作为文件主体的加密算法。再选用SM2算法将文件加密的密钥进行加密并传输。同时实现了密钥分发后的文件权限管理。除此之外,利用SM3算法生成的摘要和SM2算法生成的签名来保证文件及浏览记录不被篡改。本发明创新的将浏览记录和文件融合在一起,一定程度上提高了文件传输和解密花销,但是有助于生成全系统组成部分公认的文件浏览记录。SM3摘要算法用于对文件和浏览记录摘要。浏览记录摘要作为下一块浏览记录的初始部分,来实现每一块浏览记录和文件之间都有联系,无法被简单修改。SM2签名算法用于对最后一块浏览记录进行签名并公布于系统中。由于此次签名使用的是唯一的身份密钥对中的身份私钥,因此保证了浏览记录无法被其他人伪造。同时身份密钥对还可用于身份确认。在系统方面,限制加密后的文件在不使用软件系统的情况下不能有效解密文件,限制复制和直接提取加密后文件。
本发明提供的一种防泄露的文件安全共享方法包括服务器端对文件加密流程以及客户端解密流程;
其中服务器端对文件加密流程实现如下:
在文件发布方上传原始文件后,服务器端对接收的原始文件进行记录,获取文件建立信息,然后对原始文件进行加密,具体如下:
⑴将原始文件进行SM4对称加密,得到加密文件;
⑵求出加密文件的大小,用一串30bit的二进制串来表示加密文件的大小;
⑶SM4加密密钥用服务器生成的文件密钥对中的公钥进行SM2非对称加密,获取加密后的SM4密钥;文件密钥对中的公钥将由服务器端保留,私钥颁发给文件发布方并由其自行分发;
⑷SM2非对称加密过后,将表示加密文件的大小的二进制串、加密后的SM4密钥和加密文件拼接在一起,成为新的文件I;
⑸进行浏览记录初始块的建立:将新的文件I进行SM3摘要,获取摘要值I;将这段摘要值与文件建立信息拼合在一起,组成第一个浏览记录块,将此浏览记录块附在新的文件I后面;
⑹将初始浏览记录块进行SM3摘要,获取其摘要值II,大小为 256bit,并将摘要值II附在浏览记录块之后,得到最终公布的加密文件II,其中摘要值II供文件解密方验证。
客户端解密流程具体实现如下:
⑴客户端中的文件解密方向服务器请求得到最新的加密文件,并将其按照固定格式分解成四部分:加密文件大小的二进制串、非对称加密后的SM4密钥、加密文件和浏览记录组成的浏览记录链;
⑵在分解出四部分之后,对最新加密文件在解密过程中进行文件正确性验证,且第一次解密文件和第二次及第二次之后解密文件中中文件正确性验证的流程不同。
表示加密文件大小的二进制串、非对称加密后的SM4密钥的大小固定,分别为30bit与256bit;之后的文件大小由二进制串确定,按照固定大小分割后,剩下的部分为浏览记录链;浏览记录链中的每一块浏览记录块大小固定;如果浏览记录链的分割错误,或分割获取的浏览记录块中拆分的摘要值I、文件建立信息识别失败,则将自动删除缓存的加密文件,重新请求文件;如多次请求均失败,将通知服务器使其检查最新的加密文件是否出错。
第一次解密过程中文件正确性验证如下:
将拆分得到的SM3摘要值II与最后一块浏览记录块的摘要值进行比对,如果符合,开始记录新的浏览记录,记录成功后能够解密并访问加密文件;如果不符合,将自动删除缓存的加密文件,重新请求最新加密文件,如多次重新请求最新加密文件均失败,将通知服务器使其检查最新加密文件是否出错。
第二次及之后的解密过程中文件正确性验证如下:
向服务器请求上一位文件解密方的浏览记录的SM2签名,再将已经请求到的最新加密文件的最后一块浏览记录块的SM3摘要值II进行SM2签名,本次SM2签名用到的密钥对,是上一文件解密方的身份密钥对,由本次文件解密方通过浏览记录的身份标识向服务器的身份公钥数据库请求得到;将得到的SM2签名II与浏览记录的SM2签名进行比对,如果比对成功,本次文件解密方请求进行浏览记录更新,且如果浏览记录更新成功,则能够解密并访问加密文件;如多次请求进行浏览记录更新均失败,将通知服务器使其检查最新加密文件是否出错;服务器端将审查当前文件解密方资格并判断是否列入黑名单;
在浏览记录更新成功后,文件解密方则能够解密并访问加密文件;文件解密方输入文件上传者分发的文件加密密钥对中的私钥,解密得SM4密钥;再利用SM4密钥解密加密文件,至此文件解密方可以浏览原始文件,但是不能复制和获取原始文件;
所述的浏览记录中记录的信息包括浏览时间、身份标识、ip地址/MAC地址和浏览记录块编号;每个浏览记录块长110字节,包括 32字节的上一浏览记录块的摘要信息。
文件解密方在验证上一块浏览记录完整且正确后,开始写入本次浏览记录,在没有更新完浏览记录前,无法解密文件;
获取当前文件解密方信息,以规定的格式记录,将其和前一浏览记录块的摘要信息拼接,成为新一块浏览记录块;接下来对此浏览记录块做摘要,并获取当前文件解密方的身份私钥;用此身份私钥对摘要进行SM2签名,以防止系统外攻击任意写入浏览记录块;签名完成后,文件解密方记录并发送最新浏览记录块和签名给服务器。
服务器收到文件解密方记录并发送的最新浏览记录块和签名后,在身份公钥数据库中获取当前文件解密方对应身份的公钥,对发送来的签名和浏览记录块进行验证;
如果验证相等,则更新服务器端最新加密文件的浏览记录链,等同于更新服务器端的最新加密文件,更新成功后发送成功回执给文件解密方,文件解密方因此可以正确解密;
如果验证不等,则驳回文件解密方更新浏览记录的请求,文件解密方收到驳回请求后立即销毁本地缓存文件;如若此文件解密方多次请求失败,则服务器端重新审查文件解密方资格。
最新浏览记录块摘要的SM2签名都在服务器端存储及广播。
本发明可设置文件解密方最长可浏览时间,到达时间后自动关闭,需重新请求文件;且在浏览结束关闭客户端时,也会做一次浏览记录;类型为关闭文件的浏览记录。
本发明有益效果如下:
对于文件发布方:
(一)方便快捷的文件上传
(二)自定义可浏览文件群体
(三)文件分享的有效时间
(四)查阅文件浏览记录、追查文件泄露源
(五)删除分享文件
对于文件服务器端:
(一)安全加密和存储文件及对应浏览记录
(二)文件系统成员身份密钥的存储及管理
(三)身份审查和管理
(四)审查并更新加密文件浏览记录
对于文件解密方:
(一)申请权限内文件
(二)解密并阅览文件
(三)不可伪造文件浏览记录和文件请求记录
文件安全共享在保证安全的同时有足够高的时间效率。本发明中 SM4算法采取多块并发加密方式,对于较大的文件大幅缩减了加密时间,平均速度约10Mb/s,解密速度约为12Mb/s。SM2算法在本发明中的处理时间均为毫秒级。在文件SM3算法摘要时,提取文件特征而非整体摘要,来解决SM3为分段线性处理,摘要时间难以缩减的问题,做到在本软件中的所有使用部分处理时间均为百毫秒级。(以上所有数据处理环境为CPU:
Figure BDA0002025940670000051
CoreTM i5-7200U CPU@2.50GHz, RAM:8GB,system:win10x64,Python v3.6)
附图说明
图1系统组成;
图2加密后文件组成方式;
图3 SM2身份密钥对处理与分发流程(服务器端);
图4 SM2文件密钥对生成流程(服务器端);
图5文件加密流程(服务器端);
图6第一次解密文件流程(客户端);
图7第二次及之后解密流程(客户端);
图8浏览记录链格式;
图9更新浏览记录流程(客户端);
图10处理浏览记录请求流程(服务器端);
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
为了做到分布工作给所有组成部分和保证安全性,首先确定对于每个分享的文件,实现过程中涉及文件发布方、加密文件、服务器端和文件解密方4个组成部分,如图1所示:其中文件发布方,即想要共享文件的人;加密文件,当前正在分享的文件;服务器端,即中央服务器,管理文件和所有参与者身份;文件解密方,即文件获取方,有资质访问此文件的人。
文件发布方只需要将文件上传到服务器端,并获取服务器端返回的文件解密密钥以分发给有资质的人。或委托服务器端分发。值得注意的是,在系统中,文件发布方与文件解密方的身份是随时可以互换的。这取决于请求的文件所属。为了使所有系统中有资质的组成部分均能对文件进行处理操作,需要规定一种特定的约定的文件格式和文件组成方式,保证其包含密钥信息可以被软件识别和分解,如图2。服务器端软件和用户端软件将根据此格式和组成方式分解或组成各小部分,进行验证、解密或增加等工作。
每一个系统中的参与者都在此系统中有一个身份密钥,这个密钥基于SM2非对称算法,由服务器生成,本质为SM2密钥对,身份密钥生成流程如图3。
在系统初始,有资格参与此系统的客户端和之后新加入的客户端都会上报自己的客户端信息给服务器,服务器生成SM2密钥对,将私钥发给各客户端,不保留副本。并将公钥和身份信息链接存入数据库中。此密钥对作为身份公私钥对存在于系统中。是各客户端权威身份信息,同时也是追责机制的关键保证。比如:只有有资质的人拥有身份私钥,因此服务器对于此有资质的人根据身份私钥的签名,可以查找到一个公钥进行验证,只有能够验证,才能确保这个人的资质正常。只要能够保持身份私钥的私密性,其身份信息就唯一。在不小心泄露后,用户也可以立即“挂失”,并通过验证获取新的身份密钥。服务器端接收到文件分享者的文件后,开始针对此文件生成文件加密钥对,这个密钥对也是基于SM2算法生成的,用于后续的文件加密密钥管理,文件密钥对生成流程如图4。
本发明具体实现过程如下:
服务器端对文件加密的实现:
在文件发布方上传原始文件后,服务器端对接收的原始文件进行记录,获取文件建立信息,然后对原始文件进行加密,具体如下:
⑴将原始文件进行SM4对称加密,得到加密文件;
⑵求出加密文件的大小,单位为bit。用一串30bit的二进制串来表示加密文件的大小,即加密文件最大为10MB。这在绝大多数实际应用场景中,不管是对图片、文档、还是演示文稿,都是充足的。
⑶为方便文件和密钥的传输,将SM4加密密钥用服务器生成的文件密钥对中的公钥进行SM2非对称加密,获取加密后的SM4密钥;文件密钥对中的公钥将由服务器端保留,私钥颁发给文件发布方并由其自行分发。
⑷SM2非对称加密过后,将表示加密文件的大小的二进制串、加密后的SM4密钥和加密文件拼接在一起,成为新的文件I。
⑸进行浏览记录初始块的建立:将新的文件I进行SM3摘要,获取摘要值I;将这段摘要值与文件建立信息拼合在一起,组成第一个浏览记录块,将此浏览记录块附在新的文件I后面。
⑹将初始浏览记录块进行SM3摘要,获取其摘要值II,大小为 256bit,并将摘要值II附在浏览记录块之后,得到最终公布的加密文件II,其中摘要值II供文件解密方验证。
详细流程图见图5。
所述的最终公布的加密文件II包括加密文件、表示加密文件大小的二进制串、加密后的SM4密钥、摘要值I、文件建立信息和摘要值II。
所述的服务器端还担当起广播者的作用,即最新浏览记录块的 SM2签名都在服务器端存储及广播。有资质并且想要查看最新加密文件的文件解密方,将在服务器端查询目标文件并请求。服务器检查文件解密方身份过后,以特定的协议发送最新加密文件给文件解密方。文件解密方获取最新加密文件后开始解密流程,值得注意的是,第一次解密文件和第二次及第二次之后解密文件的流程略有区别,这与文件格式和服务器端工作有关。
客户端解密流程:解密为加密的逆过程,具体实现如下:
⑴客户端中的文件解密方向服务器请求得到最新的加密文件,将其按照固定格式分解成四部分:表示加密文件大小的二进制串、非对称加密后的SM4密钥、加密文件和浏览记录组成的浏览记录链。
其中,表示加密文件大小的二进制串、非对称加密后的SM4密钥的大小固定,分别为30bit与256bit;这之后的文件大小由二进制串确定,按照固定大小分割后,剩下的部分为浏览记录链。浏览记录链中的每一块浏览记录块大小固定。如果浏览记录链的分割错误,或分割获取的浏览记录块中拆分的摘要值I、文件建立信息识别失败,则将自动删除缓存的加密文件,重新请求文件;如多次请求均失败,将通知服务器使其检查最新的加密文件是否出错。
⑵在分解出四部分之后,首先对最新加密文件进行文件正确性验证。
第一次解密过程中文件正确性验证如下:
将拆分得到的SM3摘要值II与最后一块浏览记录块的摘要值进行比对,如果符合,开始记录新的浏览记录,记录成功后能够解密并访问加密文件;如果不符合,将自动删除缓存的加密文件,重新请求最新加密文件,如多次重新请求最新加密文件均失败,将通知服务器使其检查最新加密文件是否出错。第一次解密流程图见图6。
第二次及之后的解密过程中文件正确性验证如下:
向服务器请求上一位文件解密方的浏览记录的SM2签名,再将已经请求到的最新加密文件的最后一块浏览记录块的SM3摘要值II进行SM2签名,本次SM2签名用到的密钥对,是上一文件解密方的身份密钥对,由本次文件解密方通过浏览记录的身份标识向服务器的身份公钥数据库请求得到;将得到的SM2签名II与浏览记录的SM2签名进行比对,如果比对成功,本次文件解密方请求进行浏览记录更新,且如果浏览记录更新成功,则能够解密并访问加密文件;如多次请求进行浏览记录更新均失败,将通知服务器使其检查最新加密文件是否出错。服务器端将审查当前文件解密方资格并判断是否列入黑名单。
在浏览记录更新成功后,文件解密方则能够解密并访问加密文件。文件解密方输入文件上传者分发的文件加密密钥对中的私钥,解密得 SM4密钥;再利用SM4密钥解密加密文件,至此文件解密方可以浏览原始文件,但是不能复制和获取原始文件。第二次及之后的解密流程图见图。
浏览记录是另一保证文件没有篡改的机制,同时它更大的作用是在文件泄露后能够较为准确的指向责任人。可以改变现有分享机制难以确定责任人的问题。生成浏览记录时,由于工作交给了客户端,因此保证浏览记录不能被篡改是重中之重。本发明用SM3摘要使后一块的摘要与前一块的摘要息息相关。来实现块与块之间的“连接”,形成一条浏览记录链。
浏览记录包括浏览时间、身份标识、ip地址/MAC地址和浏览记录块编号;每个浏览记录块长110字节,包括32字节的上一浏览记录块的摘要信息。浏览记录及浏览记录链的示意图见图8。这种连接方式虽然能保证浏览记录之间紧密的联系,却并不能保证其不被篡改,主要原因是伪造信息不具备算力要求。而导致如此的主要原因便是最后一块浏览记录的信息不能保证不可更改因而篡改者只需要修改整条链便能做到篡改和伪造。因而对最后一块浏览记录块,本发明使用了SM2签名并广播的方式,利用每个文件解密方SM2密钥对唯一且私钥保密的特点,实现了每用户对于最后一块浏览记录都能验证其正确性。在51%好人原则的前提下,可以完全实现浏览记录链的特定块不可篡改。且每一个浏览记录块只对应唯一用户。最后配合服务器便能有效保证浏览记录全链不得篡改,文件解密方请求浏览记录更新流程见图9,服务器端处理浏览记录更新请求流程见图10。
文件解密方在验证上一块浏览记录完整且正确后,开始写入本次浏览记录,在没有更新完浏览记录前,无法解密文件。
获取当前文件解密方信息,以规定的格式记录,将其和前一浏览记录块的摘要信息拼接,成为新一块浏览记录块。接下来对此浏览记录块做摘要,并获取当前文件解密方的身份私钥。用此身份私钥对摘要进行SM2签名,以防止系统外攻击任意写入浏览记录块。
签名完成后,文件解密方记录并发送最新浏览记录块和签名给服务器。服务器在身份公钥数据库中获取当前文件解密方对应身份的公钥,对发送来的签名和浏览记录块进行验证。
如果验证相等,则更新服务器端最新加密文件的浏览记录链,等同于更新服务器端的最新加密文件,更新成功后发送成功回执给文件解密方,文件解密方因此可以正确解密。
如果验证不等,则驳回文件解密方更新浏览记录的请求,文件解密方收到驳回请求后立即销毁本地缓存文件。如若此文件解密方多次请求失败,则服务器端重新审查文件解密方资格。
为了详细记录浏览请求和保证文件安全,可以设置文件解密方最长可浏览时间。到达时间后自动关闭,需重新请求文件。在浏览结束关闭客户端时,也会做一次浏览记录。类型为关闭文件的浏览记录。

Claims (4)

1.一种防泄露的文件安全共享方法,其特征在于包括服务器端对文件加密流程以及客户端解密流程;
其中服务器端对文件加密流程实现如下:
在文件发布者上传原始文件后,服务器端对接收的原始文件进行记录,获取文件建立信息,然后对原始文件进行加密,具体如下:
⑴将原始文件进行SM4对称加密,得到加密文件;
⑵求出加密文件的大小,用一串30bit的二进制串来表示加密文件的大小;
⑶SM4密钥用服务器端生成的文件密钥对中的公钥进行SM2非对称加密,获取加密后的SM4密钥;文件密钥对中的公钥由服务器端保留,私钥颁发给文件发布者并由其自行分发;
⑷SM2非对称加密过后,将表示加密文件的大小的二进制串、加密后的SM4密钥和加密文件拼接在一起,成为新的文件Ⅰ;
⑸进行浏览记录初始块的建立:将新的文件Ⅰ进行SM3摘要,获取摘要值Ⅰ;将这段摘要值与文件建立信息拼合在一起,组成浏览记录初始块,将此浏览记录初始块附在新的文件Ⅰ后面;
⑹将浏览记录初始块进行SM3摘要,获取其摘要值Ⅱ,大小为256bit,并将摘要值Ⅱ附在浏览记录块之后,得到最终公布的加密文件Ⅱ,其中摘要值Ⅱ供文件解密方验证;
文件解密方在验证上一浏览记录块浏览记录完整且正确后,开始写入本次浏览记录,在没有更新完浏览记录前,无法解密文件;
获取当前文件解密方信息,以规定的格式记录,将其和上一浏览记录块的摘要信息拼接,成为新一块浏览记录块;接下来对此浏览记录块做摘要,并获取当前文件解密方的身份私钥;用此身份私钥对摘要进行SM2签名,以防止系统外攻击任意写入浏览记录块;签名完成后,文件解密方记录并发送最新浏览记录块和签名给服务器端;
服务器端收到文件解密方记录并发送的最新浏览记录块和签名后,服务器端在身份公钥数据库中获取当前文件解密方对应身份的公钥,对发送来的签名和浏览记录块进行验证;
如果验证相等,则更新服务器端最新加密文件的浏览记录链,等同于更新服务器端的最新加密文件,更新成功后发送成功回执给文件解密方,文件解密方因此可以正确解密;
如果验证不等,则驳回文件解密方更新浏览记录的请求,文件解密方收到驳回请求后立即销毁本地缓存文件;如若此文件解密方多次请求失败,则服务器端重新审查文件解密方资格;
客户端解密流程具体实现如下:
⑴客户端中的文件解密方向服务器端请求得到最新的加密文件,并将其按照固定格式分解成四部分:表示加密文件大小的二进制串、非对称加密后的SM4密钥、加密文件和浏览记录组成的浏览记录链;
⑵在分解出四部分之后,对最新加密文件在解密过程中进行文件正确性验证,且第一次解密文件和第二次及第二次之后解密文件中文件正确性验证的流程不同;
第一次解密过程中文件正确性验证如下:
将所述摘要值Ⅱ与最后一块浏览记录块的摘要值进行比对,如果符合,开始记录新的浏览记录,记录成功后解密并访问加密文件;如果不符合,自动删除缓存的加密文件,重新请求最新加密文件,如多次重新请求最新加密文件均失败,将通知服务器端使其检查最新加密文件是否出错;
第二次及之后的解密过程中文件正确性验证如下:
向服务器端请求上一位文件解密方的浏览记录的SM2签名,再将已经请求到的最新加密文件的最后一块浏览记录块的SM3摘要值Ⅱ进行SM2签名,本次SM2签名用到的密钥对,是上一文件解密方的身份密钥对,由本次文件解密方通过上一位文件解密方的浏览记录的身份标识向服务器端的身份公钥数据库请求得到;将得到的SM2签名Ⅱ与浏览记录的SM2签名进行比对,如果比对成功,本次文件解密方请求进行浏览记录更新,且如果浏览记录更新成功,则解密并访问加密文件;如多次请求进行浏览记录更新均失败,通知服务器端使其检查最新加密文件是否出错;服务器端审查当前文件解密方资格并判断是否列入黑名单;
在浏览记录更新成功后,文件解密方解密并访问加密文件;文件解密方输入文件发布者分发的文件密钥对中的私钥,解密得SM4密钥;再利用SM4密钥解密加密文件,至此文件解密方可以浏览原始文件,但是不能复制和获取原始文件;
所述的上一位文件解密方的浏览记录中记录的信息包括浏览时间、身份标识、ip地址/MAC地址和浏览记录块编号;每个浏览记录块长110字节,包括32字节的上一浏览记录块的摘要信息。
2.根据权利要求1所述的一种防泄露的文件安全共享方法,其特征在于表示加密文件大小的二进制串和非对称加密后的SM4密钥的大小固定,分别为30bit与256bit;之后的文件大小由二进制串确定,按照固定大小分割后,剩下的部分为浏览记录链;浏览记录链中的每一块浏览记录块大小固定;如果浏览记录链的分割错误,或分割获取的浏览记录块中拆分的摘要值Ⅰ、文件建立信息识别失败,则自动删除缓存的加密文件,重新请求文件;如多次请求均失败,将通知服务器端使其检查最新的加密文件是否出错。
3.根据权利要求2所述的一种防泄露的文件安全共享方法,其特征在于最新浏览记录块摘要的SM2签名都在服务器端存储及广播。
4.根据权利要求3所述的一种防泄露的文件安全共享方法,其特征在于设置文件解密方最长可浏览时间,到达时间后自动关闭,需重新请求文件;且在浏览结束关闭客户端时,也做一次类型为关闭文件的浏览记录。
CN201910294184.XA 2019-04-12 2019-04-12 一种防泄露的文件安全共享方法 Active CN110190962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910294184.XA CN110190962B (zh) 2019-04-12 2019-04-12 一种防泄露的文件安全共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910294184.XA CN110190962B (zh) 2019-04-12 2019-04-12 一种防泄露的文件安全共享方法

Publications (2)

Publication Number Publication Date
CN110190962A CN110190962A (zh) 2019-08-30
CN110190962B true CN110190962B (zh) 2022-04-19

Family

ID=67714160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910294184.XA Active CN110190962B (zh) 2019-04-12 2019-04-12 一种防泄露的文件安全共享方法

Country Status (1)

Country Link
CN (1) CN110190962B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671691B (zh) * 2019-10-16 2022-08-30 重庆傲雄在线信息技术有限公司 一种数据验证系统
CN110912879A (zh) * 2019-11-15 2020-03-24 安徽海汇金融投资集团有限公司 一种电子债权凭证安全共享方法及系统
CN111368265B (zh) * 2020-02-20 2022-09-13 广发证券股份有限公司 一种适用于electron的加密方法
CN113468545A (zh) * 2020-03-31 2021-10-01 北京梆梆安全科技有限公司 文件加解密方法、装置及系统
CN113468607A (zh) * 2020-03-31 2021-10-01 国电南瑞科技股份有限公司 一种加密防篡改文件的生成和使用方法
CN111586076B (zh) * 2020-05-26 2021-12-07 清华大学 基于混合密码的遥控遥测信息防篡改加解密方法和系统
CN113407971B (zh) * 2021-07-12 2023-12-22 河北素数信息安全有限公司 一种基于html5技术的跨互联网文件安全分享方法与系统
CN114143055B (zh) * 2021-11-24 2023-12-01 国网江苏省电力有限公司营销服务中心 一种基于区块链的数据分发方法和可信溯源方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578610A (zh) * 2007-10-29 2009-11-11 株式会社东芝 文件访问控制装置及程序
CN101989984A (zh) * 2010-08-24 2011-03-23 北京易恒信认证科技有限公司 电子文件安全共享系统及方法
CN105072134A (zh) * 2015-08-31 2015-11-18 成都卫士通信息产业股份有限公司 一种基于三级密钥的云盘系统文件安全传输方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182874A1 (en) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Digital content protection system
WO2011111115A1 (ja) * 2010-03-12 2011-09-15 株式会社日立製作所 ストレージシステム及びそのファイルアクセス判定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578610A (zh) * 2007-10-29 2009-11-11 株式会社东芝 文件访问控制装置及程序
CN101989984A (zh) * 2010-08-24 2011-03-23 北京易恒信认证科技有限公司 电子文件安全共享系统及方法
CN105072134A (zh) * 2015-08-31 2015-11-18 成都卫士通信息产业股份有限公司 一种基于三级密钥的云盘系统文件安全传输方法

Also Published As

Publication number Publication date
CN110190962A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110190962B (zh) 一种防泄露的文件安全共享方法
US11647007B2 (en) Systems and methods for smartkey information management
EP1984866B1 (en) Document security management system
US6738907B1 (en) Maintaining a soft-token private key store in a distributed environment
CN109327481B (zh) 一种基于区块链的全网统一在线认证方法及系统
US7702107B1 (en) Server-based encrypted messaging method and apparatus
CN111800268A (zh) 用于区块链背书的零知识证明
Miller et al. Strong security for distributed file systems
KR20190012969A (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
CN115567312B (zh) 一种可满足多种场景的联盟链数据权限管理系统和方法
CN117396869A (zh) 用于使用分布式账本技术进行安全密钥管理的系统和方法
CN111008855A (zh) 一种基于改进代理重加密的追溯数据访问控制方法
CN109918451B (zh) 基于区块链的数据库管理方法及系统
CN115134087A (zh) 一种面向去中心化云存储的客户端安全数据去重方法
US20070038862A1 (en) Method and system for controlling the disclosure time of information
NL2028778B1 (en) Blockchain electronic contract management system
CN111541731B (zh) 一种基于区块链和知悉范围加密的电子文件访问控制方法
CN113239376A (zh) 基于区块链的数据共享方法、请求方法及装置
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
CN114389878B (zh) 一种区块链分片方法及区块链网络系统
US20240106657A1 (en) Method and apparatus for posting a user message of a user in an internet forum
US20230185767A1 (en) Validity management system for digital file and method for operating the same
TWI727474B (zh) 數位身分管理系統及方法
Blazic Long term trusted archive services
Motegaonkar et al. To develop secure deduplication of data using hybrid cloud methodology

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