QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

又被大量收集数据,Kindle“监控”你读书

  • 2020-09-08
  • 本文字数:1725 字

    阅读完需:约 6 分钟

又被大量收集数据,Kindle“监控”你读书

作为书迷,我购买过很多版本的 Kindle 设备,从最初版本到 Paperwhite 都有,并对每一版都很喜欢。但我对这个全新文本格式的潜在滥用情况心怀警惕。


从技术上来讲,亚马逊持有读者们阅读内容的所有权,他们随时可以删除这些内容。之前就曾经出现过亚马逊从客户账户及他们的Kindle删除特定书目的情况。这还不是最糟的,亚马逊甚至可以删除用户账户并撤销用户对已购买书籍的访问权限


Kindle 利用用户阅读数据来提供一些传统书籍无法提供的功能:管理设备间书签和笔记,同步所有设备中最后阅读位置等等,Kindle 同样可以显示广告或相关阅读推荐。


我想知道 Kindle 是否只会上传这些服务需要的数据,还是会将用户相关数据一同上传给亚马逊。

事实证明,Kindle 收集了海量的数据

Kindle 不仅会发送设备信息,使用大量元数据,甚至是用户在使用设备或 app 进行的所有操作都会被发送,这些数据都与用户账户直接连接。


打开 app、读书、翻页、关闭书籍,这些简单的操作会向亚马逊服务器上传上百条请求数据。



Kindle 数据请求

侵犯隐私的行为信息

总的来说,用户在读书时手指的每一次点击或互动都会被 Kindle 追踪。


读者阅读的每一页书籍都会发送下列信息:


  • 每页打开时间:每当读者翻页,都会生成一个时间戳

  • 每页的首个单词/文字:会以诸如“书中第 7705 个字”的形式记录其具体位置

  • 每页最后一个单词/文字

  • 该页是文字还是图片


以下是读者在阅读每页时会被发送的简单记录:


{    "created_timestamp": 1597743233808,    "payload": {        "context": "Reading",        "continuous_scroll_state": "disabled",        "end_position": 4708,        "is_scrolled_over_span": false,        "span_type": "Text",        "start_position": 4193    },    "schema_name": "kindle_positions_consumed_v2",    "schema_version": 0,    "sent_timestamp": 1597743233855,    "sequence_number": 26}
复制代码


每个阅读区间都会生成一个阅读页数与浏览模式的总结。


{    "created_timestamp": 1597743255324,    "payload": {        "action_type": "PageTurn",        "book_length": 2003478,        "context": "Reading",        "count": 10,        "navigation_end_location": 7884,        "navigation_mode": "Horizontal",        "navigation_start_location": 3599    },    "schema_name": "reader_in_book_navigation_v2",    "schema_version": 0,    "sent_timestamp": 1597743265854,    "sequence_number": 36}
复制代码


打开 app 时同样会上传类似数据,包括应用是否在后台开启、书籍是打开或关闭、诸如字号等设置是否有变动等。高亮或双击单词/词语,会在将其发送到 bing 翻译或维基百科的同时发送回亚马逊。


这些请求都不是像上次阅读位置这类的数据一样用于客户功能的。高亮、上次阅读位置,以及其他一些信息都会在一定周期内被再次发送向不同目的地,区别在于第二次发送所包含的信息量会大幅减少。


每条请求都不会在生成的同时上传。很多记录生成后会先保存在本地,然后才会被上传(注意前面的 sequence_number 字段)。即使用户在离线情况下阅读,一旦联网,这些存储在本地的数据都会被上传。

设备信息

Kindle 同样会上传一些私人信息,诸如:


  • 用户所在国家

  • 试图获取本地网络 IP 地址(Kindle 获取到作者的地址为 10.,并不准确)

  • 设备和版本信息(屏幕大小、品牌、设备型号),iPhone/安卓/Kindle 软件版本

  • Good Reads 账户信息

  • 设备方向(横屏/竖屏)


部分数据可能会帮助亚马逊了解用户对 app 的使用情况,方便他们后续调整。但本地 IP 是唯一一个困扰作者的数据,虽然除了 IP 作者并没有发现什么其他被上传的本地网络信息有问题。

结论

Kindle 可以说是我见过对用户隐私最不手下留情的 app 了,它记录了很多令我感到不适的阅读行为数据。在过去的几年中,我一直在尝试避免使用 Kindle 生态系统,目前在用Marvin在 iPhone 上阅读。虽然已经不再用 Kindle 设备了,但还是难免会怀念 e-Ink。


