PDA

View Full Version : سوال: ssl چگونه کار میکند



jafar2012
یک شنبه 20 فروردین 1396, 01:00 صبح
سلام
اقا من درباره اس اس ال و چگونگی امن کردن داده ها خوندم
ولی کلا یک مقاله فارسی بدرد خورم گیر‌اوردم، اونم نوشته بود چنتا کلید میگیره و میفرسته

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

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

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

joker
یک شنبه 20 فروردین 1396, 11:40 صبح
مستندات پروتکل رمزنگاری RSA (https://en.wikipedia.org/wiki/RSA_(cryptosystem)) را بخونید تا کلیات روش کار را ببینید

فارسی هم خواستین توی کتاب " مهندسی اینترنت " مهندس ملکیان هم یک فصلش در همین مورد هست

golbafan
یک شنبه 20 فروردین 1396, 15:33 عصر
سعی کنید منابع انگلیسی رو مطالعه کنید

golbafan
یک شنبه 20 فروردین 1396, 15:43 عصر
چطور مطمعن باشیم کلید لو نمیره و کسی نمیتونه کلید رو کشف کنه، و داده ها رمزیابی نمیشن

یکی از لایه های ارتباطات اینترنتی لایه انتقال یا transport هست. امنیت کلید اینجا با روش های مختلف مثلا دیفی-هلمن تضمین میشه.
خود فایل ها و داده ها رو معمولا با الگوریتم های متقارن و کلیدها رو با الگوریتمهای نامتقارن رمز میکنن
از روشهای اعتبارسنجی پیام و دیتای رد و بدل شده (certification/authentication) نیز برای تضمین صحت اطلاعات و عدم حضور شخص سوم استفاده میشه.
کلید معمولا در هر کانکشن بطور مستقل تولید میشه و همه کلیدها باهم متفاوت هستند.

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

jafar2012
پنج شنبه 24 فروردین 1396, 10:06 صبح
میخام با جاوااسکریپت و پی اچ پی این ساختارو پیداکنم
چنتا کتابخونه دیدم ولی فقط رمز نگاری میکردن برای توضیع کلید کاری نمیکردن از روشی استفاده نمیکردن مقل همین دیفی-هلمن که فرمودین

این رو که فرمودین
از روشهای اعتبارسنجی پیام و دیتای رد و بدل شده (certification/authentication) نیز برای تضمین صحت اطلاعات و عدم حضور شخص سوم استفاده میشه.
چیزی دربارش نمیدونم یکم بیشتر میتونید توضیح بدین - من فقط میدونم میتونه شخصی بیاد این وسط ببینه ولی چطور کار میکنه

jafar2012
پنج شنبه 24 فروردین 1396, 10:09 صبح
دوستان برای پی اچ پی و جاوا اسکریپت میخام این رو پیاده سازی کنم
کتابخونه یا کتابخانه هایی میشناسید ک بتونم از تلفیقشون بتونه این کارو انجام بده

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

golbafan
پنج شنبه 24 فروردین 1396, 12:58 عصر
کتابخانه ++Crypto به زبان c++ نوشته شده و کاملترین هست
میتونید براحتی تبدیلش کنید

در ضمن در سایت مربوطه میتونید چیزهای زیادی در مورد رمزنگاری و انتقال امن دیتا یاد بگیرید
https://www.cryptopp.com/

golbafan
پنج شنبه 24 فروردین 1396, 13:01 عصر
این هم نمونه کد php برای دیفی-هلمن

https://www.example-code.com/phpext/dh_key_exchange.asp

golbafan
پنج شنبه 24 فروردین 1396, 13:02 عصر
این هم یک کتابخانه خوب و کامل برای php مبحث انتقال کلید هم داره
https://github.com/jedisct1/libsodium

اینجا هم راهنماش هست:
https://download.libsodium.org/doc/

jafar2012
پنج شنبه 24 فروردین 1396, 19:42 عصر
این هم نمونه کد php برای دیفی-هلمن

https://www.example-code.com/phpext/dh_key_exchange.asp
اینجا یک کلاس داشت یک کتابخونه هست یا فقط برای مثال هاش ساختش؟

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