वेब पर कब्जा और परिवर्तित करने के लिए उपकरण

कैप्चर की सामग्री की सुरक्षा कैसे करें?

एन्क्रिप्ट किए गए कैप्चर

सामान्य डेटा संरक्षण विनियमन, या उपयोगकर्ता की जानकारी की रक्षा करने वाले GDPR जैसे कानूनों के युग में पहले से कहीं अधिक महत्वपूर्ण हो गया है। जब एक कब्जा लिया जाता है तो इसे डाउनलोड करने में सक्षम करने के लिए हमारे सर्वर पर थोड़े समय के लिए कैश किया जाता है। जबकि हमारे सर्वर सुरक्षित हैं और हम बिना अनुमति के किसी उपयोगकर्ता के कैप्चर का निरीक्षण नहीं करते हैं। व्यक्तिगत जानकारी संभालते समय कुछ परिदृश्यों में यह पर्याप्त सुरक्षा नहीं है।

पहला संभावित सुधार यह है कि कैश की लंबाई को शून्य मिनट तक बदलकर कैश कैप्चर न करें, आपके खाता पृष्ठ। ध्यान दें, इसका मतलब यह है कि कैप्चर बहुत लंबे समय तक डाउनलोड करने के लिए उपलब्ध नहीं होगा इसलिए इसे बनाने के तुरंत बाद डाउनलोड किया जाना चाहिए।

एक अन्य संभावित सुरक्षा चिंता संवेदनशील डेटा को हमारे पास भेजने की वास्तविक प्रक्रिया है। इस डेटा को सुरक्षित करने के लिए आपको पहले चाहिए SSL सक्षम करें, फिर एक बार जब हम डेटा प्राप्त करते हैं और इसे संसाधित किया जाता है, जो कि बहुत जल्दी होता है, तो यह सुनिश्चित करने के लिए कि हमारे सिस्टम से यह स्वचालित रूप से हटा दिया जाएगा कि कोई सुरक्षा उल्लंघन नहीं है।

अधिक सुरक्षा PDF या DOCX कैप्चर द्वारा भी जोड़ी जा सकती है पासवर्ड दस्तावेजों की रक्षा। यह सुनिश्चित करता है कि केवल सही पासवर्ड वाले उपयोगकर्ता ही संरक्षित फ़ाइल का उपयोग कर सकते हैं।

हालाँकि, यदि आप बहुत संवेदनशील जानकारी जैसे अस्पताल के रिकॉर्ड आदि को कैप्चर कर रहे हैं और अतिरिक्त स्तर की सुरक्षा चाहते हैं तो आप परिणामी कैप्चर को स्वयं एन्क्रिप्ट कर सकते हैं। ऐसा करने के लिए आप प्रत्येक अनुरोध के साथ एक एन्क्रिप्शन कुंजी निर्दिष्ट करते हैं, इन कुंजियों को GrabzIt द्वारा संग्रहीत नहीं किया जाता है। इस कुंजी का उपयोग सूचना को सुरक्षित रखने वाले कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। जैसा कि हम कुंजी को संग्रहीत नहीं करते हैं हम आपको एन्क्रिप्ट किए गए कैप्चर को पुनर्प्राप्त करने में मदद नहीं कर सकते हैं। एक बार जब आप कैप्चर का उपयोग करते हैं, तो आप इसे डिक्रिप्ट करने के लिए पहले की गई कुंजी का उपयोग करते हैं।

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

string encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.EncryptionKey = encryptionKey;

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

जावा 6, 7 और 8 के साथ एन्क्रिप्टेड कैप्चर का उपयोग करने के लिए कृपया जावा क्रिप्टोग्राफी एक्सटेंशन (JCE) असीमित शक्ति क्षेत्राधिकार नीति फ़ाइलें स्थापित करें into जावा इंस्टालेशन फोल्डर के सभी / jre / lib / सुरक्षा / फ़ोल्डर्स।

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

String encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.setEncryptionKey(encryptionKey);

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में स्वचालित रूप से GrabzIt को बनाया और भेजा जाता है, यह तब कैप्चर को एन्क्रिप्ट करने के लिए उपयोग किया जाता है। इसी एन्क्रिप्शन कुंजी को तब DataURI विधि में सही पास करके परिणाम को डिक्रिप्ट करने के लिए उपयोग किया जाता है, जिसे बाद में कॉलबैक विधि में पढ़ा जा सकता है।

<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.4.8/grabzit.min.js"></script>
</head>
<body>
<img id="capture"></img>
function callback(dataUri)
{
    document.getElementById('capture').src = dataUri;
}
<script type="text/javascript">
GrabzIt("Sign in to view your Application Key").UseSSL().Encrypt().ConvertURL("http://www.spacex.com").DataURI(callback, true);
</script>
</body>
</html>

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.use_ssl(true);

var encryptionKey = client.create_encryption_key();

client.url_to_image("http://www.spacex.com", {"encryptionKey":encryptionKey});
client.save_to(null, function (error, result){
    if (error != null){
        throw error;
    }
    var decryptedBytes = client.decrypt(result, encryptionKey);
}); 	

