[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