أريد حماية البيانات المنظَّمة

تستخدم واجهات برمجة تطبيقات Tink الكائنات الثنائية الثنائية العشوائية كإدخال. وهذا يعني أنّه إذا أردت تشفير بيانات منظَّمة، مثل الموارد الاحتياطية للبروتوكول، عليك ترميز البيانات أولاً.

تشفير نموذج أولي

للتشفير:

  1. تحويل النموذج الأولي إلى صفيفة بايت.
  2. تشفير وحدات البايت المتسلسلة، ثم تخزين النص المُشفر الناتج أو إرساله. استخدِم:

لفك التشفير:

  1. فك تشفير النص المُشفر.
  2. إذا نجحت الخطوة 1، فقم بإلغاء تسلسل النموذج الأوّلي.

حماية النموذج الأوّلي من التلاعب

في معظم الحالات، يُفضل تشفير النموذج الأولي عن المصادقة وحدها.

لحماية النموذج الأولي من العبث:

  1. تحويل النموذج الأولي إلى صفيفة بايت.
  2. التوقيع على وحدات البايت التسلسلية أو المصادقة عليها استخدِم:
  3. يمكنك تخزين وحدات البايت المتسلسلة مع التوقيع (أو MAC).

لإثبات الملكية:

  1. احصل على النموذج المتسلسل وتوقيعه (أو MAC).
  2. تحقق من التوقيع (أو MAC).
  3. استكشاف النموذج الأوّلي بشكل تفصيلي

لاحظ أن التوقيع أو عنوان MAC الصالح لا يضمن صحة تنسيق البيانات. ينبغي أن يتوقع التنفيذ الذي يحلّل البيانات دائمًا أن تكون البيانات تالفة.

حماية عناصر بيانات متعددة

لحماية عناصر بيانات متعددة، استخدم طريقة التسلسل. أضف جميع عناصر البيانات إلى النموذج الأولي، وقم بتشفيرها (أو المصادقة) عليها كما هو موضح أعلاه.

يمكنك أيضًا عرض المحتوى على نحو متسلسل على النحو التالي:

serialize(data1 , data2 , …, datan) = 4-byte-data1's length || data1 || 4-byte-data2's length || data2 || … || 4-byte-dataN's length || dataN

وأخيرًا، عليك تشفير (أو مصادقة) صفيف البايت الناتج.