¿OAuth 2.0 proporciona una manera confiable de regenerar una clave solo cuando una sesión está activa?

3

Quiero cifrar datos confidenciales en mi servidor de aplicaciones (aplicación de facebook) de tal manera que mi aplicación solo pueda descifrar estos datos cuando el usuario se encuentre en una sesión activa. Necesito poder obtener / regenerar / extraer de manera confiable una clave para cifrar / descifrar estos datos, y me gustaría usar algo que Facebook solo enviará a mi aplicación cuando ese usuario esté conectado activamente, siempre será el mismo entre sesiones para ese usuario específico, y no se forja fácilmente a partir de la información disponible para otros usuarios o aplicaciones. ¿Existe alguna información secreta de este tipo, ya sea en OAuth 2.0 o en la API de Facebook Connect, que sea usuario & ¿Aplicación específica y será consistente entre sesiones?

El propósito de esto es retener una clave privada de un par de claves que genero para cada usuario ... permitiendo a los usuarios intercambiar bits de datos confidenciales entre sí (o más bien, para que mi aplicación intercambie bits de datos confidenciales internamente) de tal manera que esta información sea segura, incluso si los datos del servidor de la aplicación se ven comprometidos ... (Entiendo que si el servidor de la aplicación permanece comprometido por un período de tiempo, es posible que esta información confidencial aún se pueda recopilar de todos los usuarios que han tenido sesiones activas mientras el servidor estaba comprometido. Sin embargo, me gustaría minimizar la cantidad de daño posible en caso de que el servidor se vea comprometido ... de manera que cualquier dato extraído del servidor sea inútil sin cada individuo información secreta del usuario / clave)

    
pregunta Ali Ahmad 06.01.2013 - 20:48
fuente

1 respuesta

1

OAuth 2.0 no le proporciona específicamente lo que está buscando, pero en la mayoría de los casos después de obtener su token OAuth (en muchos casos cuando obtiene su touth), tendrá acceso a un ID de usuario de algún tipo. Sin embargo, la identificación será diferente de cada proveedor. En particular, para OAuth de Facebook, solo le dan el access_token y luego necesita hacer una solicitud a la página de porfile para el ID.

enlace

Hay un ejemplo de esto visto en los documentos aquí:

enlace

    
fuente

Lea otras preguntas en las etiquetas