# مباحث متفرقه برنامه نویسی > تالار های مرتبط با شبکه و امنیت > امنیت در شبکه >  امضای دیجیتالی و گواهینامه دیجیتال

## tayebeh

با سلام .....

*امضای دیجیتال* 
امضای دیجیتال ، ماحصل  رمزنگاری مقدار Hash داده مبادله شده بوده و روشی ایمن به منظور امضای الکترونیکی اطلاعات با استفاده از کدها ویا علائمی است که از لحاظ الکترونیکی معادل یک امضای دستی می باشند. امضای دیجیتالی، مبتنی بر ترکیب ایده سنتی  Hashing داده و رمزنگاری  کلید عمومی است .یک مرکز معتبر صدور گواهینامه های دیجیتال ، گواهینامه های دیجیتالی صادرشده  را به کلیدهای عمومی مربوط به هر یک نسبت می دهد . فرآیند امضاء ، مخالف فرآیند رمزنگاری است : از کلید خصوصی به منظور رمزنگاری Hash  و از کلید عمومی برای بررسی صحت امضاء ( رمزگشائی ) استفاده می شود . 

*فرآیند امضای داده توسط فرستنده پیام  :* 

•دریافت پیام اولیه و محاسبه یک مقدار Hash با استفاده از یک الگوریتم hashing 
•رمزنگاری Hash توسط یک تابع رمزنگاری و اعمال کلید خصوصی توسط فرستنده پیام ( پیام اولیه به همراه مقدار Hash رمز شده ، یک پیام دیجیتالی امضاء شده را تشکیل می دهند ) . 
•ارسال پیام دیجیتالی امضاء شده برای گیرنده 

*فرآیند بررسی صحت امضاء ارسالی همراه داده  :* 

•پس از دریافت پیام توسط گیرنده ، در ابتدا ، Hash رمز شده با استفاده از کلید عمومی فرستنده رمزگشائی می گردد ( Hash رمزگشائی شده ) . 
•محاسبه محلی مقدار Hash پیام ارسالی با استفاده از یک الگوریتم Hashing 
•مقایسه نتایج بدست آمده در مراحل قبل : Hash رمزگشائی شده با مقدارمحلی Hash مقایسه و در صورتیکه نتیجه یکسان باشد ، صحت و اعتبار پیام ارسال شده توسط فرستنده تائید می گردد . 

لازم است به این موضوع دقت شود که ضرورتی به رمزنگاری محتوی پیام وجود نداشته  و صرفا" امضای دیجیتالی رمز می گردد( مگر اینکه شرایط خاصی در ارتباط با محرمانگی محتوی وجود داشته باشد که در چنین مواردی می بایست محتوی نیز رمزنگاری گردد ) . در صورتیکه به هر دلیلی محتوی پیام توسط افراد غیرمجاز تغییر داده شود ، Hash رمز شده اولیه با مقداری که بصورت محلی مجددا" محاسبه می گردد ، مطابقت نداشته و صحت امضای فرستنده تائید نمی گردد . همچنین ، ایجاد یک امضای تقلبی عملا" غیرممکن است ، چراکه افراد غیر مجاز آگاهی لازم در ارتباط با کلید خصوصی را دارا نمی باشند ( رمزنگاری مقدار محاسبه شده Hash با در نظر گرفتن کلید خصوصی فرستنده انجام خواهد شد ) . 

*یک گواهینامه چیست ؟* 
گواهیینامه دیجیتال ،رکوردی  منحصربفرد مشتمل بر اطلاعاتی ضروری به منظور بررسی هویت یک فرد و یا یک سازمان می باشد . گواهینامه های دیجیتال از فرمت استاندارد X.509 تبعیت می نمایند . استاندارد فوق ، برخی از ملزومات موردنیاز گواهینامه را تشریح می نماید : فرمت نسخه استفاده شده توسط گواهینامه ، شماره سریال گواهینامه ، شناسه الگوریتم استفاده شده به منظور تائید گواهینامه ،مرکز صادرکننده گواهینامه ، تاریخ صدور و سررسید اعتبار گواهینامه ، مشخصات صاحب گواهینامه ، کلید عمومی صاحب گواهینامه ، امضای دیجیتال مرکز صادر کننده گواهینامه . 
هر یک از فیلدهای اطلاعاتی فوق متناظر با فیلدهای خاصی در ساختار تعریف شده برای یک گواهنیامه می باشد. گواهینامه ها ، ممکن است شامل اطلاعات دیگری نظیر آدرس پستی ، آدرس پست الکترونیکی ، نام کشور ، سن ، جنسیت  نیز باشند . اطلاعات اضافی  فوق اختیاری بوده و بستگی به نوع خاص گواهینامه دارد . 

