إنتقل إلى المحتوى الرئيسي
ينطبق على:
DuoKey Cockpit v2Oracle TDEPKCS#11

تصف هذه الصفحة كيف يتصل Oracle Transparent Data Encryption بـ Cockpit v2. لمعرفة مسار Cockpit v1 القديم، راجع قسم التثبيت والإعداد في هذا الدليل.

فيديو توضيحي

سيُضاف هنا فيديو توضيحي موجز لتدفق Oracle TDE ↔ Cockpit v2 من البداية إلى النهاية.

سلسلة التكامل​

لا يتحدث Oracle مع Cockpit v2 مباشرة أبداً. فهو يحمّل مزوّد PKCS#11 الخاص بـ DuoKey (مكتبة أصلية)، والذي يحوّل كل استدعاء Cryptoki إلى طلب HTTPS واحد إلى نقطة نهاية وكيل في Cockpit v2. يؤدي الوكيل العملية التشفيرية الفعلية مقابل خزنة المستأجر / خلفية HSM.

سلسلة طلبات Oracle TDE ← Cockpit v2TEXT

Oracle Database (ADMINISTER KEY MANAGEMENT …)
 │ PKCS#11 (Cryptoki v2.40 C_* calls)
 ▼
libdke_pkcs11.so / dke_pkcs11.dll (DuoKey PKCS#11 provider)
 │ HTTPS — one request per Cryptoki operation
 ▼
Cockpit v2 proxy endpoint
 │ encrypt / decrypt / wrap / unwrap / generate
 ▼
Tenant vault / HSM backend
 (DuoKey software keystore in dev · Securosys / HSM in production)

توجد خاصيتان مهمتان يجب فهمهما:

لا تشفير محلي

لا تحتفظ مكتبة PKCS#11 بأي مفاتيح ولا تنفّذ أي تشفير محلياً. كل عملية تُنقَل إلى وكيل Cockpit v2. لا تقيم مادة المفتاح الرئيسي لـ TDE أبداً على مضيف قاعدة البيانات.

رمز تصدير واحد

يحمّل Oracle المكتبة عبر نقطة الدخول القياسية C_GetFunctionList، التي تُعيد جدول وظائف Cryptoki كاملاً.

Oracle TDE يستخدم AES فقط — وليس RSA أو ECC

مفتاح Oracle TDE الرئيسي للتشفير هو AES256. وفقاً لتوثيق Oracle، "مفاتيح التشفير الرئيسية هي دائماً AES256" (وتشفّر مفاتيح الجداول / مساحات الجداول بوضع CBC). لا يستخدم Oracle TDE مفاتيح RSA أو المنحنيات الإهليلجية للمفتاح الرئيسي. مكتبة DuoKey PKCS#11 هي مزوّد Cryptoki عام الغرض يُعلِن أيضاً عن آليات RSA وEC لتكاملات DuoKey الأخرى — لكن Oracle TDE لا يستخدم إلا مسار توليد مفتاح AES والتشفير/فك التشفير (التغليف/فك التغليف).

عمليات PKCS#11 التي يستخدمها Oracle TDE​

لا يستخدم Oracle إلا المجموعة الفرعية أدناه. للاطلاع على جدول وظائف المكتبة الكامل، وآلياتها، ونموذج سماتها، راجع قسم مكتبة PKCS#11 المستقل — فهو حيث يُوثَّق المزوّد بالكامل.

عملية Cryptokiالدور في Oracle TDE
C_Initialize / C_Finalizeتحميل تكوين pkcs11.toml وتهيئة المكتبة / إيقافها.
C_OpenSession / C_Loginفتح جلسة تسلسلية والانتقال إلى حالة المستخدم — **لا يُرسَل أي PIN**؛ يُوثِّق رمز الحامل لكل طلب.
C_FindObjectsInit / C_FindObjectsتحديد موقع مفتاح AES الرئيسي عبر CKA_LABEL / CKA_ID.
C_GenerateKeyإنشاء مفتاح TDE الرئيسي من نوع AES256.
C_Encrypt / C_Decryptتغليف / فك تغليف مفاتيح الجداول ومساحات الجداول تحت المفتاح الرئيسي.
C_GetAttributeValueقراءة سمات المفتاح؛ يُرفَض CKA_VALUE (CKR_ATTRIBUTE_SENSITIVE) — لا تغادر بايتات المفتاح الرئيسي الخلفية أبداً.
C_DestroyObjectإلغاء تفعيل مفتاح رئيسي.

النموذج التشفيري​

  • ينفّذ الوكيل تشفير مغلَّف موثَّق تحت المفتاح الرئيسي (MEK). ولأن التشفير وفك التشفير يستخدمان الأداة الأولية نفسها في الخزنة، فإن آلية Cryptoki استشارية — سلامة الذهاب والإياب مضمونة لكتل المفاتيح المعتمة التي يخزّنها Oracle.
  • بايتات المفتاح الرئيسي حساسة: يرفض C_GetAttributeValue طلب CKA_VALUE. ومع خلفية HSM حقيقية، لا توجد مادة المفتاح أبداً خارج HSM.

دورة حياة المفتاح الرئيسي للتشفير (MEK)​

يتتبَّع Cockpit كل مفتاح رئيسي بتسميته (CKA_LABEL)، ومعرّفه (CKA_ID)، وخوارزميته وحجمه، ومرجع للمفتاح الداعم في الخزنة/HSM، وحالة دورة حياة.

1

الإنشاء

عند إنشاء تطبيق Oracle TDE في Cockpit v2، يُوفَّر تلقائياً مفتاح رئيسي نشط أوّلي (بالتسمية TDE-MASTER-<date>). يمكن إنشاء مفاتيح إضافية من Cockpit أو من المكتبة عبر استدعاء توليد مفتاح. الخوارزمية الافتراضية هي AES-256.

2

الفتح / الاستخدام

يفتح Oracle مخزن المفاتيح بأمر ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY EXTERNAL STORE ويحدّد موقع MEK عبر C_FindObjects. تُحمى مفاتيح مساحات الجداول (الجداول) بالتشفير / فك التشفير تحت MEK. في وضع نشر مخزن المفاتيح البرمجي، تُعاد استيراد مادة المفتاح المختومة إلى الخزنة كسلياً بعد إعادة تشغيل Cockpit؛ ومع خلفية HSM يبقى المفتاح داخل HSM.

3

التدوير

يؤدي تدوير مفتاح من Cockpit إلى إلغاء تفعيل المفتاح الحالي، وإنشاء MEK نشط جديد، وإرجاع أمر SQL الخاص بتدوير Oracle (ADMINISTER KEY MANAGEMENT SET KEY … WITH BACKUP). تبقى المفاتيح القديمة معطَّلة بحيث تظل مفاتيح مساحات الجداول المُغلَّفة سابقاً قابلة لفك التشفير.

آلة الحالات​

انتقالات حالة المفتاح الرئيسيTEXT

pre_active → active → deactivated → revoked / destroyed

تُفرَض الانتقالات على جانب الخادم (لا يمكن تفعيل إلا مفتاح في حالة pre_active؛ ويجب إلغاء تفعيل المفتاح أو إبطاله قبل إمكانية تدميره).

مصادقة عمليات الإدارة مقابل عمليات الوكيل​

  • تُصادَق نقطة نهاية وكيل PKCS#11 حصراً برمز الحامل access_guid.
  • تتطلب عمليات الإدارة (الإنشاء / التدوير / التفعيل / ...) جلسة مستخدم في Cockpit بصلاحية مناسبة قائمة على الأدوار، وتخضع إضافة إلى ذلك لفرض سياسة الوصول.
مرجع API
التفاصيل الكاملة لنقاط API موثّقة بشكل منفصل في توثيق المطورين ← واجهة API لـ DKE.
الخطوة التالية

تابع إلى تكوين مزوّد PKCS#11 (pkcs11.toml) لتكوين المزوّد.