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

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

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

编者注:CopperheadOS 在 许可 下发布,许可协议为知识共享署名-非商业性使用-相同方式共享 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 邮件

K-9 Mail

opensource.com

甚至在我开始使用 Copperhead 之前,我就喜欢 K-9 邮件。这绝对是我发现的最好的移动电子邮件客户端,而且它是我在任何新设备上安装的第一批东西之一。我甚至使用它通过 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 应用程序)。当我下载并安装 Amazon Appstore 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 文件包含“署名-非商业性使用-相同方式共享 4.0 国际”许可,该许可不是开源的。

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

raccoon.onyxbits.de/

我是一位有几年历史的用户。我不明白为什么人们要与威胁文明的 Google 作斗争。

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

我收到了一封愤怒的电子邮件,抱怨我们没有明确说明 CopperheadOS 的许可证。有关参考,他们的许可信息在此处

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

请注意,该项目的某些部分是知识共享非商业性的,这不是 OSI 批准的开源许可证。这种项目的术语是“源代码可用”,只是为了清楚起见。

呵呵,我只是参考了 Wikipedia 文章,该文章将它们称为“源代码可用”。

回复 作者: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 (未验证)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.