作者superlubu (叔叔你人真好)
看板java
标题Re: [问题] 用JCE来加密网路讯息
时间Tue Mar 11 11:37:39 2008
※ 引述《prodigywu (Soccer Fever)》之铭言:
: 我希望server client彼此互相传递讯息前
: 都先将讯息加密传出去
: 对方收到後再解密
: 但是有点疑惑需要解答
: 我想用JCE的DES来加密
: 那我势必要把key送给对方
: 可是要怎麽样才能把key安全的送给对方呢?
: 第二个问题是说
: 产生key的过程会很耗时间吗?
: 我的server跟client会大量地互相交换讯息(字串的长度都不会很大)
: 如果每传一个讯息就产生一个新的key
: overhead会不会很大呢?
: 感谢回答~
我以前的做法是这样的:
1. Client connect to Server.
2. Server generate a public-private RSA key pair (PublicKeyA, PrivateKeyA)
3. Server send the public (PublicKeyA) key to client in PLAIN format
4. Client generate a public-private RSA key pair (PublicKeyB, PrivateKeyB)
5. Client encrypt the PublicKeyB with PublicKeyA
6. Client send the encrypted key to Server
7. Server get a secured PublicKeyB by decrypt the received data with its own
PrivateKeyA
8. Server generate a DES key
9. Server encrypt the DES key with PublicKeyB
10. Server send the encrypted DES key to Client
11. Client than get a secured DES key
然後每半小时或十分钟利用已交换的 RSA key 去重新确认新的 DES key 便可
--
劲过吕布的劲过相簿...
http://www.pixnet.net/superlubu
乱七八糟的,不好意思 m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 147.8.130.225
1F:推 wctang:如果C/S彼此完全没信任资讯,如何相信PubKeyA是可信任的? 03/11 11:43
2F:→ superlubu:没有 :P 就算是用 cert 去 verify 还是可能会在中继被骗 03/11 11:49
3F:推 pao0111:推这篇... 03/12 13:22