¿Todos los servidores web tienen un par de claves?
Es común que los administradores inicien sesión en servidores web utilizando SSH con claves públicas y privadas.
Pero desde la perspectiva del usuario, no todos los servidores web tienen su propio par de llaves, sino más bien todos los sitios web (que no es un "one to to"). Una relación. Un servidor web puede alojar varios sitios web y un servidor web puede ser alojado por varios servidores web).
Cuando se utiliza el protocolo HTTPS, el sitio web transmitirá un certificado con su clave pública. El certificado en sí también se firma con una clave privada: la clave de una autoridad de certificación. Su navegador web viene con las claves públicas de varias CA confiables. Esto le permite a su navegador web verificar que el certificado sea genuino y que el servidor web realmente represente el sitio web que pretende servir.
El protocolo HTTPS es un buen ejemplo de los diferentes tipos de criptografía que se utilizan en situaciones cotidianas. Cuando desee una introducción a la criptografía aplicada, entonces HTTPS es un buen tema para estudiar.
¿Cada dirección de correo electrónico?
En un mundo perfecto, cada dirección de correo electrónico estaría asociada con un par de llaves PGP . Pero en el mundo real, el cifrado de correo electrónico de extremo a extremo es desafortunadamente poco común. Privacy Easy Pretty es un nuevo intento de hacer que el correo electrónico cifrado sea más común. El futuro mostrará si va a tener éxito.
¿Cada computadora personal?
No per se , pero generalmente hay varios programas en una PC que utilizan la criptografía de clave pública de una forma u otra. Una clave puede representar una computadora, un programa específico, un usuario (humano o no humano) o una identidad única de un usuario. Pero generalmente solo en el contexto de aplicaciones específicas.
La criptografía de par de llaves también se usa en UEFI para verificar el cargador de arranque del sistema operativo o un módulo TPM.
¿Cada servidor de base de datos?
Al igual que con los sitios web, es una buena práctica usar la criptografía de par de llaves para iniciar sesión en un servidor de base de datos. Pero en cada sistema de base de datos con el que he trabajado, el cifrado es opcional.
¿Cada dispositivo móvil?
La tarjeta SIM en cada dispositivo móvil contiene una clave única que se utiliza para autenticarse con las estaciones base (la clave de autenticación). No es un ejemplo de cifrado de clave pública / privada, porque no hay otra clave. El proveedor de telefonía móvil tiene una copia de la clave en su propio servidor.
Además, los teléfonos inteligentes modernos son prácticamente computadoras personales en miniatura, por lo que lo mismo se aplica a los par de llaves utilizados por aplicaciones arbitrarias. Android tiene una API que permite que las aplicaciones creen y almacenen pares de teclas en el dispositivo y también lo hace iOS .
¿Cada cuenta de Facebook (u otro perfil en línea)?
Rara vez tiene sentido dar a cada perfil en línea un par de llaves propio. Cuando tiene un sitio web, toda la comunicación entre las cuentas ocurre dentro de sus sistemas de confianza, por lo que la autenticación y la confidencialidad no son necesarias.
Cuando desee desarrollar una aplicación web que utilice criptografía de clave pública del lado del cliente, se encontrará con el problema de que Javascript aún no tiene una API de almacén de claves que permita almacenar de forma persistente las claves en el cliente de una manera que no lo hacen. No te pierdas fácilmente.
¿Cada cuenta de WhatsApp?
Whatsapp ahora utiliza cifrado de extremo a extremo que requiere un par de llaves en cada dispositivo.