←back to thread

544 points josh2600 | 6 comments | | HN request time: 0.423s | source | bottom
Show context
lrvick ◴[] No.26715358[source]
Signal is still centrally controlled and compiled by a single entity and distributed only in an unsigned insecure form or in a signed/verified manner only if you give up your privacy to install with Google Play or the Apple store.

Those that only run open source software like myself have no secure way to run Signal short of compiling every release by hand which is impractical. Moxie has stated he will not support anyone but his team compiling or distributing Signal binaries so third party signed builds via privacy focused app stores like F-Droid are out. All builds must also use Signal centralized servers even though that centralizes TCP/IP metadata, etc.

Not to mention you need to show government ID to get a SIM to use the Signal wallet for said private currency/messenger in 200 countries.

Secondly having a decentralized currency whose servers can only run on Intel machines with Intel SGX is a very centralized supply chain as well.

A single supply chain attack on Intel microcode or related SGX updates could run malicious code and game over for the currency globally? A government that sees MobileCoin as a threat could make Intel do this.

With a SPOF on the supply chain of the only client people are expected to use and another SPOF on the only hardware enclave people are supposed to use for servers... decentralized is technically true but not used in the same way as most other projects that use that word.

I will keep an eye on this experiment though, because there are some unique ideas here which could have value should your trust anchors expand beyond Intel and Signal.

replies(5): >>26717225 #>>26717227 #>>26717623 #>>26718384 #>>26719148 #
hiq ◴[] No.26717225[source]
> distributed only in an unsigned insecure form or in a signed/verified manner only if you give up your privacy to install with Google Play or the Apple store.

> Those that only run open source software like myself have no secure way to run Signal short of compiling every release by hand which is impractical.

Nope: https://signal.org/android/apk/

replies(1): >>26717545 #
1. stonesweep ◴[] No.26717545[source]
You may be missing the subtle point - the APK provided is the same one from Google Play, which includes the Google SDK encumbered libraries (links? hooks? features?). If you run a libre device without the Google Play store (non-Google android build) then the software cannot function. The code for the client is open source, but the act of compiling it against the required Play store libraries encumbers the final binary. F-Droid requires that all code compile without the Google SDKs in order to be hosted (IIRC).
replies(4): >>26717633 #>>26717672 #>>26721676 #>>26724563 #
2. Mediterraneo10 ◴[] No.26717633[source]
You are being a bit too subtle for many people. I think most reading your post above are going to understand it as claiming that the Signal APK downloadable from Signal's website requires Google Play Services or the Play store in order to run. That is not the case, as any LineageOS user can tell you.
3. hiq ◴[] No.26717672[source]
> If you run a libre device without the Google Play store (non-Google android build) then the software cannot function

I think you mean either of two things:

1. running the APK they build on a device without Google Service does not work

2. running the APK they build on a device means it's no longer running only libre software

1. is not true, so I assume you mean 2. I guess that's true, but in practice I think that the compiled dependency doesn't do anything if you don't have the services on your phone (don't quote me on that). It's not free software, but it's still better than the competition.

replies(1): >>26717849 #
4. stonesweep ◴[] No.26717849[source]
I think it sort of floats in 2 territory and sort of resembles the LGPL based kernel modules which require a binary firmware blob to run (kind of, not exactly). In order to create the APK, the code must compile against the SDK and encumber it by binding to an API, however if I understand this correctly in Android terms it means a stub of non-free code is now inside your APK, instead of say an external firmware blob. (I am not an Android coder to know the subtle details here)

(I'm aware that the code will try and use Google services, then if it fails it falls back to websocket(?) - so the actual Services don't have to be present, but the compiled APK contains the non-free hooks to use it if present? I tried to use the word encumbered to reflect that)

5. Vinnl ◴[] No.26721676[source]
Others seem to interpret this as your saying that downloading the APK results in non-free code being present on your system, but

> If you run a libre device without the Google Play store (non-Google android build) then the software cannot function.

is just not true. I don't have the Google Play Store (I'm on a non-Google Android build) and Signal functions just fine.

(Well, mostly fine - it has to maintain its own connection because of course it can't use Google's tooling for that, so it supposedly has more battery impact.)

6. fX0rObfoMN4 ◴[] No.26724563[source]
I don't think that is true. The build that is distributed through the site has the Play Store "features" disables and has other things like an auto-update mechanic. When built for the website the build config `PLAY_STORE_DISABLED` set to true.

https://github.com/signalapp/Signal-Android/blob/1f578ebd2c1...