PDA

View Full Version : سوال: تفاوت رمزنگاری با امضای دیجیتال



niloofar norouzi
چهارشنبه 13 آذر 1387, 12:26 عصر
تفاوت رمزنگاری و امضای دیجیتال در چیست؟
این کلید عمومی و خصوصی که در این دو موضوع مطرح می شه چی هستند؟
آیا نام کاربری ما کلید عمومیه و رمز عبور ما کلید خصوصیه؟
اگر این گونه نیست ، پس نام کاربری و رمز عبور جزو چه دسته ای محسوب می شن؟
آیا ما می تونیم از امضای دیجتال استفاده کنیم؟
آیا تا به حال امضای دیجیتال رو دیدید؟
با تشکر

kiosksoft
چهارشنبه 13 آذر 1387, 12:33 عصر
این مقاله میتونه کمک کنه :
<br />

رمزنگاری اطلاعات گسترش و رشد بي سابقه اينترنت باعث ايجاد تغييرات گسترده در نحوه زندگی و فعاليت شغلی افراد ، سازمانها و موسسات شده است . امنيت اطلاعات يکی از مسائل مشترک شخصيت های حقوقی و حقيقی است . کاربران اينترنت در زمان استفاده از شبکه (http://www.semeng.net/information/HowNetwork.asp)، اطلاعات حساس و مهمی را بدفعات ارسال و يا دريافت می دارند. اطمينان از عدم دستيابی افراد غير مجاز به اطلاعات حساس از مهمترين چالش های امنيتی در رابطه با توزيع اطلاعات در اينترنت است . اطلاعات حساس که ما تمايلی به مشاهده آنان توسط ديگران نداريم ، موارد متعددی را شامل می شود. برخی از اينگونه اطلاعات بشرح زير می باشند :

<LI dir=rtl>اطلاعات کارت اعتباری
<LI dir=rtl>شماره های عضويت در انحمن ها
<LI dir=rtl>اطلاعات خصوصی
<LI dir=rtl>جزئيات اطلاعات شخصی
<LI dir=rtl>اطلاعات حساس در يک سازمان
اطلاعات مربوط به حساب های بانکی
تاکنون برای امنيت اطلاعات بر روی کامپيوتر و يا اينترنت از روش های متعددی استفاده شده است . ساده ترين روش حفاظت از اطلاعات نگهداری اطلاعات حساس بر روی محيط های ذخيره سازی قابل انتقال نظير فلاپی ديسک ها است . متداولترين روش حفاظت اطلاعات ، رمز نمودن آنها است . دستيابی به اطلاعات رمز شده برای افراد غير مجاز امکان پذير نبوده و صرفا" افراديکه دارای کليد رمز می باشند ، قادر به باز نمودن رمز و استفاده از اطلاعات می باشند.
رمز نمودن اطلاعات کامپيوتر مبتنی بر علوم رمز نگاری است .استفاده از علم رمز نگاری دارای يک سابقه طولانی و تاريخی است . قبل از عصر اطلاعات ، بيشترين کاربران رمزنگاری اطلاعات ، دولت ها و مخصوصا" در موارد نظامی بوده است . سابقه رمز نمودن اطلاعات به دوران امپراطوری روم بر می گردد. امروزه اغلب روش ها و مدل های رمزنگاری اطلاعات در رابطه با کامپيوتر بخدمت گرفته می شود. کشف و تشخيص اطلاعاتی که بصورت معمولی در کامپيوتر ذخيره و فاقد هر گونه روش علمی رمزنگاری باشند ، براحتی و بدون نياز به تخصصی خاص انجام خواهد يافت .

اکثر سيستم های رمزنگاری اطلاعات در کامپيوتر به دو گروه عمده زير تقسيم می گردند :

<LI dir=rtl>رمزنگاری کليد - متقارن
رمزنگاری کليد - عمومی
رمز نگاری کليد - متقارن
در روش فوق ، هر کامپيوتر دارای يک کليد رمز ( کد ) بوده که از آن برای رمزنگاری يک بسته اطلاعاتی قبل از ارسال اطلاعات بر روی شبکه و يا کامپيوتر ديگر ، استفاده می نمايد. دراين روش لازم است در ابتدا مشخص گردد که کداميک از کامپيوترها قصد مبادله اطلاعاتی با يکديگر را دارند ، پس از مشخص شدن هر يک از کامپيوترها، در ادامه کليد رمز بر روی هر يک از سيستم ها می بايست نصب گردد. اطلاعات ارسالی توسط کامپيوترهای فرستنده با استفاده از کليد رمز ، رمز نگاری شده وسپس اطلاعات رمز شده ارسال خواهند شد. پس از دريافت اطلاعات رمز شده توسط کامپيوترهای گيرنده ، با استفاده از کليد رمز اقدام به بازگشائی رمز و برگرداندن اطلاعات بصورت اوليه و قابل استفاده خواهد شد . مثلا" فرض کنيد پيامی را برای يکی از دوستان خود رمز و سپس ارسال می نمائيد . شما برای رمز نگاری اطلاعات از روشی استفاده نموده ايد که بر اساس آن هر يک از حروف موجود در متن پيام را به دو حرف بعد از خود تبديل کرده ايد. مثلا" حروف A موجود در متن پيام به حروف C و حروف B به حروف D تبديل می گردند. پس از ارسال پيام رمز شده برای دوست خود ، می بايست با استفاده از يک روش ايمن و مطمئن کليد رمز را نيز برای وی مشخص کرد. در صورتيکه گيرنده پيام دارای کليد رمز مناسب نباشد ، قادر به رمز گشائی و استفاده از اطلاعات نخواهد بود. در چنين حالتی می بايست به دوست خود متذکر گرديد که کليد رمز ، " شيفت دادن هر حرف بسمت جلو و به اندازه دو واحد است " . گيرنده پيام با انجام عمليات معکوس قادر به شکستن رمز و استفاده از اطلاعات خواهد بود.
رمزنگاری کليد - عمومی
در روش فوق از ترکيب يک کليد خصوصی و يک کليد عمومی استفاده می شود. کليد خصوصی صرفا" متعلق به کامپيوتر فرستنده بوده و کليد عمومی توسط کامپيوتر فرستنده در اختيار هر يک از کامپيوترهائی که قصد برقراری ارتباط با يکديگر را دارند ، گذاشته می شود. برای رمزگشائی يک پيام رمز شده ، کامپيوتر می بايست از کليد عمومی که توسط فرستنده ارائه شده، بهمراه کليد خصوص ی خود استفاده نمايد. يکی از متداولترين برنامه های رمزنگاری در اين رابطه PGP)Pretty Good Privacy) است . با استفاده از PGP می توان هر چيز دلخواه را رمز نمود.
بمنظور پياده سازی رمزنگاری کليد - عمومی در مقياس بالا نظير يک سرويس دهنده وب (http://www.semeng.net/information/HowWebServer.asp) ، لازم است از رويکردهای ديگری در اين خصوص استفاده گردد. " امضای ديجيتال " يکی از رويکردهای موجود در اين زمينه است يک امضای ديجيتالی صرفا" شامل اطلاعات محدودی بوده که اعلام می نمايد ، سرويس دهنده وب با استفاده و بکارگيری يک سرويس مستقل با نام " امضای مجاز " ، امين اطلاعات است . "امضای مجاز " بعنوان يک ميانجی بين دو کامپيوتر ايفای وظيف می نمايد. هويت و مجاز بودن هر يک از کامپيوترها برای برقراری ارتباط توسط سرويس دهنده انجام و برای هر يک کليد عمومی مربوطه را فراهم خواهد کرد.
يکی از متداولترين نمونه های پياده سازی شده از رمزنگاری کليد- عمومی ، روش SSL)Secure Sokets Layer) است . روش فوق در ابتدا توسط "نت اسکيپ " پياده سازی گرديد. SSL يک پروتکل امنيتی اينترنت بوده که توسط مرورگرها و سرويس دهندگان وب بمنظور ارسال اطلاعات حساس ، استفاده می گردد. SSL اخيرا" بعنوان بخشی از پروتکل TLS)Transport Layer Security) در نظر گرفته شده است .
در مرورگر می توان زمان استفاده از يک پروتکل ايمن نظيز TLS را با استفاده از روش های متعدد اعلام کرد. استفاده از پروتکل "https" درعوض پروتکل "http" يکی از روش های موجود است . در چنين مواردی در بخش وضعيت پنجره مرورگر يک "Padlock" نشان داده خواهد شد.

