<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>OpenID Connect OAuth Server d&#233;di&#233; </title>
	<link>https://oa.dnc.global/</link>
	<description>OAuth Server by DnC (OAuthSD) est un serveur d'authentification qui impl&#233;mente OAuth 2.0 et OpenID Connect.
Avec la connexion unique, une entit&#233; permet aux utilisateurs de ses applications de naviguer de l'une &#224; l'autre de fa&#231;on trans-parente. En centralisant l'authentification des applications et des utilisateurs, un serveur OpenID Connect permet de contr&#244;ler parfaitement l'acc&#232;s des applications et des utilisateurs aux informations sensibles.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>

	<image>
		<title>&lt;small&gt;OpenID Connect&lt;/small&gt; OAuth Server &lt;small&gt; d&#233;di&#233; &lt;/small&gt;</title>
		<url>https://static.oa.dnc.global/local/cache-vignettes/L144xH126/siteon0-a21bf.png?1733820003</url>
		<link>https://oa.dnc.global/</link>
		<height>126</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Q : le flux d'autorisation est-il aussi bon pour le natif/mobile ?</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#qlefluxdautorisationestilaussibonpourlenatifmobile</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#qlefluxdautorisationestilaussibonpourlenatifmobile</guid>
		<dc:date>2024-03-14T09:55:29Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;B&#233;n&#233;ficiant des travaux de Bertrand Degoy, i-Tego ma&#238;trise l'IA g&#233;n&#233;rative &#224; partir des donn&#233;es de votre entreprise. Nous pouvons ainsi vous fournir des outils de recherche avanc&#233;s sur un tr&#232;s grand nombre de documents de tout type, explorer vos bases de donn&#233;es, vos e-mails etc. Le tout avec une traduction automatique ! &lt;br class='autobr' /&gt;
