The Hitchhiker s Guide voor de e-id



Vergelijkbare documenten
A-PDF Split DEMO. Samoera Jacobs, Delphine Duprez, Peter Maes, Peter Strickx V-ICT-OR - 24 januari 2006

Elektronische handtekening

De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009

De Belgische Electronische Identiteitskaart

Labo-sessie: Gegevensbeveiliging

ICT en de digitale handtekening. Door Peter Stolk

DE IDENTITEITSKAART EN FIREFOX

UZI-pas in gebruik. Maarten Schmidt Risk en Security manager 22 november Remco Schaar Consultant UL Transaction Security service

Alphatronics. e-id toegangscontrole in containerparken. Innovators in access technology

eid middleware v2.6 voor Mac OS X

Aandachtspunten PKIoverheid

IT Galaxy 2018 ON THE RIGHT TRACK ON THE RIGHT TRACK #PQRITG18 #PQRITG18

UZI-register Ondertekenen met Microsoft Outlook versie 2.5 definitief (UZ69.03) 24 november Versie 1.2. Datum 24 november 2014

Bescherming van (software) IP bij uitbesteding van productie

Stappen om EduVPN te activeren:

DE IDENTITEITSKAART EN MOZILLA EN NETSCAPE

eid middleware v2.4 en 2.5 voor Windows

eid in de zorg van concept tot gebruik

Zelftest Programmeren in Java

HowTo => OpenBSD => Secure Remote Access

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

RIZIV INAMI. eid Gebruikersgids voor Mac

Trust & Identity Innovatie

eid middleware v2.6 voor GNU/Linux

Smart cards en EMV. Joeri de Ruiter. Digital Security, Radboud University Nijmegen

HANDLEIDING Keystore Explorer

Toelichting op SDK. Versie 2.0. Datum 11 november 2010 Status definitief

Nationale Bank van België Certificate Practice Statement For External Counterparties 1

Internet-authenticatie management (A-select) Erik Flikkenschild

VERVANGING VAN DE VERTROUWENSKETEN VAN DE CERTIFICATEN VAN DE REGISTRATIEAUTORITEIT

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

DE IDENTITEITSKAART EN INTERNET EXPLORER

De elektronische identiteitskaart

Authentificatie = Proces om een beweerde identiteit te verifiëren

Flexibele oplossing om de eid kaart aan te spreken vanuit.net (en Delphi, Visual Basic, C++ etc)

CHECKLIST: EEN OFFERTE ONDERTEKENEN MET DE SR-DST SOFTWARE

Technical Note #047 Auteur:Mark Vork Gemaakt op:14 februari 2003 Gewijzigd op:9 februari 2004

RIZIV INAMI. eid Gebruikersgids voor PC

DmfAPPL - web Handleiding. Hoe het certificaat installeren? Version 4.0 Januari 2008 Bucom

Mijn HVW-dossier. Veel voorkomende vragen en problemen

ASRemote WebService. Via deze webservice kunt u:

Installatiehandleiding. ixperion Word Import. voor Windows 2008 R2 64bit. Smartsite ixperion WordImport Implementatie. Copyright

Security web services

SURFFEDERATIE HANDLEIDING AD FS 2.0

Transport Layer Security. Presentatie Security Tom Rijnbeek

Overheidsservicebus met volledige Digikoppeling connectiviteit. Foutberichten en foutafhandeling

Tokenauthenticatie & XML Signature in detail

eid Routeringsvoorziening OpenID Connect

Smart-VPN app voor ios

SOA Security. en de rol van de auditor... ISACA Roundtable 2 juni Arthur Donkers, 1Secure BV arthur@1secure.nl

Insecurities within automatic update systems

Standard Parts Installatie Solid Edge ST3

Web of trust. De software

1 Algemene vragen PDF en PadES Archivering Visualisatie Signing DSS als dienst... 7

Handleiding Installatie ADS

Katholieke Hogeschool Kempen ASP

Single Sign-On in ZIVVER met Okta

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

VoipCenter Application Programming Interface (API)

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

1. Wat heb je nodig? Hoe werkt het? Multifactor authenticatie Verbinding maken... 2

