أنواع المفاتيح والخوارزميات والعمليات
يدعم Key Vault نوعين من الموارد : خزائن وإدارة HSMs. كلا نوعي الموارد تدعم مفاتيح التشفير المختلفة. للاطلاع على ملخص أنواع المفاتيح المدعومة وأنواع الحماية حسب كل نوع مورد، راجع حول المفاتيح.
يعرض الجدول التالي ملخصًا لأنواع المفاتيح والخوارزميات المعتمدة.
Key types/sizes/curves | Encrypt/Decrypt (Wrap/Unwrap) |
Sign/Verify |
---|---|---|
EC-P256، EC-P256K، EC-P384، EC-P521 | غير متوفرة | ES256 ES256K ES384 ES512 |
RSA 2K، 3K، 4K | RSA1_5 RSA-OAEP RSA-OAEP-256 |
PS256 PS384 PS512 RS256 RS384 RS512 RSNULL |
AES 128 بت، 256 بت (إدارة HSM فقط) |
AES-KW AES-GCM AES-CBC |
غير متوفرة |
خوارزميات EC
يتم دعم معرفات الخوارزمية التالية بمفاتيح EC-HSM
أنواع المنحنى
- P-256 - منحنى NIST P-256، المحدد في DSS FIPS PUB 186-4.
- P-256K - منحنى SEC SECP256K1، المحدد في SEC 2: Recommended Elliptic Curve Domain Parameters.
- P-384 - منحنى NIST P-384، المحدد في DSS FIPS PUB 186-4.
- P-521 - منحنى NIST P-521، المحدد في DSS FIPS PUB 186-4.
SIGN/VERIFY
- ES256 - ECDSA لملخصات SHA-256 والمفاتيح التي تم إنشاؤها باستخدام المنحنى P-256. تم وصف هذه الخوارزمية في RFC7518.
- ES256K - ECDSA لملخصات SHA256 والمفاتيح التي تم إنشاؤها باستخدام المنحنى P-256K. هذه الخوارزمية في انتظار التوحيد.
- ES384 - ECDSA لملخصات SHA-384 والمفاتيح التي تم إنشاؤها باستخدام منحنى P-384. تم وصف هذه الخوارزمية في RFC7518.
- ES512 - ECDSA لملخصات SHA-512 والمفاتيح التي تم إنشاؤها باستخدام منحنى P-521. تم وصف هذه الخوارزمية في RFC7518.
خوارزميات RSA
معرفات الخوارزمية التالية مدعومة بمفاتيح RSA و RSA-HSM
WRAPKEY/UNWRAPKEY، ENCRYPT/DECRYPT
- تشفير مفتاح RSA1_5 - RSAES-PKCS1-V1_5 [RFC3447] key encryption
- RSA-OAEP - RSAES باستخدام حشوة التشفير غير المتماثل الأمثل (OAEP) [RFC3447]، مع المعلمات الافتراضية المحددة من قبل RFC 3447 في القسم A.2.1. تستخدم هذه المعلمات الافتراضية دالة تجزئة SHA-1 ووظيفة إنشاء قناع MGF1 مع SHA-1.
- RSA-OAEP-256 - RSAES باستخدام حشوة التشفير غير المتماثل الأمثل مع وظيفة تجزئة SHA-256 ووظيفة إنشاء القناع لـ MGF1 مع SHA-256
SIGN/VERIFY
- PS256 - RSASSA-PSS باستخدام SHA-256 و MGF1 مع SHA-256، كما هو موضح في RFC7518.
- PS384 - RSASSA-PSS باستخدام SHA-384 و MGF1 مع SHA-384، كما هو موضح في RFC7518.
- PS512 - RSASSA-PSS باستخدام SHA-512 و MGF1 مع SHA-512، كما هو موضح في RFC7518.
- RS256 - RSASSA-PKCS-v1_5 باستخدام SHA-256. يجب حساب قيمة ملخص التطبيق المتوفرة باستخدام SHA-256 ويجب أن يكون طولها 32 بايت.
- RS384 - RSASSA-PKCS-v1_5 باستخدام SHA-384. يجب حساب قيمة ملخص التطبيق المتوفرة باستخدام SHA-384 ويجب أن يكون طولها 48 بايت.
- RS512 - RSASSA-PKCS-v1_5 باستخدام SHA-512. يجب حساب قيمة ملخص التطبيق المتوفرة باستخدام SHA-512 ويجب أن يكون طولها 64 بايت.
- RSNULL - راجع RFC2437، حالة استخدام متخصصة لتمكين سيناريوهات TLS معينة.
إشعار
يوصى بوضع ترك مساحة RSA-PSS للحصول على أداء أفضل. يتم إنشاء DigestInfo على جانب الخادم لعمليات التوقيع التي تصدرها الخوارزميات RS256 وRS384 وRS512.
خوارزميات المفتاح المتماثل (إدارة HSM فقط)
- AES-KW - AES مفتاح التفاف (RFC3394).
- AES-GCM - تشفير AES في وضع عداد Galois (NIST SP 800-38d)
- AES-CBC - تشفير AES في وضع سلسلة كتلة التشفير (NIST SP 800-38a)
إشعار
يتعين أن تتطابق خوارزميات عمليات التوقيع والتحقق من نوع المفتاح، وإلا فإن الخدمة ستُرجع حجم المفتاح خطأ غير صحيح.
العمليات الأساسية
يدعم Key Vault، بما في ذلك Managed HSM، العمليات التالية على الكائنات الرئيسية:
- إنشاء: يسمح للعميل بإنشاء مفتاح في Key Vault. يتم إنشاء قيمة المفتاح بواسطة Key Vault وتخزينها، ولا يتم تصديرها للعميل. يمكن إنشاء مفاتيح غير متماثلة في "Key Vault".
- استيراد: يسمح للعميل بتوريد مفتاح موجود إلى Key Vault. قد يتم استيراد مفاتيح غير متماثلة إلى Key Vault باستخدام العديد من أساليب التعبئة والتغليف المختلفة داخل بنية JWK.
- تحديث: يُسمح للعميل الذي لديه أذونات كافية بتعديل بيانات التعريف (السمات الرئيسية) المقترنة بمفتاح مخزن مسبقاً داخل Key Vault.
- حذف: يسمح للعميل بأذونات كافية لحذف مفتاح من Key Vault.
- قائمة: تسمح للعميل بسرد جميع المفاتيح في Key Vault معين.
- قائمة الإصدارات: يسمح للعميل بسرد كافة إصدارات مفتاح معين في Key Vault معين.
- الحصول على: يسمح للعميل باسترداد الأجزاء العامة من مفتاح معين في Key Vault.
- النسخ الاحتياطي: تصدير مفتاح في نموذج محمي.
- استعادة: استيراد مفتاح نسخة احتياطية مسبقًا.
- الإصدار: يطلق مفتاحًا للتعليمات البرمجية المعتمدة التي تعمل ضمن بيئة حساب سرية بشكل آمن. يتطلب إثباتًا بأن بيئة التنفيذ الموثوق بها (TEE) تفي بمتطلبات release_policy للمفتاح.
- تدوير: تدوير مفتاح موجود عن طريق إنشاء إصدار جديد من المفتاح (مخزن المفاتيح وحسب).
لمزيد من المعلومات، راجع عمليات المفاتيح في مرجع Key Vault REST API.
بمجرد إنشاء مفتاح في Key Vault، قد يتم تنفيذ عمليات التشفير التالية باستخدام المفتاح:
- التوقيع والتحقق:بشكل دقيق، هذه العملية هي "علامة تجزئة" أو "التحقق من التجزئة"، حيث لا يدعم Key Vault تجزئة المحتوى كجزء من إنشاء التوقيع. يجب أن تقوم التطبيقات بتجزئة البيانات التي سيتم توقيعها محليا، ثم اطلب توقيع Key Vault على شفرة التجزئة. يتم دعم التحقق من عمليات التجزئة الموقعة كعمليات ملائمة للتطبيقات التي قد لا يكون لها حق الوصول إلى المواد الرئيسية [العامة]. للحصول على أفضل أداء للتطبيق، يجب تنفيذ عمليات VERIFY محليًا.
- تشفير/ دوران المفتاح: يمكن استخدام مفتاح المخزن في Key Vault لحماية مفتاح مخزن آخر، وهو عادة مفتاح تشفير محتوى متماثل (CEK). عندما يكون المفتاح في key Vault غير متماثل، يتم استخدام تشفير المفتاح. على سبيل المثال، عمليات RSA-OAEP و WRAPKEY / UNWRAPKEY مكافئة لـ ENCRYPT / DECRYPT. عندما يكون المفتاح في key Vault متماثلا، يتم استخدام دوران المفتاح. على سبيل المثال، AES-KW. يتم دعم عملية WRAPKEY كوسيلة ملائمة للتطبيقات التي قد لا تتمكن من الوصول إلى مادة المفتاح [العام]. للحصول على أفضل أداء للتطبيق، يجب تنفيذ عمليات VERIFY محليًا.
- تشفير وفك تشفير: يمكن استخدام مفتاح المخزن في key Vault لتشفير أو فك تشفير حزمة واحدة من البيانات. يتم تحديد حجم حزمة البيانات حسب نوع المفتاح وخوارزمية التشفير المحددة. يتم توفير عملية تشفير بهدف التيسير للتطبيقات التي قد لا يكون لها حق الوصول إلى المواد الرئيسية [العامة]. للحصول على أفضل أداء للتطبيق، يجب تنفيذ عمليات VERIFY محليًا.
بينما WRAPKEY/UNWRAPKEY باستخدام مفاتيح غير متماثلة قد يبدو غير ضروري (حيث أن العملية تعادل ENCRYPT/DECRYPT)، فإن استخدام عمليات مميزة أمر مهم. ويوفر التمييز الفصل الدلالي والتفويض لهذه العمليات، والاتساق عندما تكون أنواع المفاتيح الأخرى مدعومة من قبل الخدمة.
Key Vault لا يدعم عمليات EXPORT. وبمجرد توفير مفتاح في النظام، لا يمكن استخراجه أو تعديل مادته الرئيسية. ومع ذلك، قد يطلب مستخدمو Key Vault مفتاحهم لحالات الاستخدام الأخرى، مثل بعد حذفه. في هذه الحالة، يمكنهم استخدام عمليات النسخ الاحتياطي والاستعادة لتصدير / استيراد المفتاح في نموذج محمي. المفاتيح التي تم إنشاؤها بواسطة عملية النسخ الاحتياطي غير قابلة للاستخدام خارج Key Vault. بدلاً من ذلك، يمكن استخدام عملية الاستيراد مع مثيلات Key Vault المتعددة.
يجوز للمستخدمين تقييد أي من عمليات التشفير التي يدعمها Key Vault على أساس كل مفتاح باستخدام خاصية key_ops لكائن JWK.
لمزيد من المعلومات حول كائنات JWK، راجع مفتاح ويب JSON (JWK).
عمليات نهج تدوير المفاتيح
يمكن تعيين الاستدارة التلقائية لمفتاح القبو الرئيس من خلال تكوين نهج الاستدارة التلقائية الأساسية. يتوفر فقط على مورد Key Vault.
- الحصول على نهج الاستدارة: استرداد تكوين نهج التدوير.
- تعيين نهج التدوير: تعيين تكوين نهج التدوير.
السمات الرئيسية
بالإضافة إلى المادة الأساسية، يمكن تحديد السمات التالية. في طلب JSON، تكون الكلمة الرئيسية للسمات والأقواس، '{' '}' مطلوبة حتى لو لم يتم تحديد سمات.
- enabled: قيمته boolean، الاختياري، الافتراضي هو true. يحدد ما إذا كان المفتاح ممكّنًا وقابلاً للاستخدام في عمليات التشفير. يتم استخدام السمة الممكنة مع nbf وexp. عند حدوث عملية بين nbf وexp، لن يسمح بها إلا إذا تم تعيين تمكين إلى صحيح. العمليات خارج نافذة nbf / exp غير مسموح بها تلقائيا، باستثناء فك التشفير، والإصدار، وإلغاء الإزالة، والتحقق.
- nbf: IntDate، اختياري، افتراضي الآن. تحدد السمة nbf (وليس قبل ذلك) الوقت الذي يجب ألا يتم فيه استخدام المفتاح لعمليات التشفير، باستثناء فك التشفير، والإصدار، وفك التشفير، والتحقق. تتطلب معالجة السمة nbf أن يكون التاريخ/الوقت الحالي بعد التاريخ/الوقت غير المدرج في السمة أو مساويًا له nbf. قد يوفر Key Vault بعض الفسحة الصغيرة، عادة لا تزيد عن بضع دقائق، لحساب انحراف الساعة. يجب أن تكون قيمته رقمًا يحتوي على قيمة IntDate.
- إكسب: IntDate، اختياري، الافتراضي هو "إلى الأبد". تحدد السمة exp (وقت انتهاء الصلاحية) وقت انتهاء الصلاحية في أو بعد ذلك يجب عدم استخدام المفتاح لعملية التشفير، باستثناء فك التشفير والإصدار وإلغاء التفكيك والتحقق. تتطلب معالجة السمة exp أن يكون التاريخ/الوقت الحالي قبل تاريخ/الوقت انتهاء الصلاحية المدرج في السمة exp. قد يوفر Key Vault بعض الفسحة الصغيرة، عادة لا تزيد عن بضع دقائق، لحساب انحراف الساعة. يجب أن تكون قيمته رقمًا يحتوي على قيمة IntDate.
هناك المزيد من سمات القراءة فقط التي يتم تضمينها في أي استجابة تتضمن السمات الرئيسية:
- created: قيمته IntDate، اختياري. تشير السمة التي تم إنشاؤها إلى وقت إنشاء هذا الإصدار من المفتاح. القيمة خالية للمفاتيح التي تم إنشاؤها قبل إضافة هذه السمة. يجب أن تكون قيمته رقمًا يحتوي على قيمة IntDate.
- updated: قيمته IntDate، اختياري. تشير السمة المحدثة إلى وقت تحديث هذا الإصدار من المفتاح. القيمة فارغة للمفاتيح التي تم تحديثها آخر مرة قبل إضافة هذه السمة. يجب أن تكون قيمته رقمًا يحتوي على قيمة IntDate.
- hsmPlatform: سلسلة، اختيارية. النظام الأساسي ل HSM الأساسي الذي يحمي مفتاحا.
- تعني قيمة hsmPlatform 2 أن المفتاح محمي بواسطة أحدث نظام أساسي ل HSM تم التحقق من صحته من FIPS 140 Level 3.
- تعني قيمة hsmPlatform 1 أن المفتاح محمي بواسطة نظام HSM الأساسي السابق الذي تم التحقق من صحته من FIPS 140 Level 2.
- تعني قيمة hsmPlatform من 0 أن المفتاح محمي بواسطة وحدة تشفير برنامج FIPS 140 من المستوى 1 HSM.
- إذا لم يتم تعيين هذا بواسطة تجمع HSM المدار، فإنه محمي بواسطة أحدث نظام أساسي ل HSM تم التحقق من صحته من FIPS 140 المستوى 3.
من المهم ملاحظة أن المفاتيح مرتبطة ب HSM الذي تم إنشاؤها فيه. يتم إنشاء مفاتيح جديدة وتخزينها بسلاسة في HSMs الجديدة. على الرغم من عدم وجود طريقة لترحيل المفاتيح أو نقلها، فإن إصدارات المفاتيح الجديدة تكون تلقائيا في HSMs الجديدة. لمزيد من المعلومات حول كيفية الترحيل إلى مفتاح جديد، راجع كيفية ترحيل أحمال العمل الرئيسية.
لمزيد من المعلومات حول IntDate وأنواع البيانات الأخرى، راجع [حول المفاتيح والأسرار والشهادات: أنواع البيانات.
عمليات التحكم في التاريخ والوقت
ستعمل المفاتيح غير الصالحة والمنتهية الصلاحية، خارج نافذة nbf / exp، على فك التشفير، والإصدار، وفك التغليف، والتحقق من العمليات (لن ترجع 403، ممنوع). الأساس المنطقي لاستخدام الحالة غير الصالحة بعد هو السماح باختبار المفتاح قبل استخدام الإنتاج. الأساس المنطقي لاستخدام الحالة منتهية الصلاحية هو السماح بعمليات الاسترداد على البيانات التي تم إنشاؤها عندما كان المفتاح صالحًا. كما يمكنك تعطيل الوصول إلى مفتاح باستخدام نهج "مفتاح Vault"، أو بتحديث سمة المفتاح الممكنة إلى خطأ.
لمزيد من المعلومات حول أنواع البيانات، راجع أنواع البيانات.
لمزيد من المعلومات حول السمات المحتملة الأخرى، راجع مفتاح ويب JSON (JWK).
العلامات الرئيسية
يمكنك تحديد المزيد من بيانات التعريف الخاصة بالتطبيق في شكل علامات. يدعم Key Vault ما يصل إلى 15 علامة، يمكن أن يكون لكل منها اسم 256 حرفًا وقيمة 256 حرفًا.
إشعار
يمكن قراءة العلامات من قبل المتصل إذا كان لديه القائمة أو الحصول على إذن لهذا المفتاح.
التحكم في الوصول إلى المفتاح
يتم توفير التحكم في الوصول للمفاتيح التي يديرها Key Vault على مستوى Key Vault الذي يعمل كحاوية للمفاتيح. يمكنك التحكم في الوصول إلى المفاتيح باستخدام التحكم في الوصول المستند إلى دور Key Vault (مستحسن) أو نموذج إذن نهج الوصول إلى المخزن القديم. يحتوي نموذج الأذونات المستند إلى الدور على ثلاثة أدوار محددة مسبقا لإدارة المفاتيح: "مسؤول تشفير Key Vault"، و"مستخدم تشفير Key Vault"، و"مستخدم تشفير خدمة Key Vault" ويمكن تحديد نطاقها على مستوى الاشتراك أو مجموعة الموارد أو المخزن.
أذونات نموذج أذونات نهج الوصول إلى المخزن:
أذونات لعمليات الإدارة الرئيسية
- الحصول على: اقرأ الجزء العام من مفتاح، بالإضافة إلى سماته
- قائمة: قائمة بالمفاتيح أو الإصدارات من المفتاح مخزنة في خزنة مفتاح
- تحديث: قم بتحديث سمات أحد المفاتيح
- إنشاء: إنشاء مفاتيح جديدة
- استيراد: استيراد مفتاح إلى خزنة مفاتيح
- حذف: حذف كائن المفتاح
- استرداد: استرداد مفتاح محذوف
- النسخ الاحتياطي: قم بعمل نسخة احتياطية من أحد المفاتيح في خزنة المفاتيح
- استعادة: استعادة مفتاح احتياطي لخزينة المفاتيح
أذونات لعمليات التشفير
- فك تشفير: استخدام المفتاح لإلغاء حماية تسلسل وحدات البايت
- تشفير: استخدام المفتاح لحماية تسلسل عشوائي من البايت
- فك التشفير:استخدم المفتاح لفك حماية المفاتيح المتماثلة الملتفة
- wrapKey: استخدام المفتاح لحماية مفتاح متماثل
- التحقق: استخدام المفتاح للتحقق من شفرة التجزئة
- علامة: استخدم المفتاح لتوقيع شفرات التجزئة
أذونات للعمليات المميزة
- مسح: مسح (حذف نهائيًا) مفتاح محذوف
- release: حرر مفتاحا إلى بيئة حساب سرية، والتي تطابق release_policy المفتاح
أذونات عمليات نهج التدوير
- تدوير: تدوير مفتاح موجود عن طريق إنشاء إصدار جديد من المفتاح (مخزن المفاتيح وحسب)
- الحصول على نهج التدوير: يسترد تكوين نهج التدوير
- تعيين نهج التدوير: يعين تكوين نهج التدوير
لمزيد من المعلومات حول العمل باستخدام المفاتيح، راجع عمليات المفاتيح في مرجع Key Vault REST API.