Architecture d'identité convergente pour l'internet de nouvelle génération é basée sur des microcontrôleurs sécurisés Pascal Urien Professeur à Télécom ParisTech, UMR 5141 Co Fondateur de la société EtherTrust Pascal.Urien@telecom paristech.fr Pascal.Urien@ethertrust.com Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 1
Agenda De la carte SIM au Secure Element L émergence du Cloud Computing L identité dans le Cloud Vers un modèle d Identité didentité Convergent Quelles performances, Quelles limites? Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 2
De la carte SIM au Secure Element Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 3
Au sujet de la carte SIM. 1988, Invention de la carte SIM 1991, premières SIM commercialisées 1997, première carte java 2002, premières cartes USIM 2009, premiers déploiements LTE Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 4
L ère Lère des Secure Elements Le Nexus S comporteun routeur NFC sécurisé PN65N =PN544+PN072? Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 5
Secure MX: PN532 OS JAVA JCOP + GP Crypto processeur (3xDES, AES, RSA, ECC) CC EAL5+ Security Certificates EMVCo L identité est un programme Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 6
http://www.gartner.com/it/page.jsp?id=1622614 Plus d un milliard de SmartPhones en 2015 296,647 467,701 630,471 1,104,898 Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 8
http://www.etforecasts.com/products /ES_pcww1203.htm Deux milliards de PCs en 2015 Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 9
L émergence Lémergencedu Cloud Computing Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 10
Petite histoire de l Internet 1/2 1970 Les cinq premiers nœuds Internet : UCLA, Stanford, UC Santa Barbara, University of Utah, BBN 1974 Premières spécifications du protocole TCP, RFC 675, Vint Cerf. Janvier 1984 Le premier réseau ARPANET TCP/IP est opérationnel, et comporte 1000 nœuds. Janvier 1986 IETF 1, San Diego, 21 participants. Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 11
Petite histoire de l Internet linternet 2/2 Juillet 1994 A Border Gateway Protocol 4 (BGP 4), RFC 1654 Mai 1994, NAT RFC 1661, The IP Network Address Translator (NAT). 1989, Invention du WEB Tim Barner Lee réalise les premiers serveurs et clients HTTP en 1990 1999, Wi Fi, IEEE 802.11 Tous les smartphones intègrent une interface Wi Fi Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 12
GOOGLE: Une société fondée en 1998 par Larry Page et Sergev Brin DNS Server Google Web Server Index Index ts Index Servers Document Servers Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 13
359 racks 31,654 machines 63,184 CPUs 126,368 Ghz of processing power 63,184 Gb of RAM 2,527 Tb of Hard Drive space 1792 megabytes of memory 366 gigabytes of disk storage 2933 megahertz in 10 CPUs CorkBoard Google Cluster GOOGLE CIRCA 1999 1997 1999 2004 Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 14
http://www.google.com/datacenter/thedalles/index.html 2006 http://www.youtube.com/watch?v=zrwpsfplx8i&nr=1 Au moins 12 data center de grande capacité GOOGLE data center (2008) Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 15
http://harpers.org/media/s / / lideshow/annot/2008 03/index.html 3 bâtiments de 6400m 2 (2 construits) 1 million de serveurs 2 50 octets (penta octet, 1024 To, 1 million de Go) 103 MW (un réacteur nucléaire produit entre 1000 et 1500 MW) La consommation électrique d une ville de 80,000 habitants En France le prix de revient du MW/h est de l ordre de 5, le prix de vente aux particuliers est de l ordre de 75 100MW, 200,000 /jour Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 16
Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 17
L identité Lidentité dans le Cloud Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 18
Et l identité identitédu du Cloud le le mot de passe Chiffre d affaire Microsoft 60,4 M$ GOOGLE 21,8 M$ SalesForce 1,3 M$ Facebook 1,0 M$ Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 19
Pourquoi le login/mot de passe? Un héritage de l informatique traditionnelle pour la gestion des comptes utilisateurs s Le mot de passe est une clé symétrique partagée avec le serveur Il devrait y avoir autant de secrets que de serveurs, mais en pratique c est difficile à mettre en œuvre pour un utilisateur humain. NETSCAPE a inventé le protocole SSL en 1995, pour sécuriser les sessions HTTP Le serveur est identifié par un certificat Le client est identifié par le couple login/mot de passe La session SSL sécurise le mot de passe Le cookie a été inventé en 1995 avec la version 2 de Netscape Le cookie réalise l authentification/autorisation d une session HTTP, c est à dire d une suite de requêtes, il est inséré dans l en tête HTTP Le Session ID (sid) joue également le rôle du cookie, il peut être inséré éédans l entête d une requête GET HTTP ou dans le corps du message pour une méthode POST En PHP les cookies et les sid (SessionID) jouent le même rôle d identifiant de session Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 20
Comment sécuriser un mot de passe HTTP digest, RFC 2617 KD(secret, data) = Hash(secret ":" data ) Déployé, mais pas utilisé en pratique RFC 4279, TLS PSK (pre shared key) PreMasterSecret = nonce PSK Le nonce est transmis chiffré avec la clé publique du serveur Pas de déploiement connu Le One Time Password (OTP) hash(timestamp secret), par exemple RSA SecureID MAC(compteur, secret), RFC 4226, "HOTP: An HMAC Based One Time Password Algorithm" MAIS sensible aux attaques MIM (Man In the Middle), autrement dit vol d un OTP. Solution possible Utiliser un OTP comme le PSK d une session TLS TSK. SK Le serveur estime les valeurs possibles de l OTP. Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 21
Un exemple millénaire d authentification statique Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 22
Technologies de Gestion d Identités Un ensemble de plateformes hétérogènes WS_, WEB Security : introduit itla notion de TOKEN (jeton), de claim li (revendication) et de POP (Proof of Possession Token) Liberty Alliance, fédération d identité, définition du concept d Identity Provider (IdP). Adoption du standard SAML. SAML, SecurityAssertion MarkupLanguage Language, introduit la notion d assertion SAML (un jeton réalisé en syntaxe XML), et de transport (Protocol Binding) InfoCard(Microsoft), un Information Card est un artefact qui contient des métadonnées sous la forme d un jeton prouvant la relation entre un Identity Provider et un utilisateur OPENID, un standard de SSO (Single Sign On), utilisant implicitement la notion de jeton sécurisé Dans la pratique, le mot de passe reste roi pour l authentification Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 23
Authentification Dynamique: une illustration du Proof Of Possession GET /dir/index.html HTTP/1.0 401 Unauthorized WWW Authenticate: Digest realm="testrealm@host.com", qop="auth,auth int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41" GET /dir/index.html Authorization: Digest username="mufasa", realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html", qop=auth, nc=00000001, cnonce="0a4f113b", response="6629fae49393a05397450978507c4ef1", 4 f1" opaque="5ccc069c403ebaf9f0171e9517f40e41" r1 Possible, mais pas normalisé!! Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 ID, r2, f(r1,r2, ) 24
Le Token: un cookie dautorisation d Autorisation Un Token (jeton) est une liste de revendications (claims) Un ensemble d information i sécurisé, é exprimé éà l id aide d une syntaxe XML ou URLEncoded Délivrance de Tokens Nécessite une preuve d identité de l internaute Mot de passe, certificat, Vérification de Tokens Claim Request SERVICE Claim Response USER Le projet SecFuNet Check OK Request ID Security Association TOKEN VERFICATOR Proof TOKEN GENERATOR Response Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 25
Quelques Architectures S G U S U V G Login / Password V (HSM) EMV S V U S V U Security Association G OPENID SAML INFOCARD G Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 26
Exemple de Claim Request, OpenID Le service (consumer) délivre un Claim Request à l intention de l Identity Provider, à l aide d un mécanisme de redirection i HTTP. Consumer 192.168.2.44 <html><head><title>openid transactioninprogress</title></head> in 192.168.2.35 <body onload='document.forms[0].submit();'> <form accept charset="utf 8" enctype="application/x www form urlencoded" id="openid_message" action="http://192.168.2.44/openid/examples/server/server.php" method="post"> <input type="hidden" name="openid.ns" value="http://specs.openid.net/auth/2.0" /> <input tt type="hidden" " name="openid.ns.sreg" " value="http://openid.net/extensions/sreg/1.1" t/ t i / /11"/> <input type="hidden" name="openid.ns.pape" value="http://specs.openid.net/extensions/pape/1.0" /> <input type="hidden" name="openid.sreg.required" value="nickname" /> <input type="hidden" name="openid.sreg.optional" value="fullname,email" /> <input type="hidden" name="openid.pape.preferred_auth_policies" value="" /> <input type="hidden" name="openid.realm" value="http://192.168.2.35:80/openid/examples/consumer/" /> <input type="hidden" name="openid.mode" value="checkid_setup" /> <input type="hidden" name="openid.return_to" value="http://192.168.2.35:80/openid/examples/consumer/finish_auth.php?janrain_nonce=2009 03 17T09:07:14ZGoN7wY" /> <input type="hidden" name="openid openid.identity identity" value="http://192 http://192.168.2.44/openid/examples/server/server.php/idpage?user168 2 php/idpage?user=moi" /> <input type="hidden" name="openid.claimed_id" value="http://192.168.2.44/openid/examples/server/server.php/idpage?user=moi" /> <input type="hidden" name="openid.assoc_handle" value="{hmac SHA1}{49bf5e64}{Va0OCQ==}" /> <input type="submit" value="continue" /> </form> <script>var elements= document.forms[0].elements;for tf t f (var i = 0; i < elements.length; l th i++) { elements[i].style.display tl l = "none";}" </script></body></html> Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 27
Exemple de Claim Response, OpenID Le Identity Provider délivre un token au service (Consumer), à l aide d un mécanisme de redirection HTTP. HTTP/1.1 1 302 Found Date: Tue, 17 Mar 2009 09:07:28 GMT Server: Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5 X Powered By: PHP/5.2.5 Cache Control: no store, no cache, must revalidate, post check=0, pre check=0 Pragma: no cache Consumer 192.168.2.44 Expires: Thu, 19 Nov 1981 08:52:00 GMT location: http://192.168.2.35:80/openid/examples/consumer/finish_auth.php? janrain_nonce=2009 03 17T09:07:14ZGoN7wY 192.168.2.35 &openid.assoc_handle={hmac SHA1}{49bf5e64}{Va0OCQ==} &openid.claimed_id=http://192.168.2.44/openid/examples/server/server.php/idpage/user=moi &openid.identity=http://192.168.2.44/openid/examples/server/server.php/idpage/user=moi &openid.mode=id_res &openid.ns=http://specs.openid.net/auth/2.0 &openid.ns.sregns sreg=http://openid.net/extensions/sreg/1.1net/extensions/sreg/1 1 &openid.op_endpoint=http://192.168.2.44/openid/examples/server/server.php &openid.response_nonce=2009 03 17T09:07:28Z2Z6LCL &openid.return_to=http://192.168.2.35:80/openid/examples/consumer/finish_auth.php/janrain_nonce=2009 03 17T09:07:14ZGoN7wY &openid.sig=hubr4k7ff51fhcywzfux2icz9xg= &openid.signed=assoc_handle,claimed_id,identity,mode,ns,ns.sreg,op_endpoint,response_nonce,return_to,signed,sreg.email,sreg.fullname, i d dl l i d d d i t t t i d il ll sreg.nickname &openid.sreg.email=invalid@example.com &openid.sreg.fullname=example+user &openid.sreg.nickname=example Connection: close Content Length: 0 Content Type: text/html Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 28
Comment Transférer un Token Problème Le service et le générateur de jetons ne sont pas company.com toujours dans le même domaine Infrastructure privée Service.company.com et Idt.company.com sont Idt.company.com service.company.com deux sous domaines de company.com Il est possible d échanger un cookie entre sous domaines Cookie Infrastructure publique Set Cookie Les cookies inter domaines sont interdits Redirect Une mécanisme couramment utilisé est la redirection HTTP (voir par exemple OPENID) avec un point de pivot via le navigateur de l utilisateur l (USER) Cette approche engendre un problème de privacy en raison du lien entre le service et le serveur d authentification i service.com Idt.com Le navigateur du client est le point central d une architecture de gestion d identité dans un contexte Cloud Computing Redirect En particulier il assure le stockage des Tokens Redirect Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 29
Vers un modèle d identité convergent Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 30
Un modèle d identité pour le Cloud L identité s appuie sur une pile SSL embarquée Authentification mutuelle forte basée sur des certificats X509 et des clés RSA privée De multiples facteurs de formes Clés USB, sticker 3G, cartes SIM, cartes sans contact, mobile NFC, Android, RIM Gestion du cycle de vie de l identité Via un serveur d identité (ID Provider) dont les accès sont sécurisés par des sessions SSL/TLS avec mutuelle authentification forte. Glue logique avec le navigateur SSL Id tit A l aide d un proxy Mécanismes daut d authentification t BOB s Certificate Single Sign On: OPENID PKI: SSL/TLS BOB s RSA VPN: EAP TLS Private Key BOB SSL Identity CA Certificate Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 31
Ordinateur central L identité pour les opérateurs proxy.exe USIM Module CPU, RAM, FLASH Crypto processor Java Virtual Machine Subject= bob Bob s Certificate RSA Private Key CA Certificate SSL/TLS embedded Stack Micro SD Memory BOB ID: http://www.server.com/openid/pascal/s erver/server.php/idpage?bob 3G Dongle USIM + Micro SD memory Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 OpenID Provider 32
L identité Lidentitépour les Serveurs TCP/IP connectivity 32 smart cards/ boards Up to 450 smart cards/rack RADIUS Server Internet GRID Server EAP TLS Smart Card darray Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 33
L Identité LIdentité pour les prépaiements 10 millions de clients 3 milliards de titres/ans Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 34
Identité pour l Internet Of Things: HIP RFID Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 35
Quelles performances? Quelles limites it? Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 36
Calcul de performances pour le protocole TLS For the TLS full mode processing of 230 MD5 and 230 SHA1 blocs, one RSA encryption with a private key, one RSA decryption and one encryption with a public key. Furthermore 2500 bytes of information are exchanged. For the TLS resume mode processing of 75 MD5 and 75 SHA1 blocs; 250 bytes of information are exchanged. T full = 230 (T MD5 +T SHA1 )+ T RSAPRIV + 2 T RSAPUB + N T IO +T SF T resume = 75 (T MD5 +T SHA1 )+ N. T IO + T SR where N is the number of information bytes exchanged, and T SF and T SR the residual time induced by embedded software instructions. For the Javacard For the USIM T full = 2,0s T SF = 0,7s T resume = 0,50s; T SR = 0,35s T full = 4,3s T SR = 2,65s T resume =1,65s; T SR = 1,45s Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 37
Détails de performances Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 38
Comparaison systèmes embarqués et JavaCard Linksys WRT 54G V. 3 Intel Motherboard D945GCLF2 Java card Bogo mips MD5 Ko/s SHA1 Ko/s DES Ko/s 3xDES Ko/s AES 128 Ko/s RSA 2048 sign /s RSA 2048 Verify /s BCM 3302 5,000 3,300 1,700 420 1530 2 67 215 Intel Atom 330 3200 183,000 83,000 18,000 6,400 24,500 51 1900? 128 64 4 6 2 (1024) 40 (1024) Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 39
Eléments Physiques Permittivité du vide, ε0= 8,854 10 12 Permittivité du Silicium ε= εrx ε0 = 11,68 x ε0 Charge d un électron q= 1,6 10 19 Charge commuté (Q b ) de N e électrons, Q b = N e x q Energie stockée dans une capacité: W b = ½ x C G x V 2 H = ½ Q b x V H = ½ x N e x q x V H Energie dissipée par une transition d un électron sous une tension de 1V: 1610 1,6 10 19 W Dimensions d un transistor Longueur (L) de 1 à 3 μm, largeur (W) de 0,2 à 100 μm, épaisseur de l isolant (tox) de 2 à 50 nm C = L x W x ε / tox soit 103 10 15 pour L= 1 μm, W=10 μm, tox= 10 nm Sous 1V la charge associée est d environ 640,000 électrons Une commutation (1/0) d une porte NAND dissipe une énergie W b Metal Isolant (SiO 2 ) Silicium Vo= V H x(1 H(Ve 1 ½ V H )x H(Ve 2 ½ V H ) ) Ve V t/tr H (1 e / ) 1 R G V H e t/tr Ve 2 C G Vs # Vo(1 t/tr) Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 tr= R G C G 40
Puissance Consommée Une commutation (1/0) d une porte NAND dissipe une énergie W b Si N c commutations de portes NAND, en moyenne, sont nécessaires pour un calcul, avec Fc calculs/seconde, alors l énergie consommée (P c ) est égale : P c = F c x N c x W b = F c x N c x ½ x N e x q x V H Exemple 100,000000 commutations (N c ) sous un 1V (V H ) de 100,000 000 (Ne) électrons (q=1,6 10 19 ), avec Fc=10 9 (1GHz) P = 9 5 5 19 c 10 x 10 x ½ x 10 x 1,6 10 = 0,8 Watt c Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 41
Exemple d implémentation Hardware "Hardware implementation of the RC4 Stream Cipher", 2004, P. Kitsos, G. Kostopoulos, N. Sklavos, and 0. Koufopavlou 4 x256 byte RAM, 4x 8 bit register, 3x 8 bit adder, 2 bit MUX, 12950 NAND gates Init: 768 cycles Cipher/byte : 3 cycles "Design and Implementation of a SHA 1 Hash Module on FPGAs, Kimmo Järvinen (2004) throughput = block size clock frequency /clock cycles per block Slices 1,275, equivalent gate count 25,467 Max. clock frequency: 117.5 MHz Latency of a SHA 1 round: 698 ns Throughput: 734 Mbps 10,000 commutations (N c c) sous un 1V (V H ) de 100,000 (Ne) électrons (q=1,6 10 19 ), avec Fc=10 7 (10 MHz) P c = 10 8 x 10 4 x ½ x 10 5 x 1,6 10 19 = 1 mw RC4: 3,300 Ko/s Les performances SHA1: 9,000 Ko/s actuelles sont /150 Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 42
Quelques Références Urien, P.; "An OpenID Provider based on SSL Smart Cards", Consumer Communications and Networking Conference, 2010. CCNC 2010. 7th IEEE 9 12 Jan. 2010, BEST Demonstration Award Urien, Pascal; Marie, Estelle; Kiennert, Christophe; "An Innovative Solution for Cloud Computing Authentication: Grids of EAP TLS Smart Cards", Conference on Digital Telecommunications (ICDT), 2010 Fifth International, 13 19 June 2010, Best Paper P.Urien & All, "HIP support for RFIDs", draft irtf hiprg rfid 00, June 2010 Dorice Nyamy, Pascal Urien, "HIP TAG, a New Paradigm for the Internet of Things", IEEE CCNC 2011, January 9 12 2011 Pascal Urien, Convergent Identity: Seamless OPENID services for 3G dongles using SSL enabled USIM smart cards, IEEE CCNC 2011, January 9 12 2011 Pascal Ui Urien, Marc Pasquet, Christophe h Kiennert, "A breakthrough h for prepaid payment: end to end token exchange and management using secure SSL channels created by EAP TLS smart cards", International Symposium on Collaborative Technologies and Collaborative Technologies and Systems (CTS), 2011, May 23 27, 2011 Pascal Urien, Crypto Puces2011, Porquerolles le 12 mai 2011 43