首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Apple

国区的 iMessage 到底有没有端对端加密?

  •  
  •   charonfletcher · 164 天前 · 6024 次点击
    这是一个创建于 164 天前的主题,其中的信息可能已经有所发展或是发生改变。
    都说 iMessage 是有端对端加密的

    但是在国内有端对端加密的 IM app 都死绝了

    所以说国内的 iMessage 有没有端对端加密?还是说处于想看就能看的状态?

    另外如果国内用户和国外用户聊天的话 这段对话会被加密吗?
    58 回复  |  直到 2019-05-17 00:01:14 +08:00
        1
    figg   164 天前   ♥ 1
    都皈依云上贵州了,说有我是不信的
        2
    jadec0der   164 天前
    端对端加密应该是有的。只是密钥不知道给了谁而已 →_→
        3
    Lin0936   164 天前   ♥ 3
    cc BigBrother
        4
    acupnocup   164 天前 via iPhone
    应该说比其它 APP 更加安全,毕竟只有老大哥能看,而微 X 不但老大哥看,还有一堆不相关的鸟人在看。
        5
    nobb519   164 天前
    密钥。。。 已经移交了。就是宇宙级加密,也没问题的呀
        6
    StanLin   164 天前   ♥ 2
    "Apple doesn ’ t log the contents of messages or attachments, which are protected by end-to-end encryption so no one but the sender and receiver can access them. Apple can ’ t decrypt the data."

    https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf
        7
    x86   164 天前 via iPhone
    iMessage 也算 IM ?
        8
    StanLin   164 天前
    再来看看对 iCloud 的描述。

    "Each file is broken into chunks and encrypted by iCloud using AES-128 and a key derived from each chunk ’ s contents that utilizes SHA-256. The keys and the file ’ s metadata are stored by Apple in the user ’ s iCloud account. The encrypted chunks of the file are stored, without any user-identifying information or the keys, using both Apple and third-party storage services."
        9
    GermXu   164 天前
    @StanLin 可以看国区说明已经不是 iCloud 了, 由云上贵州运营
        10
    eriko   164 天前 via iPhone
    不管怎么样,苹果应该是有些底线的
        11
    bestkayle   164 天前 via iPhone
    @eriko #10 棱镜门?
        12
    mschultz   164 天前   ♥ 1
    这个问题有点像「酸酸(乳)是不是被精准识别了」之类的问题
    基本不太可能有高说服力高可信的信源来回答,讨论来讨论去还是都在猜测,可能谁也说不过谁😂
        13
    Windelight   164 天前 via Android
    请问光明方正的 Skype 有 E2E 加密?
        14
    ZacharyZong   164 天前 via iPhone   ♥ 6
    之前问过苹果天才吧,仅供参考:
    大概意思是保证通信双方都未开启 iCloud 同步信息时(仅使用 iPhone 收发信息,不同步到 iPad、Mac 等),才满足无法破解的端对端加密,否则数据都是要走 iCloud 的。
    而中国的 iCloud 数据放在云上贵州服务器上,密钥也已经移交过来了,此时 iMessage 相比于其他聊天 app 的安全性仅限于老大哥是否主动使用移交过来的密钥进行解密查询。国内其他 app 是直接把消息和🚔联网的。
        15
    geniussoft   164 天前
    @StanLin 已经十分明确了,谢谢。
        16
    edgnoz   164 天前
    @eriko 啥叫底线?在天朝,可以让它没有底线。表面可以让你装,但是私下让你脱裤子你还得脱。
        17
    miaomiao888   164 天前
    @eriko 有底线就不会有云上贵州了
        18
    gstqc   164 天前   ♥ 1
    有啊,而且比国际版更强
    是 [端对端对端] 加密
        19
    morethansean   164 天前
    @ZacharyZong #14
    突然觉得其实天才吧的人知道很多啊 2333 以前以为就是销售呢...
        20
    charonfletcher   163 天前 via Android
    @ZacharyZong 这样啊,明白了,谢谢
        21
    ShuangFan   163 天前
    国人无隐私~完毕
        22
    Jumper   163 天前   ♥ 1
    隐私是什么? 就连营销电话都可以把个人的家底摸的清清楚楚。
        23
    suriv520   163 天前   ♥ 6
    这么说吧,如果你说的端到端是指只有你和对方的设备上能解密,那这是不可能的。

    不是实现问题、不是算法问题,更不是技术问题,也不以苹果的意志为转移。

    别说 iMessage 这种云服务,连境内合法销售的个人电脑、平板、手机上的 TPM/加密芯片硬件都必须是国内指定的公司生产的,这可是可信计算的基石,NTZ TPM 了解一下? www.nationz.com.cn
    微软的 BitLocker 和苹果的 FileVault 都是军工级别的加密对吧?这些 xxx 位的加密确实是军工级别的不假,但是生成与保管密钥的底层硬件都是这些公司的哦~

    你是不是听说美帝解锁不了 iPhone 手机?觉得 iPhone 安全措施牛逼?但是严格按照法规来讲,非国行的里有些硬件是不合法的哦~

    我们有非常多的法规和条例对 IDC 进行数据披露方面的规范,比如:
    http://www.oscca.gov.cn/sca/xxgk/1999-10/07/content_1002578.shtml

    如果 lz 是做过与 IDC 相关、平台相关的工作就非常清楚了,在法律框架下配合并提供数据给执法机构,并不是可选项,而是强制硬性规定的哦。

    留意一下,咱们是就事论事。我上面只陈述事实(我觉得对于从业者来说应该是共识了),勿断章取义过分解读哈~

    抱歉虽然没回答 iMessage 的问题,但这个细节问题我个人觉得不那么重要了:)
        24
    fvckDaybyte2   163 天前
    所以大陆的 imessage 和非大陆的聊天还是经过贵州?
        25
    CocoTaka   163 天前 via iPhone
    那是不是美区 ID 就没事了?那么美区和国区的通过 iMessage 通讯呢?
        26
    1002xin   163 天前
    额,不是云上贵州,那就还好
        27
    charonfletcher   163 天前
    @suriv520 具体的问题我已经明白了,但还是很感谢您的补充。(不是在乎这个东西绝对安全与否,而是好奇这个加密机制的问题,我是真的小白
        28
    charonfletcher   163 天前
    @CocoTaka
    @fvckDaybyte2
    这个问题的话,看上面的回复应该可以明白了吧
        29
    bao3   162 天前 via iPhone
    @charonfletcher #28 楼主,首先现在的通信软件都是多端登入,一有消息,多个终端都提醒你。所以,imsg 必定不是端到端加密。你如果想知道端到端到底是什么概念,可以安装 telegram,然后也多端登入,聊天时选加密,此时只有发起那个终端才会收到通知并且解密信息,其他终端收不到。bbm 也有同样效果。目前除了这俩玩意,其他聊天软件还没发现是真正的端到端加密
        30
    shehuizhuyi   162 天前 via iPhone
    @bao3 WhatsApp 多端可以 不过手机必须在线状态
        31
    agagega   162 天前 via iPhone
    @bao3 Signal 能多端收到
    @suriv520 想起了二十多年前的美国,开源个密码算法差点有牢狱之灾
        32
    zzyzxd   162 天前
    @bao3 为什么多终端就不行?如果接收方有多个设备,那么发送方和接收方的每个设备之间都是独立的端到端加密。与其瞎猜不如读文档: https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf
        33
    bao3   162 天前 via iPhone
    @zzyzxd #32 那是端到多端,显然不说端到端,加密已经没有意义。端到端加密,应该两端才能加密解密,而非多终端都解密,这对安全没有任何意义。
        34
    bao3   162 天前 via iPhone
    @shehuizhuyi #30 端到多端一点也不难,任意聊天软件都可以实现,而端到端才难。端到多端,显然是一个加密信息,被多终端解密和展示;端到端,则是一条加密信息,在面临多终端时,仅仅展示在特定一个终端,其他终端不做信息展示。
    回过头来想想,端到多端加密如果所有终端都能展示加密信息,那么端到端加密的意义何在?
        35
    fluffypanda   161 天前
    @bao3 imessage 就是端到端,没有什么端到多端。如果你有 3 个端那消息就是发 3 次,每条都是端到端。
    如果你想只有一个终端,那你可以把手机号在另外的设备上去掉。
        36
    dream10201   161 天前
    加密肯定是加密了的,只是,它们要看也只是去查一下而已
        37
    bao3   161 天前 via iPhone
    @fluffypanda #35 一条消息,多次发送,这个就是端到多端了,等于一个信息内容,多次展示在不同终端。这个和端到端是不同的。是的,每一条都是端到端,但是,no,合起来就是端到多端。端到端的信息不回发送给任何其他终端,即便其他终端使用同一个 ID 登入。
        38
    iloveoovx   161 天前 via Android
    @suriv520 那三星的 knox 熔断机制呢?还是国内外会不同?如果敏感的话是不是应该直接买美版?
        39
    fluffypanda   161 天前
    @bao3 我只听过 https://en.wikipedia.org/wiki/End-to-end_encryption, 真的没有什么端到多端。
    iMessage 是端到端没问题,你对端到端加密的理解有点偏差。
        40
    bao3   161 天前 via iPhone
    @fluffypanda #39 去用一下端到端的加密吧,你就知道和 imsg 的区别在哪里了。
        41
    fluffypanda   161 天前
    @bao3 端就是设备,端到端是消息用公私钥加密,所以只有这两台设备能解密。imessage 的话如果你的接受地址有 n 个设备,那么每条消息发送 n 遍,所以发送端是一个设备,接受端可以是多个设备。有一些 app 因为设计原因或者系统限制,没有做到多个终端接受消息,但是不代表端对端这个技术是只能发送一次到一个设备。
        42
    fluffypanda   161 天前
    还有楼上说云上贵州的,他们还真看不到你发的消息,因为端到端加密是没有第三个人能解密消息的。只有一种可能就是选择同步消息到 iCloud。
        43
    suriv520   160 天前 via iPhone   ♥ 2
    没想到大家讨论这么热烈,但是发现存在一个普遍的认识误区:就是把“ end2end 的加密”与“是否可能被 MITM 或第三者解密”做了强关联。还是苹果的宣传牛逼。

    我觉得这个问题得从原理上来讲,因为“ end2end 加密”其实只是一个商业宣传术语,而不是一个严格的算法描述。所以纠结这个是没有意义的。

    稍微具体一点来说吧。

    iMessage 的消息是否只能被两个手机解密,完全取决于 Apple 的具体密钥与交换算法实现。

    对于大多数常见的非对称算法,比如 rsa 等:
    假如是手机本地生成了自己的 private key 与 publickey,然后相互把这个 publickey 扔给对方,把 privatekey 留在本地。那这种实现方式目前是在数学上被证明安全的。除非有 privatekey,否则第三方无法解密(毕竟还没有人解出 P=NP 不是?)

    但是!(老师教了要怎么抓重点吧?)

    苹果的 iMessage 实现非常复杂,因为需要多终端解密。那么,可以完全确认的是,苹果的服务器是持有密钥的。

    继续从“持有密钥”说下去:

    它虽然“持有密钥”,但这个密钥本身也有可能是被加密存储的,并且我倾向于,苹果也是把密钥本身加密存储的(毕竟明文存储用户密钥这种事太沙雕了,和 csdn 有啥两样?)

    下面继续解释,为什么 Apple 能支持多终端解密。从上面描述可知,这个问题的关键点就落在了:如何把服务器存储的“被加密”的密钥安全传递到另一个终端上。
    还记得在新的苹果设备上登陆 icloud 的过程吗?它必须要用户输入 icloud 密码。那么,假设苹果使用用户的密码作为私钥加密解密那个密钥,那么第三个设备也就拥有用户的 iMessage 私钥了。
    整个过程,苹果对用户的私钥内容都一无所知。对用户的密码也一无所知。

    这就是苹果声称的“端到端”。实际上这个过程可能比上面要复杂得多,但总的原理都是差不多的。
    从这个过程可以看到,即使苹果持有了用户的各种密钥信息,也是可以声称“端到端”的。因为苹果只能看到一堆乱码,MITM 攻击是不可能的,这也是所谓的端到端。

    但我想自己杠一下自己:假如苹果想做到能够配合权力机关调查信息,怎么办比较好。

    1. 在任何一个交换环节中存着用户的私钥就行了。so easy。但是老爷子的棺材板板可能按不住。

    2. 算法上给用户使用被 master 密钥信任的子密钥。由相关单位生成 master 密钥,苹果不持有 master 密钥无法解密内容(责任被撇的干干净净)。用户通过 master 公钥生成子密钥子公钥,加密的内容都是能够被 master 密钥解密的。

    3. 还有一些更“优”的针对密钥自身的加密算法,比如 Shamirs Secret Sharing 算法。
    https://en.m.wikipedia.org/wiki/Shamir%27s_Secret_Sharing
    为什么说更“优”呢?因为它允许对于同一个加密场景同时产生 N 个不同的密钥,要求至少提供 N 个密钥里的任意 M 个,才能够对数据进行解密。好比你的保险柜有 10 把不同的钥匙,你把这些钥匙分发给了 10 个不同的人,然后只有这 10 个人里的至少 X 个人拿出钥匙,才能打开保险箱。
    这种场景下,你拿一个密钥,某单位拿一个密钥。你用你的,他用他的。完美。苹果压根懒得解密也无法解密你的数据
    或者,你拿一个,苹果拿一个,某单位拿一个,生成密钥的时候设置为至少两个密钥才能解密。更完美:设备上,你和 Apple 共同解密;你喝茶的时候,某单位和你的设备共同解密;你砸了设备的时候,某单位和苹果共同解密。
    谁都无法自己单方面解密,然后苹果淡定表示:我们根本无法解密用户数据,第三方也无法单独解密用户数据。完美!
        44
    bao3   160 天前 via iPhone
    @fluffypanda #41 如果端到端消息是加密,仅有两端才能解密,那么一端发送的消息被复制多次发送不同终端解密,那么这个复制的过程就与两个终端是互为矛盾的。
    端到多端的所谓端到端,都是伪的,用过端到端酒明白了。
        45
    fluffypanda   158 天前
    @bao3 你这就是在抬杠了吧,抠字眼有意思吗,仔细读一下维基的端对端加密的定义吧。
        46
    bao3   158 天前 via iPhone
    @fluffypanda #45 这居然叫杠?那么你用 wiki 文章来解释一下,端到端的密钥,被服务器发送到多端还能被多端解密。
        47
    fluffypanda   158 天前
    @bao3 End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages. In principle, it prevents potential eavesdroppers – including telecom providers, Internet providers, and even the provider of the communication service – from being able to access the cryptographic keys needed to decrypt the conversation.

    只有发送双方可以解密消息,运营商和其他第三方都无法解密。端到端是指双方的客户端,并不是说只有一个端到一个端。
        48
    bao3   158 天前 via iPhone
    @fluffypanda #47 兄弟,你把 end to end 理解成同一个客户端的多个终端 …… 并且英文原文不也提示你了,imsg 加密的 key 连苹果服务器都不能访问,可是你解释不了你说的同一个 imsg 每一个终端一个 key 啊。是不是很难圆回去?
        49
    fluffypanda   157 天前
    @bao3 加密的消息只能用你的私钥解密,如果你有三个终端那么你有三个不同的私钥去解密这些消息,每一条消息都是端到端加密的,我这样解释够清楚了吧
        50
    bao3   157 天前 via iPhone
    @fluffypanda #49 你的解释违背了 wiki 原文,因为现在所有基于帐户的消息软件,都是你这个机制……而且你的解释和你最初的描述也是不符的。其实,显然,你并不理解 End 意义。
        51
    xbigfat   157 天前
    其实看了楼上这么多讨论,想起来不知道从哪里看到的一句话:
    苹果在美国不做什么,是因为美国法律不要求它做;
    苹果在中国做什么,是因为中国的法律要求它做。
        52
    fluffypanda   157 天前
    @bao3 行 8。
    "因为现在所有基于帐户的消息软件,都是你这个机制",如果你觉得微信和其他 im 也是端到端加密,那么当我没说。我还以为这里都是懂技术的程序猿居多,没想到还是碰上个杠子,白浪费我时间。
        53
    bao3   156 天前
    @fluffypanda 别曲解,谢谢。这句话的前提是 “加密的消息只能用你的私钥解密,如果你有三个终端那么你有三个不同的私钥去解密这些消息,每一条消息都是端到端加密的,我这样解释够清楚了吧” “"因为现在所有基于帐户的消息软件,都是你这个机制"”

    你再反过来想想,既然你说 3 个客户端都是私钥,一把锁可以被不通的钥匙打开,这还是加密吗?更别说端到端加密了。。。。你的这个说法本身是“你的解释违背了 wiki 原文”。

    所以,你能解释一下为什么一个加密,可以有不同私钥加密,还能叫做 End- End ?别老是绕来绕去,自己跟自己杠,真的没劲。
        54
    dre021500   156 天前
    端对端加密是有,但是 ZF 有密钥的。简单来讲就是锁和钥匙放在一个地方的,所以无意义所谓加密
        55
    fluffypanda   156 天前
    @bao3 因为是一条消息,用你的三个设备的三个公钥加密,发送给你的三个设备,每条消息只能被那个对应设备的私钥解密,懂了么?为什么一个简单的概念你就看不明白?去看看苹果的开发者文档好么?
        56
    fluffypanda   156 天前
    @dre021500 iMessage 还真不是,端对端的设计就是为了防止 ZF 能看。像 iCloud 那样的 ZF 能看就不是端到端了。
        57
    bao3   155 天前 via iPhone
    @fluffypanda #55 所以一个 imsg 客户端要自己同步所有其他客户端公钥,然后分别加密,多次发送相同信息?你和你的朋友发送,你 imsg 要同步你朋友所有 imsg 的公钥,你可以分别发送到这些终端?这就是和端到端相违背的地方。
        58
    fluffypanda   155 天前
    @bao3 每一条消息都保证是端对端,都保证没有第三方可以解密,哪里违背了?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   868 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 21:26 · PVG 05:26 · LAX 14:26 · JFK 17:26
    ♥ Do have faith in what you're doing.