it-swarm-es.com

¿Facebook Connect o Twitter OAuth Cumple con PCI?

Tenemos un sistema que almacena las tarjetas de crédito de forma segura en nuestros archivos. Nos encantaría permitir que los usuarios se registren mediante Facebook Connect o Twitter.

Obviamente, esto no sería seguro si confiáramos en cualquier proveedor antiguo de OAuth o OpenID, pero en el caso de Facebook y Twitter específicamente, es posible implementar un proceso de registro/inicio de sesión compatible con PCI mientras mantiene una tarjeta de crédito registrada?

12
realworldcoder

PCI DSS v2 , Requisito 7: "Implementar medidas sólidas de control de acceso" es la sección pertinente. Esta sección detalla el control de acceso principalmente para los no consumidores que accederán al titular de la tarjeta datos con fines comerciales, aunque hay un par de requisitos que parecen aplicables tanto a los consumidores como a los no consumidores:

8.1 Asigne a todos los usuarios una identificación única antes de permitirles acceder a los componentes del sistema o los datos del titular de la tarjeta

8.2 Además de asignar una identificación única, utilice al menos uno de los siguientes métodos para autenticar a todos los usuarios: Algo que sepa, como un
contraseña o frase de contraseña Algo que tenga, como un
dispositivo token o tarjeta inteligente Algo que eres, como un
biométrico

8.3 Incorporar autenticación de dos factores para el acceso remoto (acceso a nivel de red que se origina desde fuera de la red) a la red por parte de empleados, administradores y terceros. (Por ejemplo, autenticación remota y servicio de marcación (RADIUS) con tokens; sistema de control de acceso del controlador de acceso al terminal (TACACS) con tokens; u otras tecnologías que facilitan la autenticación de dos factores.

8.4 Hacer que todas las contraseñas sean ilegibles durante la transmisión y el almacenamiento en todos los componentes del sistema utilizando criptografía sólida

Con lo anterior en mente, parecería que alguien podría argumentar que Facebook Connect/oAuth se consideraría un servicio de terceros que se conecta al sistema del titular de la tarjeta y, por lo tanto, se le solicitaría que se autenticara mediante dos factores en su sistema. (Del requisito 8.3)

Aunque también pude ver que se está argumentando que no es realmente un servicio de terceros que se conecta al sistema, simplemente está facilitando la autenticación de los consumidores en su sistema.

Su QSA tendría que hacer la llamada.

10
Josh Brower

Después de haber realizado muchas auditorías de TI durante los últimos diez años, diría que mi mayor preocupación sería tener la seguridad de que este mecanismo de autenticación de terceros funciona como debería. Un auditor que arriesga su cuello y da luz verde a esto se encuentra en una posición muy difícil si algo sucede en el extremo de Facebook/Twitter de las cosas (son objetivos populares, ya que la base de usuarios es masiva), por lo que generalmente querría hacerlo. auditar el mecanismo de autenticación ...

que de manera realista no va a suceder

Entonces, lo que sucederá es que se planteará una excepción y la empresa tendrá que aprobarla. ¿Entenderán completamente lo que están firmando? Solo si les explica lo importante que es esto para ellos.

Como señaló Josh, hay una redacción dentro de PCI que podría encajar en este caso, pero al final del día dependerá del auditor y de los dueños de negocios si quieren este nivel de riesgo.

7
Rory Alsop

Una cosa a considerar si está considerando confiar en Twitter/Facebook para la autenticación es que ambos todavía permiten que las ID de sesión se transmitan a través de una conexión no cifrada ya que, después de la autenticación, se accede a ellos a través de http y no de https.

Como tales, es poco probable que se considere que están en línea con los requisitos de PCI.

4
Rory McCune

La pregunta original pregunta si los esquemas de autenticación de Facebook, Twitter, etc. son compatibles con PCI.

La especificación de los Estándares de seguridad de datos (DSS) de la industria de tarjetas de pago (PCI) cita dos aspectos separados y distintos sobre la autenticación y es el contexto de uso el que discrimina entre los requisitos:

La Sección 8 establece que se debe asignar una identificación única a cada persona con acceso a una computadora. Un nombre de usuario "principal" (de cualquier servicio) cumple con ese requisito (es único).

En esta sección se analiza la verificación de los usuarios autorizados, que cumpliría el componente de contraseña. Así que esto cubre la "autenticación" básica (es lo que creemos que es) para la verificación del titular de la tarjeta.

Sin embargo, depende de qué acceso se otorgue. Para un instrumento de pago almacenado, para que el titular de la tarjeta pueda realizar una compra contra él, esto sería suficiente (siempre que el almacenamiento de la estructura del instrumento de pago cumpliera los requisitos de PCI, etc.).

Sin embargo, para el "acceso remoto" al sistema de pago (generalmente), se requiere autenticación de segundo factor (fuera de banda mediante contraseña de un solo uso de voz/SMS, por ejemplo). En este caso, Google cumpliría, por ejemplo, si la opción de devolución de llamada de su número de teléfono se implementara como un medio de autenticación de segundo factor para el acceso remoto al sistema de pago. Si el número de teléfono no estuviera disponible o Facebook no implementa la autenticación de segundo factor para el acceso remoto al sistema de pago, entonces NO sería compatible.

4
Darrell Teague