محل انجام پروژه های برنامه نویسی

انواع پروژه های سی پلاس پلاس ، سی شارپ ، میکروکنترلر

محل انجام پروژه های برنامه نویسی

انواع پروژه های سی پلاس پلاس ، سی شارپ ، میکروکنترلر

يكشنبه, ۲۴ خرداد ۱۳۹۴، ۱۱:۴۸ ب.ظ

۰

امضای دیجیتال چیست ؟

يكشنبه, ۲۴ خرداد ۱۳۹۴، ۱۱:۴۸ ب.ظ
در دنیای مدرن و پر سرعت امروز، و در حالیکه استفاده از کامپیوتر ها و ابزارهای دیجیتالی با سیر صعودی در حال گسترش است، باید در فکر تمهیداتی بود تا گردش کاغذ و بوروکراسی اداری جای خود را به سیستمهای خودکار و اتوماسیون اداری بدهد. در این میان بخش اعظمی از کار به اسناد حقوقی و بازرگانی ، چکها و سفته ها، تعهدنامه ها و… برمی گردد. امروزه بخش زیادی از اسناد مکتوب از شکل کاغذی به شکل الکترونیکی درآمده اند. لذا باید این اسناد نیز به نحوی دارای امضای دیجیتالی و پشتوانه حقوقی می شدند تا قابلیت جایگزین شدن بجای کاغذ را پیدا کنند.
در دنیای مجازی امروز هر مکانیزمی که بتواند سه نیاز زیر را در خصوص اسناد و مدارک دیجیتالی بر آورده کند، امضای دیجیتالی نامیده می شود:
الف) دریافت کننده سند یا پیام الکترونیکی بتواند هویت صاحب سند را به درستی تشخیص داده و از جعلی نبودن آن اطمینان حاصل کند.
ب) صاحب و امضا کننده سند بعدا نتواند محتوای سند یا پیام ارسالی خود را به هیچ طریقی انکار کند.
ج) یک متقلب ثالث نتواند پیامها یا اسناد جعلی تولید و آنها را به دیگران منتسب کند.

