Întrebarea mea este: există o modalitate eficientă de a „eticheta” cheile originale cu datele „această cheie este pentru mycoolsite.com”, astfel încât eliminarea etichetei ar invalida cheile?
Da, asta este practic ceea ce fac certificatele, unde poți avea un nume de domeniu în stilul X500 RDN (Relative Distinguished Name). De asemenea, este posibil să aveți extensii (critice) care conțin date suplimentare, cum ar fi numele alternativ al subiectului sau utilizarea cheii. „Critic” înseamnă că extensia nu trebuie ignorată chiar dacă extensia este necunoscută. Toate aceste date sunt semnate de CA care emite certificatul și TREBUIE să fie validate de un verificator.
Desigur, chiar și un MUST din cadrul unei proceduri de verificare a certificatului poate fi ignorat. Nu este posibilă invalidarea cheii în sine, și nu puteți forța un sistem să ignore datele trimise către acesta din exterior (cu excepția cazului în care vă sandbox sistemul presupun).
Nici nu este posibil să interziceți utilizatorului să copieze cheia publică sau să solicite un certificat în altă parte. Uneori, anumite CA-uri vor păstra un ID al cheilor în cadrul certificatelor pe care le-au semnat. În acest caz, un CA ar putea alege să ignori o solicitare de certificat cu o cheie „veche” - deși din experiența mea este mai mult despre evitarea erorilor în sistem.
Și, în sfârșit, nu este posibil să restricționați utilizarea unei chei private. Deținătorul unei chei private RSA ar putea folosi acea cheie pentru semnare sau pentru stabilirea cheii, chiar dacă informațiile certificatului indică altfel. Certificatul precizează doar pentru ce poate fi folosită perechea de chei, dar rămâne la latitudinea părții care primește, validează și are încredere în certificat să pună în aplicare acest lucru.