一个客户端服务器的程序,双方进行通信,内容全部进行加密,客户端的密钥应该如何部署到客户端?
1、把密钥加密然后写入文件(问题:加密"密钥"不是又要用到新的密钥吗,又放哪里呢?)
2、直接写入到程序中的常量中(问题:安全吗?)
有什么好的方法吗?
可以像银行那样,给客户一个U盘,上面有密匙
"给客户一个U盘",这是个相对来说比较安全的办法,但是也是一个比较麻烦的办法,而且还是有问题的,比如U盘掉了(被别人捡了,不就泄漏了吗),你也不能保证每个客户都不会泄漏你的密匙,如果有很多客户呢,那会要多少优盘?
U盘地密匙和用户名密码配对,就算泄漏也只影响着一个客户,你可以在服务端检测同一个用户不能同时登陆多次
如果有很多客户呢,那会要多少优盘?这个当然要考虑到成本呀。你可以10个以内免费,增加一个多少钱,跟换一个多少钱。具体要你去和客户协商。
可以通过输入用户名,密码验证后由服务器传一个密钥给客户端
那么第一次发送的用户名和密码就没经过加密了,如果别人也写一个类似的程序,往服务器上发送用户名和密码,不就可以得到密钥了吗?