با استانداردهای امنیتی توکن امضای دیجیتال آشنا شوید
حتماً برای شما هم پیش آمده، هنگامی که مشخصات فنی یک محصول را مطالعه میکنید با اصطلاحات و استانداردهای مختلفی برخورد کنید. استانداردهای توکن امنیتی امضای دیجیتال، ویژگیها و مشخصات فنی خاصی دارد که ممکن است مورد سوال باشد. از طرفی، برای اینکه بتوانید توکنهای امضای دیجیتال موجو در بازار را با هم مقایسه کرده و بهترین سختافزار را انتخاب کنید، لازم است با مفاهیم و استانداردهای توکن امنیتی امضای دیجیتال و قابلیتهای آن آشنا شوید.
در این مقاله قصد داریم، استانداردها، پروتکلها، گواهینامهها و پلتفرمهای مرتبط با سختافزار توکن امضای دیجیتال را بیان کنیم. در انتها این موارد را با مشخصات فنی توکن امضای دیجیتال epass3003 شرکت رهآورد سامانههای امن بررسی کنیم.
آتنا جانجانی، شرکت رهسا
4 دقیقه مطالعه | 19 دی 1403
فهرست مطالب
امضای دیجیتال و زیرساخت کلید عمومی
توکن امضای دیجیتال (توکن امنیتی) یک ابزار سختافزاری امن USB است (یو اس بی توکن) که برای ذخیرهسازی و مدیریت کلیدهای خصوصی در زیرساخت کلید عمومی (PKI) استفاده میشود. این دستگاه با بهرهگیری از الگوریتمهای رمزنگاری پیشرفته مانند RSA و ECC، امکان امضای دیجیتال اسناد، احراز هویت کاربران و رمزگذاری دادهها را فراهم میکند. زیرساخت کلید عمومی با استفاده از جفت کلیدهای عمومی و خصوصی، یک چارچوب امن برای تبادل اطلاعات در شبکههای کامپیوتری ایجاد میکند.
توکنهای امضای دیجیتال با پشتیبانی از استانداردهای جهانی مانند PKCS#11، Microsoft CryptoAPI و OpenSSL، سازگاری گستردهای با سیستمعاملهای مختلف از جمله Windows، Linux و macOS دارند. این سازگاری به همراه ویژگیهای امنیتی پیشرفته مانند مقاومت در برابر دستکاری فیزیکی، رمزنگاری سختافزاری و مدیریت امن کلیدها، توکنهای امضای دیجیتال را به ابزاری ضروری برای تجارت الکترونیک، دولت الکترونیک و سایر کاربردهای نیازمند امنیت بالا تبدیل کرده است.
علاوه بر این، پشتیبانی از استانداردهای بینالمللی مانند X.509 و قابلیت یکپارچهسازی با زیرساختهای موجود، استفاده از این توکنها را در محیطهای سازمانی و شبکههای گسترده تسهیل میکند. در ادامه استانداردها و الگوریتمهای رمزنگاری، پروتکلها و پلتفرمهای ارتباطی، استانداردهای توکن امنیتی و گواهینامههای مرتبط با امضای دیجیتال ذکر میشوند.
استانداردهای توکن امنیتی امضای دیجیتال: رمزنگاری
رمزنگاری، هنر و علم محافظت از اطلاعات از طریق تبدیل آنها به فرمتی غیرقابل خواندن برای افراد غیرمجاز است. این دانش، امروزه به یکی از ارکان اصلی امنیت دیجیتال تبدیل شده است. در دنیای مدرن، رمزنگاری نقشی حیاتی در حفاظت از دادههای حساس، تراکنشهای مالی، ارتباطات دیجیتال و حریم خصوصی کاربران ایفا میکند. الگوریتمهای رمزنگاری به دو دسته کلی متقارن (با کلید مشترک) و نامتقارن (با کلید عمومی و خصوصی) تقسیم میشوند، که هر کدام کاربردها و مزایای خاص خود را دارند. پیشرفتهای مداوم در علوم کامپیوتر و ظهور تهدیدات جدید امنیتی، باعث تکامل مستمر این الگوریتمها و معرفی استانداردهای قویتر شده است. در ادامه الگوریتمهای رمزنگاری مورد استفاده در زیرساخت کلید عمومی امضای دیجیتال شرح داده میشوند.
استانداردهای رمزنگاری SHA-1 و SHA-256 – استانداردهای امنیتی یو اس بی توکن
توابع هش رمزنگاری SHA (Secure Hash Algorithm) از مهمترین خانوادههای توابع هش در دنیای امنیت اطلاعات هستند. این توابع که توسط آژانس امنیت ملی آمریکا (NSA) طراحی و توسط NIST استاندارد شدهاند، نقش حیاتی در تضمین یکپارچگی دادهها و احراز هویت دیجیتال ایفا میکنند.
SHA-1 که در سال ۱۹۹۵ معرفی شد، به مدت طولانی استاندارد صنعتی برای تولید اثر انگشت دیجیتال (Digital Fingerprint) بود. این الگوریتم با تبدیل ورودیهای با طول دلخواه به یک رشته ۱۶۰ بیتی، در بسیاری از پروتکلهای امنیتی، سیستمهای کنترل نسخه و گواهینامههای دیجیتال مورد استفاده قرار گرفت. اما در سال ۲۰۱۷، با موفقیت گوگل در ایجاد اولین collision عملی، ضعفهای امنیتی آن آشکار شد.
SHA-256 که بخشی از خانواده SHA-2 است، پاسخی به نیاز روزافزون به امنیت بیشتر بود. این الگوریتم با تولید هش ۲۵۶ بیتی، سطح امنیتی بالاتری را فراهم میکند.
امروزه SHA-256 به عنوان یکی از امنترین و پرکاربردترین توابع هش شناخته میشود و نقش کلیدی در زیرساختهای امنیتی مدرن دارد. این الگوریتم با وجود پیچیدگی محاسباتی بیشتر نسبت به SHA-1، به دلیل امنیت بالاتر، انتخاب اصلی برای کاربردهای حساس امنیتی است.
SHA-1:
- تولید هش ۱۶۰ بیتی (۴۰ کاراکتر هگزادسیمال)
- امروزه به دلیل آسیبپذیریهای امنیتی منسوخ شده است
- در سال ۲۰۱۷ گوگل موفق به ایجاد collision در این الگوریتم شد
- هنوز در برخی پروتکلهای قدیمی استفاده میشود
SHA-256:
- تولید هش ۲۵۶ بیتی (۶۴ کاراکتر هگزادسیمال)
- بخشی از خانواده SHA-2
- مقاومت بالا در برابر حملات collision
- استفاده گسترده در بلاکچین و ارزهای دیجیتال
استانداردهای رمزنگاری AES برای توکن امضای دیجیتال
الگوریتم رمزنگاری پیشرفته (Advanced Encryption Standard) یا AES-128 یکی از پرکاربردترین و امنترین الگوریتمهای رمزنگاری متقارن در دنیای امروز است. این الگوریتم که در سال ۲۰۰۱ توسط NIST به عنوان استاندارد رمزنگاری انتخاب شد، جایگزین الگوریتم قدیمی DES گردید.
AES 128-bit:
- الگوریتم رمزنگاری متقارن بلوکی
- جایگزین استاندارد DES از سال ۲۰۰۱
- اندازه بلوک ۱۲۸ بیت
- طول کلید ۱۲۸ بیت (نسخههای ۱۹۲ و ۲۵۶ بیتی هم موجود است)
- ساختار SPN (Substitution-Permutation Network)
- ۱۰ دور رمزنگاری
با وجود اینکه AES-128 نسبت به نسخههای ۱۹۲ و ۲۵۶ بیتی از طول کلید کوتاهتری استفاده میکند، همچنان برای اکثر کاربردها امنیت کافی را فراهم میکند. برای شکستن این الگوریتم با حمله جستجوی جامع، نیاز به آزمایش 2 به توان 128 کلید مختلف است که حتی با قدرتمندترین سوپرکامپیوترهای موجود، غیرعملی است.
استانداردهای رمزنگاری DES و 3DES برای توکن امنیتی
الگوریتم رمزنگاری DES (Data Encryption Standard) یکی از قدیمیترین و شناختهشدهترین الگوریتمهای رمزنگاری متقارن است که در سال ۱۹۷۷ توسط موسسه ملی استاندارد و فناوری آمریکا (NIST) به عنوان یک استاندارد فدرال پذیرفته شد. این الگوریتم که توسط IBM طراحی شده بود، برای بیش از دو دهه به عنوان استاندارد اصلی رمزنگاری در سطح جهان مورد استفاده قرار گرفت.
با پیشرفت تکنولوژی و افزایش قدرت محاسباتی کامپیوترها، آسیبپذیریهای DES به تدریج آشکار شد. مهمترین نقطه ضعف آن، طول کلید ۵۶ بیتی بود که در برابر حملات جستجوی جامع (Brute Force) آسیبپذیر شد. در پاسخ به این چالش، در اواخر دهه ۱۹۷۰، نسخه تقویت شدهای به نام Triple DES یا 3DES معرفی شد.
3DES با اجرای سه مرتبهای الگوریتم DES و استفاده از دو یا سه کلید مختلف، امنیت بیشتری را فراهم میکند. این الگوریتم با افزایش طول موثر کلید به ۱۶۸ بیت (در حالت سه کلیدی)، مقاومت قابل توجهی در برابر حملات متداول ایجاد کرد. اگرچه 3DES از نظر امنیتی قابل اعتمادتر از DES است، اما سرعت پایینتر آن (حدود سه برابر کندتر از DES) و ظهور الگوریتمهای مدرنتر مانند AES، باعث شده که امروزه استفاده از آن محدود به سیستمهای قدیمی و برخی کاربردهای خاص شود.
DES (Data Encryption Standard):
- الگوریتم رمزنگاری متقارن با کلید ۵۶ بیتی
- استفاده از شبکه فیستل در ۱۶ دور
- به دلیل طول کلید کوتاه، امروزه ناامن محسوب میشود
- قابل شکستن با حمله brute force در زمان معقول
3DES (Triple DES):
- اجرای سه مرتبه الگوریتم DES با کلیدهای مختلف
- طول کلید موثر ۱۶۸ بیتی
- سرعت پایینتر نسبت به AES
- هنوز در برخی سیستمهای legacy استفاده میشود
این الگوریتمها نقش مهمی در تکامل علم رمزنگاری داشتهاند و درسهای آموخته شده از آنها در طراحی الگوریتمهای مدرنتر مورد استفاده قرار گرفته است.
استانداردهای رمزنگاری RSA 1024/2048 در توکن سختافزاری
الگوریتم RSA که نام آن برگرفته از نام طراحان آن (Rivest, Shamir, Adleman) است، یکی از مهمترین دستاوردهای رمزنگاری مدرن محسوب میشود. این الگوریتم در سال ۱۹۷۷ معرفی شد و اولین الگوریتم رمزنگاری نامتقارن عملی بود که هم برای رمزنگاری و هم برای امضای دیجیتال مناسب است.
RSA بر پایه یک اصل ریاضی ساده اما قدرتمند بنا شده است: دشواری تجزیه حاصلضرب دو عدد اول بزرگ. این مسئله که به “فاکتورگیری اعداد بزرگ” معروف است، پایه امنیتی RSA را تشکیل میدهد. در حالی که ضرب دو عدد اول بزرگ ساده است، یافتن این اعداد اول از روی حاصلضرب آنها، حتی با قدرتمندترین کامپیوترهای امروزی، بسیار دشوار و زمانبر است.
RSA-1024:
- طول کلید ۱۰۲۴ بیت
- امروزه برای کاربردهای حساس توصیه نمیشود
RSA-2048:
- طول کلید ۲۰۴۸ بیت
- استاندارد فعلی برای امنیت مناسب
- مقاومت خوب در برابر حملات کوانتومی
پلتفرمهای ارتباط با الگوریتمهای رمزنگاری – استاندارهای توکن امنیتی
PKCS#11 و CSP استانداردهای توکن امنیتی امضای دیجیتال برای تعامل با عملیات رمزنگاری پشتیبانی است. این دو شباهتها و تفاوتهایی از نظر پلتفرم، کاربرد، یکپارچگی و قابلیت همکاری دارند که در ادامه میشود.
(پلتفرم:
- CSP: مختص ویندوز
- PKCS#11: مستقل از پلتفرم
کاربرد:
- CSP: بیشتر در محیطهای ویندوزی
- PKCS#11: استفاده گسترده در توکنهای سختافزاری (یو اس بی توکن) و کارتهای هوشمند
یکپارچگی:
- CSP: یکپارچگی بهتر با سرویسهای ویندوز
- PKCS#11: استاندارد جهانی با سازگاری بیشتر
قابلیت همکاری:
- امکان استفاده همزمان از هر دو استاندارد
- برخی محصولات از هر دو پشتیبانی میکنند
- امکان ایجاد پل ارتباطی بین دو استاندارد
CSP (Cryptographic Service Provider)
CSP چارچوب اختصاصی مایکروسافت ویندوز است که توابعی از قبیل رمزنگاری، رمزگشایی، امضای دیجیتال و هش را برای برنامههای کاربردی فراهم میکند. CSP ها در واقع یک اینترفیس استاندارد برای تعامل با الگوریتمهای رمزنگاری و تجهیزات سختافزاری منطبق بر سیستم عامل ویندوز است.
CSPها یک مسیر امن جهت دسترسی برنامههای کاربردی به توابع رمزنگاری بدون نیاز به تعامل مستقیم با سختافزار یا ماجولهای رمزنگاری را بوجود میآورد. آنها میتوانند با انواع مختلف دستگاههای رمزنگاری از جمله ماجولهای امنیتی سختافزاری (HSM)، کارتهای هوشمند و کتابخانههای رمزنگاری نرمافزاری تعامل داشته باشند. CSP یک رابط برنامهنویسی (API) استاندارد برای عملیات رمزنگاری در ویندوز است. در ادامه به بررسی جزئیات آن میپردازیم:
مشخصات اصلی CSP:
ارائه خدمات رمزنگاری پایه مانند:
- تولید کلید
- رمزنگاری متقارن و نامتقارن
- امضای دیجیتال
- تولید اعداد تصادفی
- مدیریت گواهینامههای دیجیتال
پشتیبانی از الگوریتمهای مختلف رمزنگاری مانند:
- RSA
- DES/3DES
- AES
- SHA
کاربردهای اصلی:
- امنیت ارتباطات شبکه
- احراز هویت کاربران
- امضای دیجیتال اسناد
- رمزنگاری فایلها و دادهها
- مدیریت کلیدها و گواهینامههای دیجیتال
PKCS#11 (Public Key Cryptography Standard #11)
PKCS#11 یک استاندارد بینالمللی است که به عنوان “رابط توکن رمزنگاری” شناخته میشود. این استاندارد در واقع مانند یک زبان مشترک بین برنامهها و دستگاههای امنیتی عمل میکند و به برنامهها اجازه میدهد تا با توکنهای امنیتی مانند کارتهای هوشمند ارتباط برقرار کنند.
این استاندارد در موارد متعددی مانند کارتهای بانکی هوشمند، توکنهای امنیتی USB، امضای دیجیتال اسناد و ورود امن به سیستمها کاربرد دارد. از مزایای اصلی آن میتوان به امنیت بالا، قابلیت اجرا روی تمام سیستمعاملها، استاندارد جهانی بودن و پشتیبانی گسترده اشاره کرد.
به بیان سادهتر، PKCS#11 مانند یک مترجم جهانی است که به دستگاههای مختلف کمک میکند با یکدیگر ارتباط برقرار کنند، اطلاعات را امن نگه دارند، از کلیدهای رمزنگاری محافظت کنند و عملیات امنیتی را به درستی انجام دهند. این استاندارد که توسط شرکت RSA Security ایجاد شده، امروزه در سراسر دنیا مورد استفاده قرار میگیرد و در هر جایی که نیاز به امنیت بالا در تبادل اطلاعات باشد، احتمالاً PKCS#11 نقشی کلیدی در آن ایفا میکند.
برخلاف CSP که مخصوص سیستم عامل ویندوز است، PKCS#11 مستقل از پلتفرم بوده و به طور گسترده در سیستم عاملهای مختلف از جمله ویندوز، لینوکس و MacOS استفاده میشود. PKCS#11 مجموعهای استاندارد از توابع و داده را برای تعامل با توکنهای رمزنگاری و انجام عملیاتی مانند رمزنگاری، رمزگشایی، امضای دیجیتال و مدیریت کلید تعریف میکند. ساختار استاندارد PKCS#11 یک رابط مشترک برای ایجاد، استفاده و مدیریت گواهیها و کلیدهای رمزنگاری را تعریف میکند.
پروتکلهای امنیتی و استانداردهای ماژول کارت هوشمند (smart card)
استانداردها و پروتکلهای امنیتی مختلف در دنیای دیجیتال نقش مهمی در برقراری ارتباطات امن ایفا میکنند. X.509 v3 یک استاندارد برای گواهینامههای دیجیتال است که برای تأیید هویت و امنیت در ارتباطات دیجیتال استفاده میشود و به طور گسترده در SSL/TLS مورد استفاده قرار میگیرد. SSL v3 (و نسخه جدیدتر آن TLS) پروتکلی است که برای رمزگذاری ارتباطات در اینترنت استفاده میشود و امنیت لایه انتقال را تأمین میکند.
IPSec یک مجموعه پروتکل برای امنسازی ارتباطات در لایه IP است که معمولاً در VPNها استفاده میشود. ISO 7816 یک استاندارد بینالمللی برای ماژول کارت هوشمند (smart card) است که مشخصات فیزیکی، الکتریکی و پروتکلهای ارتباطی را تعریف میکند.
CCID (Chip Card Interface Device) یک استاندارد برای کارتخوانهای USB است که با کارتهای هوشمند کار میکنند. این استانداردها و پروتکلها به صورت یکپارچه با هم کار میکنند؛ به عنوان مثال، یک کارت هوشمند مطابق با ISO 7816 میتواند از طریق یک کارتخوان CCID به سیستم متصل شود و با استفاده از گواهینامه X.509 و پروتکل SSL/TLS، ارتباطات امن را برقرار کند، در حالی که IPSec میتواند لایه زیرین این ارتباطات را امن نگه دارد.
استانداردها و گواهینامههای امنیتی یو اس بی توکن
گواهینامهها و استانداردهایی که در ادامه ذکر میشوند، در کنار هم یک اکوسیستم امن و قابل اعتماد برای توکنهای امضای دیجیتال ایجاد میکنند. FIPS 140-2 و Common Criteria امنیت ماژول رمزنگاری را تضمین میکنند، RoHS و FCC CE ایمنی فیزیکی و زیستمحیطی را تأمین میکنند، و گواهینامههای سازگاری مانند WHQL و PCSC-Lite قابلیت استفاده در پلتفرمهای مختلف را فراهم میکنند. این استانداردها به کاربران اطمینان میدهند که توکن امضای دیجیتال آنها امن، قابل اعتماد و سازگار با سیستمهای مختلف است.
FIPS 140-2 Level 2:
این استاندارد توسط موسسه ملی استاندارد و فناوری آمریکا (NIST) برای ماژولهای رمزنگاری تعریف شده است. سطح ۲ این استاندارد شامل الزامات امنیت فیزیکی، مدیریت کلید و نقشها، و احراز هویت است. برای توکنهای امضای دیجیتال، این گواهینامه اطمینان میدهد که ماژول رمزنگاری از استانداردهای امنیتی لازم برخوردار است. برای آشنایی بیشتر با این استاندارد توجه شما را به مطالعه مقاله الزام استاندارد FIPS 140-2 توکن امضای دیجیتال جلب میکنیم.
Common Criteria EAL+5:
یک استاندارد بینالمللی برای ارزیابی امنیت محصولات IT است. سطح EAL +5 نشاندهنده سطح بالایی از امنیت در طراحی و پیادهسازی است. در مورد تراشههای امنیتی (Chip level)، این گواهینامه تضمین میکند که تراشه در برابر حملات فیزیکی و نرمافزاری مقاوم است.
RoHS:
یک دستورالعمل اتحادیه اروپا برای محدود کردن استفاده از مواد خطرناک در تجهیزات الکترونیکی است. این گواهینامه با امنیت ارتباط مستقیم ندارد، اما برای تولید محصولات سازگار با محیط زیست ضروری است.
FCC ,CE:
گواهینامههای تطابق با استانداردهای الکترومغناطیسی و ایمنی در آمریکا (FCC) و اروپا (CE) هستند. این گواهینامهها اطمینان میدهند که دستگاه با استانداردهای ایمنی و تداخل الکترومغناطیسی مطابقت دارد.
Entrust Ready:
گواهینامهای است که سازگاری محصول با راهکارهای Entrust را تأیید میکند. برای توکنهای امضای دیجیتال، این گواهینامه امکان استفاده از توکن با زیرساختهای Entrust را فراهم میکند.
Check Point:
یک گواهینامه سازگاری با محصولات امنیتی Check Point است. برای توکنهای امنیتی، این گواهینامه قابلیت استفاده از توکن در محیطهای امنیتی Check Point را تضمین میکند.
Microsoft WHQL:
گواهینامه کیفیت سختافزار ویندوز مایکروسافت است که سازگاری دستگاه با سیستمعامل ویندوز را تأیید میکند. گواهینامه مرتبط با استانداردهای توکن امنیتی امضای دیجیتال، نصب و استفاده آسان در محیط ویندوز را تضمین میکند.
Linux PCSC-Lite/LibCCID:
کتابخانههای متنباز برای ارتباط با کارتهای هوشمند در سیستمعامل لینوکس هستند. این استانداردها امکان استفاده از توکنهای امضای دیجیتال در محیط لینوکس را فراهم میکنند.
مشخصات فنی و استانداردهای امنیتی توکن امضای دیجیتال epass3003
اکنون که با استانداردها، گواهینامهها و پروتکلهای مرتبط با توکن امضای دیجیتال (استانداردهای توکن امنیتی) آشنا شدید، درک بهتری از موارد مندرج در جدول مشخصات توکن امضای دیجیتال epass3003 خواهید داشت. کلیه اطلاعاتی که در این مقاله ذکر شد را میتوانید در جدول زیر پیدا کنید.
جمع بندی
توکنهای امضای دیجیتال (یو اس بی توکن) امروزه کاربرد وسیعی در تعاملات و تراکنشهای مالی، اداری، ثبتی، قراردادی و غیره دارند. از آنجا که این توکنها مشخصات فنی پیچیدهای دارند، لازم است برای انتخاب و خرید آنها با استانداردها، گواهینامهها و اصطلاحات فنی این سختافزارها آشنا باشید.
توکن امضای دیجیتال epass3003 (توکن امنیتی امضای دیجیتال) یکی از کاملترین و بهترین سختافزارهای بازار کشور بوده که کلیه معیارهای امنیتی و استانداردهای رمزنگاری (استانداردهای توکن امنیتی) را شامل میشود. این توکن علاوه بر مزیتهای پشتیبانی و گارانتی مادامالعمر و تعویض بدون پرسش، به دلیل حمایت از طیف وسیعی از استانداردها و پروتکلهای رمزنگاری، سازگاری بسیار خوبی با سامانههای مختلف کشور دارد. از جمله این سامانهها میتوان به سامانه ستاد ایران، جمع تجارت، ثبت من، بانک ملت، راهداری، ثبت احوال و اسناد و بسیاری دیگر اشاره کرد. در این مقاله سعی کردیم تمامی مشخصات فنی و امنیتی سختافزار امضای دیجیتال را معرفی کنیم.