{"id":1660,"date":"2014-06-06T23:59:58","date_gmt":"2014-06-06T21:59:58","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=1660"},"modified":"2016-03-29T19:01:15","modified_gmt":"2016-03-29T17:01:15","slug":"anonymisation-de-lien","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=1660","title":{"rendered":"Anonymisation de lien"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong><span style=\"color: #ff0000;\">M\u00e0J 11\/06\/2014 : le registre de lien a \u00e9t\u00e9 chang\u00e9 : <a title=\"Permanent Link to Anonymisation de lien \u00e2\u20ac\u201c correction du registre\" href=\"http:\/\/blog.nebule.org\/?p=1670\" rel=\"bookmark\"><span style=\"color: #ff0000;\">Anonymisation de lien \u00e2\u20ac\u201c correction du registre<\/span><\/a><\/span><\/strong><\/p>\n<p style=\"text-align: justify;\">Dans la version 1.2 de nebule, le nouveau lien de type <code>c<\/code> a pour r\u00f4le d&rsquo;anonymiser les actions des entit\u00e9s. Cette\u00c2\u00a0anonymisation doit permettre de cacher la relation entre l&rsquo;entit\u00e9 d&rsquo;un c\u00f4t\u00e9 et ses actions sur des objets de l&rsquo;autre. Il faut donc cacher non seulement le type de lien mais aussi que le lien relie ces objets. C&rsquo;est la suite des articles <a title=\"Liaison secr\u00e8te\" href=\"http:\/\/blog.nebule.org\/?p=648\" target=\"_blank\">liaison secr\u00e8te<\/a> et <a title=\"Liaison secr\u00e8te \u00e2\u20ac\u201c suite\" href=\"http:\/\/blog.nebule.org\/?p=652\" target=\"_blank\">suite<\/a> de fin 2012.<\/p>\n<p style=\"text-align: justify;\">Il faut malgr\u00e9 tout permettre la libre diffusion des liens g\u00e9n\u00e9r\u00e9s pour que ceux-ci soient transmis sur un r\u00e9seau public et ouvert notamment via des entit\u00e9s relais. Cette transmission est assur\u00e9e par le fait que l&rsquo;entit\u00e9 signataire appara\u00eet en clair puisqu&rsquo;il faut \u00eatre capable de v\u00e9rifier la signature du lien.<\/p>\n<p style=\"text-align: justify;\">L&rsquo;anonymisation consiste en l&rsquo;offuscation du vrai lien dans un lien caract\u00e9ristique, le lien de type <code>c<\/code>. Le vrai lien, celui qui a un int\u00e9r\u00eat, est chiffr\u00e9 et int\u00e9gr\u00e9 au lien de type <code>c<\/code>. Pour que la v\u00e9rification des liens soit la plus simple possible, elle ne doit pas g\u00e9rer le lien offusqu\u00e9 diff\u00e9remment. Le registre du lien doit donc \u00eatre identique aux autres liens \u00e0 l&rsquo;exception de l&rsquo;action et ce registre doit passer les m\u00eames tests de validation.<\/p>\n<p style=\"text-align: justify;\">Si le lien offusqu\u00e9 mentionne l&rsquo;entit\u00e9 signataire, il doit peut-\u00eatre pouvoir \u00eatre lisible par une autre entit\u00e9. C&rsquo;est le cas si l&rsquo;on souhaite partage un lien de la m\u00eame fa\u00e7on que l&rsquo;on pourrait souhaiter partager un objet. Il faut donc que le lien offusqu\u00e9 fasse aussi r\u00e9f\u00e9rence \u00e0 l&rsquo;entit\u00e9 destinataire. L&rsquo;<span style=\"text-decoration: underline;\">entit\u00e9 destinataire<\/span>, ou entit\u00e9 cible, qui peut \u00eatre la m\u00eame que l&rsquo;entit\u00e9 signataire, sera positionn\u00e9e dans le registre en <span style=\"text-decoration: underline;\">5<sup>\u00e8me<\/sup> position<\/span>. Cette place est habituellement occup\u00e9e par l&rsquo;objet source.<\/p>\n<p style=\"text-align: justify;\">Il faut pr\u00e9voir une cl\u00e9 de session (un\u00c2\u00a0mot de passe) pour chiffrer le lien (chiffrement sym\u00e9trique) parce que celui-ci n&rsquo;a pas forc\u00e9ment une taille ad\u00e9quate pour le chiffrement asym\u00e9trique. La cl\u00e9 de session chiffr\u00e9e doit \u00eatre encod\u00e9 en hexad\u00e9cimal. La <span style=\"text-decoration: underline;\">cl\u00e9 de session<\/span> chiffr\u00e9e sera positionn\u00e9e dans le registre en <span style=\"text-decoration: underline;\">6<sup>\u00e8me<\/sup> position<\/span>. Cette place est habituellement occup\u00e9e par l&rsquo;objet destinataire.<\/p>\n<p style=\"text-align: justify;\">Enfin, le lien offusqu\u00e9, chiffr\u00e9, doit \u00eatre encod\u00e9 en hexad\u00e9cimal. Le <span style=\"text-decoration: underline;\">lien offusqu\u00e9<\/span> sera positionn\u00e9 dans le registre en <span style=\"text-decoration: underline;\">7<sup>\u00e8me<\/sup> position<\/span>.<\/p>\n<p style=\"text-align: justify;\">Voici donc le registre de lien de type <code>c<\/code> :<\/p>\n<p style=\"text-align: center;\"><code><span style=\"color: #800080;\">Signature<\/span>_<span style=\"color: #0000ff;\">Signataire<\/span>_<span style=\"color: #800000;\">TimeStamp<\/span>_<span style=\"color: #ff6600;\">c<\/span>_<span style=\"color: #808000;\">Entit\u00e9Cible<\/span>_<span style=\"color: #008000;\">Cl\u00e9Session<\/span>_<span style=\"color: #008080;\">LienChiffr\u00e9<\/span><\/code><\/p>\n<p style=\"text-align: justify;\">Le lien \u00e0 offusquer est chiffr\u00e9 (sym\u00e9trique) avec la cl\u00e9 de session et ajout\u00e9 en position 7. La cl\u00e9 de session est chiffr\u00e9e (asym\u00e9trique) avec la cl\u00e9 publique de l&rsquo;entit\u00e9 cible et ajout\u00e9e en position 6. L&rsquo;entit\u00e9 cible est ajout\u00e9e en position 5.<\/p>\n<p style=\"text-align: justify;\">On ne peut dans ce cas pas offusquer la relation entre l&rsquo;entit\u00e9 signataire et l&rsquo;entit\u00e9 cible. La pr\u00e9sence de la premi\u00e8re entit\u00e9 est indispensable pour v\u00e9rifier la signature du lien. La pr\u00e9sence de la seconde entit\u00e9 est n\u00e9cessaire pour que le lien puisse lui parvenir et lui indiquer que le lien la concerne. Le reste du lien est compl\u00e8tement offusqu\u00e9.<\/p>\n<p style=\"text-align: justify;\">Lors du traitement des liens d&rsquo;un objet, Il faut \u00e0 la fois consulter les liens de l&rsquo;objet mais aussi consulter les liens offusqu\u00e9s attach\u00e9s \u00e0 l&rsquo;entit\u00e9 courante. Ensuite seulement peut se faire le nettoyage des liens marqu\u00e9s supprim\u00e9s.<br \/>\nOn remarquera que cette fa\u00e7on de proc\u00e9der permet bien s\u00fcr de ne pas r\u00e9v\u00e9ler certains liens, mais aussi de marquer secr\u00e8tement comme supprim\u00e9s des liens alors qu&rsquo;ils sont encore publiquement reconnus comme valides. Dans le m\u00eame ordre d&rsquo;id\u00e9, on peut camoufler un objet sous un type mime assez banal mais offusquer un lien d\u00e9voilant sa vraie nature. Un vrai terrain de jeux de cache cache en perspective !<\/p>\n<p style=\"text-align: justify;\">Il reste un autre aspect de l&rsquo;anonymat. Il peut \u00eatre n\u00e9cessaire de permettre des \u00e9changes entre deux entit\u00e9s sans qu&rsquo;il n&rsquo;y ai de lien entre elles, m\u00eame de liens offusqu\u00e9s. Ce probl\u00e8me peut \u00eatre r\u00e9solu avec la g\u00e9n\u00e9ration d&rsquo;entit\u00e9s esclaves le temps de quelques \u00e9changes. Il n&rsquo;est pas possible dans ce cas de rattache directement ces entit\u00e9s esclaves \u00e0 notre entit\u00e9 principale ni d&rsquo;h\u00e9berger cette entit\u00e9 sur son serveur personnel sous peine de d\u00e9voiler imm\u00e9diatement la relation entre les deux. Il faut aussi pr\u00e9voir un m\u00e9canisme pour que des entit\u00e9s puissent attendre des liens d&rsquo;entit\u00e9s inconnues tout en \u00e9tant capable de v\u00e9rifier ces liens. Une fois le contact \u00e9tablit, il devient ais\u00e9, via l&rsquo;offuscation de liens, de prouver sa v\u00e9ritable identit\u00e9, c&rsquo;est \u00e0 dire de faire un lien entre entit\u00e9 esclave et entit\u00e9 ma\u00eetre. Il y a encore de la recherche \u00e0 faire \u00e0 ce niveau&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00e0J 11\/06\/2014 : le registre de lien a \u00e9t\u00e9 chang\u00e9 : Anonymisation de lien \u00e2\u20ac\u201c correction du registre Dans la version 1.2 de nebule, le nouveau lien de type c a pour r\u00f4le d&rsquo;anonymiser les actions des entit\u00e9s. Cette\u00c2\u00a0anonymisation doit permettre de cacher la relation entre l&rsquo;entit\u00e9 d&rsquo;un c\u00f4t\u00e9 et ses actions sur des objets &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=1660\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Anonymisation de lien<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54,73,81,119,99,113,24,27],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1660"}],"collection":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1660"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1660\/revisions"}],"predecessor-version":[{"id":2190,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1660\/revisions\/2190"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1660"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}