با دقت به سه مورد فوق درخواهید یافت که ای موارد در سیستمهای اقتصادی و مرتبط با گردش پول و اعتبار حیاتی است و برای حلوگیری از هرگونه جعل و کلاهبرداری و حفظ منافع طرفین یک پیشنیاز به شمار می آید.
اندیشه امضای دیجیتالی که به پژوهشهای دیفی و هلمن بازمی گردد در مورد الگوریتمی بود که بتواند خواص امضاهای دستی را در حد عالی و متکامل داشته باشد. ولی در عین حال توسط ماشین و بصورت خودکار تولید شود. بزرگترین تفاوت امضاهای دستی با امضاهای دیجیتالی در آن است که امضاهای دستی ثابت اند و شکل آنها نباید تغییر کند در حالی که امضاهای دیجیتالی ماهیتاً وابسته به پیام اند و به ازای هر پیام تغییر می کنند. روشهای متعددی برای پیاده سازی امضای دیجیتالی معرفی شده است که عبارتند از:
1.امضاهای دیجیتالی مبتنی برچکیده پیام (message digest) که در این نوع مکانیزم، بدون آنکه محتوای سند رمزنگاری شود یا محرمانه ماندن آن مد نظر باشد، یک امضای کوچک چند بایتی برای آن تولید می گردد
2.امضاهای دیجیتالی کلید متقارن مبتنی بر یک مرکز مورد اعتماد برای گواهی امضاء
3.امضاهای مبتنی بر روشهای رمزنگاری کلید عمومی
4.امضاهای مبتنی بر تبدیلهای مستقل از سیستمهای رمزنگاری
قابل توجه است که امروزه در بسیاری از کشورها قوانین قضایی مستحکمی در ایجاد پشتوانه حقوقی برای امضاهای دیجیتالی وضع شده اند و دادگاهها قادرند مناشقات حقوقی در این زمینه را براساس قوانین موجود حل و فصل کنند.
امضاهای دیجیتالی مبتنی بر چکیده پیام
در این مکانیزم، از هر سند (پس از ایجاد و قرار گرفتن در یک قالب استاندارد و مشخص) یک چکیده کوتاه چند بایتی استخراج می شود. این چکیده کوتاه چند بایتی ، به طرز بسیار پیچیده ای از تک تک بیتها و جایگاه آنها در متن تاثیر می پذیرد و به نحوی محاسبه و استخراج می شود که هرگونه تغییرات جزئی یا کلی در متن ، باعث تغییرات چشمگیر در چکیده آن خواهد شد. پس از استخراج چکیده پیام ، رشته بیتی حاصل ، توسط کلید خصوصی صاحب پیام رمزنگاری شده و نتیجه حاصله به اصل پیام ضمیمه می شود. برای اعتبار سنجی و تایید اصالت سند، گیرنده می تواند براحتی چکیده رمز شده سند را با کلید عمومی صاحب سند(که همه آن را می دانند) از رمز خارج کرده و همچنین یکبار دیگر خودش راسا چکیده سند را محاسبه و با مقایسه این دو مقدار و مساوی بودن آنها ،اعتبار سند تایید می شود.در غیر اینصورت سند جعلی است و یا توسط اخلا گران میانی (man in the middle) تغییراتی در آن اعمال شده است.
در مکانیزم پیشنهادی برای امضاهای دیجیتالی به دو الگوریتم عمده نیاز است:
الف) الگوریتمی برای محاسبه و استخراج چکیده پیام
به الگوریتمهایی که از درون یک پیام با طول متغیر، یک چکیده پیام با طول کوتاه و ثابت محاسبه و استخراج می کنند، اصطلاحا توابع درهم ساز (Hash function) و به چکیده پیام ، کد درهم شده (Hash code) گفته می شود.این الگوریتمها که امروزه برای محاسبه چکیده پیام بکار می روند ، بدین قرارند:
١- MD5 : این الگوریتم که در سال ١٩٩١ توسط رونالد رىوست ارائه شد، پیامها با هر طولی را پذیرفته و بادر هم فشرده کردن تمام بیتهای آن پیام، طبق رابطه ای نسبتا پیچیده و وارون ناپذیر ، یک چکیده ١٢٨ بیتی از کل پیام استخراج می کند بگونه ای که تمام بیتهای خروجی از یکایک بیتهای متن اصلی تاثیر می پذیرند. این الگوریتم شکسته شده است و استفاده از آن از نظر امنیتی درست نیست.
٢- SHA-1 : یکی از مهمترین توابع استخراج چکیده پیام است که توسط اداره استانداردها و فناوریهای مدرن آمریکا به شماره FIPS-١٨٠-١ در سال ١٩٩٣ معرفی شده و جهت استفاده عموم به ثبت رسیده است. این الگوریتم که جایگزین مناسب و مطمئن MD5 به حساب می آمد و با توجه به آنکه استاندارد دولت فدرال آمریکا را یدک می کشید بلافاصله در پروتکل ها و برنامه های کاربردی مثل S/MIME, SSL, TLS, IPSEC و حتی در سطح سخت افزار مورد استفاده قرار گرفت. در این الگوریتم بر خلاف MD5 طول چکیده پیام ١٦٠ بیت می باشد. در سال ٢٠٠٥ با پیدا شدن دو پیام با چکیده مساوی طومار این الگوریتم نیز در هم پیچیده شد .
٣- SHA-2 : version جدیدتری از SHA است و به خانواده ای از الگوریتمهای مورد تایی سازمان استاندارد آمریکا گفته می شود که در همگی آنها ، طول چکیده پیام بیشتر از ١٦٠ بیت است و روش تلفیق داده ها در آنها اندکی پیچیده تر و مطمئن تر از قبل انجام می شود. این خانواده از الگوریتمها عبارتند از SHA-512 , SHA-384 , SHA-256 , SHA-224 که اعداد انتهایی ، طول چکیده پیام تولیدی توسط الگوریتم را مشخص می کند .
ب) الگوریتمی برای رمزنگاری با کلید عمومی
الگوریتمهای مورد نیاز برای رمزنگاری با کلید عمومی مانند RSA و El Gemal (طاهر الجمال) می باشد که استفاده از هر کدام برای رمز کردن چکیده پیام بلا مانع است و استانداردهایی با هر کدام از این دو روش تعریف شده است.
مشکل مدیریت کلیدهای عمومی
روشهایی که با آنها آشنا شدید، به دو دسته تقسیم می شوند:
1.True Signature (امضای حقیقی) :که طرفین ارتباط مستقیما پیامهای خود را امضا و مبادله می کنند.چنین مکانیزمهایی به کمک یکی از روشهای رمزنگاری کلید عمومی (مانند RSA وDSA و El Gemal) یا روشهای کلید متقارن و حتی به روشهایی مستقل از رمزنگاری (مثل HMAC) قابل پیاده سازی هستند. در روشهای پیاده ساز ی امضای حقیقی ویژگی انکارناپذیری پیام وجود ندارد و هر یک از طرفین به سادگی می توانند محتوای پیام خود را به کل منکر شوند.
2.امضاهای موثق و داوری شده: رده دوم امضاهای معرفی شده که در پیاده سازی آنها حضور یک مرکز گواهی امضا الزامی است. مکانیزمی را که در این خصوص معرفی کردیم بر اساس رمزنگاری متقارن استوار شده بود و تمام تعاملات بین افراد از طریق مرکز گواهی امضا صورت می گرفت که بخودی خود خطر ایجاد گلوگاه در شبکه را افزایش می دهد و صرفا برای محیطهای کوچک و اختصاصی (مثل یک موسسه اعتباری با مشتریان کم) مفید است.
در امضاهای دیجیتالی مبتنی بر کلید عمومی ، هر کسی دارای یک کلید خصوصی و یک کلید عمومی است که بر اساس آنها می تواند به رمزنگاری و رمزگشایی امضای پیامهی خود بپردازد.بطور مپال الگوی امضای مبتنی بر چکیده پیام،الگوی بسیار کارآمدی است ولی دو اشکال عمده آن را تهدید می کند:
الف) ملاک احراز هویت یک پیام در این الگوها آن است که اگر چکیده رمز شده پیام با کلید عمومی شخصی مثل آلیس از رمز خارج شد و با چکیده پیام دریافتی تطابق داشت، نتیجه می گیریم پیام متعلق به آلیس است.حال چه تضمینی وجود دارد که آلیس کلید عمومی خود را منکر نشود و از وجود کلید عمومی و پیامهی ارسالی خود اظهار بی اطلاعی نکند؟
ب) چه تضمینی وجود دارد که کسی با تولید یک جفت کلید عمومی و خصوصی ، خود را آلیس معرفی نکند. به عنوان مثال فرض کنید کسی با ایجاد یک وب سایت دروغین، خود را شخصی دیگر معرفی کرده وکلید عمومی دلخواه خود را در این وب سایت جعلی منتشر کند. در مکانیزمی که احراز هویت پیامها بر اساس کلید عمومی صاحب پیام صورت می گیرد چگونه می توان مطمئن شد که یک کلید عمومی واقعا متعلق به همان کسی است که واقعا ادعا می کند؟
اینجاست که با چالشی جدی در امضای دیجیتالی روبرو می شویم. راه حل تمام این مشکلات مکانیزمی است که بر اساس آن افراد کلیدهای عمومی خود را بنحوی ثبت کرده و برای آن گواهینامه دریافت می کنند.بدین ترتیب کسی قادر نیست پس از آنکه پیامش را با کلیدی رمز کرد منکر آن شود چرا که شخصا آن را ثبت نموده است. در ضمن صدور گواهینامه برای افراد و درج کلیدهای عمومی در آن ، مشکل افرادی را که تلاش می کنند خودشان را جای دیگران جا بزنند، بطور ریشه ای حل خواهد کرد. این مکانیزم قدرتمند، چیزی نیست جز ساختار قدرتمندی که برای گواهینامه های دیجیتالی تعریف شده است.

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی