بروتوكول قابلية التشغيل البيني لإدارة المفاتيح

المشاركون في مؤتمر OASIS 2017 للتوافقية في مؤتمر RSA لعام 2017

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

صدر معيار KMIP لأول مرة عام 2010. وتتوفر برامج العميل والخادم تجاريًا من عدة موردين. [ 1 ] وتشرف منظمة OASIS على تطوير معيار KMIP . ويمكن الاطلاع على التفاصيل التقنية على صفحة KMIP الرسمية [ 2 ] وويكي kmip . [ 3 ]

وصف

يخزن خادم KMIP ويتحكم في الكائنات المُدارة ، مثل المفاتيح المتناظرة وغير المتناظرة، والشهادات، والكائنات المُعرّفة من قِبل المستخدم. ثم يستخدم العملاء البروتوكول للوصول إلى هذه الكائنات وفقًا لنموذج أمان تُطبّقه الخوادم. وتُوفّر عمليات لإنشاء الكائنات المُدارة، وتحديد موقعها، واستخدامها، واسترجاعها، وتحديثها.

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

يُعرَّف كل كائن بواسطة مُعرِّف كائن فريد وغير قابل للتغيير، يُنشئه الخادم، ويُستخدم للحصول على قيم الكائن. كما يمكن تزويد الكائنات المُدارة بعدد من سمات الاسم القابلة للتغيير ولكنها فريدة عالميًا ، والتي يمكن استخدامها لتحديد مواقع الكائنات.

أشياء

تشمل أنواع الكائنات المُدارة التي تتم إدارتها بواسطة KMIP ما يلي:

  • تُستخدم المفاتيح المتناظرة في خوارزميات مثل AES.
  • تُستخدم المفاتيح العامة والخاصة في الخوارزميات غير المتماثلة مثل RSA وDSA وECDH. تُستخدم كائنات منفصلة لتخزين المفتاح العام والخاص، وبالتالي قد يكون للمستخدم إذن بالوصول إلى أحدهما دون الآخر. عادةً ما تحتوي الكائنات المرتبطة على سمات ربط تتضمن المعرّف الفريد للكائن الآخر.
  • الشهادات ومفاتيح PGP.
  • مفاتيح التقسيم، حيث يمثل كل تقسيم كائنًا مميزًا يمكن إدارته بشكل مستقل عن التقسيمات الأخرى.
  • البيانات السرية، مثل كلمات المرور.
  • بيانات مبهمة للامتدادات المحددة من قبل العميل والخادم.
  • طلبات توقيع الشهادات.

العمليات

تشمل العمليات التي تقدمها شركة KMIP ما يلي:

  • إنشاء: إنشاء كائن مُدار جديد مثل مفتاح متماثل، وإرجاع المعرف.
  • إنشاء زوج مفاتيح: إنشاء كائنين يمثلان مفاتيح غير متماثلة.
  • الحصول على: استرجاع قيمة كائن ما باستخدام معرّفه الفريد. قد تكون القيمة المُسترجعة مُغلّفة (مُشفّرة) بمفتاح آخر موجود على الخادم لمزيد من الأمان.
  • التسجيل: تخزين قيمة مفتاح تم إنشاؤها خارجياً.
  • إضافة السمات، الحصول على السمات، تعديل السمات وتعيين السمة: يمكن استخدام هذه لمعالجة السمات القابلة للتغيير لكائن مُدار.
  • تحديد الموقع: استرجاع قائمة من الكائنات بناءً على مجموعة من الشروط.
  • إعادة إنشاء المفتاح، أو إعادة إنشاء زوج المفاتيح: إنشاء مفتاح جديد ليحل محل مفتاح موجود. توجد أيضًا خصائص يمكن استخدامها لتفعيل خاصية التدوير التلقائي للمفاتيح على الخادم بعد فترة زمنية محددة أو عدد معين من الاستخدامات. يُنقل الاسم إلى المفتاح الجديد، ويُستخدم عادةً لاسترجاع مفتاح لعمليات الحماية مثل التشفير والتوقيع. كما يمكن استرجاع المفتاح القديم باستخدام المعرّف الفريد لعمليات المعالجة مثل فك التشفير والتحقق من التوقيع.
  • (إعادة) التصديق - يصادق على الشهادة.
  • قم بتقسيم ودمج N من M مفتاحًا.
  • التشفير، فك التشفير، رمز التحقق من الرسالة، إلخ: عمليات تشفير تُجرى على خادم إدارة المفاتيح. يمكن تمييز المفتاح نفسه بأنه غير قابل للاستخراج، وفي هذه الحالة لا تغادر قيمته الخادم أبدًا.
  • التصدير والاستيراد: نقل المفاتيح من وإلى خوادم KMIP الأخرى.
  • التفعيل، إلغاء التفعيل، إلخ: عمليات لتنفيذ دورة حياة مفتاح NIST .
  • التغليف، فك التغليف: دعم خوارزميات ما بعد الكم .

