يوفر تخزين المفاتيح على الرموز والبطاقات الذكية حماية إضافية ضد المتسللين الخارجيين والداخليين ، بما في ذلك أولئك الذين لديهم مستوى معين من الوصول إلى نظام المعلومات والمعدات.
سوف أخبرك اليوم كيف نحمي مفاتيح التشفير والتوقيعات الإلكترونية في أنظمة المعلومات الخاصة بنا ، وسأفعل ذلك في دليل مفصل ومصور جيدًا لإعداد SUSE Linux Enterprise Server 12 SP3 للعمل مع رمز علاء الدين JaCarta PKI و CryptoPro CSP KC2 4.0.9944.
كانت هناك عدة أسباب لنشر هذا الدليل:
السبب 1
تم تكييف الوثائق الرسمية الخاصة بـ
Aladdin-RD JaCarta لأنظمة تشغيل Astra Linux و ALT Linux ، المعتمدة من قبل وزارة الدفاع و FSTEC و FSB كوسيلة لحماية المعلومات.
السبب 2
أفضل إرشادات لتكوين التفاعل مع وسائط الأجهزة في Linux ، والتي تم العثور عليها ، كانت أيضًا من
wiki.astralinux.ru - العمل مع CryptoPro CSPالسبب 3
UPD 04/16/2019: أثناء عملية الإعداد للبيئة والمعدات ، اتضح أن شركة الاتصالات التي كانت متوفرة لأول مرة لم تكن JaCarta PKI Nano على الإطلاق ، كما هو متوقع ، ولكن جهاز يعمل في وضع عميل SafeNet Authentication eToken PRO.
UPD 04/16/2019: بمجرد أن يحتاج البنك إلى جهاز يمكنه العمل في نفس البنية التحتية مثل eToken PRO (Java). على هذا النحو ، فإن شركة "ZAO Aladdin R.D." عرضت على JaCarta PRO الرمز المميز ، والذي تم اختياره من قبل البنك. ومع ذلك ، في مرحلة تشكيل المادة ووثائق الشحن ، ارتكب أحد موظفي الشركة خطأ. بدلاً من نموذج JaCarta PRO ، تم إدخال JaCarta PKI بطريق الخطأ في مستندات المقالة والشحن.
UPD 04/16/2019: أشكر شركة علاء الدين R.D. للمساعدة في معرفة وتأكيد الحقيقة.
لا توجد معاني سياسية ومخفية في هذا الخطأ ، ولكن يوجد خطأ فني للموظف في إعداد المستندات. Token JaCarta PRO هو منتج لشركة Aladdin R.D. تم تطوير التطبيق الصغير الذي يؤدي الجزء الوظيفي من قبل شركة "ZAO Aladdin R.D."
تم إصدار eToken PRO لحزب تم إصداره قبل الأول من ديسمبر 2017.
بعد هذا التاريخ ، شركة "علاء الدين ر." توقف عن بيع أجهزة eToken PRO (Java).
مع التقدم قليلاً ، يجب أن أقول إن العمل معه تم تهيئته من خلال برامج التشغيل المناسبة -
SafenetAuthenticationClient-10.0.32-0.x86_64 ، والتي لا يمكن الحصول عليها إلا لدعم Aladdin R.D. على تطبيق منفصل عبر الإنترنت.
في CryptoPro CSP ، للعمل مع هذا الرمز المميز ، كان مطلوبًا لتثبيت
حزمة cprocsp-rdr-emv-64 | وحدة دعم EMV / Gemalto .
تم تحديد هذا الرمز المميز والرد عليه. باستخدام الأداة المساعدة
SACTools من حزمة
SafenetAuthenticationClient ، كان من الممكن تهيئتها. ولكن عند العمل مع حماية معلومات التشفير ، تصرف بشكل غريب للغاية ولا يمكن التنبؤ به.
تم عرضه على النحو التالي ، في الأمر:
csptest -keyset -cont '\\.\Aladdin RD JaCarta [SCR Interface] (205D325E5842) 00 00\alfa_shark' -check
كان الجواب أن كل شيء على ما يرام:
[ErrorCode: 0x00000000]
ولكن فور محاولة قراءة المفاتيح برمجيًا ، بدأ الاختيار نفسه في إنتاج خطأ:
[ErrorCode: 0x8009001a]
وفقًا لقائمة رموز الأخطاء الخاصة بنموذج الكائن لمكونات
رموز خطأ Microsoft
COM (الأمان والإعداد) NTE_KEYSET_ENTRY_BAD 0x8009001A Keyset as registered is invalid.
"مجموعة مفاتيح غير صالحة" - قد يكمن سبب مثل هذه الرسالة في شريحة Gemalto القديمة والبرامج الثابتة والتطبيق الصغير أو في برامج التشغيل الخاصة بها لنظام التشغيل التي لا تدعم معايير إنشاء ES الجديدة ووظائف التجزئة GOST R 34.10-2012 و GOST R 34.11- 2012.
في هذه الحالة ، تم حظر الرمز المميز. بدأ مؤشر حماية معلومات التشفير في إظهار الحالة غير الملائمة للقارئ وحاوية المفتاح. إعادة تشغيل خدمة موفر التشفير
cprocsp ، لم
يساعد الرمز المميز pcscd وخدمات البطاقة الذكية ونظام التشغيل بأكمله ، فقط التهيئة.
في الإنصاف ، تجدر الإشارة إلى أن SafeNet eToken PRO يعمل بشكل صحيح مع مفاتيح GOST R 34.10-2001 في نظامي التشغيل Windows 7 و 10.
يمكنك محاولة تثبيت
CryptoPro CSP 4.0 FCN (Gemalto) ، لكن الهدف هو حماية مفاتيح ES والتشفير لدينا من خلال منتجات FSB و FSTEC المعتمدة من عائلة JaCarta والتي تدعم المعايير الجديدة.
تم حل المشكلة عن طريق أخذ الرمز المميز JaCarta PKI الحقيقي في غلاف عادي (XL).
ولكن تم قضاء الكثير من الوقت في محاولة جعل Safenet eToken PRO يعمل. أردت لفت الانتباه إلى هذا ، وربما حماية شخص ما من هذا.
السبب 4
تحتاج في بعض الأحيان إلى العودة إلى المقالات والتعليمات القديمة. هذا مناسب عندما يتم وضع المعلومات في مصدر خارجي. لذلك بفضل هبر على هذه الفرصة.
دليل الإعداد
بعد تثبيت الرمز المميز JaCarta PKI في منفذ USB للخادم وبدء تشغيل النظام ، نتحقق من اكتشاف الجهاز الجديد ويظهر في القائمة:
lsusb

