जब क्लाइंट, Google Safe Browsing v5 को रीयल-टाइम मोड में इस्तेमाल करते हैं, तो वे अपने लोकल डेटाबेस में ये चीज़ें सेव करते हैं: (i) ऐसी साइटों का ग्लोबल कैश जो शायद सुरक्षित हों. इन्हें होस्ट-सफ़िक्स/पाथ-प्रीफ़िक्स यूआरएल एक्सप्रेशन के SHA256 हैश के तौर पर फ़ॉर्मैट किया जाता है, (ii) खतरों की सूची का एक सेट. इसे होस्ट-सफ़िक्स/पाथ-प्रीफ़िक्स यूआरएल एक्सप्रेशन के SHA256 हैश प्रीफ़िक्स के तौर पर फ़ॉर्मैट किया जाता है. इसका मतलब यह है कि जब भी क्लाइंट को किसी यूआरएल की जांच करनी होती है, तब ग्लोबल कैश का इस्तेमाल करके स्थानीय जांच की जाती है. अगर यह जांच पास हो जाती है, तो स्थानीय थ्रेट लिस्ट की जांच की जाती है. अगर ऐसा नहीं होता है, तो क्लाइंट, रीयल-टाइम हैश की जांच जारी रखता है. इसके बारे में यहां बताया गया है.
क्लाइंट, लोकल डेटाबेस के साथ-साथ लोकल कैश मेमोरी भी बनाए रखेगा. इस तरह की लोकल कैश मेमोरी को परसिस्टेंट स्टोरेज में सेव करने की ज़रूरत नहीं होती. साथ ही, मेमोरी पर दबाव पड़ने पर इसे मिटाया जा सकता है.
इस प्रक्रिया के बारे में ज़्यादा जानकारी यहां दी गई है.
रीयल-टाइम में यूआरएल की जांच करने की प्रक्रिया
यह तरीका, एक यूआरएल u लेता है और SAFE, UNSAFE या UNSURE दिखाता है. अगर यह SAFE दिखाता है, तो इसका मतलब है कि Google Safe Browsing के हिसाब से यूआरएल सुरक्षित है. अगर यह UNSAFE दिखाता है, तो इसका मतलब है कि Google सुरक्षित ब्राउज़िंग के हिसाब से यूआरएल संभावित रूप से असुरक्षित है. इसलिए, ज़रूरी कार्रवाई की जानी चाहिए. जैसे, असली उपयोगकर्ता को चेतावनी दिखाना, मिले हुए मैसेज को स्पैम फ़ोल्डर में ले जाना या आगे बढ़ने से पहले उपयोगकर्ता से अतिरिक्त पुष्टि कराना. अगर यह UNSURE दिखाता है, तो इसके बाद स्थानीय जांच की इस प्रक्रिया का इस्तेमाल किया जाना चाहिए.
- मान लें कि
expressions, यूआरएलuसे जनरेट किए गए प्रत्यय/उपसर्ग एक्सप्रेशन की सूची है. - मान लें कि
expressionHashesएक सूची है, जिसमेंexpressionsके हर एक्सप्रेशन के SHA256 हैश शामिल हैं. expressionHashesके हरhashके लिए:- अगर
hashको ग्लोबल कैश मेमोरी में खोजा जा सकता है, तोUNSUREदिखाएं.
- अगर
- मान लें कि
expressionHashPrefixesएक सूची है, जिसमें एलिमेंट,expressionHashesमें मौजूद हर हैश के पहले चार बाइट हैं. expressionHashPrefixesके हरexpressionHashPrefixके लिए:- स्थानीय कैश में
expressionHashPrefixढूंढें. - अगर कैश मेमोरी में सेव की गई एंट्री मिल जाती है, तो:
- यह तय करता है कि मौजूदा समय, कुकी के खत्म होने के समय से ज़्यादा है या नहीं.
- अगर यह ज़्यादा है, तो:
- लोकल कैश से, कैश की गई एंट्री को हटाता है.
- लूप को जारी रखें.
- अगर यह इससे ज़्यादा नहीं है, तो:
expressionHashPrefixesसे इसexpressionHashPrefixको हटाएं.- देखें कि
expressionHashesमें मौजूद पूरा हैश, कैश मेमोरी में सेव की गई एंट्री में मौजूद है या नहीं. - अगर ऐसा होता है, तो
UNSAFEदिखाएं. - अगर नहीं मिलता है, तो लूप जारी रखें.
- अगर कैश मेमोरी में सेव की गई एंट्री नहीं मिलती है, तो लूप जारी रखें.
- स्थानीय कैश में
- RPC SearchHashes या REST तरीके hashes.search का इस्तेमाल करके,
expressionHashPrefixesको Google Safe Browsing v5 सर्वर पर भेजें. अगर कोई गड़बड़ी हुई है (जैसे, नेटवर्क की गड़बड़ियां, एचटीटीपी गड़बड़ियां वगैरह), तोUNSUREदिखाएं. इसके अलावा, एसबी सर्वर से मिलेresponseको रिस्पॉन्स के तौर पर सेट करें. यह पूरी हैश की सूची होती है. इसमें कुछ अन्य जानकारी भी होती है. जैसे, खतरे का टाइप (सोशल इंजीनियरिंग, मैलवेयर वगैरह) और कैश मेमोरी के खत्म होने का समयexpiration. responseके हरfullHashके लिए:fullHashको लोकल कैश मेमोरी में डालें. साथ ही,expirationको भी डालें.
responseके हरfullHashके लिए:- मान लें कि
expressionHashesमेंfullHashको खोजने परisFoundमिलता है. - अगर
isFoundकी वैल्यू False है, तो लूप जारी रखें. - अगर
isFoundसही है, तोUNSAFEदिखाएं.
- मान लें कि
- वापसी की तारीख:
SAFE.
यह प्रोटोकॉल बताता है कि क्लाइंट, सर्वर को expressionHashPrefixes कब भेजता है. हालांकि, यह प्रोटोकॉल जान-बूझकर यह नहीं बताता कि उन्हें कैसे भेजा जाए. उदाहरण के लिए, क्लाइंट के लिए यह स्वीकार्य है कि वह एक ही अनुरोध में सभी expressionHashPrefixes भेजे. साथ ही, क्लाइंट के लिए यह भी स्वीकार्य है कि वह expressionHashPrefixes में मौजूद हर प्रीफ़िक्स को सर्वर पर अलग-अलग अनुरोधों में भेजे. ऐसा हो सकता है कि वह एक साथ कई अनुरोध भेजे. क्लाइंट, expressionHashPrefixes में दिए गए हैश प्रीफ़िक्स के साथ-साथ, मिलते-जुलते या रैंडम तरीके से जनरेट किए गए हैश प्रीफ़िक्स भी भेज सकता है. हालांकि, यह ज़रूरी है कि एक अनुरोध में भेजे गए हैश प्रीफ़िक्स की संख्या 30 से ज़्यादा न हो.