X.690

X.690 هو معيار ITU-T يحدد العديد من تنسيقات ترميز ASN.1 :

قواعد التشفير الأساسية (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)بدائي00
منطقيبدائي11
عدد صحيحبدائي22
سلسلة بتكلاهما33
أوكتيف سترينكلاهما44
باطلبدائي55
مُعرِّف الكائنبدائي66
واصف الكائنكلاهما77
خارجيتم بناؤه88
حقيقي (عائم)بدائي99
مُعَدَّةبدائي10أ
PDV مضمنتم بناؤه11ب
سلسلة UTF8كلاهما12ج
نسبيبدائي13د
وقتبدائي14هـ
محجوز15F
سلسلة وسلسلة منتم بناؤه1610
مجموعة ومجموعة منتم بناؤه1711
سلسلة رقميةكلاهما1812
سلسلة قابلة للطباعةكلاهما1913
سلسلة T61كلاهما2014
سلسلة نصية فيديوكلاهما2115
IA5Stringكلاهما2216
التوقيت العالمي المنسقكلاهما2317
التوقيت العامكلاهما2418
سلسلة الرسوماتكلاهما2519
سلسلة مرئيةكلاهما26
سلسلة عامةكلاهما27
سلسلة عالميةكلاهما281C
سلسلة الأحرفتم بناؤه291D
سلسلة BMPكلاهما301E
تاريخبدائي311F
وقت اليومبدائي3220
التاريخ والوقتبدائي3321
مدةبدائي3422
OID-IRIبدائي3523
معرف-نسبي-IRIبدائي3624

التشفير

تُشفّر وحدات المعرّف (الثمانيات) رقم فئة ونوع علامة ASN.1. كما تُشفّر ما إذا كانت وحدات المحتوى تمثل قيمة مُنشأة أو قيمة أولية. يمتد المعرّف على وحدة واحدة أو أكثر.

ثمانية 1الجزء 2 ... ن فقط إذا كان نوع الوسم > 30 10
8765432187654321
فئات العلامات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 في البايت الأول التالي.

ثمانية أطوال

هناك شكلان لطول الثمانيات: الشكل المحدد والشكل غير المحدد.

ثمانية أطوال أولى
استمارةأجزاء
87654321
محدد، قصير0الطول (0-127)
غير محدد10
محدد، طويل1عدد الثمانيات التالية (1-126)
محجوز1127

الصيغة المحددة

يُشفّر هذا عدد وحدات البايت للمحتوى، ويُستخدم دائمًا إذا كان النوع بدائيًا أو مُنشأً وكانت البيانات متاحة فورًا. يوجد شكل قصير وشكل طويل، يُمكنهما تشفير نطاقات أطوال مختلفة. تُشفّر البيانات الرقمية كأعداد صحيحة غير مُوقّعة، مع وضع البت الأقل أهمية دائمًا أولًا (إلى اليمين).

يتكون الشكل المختصر من ثمانية بتات حيث تكون البتة 8 هي 0، وتقوم البتات من 1 إلى 7 بترميز الطول (الذي قد يكون 0) كعدد من الثمانيات.

يتكون الشكل الطويل من ثمانية بتات ابتدائية واحدة، تليها ثمانية بتات أو أكثر، تحتوي على الطول. في الثمانية الأولى، تكون البتة 8 تساوي 1، بينما تُشفّر البتات من 1 إلى 7 (باستثناء القيمتين 0 و127) عدد الثمانيات اللاحقة. [ 1 ] تُشفّر الثمانيات اللاحقة، بنظام Big-Endian، الطول (الذي قد يكون 0) كعدد من الثمانيات.

مثال مطول، طوله 435
ثمانية 1ثمانية 2ثمانية 3
100000100000000110110011
الشكل الكاملثمانية أطوال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 هي:

  1. يجب أن يستخدم ترميز الطول الشكل المحدد
    • بالإضافة إلى ذلك، يجب استخدام أقصر ترميز ممكن للطول
  2. يجب أن تستخدم سلاسل البتات، وسلاسل الأوكتيت، وسلاسل الأحرف المقيدة التشفير البدائي
  3. يتم ترميز عناصر المجموعة بترتيب مُرتب، بناءً على قيمة الوسم الخاصة بها.

يُستخدم 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 هو تنسيق شائع لنقل البيانات، لا سيما في الأنظمة ذات ترميزات البيانات الأصلية المختلفة.

بالمقارنة، يتم استخدام ترميز DER الأكثر تحديدًا على نطاق واسع لنقل الشهادات الرقمية مثل X.509 .

انظر أيضاً

مراجع

  1. 1 2 3 4 تكنولوجيا المعلومات - قواعد ترميز ASN.1: مواصفات قواعد الترميز الأساسية (BER) وقواعد الترميز المتعارف عليها (CER) وقواعد الترميز المميزة (DER) ، ITU-T X.690، 07/2002
  2. "قاعدة بيانات توصيات الاتحاد الدولي للاتصالات - تقييس الاتصالات" .
  3. لين، هواي-آن. "تقدير الأداء الأمثل لصيغة نقل ASN.1/BER". مجلة ACM لمراجعة اتصالات الحاسوب. يوليو 93، 45-58.
  4. توصية ITU-T X.892، ISO/IEC 24824-2
  5. ITU-T X.694، ISO/IEC ISO/IEC 8825-5