CN112822228B - 一种基于国密算法的浏览器文件加密上传方法及系统 - Google Patents

一种基于国密算法的浏览器文件加密上传方法及系统 Download PDF

Info

Publication number
CN112822228B
CN112822228B CN201911125340.6A CN201911125340A CN112822228B CN 112822228 B CN112822228 B CN 112822228B CN 201911125340 A CN201911125340 A CN 201911125340A CN 112822228 B CN112822228 B CN 112822228B
Authority
CN
China
Prior art keywords
file
key
browser
algorithm
adopting
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
CN201911125340.6A
Other languages
English (en)
Other versions
CN112822228A (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.)
State Grid Information and Telecommunication Co Ltd
Beijing China Power Information Technology Co Ltd
Original Assignee
State Grid Information and Telecommunication Co Ltd
Beijing China Power Information Technology Co Ltd
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 State Grid Information and Telecommunication Co Ltd, Beijing China Power Information Technology Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN201911125340.6A priority Critical patent/CN112822228B/zh
Publication of CN112822228A publication Critical patent/CN112822228A/zh
Application granted granted Critical
Publication of CN112822228B publication Critical patent/CN112822228B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于国密算法的浏览器文件加密上传方法及系统,方法包括:采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;采用base64编码对原始文件进行格式化,得到base64格式的文件;获取第一SM4秘钥;采用国密SM4算法基于第一SM4秘钥对base64格式的文件进行加密,得到原始文件加密后的内容;将原始文件加密后的内容以及原始文件相关属性组成Json格式数据;接收Json格式数据;采用国密SM4算法基于第一SM4秘钥对Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;对Base64格式的文件内容字符串进行解码,得到原始文件内容。本发明能够保证浏览器在上传非结构化数据到服务器的过程中数据的安全。

Description

