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

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

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

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

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

    另外如果国内用户和国外用户聊天的话 这段对话会被加密吗?
    58 回复  |  直到 2019-05-17 00:01:14 +08:00
    figg
        1
    figg   257 天前   ♥ 1
    都皈依云上贵州了,说有我是不信的
    jadec0der
        2
    jadec0der   257 天前   ♥ 1
    端对端加密应该是有的。只是密钥不知道给了谁而已 →_→
    Lin0936
        3
    Lin0936   257 天前   ♥ 3
    cc BigBrother
    acupnocup
        4
    acupnocup   257 天前 via iPhone
    应该说比其它 APP 更加安全,毕竟只有老大哥能看,而微 X 不但老大哥看,还有一堆不相关的鸟人在看。
    nobb519
        5
    nobb519   257 天前
    密钥。。。 已经移交了。就是宇宙级加密,也没问题的呀
    StanLin
        6
    StanLin   257 天前   ♥ 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
    x86
        7
    x86   257 天前 via iPhone
    iMessage 也算 IM ?
    StanLin
        8
    StanLin   257 天前
    再来看看对 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."
    GermXu
        9
    GermXu   257 天前
    @StanLin 可以看国区说明已经不是 iCloud 了, 由云上贵州运营
    eriko
        10
    eriko   257 天前 via iPhone
    不管怎么样,苹果应该是有些底线的
    bestkayle
        11
    bestkayle   257 天前 via iPhone
    @eriko #10 棱镜门?
    mschultz
        12
    mschultz   257 天前   ♥ 1
    这个问题有点像「酸酸(乳)是不是被精准识别了」之类的问题
    基本不太可能有高说服力高可信的信源来回答,讨论来讨论去还是都在猜测,可能谁也说不过谁😂
    Windelight
        13
    Windelight   257 天前 via Android
    请问光明方正的 Skype 有 E2E 加密?
    ZacharyZong
        14
    ZacharyZong   257 天前 via iPhone   ♥ 6
    之前问过苹果天才吧,仅供参考:
    大概意思是保证通信双方都未开启 iCloud 同步信息时(仅使用 iPhone 收发信息,不同步到 iPad、Mac 等),才满足无法破解的端对端加密,否则数据都是要走 iCloud 的。
    而中国的 iCloud 数据放在云上贵州服务器上,密钥也已经移交过来了,此时 iMessage 相比于其他聊天 app 的安全性仅限于老大哥是否主动使用移交过来的密钥进行解密查询。国内其他 app 是直接把消息和🚔联网的。
    geniussoft
        15
    geniussoft   257 天前
    @StanLin 已经十分明确了,谢谢。
    edgnoz
        16
    edgnoz   257 天前
    @eriko 啥叫底线?在天朝,可以让它没有底线。表面可以让你装,但是私下让你脱裤子你还得脱。
    miaomiao888
        17
    miaomiao888   257 天前
    @eriko 有底线就不会有云上贵州了
    gstqc
        18
    gstqc   257 天前   ♥ 1
    有啊,而且比国际版更强
    是 [端对端对端] 加密
    morethansean
        19
    morethansean   257 天前
    @ZacharyZong #14
    突然觉得其实天才吧的人知道很多啊 2333 以前以为就是销售呢...
    charonfletcher
        20
    charonfletcher   256 天前 via Android
    @ZacharyZong 这样啊,明白了,谢谢
    ShuangFan
        21
    ShuangFan   256 天前
    国人无隐私~完毕
    Jumper
        22
    Jumper   256 天前   ♥ 1
    隐私是什么? 就连营销电话都可以把个人的家底摸的清清楚楚。
    suriv520
        23
    suriv520   256 天前   ♥ 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 的问题,但这个细节问题我个人觉得不那么重要了:)
    fvckDaybyte2
        24
    fvckDaybyte2   256 天前
    所以大陆的 imessage 和非大陆的聊天还是经过贵州?
    CocoTaka
        25
    CocoTaka   256 天前 via iPhone
    那是不是美区 ID 就没事了?那么美区和国区的通过 iMessage 通讯呢?
    1002xin
        26
    1002xin   256 天前
    额,不是云上贵州,那就还好
    charonfletcher
        27
    charonfletcher   256 天前
    @suriv520 具体的问题我已经明白了,但还是很感谢您的补充。(不是在乎这个东西绝对安全与否,而是好奇这个加密机制的问题,我是真的小白
    charonfletcher
        28
    charonfletcher   256 天前
    @CocoTaka
    @fvckDaybyte2
    这个问题的话,看上面的回复应该可以明白了吧
    bao3
        29
    bao3   256 天前 via iPhone
    @charonfletcher #28 楼主,首先现在的通信软件都是多端登入,一有消息,多个终端都提醒你。所以,imsg 必定不是端到端加密。你如果想知道端到端到底是什么概念,可以安装 telegram,然后也多端登入,聊天时选加密,此时只有发起那个终端才会收到通知并且解密信息,其他终端收不到。bbm 也有同样效果。目前除了这俩玩意,其他聊天软件还没发现是真正的端到端加密
    shehuizhuyi
        30
    shehuizhuyi   255 天前 via iPhone
    @bao3 WhatsApp 多端可以 不过手机必须在线状态
    agagega
        31
    agagega   255 天前 via iPhone
    @bao3 Signal 能多端收到
    @suriv520 想起了二十多年前的美国,开源个密码算法差点有牢狱之灾
    zzyzxd
        32
    zzyzxd   255 天前
    @bao3 为什么多终端就不行?如果接收方有多个设备,那么发送方和接收方的每个设备之间都是独立的端到端加密。与其瞎猜不如读文档: https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf
    bao3
        33
    bao3   255 天前 via iPhone
    @zzyzxd #32 那是端到多端,显然不说端到端,加密已经没有意义。端到端加密,应该两端才能加密解密,而非多终端都解密,这对安全没有任何意义。
    bao3
        34
    bao3   255 天前 via iPhone
    @shehuizhuyi #30 端到多端一点也不难,任意聊天软件都可以实现,而端到端才难。端到多端,显然是一个加密信息,被多终端解密和展示;端到端,则是一条加密信息,在面临多终端时,仅仅展示在特定一个终端,其他终端不做信息展示。
    回过头来想想,端到多端加密如果所有终端都能展示加密信息,那么端到端加密的意义何在?
    fluffypanda
        35
    fluffypanda   254 天前
    @bao3 imessage 就是端到端,没有什么端到多端。如果你有 3 个端那消息就是发 3 次,每条都是端到端。
    如果你想只有一个终端,那你可以把手机号在另外的设备上去掉。
    dream10201
        36
    dream10201   254 天前
    加密肯定是加密了的,只是,它们要看也只是去查一下而已
    bao3
        37
    bao3   254 天前 via iPhone
    @fluffypanda #35 一条消息,多次发送,这个就是端到多端了,等于一个信息内容,多次展示在不同终端。这个和端到端是不同的。是的,每一条都是端到端,但是,no,合起来就是端到多端。端到端的信息不回发送给任何其他终端,即便其他终端使用同一个 ID 登入。
    iloveoovx
        38
    iloveoovx   254 天前 via Android
    @suriv520 那三星的 knox 熔断机制呢?还是国内外会不同?如果敏感的话是不是应该直接买美版?
    fluffypanda
        39
    fluffypanda   254 天前
    @bao3 我只听过 https://en.wikipedia.org/wiki/End-to-end_encryption, 真的没有什么端到多端。
    iMessage 是端到端没问题,你对端到端加密的理解有点偏差。
    bao3
        40
    bao3   254 天前 via iPhone
    @fluffypanda #39 去用一下端到端的加密吧,你就知道和 imsg 的区别在哪里了。
    fluffypanda
        41
    fluffypanda   254 天前
    @bao3 端就是设备,端到端是消息用公私钥加密,所以只有这两台设备能解密。imessage 的话如果你的接受地址有 n 个设备,那么每条消息发送 n 遍,所以发送端是一个设备,接受端可以是多个设备。有一些 app 因为设计原因或者系统限制,没有做到多个终端接受消息,但是不代表端对端这个技术是只能发送一次到一个设备。
    fluffypanda
        42
    fluffypanda   254 天前
    还有楼上说云上贵州的,他们还真看不到你发的消息,因为端到端加密是没有第三个人能解密消息的。只有一种可能就是选择同步消息到 iCloud。
    suriv520
        43
    suriv520   253 天前 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 共同解密;你喝茶的时候,某单位和你的设备共同解密;你砸了设备的时候,某单位和苹果共同解密。
    谁都无法自己单方面解密,然后苹果淡定表示:我们根本无法解密用户数据,第三方也无法单独解密用户数据。完美!
    bao3
        44
    bao3   253 天前 via iPhone
    @fluffypanda #41 如果端到端消息是加密,仅有两端才能解密,那么一端发送的消息被复制多次发送不同终端解密,那么这个复制的过程就与两个终端是互为矛盾的。
    端到多端的所谓端到端,都是伪的,用过端到端酒明白了。
    fluffypanda
        45
    fluffypanda   251 天前
    @bao3 你这就是在抬杠了吧,抠字眼有意思吗,仔细读一下维基的端对端加密的定义吧。
    bao3
        46
    bao3   251 天前 via iPhone
    @fluffypanda #45 这居然叫杠?那么你用 wiki 文章来解释一下,端到端的密钥,被服务器发送到多端还能被多端解密。
    fluffypanda
        47
    fluffypanda   251 天前
    @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.

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

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

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