في حالتنا ، يكون
Bus 004 Device 003: ID 24dc: 0101لتشخيص القراء ، يمكنك استخدام الأداة المساعدة
pcsc أدوات من الأمن: مشروع chipcard (software.opensuse.org) .
يتم تشغيله بواسطة الأمر:
pcsc_scan

حتى يتم تثبيت جميع الحزم اللازمة ، لن يتم عرض معلومات حول الرمز.
تثبيت برامج التشغيل والبرامج للعمل مع JaCarta PKI
على صفحة الدعم لموقع "علاء الدين ر. د" نقوم بتنزيل
الوثائق والبرامج للعمل فقط مع JaCarta PKIوفقًا لـ JaCarta for Linux Implementation Guide ، الفقرة 4.2. ، تتمثل الخطوة الأولى في تثبيت
pcsc-lite و
ccid و
libusb .
لكي تعمل أداة إدارة JaCarta ، يجب تثبيت المكونات التالية:
- PC / SC Lite - طبقة متوسطة لتوفير الوصول إلى البطاقات الذكية وفقًا لمعيار PC / SC ، الحزمة pcsc-lite.
- مكتبات Ccid و libusb للعمل مع مفاتيح USB والبطاقات الذكية وقارئات البطاقات الذكية.
نتحقق من توفر هذه الحزم وتثبيت:
zypper search pcsc-lite

zypper search libusb

zypper install pcsc-lite


zypper search CCID

zypper install pcsc-ccid

zypper search CCID

zypper install libusb

