Java platformasi xavfsizlikni, jumladan, til xavfsizligi, kriptografiya, ochiq kalitlar infratuzilmasi, autentifikatsiya, xavfsiz aloqa va kirishni boshqarishni ta'kidlaydi



Yüklə 67,8 Kb.
səhifə2/8
tarix19.12.2023
ölçüsü67,8 Kb.
#185149
1   2   3   4   5   6   7   8
Tarmoq MI 29 11

Dizayn tamoyillari

JCA quyidagi tamoyillar asosida ishlab chiqilgan:


Amalga oshirishning mustaqilligi va o'zaro muvofiqligi algoritmning mustaqilligi va kengaytirilishi


Amalga oshirish mustaqilligi va algoritm mustaqilligi bir-birini to'ldiradi; amalga oshirish tafsilotlari yoki hatto ushbu tushunchalar uchun asos bo'lgan algoritmlar haqida qayg'urmasdan, raqamli imzolar va xabarlar dayjestlari kabi kriptografik xizmatlardan foydalanishingiz mumkin. To'liq algoritmdan mustaqillik mumkin bo'lmasa-da, JCA standartlashtirilgan, algoritmga xos API'larni taqdim etadi. Amalga oshirish-mustaqillik istalmaganda, JCA ishlab chiquvchilarga ma'lum bir dasturni ko'rsatishga imkon beradi.

Algoritm mustaqilligiga kriptografik "dvigatellar" (xizmatlar) turlarini aniqlash va ushbu kriptografik mexanizmlarning funksionalligini ta'minlovchi sinflarni aniqlash orqali erishiladi. Bu sinflar dvigatel sinflari deb ataladi va misollar MessageDigest, Signature, KeyFactory, KeyPairGenerator va Cipher sinflaridir.


Amalga oshirish mustaqilligi “provayder”ga asoslangan arxitektura yordamida erishiladi. Kriptografik xizmat ko‘rsatuvchi provayder (CSP) atamasi (ushbu hujjatda “provayder” so‘zi bilan almashtirilgan) raqamli imzo algoritmlari, xabarlar dayjest algoritmlari va kalitlarni konvertatsiya qilish xizmatlari kabi bir yoki bir nechta kriptografik xizmatlarni amalga oshiradigan paket yoki paketlar to‘plamiga ishora qiladi. Dastur ma'lum bir xizmatni (masalan, DSA imzo algoritmi) amalga oshiradigan ob'ektning ma'lum bir turini (masalan, Imzo ob'ekti) so'rashi va o'rnatilgan provayderlardan biridan amalga oshirishni olishi mumkin. Agar so'ralsa, dastur o'rniga ma'lum bir provayderdan amalga oshirishni talab qilishi mumkin. Provayderlar ilovaga shaffof tarzda yangilanishi mumkin, masalan, tezroq yoki xavfsizroq versiyalar mavjud bo'lganda.


Amalga oshirishning o'zaro muvofiqligi turli xil ilovalar bir-biri bilan ishlashi, bir-birining kalitlaridan foydalanishi yoki bir-birining imzolarini tekshirishi mumkinligini anglatadi. Bu, masalan, bir xil algoritmlar uchun bir provayder tomonidan yaratilgan kalit boshqa provayder tomonidan ishlatilishi mumkinligini va bir provayder tomonidan yaratilgan imzo boshqasi tomonidan tekshirilishi mumkinligini anglatadi.


Algoritmning kengaytirilishi qo'llab-quvvatlanadigan dvigatel sinflaridan biriga mos keladigan yangi algoritmlarni osongina qo'shish mumkinligini anglatadi.


Arxitektura


Kriptografik xizmat ko'rsatuvchi provayderlar

java.security.Provider barcha xavfsizlik provayderlari uchun asosiy sinfdir. Har bir CSP provayder nomini o'z ichiga olgan va u amalga oshiradigan barcha xavfsizlik xizmatlari/algoritmlari ro'yxatini o'z ichiga olgan ushbu sinfning namunasini o'z ichiga oladi. Muayyan algoritmning namunasi kerak bo'lganda, JCA ramkasi provayderning ma'lumotlar bazasiga murojaat qiladi va mos keladigan moslik topilsa, namuna yaratiladi.


Provayderlar reklama qilingan kriptografik algoritmlar uchun aniq dasturlarni taqdim etadigan paketni (yoki paketlar to'plamini) o'z ichiga oladi. Har bir JDK o'rnatilishida bir yoki bir nechta provayderlar o'rnatilgan va sukut bo'yicha sozlangan. Qo'shimcha provayderlar statik yoki dinamik ravishda qo'shilishi mumkin (Provayder va Xavfsizlik sinflariga qarang). Mijozlar o'zlarining ish vaqti muhitini provayder afzal ko'rish tartibini belgilash uchun sozlashlari mumkin. Imtiyozli tartib - bu hech qanday aniq provayder so'ralmaganda, so'ralgan xizmatlar uchun provayderlarni qidirish tartibi.


JCA dan foydalanish uchun dastur shunchaki ob'ektning ma'lum bir turini (masalan, MessageDigest) va ma'lum bir algoritm yoki xizmatni (masalan, "SHA-256" algoritmi) so'raydi va o'rnatilgan provayderlardan biridan dasturni oladi. Shu bilan bir qatorda, dastur ob'ektlarni ma'lum bir provayderdan so'rashi mumkin. Har bir provayderning unga murojaat qilish uchun ishlatiladigan nomi bor.


md = MessageDigest.getInstance("SHA-256");


md = MessageDigest.getInstance("SHA-256", "ProvayderC");
Quyidagi raqamlar "SHA-256" xabar dayjestini amalga oshirish talabini ko'rsatadi. Raqamlarda turli xil xabarlarni hazm qilish algoritmlarini amalga oshiradigan uchta turli provayder ko'rsatilgan ("SHA-256", "SHA-384" va "SHA-512"). Provayderlar chapdan o'ngga (1-3) afzalliklarga ko'ra tartiblanadi. Birinchi rasmda dastur provayder nomini ko'rsatmasdan SHA-256 algoritmini amalga oshirishni so'raydi. Provayderlar imtiyozli tartibda qidiriladi va ushbu algoritmni taqdim etuvchi birinchi provayder, ProviderB tomonidan amalga oshirilgan dastur qaytariladi. Ikkinchi rasmda dastur SHA-256 algoritmini amalga oshirishni ma'lum bir provayder, ProviderC dan so'raydi. Bu safar ProviderC ilovasi qaytariladi, garchi yuqoriroq afzallik tartibiga ega ProviderB provayder ham SHA-256 ilovasini taqdim qilsa ham.



JDK-dagi kriptografik ilovalar asosan tarixiy sabablarga ko'ra bir necha xil provayderlar (Sun, SunJSSE, SunJCE, SunRsaSign) orqali tarqatiladi, lekin kamroq darajada ular taqdim etayotgan funksionallik va algoritmlar turiga ko'ra. Boshqa Java ish vaqti muhitlari ushbu Sun provayderlarini o'z ichiga olishi shart emas, shuning uchun ma'lum bir provayder mavjud bo'lishi ma'lum bo'lmasa, ilovalar provayderga xos dasturni talab qilmasligi kerak.


JCA foydalanuvchilarga qaysi provayderlar o'rnatilganligi va ular qanday xizmatlarni qo'llab-quvvatlayotganini so'rash imkonini beruvchi API to'plamini taklif qiladi.


Ushbu arxitektura, shuningdek, oxirgi foydalanuvchilarga qo'shimcha provayderlarni qo'shishni osonlashtiradi. Ko'pgina uchinchi tomon provayderlarining ilovalari allaqachon mavjud. Provayderlar qanday yozilishi, o'rnatilishi va ro'yxatdan o'tkazilishi haqida ko'proq ma'lumot olish uchun Provayderlar sinfiga qarang.





Yüklə 67,8 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin