CopperheadOS:安全功能、应用安装及更多

使用 Copperhead 自豪地展示您的开源旗帜,这是一个严肃对待其 FOSS 承诺的移动操作系统。
428 位读者喜欢这个。
How to find Android apps that respect user privacy

Norebbo 通过 Flickr (原始图片:公共领域)。Opensource.com 修改。CC BY-SA 4.0。

编者注:CopperheadOS 在 许可 下获得 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 许可(用户空间)和 GPL2 许可(内核)。它也基于 Android 开源项目 (AOSP)。

几年前,我决定用运行在自由和开源软件 (FOSS) 上的技术取代专有技术(主要是 Apple 产品)。我不能说这很容易,但我现在很高兴地将 FOSS 用于几乎所有事情。

最困难的部分涉及我的手机。如今,手机和平板电脑基本上只有两种选择:Apple 的 iOS 或 Google 的 Android。由于 Android 是开源的,这似乎是显而易见的选择,但我对 Android 上缺乏开源应用程序以及 Google 在这些设备上的普遍存在感到沮丧。

所以我进入了自定义 ROM 的世界。这些项目采用基础 Android 开源项目 (AOSP) 并对其进行自定义。几乎所有这些项目都允许您安装标准的 Google 应用程序作为单独的软件包,称为 GApps,并且您可以根据需要在手机上安装尽可能多或尽可能少的 Google 组件。GApps 软件包有多种风格,从 Google 设备附带的全套应用程序到“pico”版本,后者仅包含运行 Google Play 商店所需的最少量软件,然后您可以从中添加您喜欢的内容。

我最初使用 CyanogenMod,但当该项目朝着我不喜欢的方向发展时,我切换到了 OmniROM。我对它非常满意,但仍然想知道我在幕后向 Google 发送了什么信息。

然后我发现了 CopperheadOS。Copperhead 是 AOSP 的一个版本,专注于提供最安全的 Android 体验。我已经使用它一年了,并且非常满意。

与其他致力于添加大量新功能的自定义 ROM 不同,Copperhead 运行的是相当原生的 AOSP 版本。此外,虽然您通常在玩自定义 ROM 时做的第一件事是向设备添加 root 访问权限,但 Copperhead 不仅阻止了这一点,而且还要求您的设备具有经过验证的启动,因此无法解锁引导加载程序。这是为了防止恶意代码访问手机。

Copperhead 从 AOSP 基线的强化版本开始,包括完全加密,然后添加了 大量东西,我只能假装理解。它还在内核和 Android 补丁应用于主线 Android 版本之前应用了许多内核和 Android 补丁。

About phone with extra patches

opensource.com

它有一些我更喜欢的更明显的功能。如果您使用 PIN 码解锁设备,则可以选择对数字进行加扰。

Option to scramble digits

opensource.com

这应该可以防止任何随便的偷窥者弄清楚您的 PIN 码,尽管这可能会使您在驾驶时更难解锁设备(但任何人都应该在车里使用手机,对吧?)。

它解决的另一个问题涉及通过监控人们的 WiFi MAC 地址来跟踪他们。大多数使用 WiFi 的设备都会主动扫描无线接入点。此协议包括接口的 MAC 地址,并且有许多方法可以让人使用 移动位置分析 来跟踪您的移动。Copperhead 有一个选项可以随机化您的 MAC 地址,从而抵消此过程。

Randomize MAC address

opensource.com

安装应用

这一切听起来都不错,对吧?好吧,困难的部分来了。虽然 Android 是开源的,但许多 Google 代码,包括 Google Play 商店,不是。如果您安装 Play 商店和使其正常运行所需的代码,您将允许 Google 在未经您许可的情况下安装软件。Google Play 的服务条款规定

“如果 Google 确定更新将修复与该应用相关的严重安全漏洞,则 Google 可能会更新任何 Google 应用或您从 Google Play 下载的任何应用到该应用的新版本,无论您在 Google Play 应用或您的设备中选择了任何更新设置。”

