SiteWiki logo SITEWIKI The Tor & darknet reference
EnglishNon-commercial
ArticleTalkReadView sourceHistory
From SiteWiki, the free encyclopedia

PGP signatures and warrant canaries

Pretty Good Privacy (PGP) signatures and warrant canaries are the main public mechanisms used by darknet-service operators to authenticate announcements.

PGP signatures and warrant canaries — SiteWiki summary card
Summary card for the PGP signatures and warrant canaries article.

Operators of onion services commonly publish announcements that are cryptographically signed with a long-lived PGP key, so that users can verify that a message really comes from the operator. A warrant canary is a related construct: a regularly republished signed statement that no secret legal order has been received, the disappearance of which is intended to convey information that direct publication would be unlawful.

PGP signatures

Pretty Good Privacy (PGP) was created by Phil Zimmermann in 1991 and standardised as OpenPGP in RFC 4880. The GNU Privacy Guard (GnuPG), first released in 1999, is the main free implementation. A signature is an asymmetric operation: the holder of the private key produces a short string that any third party can verify against the corresponding public key.

Operators typically publish their public key once, on multiple channels (an onion service, a long-standing forum post, archived personal pages), and sign every announcement with it. A client that has recorded the key fingerprint can detect any statement that originates from someone else.

Warrant canary

A warrant canary is a short, periodic signed message of the form: “As of (date) we have received zero National Security Letters, zero gag orders and no subpoenas requiring secrecy.” The construct was popularised by the hosting provider rsync.net in 2004 and has since been used by Reddit (until 2016), Apple (2013–2014), the digital-rights organisation Access Now and various darknet operators.

The legal theory is that although a court can order a provider to remain silent about having received a secret order, it generally cannot compel the provider to publish a false statement. The silent removal of a canary is therefore intended to be a lawful signal.

How to verify

  1. Obtain the operator’s public key through at least two independent channels and record its fingerprint.
  2. Import the key into GnuPG with gpg --import operator.asc.
  3. Place the signed message in a file; verify with gpg --verify message.txt.asc.
  4. Check that the signing key matches the fingerprint recorded in step 1 and that the signature date is within an expected window.

Limitations

Signatures prove only that the message came from the holder of the private key. They do not prove that the holder is uncompromised. If an attacker obtains the private key, or if the operator decides to publish a message they do not believe, the signature is still valid. Warrant canaries have also attracted legal controversy; their effectiveness is untested in the courts of most jurisdictions.

References

  1. Callas, Jon et al. (2007). “OpenPGP Message Format.” RFC 4880, IETF.
  2. Zimmermann, Phil (1995). The Official PGP User’s Guide. MIT Press.
  3. Electronic Frontier Foundation (2014). What is a Warrant Canary? eff.org.