一种数据加解密方法及系统与流程

文档序号:12478119阅读:1416来源:国知局

本发明涉及网络数据加解密领域,具体涉及一种数据加解密方法及系统。



背景技术:

随着智能手机的普及的快速发展,智能手机已经能够为人们提高诸多业务(例如在手机上浏览邮件、查看洽谈交易信息等)。随着智能手机的普及,越来越多的人们已经逐渐习惯用手机代替电脑进行业务交互。

但是,采用智能手机与电脑进行业务交互的重要区别在于:电脑是固定的,智能手机是可移动的。该重要区别会使得智能手机在非指定位置查看规定只能在指定位置查看的信息,其安全存在一定隐患。

例如:某公司规定,公司人力资源部分发给员工的邮件内容只能在公司的办公室查阅,此时若员工通过公司办公室的电脑接收邮件查阅,则没有问题;但是若员工通过智能手机接收邮件、且自身处于公司办公室之外的地域,此时查阅邮件则会发生在非指定位置查看规定只能在指定位置查看的信息。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:控制原始数据的查阅位置,只有用户处于指定位置时,才能查阅原始数据;若用户处于非指定位置,则无法查阅原始数据。

为达到以上目的,本发明提供的数据加解密方法,包括以下步骤:

S1:服务端设置查阅原始数据时所在的指定位置数据;

S2:服务端通过消息摘要算法对所述指定位置数据进行计算,得到原始数据的解密KEY:KEY1;

S3:服务端将原始数据和KEY1进行关联,形成待加密数据;

S4:服务端通过加密算法对待加密数据进行加密,形成加密密文,将加密密文发送至客户端;

S5:客户端通过消息摘要算法对当前位置数据进行计算,得到当前KEY:KEY2;

S6:客户端根据与S4中加密算法对称的解密算法,通过KEY2对加密密文进行解密,得到解密明文。

本发明提供的实现上述方法的数据加解密系统,包括位于服务端上的原始数据查阅条件设置模块、解密KEY计算模块、原始数据关联模块和原始数据加密模块、以及位于客户端上的当前KEY计算模块和原始数据解密模块;

原始数据查阅条件设置模块用于:设置查阅原始数据时所在的指定位置数据,向解密KEY计算模块发送解密KEY计算信号;

解密KEY计算模块用于:收到解密KEY计算信号后,通过消息摘要算法对所述指定位置数据进行计算,得到原始数据的解密KEY:KEY1,向原始数据关联模块发送原始数据关联信号;

原始数据关联模块用于:收到原始数据关联信号后,将原始数据和KEY1进行关联,形成待加密数据,向原始数据加密模块发送原始数据加密信号;

原始数据加密模块用于:收到原始数据加密信号后,通过加密算法对待加密数据进行加密,形成加密密文,将加密密文发送至客户端,向当前KEY计算模块发送当前KEY计算信号;

当前KEY计算模块用于:收到当前KEY计算信号后,通过消息摘要算法对当前位置数据进行计算,得到当前KEY:KEY2,向原始数据解密模块发送原始数据解密信号;

原始数据解密模块用于:收到原始数据解密信号后,根据与原始数据加密模块中加密算法对称的解密算法,通过KEY2对加密密文进行解密,得到解密明文。

与现有技术相比,本发明的优点在于:

本发明预先将原始数据加密,将查阅原始数据的指定位置数据形成解密KEY。在此基础上,只有用户到达指定位置时,才能够以当前位置数据形成的当前KEY正确解密原始数据(因为此时当前位置与指定位置相同,即当前KEY与解密KEY相同),若用户未到达指定位置,则当前位置错误,此时以当前位置数据形成的当前KEY无法对原始数据进行正确解密(因为此时当前位置与指定位置不同,即当前KEY与解密KEY不同)。

有鉴于此,本发明能够严格控制原始数据的查阅位置,当用户处于非指定位置时,无法查阅原始数据,原始数据的信息安全得到了保障。

附图说明

图1为本发明实施例中数据加解密方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

首先对LBS(Location Based Service,基于位置服务)做出简要说明,LBS是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。

