سجل الامتثال

كيف تثبت أن الملف لم يُعدَّل

هذه الصفحة لمن يراجع تصدير سجل امتثال نزّله عميل، بلا حساب على توثيق. التوقيع الصحيح يعني أن ملفات الحزمة هي التي وقّعها توثيق ولم تتغير بعد ذلك.

مفتاح التوقيع

البصمة

8bdf268a30c5ef9aa891c244174ec72c4c6f87bd9dbe878f5abb39f30144c5e9

SHA-256 لصيغة SPKI DER لمفتاح Ed25519 العام، بحروف صغيرة.

سجل DNS

توثيق ينشر البصمة نفسها في سجل TXT على_compliance-record-key.tawthiq.tech.الحقل spki-sha256 يجب أن يطابق البصمة أعلاه، والحقل spki هو المفتاح العام أدناه.

مفتاح داخل الحزمة لا يثبت مصدرها وحده.

dig +short TXT _compliance-record-key.tawthiq.tech

المفتاح العام

احفظ هذا النص في ملف باسم tawthiq.pub، مع سطري البداية والنهاية.

-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA64zHco3UpK7tTySgikIvg4eSUamYQLEnkkSXSl2BiDc=
-----END PUBLIC KEY-----

الفحص

نفّذ الأوامر من المجلد الذي فُكت فيه الحزمة، على الملفات كما هي بلا تعديل.

  1. طابق البصمة

    احفظ المفتاح أعلاه في tawthiq.pub ثم نفّذ الأمر. أحرف البصمة الأربعة والستون في أول السطر يجب أن تطابق هذه الصفحة وسجل DNS.

    openssl pkey -pubin -in tawthiq.pub -outform DER | sha256sum
  2. طابق الملفات بالبيان

    ملف manifest.json يضم قائمة files. لكل مسار فيها احسب SHA-256 للملف وقارنه بحقل sha256. الأمر التالي مثال على daily-rows.csv، وهو ملف موجود في كل حزمة، فكرّره لكل مسار. README.md و manifest.json و manifest.sig ليست ضمن القائمة.

    sha256sum daily-rows.csv
  3. افحص التوقيع

    ملف manifest.sig توقيع Ed25519. الرسالة الموقّعة هي نص SHA-256 السداسي لبايتات manifest.json بترميز UTF-8 ومن غير سطر جديد، وليست بايتات الملف نفسه. عند التطابق يطبع OpenSSL:Signature Verified Successfully

    printf '%s' "$(sha256sum manifest.json | cut -d' ' -f1)" > message.txt
    base64 -d manifest.sig > manifest.sig.bin
    openssl pkeyutl -verify -pubin -inkey tawthiq.pub -rawin -in message.txt -sigfile manifest.sig.bin

ماذا يبيّن الفحص

الفحص الناجح يبيّن أن manifest.json والملفات المذكورة فيه هي البايتات التي وقّعها توثيق.

قرارات الموافقة في الحزمة إيصالات سجّلها الخادم لاختيارات أرسلها المتصفح. معرّفات الموقع والإعدادات وترويسات HTTP لا تُثبت هوية شخص ولا أن جافاسكربت اشتغل على صفحة العميل. هذه الصفوف ليست دليلاً قانونياً غير قابل للتلاعب ولا إثباتاً مستقلاً.