İnsanlar çox vaxt güman edir ki, bir dəfə təsdiqlənmisinizsə, yoxlamanı idarə edən xidmət həqiqətən də sənədlərinizi görüb, onları qiymətləndirib və sadəcə nəticəni yadda saxlayır.
Newton-un şəxsiyyətin təsdiqlənməsi isə fərqli şəkildə hazırlanıb. Təsdiqləmə TEE daxilində (Trusted Execution Environment — Etibarlı İcra Mühiti) işləyir; yəni yoxlayıcının normal infrastrukturası əsas şəxsiyyət məlumatlarına birbaşa çıxış əldə etmir. O, yoxlamanın nəticəsini alır, amma xammal girişlərin özünü deyil.
Bu, təkcə şifrləmədən fərqli bir təhlükəsizlik modelidir. Şifrləmə məlumatı saxlanarkən və ya ötürülərkən qoruyur, amma adətən yoxlamanı aparmaq üçün onu şifrdən açmaq lazım gəlir. TEE həmin hesablamanı belə təcrid etməyə çalışır: host əməliyyat sistemi isə zəncirdə (enclave) daxilində nə baş verdiyini yoxlaya bilmir.
Bu, həm də Newton-un daha geniş şəxsiyyət modelinə uyğundur. Yoxlayıcılar, əsas şəxsi məlumatı öyrənmədən etimadnamə sübutlarını (credential proofs) doğrulayır. Məqsəd təkcə datanı zəncirdən kənarda saxlamaq deyil, həm də onu yoxlayıcıdan gizlətməkdir.
Həll olunmalı əsas sual etibardır. TEE-lər Yoxlayıcıya nə qədər etibar etməli olduğunuzu azaldır, amma etibarı tamamilə aradan qaldırmır. Əksinə, bu etibarın bir hissəsi TEE-nin implementasiyasına, hardware istehsalçısına, firmware-ə və attestasiyası (attestation) prosesinə keçir. Keçmişdə TEE-lərdə real hardware və yan-kanal (side channel) zəiflikləri mövcud olub, buna görə də onlar zəmanət yox, riskin azaldılması mexanizmidir.
Məni ən çox maraqlandıran məsələ isə uğursuzluq (failure) modelidir. Əgər Newton-un güvəndiyi hardware-da ciddi TEE zəifliyi aşkar edilərsə, əvvəl bu zəncirlər (enclaves) vasitəsilə təsdiqlənmiş etimadnamələrə nə baş verəcək? Təsir yalnız zəiflik məlum olduqdan sonra gələcək attestasiyalarla məhdudlaşacaq, yoxsa daha əvvəlki yoxlama sessiyaları da zədələnmiş (komprometə olunmuş) hesab edilə bilər? Və əgər belə olarsa, məsələn, etibarlı zəncirləri (trusted enclaves) ləğv etmək, attestasiya açarlarını rotasiya etmək və ya etimadnamələrin yenidən təsdiqlənməsini tələb etmək kimi sənədləşdirilmiş bir bərpa prosesi varmı?
$NEWT @NewtonProtocol #Newt $LAB $TLM #labcrashed