کدام نرم افزارها و اپلیکیشن ها، پیام های شما را امن انتقال می دهند و امن نگاه می دارند؟

برای مقابله با نظارت گسترده بر اینترنت، ما نیازمند نحوه ای عملی تر و امن تر برای برقراری مکالمات تلفنی و نوشتاری خود هستیم. بسیاری از شرکت ها، سرویس هایی به ظاهر امن ارائه می دهند، اما واقعا این نرم افزارها تا چه میزان امنیت کاربران را تامین می کنند. بنیاد الکترونیک فرانتیر (EFF)، به تازگی کمپینی راه اندازی کرده است تا نرم افزارهای ارتباطی را از نظر امنیت و رمزنگاری بررسی کند.

این امتیاز دهی تنها بخش اول کمپین را نمایندگی می کند. در فاز های بعدی، برگزار کنندگان تصمیم دارند آزمایش های دقیق تری در رابطه با کارایی و امنیت ابزارهایی که بیشترین امتیاز را در این لیست به دست آورده اند انجام دهند. بنابراین، نتایج بدست آمده در جدول امتیاز دهی زیر، نباید به عنوان نتایجی تایید شده تلقی شوند، بلکه تنها نشان دهنده این هستند که تحقیق در مسیر درست خود است.

در زیر به معیارهای  ارزیابی امنیتی ابزارهای ارتباطی مختلف نگاه شده است:

آیا ارتباط شما در زمان عبور رمزنگاری شده است؟

براساس این معیار باید تمام ارتباطات کاربران در تمام مسیرهای ارتباطی رمزنگاری شده باشند. ذکر این نکته ضروری است که رمزنگاری اطلاعات در شبکه درون شرکت الزامی نیست، اما وجود آن بهتر است. نیازی نیست که متادیتا (مانند اسم کاربری و آدرس ها) رمزنگاری شده باشند.


آیا ارتباط شما آیا ارتباط شما با کلیدی رمزنگاری شده است که سرویس دهنده به آن دسترسی ندارد؟

براساس این معیار، ارتباط تمام کاربران باید به روش پایان به پایان (End to End) رمزنگاری شده باشند. این بدان معناست که کلیدی که قرار است براساس آن مطالب رمزخوانی شوند، باید در مقصد پردازش و ذخیره شود (یا به بیان دیگر باید توسط کاربر تولید شده باشند، نه سرور). کلیدها نباید به هیچ وجه و به غیر از خواست شخصی کاربر، از سیستم او منتقل شده، نسخه پشتیبانی از آن ها تهیه شود و یا در جای دیگری مورد استفاده قرار گیرند. به اشتراک گذاشتن کلید عمومی کاربران از طریق یک سرور مشترک بلامانع است.


آیا ارتباط شما در ز آیا شما به صورت مستقل امکان شناسایی و احراز هویت طرف مقابلتان را دارید؟

این معیار نیازمند روشی شناخته شده برای احراز هویت طرفین گفت و گو است. هم چنین یکپارچگی کانال ارتباطی باید به نحوی باشد که در صورت ورود سرویس دهنده و یا یک شخص ثالث به ارتباط، امکان مشاهده مکالمه وجود نداشته باشد.

دو روش قابل قبول وجود دارد:

یک رابط تصویری برای کاربر که حاوی بخشی از ترکیب کلید عمومی مخاطب و خود او باشد به نحوی که کاربر بتواند به صورت دستی هویت طرف مقابل را شناسایی کند.

یک پروتکل تبادل کلید به همراه یک رشته کوتاه احراز هویت، مانند پروتکل Socialist Millionaire.

روش های دیگری نیز وجود دارد، اما همه روش ها باید اتصال بین کاربر و کانال رمزنگاری را بررسی کنند. برای دریافت امتیاز این معیار، به سادگی نیاز است که یک مکانیزم اجرا شود و کارایی و امنیت خود را بررسی کند.


در صورت لو رفتن کلید، آیا مکالمات پیشین شما امن هستند؟

این معیار نیازمند تامین پنهان کاری رو به جلو (forward-secrecy) است. این بدان معناست که کلیه ارتباطات باید توسط کلیدهای بی دوامی رمزنگاری شوند که به صورت خودکار حذف خواهند شد. این نکته که امکان بازسازی کلیدها حتی اگر فردی به کلید بلند مدت طرفین ارتباط هم دسترسی یابد، غیر ممکن باشد، ضروری است و برنامه باید اطمینان حاصل کند که بلافاصله پس از حذف نسخه محلی اطلاعات، نمونه ای از آن ها در جای دیگری وجود نداشته باشد. به این نکته توجه داشته باشید که این معیار، نیازمند معیار دوم، یعنی رمزنگاری پایان به پایان است.


آیا کد برنامه برای بررسی های مستقل باز است؟

این معیار مستلزم آن است که کد منبع منتشر شده باشد و یک سیستم اجرای سازگار بتواند به آن وارد شود. اگرچه بهتر است که نرم افزار متن باز باشد، اما هیچ الزامی برای انتشار کد منبع براساس یکی از استانداردهای متن باز نیست. تنها خواسته این کمپین این است که امکان دسترسی به کدهای منبع بخش ارتباطی نرم افزار و کلاینت رمزنگاری برای بررسی باگ ها، در پشتی و ایرادهای ساختاری در دسترس باشد.

نکته: اگر ابزارها از طرف یکی از شرکت های تولید کننده سیستم عامل ارائه شده است، تنها کد منبع ابزار مورد نیاز است و نه کل کد منابع سیستم عامل. این نوعی مصالحه به حساب می آید، اما بررسی امنیت سیستم عامل ها و به روز رسانی آن ها ورای فعالیت های این کمپین است.


آیا طراحی برنامه رمزنگاری به خوبی مستند شده است؟

این معیار مستلزم توضیح شفاف و با جزییات از روشی است که برنامه برای رمزنگاری استفاده می کند. ترجیح بر این است که این توضیحات در یک صفحه نوشته شده باشد به نحوی که بتوان آن را برای جمعی از متخصصان رمزنگاری قرائت کرد. این توضیحات باید به پرسش های زیر پاسخ دهند:

کلید ها به چه شکل تولید، نگهداری و بین کاربران مبادله می شوند
مدت زمان بهره برداری از هر کلید و پروسه ای که کاربر باید برای تغییر یا حذف کلید خود انجام دهد
شرح کاملی از امکانات نرم افزار و روش های محافظتی که فراهم می کند (البته این مساله می تواند باعث ایجاد مدلی از خطر شود، که الزاما بد هم نیست). این شرح همچنین باید شامل موارد و شرایطی باشد که پروتکل در آن ها به درستی عمل نمی کند.


آیا یک بررسی و واشکافی مستقل از امنیت برنامه صورت گرفته است؟

براساس این معیار، نرم افزار باید طی ۱۲ ماه منتهی به زمان ارزیابی، به صورت مستقل، بررسی امنیتی شده باشد. این گزارش باید شامل طراحی و اجرای نرم افزار باشد. هم چنین تیمی که بررسی را انجام می دهند، باید به طور کامل از تیمی که مسئولیت طراحی و توسعه نرم افزار را دارند مستقل باشند. بررسی های امنیتی که توسط موسسات بزرگ انجام شده اند کافی هستند. ذکر این نکته ضروری است که این گزارش ها نیازی نیست به صورت عمومی منتشر شده باشند، تنها موسسه ای که نام آن ها به عنوان بررسی کننده آورده شده، باید این گزارش را تایید کند.