نتيجة لذلك ، تم تحديث الحزمة pcsc-lite ، تم تثبيت CCID ، ولم يكن مطلوبًا أي إجراء.
يقوم الأمران التاليان بتثبيت الحزمة مع برامج التشغيل والبرامج مباشرة للعمل مع JaCarta PKI:
zypper install idprotectclientlib-637.03-0.x86_64.rpm

zypper install idprotectclient-637.03-0.x86_64.rpm

تحقق من تثبيت برامج التشغيل والبرامج الخاصة بـ JaCarta PKI:
zypper search idprotectclient

عند محاولة تشغيل SafeNet eToken PRO ، وجدت معلومات مفادها أن
الحزمة - Library الخاصة بقراء البطاقات الذكية المثبتة مسبقًا في
SLES قد تتعارض مع
pcsc-lite - مكتبة البطاقات الذكية PCSC ، والتي يتطلب تركيبها Aladdin R.D.
zypper search openct

لذلك ، نزيل الحزمة openct:
rpm -e openct
الآن يتم تثبيت جميع برامج التشغيل والبرامج الضرورية للعمل مع الرمز المميز.
نقوم بإجراء تشخيصات باستخدام الأداة المساعدة pcsc ونتأكد من اكتشاف JaCarta في نظام التشغيل:
pcsc_scan

تثبيت حزم CryptoPro CSP
عند تثبيت CryptoPro CSP افتراضيًا ، تكون الحزم اللازمة للعمل مع الرموز والبطاقات الذكية مفقودة.
zypper search cprocsp

تثبيت
مكونات JaCarta لمكون دعم
CryptoPro CSP في CSPzypper install cprocsp-rdr-jacarta-64-3.6.408.683-4.x86_64.rpm

بعض المكونات لها تبعيات. لذلك ، على سبيل المثال ، إذا حاولت تثبيت حزمة دعم SafeNet eToken PRO
cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm - وحدة دعم EMV / Gemalto ،
فستتلقى رسالة حول الحاجة إلى تثبيت المكون الأساسي لدعم
cprocsp -rdr-pcsc-64-4.0.9944-5.x86_64.rpm - مكونات الكمبيوتر / SC لأجهزة قراءة CryptoPro CSP :
zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm Loading repository data... Reading installed packages... Resolving package dependencies... Problem: nothing provides cprocsp-rdr-pcsc-64 >= 4.0 needed by cprocsp-rdr-emv-64-4.0.9944-5.x86_64 Solution 1: do not install cprocsp-rdr-emv-64-4.0.9944-5.x86_64 Solution 2: break cprocsp-rdr-emv-64-4.0.9944-5.x86_64 by ignoring some of its dependencies Choose from above solutions by number or cancel [1/2/c] (c): c
تثبيت حزم الدعم الأساسية للقراء والوسائط الأساسية:
zypper install cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm

zypper install lsb-cprocsp-pkcs11-64-4.0.9944-5.x86_64.rpm
يمكنك الآن تثبيت الوحدات النمطية للعمل مع الأنواع الأخرى من الوسائط ومكونات واجهة المستخدم الرسومية:
zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm

zypper install cprocsp-rdr-novacard-64-4.0.9944-5.x86_64.rpm zypper install cprocsp-rdr-mskey-64-4.0.9944-5.x86_64.rpm zypper install cprocsp-rdr-gui-gtk-64-4.0.9944-5.x86_64.rpm

تحقق من التكوين النهائي لـ CryptoPro CSP:
zypper search cprocsp Loading repository data... Reading installed packages...
S | Name | Summary | Type
---+-----------------------------+----------------------------------------------------+--------
i+ | cprocsp-curl-64 | CryptoPro Curl shared library and binaris. Build 9944. | package
i+ | cprocsp-rdr-emv-64 | EMV/Gemalto support module | package
i+ | cprocsp-rdr-gui-gtk-64 | GUI components for CryptoPro CSP readers. Build 9944. | package
i+ | cprocsp-rdr-jacarta-64 | JaCarta components for CryptoPro CSP. Build 683. | package
i+ | cprocsp-rdr-mskey-64 | Mskey support module | package
i+ | cprocsp-rdr-novacard-64 | Novacard support module | package
i+ | cprocsp-rdr-pcsc-64 | PC/SC components for CryptoPro CSP readers. Build 9944.| package
i+ | lsb-cprocsp-base | CryptoPro CSP directories and scripts. Build 9944. | package
i+ | lsb-cprocsp-ca-certs | CA certificates. Build 9944. | package
i+ | lsb-cprocsp-capilite-64 | CryptoAPI lite. Build 9944. | package
i+ | lsb-cprocsp-kc2-64 | CryptoPro CSP KC2. Build 9944. | package
i+ | lsb-cprocsp-pkcs11-64 | CryptoPro PKCS11. Build 9944. | package
i+ | lsb-cprocsp-rdr-64 | CryptoPro CSP readers. Build 9944. | package

لتطبيق التغييرات ، نقوم بإعادة تشغيل خدمة موفر التشفير والتحقق من حالتها:
/etc/init.d/cprocsp restart /etc/init.d/cprocsp status

CryptoPro CSP الإعداد والتشخيص
تحقق مما إذا كان موفر التشفير يرى الرمز المميز وأنواع الوسائط الأخرى المتاحة لدينا باستخدام الأوامر التالية:
/opt/cprocsp/bin/amd64/csptest -card -enum -v –v

/opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251
علاء الدين RD JaCarta [SCR Interface] (000000000000) 00 00 هو
وسيطنا .
باتباع تعليمات
CryptoPro CSP لنظام التشغيل Linux. تكوين ، وتنفيذ التسجيل في مزود التشفير:
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add "Aladdin RD JaCarta [SCR Interface] (000000000000) 00 00"

كنتيجة للتنفيذ في ملف التكوين /
etc /opt/cprocsp/config64.iniستتم إضافة إدخال إلى قسم [KeyDevices \ PCSC]:
[KeyDevices\PCSC\"Aladdin RD JaCarta [SCR Interface] (000000000000) 00 00"\Default]
من أجل الامتثال لمتطلبات نموذج CryptoPro CSP وشروط الاستخدام ودليل مسؤول الأمن:
لا يُسمح باستخدام CryptoPro CSP CIP الإصدار 4.0 مع وضع التحكم بالمفتاح المحسن. يوصف إدراج هذا الوضع في الوثائق ZHTYA.00087-01 91 02. دليل مسؤول الأمن.
من الضروري تمكين التحكم المحسن في استخدام المفتاح:
/opt/cprocsp/sbin/amd64/cpconfig -ini '\config\parameters' -add long StrengthenedKeyUsageControl 1
تحقق من تمكين الوضع:
cat /etc/opt/cprocsp/config64.ini | grep StrengthenedKeyUsageControl

نعيد تشغيل خدمة مزود التشفير:
/etc/init.d/cprocsp restart /etc/init.d/cprocsp status
بعد إعادة التشغيل ، نتحقق من عدم وجود أخطاء في عمل المزود مع شركات النقل الرئيسية:
/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext

/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:REA AcquireContext: OK. HCRYPTPROV: 16052291 alfa_shark1 |SCARD\JACARTA_4E3900154029304C\CC00\E9F6 OK. Total: SYS: 0.000 sec USR: 0.000 sec UTC: 4.560 sec [ErrorCode: 0x00000000]
العمل مع JaCarta PKI رمز
لنقم بتشغيل برنامج Xming (إعادة توجيه X11) في محطتنا حتى نتمكن من فتح واجهات العمل الرسومية للأدوات المساعدة الضرورية من خلال SSH.

بعد تثبيت
IDProtectClient - برنامج للعمل مع JaCarta PKI ، ظهر ملفان على الخادم في مجلد
/ usr / share / applications :
Athena-IDProtectClient.desktop
Athena-IDProtectManager.desktop
هذه اختصارات حيث يمكنك رؤية خيارات بدء التشغيل
للأدوات المساعدة
Exec = / usr / bin / SACToolsقم بتشغيل الأداة المساعدة
IDProtectPINTool .
استخدامه ، يتم تعيين رموز الوصول PIN للرمز وتغييرها.
/usr/bin/IDProtectPINTool

