Ventana de apertura del sitio seguro domainA.com, al sitio asociado domainB.com - con una cadena de consulta cifrada TTL corta

2

Estoy estudiando una propuesta y necesito encontrar razones para que no realicemos la solución sugerida.

Aquí está el problema:

www. domain-a .com es un sitio web seguro que se ocupa de las funciones relacionadas con el cliente.

www. domain-b .com es un sitio web asociado, que se ocupa de un nuevo conjunto de funciones relacionadas con el cliente en las que domain-a .com no participa, otros que al dirigir al usuario registrado a domain-b .com cuando el usuario realiza un viaje específico.

Todo está bien hasta ahora, pero luego presentamos el hecho de que domain-a necesita pasar información cifrada (confidencial) a domain-b a través de la cadena de consulta, y esto naturalmente sería una operación HTTPS GET porque estamos abriendo una nueva ventana.

Mi pregunta realmente rodea el proceso de cifrado de la información confidencial de la cadena de consulta de la mejor manera posible entre domain-a y domain-b de una manera que reduzca o elimine la posibilidad de repetición, MITM y otros ataques comunes.

¿Existen patrones comunes para tratar este tipo de escenario, desde el punto de vista de la criptografía? Obviamente, nos gustaría asegurarnos de que las URL accedidas sean esencialmente "de un solo uso", es decir, un cliente que intentó copiar / marcar esta URL volvería a una sesión muerta / punto final si volviera a acceder a ella.

También entiendo que las solicitudes HTTP GET se pueden almacenar en caché en la infraestructura IIS / Web, y tal vez no sea la mejor manera de resolver esto, pero es el escenario con el que tengo que lidiar actualmente. , cualquier entrada será recibida con gratitud!

    
pregunta Cmac 84 15.10.2015 - 18:10
fuente

1 respuesta

0

Creo que un canal lateral puede ser un medio mejor para pasar los datos que intentar pasar todo en una cadena de consulta. El flujo sería:

  • El dominio A envía todos los datos relevantes directamente al dominio B a través de HTTPS.
  • El dominio B almacena los datos en una sesión temporal y crea una identificación aleatoria segura para la sesión. (Tenga en cuenta que esta no es una sesión regular para el Dominio B, solo una lista temporal con un tiempo de espera muy corto).
  • El dominio B devuelve el ID de sesión al dominio A.
  • El dominio A abre la nueva ventana con la URL https://domain-B/landingpage?tempID=XXXXX .
  • Cuando el dominio B recibe el token, elimina la sesión temporal coincidente y usa los datos. Si la sesión temporal no existe, entonces era una URL obsoleta o una URL repetida y debe manejarse de manera apropiada.

De esta manera, los datos están seguros porque confiamos en HTTPS, puede pasar cualquier cantidad de datos porque el canal lateral no tiene limitaciones de cadenas de consulta, no hay necesidad de meterse con las claves de cifrado o similar porque HTTPS maneja todos para eso, y la protección de repetición es solo una parte natural del proceso.

    
respondido por el Neil Smithline 15.10.2015 - 19:07
fuente

Lea otras preguntas en las etiquetas