NoctisNode
← BlogKeamanan2026-10-237 menit

Apa Itu Warrant Canary dan Cara Memverifikasinya dengan GPG

Warrant canary adalah pernyataan bertanda tangan yang diperbarui secara rutin bahwa tidak ada tuntutan hukum rahasia yang diterima. Pelajari batasannya dan cara memverifikasi canary.txt dengan GPG.

Singkatnya: Warrant canary adalah pernyataan bertanda tangan yang diperbarui secara rutin, di mana sebuah layanan menyatakan belum menerima tuntutan hukum rahasia tertentu, seperti subpoena dengan gag order atau national security letter. Jika pernyataan itu berhenti diperbarui atau kata-katanya berubah, pembaca menganggap keheningan tersebut sebagai peringatan. Anda memverifikasinya dengan memeriksa tanda tangan PGP terhadap fingerprint kunci penerbit dan memastikan tanggal tanda tangannya masih baru.

Artikel ini membahas gagasan hukum di balik canary, batasan nyatanya, isi canary yang baik, dan verifikasi GPG langkah demi langkah dengan canary NoctisNode sebagai contoh.

Cara kerja warrant canary

Namanya berasal dari burung kenari yang dulu dibawa penambang ke bawah tanah: selama burung itu hidup, udaranya aman. Warrant canary bekerja dengan cara yang sama. Layanan memublikasikan pernyataan bertanggal seperti 'kami belum menerima perintah pengadilan rahasia atau gag order apa pun' dan memperbaruinya sesuai jadwal tetap.

Gagasan hukumnya, yang terutama berasal dari Amerika Serikat, bertumpu pada satu perbedaan: otoritas mungkin bisa melarang perusahaan mengungkapkan bahwa ia menerima perintah rahasia, tetapi memaksa perusahaan memublikasikan pernyataan palsu adalah tuntutan yang berbeda dan lebih sulit. Jika perusahaan sekadar berhenti memperbarui canary, ia tidak mengungkapkan apa pun, tetapi pembaca dapat menarik kesimpulan sendiri dari ketiadaan itu.

Batasan warrant canary

Canary adalah sinyal yang berguna, bukan jaminan. Ingat batasan berikut sebelum mengandalkannya.

  • ▹Teori hukumnya sebagian besar belum diuji di pengadilan, dan jawabannya bisa berbeda antarnegara.
  • ▹Canary hanya mencakup apa yang dicantumkannya secara eksplisit. Canary tentang perintah rahasia tidak mengatakan apa pun tentang permintaan hukum biasa yang bersifat publik.
  • ▹Canary yang tidak diperbarui bersifat ambigu: bisa berarti ada tuntutan hukum, atau sekadar orang yang bertanggung jawab sedang pergi atau membuat kesalahan.
  • ▹Canary tidak bisa memberi tahu Anda apa yang diminta, kapan, atau pelanggan mana yang terdampak.
  • ▹Canary tidak mengatakan apa pun tentang data apa yang ada. Pasangkan dengan kebijakan logging yang jelas; lihat [penjelasan VPS no-logs](/blog/no-logs-vps-explained).
  • ▹Kepercayaannya hanya sebatas kunci penandatangan dan orang-orang yang memegangnya.

Isi warrant canary yang baik

ElemenMengapa penting
Tanggal terbitMemungkinkan Anda menilai kebaruannya sekilas
Jadwal pembaruanMenentukan kapan pembaruan yang hilang menjadi bermakna
Daftar pernyataan yang eksplisitPembaca dapat melihat persis tuntutan mana yang dicakup
Aturan tentang arti canary yang tidak diperbaruiMenghilangkan tebak-tebakan, misalnya 'anggap sebagai sinyal setelah N hari'
Tanda tangan PGP dari kunci yang dipublikasikanMembuktikan teks berasal dari operator dan tidak diubah
Fingerprint kunci lengkap dipublikasikan terpisahMemungkinkan Anda memeriksa bahwa kunci yang diimpor benar
URL yang stabilMemudahkan canary dipantau dan diarsipkan

Warrant canary NoctisNode

NoctisNode memublikasikan canary teks biasa yang ditandatangani PGP di `/canary.txt`, dengan kunci publik penandatangan di `/canary-pubkey.asc` dan penjelasan di halaman warrant canary. Canary diperbarui secara manual setiap bulan. Jika tidak diperbarui selama lebih dari 35 hari, anggap itu sebagai sinyal.

Fingerprint kunci penandatangan adalah `3804 DA83 956F B4C1 1D87 36C3 129C E677 8F20 92E9`. Selalu bandingkan fingerprint lengkapnya, jangan hanya 8 atau 16 karakter terakhir.

Cara memverifikasi warrant canary langkah demi langkah

Perintah-perintah ini berfungsi di Debian 12/13 dan Ubuntu 24.04. Pasang dulu tool-nya dengan `sudo apt install gnupg curl` jika belum ada. Untuk privasi ekstra, Anda bisa mengambil file lewat Tor dengan `torsocks curl` setelah memasang paket `tor` dan `torsocks`.

  1. 01.Bandingkan fingerprint yang ditampilkan di langkah 2 dan 4 dengan yang dipublikasikan di halaman canary dan di artikel ini. Jika ada satu karakter pun yang berbeda, berhenti: kunci Anda salah.
  2. 02.Pada output `gpg --verify`, cari `Good signature from`. Baris `BAD signature` berarti teks telah diubah atau file rusak, jadi jangan dipercaya.
  3. 03.Baris `WARNING: This key is not certified with a trusted signature!` adalah normal jika Anda belum menandatangani kunci itu sendiri. Pemeriksaan fingerprint di langkah 1 itulah yang membangun kepercayaan.
  4. 04.Periksa tanggal `Signature made` dan tanggal yang tertulis di dalam teks canary. Keduanya harus baru.
  5. 05.Jika tanda tangan berumur lebih dari 35 hari, anggap sebagai sinyal dan baca halaman canary untuk pengumuman apa pun.
# 1. Download the canary and the public key
curl -fsSLO https://noctisnode.com/canary.txt
curl -fsSLO https://noctisnode.com/canary-pubkey.asc

# 2. Inspect the key without importing it
gpg --show-keys --with-fingerprint canary-pubkey.asc

# 3. Import the key
gpg --import canary-pubkey.asc

# 4. Confirm the fingerprint of the imported key
gpg --fingerprint 3804DA83956FB4C11D8736C3129CE6778F2092E9

# 5. Verify the signature on the canary
gpg --verify canary.txt

Mengotomatiskan pemeriksaan 35 hari

Jika Anda memantau canary dari server atau cron job, gunakan output status GPG yang dapat dibaca mesin alih-alih mem-parsing teks untuk manusia. Skrip di bawah gagal jika tanda tangan tidak ada, berasal dari kunci lain, atau berumur lebih dari 35 hari. Jalankan di direktori yang berisi `canary.txt` yang baru diunduh.

#!/bin/sh
FPR=3804DA83956FB4C11D8736C3129CE6778F2092E9
line=$(gpg --status-fd 1 --verify canary.txt 2>/dev/null | grep ' VALIDSIG ')
case "$line" in
  *"$FPR"*) ;;
  *) echo "FAIL: no valid signature from $FPR"; exit 1 ;;
esac
ts=$(echo "$line" | awk '{print $5}')
age=$(( ( $(date +%s) - ts ) / 86400 ))
echo "Canary signature is $age days old"
[ "$age" -le 35 ] || { echo "WARNING: older than 35 days"; exit 2; }

Note · Canary yang tidak diperbarui adalah sinyal untuk diselidiki, bukan bukti adanya tuntutan hukum. Periksa halaman canary dan pengumuman operator, dan simpan arsip salinan canary sebelumnya untuk perbandingan.

FAQ

QApa itu warrant canary?

AWarrant canary adalah pernyataan bertanda tangan yang diperbarui secara rutin bahwa sebuah layanan belum menerima tuntutan hukum rahasia tertentu. Jika berhenti diperbarui, pembaca menganggap keheningan itu sebagai tanda peringatan.

QApa itu canary.txt?

A`canary.txt` adalah nama file yang umum untuk warrant canary berbentuk teks biasa, biasanya ditandatangani PGP agar siapa pun bisa memverifikasi penerbitnya. NoctisNode memublikasikan canary-nya di `/canary.txt` dengan kunci di `/canary-pubkey.asc`.

QBagaimana cara memverifikasi warrant canary?

AImpor kunci publik penerbit dengan `gpg --import`, pastikan fingerprint lengkapnya cocok dengan yang dipublikasikan, lalu jalankan `gpg --verify canary.txt` dan periksa adanya tanda tangan yang valid dengan tanggal yang baru.

QApakah warrant canary mengikat secara hukum atau dijamin berfungsi?

ATidak. Teori hukumnya sebagian besar belum diuji di pengadilan dan berbeda antarnegara, dan canary yang tidak diperbarui juga bisa disebabkan kesalahan operasional sederhana. Anggap canary sebagai satu sinyal di antara beberapa sinyal lainnya.

QApa yang harus saya lakukan jika warrant canary tidak diperbarui?

APeriksa halaman canary dan pengumuman penerbit, bandingkan dengan salinan arsip, dan putuskan apakah perlu memindahkan data sensitif. Untuk NoctisNode, canary yang tidak diperbarui lebih dari 35 hari sebaiknya dianggap sebagai sinyal.

Apa Itu Warrant Canary dan Cara Memverifikasinya dengan GPG · NoctisNode