从安全的角度来看,这是不可接受的,因此您无法在 Copperhead 设备上安装 Google 应用程序。

这需要一些时间来适应,因为我已经开始依赖 Google 地图等功能。Copperhead 附带的默认应用程序仓库是 F-Droid,它 仅包含 FOSS 应用程序。虽然我以前在 Android 上使用过许多 FOSS 应用程序,但要做到使用自由软件还是需要一些努力的。我确实找到了一些欺骗这个系统的方法,我将在下面介绍。首先,这里有一些我从 F-Droid 开始喜欢上的应用程序。

F-Droid 最喜欢的应用

K-9 Mail

K-9 Mail

opensource.com

甚至在我开始使用 Copperhead 之前,我就喜欢 K-9 Mail。这绝对是我找到的最好的移动电子邮件客户端,而且它是我在任何新设备上安装的第一件事之一。我甚至使用它通过 IMAP 和 SMTP 访问我的 Gmail 帐户。

Open Camera

Open Camera

opensource.com

Copperhead 仅在相当新的硬件上运行,我一直对默认相机应用程序拍摄的照片质量感到失望。然后我发现了 Open Camera。作为一个功能齐全的相机应用程序,它允许您启用高级 API 以利用相机硬件。我唯一错过的是拍摄全景照片的功能。

Amaze

Amaze

opensource.com

Amaze 是我用过的最好的文件管理器之一,无论是否免费。当需要浏览文件系统时,Amaze 是我的首选应用程序。

Vanilla Music

Vanilla Music

opensource.com

我对默认音乐播放器不满意,所以我查看了 F-Droid 上的许多播放器,并选择了 Vanilla Music。它具有易于使用的界面,并且可以很好地与我的蓝牙设备交互。

OCReader

OCReader

opensource.com

我是 Nextcloud 的忠实粉丝,特别是 Nextcloud News,它是现已停止运营的 Google Reader 的替代品。虽然我可以通过网络浏览器访问我的新闻源,但我真的很怀念通过专用应用程序管理它们的能力。输入 OCReader。虽然它代表“ownCloud Reader”,但它与 Nextcloud 配合使用,而且我几乎没有遇到任何问题。

Noise

大多数隐私倡导者选择的 SMS/MMS 应用程序是 Signal,由 Open Whisper Systems 开发。Signal 获得了 爱德华·斯诺登 的认可,允许端到端加密消息传递。如果您要发送消息的人也在使用 Signal,则您的消息将通过由 Open Whisper Systems 维护的集中式服务器,通过数据连接以加密方式发送。直到最近,它还依赖 Google Cloud Messaging (GCM) 进行通知,这需要 Google Play 服务。

Signal 需要集中式服务器这一事实让一些人感到困扰,因此 Copperhead 上的默认应用程序是 Signal 的一个分支,名为 Silence。此应用程序不使用集中式服务器,但确实要求所有方都使用 Silence 才能进行加密。

嗯,我认识的人没有人使用 Silence。目前,由于商标问题,您甚至无法在美国的 Google Play 商店中获得它,并且没有 iOS 客户端。如果您无法使用加密 SMS 客户端进行加密,那么它就没什么用处了。

输入 Noise。Noise 是 Copperhead 维护的另一个应用程序,它是 Signal 的一个分支,无需 GCM。虽然 Noise 在标准 F-Droid 存储库中不可用,但 Copperhead 在他们提供的 F-Droid 版本中包含了他们自己的存储库,目前该存储库仅包含 Noise 应用程序。此应用将允许您与任何其他使用 Noise 或 Signal 的人安全地通信。

F-Droid 替代方案

FFUpdater

Copperhead 附带了 Chromium 网络浏览器的强化版本,但我是一个 Firefox 粉丝。不幸的是,Firefox 不再包含在 F-Droid 存储库中。F-Droid 上的应用程序都由 F-Droid 维护人员构建,因此进入 F-Droid 的过程可能很复杂。OpenNMS 的 Compass 应用未在 F-Droid 中,因为目前它不支持使用 Ionic Framework 进行构建,而 Compass 使用了 Ionic Framework。

