<div dir="ltr"><div dir="ltr"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 21, 2020 at 12:46 PM Tim Ruffing via bitcoin-dev <<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Pieter, <br>
<br>
Let's take a step back first. If we believe that malicious hardware<br>
wallets are big enough of a concern, then signing is only part of the<br>
problem. The other issue is key generation. The PRG from which the seed<br>
is derived can be malicious, e.g., just H(k_OO,counter) for a key k_OO<br>
chosen by the hardware manufacturer. I haven't seen an argument why<br>
attacks during the signing model should more realistic than attacks<br>
during key generation, so I'd be very hesitant to deploy anti-covert<br>
channel singing protocols without deploying protocols for key<br>
generation that are secure in the same attacker model.<br></blockquote><div><br></div><div>Public keys are deterministic and can be spot checked.  In fact, AFAIU if hardened HD key derivations are not used, then spot checking is very easy.</div><div><br></div><div>While spot checking isn't ideal, my original concern with the synthetic none standard proposal was that it is inherently non-deterministic and cannot ever be spot checked.  This is why anti-covert signing protocols are so important if we are going to use synthetic nonces.<br></div></div></div>