اکس.۵۰۹ (به انگلیسی: X.509) در رمزنگاری، استانداردی برای تعریف قالب گواهی کلید عمومی است.[۱] از X.509 در خیلی از پروتکل‌های اینترنتی، شامل TLS/SSL که مبنای HTTPS (پروتکل امن برای مرور وب) است، استفاده می‌شود. از این استاندارد در کاربردهای آفلاین، مثل امضای الکترونیکی، نیز استفاده می‌شود.

X.509
Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks
وضعیتدر حال استفاده
سال آغاز۱۹۸۸؛ ۳۶ سال پیش (۱۹۸۸-خطا: زمان نامعتبر}})
آخرین ویرایش۱۰/۱۹
۱۴ اکتبر ۲۰۱۹؛ ۵ سال پیش (۲۰۱۹-14}})
سازمانITU-T
هیئتITU-T Study Group 17
استانداردهای پایهASN.1
استانداردهای مرتبطX.500
دامنهرمزنگاری
وبگاه

یک گواهی X.509 شامل یک کلید عمومی، یک هویت (نام رایانه میزبان، یا یک سازمان، یا یک فرد) و یک امضا (توسط مرجع گواهی یا امضای شخصی) است. وقتیکه یک گواهی توسط یک مرجع گواهی مورد اعتماد امضا شود، یا به روش دیگری معتبر شناخته شود، فردی که گواهی را دارد می‌تواند بر روی کلید عمومی موجود در آن تکیه کند تا با طرف دوم ارتباط امن برقرار کند، یا اسنادی را که توسط کلید خصوصی متناظر امضا شده‌است را تأیید کند.

در X.509 می‌توان لیست‌های ابطال گواهی تعریف کرد، که راهی برای توزیع اطلاعات دربارهٔ گواهی‌هایی است که از نظر مرجع امضا کننده، نامعتبراند؛ همچنین می‌توان یک الگوریتم اعتبارسنجی مسیر گواهی تعریف کرد که به گواهی‌ها امکان می‌دهد تا توسط گواهی CA میانی امضا شوند، که خود این گواهی هم توسط دیگر گواهی‌ها امضا می‌شود تا در نهایت به یک عنصر لنگر مطمئن برسیم.

X.509 توسط بخش استانداردسازی اتحادیه بین‌المللی مخابرات (ITU-T) و گروه مطالعاتی شماره ۱۷ تعریف شده‌است و مبتنی بر ASN.1 است، که آن هم یک استاندارد از ITU-T می‌باشد.

تاکنون سه نسخه از این استاندارد منتشر شده‌است. این استاندارد برای اولین بار در سال ۱۹۸۸ به عنوان قسمتی از استاندارد سرویس‌های دایرکتوری ITU X.500 منتشر شد. این استاندارد در سال ۱۹۹۳ مورد بازبینی مجدد قرار گرفت و به ساختار آن دو فیلد اضافه و به عنوان نسخه دوم منتشر شد. هدف از افزودن این دو فیلد، پشتیبانی از کنترل دسترسی به دایرکتوری بود. این استاندارد سپس مجدداً مورد بازبینی قرار گرفت و در RFC 2459 به ساختار آن تعدادی فیلد توسعه افزوده و سپس به عنوان نسخه سوم منتشر شد. هدف از افزودن این فیلدهای توسعه، ذخیره کردن اطلاعات اضافی در مورد گواهی دیجیتال مثل کاربردهای آن است. به‌طور کلی در حال حاضر اصطلاح X.509 تنها برای نسخه سوم این گواهی به کار می‌رود. تاکنون برای نسخه سوم این گواهی چندین RFC از جمله RFC 4325، RFC 4630 و RFC 5280 منتشر شده‌است. در هر یک از این RFCها تعدادی فیلد توسعه به استاندارد X.509 افزوده شده‌است.

ساختار گواهی

ویرایش

ساختار پیش‌بینی شده برای فیلدهای این گواهی با فرمت ASN.1 ذخیره می‌شوند. ASN1 استانداردی است که برای کد کردن و دیکد کردن داده‌ها در سطح شبکه به کارمی‌رود. دلیل استفاده از این نحوهٔ کدگذاری برای ذخیره گواهینامه X.509 مستقل از ماشین بودن این فرمت است و به راحتی توسط هر ماشینی قابل کد و دیکد کردن است. ساختار گواهی دیجیتالی x.509 نسخه ۳ به شکل زیر است:

توضیحات نام فیلد
این فیلد نشان‌دهندهٔ نسخه گواهی است Version
این فیلد دربردارندهٔ سریال گواهی است. این سریال باید به ازای هر مرکز صدور گواهی منحصربه‌فرد باشد. Serial Number
این فیلد نشان‌دهندهٔ روش تولید چکیده و الگوریتم رمزی است که این گواهی به وسیلهٔ آن توسط مرکز صدور گواهی امضا شده‌است. Signature Algorithm
این فیلد اطلاعات صادرکننده گواهی را نشان می‌دهد. Issuer
این فیلد تاریخ شروع اعتبار گواهی را نشان می‌دهد. Valid from
این فیلد تاریخ پایان اعتبار گواهی را نشان می‌دهد. Valid to
این فیلد اطلاعات فرد یا مرکزی که گواهی برای او صادر شده‌است را نشان می‌دهد. Subject
این فیلد نشان‌دهندهٔ الگوریتمی است که کلید عمومی آن در این گواهی قرار داده شده‌است. مثل RSA یا DSA Algorithm
این فیلد حاوی کلید عمومی گواهی است Public Key
توضیح این فیلد در پایین جدول آورده شده‌است. Extensions

فیلد Extension

ویرایش

این قسمت از گواهی اختیاری است؛ و تنها در نسخه ۳ وجود دارد. این قسمت اطلاعات اضافی در مورد گواهی را دربرمی‌گیرد. این قسمت به هر تعداد دلخواه می‌تواند فیلد توسعه داشته باشد. هر یک از این فیلدهای توسعه برای خود یک شناسه دارد. به این شناسه اصطلاحاًOID گفته می‌شود. این OIDها را به‌طور کلی می‌توان به سه دسته تقسیم کرد.

  • قیدهای پایه‌ایی

این نوع OID برای اینکه مشخص کنند این گواهی متعلق به کدام مرکز صدور گواهی است به کار می‌رود.

  • قیدهای نحوه استفاده از کلید

این نوع OID مشخص کننده قیدهایی است که برای موارد استفاده کلید عمومی محدودیت ایجاد می‌کند؛ مثلاً مشخص می‌کند که کلید عمومی قرار گرفته در این گواهی تنها باید برای پروتکل SSL مورد استفاده قرار بگیرد نه امضای دیجیتال.

  • قیدهای توسعه‌ایی استفاده از کلید

این نوع OID نیز مثل نوع قبلی برای ایجاد قیدهایی بر روی نحوه استفاده از کلید به کار می‌رود. این OIDها جمع عام نیز دارد و افراد نیز می‌تواند با توجه به نیازشان برای خود OID جدید تعریف کنند. اما این OID از آنجایی که درون استاندارد X.509 تعریف نشده‌است تنها برای شخص صادر کننده گواهی معتبر است و در زمان اعتبار سنجی گواهی توسط افراد دیگر مفهوم خاصی نداشته و نادیده گرفته می‌شود.

پسوند فایل‌های گواهی‌های X.509

ویرایش

گواهی‌های X.509 با توجه به محتویاتشان پسوند متفاوتی دارند که پراستفاده‌ترین آن‌ها به شرح زیر است.

توضیحات پسوند فایل
از این پسوند برای ذخیره فایل گواهی کلید عمومی با فرمت ASN.1 DER استفاده می‌شود. این نوع فایل متداول‌ترین فرمت برای ذخیره گواهی امضای دیجیتال است. .cer
از این پسوند برای ذخیره فایل گواهی کلید عمومی DER در غالب فرمت Base64 استفاده می‌شود. .pem
از این دو فرمت برای ذخیرهٔ لیست سریال گواهی‌های لغو شده(CRL) استفاده می‌شود. .p7b , .p7c
از این فرمت برای ذخیرهٔ گواهی کلید عمومی به همراه کلید خصوصی متناظر با آن، در یک فایل استفاده می‌شود. .p12 , .pfx

نمونه گواهی

ویرایش

شکل زیر یک نمونه گواهی امضا شده توسط مرکز صدور گواهی زیرساخت ریشه ایران را نشان می‌دهد.

[Version]
V3
[Serial Number]
6107D34B000000000003
[Signature Algorithm]
sha1RSA(1.2.840.113549.1.1.5)
[Issuer]
CN=Islamic Republic of IRAN Root CA
Simple Name: Islamic Republic of IRAN Root CA
DNS Name: Islamic Republic of IRAN Root CA
[Not Before]
12/20/2010 3:13:00 AM
[Not After]
12/20/2026 3:23:00 AM
[Subject]
CN=Governmental General Intermediate CA, OU=Ministry of Commerce, OU=Iran Center for e-Commerce Development, OU=General Intermediate CA, O=I.R. Government, C=IR
Simple Name: Governmental General Intermediate CA
DNS Name: Governmental General Intermediate CA
[Algorithm]
RSA 2048 Parameters: 05 00
[Public Key]
30 82 01 0a 02 82 01 01 00 b6 e7 00 19 7b 40 fd cb 72 1a c8 38 67 f8 94 ca 54 3c d6 01 82 fc 52 8f 88 eb 21 24 00 44 54 7d a7 f5 5c 46 16 d2 fa 92 97 f5 e2 16 11 50 08 a4 f1 98 34 4a 14 d0 ff bc 92 20 38 62 c8 5c 21 e5 45 a6 02 03 b7 47 f3 5a a6 eb ea 3b a6 0b 4e 07 33 02 56 54 3c bf f5 0a 24 b4 7c 30 3b f6 f2 2b 2c 6b 0e 62 a9 07 d6 a8 44 ed ea 6a a7 54 10 67 4e 3a bd 95 b7 7e 92 5f b8 d3 69 73 0f 37 05 fa 51 5b fd bc 7d 33 b1 48 74 eb 90 ac 20 8b b5 b0 c6 d8 1c e9 aa 95 5a 97 2b f6 2b 92 29 d0 dd 50 ce 79 bc a5 32 99 b4 db 82 52 0e 64 78 48 0f b5 25 6d ec aa 6d 1e d0 d1 10 e9 dd d2 90 b0 c3 0c be 2f f1 69 c9 be 77 72 61 d8 52 2b 50 a7 c1 a3 3d b5 f1 92 72 0d 32 c7 06 19 21 2a 47 81 40 21 f6 a4 ee a7 2d 1f b1 35 07 96 d8 b3 ef e3 58 9f d8 f1 bc ef 00 4b f7 a9 ab 0d a1 57 9d c3 e6 31 02 03 01 00 01
[Extensions]

* Basic Constraints(2.5.29.19):
Subject Type=CA
Path Length Constraint=۴

* Subject Key Identifier(2.5.29.14):
2b 8c 99 0b 8a d3 26 6d 06 a6 d6 7d c7 eb bd 0f e1 0d 6b 0b

* Key Usage(2.5.29.15):
Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing (86)

* CA Version(1.3.6.1.4.1.311.21.1):
V0.0

* Certificate Policies(2.5.29.32):
[1]Certificate Policy:
Policy Identifier=۲٫۱۶٫۳۶۴٫۱۰۱٫۱٫۳٫۱
[1,1]Policy Qualifier Info:
Policy Qualifier Id=CPS
Qualifier:
http://www.mocca.ir/repository/cps-gica.pdf%7B%7Bسخ}}[پیوند مرده]

* Certificate Template Name(1.3.6.1.4.1.311.20.2):
SubCA

* Authority Key Identifier(2.5.29.35):
KeyID=fb 70 9f a6 ac ac 37 31 d7 1d 42 f9 fc 7d be 6e 7e c0 f9 74

* CRL Distribution Points(2.5.29.31):
[1]CRL Distribution Point
Distribution Point Name:
Full Name:
http://crl.rca.gov.ir/irica.crl%7B%7Bسخ}}[پیوند مرده]

واژگان

ویرایش
روش اعتبارسنجی مسیر گواهی certification path validation algorithm
زیرساخت کلید عمومی public key infrastructure فیلد توسعه Extension Field
قیدهای پایه‌ایی Basic Constraints
گواهی کلید عمومی public key certificates
لیست گواهی‌های لغو شده certificate revocation lists
OID= Object Identifier
ASN.1= Abstract Syntax Notation One

پانویس

ویرایش
  1. "X.509: Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks". ITU. Retrieved 6 November 2019.

منابع

ویرایش

مشارکت‌کنندگان ویکی‌پدیا. «X.509». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۴ آذر ۱۳۹۹.