معمولا امضاهای دیجیتالی با امضاهای الکترونیکی اشتباه گرفته میشوند، در حالی که امضاهای الکترونیکی صرفا عبارتند از کپیهای اسکن شده از یک امضای دستی؛ در برخی کشورها از جمله ایالات متحده آمریکا و کشورهای عضو اتحادیه اروپا، امضاهای الکترونیکی اعتبار قانونی دارند.
شرکتهای معتبری که خدماتی مثل خریدهای اینترنتی ارائه میدهند به سیستم محافظت کنندهای مطمئنی هم مجهز هستند، مثلاً امضاهای دیجیتالی. این امضاها مثل رمزنویسی است. از طریق این امضای دیجیتالی که اطلاعات رو قفل میکنید و مطمئن میشوید که کس دیگری به آنها دسترسی پیدا نمیکند. این اطمینان تضمین شده است .
وب سایتهای اینترنتی که این قفلهای مطمئن را در اختیار دارند به راحتی قابل تشخیصاند. وقتی وارد این سایتها میشوید یک کلید زرد رنگ کوچک در سمت چپ صفحه میبینید. این یعنی اینکه اطلاعاتی که فرستنده ارسال میکند قفل شده به گیرنده میرسند، اطلاعات را کس دیگری نمیتواند بخواند و یا تغییر بدهد. گیرنده برنامه مخصوصی در اختیار دارد که قفل اطلاعات فرستاده شده را باز میکند. برنامه پیچیدهای که به راحتی هک شدنی نیستند.
امضاهای دیجیتالی نوعی رمزنگاری نامتقارن را به کار میگیرند. برای پیغامهای ارسال شده از طریق یک کانال ناامن، یک امضای دیجیتالی مناسب به گیرنده این اطمینان را میدهد که این پیغام قطعا توسط فرد مورد نظر ارسال شده است.
افراد خرابکار بسیاری در اینترنت حضور دارند که میتوانند با سرقت هویت باعث دردسر شما و یا سازمان شما گردند. به همین دلیل شرکتهایی ایجاد شدهاند که با فروش امضای دیجیتالی، در پروسه تایید هویت و اعتبار به شما کمک میکند.
امضاهای دیجیتالی از بسیاری جهات مشابه امضاهای دستی سنتی هستند، با این تفاوت که جعل یک امضای دیجیتالی خوب بسیار سختتر از جعل یک امضای دستی و مبتنی بر رمزنگاری هستند و باید به شکل مناسبی به کار گرفته شوند تا مفید واقع گردند.
بعضی شیوههای جدید تنها برای سندیت بخشیدن به یک موجودیت جهت مجوزدهی به دسترسی، استفاده میشوند؛ برای مثال نباید یک سیستم تشخیص هویت انگشتنگاری کامپیوتری، یک امضای دستی اسکن شده یا وارد کردن اسم شخص در انتهای یک E-mail را به عنوان یک جایگزین معتبر برای امضاهای دستی پذیرفته زیرا همه عملکردهای یک امضای دستی را نخواهد داشت.با امضا کردن در پای یک نوشته امضا کننده هویت خود را به عنوان نویسنده مشخص میکند، جامعیت سند را تأیید نموده و بیان میدارد که به محتویات آن متعهد و پایبند میباشد.
۱ - در تولید آنها از اطلاعاتی که به طور منحصربهفرد در اختیار امضاکننده است، استفاده میشود.
۲ - به طور خودکار و توسط رایانه تولید میشوند.
۳ - امضای هر پیام وابسته به کلیه بیتهای پیام است و هر گونه دستکاری و تغییر در متن سند موجب مخدوش شدن امضای پیام میگردد.
۴ - امضای هر سندی متفاوت با امضای اسناد دیگر است.
۵ - باید به راحتی قابل بررسی و تأیید باشد تا از جعل و انکار احتمالی آن جلوگیری شود.
ساختار اصلی امضای دیجیتالی بدین صورت است که نویسنده اطلاعات الکترونیکی این اطلاعات را توسط کلید رمزنگاری محرمانه خود امضا میکند. این کلید باید توسط کاربر برای همیشه مخفی نگهداشته شود. امضا توسط کلید همگانی مربوطه امضا کننده، سند قابل کنترل میباشد. این کلید همگانی توسط عموم قابل رؤیت و دسترسی میباشد.
امضاهای دیجیتالی همچنین این خاصیت را دارند که فرستنده به سادگی نمیتواند آن را انکار نماید، مگر اینکه کلید خصوصی وی لو رفته باشد. همچنین برخی روشها از برچسب زمانی برای امضای دیجیتالی استفاده میکنند، درنتیجه حتی اگر کلید خصوصی لو برود، امضا معتبر باقی میماند.
امضای دیجیتالی یا همان قفل کردن اطلاعات، یک روش کاملاً ریاضی است. چیزی که لازم است شماره های رمزی است که یکطرفه عمل میکنند. رمزهای یکطرفه رمزهای هستند که فقط از یک جهت خوانده میشوند. اگر یک عدد جا به جا شود کل رمز باطل میشود.
یک طرح امضای دیجیتالی نوعا از سه الگوریتم تشکیل شده است؛ یک الگوریتم تولید کلید که کلید خصوصی را به طور یکنواخت و تصادفی از مجموعهای از کلیدهای خصوصی ممکن انتخاب میکند. این الگوریتم کلید خصوصی و یک کلید عمومی مرتبط با آن را ایجاد میکند.
یک الگوریتم امضا که یک پیغام و یک کلید خصوصی را دریافت کرده و با رمز کردن پیغام توسط کلید خصوصی فرستنده، امضا را تولید میکند. یک الگوریتم اعتباریابی امضا که یک پیغام، کلید عمومی و یک امضا را دریافت کرده و اعتبار پیغام را با رمزگشایی امضا توسط کلید عمومی فرستنده و مقایسه حاصل با پیغام اصلی، تایید و یا رد میکند.
در این میان دو ویژگی اساسی مورد نیاز است. نخست اینکه امضای تولید شده از یک پیغام ثابت و یک کلید خصوصی ثابت، باید بتواند هویت و اعتبار آن پیغام را با استفاده از کلید عمومی مربوطه مشخص کند. دوم اینکه تولید یک امضای معتبر برای کسی که کلید خصوصی را در اختیار ندارد از لحاظ محاسباتی باید غیرممکن باشد.
تایید هویت این کار به وسیله بررسی و تایید اعتبار این اطمینان را ایجاد میکند که آیا کاربر همان کسی که ادعا میکند هست یا خیر. وقتی مالکیت کلید خصوصی یک امضای دیجیتالی به یک فرد خاص متعلق باشد، یک امضای معتبر نشان میدهد که آن پیغام قطعا توسط همان فرد ارسال شده است. اهمیت این موضوع به خصوص در زمینههای مالی روشن میشود.
تمامیت داده امضاهای دیجیتالی تمامیت داده را تضمین میکنند و کاربر نگران این موضوع نخواهد بود که داده تصادفا یا عمدا جایگزین شده باشد. اگرچه رمزنگاری محتویات پیغام را پنهان میکند، تغییر محتوای پیغام رمز شده بدون فهمیدن محتوای آن ممکن است.
اما اگر یک پیغام امضای دیجیتالی داشته باشد، هر تغییری پس از امضا در این پیغام، امضا را غیرمعتبر میسازد. علاوه بر این، هیچ راه موثری برای تغییر یک پیغام و امضای آن و تولید یک پیغام جدید با امضای معتبر وجود ندارد.
محرمانگی امضاهای دیجیتالی محرمانگی را تضمین میکنند و اطمینان میدهند که پیغامها فقط توسط افراد شناخته شده و مجاز بازگشایی میگردند. زمانسنجی امضاهای دیجیتالی همچنین تاریخ و ساعت را نیز اعتبارسنجی میکنند. به همین دلیل فرستنده یا گیرنده نمیتوانند در مورد ارسال یا دریافت پیغام ادعای نادرستی مطرح کنند.
آیا وجود هر نامه الکترونیکی در صندوق پستی، نشان دهنده صحت محتوا و تأیید هویت فرد ارسال کننده آن است؟ امروزه سوء استفاده از آدرسهای Email برای مهاجمان و ویروسها به امری متداول تبدیل شده است و با توجه به نحوه عملکرد آنان در برخی موارد شناسایی هویت فرد ارسال کننده یک پیام بسیار مشکل و در برخی موارد غیر ممکن است. تشخیص غیر جعلی بودن نامههای الکترونیکی در فعالیتهای تجاری و بازرگانی دارای اهمیت فراوانی است. یک نامه الکترونیکی شامل یک امضای دیجیتال، نشان دهنده این موضوع است که محتوای پیام از زمان ارسال تا زمانی که به دست شما رسیده است، تغییر نکرده است. در صورت بروز هر گونه تغییر در محتوای نامه، امضای دیجیتال همراه آن از درجه اعتبار ساقط میشود.
قبل از آشنایی با نحوه عملکرد یک امضای دیجیتال، لازم است در ابتدا با برخی اصطلاحات مرتبط با این موضوع بیشتر آشنا شویم:
کلیدها (Keys):
از کلیدها به منظور ایجاد امضاهای دیجیتال استفاده میگردد. برای هر امضای دیجیتال، یک کلید عمومی و یک کلید خصوصی وجود دارد: کلید خصوصی، بخشی از کلید است که شما از آن به منظور امضای یک پیام استفاده مینمایید. کلید خصوصی یک رمز عبور حفاظت شده بوده و نمیبایست آن را در اختیار دیگران قرار داد. کلید عمومی، بخشی از کلید است که امکان استفاده از آن برای سایر افراد وجود دارد.
زمانی که کلید فوق برای یک حلقه کلید عمومی (public key ring) و یا یک شخص خاص ارسال میگردد، آنان با استفاده از آن قادر به بررسی امضای شما خواهند بود. حلقه کلید (Key Ring): شامل کلیدهای عمومی است. یک حلقه کلید از کلیدهای عمومی افرادی که برای شما کلید مربوط به خود را ارسال نموده و یا کلیدهایی که از طریق یک سرویس دهنده کلید عمومی دریافت نمودهاید، تشکیل میگردد. یک سرویس دهنده کلید عمومی شامل کلید افرادی است که امکان ارسال کلید عمومی در اختیار آنان گذاشته شده است.
اثرانگشت:
زمانی که یک کلید تأیید میگردد، در حقیقت منحصربهفرد بودن مجموعهای از حروف و اعداد که اثر انگشت یک کلید را شامل میشوند. تأیید میگردد.
گواهینامههای کلید:
در زمان انتخاب یک کلید از روی یک حلقه کلید، امکان مشاهده گواهینامه (مجوز) کلید وجود خواهد داشت. در این رابطه میتوان به اطلاعات متفاوتی نظیر صاحب کلید، تاریخ ایجاد و اعتبار کلید دست یافت.
تولید یک کلید با استفاده از نرمافزارهایی نظیر PGP (اقتباس شده از کلمات Pretty Good Privacy ) و یا GnuPG (اقتباس شده از کلمات GNU Privacy Guard ) معرفی کلید تولید شده به سایر همکاران و افرادی که دارای کلید میباشند.
ارسال کلید تولید شده به یک حلقه کلید عمومی تا سایر افراد قادر به بررسی و تأیید امضای شما گردند. استفاده از امضای دیجیتال در زمان ارسال نامههای الکترونیکی. اکثر برنامههای سرویس دهنده پست الکترونیکی دارای پتانسیلی به منظور امضای یک پیام میباشند.
حمله Key-only :
در این حمله، دشمن تنها کلید عمومی امضاکننده را میداند و بنابراین فقط توانایی بررسی صحت امضاهای پیامهایی را که به وی داده شدهاند، دارد.
حمله Known Signature :
دشمن، کلید عمومی امضاکننده را میداند و جفتهای پیام/امضا که به وسیله صاحب امضا انتخاب و تولید شده است را دیده است. این حمله در عمل امکانپذیر است و بنابراین هر روش امضایی باید در مقابل آن امن باشد.
حمله Chosen Message :
به دشمن اجازه داده میشود که از امضاکننده بخواهد که تعدادی از پیامهای به انتخاب او را امضا کند. انتخاب این پیامها ممکن است به امضاهای از قبل گرفته شده بستگی داشته باشد. این حمله در غالب حالات، ممکن است غیر عملی به نظر برسد، اما با پیروی از قانون احتیاط، روش امضایی که در برابر آن ایمن است، ترجیح داده میشود.
حمله Man-in-the-middle:
در این حمله، شخص از موقعیت استفاده کرده در هنگام مبادله کلید عمومی، کلید عمومی خود را جایگزین کرده و برای گیرنده میفرستد و بدینگونه میتواند به پیامها دسترسی داشته باشد بدون اینکه فرستنده و گیرنده، مطلع باشند.
کلید عمومی:
این کلید بخشی از سیستم تایید اعتبار است که هر کسی میتواند یک کپی از آن را در اختیار داشته باشد.
نام و آدرس ایمیل:
این بخش به عنوان اطلاعات ارتباطی و برای اینکه مشاهده کننده قادر به شناختن جزئیات باشد لازم است.
زمان انقضای کلید عمومی:
این بخش از امضا برای این است که امضا در گذر زمان تغییر کرده و سوء استفاده غیر ممکن باشد.
نام شرکت:
این بخش مشخص کننده شرکتی است که امضا به آن متعلق است.
شماره سریال شناسه دیجیتالی:
این بخش عدد یکتایی است که برای ردیابی به امضا ضمیمه شده است.
امضای دیجیتالی CA:
این امضایی است که توسط مرجعی که امضاها را تعریف و تایید میکند، ایجاد شده است. کاربر A ، دو کلید در اختیار دارد. یک کلید عمومی که به صورت عمومی برای دانلود در اختیار همه قرار دارد و یک کلید خصوصی که این کلید تنها در اختیار وی است. تمامی کلیدها برای قفل کردن اطلاعات در یک مد رمز شده مورد استفاده قرار میگیرند. همان کلیدها برای بازگشایی دادهها نیز مورد نیازند.
یک کاربر دیگر میتواند دادهها را با استفاده از کلید عمومی کاربر A رمز کند. کاربر A با استفاده از کلید خصوصی خود آن را خواهد گشود. بدون کلید خصوصی کاربر A، دادهها نمیتوانند رمزگشایی شوند.
امضای دیجیتالی میتواند برای خصوصی کردن ایمیلهای مستند و سایر دادهها مورد استفاده قرار گیرد. در سمت فرستنده، ابتدا سیستم کاربر A توسط تابع درهمسازی، خلاصهای از پیغام را تهیه میکند.
سپس این خلاصه توسط کلید خصوصی کاربر A رمزگذاری میشود و به این ترتیب امضا تهیه میگردد. پیغام اصلی نیز توسط کلید عمومی گیرنده رمزگذاری شده و به همراه امضا، برای گیرنده ارسال میگردد.
در سمت گیرنده، فرآیند معکوس اتفاق میافتد. ابتدا نرم افزار کاربر B با استفاده از کلید عمومی کاربر A، امضا را رمزگشایی میکند. سپس پیغام اصلی نیز توسط کلید خصوصی رمزگشایی شده و در اختیار تابع درهم سازی قرار میگیرد تا خلاصه آن تهیه شود. یکسان بودن پیغام حاصل از دو پروسه، نشان میدهد که این پیغام متعلق به کاربر A است.
یک مرکز گواهی هویت (CA) در حقیقت مانند یک دفترخانه اسناد رسمی عمل میکند که الکترونیکی است. اسناد منتشر شده توسط این مرکز از اعتبار حقوقی و قانونی برخوردارند. وظیفه این مرکز نگهداری کلیدهای عمومی افراد و مشخصات آنها و صدور گواهی تایید تعلق یک کلید به یک فرد است.
یک گواهی تایید عبارت است از سندی که مشخصات صاحب یک کلید به همراه کلید عمومی آن فرد را در بر دارد. اگر فردی دارای کلید عمومی و خصوصی نباشد میتواند از CA درخواست کرده و زوج کلید خود را دریافت کند. همچنین اگر فردی بخواهد کلید عمومی یک فرد دیگر را پیدا کند، میتواند مشخصات وی را به CA داده و گواهی هویت فرد مزبور را دریافت کند.
البته خود این گواهی نیز توسط CA امضاء دیجیتالی میشود. فرد درخواست کننده با استفاده از کلید عمومی خود CA که به کاربران اعلان میشود، گواهی را رمزگشایی کرده و از صحت اطلاعات آن و تایید آن توسط CA اطمینان حاصل میکند.
برخی مراکز غیر معتبر در اینترنت نیز کلیدهایی را در اختیار کاربران قرار میدهند. اما کاربران باید حتما از این کلیدها اجتناب کرده و کلیدهای عمومی را صرفا از مراکز معتبر دریافت کنند. چرا که این کلیدهای غیرمعتبر، میتواند باعث لو رفتن پیغام محرمانه کاربران گردد.
منبع:developercenter.ir