زمان مطالعه تقریبی: ۴ دقیقه
دانش صفر
اعتماد به اطلاعات شخصی افراد در خدمات آنلاین باعث می شود تا ارائه دهنده خدمات ، تضمین کافی برای ارائه سرویس های خود را داشته باشد . از سوی دیگر ، کاربران نیز باید اطمینان حاصل کنند که داده های آن ها دچار مشکلات امنیتی نخواهند گردید . برای اطمینان از حفاظت صحیح از داده های خصوصی معمولا از سرویس های رمزنگاری Zero-Knowledge استفاده می شود .
در این جا می خواهیم بررسی کنیم که در یک سیستم رمزنگاری چه چیزی می تواند یک Zero Knowledge باشد و یک Zero-Knowledge چگونه کار خواهد کرد و چرا آن بهترین راه برای محافظت از اطلاعات شخصی می باشد ؟
به طور خلاصه رمزنگاری Zero-Knowledge بدان معنا است که ارائه دهندگان ارائه دهندگان سرویس های مختلف ، هیچ اطلاعاتی درباره اطلاعات ذخیره شده در سرورهای خود نمی دانند .در واقع رمزنگاری دانش صفر یک روش برای یک تایید کننده (Verifier) می باشد تا به وسیله آن درستی یک عبارت داده شده را بدون آن که اطلاعات خاصی درباره آن داشته باشد را اثبات کند . برای اثبات درستی یک موضوع باید برخی از اطلاعات مخفی برای تایید کننده موجود باشد و این بدان معنا است که هر متقاضی امکان اثبات خود را به هرکسی نخواهد داشت .
اما برای این که این تعریف بهتر درک شود باید درباره چگونگی رمزنگاری به طور کلی صحبت کنیم .معمولا خدمات آنلاین باید با نوعی رمزگذاری محافظت شوند . به عبارت دیگر هنگامی که ما اطلاعات خود را در یک وب سایت یا برنامه وارد می کنیم ، اطلاعات ما به گونه ای رمزگذاری می شود که فقط توسط افراد مجاز با یک کلید مخفی قابل دستیابی می باشد . فرض کنید اکر این کلید رمزنگاری به هر دلیلی به سرقت برود و یا افشاء شود چه چیزی می تواند از اطلاعات ما محافظت کند . این همان جایی است که رمزنگاری Zero-Knowledge وارد می شود .
برای ورود به یک وب سرور ، شما باید مجاز بودن خود را نشان دهید . به همین دلیل معمولا رمز عبور خود را در صفحه Login وارد می کنید . به طور سنتی ، سرور دارای یک نسخه کد شده از رمز عبور شما می باشد و اگر نسخه کد شده با رمز شما مطابقت داده شود سیستم برای شما باز می شود . اما یک مشکل اساسی وجود دارد که سرور نیز اطلاعات حساس شما (رمز عبور) را می داند .
برای حل این مشکل ، در سیستم ها یک رمز عبور خصوصی و یک رمز عبور عمومی تعریف می شود که رمز عبور عمومی را سرور می داند ولی رمز عبور خصوصی فقط در اختیار کاربر می باشد . بنابراین سرور با کنترل رمز عبور عمومی که به وسیله روش های ریاضی از رمز عبور خصوصی قابل استخراج است هویت کاربر را تایید می کند و این در واقع همان Zero-Knowledge می باشد .
در دانش صفر پروتکل های امنیتی معمولا یک سری اطلاعات را از متقاضی در قالب یک پیام دریافت می کنند و در صورتی که صحت این پیام در سمت دیگر تایید شد هویت شخص متقاضی تایید می شود . معمولا دانش صفر توسط توابع درهم ساز یک طرفه (One Way Hash Function) محافظت و نگهداری می شوند .
استانداردهای Zero-Knowledge شیوه های رمزنگاری مرسوم را به شکل قابل توجهی بهبود می بخشند و در حقیقت امن ترین راه برای محافظت از حریم خصوصی کاربران در محیط اینترنت می باشند .
نویسنده : مسعود معاونی

https://telegram.me/moaveni_ir