Federaal e-government in België

GEBRUIKERSHANDLEIDING. Het handtekeningbestand (FS) aanmaken op basis van de elektronische identiteitskaart met behulp van Cryptonit.

Het UZI-register. Eerste hulp bij veilige elektronische communicatie in de zorgsector. Renate de Rijk projectleider implementatie 8 december 2005

General info on using shopping carts with Ingenico epayments

owncloud centraliseren, synchroniseren & delen van bestanden

Beknopte dienstbeschrijving beveiligen van Webapplicaties m.b.v. digitale certificaten en PKI

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Beveiligen van PDF documenten (deel 1)

VPN Remote Dial In User. Windows VPN Client

Kleine cursus PHP5. Auteur: Raymond Moesker

update windows (min versie 5.5 van internetexplorer) update office

SafeSign Identity Client. UZI snelstart gids.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Ingebouwde klassen & methodes

Elektronisch ondertekenen PDF aanvraagformulier Beroepsgebonden certificaten met Adobe Reader

The OSI Reference Model

APEX en JasperReports

Self-Service Portal Registeren, downloaden & activeren van een soft token

Zelftest Java concepten

RDW RDW CPS. RDW Certification Practice Statement RDW. Europaweg ER ZOETERMEER Postbus AT ZOETERMEER

Elektronisch Gegevensbeheer

Kennisnet Federatie Handleiding ADFS 2.0

1) Domeinconfiguratie van Windows 9x clients & Windows Millennium

Third party mededeling

Praktijkcasus Identity management. Bert Dondertman 14 september 2010

Handleiding Ondertekenen

Public Key Infrastructure PKI door de ogen van een auditor

Transcriptie:

The Hitchhiker s Guide voor de e-id Peter Strickx E-Idea 2008 13/11/2008 Gent

e-id als bouwsteen 2

eid - Introductie Een nieuwe identiteitskaart met het formaat van een bankkaart en een krachtige chip.

eid Partners 4

Doelstelling eid project Proof of identity > Een elektronische identiteitskaart aan de Belgische burgers geven waarmee ze kunnen zich authenticeren tegenover diverse toepassingen en digitale handtekeningen kunnen plaatsen Signature tool 5

eid Informatie Visuele identificatie van de eigenaar > Vanuit een visueel oogpunt zal dezelfde informatie zichtbaar zijn als op de huidige identiteitskaart : naam eerste 2 voornamen eerste letter derde voornaam de nationaliteit geboorteplaats en -datum geslacht uitreikingsplaats begin- en einddatum van de geldigheid kaartnummer foto van de eigenaar handtekening van de eigenaar Rijksregisternummer 6

eid Informatie Elektronische identificatie van de eigenaar > Vanuit een elektronisch oogpunt bevat de chip dezelfde informatie die gedrukt staat op de kaart aangevuld met : adres identiteits- en handtekeningsleutels identiteits- en handtekeningcertificaat Certificate Service Provider beveiligingsinformatie (chipnummer, handtekening van identiteitsgegevens etc...) > (Momenteel) geen encryptiecertificaat > (Nog) geen biometrische data > Geen elektronische gelddrager (proton) > Geen opslag andere data 7

eid chip eid, Welcome to the e-world!

Inhoud van de chip PKI Citizen Identity Data Authentication ID ID ADDRESS ADDRESS Digital Signature RRN RRN SIGNATURE SIGNATURE RRN RRN SIGNATURE SIGNATURE RRN, Root CA, CA, RRN = National Register RRN issues a signature on the citizen s picture, identity and address files 9

Technische PKI-specificaties Citizen CA Belgium Root CA Citizen CA > Sleutels en certificaten private en publieke sleutel CA : 2048 bits private en publieke sleutel burger: 1024 bits Handtekening via RSA met SHA-1 alle certificaten zijn conform X.509 v3 Auth Sign Crypt 10