幸运的是,有一个简单的替代方案:在 F-Droid 上安装 FFUpdater 应用程序。这允许我安装 Firefox 并通过浏览器本身保持更新。

亚马逊应用商店

这让我想到了 Android 8 Oreo 的一个很酷的功能。在以前的 Android 版本中,您只有一个“已知来源”来获取软件,通常是 Google Play 商店,如果您想从另一个存储库安装软件,则必须转到设置并允许“从未知来源安装”。我总是必须记住在安装后关闭它,以防止恶意代码能够在我的设备上安装软件。

Allowing sources to install apps

opensource.com

使用 Oreo,您可以永久允许指定的应用程序安装应用程序。例如,我使用 亚马逊应用商店 中的一些应用程序(例如 Amazon Shopping 和 Kindle 应用程序)。当我下载并安装亚马逊应用商店 Android 软件包 (APK) 时,系统会提示我允许该应用程序安装应用程序,然后我不会再次被询问。当然,这可以在每个应用程序的基础上打开和关闭。

亚马逊应用商店有许多有用的应用程序,例如 IMDBeBay。它们中的许多都不需要 Google 服务,但有些需要。例如,如果我通过亚马逊安装 Skype 应用程序,它会启动,但随后会抱怨操作系统。美国航空公司的应用程序会启动,然后抱怨证书已过期。(我联系了他们,被告知他们不再维护亚马逊应用商店中的版本,并且它将被删除。)无论如何,我可以非常简单地安装几个我喜欢的应用程序,而无需使用 Google Play。

Google Play

那么,那些您喜欢的、不使用 Google Play 服务但仅通过 Google Play 商店提供的应用程序呢?还有另一种安全地在您的 Copperhead 设备上获取这些应用程序的方法。

这确实需要一些技术专长和另一台设备。在第二台设备上,安装 TWRP 恢复应用程序。这通常是安装任何自定义 ROM 的关键第一步,TWRP 在大量设备上都受支持。您还需要来自 Android SDK 的 Android Debug Bridge (ADB) 应用程序,可以免费下载。

在第二台设备上,使用 Google Play 商店安装您想要的应用程序。然后,重启进入恢复模式。您可以通过 TWRP 挂载系统分区; 通过 USB 电缆将设备插入计算机, 您应该能够通过 ADB 看到它。有一个名为 /data/app 的系统目录,您将在其中找到所有应用程序的 APK 文件。将您想要的那些复制到您的计算机上(我使用 ADB pull 命令并复制整个目录)。

断开该手机的连接并连接您的 Copperhead 设备。启用“传输文件”选项,您应该会在计算机上看到已挂载的存储目录。将您想要的应用程序的 APK 文件复制过来,然后通过 Amaze 文件管理器安装它们(只需导航到 APK 文件并单击它)。

请注意,您可以对任何应用程序执行此操作,甚至有可能以这种方式在 Copperhead 上安装 Google Play 服务,但这有点适得其反。我主要使用它来获取 Electric Sheep 屏幕保护程序和我喜欢的名为 Cleartune 的吉他调音应用程序。请注意,如果您安装 TWRP,尤其是在 Google Pixel 上,安全更新可能无法正常工作,因为它们会期望使用库存恢复。在这种情况下,您始终可以使用 fastboot 访问 TWRP,但将默认恢复保留在原位。

没有替代方案的必备应用程序

不幸的是,仍然有一些 Google 应用程序让我觉得难以割舍。Google 地图可能是我使用的主要 Google 应用程序,是的,虽然我知道我正在将我的位置信息泄露给 Google,但它通过引导我绕过交通问题节省了我数小时的生命。OpenStreetMap 有一个通过 F-Droid 提供的应用程序,但它没有 Google 地图如此有用的实时信息。我偶尔也会使用 Skype,通常是在国外并且只有数据连接时(即通过酒店 WiFi 网络)。它让我能够以非常实惠的价格给家里和其他地方打电话。

我的替代方案是携带两部手机。我知道这对大多数人来说不是一个选择,但这是我目前找到的唯一选择。我将我的 Copperhead 手机用于任何个人用途(电子邮件、联系人、日历、图片等),并将我的“Google 手机”用于地图、Skype 和各种游戏。

我的梦想是有人能够在手机上完善虚拟机管理程序。然后我可以在同一设备上运行 Copperhead 和库存 Google Android。我不认为任何人有强烈的商业理由这样做,但我确实希望它能够实现。

支持 Copperhead 的设备

在您急于安装 Copperhead 之前,您需要跨越一些障碍。首先,它仅在 有限数量的手机上受支持,几乎所有手机都是最新的 Google 设备。这背后的逻辑很简单:Google 倾向于快速发布其设备上的 Android 安全更新,并且我发现 Copperhead 能够在一天之内,甚至在几小时内跟上。其次,与任何开源项目一样,它的资源有限,并且难以支持当前最终用户可用的设备中的一部分。最后,如果您想在 Pixel 和 Pixel XL 等手机上运行 Copperhead,您要么必须从源代码构建,要么直接从 Copperhead 购买设备

当我发现 Copperhead 时,我有一部 Nexus 6P,它(与 Nexus 5X 一起)是受支持的设备之一。这让我可以试用并习惯操作系统。我非常喜欢它,以至于我向该项目捐赠了一些钱,但我有点犹豫他们为 Pixel 和 Pixel XL 手机要价的价格。

然而,最近,我最终直接从 Copperhead 购买了一部 Pixel XL。原因有几个。首先,由于所有代码都在 GitHub 上可用,我开始为 Pixel 设备进行 自己的构建。这个过程(我从未完成)让我体会到 Copperhead 为其项目付出的努力。其次,Slashdot 上有一篇文章 讨论人们如何在预装 Copperhead 的情况下销售设备并使用 Copperhead 的更新服务器。我不太欣赏这一点。最后,我不仅通过成为一位直言不讳的用户来支持 FOSS,还用我的钱包来支持。

将“自由”放回自由中

我喜欢 FOSS 的另一点是我有选择。甚至还有一个正在开发的 Copperhead 的新选项,名为 Eelo。它由 Mandrake Linux 的开发者 Gaël Duval 创建,这是一个基于 LineageOS(CyanogenMod 的后代)的基于隐私的 Android 操作系统。虽然它应该比 Copperhead 支持更多手机,但它仍处于开发阶段,而 Copperhead 非常稳定和成熟。不过,我渴望尝试一下。

在我使用 CopperheadOS 的一年里,我从未在移动设备连接到网络时感到更安全。我发现我的旧应用程序的开源替代品不仅足够,甚至比 原始应用程序更好。我还重新发现了浏览器。我过去通常打开大约三到四个标签页,而现在我打开大约 10 个标签页,因为我发现我通常不需要安装应用程序即可轻松访问网站的内容。

随着 Google 和 Apple 等公司越来越试图将自己渗入用户的生活中,很高兴有一个将“自由”放回自由中的选择。

标签

14 条评论

太棒了,谢谢。

受支持的设备列表在这里
https://copperhead.co/android/docs/install

截至 2018-01-29

Nexus 5X (bullhead)
Nexus 6P (angler)
Pixel (sailfish)
Pixel XL (marlin)
Pixel 2 (walleye)
Pixel 2 XL (taimen)
HiKey (hikey)
HiKey 960 (hikey960)

据我所知,CopperheadOS 不是开源软件,因为它限制商业再分发。请参阅他们的许可

* https://github.com/CopperheadOS/platform_system_core/blob/oreo-mr1-rele…

COPPERHEAD_LICENSE 文件包含“Attribution-NonCommercial-ShareAlike 4.0 International”许可,该许可不是开源许可。

非常好的文章。
为了安全、高效和方便,通过 adb 或扫描图像在手机上下载和安装 Google Play 应用程序的最佳方式是 Raccoon

