سطح بندی مطلب:
مقدماتی
رمز نگاری چیست و چگونه کار می کند؟ - LOGECT Publisher
آنچه در این مقاله مورد بررسی قرار می گیرد:
1-مقدمه ای بر نحوه عمل رمزگذاری
2-سیستم های رمزگذاری امنیتی
3-کلید متقارن
4-رمز نگاری کلید عمومی
‏5- SSL و TLS
6- الگوریتم آمیزش

1-مقدمه ای بر نحوه عمل رمزگذاری
هنگامی که ما از اینترنت استفاده می کنیم، آنطور که ظاهرا به نظر می رسد فقط با کلیک کردن روی لینک هاو دریافت منفعل اطلاعات مانند خواندن اخبار یا ارسال پست های وبلاگ خود در وب مرور نمی کنیم، بلکه مقدار زیادی از زمان ما حضور شامل ارسال اطلاعات خود ما به دیگران است. سفارش خرید چیزی از فروشندگان آنلاین در اینترنت، صرف نظر از اینکه کالای درخواستی کتاب ، سی دی یا هر چیز دیگری باشد و یا ثبت نام برای حساب آنلاین، نیاز به وارد کردن اطلاعات حساس شخصی ما دارد. یک معامله معمولی ممکن است نه تنها شامل پرسش برای دریافت نام و نام خانوادگی ما ، آدرس ایمیل و آدرس و شماره تلفن های محل سکونت ما باشد، بلکه نیاز به وارد کردن کلمه های عبور و شماره شناسایی شخصی (PINs) باشد.

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

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

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

در این سلسله مقالات، در مورد رمزنگاری و تصدیق هویت مطالبی خواهید آموخت. شما در مورد سیستم های کلید عمومی و کلید متقارن و همچنین الگوریتم های آمیزشی (hash algorithms) می آموزید.

2-سیستم های رمزگذاری امنیتی
رمزگذاری های کامپیوتری بر مبنای علم رمزنگاری یا cryptography است که قدمتش به زمانی بر می گردد که برای اولین بار انسان ها سعی در حفظ اطلاعات محرمانه خود نمودند. قبل از عصر دیجیتال، بزرگترین کاربران رمزنگاری دولت ها و موسسات سری بودند، به ویژه برای مقاصد نظامی.


رمز نگاری چیست و چگونه کار می کند؟ - LOGECT Publisher

سند رمزگذاری شده ای همراه با مجموعه ای از محصولات رمزگذاری متداول واقع در دفتر اف بی آی در واشنگتن دی سی

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

یونانیان همچنین اولین تمدنی بودند که به استفاده از حروف یا اعداد رمزی (ciphers) روی آوردند، این حروف کدهای خاصی بودند که شامل جایگزینی یا جابجا شدگی حروف و اعداد بودند. در اینجا مثالی فرضی از حروف و اعداد رمزی متدوال آن زمان ، با شبکه از حروف و اعداد مربوط به آنها آمده:

اگر یک ژنرال اسپارتی می خواست پیامی با مضمون: «من یک اسپارتی هستم» را به ژنرال دیگر ارسال کند، این جمله به صورت رمزی مجموعه ای از اعداد پشت سر هم می شد.

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

امروزه، بیشترین اشکال رمزنگاری مورد استفاده در جهان بر کامپیوترها متکی است، به این دلیل که رمز گشایی یا لو رفتن کد های ساخته بشر برای کامپیوترها خیلی آسان است. حروف رمزی یا Ciphers نیز امروزه به عنوان الگوریتم شناخته می شوند، که راهنمایی برای رمزگذاری اند؛ آنها روشی ارائه می کنند که در آن به سادگی می توان یک پیام ایجاد کرده و آن را در محدوده خاصی از ترکیبات ممکن رمزنگاری نمود. از سوی دیگر ، «کلید رمزگشایی» به کامپیوتر یا شخص کمک می کند تا بتوانند ترکیب درست را از میان تمام ترکیبات ممکن پیدا کرده و پیام رمز گشایی شود.