عند تهيئة الرمز المميز لأول مرة ، سيكون الارتباط الذي يحتوي على
رموز PIN (كلمات المرور) لشركات المفاتيح بشكل افتراضي مفيدًا
يتيح
لك برنامج
IDProtect_Manager عرض معلومات حول الرمز المميز والحاوية مع المفاتيح والشهادة:
/usr/bin/IDProtect_Manager

للوصول إلى الحاوية مع المفاتيح التي تحتاجها لإدخال كلمة المرور:


للعمل مع
SafeNet Authentication Client eToken PRO ، هناك برامج مماثلة -
SafeNet Authentication Client Monitor و
SafeNet Authentication Client Tools ، والتي تعمل مثل هذا:
/usr/bin/SACMonitor /usr/bin/SACTools

يعد إجراء العمليات أكثر ملاءمةً مع حاويات المفاتيح في واجهة مزود التشفير CryptoPro JavaCSP:
/jdk1.8.0_181/jre/bin/java ru.CryptoPro.JCP.ControlPane.MainControlPane

لعرض معلومات حول محتويات الحاوية مع المفاتيح ، يمكنك تشغيل الأمر:
/opt/cprocsp/bin/amd64/csptest -keyset -cont '\\.\Aladdin RD JaCarta [SCR Interface] (000000000000) 00 00\alfa_shark1' -info
لتشخيص الحاوية ، استخدم نفس الأمر مع مفتاح التبديل
/opt/cprocsp/bin/amd64/csptest -keyset -cont '\\.\Aladdin RD JaCarta [SCR Interface] (000000000000) 00 00\alfa_shark' –check
ستحتاج إلى إدخال كلمة المرور للحاوية:


استرجاع مفتاح البرنامج
بشكل عام ، مثال على استرداد مفتاح خاص وشهادة مفتاح عمومي من حاوية على رمز مميز باستخدام CryptoPro Java CSP كما يلي:
import ru.CryptoPro.JCP.KeyStore.JCPPrivateKeyEntry; import ru.CryptoPro.JCP.params.JCPProtectionParameter; KeyStore keyStore = KeyStore.getInstance("Aladdin RD JaCarta [SCR Interface] (000000000000) 00 00", "JCSP"); keyStore.load(null, null); JCPPrivateKeyEntry entry = null; X509Certificate certificate = null; PrivateKey privateKey = null; try { entry = (JCPPrivateKeyEntry) keyStore.getEntry(keyAlias, new JCPProtectionParameter(pwd)); certificate = (X509Certificate) entry.getCertificate(); privateKey = entry.getPrivateKey(); } catch (UnrecoverableEntryException | NullPointerException e) { LOGGER.log(Level.WARNING, PRIVATE_KEY_NOT_FOUND + keyAlias + ExceptionUtils.getFullStackTrace(e)); }
إذا كنت تتصرف مثل هذا:
Key key = keyStore.getKey(keyAlias, pwd);
ثم سيحاول موفر التشفير عرض طلب لإدخال كلمة المرور إلى الحاوية من خلال وحدة التحكم أو نافذة واجهة المستخدم الرسومية.
النتائج
يتم تثبيت الرمز المميز لحامل المفتاح الرمز في منفذ USB الداخلي للخادم.
تم إغلاق أجهزة الخادم نفسها ووضعها في غرفة ذات وصول محدود.
يمكن أن تؤدي هذه التدابير إلى زيادة مستوى حماية أنظمة المعلومات الخاصة بنا من سرقة مفاتيح التوقيع أو التشفير الإلكترونية والمساومة عليها ، سواء عن بعد عبر الشبكة أو ماديًا.
روابط مفيدة
- Aladdin-RD JaCarta الوثائق
- wiki.astralinux.ru - العمل مع CryptoPro CSP
- قائمة رموز الأخطاء في طراز كائن مكونات رموز خطأ Microsoft COM (الأمان والإعداد)
- CryptoPro CSP 4.0 CSP 4.0 FCN (جيمالتو)
- أداة تشخيص قارئ Pcsc-tools من الأمان: مشروع chipcard (software.opensuse.org)
- CryptoPro CSP لنظام التشغيل Linux. التخصيص.
- أرقام PIN الخاصة بشركة Aladdin-RD الافتراضية (كلمات المرور)