1
WernerLi 2014-09-29 23:39:08 +08:00
有一个问题,设备间传输私钥是不是通过Apple服务器的?是的话理论上也是可以拦截的,不是的话又是怎么传输的?
|
3
yyfearth 2014-09-30 03:37:13 +08:00
@WernerLi 可以用非对称加密 只传递PubKey啊
每个设备生成自己的Pub/Private Key Pair 然后Apple服务器通过帐号分发PubKey不就好了 拦截了 也是拦截PubKey 照样是加密了不可解密 |
4
yishanhe 2014-09-30 04:37:48 +08:00
http://support.apple.com/kb/HT4865
@Heracles 我觉得设备之间应该是有共享的secret key 这个 secret key 应该是 @WernerLi 说的这样,应该是每个设备有pub/private key pair,然后用Diffie–Hellman key exchange交换这么一个secret key,这个secret key是用来做对称加密得,比如AES128/256 @WernerLi 拦截这种,对于中间人攻击,都是通过证书和CA来验证apple服务器,确认再协商key得阶段是再和真正得server通信,一旦key exchange顺利完成,可以认为接下来得通信是安全得 |
5
wy315700 2014-09-30 08:58:05 +08:00
发现LZ文章里的几个逻辑错误。
PGP加密方式是先用自己的私钥签名,然后用对方的公钥加密。 如果先用对方的公钥加密,再用自己的私钥签名的话,攻击者获取消息以后,可以用你的公钥解密后再用他自己的私钥进行签名,发给对方。 如果先用自己的私钥签名,再用对方的公钥加密后,攻击者拿到消息以后做不了任何事情。(重放除外) 然后我想知道LZ是如何删除imessage的私钥的。 端对端加密不需要共享私钥。 端对端加密真正的意义是 A要和B发消息,先通过某种手段双方交换密钥,然后使用该密钥进行加密。 而交互密钥的过程必须能够防御中间人攻击。有很多这种公开的密钥交互机制,比如ECDHE等。 至于imessage支持多终端在线,你把他们看做是不同的人,发送端发消息的时候同时给多个人发而已,但是对每个人还是要单独进行一次密钥交换的。 最后,苹果想要查看消息,压根不需要在加密上做文章。整个ios,Mac OSX都是他的,只要有某种手段将消息发给服务器就可以了。 |
6
Heracles OP |
8
yarshure 2014-10-05 16:48:38 +08:00
怎么可能共享私钥的? 密码学没学习过吧?
多设备共享msg 是每个设备都发一次,用对应设备的公钥,设备收到用自己的private 解密。 |
9
yishanhe 2014-10-08 10:33:04 +08:00
我今天无意中读到这篇post,大家有兴趣可以看看
http://blog.cryptographyengineering.com/2014/10/why-cant-apple-decrypt-your-iphone.html |
10
yishanhe 2014-10-08 10:59:29 +08:00 1
latest white paper about iOS security
https://www.apple.com/privacy/docs/iOS_Security_Guide_Oct_2014.pdf |