أدوات لالتقاط وتحويل الويب

كيفية حماية محتوى الأسرى؟

التقاطات المشفرة

في عصر القوانين مثل اللائحة العامة لحماية البيانات ، أو حماية الناتج المحلي الإجمالي ، أصبحت حماية معلومات المستخدم أكثر أهمية من أي وقت مضى. عند التقاط الالتقاط ، يتم تخزينه مؤقتًا لفترة قصيرة على خوادمنا لتمكينه من التنزيل. بينما تكون خوادمنا آمنة ولا نتفقد عمليات التقاط المستخدم دون إذن. هذه ليست حماية كافية في بعض السيناريوهات عند التعامل مع المعلومات الشخصية.

التحسن الأول المحتمل هو ألا تلتقط ذاكرة التخزين المؤقت عن طريق تغيير طول ذاكرة التخزين المؤقت إلى صفر دقيقة ، على جهازك صفحة الحساب. ومع ذلك ، فهذا يعني أن الالتقاط لن يكون متاحًا للتنزيل لفترة طويلة جدًا ، لذا يجب تنزيله فور إنشائه.

ومن الشواغل الأمنية المحتملة الأخرى العملية الفعلية لإرسال البيانات الحساسة إلينا. من أجل تأمين هذه البيانات يجب عليك أولا تمكين 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 ، ثم يتم استخدامه لتشفير الالتقاط. ثم يتم استخدام مفتاح التشفير نفسه لفك تشفير النتيجة.

من أجل استخدام الالتقاطات المشفرة مع Java 6 و 7 و 8 ، يرجى تثبيت ملفات سياسة تشريع قوة الامتداد غير المقيدة Java (JCE) into كافة مجلدات / jre / lib / security / في مجلدات تثبيت Java.

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 ، ثم يتم استخدامه لتشفير الالتقاط. ثم يتم استخدام مفتاح التشفير نفسه لفك تشفير النتيجة تلقائيًا عن طريق تمرير true إلى طريقة DataURI ، والتي يمكن بعد ذلك قراءتها في طريقة رد الاتصال.

<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.3.7/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);
}); 	

لسوء الحظ ، لا يمكن لـ Perl فك تشفير تشفير AES بشكل أصلي ويتطلب ملفات تنفيذية خارجية أو ترجمة C. لذلك ، لم نقم بإضافة هذه الوظيفة إلى API Perl الخاصة بنا بدلاً من ذلك ، يمكنك إضافة هذه الوظيفة بنفسك باستخدام الدليل أدناه.

$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

هذا الدليل تقني للغاية ويهدف إلى مساعدة المطورين على فهم كيفية عمل التشفير لدينا. يجب أن تكون ذات فائدة خاصة لمطوري Perl ، حيث أن اللغة لا تحتوي على حزمة Perl مفتوحة المصدر لا تتطلب إكمال أو تثبيت أدوات الجهات الخارجية مثل Open SSL.

تستخدم عمليات التقاط الصور المشفرة تشفير 256 bit Standard Encryption Standard (AES). كما يستخدم وضع تشفير كتلة تشفير البلوك (CBC) للعملية.

لكي يقوم GrabzIt بتشفير التقاط مفتاح تشفير 64 أساسي يحتاج أحرف 44 الطويلة إلى تمريره إلى كائن الخيار. لإنشاء مفتاح التشفير هذا ، يجب عليك اختيار 32 بايت آمن عشوائيًا مشفرًا. يجب بعد ذلك تشفيرها على قاعدة 64. نظرًا لأن وحدات البايت آمنة للتشفير ، فسيكون من الصعب التنبؤ بها وبالتالي يصعب كسرها.

عندما يتلقى GrabzIt طلب الالتقاط باستخدام مفتاح تشفير ، يتم تشفير الالتقاط ويتم إدراج متجه التهيئة (IV) في بداية الملف. هذا IV بطول 16 ويحتاج إلى إزالته من مقدمة الملف قبل فك التشفير. يجب أيضًا تمرير IV إلى خوارزمية AES لتمكين فك تشفير. عند تشفير الالتقاط ، لا تتم إضافة الحشوة إلى الملف ، لذلك عند تعطيل تشفير الحشو يجب تعطيله.

تذكر إذا كنت قد قمت بإنشاء تحسين لأحد واجهات برمجة التطبيقات لعملائنا الحاليين أو بلغة جديدة تمامًا يمكنك مشاركتها مع المجتمع من خلال جيثب.