دورة حياة المفتاح

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

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

بنية الرسالة

بروتوكول KMIP هو بروتوكول عديم الحالة ، حيث تُرسل الرسائل من العميل إلى الخادم، ثم ينتظر العميل عادةً الرد. قد يحتوي كل طلب على العديد من العمليات، مما يُمكّن البروتوكول من التعامل بكفاءة مع أعداد كبيرة من المفاتيح. كما يتضمن ميزات متقدمة لمعالجة الطلبات بشكل غير متزامن.

يحدد بروتوكول KMIP عدة أنواع مختلفة من التشفير. النوع الرئيسي هو تشفير الرسائل من نوع-طول-قيمة ، ويُسمى TTLV (الوسم، النوع، الطول، القيمة). تسمح هياكل TTLV المتداخلة بتشفير الرسائل المعقدة متعددة العمليات في رسالة ثنائية واحدة .

توجد أيضًا ترميزات XML و JSON محددة جيدًا للبروتوكول للبيئات التي لا يكون فيها النظام الثنائي مناسبًا.

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

إدارة النظام

يوفر KMIP آليات موحدة لإدارة خادم KMIP بواسطة عملاء إداريين مخولين بشكل مناسب باستخدام كائنات النظام.

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

يوفر KMIP أيضًا نظامًا للتزويد يسهل تزويد نقاط النهاية ببيانات الاعتماد باستخدام كلمات مرور بسيطة لمرة واحدة.

يمكن توفير قيم افتراضية للخصائص، بحيث لا يحتاج العملاء العاديون إلى تحديد معلمات التشفير وغيرها. على سبيل المثال، قد يُحدد مستخدم إداري أن جميع مفاتيح "SecretAgent" يجب أن تكون مفاتيح AES 192 بت مع ربط كتل CBC . عندها، يحتاج العميل فقط إلى تحديد رغبته في إنشاء مفتاح "SecretAgent" ليتم توفير هذه القيم الافتراضية. كما يُمكن فرض قيود على معلمات المفاتيح لتطبيق سياسة الأمان.

ملفات تعريف KMIP

يُعرّف بروتوكول KMIP أيضًا مجموعة من الملفات التعريفية ، وهي عبارة عن مجموعات فرعية من مواصفات KMIP تُظهر الاستخدام الشائع في سياق مُحدد. ويُقال إن تطبيقًا مُعينًا لبروتوكول KMIP مُطابق لملف تعريفي عندما يُلبي جميع المتطلبات المنصوص عليها في وثيقة مواصفات الملف التعريفي. وقد طرحت منظمة OASIS ملفات تعريفية مُتعددة تُوضح متطلبات الامتثال لمصفوفات التخزين [ 4 ] ومكتبات الأشرطة [ 5 ] ، ولكن يُمكن لأي مؤسسة إنشاء ملف تعريفي خاص بها.

العلاقة بـ PKCS#11

PKCS#11 هي واجهة برمجة تطبيقات (API) مكتوبة بلغة C تُستخدم للتحكم في وحدة أمان الأجهزة . توفر PKCS#11 عمليات تشفير وفك تشفير، بالإضافة إلى عمليات لإدارة المفاتيح البسيطة. يوجد قدر كبير من التداخل بين واجهة برمجة تطبيقات PKCS#11 وبروتوكول KMIP.

