پیوست A
VPNها و ناشناسی
1. VPN
رمزگذاری ترافیک:
- پروتکلها: VPNها از پروتکلهای رمزگذاری مانند OpenVPN، IKEv2/IPsec و WireGuard استفاده میکنند. این پروتکلها شامل:
- AES-256-CBC یا AES-256-GCM برای رمزگذاری متقارن.
- RSA-2048 برای تبادل کلیدهای نامتقارن.
ماسک کردن IP: VPNها آدرس IP کاربر را با آدرس IP سرور VPN جایگزین میکنند. این فرایند باعث ناشناسی کاربر نمیشود بلکه صرفاً IP از دید ارائهدهنده خدمات اینترنت (ISP) به VPN منتقل میشود.
سیاستهای ثبت لاگ:
- ادعای عدم ثبت لاگ: ارائهدهندگانی مانند Mullvad و ProtonVPN ادعا میکنند که اطلاعات کاربران را ثبت نمیکنند. اعتبار این ادعاها بستگی به بررسیهای مستقل و پروندههای دادگاهی دارد.
- افشای دادهها: اگر اطلاعاتی مانند زمانهای اتصال، آدرسهای IP و دادههای استفاده ثبت شود، ارائهدهندگان VPN ممکن است مجبور به ارائه این دادهها به مقامات شوند.
تحلیل ترافیک:
- حملات همبستگی: با تحلیل الگوهای ترافیک، زمان و حجم آن، امکان مرتبط کردن ترافیک VPN با کاربران خاص وجود دارد، حتی در صورت استفاده از رمزگذاری.
اثر انگشت دیجیتالی:
- اثر انگشت مرورگر/سیستمعامل: VPNها از کاربران در برابر اثر انگشت دیجیتالی محافظت نمیکنند. اطلاعاتی مانند عامل کاربر، وضوح صفحهنمایش، و ویژگیهای دستگاه میتواند برای شناسایی کاربران استفاده شود.
2. شبکه تور (Tor Network)
مسیریابی پیازی:
- لایههای رمزگذاری: دادهها در شبکه تور با سه لایه رمزگذاری محافظت میشود. هر رله تور یک لایه رمزگذاری را حذف میکند که باعث میشود دادهها فقط در نقطه خروج نهایی رمزگشایی شوند:
- لایه ۱: داده بین کاربر و اولین رله رمزگذاری شده است.
- لایه ۲: داده بین رلههای میانی رمزگذاری میشود.
- لایه ۳: داده تا رسیدن به نود خروجی رمزگذاری شده باقی میماند.
نود خروجی:
- مشاهده دادهها: نود خروجی لایه آخر رمزگذاری را برداشته و دادههای بدون رمز را میبیند، اما نمیتواند آدرس IP اصلی را مشاهده کند. برای ردیابی آدرس IP اصلی باید کنترل تمامی رلهها به دست آید که از لحاظ عملی و تئوری بسیار پرهزینه و سخت است.
رمزگذاری انتها به انتها:
- سایتهای .onion: از رمزنگاری منحنی بیضوی (ECC) با جفت کلید عمومی و خصوصی برای رمزگذاری انتها به انتها استفاده میکنند.
3. جایگزینها
I2P:
- مسیریابی: از مسیریابی سیرپیاز مشابه مسیریابی پیازی استفاده میکند، اما بستهها را به صورت محصور شده ارسال میکند.
- تعداد نودها: تعداد نودهای کمتری نسبت به تور دارد که آن را کمتر مقاوم در برابر حملات میکند.
Lokinet:
- توپولوژی شبکه: از جدول هش توزیع شده (DHT) برای کشف نودها و مسیریابی استفاده میکند.
- محدودیتهای نود: شبکه نودهای کوچکتری نسبت به تور دارد که بر ناشناسی آن تأثیر میگذارد.
امنیت رمزعبور و ابزار مدیریت رمزعبور
امنیت رمزعبور
محاسبه آنتروپی: آنتروپی به معنای میزان تصادفی بودن یا پیشبینیناپذیری یک رمزعبور است که مستقیماً بر قدرت آن در برابر حملات تأثیر میگذارد. آنتروپی بر حسب بیت اندازهگیری میشود و بهصورت زیر محاسبه میشود:
$$ \text{Entropy} = \log_2(N^L) $$
که در آن:
- ( N ) = تعداد نمادهای ممکن (برای مثال، ۹۵ برای مجموعهای از کاراکترها شامل حروف بزرگ، حروف کوچک، اعداد و نمادها).
- ( L ) = طول رمزعبور.
برای مثال، یک رمزعبور به طول ۱۲ کاراکتر با استفاده از ۹۵ کاراکتر دارای آنتروپی زیر است:
$$ \text{Entropy} = \log_2(95^{12}) \approx 78.7 \text{ بیت} $$
امنیت عبارت عبور (Passphrase):
- طراحی و قدرت: عبارات عبور معمولاً طولانیتر و راحتتر برای به خاطر سپردن نسبت به گذرواژههای سنتی هستند. برای مثال، عبارت "Name-Seat-Look-Chair-Plane7-Stree7" دارای آنتروپی بالایی است زیرا چندین کلمه و نماد را ترکیب میکند.
آنتروپی یک عبارت عبور با شش کلمه و نمادهای خاص بهصورت زیر محاسبه میشود:
$$ \text{Entropy} \approx \log_2(W^L) $$
که در آن ( W ) تعداد کلمات ممکن (برای مثال، یک دیکشنری بزرگ از کلمات) و ( L ) تعداد کلمات است. برای یک عبارت عبور با یک دیکشنری شامل 10,000 کلمه و ۶ کلمه در طول:
$$ \text{Entropy} = \log_2(10,000^6) \approx 79.6 \text{ بیت} $$
امنیت و حریم خصوصی در شرکتهای بزرگ فناوری
اقدامات امنیتی شرکتهای بزرگ فناوری
روشهای امنیتی:
- پروتکلهای امنیتی پیشرفته: شرکتهایی مانند گوگل و مایکروسافت از اقدامات امنیتی قوی مانند احراز هویت چند مرحلهای (MFA)، رمزنگاری سرتاسری برای برخی از خدمات، و انجام مرتب بررسیهای امنیتی استفاده میکنند.
- زیرساختهای سطح سازمانی: این شرکتها از تکنولوژیهای امنیتی سطح سازمانی مانند سیستمهای تشخیص نفوذ (IDS)، فایروالها و سیستمهای حفاظت پیشرفته برای محافظت از دادههای کاربران استفاده میکنند.
- مدیریت آسیبپذیری: بهروزرسانیها و وصلههای امنیتی مرتباً اعمال میشوند تا آسیبپذیریهای امنیتی رفع شوند. این شرکتها همچنین از برنامههای "Bug bounty" برای کشف و رفع اشکالات امنیتی استفاده میکنند.
مشکلات شفافیت و اعتماد:
- عدم شفافیت: جزئیات مربوط به پیادهسازیهای امنیتی آنها بهطور عمومی منتشر نمیشود، که باعث میشود تأیید ادعاهای آنها بهطور کامل ممکن نباشد.
- کد منبع بسته: کدهای امنیتی و پروتکلها اختصاصی هستند، که امکان بررسی و ممیزی مستقل را محدود میکند.
امنیت ایمیل
رمزنگاری لایه حمل و نقل (TLS)
TLS Handshake: وقتی یک ایمیل ارسال میشود، سرور فرستنده یک TLS handshake با سرور گیرنده انجام میدهد. این فرآیند شامل موارد زیر است:
- احراز هویت سرور: سرور گیرنده گواهی TLS خود را ارائه میدهد و سرور فرستنده آن را با استفاده از یک مرجع صدور گواهی معتبر (CA) تأیید میکند.
- توافق کلید جلسه: سرورها با استفاده از رمزنگاری نامتقارن یک کلید متقارن را برای ایجاد یک کانال امن تبادل میکنند. کلید جلسه برای رمزنگاری دادههای بعدی استفاده میشود.
- مدیریت گواهیها: گواهیها باید معتبر و بهروز باشند. گواهیهای نادرست یا منقضیشده میتوانند باعث ایجاد آسیبپذیری شوند. ابزارهایی مانند "Let's Encrypt" میتوانند صدور و تمدید گواهیها را بهصورت خودکار انجام دهند.
رمزنگاری محتوا
PGP (Pretty Good Privacy):
-
ایجاد کلید: PGP یک جفت کلید (عمومی و خصوصی) با استفاده از الگوریتمهایی مانند RSA یا ECC تولید میکند. طول کلیدهای RSA معمولاً بین 2048 تا 4096 بیت و ECC حدود 256 بیت است.
-
فرآیند رمزنگاری:
- رمزنگاری متقارن: محتوای ایمیل با استفاده از یک کلید متقارن (مانند AES-256) رمزنگاری میشود، و کلید متقارن با کلید عمومی گیرنده رمزنگاری میشود.
- امضا: امضای دیجیتال با کلید خصوصی فرستنده ایجاد میشود که به گیرنده امکان تأیید صحت پیام را میدهد.
-
مدیریت کلید: PGP نیاز به تبادل دستی کلیدهای عمومی دارد. این کار معمولاً از طریق سرورهای کلید یا تبادل مستقیم انجام میشود. ابزارهایی مانند Gpg4win (برای ویندوز) و GpgTools (برای macOS) برای مدیریت کلیدها استفاده میشوند.
S/MIME (Secure/Multipurpose Internet Mail Extensions):
-
مرجع صدور گواهی (CA): S/MIME بر گواهیهای X.509 که توسط مراجع صدور معتبر صادر شدهاند، تکیه دارد. این گواهیها شامل کلید عمومی کاربر هستند.
-
فرآیند رمزنگاری:
- رمزنگاری متقارن: محتوای ایمیل با استفاده از یک الگوریتم متقارن (مانند AES-256) رمزنگاری میشود، و کلید متقارن با کلید عمومی گیرنده رمزنگاری میشود.
- امضای دیجیتال: امضا با استفاده از کلید خصوصی فرستنده انجام میشود تا احراز هویت و تمامیت ایمیل تأیید شود.
-
مدیریت گواهیها: گواهیها باید از یک مرجع صدور معتبر تهیه و مدیریت شوند و معمولاً در محیطهای امن نگهداری میشوند.
افشای متادیتا
- آدرسهای ایمیل فرستنده و گیرنده: این آدرسها در هدرهای ایمیل قابل مشاهده هستند و میتوانند الگوهای ارتباطی را آشکار کنند.
- زمانبندیها: زمانهای ارسال و دریافت ایمیل در هدرهای
Date
وReceived
ثبت میشوند. - خط موضوع: خط موضوع ایمیل قابل مشاهده است و میتواند اطلاعات کلی از محتوای ایمیل را فاش کند.
- شناسه پیام (Message-ID): شناسه یکتا برای هر ایمیل که برای پیگیری استفاده میشود.
- مسیر بازگشت (Return-Path): آدرس بازگشت برای پیامهای ناموفق ارسال، که میتواند آدرس فرستنده را فاش کند.
- هدرهای
Received
: مسیرهای مختلفی که ایمیل طی کرده است، شامل اطلاعاتی درباره سرورهایی که از آنها عبور کرده است، را نشان میدهد. - X-Mailer: اختیاری است و اطلاعاتی در مورد نرمافزار یا کلاینت ایمیل استفادهشده ارائه میدهد.
- MIME-Version و Content-Type: نسخه پروتکل MIME و نوع محتوا، مانند
text/plain
یاtext/html
.
کاهش خطرات متادیتا:
- محتوای ایمیل: از قرار دادن اطلاعات حساس در خط موضوع و بدنه ایمیل خودداری کنید.
- ارائهدهندگان ایمیل: از خدماتی استفاده کنید که روی کاهش نشت متادیتا تمرکز دارند، مانند ProtonMail یا Tutanota.
بهترین روشها برای امنسازی ایمیل
- استفاده از رمزنگاری: اطمینان حاصل کنید که رمزنگاری در لایه حمل و نقل (TLS) و محتوای ایمیل (PGP/S/MIME) بهدرستی پیکربندی شدهاند.
- بهروزرسانی گواهیها: گواهیهای TLS را بهروز نگهدارید و کلیدهای رمزنگاری را بهصورت ایمن مدیریت کنید.
سیستمعاملها
پروژه متنباز اندروید (AOSP):
-
بوت تأییدشده (Verified Boot): اطمینان حاصل میکند که دستگاه تنها با نرمافزارهای قابل اعتماد بوت میشود و از تغییرات غیرمجاز جلوگیری میکند.
-
جداسازی برنامهها (App Sandboxing): برنامهها از یکدیگر و سیستم جدا هستند و این موضوع خطر تأثیرگذاری برنامههای مخرب بر دیگر برنامهها یا عملکرد سیستم را کاهش میدهد.
-
مدیریت مجوزها: کاربران میتوانند مجوزهای برنامهها را مدیریت کنند و دسترسی به دادههای حساس را محدود کنند.
-
بهروزرسانیها: اطمینان حاصل کنید که دستگاه شما بهطور مرتب وصلههای امنیتی دریافت میکند.
-
روت کردن: روت کردن ممکن است امنیت دستگاه را به خطر بیاندازد زیرا جداسازی برنامهها شکسته شده و برنامهها به مجوزهای سطح بالا دسترسی پیدا میکنند.
-
نصب ROMهای سفارشی: نصب ROMهای سفارشی مانند GrapheneOS بر روی دستگاههایی مانند گوشیهای گوگل پیکسل را در نظر بگیرید.
-
غیرفعالکردن ویژگیهای غیرضروری: برنامههای پیشنصبشده و ویژگیهایی که دادههای شما را جمعآوری میکنند، غیرفعال یا حذف کنید.
-
بهروز نگهداشتن نرمافزار: برای محافظت در برابر آسیبپذیریهای شناختهشده، دستگاه خود را بهروز نگه دارید.
iOS:
-
منبع بسته بودن: iOS منبعبسته است، که بررسی کد آن برای آسیبپذیریها را محدود میکند.
-
ویژگیهای امنیتی: شامل جداسازی برنامهها، رمزنگاری دادهها و بوت امن است. اپل کنترل توزیع برنامهها را از طریق App Store مدیریت میکند، که این موضوع خطر نصب برنامههای مخرب را کاهش میدهد.
-
محدودیت در سفارشیسازی: کاربران نمیتوانند تنظیمات اصلی را تغییر دهند یا نرمافزارهای شخص ثالث را بهجز از App Store نصب کنند.
-
جمعآوری دادهها: اپل دادههای بسیاری از کاربران جمعآوری میکند.
-
بررسی تنظیمات حریم خصوصی: بهطور مرتب تنظیمات حریم خصوصی را بررسی و تنظیم کنید تا میزان اشتراکگذاری دادهها کاهش یابد.
-
بهروزرسانی مداوم iOS: مطمئن شوید که دستگاه شما آخرین نسخه iOS را اجرا میکند تا بهروزترین وصلههای امنیتی را دریافت کنید.
-
استفاده از رمزهای عبور قوی: از رمزهای عبور قوی و احراز هویت دو مرحلهای برای افزایش امنیت دستگاه استفاده کنید.
Windows:
-
دادههای تلهمتری: ویندوز دادههای تلهمتری جمعآوری میکند که شامل اطلاعاتی درباره استفاده سیستم و خطاها است.
-
منبعبسته بودن: کد منبع ویندوز برای بررسی عمومی باز نیست، که کشف و رفع آسیبپذیریها را دشوارتر میکند.
-
آسیبپذیریهای روز صفر: منبعبسته بودن ویندوز به این معنی است که آسیبپذیریها ممکن است قبل از کشف و وصلهشدن، وجود داشته باشند.
-
تنظیمات حریم خصوصی: ویندوز گزینههایی برای کنترل حریم خصوصی و جمعآوری دادهها ارائه میدهد، اما این تنظیمات بهتنهایی نمیتوانند مانع از اشتراکگذاری کامل دادهها شوند.
-
استفاده از لینوکس را در نظر بگیرید: برای امنیت و حریم خصوصی بهتر، استفاده از یک توزیع لینوکس برای کارهای روزمره را در نظر بگیرید و از ویندوز فقط در یک ماشین مجازی استفاده کنید.
-
تنظیمات حریم خصوصی را تغییر دهید: تنظیمات حریم خصوصی را برای محدود کردن اشتراکگذاری دادهها با مایکروسافت پیکربندی کنید.
-
استفاده از ابزارهای امنیتی: از ابزارهای امنیتی اضافی مانند فایروالها برای محافظت از سیستم خود استفاده کنید.
Linux:
-
منبعباز بودن: طبیعت منبعباز لینوکس اجازه میدهد که باگها و آسیبپذیریها زودتر از ویندوز کشف شوند و خطر آسیبپذیریهای بدون وصله کاهش یابد.
-
سفارشیسازی: کاربران میتوانند از بین هزاران توزیع و نسخههای مختلف کرنل لینوکس انتخاب کنند.
-
نسخههای مختلف کرنل: کرنلهای ویژهای مانند linux-hardened ویژگیهای امنیتی اضافی دارند که از سیستم محافظت بیشتری میکنند.
-
انتخاب توزیعهای امنیتیمحور: توزیعهایی مانند Qubes OS یا Whonix را برای امنیت و حریم خصوصی بیشتر انتخاب کنید.
-
بهروزرسانی مرتب: سیستم و نرمافزارها را مرتباً بهروز نگه دارید تا از آسیبپذیریهای شناختهشده محافظت کنید.
رمزنگاری
تحلیل رمزنگاری: الگوریتمهای تأیید شده از طریق تحلیلهای رمزنگاری پیشرفته، شامل:
- تحلیل تفاضلی (Differential Cryptanalysis): بررسی چگونگی تأثیر تفاوتها در ورودی بر تفاوتهای خروجی.
- تحلیل خطی (Linear Cryptanalysis): استفاده از تقریبهای خطی برای توصیف رفتار الگوریتم رمزنگاری.
- حملات جبری (Algebraic Attacks): بهرهبرداری از ساختارهای جبری در الگوریتم رمزنگاری.
- حملات غربالگری (Sieve Attacks): یافتن راهحلهایی برای معادلات استفادهشده در طرحهای رمزنگاری.
مثالهایی از الگوریتمها:
- AES: روی بلوکهای 128 بیتی با 10، 12 یا 14 دور پردازش با استفاده از عملیاتهایی مانند SubBytes، ShiftRows، MixColumns و AddRoundKey عمل میکند.
- ChaCha20: یک رمز جریانی با 20 دور پردازش که از تابع ربعگردش برای رمزنگاری سریع استفاده میکند.
خطرات رمزنگاری:
- امنیت از طریق ابهام: الگوریتمها باید بر اساس طراحی و مقاومت در برابر تحلیل رمزنگاری امن باشند، نه بر اساس پنهانکاری.
تکنیکهایی برای جلوگیری از برخی حملات پیادهسازی:
- الگوریتمهای با زمان ثابت (Constant-Time): پیادهسازیهایی که زمان اجرای ثابتی دارند و میتوانند خطر حملات زمانی را کاهش دهند.
- تولید نویز: استفاده از تصادفیسازی برای پوشش الگوهای مصرف توان.
عوامل عملکرد سختافزاری:
- AES-NI: شتابدهنده سختافزاری برای رمزنگاری AES که عملکرد آن را با پردازندههای مدرن بهبود میبخشد.
- TPM: حفاظت مبتنی بر سختافزار برای کلیدهای رمزنگاری که تضمین میکند حتی در صورت به خطر افتادن سیستم، کلیدها فاش نمیشوند.
پشتیبانگیری (Backups)
فناوریهای پشتیبانگیری:
- سطوح RAID:
- RAID 1: استفاده از Mirroring برای redundancy دادهها.
- RAID 5/6: استفاده از Striping با Parity برای حفظ redundancy دادهها.
- فناوریهای Snapshot:
- ZFS Snapshots: تهیه کپیهای نقطهای از دادهها بهصورت کارآمد.
- LVM Snapshots: Logical volume snapshots for incremental backups.
ابزارهای رمزنگاری:
- VeraCrypt: رمزنگاری Containerها و Volumeها را ارائه میدهد.
- Cryptsetup: از LUKS (Linux Unified Key Setup) برای رمزنگاری دیسک استفاده میکند.
تکنیکها و ابزارهای پیشرفته برای ناشناسسازی
-
استفاده از VPN:
- Multi-Hop VPN: ترکیب چندین سرور VPN در کشورهای مختلف برای افزودن لایههای اختفا. برخی سرویسها مانند ProtonVPN این ویژگی را ارائه میدهند.
- Onion Over VPN: مسیریابی ترافیک VPN از طریق شبکه Tor برای امنیت بیشتر. این قابلیت در برخی از پلتفرمهای ارائهدهندگان VPN وجود دارد.
-
سیستمعاملهای امن:
- Qubes OS: امنیت را از طریق مجازیسازی فراهم میکند. هر برنامه در یک ماشین مجازی جداگانه اجرا میشود تا از تأثیر کدهای مخرب جلوگیری کند.
- Whonix: از طراحی Split استفاده میکند که در آن Gateway شبکه Tor و Workstation از هم جدا هستند تا امنیت بیشتری فراهم شود.
-
ارتباطات امن:
- PGP (Pretty Good Privacy): برای رمزنگاری ایمیلها و فایلها استفاده میشود. استاندارد OpenPGP را میتوان با کلاینتهای ایمیل مانند Thunderbird با پلاگین Enigmail استفاده کرد.
- GPG (GNU Privacy Guard): پیادهسازی متنباز PGP است که بهطور گسترده برای رمزنگاری دادهها و ارتباطات استفاده میشود.
-
حذف متادیتا:
- MAT2 (Metadata Anonymisation Toolkit): یک ابزار برای حذف متادیتا از فایلها بهصورت گروهی. برای مدیریت تعداد زیادی فایل مفید است.
- ExifTool: یک ابزار خط فرمان برای حذف متادیتا از انواع مختلف فایلها، از جمله تصاویر و اسناد.
-
رمزنگاری دادهها:
- VeraCrypt: برای رمزنگاری دادههای ذخیرهشده در دستگاهها استفاده میشود. امکان ایجاد دیسکهای مجازی رمزنگاریشده و رمزنگاری کامل پارتیشنها را فراهم میکند.
- EncFS: یک فایلسیستم مبتنی بر FUSE که بهصورت شفاف فایلها را رمزنگاری میکند.
-
ابزارهای تحلیل رفتار:
- Keystroke Dynamics: ابزارهایی مانند KeyTracer برای تحلیل الگوهای تایپ. اجتناب از این الگوها میتواند به ناشناسسازی کمک کند.
- Mouse Gestures: ابزارهایی که حرکت موس را تصادفیسازی میکنند یا از اسکریپتها برای تغییر الگوهای معمولی موس استفاده میکنند.
-
امنیت شبکه:
- DNS-over-HTTPS (DoH): رمزنگاری پرسوجوهای DNS برای محافظت در برابر شنود و تغییر. مرورگرهایی مانند Firefox و Chrome از آن پشتیبانی میکنند.
- DNS-over-TLS (DoT): روش دیگری برای رمزنگاری پرسوجوهای DNS است که بسیاری از VPNها و پیکربندیهای شبکه از آن پشتیبانی میکنند.
-
حذف دادهها:
- BleachBit: یک ابزار متنباز برای پاکسازی فضای دیسک و حذف ردپاهای فعالیتها.
- CCleaner: برای کاربران ویندوز، برای پاکسازی فایلهای موقت و ردپاهای سیستمی.