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

يُتحقَّق منه في متصفحك.
ويُختم للجيب الآمن.

ما يفحصه متصفحك، وما يراه مُرحِّلنا، وما لا تزال تثق بنا فيه.

لم يخضع لتقييم مستقل بعد

  • الجيب الآمن يُفحَص أولًا

    كيف نعرف ذلك

    قبل رسالتك الأولى، يفحص المتحقِّق مفتوح المصدر من Tinfoil في متصفحك التقريرَ الذي وقّعته الشريحة. وأي تقرير لا يجتاز التحقق يوقف كل شيء.

  • مختوم في علامة التبويب لديك

    كيف نعرف ذلك

    يُشفَّر كل طلب باستخدام EHBP ‏(HPKE، AES-256-GCM) للمفتاح الذي يسمّيه التصديق، قبل أن يغادر.

  • المُرحِّل يرى بايتات

    كيف نعرف ذلك

    يفحص مُرحِّلنا حسابك وحصتك ويمرّر النص المشفَّر إلى مضيفات Tinfoil. يرى الأحجام والأوقات وحسابك، ولا يحتفظ بأي نسخة.

  • إيصال لكل إجابة

    كيف نعرف ذلك

    يفحص متصفحك الجيب الآمن للنموذج الذي أجاب، حيث يسمح عتاده بذلك، ويحتفظ بما وجده مع الإجابة.

مَن قد يطّلع، وما الذي يمنعه.

  1. الشبكة

    الخطر المتبقي: منخفض
    يحصل على
    بايتات مختومة، وأحجام، وأوقات
    يمنعه
    HTTPS، ثم الختم حتى الجيب الآمن
    يبقى قائمًا
    أحجام حركة المرور وتوقيتها
  2. مُرحِّلنا

    الخطر المتبقي: متوسط
    يحصل على
    حسابك، وعنوان IP، والأحجام، والنموذج
    يمنعه
    مختوم في علامة تبويبك؛ لا يستطيع فتحه
    يبقى قائمًا
    البيانات الوصفية التي يراها
  3. مضيف السحابة

    الخطر المتبقي: متوسط
    يحصل على
    ذاكرة الجيب الآمن المشفَّرة
    يمنعه
    AMD SEV-SNP أو Intel TDX، مع التصديق
    يبقى قائمًا
    عيوب العتاد؛ وتصريحات Tinfoil نفسها
  4. جيب آمن مزيَّف

    الخطر المتبقي: منخفض
    يحصل على
    لا شيء: علامة تبويبك ترفضه
    يمنعه
    التصديق، يُفحَص في متصفحك
    يبقى قائمًا
    الشيفرة المتحقَّق منها ليست شيفرة مُراجَعة
  5. شيفرة موقع معدَّلة

    الخطر المتبقي: متوسط
    يحصل على
    ما تكتبه، قبل الختم
    يمنعه
    بيان البناء، والتوقيع، وبناؤك أنت
    يبقى قائمًا
    لا تستطيع الصفحة أن تضمن نفسها بالكامل
  6. واجهة API للمطوّرين

    الخطر المتبقي: مرتفع
    يحصل على
    طلبك، في الذاكرة
    يمنعه
    لا تخزين ولا سجلات، بحسب سياستنا
    يبقى قائمًا
    أنت تثق ببوابتنا

داخل خادم واحد

أين يبدأ الجيب الآمن، وأين ينتهي.

مرّر لتفكيك خادم GPU: ما يقع داخل حدود الجيب الآمن، وما يبقى خارجها.

  1. موزّع الحرارةالغطاء المعدني فوق رقاقات GPU.
  2. رقاقة GPUحيث يعمل النموذج. تذكر وثائق Tinfoil أن وحدات GPU من NVIDIA لديها (H100 و H200 و B200) تعمل في وضع الحوسبة السرية.
  3. ذاكرة عالية النطاق التردديتحمل أوزان النموذج، وطلبك أثناء الإجابة عنه.
  4. آلة افتراضية سريةعلى معالج الخادم (AMD SEV-SNP أو Intel TDX): خدمة التوجيه لدى Tinfoil وخادم النموذج، في ذاكرة لا يستطيع المضيف قراءتها. وتوقّع رقاقته التقرير الذي يتحقق منه متصفحك.
  5. حدود الجيب الآمنما يُبقي العتادُ المضيفَ خارجه، وما يصفه التصديق. لا يُفتح طلبك إلا داخله.
  6. المضيفاللوحة الأم، والمشرف الافتراضي (hypervisor) وبرامج التشغيل، ومن يشغّلها: كلها خارج الحدود. وهو ينقل البايتات المختومة دخولًا وخروجًا.

