Move the verification JavaScript from the verification extension to the page itself
Nothing in https://tails.boum.org/contribute/design/verification_extension/ actually prevents us from including the code to verify Tails ISO images directly on our website. The extension does not seem to provide any particular benefit (since it’s been rewritten at least) over using the forge library and the verification code directly in the browser. As we use native Web APIs from the browser, we have access to the File objects and could even create a drag & drop area for the files to check.
The extension does not protect from MITM (then everything would be
MITM’ed) and it does not protect from phishing (somebody who creates a
webpage called tails.boum.org using weird unicode can always have a lets
encrypt certificate for their domain and
pretend that everything is working well).
I’ve re-read the abovementioned design document and I cannot see any benefit in maintaining an extension currently.
Before the release
-
Have a security discussion -
Adapt the interactions on the page - The user downloads the file
- The user clicks on “Verify Tails 3.13…”
-
Implement the verification logic on the page -
Check the compatibilty with more browser (Safari? Edge?) -
Allow cross-origin requests on https://tails.boum.org/install/v2/Tails/amd64/stable/latest.json (sysadmin#17771 (closed)) -
Check if caching of JS files on the server poses a problem (#16091) -
Deprecate the extension and make people aware that it’s unsupported and it does not fire on the page -
Write /news/verification_extension_deprecation
-
-
Update the design documentation -
Rescue from verification-extension.git the bits of internal documentation that we still need (896f33a9) -
Test with Edge and Safari -
Get a security review -
Review and modify carefully our Cross-origin policies, so that Threat H is mitigated -
Input validation in verifyFile (!183 (9093b48a)) -
Forge attack surface (!183 (ec95a37b))
-
-
Get a technical writing review -
Build a minified version of Forge SHA-256
On the day of the release
-
Update date on /news/verification_extension_deprecation -
Test having a different URL on retry -
Tweet
Some time after the release
-
Always display file name in verification results -
Remove the extension from app stores -
Delete the Git repo and ~"C:Verification Extension" tag (sysadmin#17787 (closed)) -
Analysis the impact on the number of verified downloads -
Only count verified downloads - I kept the counter for now but we should remove it after evaluating the impact on verified downloads