امضای دیجیتال: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
اشتباه تایپی |
LetsDoItBot (بحث | مشارکتها) تمیزکاری، + ویرایش با ماژول ابرابزار با استفاده از AWB |
||
خط ۲:
[[پرونده:DSIGN italy.jpg|بندانگشتی|کارتامضای دیجیتال و دستگاه کارتخوان]]
'''امضای دیجیتال''' نوعی [[رمزنگاری کلید عمومی|رمزنگاری نامتقارن]] است. هنگامی که پیغامی از کانالی ناامن ارسال میشود، یک امضای دیجیتال که به شکل صحیح به انجام رسیده باشد میتواند برای شخص گیرنده پیام دلیلی باشد تا ادعای شخص فرستنده را باور کند و یا به عبارت بهتر شخص گیرنده از طریق امضای دیجیتال میتواند این اطمینان را حاصل کند که همان شخص فرستنده نامه را امضا کرده است و نامه جعلی نیست. امضاهای دیجیتال در بسیاری از جنبهها مشابه امضاهای سنتی دستی هستند؛ انجام امضاهای دیجیتال به شکل صحیح بسیار مشکلتر از یک امضای دستی است. طرحها فایل امضای دیجیتال بر مبنای رمزنگاری نامتقارن هستند و
امضاهای دیجیتال اغلب برای به انجام رساندن امضاهای الکترونیکی به کار میروند. در تعدادی از کشورها، مانند [[آمریکا]] و کشورهای [[اتحادیه اروپا]]، امضاهای الکترونیکی قوانین مخصوص به خود را دارند. هرچند، قوانین دربارهٔ امضاهای الکترونیکی همواره روشن نمیسازند که آیا امضاهای دیجیتال به درستی به کار گرفته
== مشخصات امضا دیجیتال ==
طرح امضای دیجیتال معمولاً سه الگوریتم را شامل میشود: ۱- الگوریتم تولید کلید را که [[کلید خصوصی]] را بطور یکسان و تصادفی از مجموعه کلیدهای ممکن انتخاب میکند. خروجیهای این الگوریتم کلید خصوصی و کلید عمومی مطابق با آن است. ۲- الگوریتم امضا که توسط آن با استفاده از کلید خصوصی و پیام، امضا شکل میگیرد. ۳-الگوریتمی که با استفاده از پیام دریافتی و کلید عمومی صحت امضا را بررسی میکند و با مطابقتی که انجام میدهد یا امضا را
دو ویژگی اصلی که در امضای دیجیتال مورد نیاز است: اول، امضای تولید شده از پیام مشخص و ثابت هنگامی که توسط کلید عمومی مورد بررسی قرار میگیرد فقط در مورد همان پیام ارسالی میتواند عمل تطبیق را صورت دهد و در مورد هر پیام متفاوت و خاص میباشد. ثانیاً، امضای دیجیتال
▲طرح امضای دیجیتال معمولاً سه الگوریتم را شامل میشود: ۱- الگوریتم تولید کلید را که [[کلید خصوصی]] را بطور یکسان و تصادفی از مجموعه کلیدهای ممکن انتخاب میکند. خروجیهای این الگوریتم کلید خصوصی و کلید عمومی مطابق با آن است.۲- الگوریتم امضا که توسط آن با استفاده از کلید خصوصی و پیام، امضا شکل میگیرد. ۳-الگوریتمی که با استفاده از پیام دریافتی و کلید عمومی صحت امضا را بررسی میکند و با مطابقتی که انجام میدهد یا امضا را می پذیرد یا آن را رد میکند.
▲دو ویژگی اصلی که در امضای دیجیتال مورد نیاز است: اول، امضای تولید شده از پیام مشخص و ثابت هنگامی که توسط کلید عمومی مورد بررسی قرار میگیرد فقط در مورد همان پیام ارسالی میتواند عمل تطبیق را صورت دهد و در مورد هر پیام متفاوت و خاص میباشد. ثانیاً، امضای دیجیتال می بایست قابلیت اجرا توسط الگوریتم را داشته باشد و بتواند فایل امضای معتبر برای مهمانی که کلید خصوصی را دارا نمیباشد ایجاد نماید.
تاریخچه
بر اساس اسناد معتبر
در سال ۱۹۸۴ میشلی، گلدواسر و ریوست با تمام دقت موارد مورد نیاز را برای برقراری امنیت در طرح امضای دیجیتال بررسی کردند. آنها با بررسی مدلهای مختلف حمله برای امضای دیجیتال توانستند طرح فایل امضای دیجیتال جی ام آر را ارائه کنند که میتواند در مقابل حمله به پیام و جعلی بودن آن مقاومت کند.
طرحهای ابتدایی امضای دیجیتال مشابه همدیگر بودند: آنها از جایگشت (تبدیل) [[تابع دریچه|دریچهای]] استفاده میکردند، مانند تابع آر اس اِی و یا در برخی موارد از طرح امضای رابین بهره میگرفتند. جایگشت دریچهای نوعی از مجموعه جایگشت هاست که به وسیله پارامترها مشخص میشود که در محاسبههای رو به جلو سریع عمل میکند ولی در محاسبههای بازگشتی با مشکل مواجه میشود. با این وجود برای هر پارامتر یک دریچه وجود دارد که حتی محاسبههای بازگشتی را آسان
ولی این نوع طرح امضای دیجیتال در برابر حملات
همچنین دلایل متنوعی وجود دارد تا افرادی که
نظریههای امنیتی
در تحقیقات میشلی، گلدواسر و ریوست مراتب متفاوت حمله به امضاهای دیجیتال را برای ایجاد دیوار دفاعی مناسب بررسی کردند و نتایج زیر به دست آمد:
۱- در حمله کلید یگانه، مهاجم فقط روند بررسی و
۲- در حمله با پیام آشکار، مهاجم یک کلید کارآمد برای مجموعهای از پیامهای آشکار و مشخص در اختیار دارد و فقط با استفاده از پیام مشخص میتواند حمله کند و توانایی انتخاب پیام برای مورد حمله قرار دادن نخواهد داشت.
۳- در انطباق پیام انتخاب شده، مهاجم ابتدا امضا را بر روی یک پیام دلخواه که مورد انتخاب مهاجم است
در ادامه مراحل نتایج حمله به سامانه امضای دیجیتال از طریق روشهای مذکور مطرح میشود:
۱- در مرحله اول امکان ترمیم و استفاده مجدد از امضای دیجیتال را از بین خواهد برد.
سطر ۳۵ ⟵ ۳۴:
== معایب امضای دیجیتال ==
با وجود تمام مزایایی که امضای دیجیتال دارد و در ادامه همین مقاله به بررسی آن
▲با وجود تمام مزایایی که امضای دیجیتال دارد و در ادامه همین مقاله به بررسی آن می پردازیم ولی این طرح همچنان در حل برخی مشکلات که در ادامه آنها را مطرح می کنیم ناتوان است. الگوریتم و قوانین مربوط به آن نمیتوانند تاریخ و زمان امضای یک سند را در ذیل آن درج کنند از همین جهت شخص دریافت کننده نمیتواند این اطمینان را حاصل کند که نامه واقعاً در چه تاریخ و زمانی به امضا رسیده است. ممکن است در محتویات سند تاریخی درج شده باشد و با تاریخی که شخص نامه را امضا کرده باشد مطابقت نداشته باشد. البته برای حل این مشکل میتوان از یک راه حل با عنوان زمان اعتماد به مهرو امضا استفاده کرد.
مطابق اصول فنی امضای دیجیتال که در توضیحهای ابتدایی آورده شده است، فایل امضای دیجیتال رشتهای از بیتها را در اجرای این طرح به کار میبرد. در واقع افراد در این طرح مجموعهای از بیتها را که ترجمه پیام است امضا میکنندآن آنها ترجمه معنایی آنها ذرهها امضا میکنند
▲همانطور که در ابتدای تعریف امضای دیجیتال اشاره شد این طرح غیر قابل انکار است و ساختار امضای دیجیتال بر همین اساس شکل گرفته است. همانطور که می دانید تکذیب در لغت به معنی انکار هرگونه مسئولیت نسبت به یک فعالیت است. هنگامی که پیامی ارسال میشود و فرستده آن را همراه امضا دریافت میکند در واقع این اطمینان در شخص دریافت کننده ایجاد میشود که نامه را چه کسی امضا کرده است و انکار امضا کاری مشکل به نظر میرسد. البته تا زمانی که کلید خصوصی به صورت مخفی باقی بماند شخص فرستنده نمیتواند چنین ادعایی داشته باشد ولی هنگامی که فایل امضای شخصی مورد حمله قرار بگیرد نه تنها خود فایل امضا اعتبار لازم را از دست میدهد بلکه استفاده از زمان اعتبار مهر و امضا نیز دیگر کاربردی نخواهد داشت. البته یادآوری این نکته لازم است هنگامی که شما در سامانه خود از کلید عمومی بهره میگیرد دیگر نمیتوانید امضای خود را انکار کنید و در صورتی این موضوع امکان پذیر است که کل شبکه مورد حمله واقع شود و سامانه از اعتبار لازم ساقط شود. بنا براین توجه به انتخاب یک راه حل درست برای پیاده سازی طرح امضای دیجیتال از اهمیت ویژهای برخوردار است و همانطور که عنوان شد ممکن است با یک مشکل کل اعتبار مجموعه زیر سوال برود.
▲مطابق اصول فنی امضای دیجیتال که در توضیحهای ابتدایی آورده شده است، فایل امضای دیجیتال رشتهای از بیتها را در اجرای این طرح به کار میبرد. در واقع افراد در این طرح مجموعهای از بیتها را که ترجمه پیام است امضا میکنندآن آنها ترجمه معنایی آنها ذرهها امضا میکنند . مشکل دیگر امضای دیجیتال این است که چون پیام توسط یک تابع مشخص به مجموعهای از بیتها ترجمه و پردازش میشود ممکن است در طی مرحله انتقال و دریافت پیام ترجمه پیام دچار خدشه شود و مفهوم دیگری به خود گیرد. برای حل این مشکل از روشی با عنوان دبلیو وای [[اس آی]] دبلیو وای اس استفاده میشود به این معنا که همان چیزی که مشاهده میشود امضا میشود. در این روش همان اطلاعات ترجمه شده خود را بدون آن که اطلاعات مخفی دیگری در آن قرار گیرد امضا میکند و پس از امضا و تایید اطلاعات از سوی شخص فرستنده درون سامانه به کار گرفته میشود. در واقع این روش [[ضمانت نامه]] محکمی برای امضای دیجیتال به شمار میرود و در سیستمهای رایانهای مدرن قابلیت پیاده سازی و اجرا را خواهد داشت.
== مزایای امضای دیجیتال ==
حال در این بخش مزایای استفاده از امضای دیجیتال را مورد بررسی قرار خواهیم داد. یکی از دلایل به کار گیری امضاهای دیجیتالی که یک دلیل عادی به شمار میرود ایجاد اعتبار برای امضاها در یک سامانه تبادل داده و اطلاعات است. در واقع استفاده از امضای دیجیتال سندیت و اعتبار ویژهای به یک سند
در موارد بسیار زیادی، فرستنده و گیرنده پیام نیاز دارند این اطمینان را به دست بیاورند که پیام در مدت ارسال بدون تغییر باقیمانده است. هرچند رمزنگاری محتوای پیام را مخفی میکند ولی ممکن است امضا در یک سامانه از اعتبار ساقط شود و محتویات یک پیام
▲حال در این بخش مزایای استفاده از امضای دیجیتال را مورد بررسی قرار خواهیم داد. یکی از دلایل به کار گیری امضاهای دیجیتالی که یک دلیل عادی به شمار میرود ایجاد اعتبار برای امضاها در یک سامانه تبادل داده و اطلاعات است. در واقع استفاده از امضای دیجیتال سندیت و اعتبار ویژهای به یک سند می بخشند. وقتی که هر فرد دارای یک کلید خصوصی در این سامانه است با استفاده از آن میتواند سند را امضا کرده و به آن ارزش و اعتبار داده و سپس آن را ارسال کند. اهمیت ایجاد اطمینان قطعی و محکم برای شخص دریافت کننده پیام دربارهٔ صحت ادعای فرستنده در برخی از انواع [[انتقال اطلاعات]] مانند دادههای مالی به خوبی خود را نشان میدهد و اهمیت وجود امضای دیجیتال درست را بیش از پیش به نمایش می گذارد. به عنوان مثال تصورکنید شعبهای از یک بانک قصد دارد دستوری را به دفتر مرکزی بانک به منظور درخواست ایجاد تعادل در حسابهای خود را ارسال کند . اگر شخص دریافت کننده در دفتر مرکزی متقاعد نشود که این پیام، یک پیام صادقانه است و از سوی یک منبع مجاز ارسال شده است طبق درخواست عمل نکرده و در نتیجه مشکلاتی را به وجود میآورد.
▲در موارد بسیار زیادی، فرستنده و گیرنده پیام نیاز دارند این اطمینان را به دست بیاورند که پیام در مدت ارسال بدون تغییر باقیمانده است. هرچند رمزنگاری محتوای پیام را مخفی میکند ولی ممکن است امضا در یک سامانه از اعتبار ساقط شود و محتویات یک پیام دست خوش تغییرات گردد. ولی استفاده از امضای دیجیتال به عنوان روشی از رمز نگاری میتواند ضامن درستی و بی نقصی یک پیام در طی عملیات انتقال اطلاعات باشد زیرا همانطور که در ساختار اجرایی شدن الگوریتم مشاهده کردید از تابع درهم سازی بهره گرفته شده است و همین نکته ضمانت بهتری را برای درستی و صحت یک پیام ایجاد می نماید.
== کلید عمومی رمزنگاری ==
رمزنگاری با استفاده از کلید عمومی روشی است برای ایجاد یک ارتباط پنهان میان دو شخص بدون اینکه نیازی به تعویض کلیدهای خصوصی باشد. همچنین با استفاده از این روش میتوان امضاهای دیجیتال را ایجاد کرد.{{سخ}}[[رمزنگاری کلید عمومی]] اساس و بنیاد تبادل اطلاعات در تکنولوژیهای امروز در جهان گسترده اینترنت است. همچنین این روش به عنوان رمزنگاری نامتقارن نیز مطرح است زیرا کلیدی که برای رمزنگاری به کار میرود با کلیدی که برای رمز گشایی به کار میرود متفاوت است. در رمزنگاری با کلید عمومی، هر کاربر یک جفت کلید برای رمزنگاری شامل یک کلید عمومی و یک کلید خصوصی است. کلید خصوصی به عنوان یک راز از سوی کاربر باید نگهداری شود و همه کاربران امکان استفاده از کلید عمومی را داردند و در اختیار همه قرار میگیرد.{{سخ}}
از رمز نگاری نامتقارن هم برای رمزنگاری استفاده میشود هم برای رمز گشایی استفاده میشود.
{{سخ}}
دو شاخه اصلی رمزنگاری با کلید عمومی عبارتند از:
رمزگذاری کلیدی عمومی: پیامی که با کلید عمومی رمزگذاری شده باشد فقط به وسیله صاحب کلید خصوصی مطابق با آن رمزگشایی میشود و این موضوع به همکاری فرستنده و گیرنده بستگی دارد و میتواند اعتماد را تا اندازه زیادی در این سیستم
امضاهای دیجیتال: در مورد امضای دیجیتال پیام با استفاده از کلید خصوصی فرستنده رمزگذاری میشود و با استفاده از کلید عمومی فرستنده نیز رمزگشایی میشود. رمزنگاری کلید عمومی در مقایسه با [[صندوق پستی]] مانند صندوق پستی قفل شده همراه یک دریچه است که این دریچه در دسترس عموم قرار دارد به طور مثال اطلاعاتی از قبیل محل خیابان در اختیار عموم قرار میگیرد. هرکس با دانستن آدرس خیابان میتواند به درب مورد نظر مراجعه کرده و پیام مکتوب را از طریق دریچه میتواند ببیند ولی فقط شخصی که کلید بازکردن صندوق پستی را دارا میباشد میتواند پیام را بخواند. همچنین امضاهای دیجیتال شبیه پلمب یک پاکت نامه است که هرکس میتواند پاکت نامه را باز کند ولی پلمی فرستنده بر روی [[پاکت نامه]] به عنوان نشانی از فرستنده باقی خواهد ماند. مسئله اصلی برای استفاده از رمزنگاری عمومی ایجاد اطمینان در مسیر ارسال اطلاعات است. با توجه به مثالهای ذکر شده باید کلید عمومی برای هر شخص به درستی تولید شود تا از سوی شخص سومی مورد تهاجم واقع نشود و سلامت سیستم حفظ شود. یک شیوه مرسوم برای رسیدگی به این مسئله استفاده از یک سازمان کلید عمومی است که بتواند در مورد شخص سومی که وارد سیستم میشود یک دسترسی متناسب تعریف کند.
تمامی تکنیکهای قابلیت اجرای سریعتر نسبت به اجرای سیستم کلید خصوصی را دارند و میتوانند به اندازه کافی برای برنامههای متنوع کلید تولید کنند. در عمل اغلب رمز نگاری با کلید عمومی با سیستم کلید خصوصی به کار میرود تا بتواند بازدهی بیشتری داشته باشد. چنین
== تولید کلید ==
تولید کلید روند تولید کلیدها برای رمز نگاری است
== پروتکل رمز نگاری ==
یک پروتکل امنیت (پروتکل رمزنگاری) یک مفهوم انتزاعی است و در واقع تضمینی برای امنیت سیستم به شمار میرود و امنیت سیستم رمزنگاری به برقراری این قواعد وابسته است. پروتکل تعیین میکند که الگوریتمها چگونه
بررسی و
▲یک پروتکل امنیت (پروتکل رمزنگاری) یک مفهوم انتزاعی است و در واقع تضمینی برای امنیت سیستم به شمار میرود و امنیت سیستم رمزنگاری به برقراری این قواعد وابسته است. پروتکل تعیین میکند که الگوریتمها چگونه می بایست به کار روند تا همراه با کارآیی لازم، امنیت خود را نیز حفظ کنند. پروتکلها به اندازه کافی و به صورت مفصل جزئیات را دربارهٔ ساختارهای دادهها و شکل استفاده از آنها را تعیین میکنند. اجرای کامل و درست پروتکل می تواند این اطمینان را در کاربر ایجاد کند که امنیت سیستم تا میزان مورد نیاز تامین میشود. [[پروتکل رمزنگاری]] معمولاً در ابتداییترین حالت موارد زیر را شامل میشوند:
به عنوان مثال؛ پروتکل امنیت لایههای حمل اطلاعات یک پروتکل رمزنگاری است که برای حفظ امنیت اتصالات در سطح وب را
▲بررسی و تایید صحت کلید؛ تعیین اعتبار موجود بودن کلید در سیستم؛ در مورد روش متقارن اعتبار لازم را به یک پیام میدهد؛ حفظ امنیت داده در سطح برنامه؛ روش هایی که اجازه نمیدهد کاربر امضای خود را تکذیب کند(ویژگی غیرقابل انکار بودن).
امزوه تنوع گستردهای در زمینه پروتکلها به وجود آمده است و شرکتهای مختلف برای رفع معایب امضای دیجیتال و ایجاد امنیت هر چه بیشتر در این ساختار تلاش هی چشمگیری انجام
▲به عنوان مثال؛ پروتکل امنیت لایههای حمل اطلاعات یک پروتکل رمزنگاری است که برای حفظ امنیت اتصالات در سطح وب را تامین میکند. طرز کار این پروتکل بر مبنای سیستم ۵۰۹X. است که یک مرحله تولید کلید و با استفاده از کلید عمومی و روش رمزنگاری با کلید عمومی دادهها را در سطح برنامهها حمل میکند . ولی این پروتکل نمیتواند ویژگی غیرقابل انکار بودن رمزنگاری را تامین کند. انواع دیگری از [[پروتکلهای رمزنگاری]] وجود دارند که برخی از آنها خود شامل چندین پروتکل مختلف دیگر میشوند
▲امزوه تنوع گستردهای در زمینه پروتکلها به وجود آمده است و شرکتهای مختلف برای رفع معایب امضای دیجیتال و ایجاد امنیت هر چه بیشتر در این ساختار تلاش هی چشمگیری انجام داده اند.
به طور کلی، یک پروتکل رمزنگاری، مجموعهای از قواعد و روابط ریاضی است که چگونگی ترکیب کردن الگوریتمهای رمزنگاری و استفاده از آنها به منظور ارائه یک سرویس رمزنگاری خاص در یک کاربرد خاص را فراهم میسازد.
معمولاً یک پروتکل رمزنگاری مشخص میکند که اطلاعات موجود در چه قالبی باید قرار گیرند.
چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود
کدامیک از الگوریتمهای رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند
روابط ریاضی چگونه به اطلاعات عددی اعمال شوند
چه اطلاعاتی باید بین طرف ارسالکننده و دریافتکننده رد و بدل شود
چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است
─
==
با توضیحاتی که دربارهٔ اجرای طرح امضای دیجیتال ارائه شد به نظر میرسد این روش میتواند نیازهای مجموعه را
== پیوند به بیرون ==
|