Savdo belgisi (kompyuter xavfsizligi) - Trademark (computer security)

A Savdo belgisi kompyuter xavfsizligida ob'ektning xavfsizlik xususiyatlarini tasdiqlovchi kod va ob'ektning ma'lum xavfsizlik xususiyatlariga ega bo'lishini talab qiladigan kod o'rtasidagi shartnoma. Shunday qilib, bu ta'minlashda foydalidir xavfsiz axborot oqimi. Ob'ektga yo'naltirilgan tillarda savdo markasi o'xshashdir imzolash ma'lumotlar, lekin ko'pincha kriptografiyasiz amalga oshirilishi mumkin.

Amaliyotlar

Savdo markasida ikkita operatsiya mavjud:

ApplyTrademark! (Ob'ekt)

Ushbu operatsiyani bajarish elektron raqamli imzo jarayonidagi yopiq kalitga o'xshaydi, shuning uchun ishonchsiz kodga duch kelmaslik kerak. o'zgarmas narsalar, va qachon ishonch hosil qiling VerifyTrademark? u haqiqiy qiymatga ega bo'lgan bir xil qiymat bo'yicha chaqiriladi.

Savdo belgisini tasdiqlaysizmi? (Ob'ekt)

Ushbu operatsiyani bajarish elektron raqamli imzo jarayonidagi ochiq kalitga o'xshaydi, shuning uchun ishonchsiz kod ta'sir qilishi mumkin, agar shunday bo'lsa va ApplyTrademark-ga to'g'ri keladi. berilgan predmet bilan chaqirilgan.

Bo'yoqlarni tekshirish bilan bog'liqlik

Savdo markasi teskari bo'yoqlarni tekshirish. Bo'yoqlarni tekshirish - bu qora ro'yxatdagi yondashuv, ba'zi bir narsalarga ishonmaslik kerakligini aytadi, savdo markasi - bu ba'zi bir ob'ektlarni xavfsizlik xususiyatlariga ega deb belgilaydigan oq ro'yxat yondashuvi.

Memoizatsiya bilan bog'liqlik

Amaldagi savdo belgisini quyidagicha tasavvur qilish mumkin yod olish tekshirish jarayoni.

Shartnomani tekshirish bilan bog'liqlik

Ba'zan tekshirish jarayonini bajarish kerak emas, chunki qiymatning ma'lum bir xavfsizlik xususiyatiga ega bo'lishi mumkin statik ravishda tasdiqlangan. Bunday holda, amaliy xususiyat ob'ekt mavjud bo'lgan kod bilan ishlab chiqarilganligini tasdiqlash uchun ishlatiladi rasmiy tasdiqlangan faqat ma'lum bir xavfsizlik xususiyatiga ega bo'lgan natijalarni ishlab chiqarish uchun.

Misol

Javada savdo belgisini qo'llash usullaridan biri:

  jamoat sinf Savdo belgisi {    / * Zaif identifikatsiya qilingan xash to'plamidan foydalaning          o'rniga a.equals (b) && check (a) ga teng bo'lsa          tekshirishni anglatmaydi (b). * /    xususiy final WeakHashSet<?> savdo markasi = ...;    jamoat sinxronlashtirildi bekor murojaat qilish(Ob'ekt o) {      savdo markasi.qo'shish(o);    }    jamoat sinxronlashtirildi mantiqiy tekshirish(Ob'ekt o) {      qaytish savdo markasi.o'z ichiga oladi(o);    }  }  jamoat sinf HTMLSanitizer {    // Amal qilish jarayoni sir saqlanadi.    xususiy statik final Savdo belgisi TM = yangi Savdo belgisi();     jamoat Ip sanitize HTML(Ip xomHtml) {      // Xavfsiz teglardan boshqasini olib tashlang      Ip safeHtml = ...;      // java.lang.String o'zgarmasdir, shuning uchun uni savdo belgisi bilan belgilash mumkin.      TM.murojaat qilish(safeHtml);      qaytish safeHtml;    }    jamoat mantiqiy isSanitlangan(Ip HTML) {      qaytish TM.tekshirish(HTML);    }  }

Tashqi havolalar