首页 新闻 会员 周边

windows程序中加密密钥一般怎样处理?是存储在本地的文件中还是存储在服务器,还是固化在一个dll文件中?

0
悬赏园豆:5 [待解决问题]

windows程序中加密密钥一般怎样处理?是存储在本地的文件中还是存储在服务器,还是固化在一个dll文件中,存储在本地怎么样确保安全性?一般的游戏都是怎样处理这种问题的,是固化在.dll文件中然后定期更新文件吗?

门外徘徊的主页 门外徘徊 | 初学一级 | 园豆:197
提问于:2013-08-08 17:51
< >
分享
所有回答(1)
0

看你是哪种类型的加密,如果只是授权类型的,就用机器码加密, 然后保存在客户端即可(可以对客户可见)...

对于winform,多用非对称加密,把公钥存储在客户端即可,这个本身就不是私密信息。

幻天芒 | 园豆:37175 (高人七级) | 2013-08-08 18:43

不好意没说清楚,我现在用的公钥加密,现在想问私钥在客户端应该怎样存储才是安全的?

支持(0) 反对(0) 门外徘徊 | 园豆:197 (初学一级) | 2013-08-09 11:32

@门外徘徊: 建议换成私钥加密,将公钥放在客户端。

如果私钥在客户端,那么要破解也需要知道公钥,还是不太容易的~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-08-09 12:11

@幻天芒: 这个是什么意思?能不能说清楚点啊?windows有没有给提供安全机制来存储私钥??

支持(0) 反对(0) 门外徘徊 | 园豆:197 (初学一级) | 2013-08-09 12:36

@门外徘徊: 注册表算不算?哈哈~

1、首先:非对称加密的公钥一般是公开的,自己保留私钥。所以对于Winform,一般是私钥加密,然后公钥在客户端明文存储都不是问题。

2、就是你的这种情况,私钥放在客户端,那么就算是破解,也还需要知道公钥啊,如果你保管好公钥即可;

3、对于如何对私钥加密,你可以用其他对称加密算法,加密一次就行。这样也就增加了破解了难度。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-08-09 13:10

@幻天芒: 

我现在就是想做通信,用公钥加密通信的内容,然后用私钥解密获得信息,通信是双向的,所以双方都需要知道对方的公钥(用来加密通信的内容),发送方使用接收方的公钥进行加密,接收方用自己的私钥进行解密,所以私钥要在本地存储,但怎样存储才安全呢?假如说用对称加密对私钥进行加密,那么我想问下对称加密所用的加密密钥是怎样生成的呢?是固定的吗?所有的客户端都是用相同的对称加密密钥?这样子能安全吗?再就是https这种协议他们的私钥应该也是在本地存储的吧,但是他们是怎样存储的呢?

支持(0) 反对(0) 门外徘徊 | 园豆:197 (初学一级) | 2013-08-09 17:11

@门外徘徊: 1、就算是通信,也可以做到私钥自己保留;客户端->服务器(公钥加密);服务器->客户端(私钥加密)。

2、对称加密,一般来说密钥是一样的,你也可以根据客户机硬件,算一个密钥;

3、Https,貌似是证书,大概是windows在管理吧,这个我不清楚;

4、就算把密钥写在程序中,混淆后,也还是比较安全的。如果获取到了密钥,那你的程序也被破解。用不用密钥都不太重要了~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-08-09 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册