Webhook सुरक्षा: HMAC हस्ताक्षर

Webhook सुरक्षा: HMAC हस्ताक्षर

इस पृष्ठ का अनुवाद AI उपकरणों का उपयोग करके किया गया है और इसमें त्रुटियाँ हो सकती हैं। सबसे सटीक और नवीनतम जानकारी के लिए, कृपया मूल अंग्रेजी संस्करण देखें।
HMAC-SHA 256 (Hash-Based Message Authentication Codes with SHA 256) के साथ अपने प्रोजेक्ट, Task, और issue के webhooks को सुरक्षित करें। Zoho Projects के पास HMAC-SHA 256 का उपयोग करके webhooks को सुरक्षित करने का विकल्प है, जो एक उद्योग-मानक हैशिंग तंत्र है जो webhooks की प्रामाणिकता और अखंडता को सुनिश्चित और बनाए रखता है।

HMAC जांचने में मदद करता है:
  1. क्या webhook अनुरोध Zoho Projects से भेजा गया है (गोपनीय कुंजी केवल Zoho Projects और प्राप्त करने वाली एप्लिकेशन के लिए ज्ञात होनी चाहिए)।
  2. क्या webhook सामग्री रास्ते में छेड़छाड़ की गई है।

Webhooks को सुरक्षित क्यों करें?

Webhooks एक एप्लिकेशन के HTTP अनुरोध हैं जो दूसरी एप्लिकेशन को वास्तविक समय डेटा प्रदान करते हैं। एक सुरक्षा हमले में, हमलावर जालसाज़ webhooks भेजकर और संवेदनशील डेटा निकालकर वैध प्रदाताओं की आसानी से नकल कर सकते हैं। इसलिए, webhooks को सुरक्षित होने की आवश्यकता है ताकि आपकी एप्लिकेशन केवल विश्वसनीय स्रोतों से वास्तविक घटनाओं को सुने और नकली या हानिकारक अनुरोधों से धोखा न खाए।

लाभ:

  1. रिपोर्ट में गलत डेटा से बचें
  2. अनाधिकृत अपडेट से बचें
  3. सुरक्षा उल्लंघन से बचें

Webhook सुरक्षा सक्षम करें

उपयोगकर्ता webhook जोड़ते या संपादित करते समय webhook सुरक्षा सेटिंग सक्षम कर सकते हैं।
  1. Settings > ऑटोमेशन/ Issue Tracker > Webhooks पर जाएं।
  2. नए webhooks के लिए, webhook फॉर्म में विवरण भरें और Security Settings को टॉगल करें। मौजूदा webhooks के लिए, उस webhook का चयन करें जहाँ आप सुरक्षा सक्षम करना चाहते हैं।
  3. HMAC कुंजी दर्ज करें। उपयोगकर्ता Generate पर क्लिक करके HMAC कुंजी भी उत्पन्न कर सकते हैं।
  4. Save पर क्लिक करें।
Notes
HMAC कुंजी की लंबाई 16 से 128 वर्णों के बीच होनी चाहिए।

Webhook सुरक्षा Zoho Projects में कैसे काम करती है?

जब Zoho Projects से webhook भेजा जाता है, तो X-ZP-WEBHOOK-SIGNATURE नाम के साथ एक HMAC हस्ताक्षर अनुरोध हेडर में शामिल किया जाता है। Webhook अनुरोध प्राप्त करने पर, प्राप्त करने वाली एप्लिकेशन एक ही गोपनीय कुंजी का उपयोग करके HMAC हस्ताक्षर उत्पन्न करेगी और परिणामों की तुलना अनुरोध हेडर में मौजूद मान से करेगी। यदि मान मेल खाता है, तो डेटा वैध है; अन्यथा, डेटा छेड़छाड़ की गई है।

HMAC हस्ताक्षर उत्पन्न करना

Zoho Projects HMAC-SHA256 एल्गोरिदम का उपयोग करके webhook पेलोड के हस्ताक्षर की गणना करता है, और परिणाम अनुरोध हेडर में base64 प्रारूप में भेजा जाता है। यहाँ नमूना डेटा के साथ व्याख्या है:

पेलोड
{{"requests":{"request_name":"Test Name"},"notifications": {"operation_type":"RequestSigningSuccess"}}
गोपनीय_कुंजी
  thisisthesamplekeyfortestingpurposes
base64encode(HMAC SHA-256(पेलोड+गोपनीय_कुंजी))
drbSrM4H816RYKpZiRBLddUa0yHaTrwjtY04sIZFZus=

यहाँ एक छवि है कि webhook अनुरोध हेडर (HMAC हेडर) कैसा दिखता है:

प्राप्त करने वाली एप्लिकेशन में HMAC हस्ताक्षर की जांच करना

  1. आपको पेलोड को एक स्ट्रिंग के रूप में पढ़ना चाहिए ताकि JSON प्रारूप में पढ़ते समय कुंजियों को पुन: क्रमित होने से बचा जा सके।
  2. गोपनीय कुंजी का उपयोग करके पेलोड के HMAC SHA-256 हैश की गणना करें और परिणाम को base64 एन्कोड करें।
  3. चरण 2 से प्राप्त मान और प्राप्त HMAC हेडर (X-ZP-WEBHOOK-SIGNATURE) मान की तुलना करें। यदि कोई मेल न खाए, तो webhook अनुरोध को अस्वीकार करें।

HMAC हस्ताक्षर की जांच के लिए Java कोड स्निपेट का एक नमूना: