تشفير التطبيق

تسمح الوظيفة الموضحة في هذا القسم للنسخ المعدلة بتكوين حقول ليتم تشفيرها عند تخزينها في قاعدة البيانات. هذه الوظيفة متعارضة مع وظيفة إخفاء واجهة المستخدم. تدعم هذه الميزة أيضًا تشفير عناصر معينة مخزنة في عمود CLOB أو XML.

توضح النقاط التالية ميزات وظيفة التشفير:

  • يتم تحديد مفتاح التشفير باستخدام مجموعة مفاتيح تشفير. للحصول على معلومات حول تحديد مجموعة مفاتيح التشفير، ارجع إلى تشفير الحقل.

  • في حالة تكوين الحقل ليتم تشفيره، يتم تخزين البيانات المشفرة في حقل تشفير خاص، وهذا الحقل لا يعتبر الحقل المصدر (الحقل المعروض للمستخدم في واجهة المستخدم). يقوم الحقل المصدر بتسجيل البيانات كبيانات مخفية. ولأنه من المطلوب وجود حقل خاص لدعم التشفير، يجب أن يوفر المنتج دعمًا لهذا الحقل ليتم تشفيره.

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

  • يدعم النظام تشفير البيانات التي تم تسجيلها كعنصر في حقل XML. في حالة توفير حقل XML في مخطط خاص بالمنتج، يجب أن يوفر المنتج دعمًا خاصًا لتسجيل البيانات المشفرة.

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

تعرض الأقسام التالية معلومات إضافية حول دعم التشفير المتوفر بواسطة إطار العمل. لمزيد من المعلومات، الرجاء الرجوع إلى فصل الحماية بدليل الإدارة للمنتج المحدد الخاص بك.

تشفير البيانات وإخفاؤها

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

توضح النقاط التالية طريقة أداء النظام في حالة تكوين التشفير وفي حالة عدم تكوينه. نفترض، كمثال، أن الحقل هو رقم بطاقة الائتمان. يقوم المستخدم بعرض وملء الحقل باسم الحقل CC_NBR. وملء قيمة أخرى ENCR_​CC_NBR للجدول أيضًا. ويقوم المستخدم بملء رقم بطاقة الائتمان:

  • في حالة عدم تكوين التشفير، سيتم تحديث قيمة CC_NBR برقم بطاقة الائتمان المُدخل وستكون قيمة ENCR_​CC_​NBR فارغةً. لاحظ أنه في هذه الحالة يمكن أن تختار النسخة المعدلة تكوين إخفاء واجهة المستخدم.

  • في حالة تكوين التشفير، سيتم تحديث قيمة CC_NBR بعلامات نجمية (*******************) وستحتوي قيمة ENCR_CC_NBR على القيمة المشفرة. ستقوم العلامات النجمية للحقل القياسي بملء حجم الحقل بالكامل حتى 50 حرفًا.

في حالة عدم الرغبة في استخدام الإخفاء القياسي باستخدام كل العلامات النجمية لسبب ما، يدعم النظام إدخال خوارزمية إخفاء صريحة باستخدام نفس تكوين الميزة - نقطة الخوارزمية المساعدة لإخفاء البيانات الحساسة المستخدمة لأجل إخفاء واجهة المستخدم.

تحذير: بخلاف إخفاء واجهة المستخدم، إخفاء الحقول المشفرة غير معتمد على الحماية. يجب إخفاء البيانات المخزنة في الحقل المصدر لكل البيانات المشفرة. تأكد من عدم تكوين منطق ترخيص الحماية في الخوارزميات المستخدمة لهذا النوع من الإخفاء.

تكوين خيار الميزة

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

للحصول على معلومات حول تحديد مجموعة مفاتيح التشفير، ارجع إلى تشفير الحقل.

بالنسبة للبيانات المخزنة في عمود محدد بالجدول، يجب أن يوجد حقل واضح لتسجيل القيمة المشفرة. يشير إلى اسم الجدول واسم الحقل المصدر واسم الحقل المشفر بالإضافة إلى مجموعة مفاتيح التشفير: table='table_​name', field='fld_​name', encryptedField='encr_​fld_​name', keyRing='key ring code'

يمكن أيضًا تحديد جملة "WHERE" عند وجود البيانات في جدول فرعي ويجب تشفير بيانات من نوع معين فقط.

على سبيل المثال، table='CI_​PER_​ID', field='PER_​ID_​NBR', encryptedField='ENCR_​PER_​ID_​NBR', keyRing='CM-SymmetricKey', where='ID_​TYPE_​CD='SSN''

بالنسبة للبيانات المخزنة في عمود XML بالسجل، يجب أن يشير الحقل المصدر المطلوب تشفيره إلى اسم حقل بيانات التعريف في تعريف المخطط الخاص به بالإضافة إلى العنصر الذي يقوم بتسجيل البيانات المشفرة والاسم المستعار field='field_​name', encryptedField='encr_​field_​name', keyRing='key ring code'

الصياغة الخاصة بإضافة مرجع إلى خوارزمية الإخفاء هي maskAlg='algorithm name'.

الصياغة الخاصة بإضافة التكوين لتسجيل قيمة شفرة هاش لأغراض البحث هي hashKeyRing='key ring code' hashField='HASH_​FLD_​NAME'.

فيما يلي مثال على التكوين الذي يستخدم كل الخيارات الممكنة (دعم الحقل المجزأ وجملة "WHERE" وخوارزمية إخفاء محددة):

table='CI_​​PER_​​ID', field='PER_​​ID_​​NBR', keyRing='CM-SymmetricKey', encryptedField='ENCR_​​PER_​​ID_​​NBR', hashKeyRing='CM-HashKey' hashField='HASH_​​PER_​​ID_​​NBR', where='ID_​​TYPE_​​CD=SSN', maskAlg='CM-PERIDMASK'

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

table='CI_​PER_​ID', field='PER_​ID_​​NBR', alias='aliasKey', encryptedField='ENCR_​PER_​ID_​​NBR', hashAlias='hashAliasKey' hashField='HASH_​PER_​ID_​​NBR', where='ID_​TYPE_​​CD=SSN', maskAlg='CM-PERIDMASK'

بالإضافة إلى ذلك، عند استخدام اسم مستعار، يمكن اختياريًا "تضمين" الحقل المشفر بعلامة خاصة (على سبيل المثال، ENC{} ) للإشارة إلى أن قيمة الحقل مشفرة. يمكن تحديد ذلك بالإعداد wrap="true" أو wrap="false". القيمة الافتراضية هي "خطأ". يجب تعيين ذلك إلى القيمة "خطأ" ما لم يتم تضمين المعالجة الإضافية في رمزك لمعالجة العلامة الخاصة.

للحصول على معلومات حول اعتماد وظيفة مجموعة مفاتيح التشفير إذا كنت تستخدم مخزن المفاتيح حاليًا، ارجع إلى الانتقال من مخزن المفاتيح إلى مجموعة مفاتيح التشفير.

البحث باستخدام قيمة مشفرة

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

  • يجب أن تشير قيمة مرشح المستخدم إلى الحقل المصدر ويجب أن تحتوي على رمز اختصار إضافي encrypt=. على سبيل المثال

    type=STRING
    label=PER_ID_NBR 
    encrypt=[CI_PER_ID,PER_ID_NBR,ID_TYPE_CD,F1]

    لمزيد من المعلومات، الرجاء الرجوع إلى مرشحات المستخدم.

  • يجب أن تحتوي عبارة SQL على القيمة المجزأة في جملة "WHERE". لاحظ أنه لأن التشفير اختياري، ستحتوي منطقة المنتج، التي تتضمن البحث باستخدام حقل مؤهل للتشفير، على بحث عن تطابق للمرشح في الحقل المصدر (كنص عادي) أو في الحقل المجزأ. على سبيل المثال:

    WHERE
       [(F2) (ID.PER_ID_NBR =:F2 OR ID.HASH_PER_ID_NBR = :F2)]

تخصيص خوارزمية التشفير

لا تنطبق هذه الميزة إلا على عمليات التنفيذ التي تستخدم مخزن المفاتيح. هذا ليس التكوين الموصى به في المستقبل. يتم الاحتفاظ بالنص هنا لأغراض المعلومات.

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

يوفر النظام خيار تكوين الميزة لنوع ميزة التشفير باستخدام نوع الخيار معلومات الخوارزمية الذي يمكن استخدامه في تعديل طريقة أداء التشفير.

  • يمكنك تعديل الوضع الافتراضي وملء بيانات خوارزمية التشفير.

  • في حالة استخدام مفتاح لتوقيع أي شيء رقميًا، يمكن أيضًا تحديد خوارزمية التوقيع للمفتاح.

للحصول على تفاصيل حول الصياغة، الرجاء الرجوع إلى الوصف التفصيلي لنوع خيار الميزة.