Nouvelles architectures de cartes pour les réseaux IP Pascal URIEN /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Tendances technologiques Ubiquitous Computing Ubiquitous Networking Ubiquitous Information Ubiquitous IP An what about security? 100 ans # 3 10 9 secondes Flux divx # 40 Ko/s 100 ans # 120 To /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Ubiquitous Computing L informatique enfouie Mark Weiser (1993) L informatique enfouie augmente les usages des ordinateurs intégrés dans notre environnement physique de manière invisible Problèmes à résoudre. Disponibilité de puces électroniques Protocoles réseaux Interfaces utilisateurs (écrans, crayons ) Sécurité Contrôle des accès au réseau Protection de l information échangée La puissance des ordinateurs double tous les 18 mois /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Context Aware Computing (CAC) Intelligence ambiante Bill N. Schilit & All, 1994 L intelligence ambiante est une classe d applications, averties du contexte dans lequel elles s exécutent un système muni de telles capacités peut examiner son environnement informatique et réagir à ses modifications. Réseau Bureau = Cellule d un réseau infrarouge Application distribuée Terminaux Graphiques (Assistants personnels) /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Mo dans 25 mm 2 Mo dans 25 mm 2 32 Évolution de l intégration des cellules mémoires classiques 3,2 32 320 8Mo dans 25 mm 2 Surface de cellule SRAM, en µm 2 150 Mo dans 25 mm2 Surface de cellule FLASH NAND, en µm 2 Source www.itrs.net /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Carbon NanoTubes (CNT) Richard Smalley (prix Nobel de chimie en 1996) a découvert en 1985 la technologie des nanotubes. Le Buckyball est une structure de 60 atomes de carbones. Ces derniers sont disposés selon une sorte de sphère, constituant le Buckyball, qui ressemble à un ballon de football. Les nanotubes ont des propriétés de type conducteurs ou semi-conducteurs /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
CNT (Carbon NanoTubes) RAM Une matrice de tubes de carbone, s appuyant sur une couche de SiO 2 (déposée sur un substrat Si fortement dopé), avec une densité d intégration de 10 12 éléments par cm 2, fonctionnant à 100 Ghz. 32 Go dans 25 mm 2! /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
L évolution des technologies réseaux Réseaux analogiques ( L âge de l arbre ) 1876, Alexander Graham Bell invente le téléphone. L architecture du réseau est basée sur des connections point à point, établies manuellement. Les compagnies téléphoniques construisent et contrôlent tous les composants du réseau. Les réseaux numériques (première ébauche de grille dans l arbre) 1948. Claude Elwood Shannon invente le concept d information numérique. L architecture réseau est basé sur des commutateurs numériques, les switchs. Les réseaux IP (la grille envahit l arbre) 1981. Jon Postel, Steve Crocker, et Vint Cerf inventent le réseau Internet qui substitue les routeurs aux commutateurs. Le réseau est administré par de multiples organisations. Réseaux Abstraits (L âge du Boogie Woogie) L IP sans fil (1999) et accès large bande (Broadband Access) (2005) Le réseau devient abstrait. Les accès (technologies câblées, large bande, Wi-Fi, WiMax ), et les services (email, Skype, Messenger, UMA ) sont gérés par de multiples organisations. /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Illustration of Network ages *Piet Mondrian *Apple tree *Boogie Woogie *Red tree *Gray tree Alexander Graham Bell (1876). Analog Networks Claude Elwood Shannon (1948) Digital Networks /46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 Jon Postel, Steve Crocker Vint Cerf (1981) IP Networks Wireless LAN (1999) Broadband Access Abstract Networks
En 2007, les réseaux sans fil sont déjà partout! 10/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Un exercice de voyance: en 2020 En 1994 Articles de M. WEISER et Bill N. Schilit Publication de l article de P. W. Shor, «Algorithms for quantum computation: Discrete logarithms and factoring» En France les services télématiques utilisent le Minitel et le RNIS (2B+D=144 Kbits/s). Le GSM se déploie, avec un modem de 9600 bits/s. L ATM est encore considéré par les opérateurs de télécommunication comme le réseau du futur La norme WinSock vient d être ratifiée (sockets TCP/IP pour Windows). Windows 3.1 n intègre pas de pile TCP/IP L IETF existe depuis 8 ans Le WEB balbutie. Le commerce électronique n existe pas. Premières offres ISP grand public avec des modems à 9600 bauds Le Wi-Fi n existe pas En 2007 Plus d un milliard d Internautes Environ deux milliards de téléphones portables 40% des français utilisent un accès haut débit à Internet Le taux de pénétration du téléphone mobile (en France) est supérieur à 100% La téléphonie sur IP est largement déployée Les puces CENTRINO intègrent une interface radio Wi-Fi 250 millions d ordinateurs portables vendus/an Les normes WiMAX sont disponibles depuis janvier 2006 Premiers produits compatibles Wireless USB En 2020 Omniprésence de réseaux IP radio, Wireless USB, Wi-Fi, WiMAX, WiRAN Architectures cryptographiques symétrique Internet Of Thing est une réalité. Les RFIDs sont partout! Déploiement de réseaux Internet de 2 ième génération. Séparation de l adressage IP et des identités. Technologies P2P omniprésentes Premiers déploiements des nanotechnologies, principalement pour le stockage La sécurité est un enjeu majeur Protection des informations privées Respect de la vie privée, anonymat, Traçabilité 1/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
2/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 Les standards IEEE
Standards IEEE WiMax Mobile? WiMax Fixed? Wi-Fi IEEE 802.22 IEEE 802.11 WirelessLAN Regional Area Network Metropolitan Area Network IEEE 802.16 WirelessMAN Local Area Network Personal Area Network IEEE 802.15 ETSI HiperPAN ETSI HiperMAN & HIPERACCESS ETSI HiperLAN SIM USIM 3GPP, EDGE (GSM) BlueTooth ZigBee Wireless USB? 3/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Les trois niveaux de sécurité de l IP sans fil 4/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Les défis de la sécurité dans les réseaux sans fil Sécurité des liens radios, Network Access Wi-Fi, IEEE 802.11, IEEE 802.1x, IEEE 802.11i Wi-Max fixe, IEEE 802.16-2004 Wi-Mobile, IEEE 802.16e BlueTooth, ZigBee, Wireless USB Sécurité du Roaming: atteindre son réseau mère (Home Network) Technologies VPN pour le déploiement de tunnel sécurisé IPSEC and IKEv2 L2TP, PPTP Sécurité des Applications SSL/TLS Messenger SSH Remote SHELL P2P SKYPE 5/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Exemples IEEE 802.11/16 RADIUS Server Network Access IEEE 802.11/16 RADIUS Server IPSEC + IKEv2 IPSEC Server Network Access + Roaming IEEE 802.11/16 RADIUS Server TLS + password TLS Server Network Access + Application (TLS+ Password) GSM 6/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 HLR Server
Les nouveaux défis de la mobilité Quelles organisations contrôlent les accès aux réseaux Les opérateurs de télécommunication? GSM, UMTS, Hotspots Les entreprises? Intranet offrant des accès Wi-Fi Accès, compris dans le service, dans certain restaurants Les UMA, FON et les autres. Les états Obligation de traçabilité. Les municipalités IP devient un service analogue à l électricité ou à l eau Les particuliers Connexion filaire supérieure à 10 Mbits/s (40 au Japon) Réseau communautaire sans fil Comment garantir la confidentialité des informations échangées Comment concilier tracabilité et anonymat? 7/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
8/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 La carte à puce
La carte à puce 1/2 Une pastille de silicium (25 mm 2 ) qui résiste aux attaques Une plateforme informatique sûre: unité centrale, mémoire morte (ROM) mémoire volatile (RAM), mémoire non volatile (NVM) E 2 PROM ou FLASH. Des coprocesseurs cryptographiques rapides (un calcul RSA 2048 bits est réalisé en moins de 100 ms) Les tailles des NVM (qui stockent les clés cryptographiques ou le code java des applications) varient entre 32ko à 128 Ko. La technologie FLASH permet d atteindre 1 Mo. Le développement d applications en JAVA ou C# est possible grâce à la disponibilité de machine virtuelle (JAVA ou.net) embarquée. Pratiquement toutes les cartes SIM supportent JAVA. 9/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
La carte à puce 2/2 5 mm CPU E 2 PROM RAM ROM Device CPU RAM bytes ROM Kbytes E 2 PROM Kbytes Max. Clock Max Data Rate RSA Processor A 8 bits 2304 96 32 10 MHz 424 Kbit/s 1088 bits yes B 8 bits 4096 96 34 8 MHz 1000 Kbit/s 4032 bits no RNG 0/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
1/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 Le TEAPM
Historique du TEAPM 2003 1 ière carte EAP, Proof of Concept Soumission à l IETF d un premier draft «EAP support in smartcard» Sésame de la meilleure innovation Technologique, au salon cartes 2003. 2004 1 ière carte EAP-TLS Breakthrough Innovation Award, attribué par la revue Card Magazine 2005 Mise en ligne du 1 ier logiciel ouvert, pour javacardj avacard, " OpenEapSmartcard" Nomination aux Sésames S du salon cartes 2005, Best Software 2006 1 ier ier serveur RADIUS équipé de modules de sécurits curité Soumission à l IETF d un draft de protection d identitd identité TLS 1 ière implémentation mentation d une d application EAP-TLS sur une carte à puce.net 2/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
What is a TEAPM? TEAPMs (Trusted EAP Modules) are tamper resistant devices that run EAP client and/or server applications. TEAPMs benefits Security modules dedicated to IP devices. Authentication services for PPP, LAN, WLAN, VPN resources Independent of any operating system (Windows, LINUX, ). Highly secure authentication servers. Smartcard enabled RADIUS server Privacy (anonymity) and tracability Secure Access Module (SAM) with Identity Protection mechanisms over TLS. Remote administration. Authentication credentials management. 3/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
TEAPM philosophy A trusted raft, in an hostile cyber space Gericault, Theodore The Raft of the Medusa, 1819 4/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
5/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 About the EAP protocol
6/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 What is EAP? The Extensible Authentication Protocol (EAP) was introduced in 1999, in order to define a flexible authentication framework. EAP, RFC 3748, "Extensible Authentication Protocol, (EAP)", June 2004. EAP-TLS, RFC 2716, "PPP EAP TLS Authentication Protocol, 1999. EAP-SIM, RFC 4186, " Extensible Authentication Protocol Method for Global System for Mobile Communications (GSM) Subscriber Identity Modules (EAP- SIM) ", 2006 EAP-AKA, RFC 4187, " Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA), 2006 EAP Applications, an Esperanto for the access control IP infrastructures. Wireless LAN Wi-Fi, IEEE 802.1x, 2001 WiMAX mobile, IEEE 802.16e, PKM-EAP, 2006 Wired LANs ETHERNET, IEEE 802.3 PPP, RFC 1661, The Point-to-Point Protocol (PPP), 1994 VPN (Virtual Private Network) technologies PPTP, Point-to-Point Tunneling Protocol (PPTP), RFC 2637 L2TP, Layer Two Tunneling Protocol (L2TP), RFC 2661 IKEv2, RFC 4306, "Internet Key Exchange (IKEv2) Protocol, 2005 Authentication Server Wi-Fi Ethernet RADIUS, RFC 3559, RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP), 2003 DIAMETER, RFC 4072, "Diameter Extensible Authentication Protocol Application, 2005 Voice Over IP UMA, Unlicensed Mobile Access, http://www.umatechnology.org VPN PPP
TEAPM integration in the EAP architecture EAP method EAP method 4 EAP method EAP method Full Software Implementations EAP-Peer Layer EAP-Layer 3 2 EAP-Auth. Layer EAP-Layer Lower-Layer 1 RADIUS Server Peer Authentication Server Partial Software Implementations + TEAPMs Peer Trusted EAP Module Client EAP-Peer Layer EAP-Layer Lower-Layer Wi-Fi Network 4 EAP Methods 3 2 1 Trusted EAP Module Server EAP-Auth. Layer EAP-Layer Smartcards Enabled RADIUS Server Authentication Server 7/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
8/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 TEAPM architecture
TEAPM relationship with IETF standards State Machines for EAP TEAPM Specific Services EAP keying Peer-Layer Interface RFC 4137 methodstate, (method-specific state) methodstate= { INIT, CONT, MAY_CONT, DONE } eapreqdata (includes reqid) Content Mgnt RFC 3748 CPU Security Mgnt EAP method RFC 4017 E 2 PROM Identity Mgnt TEAPM Interface Channel Bindings Peer-ID [Optional] Server-ID [Optional] Method-ID Exported Parameters eaprespdata, ignore, allownotifications, decision ROM RAM AMSK = KDF(EMSK,parameters) Ignore (message) = { TRUE, FALSE } allownotifications (Notification messages) = { TRUE, FALSE } decision= {UNCOND_SUCC,COND_SUCC, FAIL } EMSK AMSK MSK IV [Deprecated] draft-ietf-eap-keying 9/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
TEAPM services Network services Processing of EAP packets Computing the Master Session Key (MSK) Exported Parameters Other services Content Management. It s the set of operations needed to download credentials, required by a given method (X.509 certificates, cryptographic key, ). Security Management. This service manages mechanisms (PIN code, biometric techniques, ) that restrict TEAPM use to authorized users. Identity Management. When several methods are available, this service allows to select one of them. 0/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
TEAPM smartcards http://www.enst.fr/~urien/openeapsmartcard Creedy:... Why won't you die? V: Beneath this mask there is more than flesh. Beneath this mask there is an idea, Mr. Creedy, and ideas are bulletproof. 1/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Motivations Why open javacard code? Internet and WEB technologies are based on open code. No proprietary features. Good security principle that enables code reviewing. Fair comparison of multiple Java Cards Do it yourself! 2/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
An Open Platform for EAP support in smartcard 1- The EapEngine manages several methods and/or multiple instances of the same one. It implements the EAP core, and acts as a router that sends and receives packets to/from authentication methods. At the end of authentication process, each method computes a master cryptographic key (AAA Key) which is read by the terminal operating system. 3- The Credential objects, are used by to methods, and encapsulate all information required for processing a given authentication scenario. 1- EapEngine.class Methods Credentials E 2 PROM Security Management Identity Management Personalization draft-eap-smartcard Network Interface Javacard Framework JC.2x Java Virtual Machine ISO 7816 Interface 4- Method.class 3- Credential.class EAP-AKA Init EAP-TLS Object Init(Object 2- Auth.class Credential) Authentication Interface ProcessEap() Cryptographic API RNG - MD5- SHA1 - RSA 3/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 4- The Methods are associated to various authentication scenari. Once initialized, the selected method analyses each incoming EAP request and delivers corresponding response 2- The Authentication interface defines all mandatory services in EAP methods, in order to collaborate with the EapEngine. The two main functions are Init() and Process-Eap(). First initializes method and returns an Authentication interface; Second processes incoming EAP packets. Methods may provide additional facilities dedicated to performances evaluations.
What performances do we need? They are some timing constraints, the delay between EAP requests and responses must be less than 30 s. Furthermore the total authentication duration must be less than 60 s, in order to avoid the client s network interface reset, generated by the DHCP timeout. With commercial javacards devices, we observed performances of about 5 s for clients or servers; a detailed analysis are described elsewhere. These figures are compatible with previously mentioned requirements, and therefore this platform may be deployed in today network. 4/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
EAP-TLS JavaCard design & results EAP-TLS Computing time A ( egate) B (JCOP) C (Gemplus) D (Gemplus) T Transfer (ms) 2492 5326 5219 1433 T Crypto (ms) 13221 6507 7648 T SoftwareOverhead (ms) 62618 21914 14784 2117 6827 Best Of (Axalto) 400 1850 3050 T EAP-TLS (ms) 78331 33747 27651 10377 4900 T Crypto = T RSA + 532 x T Digest 5/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
An Open Platform for EAP support in.net card EapEngine.cs Methods Credential E 2 PROM Security Management 1 Identity Management Personalization Network Interface 4 Credential.cs Init Object Auth.cs 3 2 Authentication Interface Method.cs EAP-SHA1 EAP-TLS Init(Object Credential) ProcessEap().NET Standard Libraries.NET Smartcard Libraries Cryptographic Libraries.NET Virtual Machine draft-eap-smartcard EAP services 6/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Smartcard enabled RADIUS server 7/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Smartcard Enabled RADIUS Server One Server Certificate /Smartcard RADIUS CODE TEAPM d 2 4 3 Javacard 1 8/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
RADIUS server software details AP Supplicant MAC address Session-Id = NAS-Identifier Calling-Station-Id. Parse incoming RADIUS packets Find a TEAPM for this session begin EAP Session end Smartcard Enabled RADIUS Server 1 1 1 1 TEA PM TEA PM TEA PM 3 3 3 3 TEA PM TEA PM (1) Forward EAP packet to TEAPM (2) Wait for TEAPM response (3) Build RADIUS packet (4) Get MSK key time 5 5 5 5 (5) Transmit RADIUS packet End of EAP message processing 9/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Scalability, privation versus Erlang B law Pc is the probability of blocking (e.g. a RADIUS packet is silently discarded), c is the number of EAP servers, λ is the rate of authentication sessions, and 1/µ the mean time of an authentication session (10s = 5s + 5s) Let s assume a network with 1000 users, authenticated every 10mn, then λ = 6x1000/3600=1,7 and so λ/µ = 60,000/3600 = 16,7. The probability of blocking (pc) is about 50% with 9 smartcards (c = 9) and only 1% with 21 smartcards (c = 21). λ/µ p c c c k ( λ / µ ) ( λ / µ ) = c! k = 0 k! 1 0/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 c
Secure Access Module (SAM) concept RADIUS Secret 1/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
2/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 Identity Protection
Protection d Identité & Traçabilité Qu est ce que la fuite d identité? La plupart des protocoles d authentification diffusent l identité du client en clair (par exemple les certificats X509). Cette pratique pose des problèmes de sécurité, il y a deux types d attaques Passive, écoute et collecte des informations (qui est présent et connecté au réseau?) Active, collecte de l information à partir d un point d accès hostile La sécurité, telle que déployée aujourd hui, transforme les terminaux clients, en étiquettes électroniques (RFIDs). La protection d identité consiste à protéger l identité du client, à l aide de mécanismes de chiffrements. La tracabilité consiste à enregistrer des échanges d information liés à une adresse IP particulière L approche TEAPM permet de concilier la traçabilité et l anonymat (protection d identité) d un utilisateur du réseau 3/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Un certificat X509 Subject Name Public RSA Key Signature 4/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
Identity Protection Dialog PEER SERVER PEER SERVER Client Hello (ClientRandom) ExtendedClientHello (ClientRandom)) Server Hello (ServerRandom) ExtendedServerHello (ServerRandom) Server s Certificate Server KPubS CA KPubCA Server s Certificate Server KPubS CA KPubCA Certificate CertificateRequest, ServerHelloDone Client KPubC ClientKeyExchange {PreMasterSecret}K PubS CertificateVerify {MessagesDigest}K PrivC ChangeCipherSpec The Client s identity is sent in clear text Finished (Encrypted+Signed MessagesDigest) ChangeCipherSpec Finished (Encrypted+Signed MessagesDigest) Client KPubC Certificate CertificateRequest, ServerHelloDone CertificateVerify {MessagesDigest} K PrivC ChangeCipherSpec The client s identity is sent encrypted with the encryption_key encryption_key = PRF(MasterSecret, client_certificate ServerRandom+ClientRandom) ClientKeyExchange {PreMasterSecret}K PubS Finished (Encrypted+Signed MessagesDigest) ChangeCipherSpec Finished (Encrypted+Signed MessagesDigest) PreMasterSecret MasterSecret Encryption Key 5/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007
6/46 Pascal URIEN, CRYPTO PUCES 2007, Porquerolles, France, le 18 avril 2007 The END