طُوِّر المعياران في الأصل بشكل مستقل. أنشأت شركة RSA Security معيار PKCS#11، ولكنه يخضع الآن أيضًا لإشراف لجنة فنية تابعة لمنظمة OASIS . ويتمثل الهدف المعلن لكلتا لجنتي PKCS#11 وKMIP في مواءمة المعيارين حيثما أمكن ذلك عمليًا. فعلى سبيل المثال، أُضيفت سمات "البيانات الحساسة" و"البيانات القابلة للاستخراج" الخاصة بمعيار PKCS#11 إلى الإصدار 1.4 من معيار KMIP. ويضمّ كلٌّ من اللجان الفنية لمعياري KMIP وPKCS#11 العديد من الأفراد.

يوفر KMIP 2.0 آلية موحدة لنقل رسائل PKCS#11 من العملاء إلى الخوادم. ويمكن استخدام هذه الآلية لاستهداف تطبيقات PKCS#11 المختلفة دون الحاجة إلى إعادة تجميع البرامج التي تستخدمها.

تطبيقات KMIP

تحتفظ اللجنة الفنية لبروتوكول إدارة المعرفة (KMIP) التابعة لمنظمة OASIS بقائمة بتطبيقات KMIP المعروفة، والتي يمكن الاطلاع عليها في قسم " التطبيقات المعروفة لـ OASIS" . اعتبارًا من ديسمبر 2024، تضم هذه القائمة 35 تطبيقًا و91 منتجًا من منتجات KMIP.

قابلية التشغيل البيني بين التطبيقات

تحتفظ اللجنة الفنية لبرنامج KMIP التابع لمنظمة OASIS بقائمة نتائج اختبارات التوافق التشغيلي التي تجريها اللجنة، والتي يمكن الاطلاع عليها في قسم " اختبارات التوافق التشغيلي لبرنامج KMIP" . وحتى ديسمبر 2024، تضمنت هذه القائمة 30 تطبيقًا من 16 جهة موردة.

يُعرَّف معيار KMIP باستخدام وثيقة مواصفات رسمية ، وحالات اختبار، وملفات تعريفية، تُقدِّمها اللجنة الفنية لـ KMIP التابعة لمنظمة OASIS . هذه الوثائق متاحة للعموم على موقع OASIS الإلكتروني.

منصات التشغيل البيني في مؤتمر RSA لعام 2015. كل مورد يتفاعل مع الموردين الآخرين.

يُجري الموردون اختبارات التوافق التشغيلي خلال عملية تنظمها اللجنة الفنية لبروتوكول KMIP التابع لمنظمة OASIS في الأشهر التي تسبق كل مؤتمر أمني لشركة RSA. تُعرف هذه الاختبارات بشكل غير رسمي باسم " اختبارات التوافق التشغيلي" . وقد عُقدت اختبارات التوافق التشغيلي لبروتوكول KMIP بشكل شبه سنوي منذ عام 2010. يوضح الرسم البياني التالي العدد المُعَيَّر لحالات الاختبار العامة واختبارات الملفات الشخصية لجميع المشاركين في اختبارات التوافق التشغيلي الذين شاركوا في اختبارين أو أكثر منذ عام 2014. [ 6 ]

اختبارات التوافق بين خوادم KMIP
اختبارات عملاء التوافق الكامل لبروتوكول KMIP

غطى اختبار قابلية التشغيل البيني لعام 2025 خوارزميات التشفير ما بعد الكم (PCQ) التي ستكون مطلوبة مع ازدياد قوة أجهزة الكمبيوتر الكمومية. [ 7 ]

مثال

يوضح ما يلي ترميز XML لطلب تحديد موقع مفتاح باسم "MyKeyName" وإرجاع قيمته مغلفة بمفتاح مختلف يحمل المعرّف "c6d14516-4d38-0644-b810-1913b9aef4da". (يُعدّ TTLV بروتوكولًا شائعًا للاتصالات السلكية ، لكن XML أسهل قراءةً من قِبل البشر).

