Si los certificados pueden usarse para regular el acceso

2

Estoy pensando en un mecanismo en el que necesito autenticar al cliente y controlar el acceso. Estoy pensando en utilizar SSL para este propósito. Quiero saber si el uso de SSL resuelve mi propósito.

Mi problema es que mi llamado servidor solo tiene memoria y capacidad de procesamiento limitadas, pero de alguna manera puede implementar un SSL. Mi cliente es un dispositivo móvil.

Lo que necesito hacer es establecer una conexión SSL con el dispositivo integrado. Para que mi dispositivo móvil se autentique primero con el dispositivo integrado.

Mis preguntas son:

  1. ¿La autenticación basada en certificados puede hacer eso?
  2. ¿Qué deberían incluir todas las cosas en el dispositivo integrado primero?
  3. ¿Cómo sucede esto realmente?
  4. ¿Hay algún otro mecanismo que lo haga para un dispositivo integrado?
pregunta user2315 31.05.2012 - 05:26
fuente

3 respuestas

2

Un certificado generalmente implica que usted tomó una clave pública y obtuvo una autoridad de certificación para firmarla para validar la identidad. No necesitas este segundo paso; solo necesita una lista de las claves públicas que está dispuesto a aceptar de los usuarios de confianza. Por ejemplo, en ssh tienes una lista de claves públicas de confianza que ingresaste en tu ~/.ssh/authorized_keys permitiendo que las personas con las claves privadas asociadas ingresen a ssh en la máquina.

Obviamente, es posible que necesite un certificado SSL firmado para su servidor, para que los usuarios puedan verificar su identidad.

    
respondido por el dr jimbob 31.05.2012 - 06:10
fuente
2

¿La autenticación basada en certificados puede hacer eso?

Se puede usar un certificado para identificar a una persona. Sin embargo, un certificado no impone ninguna restricción de control de acceso por sí mismo. La forma habitual en que esto funciona es crear un usuario en el sistema y, en lugar de crear una contraseña (o, además, se utiliza con una contraseña), un certificado está vinculado a la cuenta del usuario. La aplicación o el sitio web o lo que sea que el cliente se está conectando debe configurarse para solicitar al usuario que proporcione un certificado y posiblemente un nombre de usuario.

¿Qué deberían estar todas las cosas primero en el dispositivo integrado?

Debería tener un mínimo de: Un certificado emitido a cada dispositivo cliente o usuario. una aplicación / navegador capaz de proporcionar un certificado como credencial de usuario

También es muy probable que necesites: La cadena de certificados del dispositivo / certificado de usuario instalado. La cadena de certificados del servidor al que está conectando el dispositivo instalado

¿Cómo sucede esto realmente?

La autenticación basada en certificados es bastante común, sin embargo, tanto las aplicaciones del cliente como las del servidor deben estar programadas para admitirla. Si tanto el cliente como el servidor lo admiten, puede que no sea la forma predeterminada de configuración.

La autenticación del certificado puede emparejarse con el dispositivo o vincularse al usuario. Si se está emparejando con un dispositivo, necesitaría establecer la funcionalidad de la aplicación para que los nuevos dispositivos se agreguen como un dispositivo autorizado para un usuario específico (esto se usa en las aplicaciones de teléfonos inteligentes más nuevas). Si el cliente está usando un navegador, entonces un certificado de usuario es probablemente la mejor opción. Los navegadores de escritorio más nuevos admiten automáticamente pedirle al usuario un certificado, sin embargo, puede que este no sea el caso en su dispositivo móvil.

¿Hay algún otro mecanismo que no sea este para un dispositivo integrado?

Por favor aclarar. En términos de autenticación, hay muchas opciones, siendo el nombre de usuario y la contraseña los más comunes, y es probable que sean los más compatibles con los dispositivos móviles. Si el dispositivo móvil es un teléfono inteligente y es compatible con JavaScript, existen opciones como OpenId y OpenAuth disponibles.

Nota

Como mencionó que su servidor tiene poca CPU y memoria, el cifrado SSL puede agregar carga a su servidor.

Espero que ayude.

    
respondido por el Bernie White 31.05.2012 - 13:31
fuente
0

Un certificado es un paquete que contiene una identidad (un nombre) y una clave pública ; y se firma. La verificación de la firma le brinda cierta garantía de que el paquete es genuino, es decir, la clave pública es realmente la clave que posee la entidad designada por el nombre en el certificado. La verificación se realiza en relación con la clave pública de quien haya firmado ("emitido") el certificado, y esa es una Autoridad de Certificación (CA). Puede conocer la clave pública de la CA a través de otro certificado, emitido por una CA superior, y así sucesivamente. Sin embargo, debe comenzar en algún lugar con una clave pública para una "CA de nivel superior" (conocida como "CA raíz") que usted conoce absolutamente (está incorporada en el software).

Dicho esto, SSL / TLS utiliza certificados para la autenticación y puede autenticarse mutuamente: tanto el cliente como el El servidor puede poseer una clave privada, y se muestran mutuamente sus certificados. Consulte esta respuesta para obtener más información.

En su caso, tendría que ingresar una clave privada y su certificado en el dispositivo integrado (o, mejor aún, que el dispositivo integrado genere su propio par de claves, de modo que la clave privada nunca lo deja); y cada dispositivo móvil también debe tener su propia clave privada y un certificado, donde el certificado debe contener el nombre del dispositivo móvil (o el nombre del propietario del dispositivo móvil ). Por lo tanto, después del protocolo de enlace SSL, la conexión es segura, el dispositivo móvil está seguro de que se comunica con el dispositivo incorporado correcto, y el dispositivo incorporado sabe de manera confiable el cliente que está conectado (a través del nombre en el certificado ).

Precaución: autenticación y autorización no son lo mismo. El hecho de que el dispositivo incorporado sepa quién se encuentra actualmente en el otro extremo de la línea no significa que se debe otorgar acceso a esta persona. En general, los certificados no son buenos para la autorización, ya que no permiten la revocación rápida e inmediata de los derechos de acceso.

Para producir certificados necesita una PKI, es decir, algún software que pueda organizar el proceso de recibir "Solicitudes de certificado" y convertirlas en certificados. Hacerlo correctamente requiere algo de cuidado, con procedimientos a seguir. Algún software puede guiarte; Generalmente recomiendo EJBCA , que es gratis y de código abierto.

    
respondido por el Thomas Pornin 07.01.2013 - 20:42
fuente

Lea otras preguntas en las etiquetas