在此基础上,参见图1所示,本发明实施例中的数据加解密方法,包括以下步骤:

S1:服务端设置查阅原始数据(例如邮件、合同的具体内容等)时所在的指定位置数据,指定位置数据为查阅原始数据时所在地的经度和纬度组合形成的字符串。例如设置查看数据的位置为北京,经度116.403,纬度39.924,(考虑到精度范围,本实施例对经度和纬度取值为小数点后3位)将其组合成字符串的形式如下:“11640339924”。

S2:服务端通过消息摘要算法(本实施例中为MD5,Message Digest Algorithm MD5,即消息摘要算法第五版)对指定位置数据进行计算,得到原始数据的解密KEY:KEY1,KEY1的长度为16个字节的字符串;例如:KEY1=MD5(“11640339924”),其中11640339924为S1中的字符串。

S3:服务端将原始数据和KEY1进行关联,形成待加密数据。

S4:服务端通过加密算法(本实施例中为AES加密算法,Advanced Encryption Standard,高级加密标准算法)对待加密数据进行加密,形成加密密文,将加密密文发送至基于LBS技术的智能手机。形成加密密文的具体流程为:EncryptData=AesEncrypt(SrcData,KEY1);其中EncryptData为加密密文,AesEncrypt是AES加密算法提供的加密函数接口,SrcData为原始数据,(SrcData,KEY1)为关联后的待加密数据。

S5:用户预估达到查阅原始数据所在的位置后,控制智能手机获取当前位置数据,当前位置数据为当前所在地的经度和纬度形成的字符串;将当前经度和纬度组合形成字符串后,通过消息摘要算法对当前位置数据进行计算,得到当前KEY:KEY2,KEY2的长度为16个字节的字符串。

S6:智能手机根据与S4中加密算法对称的解密算法(即AES解密算法),通过KEY2对加密密文进行解密,得到解密明文;具体流程为:SrcData=AesEncrypt(EncryptData,KEY2);其中SrcData为解密明文。

S7:智能手机判断解密明文是否为乱码,若是,则证明KEY2错误(即KEY2与KEY1不同,也就是说当前位置不是指定位置),此时提示用户当前位置错误,用户更换位置后重新执行S5;否则证明KEY2正确(用户到达指定位置),确认解密明文正确,显示解密明文,结束。

本发明提供的实现上述方法的数据加解密系统,包括位于服务端上的原始数据查阅条件设置模块、解密KEY计算模块、原始数据关联模块和原始数据加密模块、以及位于客户端上的当前KEY计算模块、原始数据解密模块和原始数据鉴别模块。

原始数据查阅条件设置模块用于:设置查阅原始数据时所在的指定位置数据(经度和纬度组合形成的字符串),向解密KEY计算模块发送解密KEY计算信号;

解密KEY计算模块用于:收到解密KEY计算信号后,通过消息摘要算法对所述指定位置数据进行计算,得到原始数据的解密KEY:KEY1(16个字节的字符串),向原始数据关联模块发送原始数据关联信号;

原始数据关联模块用于:收到原始数据关联信号后,将原始数据和KEY1进行关联,形成待加密数据,向原始数据加密模块发送原始数据加密信号;

原始数据加密模块用于:收到原始数据加密信号后,通过加密算法对待加密数据进行加密,形成加密密文,将加密密文发送至客户端,向当前KEY计算模块发送当前KEY计算信号;

当前KEY计算模块用于:收到当前KEY计算信号后,通过消息摘要算法对当前位置数据(经度和纬度组合形成的字符串)进行计算,得到当前KEY:KEY2(16个字节的字符串),向原始数据解密模块发送原始数据解密信号;

原始数据解密模块用于:收到原始数据解密信号后,根据与原始数据加密模块中加密算法对称的解密算法,通过KEY2对加密密文进行解密,得到解密明文。

原始数据鉴别模块用于:判断原始数据解密模块得到的解密明文是否为乱码,待当前位置变更后重新向当前KEY计算模块发送当前KEY计算信号;否则显示解密明文。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1