बाहर रखने की सूची हैश क्यों नहीं की जाती
वेबसाइट बनाते समय उसे दिन में बीस बार खोलना पड़ता है। जिस काउंटर पर महीने में चालीस विज़िटर आते हैं, उसके आधे आँकड़े खुद लेखक के होते हैं। इसलिए एक सेटिंग है: मेरे अपने पते से आई विज़िट न गिनें।
इस सेवा में बाकी हर जगह पते एक गुप्त सॉल्ट और तारीख के साथ हैश किए जाते हैं, और पता खुद कभी स्टोरेज तक नहीं पहुँचता। सिर्फ़ इसी एक जगह वह ठीक वैसा ही सहेजा जाता है जैसा दर्ज किया गया, सादे रूप में। यह जान-बूझकर लिया गया फ़ैसला है, और इसे किसी के खुद खोज निकालने के लिए छोड़ देने के बजाय खुलकर कहना ज़रूरी है।
पहले आज़माया गया तरीका
पहले वाले तरीके में, बाकी सब चीज़ों की तरह, पते का एक चेकसम सहेजा जाता था। यह काम करता था, कम डेटा सहेजता था, और लगभग बेकार था: ज़्यादातर घरेलू कनेक्शन को हर दिन नया पता मिलता है। जिस पल यह सेटिंग की जाती, उस पल वह सही होती और अगली सुबह बेकार।
रोज़ के बदलाव के बाद भी जो बचा रहता है, वह है एक रेंज — आम तौर पर प्रोवाइडर का /24 या /16, जो तब भी वही रहता है जब आखिरी हिस्सा बदलता रहता है। और रेंज की तुलना चेकसम के रूप में नहीं की जा सकती। हैशिंग जान-बूझकर क्रम को मिटा देती है, और “क्या यह पता इस रेंज के अंदर है” क्रम से जुड़ा सवाल है। इससे बचने का कोई चतुर रास्ता नहीं है; दोनों ज़रूरतें एक-दूसरे की उल्टी दिशा में जाती हैं।
इसलिए रेंज ठीक वैसे ही, मानक रूप में लाकर, सहेजी जाती है जैसे दर्ज की गई थी, साथ में उसकी दोनों सीमाएँ, सोलह-सोलह बाइट की, और फ़ैसला एक अकेला BETWEEN करता है। IPv4 को उसके IPv6 रूप में लिखा जाता है, ताकि दोनों तरह के पतों की लंबाई बराबर रहे और एक ही तुलना दोनों के लिए काम करे।
यहाँ यह सौदा क्यों स्वीकार्य है
जो सहेजा जाता है, वह संचालक का अपना नेटवर्क है – उसी का टाइप किया हुआ, उसी को वापस दिखाया जाने वाला, और जिसे वह किसी भी पल हटा सकता है। यह किसी विज़िटर का पता नहीं है। निजता नीति में भी यही बात इन्हीं शब्दों में कही गई है, क्योंकि दूसरा रास्ता — सेवा को ऐसे बताना मानो वह सब कुछ हैश करती है, और चुपचाप इसे अपवाद बना देना — ऐसा दावा होता जो मोटे तौर पर सच हो, और ऐसा दावा कोई दावा न करने से भी कम कीमत का है।
सीमा प्रति काउंटर दस एंट्री है: घर, दफ़्तर और मोबाइल के लिए काफ़ी, और इतनी कम कि यह सूची पतों का कोई आम भंडार न बन सके।
दूसरी किस्म – उन चीज़ों के लिए जिनका पता बदलता रहता है
कुछ ट्रैफ़िक की पहचान स्थिर होती है, पर पता नहीं: कोई अपटाइम मॉनिटर, किसी चैट प्रोग्राम का लिंक-प्रीव्यू लाने वाला टूल, कोई जाँच सेवा। इन्हें कोई रेंज नहीं पकड़ती।
इनके लिए बाहर रखने का नियम पते के बजाय ब्राउज़र की पहचान के एक टुकड़े से मिलान करता है। uptimerobot दर्ज करने पर वह पूरी स्ट्रिंग पकड़ में आ जाती है, जो वह भेजता है। कम से कम चार अक्षर ज़रूरी हैं, क्योंकि दो अक्षरों का टुकड़ा लगभग हर पहचान-स्ट्रिंग में मिल जाता और काउंटर को पूरी तरह बंद कर देता।
आम सबक
निजता का कोई भी डिज़ाइन सौदों का एक समूह होता है, और दिलचस्प हिस्से वही होते हैं जहाँ किसी नियम को झुकना पड़ा। जो नियम कभी नहीं झुकते, उनका आम तौर पर मतलब होता है कि अभी तक किसी ने उन्हें किसी असली ज़रूरत के सामने परखा नहीं है।
बचना इस बात से है कि नियम चुपचाप झुकाया जाए। हैश किया हुआ कहलाने वाला ऐसा फ़ील्ड, जो असल में हैश नहीं है और जिसे दस्तावेज़ों में ऐसे बताया गया हो मानो हो, उस सादे फ़ील्ड से बुरा है जिसे सीधे शब्दों में सादा बताया गया हो — वह ऐसा भरोसा खर्च करता है जो उसने कमाया नहीं, और देर-सबेर कोई ऐसा व्यक्ति उसे ढूँढ ही लेगा जिसने सोचा भी नहीं था कि उसे यह जाँचना पड़ेगा।