به طور کلی سیستم های رمزنگاری رایانه ای به یکی از دو دسته زیر تعلق دارند :
• رمز نویسی کلید متقارن یا Symmetric-key encryption
• رمز نویسی کلید عمومی یا Public-key encryption

در بخش های بعدی، هر یک از این سیستم ها شرح داده می شوند.

3-کلید متقارن
درست مانند دو ژنرال اسپارتی که به یکدیگر پیام ارسال می کردند، کامپیوترهایی هم که از شیوه رمزنگاری کلید متقارن (هم اندازه) برای ارسال اطلاعات میان یکدیگر استفاده می کنند باید کلیدی یکسان و مشابه داشته باشند.
در روش رمزنگاری با کلید متقارن، هر کامپیوتر دارای یک کلید رمز (کد) است که می تواند از آن برای رمزی کردن بسته (packet) از اطلاعات قبل از اینکه توسط شبکه به کامپیوتر دیگر ارسال کند استفاده کند. کلید متقارن مستلزم آن است که شما دقیقا بدانید کامپیوتر مبدا و مقصد در شبکه کدام ها هستند تا قادر باشید بر روی هر دو کلید مشابه را نصب کنید. رمز نویسی با کلید متقارن در اصل همان کد های مخفی هستند که هر یک از 2 کامپیوتر باید بدانند تا بتواننند اطلاعات دریافتی را رمزگشایی نمایند. کدها در اصل کلیدی برای رمزگشایی از پیام را فراهم می کنند.

• یادداشت تاریخی: رمز ژولیوس سزار
ژولیوس سزار سردار و امپراطور روم باستان نیز از روش جایگزینی مشابهی در نامه های سری خود استفاده می کرد، با قانون: «هر حرف پیام اصلی در پیام رمزی با 3 حرف بعدش در ترتیب حروف الفبا جایگزین شده» (مثلا C با F ). به عنوان مثال اگر او می خواست دستور دهد: CROSSING THE RUBICON (عبور از خط مرزی) پیام رمزی به این شکل در می آمد: FURVV LQJWK HUXEL همانطور که می بینید، علاوه بر رمزنگاری دستور متن دستور نیز خلاصه شده و حتی شکسته تا به کم شدن اندازه هر کلمه پیام اصلی کمتر آشکار باشد.

به این روش به طور ساده اینگونه می توان نگاه کرد: شما (رایانه مبدا) پیام رمزی برای ارسال به یک دوست (رایانه مقصد) نوشته ایدکه در آن هر حرف پیام اصلی با 2حرف بعدش در ترتیب الفبا عوض شده. پس حرف A می شود C و B می شود D. شما قبلا قانون رمزنگاری(کلید) را به دوست مورد اعتماد خود اطلاع داده اید که کد هست: «دو حرف به جلو». دوست شما پس از دریافت پیام قادر به رمزگشائی پیام است. اما هر کس دیگری که پیام رمزی را می بیند فقط پیامی بی معنا را ملاحظه می کند.

همان مورد بالا برای رایانه ها هم صادق است، اما البته ، کلیدها معمولا خیلی طولانی ترند. اولین الگوریتم عمده متقارن که در ایالات متحده برای رایانه ها توسعه یافت استاندارد رمزگذاری داده ها (DES) بود که در دهه 1970 مورد استفاده قرار گرفت. DES از کلید 56 بیتی استفاده می نمود.

