¿Cómo permitir que solo el propietario de la clave pública envíe solicitudes a mi sitio? ¿Y cómo se llama este tipo de seguridad?

0

Probablemente, aquí se lo pidieron muchas veces, pero no encuentro ninguno porque no estoy seguro de qué buscar.

Estoy desarrollando una pasarela de pago simple, donde los socios (consumidores) pueden enviar solicitudes para que sus usuarios puedan pagar y devolver.

Le daré a los socios una clave pública (vinculada a su nombre de dominio), ellos usarán esta clave en su sitio web (a través de una etiqueta de src de script en iframe) para adquirir un token de acceso. Este token de acceso se utilizará para enviar solicitudes a mi pasarela de pago.

La pregunta es: ¿cuál es el término técnico en seguridad para lo que estoy tratando de hacer? ¿Y qué otros métodos hay?

Información adicional: he comprobado cómo Paypal implementa sus botones Comprar / Suscribir / Donar, parece que no ponen ninguna información confidencial en el iframe (del botón), ¿cómo pueden asegurarse del socio?

Nota adicional: no quiero que mis socios hagan una llamada de servidor a servidor, quiero que la integración sea muy simple desde su lado.

    
pregunta medopal 30.04.2013 - 21:26
fuente

2 respuestas

2

Aquí hay un pequeño detalle sobre cómo Paypal emite los ID de aplicación para emitir en servidores que hospedarán aplicaciones que hagan llamadas API a PayPal en nombre de comerciantes / proveedores de servicios - enlace

El enfoque que está tomando arriba es similar, por lo que es una forma de proporcionar autenticación del lado del cliente a la puerta de enlace del servidor.

Una forma alternativa de hacer esto sería emitir certificados que rellene con los detalles del cliente al que está emitiendo los certificados. Luego instalarían los certificados en sus servidores web para que esos certificados se autentiquen en su certificado del lado del servidor.

El problema inmediato con lo anterior parece ser que si alguien obtiene acceso a la clave pública que su cliente almacena en una etiqueta de script src, se puede suplantar a su cliente y recibir un token de acceso ... Como tal, tal vez la autenticación debería ser abstraído del código publicado, accesible.

    
respondido por el AndyMac 30.04.2013 - 22:13
fuente
1

Esto se conoce a menudo como un servicio o clave de API. Estás intentando configurar un servicio web. En general, el sitio del cliente enviará una solicitud para que se realice alguna acción con un identificador que se pueda compartir públicamente que le permita a su sistema identificar quién envió el tráfico a su manera. Probablemente debería estar emparejado con un código privado que se usa para que su servidor responda a su cliente de una manera que le permita confirmar que ha hecho todo lo que solicitó (junto con los detalles de la solicitud para que puedan verificar a su cliente) no lo cambié).

Por ejemplo, el usuario Bob podría ir al sitio de Client BuyStuff.Com y realizar una compra. El monto de la compra y el número de pedido se pueden enviar con la clave de API pública de BuyStuff 1234567 a su sitio. Su sitio sabría entonces que debe solicitarle a Bob el pago y sabría que va a ingresar a la cuenta de BuyStuff. Cuando Bob termine, puede cifrar la cantidad pagada y el número de pedido y enviarlo a BuyStuff usando la clave de API privada de BuyStuff para que BuyStuff sepa que el pedido se pagó correctamente.

    
respondido por el AJ Henderson 30.04.2013 - 22:22
fuente

Lea otras preguntas en las etiquetas