Burger certificaten Citizen Qualified certificate (~1000 bytes) Version: 3 (0x2) Serial Number: 10:00:00:00:00:00:8d:8a:fa:33:d3:08:f1:7a:35:b2 Signature Algorithm: sha1withrsaencryption (1024 bit) Issuer: C=BE, CN=Citizen CA Not valid before: Nov 12 22:41:00 2003 GMT Not valid after: Nov 12 22:41:00 2008 GMT Subject: C=BE, CN=Sophie Dupont (Signature), SN=Dupont, GN=Sophie Nicole/serialNumber=60021404665 Subject Public Key Info: RSA Public Key: [Modulus (1024 bit): 4b:e5:7e:6e: :86:17, Exponent: 65537 (0x10001)] X509v3 extensions: Certificate Policies: Policy: 2.16.56.1.1.1.2.1 CPS: http://repository.eid.belgium.be Key Usage: critical, Non Repudiation Authority Key Identifier: [D1:13: :7F:AF:10] CRL Distribution Points: URI:http://crl.eid.belgium.be/eidc0002.crl Netscape Cert Type: S/MIME Authority Information Access: CA Issuers - URI:http://certs.eid.belgium.be/belgiumrs.crt OCSP - URI:http://ocsp.eid.belgium.be Qualified certificate statements: [00...F..] Signature: [74:ae:10: :e0:91] Belgium Root CA Citizen CA Gov CA Citizen Authentication certificate (~980 bytes) Version: 3 (0x2) Serial Number: 10:00:00:00:00:00:0a:5d:9a:91:b1:21:dd:00:a2:7a Signature Algorithm: sha1withrsaencryption (1024 bit) Issuer: C=BE, CN=Citizen CA Not valid before: Nov 12 22:40:52 2003 GMT Not valid after: Nov 12 22:40:52 2008 GMT Subject: C=BE, CN=Sophie Dupont (Authentication), SN=Dupont, GN=Sophie Nicole/serialNumber=60021404665 Subject Public Key Info: RSA Public Key: [Modulus (1024 bit): cf:ca:7a:77: :5c:c5, Exponent: 65537 (0x10001)] X509v3 extensions: Certificate Policies: Policy: 2.16.56.1.1.1.2.2 CPS: http://repository.eid.belgium.be Key Usage: critical, Digital Signature Authority Key Identifier: [D1:13: 7F:AF:10] CRL Distribution Points: URI:http://crl.eid.belgium.be/eidc0002.crl Netscape Cert Type: SSL Client, S/MIME Authority Information Access: CA Issuers - URI:http://certs.eid.belgium.be/belgiumrs.crt OCSP - URI:http://ocsp.eid.belgium.be Signature: [10:ac:04: :e9:04] serialnumber refers to Sophie Dupont s national number. She was born on Valentine s day, 1960 11

Software interfaces Windows Applics (Outlook/IE) MacOS Applics (Safari/Mail) Generic Applics (Windows/Mac//Linux) MS-CSP (Microsoft interface) Tokend (MacOS X interface) PKCS#11 (Certificate & Keys Management) PIN (pin logic library) PC/SC (Generic SC ReaderInterface) Driver (Specific SC Reader Interface) I/O e-id Middleware Native OS 12

eid Functionaliteiten data capture authenticatie elektronische handtekening 13

eid Functionaliteiten DEMO data capture authenticatie elektronische handtekening 14

Data capture eid als middel om op een efficiente manier identiteitsgegevens te transfereren tijdsrovend inefficient foutgevoelig snel efficient exacte copie 15

Data capture 16

Data capture > Applet > SDK Java Library > Java Smart Card I/O API APDU interface 17

Data capture (SDK) package be.fedict.eid.sample; import be.belgium.eid.beid_eidcard; import be.belgium.eid.beid_eid; import be.belgium.eid.beid_readercontext; import be.belgium.eid.beid_readerset; public class BeIDLibSample { public static void main(string[] args) throws Exception { System.load("/usr/local/lib/libbeidlibJava_Wrapper.so"); try { BEID_ReaderSet readerset = BEID_ReaderSet.instance(); BEID_ReaderContext readercontext = readerset.getreader(); BEID_EIDCard eidcard = readercontext.geteidcard(); eidcard.setallowtestcard(true); BEID_EId eid = eidcard.getid(); String firstname = eid.getfirstname(); System.out.println("first name: " + firstname); } finally { BEID_ReaderSet.releaseSDK(); } } } 18

Data capture (APDU) CardTerminals cardterminals = factory.terminals(); CardTerminal cardterminal = cardterminals.list().get(0); Card card = cardterminal.connect("t=0"); CardChannel cardchannel = card.getbasicchannel(); // select identity file via APDU CommandAPDU selectfileapdu = new CommandAPDU(0x00, 0xA4, 0x08, 0x0C, IDENTITY_FILE_AID); cardchannel.transmit(selectfileapdu); // read the file content via APDU's int offset = 0; byte[] file = new byte[4096]; byte[] data; do { CommandAPDU readbinaryapdu = new CommandAPDU(0x00, 0xB0,offset >> 8, offset & 0xFF, 0xFF); ResponseAPDU responseapdu = cardchannel.transmit(readbinaryapdu); data = responseapdu.getdata(); System.arraycopy(data, 0, file, offset, data.length); offset += data.length; } while (0xFF == data.length); card.disconnect(false); 19

Data capture > Voordelen data capture via APDU interface > GEEN middleware nodig > snelheid > perfecte integratie (error handling, eid kaart status) met toepassing > Nadelen data capture via APDU interface > Java 6 installatie op client > geen privacy pop-up (bypass middleware) > sterke afhankelijkheid data layout eid 20

eid Functionaliteiten data capture authenticatie elektronische handtekening DEMO 21

Authenticatie eid als middel van een sterke elektronische authenticatie physical world on-line world Hi Jan! Hi Peter! 22

Authenticatie Published in The New Yorker July 5, 1993 23

Authenticatie > client-side SSL > JCA/JCE SunPKCS11 security provider > PKCS11-wrapper > Java Smart Card I/O API APDU Interface > Identity Provider Service (SAML) 24

https://mijndossier.rrn.fgov.be 25

https://mijndossier.rrn.fgov.be 26

https://mijndossier.rrn.fgov.be 27

https://mijndossier.rrn.fgov.be 28

Authenticatie (SSL) SSL Web Server Browser Client (1) Validate Server (2) Certificate (3) Challenge to verify Client Identity (6) Decrypt Challenge with Public Key from Authentication Certificate User Identity (4) Encrypt Challenge with eid Private Key (5) Encrypted Challenge with eid Authentication certificate (7) If/When Challenge match access granted 29

Authenticatie (SSL) > Voordelen authenticatie via client-side SSL > eenvoudig op te zetten (config. webserver) > Nadelen authenticatie via client-side SSL > error handling op protocol niveau NIET op applicatie (vb ssl_error_handshake_failure_alert) > authenticatie van machine NIET van user (privacy conflict) > SSL session renewal (kaart blijft in kaartlezer niet nodig voor authenticatie PIN caching?!) 30

Authenticatie (PKCS11) public class JcePkcs11Sample { public static void main(string[] args) throws IOException,KeyStoreException, NoSuchAlgorithmException, CertificateException, UnrecoverableEntryException, InvalidKeyException, SignatureException { // setup configuration file File tmpconfigfile = File.createTempFile("pkcs11-", "conf"); tmpconfigfile.deleteonexit(); PrintWriter configwriter = new PrintWriter(new FileOutputStream( tmpconfigfile), true); configwriter.println("name=smartcard"); configwriter.println("library=/usr/local/lib/libbeidpkcs11.so"); // load security provider SunPKCS11 pkcs11provider = new SunPKCS11(tmpConfigFile.getAbsolutePath()); Security.addProvider(pkcs11Provider); // load key material KeyStore keystore = KeyStore.getInstance("PKCS11", pkcs11provider); keystore.load(null, null); PrivateKeyEntry privatekeyentry = (PrivateKeyEntry) keystore.getentry("authentication", null); PrivateKey privatekey = privatekeyentry.getprivatekey(); X509Certificate certificate = (X509Certificate) privatekeyentry.getcertificate(); byte[] document = "document to be signed".getbytes(); 31

Authenticatie (PKCS11) // create signature Signature signature = Signature.getInstance("SHA1withRSA"); signature.initsign(privatekey); signature.update(document); byte[] signaturevalue = signature.sign(); // verify signature signature = Signature.getInstance("SHA1withRSA"); signature.initverify(certificate.getpublickey()); signature.update(document); boolean result = signature.verify(signaturevalue); if (false == result) { throw new RuntimeException("Invalid Signature"); } System.out.println("signature OK"); } } 32

Authenticatie (PKCS11) > Voordelen authenticatie via PKCS11 (JCA) > goede integratie met XML security API > Nadelen authenticatie via PKCS11 (JCA) > remote via JCA is moeilijk > geen interactiviteit mbt. Kaart status 33

Authenticatie (Identity Provider) Internet 1) Request eportal User External Firewall 2) Redirect to eportal Login page 5.2) Redirect with SAML Response External Firewall Web Server External Portal 5.1) Redirect with SAML Response (Posting with JavaScript) Application Server 6) Session Creation 3) Login in eportal Authentication page 4.1) Checking Credetials 4.2) Checking Credetials Web Server Federal eportal Application Server LDAP 34