از آنجا که با گذشت زمان کامپیوتر ها به طور فزایندهای سریعتر از رایانه های دهه70 شدند، کارشناسان امنیتی دیگر استاندارد DES را برای مصارف رمزنگاری رایانه ای امن ندانستند- هر چند که یک کلید 56 بیتی می توانست بیش از 70 کادریلیون (میلیون میلیارد)ترکیب احتمالی ارائه دهد (70,000,000,000,000,000)، اما حملات آزمایش و خطا یا brute force (به معنای حملاتی که به سادگی تلاش می کند هر ترکیب ممکن را در جهت پیدا کردن کلید درست امتحان کند) به آسانی می توانست از داده ها در مدت کوتاهی رمزگشایی کند. از آن زمان به بعد بود که DES جای خود را به استاندارد رمزگذاری پیشرفته (AES) داد، که از کلیدهای 128 ، 192 یا 256 بیتی استفاده می کرد. اکثر مردم بر این باورند که AES برای مدت طولانی استانداردی امن برای رمزگذاری باقی می ماند: مثلا یک کلید 128 بیتی می تواند بیش از 300.000.000.000.000.000.000.000.000.000.000.000 ترکیب ممکن از کلیدهای احتمالی را ایجاد کند )منبع: CES Communications (

4-رمز نگاری با کلید عمومی
یکی از نقاط ضعف در شیوه رمزنگاری با کلید متقارن آن است که 2 کاربر فرستنده و گیرنده که در ارتبط با یکدیگرند پیش از هر چیز نیاز به بستر امنی برای انجام این کار دارند، در غیر اینصورت، مهاجم به راحتی می تواند اطلاعات لازم را از جریان تبادل داده گلچین کرده و بدست آورد. در ماه نوامبر سال 1976، مقاله ای در مجله IEEE Transactions در زمینه تئوری اطلاعات منتشر شد ، تحت عنوان «دستورالعمل های جدیدی در رمزنگاری» (New Directions in Cryptography)، و این مشکل در مورد شیوه متقارت در ان مطرح شد و راه حل برای آن ارائه شد به نام : «رمز نگاری باکلید عمومی»

این روش که به نام رمزنگاری با کلید نامتقارن (asymmetric-key) نیز شناخته می شود، از دو کلید مختلف به طور همزمان بهره می برد، به عبارت دیگر ترکیبی است از یک کلید خصوصی و یک کلید عمومی. کلید خصوصی تنها برای کامپیوتر شما (مبدا) شناخته شده است، در حالی که کلید عمومی توسط کامپیوتر شما را به هر کامپیوتری که میخواهد ارتباطی امن با آن برقرار کند اعطا می شود و برای رایانه های مقصد شناخته شده است. برای رمزگشایی پیام رمز شده، کامپیوتر مقصد باید کلید عمومی را که توسط کامپیوتر مبداء ارائه می شود داشته باشد و کلید خصوصی ای که خود استفاده می کند. هر چند پیام ارسال شده از یک کامپیوتر به دیگری در نگاه اول امن نخواهد بود زیرا کلید عمومی مورد استفاده برای رمزگذاری منتشر شده و در دسترس هر کسی می باشد، اما هر کسی که آن را در اختیار دارد نمی توانید آن را بدون کلید خصوصی بخواند. جفت کلید ها بر اساس اعداد اول طویل اند (عدد اول عددی است که تنها مقسوم علیه های آن خودش و عدد 1 می باشد، مانند 2 ، 3 ، 5 ، 7 ، 11 و غیره). این امر سیستم را بسیار امن می کند، چون اساسا بینهایت عدد اول در دسترس وجود دارد، به این معنی که تقریبا بینهایت ترکیب ممکن برای کلیدها وجود دارد. یکی از برنامه های رمزنگاری با کلید عمومی بسیار محبوب Pretty Good Privacy (PGP) است، که اجازه می دهد تا شما تقریبا هر چیزی را به رمز درآورید.

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

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

‏5- SSL و TLS
پیاده سازی متداولی که برای رمزنگاری کلید عمومی مورد استفاده قرار می گیرد سوکت لایه ای ایمن (Secure Sockets Layer) نام دارد. این فنآوری اصلا توسط نت اسکیپ توسعه یافته است. اس اس ال یک پروتکل امنیتی اینترنت مورد استفاده توسط مرورگرهای اینترنتی و سرویس دهنده های وب برای ارسال اطلاعات حساس است. SSL امروزه به بخشی از پروتکل های کلی امنیتی به نام لایه امنیتی حمل و نقل اطلاعات یا Transport Layer Security (TLS) تبدیل شده است.

رمز نگاری چیست و چگونه کار می کند؟ - LOGECT Publisher


آیا تاکنون به حرف s به دنبال عبارت "http" هر زمان که وارد آدرسی شدید که نیازمند به جمع آوری اطلاعات حساس شما مانند شماره کارت های اعتباری ، درفرم وب سایت داشته اند دقت کرده اید؟

در مرورگر رایانه شما، از دو راه متفاوت می توانید بفهمید چه هنگامی از یک پروتکل ایمن ، مانند TLS استفاده می کنید. یکی زمانی که متوجه شوید که عبارت http در نوار آدرس با https جایگزین شده و دیگر، یک علامت قفل کوچک را در نوار وضعیت در پایین پنجره مرورگر را می بینید. هنگامی که شما قصد دسترسی به اطلاعات حساس خود، مانند حساب بانکی آنلاین و یا سرویس انتقال وجه مانند PayPal یا پرداخت گوگل (Google Checkout) دارید، احتمال این وجود دارد با این نوع تغییر فرمت مواجه شده و می فهمید که اطلاعات شما به احتمال زیاد همراه با تدابیر امنیتی بالا رد و بدل می شود.

‏TLS و خود SSL استفاده قابل توجهی از گواهی نامه ها می کنند. پس از آنکه مرورگر رایانه شما درخواست بارگذاری یک صفحه امن کرد و s را به عبارت "http" افزود، مرورگر کلید عمومی و گواهی را می فرستد و 3 چیز را چک می کند: 1) گواهی از جانب بخش قابل اعتمادی می آید 2) گواهی در حال حاضر معتبر است و 3) که گواهی ارتباطی با سایتی که از آن می آید دارد یا نه.

