GNU/Linux – Telegram
GNU/Linux
165 subscribers
69 photos
11 videos
14 files
42 links
Download Telegram
#موبایل پروتکل (MTProto) چیست؟

قبل ازینکه پیامی در #شبکه با استفاده از پروتکل‌ انتقال ارسال شود، به روش معینی رمزنگاری می‌گردد و یک Header خارجی به ابتدای پیام اضافه می‌گردد که شامل یک شناسه‌ی تعیین هویت ۶۴ بیتی auth_key_id (که به صورت یکتا یک کلید احراز هویت را برای سرور و هم‌چنین کاربر تعیین می‌کند) و یک کلید پیام ۱۲۸ بیتی msg_key می‌شود.
کلید احراز هویت که با کلید پیام ترکیب شده، یک کلید واقعی aes_key و یک بردار اولیه‌ی ۲۵۶ بیتی aes_iv تولید می‌کند که برای رمزنگاری پیام با استفاده از رمزنگاری AES-256 در مد infinite garble extension یا اصطلاحا (IGE) استفاده می‌شود. باید دقت داشت، بخش ابتدایی پیام که باید رمز شود شامل داده‌های قابل تغییر (session، شناسه‌ی پیام، شماره‌ی دنباله و Server salt) است که به طور واضحی روی کلید پیام (و در نتیجه کلیدهای AES و iv) تاثیر می‌گذارد. در MTProto 2.0، کلید پیام به عنوان بیت‌های میانی ۱۲۸ تایی از SHA- 256 از بدنه‌ی پیام تعریف می‌شود که بوسیله‌ی ۳۲ بایت که از کلید هویت گرفته شده، اضافه می‌گردد. در واقع پیام‌های چند تکه‌ای به عنوان یک پیام رمزنگاری می‌شوند.

لایه‌ی پایه‌ای پروتکل MTProto ورژن ۲ (چت‌های تحت ابر، رمزنگاری کلاینت- سرور) تفاوت‌های عمده‌ای با ورژن یک خود دارد:
- استفاده از SHA- 256 به جای SHA- 1.
- چسباندن بایت‌هایی که در محاسبه‌ی کلید پیام شرکت دارند.
- کلید پیام که نه تنها به پیام، بلکه به کلید احراز هویت هم وابسته است.
- استفاده از ۱۲ تا ۱۰۲۴ بایت چسبیده به جای ۰ تا ۱۵ بایت در ورژن ۱.

قطعا خواندن این متن گیجتان کرد اما در شکل زیر می‌توانید دقیقا نحوه‌ی کار این پروتکل را متوجه شوید.

در ادامه باید به نکات زیر در مورد این پروتکل بطور خلاصه اشاره کنم :

۱- کلید احراز هویت شما که نقش تعیین‌کننده‌ای روی رمزنگاری دارد یک کلید ۲۰۴۸ بیتی است که توسط تجهیز کاربر و سرور مربوطه به اشتراک گذاشته می‌شود و به ازای هر کاربر مستقیما روی تجهیز کاربر توسط مبادله‌ی کلیدهای دیفی-هلمن ایجاد می‌گردد و هرگز روی شبکه ارسال نمی‌شود. پس این کلید اهراز هویت مختص هر کاربر است.
۲- یک کلید سرور ۲۰۴۸ بیتی RSA که توسط سرور استفاده می‌شود تا پیام‌هایش را در حین ثبت و تولید کلید احراز هویت امضا کند. اپلیکیشن تلگرام به طور خاص، یک کلید سرور ساخته شده دارد که می‌تواند جهت تائید امضا استفاده شود ولی نمی‌تواند پیام‌ها را امضا کند. کلید سرور روی سرور ذخیره می‌شود و دائما تغییر داده می‌شود.
۳- سرور می‌تواند وضعیت session را نگه دارد. تحت هیچ شرایطی یک پیام از یک session به sessionهای دیگر ارسال نمی‌شود.
۴- با روش‌های مختلفی از سرور سالت گرفته تا msg_id از حملات reply جلوگیری شده است. برای نمونه ۳۲ بیت پایینی msg_id که توسط کاربر ارسال می‌شود نباید خالی باشد و باید بخشی از زمانی که پیام تولید شده است را ارائه نماید.