http://www.semeng.net/information/images/Encrypt1.jpg
رمزنگاری کليد - عمومی ، مدت زمان زيادی را صرف انجام محاسبات می نمايد. بنابراين در اکثر سيستمها از ترکيب کليد عمومی و متقارن استفاده می گردد. زمانيکه دو کامپيوتر يک ارتباط ايمن را بايکديگر برقرار می نمايند ، يکی از کامپيوترها يک کليد متقارن را ايجاد و آن را برای کامپيوتر ديگر با استفاده از رمزنگاری کليد - عمومی ، ارسال خواهد کرد. در ادامه دو کامپيوتر قادر به برقرار ارتباط بکمک رمزنگاری کليد متقارن می باشند. پس از اتمام ارتباط ، هر يک از کامپيوترها کليد متقارن استفاده شده را دور انداخته و در صورت نياز به برقراری يک ارتباط مجدد ، می بايست مجددا" فرآيند فوق تکرار گردد ( ايجاد يک کليد متقارن ، ....)
مقدار Hash
رمزنگاری مبتنی بر کليد عمومی بر پايه يک مقدار hash ، استوار است . مقدار فوق ، بر اساس يک مقدار ورودی که دراختيار الگوريتم hashing گذاشته می گردد ، ايجاد می گردد. در حقيقت مقدار hash ، فرم خلاصه شده ای از مقدار اوليه ای خود است . بدون آگاهی از الگوريتم استفاده شده تشخيص عدد ورودی اوليه بعيد بنظر می رسد . مثال زير نمونه ای در اين زمينه را نشان می دهد :