不幸的是,如果使用非 Kindle 应用,就需要买 DRM-Free 的书。这类书并不是很好找,但 Kobo 书店以及一小部分利基供应商经常会提供这类书,有些甚至还能在亚马逊上找到。


相关阅读:


Kindle Collects a Surprisingly Large Amount of Data


2020-09-08 07:002065

评论 3 条评论

发布
用户头像
图里的数据用的是什么抓包工具?
2020-09-08 10:21
回复
应该是 mitmproxy
2020-09-08 10:48
回复
多谢, 确实是这个工具
2020-09-15 10:29
回复
没有更多了
发现更多内容

Android C++系列:C++11函数特殊特性

轻口味

c++ 三周年连更

《人间失格》

后台技术汇

三周年连更 人间失格

ThreadLocal源码分析

做梦都在改BUG

Java 源码 多线程 ThreadLocal

拿来吧你!保姆级Docker底层原理及源码实战手册,上线点赞破10W

做梦都在改BUG

Java Docker 容器

我认真总结并分析了Spring事务失效的十种常见场景

做梦都在改BUG

Java spring Spring事务

Java中的「接口」到底是什么?

海拥(haiyong.site)

三周年连更

每个Java程序员都必须知道的四种负载均衡算法

做梦都在改BUG

Java 负载均衡 负载均衡算法

浅谈智能语音交互

六月的雨在InfoQ

语音识别 语音合成 三周年连更 智能语音交互

GPU 加速药物研发与基因组学分析

Baidu AICLOUD

生命科学

ARB链质押挖矿代币空投游戏dapp系统开发合约定制

开发微hkkf5566

超简单!Java 项目自动生成接口文档教程

Apifox

Java 接口文档 API 文档生成 自动生成

阿里“妈宝级”之作,Kubernetes原理剖析与实战应用手册,太全了

做梦都在改BUG

Java Kubernetes k8s

终于有人把动态规划、冒泡排序、二叉树、链表、栈全部讲清楚了

Java你猿哥

数据结构 算法 二叉树 排序 LeetCode算法

python中对象引用 | python小知识

AIWeker

Python python小知识 三周年连更

ChatGPT及大模型专题研讨会在蓉成功举办共探前沿技术与产业发展

NLP资深玩家

The Beacon链游NFT系统开发技术

薇電13242772558

NFT

品牌活动|行云创新出席“新工业·智物联”全国巡回 CEO 峰会

行云创新

行云创新 新工业 智物联 全国巡回CEO峰会珠海站

【Linux】firewall-cmd之防火墙简介及命令详解【附加实战⭐建议收藏!!⭐】

A-刘晨阳

Linux 防火墙 Firewalld防火墙 三周年连更

已献出膝盖!GitHub上的宝藏级SpringBoot核心宝典,讲得太清晰了

做梦都在改BUG

Java 架构 微服务 Spring Boot 框架

华为云开源项目OpenTiny中TinyVue有什么优势?

英勇无比的消炎药

开源 Vue 组件库

JSF源码分析(一)

京东科技开发者

spring jsf 企业号 4 月 PK 榜

GitHub爆款!Java性能优化:轻松道破软件性能调优,不止搞定JVM

Java你猿哥

Java JVM Java性能优化

超级详细|Linux系统下从0到1的玩法大全

浅羽技术

Linux unix 操作系统 命令 三周年连更

生物计算大模型技术在药物研发领域的应用

Baidu AICLOUD

生命科学 PaddleHelix

Typescript- 数据类型

格斗家不爱在外太空沉思

typescript 三周年连更

Mybatis返回集合类型到底是空集合还是null?源码解读

做梦都在改BUG

Java 源码 mybatis

全栈开发实战|Vue进阶——使用静态模块打包工具webpack

TiAmo

Vue webpack 三周年连更 静态模块打包

基于STM32设计的音乐播放器

DS小龙哥

三周年连更

java 开发 SSM 框架整合之 MyBatis 动态 SQL

Java你猿哥

Java sql mybatis SSM框架 if

面试官:介绍一下什么是缓存雪崩、缓存击穿、缓存穿透?

Java你猿哥

redis 面试题 缓存穿透 缓存击穿 缓存雪崩

一文详解RocketMQ-Spring的源码解析与实战

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜

又被大量收集数据,Kindle“监控”你读书_安全_Charlie Belmer_InfoQ精选文章