Estructura de seguridad de una API

3

Llevo 8 meses desarrollando una aplicación web y API. Implementé las credenciales del cliente OAuth 2.0 para la autenticación. Y ahora tengo que implementar TLS a mis APIs. He estado lidiando con implementaciones de seguridad SSL / TLS durante días. No pude nada. Sin embargo, estoy al principio y empecé a sentir la desesperación.

Puedo estar equivocado, pero pensé que puedo emitir certificados en mi página web para mis usuarios. Y los usuarios pueden usarlos cuando intentan usar mi API para la autenticación de cliente SSL. (como Paypal ) Hay muchas cosas que se deben conocido. Así que necesito ayuda.

P: Me gustaría saber si hay algún elemento faltante en mi lista ? ¿Qué más debo hacer ?
 P: ¿Sería posible que haya una forma alternativa de proporcionar seguridad para mi API ?

Resumen de mi lista de tareas pendientes

  1. Cree una clave de CA y un certificado utilizando OpenSSL
  2. Cree la clave del servidor y el certificado utilizando OpenSSL
  3. Pon un "nuevo certificado". botón en mi página web y código
    Si un usuario hace clic en el botón entonces;

    a. generar un certificado de cliente descargable utilizando PKIjs-x509

    b. una copia del certificado se guarda en una carpeta clients en el servidor

  4. Cree y administre una lista de revocación de certificados a CA usando PKIjs -CRL

  5. Pon un "quitar certificado". Botón en la página web y código
    Si un usuario hace clic en el botón entonces;

    a. agregar certificado relacionado a CRL

  6. Si un usuario sale del sistema, agregue un certificado relacionado a CRL

Creo que los números 4, 5 y 6 (operaciones CRL) son redundantes. Necesito una conexión segura entre el cliente y el servidor. Cada certificado de cliente diferente crea un canal seguro diferente al servidor. Por lo tanto, si un hombre malintencionado usa un certificado, solo puede acceder a mi servidor de autorización de forma segura. Por lo tanto, estos elementos no parecen importantes en mi caso . ¿Lo son?

Uso Node.js y javascript. Encontré algunas bibliotecas de JavaScript útiles como PKIjs , forge.js y pem .

Llamé a una de las compañías globales de CA por su servicio PKI. Me dieron $ 30 por cliente y no puedo usar su CRL como programa en mi solicitud. Esto es imposible para mí. Así que he estado tratando de resolver por mí mismo.

Palabras clave para recordar algunas cosas;
(EJBCA, x.509, PKI, intercambio de claves, S / MIME, OpenSSL, RSA, ASN.1, PCKS, huella digital)

    
pregunta efkan 14.04.2015 - 18:34
fuente

1 respuesta

1

Encontré una solución que estaba buscando;

enlace

Pero al principio lo intentaré con pem . Porque funciona en back-end y parece más simple.

    
respondido por el efkan 16.04.2015 - 06:29
fuente