Loading…

جزیره امنیت اطلاعات و ارتباطات

امتیازات این مطلب
نکته: کدگذاری اطلاعات با public key به زبان بسیار ساده به همراه مثال آموزشی
ببینید بزارید ساده شروع کنیم دو نفر هستن علی و فرهاد که میخان با هم اطلاعاتی را مبادله کنن ولی بطوریکه وسط در حین ارسال اطلاعات اگر هم کسی به این اطلاعات دسترسی پیدا کرد نتونه ازش چیزی سردربیاره در کل ما دو متد برای این کار داریم یکی symmetric هستش که در این حالت همون طور که در شکل زیر می بینید علی و فرهاد هر دو یک کلید واحد دارن علی اطلاعات رو با کلیدی که پیشش هست کدگذاری میکنه و ارسال میکنه فرهاد وقتی اطلاعات رو میگیره اونم با همان کلیدی که خودش داره رمز اطلاعات رو باز میکنه و به اطلاعات دسترسی پیدا میکنه خوب شاید در وهله اول این روش خوب به نظر برسه ولی از لحاظ امنیتی خوب نیست چون اگر این کلید به دست هر کس دیگه ای هم بیافته میتونه اطلاعات رو رمزگشایی کنه خوب راه کار چیه ؟
Image


راهکار اینه که یه روشی بکار گرفته بشه که اگر حتی کلید رمزکننده به دست کسی بیافته باز نتونه اطلاعات رو رمزگشایی کنه حالا میگید خوب این چطور میتونه اتفاق بیافته با کدگذاری asymmetricیا همان public key encryption در این حالت فرهاد یک کلید خصوصی private key تولید میکنه که همیشه پیش خودش نگه میداره بعد از همین کلید خصوصی یه کلید عمومی یا Public key تولید میکنه و به علی میده تا هر وقت علی خواست اطلاعاتی رو برای فرهاد بفرسته توسط کلید عمومی کدگذاری و ارسال کنه , حتی اگر کسی به اطلاعات رمز شده دسترسی پیدا کنه و حتی کلید عمومی که دست علی هست رو هم داشته باشه تا کلید خصوصی فرهاد نباشه اطلاعات رمزگشایی نمیشن .
Image


خوب امیدوارم تا اینجا همه چیز شفاف بوده باشه حالا برای مثال هم که شده برای درک بهتر میریم سراغ مثال عملی تو این مثال ها ما از openssl برای این موضوع استفاده خواهیم کرد قبل از همه چیز باید کلید خصوصی ایجاد کنیم .
ایجاد کلید خصوصی
$ openssl genrsa -out private.pem 1024

سپس از طریق کلید ایجاد شده خصوصی کلید عمومی را باید تولید کنیم
$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout

خوب حالا از طریق کلید عمومی یک فایلی را کدگذاری میکنیم در این دستور در بخش خروجی file.ssl فایل کدگذاری خروجی هست که شما کدگذاری نموده اید
$ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl

خوب فایل رمز شده رو با دستور زیر و با کلید خصوصی رمزگشایی میکنیم
$ openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt

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


نویسنده : علی قلعه بان , دانشجوی دکتری ,محقق ومتخصص فناوری اطلاعات
دیدگاه ها
سلام ، ممنون از مقاله مفیدتون.
ابهامی که برام پیش اومد اینه که اگه هکر وسط راه کلید عمومی رو بدست بیاره کلید خصوصی رو میتونه شبیه سازی کنه و در نتیجه اطلاعات رو بخونه دیگه؟
  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
سلام بله شدنش میشه ولی باید دقت کرد زمانی که کلید رو میسازیم از الگوریتم های قوی تری استفاده کنیم تا شکستنش هم سخت باشه بعدش هم به طور مثال برای شکستن یه کلید 512 بایتی اگر بخاهیم تجهیزات خیلی قوی دولتی داشته باشیم ماهها طول میکشه تا شکسته بشه حالا شما اگر روش های پیچیده تر استفاده کنید این عمل سخت تر خواهد شد .
  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
سلام
ممنون از مطلب خوبتون!
دو تا سوال داشتم!
۱- مدل asymmetric برای هر ارتباط باید یک کلید پابلیک و یک کلید پرایویت تولید بشه؟؟ تعداد کلیدها زیاد نمیشه؟؟
۲- باز هم تو این مدل انتقال کلید پرایویت مهمه! چطور این کلید به صورت امن جا به جا میشه؟؟
  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
سلام ممنون از توجه شما
1-در اصل یک کلید پرایوت ایجاد میشه و کلید پابلیک از درون پرایوت ساخته میشه در کل دو تا میشه وبرای حفظ امنیت و اعمال پروتکل وجود دو کلید الزامی هستش و ناگزیر .
2-کلید پرایوت جایی منتقل نمیشه کسی که دریافت کننده پیام هست کلید پرایوت رو میسازه بعد ازش پابلیک میسازه پابلیک رو میفرسته برای ارسال کننده پیام و هر موقع از طرف ارسال کننده پیامی اومد با کلید پرایوت خودش پیام رو باز میکنه
  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
ممنون از پاسختون!
از توضیح قسمت دوم اینطوری میشه گفت که در واقع ما یه گاو صندوق در باز داریم که کلیدش دست ماست! این گاو صندوق رو میفرستیم برای طرف مقابل پیام رو میذاره داخلش درشو میبنده و برای ما برمیگردونه! کلید گاوصندوق یدونست که فقط دست ماست! ما فقط میتونیم درونشون ببینیم!

در واقع در یک ارتباط ۴ کلید وجود داره! هر طرف کلید پابلیک و پرایویت خودش رو داره!

  • ارسال توسط:
  • زمان ارسال: 10 ماه قبل
سلام ممنون تقریبا بله چون بعد اینکه طرف در گاوصندوق رو ببنده دیگه خودش هم نمیتونه بازش کنه , 2 تا کلید بیشتر نیست پرایوت و پابلیک که پرایوت پیش گیرنده هستش پابلیک رو هم میدیم به فرستنده پابلیک میتونه دست خیلی ها باشه ولی هیچ کدوم تفاوتی با هم ندارن همشون یکی هستن یعنی تکثر ایجاد میشه ولی تنوع نه
برای ارسال نظر وارد شوید.

در حال به روز رسانی نرم افزار سایت، از شکیبایی شما ممنونیم