vendredi, mars 24, 2006

Les conséquences à tirer de la chute de SHA-1

Le cassage du protocole de hachage SHA-1 par une équipe de recherche chinoise fait bouger le monde de la cryptographie. Pas de panique, mais il est indispensable d'envisager des migrations et de prévoir un travail de fond sur les algorithmes de hachage.

Olivier Ménager , 01 Réseaux

SHA-1 est tombé. Cette nouvelle a suscité l'émoi dans le monde de la cryptographie. L'expert Bruce Schneier* a largement commenté la nouvelle sur son blog personnel : schneier.com/blog/archives/2005/02/cryptanalysis_o.html). SHA-1 (Secure hash algorithm) est une fonction de hachage, conçue par la NSA il y a dix ans. Elle a succédé à SHA-0, créé en 1993 et soupçonné de contenir des failles de la sécurité. Antoine Joux, du laboratoire PRiSM de l'université de Versailles, l'a notamment démontré en août dernier, avec ce qu'on appelle une collision complète. SHA-1 est un algorithme important. Le Nist, équivalent américain de notre Afnor (Association française de normalisation), recommandait vivement son utilisation. Cet organisme a en effet toujours été hostile à MD-5 (encore utilisé), qui, lui aussi, a été cassé. D'ailleurs, les laboratoires de RSA Security notent que, pour MD-5, 2^40 opérations sont nécessaires pour trouver une collision (c'est-à-dire 2 hashes identiques à partir de 2 entrées différentes).

L'intérêt pour les fonctions de hachage est assez récent, une quinzaine d'années tout au plus. «Les fonctions de hachage viennent d'une seule famille et sont dérivées du MD-5, créé par Ron Rivest [cryptographe mondialement connu, NDLR]», précise Jean-Jacques Quisquater, professeur à l'université catholique de Louvain (Belgique) et l'un des experts mondiaux en cryptographie. Rappelons qu'un algorithme de hachage, capable de réduire un nombre de bits arbitraires à un condensé, ne peut pas être sans collision lorsque l'entrée (input) est plus grande que le condensé. Le Nist, qui avait annoncé, une semaine avant le témoignage des chercheuses chinoises, que son organisation allait, d'ici 2010, passer à SHA-256, a dû revoir ses plans. «Nous allons avancer notre calendrier», a déclaré William Burr, responsable du groupe dédié à la sécurité du Nist.

Trois femmes à l'origine du casse !

Une fonction de hachage consiste à créer un condensé, également appelé hash, d'un message, ou message digest. Avec SHA-1, le condensé d'un texte produit une sortie sur 160 bits (concrètement une série de chiffres). La fonction est dite unidirectionnelle ou à sens unique, puisqu'il devrait être théoriquement impossible, ou extrêmement difficile, de remonter au texte original à partir du condensé. Le cassage de SHA-1 a été opéré par une équipe de chercheuses chinoises reconnues ­ Xiaoyun Wang et Hongbo Yu, de l'université de Shandong, et Yiqun Lisa Yin, consultante indépendante en sécurité et ancienne chercheuse à l'université de Princeton, dans le département d'ingénierie électrique du Palms (Princeton Architecture Laboratory for Multimedia and Security).

Avoir cassé SHA-1 signifie qu'on sait produire ­ avec des moyens colossaux ­ un hash identique à un hash existant, mais avec des données de départ différentes. Les conséquences sont importantes, car SHA-1 est largement utilisé dans le monde de la cryptographie et dans nombre d'applications sécurisées. Il est employé dans SSL, SSH, IPSec, S-Mime et dans les logiciels de PGP.

SHA-1 est également utile à l'utilisateur final. Lorsqu'on souhaite, par exemple, télécharger une image ISO d'une distribution de Linux (ou un simple paquetage), un condensé SHA-1 permet de vérifier l'intégrité de l'image. Si, après calcul du condensé de l'image ISO, le hash se révèle différent de celui qui était escompté, cela signifie que le programme n'est pas conforme. Dans ce cas de figure, cela peut être dû à une erreur lors du téléchargement ou à une distribution qui aurait été récupérée sur un site web douteux et modifiée à dessein.

« L'étendue du problème est énorme, estime Bruce Schneier. Virtuellement, toutes les applications et les logiciels serveurs qui incorporent du SHA-1 ­ navigateurs web, logiciels clients de courrier électronique, programmes de messagerie instantanée, clients de Secure Shell, ou logiciels de chiffrement de disques et de fichiers ­ devront être remplacés ou mis à jour.» «Nous nous attendions tous à ce que cela arrive, mais pas si tôt ni de manière si grave. Il s'agit d'une faille critique, qui est à la limite de la faisabilité, explique Jean-Jacques Quisquater. L'algorithme SHA-1 est cassable en réalisant 269 opérations. Ce qui correspond à la limite de puissance de calcul actuelle mobilisable dans le monde, soit environ le projet Seti et ses deux millions d'ordinateurs travaillant pendant cinq ans, dans l'hypothèse où chaque ordinateur effectue deux millions de calculs de fonction de hachage à la seconde».

Un problème crucial pour la signature électronique

Le problème est crucial, pour la signature électronique notamment, car on peut s'attendre à des progrès dans la rapidité de cassage de SHA-1. Les laboratoires de RSA indiquent, dans une note publiée le 15 mars 2005, que «les problèmes ne viennent pas des signatures existantes, mais des nouvelles signatures, où le signataire signerait de la manière souhaitée par l'assaillant». Et Jean-Jacques Quisquater d'approuver: «En supposant que les méthodes d'attaques viennent d'être trouvées, on ne doit pas se méfier du passé (les signatures existantes), mais bien des nouvelles signatures, qui peuvent correspondre à deux textes, celui que vous signez et celui que l'assaillant a produit à votre insu avec le même résultat par la fonction de hachage».

En conséquence, la future version 9 de PGP, prévue pour bientôt, s'appuiera sur SHA-256, et non plus sur SHA-1. Un choix rendu possible puisque PGP a prévu ce cas de figure dans son développement. «Lorsque le premier défaut de MD-5 est apparu, en 1996, nous avons commencé à migrer», rappelle Jon Callas, directeur technique de PGP et auteur principal d'OpenPGP à l'IETF. Le passage de SHA-1 à SHA-256 est-il suffisant ? « Oui, indique Jon Callas. Même si l'algorithme que nous aimerions utiliser n'a pas encore été inventé. Si SHA-256, avec une force attendue de 128 bits, a un défaut de 20 bits, cela nous laisse tout de même une force 100 approximative de 2, ce qui nous permet de tenir plus de quelques années. »

Dans un document rendu public le 13 février 2005 (Collision Search Attacks on SHA-1, http://theory.csail.mit.edu/˜yiqun/shanote.pdf), l'équipe chinoise indique les résultats de sa découverte principale, qui s'est appuyée sur un algorithme capable de trouver une collision plus rapidement. Il est possible de casser SHA-1 en moins de 2^69 opérations au lieu de 2^80, soit une différence de 2^11, ou, si l'on préfère, 2048 fois plus rapidement... Si 2^69 opérations suffisent pour casser SHA-1 complet, 2^39 opérations le sont pour SHA-0, et 2^33 opérations pour une version simplifiée de SHA-1. SHA-1 n'est pas cassé par une attaque de type brute force, où il y aurait 2^160 opérations possibles à réaliser.

Les précautions à prendre pour l'entreprise

Quelles sont les précautions à prendre pour une entreprise ? «S'assurer que la solution de cryptographie employée permet de changer d'algorithme de hachage ainsi que de format pour laisser suffisamment de place au condensé. Si les applications sont stratégiques, il faut passer à SHA-256, sinon on peut attendre encore un peu, indique Jean-Jacques Quisquater. Pour nous, chercheurs, il va falloir partir sur des fondements plus solides, pratiquement à partir de zéro». Jon Callas a le motde la fin : «Nous, cryptographes, sommes d'étranges créatures. Si un système qui devrait être sécurisé pour un million de millions d'années ne l'est que pour mille millions d'années, nous considérons qu'il faut le corriger la semaine suivante».

* Auteur du livre Cryptographie appliquée, aux éditions Vuibert (2001)

vendredi, mars 17, 2006

Qui a oublié son paquet de cigarettes sur mon bureau?

Mon imprimante de lettres recommandées avec AR de 16 m de longueur





En direct du 42 boulevard de Sébastopol, paris 3e, en plein coeur du marais et en face de l'église Saint-Gilles Saint-Leu (rue Saint-Denis), au 1er étage de ma start-up Posteasy SA spécialisée dans le courrier hybride sécurisé (30 novembre 2000)

mardi, mars 14, 2006

Le nombre d'or dans tous ses états

The golden ratio to 10 million digits computed
on December 2, 1996 on a SGI R10000 at 194 mHz.

With a third-order Newton iteration program in Maple
written by Greg J. Fee.

The computation took 29 minutes and 16 seconds.

Computation conducted by Simon Plouffe.
-------------------------------------------------------------------------

1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144381497587012203408058879544547492461856953648644492410443207713449470495658467885098743394422125448770664780915884607499887124007652170575179788341662562494075890697040002812104276217711177780531531714101170466659914669798731761356006708748071013179523689427521948435305678300228785699782977834784587822891109762500302696156170025046433824377648610283831268330372429267526311653392473167111211588186385133162038400522216579128667529465490681131715993432359734949850904094762132229810172610705961164562990981629055520852479035240602017279974717534277759277862561943208275051312181562855122248093947123414517022373580577278616008688382952304592647878017889921990270776903895321968198615143780314997411069260886742962267575605231727775203536139362107673893764556060605921658946675955190040055590895022953094231248235521221241544400647034056573479766397239494994658457887303962309037503399385621024236902513868041457799569812244574717803417312645322041639723213404444948730231541767689375210306873788034417009395440962795589867872320951242689355730970450959568440175551988192180206405290551893494759260073485228210108819464454422231889131929468962200230144377026992300780308526118075451928877050210968424936271359251876077788466583615023891349333312231053392321362431926372891067050339928226526355620902979864247275977256550861548754357482647181414512700060238901620777322449943530889990950168032811219432048196438767586331479857191139781539780747615077221175082694586393204565209896985556781410696837288405874610337810544439094368358358138113116899385557697548414914453415091295407005019477548616307542264172939468036731980586183391832859913039607201445595044977921207612478564591616083705949878600697018940988640076443617093341727091914336501371576601148038143062623805143211734815100559013456101180079050638142152709308588092875703450507808145458819906336129827981411745339273120809289727922213298064294687824274874017450554067787570832373109759151177629784432847479081765180977872684161176325038612112914368343767023503711163307258698832587103363222381098090121101989917684149175123313401527338438372345009347860497929459915822012581045982309255287212413704361491020547185549611808764265765110605458814756044317847985845397312863016254487611485202170644041116607669505977578325703951108782308271064789390211156910392768384538633332156582965977310343603232254574363720412440640888267375843395367959312322134373209957498894699565647360072959998391288103197426312517971414320123112795518947781726914158911779919564812558001845506563295285985910009086218029775637892599916499464281930222935523466747593269516542140210913630181947227078901220872873617073486499981562554728113734798716569527489008144384053274837813782466917444229634914708157007352545707089772675469343822619546861533120953357923801460927351021011919021836067509730895752895774681422954339438549315533963038072916917584610146099505506480367930414723657203986007355076090231731250161320484358364817704848181099160244252327167219018933459637860878752870173935930301335901123710239171265904702634940283076687674363865132710628032317406931733448234356453185058135310854973335075996677871244905836367541328908624063245639535721252426117027802865604323494283730172557440583727826799603173936401328762770124367983114464369476705312724924104716700138247831286565064934341803900410178053395058772458665575522939158239708417729833728231152569260929959422400005606266786743579239724540848176519734362652689448885527202747787473359835367277614075917120513269344837529916499809360246178442675727767900191919070380522046123248239132610432719168451230602362789354543246176997575368904176365025478513824631465833638337602357789926729886321618583959036399818384582764491245980937043055559613797343261348304949496868108953569634828178128862536460842033946538194419457142666823718394918323709085748502665680398974406621053603064002608171126659954199368731609457228881092077882277203636684481532561728411769097926666552238468831137185299192163190520156863122282071559987646842355205928537175780765605036773130975191223973887224682580571597445740484298780735221598426676625780770620194304005425501583125030175340941171910192989038447250332988024501436796844169479595453045910313811621870456799786636617460595700034459701135251813460065655352034788811741499412748264152135567763940390710387088182338068033500380468001748082205910968442026446402187705340100318028816644153091393948156403192822785482414510503188825189970074862287942155895742820216657062188090578088050324676991297287210387073697406435667458920258656573978560859566534107035997832044633634648548949766388535104552729824229069984885369682804645974576265143435905093832124374333387051665714900590710567024887985804371815126100440381488040725244061642902247822715272411208506578883871249363510680636516674322232776775579739927037623191470473239551206070550399208844260370879084333426183841359707816482955371432196118950379771463000755597537957035522714493191321725564401283091805045008992187051211860693357315389593507903007367270233141653204234015537414426871540551164796114332302485440409406911456139873026039518281680344825254326738575900560432024537271929124864581333441698529939135747869895798643949802304711696715736228391201812731291658995275991922031837235682727938563733126547998591246327503006059256745497943508811929505685493259355318729141801136412187470752628106869830135760524719445593219553596104528303148839117693011965858343144248948985655842508341094295027719758335224429125736493807541711373924376014350682987849327129975122868819604983577515877178041069713196675347719479226365190163397712847390793361111914089983056033610609871717830554354035608952929081846414371392943781356048203894791257450770755751030024207266290018090422934249425906066614133228722698069014599451199547801639915141261252572828066433126165746938819510644216738718000110042184830258091654338374923641183888564685143150063731904295148146942431460895254707203740556691306922099080481945297511065046428105417755259095187131888359147659960413179602094153085855332387725380232727632977372143127968216716234421183201802881412747443168847218459392781435474099999072233203059262976611238327983316988253931262006503702884478286669404473079471047612558658375298623625099982323359715507233838332440815257781933642626304330265895817080045127887311593558774721725649470005163667257715392098409503274511215368730091219962952276591316370939686072713426926231547533043799331658110736964314217197943405639155121081081362626888569748068060116918941750272298741586991791453499462444194012197858601373660828690722365147713912687420966513787562059185432888834174292090156313328319357562208971376563097850156315498245644586542479293572282875060848145335135218172958793299117100324762220521946451053624505129884308713444395072442673514628617991832336459836963763272257569159723954383052086647474238151107927349483695239647926899369832491799950278950006045966131346336302494995148080532901790297518251587504900743518798351183603272277260171740453557165885557829729106195819351710554825793070910057635869901929721799516873117556314448564810022001425454055429273458837116020994794572082378043687189448056368918258024449963187834202749101533579107273362532890693347412380222201162627711930854485029541913200400999865566651775664095365619789781838045103035651013158945890287186108690589394713680148457001836649564720329433437429894642741255143590584348409195487015236140317391390361644019845505104912116979200120199960506994966403035086369290394100701945053201623487276323273244943963048089055425137972331475185207091025063685981679530481810073942453170023880475983432345041425843140636127210960228242337822809027976596077710849391517488731687771352239009117117350918600654620099024975852779254278165970383495058010626155333691093784659771052975022317307412177834418941184596586102980187787427445638669661277245038458605264151030408982577775447411533207640758816775149755380471162966777100587664615954967769270549623939857092550702740699781408431249653630718665337180605874224259816530705257383454157705429216299811491750861131176577317209561565647869547448927132060806354577946241453106698374211379816896382353330447788316933972872891810366408326985698825443851667586228993069643468489751484087903964760420361020602171739447026348763365439319522907738361673898117812424836557810503416945156362604300366574310847665487778012857792364541852244723617137422925584159313561286637167032807217155339264632573067306391085410886808574283858828060230334140855039097353872613451196292641599521278931135443146015273090255382710432596622674390374556361228613907831943357059003814870089866131539819585744233044197085669672229314273074138488278897558886079973870447020316683485694199096548029824931981765792682985562972301068277723516274078380743187782731821191969528005160879157212882633796823127256287000150018292975772999357909491964076344286157571354442789838304045470271019458004258202120234458063034503365814721854920367998997293535391968121331951653797453991114942444518303385884129040181781882137600665928494136775431745160540938711036871521164040582193447120448277596054169486453987832626954801391501903899593130670318661670663719640256928671388714663118919268568269199527645799771827875946096161721886810945465157886912241060981419726861925547878992631535947292282508054251690681401078179602188533076230556381631640192245450325765673925997651753080142716071430871886285983603746505713420467008343275423027704779331118366690323288530687387990713590074030490745988951364768760867844323824821893061757031956380323081971936356727419643872625870615433072963703812751517040600505759488272385634515639052657710426459476040556950959840888903762079956638801786185591594411172509231327977113803294376547509016516949650991607383393771583323024570194834740007043761867199848340163182600846261965628464911822568885752134637549025418083382138352224525872678937950537591560357945469850910225622545500301757104946983348354532383526078709221930458178230601237075328067836854130658463678886643348624936801019878279963067025954326513780600738639290856483087415761874189734584845014188976529341101372215864355991552711362332200352667785915989023144616332102651966590763206152438374761904953158296883626504209484010565458913062982771724980964195947234046511041982134768935401803825695495628603924426415986748598228006035386283916620125282660749330619658496519997941939322601723571073364253708303301143362498575363597042444647599899995085504135497755858593457659092653330725277541675843146693676780617035012003844874883823376034407751594778122188307090008738662736209166079905022698927032189976037950989059108591039296734561461070030458192127389259926961062116764364243835014102040863214991781529796815223798322427375365700855346997965541385905032683616022278847554706269843910885210302076860470680455684656049168649886061622295232390709809262930233795648217998163264582788887767452084637197106347892310667546935504761519778169902588184040792751090182448278705250597698375351430622445090220238243982312550584162320718831930069360646468209659500654929010971618652636721610741713618377667332797562685480124565768279031760394655539452314338756773034979157858859101166374845567584795271391860878254010423332985744274711896961048512640197504359909207662155899866073683762318835884508129295011466535482817144846405686524654090781547161962578446957526256945516560151916402921798854890937328031465192224759003096571549050536104377686877261915952844920464786897347370859841384513162119297201263424077369454598186502965923353451256845497454112981973587667072860161605620423063606613028149677344579773775055756466547525632264817711699785708712283154310456912326250349768115245217449739613674882204648051968875434196951193312045021605142938484475452382127014383095785581361967830231068508084587695205905329468338490471209916255636503400343967082893369836742300157511738515126912306617227641442160751291734187471431509324192491416096999867281582385925735982389484927491964615227227333874631213843626211637946706203263022505548958057308375046129923113629917306948940734258831948399927416395098443963405763528471756276219278652253960872013108048640653439616887545253426309896951761901977096319225870934216595597447175015753837674152228057065028068314335652491719973335840306415355075911597426436648284662813680217450590970589460274429263222221545945075804657120606863990430823693969320823749076756119017156130542481331171524256847846336377001520441791650116823257523616049574970639082244344451035121904881983027600176680985096524543900719909803499302686067552387968529219473239335237008665022140746455403722234348167574937314464092837900653919677401035586193618156683661686489239555496145282647289499416061580304586789146197172815545110005666054249969197410279874059327643495371452516769462069859788094695017473022841427571887194092120913799405943037050436483860043464522799330292390186592268987499211325656055784014233542605895105620369072028939315920440476835927636479960059640486076198915929819495087878602766345990540426377004590080327943472062982544525635647954299248819864613617131448577346995347557715549138423928940175403413997384616948129347924223460974301962752301382860722449638095383840152656781976450758854785515549234523478164603306293884200995080326014091830257438577067102522724366690598890854501557075423031666592472352892470258862479488754625276572728515111287827067345431024451523345654228431103967952829625019369893998347396176398809573541526014537296468147382184360052109947211941659149471670520379225520963364584846804144778030216472862399926404836350877374782450163820089524032253437992579012926564015553775409175170441962728503912669595666487724296766036730345366873404907914188694521471582790815723396912403998586939085517307980195554612851340891206108401221361707057043006056924685591646883477332085689141267942844804138468281325692914816010978627269686686737391711893146226913489458042778989960814470952476290501926031164920686774331866154696689660182266357878875060885624356267893279735463390418210877463803921624477202567269959639182468778845549717903851583920474831990312762243706623509251877543414010711233586590774812206376345901988422547272765529050439950252444039113658267081330058058820946031020826134136912757293699289302996173089284367031523858975398738893680744152637379424050644876417176861355234326986572897046306918017427797217388985944328485205725758833756382015054672065167425268189485167332804630764781329313260289322936604521021318981298766152624448748669389040617846991666541748508459797014617821584501491957210982508923451747451225432738681972586494458808377139868506598408545773165416917406705211194916

# This is the electronic signature for Plouffe's Inverter #
# Ceci est la signature électronique pour l'Inverseur de Plouffe #
# Copyright : Simon Plouffe/Plouffe's Inverter (c) 1986. #
# http://www.lacim.uqam.ca/pi #

jeudi, mars 09, 2006

80e anniversaire de Ginette C. ce jour :->

Elevé par elle depuis le jour de mon enfance jusqu'à mon départ au collège, je suis heureux de présenter tous mes voeux de santé, de joies, de bonheur à Ginette qui n'a jamais cessé de me montrer la voie de la sagesse. Que ce jour, fête de son 80e anniversaire soit le plus beau!

Quelle photo de mon village natal et des armoiries de Lespignan qui se décrivent "de sinople à un sautoir losangé d'or et d'azur":



Le village de Lespignan avec sa monnaie moyennageuse:







mardi, mars 07, 2006

La polio a été éradiquée à 99 %. Il reste 1 %. C'est peu et beaucoup

Des bataillons de vaccinateurs contre la polio

Bernard Bonnes, coordinateur de la Fondation Rotary

La polio a été éradiquée à 99 %. Il reste 1 %. C'est peu et beaucoup

Article paru dans l'édition du 07.12.05

Le Rotary International est le principal partenaire privé du programme d'éradication de la polio, orchestré depuis 1988 par l'Organisation mondiale de la santé (OMS). Comment votre organisation vit-elle le retard pris dans ce projet, dont l'aboutissement était prévu pour 2005 ?

Il est tout d'abord important de rappeler que le Rotary a lui-même lancé le programme d'éradication de la polio en 1985. Il a ensuite fédéré plusieurs organismes internationaux comme l'OMS, l'Unicef, les CDC (Centres fédéraux américains pour le contrôle et la prévention des maladies), ainsi que de nombreux gouvernements.

Effectivement, l'objectif 2005 ne sera pas atteint, en raison de la propagation de l'épidémie en 2003, depuis le Nigeria. Mais le Rotary ne va pas stopper son effort. Il a été demandé à tous les rotariens et à tous les clubs de poursuivre les dons en faveur du fonds polio. Le Rotary a levé plus de 600 millions de dollars en vingt ans pour lutter contre cette maladie. Il ne va pas s'arrêter là.

Ne craignez-vous pas un effet de lassitude des donateurs ?

De la lassitude, oui et non. La polio a été éradiquée à 99 %. Il reste 1 %, ce qui est très peu et beaucoup à la fois. Le Rotary avait promis qu'il participerait à l'éradication de la polio. Nous ne nous sentirons dégagés de notre promesse que le jour où le concept « un monde sans polio » aura été certifié par l'OMS. Cela devrait prendre encore quelques années. Si aucun cas n'est déclaré en 2006, il faudra en effet attendre trois ans supplémentaires pour que le virus soit déclaré comme totalement éradiqué. Le Rotary continuera d'alimenter le fonds polio pendant cette période, ce qui devrait nous conduire jusqu'en 2009.

Le Rotary n'a-t-il pas envie, aujourd'hui, de passer à une autre cause, comme la lutte contre le paludisme ou l'accès à l'eau potable ?

Ce genre de discussion agite en effet le milieu, pas seulement rotarien d'ailleurs. Mais ceci est prématuré. Il faut continuer à vacciner les enfants contre la polio. On l'a vu avec ce qui s'est passé au Nigeria : le virus peut resurgir rapidement.

Il n'y aura pas d'autre cause à mener, au sein du Rotary, tant que la polio n'aura pas été éradiquée. C'est la logique que nous défendons.

Propos recueillis par Frédéric Potet