基于独立加密的网络信息安全输入系统和方法_3

文档序号:9754617阅读:来源:国知局
,并点击加密按钮,安全输入法终端,会自动将明文转换为密文。具体需要做以下操作。
[0080]1、这个过程中,安全输入法终端,会获取接收者第三方运营商账号和安全输入法终端的版本号,应用签名,终端唯一编号,并将此信息使用证书加密并签名后,通过HTTP发送到安全输入法服务端。
[0081]2、服务端获取根据请求,验签请求是否合法,并解密出接收者账号并保存,同时随机生成SM4加密秘钥并保存,同时保存当时时间点,精确到微妙并加4位随机数保存;最终将SM4秘钥和时间加四位随机数,加密签名后返回给终端。
[0082]3、终端对返回数据,做验签和解密处理,获取到SM4秘钥。使用SM4加密名为,并将时间加四位随机数拼接到发送信息最末尾。
[0083]4、当用户发送信息时,会将明文和时间加四位随机数通过第三方运营商发送到目标用户。
[0084]图3是安全输入法加密数据流程图,具体执行过程如下:
[0085]EOOl安全输入法客户端接收安全传输信息(属于输入法模块)
[0086]E002根据api接口封装获取加密秘钥请求JSON请求字符串。包括应用版本号、应用MD5签名、本机时间、设备唯一编号、第三方应用编号、混淆码。(属于内容加解密模块)
[0087]E003使用安全输入法客户端新获取的pfx证书私钥JSON请求签名,并使用https网络请求方式,发送请求到安全输入法服务器端。(属于内容加解密模块)
[0088]E004安全输入法服务器端获取请求信息,根据客户端不同的客户,在数据库中获取对应的安全输入法客户端pf X证书公钥。(属于数据访问模块)
[0089]E005验签上送请求。验签失败时,返回签名无效。验签通过时执行E007步(属于数据访问模块)
[°09°] E006安全输入法客户端显示签名无效,不能加密加密数据信息(属于输入法模块)
[0091]E007随机生成sm4加密秘钥、获取服务器时间等信息,使用安全输入法客户端pfx公钥加密返回信息,存储当前服务器时间和第三方账到导数据中。对返回数据使用安全输入法服务器端PfX证书私钥签名,通过https返回到安全输入法客户端。(属于数据访问模块)
[0092]E008安全输入法客户端获取返回信息。(属于内容加解密模块)
[0093]E009使用安全输入法服务器端pf X公钥验证签名是否有效。签名无效时执行EOlO步,签名有效时执行EOl I步。(属于内容加解密模块)
[0094]EOlO显示签名无效不能进行数据加密。(属于输入法模块)
[0095]EOl I使用安全输入法客户端pfx证书私钥解密数据,获取sm4加密秘钥和安全输入法服务器端时间。(属于内容加解密模块)
[0096]E012使用sm4加密需要安全传输的信息(属于内容加解密模块)
[0097]E013在安全输入法客户端显示加密后密文(属于输入法模块)
[0098]E014使用第三方应用客户端发送信息到第三方应用后台服务器
[0099]E015第三方应用服务器接受第三方应用客户端信息
[0100]E016第三方应用服务器根据请求转发信息到对应的目标第三方应用客户端。
[0101]接收信息解密:
[0102]目标用户接收到信息后,密文是不能直接读取的,目标用户只需要选择密文部分,即可解密出相应的明文。这个过程中,目标用户端,需要做以下几步操作:
[0103]1、目标用户,将获取自己的第三方运营商账号,这个操作不是用户可以操作的,是安全输入法终端自己完成。并且截取时间加四位随机数,再拼接上版本号、应用MD5编号、移动终端唯一编号;使用证书加密签名后发送到安全输入法服务。
[0104]2、安全输入法服务器接收到数据后,实现验签后,解析出相关内容,比对当前账号在上送时间点上是否有信息发送过,如果有过,就返回给用户的SM4的密码,当然此密码也是通过证书加密并签名处理。
[0105]3、目标用户终端接收到信息,验签解密获取到SM4的秘钥。通过此秘钥解密出明文信息并呈现给用户。
[0106]4、此过程似乎很复杂,实际上用户只是选择了解密信息和点击了解密按钮,简单的操作,发送双发只需要简单地几步操作即可完成信息的安全传输。至此一套信息安全传输过程完成。
[0107]图4是安全输入法解密流程图,具体执行过程如下:
[0108]DOOl第三方应用服务器根据请求转发信息到对应的目标第三方应用客户端
[0109]D002第三方应用客户端目标应用接受第三方应用服务器端数据加密信息和服务器端时间
[0110]D003安全输入法客户端获取第三方应用客户端目标应用接受到的数据(属于输入法模块)
[0111]D004发送获取sm4解密秘钥请求到安全输入法服务器端,上送信息根据api接口封装为对应JSON字符串数据,使用安全输入法客户端pf X私钥签名并发送。JSON字符串包括版本号、应用MD5、服务器时间、设备唯一编号、第三方应用账号、混淆码。(属于内容加解密模块)
[0112]D005安全输入法服务器端获取数据。(属于数据访问模块)
[0113]D006使用安全输入法客户端pfx公钥判断签名是否有效。验签无效时调用D007步,验签通过时,执行D008步。(属于数据访问模块)
[0114]D007请求数据无效,解密数据失败(属于输入法模块)
[0115]D008解析数据,获取第三方应用账号和服务器时间(属于数据访问模块)
[0116]D009根据第三方应用账号和服务器时间在数据库中获取解密sm4秘钥。(属于数据访问模块)
[0117]DOlO使用安全输入法客户端pfx公钥加密sm4秘钥,并根据api接口封装返回接口数据,使用安全输入法服务器端Pfx私钥签名返回数据,并返回。(属于数据访问模块)
[0118]DOl I安全输入法客户端获取返回信息(属于内容加解密模块)
[0119]D012使用安全输入法服务器端pfx公钥验证签名是否有效,签名无效时执行D015步。签名有效时执行D013步。(属于内容加解密模块)
[0120]D013使用安全输入法客户端pfx证书私钥解密sm4密文,获取sm4密钥(属于内容加解密模块)
[0121]D014使用sm4密钥解密第三方应用客户端加密数据(属于内容加解密模块)
[0122]DO15解密失败(属于输入法模块)
[0123]D016显示解密数据(属于输入法模块)。
[0124]网络信息安全输入法只实现传输信息的秘钥管理服务,对于传输信息本方法进行独立加密(见图5),对于用户输入内容,安全输入法服务端无法获取。用户需要发送信息,还是通过原有的途径传输,但是对于运营商等第三方来说(见图5),信息内容也无法获取。这是因为信息被加密处理,而秘钥却保存在安全输入法服务端。只有当信息传输运营方和安全输入法服务端都被攻破的情况下,信息才有可能被解码。因此,通过两个不同的独立通道,保证用户信息网络传输的安全性。
[0125]用户获取到的每一次sm4密钥都是随服务器时间随机变动,不用担心一次密钥丢失,导致所有信息泄露的问题,保证用户每次发送信息的安全性。加密数据根据加密服务器时间变动,保证加密降低加密数据被暴力破击的可能性。如果有一条秘钥泄露只会影响一条数据,保证整体信息不回全部泄露。最大限度保证数据的安全。
[0126]本发明可以使用其他加密方式,可以使用现有成熟加密算法,防止某些场景的不可用性。可以依附于输入法,也可以配合任何其他应用或者软件使用,使用效果不变。使用时,可以直接调用安全输入法后台api直接使用。只要保证接口完整,前端不分载体。其他应用或者软件使用时,可以自主开发,也可以使用公用方法。调用接口没有局限性。还可将不同的秘钥服务器放在不同的云服务中
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1