[tor-bugs] #32895 [Applications/Tor Browser]: Improve marsigning_check.sh script to deal better with non-reproducible, signed macOS mar files
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat May 23 14:09:56 UTC 2020
#32895: Improve marsigning_check.sh script to deal better with non-reproducible,
signed macOS mar files
-------------------------------------------------+-------------------------
Reporter: gk | Owner: gk
Type: defect | Status:
| assigned
Priority: Medium | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-sign, tbb-maint, | Actual Points:
GeorgKoppen202005 |
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Changes (by gk):
* status: new => assigned
* keywords: tbb-sign => tbb-sign, tbb-maint, GeorgKoppen202005
* owner: tbb-team => gk
Old description:
> Our current mar-signing check script does two things:
>
> 1) It checks whether the SHA-256 sum from the signed .mar file is the
> same one as from the unsigned one and returns an error if so.
>
> 2) It strips the signature and compares the SHA-256 sum of the resulting
> .mar file with the unsigned one.
>
> Step 2) essentially tries to do 2 checks in one: a) that there is a
> proper signature that can get stripped and b) that the resulting .mar
> file is the same as the unsigned one. That's cool in theory as we want to
> have both checks but it has a number of issues in practice. The most
> important ones are:
>
> i) The script fails the mar-signing check for macOS as the stripping the
> signatures from those files does not give us the unsigned .mar due to the
> content signing
>
> ii) It's not clear we signed actually with the right key (although that
> is in practice not much of an issue) or whether the signature verifies
> later on (which is actually what we want to know).
New description:
Our current mar-signing check script does two things:
1) It checks whether the SHA-256 sum from the signed .mar file is the same
one as from the unsigned one and returns an error if so.
2) It strips the signature and compares the SHA-256 sum of the resulting
.mar file with the unsigned one.
Step 2) essentially tries to do 2 checks in one: a) that there is a proper
signature that can get stripped and b) that the resulting .mar file is the
same as the unsigned one. That's cool in theory as we want to have both
checks but it has a number of issues in practice. The most important ones
are:
i) The script fails the mar-signing check for macOS as stripping the
signatures from those files does not give us the unsigned .mar yet due to
the content signing. (see: #20254)
ii) It's not clear we signed actually with the right key (although that is
in practice not much of an issue) or whether the signature verifies later
on (which is actually what we want to know).
--
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/32895#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list