关于如何安全网络验证的想法
Posted xieyi1393
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于如何安全网络验证的想法相关的知识,希望对你有一定的参考价值。
现在很对付费软件都是用的他人的网络验证系统,但是很多系统安全性并不高,更有甚者使用HTTP+MD5来做数据验证,下文我们就来谈一谈如何安全地实现网络验证
STEP1.生成注册码
当软件被购买时生成一个带有签名数字证书并提供给用户
STEP2.上传到软件验证服务器
将数字签名上存放的软件序列号,软件激活码,以及机器码,时间戳,随机Nonce,新的公钥和使用私钥签名过的哈希一同上传到软件验证服务器
STEP3.软件验证服务器下发临时许可证
软件服务器使用提供的信息签发一个新的数字证书并下发给用户,数字证书的有效日期不要太长,一般1天-1周即可.此证书的过期时间不要超过购买时下发证书的有效期。软件将缓存此秘钥直到过期。如果有未过期的缓存的秘钥将会跳过第2,3步
STEP4.软件向时间服务器请求当前时间
软件生成CHALLENGE_CODE并发给时间服务器,时间服务器发回时间,经数字签名过的[CHALLENGE_CODE与当前时间的哈希]发回客户端,客户端验证后即可进入主逻辑
以上是关于关于如何安全网络验证的想法的主要内容,如果未能解决你的问题,请参考以下文章