V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ltkun
V2EX  ›  程序员

经过服务器推送的消息是加密的吗

  •  
  •   ltkun · 2022-10-16 10:58:05 +08:00 via Android · 5555 次点击
    这是一个创建于 801 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非程序员想了解一下,如果消息经过服务器推送的话,服务器能不能读明文消息还是是加密的? 如果是加密的解密难度大吗?
    第 1 条附言  ·  2022-10-17 09:23:47 +08:00

    其实我想问的问题就是,如果是IM的话是不是端到端加密,有没有真的端到端加密的IM?微信或者QQ肯定可以被腾讯审查,然后推送苹果服务器可能看到的是密文。国外的wahtsapp或者telegram呢,会审查吗?之前美剧里面看到一个Threema的app,据说隐私保护很好,一看appstore下载都要付费。然后自建的rocket.chat是可以支持e2e加密的,只是功能少了点。邮件也可以e2e,安卓上k-9 mail配合openKeychain就可以很方便的实现邮件端到端。未来社会不是端到端加密感觉都不保险了,感谢大家回答。

    27 条回复    2022-10-18 00:00:08 +08:00
    hdp5252
        1
    hdp5252  
       2022-10-16 10:59:39 +08:00
    一般是明文
    learningman
        2
    learningman  
       2022-10-16 11:10:15 +08:00 via Android
    可以做到端对端加密,但是一般是明文
    ltkun
        3
    ltkun  
    OP
       2022-10-16 11:10:45 +08:00 via Android
    那些大厂推送苹果或者谷歌也都明文?隐私怎么保护 @hdp5252
    justfindu
        4
    justfindu  
       2022-10-16 11:13:51 +08:00
    你可以推送的 content 自己加密呀, 其他数据都是大厂推送的规范 sdk 数据.
    ltkun
        5
    ltkun  
    OP
       2022-10-16 11:25:38 +08:00 via Android
    举个例子 微信的消息经过苹果服务器推送 苹果能不能知道明文 微信消息应该是加密的吧 @justfindu
    oldmanong
        6
    oldmanong  
       2022-10-16 11:41:19 +08:00 via iPhone
    技术上可以实现,比如 whatsapp ,但在国内是不可能实施的,这就不符合监管要求
    hdp5252
        7
    hdp5252  
       2022-10-16 11:48:05 +08:00
    国内大厂不知道
    我只知道我国的密码要求明文保存
    Dreax
        8
    Dreax  
       2022-10-16 11:48:37 +08:00
    https://core.telegram.org/api/push-updates#notification-encryption 比如 Telegram 的推送消息是加密 payload ,客户端收到后解密
    momocha
        9
    momocha  
       2022-10-16 11:49:47 +08:00 via iPhone
    ios 的推送:
    分两种,
    用户可见的通知消息,这部分消息的显示是 Apple 控制的,所以一般都是明文(微信给苹果的也是明文);
    用户不可见的推送消息就格式自定了,加密与否是 app 的决定,要考虑的是加密的 key 如何保证安全
    yolee599
        10
    yolee599  
       2022-10-16 12:17:58 +08:00 via Android
    @ltkun 微信即使是加密传输的,也是假的加密,内部人员可以直接查看。因为要监管。
    ltkun
        11
    ltkun  
    OP
       2022-10-16 12:25:20 +08:00 via Android
    @yolee599 难道 whatsapp 是真加密吗 大厂 app 真有端到端吗
    kera0a
        12
    kera0a  
       2022-10-16 12:31:37 +08:00 via iPhone
    @momocha
    用户可见的推送也可以加密,然后收到推送后解密再显示到通知中心。苹果提供了相关接口支持收到推送后先处理再显示。
    ZE3kr
        13
    ZE3kr  
       2022-10-16 12:37:48 +08:00 via iPhone
    WhatsApp 是端到端加密的推送,也就是苹果和 Whatsapp 都看不到,iOS 上也有很多开源的软件能做到端到端加密推送通知,曾今是通过 VOIP 实现的;如果不是 iOS 那应该更简单

    微信的推送苹果是看不到的,你可以读一下苹果的文档
    securityCoding
        14
    securityCoding  
       2022-10-16 12:39:20 +08:00
    1, 如果消息经过服务器推送的话,服务器能不能读明文消息还是是加密的
    不一定,看是否是端对端加密,国内的肯定可以因为要做审查。

    2. 如果是加密的解密难度大吗?
    看算法,没密钥解不出来
    dobelee
        15
    dobelee  
       2022-10-16 16:39:29 +08:00 via iPhone
    几乎是明文的。所以才能轻易抓包。通讯 app 一般有自有协议加密。
    james2013
        16
    james2013  
       2022-10-16 17:23:36 +08:00 via Android
    明文
    加密只是增大一些破解难度
    ChineseTeacher
        17
    ChineseTeacher  
       2022-10-16 19:21:46 +08:00   ❤️ 2
    本来对这个话题挺感兴趣的,点进来一看,除了少数楼之外全部都是散发戾气的无效信息。

    Android 再不济也应该是可以通过推送来唤醒 app ,进而解密推送消息的。iOS 的话,手机搜了下,找到了条 2017 年的 Stackoverflow:

    Apple released the UNNotificationServiceExtension last year, allowing developers to send fully-encrypted notification payloads through APNS and then let the app on the end-user's device itself do the decryption (or load any additional supporting data) before displaying the notification:

    The UNNotificationServiceExtension class provides the entry point for a Notification Service app extension, which lets you customize the content of a remote notification before it is delivered to the user. A Notification Service app extension does not present any UI of its own. Instead, it is launched on demand when a notification of the appropriate type is delivered to the user’s device. You use this extension to modify the notification’s content or download content related to the extension. For example, you could use the extension to decrypt an encrypted data block or to download images associated with the notification.

    https://stackoverflow.com/questions/32719476/how-secure-are-apple-apns-push-notifications

    所以也是能的。但是 telegram 的私密消息应该还是不提示内容的。

    既然 LZ 是“非程序员”,那么如果 LZ 问的不是端到端加密(即允许推送消息被苹果 /Google/手机制造商搭建的推送服务器看到)的话,那么答案是肯定的,几乎肯定是有加密的。现在这个年代这种情况不太可能没有加密。
    abc8678
        18
    abc8678  
       2022-10-16 20:09:23 +08:00 via Android
    我记得 QQ 的文字加密了,图片没加密。以前用 UWP 版 QQ ,宽带欠费时,已登录的 QQ 仍然可以文字交流,据说是腾讯有自己的 dns 。宽带欠费会把大多数网站重定向到交费页面。当时网上有很多谷歌 host ,找一个替换了也可以上那几个网站了。百度的 host 在百度贴吧找到的。其他大多数软件还是没法上网,借助百度快照看一看新闻……后来下一次欠费,感叹号断网了,交费页面也进不去了
    liuxiniszuhi3
        19
    liuxiniszuhi3  
       2022-10-16 21:26:28 +08:00
    在 MSN 时代,QQ 消息已经加密的了,而 MSN 并没有加密。
    ccnpl
        20
    ccnpl  
       2022-10-17 00:10:07 +08:00
    那 telegram 推送给我的消息,岂不是都知道?
    wsseo
        21
    wsseo  
       2022-10-17 00:26:57 +08:00
    所以苹果推送服务器能看到微信的消息内容吗?如果能看到,那么安卓比苹果安全。
    momocha
        22
    momocha  
       2022-10-17 05:16:49 +08:00 via iPhone
    frank1256
        23
    frank1256  
       2022-10-17 09:17:44 +08:00
    有监管部门会来查的,但是也没什么用,我老婆在短信行业,分分钟查我收到哪些走过让她们平台的短信。只不过会多一个日志记录,不是随便查的罢了
    0x2CA
        24
    0x2CA  
       2022-10-17 10:57:20 +08:00
    通信是加密的,但是不是你想的端对端加密,因为国家监管要求,需要保留所有日志以供调取,技术是不难实现,而且国外的那个也不是端对端的,是端对服务器加密,服务器对端加密,你发的服务器都知道,你注册都需要你手机号,你觉的保险不保险,如果你需要端对端,你需要线下交换公钥,然后用对方公钥加密信息发信息
    Andrue
        25
    Andrue  
       2022-10-17 15:06:06 +08:00
    matrix 的协议支持 E2E 加密,由于服务器也可以自建所以安全性更上一层楼,从原理上杜绝了第三方泄密
    libook
        26
    libook  
       2022-10-17 18:19:07 +08:00
    推动平台有审查风控义务,所以一般传输可以是加密的,但平台一定会解密。
    S1ngleton
        27
    S1ngleton  
       2022-10-18 00:00:08 +08:00 via iPhone
    传输的话,只要是 over TLS 的就不需要多加密吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3083 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:25 · PVG 21:25 · LAX 05:25 · JFK 08:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.