一种基于国密算法的浏览器文件加密上传方法及系统
技术领域
本发明涉及网络数据安全技术领域,尤其涉及一种基于国密算法的浏览器文件加密上传方法及系统。
背景技术
随着网络技术的不断发展,网络安全的重要性也日益重要,如何确保重要数据在网络传输中的安全是一个重要任务。对于B/S架构应用系统,如果应用该系统包含非结构化重要数据,则对于该类数据需要满足传输安全性要求。除了可以采用HTTPS(Hyper TextTransfer Protocol over SecureSocket Layer,超文本传输安全协议)保护数据传输安全以外,应用本身也要采取安全措施,确保数据传输安全。目前仅仅采用HTTPS对文件传输进行保护,有如下问题:一是HTTPS是美国设计的一种通过SSL(Secure Socket Layer,安全套接层)协议对HTTP传输的数据进行加密的一种算法,不是国密算法。随着中国国家安全法颁布,要求使用国密算法加密要求越来越高。二是如果HTTPS私有秘钥被窃取,则文件上传安全性无法保证。因为私有秘钥是固定不变的。
对于B/S架构应用,前端为浏览器,对于结构化重要数据,通过前端对结构化数据加密,然后再上传到服务端,可以确保重要数据在传输过程中的安全。但是对于非结构化重要数据(文件),在浏览器中上传时,由于传统的文件上传,是由浏览器直接操控文件上传,如何确保文件传输过程中的安全,是一个较复杂的问题。
因此,如何有效保证对于非结构化数据(文件),在浏览器上传服务器过程中的传输安全,是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种基于国密算法的浏览器文件加密上传方法,能够保证浏览器在上传非结构化数据到服务器的过程中数据的安全。
本发明提供了一种基于国密算法的浏览器文件加密上传方法,包括:
采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
采用base64编码对所述原始文件进行格式化,得到base64格式的文件;
获取第一SM4秘钥;
采用国密SM4算法基于所述第一SM4秘钥对所述base64格式的文件进行加密,得到原始文件加密后的内容;
将所述原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
接收所述Json格式数据;
采用国密SM4算法基于所述第一SM4秘钥对所述Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;
对所述Base64格式的文件内容字符串进行解码,得到原始文件内容。
优选地,所述方法还包括:
获取用于鉴别用户身份的用户信息;
在所述用户信息鉴别通过后,生成时域;
基于所述用户信息以及当前时间生成所述第一SM4秘钥;
将所述第一SM4秘钥保存在所述时域中。
优选地,所述方法还包括:
采用SM2算法对所述第一SM4秘钥进行加密,得到第二SM4秘钥;
将所述第二SM4秘钥保存在浏览器内存中。
优选地,所述获取第一SM4秘钥,包括:
从所述浏览器内存中获取所述第二SM4秘钥;
采用SM2解密算法对所述第二SM4秘钥进行解密,得到所述第一SM4秘钥。
优选地,所述接收所述Json格式数据后,还包括:
确定所述Json格式数据中的文件类型、文件长度符合要求。
一种基于国密算法的浏览器文件加密上传系统,包括:浏览器和服务器;其中:
所述浏览器,用于采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
所述浏览器,还用于采用base64编码对所述原始文件进行格式化,得到base64格式的文件;
所述浏览器,还用于获取第一SM4秘钥;
所述浏览器,还用于采用国密SM4算法基于所述第一SM4秘钥对所述base64格式的文件进行加密,得到原始文件加密后的内容;
所述浏览器,还用于将所述原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
所述服务器,用于接收速搜浏览器传输的所述Json格式数据;
所述服务器,还用于采用国密SM4算法基于所述第一SM4秘钥对所述Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;
所述服务器,还用于对所述Base64格式的文件内容字符串进行解码,得到原始文件内容。
优选地,所述服务器还用于:
获取用于鉴别用户身份的用户信息;
在所述用户信息鉴别通过后,生成时域;
基于所述用户信息以及当前时间生成所述第一SM4秘钥;
将所述第一SM4秘钥保存在所述时域中。
优选地,所述服务器还用于:
采用SM2算法对所述第一SM4秘钥进行加密,得到第二SM4秘钥;
将所述第二SM4秘钥传输至所述浏览器,以使所述第二SM4秘钥保存在浏览器内存中。
优选地,所述浏览器在执行获取第一SM4秘钥时,具体用于:
从所述浏览器内存中获取所述第二SM4秘钥;
采用SM2解密算法对所述第二SM4秘钥进行解密,得到所述第一SM4秘钥。
优选地,所述服务器在接收所述Json格式数据后,还用于:
确定所述Json格式数据中的文件类型、文件长度符合要求。
综上所述,本发明公开了一种基于国密算法的浏览器文件加密上传方法,当需要对浏览器文件进行上传时,首先采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件,然后采用base64编码对原始文件进行格式化,得到base64格式的文件,获取第一SM4秘钥,采用国密SM4算法基于第一SM4秘钥对base64格式的文件进行加密,得到原始文件加密后的内容,将原始文件加密后的内容以及原始文件相关属性组成Json格式数据;然后,接收Json格式数据,采用国密SM4算法基于第一SM4秘钥对Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串,对Base64格式的文件内容字符串进行解码,得到原始文件内容。本发明在文件传输的过程中,充分利用了国密算法和动态秘钥,极大增强了文件网络传输的安全性,另外采用JavaScript技术,减少了开发和维护成本,另外无需用户浏览器安装特殊插件,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种基于国密算法的浏览器文件加密上传方法实施例的方法流程图;
图2为本发明公开的一种基于国密算法的浏览器文件加密上传方法的时序图;
图3为本发明公开的一种基于国密算法的浏览器文件加密上传系统实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种基于国密算法的浏览器文件加密上传方法实施例的方法流程图,所述方法可以包括以下步骤:
S101、采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
当需要对浏览器文件进行加密上传时,在用户上传原始文件后,通过浏览器支持的HTML5,采用JavaScript通过HTML5的API读取原始文件。
S102、采用base64编码对原始文件进行格式化,得到base64格式的文件;
在读取原始文件时,采用base64作为参数对对原始文件进行格式化,得到base64格式的文件。
S103、获取第一SM4秘钥;
其中,第一SM4秘钥为用户登录时生成的用于对原始文件进行加密的秘钥。
S104、采用国密SM4算法基于第一SM4秘钥对base64格式的文件进行加密,得到原始文件加密后的内容;
在获取到第一SM4秘钥后,采用国密SM4算法基于第一SM4秘钥对base64格式的文件进行加密,得到原始文件加密后的内容。
其中,SM4算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。SM4算法的具体描述和示例可详见SM4标准。
S105、将原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
然后将原始文件加密后的内容以及原始文件相关属性,如文件名称、长度等信息,组成Json格式数据。将Json格式数据以POST协议发送至服务器端对应的接收程序。
S106、接收Json格式数据;
服务器端对应的接收程序接收接收Json格式数据。
S107、采用国密SM4算法基于第一SM4秘钥对Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;
然后获取服务器端保存的第一SM4秘钥,采用国密SM4算法对Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串。
S108、对Base64格式的文件内容字符串进行解码,得到原始文件内容。
最后,对得到的Base64格式的文件内容字符串进行解码,进而得到原始文件内容,至此实现将用户上传的原始文件传输至服务器。
综上所述,在上述实施例中,当需要对浏览器文件进行上传时,首先采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件,然后采用base64编码对原始文件进行格式化,得到base64格式的文件,获取第一SM4秘钥,采用国密SM4算法基于第一SM4秘钥对base64格式的文件进行加密,得到原始文件加密后的内容,将原始文件加密后的内容以及原始文件相关属性组成Json格式数据;然后,接收Json格式数据,采用国密SM4算法基于第一SM4秘钥对Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串,对Base64格式的文件内容字符串进行解码,得到原始文件内容。本发明在文件传输的过程中,充分利用了国密算法和动态秘钥,极大增强了文件网络传输的安全性,另外采用JavaScript技术,减少了开发和维护成本,另外无需用户浏览器安装特殊插件,提升了用户体验。
下面为了更加清楚的对本发明提供的技术方案进行说明,以具体的基于国密算法的浏览器文件加密上传方法的时序图为图示进行详细说明:
如图2所示,实现基于国密算法的浏览器文件加密上传,具体过程可以如下:
1、在浏览器端和服务器端的代码中,保存国密SM2算法秘钥对:
其中,浏览器端JS代码中,设置固定的SM2算法公钥;服务器端代码中,设置固定的SM2算法私钥。
上述公钥和私钥是匹配的,可以进行SM2的加解密。
2、用户登录:
用户输入用户名、密码等鉴定身份的信息后,信息被从浏览器端发送到后端服务器。服务器对用户身份进行鉴别,鉴别通过后,服务器端将产生Session,将用户信息保存在Session中。同时,服务器端将根据用户id、当前时间,生成一个国密SM4的秘钥,即,第一SM4秘钥。服务器端将第一SM4秘钥保存在Session中,与用户绑定。
服务器端将第一SM4秘钥,使用SM2算法进行加密,然后将SessionID和加密后得到的第二SM4秘钥返回前端浏览器。
浏览器接收到服务器端的返回后,将第二SM4秘钥保存在浏览器内存中。
3、浏览器端文件上传:
当用户上传文件时,选择上传文件后,浏览器端JS代码根据文件名称,通过FileReader接口读取文件,读取文件时,采用Base64作为参数。这样,JS代码就获取了以Base64编码的文件内容。
JS代码从浏览器内容中获取登录成功后保存的加密秘钥,即第二SM4秘钥,该第二SM4秘钥即第一SM4秘钥采用SM2算法进行加密后的秘钥。
JS代码调用SM2解密算法,对第二SM4秘钥进行解密。SM2解密时,使用的秘钥是与服务器端进行SM2加密的秘钥是一对的。解密后,得到第一SM4秘钥。
JS代码使用SM4算法对Base64编码的文件内容字符串进行加密,加密秘钥为第一SM4秘钥。
JS代码将加密后的内容,以及文件相关属性,如文件名称、长度等信息,组成Json格式数据。将Json数据,以POST协议发送给服务器端对应的接收程序。
JS代码接收服务器端返回信息,展现给用户成功或失败提示。
4、服务器端文件接收:
服务器端文件接收程序收到前端传入的Json数据后,对文件类型、文件长度等信息进行检查,判断是否符合要求。符合要求后,进行进一步处理。
服务器端代码从Session中获取登录时保存的第一SM4秘钥。
服务器端代码用第一SM4秘钥,采用SM4算法对Json数据中的文件内容进行解密,得到Base64格式的文件内容字符串。
服务器端代码对Base64格式的文件内容字符串进行解码,得到原始文件内容。
服务器端代码将原始文件内容保存到服务器相应的存储位置。
服务器端代码向前端返回成功信息。
由此可以看出,上述在服务器端SM4秘钥生成及保存的过程中,服务器端为每次用户登录生成一个特定SM4秘钥,这样用户每次登录后进行文件传输时的SM4秘钥都是变化的,最大程度确保秘钥安全。服务器端将SM4秘钥保存在Session中,随着Session的失效而清除,能够防止服务器端秘钥信息泄露。
上述在浏览器端SM4秘钥获取及保存的过程中,浏览器端的SM4秘钥从后端获取,保证前后端加解密秘钥一致性。浏览器端获取的SM4秘钥是经过SM2加密的,每次浏览器端使用SM4秘钥时,用SM2算法进行解密,进一步确保了SM4秘钥的安全。浏览器端将加密的SM4秘钥保存在浏览内存中,而不是Cookie中,能够防止浏览器端秘钥泄露。
上述在浏览器端JS获取文件的过程中,当用户上传文件时,选择上传文件后,浏览器端JS代码根据文件名称,通过FileReader接口读取文件,读取文件时,采用Base64作为参数。这样,JS代码就获取了以Base64编码的文件内容。
上述在浏览器端JS对文件加密的过程中,JS代码从浏览器内容中获取登录成功后保存的加密秘钥,该秘钥采用SM2算法进行了加密。
上述在服务器端代码获取浏览器端加密文件内容的过程中,服务器端文件接收程序收到浏览器端传入的Json数据后,对文件类型、文件长度等信息进行检查,判断是否符合要求。符合要求后,进行进一步处理。
上述在服务器端代码对加密文件进行解密的过程中,服务器端代码用该秘钥,采用SM4算法对Json数据中的文件内容进行解密,得到Base64格式的文件内容字符串,服务器端代码对Base64格式的文件内容字符串进行解码,得到原始文件内容。
综上所述,本发明在浏览器端在文件上传前,通过国密算法对文件内容进行加密,加密秘钥为每次用户登录后,由服务器端生成的秘钥。经过加密后的文件在网络传输时,即使被黑客获取到,由于是加密文件,黑客无法获知文件的实际内容,从而保证文件在网络传输的安全性。黑客无法对文件进行解密是因为一方面采用了国密算法,破解算法难度大,另外一方面是由于秘钥每次登陆后,都会变化,增大了黑客破解的难度。因此,本发明的优点,一是充分利用了国密算法和动态秘钥,极大增强文件网络传输的安全性;二是采用前后技术就是Javascript,技术栈无变化,减少了开发和维护成本;三是不要求用户浏览器安装特殊插件,提升了用户体验。
如图3所示,为本发明公开的一种基于国密算法的浏览器文件加密上传系统实施例的结构示意图,所述系统包括:浏览器31和服务器32;其中:
浏览器31,用于采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
浏览器31,还用于采用base64编码对所述原始文件进行格式化,得到base64格式的文件;
浏览器31,还用于获取第一SM4秘钥;
浏览器31,还用于采用国密SM4算法基于所述第一SM4秘钥对所述base64格式的文件进行加密,得到原始文件加密后的内容;
浏览器31,还用于将所述原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
服务器32,用于接收浏览器传输的所述Json格式数据;
服务器32,还用于采用国密SM4算法基于所述第一SM4秘钥对所述Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;
服务器32,还用于对Base64格式的文件内容字符串进行解码,得到原始文件内容。
本实施例公开的基于国密算法的浏览器文件加密上传系统的工作原理与上述图1和图2对应公开的内容相同,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于国密算法的浏览器文件加密上传方法,其特征在于,包括:
采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
采用base64编码对所述原始文件进行格式化,得到base64格式的文件;
获取第一SM4秘钥,其中,所述第一SM4秘钥是服务器根据用户信息实时生成的;
采用国密SM4算法基于所述第一SM4秘钥对所述base64格式的文件进行加密,得到原始文件加密后的内容;
将所述原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
接收所述Json格式数据;
采用国密SM4算法基于所述第一SM4秘钥对所述Json格式数据中的文件内容进行解密,得到Base64格式的文件内容字符串;
对所述Base64格式的文件内容字符串进行解码,得到原始文件内容。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取用于鉴别用户身份的用户信息;
在所述用户信息鉴别通过后,生成时域;
基于所述用户信息以及当前时间生成所述第一SM4秘钥;
将所述第一SM4秘钥保存在所述时域中。
3.根据权利要求2所述的方法,其特征在于,还包括:
采用SM2算法对所述第一SM4秘钥进行加密,得到第二SM4秘钥;
将所述第二SM4秘钥保存在浏览器内存中。
4.根据权利要求3所述的方法,其特征在于,所述获取第一SM4秘钥,包括:
从所述浏览器内存中获取所述第二SM4秘钥;
采用SM2解密算法对所述第二SM4秘钥进行解密,得到所述第一SM4秘钥。
5.根据权利要求4所述的方法,其特征在于,所述接收所述Json格式数据后,还包括:
确定所述Json格式数据中的文件类型、文件长度符合要求。
6.一种基于国密算法的浏览器文件加密上传系统,其特征在于,包括:浏览器和服务器;其中:
所述浏览器,用于采用JavaScript通过HTML5的文件应用程序接口读取用户上传的原始文件;
所述浏览器,还用于采用base64编码对所述原始文件进行格式化,得到base64格式的文件;
所述浏览器,还用于获取第一SM4秘钥,其中,所述第一SM4秘钥是所述服务器根据用户信息实时生成的;
所述浏览器,还用于采用国密SM4算法基于所述第一SM4秘钥对所述base64格式的文件进行加密,得到原始文件加密后的内容;
所述浏览器,还用于将所述原始文件加密后的内容以及原始文件相关属性组成Json格式数据;
所述服务器,用于接收浏览器传输的所述Json格式数据;
所述服务器,还用于采用国密SM4算法基于所述第一SM4秘钥对所述Json格式数据中的
文件内容进行解密,得到Base64格式的文件内容字符串;
所述服务器,还用于对所述Base64格式的文件内容字符串进行解码,得到原始文件内容。
7.根据权利要求6所述的系统,其特征在于,所述服务器还用于:
获取用于鉴别用户身份的用户信息;
在所述用户信息鉴别通过后,生成时域;
基于所述用户信息以及当前时间生成所述第一SM4秘钥;
将所述第一SM4秘钥保存在所述时域中。
8.根据权利要求7所述的系统,其特征在于,所述服务器还用于:
采用SM2算法对所述第一SM4秘钥进行加密,得到第二SM4秘钥;
将所述第二SM4秘钥传输至所述浏览器,以使所述第二SM4秘钥保存在浏览器内存中。
9.根据权利要求8所述的系统,其特征在于,所述浏览器在执行获取第一SM4秘钥时,具体用于:
从所述浏览器内存中获取所述第二SM4秘钥;
采用SM2解密算法对所述第二SM4秘钥进行解密,得到所述第一SM4秘钥。
10.根据权利要求9所述的系统,其特征在于,所述服务器在接收所述Json格式数据后,还用于:
确定所述Json格式数据中的文件类型、文件长度符合要求。
CN201911125340.6A 2019-11-15 2019-11-15 一种基于国密算法的浏览器文件加密上传方法及系统 Active CN112822228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911125340.6A CN112822228B (zh) 2019-11-15 2019-11-15 一种基于国密算法的浏览器文件加密上传方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911125340.6A CN112822228B (zh) 2019-11-15 2019-11-15 一种基于国密算法的浏览器文件加密上传方法及系统

Publications (2)

Publication Number Publication Date
CN112822228A CN112822228A (zh) 2021-05-18
CN112822228B true CN112822228B (zh) 2023-05-02

Family

ID=75852385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911125340.6A Active CN112822228B (zh) 2019-11-15 2019-11-15 一种基于国密算法的浏览器文件加密上传方法及系统

Country Status (1)

Country Link
CN (1) CN112822228B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114282249A (zh) * 2021-12-28 2022-04-05 武汉达梦数据技术有限公司 多层非结构化文件的安全读取方法、电子设备及存储介质
CN114978711B (zh) * 2022-05-25 2024-06-25 山东国子软件股份有限公司 一种动态密钥对称加密的数据传输方法及系统
CN114866348B (zh) * 2022-07-06 2022-09-20 深圳市金政软件技术有限公司 基于浏览器的数据传输方法、装置、设备及存储介质
CN115174252A (zh) * 2022-07-20 2022-10-11 中国工商银行股份有限公司 视频加密传输方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517065A (zh) * 2013-09-30 2015-04-15 瞻博网络公司 用于安全传输和存储设备上的存储的客户设备上的加密图像
CN105656889A (zh) * 2015-12-30 2016-06-08 东软集团股份有限公司 WebApp的发布方法、服务器及客户端
CN108462581A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 网络令牌生成的方法、装置、终端设备及存储介质
CN109348292A (zh) * 2018-11-20 2019-02-15 广州易方信息科技股份有限公司 一种基于切片文件字节阈值的视频切片方法
CN109547533A (zh) * 2018-10-26 2019-03-29 深圳点猫科技有限公司 一种教育系统的html5移动端图片上传预处理方法及电子设备
CN110263556A (zh) * 2019-05-22 2019-09-20 广东安创信息科技开发有限公司 一种oa系统数据的加解密方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144517B1 (ko) * 2013-12-31 2020-08-14 원스팬 인터내셔널 게엠베하 전자 서명 방법들, 시스템들 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517065A (zh) * 2013-09-30 2015-04-15 瞻博网络公司 用于安全传输和存储设备上的存储的客户设备上的加密图像
CN105656889A (zh) * 2015-12-30 2016-06-08 东软集团股份有限公司 WebApp的发布方法、服务器及客户端
CN108462581A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 网络令牌生成的方法、装置、终端设备及存储介质
CN109547533A (zh) * 2018-10-26 2019-03-29 深圳点猫科技有限公司 一种教育系统的html5移动端图片上传预处理方法及电子设备
CN109348292A (zh) * 2018-11-20 2019-02-15 广州易方信息科技股份有限公司 一种基于切片文件字节阈值的视频切片方法
CN110263556A (zh) * 2019-05-22 2019-09-20 广东安创信息科技开发有限公司 一种oa系统数据的加解密方法及系统

Also Published As

Publication number Publication date
CN112822228A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112822228B (zh) 一种基于国密算法的浏览器文件加密上传方法及系统
US11329962B2 (en) Pluggable cipher suite negotiation
US9973481B1 (en) Envelope-based encryption method
US8185942B2 (en) Client-server opaque token passing apparatus and method
CN100581103C (zh) 安全地处理被用于基于web的资源访问的客户证书
CN101860540B (zh) 一种识别网站服务合法性的方法及装置
CN107707504B (zh) 一种流媒体的播放方法、系统以及服务器和客户端
US20110264913A1 (en) Method and apparatus for interworking with single sign-on authentication architecture
US20150207783A1 (en) Encryption system using web browsers and untrusted web servers
CN102684877B (zh) 一种进行用户信息处理的方法及装置
CN104009989B (zh) 一种媒体文件的防盗链方法、系统及服务器
CN109547198B (zh) 网络传输视频文件的系统
MXPA03003710A (es) Metodos para cambiar a distancia una contrasena de comunicaciones.
WO2015024426A1 (zh) 身份认证系统、装置、方法以及身份认证请求装置
CN104168262A (zh) 登录第三方站点的方法和服务器
CN103414727A (zh) 针对input密码输入框的加密保护系统及其使用方法
CN102404337A (zh) 数据加密方法和装置
WO2016112580A1 (zh) 业务处理方法及装置
US20140237239A1 (en) Techniques for validating cryptographic applications
CN111639357A (zh) 一种加密网盘系统及其认证方法和装置
CN114124441B (zh) 一种基于jwt的客户端认证方法及系统
CN103716280A (zh) 数据传输方法、服务器及系统
Fahl et al. Trustsplit: usable confidentiality for social network messaging
WO2015104567A1 (en) Secure communication between a server and a client web browser
CN104506530A (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