shop

Con el auge del comercio electrónico son muchos los negocios que quieren tener presencia en Internet y tomar ventaja de la omnipresencia que ofrece este canal, pudiendo llegar a un mercado global en vez de un mercado local limitado por la ubicación geográfica.  Independientemente del tipo de producto que se ofrezca y de la plataforma en la cual se implemente la tienda online (SaaS (software como servicio en la nube), desarrollos a medida o software licenciado/open source), hay un objetivo común en estos proyectos: obtener dinero (pagos).  En este artículo se describirán las alternativas disponibles para la realización de pagos no presenciales y la autorización de transacciones con tarjetas de pago, así como la gestión del riesgo de fraude y el cumplimiento de PCI DSS.

¿Qué es el pago no presencial?

Una transacción de pago no presencial (CNP: Card-not-present) es aquel tipo de transacción en la cual el titular de la tarjeta de pago no está o no puede estar presente en el momento de realizar la transacción, de tal forma que el comerciante que recibe el pago no puede validar (mediante observación directa) que el titular es quien dice ser. A diferencia de las transacciones presenciales (en las cuales el títular sí está presente y la transacción se realiza mediante interacción con el plástico (tarjeta) y el uso de un PIN),  en este tipo de transacciones la autenticación del titular se realiza empleando un código de seguridad denominado CID/CAV2/CVC2/CVV2 (dependiendo de la marca), que por lo general viene impreso en el anverso de la tarjeta.

visa

Debido al alto riesgo que este tipo de transacciones traen consigo, es necesaria la implementación de controles adicionales de seguridad física y lógica en todos los dispositivos por los cuales transiten, se almacenen o se procesen estos datos.

Quiero tener mi tienda online. ¿Qué pasos debo seguir para cumplir con PCI DSS?

Si tu intención es publicar tu nueva tienda en Internet, ya tienes todo listo y únicamente requieres establecer cómo capturar y enviarle los datos de tarjeta de pago de tus clientes a “alguien” para que te autorice la transacción y depositen el dinero de la venta en tu cuenta, debes seguir estos pasos:

Identifica un proveedor de servicios que cumpla con PCI DSS

Este es un paso MUY importante. Si quieres aceptar pagos que provengan de tarjetas VISA, MasterCard, American Express, JCB y Discover es imprescindible que localices un proveedor de servicio (PSP: Payment Service Provider) que cumpla con PCI DSS. Cada una de las marcas publica de forma periódica una lista en la cual enumera aquellos proveedores de servicio que han implementado, cumplen con los requerimientos de PCI DSS y han sido auditados por un QSA, lo cual permite garantizar que existe un nivel de seguridad gestionable en los datos de tarjeta que se compartan con dicho proveedor.

Los lugares en los cuales puedes buscar esas listas son:

En esas listas puedes encontrar el nombre del proveedor de servicios, los servicios que ofrece, su URL y los países en los cuales está autorizado para operar.

Escoge el método mediante el cual harás la captura y el envio de datos de tarjeta para autorización

Dado que en tu sitio web requerirás capturar los datos de tarjeta de tus clientes y realizar el envío al proveedor de servicios elegido, es obvio que requerirás de un formulario y de una acción técnica que envíe esos datos para que la autorización sea realizada.

Para ello, puedes usar cualquiera de las siguientes opciones:

  • Usar una redirección: Mediante este método, en el momento de realizar el pago le indicas a tu cliente que será redirigido al sitio web de tu proveedor, quien se encargará de la captura y procesamiento del pago. De esta forma, tu no serás el responsable del formulario ni del envío y no tendrás acceso a ningún dato de tarjeta por lo que el riesgo es mínimo. Un ejemplo de este modelo son los pagos empleando Paypal.
  • Usar un iFrame: Un iFrame es un elemento HTML que permite “incrustar” el contenido de una página web en otra sin necesidad de abrir una ventana nueva o independiente. Es un método muy interesante para aquellas páginas web que no quieren que su cliente se “salga” de su sitio web y – dependiendo del proveedor –  el iFrame se puede personalizar con el look & feel de tu sitio web. En este caso, tu sitio no capturará directamente los datos de tarjeta, sino que esa labor se delegará en el iFrame del proveedor.
  • Usar un POST directo: Un POST es un método de HTTP que permite el envío de datos a un servidor central. En este caso, en tu sitio web se alojará el formulario que realizará la captura de datos de tarjeta de tu cliente y mediante un botón de envío se le redireccionarán esos datos a tu proveedor para que sean autorizados. En este caso, el riesgo es mayor ya que si tu sitio web es comprometido el atacante podría capturar datos de tarjetas de forma no autorizada empleando dicho formulario.
  • Usar Javascript: En este método, en tu sitio web insertarás una serie de líneas pertenecientes a código Javascript que se encargarán de capturar y enviar los datos de las tarjetas de tu cliente al proveedor de servicios. El riesgo también es grande, ya que un potencial atacante con acceso a tu sitio web podría modificar la lógica con la que se capturan los datos de tarjeta para obtenerlos de forma no autorizada.
  • Usar una API: Una API (Application Programming Interface – Interfaz de programación de aplicaciones) es un código que tu proveedor te facilitará para que lo implementes en tu sitio web y puedas hacer uso transparente de funcionalidades localizadas en su propia aplicación (XML, JSON o empleando los pares name:value). Debido a que en tu sitio web tendrás cierta cantidad de código que gestionará la lógica mediante la cual los datos son enviados al proveedor, el riesgo suele ser mayor que en los otros métodos.
  • Usar cualquier otro método: Dependiendo del proveedor, te pueden ofrecer otros métodos distintos de los citados anteriormente. Es importante analizar las responsabilidades que asumirá el proveedor y las que asumirás tu para determinar el nivel de riesgo.