رمز نگاری چیست و چگونه کار می کند؟ - LOGECT Publisher

نماد قفل اجازه می دهد بدانید که از رمزنگاری استفاده می کنید.

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

6- الگوریتم آمیزش(Hashing Algorithm)
کلید مورد استفاده در رمزنگاری کلید عمومی بر مبنای مقدار آمیزشی (hash value) است. این مقدار، ارزشی است که از محاسبه تعداد پایه های ورودی با استفاده از الگوریتم آمیزشی (hashing algorithm) بدست می آید. اصولا ، ارزش آمیزشی خلاصه ای از مقدار اولیه می باشد. نکته مهم در مورد مقدار آمیزشی این است که تقریبا استنتاج عدد ورودی اصلی بدون دانستن داده های مورد استفاده برای ایجاد ارزش آمیزشی غیر ممکن است. در اینجا یک مثال ساده :

می توانید بفهمید که بدست آوردن مقدار 1,525,381 که از ضرب اعداد 10,667 در 143بدست آمده چه قدر سخت است. اما اگر بدانید که یکی از عوامل ضرب عدد 143 بوده (مثلا هر عددی قرار است 143 برابر شود) ، سپس محاسبه مقدار 10667 بسیار آسان خواهد بود. رمز نویسی کلید عمومی در واقع بسیار پیچیده تر از این مثال است ، اما از همین این ایده بهره می گیرد.

به طور کلی کلید های عمومی از الگوریتم های پیچیده و اعداد آمیزشی بسیار بزرگ برای رمزنگاری استفاده می کنند، از جمله اعداد 40 بیت و یا حتی 128 بیتی. عدد 128 بیتی دارای 2128 یا ،
3,402,823,669,209,384,634,633,746,074,300,000,000,000,000,000,000,000,000,000,000,000,000
ترکیب ممکن و مختلف دارد- تلاش برای پیدا کردن این ترکیب درست مانند پیدا کردن یک دانه خاص شن و ماسه در صحرای بزرگ آفریقا می باشد.


رمز نگاری چیست و چگونه کار می کند؟ - LOGECT Publisher

Read more (locally) ...


Partner : Negahbaan

--------------------------------------------------

LOGECT Publisher Network™ (beta) is a Service that allows others to publish their syndicated content by RSS Feeds.

Similar Threads: