X.690
X.690 هو معيار ITU-T يحدد العديد من تنسيقات ترميز ASN.1 :
- قواعد التشفير الأساسية (BER)
- قواعد الترميز الأساسية (CER)
- قواعد التشفير المميزة (DER)
قواعد التشفير الأساسية (BER) هي القواعد الأصلية التي وضعها معيار ASN.1 لتشفير البيانات إلى تنسيق ثنائي. وتُعرف هذه القواعد مجتمعةً باسم " صيغة النقل" في مصطلحات ASN.1، وهي تُحدد بدقة البايتات الثمانية (8 بتات) المستخدمة لتشفير البيانات.
يُحدد معيار X.680 صيغةً لتعريف أنواع البيانات، مثل: القيم المنطقية، والأعداد، والسلاسل النصية، والبنى المركبة. يتضمن كل تعريف نوع رقمًا تعريفيًا. يُعرّف X.680 عدة أنواع بيانات أولية ، مثل: BooleanType، وIntegerType، وOctetStringType. (يُتيح معيار ASN.1 أيضًا أنواعًا مُنشأة من أنواع أخرى). ترتبط الأنواع بفئة . على سبيل المثال، تُعد الأنواع الأولية جزءًا من الفئة العامة . أما الفئات الثلاث الأخرى ( application ، و private ، و context-specific ) فهي نطاقات مختلفة لدعم التخصيص لتطبيقات مُحددة. يُشكل كل من الفئة والنوع معًا علامةً ، والتي تُقابل تعريف بيانات فريدًا. يتضمن معيار X.690 قواعد لترميز هذه العلامات، وقيم البيانات (المحتوى)، وأطوال البيانات المُرمّزة.
يتم تعريف معدل الخطأ في البت (BER)، إلى جانب مجموعتين فرعيتين من معدل الخطأ في البت ( قواعد التشفير الأساسية وقواعد التشفير المميزة )، بواسطة وثيقة معايير X.690 الصادرة عن الاتحاد الدولي للاتصالات (ITU-T )، والتي تعد جزءًا من سلسلة وثائق ASN.1.
ترميز BER
تحدد قواعد التشفير الأساسية، بشكل عام، بروتوكولًا ذاتي الوصف والتحديد جزئيًا لتشفير هياكل بيانات ASN.1. يتم تشفير كل عنصر بيانات كمعرف نوع، ووصف للطول، وعناصر البيانات الفعلية، وعند الضرورة، علامة نهاية المحتوى. تُعرف هذه الأنواع من التشفير عادةً بتشفير النوع-الطول-القيمة (TLV). مع ذلك، في مصطلحات قواعد التشفير الأساسية، يُطلق عليها اسم مُعرف-طول-محتوى .
يُمكّن هذا النوع من التنسيق جهاز الاستقبال من فك تشفير معلومات ASN.1 من تدفق غير مكتمل، دون الحاجة إلى أي معرفة مسبقة بحجم البيانات أو محتواها أو معناها الدلالي، على الرغم من أنه سيتعين توفير بعض تفاصيل البروتوكول أو هندستها عكسيًا من عينات تمثيلية لحركة البيانات أو البرامج. [ 1 ]
يتكون ترميز البيانات من ثلاثة أو أربعة مكونات، بالترتيب التالي:
| نوع ثمانيات المعرف | طول الأوكتات | المحتويات، الثمانيات، القيمة | أجزاء نهاية المحتويات (فقط في حالة الصيغة غير المحددة ) |
لاحظ أنه إذا كان الطول يساوي صفرًا، فلن تكون هناك بايتات للمحتويات، أي النوع NULL. تُستخدم بايتات نهاية المحتويات فقط مع الشكل غير المحدد للطول.
ثمانيات المعرف
تُشفّر وحدات البايت الخاصة بمعرّف BER علامات ASN.1 . يمكن الاطلاع على قائمة علامات الفئة العامة في التوصية ITU-T X.680، البند 8، الجدول 1. [ 2 ] العلامات التالية أصلية في ASN.1:
| اسم | البناء المسموح به | رقم اللوحة | |
|---|---|---|---|
| عشري | النظام الست عشري | ||
| نهاية المحتوى (EOC) | بدائي | 0 | 0 |
| منطقي | بدائي | 1 | 1 |
| عدد صحيح | بدائي | 2 | 2 |
| سلسلة بت | كلاهما | 3 | 3 |
| أوكتيف سترين | كلاهما | 4 | 4 |
| باطل | بدائي | 5 | 5 |
| مُعرِّف الكائن | بدائي | 6 | 6 |
| واصف الكائن | كلاهما | 7 | 7 |
| خارجي | تم بناؤه | 8 | 8 |
| حقيقي (عائم) | بدائي | 9 | 9 |
| مُعَدَّة | بدائي | 10 | أ |
| PDV مضمن | تم بناؤه | 11 | ب |
| سلسلة UTF8 | كلاهما | 12 | ج |
| نسبي | بدائي | 13 | د |
| وقت | بدائي | 14 | هـ |
| محجوز | 15 | F | |
| سلسلة وسلسلة من | تم بناؤه | 16 | 10 |
| مجموعة ومجموعة من | تم بناؤه | 17 | 11 |
| سلسلة رقمية | كلاهما | 18 | 12 |
| سلسلة قابلة للطباعة | كلاهما | 19 | 13 |
| سلسلة T61 | كلاهما | 20 | 14 |
| سلسلة نصية فيديو | كلاهما | 21 | 15 |
| IA5String | كلاهما | 22 | 16 |
| التوقيت العالمي المنسق | كلاهما | 23 | 17 |
| التوقيت العام | كلاهما | 24 | 18 |
| سلسلة الرسومات | كلاهما | 25 | 19 |
| سلسلة مرئية | كلاهما | 26 | 1أ |
| سلسلة عامة | كلاهما | 27 | 1ب |
| سلسلة عالمية | كلاهما | 28 | 1C |
| سلسلة الأحرف | تم بناؤه | 29 | 1D |
| سلسلة BMP | كلاهما | 30 | 1E |
| تاريخ | بدائي | 31 | 1F |
| وقت اليوم | بدائي | 32 | 20 |
| التاريخ والوقت | بدائي | 33 | 21 |
| مدة | بدائي | 34 | 22 |
| OID-IRI | بدائي | 35 | 23 |
| معرف-نسبي-IRI | بدائي | 36 | 24 |
التشفير
تُشفّر وحدات المعرّف (الثمانيات) رقم فئة ونوع علامة ASN.1. كما تُشفّر ما إذا كانت وحدات المحتوى تمثل قيمة مُنشأة أو قيمة أولية. يمتد المعرّف على وحدة واحدة أو أكثر.
| ثمانية 1 | الجزء 2 ... ن فقط إذا كان نوع الوسم > 30 10 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| فئات العلامات | P/C | نوع الوسم (إذا كان 0-30 10 ) | الصيغة الطويلة | ||||||||||||
| 31 10 = الصيغة المطولة | 1=أكثر | 7 بتات من نوع Tag | |||||||||||||
في الجزء الأول من البيانات، يُشير البت 6 إلى ما إذا كان النوع بدائيًا أم مُنشأً، ويُشير البت 7-8 إلى فئة الوسم، بينما تُشير البتات 1-5 إلى نوع الوسم. القيم الممكنة هي:
| فصل | قيمة | وصف |
|---|---|---|
| عالمي | 0 | هذا النوع أصلي في ASN.1 |
| طلب | 1 | هذا النوع صالح لتطبيق واحد محدد فقط |
| خاص بالسياق | 2 | يعتمد معنى هذا النوع على السياق (مثل داخل تسلسل أو مجموعة أو اختيار). |
| خاص | 3 | محدد في مواصفات خاصة |
| P/C | قيمة | وصف |
|---|---|---|
| بدائي (P) | 0 | تقوم وحدات البايتات الموجودة في المحتويات بتشفير القيمة بشكل مباشر. |
| تم إنشاؤه (ج) | 1 | تحتوي وحدات البايت على 0 أو 1 أو أكثر من الترميزات. |
إذا كان نوع الوسم مناسبًا لحقل الوسم ذي الخمسة بتات (0-30 10 )، فإن المعرّف يشغل بايتًا واحدًا فقط: الصيغة المختصرة . أما إذا كان نوع الوسم أكبر من أن يتسع له حقل الوسم ذي الخمسة بتات (> 30 10 )، فيجب ترميزه في بايتات إضافية: الصيغة المطولة .
يُشفّر البايت الأول الفئة والنوع/البنية كما في السابق، وتكون البتات من 1 إلى 5 مساويةً لـ 1. يُشفّر رقم الوسم في البايتات التالية، حيث تكون البتة 8 من كل بايت مساويةً لـ 1 إذا كان هناك أكثر من بايت، وتُشفّر البتات من 1 إلى 7 رقم الوسم. تُشفّر بتات رقم الوسم مجتمعةً، بنظام Big-Endian ، رقم الوسم. يجب تشفير أقل عدد ممكن من البايتات التالية؛ أي، يجب ألا تكون البتات من 1 إلى 7 جميعها مساويةً لـ 0 في البايت الأول التالي.
ثمانية أطوال
هناك شكلان لطول الثمانيات: الشكل المحدد والشكل غير المحدد.
| استمارة | أجزاء | |||||||
|---|---|---|---|---|---|---|---|---|
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
| محدد، قصير | 0 | الطول (0-127) | ||||||
| غير محدد | 1 | 0 | ||||||
| محدد، طويل | 1 | عدد الثمانيات التالية (1-126) | ||||||
| محجوز | 1 | 127 | ||||||
الصيغة المحددة
يُشفّر هذا عدد وحدات البايت للمحتوى، ويُستخدم دائمًا إذا كان النوع بدائيًا أو مُنشأً وكانت البيانات متاحة فورًا. يوجد شكل قصير وشكل طويل، يُمكنهما تشفير نطاقات أطوال مختلفة. تُشفّر البيانات الرقمية كأعداد صحيحة غير مُوقّعة، مع وضع البت الأقل أهمية دائمًا أولًا (إلى اليمين).
يتكون الشكل المختصر من ثمانية بتات حيث تكون البتة 8 هي 0، وتقوم البتات من 1 إلى 7 بترميز الطول (الذي قد يكون 0) كعدد من الثمانيات.
يتكون الشكل الطويل من ثمانية بتات ابتدائية واحدة، تليها ثمانية بتات أو أكثر، تحتوي على الطول. في الثمانية الأولى، تكون البتة 8 تساوي 1، بينما تُشفّر البتات من 1 إلى 7 (باستثناء القيمتين 0 و127) عدد الثمانيات اللاحقة. [ 1 ] تُشفّر الثمانيات اللاحقة، بنظام Big-Endian، الطول (الذي قد يكون 0) كعدد من الثمانيات.
| ثمانية 1 | ثمانية 2 | ثمانية 3 | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| الشكل الكامل | ثمانية أطوال | 110110011 2 = 435 10 بايتات محتوى | |||||||||||||||||||||
صيغة غير محددة
لا يُشفّر هذا طول البيانات إطلاقًا، بل يُشفّر أن بايتات المحتوى تنتهي عند بايتات العلامات. ينطبق هذا على الأنواع المُنشأة ويُستخدم عادةً إذا لم يكن المحتوى متاحًا فورًا وقت التشفير.
يتكون من ثمانية بتات واحدة، حيث تكون البتة 8 هي 1، والبتات من 1 إلى 7 هي 0. بعد ذلك، يجب أن تنتهي ثمانية بتات المحتوى باثنين من ثمانيات نهاية المحتويات .
المحتويات ثمانية
تُشفّر وحدات البايتات الموجودة في المحتوى قيمة بيانات العنصر. [ 1 ]
لاحظ أنه قد لا توجد أي وحدات بايت للمحتوى (وبالتالي، يكون طول العنصر صفرًا) إذا كان المطلوب فقط هو ملاحظة وجود كائن ASN.1 أو كونه فارغًا. على سبيل المثال، هذا هو الحال بالنسبة لقيمة ASN.1 NULL.
ترميز CER
قواعد التشفير المتعارف عليها (CER) هي صيغة محدودة من قواعد التشفير الأساسية (BER) لإنتاج صيغة نقل بيانات واضحة لا لبس فيها لهياكل البيانات الموصوفة في معيار ASN.1 . بينما تتيح قواعد التشفير الأساسية خيارات لكيفية تشفير قيم البيانات، فإن قواعد التشفير المتعارف عليها (CER) (بالإضافة إلى قواعد التشفير الأساسية DER ) تختار تشفيرًا واحدًا فقط من بين التشفيرات المسموح بها في قواعد التشفير الأساسية، مما يلغي باقي الخيارات. تُعد قواعد التشفير المتعارف عليها مفيدة عندما يكون من الضروري الحفاظ على التشفيرات، كما هو الحال في عمليات تبادل الأوراق المالية.
ترميز DER
قواعد التشفير المتميزة (DER) هي صيغة محدودة من قواعد التشفير الأساسية (BER) لإنتاج صيغة نقل واضحة لهياكل البيانات الموصوفة في معيار ASN.1 . ومثل قواعد التشفير الأساسية (CER) ، فإن ترميزات DER هي ترميزات BER صالحة. تُعتبر DER هي نفسها BER مع حذف جميع خيارات المُرسِل باستثناء خيار واحد.
يُعدّ DER مجموعة فرعية من BER، حيث يوفر طريقة واحدة فقط لترميز قيمة ASN.1. يُستخدم DER في الحالات التي تتطلب ترميزًا فريدًا، كما هو الحال في علم التشفير ، ويضمن أن بنية البيانات التي تحتاج إلى توقيع رقمي تُنتج تمثيلًا تسلسليًا فريدًا. يُمكن اعتبار DER شكلًا معياريًا لـ BER. على سبيل المثال، في BER، يُمكن ترميز القيمة المنطقية "صحيح" بأي من 255 قيمة بايت غير صفرية، بينما في DER، توجد طريقة واحدة فقط لترميز القيمة المنطقية "صحيح".
أهم قيود ترميز DER هي:
- يجب أن يستخدم ترميز الطول الشكل المحدد
- بالإضافة إلى ذلك، يجب استخدام أقصر ترميز ممكن للطول
- يجب أن تستخدم سلاسل البتات، وسلاسل الأوكتيت، وسلاسل الأحرف المقيدة التشفير البدائي
- يتم ترميز عناصر المجموعة بترتيب مُرتب، بناءً على قيمة الوسم الخاصة بها.
يُستخدم DER على نطاق واسع للشهادات الرقمية مثل X.509 .
مقارنة بين معدلات الخطأ في البت (BER) ومعدلات الخطأ في التكلفة (CER) ومعدلات الخطأ في التوزيع (DER).
يكمن الاختلاف الرئيسي بين تنسيق BER وتنسيقي CER وDER في المرونة التي توفرها قواعد التشفير الأساسية. وكما ذُكر سابقًا، فإن BER هي مجموعة قواعد التشفير الأساسية التي حددتها ITU-T X.690 لنقل هياكل بيانات ASN.1. وهي تُوفر للمرسلين قواعد واضحة لتشفير هياكل البيانات التي يرغبون في إرسالها، مع إتاحة بعض خيارات التشفير لهم. وكما هو منصوص عليه في معيار X.690، "تسمح قواعد التشفير الأساسية بالتشفيرات البديلة كخيار للمرسل. ويجب على المُستقبِلين الذين يدّعون التوافق مع قواعد التشفير الأساسية دعم جميع البدائل". [ 1 ]
يجب أن يكون جهاز الاستقبال مستعدًا لقبول جميع التشفيرات القانونية لكي يدّعي بشكل صحيح الامتثال لمعيار معدل خطأ البت (BER). في المقابل، يقيّد كل من CER وDER مواصفات الطول المتاحة إلى خيار واحد. ولذلك، يُعتبر كل من CER وDER شكلين محدودين من معيار BER، ويُستخدمان لتوضيح هذا المعيار.
يختلف كل من CER وDER في مجموعة القيود المفروضة على المُرسِل. ويكمن الفرق الأساسي بينهما في أن DER يستخدم صيغة طول محددة، بينما يستخدم CER صيغة طول غير محددة في حالات محددة بدقة. أي أن DER يحتوي دائمًا على معلومات الطول في بداية البيانات، بينما يستخدم CER وحدات البايت في نهاية المحتوى بدلًا من تحديد طول البيانات المُشفَّرة. ولهذا السبب، يتطلب CER بيانات وصفية أقل للقيم المُشفَّرة الكبيرة، بينما يتطلبها DER للقيم الصغيرة.
ولتسهيل الاختيار بين قواعد التشفير، توفر وثيقة معايير X.690 الإرشادات التالية:
تُعدّ قواعد التشفير المُميّزة أنسب من قواعد التشفير القياسية إذا كانت القيمة المُشفّرة صغيرة بما يكفي لتناسب الذاكرة المتاحة، وكان هناك حاجة لتجاوز بعض القيم المُتداخلة بسرعة. في المقابل، تُعدّ قواعد التشفير القياسية أنسب من قواعد التشفير المُميّزة إذا كانت هناك حاجة لتشفير قيم كبيرة جدًا بحيث لا تتسع بسهولة في الذاكرة المتاحة، أو إذا كان من الضروري تشفير جزء من القيمة وإرساله قبل توفر القيمة الكاملة. أما قواعد التشفير الأساسية، فهي أنسب من قواعد التشفير القياسية أو المُميّزة إذا كان التشفير يحتوي على قيمة مُحدّدة أو مجموعة من القيم، ولم تكن هناك حاجة للقيود التي تفرضها قواعد التشفير القياسية والمُميّزة.
انتقادات ترميز BER
هناك تصور شائع بأن خوارزمية BER "غير فعالة" مقارنةً بقواعد التشفير البديلة. وقد جادل البعض بأن هذا التصور يعود في المقام الأول إلى ضعف التطبيقات، وليس بالضرورة إلى وجود خلل جوهري في قواعد التشفير نفسها. [ 3 ] تعتمد هذه التطبيقات على المرونة التي توفرها BER لاستخدام منطق تشفير أسهل في التنفيذ، ولكنه ينتج عنه تدفق بيانات مُشفّر أكبر من اللازم. وسواء أكان هذا القصور حقيقيًا أم مجرد تصور، فقد أدى إلى ظهور عدد من مخططات التشفير البديلة، مثل قواعد التشفير المُعبأة ، التي تسعى إلى تحسين أداء BER وتقليل حجمه.
يجري تطوير قواعد تنسيق بديلة أخرى، توفر مرونة BER مع استخدام أنظمة ترميز بديلة. ومن أكثرها شيوعًا البدائل القائمة على XML، مثل قواعد ترميز XML وASN.1 SOAP . [ 4 ] إضافةً إلى ذلك، يوجد معيار لتحويل مخطط XML إلى مخطط ASN.1، والذي يمكن ترميزه باستخدام BER. [ 5 ]
الاستخدام
على الرغم من المشاكل التي يُنظر إليها، فإن BER هو تنسيق شائع لنقل البيانات، لا سيما في الأنظمة ذات ترميزات البيانات الأصلية المختلفة.
- تحدد بروتوكولات SNMP و LDAP نظام ASN.1 مع BER كنظام التشفير المطلوب.
- يستخدم معيار EMV لبطاقات الائتمان والخصم تقنية BER لترميز البيانات على البطاقة
- يحدد معيار التوقيع الرقمي PKCS #7 أيضًا ASN.1 مع BER لترميز الرسائل المشفرة وتوقيعها الرقمي أو غلافها الرقمي .
- تستخدم العديد من أنظمة الاتصالات، مثل ISDN وتوجيه المكالمات المجانية ومعظم خدمات الهاتف الخلوي ، ASN.1 مع BER إلى حد ما لنقل رسائل التحكم عبر الشبكة.
- يتم ترميز ملفات GSM TAP (إجراءات تحويل الحساب) و NRTRDE (تبادل بيانات التجوال في الوقت الحقيقي تقريبًا) باستخدام BER.
بالمقارنة، يتم استخدام ترميز DER الأكثر تحديدًا على نطاق واسع لنقل الشهادات الرقمية مثل X.509 .
انظر أيضاً
- كيربيروس
- قواعد التشفير المعبأة (PER، X.691)
- طبقة العرض التقديمي
- تنسيق تبادل البيانات المهيكلة ( SDXF )
- التسلسل
مراجع
- 1 2 3 4 تكنولوجيا المعلومات - قواعد ترميز ASN.1: مواصفات قواعد الترميز الأساسية (BER) وقواعد الترميز المتعارف عليها (CER) وقواعد الترميز المميزة (DER) ، ITU-T X.690، 07/2002
- ↑ "قاعدة بيانات توصيات الاتحاد الدولي للاتصالات - تقييس الاتصالات" .
- ↑ لين، هواي-آن. "تقدير الأداء الأمثل لصيغة نقل ASN.1/BER". مجلة ACM لمراجعة اتصالات الحاسوب. يوليو 93، 45-58.
- ↑ توصية ITU-T X.892، ISO/IEC 24824-2
- ↑ ITU-T X.694، ISO/IEC ISO/IEC 8825-5
روابط خارجية
- دليل RSA المبسط لمجموعة فرعية من ASN.1 وBER وDER، مؤرشف بتاريخ 15 مايو 2025 على موقع Wayback Machine.
- ITU-T X.690، ISO/IEC 8825-1
- ITU-T X.892، ISO/IEC 24824-2
- ITU-T X.694، ISO/IEC 8825-5
- PKCS 7
- مكتبة jASN1 مفتوحة المصدر لتشفير ASN.1 BER/DER بلغة Java من تطوير beanit
- مكتبة ASN1js JavaScript لترميز/فك ترميز ASN.1 BER متوفرة على GitHub، مرخصة بموجب رخصة GPL
- دليل أسلوب X.509 لبيتر غوتمان
- توصيات الاتحاد الدولي للاتصالات - قطاع تقييس الاتصالات
- توصيات سلسلة ITU-T X
- تنسيقات تسلسل البيانات
- التشفيرات
- ASN.1