#ناظمی
نسخه ی دوم SNMP برای رفع برخی ضعف های امنیتی و نگرانی ها بوجود اومد.
بطور مثال در SNMP V1 شمارنده ی متغییر (Variable Counters) یکم معنی کردنشون سخته :) 32 بیتی بود که در SNMP V2 به 64 بیت تغییر کرد.
علاوه بر این SNMP V2 یک Request یعنی Bulk Request را نیز عرضه میکند که در SNMP V1 وجود نداشت و با استفاده از آن میتوان متغییر های MIB را با یک Request مجزا در یک فرم بزرگ بازیابی کرد. همچنین Event های ارسال شده از یک SNMP Agent میتواند به شکل SNMP Trap و یا Inform Request اطلاع رسانی شوند.(توجه داشته باشید که Inform Request نیاز به Ack از سمته SNMP Manager دارد که تایید کند پیام دریافت شده)
نکته : در SNMP V2 هیچ یک از مشکلات امنیتی در SNMP V1 رفع نشده است. همچنین پیاده سازی های دیگری از SNMP V2 وجود داشت که با SNMP V2C ناسزگار بودند که این دو مانع از گسترش این ورژن و دلیلی برای عرضه ی ورژن جدید تر شدند.

SNMP Version 3 :

اخرین ورژن SNMP که در حال حاضر از آن استفاده میشود SNMP V3 می باشد.
در این ورژن تمامی مشکلات امنیتی که در ورژن های قبل موجود بود را رفع شده است.
ورژن 3 SNMP میتواند با استفاده از Username (نام کاربری) SNMP Manager هارا Authenticate (تایید) کند.
هنگامی که بر روی SNMP Agent ها Username کانفیگ شود میتوان آنهارا در گروه های SNMP V3 سازماندهی کرد.
همچنین دسترسی به اطلاعات هر MIB را میتوان بر اساس هر گروه کنترل کرد.میتوان تایید کرد که کدام مقدار های MIB از Tree را میتوان خواند یا نوشت.
هر گروه SNMPv3 با یک سطح امنیتی تعریف شده است که از میزان مشخصی از داده های SNMP محافظت می کند.
پکت های داده ها میتوانند Authenticate شوند برای حفظ یکپارچگی و همچنین میتوانند Encrypt شوند برای رمزگذاری داده ها و یا هردوی آنها.
ممکن است در دیدن نام آنها گیج شوید در طرح نام گذاری Auth همان Authentication و Priv همان Encryption می باشد.
حال نگاهی به این سطح های امنیتی بی اندازیم :
noAuthNoPriv :
پکت های SNMP نه Authenticate و نه Encrypt میشوند.
AuthNoPriv :
پکت های SNMP احراز هویت Authenticate میشوند اما Encrypt نمیشوند.
AuthPriv :
پکت های SNMP هم Authenticate و هم Encrypt میشوند.
به عنوان Best Practice باید از SNMP V3 برای استفاده از ویژگی های امنیتی استفاده شود.

خب دوستان این هم یک بررسی اجمالی در رابطه با پروتکل SNMP امیدوارم مفید بوده باشه.
#SNMP
OSI MODEL
VPN Connection Concept
یکی از ساده ترین روش های تشخیص یک سیستم عامل (بدون استفاده از نرم افزارهای Scanner) استفاده از دستور ping و توجه به مقدار عددی TTL آن است. برای مثال اگر TTL=128 بود سیستم عامل ویندوز، اگر TTL=64 بود سیستم عامل مورد نظر یکی از توزیع های لینوکس و اگر TTL=254 بود سیستم عامل هدف سیستم عامل IOS بر روی یکی از تجهیزات شرکت سیسکو می باشد. جدول فوق مقدار TTL را برای تشخیص انواع سیستم عامل ها نشان می دهد.
covid 19
شرکت Infinera و Corning Inc اعلام کردن که به سرعت ۸۰۰ گیگابیت بر ثانیه روی یک طول موج با استفاده از فناوری نسل ششم ICE یا Infinite Capacity Engin روی ۸۰۰ کیلومتر از فیبر نوری کورنینگ TXF رسیدن.

منبع