raccoon.onyxbits.de/

我是多年的用户。我不明白为什么人们要与威胁文明的 Google 斗争。

Raccoon 是免费的,只需不到 10 欧元即可获得一些额外功能。

我收到一封语气不好的电子邮件,抱怨我们没有明确说明 CopperheadOS 的许可。有关参考,他们的许可信息在这里

https://copperhead.co/android/docs/building#redistribution

请注意,该项目的部分内容是 Creative Commons Non-Commercial,这不是 OSI 批准的开源许可证。这种项目的术语是“源代码可用”,只是为了清楚起见。

呵呵,我只是引用了维基百科的文章,其中将它们称为“源代码可用”。

回复 ,作者 George Hollande

你好,

恕我直言,我不同意在 opensource.com 上发布这篇文章。

Copperhead OS 不是开源的,因为它不允许商业分发,其用户空间组件根据 CC-NC-SA 许可,这既不是开源许可证也不是自由软件许可证。

这是一个很棒的项目,但在谈论它时务必正确很重要。

祝一切顺利,
-G

我在文章中尝试(并且显然失败了)表达的主要观点之一是 Copperhead 让我使用了 F-Droid,并且在经过学习曲线后,我发现我可以不用大多数非自由应用程序。我真的很难找到一个让我从自由角度感到舒适的移动操作系统。所有移动设备都包含一些专有代码,即使是非常注重 FOSS 的 Replicant 也是如此,并且我愿意接受 Copperhead 的非商业用途条款,以换取一个安全、可靠的操作系统,让我可以看到源代码。

我承认我本可以添加一个关于 Copperhead 许可的段落以使其更清晰,但我不会承认这篇文章不应该出现在 opensource.com 上。我使用该产品一年的经历大大减少了我对闭源移动应用程序的依赖,并且希望其他人也能从我的经验中受益。

回复 ,作者 George Hollande

请查看 F-droid 中的 Yalp Store,以安装和更新 Play 商店中的应用程序。

它比这里发布的解决方案方便得多。

安全在 Android 中是一种幻觉。一旦您抛弃 Google Play 的东西并使用这些安全补丁编译 Android,您仍然必须应对那些二进制的高度机密位,这些位是使基带调制解调器、wifi 甚至触摸屏工作的必要条件。
该代码在每个人的手机上以高权限级别运行。
未经审查的代码可以做任何事情,从窃听您的所有活动到在您的智能手机内提供命令和控制中心。远在任何密码学介入之前。
如果您幸运的话,所有这些“额外功能”将仅由您的政府、您的运营商或您的制造商使用。
如果您不幸,那么这些后门将可供任何设法进入它们的人使用。

好文章。

您是否尝试过地图应用程序 maps.me?他们确实包括本地交通信息,至少在我的地区是这样。

它基于 OSM,并将地图离线存储在区域块中,这也使其非常适合旅行。

他们确实提供了 .apk,但我不确定该应用程序是否在 f-droid 中。

.os

不,我没有见过那个。我认为它不是 FOSS,所以它不会在 F-Droid 中,但他们确实提供了他们自己的 apk 以供直接下载。感谢分享。

回复 ,作者 Oystein (未验证)

Replicant 绝对值得一试,完全免费的 Android 发行版。他们已将所有专有的 Android 代码替换为免费代码,并获得了 FSF 的官方支持。https://www.replicant.us/

我是该项目的粉丝,但即使他们也有专有驱动程序的问题。我在 Linuxconf.au 上遇到了 Karen Sandler,她现在正在使用带有 Replicant 的 S3,但如果您查看他们的 S3 设备页面

https://redmine.replicant.us/projects/replicant/wiki/GalaxyS3I9300

您会看到仍然有一些专有驱动程序代码(例如 wi-fi、蓝牙、GPS)。

我真的不认为对完全免费的手机有足够的需求让我们在不久的将来看到一款,这很遗憾,因为我会买一款。

回复 ,作者 Ryan Ichiriwa (未验证)

知识共享许可协议本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.