[guardian-dev] Complete, reproducible app distribution achieved!
Hans-Christoph Steiner
hans at guardianproject.info
Thu Feb 12 05:19:38 EST 2015
It makes a lot of sense to make Orbot use this process. It'll be a much more
elaborate process though, unfortunately, because of all the native bits. We
need to figure out a common way to log the build setup, things like NDK
version, versions of SDK platform-tools, build-tools, etc. Then there needs
to be a way to easily reproduce that setup. I think that will be something
like what gitian does: builds up a VM instance with all the same versions used
for the original build.
Right now, getting an app into FDroid with this process relies on timing: the
APK submitted in the Binaries: field needs to be built with all the same
versions that the f-droid.org build server is running. So it means syncing up
versions with f-droid.org (they are usually quite quick to update all things
except the NDK).
.hc
Nathan of Guardian:
>
> This is really fantastic. I can't wait to get Orbot moved over.
>
>
> On Wed, Feb 11, 2015, at 02:53 PM, Hans-Christoph Steiner wrote:
>>
>> new blog post:
>> https://guardianproject.info/2015/02/11/complete-reproducible-app-distribution-achieved/
>>
>> With F-Droid, we have been working towards getting a complete app
>> distribution
>> channel that is able to reproducibly build each Android app from source.
>> while
>> this may sound like a mundane detail, it does provide lots of tangible
>> benefits. First, it means that anyone can verify that the app that they
>> are
>> using is 100% built from the source code, with nothing else added. That
>> verifies that the app is indeed 100% free, open source software.
>>
>> It also verifies that there have not been any malicious bits of code
>> added
>> into the app during the build process. As has been demonstrated in the
>> 31c3
>> Reproducible Builds talk, just flipping a single bit is enough to create
>> a
>> usable exploit in an app.
>>
>> The F-Droid project is leading the way with its system for publishing
>> verified
>> builds. We know have our first full example, building upon our previous
>> work
>> with making Lil’ Debi build reproducibly. We started with our simple
>> little
>> utility app Checkey since it has few moving parts (first get one working,
>> then
>> the rest).
>>
>> When you download Checkey from f-droid.org, you will get an APK that was
>> signed using the official Guardian Project offline signing key that was
>> built
>> by f-droid.org. No, we did not give them a copy of our key, instead, the
>> fdroid publish process now looks for the Binaries: tag in the build
>> recipe. If
>> it sees that, it downloads that APK, then builds the app from source,
>> then
>> checks to make sure that they match using a simple diff of the APK
>> contents
>> and by checking that the signature on the official APK also validates on
>> the
>> APK that f-droid.org built.
>>
>> Now that we have our little Checkey working, we can work towards getting
>> all
>> of our apps verifying in the same way, eliminating a whole field of
>> exploits
>> that we have to worry about. You can follow the progress of this work on
>> the
>> F-Droid wiki Reproducible Builds page, and learn about a future
>> application of
>> it on the Verification Server page.
>>
>> The next two apps that are in the reproducible pipeline are LEAP‘s
>> Bitmask and
>> our LocationPrivacy.
>>
>> .hc
>> --
>> PGP fingerprint: 5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81
>> https://pgp.mit.edu/pks/lookup?op=vindex&search=0x9F0FE587374BBE81
>> _______________________________________________
>> List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev
>> To unsubscribe, email: guardian-dev-unsubscribe at lists.mayfirst.org
>
>
--
PGP fingerprint: 5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81
https://pgp.mit.edu/pks/lookup?op=vindex&search=0x9F0FE587374BBE81
More information about the guardian-dev
mailing list