رسم توضيحي لنوع الآلات التي تشغّلها Tinfoil، لا صورة لآلة بعينها. يذكر سجل الإصدار الموقَّع من Tinfoil المعالجات والذاكرة ووحدات GPU لكل جيب آمن؛ وتعرضها لوحة «موثَّق» في مساحة العمل.

قراءة النص الكاملإخفاء النص الكاملنحو 12 دقيقة، وستة مخططات

باختصار

يشغّل Undergrove نماذج مفتوحة الأوزان داخل جيوب آمنة عتادية تديرها Tinfoil. بعض ما يعنيه ذلك يتحقق منه متصفحك بنفسه؛ وبعضه بيان من Tinfoil؛ وبعضه يعتمد علينا. وإليك ما ينتمي إلى كلٍّ منها.

يتحقق متصفحك

  • من أن الجيب الآمن عتاد حقيقي يشغّل الشيفرة التي نشرتها Tinfoil.
  • من أن كل طلب يُختم لمفتاح ذلك الجيب الآمن قبل أن يغادر علامة التبويب لديك.
  • من الجيب الآمن للنموذج الذي أجاب، لإيصال كل إجابة، حيثما يسمح عتاده بذلك.

تذكر Tinfoil

  • أنها لا تستطيع الوصول إلى جيوبها الآمنة، وأن لا شيء فيها يبقى بين عمليات إعادة التشغيل.
  • أن وحدات GPU المدعومة لديها تعمل في وضع الحوسبة السرّية.

تثق بنا في

  • الشيفرة التي يرسلها هذا الموقع إلى متصفحك، والتي يمكنك مقارنتها بالبناء.
  • ما يفعله المُرحِّل بما يستطيع رؤيته: الأحجام والأوقات وحسابك.
  • بوابة واجهة API للمطوّرين، التي تقرأ الطلبات في الذاكرة.

لم يخضع أيٌّ من هذا لتقييم مستقل بعد.

01 · التصديق

الشريحة تشهد للشيفرة.

الجيب الآمن العتادي جزء من الخادم لا يستطيع مضيفه نفسه النظر داخله: يشفّر المعالج ذاكرة الجيب الآمن ويُبقي برمجيات المضيف خارجها. وهذا وحده لن يكون سوى وعد. ما يجعله قابلًا للتحقق هو التصديق. فعند بدء تشغيل الجيب الآمن، يقيس المعالج الشيفرة التي حمّلها ويوقّع تقريرًا بهذا القياس بمفتاح تضمنه الشركة المصنّعة للشريحة. ويذكر التقرير أيضًا المفتاح العام الذي سيفكّ به الجيب الآمن التشفير.

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

الجيب الآمن لدى Tinfoilتقرير العتاديقيس المعالج الشيفرة التي أقلع بها الجيب الآمن ويوقّع تقريرًا عنها، يذكر المفتاح العام للجيب الآمن، بمفتاح تضمنه الشركة المصنّعة للرقاقة.
GitHub و Sigstoreالإصدار المنشورتبني Tinfoil شيفرتها المفتوحة المصدر علنًا وتسجّل قياس كل إصدار في سجل الشفافية العام لدى Sigstore.
متصفحكأداة التحقق المفتوحة المصدر من Tinfoilتتحقق من توقيع التقرير مقابل مفاتيح الشركة المصنّعة للرقاقة، وتتحقق من سجل البناء الموقَّع للإصدار، وتقارن القياسين.

إذا تطابقا: تُختم الطلبات بالمفتاح الذي يذكره التقرير.

إذا فشل أي شيء: لا يُرسَل شيء، وتوضّح مساحة العمل السبب.

الشكل 1. يقارن متصفحك أمرين يستطيع التحقق منهما دون أن يثق بنا: التقرير الموقَّع من الرقاقة عن الشيفرة التي تعمل في الجيب الآمن، والإصدار الذي نشرته Tinfoil لتلك الشيفرة. ولا يختم أي شيء إلا إذا تطابقا.

فحوصات أداة التحقق، بالترتيب

  1. العثور على الإصدار الذي نشرته Tinfoil لهذه الشيفرة.
  2. التحقق من تقرير التصديق العتادي للجيب الآمن مقابل مفاتيح التوقيع لدى الشركة المصنّعة للرقاقة.
  3. التحقق من سجل البناء الموقَّع للإصدار (Sigstore، من GitHub).
  4. المقارنة: يجب أن تكون الشيفرة المقيسة في الجيب الآمن هي ذلك الإصدار بالضبط.
  5. التحقق من أن مفتاح التشفير هو المفتاح الذي يذكره تصديق الجيب الآمن.

يُعاد استخدام التقرير الذي جرى التحقق منه لمدة تصل إلى عشر دقائق، في علامة التبويب هذه أو في علامة تبويب أخرى من هذا الموقع، وفقط إن كان التقرير نفسه تمامًا، بحسب تجزئة SHA-256 الخاصة به. تعرض مساحة العمل كل فحص ضمن «تم التحقق»، وتعرض صفحة البنية الشيفرة التي تُجريه.

02 · الختم

لا يستطيع فتحه إلا الجيب الآمن.

بعد التحقق من الجيب الآمن، يُختم كل طلب مباشر في علامة التبويب لديك قبل أن يغادرها. يُشفَّر متنه باستخدام EHBP، وهو بروتوكول Tinfoil لتشفير متون HTTP، للمفتاح الذي ذكره التصديق. ويستخدم EHBP معيار HPKE، وهو معيار للتشفير بالمفتاح العام لطرف ما: تُنشئ علامة التبويب لديك زوج مفاتيح جديدًا للطلب، وتجمعه مع مفتاح الجيب الآمن في سرّ مشترك، ثم تشفّر باستخدام AES-256-GCM.

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

علامة التبويب لديكزوج مفاتيح جديد لكل طلبعند دمجه مع المفتاح العام الموثَّق للجيب الآمن، ينتج سرًّا لا يستطيع أحد آخر استنتاجه.
النص المشفَّر + المفتاح المغلَّف
مُرحِّل Undergroveيمرّرهلا يملك أي مفتاح يفتحه.
البايتات نفسها
الجيب الآمن لدى Tinfoilيفتحهبالمفتاح الخاص الذي لا يغادر الجيب الآمن أبدًا.
الشكل 2. يختم EHBP متن كل طلب باستخدام HPKE: X25519 و HKDF-SHA256 و AES-256-GCM. وتعود الإجابة مختومة أيضًا وهي تتدفق، ولا تُفتح إلا في علامة التبويب لديك. اختم رسالة بنفسك وشاهد كل خطوة.

03 · المُرحِّل

بايتات لا يستطيع قراءتها.

تذهب الطلبات المختومة إلى المُرحِّل لدينا، وهو وظيفة على Vercel، بدلًا من الذهاب مباشرة إلى Tinfoil. يتحقق من هوية الطالب ومن أنه ضمن حصته، ويضع مفتاح Tinfoil الخاص بـ Undergrove على الطلب، فلا تحتاج إلى حساب لدى Tinfoil. ويرفض أي شيء غير موجَّه إلى أحد خوادم Tinfoil نفسها أو لا يحمل مفتاحًا مُغلَّفًا.

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

في الخارج: ما يراه المُرحِّل

  • حسابك، وعنوان IP الخاص بك (عبر Vercel، الجهة المستضيفة لنا)
  • حجم كل طلب ووقته ومساره
  • النموذج الذي أجاب، من ترويسة تضعها Tinfoil
  • ما إذا استُخدم البحث في الويب أو الصور، كما يصرّح متصفحك، لاحتساب تكلفتها

مختوم في الداخل: ما لا يستطيع قراءته

  • رسائلك وملفاتك
  • الإجابات
  • تعليماتك وملاحظات الذاكرة
الشكل 3. يرفض المُرحِّل كل ما ليس مختومًا لأحد مضيفي Tinfoil أنفسهم، ويضع مفتاح Tinfoil الخاص بنا مكان مفتاحك، ثم يمرّر البايتات. ويحتسب التكلفة حسب الحجم لأنه لا يستطيع عدّ الكلمات. شاهد طلبًا كما رآه المُرحِّل.

04 · الإيصالات

جيبان آمنان، وإيصال لكل إجابة.

الجيب الآمن الموجِّه الذي تحقق منه متصفحك لا يشغّل النموذج. إنه يفتح طلبك ويمرّره إلى الجيب الآمن الذي يعمل فيه النموذج مع وحدات GPU الخاصة به، والذي يتحقق منه الموجِّه بنفسه، وفق شيفرته المنشورة، ويذكره في ترويسة الاستجابة.

ثم يتحقق متصفحك من ذلك الجيب الآمن المذكور أيضًا، بأداة التحقق نفسها، مقابل المستودع الذي يثبّته موجِّه Tinfoil لذلك النموذج. وما وجده يُحفَظ مع الإجابة كإيصال: الجيب الآمن، والشيفرة المقيسة فيه، والإصدار الذي طابقته، والمفتاح الذي خُتم له الطلب. الإيصال سجلّ متصفحك نفسه، لا نوقّعه نحن ولا Tinfoil؛ أما التصديق الذي يستند إليه فموقَّع من AMD وGitHub، لذا يمكن لأي شخص التحقق منه مجددًا.

الجيب الآمن 1خدمة التوجيه لدى Tinfoilموثَّق قبل الإرسال. يفتح الطلب.
من جيب آمن إلى جيب آمن
الجيب الآمن 2النموذج ووحدات GPU الخاصة بهمذكور في الترويسة tinfoil-enclave.
يُتحقَّق منه مرة أخرى
متصفحكإيصال الإجابةيُحفظ مع الإجابة: الجيب الآمن، والشيفرة المقيسة، والإصدار، والمفتاح.
موثَّق
عتاد أصلي يشغّل إصدارًا منشورًا من المستودع الذي تثبّته خدمة التوجيه لدى Tinfoil للنموذج.
لم يُتحقَّق منه
عتاد لا تستطيع أداة التحقق في المتصفح قراءته بعد: فهي تقرأ تقارير AMD SEV-SNP، لذا يُسجَّل الجيب الآمن العامل على Intel TDX على أنه لم يُتحقَّق منه.
غير مؤكَّد
جرى الفحص وفشلت إحدى خطواته، مثلًا جيب آمن انتقل إلى إصدار أحدث من الإصدار الذي تقرنه به خدمة Tinfoil.
الشكل 4. تتحقق خدمة التوجيه لدى Tinfoil بنفسها من الجيب الآمن للنموذج، وفق شيفرتها المنشورة، وتذكره في ترويسة الاستجابة. ويتحقق متصفحك من ذلك الجيب الآمن مرة أخرى لإيصال الإجابة. الترويسة غير مشمولة بالتشفير، لذا يُثبت هذا أن الجيب الآمن المذكور أصلي، لا أن هذا الطلب ذهب إليه؛ فتلك المرحلة تعتمد على الشيفرة المنشورة لخدمة التوجيه.

05 · واجهة API للمطوّرين

مسار مختلف، بوضوح.

الشيفرة التي تستدعي واجهة API للمطوّرين ترسل طلبها عبر HTTPS إلى البوابة لدينا، التي تقرؤه: للتحقق منه، وتطبيق الحدود، وتشغيل الأدوات. تقرؤه في الذاكرة ولا تخزّنه ولا تسجّله أبدًا. ثم تفعل البوابة ما يفعله متصفحك في مساحة العمل: تتحقق من الجيب الآمن باستخدام SDK الخاص بـ Tinfoil وتختم الطلب له.

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

مساحة العمل
متصفحكيتحقق، ثم يختم
المُرحِّللا يستطيع قراءته
الجيب الآمنيفتحه
واجهة API للمطوّرين
خادمكيُرسل عبر HTTPS
بوابتناتقرؤه في الذاكرة للتحقق منه؛ ولا تخزّنه ولا تسجّله أبدًا
الجيب الآمنتتحقق منه البوابة أولًا
الشكل 5. مساران إلى الجيوب الآمنة نفسها. في مساحة العمل يختم متصفحك الطلب؛ وعبر API تختمه بوابتنا، بعد قراءة الطلب في الذاكرة للتحقق منه. وكل إجابة من API تأتي من الجيوب الآمنة لدى Tinfoil تذكر حزمة التصديق التي تحققت منها البوابة، والتي يعيدها GET /v1/attestation?sha256= لتتحقق منها مرة أخرى.

06 · هذه الصفحة

التحقق من الشيفرة التي تتحقق.

كل ما سبق يعمل بشيفرة يرسلها هذا الموقع إلى متصفحك، لذا فتلك الشيفرة مهمة أيضًا. يكتب كل بناء بيانًا: تجزئة SHA-256 لكل ملف يقدّمه الموقع، والإيداع الذي بُني منه.

لا تستطيع الصفحة أن تضمن نفسها بالكامل: فالفحص الذي يعمل داخل الصفحة لا يكون أصدق من الصفحة نفسها. أما الفحص الأقوى فلا يتضمّننا إطلاقًا: أعِد بناء الإيداع بنفسك في البيئة المثبَّتة وقارن البيانين.

البناءبيان الملفاتبصمة SHA-256 لكل ملف يقدّمه الموقع، والإيداع (commit) الذي جاء منه.
يُنشر مع الموقع
متصفحكيحسب بصمات ما حمّلهيُذكر اسم أي ملف يختلف.
أو على جهازك
أي شخصيعيد بناء الإيداعويقارن البيانين.
الشكل 6. تحسب ميزة التحقق من هذه الصفحة بصمات الملفات التي حمّلها متصفحك وتقارنها ببيان ملفات البناء وإيداعه (commit). وإعادة بناء ذلك الإيداع في البيئة المثبَّتة (npm run rebuild:site) يُفترض أن تعطي البيان نفسه، بايتًا ببايت؛ ويمكن لأي شخص تشغيلها والمقارنة، دون أن يطلب منا شيئًا.

07 · الحدود

ما لا يُثبته هذا.

  • بيانات Tinfoil تبقى بيانات Tinfoil. أنها لا تستطيع الوصول إلى جيوبها الآمنة، وأن لا شيء فيها يبقى بين عمليات إعادة التشغيل، وأن وحدات GPU لديها تعمل في وضع الحوسبة السرّية، هي أمور تقولها Tinfoil. أما متصفحك فيتحقق من أن العتاد حقيقي ويشغّل الشيفرة المنشورة.
  • العتاد جزء مما تثق به. الحماية جيدة بقدر جودة المعالجات وبرامجها الثابتة ومفاتيح الشركات المصنّعة للشرائح، وقد سبق أن نُشرت ثغرات في الجيوب الآمنة العتادية.
  • قفزة واحدة تعتمد على شيفرة منشورة. أن طلبك انتقل من الموجِّه إلى الجيب الآمن للنموذج أمرٌ يعتمد على الشيفرة المنشورة للموجِّه. ولا يستطيع متصفحك التحقق من الجيب الآمن للنموذج إلا على AMD SEV-SNP؛ أما على Intel TDX فيُسجَّل على أنه لم يُفحَص.
  • يرى المُرحِّل الجانب الخارجي. حسابك، وعنوان IP الخاص بك، والأحجام، والأوقات، والنموذج الذي أجاب.
  • النشر ليس مراجعة. تُظهر أداة التحقق أيّ شيفرة تعمل، لا أن الشيفرة خالية من الثغرات.
  • لا يوجد تقييم مستقل بعد. لم يراجع أي مدقّق هذا التصميم ولا شيفرته حتى الآن.

لمعرفة مَن يمكنه أن يرى ماذا، مراقبًا بعد مراقب، اقرأ نموذج التهديد.

08 · للمزيد

شاهد كل جزء أثناء عمله.