کاناری حکم قضایی بیانیهای است که مرتب منتشر و با PGP امضا میشود و نشان میدهد یک ارائهدهندهٔ سرویس انواع خاصی از روند قانونی را دریافت نکرده است — رایجترین آنها نامهٔ امنیت ملی، حکم منع افشا یا درخواست نظارت انبوه. کاناری ادامه مییابد تا زمانی که متوقف شود. نبودِ کاناری برنامهریزیشدهٔ بعدی، نشانهٔ این است که چیزی تغییر کرده است. این صفحه سازوکار را توضیح میدهد، تأیید PGP را گامبهگام طی میکند و ارائهدهندگانی را که در سال ۲۰۲۶ کاناری نگه میدارند فهرست میکند.
بهروزرسانیشده · نویسنده: مهندسی BitVPS
کاناری حکم قضایی به یک عدمتقارن خاص در دکترین گفتار اجباری متکی است. بسیاری از قوانین نظارتی — 18 USC §2709 در ایالات متحده (اختیار نامهٔ امنیت ملی)؛ مفاد مشابه در قانون اختیارات تحقیقاتی بریتانیا ۲۰۱۶ (§133 منع افشا)؛ معادلهایی در دیگر حوزههای قضایی ۱۴-Eyes — شامل بندهای منع افشا هستند که گیرندهٔ یک حکم را از سخنگفتن دربارهٔ آن باز میدارند. این بندها سکوت را تحمیل میکنند. آنها، در بیشتر حوزههای قضایی، گیرنده را وادار نمیکنند که فعالانه یک اظهار اثباتی نادرست بیان کند.
همین تمایز است که کاناری از آن بهره میبرد. یک ارائهدهنده عبارت «تا تاریخ [date] هیچ NSL دریافت نکردهایم» را با آهنگی ثابت منتشر میکند — هفتگی، ماهانه، فصلی. تا زمانی که این بیانیه درست بماند، انتشار ادامه مییابد. اگر ارائهدهنده حکمی دریافت کند، نمیتواند مستقیماً آن را بگوید (حکم منع افشا). اما میتواند انتشار بیانیهٔ اثباتی را متوقف کند. کاناری برنامهریزیشدهٔ بعدی یا ظاهر نمیشود، یا با حذف بند مربوطه ظاهر میشود، یا با عبارتی متفاوت ظاهر میشود. آن نبود — آن تغییر — اطلاعاتی است که حکم منع افشا نمیتواند آن را سرکوب کند.
کاناری BitVPS که در /canary/ منتشر میشود از همین الگو پیروی میکند. هر دوشنبه بیانیهای را که هفتهٔ منتهی به یکشنبهٔ پیشین را پوشش میدهد دوباره امضا میکنیم. بیانیهٔ امضاشده این موارد را برمیشمارد: NSLهای دریافتی (هدف: صفر)، احکام منع افشای دریافتی (هدف: صفر)، احکام نگهداری انبوه دریافتی (هدف: صفر)، شمار احکام بهتفکیک حوزهٔ قضایی (سنت کیتس و نویس، ایسلند، هلند، رومانی، سوئیس)، اخطارهای DMCA دریافتشده در برابر اقدامشده، و شکایتهای سوءاستفاده دریافتشده در برابر اقدامشده. انتظار میرود پنج عدد از این شش عدد در یک هفتهٔ عادی صفر باشند؛ اعداد سوءاستفاده و DMCA بهصورت طراحیشده غیرصفرند (ما شکایتهای سوءاستفاده دریافت میکنیم و تعداد آنها را منتشر میکنیم).
آهنگ انتشار اهمیت دارد. کاناریای که سالی یکبار منتشر میشود نشانهٔ کمتری نسبت به کاناری هفتگی دارد — فاصلهٔ میان اجبار و متوجهشدن مشتری همان پنجرهٔ تازگی است. کاناریهای هفتگی این پنجره را به هفت روز کاهش میدهند؛ کاناریهای روزانه (که نادرند، چون به مدیریت کلید در مقیاس بالا نیاز دارند) آن را به بیستوچهار ساعت میرسانند. کاناریهای فصلی یک پنجرهٔ سهماهه باقی میگذارند که در آن یک ارائهدهنده میتواند پیش از آنکه هر ناظر بیرونی متوجه شود، به خطر بیفتد.
کاناریای که از نظر رمزنگاری امضا نشده باشد، نمایشی توخالی است. تأیید چهار گام و حدود نود ثانیه طول میکشد. مثال زیر از کاناری BitVPS استفاده میکند؛ همین روند برای هر ارائهدهندهای که یک کاناری امضاشده با PGP منتشر میکند کار میکند.
گام ۱ — کلید عمومی را از ارائهدهنده دریافت کنید. BitVPS کلید عمومی PGP را در این آدرس منتشر میکند: /pgp/. اثرانگشت کلید در چند صفحهٔ وبسایت مستند شده است (about، canary، pgp، فوتر) تا تلاش برای دستکاری یک صفحهٔ تنها قابلتشخیص باشد. پیش از آنکه به آن اعتماد کنید، اثرانگشت را با چند منبع مقابله کنید — تصویرهای آرشیوی archive.org، Wayback Machine، سرورهای کلید PGP شخص ثالث.
curl -O https://bitvps.io/pgp/bitvps-pubkey.asc
gpg --show-keys bitvps-pubkey.asc
گام ۲ — کلید را وارد کنید. در کلیدخانهی محلی GnuPG خود وارد کنید. کلید در فروشگاه محلی شما میماند — نیازی به بارگذاری نیست، به اعتماد شخص ثالث نیازی نیست.
gpg --import bitvps-pubkey.asc
گام ۳ — متن canary امضاشده را دانلود کنید. کاناری در /canary/ بهصورت HTML رندر میشود، اما فایل امضاشدهٔ زیربنایی نیز بهصورت یک .asc با امضای متنباز در دسترس است — در پایین صفحهٔ کاناری یا مستقیماً از طریق مسیر ذخیرهسازی قابلمشاهده است. برای این مثال، آن را با نام canary.asc در پوشهٔ کاری خود ذخیره کنید.
curl -O https://bitvps.io/canary/latest.asc
گام ۴ — امضا را تأیید کنید. دستور gpg --verify را روی فایل .asc اجرا کنید. یک خط «Good signature» دو چیز را تأیید میکند: canary توسط دارندهی کلید وارد شده امضا شده، و متن canary پس از امضا تغییر نکرده است. تأیید ناموفق به معنای تغییر فایل، نامعتبر بودن امضا یا عدم تطابق کلید است — canary را غیرقابل اعتماد تلقی کنید و بیشتر تحقیق کنید.
gpg --verify canary.asc
# expected:
# gpg: Good signature from "BitVPS Ltd. <>"
# gpg: Primary key fingerprint: 4DCF 5D6D 10AF F2AA 47E2 070E A62A EDAF 647E E3E6
اگر قبلاً از GnuPG استفاده نکردهاید، ابتدا آن را نصب کنید: `apt install gnupg2` در لینوکس خانوادهی Debian، `brew install gnupg` در macOS، یا GPG4Win را در ویندوز دانلود کنید. مرحلهی تأیید خود در همهی پلتفرمها یکسان است.
فهرست کوتاه، قابل تأیید. مثالهای تاریخی (Apple 2013–2014، Reddit 2014–2016) را برای زمینه گنجاندهایم — آنها بهعنوان مطالعات موردی نحوهی سیگنالدهی canary به تغییر مفیدند. اگر canary عمومی دارید که اینجا فهرست نشده، از طریق /panel/?section=support به ما بفرستید.
| ارائهدهنده / پروژه | تناوب | اولین انتشار | وضعیت | یادداشتها |
|---|---|---|---|---|
| rsync.net | Quarterly, PGP-signed | 2014 | Maintained | One of the earliest commercial canaries. Includes Bitcoin block-hash as a freshness anchor. |
| BitVPS | Weekly, PGP-signed (every Monday) | 2024 | Maintained | Per-jurisdiction order counts (KN, IS, NL, RO, CH) plus DMCA, abuse, NSL and gag-order statements. |
| Bahnhof (transparency report) | Annual transparency report (not a canary in the strict sense) | 2014 | Active transparency reporting | Swedish ISP. Publishes detailed transparency stats; the canary-style attestations are scattered through the integrity page rather than a single signed document. |
| The Tor Project | Annual | 2014 | Maintained | Re-affirmed annually. One of the longest-running organisational canaries. |
| Apple (historical) | Removed in 2014 — historical example, not current | 2013 | Removed (2014) — historical | Apple's November 2013 transparency report contained the canonical "Apple has never received an order under Section 215" canary statement. The line was conspicuously absent from the September 2014 report. Apple has not commented publicly on the change. |
| Reddit (historical) | Removed in 2016 — historical example, not current | 2014 | Removed (2016) — historical | Reddit's 2014 transparency report carried a National Security Letter canary. The 2015 report removed the language. The administrator who maintained the canary commented publicly that he could not say more. |
این فهرست را عمداً کوتاه نگه میداریم. یک فهرست بلندپروازانهی طولانی سیگنال را رقیق میکند — ارزش canary در قابل تأیید بودن آن است، و تأیید در مقیاس بزرگ پرهزینه است. وقتی تغییر میدهیم فهرست را بهروز میکنیم؛ فیلد dateModified این صفحه آخرین پاس تأیید را نشان میدهد.
پاسخ صادقانه: کمتر از آنچه متن بازاریابی نشان میدهد. دلیل غالب از دست رفتن canary در دههی گذشته دریافت National Security Letter نبوده، بلکه اشتباه اداری بوده است. مهندس مسئول در تعطیلات بود، cronjob به چرخش اعتبارنامه برخورد کرد، DNS زیردامنهی canary منقضی شد، شرکت فراموش کرد. یک تمدید از دست رفته ضعیف در بهترین حالت یک سیگنال.
چیزی که سیگنال ضعیف را به سیگنال قوی تبدیل میکند، تأیید متقابل است. به دنبال این موارد بگردید:
حذف کاناری اپل در سال ۲۰۱۴ مطالعهٔ موردی شاخص است. گزارش شفافیت سپتامبر ۲۰۱۳ شامل این خط بود: «اپل هرگز حکمی تحت بخش ۲۱۵ قانون میهنپرستی ایالات متحده دریافت نکرده است.» گزارش شفافیت سپتامبر ۲۰۱۴ آن را نداشت. اپل هیچ بیانیهٔ عمومیای برای توضیح این تغییر صادر نکرد. پژوهشگران حریم خصوصی (کریستوفر سوغویان، آن زمان در ACLU؛ گلن گرینوالد در The Intercept) ظرف چند روز این نبود را برجسته کردند. نشانه در ابتدا ضعیف بود — میتوانست یک تغییر ویرایشی باشد — اما این نبود در گزارشهای بعدی پایدار ماند، و مشاور حقوقی اپل هنگامی که مستقیماً از او پرسیده شد، بیانیهٔ کاناری را دوباره تأیید نکرد. دو سال بعد، تفسیر اجماعی در جامعهٔ پژوهش حریم خصوصی این بود که اپل یک حکم بخش ۲۱۵ دریافت کرده است. اپل هرگز این را تأیید یا تکذیب نکرده است.
تفسیر درست یک کاناری ازدسترفته «تحقیق بیشتر» است، نه «به ارائهدهنده ابلاغ شده است». کاناریها در نبود فریب، شاهدند، نه در حضور آن، دلیل.
سه محدودیت صادقانه که باید پیش از آنکه یک کاناری را اثبات رمزنگاریشدهٔ یکپارچگی ارائهدهنده بدانید، آنها را بسنجید.
۱. نظریه حقوقی به منفذهای قانونی وابسته است. کاناری از دکترینی بهره میبرد که احکام منع افشا سکوت را تحمیل میکنند نه دروغ اثباتی را. این دکترین برای هر قانون نظارتی در هر حوزهٔ قضایی بهطور قطعی آزموده نشده است. Stanford Law Review و دیگر پژوهشگران حقوقی هر دو طرف را استدلال کردهاند. یک دادستان مصمم میتواند بهطور محتمل استدلال کند که اجبار به انتشار اثباتی مستمر عبارت «دریافت نکردهایم» خود بخشی از یک تعهد منع افشاست، و توقف انتشار نقض حکم منع افشاست. این نظریهٔ حقوقی تاکنون در رویهٔ قضایی منتشرشدهٔ ایالات متحده پابرجا مانده است، اما تا حلوفصل قطعی به دادگاه کشیده نشده است. دیگر حوزههای قضایی حتی کمتر آزموده شدهاند.
۲. canary های امضانشده بیفایدهاند. کاناریای که با یک کلید PGP قابلتأیید امضا نشده باشد — یا که از کلیدی استفاده کند که اثرانگشت آن را نمیتوان با چند منبع مستقل مقابله کرد — نمایشی توخالی است. یک متخاصم که کنترل وبسایت ارائهدهنده را در دست دارد میتواند یک کاناری جعلی «همهچیز خوب است» را جایگزین کند و هیچ راهی برای تشخیص این جایگزینی وجود ندارد. امضای PGP همان چیزی است که کاناری را اتکاپذیر میکند. متن بدون امضا یک کاناری نیست، فارغ از اینکه چه میگوید. پیش از اعتماد، تأیید کنید.
۳. canary های منقضی مبهم هستند. وقتی یک کاناری دیگر تمدید نمیشود، تفسیر آن به این بستگی دارد که چه چیز دیگری در حال رخدادن است. یک کاناری منقضیشده بهعلاوهٔ سکوت سازمانی بهعلاوهٔ یک تغییر کلید، نشانهٔ قوی است. یک کاناری منقضیشده بهتنهایی ضعیف است — میتواند به این معنا باشد که مهندس در تعطیلات است. کاناریای که هرگز آغاز نشده، اصلاً نشانهای نیست. بار رفع ابهام بر دوش مشتری است؛ ارائهدهنده تنها میتواند صادقانه آنچه را که میتواند صادقانه منتشر کند، منتشر کند.
کاناریها را یکی از چند نشانهٔ یکپارچگی فرهنگی بدانید، نه یک تضمین امنیتی. یک کاناری به شما میگوید که ارائهدهنده اجبار را خطری بهاندازهٔ کافی واقعی میداند که برای پیشانتشار نشانهٔ تناقض، تلاش مهندسی صرف کند. این معنادار است. اما با اثبات رمزنگاریشده یکی نیست.
BitVPS هر دوشنبه warrant canary را دوباره امضا میکند. بیانیهی جاری، آرشیو هر هفتهی پیشین و کلید PGP برای تأیید همگی در /canary/ موجودند.