Se puede encontrar información adicional y recomendaciones de seguridad para comercios electrónicos en el artículo “Análisis del documento Information Supplement: Best Practices for Securing E-commerce”.

En el caso que no tengas experiencia con el desarrollo de código o tengas dudas, ubica a un asesor de seguridad calificado (QSA – Qualified Security Assesor) de PCI DSS, quien te puede ayudar en el proceso de la elección del método que mejor se ajuste a tus necesidades.

Identifica los requerimientos de PCI DSS que te aplican

Dependiendo del método que hayas escogido para realizar la captura y envío de datos de tarjetas de pago a tu proveedor, deberás implementar y demostrar el cumplimiento con los controles de PCI DSS que mejor gestionen el potencial riesgo que tengas.

Por otro lado, en función de la cantidad de transacciones anuales que proceses (o tengas pensado procesar) puedes requerir reportar el cumplimiento de PCI DSS empleando un Cuestionario de Auto-Evaluación (Self Assessment Questionnaires – SAQ) o una auditoría realizada por un asesor QSA.

El siguiente diagrama de flujo te permitirá conocer y analizar en términos de coste/beneficio la cantidad de requerimientos de PCI DSS que deberás implementar y el tipo de SAQ/auditoría a realizar:

tienda_online

Para mayor información, échale un vistazo a los artículos “Niveles de cumplimiento y requerimientos de las marcas para comercios y proveedores de servicio en PCI DSS” y “¿Dudas con el SAQ A y el SAQ A-EP? ¡VISA te las soluciona!

Igualmente – y dependiendo del tipo de método de captura y envío de datos de tarjetas que emplees en tu sitio web – puede ser necesario que tengas que contratar un servicio de escaneos de vulnerabilidades externos (req. 11.2.2). Estos escaneos se denominan “escaneos ASV” y deben ser eejcutados de forma trimestral por una compañía homologada por el PCI SSC (Approved Scanning Vendor). Para ello, es indispensable que identifiques una compañía homologada (lo puedes hacer en esta URL). Revisa el artículo “Criterios para escoger un Proveedor Aprobado de Escaneo (ASV)” que te puede dar más luces al respecto.

Reporta de forma anual o cuando tengas cambios significativos tu cumplimiento con PCI DSS

Después que tengas implementados los controles de PCI DSS que te apliquen, debes reportar tu cumplimiento con PCI DSS de forma anual o cuando exista un cambio significativo en tu infraestructura. Este reporte se debe realizar a tu proveedor de servicios, al banco en donde recibes los pagos o directamente a las marcas, por lo que debes ponerte en contacto con ellos para conocer cuáles son sus requerimientos específicos.

En el caso que optes por no implementar los controles de PCI DSS ten presente que en el caso de cualquier incidente que involucre datos de tarjetas de pago tu serás el responsable de todos los gastos generados por demandas, pérdidas, multas e investigaciones forenses derivadas de dicha pérdida, así como hacer frente a la pérdida de imagen y a la negativa de las marcas para volver a aceptar pagos provenientes de tu comercio.

Tener una tienda online te puede abrir una gran oportunidad de negocio, pero también acarrea una responsabilidad muy grande, ya que deberás garantizar la seguridad de los datos de tarjetas de pago de tus clientes. Una pérdida de esta información podría significar graves problemas y afectar tu imagen. Para evitar estos problemas, cumple con los controles de PCI DSS que apliquen a tu entorno y reporta el cumplimiento de forma periódica.

Si tienes alguna duda o requieres soporte, no dudes en visitar nuestro foro y seguirnos en Twitter, LinkedIn, Facebook o Google+ y vía RSS.