Voici l'exemple d'un chat exploitant la documentation d'i-Tego : &lt;br class='autobr' /&gt;
Q:le flux d'autorisation est-il aussi bon pour les applications natives/mobiles que pour les applications Web ? &lt;br class='autobr' /&gt;
R : Le (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L76xH150/arton804-7b172.png?1733820003' width='76' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;B&#233;n&#233;ficiant des travaux de &lt;a href=&#034;https://ia.dnc.global/&#034; class='spip_out' rel='external'&gt;Bertrand Degoy&lt;/a&gt;, i-Tego ma&#238;trise l'IA g&#233;n&#233;rative &#224; partir des donn&#233;es de votre entreprise. Nous pouvons ainsi vous fournir des outils de recherche avanc&#233;s sur un tr&#232;s grand nombre de documents de tout type, explorer vos bases de donn&#233;es, vos e-mails etc. Le tout avec une traduction automatique !&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;dl class='spip_document_111 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L309xH612/itego_chat_smartphone-717a0.png?1733817730' width='309' height='612' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-111 spip_doc_titre' style='width:309px;'&gt;&lt;strong&gt;i-Tego chat bot&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='crayon document-descriptif-111 spip_doc_descriptif' style='width:309px;'&gt;i-Tego offers businesses a chatbot whose document database includes their own data : &lt;a href=&#034;https://chat.i-tego.com/&#034; class='spip_url spip_out auto' rel='nofollow external'&gt;https://chat.i-tego.com/&lt;/a&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Voici l'exemple d'un chat exploitant la documentation d'i-Tego :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q:le flux d'autorisation est-il aussi bon pour les applications natives/mobiles que pour les applications Web ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;R : Le flux d'autorisation est g&#233;n&#233;ralement consid&#233;r&#233; comme plus adapt&#233; pour les applications Web que pour les applications natives ou mobiles. En effet, les applications Web sont plus faciles &#224; s&#233;curiser car elles fonctionnent dans un environnement contr&#244;l&#233; et d&#233;pendent d'une connexion permanente au serveur, ce qui facilite l'utilisation du flux &#034;Authorization Code&#034; pour prot&#233;ger les donn&#233;es.&lt;/p&gt;
&lt;p&gt;En revanche, les applications natives ou mobiles peuvent rencontrer des difficult&#233;s avec le flux d'autorisation, notamment en ce qui concerne l'authentification de l'application elle-m&#234;me. Les m&#233;thodes de s&#233;curit&#233; telles que le &#034;Proof Key for Code Exchange&#034; ou le &#034;Proof of Possession&#034; peuvent renforcer la s&#233;curit&#233; des jetons &#233;mis, mais ne permettent pas toujours d'authentifier pleinement une application sans back-end.&lt;/p&gt;
&lt;p&gt;Il est donc recommand&#233; d'utiliser le flux de code d'autorisation pour les applications natives ou mobiles, mais il est important de prendre en compte les sp&#233;cificit&#233;s de ces types d'applications en mati&#232;re de s&#233;curit&#233;.&lt;/p&gt;
&lt;p&gt;Sources :&lt;/p&gt;
&lt;p&gt; Document &#034;Authentifier l'application - OpenID Connect OAuth Server d&#233;di&#233;&#034; (pages 8, 9, 14, 15)&#034;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Il est important de noter que la question &#224; une r&#233;ponse libell&#233;e en fran&#231;ais est fond&#233;e sur des documents diff&#233;rents que celle r&#233;pondant &#224; une &lt;a href='https://static.oa.dnc.global/-Discover-.html#qisauthorizationflowasgoodfornativemobile' class='spip_in' hreflang='en'&gt;question libell&#233;e en anglais&lt;/a&gt;. En effet, la base documentaire fournie par i-Tego au chatbot est principalement en langue fran&#231;aise. Dans le choix des sources, la priorit&#233; est donn&#233;e &#224; la langue de la question.&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>L'authentification dans le cadre de l'IIoT</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#lauthentificationdanslecadredeliiot</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#lauthentificationdanslecadredeliiot</guid>
		<dc:date>2022-10-23T10:00:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Assurer la s&#233;curit&#233; de la transmission des donn&#233;es entre les applications et les objets connect&#233;s de l'Industrie du Futur : Outre la s&#233;curisation des donn&#233;es en provenance des capteurs, l'&#233;tude et le d&#233;monstrateur du projet &#034;AuthSec&#034; seront particuli&#232;rement orient&#233;s vers la s&#233;curit&#233; des ordres pass&#233;s aux actionneurs en vue d'&#233;viter les dysfonctionnements et les accidents. Deux techniques seront combin&#233;es : l'authentification de bout en bout, au niveau applicatif, pour compl&#233;ter la s&#233;curit&#233; du niveau (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH98/arton234-93bb9.png?1733820003' width='150' height='98' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Assurer la s&#233;curit&#233; de la transmission des donn&#233;es entre les applications et les objets connect&#233;s de l'Industrie du Futur : &lt;br class='autobr' /&gt;
Outre la s&#233;curisation des donn&#233;es en provenance des capteurs, l'&#233;tude et le d&#233;monstrateur du projet &#034;AuthSec&#034; seront particuli&#232;rement orient&#233;s vers la s&#233;curit&#233; des ordres pass&#233;s aux actionneurs en vue d'&#233;viter les dysfonctionnements et les accidents. &lt;br class='autobr' /&gt;
Deux techniques seront combin&#233;es : l'authentification de bout en bout, au niveau applicatif, pour compl&#233;ter la s&#233;curit&#233; du niveau r&#233;seau ; des algorithmes bas&#233;s sur l'apprentissage profond pour d&#233;tecter et bloquer les commandes &#224; risque.&lt;br class='autobr' /&gt;
Cette d&#233;marche s'inscrit dans une r&#233;flexion sur les conditions de la Cyber-r&#233;silience de l'Usine du Futur.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Le contexte dans lequel se con&#231;oit la s&#233;curit&#233; de l'Usine du Futur&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Une ouverture encore mal ma&#238;tris&#233;e&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;S'agissant de la s&#233;curit&#233; des applications informatiques des entreprises le mod&#232;le initial consistait (et consiste toujours pour beaucoup) &#224; sanctuariser les donn&#233;es et les traitements dans &lt;strong&gt;un r&#233;seau local isol&#233;&lt;/strong&gt; des services ext&#233;rieurs et auquel seuls les utilisateurs du site pouvaient acc&#233;der. Ce mod&#232;le radicalement efficace est devenu inapplicable compte tenu de l'int&#233;r&#234;t que pourraient pr&#233;senter certains services externes pour une application particuli&#232;re et de la n&#233;cessit&#233; d'ouvrir l'acc&#232;s au r&#233;seau &#224; des utilisateurs ext&#233;rieurs : collaborateurs, clients, usagers. Il para&#238;t inutile de justifier plus avant ce qui est maintenant une &#233;vidence.&lt;br class='autobr' /&gt;
S'agissant des collaborateurs hors site, une premi&#232;re ouverture a consist&#233; &#224; permettre l'acc&#232;s &#224; des utilisateurs ou des applications depuis le r&#233;seau Internet &#224; l'aide de pare-feu, de tunnels ou d'une console distante, l'acc&#232;s &#233;tant contr&#244;l&#233; en une seule fois &#224; l'entr&#233;e. Le collaborateur distant se trouve alors dans la m&#234;me situation que s'il se trouvait sur le site de l'entreprise. Bien que ce &lt;strong&gt;mod&#232;le p&#233;rim&#233;trique&lt;/strong&gt; soit &#224; l'origine de nombreux et graves probl&#232;mes de s&#233;curit&#233;, sa simplicit&#233; conceptuelle, son application d&#232;s les d&#233;buts de l'informatique et sa facilit&#233; de mise en &#339;uvre en font une solution trop largement adopt&#233;e.&lt;br class='autobr' /&gt;
Parall&#232;lement, le besoin s'est fait sentir de mettre &#224; la disposition du public des applications leur permettant d'interagir avec les donn&#233;es de l'entreprise ou de l'administration. C'est tout naturellement que les &lt;strong&gt;applications Web&lt;/strong&gt; sont n&#233;es. L'utilisateur distant n'acc&#232;de plus au r&#233;seau avec des outils omnipotents, mais au niveau applicatif, de son navigateur au &#171; site web &#187;, c'est &#224; dire &#224; une application r&#233;sidant sur un serveur. Une &lt;strong&gt;authentification de niveau applicatif&lt;/strong&gt;, g&#233;r&#233;e par l'application elle m&#234;me, permet de limiter son acc&#232;s aux seuls traitement et donn&#233;es qui sont autoris&#233;s &#224; l'utilisateur qui s'y connecte. &lt;br class='autobr' /&gt;
On aurait pens&#233; que les applications Web auraient &#233;t&#233; d&#233;velopp&#233;es dans le m&#234;me temps pour permettre le &lt;strong&gt;t&#233;l&#233;travail&lt;/strong&gt;, mais cela n'a pas &#233;t&#233; anticip&#233; par les grandes entreprises rest&#233;es positionn&#233;es sur le travail sur site, ou accoutum&#233;es aux tunnels ( &#233;tablissant des r&#233;seaux virtuels priv&#233;s ou virtual private network, ou &lt;strong&gt;tunnel VPN&lt;/strong&gt; ) pour le travail de site &#224; site, et qui ont naturellement adopt&#233; le mod&#232;le p&#233;rim&#233;trique pour le t&#233;l&#233;travail.&lt;br class='autobr' /&gt;
Outre les facteurs historiques et culturels, il faut reconna&#238;tre le frein que repr&#233;sente la n&#233;cessit&#233; de &lt;strong&gt;modifier les applications &#171; natives &#187; pour en faire des applications web capables d'authentification&lt;/strong&gt;, avec des d&#233;lais et des co&#251;ts consid&#233;r&#233;s comme improductifs. Face &#224; l'urgence d'organiser le t&#233;l&#233;travail, un marketing opportuniste a fait admettre le tunnel VPN comme la panac&#233;e, alors que cela consiste &#224; &#233;tendre le r&#233;seau de l'entreprise aux r&#233;seau locaux des box familiales au domicile des employ&#233;s, avec les risques que l'on imagine - eh bien non, justement, on ne l'imagine pas. Alors que la s&#233;curit&#233; des tunnels de site &#224; site avait soigneusement &#233;t&#233; &#233;tablie, la pr&#233;cipitation et les mauvaises pratiques pr&#233;valent dans le cadre du t&#233;l&#233;travail.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La tentation du Cloud&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une certaine image de l'Usine du Futur est aujourd'hui d&#233;termin&#233;e par des facteurs qui lui sont largement &#233;trangers :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; la domination du march&#233; grand public sur le march&#233; professionnel, imposant ses produits et ses sch&#233;mas mentaux ainsi que ses m&#233;thodes de marketing,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le besoin de connexion &#224; distance pour le t&#233;l&#233;travail, malheureusement fond&#233; sur des r&#233;seaux con&#231;us pour le grand public et des &#233;quipements domestiques,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le d&#233;sir de mobilit&#233;, recherche quasi ludique d'une facilit&#233; de connexion permanente, sans distinction de moyens, de techniques ou de comportement entre l'espace professionnel et la vie ext&#233;rieure,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'approche commerciale des entreprise de services du num&#233;rique qui, &#224; la suite des GAFAMs ayant largement promu la technique d'externalisation des services dans le Cloud, proposent de plus en plus des plateformes en tant que service (PaaS) qui leur sont particuli&#232;rement avantageuses, en &#233;vitant de trop mentionner ni traiter les probl&#232;mes de s&#233;curit&#233; que cela implique.&lt;/p&gt;
&lt;p&gt;A ces facteurs ext&#233;rieurs, on pourrait ajouter deux tendances bien ancr&#233;es dans l'esprit de certains dirigeants et qui devraient pourtant appartenir au pass&#233; :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'externalisation de fonctions relevant de comp&#233;tences consid&#233;r&#233;es comme inaccessibles ou rang&#233;es par principe hors du &#171; c&#339;ur de m&#233;tier &#187;,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'incompr&#233;hension des techniques de s&#233;curit&#233;, la confiance excessive, la n&#233;gligence au nom de la rapidit&#233; de d&#233;veloppement et de la productivit&#233;, ou encore le classement des investissements de s&#233;curit&#233; dans les charges improductives,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; la crainte de se voir reprocher des choix technologiques hasardeux plut&#244;t que le maintien de techniques dont la fiabilit&#233; serait justifi&#233;e par leur anciennet&#233; et leur large adoption,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le sentiment de propri&#233;t&#233; des ITs sur la s&#233;curit&#233;, qui - de leur point de vue - devrait &#234;tre de leur seule comp&#233;tence et donc appliqu&#233;e exclusivement au niveau r&#233;seau, faussement en concurrence avec une s&#233;curit&#233; au niveau applicatif pr&#233;sent&#233;e comme alternative et non comme compl&#233;mentaire.&lt;/p&gt;
&lt;p&gt;Ainsi, il est donn&#233; aux public et aux chefs d'entreprise &lt;strong&gt;une vision de l'Usine du Futur dans laquelle tout est connect&#233; &#224; tout&lt;/strong&gt;, sur le mod&#232;le applicable au grand public. &lt;br class='autobr' /&gt;
L'une des implications les plus lourdes pour la s&#233;curit&#233; des r&#233;seaux est la multiplication des connexions ext&#233;rieures non seulement &#224; la p&#233;riph&#233;rie des r&#233;seaux, mais encore dans leur profondeur. &lt;br class='autobr' /&gt;
Or, un grand d&#233;sordre existe dans la s&#233;curit&#233; des r&#233;seaux, &#224; l'origine de nombreux accidents de s&#233;curit&#233; ou de s&#251;ret&#233; de fonctionnement. Pour l'Usine du Futur, de tels accidents sont inacceptables car ils pourront se traduire en perte de propri&#233;t&#233; industrielle et en arr&#234;t de production.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Le mod&#232;le &#171; J&#233;richo &#187; &lt;/h3&gt;
&lt;p&gt;Depuis longtemps d&#233;j&#224; les entreprises ont ouvert l'acc&#232;s &#224; leur r&#233;seau en contr&#244;lant l'acc&#232;s &#224; leur p&#233;rim&#233;trie. Cependant, de multiples attaques aux cons&#233;quences graves ont d&#233;montr&#233; la &lt;strong&gt;faillite du mod&#232;le p&#233;rim&#233;trique&lt;/strong&gt;. &lt;br class='autobr' /&gt;
Ce constat a &#233;t&#233; fait il y a de nombreuses ann&#233;es d&#233;j&#224;. En 2004, le Jericho Forum introduisait le concept de d&#233;p&#233;rim&#233;trisation, une strat&#233;gie de d&#233;fense qui consiste en un syst&#232;me de s&#233;curit&#233; segment&#233; et multicouche bas&#233; sur le chiffrement et l'authentification, incluant les ressources hors site. Plus proche de nous, le concept de &#171; z&#233;ro confiance &#224; l'acc&#232;s r&#233;seau &#187; ( Zero Trust Network Access, ZTNA ) en reprend quelques principes, sous une forme plus m&#233;diatique, mettant l'accent sur l'authentification. &lt;br class='autobr' /&gt;
Selon le mod&#232;le &#171; J&#233;richo &#187;, &lt;strong&gt;la s&#233;curit&#233; est appliqu&#233;e l&#224; o&#249; se trouvent les donn&#233;es et les traitements &#224; prot&#233;ger, c'est &#224; dire au niveau applicatif de chaque service &lt;/strong&gt; ( applications, services Web, machines, objets connect&#233;s etc. ). C'est bien ce qu'applique l'OTAN avec le principe de protection &#034;Data-centric Security (DCS) :&#034; rather than focusing on network perimeter defence focuses on securing access to the data itself.&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb1' class='spip_note' rel='appendix' title='Konrad Wrona &#034;Towards Data-centric Security for NATO Operations&#034; DIGILIENCE (...)' id='nh1'&gt;1&lt;/a&gt;]&lt;/span&gt;&#034;.&lt;/p&gt;
&lt;p&gt;Il ne faut pas concevoir l'authentification au niveau applicatif comme un moyen de suppl&#233;er &#224; une mauvaise s&#233;curit&#233; du r&#233;seau. Assurer la s&#233;curit&#233; &#224; travers les applications web exige que l'on ne puisse pas acc&#233;der directement aux donn&#233;es au niveau r&#233;seau. &lt;strong&gt;Le principe sera d'isoler les services dans un p&#233;rim&#232;tre r&#233;duit ( r&#233;sultant de la segmentation multicouche ), bien s&#233;curis&#233; au niveau r&#233;seau et accessibles seulement au niveau applicatif avec authentification. &lt;/strong&gt; En particulier, cela exige de ne pas permettre l'acc&#232;s direct au gestionnaire de donn&#233;es, ce qui implique que toute op&#233;ration administrative devrait &#234;tre effectu&#233;e &#224; partir d'une connexion locale. L'id&#233;al serait de n'ouvrir au niveau r&#233;seau que les ports strictement n&#233;cessaires aux protocoles de la couche ISO n&#176; 5, &#224; la limite seulement 443 pour HTTP et MQTT s&#233;curis&#233;s par TLS.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;L'Usine du Futur sera s&#233;curis&#233;e ou ne sera pas&lt;/h3&gt;
&lt;p&gt;Mais de quoi parle-t-on ? L'usine du Futur n'existe-t-elle pas d&#233;j&#224; ? Les cha&#238;nes de construction automobile ne sont-elles pas d&#233;j&#224; totalement informatis&#233;es et robotis&#233;es ? Le syst&#232;me CATIA ne permet-il pas de concevoir, d&#233;velopper et r&#233;aliser de nouveaux produits, son succ&#232;s mondial t&#233;moignant de sa s&#233;curit&#233; ? A l'&#233;vidence les grandes entreprises ont ma&#238;tris&#233; le sujet. Il est certain qu'elles ne sont pas sensibles &#224; l'image m&#233;diatique, ayant les moyens d'&#233;tude n&#233;cessaires &#224; la conduite de leur &#233;volution. &lt;br class='autobr' /&gt;
&lt;strong&gt;Ce sont les TPE/PME qui se trouvent &#224; la merci du tapage m&#233;diatique &#8211; y compris sur les revues &#171; professionnelles &#187; - et la cible de d&#233;marches commerciales mal adapt&#233;es. Ce sont elles qui doivent &#234;tre accompagn&#233;es au cours de leur cr&#233;ation ou de leur transformation.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;S&#251;ret&#233; de fonctionnement, Contr&#244;le des acc&#232;s et S&#233;curit&#233; des donn&#233;es&lt;/h3&gt;
&lt;p&gt;Si on se r&#233;f&#232;re aux offres d'un marketing dominant, il faut s'en remettre &#224; l'Internet pour d&#233;localiser les donn&#233;es et les traitements dans le Cloud. Les donn&#233;es font alors le tour du monde : o&#249; et par qui sont-elles trait&#233;es, et par quelles applications ? O&#249; sont-elles sauvegard&#233;es ? Comment sont-elles prot&#233;g&#233;es ?&lt;br class='autobr' /&gt;
Avant de r&#233;pondre &#224; ces questions, il faut d&#233;finir la notion de Cloud .&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Cloud ou Cloud priv&#233; ?&lt;/h3&gt;
&lt;p&gt;Il convient tout d'abord de distinguer :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; La d&#233;finition initiale du Cloud qui est n&#233;e de la virtualisation des traitements et du stockage des donn&#233;es chez les grands h&#233;bergeurs, permettant de mettre &#224; disposition des abonn&#233;s des ressources virtuelles. Dans cette configuration, il s'agit de &#034;&lt;strong&gt;Cloud priv&#233;&lt;/strong&gt;&#034; dont l'acc&#232;s et la configuration sont sous le contr&#244;le de l'entreprise ( ou a minima d'un sous-traitant de confiance ). Des offres telles que IBM Cloud, Amazone AWS ou OVH Private Cloud offrent les garanties de propri&#233;t&#233; attendues par les entreprises.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Une &lt;strong&gt;externalisation g&#233;n&#233;rale des traitements et des donn&#233;es&lt;/strong&gt; confi&#233;s &#224; des sous-traitants ext&#233;rieurs &#224; l'entreprise, qui eux-m&#234;mes peuvent faire appel &#224; d'autres intervenants sans que ce soit identifiable et contr&#244;lable par l'entreprise, ni m&#234;me stable dans le temps. Parmi ces offres, il existe des services de donn&#233;es ou de traitement sans doute tr&#232;s commodes, mais dont la qualit&#233; et la p&#233;rennit&#233; est incontr&#244;lable. L'opacit&#233; de cette configuration a conduit au terme de nuage, qui par un effet de sablier a &#233;t&#233; &#233;rig&#233; au niveau d'un principe largement v&#233;hicul&#233; par les m&#233;dias.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Un enjeu de s&#233;curit&#233;&lt;/h3&gt;
&lt;p&gt;Avec des donn&#233;es et des traitements distribu&#233;s dans un tel Cloud, tous les enjeux de s&#233;curit&#233; se situent hors de la port&#233;e de l'entreprise :&lt;br class='autobr' /&gt;
&#8226;	S&#233;curit&#233; des acc&#232;s : l'authentification des utilisateurs et des applications est d&#233;l&#233;gu&#233;e hors du contr&#244;le de l'entreprise. &lt;br class='autobr' /&gt;
&#8226;	S&#233;curit&#233; des donn&#233;es des utilisateurs du public : peut-on r&#233;ellement appliquer le RGPD ? &lt;br class='autobr' /&gt;
&#8226;	S&#233;curit&#233; des donn&#233;es de l'entreprise non garantie, exposant &#224; l'espionnage industriel et &#224; la contrefa&#231;on. &lt;br class='autobr' /&gt;
&#8226;	Sauvegarde des donn&#233;es de l'entreprise : il lui est impossible de s'en assurer, au risque d'une perte totale.&lt;br class='autobr' /&gt;
De plus dans une telle configuration, la surface d'attaque est ind&#233;finie et probablement immense.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Un enjeu de s&#251;ret&#233;, de rapidit&#233; et de continuit&#233; de fonctionnement&lt;/h3&gt;
&lt;p&gt;&#8226;	S&#251;ret&#233; de fonctionnement : trop de composants hors du champ d'action de l'entreprise, totalement contraire &#224; toute d&#233;marche de qualit&#233;.&lt;br class='autobr' /&gt;
&#8226;	Rapidit&#233; : les processus industriels sont quasi temps r&#233;el. Des interruptions de service de quelques secondes, ou des temps de r&#233;ponse pr&#233;sentant de temps en temps des valeurs inacceptables, peuvent d&#233;stabiliser une cha&#238;ne de production, voire provoquer son arr&#234;t.&lt;br class='autobr' /&gt;
&#8226;	Continuit&#233; : la disponibilit&#233; des r&#233;seaux est &#233;galement en question, en commen&#231;ant par le raccordement de l'entreprise au r&#233;seau. Certes, le maillage de l'Internet assure la s&#251;ret&#233; du transport &#224; longue distance, mais le m&#234;me probl&#232;me de disponibilit&#233; se retrouve du c&#244;t&#233; des fournisseurs, &#224; moins qu'il s'agisse de grands h&#233;bergeurs.&lt;/p&gt;
&lt;p&gt;Pas totalement convaincu ? Voyez : David Heinemmeier Hansson : &#171; &lt;a href=&#034;https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0&#034; class='spip_out' rel='external'&gt;Why we are leaving the cloud&lt;/a&gt; &#187;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;&#034;On premise&#034; ou cloud priv&#233; ?&lt;/h3&gt;
&lt;p&gt;L'analyse ci-dessus conduit &#224; :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; ne pas tout mettre dans un Cloud mal d&#233;fini et hors contr&#244;le, mais s'en tenir aux &lt;strong&gt;Cloud priv&#233;s&lt;/strong&gt; des grands h&#233;bergeurs, voire &#224; un datacenter de proximit&#233; ( ou &lt;strong&gt;Cloud de proximit&#233;&lt;/strong&gt; ). &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; envisager la technique du &#034;serveur edge&#034; pour r&#233;duire la surface d'attaque, r&#233;duire le temps de r&#233;ponse, contribuer &#224; la r&#233;silience et conforter la souverainet&#233;.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; identifier les t&#226;ches sensibles aux d&#233;lais de transmission ou d'interruption de service (voire aux attaques de d&#233;ni de service) et les assurer localement (r&#233;silience),
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; veiller &#224; confier les t&#226;ches sensibles &#224; des sous-traitants proches.&lt;/p&gt;
&lt;p&gt;Une approche radicale de la r&#233;silience conduirait &#224; distinguer un ensemble ind&#233;pendant de machines, d'applications de contr&#244;le et de gestion quotidienne de la production capable d'assurer la production sans connexion ext&#233;rieure.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Quel choix pour un serveur d'authentification ?&lt;/h3&gt;
&lt;p&gt;Le principe de l'authentification avec OpenID Connect est que les applications d&#233;l&#232;guent le processus au serveur, le dialogue d'identification &#233;tant effectu&#233; directement entre l'utilisateur et le serveur, sans intervention de l'application. Il en r&#233;sulte que toutes les donn&#233;es relatives &#224; l'authentification des applications et des utilisateurs, leurs donn&#233;es personnelles et les donn&#233;es cryptographiques sont situ&#233;es sur le serveur.&lt;/p&gt;
&lt;p&gt;De plus, les &#233;changes entre les diff&#233;rents p&#244;les pour l'authentification se produisent tr&#232;s fr&#233;quemment au rythme des &#233;changes de donn&#233;es et doivent &#234;tre extr&#234;mement rapides. Quelques dizaines de millisecondes est l'ordre de grandeur vis&#233;. Le serveur est le coop&#233;rant oblig&#233; de toute transaction s&#233;curis&#233;e. Il doit donc &#234;tre parfaitement disponible.&lt;/p&gt;
&lt;p&gt;Enfin, la plus dangereuse des attaques serait le d&#233;tournement du trafic vers un serveur pirate. Pour se pr&#233;munir contre tout d&#233;tournement d'adresse Internet (IP) il convient de situer le serveur d'authentification dans un &#034;syst&#232;me autonome&#034; coh&#233;rent avec le r&#233;seau de l'entreprise. Une solution radicale serait de placer le serveur dans le r&#233;seau de l'entreprise. Sinon, il convient de choisir un ensemble de r&#233;seaux g&#233;r&#233;s par une m&#234;me entit&#233; (fournisseur de service, h&#233;bergeurs, interm&#233;diaires techniques, etc.).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La s&#233;curit&#233; et la s&#251;ret&#233; imposent donc de situer le serveur d'authentification &#034;&#224; proximit&#233;&#034; du r&#233;seau de l'entreprise.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id='nb1'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh1' class='spip_note' title='Notes 1' rev='appendix'&gt;1&lt;/a&gt;] &lt;/span&gt;Konrad Wrona &#034;Towards Data-centric Security for NATO Operations&#034; DIGILIENCE 2020&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>i-Tego vous offre plusieurs centaines de pages...</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#itegovousoffreplusieurscentainesdepages</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#itegovousoffreplusieurscentainesdepages</guid>
		<dc:date>2021-08-04T15:35:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;En relation avec i-Tego, nous vous offrons plusieurs centaines de pages de documentation et de code sur l'authentification avec OpenID Connect et ses applications. &lt;br class='autobr' /&gt;
Vous &#234;tes ici au niveau le plus d&#233;taill&#233;. &lt;br class='autobr' /&gt;
Les documents sont distribu&#233;s sur trois niveaux : Le site i-Tego.com pr&#233;sente rapidement les concepts g&#233;n&#233;raux et fournit des entr&#233;es vers les points essentiels de la documentation. i-Tego SAS : la documentation offre un premier niveau de d&#233;tail d&#233;j&#224; tr&#232;s suffisant pour une bonne connaissance (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH150/arton219-0f55e.jpg?1733820003' width='150' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;En relation avec i-Tego, nous vous offrons plusieurs centaines de pages de documentation et de code sur l'authentification avec OpenID Connect et ses applications.&lt;/p&gt;
&lt;p&gt;Vous &#234;tes ici au niveau le plus d&#233;taill&#233;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;div style=&#034;clear:both&#034;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
Les documents sont distribu&#233;s sur trois niveaux :&lt;br class='autobr' /&gt;
&lt;span class='spip_document_108 spip_documents spip_documents_center'&gt;
&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L500xH317/documentation_3_niveaux-a2bfe.png?1733820003' width='500' height='317' alt=&#034;le site https://i-tego.com offre plusieurs centaines de pages de documentation sur trois niveaux de d&#233;tail.&#034; title=&#034;le site https://i-tego.com offre plusieurs centaines de pages de documentation sur trois niveaux de d&#233;tail.&#034; /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Le site &lt;a href=&#034;https://i-tego.com?lang=fr&#034; class='spip_out' rel='external'&gt;i-Tego.com&lt;/a&gt; pr&#233;sente rapidement les concepts g&#233;n&#233;raux et fournit des entr&#233;es vers les points essentiels de la documentation.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://doc.i-tego.com?lang=fr&#034; class='spip_out' rel='external'&gt;i-Tego SAS : la documentation&lt;/a&gt; offre un premier niveau de d&#233;tail d&#233;j&#224; tr&#232;s suffisant pour une bonne connaissance d'OpenID Connect et des opportunit&#233;s de travail avec l'&#233;quipe i-Tego. &lt;i&gt;De nombreux liens en font un guide pour aborder le niveau de d&#233;tail suivant.&lt;/i&gt;&lt;/p&gt;
&lt;center&gt;Peut-&#234;tre pourriez-vous &lt;a href=&#034;https://doc.i-tego.com/-Authentification-.html?lang=fr&#034; class='spip_out' rel='external'&gt;commencer ici&lt;/a&gt; ?&lt;/center&gt;
&lt;p&gt;. &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le pr&#233;sent site &lt;a href=&#034;https://oa.dnc.global/&#034; class='spip_out' rel='external'&gt;OpenID Connect OAuth Serveur D&#233;di&#233;&lt;/a&gt; s'adresse aux d&#233;veloppeurs. Avec quelques centaines de pages (dont du code), le site leur permettra d'acqu&#233;rir une connaissance approfondie d'OpenID Connect et du serveur OAuthSD d&#233;velopp&#233; par DnC.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;En savoir plus sur l'accompagnement propos&#233; par &lt;a href=&#034;https://i-tego.com&#034; class='spip_out' rel='external'&gt;i-Tego&lt;/a&gt; : &lt;a href=&#034;https://doc.i-tego.com/-Authentification-.html&#034; class='spip_out' rel='external'&gt;authentification des utilisateurs et des applications avec OpenID Connect&lt;/a&gt;.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SaaS et OIDC : un mariage r&#233;ussi gr&#226;ce &#224; OAuthSD !</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#saasetoidcunmariagereussigraceaoauthsd</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#saasetoidcunmariagereussigraceaoauthsd</guid>
		<dc:date>2021-07-29T16:44:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Une des fonctionnalit&#233;s que DnC a d&#233;velopp&#233;es au plus haut niveau avec son serveur Open ID Connect (OIDC) consiste &#224; transmettre des informations s&#233;curis&#233;es au moyen du jeton d'identit&#233; JWT sign&#233; (JWS). &lt;br class='autobr' /&gt;
Nous d&#233;crivons dans cet article l'application i-Tego SaaS, un syst&#232;me de diffusion de logiciel en tant que service (Software as Service, SaaS). Dans cette application, OAuthSD fournit l'authentification OIDC et transmet de fa&#231;on s&#233;curis&#233;e aux applications SaaS les param&#232;tres relatifs aux abonnements des (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L120xH150/arton199-635d3.png?1733820003' width='120' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Une des fonctionnalit&#233;s que DnC a d&#233;velopp&#233;es au plus haut niveau avec son serveur Open ID Connect (OIDC) consiste &#224; transmettre des informations s&#233;curis&#233;es au moyen du jeton d'identit&#233; JWT sign&#233; (JWS).&lt;/p&gt;
&lt;p&gt;Nous d&#233;crivons dans cet article l'application &lt;a href=&#034;https://buyproto.dnc.global?lang=fr&#034; class='spip_out' rel='external'&gt;i-Tego SaaS&lt;/a&gt;, un syst&#232;me de diffusion de logiciel en tant que service (Software as Service, SaaS). Dans cette application, OAuthSD fournit l'authentification OIDC et transmet de fa&#231;on s&#233;curis&#233;e aux applications SaaS les param&#232;tres relatifs aux abonnements des souscripteurs.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Position du probl&#232;me&lt;/h3&gt;
&lt;p&gt;La plupart des syst&#232;me SaaS int&#232;grent l'application et le syst&#232;me de vente dans un m&#234;me logiciel.&lt;/p&gt;
&lt;p&gt;Si diff&#233;rentes applications web doivent &#234;tre diffus&#233;es en mode SaaS par une m&#234;me entit&#233;, le premier probl&#232;me &#224; r&#233;soudre consiste &#224; &lt;strong&gt;assurer le service de connexion unique (SSO)&lt;/strong&gt; entre le syst&#232;me de vente et les diff&#233;rentes applications, sans oublier les sites support tels que la plateforme CRM et les sites de communaut&#233;. Pas de probl&#232;me, c'est le r&#244;le d'un serveur OIDC, OAuthSD fait cela tr&#232;s bien.&lt;/p&gt;
&lt;p&gt;Le deuxi&#232;me probl&#232;me, plus int&#233;ressant, consiste &#224; &lt;strong&gt;transmettre des informations du syst&#232;me de vente vers les applications&lt;/strong&gt;. &lt;br class='autobr' /&gt;
S'agissant de la validit&#233; de l'abonnement et des options (payantes), il faut s&#233;curiser ces donn&#233;es, c'est &#224; dire &lt;strong&gt;permettre &#224; l'application destinataire de contr&#244;ler :&lt;/strong&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'&lt;strong&gt;int&#233;grit&#233;&lt;/strong&gt; (les donn&#233;es n'ont pas &#233;t&#233; falsifi&#233;es), &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'&lt;strong&gt;authenticit&#233;&lt;/strong&gt; de leur origine (elles ont bien &#233;t&#233; d&#233;livr&#233;es par le syst&#232;me SaaS), &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; l'&lt;strong&gt;actualit&#233;&lt;/strong&gt; (ce sont bien des donn&#233;es valides &#224; l'instant consid&#233;r&#233;),
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; la &lt;strong&gt;destination&lt;/strong&gt; (ce sont bien des donn&#233;es relatives &#224; cette application),
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; et bien s&#251;r l'&lt;strong&gt;identit&#233;&lt;/strong&gt; de l'utilisateur final (ce n'est pas un intrus qui utilise l'application).&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;La solution : OAuthSD&lt;/h3&gt;
&lt;p&gt;OAuthSD permet d'int&#233;grer les donn&#233;es SaaS sous forme de &lt;a href='https://static.oa.dnc.global/-JSON-Web-Token-JWT-JWS-.html#incorporeraujetonjwtdesdeclarationssupplementaires' class='spip_in'&gt;d&#233;clarations suppl&#233;mentaires dans la charge utile du jeton JWT&lt;/a&gt;. Il suffira &#224; l'application destinataire (cliente du serveur OIDC) de &lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectintrospectionintrospectionendpoint' class='spip_in'&gt;valider le jeton d'identit&#233; par introspection&lt;/a&gt; (et non localement afin d'assurer l'actualit&#233;) pour r&#233;aliser en une seule op&#233;ration les contr&#244;les d&#233;crits ci-dessus.&lt;/p&gt;
&lt;p&gt;Le syst&#232;me &lt;a href=&#034;https://buy.dnc.global?lang=fr&#034; class='spip_out' rel='external'&gt;i-Tego SaaS&lt;/a&gt; et l'une de ses applications &lt;a href=&#034;https://nss.dnc.global?lang=fr&#034; class='spip_out' rel='external'&gt;NSS Lite&lt;/a&gt; illustrent parfaitement cette technique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pour r&#233;aliser cela, nous avons :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; int&#233;gr&#233; dans une m&#234;me application le serveur OIDC et le syst&#232;me de vente,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; d&#233;velopp&#233; des plugin d'extension OIDC-SaaS notamment pour des applications fond&#233;es sur SPIP ou Wordpress .&lt;/strong&gt;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_109 spip_documents spip_documents_center'&gt;
&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L500xH354/saas-oidc_1-a0b9a.png?1733820003' width='500' height='354' alt=&#034;Echanges entre plateforme SaaS et le serveur d'authentification OAuthSD pour la s&#233;curit&#233; des applications. &#034; title=&#034;Echanges entre plateforme SaaS et le serveur d'authentification OAuthSD pour la s&#233;curit&#233; des applications. &#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Le flux des &#233;changes est le suivant :&lt;br class='autobr' /&gt;
1 : l'utilisateur s'inscrit sur le syst&#232;me SaaS et souscrit un abonnement.&lt;br class='autobr' /&gt;
2 : Il se connecte depuis une application cliente du syst&#232;me SaaS. &lt;br class='autobr' /&gt;
3 : Le serveur d'authentification adresse &#224; l'application cliente un jeton JWT sign&#233; dont la charge utile a &#233;t&#233; compl&#233;t&#233;e avec :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; les donn&#233;es relatives &#224; l'abonnement, en particulier sa date de fin,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; les droits de l'utilisateur sur l'application,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; les options souscrites.&lt;/p&gt;
&lt;p&gt;Rappelons que, selon le protocole OpenID Connect :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le jeton adresse &#233;galement les port&#233;es de l'autorisation (claims) donnant les droits de l'application sur les donn&#233;es de l'utilisateur.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; le serveur d'authentification agit comme un service d'inscription et de connection unique (Single Sign On, SSO) . Ainsi, l'utilisateur connect&#233; &#224; une application cliente SaaS est &#233;galement connect&#233; aux autres applications pour lesquelles il a souscrit un abonnement&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Notre offre de services&lt;/h3&gt;
&lt;p&gt;Nous serions heureux de pouvoir assister les PME pour leur permettre de d&#233;velopper leur propre syst&#232;me de SaaS et d'adapter leurs applications web. &lt;br class='autobr' /&gt;
Notre positionnement de conseil et d'assistance permettrait un d&#233;veloppement ind&#233;pendant de prestataires ext&#233;rieurs co&#251;teux. Et de syst&#232;mes tiers hasardeux en termes de s&#233;curit&#233; : pourquoi nourrir le big-data au profit de vos concurrents ?&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>OAuthSD V2</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#oauthsdv2</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#oauthsdv2</guid>
		<dc:date>2021-04-25T08:39:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Apr&#232;s 5 ans d'existence, le code d'OAuthSD a d&#233;montr&#233; sa fiabilit&#233;. Cependant, il a &#233;t&#233; d&#233;velopp&#233; de fa&#231;on progressive en suivant les &#233;volutions d'OAuth 2.0 et d'OpenID Connect. Le code devenu abondant, dense et peu lisible n&#233;cessitait une r&#233;&#233;criture. &lt;br class='autobr' /&gt;
Par ailleurs, les tests OIDF Conformance ont &#233;volu&#233;, OAuthSD aussi : de nouveaux tests ont &#233;t&#233; effectu&#233;s. &lt;br class='autobr' /&gt;
2021 : OAuthSD v2 &lt;br class='autobr' /&gt;
A l'origine en 2016, il s'est agit de cr&#233;er un serveur OIDC en encapsulant l'API oauth2-server-php dans un peu de code pour cr&#233;er trois (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Apr&#232;s 5 ans d'existence, le code d'OAuthSD a d&#233;montr&#233; sa fiabilit&#233;. Cependant, il a &#233;t&#233; d&#233;velopp&#233; de fa&#231;on progressive en suivant les &#233;volutions d'OAuth 2.0 et d'OpenID Connect. Le code devenu abondant, dense et peu lisible n&#233;cessitait une r&#233;&#233;criture.&lt;/p&gt;
&lt;p&gt;Par ailleurs, les tests OIDF Conformance ont &#233;volu&#233;, OAuthSD aussi : de nouveaux tests ont &#233;t&#233; effectu&#233;s.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;2021 : OAuthSD v2&lt;/h3&gt;
&lt;p&gt;A l'origine en 2016, il s'est agit de cr&#233;er un serveur OIDC en encapsulant l'API oauth2-server-php dans un peu de code pour cr&#233;er trois contr&#244;leurs : Authorize, Token et Resource. Il fallait &#233;galement int&#233;grer au contr&#244;leur Authorize des m&#233;thodes d'identification avanc&#233;es multifacteurs.&lt;/p&gt;
&lt;p&gt;Depuis, la surcouche oauthsd-core-php a pris beaucoup d'extension visant &#224; renforcer la s&#233;curit&#233; de l'authentification. En m&#234;me temps, beaucoup de fonctionnalit&#233;s d'OAuth 2.0 et d'OpenID Connect, omises dans l'API, ont impliqu&#233; de nouveaux d&#233;veloppements.&lt;/p&gt;
&lt;p&gt;De plus, certaines extensions d'OIDC (par exemple l'introspection) avaient &#233;t&#233; d&#233;velopp&#233;es dans la surcouche, l'id&#233;e initiale &#233;tant de conserver l'API oauth2-server-php inchang&#233;e. Nous comptions alors sur le fait que cette API se d&#233;velopperait, ce qui n'a pas &#233;t&#233; le cas.&lt;/p&gt;
&lt;p&gt;Enfin, nous avions pris le parti de distinguer les contr&#244;leurs OAuth 2.0 et les contr&#244;leurs OIDC, ce qui cr&#233;ait confusion et doublons.&lt;/p&gt;
&lt;p&gt;Le code de la surcouche oauthsd-core-php &#233;tait devenu abondant, dense et peu lisible.&lt;/p&gt;
&lt;p&gt;Il est donc apparu n&#233;cessaire de r&#233;&#233;crire le code :&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; L'application de la &lt;strong&gt;programmation orient&#233;e objets (OOP)&lt;/strong&gt; a permis d'am&#233;liorer la lisibilit&#233; de la surcouche. On a &#233;galement obtenu une &lt;strong&gt;meilleure vitesse de traitement&lt;/strong&gt;, le temps de r&#233;ponse &#233;tant r&#233;duit d'un facteur deux &#224; cinq. Comme toujours s'agissant d'OOP, le gain de vitesse est obtenu au prix d'une augmentation de la m&#233;moire utilis&#233;e. Notons que nous n'avons toujours pas utilis&#233; de framework PHP, car l'exp&#233;rience montre une d&#233;gradation inacceptable des performances et une utilisation prohibitive de la m&#233;moire du serveur.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; La cr&#233;ation d'&lt;strong&gt;un objet &#034;Identification&#034; &lt;/strong&gt; facilite grandement la cr&#233;ation de nouvelles m&#233;thodes d'identification de l'utilisateur ou l'int&#233;gration d'OAuthSD dans un syst&#232;me d'identit&#233; existant.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Il est apparu que la distinction entre deux groupes de points d'entr&#233;e sp&#233;cifiques pour OAuth 2.0 et OpenID Connect &#233;tait inutilement complexe et redondante. Il n'y a maintenant qu'un seul jeu, compos&#233; des points d'entr&#233;e d'OIDC et de trois flux sp&#233;cifiques d'OAuth 2.0.&lt;strong&gt; Le contr&#244;leur Authorize fonctionne aussi bien selon OAuth2.0 et OIDC&lt;/strong&gt;, en distinguant les appels OIDC avec la port&#233;e demand&#233;e 'openid'. Autre exemple, le contr&#244;leur Introspect permet de valider aussi bien des jetons d'acc&#232;s que des jetons d'identit&#233; sign&#233;s (JWS) et meme des jetons encrypt&#233;s (JWE)..&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Un fork de l'API a &#233;t&#233; d&#233;velopp&#233;. Des fonctions auparavant d&#233;velopp&#233;es dans la surcouche ont trouv&#233; leur place naturelle dans l'API : l'&lt;strong&gt;introspection&lt;/strong&gt;, les &lt;strong&gt;JWT crypt&#233;s (JWE)&lt;/strong&gt;, l'insertion de &lt;strong&gt;nouvelles d&#233;clarations dans le JWT&lt;/strong&gt; (kid, acr), le traitement de la &#034;Cl&#233; de v&#233;rification pour l'&#233;change de code (&lt;strong&gt;PKCE&lt;/strong&gt;)&#034;. Le &lt;strong&gt;contr&#244;leur Resource&lt;/strong&gt; a &#233;t&#233; am&#233;lior&#233; et des petits ajustements ont &#233;t&#233; apport&#233;s sans s'imposer de restriction.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Un soin particulier a &#233;t&#233; apport&#233; au traitement de la &lt;strong&gt;&#034;R&#233;f&#233;rence de classe de contexte d'authentification (ACR)&#034;&lt;/strong&gt;, qui avait &#233;t&#233; omis de l'API. Cette fonctionnalit&#233; est fondamentale s'agissant de mettre en &#339;uvre des pourvoyeur d'identification de niveau de s&#233;curit&#233; diff&#233;rents. Chaque application peut alors exiger un niveau de s&#233;curit&#233; minimum et rejeter des identifications insuffisamment s&#233;curis&#233;es.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Le &lt;strong&gt;param&#232;tre &#034;max_age&#034;&lt;/strong&gt;, qui avait &#233;t&#233; omis de l'API, est maintenant trait&#233;.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; OAuthSD impl&#233;mente maintenant le &lt;strong&gt;param&#232;tre 'request' &lt;/strong&gt; sous sa forme JWT non sign&#233; et pass&#233; par valeur (ainsi que le pr&#233;voit le &lt;a href='https://static.oa.dnc.global/-Tests-et-certification-.html#oauthsdverslacertificationopenidr' class='spip_in'&gt;test de certification de l'OIDF&lt;/a&gt;). Cela r&#233;pond &#224; une recommandation de L'ANSSI.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Les &lt;strong&gt;commentaires dans le code&lt;/strong&gt; ont &#233;t&#233; abondamment d&#233;velopp&#233;s, avec de nombreuses r&#233;f&#233;rences, afin d'offrir aux d&#233;veloppeurs une bonne compr&#233;hension de m&#233;canismes souvent tr&#232;s complexes. C'est &#233;crit en anglais, nous sommes &#224; la disposition des utilisateurs pour les aider au besoin. &lt;br class='autobr' /&gt;
La &lt;strong&gt;documentation&lt;/strong&gt; sera refondue en cons&#233;quence. OIDC &#233;tant construit sur OAuth 2.0, l'id&#233;e directrice est que l'approche &#034;par le haut&#034; depuis OIDC simplifie consid&#233;rablement la compr&#233;hension. D'autres penseront que OAuth 2.0 int&#232;gre les fonctionnalit&#233;s d'OIDC, et qu'il est donc inutile d'en parler... &lt;br class='autobr' /&gt;
Commentaires d&#233;taill&#233;s et documentation abondante nous permettent de justifier pleinement la qualit&#233; de notre offre de &lt;strong&gt;transfert de comp&#233;tence&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Les &lt;strong&gt;tests OIDF Conformance&lt;/strong&gt; ont &#233;volu&#233;, OAuthSD aussi, de nouveaux tests ont &#233;t&#233; effectu&#233;s. Voyez : &lt;a href=&#034;https://oa.dnc.global/web/-Tests-et-certification-.html#testsavril2021&#034; class='spip_url spip_out' rel='external'&gt;https://oa.dnc.global/web/-Tests-et...&lt;/a&gt;. Le r&#233;sultat des tests est visible en ligne.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>OpenID Connect et OAuth 2.0 : Les points d'extr&#233;mit&#233; d'OAuthSD </title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20lespointsdextremitedoauthsd</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20lespointsdextremitedoauthsd</guid>
		<dc:date>2021-04-21T13:54:58Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Cet article offre une approche des fonctionnalit&#233;s d'OAuthSD par les points d'entr&#233;e (Endpoints). Elle compl&#232;te l'approche par les flux d'autorisation (Grant Type). &lt;br class='autobr' /&gt;
Un unique jeu de points d'entr&#233;e permet de traiter les standard OAuth 2.0 et OpenID Connect. &lt;br class='autobr' /&gt;
authorize - Point d'extr&#233;mit&#233; d'autorisation (Authorization Endpoint) &lt;br class='autobr' /&gt;
https://oa.dnc.global/authorize &lt;br class='autobr' /&gt;
Le point d'entr&#233;e Authorize est le point de d&#233;part pour les flux bas&#233;s sur un navigateur, tels que le flux d'autorisation ou le flux implicite. &lt;br class='autobr' /&gt;
Le (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Cet article offre une approche des fonctionnalit&#233;s d'OAuthSD par les points d'entr&#233;e&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb2-1' class='spip_note' rel='appendix' title='Ou point d'extr&#233;mit&#233; ? Les deux termes sont employ&#233;s indiff&#233;remment sur ce (...)' id='nh2-1'&gt;1&lt;/a&gt;]&lt;/span&gt; (Endpoints). Elle compl&#232;te l'approche par les &lt;a href='https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20synthesedesfluxdautorisationgranttype' class='spip_in'&gt;flux d'autorisation (Grant Type)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un unique jeu de points d'entr&#233;e permet de traiter les standard OAuth 2.0 et OpenID Connect.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;authorize - Point d'extr&#233;mit&#233; d'autorisation (Authorization Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/authorize&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectpointdextremitedautorisationauthorizationendpoint' class='spip_in'&gt;point d'entr&#233;e Authorize&lt;/a&gt;&lt;/strong&gt; est le point de d&#233;part pour les flux bas&#233;s sur un navigateur, tels que le &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html' class='spip_in'&gt;flux d'autorisation&lt;/a&gt; ou le &lt;a href='https://static.oa.dnc.global/-Autorisation-implicite-.html' class='spip_in'&gt;flux implicite&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le serveur assure &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html' class='spip_in'&gt;l'identification de l'utilisateur final&lt;/a&gt; en lui soumettant une ou plusieurs m&#233;thodes d'authentification ainsi qu'une demande d'approbation relative &#224; l'utilisation de ses donn&#233;es.&lt;/p&gt;
&lt;p&gt;Il faut distinguer (voir &lt;a href='https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20synthesedesfluxdautorisationgranttype' class='spip_in'&gt;OpenID Connect et OAuth 2.0 : Synth&#232;se des flux d'autorisation (Grant Type)&lt;/a&gt;) :&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Les flux d'&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html' class='spip_in'&gt;Autorisation via un code (Authorization Code Grant)&lt;/a&gt; qui retournent sur l'&lt;a href='https://static.oa.dnc.global/-Autorisation-via-un-code-Authorization-Code-Grant-.html#exempledecodepourlepointdextremitederedirection' class='spip_in'&gt;URI de retour &#224; l'application cliente (Redirection Endpoint)&lt;/a&gt; un code qui permettra &#224; cette application d'obtenir les jetons aupr&#232;s du contr&#244;leur Token. Ce type de flux permet d'&lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html' class='spip_in'&gt;authentifier l'application cliente&lt;/a&gt; s'il s'agit d'une application Web.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Les flux de type &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Autorisation-implicite-.html#authentificationutilisantlefluxdecodeimplicite' class='spip_in'&gt;Implicit&lt;/a&gt;&lt;/strong&gt; ou &lt;strong&gt;Hybrid&lt;/strong&gt; qui permettent d'obtenir directement les jetons. Ils ne permettent pas d'authentifier l'application cliente.&lt;/p&gt;
&lt;p&gt;On distinguera &#233;galement les flux r&#233;pondant au standard OAuth 2.0 des flux OpenID Connect. Seuls les flux &lt;strong&gt;OpenID Connect&lt;/strong&gt; r&#233;aliseront une authentification v&#233;ritable car ils permettent d'obtenir un &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-6-.html#openidconnectlejetondidentiteidtokenjwtsigneoujws' class='spip_in'&gt;jeton d'identit&#233;&lt;/a&gt;&lt;/strong&gt; au &lt;a href='https://static.oa.dnc.global/-JSON-Web-Token-JWT-JWS-.html#jsonwebtokenjwt' class='spip_in'&gt;format JWT&lt;/a&gt; qui, &#233;tant sign&#233;, lie de fa&#231;on s&#233;curis&#233;e l'identit&#233; de l'utilisateur finale, celle de l'application cliente ainsi que la port&#233;e de l'autorisation. &lt;br class='autobr' /&gt;
De plus, le jeton d'identit&#233; peut &#234;tre valid&#233; localement par l'application sans n&#233;cessiter de retour vers le serveur. Mais on ne peut mentionner cet avantage sans souligner que seule l'introspection permet de savoir si le jeton d'acc&#232;s correspondant a &#233;t&#233; r&#233;voqu&#233; ou non.&lt;/p&gt;
&lt;p&gt;S'agissant du jeton d'identit&#233;, OAuthSD permet d'&lt;a href='https://static.oa.dnc.global/-JSON-Web-Token-JWT-JWS-.html#incorporeraujetonjwtdesdeclarationssupplementaires' class='spip_in'&gt;int&#233;grer des d&#233;clarations suppl&#233;mentaires dans la charge utile du jeton JWT&lt;/a&gt;. Les d&#233;veloppeurs pourront ainsi moduler les droits et privil&#232;ges de l'utilisateur final en fonction de son identit&#233;, de son appartenance ou de son profil. Un exemple particuli&#232;rement int&#233;ressant est donn&#233; par la transmission aux &lt;a href='https://static.oa.dnc.global/-Decouvrir-.html#saasetoidcunmariagereussigraceaoauthsd' class='spip_in'&gt;applications Software as Service (SaaS)&lt;/a&gt; des param&#232;tres relatifs aux abonnements des souscripteurs. Une application en est donn&#233;e par le &lt;a href=&#034;https://buy.dnc.global/-fr-.html&#034; class='spip_out' rel='external'&gt;syst&#232;me DnC SaaS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans le cadre des flux OpenID Connect, outre la fonction d'inscription unique (Single Sign On, SSO) &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-SSO-management-de-session-etc-.html#slissosloetsrasontdansunbateauoauthsd' class='spip_in'&gt;le serveur OAuthSD impl&#233;mente toutes les fonctions&lt;/a&gt; attendues pour le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-SSO-management-de-session-etc-.html' class='spip_in'&gt;management de session&lt;/a&gt;&lt;/strong&gt; : la fonction d'identification unique (Single Login Identification, SLI), la d&#233;connexion unique (Single Login Out, SLO) ainsi que la r&#233;-authentification silencieuse (Silent Re-Authentication, SRA), y compris avec le jeton d'identit&#233; (&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html#id_token_hintreauthentificationsilencieusedusujetaveclidtoken' class='spip_in'&gt;id_token_hint&lt;/a&gt;). Ceci sans modification du code d'interface des applications avec OIDC, tout &#233;tant pris en compte au niveau du contr&#244;leur Authorize. Le &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-SSO-management-de-session-etc-.html#monitoringdeletatdelauthentificationetslo' class='spip_in'&gt;Monitoring de l'&#233;tat de l'authentification&lt;/a&gt; par les applications est &#233;galement soutenu par Authorize.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;token - Point d'extr&#233;mit&#233; de jeton (Token Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectpointdextremitedejetontokenendpoint' class='spip_in'&gt;point d'entr&#233;e Token&lt;/a&gt;&lt;/strong&gt; renvoie les jetons d'acc&#232;s, les jetons d'identit&#233; et les jetons d'actualisation &lt;a href='https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20synthesedesfluxdautorisationgranttype' class='spip_in'&gt;en fonction du type de flux et des param&#232;tres de la demande&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour les flux Autorisation via un code, l'appel &#224; Token est la deuxi&#232;me &#233;tape.&lt;/p&gt;
&lt;p&gt;Pour les flux Client Credentials, User Credentials et JWT Bearer, c'est la seule &#233;tape du flux. Ces flux ne sont d&#233;finis que par OAuth 2.0 et ne retournent pas de jeton d'identit&#233;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt; :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; OAuthSD permet aux applications publiques d'obtenir les jetons sans d&#233;voiler le secret de l'application avec le &lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html#cledeverificationpourlechangedecodepkce' class='spip_in'&gt;Flux de code d'autorisation + PKCE&lt;/a&gt;.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Aucun flux d&#233;fini par OpenID Connect ne s'adresse directement &#224; Token.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Les flux implicites d&#233;finis par OAuth 2.0 comme par OpenID Connect permettent d'obtenir les jetons &#224; l'appel d'Authorize.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Certains auteurs d&#233;finissent dans le cadre d'OAuth 2.0 un flux &#034;Refresh Token Grant&#034; s'adressant au point d'extr&#233;mit&#233; de jeton. Il ne s'agit pas &#224; proprement parler d'un flux puisque, prolongeant un flux d'autorisation &#233;tabli pr&#233;c&#233;demment, il ne peut exister de fa&#231;on autonome. Voir : &lt;a href='https://static.oa.dnc.global/-Gestion-du-jeton-d-acces-.html#rafraichiractualiserunjetondacces' class='spip_in'&gt;Rafra&#238;chir (actualiser) un jeton d'acc&#232;s&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;introspect - Point d'extr&#233;mit&#233; d'introspection (Introspection Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/introspect&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Une application ou une ressource prot&#233;g&#233;e recevant un jeton doit toujours le valider avant de poursuivre son processus.&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectintrospectionintrospectionendpoint' class='spip_in'&gt;point d'entr&#233;e Introspection&lt;/a&gt;&lt;/strong&gt; d&#233;termine l'&#233;tat actif et les m&#233;ta-informations d'un jeton. Le document RFC 7662 d&#233;finit l'introspection pour un jeton d'acc&#232;s dans le cadre d'OAuth 2.0. &lt;br class='autobr' /&gt;
OAuthSD &#233;tend l'introspection au jeton d'identit&#233; ID Token (au format Json Web Token, JWT) d&#233;fini par OpenID Connect ainsi qu'aux jetons d'identit&#233; crypt&#233;s (au format Json Web Encryption JWE).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes :&lt;/strong&gt; &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Un jeton d'acc&#232;s ne peut &#234;tre valid&#233; localement et ne peut l'&#234;tre que par introspection. &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; En revanche, un jeton d'identit&#233; (qui est sign&#233; cryptographiquement) peut aussi &#234;tre &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-6-.html#validationdujetondidentiteidtokenjwtsigneoujws' class='spip_in'&gt;valid&#233; localement&lt;/a&gt;. Cependant l'introspection permet de savoir si le jeton n'a pas &#233;t&#233; r&#233;voqu&#233;. &lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; L'utilisateur final d&#233;sign&#233; par la d&#233;claration sub du JWT, ou sujet (subject), est consid&#233;r&#233; comme connect&#233; par OAuthSD s'il existe un access_token valide (non expir&#233;) pour ce sujet et le client au moment de l'introspection.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;userinfo - Point d'extr&#233;mit&#233; d'informations sur l'utilisateur final (UserInfo)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/userinfo&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#demandedinformationssurlutilisateuruserinfoendpoint' class='spip_in'&gt;point d'entr&#233;e UserInfo&lt;/a&gt;&lt;/strong&gt; est une ressource prot&#233;g&#233;e qui retourne des &lt;a href='https://static.oa.dnc.global/-Sujets-communs-a-Oauth-2-et-OpenID-Connect-.html#reponseuserinfo' class='spip_in'&gt;informations sur l'utilisateur final&lt;/a&gt; qui est le sujet de l'authentification. &lt;br class='autobr' /&gt;
Les demandes adress&#233;es au point de terminaison UserInfo doivent &#234;tre authentifi&#233;es avec les informations d'identification du client (Client Credentials Grant) ou autoris&#233;es avec un jeton d'acc&#232;s au porteur (Bearer Token). &lt;br class='autobr' /&gt;
En cons&#233;quence, l'application appelante (ou le serveur de ressource) doit &#234;tre enregistr&#233;e comme cliente sur le serveur d'authentification. &lt;br class='autobr' /&gt;
S'agissant d'une sp&#233;cification d'OpenID Connect, l'application appelante doit avoir &#233;t&#233; enregistr&#233;e avec le scope r&#233;serv&#233; 'openid'.&lt;/p&gt;
&lt;p&gt;Une id&#233;e directrice du standard OpenID Connect est de demander &#224; l'utilisateur final son accord (grant) pour l'utilisation de ses donn&#233;es personnelles. La r&#233;ponse UserInfo est donc modul&#233;e par les &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Sujets-communs-a-Oauth-2-et-OpenID-Connect-.html#porteedelautorisationscope' class='spip_in'&gt;port&#233;es d'autorisation (Scopes)&lt;/a&gt;&lt;/strong&gt; demand&#233;es et accord&#233;es.&lt;/p&gt;
&lt;p&gt;Puisque nous parlons des port&#233;es d'autorisation, il est malheureux de constater que &lt;a href='https://static.oa.dnc.global/-Sujets-communs-a-Oauth-2-et-OpenID-Connect-.html#definitiondesscopesoidcetgeneralitessurleurutilisationparlesapplications' class='spip_in'&gt;le terme &#034;Scope&#034; couvre diff&#233;rentes r&#233;alit&#233;s&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;logout - Point d'extr&#233;mit&#233; de d&#233;connexion (Logout Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/logout.php&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectlogoutlogoutendpoint' class='spip_in'&gt;point d'entr&#233;e Logout&lt;/a&gt;&lt;/strong&gt; permet de d&#233;connecter un utilisateur au niveau du serveur d'authentification en effa&#231;ant tous les jetons d'acc&#232;s qui lui sont associ&#233;s. En une seule op&#233;ration (Single Logout, SLO), l'utilisateur pourra d&#233;connecter toutes les applications sur tous les terminaux &#224; partir desquels il &#233;tait connect&#233;, ainsi que les applications qui auraient &#233;t&#233; connect&#233;es en son nom. Cependant, pour que cela fonctionne, il faut que les applications interrogent le serveur d'authentification, soit par introspection des jetons, soit par &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-SSO-management-de-session-etc-.html#monitoringdeletatdelauthentificationetslo' class='spip_in'&gt;Monitoring&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les demandes de d&#233;connexion adress&#233;es au point de terminaison Logout doivent &#234;tre authentifi&#233;es &#224; l'aide du jeton d'identit&#233; obtenu au moment de l'authentification du client consid&#233;r&#233;.&lt;br class='autobr' /&gt;
S'agissant d'une extension d'OpenID Connect, l'application appelante doit avoir &#233;t&#233; enregistr&#233;e avec le scope r&#233;serv&#233; 'openid'.&lt;/p&gt;
&lt;p&gt;Notons que le serveur OAuthSD ex&#233;cute imm&#233;diatement la d&#233;connexion si le jeton d'identit&#233; est valide. Un &#233;ventuel dialogue de confirmation devrait &#234;tre g&#233;r&#233; c&#244;t&#233; client dans le cadre de la fonctionnalit&#233; &#034;Monitoring&#034;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;revoke - Point d'extr&#233;mit&#233; de r&#233;vocation (Revocation Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/oauth/revoke.php&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Gestion-du-jeton-d-acces-.html#revoquerunjeton' class='spip_in'&gt;point d'entr&#233;e Revoke&lt;/a&gt;&lt;/strong&gt; permet d'invalider un jeton d'acc&#232;s ou de rafra&#238;chissement.&lt;br class='autobr' /&gt;
Le jeton d'identit&#233; associ&#233; au jeton d'acc&#232;s sera &#233;galement invalid&#233;. &lt;br class='autobr' /&gt;
Cependant, une application ne pourra le savoir que si elle valide les jetons par introspection ou par Monitoring.&lt;/p&gt;
&lt;p&gt;Notons que la d&#233;connexion (Logout) implique une r&#233;vocation de tous les jetons de l'utilisateur final consid&#233;r&#233;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;keys - Point d'extr&#233;mit&#233; d'informations sur les clefs (Keys Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectpointdextremitedinformationssurlesclefskeysendpoint' class='spip_in'&gt;point d'entr&#233;e Keys&lt;/a&gt;&lt;/strong&gt; est une ressource prot&#233;g&#233;e qui renvoie un jeu de cl&#233;s Web JSON (JWKS) qui contient les cl&#233;s publiques qui pourront &#234;tre utilis&#233;es par un client pour v&#233;rifier la signature d'un jeton d'identit&#233;.&lt;/p&gt;
&lt;p&gt;Les demandes adress&#233;es au point de terminaison Keys doivent &#234;tre authentifi&#233;es avec les informations d'identification du client (Client Credentials Grant) ou autoris&#233;es avec un jeton d'acc&#232;s au porteur (Bearer Token).&lt;/p&gt;
&lt;p&gt;Notons qu'OAuthSD expose localement un contr&#244;leur Updatekeys qui renouvelle automatiquement toutes les paires de cl&#233;s publiques/priv&#233;es. Ce contr&#244;leur, par exemple, pourra &#234;tre &#233;voqu&#233; r&#233;guli&#232;rement par une t&#226;che CRON.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;resource - Point d'extr&#233;mit&#233; de ressource (Resource Endpoint)&lt;/h3&gt;
&lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;https://oa.dnc.global/oauth/resource.php&lt;/code&gt; &lt;br class='autobr' /&gt;
Le &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Gestion-du-jeton-d-acces-.html#validationdujetondaccesparinterrogationdupointdextremiteresource' class='spip_in'&gt;point d'entr&#233;e Resource&lt;/a&gt;&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb2-2' class='spip_note' rel='appendix' title='Aussi connu sous le nom de Resource Owner Endpoint' id='nh2-2'&gt;2&lt;/a&gt;]&lt;/span&gt; renvoie des informations sur le jeton d'acc&#232;s qui lui est adress&#233;, dont sa validit&#233;.&lt;br class='autobr' /&gt;
Le client effectuant la demande ne n&#233;cessite pas d'authentification.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;D&#233;couverte des points d'entr&#233;e&lt;/h3&gt;
&lt;p&gt;Conform&#233;ment &#224; la sp&#233;cification &lt;a href=&#034;http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata&#034; class='spip_out' rel='external'&gt;OpenID Connect Discovery 1.0&lt;/a&gt;, OAuthSD expose ses m&#233;tadonn&#233;es &#224; l'URI :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;https://oa.dnc.global/.well-known/openid-configuration&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Ce sujet est trait&#233; plus en d&#233;tail ici : &lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectdecouverte' class='spip_in'&gt;API OpenID Connect : D&#233;couverte&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pour tester le serveur OAuthSD avec vos applications :&lt;/strong&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://oa.dnc.global/web/spip.php?page=inscription&amp;lang=fr&#034; class='spip_out' rel='external'&gt;Inscrivez-vous comme auteur d'applications&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-6-.html#openidconnectlieruneapplicationclienteauserveuroauthsd' class='spip_in'&gt;Lier une application cliente au serveur OAuthSD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;br class='autobr' /&gt;
&lt;strong&gt;A propos d'OAuthSD v2 :&lt;/strong&gt;&lt;br class='autobr' /&gt;
OAuthSD offre maintenant un jeu unique de points d'entr&#233;e. OIDC &#233;tant construit sur OAuth 2.0, l'id&#233;e directrice est que l'approche &#034;par le haut&#034; depuis OIDC simplifie consid&#233;rablement la compr&#233;hension.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id='nb2-1'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh2-1' class='spip_note' title='Notes 2-1' rev='appendix'&gt;1&lt;/a&gt;] &lt;/span&gt;Ou point d'extr&#233;mit&#233; ? Les deux termes sont employ&#233;s indiff&#233;remment sur ce site.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb2-2'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh2-2' class='spip_note' title='Notes 2-2' rev='appendix'&gt;2&lt;/a&gt;] &lt;/span&gt;Aussi connu sous le nom de Resource Owner Endpoint&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>En quoi OIDC contribue-t-il &#224; l'approche ZTNA ?</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#enquoioidccontribuetilalapprocheztna</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#enquoioidccontribuetilalapprocheztna</guid>
		<dc:date>2020-03-27T08:18:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Zero Trust Network Access, ZTNA : Acc&#232;s &#034;z&#233;ro-confiance&#034; au r&#233;seau. Ce concept formalis&#233; en 2010 par le cabinet d'&#233;tudes Forrester vise &#224; donner aux utilisateurs des privil&#232;ges justes n&#233;cessaires (contrairement &#224; un acc&#232;s au r&#233;seau par Virtual Private Network, VPN). OpenID Connect apporte dans ce domaine certaines r&#233;ponses, notamment pour une protection en profondeur, au-del&#224; du contr&#244;le de l'acc&#232;s au r&#233;seau. &lt;br class='autobr' /&gt;
Dans le contexte du COVID-19, le t&#233;l&#233;travail conduit de nombreux employ&#233;s &#224; acc&#233;der au r&#233;seau de (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH79/arton196-e16ec.png?1734009917' width='150' height='79' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Zero Trust Network Access, ZTNA : Acc&#232;s &#034;z&#233;ro-confiance&#034; au r&#233;seau. Ce concept formalis&#233; en 2010 par le cabinet d'&#233;tudes Forrester vise &#224; donner aux utilisateurs des privil&#232;ges justes n&#233;cessaires (contrairement &#224; un acc&#232;s au r&#233;seau par Virtual Private Network, VPN). &lt;br class='autobr' /&gt;
OpenID Connect apporte dans ce domaine certaines r&#233;ponses, notamment pour une protection en profondeur, au-del&#224; du contr&#244;le de l'acc&#232;s au r&#233;seau.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans le contexte du COVID-19, le t&#233;l&#233;travail conduit de nombreux employ&#233;s &#224; acc&#233;der au r&#233;seau de leur entreprise au moyen d'un tunnel VPN &#224; partir de l'ordinateur personnel ou - horreur absolue - l'ordinateur familial. Il convient d'effectuer des contr&#244;les &#224; ce niveau.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Principes du ZTNA&lt;/h3&gt;
&lt;p&gt;Il s'agit de prot&#233;ger le syst&#232;me d'information (SI) et les donn&#233;es sensibles en partant du principe que l'on ne doit faire confiance &#224; rien ni personne. Du mat&#233;riel de l'utilisateur jusqu'&#224; l'application, trois principes g&#233;n&#233;raux s'appliquent :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Contr&#244;le des mat&#233;riels utilis&#233;s pour acc&#233;der au SI&lt;/strong&gt; : Le seul contr&#244;le de l'utilisateur final n'est pas suffisant, il convient de contr&#244;ler &#233;galement l'agent utilisateur au moyen duquel il acc&#232;de au r&#233;seau et aux applications, ainsi que son mat&#233;riel.&lt;br class='autobr' /&gt;
&lt;i&gt;Notons que cette formulation suppose que l'application se trouve du c&#244;t&#233; du r&#233;seau local (application avec back-end). C'est donc une application bien identifi&#233;e, digne de confiance. Ce n'est pas le cas des applications fonctionnant sur des stations de travail ou des agents utilisateur distants. Il faudrait donc inclure l'&lt;strong&gt;authentification des logiciels&lt;/strong&gt; dans ce premier principe.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Authentification multi-facteurs&lt;/strong&gt; : l'authentification (&#224; deux facteurs au moins, ou Two Factors Authentication, TFA) exige plusieurs preuves d'identit&#233; de l'utilisateur final.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Privil&#232;ge minimum&lt;/strong&gt; : Ne donner aux utilisateurs que l'acc&#232;s aux ressources ou donn&#233;es dont ils ont besoin pour effectuer leurs t&#226;ches.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Est-ce vraiment nouveau ? Est-ce vraiment suffisant ?&lt;/h3&gt;
&lt;p&gt;De fa&#231;on g&#233;n&#233;rale, on assure une s&#233;curit&#233; p&#233;rim&#233;trique &#224; l'aide d'un pare-feu et de mesures de protection afin d'emp&#234;cher les intrusions. Constatant l'absence de mesures de protection lorsque les intrus parviennent &#224; franchir le p&#233;rim&#232;tre, ZTNA semble proposer d'accepter le r&#233;seau tel qu'il est et de reporter la d&#233;fense au niveau applicatif. Ce serait une erreur de n&#233;gliger le r&#233;seau : par exemple, si l'acc&#232;s aux fonctionnalit&#233;s d'administration de la base de donn&#233;es (avec une console SSH) est mal prot&#233;g&#233;, il ne sera pas suffisant de prot&#233;ger l'acc&#232;s &#224; l'application.&lt;br class='autobr' /&gt;
En 2004, le Jericho Forum introduisait le concept de &lt;strong&gt;d&#233;p&#233;rim&#233;trisation&lt;/strong&gt;, une strat&#233;gie de s&#233;curit&#233; qui consiste &#224; compl&#233;ter la &#171; limite &#187; de s&#233;curit&#233; standard s&#233;parant un r&#233;seau de l'Internet et &#224; cr&#233;er &#224; la place &lt;strong&gt;un syst&#232;me de s&#233;curit&#233; segment&#233; et multicouche bas&#233; sur le chiffrement et l'authentification&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Comment se situe OpenID Connect ?&lt;/h3&gt;
&lt;p&gt;1. OpenID Connect intervient au niveau des applications. OIDC ne peut donc se substituer aux moyens d'identifier et de contr&#244;ler les couches mat&#233;rielles. Cependant, le &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html' class='spip_in'&gt;flux d'autorisation avec code&lt;/a&gt; (Authorization Code Grant), lorsqu'il est appliqu&#233; &#224; des applications et services &#034;avec back-end&#034;, offre un moyen d'identifier ces composants au niveau mat&#233;riel. Sur ce sujet, voyez : &lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html#verificationdeloriginedelarequeterecueparunserveurderessource' class='spip_in'&gt;V&#233;rification de l'origine de la requ&#234;te re&#231;ue par un serveur de ressource&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2. L'identification multi-facteurs ne fait pas partie de la norme OpenID Connect. La couche identification du contr&#244;leur Authorize se doit d'impl&#233;menter plusieurs moyens d'identification, &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#systemesdidentificationintegresaoauthsd' class='spip_in'&gt;OAuthSD assure l'identification multi-facteurs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;3. En permettant de v&#233;hiculer par le jeton d'identit&#233; (ID Token) des informations d'identit&#233; et de privil&#232;ges et d'en garantir l'int&#233;grit&#233; au moyen de la signature du jeton, OpenID Connect ouvre un moyen de contr&#244;ler les acc&#232;s aux applications et aux donn&#233;es. &lt;a href='https://static.oa.dnc.global/-JSON-Web-Token-JWT-JWS-.html#incorporeraujetonjwtdesdeclarationssupplementaires' class='spip_in'&gt;OAuthSD permet la transmission des privil&#232;ges&lt;/a&gt;.&lt;br class='autobr' /&gt;
Cependant, tout d&#233;pend de ce que les applications et les ressources prot&#233;g&#233;es feront de ces informations.&lt;/p&gt;
&lt;p&gt;&lt;span style=&#034;color:red;&#034;&gt;Avertissement : Il est important de noter que OpenID Connect, comme toute autre syst&#232;me d'authentification, n'assure pas la s&#233;curit&#233; des applications ou des services de donn&#233;es, mais leur fournit des informations plus compl&#232;tes et plus fiables sur l'utilisateur final que des m&#233;thodes d'identification plus simples. D'une part la s&#233;curit&#233; d&#233;pendra de ce que les applications et services font de ces informations, d'autre part de leur s&#233;curit&#233; intrins&#232;que ainsi que de celle du r&#233;seau.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;En conclusion :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le principe ZTNA nous invite &#224; compl&#233;ter les protections du niveau r&#233;seau (VPN, firewall, proxy) en authentifiant les applications et les personnes. Le principe de d&#233;p&#233;rim&#233;trisation nous invite &#224; appliquer les barri&#232;res dans la profondeur du r&#233;seau et &#224; chiffrer au niveau applicatif&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;OpenID Connect &#233;tend la s&#233;curit&#233; au niveau applicatif (dans la couche haute du mod&#232;le de l'OSI) et trouve donc sa place dans une approche ZTNA compl&#232;te.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La difficult&#233; d'OIDC r&#233;side dans la n&#233;cessit&#233; d'adapter les applications et les ressources de donn&#233;es prot&#233;g&#233;es en leur incorporant un module OIDC. Voyez : &lt;a href='https://static.oa.dnc.global/-Ressources-pour-les-developpeurs-.html' class='spip_in'&gt;Adaptation des applications&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Perspectives pour l'&#233;volution d'OAuthSD&lt;/h3&gt;
&lt;p&gt;L'identification et le &lt;strong&gt;contr&#244;le d'int&#233;grit&#233; du mat&#233;riel ainsi que des logiciels applicatifs et syst&#232;me&lt;/strong&gt; est encore le parent pauvre des solutions de s&#233;curit&#233;.&lt;/p&gt;
&lt;p&gt;Notons que le serveur OAuthSD int&#232;gre d&#233;j&#224; quelques fonctionnalit&#233;s de s&#233;curit&#233; au niveau des couches mat&#233;rielles et transport, et en apportera de plus en plus au fur et &#224; mesure de son d&#233;veloppement.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Dans cette perspective, l'effort de d&#233;veloppement portera sur :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/squelettes-dist/puce.gif' width=&#034;8&#034; height=&#034;11&#034; class=&#034;puce&#034; alt=&#034;-&#034; /&gt; l'identification physique de la machine de l'utilisateur au niveau paquet (adresse IP) et trame (adresse MAC),
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/squelettes-dist/puce.gif' width=&#034;8&#034; height=&#034;11&#034; class=&#034;puce&#034; alt=&#034;-&#034; /&gt; le contr&#244;le d'int&#233;grit&#233; de l'agent utilisateur et de son h&#244;te.&lt;/p&gt;
&lt;p&gt;Une solution consisterait &#224; d&#233;velopper &lt;strong&gt;un agent utilisateur sp&#233;cifique&lt;/strong&gt; qui, vu d'OIDC comme une application, rel&#232;verait des informations physiques et les communiquerait au serveur OAuthSD. Cette application devrait effectuer des contr&#244;le d'int&#233;grit&#233; et de non-intrusion, par exemple en remontant des donn&#233;es recueillies sur les logiciels de s&#233;curit&#233; r&#233;sidant sur l'h&#244;te.&lt;/p&gt;
&lt;p&gt;S'agissant de l'application, une piste se situe du c&#244;t&#233; des &lt;strong&gt;Progressive Web Applications (PWA)&lt;/strong&gt; dont il parait possible de contr&#244;ler l'int&#233;grit&#233;.&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Identification de l'utilisateur final</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#identificationdelutilisateurfinal</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#identificationdelutilisateurfinal</guid>
		<dc:date>2020-02-03T08:13:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;L'identification est la partie de l'authentification au cours de laquelle l'utilisateur final s'identifie ou est identifi&#233;. OAuthSD offre tout ce qu'il faut pour traiter l'identification (login/mot de passe, identification &#224; deux facteurs) ou peut d&#233;l&#233;guer cette identification &#224; un syst&#232;me pourvoyeur d'identit&#233; tiers (Identity Provider). &lt;br class='autobr' /&gt;
Syst&#232;mes d'identification int&#233;gr&#233;s &#224; OAuthSD &lt;br class='autobr' /&gt;
OAuthSD distingue les fournisseurs d'identit&#233; primaire et, si l'identification &#224; deux facteurs (2FA) est activ&#233;e, les (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH150/arton145-66e27.png?1734009917' width='150' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;L'identification est la partie de l'authentification au cours de laquelle l'utilisateur final s'identifie ou est identifi&#233;. OAuthSD offre tout ce qu'il faut pour traiter l'identification (login/mot de passe, identification &#224; deux facteurs) ou peut d&#233;l&#233;guer cette identification &#224; un syst&#232;me pourvoyeur d'identit&#233; tiers (Identity Provider).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Syst&#232;mes d'identification int&#233;gr&#233;s &#224; OAuthSD&lt;/h3&gt;
&lt;p&gt;OAuthSD distingue les fournisseurs d'identit&#233; primaire et, si l'identification &#224; deux facteurs (2FA) est activ&#233;e, les secondaires. Les constantes de configuration IDENTITY_PROVIDER et TFA_PROVIDER permettent de d&#233;finir quel seront les syst&#232;mes utilis&#233;s.&lt;/p&gt;
&lt;p&gt;OAuthSD offre en standard les syst&#232;mes d'identification suivants :&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Identification primaire (constante IDENTITY_PROVIDER) :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; 'password' : identification classique par login et mot de passe,&lt;/li&gt;&lt;li&gt; 'ghostkeys' : identification par login et mot de passe entr&#233; dans une grille al&#233;atoire.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Identification secondaire (constante TFA_PROVIDER) :&lt;/p&gt;
&lt;ul class=&#034;spip&#034;&gt;&lt;li&gt; 'checkbysms' : la classique v&#233;rification par SMS,&lt;/li&gt;&lt;li&gt; 'gangsta' : identification de type TOTP (Time-based One-time Password) avec Google Authenticator (DnC d&#233;veloppe votre propre TOTP pour plus de s&#233;curit&#233;).&lt;br class='autobr' /&gt;
(plus &#224; venir ...)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;En savoir plus :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#systemesdidentificationintegresaoauthsd' class='spip_in'&gt;Syst&#232;mes d'identification int&#233;gr&#233;s &#224; OAuthSD&lt;/a&gt;,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#validationen2etapestwofactorauthentication2fa' class='spip_in'&gt;Validation en 2 &#233;tapes (Two Factor Authentication, 2FA) &lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;DnC's IdentMaster&lt;/h3&gt;
&lt;p&gt;DnC d&#233;veloppe DnC's IdentMaster, une application de mobile permettant une identification tr&#232;s s&#233;curis&#233;e de l'utilisateur final. &lt;br class='autobr' /&gt;
DnC's IdentMaster fonctionne sans mot de passe et impose le login, r&#233;duisant ainsi les risques d'intrusion.&lt;br class='autobr' /&gt;
Fond&#233; sur les meilleures pratiques cryptographiques, cette m&#233;thode est ferm&#233;e &#224; une utilisation publique et se trouve donc particuli&#232;rement adapt&#233;e &#224; la s&#233;curisation des acc&#232;s aux donn&#233;es dans un domaine d'entreprise.&lt;/p&gt;
&lt;p&gt;&lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#lafindesmotsdepassenopassconnect' class='spip_in'&gt;En savoir plus sur DnC's IdentMaster&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;D&#233;l&#233;gation de l'identification &#224; un Identity Provider&lt;/h3&gt;
&lt;p&gt;Une facilit&#233; consiste &#224; utiliser les services d'identit&#233; de Google, Facebook, Twitter etc. Cela procure certainement un grand confort pour l'utilisateur et illustre parfaitement le principe du SSO. &lt;br class='autobr' /&gt;
&lt;i&gt;Cependant ce n'est pas le bon moyen d'assurer la confidentialit&#233; que l'on souhaite dans une organisation mettant en &#339;uvre des informations prot&#233;g&#233;es qui lui appartiennent. Permettre &#224; un utilisateur de se connecter simultan&#233;ment &#224; un r&#233;seau social et &#224; des applications m&#233;tiers de l'organisation au moyen du m&#234;me syst&#232;me d'identification est certainement ce que l'on peut imaginer de pire en mati&#232;re de protection des donn&#233;es.&lt;/i&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Utilisation de syst&#232;mes d'identification locaux&lt;/h3&gt;
&lt;p&gt;&lt;span class='spip_document_77 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L170xH178/dog-ring-cef6b.jpg?1733817731' width='170' height='178' alt=&#034;&#034; /&gt;&lt;/span&gt;OAuthSD permet d'int&#233;grer des syst&#232;mes d'identification du r&#233;seau local, qu'il s'agisse de standard tels que LADP et Active Directory (&lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#identificationparopenidconnectdesutilisateursidentifiesaveckerberos' class='spip_in'&gt;Kerberos&lt;/a&gt;) ou sp&#233;cifiques &#224; une organisation : ID card (Aramis) , identification biom&#233;trique etc.. Un tel syst&#232;me peut aussi bien se substituer &#224; l'identification primaire que secondaire.&lt;/p&gt;
&lt;p&gt;En savoir plus :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#identificationparopenidconnectdesutilisateursidentifiesaveckerberos' class='spip_in'&gt;Identification par OpenID Connect des utilisateurs identifi&#233;s avec Kerberos&lt;/a&gt;,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#identificationopenidconnectavecidcardaramis' class='spip_in'&gt;Identification OpenID Connect avec ID Card : Aramis&lt;/a&gt;,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-Identifier-l-utilisateur-final-.html#utiliserspipcommepourvoyeurdidentitedoidc' class='spip_in'&gt;Utiliser SPIP comme pourvoyeur d'identit&#233; d'OIDC&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>OpenID Connect et OAuth 2.0 : Synth&#232;se des flux d'autorisation (Grant Type)</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20synthesedesfluxdautorisationgranttype</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20synthesedesfluxdautorisationgranttype</guid>
		<dc:date>2019-04-06T17:58:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Les tableaux de cet article synth&#233;tisent les flux offerts par OpenID Connect et la couche sous-jacente OAuth 2.0. Il permet de naviguer vers les t&#234;tes de chapitres correspondantes de la documentation. &lt;br class='autobr' /&gt;
Pour une approche des fonctionnalit&#233;s d'OAuthSD par les points d'entr&#233;e (Endpoints), voyez OpenID Connect et OAuth 2.0 : Les points d'extr&#233;mit&#233; d'OAuthSD . &lt;br class='autobr' /&gt;
OAuthSD int&#232;gre la plupart des fonctionnalit&#233;s d'OAuth 2.0. Les fonctionnalit&#233;s d'OAuth 2.0 et de OpenID Connect peuvent &#234;tre atteintes par les (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH150/arton83-73475.png?1734009917' width='150' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Les tableaux de cet article synth&#233;tisent les flux offerts par OpenID Connect et la couche sous-jacente OAuth 2.0. Il permet de naviguer vers les t&#234;tes de chapitres correspondantes de la documentation.&lt;/p&gt;
&lt;p&gt;Pour une approche des fonctionnalit&#233;s d'OAuthSD par les points d'entr&#233;e (Endpoints), voyez &lt;a href='https://static.oa.dnc.global/-Decouvrir-.html#openidconnectetoauth20lespointsdextremitedoauthsd' class='spip_in'&gt;OpenID Connect et OAuth 2.0 : Les points d'extr&#233;mit&#233; d'OAuthSD &lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;OAuthSD int&#232;gre la plupart des fonctionnalit&#233;s d'OAuth 2.0. Les fonctionnalit&#233;s d'OAuth 2.0 et de OpenID Connect peuvent &#234;tre atteintes par les Points d'extr&#233;mit&#233; d'OpenID Connect.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Type de flux selon les param&#232;tres de l'appel&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Requ&#234;tes adress&#233;es au &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html#openidconnectobteniruneautorisationpourlapplicationcliente' class='spip_in'&gt;point d'extr&#233;mit&#233; authorize&lt;/a&gt;&lt;/strong&gt;. Les diff&#233;rentes valeurs du &lt;strong&gt;param&#232;tre response_type&lt;/strong&gt; (obligatoire) et du &lt;strong&gt;scope openid&lt;/strong&gt; (facultatif) d&#233;terminent les flux d'autorisation (Grant Type) suivants :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Grant Type&lt;/td&gt;
&lt;td&gt;response_type&lt;/td&gt;
&lt;td&gt;openid&lt;/td&gt;
&lt;td&gt;Rem.&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Autorisation-via-un-code-Authorization-Code-Grant-.html' class='spip_in'&gt;OAuth 2.0 Authorization Code&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;RFC 6749&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html' class='spip_in'&gt;OIDC Authorization Code&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;code&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;OAuth 2.0 Implicit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;X&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-1' class='spip_note' rel='appendix' title='Que le scope openid soit fourni ou non, ce flux Implicite ne retourne pas (...)' id='nh4-1'&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;RFC 6749&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Autorisation-implicite-.html' class='spip_in'&gt;OIDC Implicit&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;id_token, id_token token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Oui&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-2' class='spip_note' rel='appendix' title='Que le scope openid soit fourni ou non, ce flux retourne toujours le jeton (...)' id='nh4-2'&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#034;https://openid.net/specs/openid-connect-implicit-1_0.html&#034; class='spip_out' rel='external'&gt;OpenID Connect Implicit Client&lt;/a&gt;. 'nonce' est requis.&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;OIDC Hybrid&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;code id_token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;'c_hash' est requis&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;td&gt;code token&lt;/td&gt;
&lt;td&gt;X&lt;/td&gt;
&lt;td&gt;Invalid&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-3' class='spip_note' rel='appendix' title='Non encore impl&#233;ment&#233; dans l'&#233;tat actuel du d&#233;veloppement de la librairie OAuth (...)' id='nh4-3'&gt;3&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;td&gt;code id_token token&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Invalid [&lt;strong&gt;&lt;a href=&#034;https://oa.dnc.global/web/-Decouvrir-.html#nb3-4&#034; class='spip_out' rel='external'&gt;4&lt;/a&gt;&lt;/strong&gt;]&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;R&#233;f&#233;rences :&lt;/strong&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://tools.ietf.org/html/rfc6749&#034; class='spip_out' rel='external'&gt;The OAuth 2.0 Authorization Framework&lt;/a&gt;.
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://openid.net/specs/openid-connect-core-1_0.html&#034; class='spip_out' rel='external'&gt;OpenID Connect Core 1.0 incorporating errata set 1 : Authentication using the Hybrid Flow&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&#034;clear:both;&#034;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Notes :&lt;/strong&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; A propos des response type &#034;id_token&#034; et &#034;id_token token&#034; : &lt;br class='autobr' /&gt;
ces types de r&#233;ponse correspondent &#224; des flux implicites retournant directement les jetons. Le param&#232;tre &#034;nonce&#034; doit &#234;tre pr&#233;sent dans la requ&#234;te.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; A propos des response type &#034;code token&#034; et &#034;code token-id token&#034; : &lt;br class='autobr' /&gt;
ces types de r&#233;ponse correspondent &#224; des flux hybrides retournant directement le ou les jetons en m&#234;me temps que le code d'autorisation. OAuthSD est fond&#233; sur la librairie OAuth 2.0 Server PHP d&#233;velopp&#233;e par Brent Shaffer. Dans le cadre d'OpenID Connect, celle-ci n'accepte que la demande de flux hybride &#034;code id_token&#034;.&lt;/p&gt;
&lt;div style=&#034;clear:both;&#034;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Requ&#234;tes adress&#233;es directement au &lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectpointdextremitedejetontokenendpoint' class='spip_in'&gt;point d'extr&#233;mit&#233; token&lt;/a&gt;&lt;/strong&gt;. Ces flux ne sont d&#233;finis que par OAuth 2.0 et ne retournent pas de jeton d'identit&#233;, que le scope openid soit indiqu&#233; ou non.&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Grant Type&lt;/td&gt;
&lt;td&gt;grant_type&lt;/td&gt;
&lt;td&gt;Access Token&lt;/td&gt;
&lt;td&gt;Refresh Token&lt;/td&gt;
&lt;td&gt;Rem.&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Autorisation-de-serveur-a-serveur-Client-Credentials-Grant-.html' class='spip_in'&gt;Client Credentials&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;client_credentials&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-4' class='spip_note' rel='appendix' title='Ce flux ne fournit pas le jeton d'actualisation. Voir :' id='nh4-4'&gt;4&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;&lt;strong&gt;User Credentials&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-5' class='spip_note' rel='appendix' title='Ou &#034;Resource Owner Password Credentials Grant Type&#034;. Nous citons ce flux, (...)' id='nh4-5'&gt;5&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;password&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href='https://static.oa.dnc.global/-Autorisation-porteuse-de-JWT-JWT-Bearer-Authorization-Grant-.html#demandedautorisationavecjwtjwtbearerauthorizationgrant' class='spip_in'&gt;JWT Bearer&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Oui&lt;/td&gt;
&lt;td&gt;Non&lt;/td&gt;
&lt;td&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-6' class='spip_note' rel='appendix' title='Cela ressemble beaucoup &#224; l'&#233;change de jeton d&#233;crit ici : Un jeton d'identit&#233; (...)' id='nh4-6'&gt;6&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;References :
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://tools.ietf.org/html/rfc6749#section-1.3.4&#034; class='spip_out' rel='external'&gt;RFC 6749 Client Credentials Grant&lt;/a&gt;,
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-07#section-1&#034; class='spip_out' rel='external'&gt;Sp&#233;cification draft-ietf-oauth-jwt-bearer-07 section 1&lt;/a&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Synth&#232;se des fonctionnalit&#233;s offertes par les diff&#233;rents flux OpenID Connect&lt;/h3&gt;
&lt;p&gt;Voir : &lt;a href=&#034;https://openid.net/specs/openid-connect-core-1_0.html#Authentication&#034; class='spip_url spip_out auto' rel='nofollow external'&gt;https://openid.net/specs/openid-connect-core-1_0.html#Authentication&lt;/a&gt;&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Propri&#233;t&#233;&lt;/td&gt;
&lt;td&gt;Flux de codes d'autorisation&lt;/td&gt;
&lt;td&gt;Flux implicite&lt;/td&gt;
&lt;td&gt;Flux hybride&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Tous les jetons renvoy&#233;s depuis le contr&#244;leur Authorization&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Tous les jetons renvoy&#233;s par le contr&#244;leur Token&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Jetons non r&#233;v&#233;l&#233;s &#224; l'agent utilisateur&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Le client peut &#234;tre authentifi&#233;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb4-7' class='spip_note' rel='appendix' title='C'est l&#224; l'essence m&#234;me d'OpenID Connect. Le flux Authorization Code fournit un (...)' id='nh4-7'&gt;7&lt;/a&gt;]&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Actualisation du jeton d'acc&#232;s possible&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Communication en un aller-retour&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;La plupart des communications serveur &#224; serveur&lt;/td&gt;
&lt;td&gt;oui&lt;/td&gt;
&lt;td&gt;non&lt;/td&gt;
&lt;td&gt;varie&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h3 class=&#034;spip&#034;&gt;Choix du flux en fonction de la configuration&lt;/h3&gt;
&lt;p&gt;Tous les flux n'ont pas la m&#234;me valeur pour la protection des donn&#233;es confidentielles.&lt;br class='autobr' /&gt;
Avant de choisir un flux OpenID Connect, il est important d'identifier la configuration des parties prenantes (applications, serveur OIDC, serveurs de ressource etc.).&lt;/p&gt;
&lt;p&gt;Cette probl&#233;matique est expos&#233;e ici : &lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html#typologiedesapplicationsauregarddelasecuritedesdonnees' class='spip_in'&gt;Typologie des applications au regard de la s&#233;curit&#233; des donn&#233;es&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pour tester le serveur OAuthSD avec vos applications :&lt;/strong&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;https://oa.dnc.global/web/spip.php?page=inscription&amp;lang=fr&#034; class='spip_out' rel='external'&gt;Inscrivez-vous comme auteur d'applications&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-6-.html#openidconnectlieruneapplicationclienteauserveuroauthsd' class='spip_in'&gt;Lier une application cliente au serveur OAuthSD&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id='nb4-1'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-1' class='spip_note' title='Notes 4-1' rev='appendix'&gt;1&lt;/a&gt;] &lt;/span&gt;Que le scope openid soit fourni ou non, ce flux Implicite ne retourne pas de jeton d'Identit&#233;.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-2'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-2' class='spip_note' title='Notes 4-2' rev='appendix'&gt;2&lt;/a&gt;] &lt;/span&gt;Que le scope openid soit fourni ou non, ce flux retourne toujours le jeton d'Identit&#233;.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-3'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-3' class='spip_note' title='Notes 4-3' rev='appendix'&gt;3&lt;/a&gt;] &lt;/span&gt;Non encore impl&#233;ment&#233; dans l'&#233;tat actuel du d&#233;veloppement de la librairie &lt;a href=&#034;http://bshaffer.github.io/oauth2-server-php-docs/&#034; class='spip_out' rel='external'&gt;OAuth 2.0 Server PHP&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-4'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-4' class='spip_note' title='Notes 4-4' rev='appendix'&gt;4&lt;/a&gt;] &lt;/span&gt;Ce flux ne fournit pas le jeton d'actualisation. Voir : &lt;a href=&#034;http://tools.ietf.org/html/rfc6749#section-4.4.3&#034; class='spip_url spip_out auto' rel='nofollow external'&gt;http://tools.ietf.org/html/rfc6749#section-4.4.3&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-5'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-5' class='spip_note' title='Notes 4-5' rev='appendix'&gt;5&lt;/a&gt;] &lt;/span&gt;Ou &#034;Resource Owner Password Credentials Grant Type&#034;. Nous citons ce flux, et OAuthSD le met en &#339;uvre, uniquement par souci de compl&#233;tude. Ce flux ne doit pas &#234;tre consid&#233;r&#233; comme une authentification ; au contraire, l'utilisation de ce flux conduit &#224; une impersonnalisation (sur ce sujet, voir : &lt;a href=&#034;https://www.scottbrady91.com/OAuth/Why-the-Resource-Owner-Password-Credentials-Grant-Type-is-not-Authentication-nor-Suitable-for-Modern-Applications&#034; class='spip_url spip_out' rel='external'&gt;https://www.scottbrady91.com/OAuth/...&lt;/a&gt;, nous recommandons donc de ne pas l'utiliser.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-6'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-6' class='spip_note' title='Notes 4-6' rev='appendix'&gt;6&lt;/a&gt;] &lt;/span&gt;Cela ressemble beaucoup &#224; l'&#233;change de jeton d&#233;crit ici : &lt;a href='https://static.oa.dnc.global/-JSON-Web-Token-JWT-JWS-.html#unjetondidentitepeutetreutilisepour' class='spip_in'&gt;Un jeton d'identit&#233; peut &#234;tre utilis&#233; pour ...&lt;/a&gt; et par cette proposition de standard : &lt;a href=&#034;https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-12&#034; class='spip_out' rel='external'&gt;Draft IETF : Token Exchange&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb4-7'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh4-7' class='spip_note' title='Notes 4-7' rev='appendix'&gt;7&lt;/a&gt;] &lt;/span&gt;C'est l&#224; l'essence m&#234;me d'OpenID Connect. Le flux Authorization Code fournit un jeton JWT qui, par sa signature, lie le client, l'utilisateur final et la port&#233;e de l'autorisation.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>OAuth 2.0 ou OpenID Connect ?</title>
		<link>https://static.oa.dnc.global/-Decouvrir-.html#oauth20ouopenidconnect</link>
		<guid isPermaLink="true">https://static.oa.dnc.global/-Decouvrir-.html#oauth20ouopenidconnect</guid>
		<dc:date>2019-01-11T07:40:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>DnC</dc:creator>



		<description>
&lt;p&gt;Le serveur OAuthSD offre deux protocoles : OAuth 2.0 et OpenID Connect. Lequel utiliser ? Le deuxi&#232;me, &#233;videmment ! &lt;br class='autobr' /&gt;
OAuth 2.0 n'est pas un syst&#232;me d'authentification (l'identification de l'utilisateur final n'est pas transmise &#224; l'application), mais un syst&#232;me d'autorisation. De plus, la s&#233;curit&#233; d'OAuth 2.0 souffre de l'absence de signature des jetons. Construit sur OAuth 2.0, le protocole OpenID Connect a pour but d'apporter les fonctions n&#233;cessaires &#224; l'identification de l'utilisateur final et de (...)&lt;/p&gt;


-
&lt;a href="https://static.oa.dnc.global/-Decouvrir-.html" rel="directory"&gt;D&#233;couvrir&lt;/a&gt;


		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://static.oa.dnc.global/local/cache-vignettes/L150xH150/arton58-4dca3.png?1734009917' width='150' height='150' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Le serveur OAuthSD offre deux protocoles : OAuth 2.0 et OpenID Connect&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb5-1' class='spip_note' rel='appendix' title='Noter que OpenID Connect est un standard distinct d'OpenID.' id='nh5-1'&gt;1&lt;/a&gt;]&lt;/span&gt;. Lequel utiliser ? Le deuxi&#232;me, &#233;videmment !&lt;/p&gt;
&lt;p&gt;OAuth 2.0 n'est pas un syst&#232;me d'authentification (l'identification de l'utilisateur final n'est pas transmise &#224; l'application), mais un syst&#232;me d'autorisation. De plus, la s&#233;curit&#233; d'OAuth 2.0 souffre de l'absence de signature des jetons. Construit sur OAuth 2.0, le protocole OpenID Connect a pour but d'apporter les fonctions n&#233;cessaires &#224; l'identification de l'utilisateur final et de l'application cliente, tout en assurant la s&#233;curit&#233; gr&#226;ce &#224; la signature du jeton.&lt;/p&gt;
&lt;p&gt;Une tendance est donc de consid&#233;rer OAuth 2.0 comme une infrastructure (en oubliant ses protocoles) et OpenID Connect comme un protocole construit sur OAuth 2.0.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le jeton d'acc&#232;s fourni par OAuth 2.0 est un simple hash de valeur al&#233;atoire, non sign&#233;, donc obscur pour la ressource prot&#233;g&#233;e qui le re&#231;oit. La sp&#233;cification d'OAuth 2.0 ne d&#233;finit pas comment le jeton pass&#233; &#224; un serveur de ressource doit &#234;tre valid&#233; par celui-ci&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb5-2' class='spip_note' rel='appendix' title='C'est m&#234;me bien pire que cela : la n&#233;cessit&#233; de le v&#233;rifier n'est pas (...)' id='nh5-2'&gt;2&lt;/a&gt;]&lt;/span&gt;. Ceci est laiss&#233; &#224; l'initiative du d&#233;veloppeur, avec un certain nombre de d&#233;fauts :&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Puisqu'il n'y a pas de m&#233;thode standard, les impl&#233;mentations d'OAuth sont n&#233;cessairement toutes propri&#233;taires.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; OAuth 2.0 ne d&#233;finit pas comment un serveur de ressources prot&#233;g&#233;es doit v&#233;rifier la validit&#233; du jeton d'acc&#232;s ni comment interpr&#233;ter l'&#233;tendue des autorisations (scopes). Le fait que la n&#233;cessit&#233; de v&#233;rifier le jeton n'est pas mentionn&#233;e dans la sp&#233;cification ouvre la porte &#224; des d&#233;veloppements insuffisamment s&#233;curis&#233;s.&lt;/p&gt;
&lt;p&gt;&lt;img src='https://static.oa.dnc.global/local/cache-vignettes/L8xH11/puce-32883.gif?1733817730' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; enfin, les flux OAuth 2.0, retournant des jetons non sign&#233;s (alors que OAuth 1 assurait la signature !), ne sont s&#233;curis&#233;s que si l'on peut &#034;faire confiance&#034; aux applications clientes (par exemple, l'URL de retour est &#034;cod&#233;e en dur&#034; dans l'application). Autant dire qu'ils ne sont s&#233;curis&#233;s que dans un espace propri&#233;taire (corporate realm). Pour &#234;tre utilis&#233;s dans un espace ouvert, il manque une signature pour authentifier, comme le d&#233;montre brillamment un des concepteurs d'OAuth 2.0, &lt;strong&gt;Eran Hammer : &lt;a href=&#034;https://hueniverse.com/oauth-2-0-without-signatures-is-bad-for-the-web-35eabdfc0ce6&#034; class='spip_out' rel='external'&gt;OAuth 2.0 (sans signature) est mauvais pour le Web&lt;/a&gt;&lt;/strong&gt; :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;&#034;OAuth 2.0 supprime les signatures et la cryptographie en faveur des jetons port&#233;s, semblables aux cookies. En tant qu'&#233;diteur d'OAuth 2.0, je suis associ&#233; au protocole OAuth 2.0 plus que la plupart des autres, et l'hypoth&#232;se est que je suis d'accord avec les d&#233;cisions et les orientations prises par le protocole. Bien que le fait d'&#234;tre &#233;diteur donne un certain degr&#233; de contr&#244;le temporaire sur la sp&#233;cification, les d&#233;cisions sont finalement prises par le groupe dans son ensemble (comme il se doit).&lt;br class='autobr' /&gt;
&lt;strong&gt;Et dans son ensemble, la communaut&#233; OAuth a commis une grave erreur&lt;/strong&gt; (ndlr : en supprimant la signature des jetons) &lt;strong&gt;quant &#224; l'orientation future du protocole. Une erreur qui fera d'OAuth 2.0 un agent de changement beaucoup moins important&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb5-3' class='spip_note' rel='appendix' title='Un euph&#233;misme pour dire &#034;un changement catastrophique pour la s&#233;curit&#233; du (...)' id='nh5-3'&gt;3&lt;/a&gt;]&lt;/span&gt; sur le Web.&lt;/strong&gt;&#034;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;OAuthSD applique la proposition de standard &lt;a href=&#034;https://tools.ietf.org/html/rfc7662&#034; class='spip_out' rel='external'&gt;RFC 7662 : OAuth 2.0 Token Introspection&lt;/a&gt;. OAuthSD expose un &lt;a href='https://static.oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectintrospectionintrospectionendpoint' class='spip_in'&gt;point d'entr&#233;e d'introspection&lt;/a&gt; qui permet de v&#233;rifier aussi bien les jetons d'acc&#232;s d'OAuth 2.0 que les jetons d'identit&#233; d'OpenID Connect.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il faut donc passer &#224; OpenID Connect !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;OpenID Connect&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb5-4' class='spip_note' rel='appendix' title='Une petite subtilit&#233; : Google met en oeuvre OpenID Connect sous la (...)' id='nh5-4'&gt;4&lt;/a&gt;]&lt;/span&gt; compl&#232;te les fonctionnalit&#233;s d'OAuth 2.0 pour apporter, avec le &lt;strong&gt;jeton JWT sign&#233; ou JWS&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href='#nb5-5' class='spip_note' rel='appendix' title='Appel&#233; &#034;jeton d'identit&#233; (ID Token)&#034;.' id='nh5-5'&gt;5&lt;/a&gt;]&lt;/span&gt;, des informations s&#251;res sur l'application cliente, la port&#233;e de l'autorisation (scope) et, le cas &#233;ch&#233;ant, sur l'utilisateur connect&#233; &#224; l'application cliente.&lt;/p&gt;
&lt;p&gt;Cependant, v&#233;rifier la signature du jeton ne suffit pas. Il ne faut pas &#233;carter la possibilit&#233; d'un vol de jeton qui sera pr&#233;sent&#233; par une application &#233;trang&#232;re. OAuthSD prend en compte ce cas de figure (voir : &lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html#verificationdeloriginedelarequeterecueparunserveurderessource' class='spip_in'&gt;V&#233;rification de l'origine de la requ&#234;te re&#231;ue par un serveur de ressource&lt;/a&gt;). Cette approche stricte de la s&#233;curit&#233; conduit &#224; la conclusion que seul le &lt;a href='https://static.oa.dnc.global/-OpenID-Connect-Autorisation-via-un-code-Authorization-Code-Flow-.html' class='spip_in'&gt;flux Authorization Code&lt;/a&gt; appliqu&#233; &#224; des applications clientes de type web (avec back-end) peut &#234;tre consid&#233;r&#233; comme s&#251;r. Voyez : &lt;a href='https://static.oa.dnc.global/-Authentifier-l-application-.html#typologiedesapplicationsauregarddelasecuritedesdonnees' class='spip_in'&gt;Typologie des applications au regard de la s&#233;curit&#233; des donn&#233;es&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Que reste-t-il d'OAuth 2.0 ?&lt;/h3&gt;
&lt;p&gt;Dans un &#034;espace de confiance&#034; (dont les communications sont au minimum prot&#233;g&#233; par TLS), certains pourront consid&#233;rer que l'identification de l'utilisateur final n'est pas n&#233;cessaire, ni la v&#233;rification de l'application cliente. Ceux-l&#224; utiliseront les flux d'OAuth 2 pour leur simplicit&#233;, et en particulier le flux &lt;a href='https://static.oa.dnc.global/-Autorisation-de-serveur-a-serveur-Client-Credentials-Grant-.html#oauth20autorisationdeserveuraserveurexemplecomplet' class='spip_in'&gt;Autorisation de Serveur &#224; serveur (Client Credentials Grant)&lt;/a&gt; pour assurer l'acc&#232;s des applications &#224; une API prot&#233;g&#233;e.&lt;/p&gt;
&lt;p&gt;Quoi qu'il en soit, OAuth 2.0 reste une infrastructure sur laquelle sont construits de nouveaux protocoles comme OpenID connect. Une tendance est donc de consid&#233;rer OAuth 2.0 comme une infrastructure (en oubliant ses protocoles mais sans oublier l'introspection) et OpenID Connect comme un protocole construit sur OAuth 2.0.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id='nb5-1'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh5-1' class='spip_note' title='Notes 5-1' rev='appendix'&gt;1&lt;/a&gt;] &lt;/span&gt;Noter que OpenID Connect est un standard distinct d'OpenID.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb5-2'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh5-2' class='spip_note' title='Notes 5-2' rev='appendix'&gt;2&lt;/a&gt;] &lt;/span&gt;C'est m&#234;me bien pire que cela : la n&#233;cessit&#233; de le v&#233;rifier n'est pas mentionn&#233;e. Il faut attendre la sp&#233;cification d'OpenID Connect pour apprendre que le jeton d'identit&#233; doit &#234;tre syst&#233;matiquement v&#233;rifi&#233;. On peut se demander si un certain nombre de codeurs n'ont pas utilis&#233; OAuth 2.0 en accordant une propri&#233;t&#233; magique au jeton d'acc&#232;s. Peut-&#234;tre pensaient-ils que le protocole s'occupait de tout ? Des t&#233;moignages d'informaticiens exp&#233;riment&#233;s, selon lesquels des codeurs utilisaient des biblioth&#232;ques sans m&#234;me comprendre la logique des &#233;changes entre un serveur et un user-agent, ou sans m&#234;me savoir qu'il y avait des serveurs derri&#232;re l'application qu'ils d&#233;veloppaient c&#244;t&#233; client, y compris pour des applications mobiles ou de desktop, donnent &#224; penser que des applications ont pu fonctionner - et fonctionnent toujours - avec des failles de s&#233;curit&#233; b&#233;antes.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb5-3'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh5-3' class='spip_note' title='Notes 5-3' rev='appendix'&gt;3&lt;/a&gt;] &lt;/span&gt;Un euph&#233;misme pour dire &#034;un changement catastrophique pour la s&#233;curit&#233; du Web&#034;.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb5-4'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh5-4' class='spip_note' title='Notes 5-4' rev='appendix'&gt;4&lt;/a&gt;] &lt;/span&gt;Une petite subtilit&#233; : Google met en oeuvre OpenID Connect sous la d&#233;nomination OAuth 2.0.&lt;/p&gt;
&lt;/div&gt;&lt;div id='nb5-5'&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href='#nh5-5' class='spip_note' title='Notes 5-5' rev='appendix'&gt;5&lt;/a&gt;] &lt;/span&gt;Appel&#233; &#034;jeton d'identit&#233; (ID Token)&#034;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