<RequestMessage> <RequestHeader> <ProtocolVersion> <ProtocolVersionMajor type= "Integer" value= "3" /> <ProtocolVersionMinor type= "Integer" value= "0" /> </ProtocolVersion> </RequestHeader> <BatchItem> <Operation type= "Enumeration" value= "Locate" /> <RequestPayload> <Attributes> <Name type= "TextString" value= "MyKeyName" /> </Attributes> </RequestPayload> </BatchItem> <BatchItem> <Operation type= "Enumeration" value= "Get" /> <UniqueIdentifier type= "Enumeration" value= "IDPlaceholder" /> <RequestPayload> <KeyWrappingSpecification> <WrappingMethod type= "Enumeration" value= "Encrypt" <EncryptionKeyInformation> <UniqueIdentifier type= "Reference" value= "c6d14516-4d38-0644-b810-1913b9aef4da" / > </EncryptionKeyInformation> </KeyWrappingSpecification> </RequestPayload> </BatchItem> </RequestMessage>

الوثائق

تتوفر الوثائق مجانًا على موقع OASIS الإلكتروني. [ 8 ] وتشمل هذه الوثائق المواصفات الفنية الرسمية ودليل استخدام لمساعدة المستخدمين غير الملمين بالمواصفات. كما تُوفر مكتبة ضخمة من حالات الاختبار، تُستخدم لاختبار توافقية العملاء والخوادم، بالإضافة إلى تقديم أمثلة عملية لاستخدام كل ميزة من ميزات KMIP القياسية.

سجل الإصدارات

ملخص إصدارات وميزات KMIP.
إصدارمسودة اللجنةالميزات الرئيسية
1.0أكتوبر 2010النسخة الأولية
1.1يناير 2013
1.2يونيو 2014العمليات التشفيرية (التشفير، فك التشفير، التوقيع، إلخ). مقدمة عن الملفات التعريفية، بما في ذلك معرّفات التطبيقات لمكتبات الأشرطة.
1.32015عمليات التشفير المتدفقة؛ تسجيل العميل؛ تحديد الإزاحة/الحد؛ إيقاف القوالب؛ استعلامات مولد الأرقام العشوائية؛
1.42016تحسين العمليات غير المتزامنة؛ استيراد/تصدير المفاتيح إلى خوادم أخرى؛ دعم PKCS #12؛ تغليف المفاتيح الموحد؛ سمات التصديق؛ قيم ارتباط العميل والخادم؛ السمات الوصفية؛ دعم AEAD؛ دعم AES-XTS؛ إنشاء بيانات سرية؛ دعم RSA PSS؛ العديد من الإضافات للاستعلام.
2.02018إزالة العناصر المهملة؛ تمثيل فعال للسمات؛ استبدال اصطلاح "x-" للسمات المخصصة؛ عملية سجل العميل؛ دقة التاريخ والوقت 1 ميكروثانية؛ تحديد موقع العناصر المدمرة؛ معالجة أفضل للأخطاء وأسباب النتائج؛ تحسين توفير العميل؛ كائن CSR جديد ؛ إزالة فهرس السمات؛ دعم التجزئة؛ سمة نوع مفتاح NIST؛ معرّفات فريدة ثابتة الطول؛ العديد من السمات الجديدة وامتدادات الاستعلام؛ تسجيلات دخول مفوضة؛ كلمات مرور مشفرة؛ عناصر نائبة متعددة لمعرّفات فريدة؛ دعم إعادة التشفير باستخدام مراجع البيانات؛ عملية تعيين السمة؛ تغليف PKCS #11.
2.12019اختبار الاتصال؛ معالجة واستعلام الطلبات غير المتزامنة؛ توحيد تدوير المفاتيح من جانب الخادم؛ تعيين واستعلام عن القيم الافتراضية للسمات؛ تعيين واستعلام عن القيود المفروضة على السمات؛ [ 9 ]
3.02025أضف مفهومًا صريحًا لمستخدمي KMIP، مصممًا ككائنات نظام؛ تحسينات دورة الحياة للمراجع إلى الكائنات الأخرى باستخدام الأسماء بالإضافة إلى المعرفات الفريدة؛ إضفاء الطابع الرسمي على مجموعات الكائنات والتسلسلات الهرمية؛ إلغاء العمليات الإدارية؛ ما بعد التشفير الكمي [ 10 ]

انظر أيضاً

  • مجموعة عمل أمن التخزين IEEE P1619

مراجع