一种即时通信中的文件加密传输与共享方法技术

技术编号:21484694 阅读:31 留言:0更新日期:2019-06-29 06:30
本发明专利技术公开了一种即时通信中的文件加密传输与共享方法,本发明专利技术通过将密文文件和密文会话密钥进行分离,使得发送方只需要对该文件的密文会话密钥进行处理,从而生成新的密文会话密钥,让接收方可以解密,大大减少了发送方转发文件所需要处理的数据和步骤,尤其是在处理大文件时,效果更加显著,本发明专利技术提升了文件服务器上密文文件的利用率,将密文文件和密文会话密钥进行分离,将密文文件存储在文件服务器上,而将密文会话密钥通过即时通信软件进行消息传递完成文件的收发,使得获得该文件会话密钥的所有用户或者群聊用户组都能下载和解密该密文文件,大大提升了服务器上密文文件的利用率。

【技术实现步骤摘要】
一种即时通信中的文件加密传输与共享方法
本专利技术属于网络安全
,具体涉及一种即时通信中的文件加密传输与共享方法,可用于保护用户数据的安全。
技术介绍
近年来,即时通信业务发展迅速,即时通信应用软件的功能也日益丰富。它不再是一个单纯的聊天工具,而是已经逐步发展成为集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。随着互联网带宽的增加和信号处理技术的提高,即时通信应用软件普遍支持语音、视频和文件传输等业务。为了提高用户数据的安全性,很多即时通信应用软件,例如密信,采用加密通信技术,防止数据在传输过程中被偷听或恶意窃取。发送方在发送数据之前对数据执行加密操作,生成密文进行传输;接收方收到密文后执行相应的解密操作,获得初始的明文信息。即时通信应用软件一般同时支持单聊和群聊功能。在进行文件加密传输时,单聊和群聊使用的加密方案往往会有些不同。一般而言,在发送文件时,文件发送方首先随机生成一个会话密钥(又称为对称密钥),并且使用该会话密钥对文件内容进行对称加密生成密文文件;然后对多个会话密钥进行分别处理生成密文会话密钥。在单聊通讯中,发送方使用接收方的公钥对会话密钥进行非对称加密生成密文会话密钥;而在群聊通讯中,发送方则使用群会话密钥对文件进行对称加密生成密文会话密钥。之后,发送方相应的将密文文件和密文会话密钥合并,上传至文件服务器,并将文件路径信息以即时消息的方式发送给接收方用户或目标用户群。即时通信应用软件通常使用数字信封技术来合并密文文件和密文会话密钥,来保证文件的安全性。但现存技术具有固有的局限性,当某个文件被转发时,通常需要考虑两种情况:(1)如果被转发文件的数字信封文件在本地仍然存在,则对数字信封头部中的密文会话密钥进行解密和重加密,合并密文文件和新的密文会话密钥,然后将重加密后的文件重新上传到服务器,最后将新的路径信息发给目标地址;(2)如果被转发文件的数字信封文件在本地不存在,但接收该文件的即时消息仍然存在,则在进行实际的文件转发之前,需要将对应的数字信封文件从文件服务器下载到本地,对数字信封头部中的密文会话密钥进行解密和重加密,合并密文文件和新的密文会话密钥,然后将重加密后的文件重新上传到服务器,最后将新的路径信息发给目标地址。上述无论哪种情况,都需要将整个文件在发送方和文件服务器之间进行重新传输(一次或两次),而未能高效利用已经在文件服务器上存在的数字信封文件副本。由此,会造成客户端和服务器的资源浪费,文件服务器上的文件利用率低等问题。
技术实现思路
本专利技术的目的在于提供一种即时通信中的文件加密传输与共享方法,以克服现有技术的不足。为达到上述目的,本专利技术采用如下技术方案:一种即时通信中的文件加密传输与共享方法,包括以下步骤:a、文件发送:发送方确认待发送文件的目标地址信息,发送方随机生成文件会话密钥对待发送文件进行对称加密生成密文文件,将生成的密文文件上传至服务器得到密文文件路径信息,再使用接收方的公钥或者群聊的会话密钥对随机生成的文件会话秘钥执行非对称或对称加密算法生成密文文件会话秘钥,将密文文件会话密钥和密文文件路径信息封装生成数据文本发送给即时通信服务器,由即时通信服务器转发给目标地址;b、文件接收:接收方从即时通信服务器接收文件类型的数据文本,并获得该文件的来源地址信息,接着对数据文本解析得到密文文件会话密钥和密文文件路径信息,接收方根据密文文件路径信息从文件服务器下载相应的密文文件,接收方使用自己的私钥或者文件来源群的群会话秘钥对密文文件会话秘钥执行非对称或者对称解密算法,生成明文文件会话秘钥,再利用得到的密文文件会话秘钥对下载的密文文件执行对称解密算法生成相应的明文文件,文件接收步骤结束;c、文件转发:发送方选中需要转发的文件,并获得该文件对应的数据文本以及文件来源地址信息,确认文件的转发目标地址,同时对数据文本进行解析得到密文文件会话秘钥和密文文件路径信息,发送方使用自己的私钥或者文件来源群的群会话秘钥对解析得到的密文文件会话秘钥执行非对称或对称解密算法得到文文件会话秘钥,发送方使用转发单聊用户的公钥或者转发群聊的群会话秘钥对文件会话秘钥执行非对称或对称加密算法,得到新的密文文件会话秘钥,同时将新的密文文件会话秘钥和解析得到的密文文件路径信息封装生成数据文本,发送给即时通信服务器,由即时通信服务器转发给转发目标地址。进一步的,文件发送具体包括以下步骤:1.1、发送方选中要发送的文件,并确认文件的目标地址TAddress;1.2、发送方生成一个随机数作为文件会话密钥Key,并使用该文件会话密钥Key对要发送的文件执行对称加密算法,获得相应的密文文件;1.3、发送方将步骤1.2生成的密文文件上传至文件服务器,并得到该文件在文件服务器的路径信息FilePath;1.4、发送方判断目标地址TAddress是单聊用户还是群聊用户组,如果是单聊用户,跳转到步骤1.5;如果是群聊用户组,跳转到步骤1.7;1.5、发送方获得单聊目标用户的公钥,使用公钥对步骤1.2中生成的文件会话密钥Key执行非对称加密算法,生成密文文件会话密钥SKey1;1.6、发送方将密文文件会话密钥SKey1和步骤1.3中获得的文件路径信息FilePath封装生成数据文本,跳转至步骤1.9;1.7、发送方获得群聊组的群会话密钥,使用该群会话密钥对步骤1.2中生成的文件会话密钥Key执行对称加密算法,生成密文文件会话密钥SKey2;1.8、发送方将密文文件会话密钥SKey2和步骤1.3中获得的文件路径信息FilePath封装生成数据文本;1.9、发送方将生成的数据文本发送给即时通信服务器,由即时通信服务器转发给目标地址TAddress。进一步的,发送方调用createRandomKey方法生成固定位数的随机数,并将生成固定位数的随机数作为加密文件的文件会话秘钥Key,调用encryptFile方法并传入参数文件会话秘钥Key,对原始文件执行对称加密算法,生成相应的密文文件。进一步的,发送方调用uploadFile方法上传密文文件至文件服务器,若上传成功则返回该文件在文件服务器上的路径信息FilePath。进一步的,发送方通过getPublicKeyByUser方法获取单聊目标用户的公钥,公钥从本地获取,本地若不存在,则从服务器获取单聊目标用户的公钥。进一步的,发送方通过getKeyByConference方法获取群聊目标的会话秘钥,群聊目标的会话秘钥从本地获取,若本地不存在群聊目标的会话秘钥则从服务器获取。进一步的,创建一个Map对象map,调用put方法将密文会话密钥SKey1和文件路径信息FilePath添加到map中,调用XML工具包中的XMLUtil.map2xml方法将map转换成XML格式的字符串数据,发送方调用即时通信的sendMessage方法将字符串XMLStr发送给即时通信服务器,即时通信服务器对接收的文本进行解析、路由和处理,之后发送给指定的用户。进一步的,文件接收具体包括以下步骤:2.1接收方从即时通信服务器接收到文件消息类型的数据文本,并得到文件来源地址信息FAddress;2.2接收方对数据文本进行解析,得到密文文件会话秘钥SKey和文件路径信息Fil本文档来自技高网
...

【技术保护点】
1.一种即时通信中的文件加密传输与共享方法,其特征在于,包括以下步骤:a、文件发送:发送方确认待发送文件的目标地址信息,发送方随机生成文件会话密钥对待发送文件进行对称加密生成密文文件,将生成的密文文件上传至服务器得到密文文件路径信息,再使用接收方的公钥或者群聊的会话密钥对随机生成的文件会话秘钥执行非对称或对称加密算法生成密文文件会话秘钥,将密文文件会话密钥和密文文件路径信息封装生成数据文本发送给即时通信服务器,由即时通信服务器转发给目标地址;b、文件接收:接收方从即时通信服务器接收文件类型的数据文本,并获得该文件的来源地址信息,接着对数据文本解析得到密文文件会话密钥和密文文件路径信息,接收方根据密文文件路径信息从文件服务器下载相应的密文文件,接收方使用自己的私钥或者文件来源群的群会话秘钥对密文文件会话秘钥执行非对称或者对称解密算法,生成明文文件会话秘钥,再利用得到的密文文件会话秘钥对下载的密文文件执行对称解密算法生成相应的明文文件,文件接收步骤结束;c、文件转发:发送方选中需要转发的文件,并获得该文件对应的数据文本以及文件来源地址信息,确认文件的转发目标地址,同时对数据文本进行解析得到密文文件会话秘钥和密文文件路径信息,发送方使用自己的私钥或者文件来源群的群会话秘钥对解析得到的密文文件会话秘钥执行非对称或对称解密算法得到文文件会话秘钥,发送方使用转发单聊用户的公钥或者转发群聊的群会话秘钥对文件会话秘钥执行非对称或对称加密算法,得到新的密文文件会话秘钥,同时将新的密文文件会话秘钥和解析得到的密文文件路径信息封装生成数据文本,发送给即时通信服务器,由即时通信服务器转发给转发目标地址。...