*مراکز صدور گواهینامه  (CA:Certificate Authority* 

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

----------


## Moharram

سلام 
ببخشید اگه میشه یکم هم در مورد کاربرد گواهینامه بنویسید
با تشکر

----------


## tayebeh

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

اما توضیحات بیشتر راجع به گواهینامه های دیجیتالی :
*انواع گواهینامه ها* 
در اینترنت از چهار نوع گواهینامه دیجیتال استفاده می گردد که هر یک دارای  حوزه عملکردی خاص خود می باشند : 
•گواهینامه های سرویس دهنده ، که از آنان  با نام Server IDs نیز نام برده می شود،به سرویس دهندگان امکان استفاده از یک پروتکل ایمن ارتباطی نظیر SSL را خواهند داد . گواهینامه های فوق ، امکان شناسائی سرویس دهنده و یا وب سایت مربوطه را برای کاربران نیز فراهم می نماید( قبل از ارسال اطلاعات محرمانه توسط کاربران ) .
•گواهینامه های شخصی ، مسولیت شناسائی افراد را برعهده داشته و ممکن است به منظور تائید کاربران در یک سرویس دهنده و یا فعال نمودن نامه الکترونیکی ایمن، مورد استفاده قرارگیرند. 
•گواهینامه های ناشر نرم افزار ، به منظور تائید نرم افزارهای توزیع شده بر روی اینترنت استفاده می گردند. 
•گواهینامه های مراکز CA ، باعث شناسائی یک CA می گردند. مراکز CA را می توان به دو گروه  عمده تقسیم نمود : مراکز CA  ریشه و مراکز CA میانی . تفاوت بین این دو گروه بشرح زیر است : 
یک مرکز CA ریشه ، قادر به صدور هر نوع گواهینامه بوده و شناسائی و تائید آنان توسط خود مرکز انجام می شود. یک مرکز CA میانی ، قادر به صدور هر نوع گواهینامه  بجزء یک گواهینامه برای خودش ، می باشد.گواهینامه صادر شده توسط یک مرکز CA ریشه ، تنها نوع گواهینامه ای است که صادرکننده و مالک گواهینامه متعلق به یک محل بوده و مشابه یکدیگر می باشند. اینچنین مراکز ، می توانند برای یک مرکز CA میانی دیگر ، گواهینامه صادر نمایند و یک مرکز CA میانی نیز می تواند یک گواهینامه برای یک مرکز CA میانی دیگر صادر نماید . نوع گواهینامه صادر شده توسط یک مرکز CA برای مرکز CA دیگر ، گواهینامه CA نامیده می شود . ماحصل فرآیند فوق ، ایجاد یک ساختار سلسله مراتبی CA است . یکی از مزایای مهم ساختار سلسله مراتبی فوق ، بررسی و تائید گواهینامه در تعدادی اندک از مراکز ریشه CA ، می باشد. به عبارت دیگر در صورتیکه یک مرکز CA تائید گردد ، تمامی مراکز زیرمجموعه ( مراکز میانی CA ) نیز تائید خواهند شد .

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

----------


## yassi

سلام.....
خیلی عالی بود امیدوارم ادامه پیدا کنه 
بازم مرسی :wink:

----------


## eeeee

با سلام!
من می خواستم بپرسم که شما راجع به تشخیص امضا و دستخط به وسیله ی شبکه های عصبی هم اطلاع دارید؟
ممنونم. :)

----------


## tayebeh

نه

----------