दुर्भाग्य से पर्ल एईएस एन्क्रिप्शन को मूल रूप से डिक्रिप्ट नहीं कर सकता है और इसके लिए बाहरी निष्पादनयोग्य या सी संकलन की आवश्यकता होती है। इसलिए हमने इस कार्यक्षमता को हमारे पर्ल एपीआई में नहीं जोड़ा है, इसके बजाय आप नीचे दिए गए गाइड का उपयोग करके इस कार्यक्षमता को स्वयं जोड़ सकते हैं।

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(1);

$options = GrabzItImageOptions->new();
$options->encryptionKey("UUK2Xo9OLT2dFvN0wPBGOMZRYqD6WxqFtrZK9YrG+Hg=");
$grabzIt->URLToImage("http://www.spacex.com", $options);
//needs to be decrypted
$data = $grabzIt->SaveTo();

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(true);

$encryptionKey = $grabzIt->CreateEncryptionKey();

$options = new \GrabzIt\GrabzItImageOptions();
$options->setEncryptionKey($encryptionKey);

$grabzIt->URLToImage("http://www.spacex.com", $options);
$encryptedData = $grabzIt->SaveTo();

$decryptedData = $grabzIt->Decrypt($encryptedData, $encryptionKey);

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.UseSSL(True)

encryptionKey = grabzIt.CreateEncryptionKey()

options = GrabzItImageOptions.GrabzItImageOptions()
options.encryptionKey = encryptionKey

grabzIt.URLToImage("http://www.spacex.com", options)
encryptedData = grabzIt.SaveTo()

decryptedData = grabzIt.Decrypt(encryptedData, encryptionKey)

क्रिप्टोग्राफिक रूप से सुरक्षित कुंजी के नीचे के उदाहरण में GrabzIt को बनाया और भेजा जाता है, फिर इसका उपयोग कैप्चर को एन्क्रिप्ट करने के लिए किया जाता है। फिर इसी एन्क्रिप्शन कुंजी का उपयोग परिणाम को डिक्रिप्ट करने के लिए किया जाता है।

grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.use_ssl(true)

encryptionKey = grabzIt.create_encryption_key()

options = GrabzIt::ImageOptions.new()
options.encryptionKey = encryptionKey

grabzIt.url_to_image("http://www.spacex.com", options)
encryptedData = grabzIt.save_to()

decryptedData = grabzIt.decrypt(encryptedData, encryptionKey)

कैसे GrabzIt के कब्जा एन्क्रिप्शन काम करता है

यह मार्गदर्शिका बहुत ही तकनीकी है और इसका उद्देश्य डेवलपर्स को यह समझने में मदद करना है कि हमारा एन्क्रिप्शन कैसे काम करता है। यह पर्ल डेवलपर्स के लिए विशेष रूप से उपयोग किया जाना चाहिए, क्योंकि भाषा में एक खुला स्रोत पर्ल पैकेज नहीं है जिसे ओपन एसएसएल जैसे तीसरे पक्ष के उपकरण के पूरा होने या स्थापना की आवश्यकता नहीं है।

एन्क्रिप्ट किए गए कैप्चर 256 बिट एडवांस्ड एन्क्रिप्शन स्टैंडर्ड (AES) एन्क्रिप्शन का उपयोग करता है। यह ऑपरेशन के एक सिफर ब्लॉक चेनिंग (CBC) ब्लॉक सिफर मोड का भी उपयोग करता है।

GrabzIt के लिए एक कैप्चर को आधार 64 एन्क्रिप्शन कुंजी को एन्क्रिप्ट करने के लिए है कि 44 वर्णों को विकल्प ऑब्जेक्ट को पास करने की लंबी आवश्यकता है। इस एन्क्रिप्शन कुंजी को बनाने के लिए आपको 32 यादृच्छिक क्रिप्टोग्राफिक रूप से सुरक्षित बाइट्स का चयन करना चाहिए। इसके बाद बेस 64 को इनकोड किया जाना चाहिए। चूंकि वे क्रिप्टोग्राफिक रूप से सुरक्षित बाइट्स हैं, इसलिए उन्हें भविष्यवाणी करना मुश्किल होगा और इसलिए दरार करना मुश्किल होगा।

जब GrabzIt को एन्क्रिप्शन कुंजी के साथ कैप्चर अनुरोध प्राप्त होता है, तो कैप्चर एन्क्रिप्ट किया जाता है और फ़ाइल की शुरुआत में आरंभीकरण वेक्टर (IV) डाला जाता है। यह IV 16 बाइट्स लंबा है और इसे डिक्रिप्शन से पहले फाइल के सामने से हटाना होगा। डिक्रिप्टिंग को सक्षम करने के लिए IV को एईएस एल्गोरिथ्म को भी पास किया जाना चाहिए। जब कैप्चर एन्क्रिप्ट किया जाता है तो फ़ाइल में कोई पेडिंग नहीं जोड़ी जाती है, इसलिए डिक्रिप्टिंग पैडिंग को अक्षम करने की आवश्यकता होती है।

याद रखें कि क्या आपने हमारे मौजूदा क्लाइंट एपीआई में से एक के लिए या पूरी तरह से नई भाषा के लिए एक सुधार बनाया है जिसे आप समुदाय के माध्यम से साझा कर सकते हैं GitHub.