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

关于日历的安全性问题

  •  
  •   metin2017 · 2020-08-27 17:00:03 +08:00 · 9261 次点击
    这是一个创建于 1550 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果应用声明了日历读写权限,那么它就很容器读取到日历的全部信息,甚至可以删除,修改,这对使用日历做记录的,不就意味着这些信息完全给了应用?

    另外我当前使用的安卓 7 系统,并没有可以阻止应用读写日历的控制提示

    或许日历根本就只是用来存放一些无关紧要的提示信息的?

    大家怎么看,还是我的理解有问题?

    17 条回复    2020-08-28 16:30:18 +08:00
    guidozeng
        1
    guidozeng  
       2020-08-27 17:03:45 +08:00
    1.是的。
    2.没有用过 android 7,不太清楚这个版本的权限设置。
    3.各人使用日历方式不一样,不能一概而论。例如有的人的日常安排几乎全依赖于日历应用,而有的人则完全用不上。
    fansangg
        2
    fansangg  
       2020-08-27 17:04:21 +08:00
    别纠结了,现在 Android 11 都 beta3 了,你还抱着 Android 7 不放
    metin2017
        3
    metin2017  
    OP
       2020-08-27 17:08:02 +08:00
    @guidozeng 如果日常安排都依赖日历,则信息被应用获取,则被完全监视;无疑谷歌日历使用者众,这是个问题啊
    @fansangg Android 11 可以控制应用读写日历吗?
    vate32
        4
    vate32  
       2020-08-27 17:17:34 +08:00
    基于 Andorid10 的 miui12 可以控制是否允许应用读取日历,甚至可以返回空信息。我猜测这个属于高危权限,高版本的 Android 应该会控制吧,Android7 确实太老了。
    imn1
        5
    imn1  
       2020-08-27 17:22:32 +08:00
    如果有隐私洁癖,如我,这样做:
    不要用系统地日历,这个一开放就全部可读了
    然后用 caldav,建多个 caldav 日历,装多个 APP,一个 app 只对应一个 caldav
    然后根据需要设置权限和通知
    fansangg
        6
    fansangg  
       2020-08-27 17:27:55 +08:00
    @metin2017 Android 6 开始有些运行时权限是需要动态申请的,虽然我没做过读写日历方面的开发,但是我觉得读写日历一个也是属于危险权限,和读写存储空间一样,老版本的 Android 手机我没有用过,我现在用的是基于 Android10 的,日历权限是需要询问的。
    keiayagi
        7
    keiayagi  
       2020-08-27 17:34:05 +08:00
    日历读写都属于危险权限,正常的话,从 Android 6 开始应用都需要在运行时申请才能实际拿到权限。
    metin2017
        8
    metin2017  
    OP
       2020-08-27 17:35:35 +08:00
    @vate32 可能是吧,新系统可能有控制
    @imn1 系统是其他日历,装了谷歌日历,日历底层是一样的,而且相互可读可编辑啊;不太明白你说的 caldav,装什么 App?
    soji18
        9
    soji18  
       2020-08-27 17:54:12 +08:00 via Android
    日历权限是需要运行时申请的,声明只是说有可能申请。
    Cielsky
        10
    Cielsky  
       2020-08-27 18:23:56 +08:00 via Android
    安卓 7 好像不太行,8,还是 9 以上可以用 appops 返回空信息
    HankAviator
        11
    HankAviator  
       2020-08-27 18:27:58 +08:00 via Android   ❤️ 1
    https://www.v2ex.com/t/516316
    国产应用一定要慎给权限。到现在这事情也没有反馈。
    xmumiffy
        12
    xmumiffy  
       2020-08-27 18:43:56 +08:00 via Android
    @Cielsky appops 从 4.4 开始就能返回空
    Cielsky
        13
    Cielsky  
       2020-08-27 18:56:17 +08:00 via Android
    @xmumiffy 受教了,我记错了吧
    imn1
        14
    imn1  
       2020-08-27 18:58:41 +08:00
    @metin2017 #8
    日历,或者说行事历,是可以多个的,可以在一个日历客户端同时加载多个,或者不同客户端分开加载,就像 email 客户端可以收发多个邮箱一样,各自独立;你可以根据隐私级别,分开多个日历记事,例如我就五个 caldav 记不同的事,最低级别那个是 139 邮箱带的日历,记些买酱油之类的琐事

    caldav 是服务端 webdav 的一个分支,格式为日历 xml,一个 xml 就是上面说的一个日历,caldav 也有两种格式,一种是 event,一种是 task(也就是 todo),另外还有 carddav (地址簿、通讯录)、日记格式等
    国内支持 caldav 的有中国移动 139 、腾讯(?)等,国外有 google 、icloud 等
    caldav 也可以本地自建,就几个 xml,不占空间的,自建更安全,只是不方便多机同步,出门在外要连回家里的 NAS

    APP 指的就是日历客户端,跟电邮客户端一样,有很多,不必只用一个,也没有谁规定一定要用系统自带的客户端

    开放日历权限,只是指系统加载的日历,如果用 caldav 在非系统客户端 app 加载,其他 app 是读不到的,如果用两个 APP 各自加载一个日历,互相是读不到对方那个日历的,跟两个 email 邮箱分开两个 APP 收是一个意思

    简单一句:如果用非系统自带的日历 APP,只要不同步到系统日历,其他 APP 就读不到,跟权限没关系,权限只管系统自带的
    YaakovZiv
        15
    YaakovZiv  
       2020-08-27 21:14:24 +08:00
    我推荐日历和邮件联合记录的方式。
    metin2017
        16
    metin2017  
    OP
       2020-08-28 09:39:05 +08:00
    @imn1 谢谢你耐心的回复,但这整得太复杂了,不想再深入了。

    安卓 7,appops 也麻烦,重启后需要重新 adb 授权,算了,暂时不用手机谷歌日历了,可能等以后系统升级再用
    HankAviator
        17
    HankAviator  
       2020-08-28 16:30:18 +08:00
    @metin2017 不给权限就行了。最坑的一点是谷歌日历如果只是删掉还好,可以从垃圾桶捡回来;我的那次事故是所有人日历项被智行彻底覆盖掉了,找谁也白搭。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:58 · PVG 11:58 · LAX 19:58 · JFK 22:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.