<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de PRISE &#187; OAuth</title>
	<atom:link href="https://www.prise.es/blog/category/oauth/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.prise.es/blog</link>
	<description>Blog del equipo de PRISE</description>
	<lastBuildDate>Fri, 05 Jul 2024 09:38:44 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Nuevas aplicaciones en adAS SSO</title>
		<link>https://www.prise.es/blog/la-adaptacion-versatil-de-adas-sso/</link>
		<comments>https://www.prise.es/blog/la-adaptacion-versatil-de-adas-sso/#comments</comments>
		<pubDate>Thu, 18 Jul 2019 09:09:56 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[adAS]]></category>
		<category><![CDATA[CAS]]></category>
		<category><![CDATA[Integración aplicaciones]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PRiSE]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=1562</guid>
		<description><![CDATA[No te pierdas los últimos SP's que nuestros clientes han integrado en adAS SSO]]></description>
				<content:encoded><![CDATA[<p>adAS SSO permite integrar aplicaciones y servicios bajo los principales protocolos de SSO: CAS, SAML, OAuth, OpenID.</p>
<p>Nuestros clientes evolucionan sus SSO&#8217;s integrando nuevos SP&#8217;s, estas son las últimas aplicaciones que se suman a nuestro single sign-on:</p>
<ul>
<li>Unidisc de UNIFICAT, producto ownCloud</li>
<li>Kaltura</li>
<li>Tangram</li>
<li>Mathworks</li>
<li>Office365</li>
<li>appCrue</li>
</ul>
<p><img class=" wp-image-1569 aligncenter" src="http://www.prise.es/blog/wp-content/uploads/2019/07/sps-1024x724.jpg" alt="sp's" width="700" height="495" /></p>
<p>Infórmate sobre como adAS SSO facilita la integración y adaptación de  SP&#8217;s, <a href="http://www.prise.es/es/contact/">contacta</a> con nosotros!</p>
<p>Y recuerda que tenemos disponible LonginUp, nuestro SSO en la nube.</p>
<p><a href="http://www.prise.es/blog/wp-content/uploads/2019/07/sps.jpg"><br />
</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/la-adaptacion-versatil-de-adas-sso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publicado adAS 1.6.0</title>
		<link>https://www.prise.es/blog/publicado-adas-1-6-0/</link>
		<comments>https://www.prise.es/blog/publicado-adas-1-6-0/#comments</comments>
		<pubDate>Mon, 16 Feb 2015 15:52:04 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[adAS]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PRiSE]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=1361</guid>
		<description><![CDATA[Tras un año de duro trabajo por parte de nuestro equipo técnico, nos complace anunciar la publicación de adAS 1.6.0]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.prise.es/blog/wp-content/uploads/2012/05/adas-logo-peq.png"><img class=" size-full wp-image-1003 aligncenter" src="http://www.prise.es/blog/wp-content/uploads/2012/05/adas-logo-peq.png" alt="Logo de adAS" width="150" height="61" /></a></p>
<p>Tras un año de duro trabajo por parte de nuestro equipo técnico, nos complace anunciar la publicación de <a href="http://www.adas-sso.com/"><strong>adAS 1.6.0</strong></a>, una nueva versión que trae grandes novedades entre las que destacamos las siguientes:</p>
<h3 style="margin-top: 1em;">Arquitectura y código</h3>
<p>Se ha realizado una evolución de la arquitectura y del código, de manera que estén asentadas las bases a las características más avanzadas de PHP. Para ello, se ha trabajado en los siguientes aspectos:</p>
<ul>
<li>Directorios: se ha separado tanto el código de la herramienta de administración del código de adAS, donde cada uno de ellos tiene una estructura diferenciada de las configuraciones con respecto al código</li>
<li>Punto de entrada: se ha unificado en un solo archivo .php la entrada de los mensajes que recibe adAS, siendo así más fácil gestionar el despliegue en los servidores web</li>
<li>Espacio de nombres en las clases: una evolución del código que permite ser compatible con la especificación PSR-4 de PHP</li>
</ul>
<h3 style="margin-top: 1em;">Fuentes de datos</h3>
<p>Se ha incluido Sympa como fuente de datos disponible en adAS. Esto permite que puedan ser obtenidas las listas de correo a las que está suscrito un usuario y utilizar esta información tanto en una política de emisión de atributos como en una política de autorización.</p>
<h3 style="margin-top: 1em;">Autenticación</h3>
<p>Disponible ahora la autenticación delegada mediante Twitter, de manera que un usuario pueda autenticarse en adAS gracias a que ha realizado su autenticación en Twitter.</p>
<p>Además, se ha realizado una nueva implementación de la autenticación mediante certificado digital X.509, donde es más fácil gestionar la autenticación para certificados digitales de diferentes entidades certificadoras.</p>
<h3 style="margin-top: 1em;">API Rest</h3>
<p>adAS incorpora una API REST a través del cual aplicaciones externas podrán enviar operaciones y consultar información en adAS con respecto a configuraciones, atributos, eventos o información en las fuentes de datos, entre otros. Esta API está protegida mediante OAuth2 por lo que solo estará disponible para aquellas aplicaciones en las que sea necesario.</p>
<h3 style="margin-top: 1em;">OAuth 2</h3>
<p>Dentro de esta nueva versión de adAS, se ha implementado el perfil o <em>grant</em> «client credentials» del protocolo OAuth 2, siendo de interés para aquellos servicios que necesitan proteger un recurso y la autorización es en base a qué aplicación desea obtener dicho recurso protegido en vez de los datos del usuario que está interactuando con la aplicación. Nosotros lo utilizamos para proteger la API REST de adAS.</p>
<p>Nuestro objetivo es que en futuras versiones estén disponibles el resto de perfiles de OAuth 2, cubriendo así todos los posibles casos de uso que este protocolo define.</p>
<h3 style="margin-top: 1em;">Logs</h3>
<p>Se ha realizado una nueva implementación del sistema de logs tanto en adAS como en la herramienta de administración, donde ahora se podrán visualizar de manera más ágil y sencillo los mensajes que adAS ha generado en el sistema.</p>
<h3 style="margin-top: 1em;">Eventos</h3>
<p>La clasificación y visualización de eventos ha experimentado una evolución para facilitar la integración de eventos de cualquier procedencia.</p>
<h3 style="margin-top: 1em;">Base de datos auxiliar</h3>
<p>Hemos trabajado en evolucionar la actual base de datos auxiliar que utiliza adAS para utilizar servicios de cache como Redis o Memcache con el objetivo de obtener un mayor rendimiento. Es posible seguir utilizando una base de datos pero teniendo en cuenta que es posible que se obtenga un menor rendimiento que con dichos servicios de cache.</p>
<h3 style="margin-top: 1em;">Herramienta de administración</h3>
<p>La herramienta de administración de adAS también ha experimientado mejoras en sus características principales, como por ejemplo disponer de una cookie de sesión independiente de la obtenida en adAS o la posiblidad de incluir extensiones.</p>
<p>&nbsp;</p>
<p>Para más información acerca de estas mejoras y de los <em>bugs</em> que corrije esta versión, consultar el archivo Release-Notes.txt</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/publicado-adas-1-6-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PAPI y sus primos de Zumosol</title>
		<link>https://www.prise.es/blog/papi-y-sus-primos-de-zumosol/</link>
		<comments>https://www.prise.es/blog/papi-y-sus-primos-de-zumosol/#comments</comments>
		<pubDate>Fri, 03 Oct 2014 08:06:52 +0000</pubDate>
		<dc:creator><![CDATA[diego.r.lopez]]></dc:creator>
				<category><![CDATA[I+D+i]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PAPI]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=1353</guid>
		<description><![CDATA[Nuevas iniciativas en el IETF]]></description>
				<content:encoded><![CDATA[<p>Después de algunos años en los que ha venido demostrando su capacidad para desplegar infraestructuras de identidad digital a la vez flexibles, ligeras y seguras, al protocolo PAPI le han salido un par de <em>primos de Zumosol</em> que demuestran que las ideas que unos cuantos desarrollamos hace algún tiempo no eran tan malas, y que simplemente nacieron en un tiempo en el que XML y los esquemas complicados de Web Services era el credo dominante y cualquiera que fuera en contra de ellos era un hereje imperdonable.</p>
<p>Hay un par iniciativas en el IETF que van tomando forma y cuya filosofía está muy cerca de lo que PAPI proponía y propone. Si alguien tiene curiosidad, una vuelta a las especificaciones de <a href="http://tools.ietf.org/wg/jose/">JOSE</a> y <a href="http://tools.ietf.org/html/draft-ietf-httpauth-hoba-04">HOBA</a>. Incluso <a href="http://oauth.net">OAuth</a>, un mecanismo de acceso más que consolidado, tiene mucho en común con el intercambio de tokens en PAPI.</p>
<p>Ser pionero e ir (un poco) contracorriente tiene sus problemas, pero a la larga da cierto placer sentirse reivindicado&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/papi-y-sus-primos-de-zumosol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grants en OAuth 2.0</title>
		<link>https://www.prise.es/blog/grants-en-oauth-2-0/</link>
		<comments>https://www.prise.es/blog/grants-en-oauth-2-0/#comments</comments>
		<pubDate>Mon, 28 Oct 2013 10:48:42 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=1285</guid>
		<description><![CDATA[En esta entrada se comentan los <i>grants</i> preestablecidos en el estándar OAuth 2.0 (<a href="http://tools.ietf.org/html/rfc6749">RFC 6749</a>), así como sus características principales.]]></description>
				<content:encoded><![CDATA[<p>Como ya comentamos en anteriores entradas, OAuth es un protocolo que permite que una aplicación externa pueda obtener acceso de forma limitada a un servicio web que puede ser de su misma propiedad o de un usuario externo.</p>
<p>En general, el acceso a los recursos se realiza mediante la presentación de un token de acceso, el cual ha sido obtenido por el cliente (la aplicación que realiza las peticiones a los recursos) presentando unas credenciales que representan la autorización del dueño del recurso (otro usuario o la misma aplicación).</p>
<p>En el RFC donde se define la nueva versión del protocolo, OAuth 2.0 (<a href="http://tools.ietf.org/html/rfc6749">RFC 6749</a>), podemos encontrar diferentes casos de uso, los cuales se denominan <i>Grants</i>.</p>
<p>Existen cuatro tipos predefinidos, aunque es posible implementar extensiones según unas directivas generales definidas en el estándar.</p>
<p>En esta entrada comentaremos los usos de cada uno de estos <i>grants</i> predefinidos, así como algunas de sus características principales.</p>
<ul>
<li><b>Authorization Code Grant</b>: Este <i>Grant</i> define cómo el cliente redirecciona al dueño del recurso a un servidor de autorización que ofrecerá un código de autorización al cliente. Ese código de autorización será la credencial presentada por el cliente para obtener el token de acceso.</li>
<li><b>Implicit Grant</b>: El cliente obtiene un token de acceso directamente, sin existir un código de autorización. Suele utilizarse para librerías javascript. Uno de sus inconvenientes es que la validación del cliente se realiza mediante la URI a la que se enviará el token, por lo que al no incluir autenticación del cliente, la seguridad puede verse comprometida.</li>
<li><b>Resource Owner password credentials</b>: Las credenciales que se utilizan son el usuario y la contraseña del usuario. Este perfil está recomendado sólo para casos en los que existe un grado elevado de confianza entre el dueño del recurso y el cliente y cuando el cliente es capaz de obtener las credenciales del propietario del recurso.</li>
<li><b>Client Credentials Grant</b>: Este <i>grant</i> es utilizado en casos donde el objeto de la autorización se limita a los recursos protegidos bajo el control del cliente, es decir; cuando el cliente es el propietario del recurso (actuando en su nombre) o el cliente realiza una petición de acceso a recursos protegidos basados en una autorización previa establecida con el servidor de autorización.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/grants-en-oauth-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OAuth 2.0</title>
		<link>https://www.prise.es/blog/oauth-2-0/</link>
		<comments>https://www.prise.es/blog/oauth-2-0/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:20:01 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=557</guid>
		<description><![CDATA[La evolución de OAuth no se detiene. En el blog de PRiSE comentamos las diferencias de la nueva versión de OAuth: OAuth 2.0.]]></description>
				<content:encoded><![CDATA[<p>Ya se ha publicado un <a href="http://datatracker.ietf.org/doc/draft-ietf-oauth-v2/">borrador</a> con la nueva versión del protocolo OAuth: <a href="http://datatracker.ietf.org/doc/draft-ietf-oauth-v2/">OAuth 2.0</a>.</p>
<p>Esta nueva versión se basa en lo que ya se <a href="http://www.prise.es/blog/?p=235">definía en el protocolo</a>, pero añadiendo nuevos perfiles y flujos de autorización, basados en <a href="http://www.prise.es/blog/?p=253">OAuth WRAP</a>, específicos para aplicaciones web, de escritorio, teléfonos móviles e incluso aplicables a dispositivos como los sistemas multimedia para el salón.</p>
<p>Los nuevos flujos y perfiles desarrollados se dividen en tres tipos:</p>
<ul>
<li><strong>Flujos de Delegación de Usuario (<em>User Delegation Flows</em>):</strong><br />
Definen el protocolo de autorización para clientes que actúan en nombre de un usuario final. Hay distintos perfiles, dependiendo de la plataforma en la que se desarrollen: dispositivos externos, servidores web o programas de usuarios (navegadores web, etc.).</li>
<li><strong>Flujos de Usuarios Finales (<em>End-User Credentials Flows</em>):</strong><br />
Se utiliza para clientes que actúan en nombre de los usuarios, pero permiten a la aplicación cliente tener acceso directo a las credenciales del usuario final, evitando el paso intermedio de pedir autorización al usuario directamente.<br />
Estos tipos de flujos requieren una relación de confianza mayor entre el cliente y los usuarios.</li>
<li><strong>Flujos autónomos (<em>Autonomous Flows</em>):</strong><br />
Flujos que permiten al cliente actuar en su propio nombre mediante sus propias credenciales o una aserción que será capaz de leer el servidor de autorización y comprobar si es válida o no.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/oauth-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perfiles de OAuth WRAP</title>
		<link>https://www.prise.es/blog/perfiles-de-oauth-wrap/</link>
		<comments>https://www.prise.es/blog/perfiles-de-oauth-wrap/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 08:02:58 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[Identidad Digital]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=269</guid>
		<description><![CDATA[Un <strong>perﬁl</strong>  en <a href="http://oauth.net">OAuth</a> especiﬁca las credenciales que deben enviarse al Servidor de Autenticación y cómo las obtendrá el Cliente.  

Dentro de los perﬁles ya establecidos existen dos tipos: Perﬁles de Clientes Autónomos (<em>Autonomous Client Proﬁles</em>) y Perﬁles de Delegación del Usuario (<em>User Delegation Profiles</em>).

]]></description>
				<content:encoded><![CDATA[<p>Un <strong>perﬁl</strong>  en <a href="http://oauth.net">OAuth</a> especiﬁca las credenciales que deben enviarse al Servidor de Autenticación y cómo las obtendrá el Cliente.  </p>
<p>Dentro de los perﬁles ya establecidos existen dos tipos: <strong>Perﬁles de Clientes Autónomos</strong> (<em>Autonomous Client Proﬁles</em>), donde el Cliente actúa en su nombre y <strong>Perﬁles de Delegación del Usuario</strong> (<em>User Delegation Profiles</em>), donde el Cliente actúa en nombre de un usuario determinado. </p>
<p>Los perfiles de Clientes Autónomos son dos:</p>
<blockquote><h4> Perﬁl de cuenta de Cliente con contraseña (<em>Client Account and Password Profile</em>): </h4>
<p>Este perﬁl se utiliza cuando el Cliente es una aplicación que necesita un Recurso Protegido en nombre de una organización y el Servidor de Autorización acepta cuentas y contraseñas como método de autenticación. </p>
<h4>Perﬁl de Aserción: (<em>Assertion Profile</em>) </h4>
<p>Este perﬁl autoriza al cliente con una aserción, ya sea SAML u otro tipo que reconozca el Servidor de Autorización. El cliente presenta esta aserción al Servidor de Autorización y se intercambiarán por el Token de Acceso que permitirá acceder al recurso protegido. </p></blockquote>
<p>Existen tres tipos de perfiles de Delegación del Usuario:</p>
<blockquote><h4> Perﬁl denombre de usuario y contraseña (<em>Username and Password Profile</em>): </h4>
<p>El usuario da su nombre de usuario y contraseña a la aplicación Cliente que tiene instalada en su dispositivo. Con estos datos, el Cliente presenta sus credenciales al Servidor de Autorización para así intercambiarlas por un Token de Acceso que le permita acceder al recurso protegido. </p>
<h4> Perﬁl Aplicación Web (<em>Web App Profile</em>)</h4>
<p>Consiste en que el usuario se autentique de alguna forma determinada establecida de antemano en la aplicación web Cliente. Este perﬁl se utiliza cuando el Cliente es una aplicación web que accede al Recurso Protegido en nombre del usuario sin necesidad de adquirir las credenciales de los mismos. </p>
<h4><em>Rich App Profile</em>:</h4>
<p>Se utiliza cuando el Cliente es una aplicación que el Usuario ha instalado en un dispositivo y está disponible en él un navegador web, pero el usuario no desea dar su nombre de usuario y contraseña a una aplicación o no necesita estos parámetros para autenticarse en el Servidor de Autorización.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/perfiles-de-oauth-wrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OAuth WRAP</title>
		<link>https://www.prise.es/blog/oauth-wrap/</link>
		<comments>https://www.prise.es/blog/oauth-wrap/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 11:57:55 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[Identidad Digital]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=253</guid>
		<description><![CDATA[Una de las más prometedoras extensiones del Protocolo <a href="http://oauth.net">OAuth</a> es <a href="http://wiki.oauth.net/OAuth-WRAP">OAuth WRAP</a>.
Ésta nació para intentar simplificar OAuth, eliminando sus procesos de ﬁrma y reemplazándolos por <em>tokens</em> de corta duración sobre <a href="http://www.ietf.org/html.charters/tls-charter.html">SSL/TLS</a>. ]]></description>
				<content:encoded><![CDATA[<p>Como comentábamos en otros <em>posts</em>, <a href="http://oauth.net">OAuth</a> nos ofrece numerosas posibilidades a la hora de implementar la autorización y autenticación en nuestras aplicaciones.</p>
<p>En esta entrada vamos a comentar una extensión que está siendo definida actualmente y que amplía nuestra perspectiva a la hora de utilizar este protocolo.</p>
<p>Hablamos de <a href="http://wiki.oauth.net/OAuth-WRAP">OAuth WRAP</a> (<em>OAuth Web Resource Authorization Proﬁles</em>), la cual nació para intentar simplificar a OAuth, eliminando sus procesos de ﬁrma y reemplazándolas por <em>tokens</em> de corta duración sobre SSL/TLS.</p>
<p><a href="http://wiki.oauth.net/OAuth-WRAP">WRAP</a> no pretende sustituir a <a href="http://oauth.net">OAuth</a>, pero sí añadir nuevas características que completen y desarrollen elementos de los cuales carece el protocolo en su versión original. </p>
<p>Esta extensión <strong>permite la delegación de la autorización de recursos protegidos a una o más autoridades de conﬁanza</strong>. Los Clientes que desean acceder a un Recurso Protegido primero obtienen autorización de un Servidor de Autorización, enviando para ello unas credenciales y perﬁles determinados.</p>
<p>Una vez autorizados, el Cliente obtiene un Token de Acceso (<em>Access Token</em>) ﬁrmado digitalmente que podrá ser reemitido en caso de ser necesario y que permitira, como su nombre indica, acceder a los recursos protegidos.</p>
<p><a href="http://wiki.oauth.net/OAuth-WRAP">OAuth WRAP</a> define distintos <em>perfiles</em> que especiﬁcan las credenciales que deben enviarse al Servidor de Autenticación y cómo las obtendrá el Cliente. Es posible especiﬁcar perﬁles propios e incluso adoptar los que ya están establecidos. En posteriores <em>posts</em> os comentaremos algunos de ellos.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/oauth-wrap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Inquietud al usar certificados SSL para firmar aserciones</title>
		<link>https://www.prise.es/blog/inquietud-al-usar-certificados-ssl-para-firmar-aserciones/</link>
		<comments>https://www.prise.es/blog/inquietud-al-usar-certificados-ssl-para-firmar-aserciones/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 17:53:59 +0000</pubDate>
		<dc:creator><![CDATA[Daniel]]></dc:creator>
				<category><![CDATA[Identidad Digital]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[PAPI]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=326</guid>
		<description><![CDATA[¿Es seguro el uso del mismo certificado para firmar aserciones o metadados y para proteger sesiones HTTPS?]]></description>
				<content:encoded><![CDATA[<p>Últimamente me he visto envuelto en diferentes debates sobre si era seguro o no usar certificados con capacidades <acronym title="Secure Socket Layer">SSL</acronym>, no sólo para asegurar conexiones TCP y/o autenticar servidores, sino también para firmar metadatos o aserciones.</p>
<p>El escenario en el que nos encontramos es el indicado en la figura, en el cual un cliente realiza conexiones HTTPS contra un IdP (Proveedor de Identidad) para acceder a un sistema <acronym title="Single Sing On">SSO y por ende a recursos protegidos</acronym>. Dónde al logarse el cliente con éxito, el IdP genera una aserción sobre quién es el cliente y qué atributos posee, el IdP firma esta aserción con el mismo certificado que se ha usado para establecer la conexión HTTPS.</p>
<div id="attachment_330" style="width: 545px" class="wp-caption alignnone"><img class="size-full wp-image-330" src="http://www.prise.es/blog/wp-content/uploads/2010/01/a1_escenario.png" alt="Escenario" width="535" height="328" /><p class="wp-caption-text">Escenario</p></div>
<p>El problema, o mejor dicho, el origen de las inquietudes reside en el <strong>uso del mismo certificado </strong>para la conexión HTTPS y para la firma de la aserción o de cualquier otro tipo de metadatos, y en el cual confían los SPs (proveedor de servicio) que han establecido relaciones de confianza con el IdP.</p>
<p>Pues bien, estas inquietudes se basan en la creencia <strong>incierta</strong> de que un servidor web firmará alegremente cualquier cosa presentada por el cliente en el &#8216;random binary <acronym title="binary large object">blob</acronym>&#8216; durante el SSL-handshake. Si esto fuese cierto un atacante tendría la capacidad de enviar como &#8216;random binary <acronym title="binary large object">blob</acronym>&#8216; una aserción falsa, que al ser firmada por el certificado x509 en el que confían los SPs, le diese la capacidad de acceder a recursos a los cuales no tiene acceso.</p>
<p>Esto es totalmente falso, ya que bajo ninguna circunstancia un servidor web firmará datos arbitrarios presentados por un cliente. Para aclarar esto voy a explicar que datos presenta el cliente al servidor y que son susceptibles de ser firmados.</p>
<p>Durante el handshake del  protocolo TLS/SSL se genera el master secret, el cual es un secreto compartido entre el cliente y el servidor, de 48 bytes y que es usado como clave simétrica para proteger la sesión. Este master secret, se genera mediante la siguiente función:</p>
<pre>master_secret = PRF(pre_master_secret, "master secret",
                    ClientHello.random + ServerHello.random);</pre>
<p>Donde PRF es la Pseudoroandom Function elegida de la cipher-suite- especificada en fases previas del handshake, la cual es una función basada en <a href="http://tools.ietf.org/html/rfc2104" target="_blank">HMAC</a>, que no usa en ningún momento la clave privada del certificado.<br />
El pre_master_secret, es una cadena de 48 bytes enviada por el cliente al servidor y que es lo que nos interesa en este caso, ya que representa los únicos datos que el servidor cifra de forma «alegre».<br />
La cadena «master secret» es una constante con dicho valor.<br />
Y por último las cadenas ClientHello.random y ServerHello.random son dos blob de 28 bytes, el primero enviado por el cliente en la fase ClientHello del handshake y el segundo enviado por el servidor en la fase ServerHello.</p>
<p>Como he dicho anteriormente, nos interesa el pre_master_secret, ya que esta cadena son 48 bytes, de los cuales 46 son generados aleatoriamente por el cliente y 2 indican el protocolo. Estos 48 bytes son cifrados con la clave pública del servidor. Y es este cifrado el punto que ha generado tanta controversia.<br />
Pues bien, al cifrarse estos datos con la clave pública del servidor, es este servidor el único que puede descifrar y por tanto entender estos datos, ya que es el único en posesión de la clave privada correspondiente.<br />
Con esto, si un cliente malintencionado en vez de generar 46 bytes aleatorios, introduce la aserción falsa, lo que obtendría es un mensaje cifrado que sólo puede leer quien posea la clave privada del servidor. La cual no está en posesión de los SPs, ya que estos sólo necesitan la clave pública, para comprobar la firma de las aserciones.</p>
<p>Como conclusión, decir que podemos estar seguros de usar el mismo certificado x509 tanto para asegurar sesiones con TLS/SSL como para firmar aserciones o metadatos ya que según la especificación del protocolo TLS los datos que un servidor cifra «alegremente», sólo los puede descifrar él.</p>
<p>Por último decir que separar por roles el uso de claves privadas de los certificados x509, es decir, usar una para TLS y otra para firmar aserciones y/o metadatos, es una buena práctica de seguridad. Ya que  aunque TLS ha sido diseñado para resistir ataques contra autenticación y firmado, la historia nos ha demostrado muchas veces que confiar en la calidad de un algoritmo o protocolo y en su implementación debería evitarse en la medida de lo posible.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/inquietud-al-usar-certificados-ssl-para-firmar-aserciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escenarios en OAuth</title>
		<link>https://www.prise.es/blog/escenarios-en-oauth/</link>
		<comments>https://www.prise.es/blog/escenarios-en-oauth/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:09:54 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[Identidad Digital]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=241</guid>
		<description><![CDATA[Existen dos escenarios básicos que pueden configurarse con OAuth: El de Acceso Directo y el de Acceso Delegado. En esta entrada te explicamos las diferencias entre ambos.]]></description>
				<content:encoded><![CDATA[<p>En entradas anteriores comentábamos qué era <a href="http://oauth.net">OAuth</a> mediante un ejemplo ilustrativo sencillo, pero es mucho más que eso. Existen distintas configuraciones, escenarios y extensiones que merecen nuestra atención, por la flexibilidad que nos permiten obtener a la hora de implementar un sistema de autenticación y autorización.</p>
<p>En esta entrada vamos a comentaros los dos escenarios que pueden configurarse con OAuth y que nos hace a los desarrolladores la vida un poco más fácil: <img src="https://www.prise.es/blog/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>El primer de ellos es el escenario con <strong>Acceso Delegado</strong>  (<em>3-legged scenario</em>), en el cual hay tres actores: Cliente, Propietario del Recurso y Servidor. El Cliente pide acceso a los recursos en nombre de un propietario de un recurso concreto. En este caso las Credenciales que serán necesarias intercambiar para garantizar un mínimo de seguridad son las propietario del recurso y las del cliente.  Este escenario es el que ilustrábamos en nuestro <a href="http://www.prise.es/blog/?p=235">anterior post</a>.</p>
<p>El otro escenario que se propone es el que tiene un <strong>Acceso Directo</strong> (<em> 2-legged scenario</em>). Los actores en este escenario son sólo dos: Cliente y Servidor. Esta situación se da cuando el Cliente pide acceso a los recursos en su nombre. En este caso el Cliente y el Propietario del Recurso serán la misma entidad y sólo será necesario enviar las Credenciales del Cliente.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/escenarios-en-oauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Qué es OAuth?</title>
		<link>https://www.prise.es/blog/%c2%bfque-es-oauth/</link>
		<comments>https://www.prise.es/blog/%c2%bfque-es-oauth/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 16:44:02 +0000</pubDate>
		<dc:creator><![CDATA[Teresa]]></dc:creator>
				<category><![CDATA[Identidad Digital]]></category>
		<category><![CDATA[OAuth]]></category>

		<guid isPermaLink="false">http://www.prise.es/blog/?p=235</guid>
		<description><![CDATA[<a href="http://oauth.net/">OAuth</a> (<em>Open Authorization</em>; Autorización abierta)  es un estándar abierto que permite incluir seguridad en la autenticación para aplicaciones web y de escritorio. ]]></description>
				<content:encoded><![CDATA[<p><a href="http://oauth.net/">OAuth</a> (<em>Open Authorization</em>; Autorización abierta)  es un estándar abierto que permite incluir seguridad en la autenticación para aplicaciones web y de escritorio. </p>
<p>Su origen se remonta a la necesidad de querer establecer un protocolo estándar que sacara factor común de las buenas prácticas existentes en los distintos sistemas de autenticación existentes, como por ejemplo <a href="http://code.google.com/apis/accounts/AuthForWebApps.html">Google AuthSub</a> , <a href="http://dev.aol.com/openauth">AOL OpenAuth</a> , <a href="http://www.ﬂickr.com/services/api/">Flickr API</a> y <a href="http://aws.amazon.com/">Amazon Web Services API</a> entre otras.</p>
<p>Para ilustrar las ventajas de OAuth, veamos el siguiente ejemplo: Una aplicación nueva incluye un servicio de avisos de fechas importantes que deberá importar de otra aplicación, por ejemplo, la agenda del gestor de correo. Para poder activar el servicio es necesario que el sujeto en cuestión le de su nombre de usuario y contraseña para así acceder al gestor de correo. El resultado obtenido es que ambas aplicaciones funcionan correctamente, pero existe un inconveniente primordial: la aplicación que da el servicio de avisos ya tiene su contraseña, lo cual puede llevar a un problema de seguridad grave.</p>
<p>OAuth intenta solucionar esta problemática <strong>restringiendo</strong> el <strong>acceso</strong> a los <strong>recursos</strong>. En el ejemplo anterior, mediante OAuth se habría conseguido que la aplicación servidora sólo pudiera acceder a la información del calendario, evitando así tener que darle el nombre de usuario y contraseña y que hubiera un acceso ilimitado a la información contenida en el gestor de correo. </p>
<p><strong>En vez de utilizar nombre de usuario y contraseña, OAuth utilizará unas credenciales que permitirán el acceso a uno o varios recursos por un periodo de tiempo determinado.<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>https://www.prise.es/blog/%c2%bfque-es-oauth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