【技术特征摘要】
1.一种即时通信中的文件加密传输与共享方法,其特征在于,包括以下步骤:a、文件发送:发送方确认待发送文件的目标地址信息,发送方随机生成文件会话密钥对待发送文件进行对称加密生成密文文件,将生成的密文文件上传至服务器得到密文文件路径信息,再使用接收方的公钥或者群聊的会话密钥对随机生成的文件会话秘钥执行非对称或对称加密算法生成密文文件会话秘钥,将密文文件会话密钥和密文文件路径信息封装生成数据文本发送给即时通信服务器,由即时通信服务器转发给目标地址;b、文件接收:接收方从即时通信服务器接收文件类型的数据文本,并获得该文件的来源地址信息,接着对数据文本解析得到密文文件会话密钥和密文文件路径信息,接收方根据密文文件路径信息从文件服务器下载相应的密文文件,接收方使用自己的私钥或者文件来源群的群会话秘钥对密文文件会话秘钥执行非对称或者对称解密算法,生成明文文件会话秘钥,再利用得到的密文文件会话秘钥对下载的密文文件执行对称解密算法生成相应的明文文件,文件接收步骤结束;c、文件转发:发送方选中需要转发的文件,并获得该文件对应的数据文本以及文件来源地址信息,确认文件的转发目标地址,同时对数据文本进行解析得到密文文件会话秘钥和密文文件路径信息,发送方使用自己的私钥或者文件来源群的群会话秘钥对解析得到的密文文件会话秘钥执行非对称或对称解密算法得到文文件会话秘钥,发送方使用转发单聊用户的公钥或者转发群聊的群会话秘钥对文件会话秘钥执行非对称或对称加密算法,得到新的密文文件会话秘钥,同时将新的密文文件会话秘钥和解析得到的密文文件路径信息封装生成数据文本,发送给即时通信服务器,由即时通信服务器转发给转发目标地址。2.根据权利要求1所述的一种即时通信中的文件加密传输与共享方法,其特征在于,文件发送具体包括以下步骤:1.1、发送方选中要发送的文件,并确认文件的目标地址TAddress;1.2、发送方生成一个随机数作为文件会话密钥Key,并使用该文件会话密钥Key对要发送的文件执行对称加密算法,获得相应的密文文件;1.3、发送方将步骤1.2生成的密文文件上传至文件服务器,并得到该文件在文件服务器的路径信息FilePath;1.4、发送方判断目标地址TAddress是单聊用户还是群聊用户组,如果是单聊用户,跳转到步骤1.5;如果是群聊用户组,跳转到步骤1.7;1.5、发送方获得单聊目标用户的公钥,使用公钥对步骤1.2中生成的文件会话密钥Key执行非对称加密算法,生成密文文件会话密钥SKey1;1.6、发送方将密文文件会话密钥SKey1和步骤1.3中获得的文件路径信息FilePath封装生成数据文本,跳转至步骤1.9;1.7、发送方获得群聊组的群会话密钥,使用该群会话密钥对步骤1.2中生成的文件会话密钥Key执行对称加密算法,生成密文文件会话密钥SKey2;1.8、发送方将密文文件会话密钥SKey2和步骤1.3中获得的文件路径信息FilePath封装生成数据文本;1.9、发送方将生成的数据文本发送给即时通信服务器,由即时通信服务器转发给目标地址TAddress。3.根据权利要求2所述的一种即时通信中的文件加密传输与共享方法,其特征在于,发送方调用createRandomKey方法生成固定位数的随机数,并将生成固定位数的随机数作为加密文件的文件会话秘钥Key,调用encryptFile方法并传入参数文件会话秘钥Key,对原始文件执行对称加密算法,生成相应的密文文件。4.根据权利要求2所述的一种即时通信中的文件加密传输与共享方法,其特征在于,发送方调用uploadFile方法上传密文文件至文件服务器,若上传成功则返回该文件在文件服务器上的路径信息FilePath。5.根据权利要求2所述的一种即时通信中的文件加密传输与共享方法,其特征在于,发送方通过getPublicKeyByUser方法获取单聊目标用户的公钥,公钥从本地获取,本地若不存在,则从服务器获取单聊目标用户的公钥。6.根据权利要求2所述的一种即时通信中的文件加密传输与共享方法,其特征在于,发送方通过getKeyByConference方法获取群聊目标的会话秘钥...

【专利技术属性】
技术研发人员:李金库朱栽绍马建峰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1