28.11.2012 Views

De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net

De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net

De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Almacén de equipo fr<strong>en</strong>te a almacén de usuario<br />

DPAPI puede funcionar con el almacén de equipo o el almacén de usuario (que<br />

requiere <strong>la</strong> carga de un perfil de usuario). DPAPI ti<strong>en</strong>e como valor predeterminado el<br />

almacén de usuario, aunque se puede especificar que se utilice el almacén de<br />

equipo pasando el indicador CRYPTPROTECT_LOCAL_MACHINE a <strong>la</strong>s funciones<br />

de DPAPI.<br />

La opción de perfil de usuario proporciona un nivel adicional de seguridad ya que<br />

limita los usuarios que pued<strong>en</strong> t<strong>en</strong>er <strong>acceso</strong> al secreto. Únicam<strong>en</strong>te el usuario que<br />

cifra los <strong>datos</strong> puede descifrarlos. Sin embargo, el uso <strong>del</strong> perfil de usuario requiere<br />

un mayor desarrollo cuando se utiliza DPAPI desde una aplicación Web <strong>ASP</strong>.NET,<br />

ya que es necesario realizar pasos explícitos para cargar y descargar un perfil de<br />

usuario (<strong>ASP</strong>.NET no carga automáticam<strong>en</strong>te un perfil de usuario).<br />

La opción de almacén de equipo requiere un m<strong>en</strong>or desarrollo, ya que no es<br />

necesario administrar perfiles de usuario. Sin embargo, a m<strong>en</strong>os que se utilice un<br />

parámetro de <strong>en</strong>tropía adicional, es m<strong>en</strong>os seguro porque cualquier usuario <strong>del</strong><br />

equipo puede descifrar los <strong>datos</strong>. (La <strong>en</strong>tropía <strong>en</strong> un valor aleatorio que dificulta el<br />

descifrado <strong>del</strong> secreto). El problema <strong>del</strong> uso de un parámetro de <strong>en</strong>tropía adicional<br />

es que <strong>la</strong> aplicación debe almac<strong>en</strong>arlo de forma segura, lo que supone otro problema<br />

de administración de c<strong>la</strong>ves.<br />

Nota: Si utiliza DPAPI con el almacén de equipo, <strong>la</strong> cad<strong>en</strong>a cifrada es específica<br />

de un determinado equipo, por lo que debe g<strong>en</strong>erar los <strong>datos</strong> cifrados <strong>en</strong> cada<br />

equipo. No copie los <strong>datos</strong> cifrados <strong>en</strong>tre equipos de una batería de servidores o<br />

clúster.<br />

Si utiliza DPAPI con el almacén de usuario, puede descifrar los <strong>datos</strong> <strong>en</strong> cualquier<br />

equipo con un perfil de usuario itinerante.<br />

Soluciones de implem<strong>en</strong>tación de DPAPI<br />

En esta sección se describ<strong>en</strong> dos soluciones de implem<strong>en</strong>tación que muestran cómo<br />

utilizar DPAPI desde una aplicación Web <strong>ASP</strong>.NET para asegurar una cad<strong>en</strong>a de<br />

conexión (o cualquier tipo de secreto). En esta sección se describ<strong>en</strong> <strong>la</strong>s sigui<strong>en</strong>tes<br />

soluciones de implem<strong>en</strong>tación:<br />

Utilizar DPAPI desde Servicios Empresariales. Esta solución le permite<br />

utilizar DPAPI con el almacén de usuario.<br />

Utilizar DPAPI directam<strong>en</strong>te desde <strong>ASP</strong>.NET. Esta solución le permite<br />

utilizar DPAPI con el almacén de equipo, que facilita el desarrollo de <strong>la</strong><br />

solución, ya que puede l<strong>la</strong>marse a DPAPI directam<strong>en</strong>te desde una aplicación<br />

Web <strong>ASP</strong>.NET.<br />

Utilizar DPAPI desde Servicios Empresariales<br />

Una aplicación Web <strong>ASP</strong>.NET no puede l<strong>la</strong>mar a DPAPI y utilizar el almacén de<br />

usuario porque se requiere <strong>la</strong> carga de un perfil de usuario. La cu<strong>en</strong>ta <strong>ASP</strong>NET que<br />

se utiliza habitualm<strong>en</strong>te para ejecutar <strong>aplicaciones</strong> Web es una cu<strong>en</strong>ta no interactiva,<br />

por lo que no ti<strong>en</strong>e un perfil de usuario. Además, si <strong>la</strong> aplicación <strong>ASP</strong>.NET está<br />

sup<strong>la</strong>ntada, el subproceso de <strong>la</strong> aplicación Web se ejecuta como el usuario<br />

aut<strong>en</strong>ticado actual, que puede variar de una solicitud a <strong>la</strong> sigui<strong>en</strong>te.<br />

<strong>De</strong> este modo, una aplicación Web <strong>ASP</strong>.NET que desee utilizar DPAPI ti<strong>en</strong>e los<br />

sigui<strong>en</strong>tes problemas:<br />

Hay errores <strong>en</strong> <strong>la</strong>s l<strong>la</strong>madas a DPAPI desde una aplicación <strong>ASP</strong>.NET que se<br />

ejecute bajo <strong>la</strong> cu<strong>en</strong>ta <strong>ASP</strong>NET predeterminada. El motivo es que <strong>la</strong> cu<strong>en</strong>ta<br />

<strong>ASP</strong>NET no ti<strong>en</strong>e un perfil de usuario, ya que no se utiliza para inicios de<br />

sesión interactivos.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!