diff --git a/README.md b/README.md index 00ecca5..7cac1c8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -Public Database of Software Hashes -=================================== +A Public Database of Software and Firmware Hashes +================================================= -# Problem with software authenticity +## The problem of software authenticity -We all use software. Everywhere. From our servers, to personal computers and our +We all use software. Everywhere. From our servers, to our personal computers and phones (which are becoming extensions of our brains, BTW). From our Mars -landers, to cars, to home routers, TVs, and even toasters. From medical MRIs, to +landers to cars, home routers, TVs, and even toasters. From medical MRIs to pacemakers. Yet, curiously, the dramatic majority of software and firmware, especially open @@ -13,33 +13,32 @@ source software, can not be _authenticated_ in any meaningful way. By _authenticating_ we understand a process of establishing the authorship _and_ integrity of the software. -It's probably quite obvious what does _integrity_ mean? Integrity assurance -guarantees that the software has not be tampered nor replaced anywhere between -its author and its users. +What does _integrity_ mean? Integrity guarantees that the software has not been +tampered with or replaced anywhere between its author and its users. It might be less obvious that integrity does not imply trustworthiness, -understood as security or non-harmfulness. Indeed, there is nothing that could -stop an author from producing either incidentally buggy or intentionally harmful +understood as security or non-harmfulness. Indeed, there is nothing that stops +an author from producing either incidentally buggy or intentionally harmful software and properly signing it with his or her key. Moreover, there is nothing that stops others from generating their own keys, adding whatever description strings to the keys (e.g. "Linux Kernel signing key"), and using these keys to sign modified copies of the software. In order to protect against such attacks, the software author needs to somehow ensure that -all the interested people could easily find out which key is the -original signing key. This is typically achieved by publishing the keys in +all the interested people can easily find out which key is the +original signing key. This is typically achieved by publishing the key in various places, such as on twitter, keybase.io, etc. But what if the machine on which the author signs their software gets compromised? Of course the attacker could then sign modified copies of the software. More importantly, the attacker can _selectively_ feed backdoored -software to only some of the users, to minimize chances of the attack discovery. +software to only some users, to minimize chances of the attack being discovered. All the above scenarios are of concern when the original author has made an effort and actually attempted to sign their software. Yet, most of the software is offered without any kind of signature for verification. -# Proposed solution +## The proposed solution Ideally we would like to have a simple oracle that answers a simple question: is this software safe to install and run? Unfortunately, as briefly explained above @@ -47,7 +46,7 @@ it is not possible to provide any generic mechanism to answer such questions (even if the author employs some scheme for signing, not to mention if they don't). -What we, as a community, could do, however, is to attempt to build a publicly +What we, as a community, can do, however, is to attempt to build a publicly available database of software _hashes_. The database is a collection of statements from various witnesses of the following form: @@ -84,7 +83,7 @@ The following command should be used to create the `hash` file: sha256 > hash -# Example +## Example codehash.db/ ├── apps @@ -127,54 +126,53 @@ The following command should be used to create the `hash` file: │   └── README.md └── README.md -# FAQ +## FAQ -## How do you obtain the hashes that are in the repo? +### How do you obtain the hashes that are in the repo? The steps are give in the corresponding `orign.{id}` files, where `{id}` identifies the witness (key) who checked the hash. -## Why a git repo? +### Why a git repo? -A git repository can be trivially cloned, archived, and forked. It can also be -easily hosted for free at a number of public services, such as GitHub. +A git repository can easily be cloned, archived, and forked. It can also easily +be hosted for free by a number of public services, such as GitHub. Additionally, it provides tracked history of changes and integrity (through signed tags and/or commits), which can be thought of as an additional security mechanism to the explicit GPG signatures we display. -## Do you make any guarantees about the software included here? +### Do you make any guarantees about the software included here? -No, please see Disclaimers. +No, please see the [Disclaimers](#disclaimers). -## Do you assume we must trust GitHub (or any other hosting service)? +### Do you assume we must trust GitHub (or any other hosting service)? No, you should always verify GPG digital signatures to check integrity of any information contained herein. -## Are you going to accept submission about hashes from anybody? +### Do you accept submission from anyone? -No, please see Disclaimers. +No, please see the [Disclaimers](#disclaimers). -## Can I fork this? +### Can I fork this? Yes, please see the License section below. -# License +## License TODO -# Disclaimers +## Disclaimers -1. The list of software contained in this repository should not be considered an - endorsement for using of any of the software by any of the witnesses who - signed their hashes. +1. Nothing in this repository, including witness' signatures, constitutes an + endorsement for the creation, distribution, or use of any code or software. 2. There is no guarantee that any of the code referenced in this repository is - not, were not, or will not become insecure, malicious, harmful, or otherwise - differing from what its vendors claims about it. The match of the hashes only - means that certain group of witnesses were exposed to the same code, - byte-by-byte, as you. + not, has not been, or will not become insecure, malicious, harmful, or + otherwise different from what its vendor claims about it. Hash verification + guarantees only that witnesses were exposed to the same code, byte-for-byte, + as you were. 3. You can send a patch/pull request with hashes of non-included software, but please keep in mind this will likely be ignored, unless 1) I consider you a diff --git a/os/qubes/3.2/hash.sig.adw b/os/qubes/3.2/hash.sig.adw new file mode 100644 index 0000000..abcbe02 --- /dev/null +++ b/os/qubes/3.2/hash.sig.adw @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCgAGBQJYJlvGAAoJENtN07w5UDAwxVUP/jFB6ChkxwV8+jEA2wuC4jyz +RzkHTJo78P/HknguW2bRyCDeigFwDWMthX+j5I/bsbKOaNTZmuTLonxjnpfPEF6L +SYFRhy5VhqmZbQfzbZlAiFcoJkr5uQyDdvmyogiy/0LeHT9yAckVS4ior49h0ATv +bZiDV8vFPlDHrTlNOUXYzP3g18hecy3t2bY54OpwT8C0dV1sp7taaVAvVfej9L3E +24XMEvCV66HB7Lroh+kZNgixvU2rD3m2wJoYChf69IyGnrGX85osAZl7E9jYvcUx +M64h6QhtKNFcgvGrDZhbbO9csFlF3EfNlmmjHMz8BAE9v7oKv5DfdnJBKbMXj5Ty +c23b1FK4RIJkqNsuzh/9NWBiKLLi+MaaKJETfaVWTSXxHj9lUwHZ+mmD2t8Y/UfG +lV1+pA2LqqLfmQkwJgv+uPncCSFIidKVhopGOZbvOEsDsRfV8Gpq5HWnn+wvQiIq +zaLV9DHBlvSOzSPKqIxwFzKOzjpts+BcFh3DdiEN4XlB45yTBHxdpnT3fenshd0b +q1PmWBRA1toP21TXR/FstpDEKx+wfldk0JBA0vqnc9iP4emjXDIwkZejV6GWi2Wp +t4oxmM3kPmF+9+fHXv/YWuudTFtIcjNCbk/JojzX0vAHDLrz5zGmKrj50Z0fxAtL +IL1EfIN7P51OdFBYknQN +=OrUo +-----END PGP SIGNATURE----- diff --git a/os/qubes/3.2/origin.adw b/os/qubes/3.2/origin.adw new file mode 100644 index 0000000..b3dcab5 --- /dev/null +++ b/os/qubes/3.2/origin.adw @@ -0,0 +1,28 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Downloaded from: https://mirrors.kernel.org/qubes/iso/Qubes-R3.2-x86_64.iso + +Verified successfully with the Qubes Release 3 Signing Key, which is in turn +signed by the Qubes Master Signing Key. + +In addition, the Qubes OS project provides signed hashes for each ISO: + +https://github.com/QubesOS/qubes-secpack/tree/master/digests + +-----BEGIN PGP SIGNATURE----- + +iQIcBAEBCgAGBQJYJmAtAAoJENtN07w5UDAwAH4QALaFMgnh04d+SxMn8v6zIqNz +D3JfUDFvt+iNMAKi7aj2Hm4wcLjOIKLm+pNMxY/Q38NtAp7gQ5p+LBJVXG8bWNen +9RwQnyrx/yFmmfEq59ge5ZD5eHN160WcmFzY5ZYInZxIgnRgy6PGwCAtKWCQXfz5 +47rFqs9D+Ai5jnJ7Te6BLOfzfs+80L1k7aO2T2puGzwqPbydfIpgkMTOWcSO93h5 ++/AWICL2V5UhyG5xY4zXxUnBKClUvzfhmaUOYyIdZxm9zQfvcSZ8wKO5FwYS3tW1 +UTvgr60QmRkMFT3hSsqub7s9o0mMS/tfwMlwha/Og3G6YhY9UadPWkHMNEEYHNtC +du4UyA5LD2YMFbPMOpAh7yUzA/zBywbkFLqwPz0/+o8sgOlQKA1Kg0+IfzvhL2+W +TPAX/daqbZMPlD+Xbf7tDsHGo4zWQhy0N/JmlTYNtBKRViTGlBaOYnB1z8cx+DAE +QwmK2srSf07vO/znMz/jF6efyyRpfJ50gBTCqIybxNwhwg9vONU7ERQZxIZ51rgM +A6CtcbJuZIWBsZ6/onJykx15DKqWucDwvgNszFzBs+vdC6o4GvCgRROpdF8qnF8X +1VF8B2T5V/0AgHBcnXGrsKLR4sHKGaDOIhzJtHtL5hJiC2VdCP00+HzCpe2a+PnC +ykvQzKOqdB9RtC8ONmHD +=WlQb +-----END PGP SIGNATURE----- diff --git a/os/qubes/vendor_keys/origin.adw b/os/qubes/vendor_keys/origin.adw new file mode 100644 index 0000000..0660817 --- /dev/null +++ b/os/qubes/vendor_keys/origin.adw @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +I have verified the Qubes Master Signing Key through countless channels over +many years, and I have verified that each Release Signing Key is signed by the +Qubes Master Signing Key. + +The Qubes Master Signing Key fingerprint is: + +427F 11FD 0FAA 4B08 0123 F01C DDFA 1A3E 3687 9494 + +In addition, I maintain the following signed record of fingerprints: + +https://andrewdavidwong.com/fingerprints.txt + +-----BEGIN PGP SIGNATURE----- + +iQIcBAEBCgAGBQJYJl9DAAoJENtN07w5UDAwyioQAJ3CGJf+tzlINeTD0eBBhA+I +la6du2HOjHqEtaB8N1jGVtdbRTjjYUtRibdsaKIDBQBD7WASv9OvLC1NTWddVMfr +qZekRvKRXX4Kbra4/AR8mrBReS2U3A7rp47ELpYGPCmzMIJt8NIJHUWPO2IIkhwN +PXE3Um0qpAPzxUMaCe1liJVNrmiNukWfbqpWoWIxGqX4JxsW/RVgcHT9+g8ruQQm +I3EKNWmOUYSEKu0eQz/W22/iljHcdEkiSvFSvdMo6pGx71+qL6HPBjqXuISL026O +ZoxEk8FGxFXM98mrCW6yZLlO0k/pZpZyoKT3rQD9sQUYjK+YMIxqIsrrW1x4VAqX +hYzwevu3QIb3BdKVkfi73LBAd6V+fV4S2oSZ0DhhNeAi8PM9EDsxiF2hBaVjxbo8 +6f6PS7pz1MKgdjcTpkKuqOlTjEz8jY5ICux0dRc3RxTvLZBaT+QtzTIxSKLQxAJi +NPM88CHqsEF+XsZXs/1OItcMZDcATb/VysgNQ87GQzACcyrDKP38JYkMY99+1Vex ++VKZV3s++82LpxIT8QDuTsRC+UjG7Uyb1889wS3fyXYkXkjY5xwiXHs92/9G8MHs +x1AtQzSfuYOXBNSNk9Dg8e+c6bWSh0Z+pK+rhbIpZ2WHTgDR7TI1xVHDB/0sELGh +AHX8Spxycy2vbzbz9NnI +=zt2z +-----END PGP SIGNATURE----- diff --git a/os/qubes/vendor_keys/qubes-master-key.asc.sig.adw b/os/qubes/vendor_keys/qubes-master-key.asc.sig.adw new file mode 100644 index 0000000..e114d72 --- /dev/null +++ b/os/qubes/vendor_keys/qubes-master-key.asc.sig.adw @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCgAGBQJYJl/HAAoJENtN07w5UDAwaV4QAKLZQ9BkIhOsgCoFVHHivaJ4 +fEUwNEYnpIRh+desa2GQgb6Dc50g3ULgvVgZPg2yKW4GxUHMk+1lpdbcit/rqQHj +ebAxcMBAY+tU44+AQBnJf1G1bgperalZCZ3k/MEszdHWuGxMfhhCDPKxYZ1Mvr6S +cpuVZBS2MT62qBB6lNGWZmqT/aHvjhjVeb9hdeKrSFi10tRMuMAXZUbxmmRpmR7X +4OqJ24du/3226/uqQ6RJmQJWZpyW5GQMHMsxennBsiEvFfmbZHDatZtp8Xjlj6sV +lSpRIIkVeDXgmo60IJca62V4Dm0MpgNYvcUR72GzctXNCN+vs2B01K8/5ykLwm7s +Fq6f58AYOMRT8zlxlxBqlGPx9hQ3jKhIGtAnrO8Cs9kTk3KnKMkg/3X2PAAXFEJe +HXgs+ydZ4cMF07h88aCoopNuUt7k2wZS5gGm+jP8VWL19DgL9vu1BmCodCw2PHgT +zRHAck3w/BrXIG90m+JR4gRimRHXwFMk+PP0PqudeCpX51895yuo2IV9nwIzpnz5 +MGe7pEkOxbhFH4YAXbvlDeCj2jZZGOL2Twy0AR1sxeArGQ4qdWF24wm01wooMVCr +8F+KhaTvFL4YUHSHxo1jyrBtPYgi05RwJ4FRw//CVEAZGHIgWpmi57Wv5tXZxc7X +HPKN6ZniswmGrYETh3Hf +=8meU +-----END PGP SIGNATURE----- diff --git a/witnesses/adw.md b/witnesses/adw.md new file mode 100644 index 0000000..45f350c --- /dev/null +++ b/witnesses/adw.md @@ -0,0 +1,20 @@ +Andrew David Wong +================= +Community Manager, Qubes OS + +PGP key sources +--------------- +* https://andrewdavidwong.com/adw.asc +* https://keybase.io/adw/key.asc +* https://github.com/andrewdavidwong/keys/blob/master/adw.asc + +PGP fingerprint locations +------------------------- +* https://andrewdavidwong.com/contact/ +* https://keybase.io/adw +* https://github.com/andrewdavidwong +* https://www.qubes-os.org/team/ +* https://forums.whonix.org/users/adw/ +* https://onename.com/adw +* https://twitter.com/andrewdavidwong/status/583961424742854656 +* https://www.qubes-os.org/news/2016/04/29/community-manager/ diff --git a/witnesses/keys/README.md b/witnesses/keys/README.md index d98029b..95b31ba 100644 --- a/witnesses/keys/README.md +++ b/witnesses/keys/README.md @@ -4,4 +4,4 @@ List of keys used by witnesses Each key should be in a separate file named `.key`. Other witnesses might sign the keys of the other witnesses if they so -desire by creating a corresponding `key.{id}.{id_of_the_signer}`. +desire by creating a corresponding `.key.`. diff --git a/witnesses/keys/adw.asc b/witnesses/keys/adw.asc new file mode 100644 index 0000000..3889f96 --- /dev/null +++ b/witnesses/keys/adw.asc @@ -0,0 +1,375 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +=M+e7 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/witnesses/keys/joanna.key.adw b/witnesses/keys/joanna.key.adw new file mode 100644 index 0000000..b0b9b19 --- /dev/null +++ b/witnesses/keys/joanna.key.adw @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCgAGBQJYJlQ9AAoJENtN07w5UDAwy3EP/1tnhgW/ZDySrv3mUW2t+Lim +3TE6SEMBHa2x2hoXbN5RCi62SEM9w2HtnpWKqTlDVLZecSBMjI6LHSuNt+2LWatg +tce/UrHCYXODMvRHodqob2ERnk22/aqW2uQU/Wax3lrp8dpNuA7Sw1WcmtQCrugM +iKa5MhQcmfLEZ/wwV0SeD/l3Y2z5xxUbG6KMW/+1jEHPXEKfbsR9y/XxtyBfYrfm +/QXooAE7MoYHmpA59RkeXqbIpcbvA2RzfKoQduEsArMK6iHJr0Nskna9yawmmg7z +EbfOKQP8VO+PMh61Kec6JfaA3J42FSGc/QrBbo8CBqMZaYEweHPi3gxjiIdM92RA +psZVZXmsdGFWcvcjrH4iw9K09Z/9gA2yRLc3WQm1jLPLAIOigfbqCXOm8+PaIWFh +xAbZMU6EKq8u2OEKHcrQfP0Of5NA04Fw13xzyw7+0JQF6bSdgf/geUWhpSzdtaT/ +Vt2ATqCHKrPT6l9zCj84+pdH7ARWesw+/9mDdyQRY7FUj8ZrUBb9TRC5sFm3fdef +corGhlWFVMJN1RffIZd96rsAT8LTm4ClMJRsIXFy6CJ0AeuJ5TEOGV/4T8iwlbMm +WoBPkORdAgRXypaMozlgBKfzHLIbwhv+iyeC92Dg4muT69DWxVpxHQwbvtxPZYjI +4k4n1y5mMMBRfgHgM7Q1 +=cZJE +-----END PGP SIGNATURE-----