عدد ورودی الگوريتم Hash مقدار 10,667Input # x 1431,525,381

تسخيص اينکه عدد 1.525.381 ( مقدار hash) از ضرب دو عدد 10.667 و 143 بدست آمده است ، کار بسيار مشکلی است . در صورتيکه بدانيم که يکی از اعداد 143 است ، تشخيص عدد دوم کار بسيار ساده ای خواهد بود. ( عدد 10.667) .رمز نگاری مبتنی بر کليد عمومی بمراتب پيچيده تر از مثال فوق می باشند. مثال فوق صرفا" ايده اوليه در اين خصوص را نشان می دهد.
کليدهای عمومی عموما" از الگوريتم های پيچيده و مقادير Hash بسيار بزرگ برای رمزنگاری استفاده می نمايند. در چنين مواردی اغلب از اعداد 40 و يا حتی 128 بيتی استفاده می شود. يک عدد 128 بيتی دارای 128 2 حالت متفاوت است .
آيا شما معتبر هستيد ؟
همانگونه که در ابتدای بخش فوق اشاره گرديد ، رمزنگاری فرآيندی است که بر اساس آن اطلاعات ارسالی از يک کامپيوتر برای کامپيوتر ديگر ، در ابتدا رمز و سپس ارسال خواهند شد. کامپيوتر دوم ( گيرنده ) ، پس از دريافت اطلاعات می بايست ،اقدام به رمزگشائی آنان نمايد. يکی ديگر از فرآيندهای موجود بمنظور تشخيص ارسال اطلاعات توسط يک منبع ايمن و مطمئن ، استفاده از روش معروف " اعتبار سنجی " است . در صورتيکه اطلاعات "معتبر " باشند ، شما نسبت به هويت ايجاد کننده اطلاعات آگاهی داشته و اين اطمينان را بدست خواهيد آورد که اطلاعات از زمان ايجاد تا زمان دريافت توسط شما تغيير پيدا نکرده اند. با ترکيب فرآيندهای رمزنگاری و اعتبار سنجی می توان يک محيط ايمن را ايجاد کرد .
بمنظور بررسی اعتبار يک شخص و يا اطلاعات موجود بر روی يک کامپيوتر از روش های متعددی استفاده می شود :
● رمز عبور . استفاده از نام و رمز عبور برای کاربران ، متداولترين روش "اعتبار سنجی " است . کاربران نام و رمز عبور خود را در زمان مورد نظر وارد و در ادامه اطلاعات وارد شده فوق ، بررسی می گردند. در صورتيکه نام و يا رمز عبور نادرست باشند ، امکان دستيابی به منابع تعريف شده بر روی سيستم به کاربر داده نخواهد شد.
● کارت های عبور . اين نوع کارت ها دارای مدل های متفاوتی می باشند. کارت های دارای لايه مغناطيسی ( مشابه کارت های اعتباری ) و کارت های هوشمند ( دارای يک تراشه کامپيوتر است ) نمونه هائی از کارت های عبور می باشند.
● امضای ديجتالی . امضای ديجيتالی، روشی بمنظور اطمينان از معتبر بودن يک سند الکترونيکی ( نظير: نامه الکترونيکی (http://www.semeng.net/information/HowEmail.asp) ، فايل های متنی و ... ) است . استاندارد امضای ديجيتالی (DSS) ، بر اساس نوع خاصی از رمزنگاری کليد عمومی و استفاده از الگوريتم امضای ديجيتالی (DSA) ايجاد می گردد.الگوريتم فوق شامل يک کليد عمومی ( شناخته شده توسط صاحب اوليه سند الکترونيکی - امضاء کننده ) و يک کليد عمومی است . کليد عمومی دارای چهار بخش است . در صورتيکه هر چيزی پس از درج امضای ديجيتالی به يک سند الکترونيکی ، تغيير يابد ، مقادير مورد نظری که بر اساس آنها امضای ديجيتالی با آن مقايسه خواهد شد ، نيز تغيير خواهند کرد.

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

<LI dir=rtl>پيمايش اثر انگشت ( انگشت نگاری )
<LI dir=rtl>پيمايش شبکيه چشم
<LI dir=rtl>پيمايش صورت
مشخصه صدا
يکی ديگر از مسائل مرتبط با انتقال اطلاعات ، صحت ارسال اطلاعات از زمان ارسال و يا رمزنگاری است . می بايست اين اطمينان بوجود آيد که اطلاعات دريافت شده ، همان اطلاعات ارسالی اوليه بوده و در زمان انتقال با مشکل و خرابی مواجه نشده اند. در اين راستا از روش های متعددی استفاده می گردد :
● Checksum . يکی از قديمی ترين روش های استفاده شده برای اطمينان از صحت ارسال اطلاعات است . Checksum ، به دو صورت متفاوت محاسبه می گردد . فرض کنيد Checksum يک بسته اطلاعاتی دارای طولی به اندازه يک بايت (http://www.semeng.net/information/Bit&Byte.asp) باشد ، يک بايت شامل هشت بيت و هر بيت يکی از دو حالت ممکن ( صفر و يا يک ) را می تواند داشته باشد. در چنين حالتی 256 وضعيت متفاوت می تواند وجود داشته باشد. با توجه به اينکه در اولين وضعيت ، تمام هشت بيت مقدار صفر را دارا خواهند بود ، می تواند حداکثر 255 حالت متفاوت را ارائه نمود.
▪ در صورتيکه مجموع ساير بايت های موجود در بسته اطلاعاتی ، 255 و يا کمتر باشد ، مقدار Checksum شامل اطلاعات واقعی و مورد نظر خواهد بود.
▪ در صورتيکه مجموع ساير بايت های موجود در بسته اطلاعاتی ، بيش از 255 باشد ، Checksum معادل باقيمانده مجموع اعداد بوده مشروط بر اينکه آن را بر 256 تقسيم نمائيم .
مثال زير ، عملکرد CheckSum را نشان می دهد.


Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7Byte 8TotalChecksum2122325413524415179801,151127

1,151 / 256 = 4.496 (round to 4)
4 x 256 = 1,024
1,151 - 1,024 = 127
● Cyclic Redundancy Check)CRC) . روش CRC در مفهوم مشابه روش Checksum است . روش فوق از تقسيم چمد جمله ای برای مشخص کردن مقدار CRC استفاده می کند. طول CRC معمولا" 16 و يا 32 بيت است . صحت عملکرد روش فوق بسيار بالا است . در صورتيکه صرفا" يک بيت نادرست باشد ، CRC با مقدار مورد نظر مطابقت نخواهد کرد.
روش های Checksum و CRC امکانات مناسبی برای پيشگيری از بروز خطای تصادفی درارسال اطلاعات می باشند، روش های فوق در رابطه با حفاظت اطلاعات و ايمن سازی اطلاعات در مقابل عمليات غير مجاز بمنظور دستيابی و استفاده از اطلاعات ، امکانات محدودتری را ارائه می نمايند. رمزنگاری متقارن و کليد عمومی ، امکانات بمراتب مناسب تری در اين زمينه می باشند.


منبع : srco.ir

m.hamidreza
جمعه 15 آذر 1387, 01:25 صبح
تفاوت رمزنگاری و امضای دیجیتال در چیست؟

رمزنگاری یا Cryptography عبارت است از یه الگوی ریاضی/منطقی که بر اساس آن اطلاعات آشکار و قابل فهم برای همگان،طبق روالی برگشت پذیر به اطلاعاتی نامفهوم و گنگ تبدیل میشن.

در دنیای مجازی امروز هر مکانیزمی که بتونه سه نیاز زیر رو در خصوص اسناد و مدارک دیجیتالی برآورده کند، امضای دیجیتالی یا Digital Certificate نامیده میشه:


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

حالا روشهای زیادی برای پیاده سازی امضای دیجیتالی معرفی شده که یکی از اونها امضاهای دیجیتالی مبتی بر سیستم های رمزنگاری هست.



آیا نام کاربری ما کلید عمومیه و رمز عبور ما کلید خصوصیه؟
اگر این گونه نیست ، پس نام کاربری و رمز عبور جزو چه دسته ای محسوب می شن؟

اینا کلا به هم ربطی ندارن.


آیا ما می تونیم از امضای دیجتال استفاده کنیم؟
آیا تا به حال امضای دیجیتال رو دیدید؟

بله.
جهت کسب اطلاعات بیشتر مطالعه ی کتاب امنیت داده ها انتشارات نص توصیه میشه.
موفق باشید.

niloofar norouzi
شنبه 16 آذر 1387, 18:02 عصر
سلام.
ممنونم. مطالب جالبی بود.
درخواست می کنم که راجع به کلید عمومی و خصوصی بیشتر توضیح دهید. آیا ساخت این کلیدها توسط یک نرم افزار اتفاق می افتد؟
طبق مطلبی که جناب

asp.net.csharp.ir (http://asp.net.csharp.ir/)

در پست دو م از همین تاپیک قرار داده اند ، به نظر می آید که تولید کلید عمومی و خصوصی توسط اشخاص انجام نمی شود و این کار توسط ابزاری خاص تولید می شوند؟

zahramoini
شنبه 14 شهریور 1388, 11:17 صبح
سلام
میشه در مورد طریقه ی پیاده سازی امضای دیجیتال راهنمای ام کنید؟

hamidehsadat
سه شنبه 21 مهر 1388, 22:26 عصر
سلام میشه بیشتر در مورد کلید عمومی و خصوصی توضیح بدهید لطفا با یک مثال مثلا در بانکداری الکترونیکی