NoctisNode
← ब्लॉगसुरक्षा2026-10-237 मिनट

Warrant Canary क्या है और GPG से इसे कैसे verify करें

Warrant canary एक हस्ताक्षरित, नियमित रूप से नवीनीकृत बयान है कि कोई गुप्त कानूनी माँग नहीं मिली। इसकी सीमाएँ जानें और GPG से canary.txt verify करना सीखें।

संक्षेप में: Warrant canary एक नियमित रूप से नवीनीकृत, हस्ताक्षरित बयान है जिसमें कोई सेवा कहती है कि उसे कुछ खास गुप्त कानूनी माँगें नहीं मिली हैं, जैसे gag order वाले subpoena या national security letters। अगर बयान का नवीनीकरण रुक जाए या उसके शब्द बदल जाएँ, तो पाठक इस चुप्पी को चेतावनी मानते हैं। इसे verify करने के लिए आप इसके PGP हस्ताक्षर को प्रकाशक के key fingerprint से मिलाते हैं और पक्का करते हैं कि हस्ताक्षर की तारीख हाल की है।

यह लेख canaries के पीछे के कानूनी विचार, उनकी असली सीमाओं, एक अच्छे canary में क्या होना चाहिए, और NoctisNode canary को उदाहरण बनाकर चरण-दर-चरण GPG verification को कवर करता है।

Warrant canary कैसे काम करता है

यह नाम उन कैनरी पक्षियों से आया है जिन्हें खनिक कभी ज़मीन के नीचे ले जाते थे: जब तक पक्षी ज़िंदा रहता, हवा सुरक्षित मानी जाती। Warrant canary भी ऐसे ही काम करता है। सेवा 'हमें कोई गुप्त अदालती आदेश या gag order नहीं मिला है' जैसा एक तारीख वाला बयान प्रकाशित करती है और उसे तय समय-सारणी पर नवीनीकृत करती है।

यह कानूनी विचार, जो मुख्य रूप से संयुक्त राज्य अमेरिका में शुरू हुआ, एक भेद पर टिका है: अधिकारी किसी कंपनी को यह बताने से रोक सकते हैं कि उसे गुप्त आदेश मिला है, लेकिन कंपनी को झूठा बयान प्रकाशित करने के लिए मजबूर करना एक अलग और ज़्यादा कठिन माँग है। अगर कंपनी बस canary का नवीनीकरण बंद कर दे, तो उसने कुछ भी उजागर नहीं किया, फिर भी पाठक उसकी अनुपस्थिति से अपने निष्कर्ष निकाल सकते हैं।

Warrant canaries की सीमाएँ

Canary एक उपयोगी संकेत है, गारंटी नहीं। इस पर भरोसा करने से पहले ये सीमाएँ ध्यान में रखें।

  • ▹कानूनी सिद्धांत अदालत में ज़्यादातर परखा नहीं गया है, और जवाब देश-दर-देश अलग हो सकता है।
  • ▹यह सिर्फ़ उसी को कवर करता है जो इसमें स्पष्ट रूप से लिखा है। गुप्त आदेशों वाला canary सामान्य, सार्वजनिक कानूनी अनुरोधों के बारे में कुछ नहीं कहता।
  • ▹नवीनीकरण छूटना अस्पष्ट है: इसका मतलब कानूनी माँग भी हो सकता है, या बस यह कि ज़िम्मेदार व्यक्ति बाहर था या उससे गलती हुई।
  • ▹यह नहीं बता सकता कि क्या माँगा गया, कब, या कौन-से ग्राहक प्रभावित हुए।
  • ▹यह इस बारे में कुछ नहीं कहता कि कौन-सा डेटा मौजूद है। इसे एक स्पष्ट logging नीति के साथ जोड़ें; देखें [no-logs VPS की व्याख्या](/blog/no-logs-vps-explained)।
  • ▹यह उतना ही भरोसेमंद है जितनी signing key और उसे रखने वाले लोग।

एक अच्छे warrant canary में क्या होता है

तत्वयह क्यों मायने रखता है
जारी करने की तारीखएक नज़र में ताज़गी परखने देती है
नवीनीकरण की समय-सारणीतय करती है कि अपडेट न आना कब अर्थपूर्ण हो जाता है
बयानों की स्पष्ट सूचीपाठक ठीक-ठीक देख सकते हैं कि कौन-सी माँगें कवर हैं
नवीनीकरण छूटने का अर्थ बताने वाला नियमअनुमान हटाता है, जैसे 'N दिनों के बाद इसे संकेत मानें'
प्रकाशित key से PGP हस्ताक्षरसाबित करता है कि टेक्स्ट ऑपरेटर से आया और बदला नहीं गया
पूरा key fingerprint अलग से प्रकाशितजाँचने देता है कि आपने सही key import की
स्थिर URLcanary की निगरानी और आर्काइव करना आसान बनाता है

NoctisNode warrant canary

NoctisNode `/canary.txt` पर एक PGP-हस्ताक्षरित plain-text canary प्रकाशित करता है, signing public key `/canary-pubkey.asc` पर है और व्याख्या warrant canary पेज पर। Canary हर महीने हाथ से नवीनीकृत किया जाता है। अगर 35 दिनों से ज़्यादा समय से इसका नवीनीकरण नहीं हुआ है, तो इसे संकेत मानें।

Signing key fingerprint `3804 DA83 956F B4C1 1D87 36C3 129C E677 8F20 92E9` है। हमेशा पूरा fingerprint मिलाएँ, कभी सिर्फ़ आखिरी 8 या 16 अक्षर नहीं।

Warrant canary को चरण-दर-चरण कैसे verify करें

ये कमांड Debian 12/13 और Ubuntu 24.04 पर काम करते हैं। अगर टूल्स नहीं हैं तो पहले `sudo apt install gnupg curl` से इंस्टॉल करें। ज़्यादा प्राइवेसी के लिए `tor` और `torsocks` पैकेज इंस्टॉल करने के बाद आप `torsocks curl` से फ़ाइलें Tor पर डाउनलोड कर सकते हैं।

  1. 01.चरण 2 और 4 में छपे fingerprint को canary पेज और इस लेख में प्रकाशित fingerprint से मिलाएँ। अगर कोई भी अक्षर अलग है, तो रुक जाएँ: आपके पास गलत key है।
  2. 02.`gpg --verify` के आउटपुट में `Good signature from` देखें। `BAD signature` लाइन का मतलब है कि टेक्स्ट बदला गया या फ़ाइल खराब है, इसलिए उस पर भरोसा न करें।
  3. 03.`WARNING: This key is not certified with a trusted signature!` वाली लाइन सामान्य है अगर आपने खुद key पर हस्ताक्षर नहीं किए हैं। भरोसा चरण 1 की fingerprint जाँच से ही बनता है।
  4. 04.`Signature made` तारीख और canary टेक्स्ट के अंदर लिखी तारीख जाँचें। दोनों हाल की होनी चाहिए।
  5. 05.अगर हस्ताक्षर 35 दिनों से ज़्यादा पुराना है, तो इसे संकेत मानें और किसी घोषणा के लिए canary पेज पढ़ें।
# 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

35-दिन की जाँच को ऑटोमेट करना

अगर आप किसी सर्वर या cron job से canary की निगरानी करते हैं, तो इंसानों के लिए लिखा टेक्स्ट parse करने के बजाय GPG का machine-readable status आउटपुट इस्तेमाल करें। नीचे की स्क्रिप्ट तब फ़ेल होती है जब हस्ताक्षर गायब हो, किसी दूसरी key से हो, या 35 दिनों से ज़्यादा पुराना हो। इसे उस डायरेक्टरी में चलाएँ जिसमें ताज़ा डाउनलोड किया गया `canary.txt` हो।

#!/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 पेज और ऑपरेटर की घोषणाएँ देखें, और तुलना के लिए पिछले canaries की अपनी आर्काइव कॉपी रखें।

अक्सर पूछे जाने वाले सवाल

QWarrant canary क्या है?

AWarrant canary एक नियमित रूप से नवीनीकृत, हस्ताक्षरित बयान है कि किसी सेवा को खास गुप्त कानूनी माँगें नहीं मिली हैं। अगर इसका नवीनीकरण रुक जाए, तो पाठक इस चुप्पी को चेतावनी का संकेत मानते हैं।

Qcanary.txt क्या है?

A`canary.txt` plain-text warrant canary के लिए एक आम फ़ाइल नाम है, आमतौर पर PGP-हस्ताक्षरित ताकि कोई भी verify कर सके कि इसे किसने जारी किया। NoctisNode अपना canary `/canary.txt` पर और key `/canary-pubkey.asc` पर प्रकाशित करता है।

QWarrant canary कैसे verify करूँ?

Aप्रकाशक की public key `gpg --import` से import करें, पक्का करें कि पूरा fingerprint प्रकाशित fingerprint से मिलता है, फिर `gpg --verify canary.txt` चलाएँ और हाल की तारीख वाला good signature देखें।

Qक्या warrant canaries कानूनी रूप से बाध्यकारी हैं या उनके काम करने की गारंटी है?

Aनहीं। कानूनी सिद्धांत अदालत में ज़्यादातर परखा नहीं गया है और देश के अनुसार बदलता है, और नवीनीकरण किसी साधारण ऑपरेशनल गलती से भी छूट सकता है। Canary को कई संकेतों में से एक मानें।

Qअगर warrant canary अपडेट न हो तो क्या करूँ?

Aप्रकाशक का canary पेज और घोषणाएँ देखें, आर्काइव कॉपियों से तुलना करें, और तय करें कि संवेदनशील डेटा हटाना है या नहीं। NoctisNode के लिए, 35 दिनों से ज़्यादा समय तक नवीनीकृत न हुए canary को संकेत माना जाना चाहिए।

Warrant Canary क्या है और GPG से इसे कैसे verify करें · NoctisNode