eid Functionaliteiten data capture authenticatie elektronische handtekening 35

Elektronische handtekening eid als middel om elektronische documenten rechtsgeldig te ondertekenen 36

Elektronische handtekening 1. Compose message 3. Generate signature 5. Collect certificate 2. Compute hash 4. Collect signature 6. Send message 1 Alice 6 1 7 Alice 6 hash 3 2 hash 5 4 CRL 3, 4 Alice 2 5 8 Alice Bob Matching triplet? 1. Receive message 3. Check CRL/OCSP 5. Fetch public key 7. Compute reference hash 2. Inspect certificate 4. Check certificate 6. Fetch signature 8. Hash, signature, public key match? 37

38 Demo Demo

39 Demo Demo

40 Demo Demo

Elektronische handtekening > XML > XML Dsig > XAdES > PDF > What-you-see-is-what-you-sign > eenvoudig te gebruiken > Adobe lock-in risico > enkel PDF > niet aanbevolen door EC 41

eid - Toepassingen The Sky is the Limit

Wat kan je al doen met de eid? Federale Overheid - Tax-on-Web - Mijn Dossier (https://mijndossier.rrn.fgov.be) - Dimona - WebDIV (nummerplaat) - SSL VPN (Teleworking) - e-politie (e-loket voor registratie kleine criminaliteit) 43

Wat kan je al doen met de eid? Locale Overheden - www.bornem.be - www.diepenbeek.be 44

Wat kan je al doen met de eid? Gemeentelijke toepassingen : huwelijk huis kinderen school bibliotheek zwembad container park 45

Wat kan je al doen met de eid? 46

47

Wat kan je al doen met de eid? 48

eid Visie - Uiteindelijk doel : dagelijks gebruik van de eid - Federale ondersteuning : labeling toolkits card readers 49

50

e-id Vision 51

52

53

54

55

Toekomst eid Korte termijn : 2 verschillende PIN-codes voor authenticatie en digitale handtekening integratie nieuwe RSA-algoritmes internationale data formattering geavanceerde status check structuur voor het gebruik van de vrije ruimte op de chip Lange termijn : biometrie? integratie van de SIS kaart digitaal rijbewijs 56

eid : the sky is the limit! driver s licence healthcare student cards, e- learning, home banking, online opening of accounts, proof of membership SSO, e-commerce 57

e-id verwante projecten Kids-ID (< 12 jaar) niet verplicht kan dienen als reisdocument Totaal: 1,3 miljoen kaarten 300.000 kaarten/jaar Nood-oproepsysteem Vreemdelingenkaart zowel EU als niet-eu vervangt witte/gele/blauwe kaart pilootfase: Ukkel, Antwerpen, Tubeke Totaal: 1 miljoen kaarten 58

Meer informatie? > www.eid.belgium.be 59

Q&A 60

Th@nk you! Rue Marie-Thérèse 1/3 Maria-Theresiastraat 1/3 Bruxelles 1000 Brussel Tel. +32 2 212 96 00 Fax +32 2 212 96 99 info@fedict.be www.belgium.be/fedict