Restricted Identification in OpenPACE
Paul Wilhelm wilhelm@math.hu-berlin.de
Institut f¨ur Mathematik Humboldt-Universit¨at zu Berlin
30. September 2011
Content I
1 Aufgabe
2 Restricted Identification
3 OpenPACE
4 Diffie-Hellman
5 Revocation
Aufgabe
Restricted Identification (IR) nach Technischer Richtlinie (TR) 03110 des BSI f¨ur OpenPACE zu programmieren
Restricted Identification
Voraussetzung: Karte arbeitet korrekt Sendet Kennung ¨uber sicheren Kanal
Kennung innerhalb eines Sektors zu jeder Zeit gleich (Identifikation) Kennung zuf¨allig und unterschiedlich bei verschiedenen Sektoren (Pseudonymit¨at)
Restricted Identification
Voraussetzung: Karte arbeitet korrekt Sendet Kennung ¨uber sicheren Kanal
Kennung innerhalb eines Sektors zu jeder Zeit gleich (Identifikation) Kennung zuf¨allig und unterschiedlich bei verschiedenen Sektoren (Pseudonymit¨at)
Restricted Identification
Voraussetzung: Karte arbeitet korrekt Sendet Kennung ¨uber sicheren Kanal
Kennung innerhalb eines Sektors zu jeder Zeit gleich (Identifikation) Kennung zuf¨allig und unterschiedlich bei verschiedenen Sektoren (Pseudonymit¨at)
Restricted Identification
Voraussetzung: Karte arbeitet korrekt Sendet Kennung ¨uber sicheren Kanal
Kennung innerhalb eines Sektors zu jeder Zeit gleich (Identifikation) Kennung zuf¨allig und unterschiedlich bei verschiedenen Sektoren (Pseudonymit¨at)
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
OpenPACE
Patch f¨ur OpenSSL
Programmbibliotheken f¨ur Extended Access Control (EAC):
Password Authenticated Connection Establishment (PACE) Chip Authentication (CA)
Terminal Authentication (TA) Restricted Identification (RI)
Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen
Widerrufung von Karten noch nicht implementiert
Diffie-Hellman
Alice und Bob generieren Geheimnis mit ihrem geheimen Schl¨ussel und dem ¨offentlichen Schl¨ussel des anderen.
Schl¨usselaustausch ¨uber unsicheren Kanal m¨oglich Sicherheit basiert auf Diskreten-Logarithmus-Problem
Diffie-Hellman
Alice und Bob generieren Geheimnis mit ihrem geheimen Schl¨ussel und dem ¨offentlichen Schl¨ussel des anderen.
Schl¨usselaustausch ¨uber unsicheren Kanal m¨oglich Sicherheit basiert auf Diskreten-Logarithmus-Problem
Diffie-Hellman
Alice und Bob generieren Geheimnis mit ihrem geheimen Schl¨ussel und dem ¨offentlichen Schl¨ussel des anderen.
Schl¨usselaustausch ¨uber unsicheren Kanal m¨oglich Sicherheit basiert auf Diskreten-Logarithmus-Problem
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Wie widerruft man die G¨ultigkeit einer Karte?
CVCA berechnet PKIDRev =KA(SKRev,PKID,D) DV berechnet IDIDSec =H(KA(SKSec,PKIDRev,D))
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Wie widerruft man die G¨ultigkeit einer Karte?
CVCA berechnet PKIDRev =KA(SKRev,PKID,D) DV berechnet IDIDSec =H(KA(SKSec,PKIDRev,D)) b.z.z. ISec
ID =H(KA(SKID,PKSec,D))=! H(KA(SKSec,PKRev
ID ,D))
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Wie widerruft man die G¨ultigkeit einer Karte?
CVCA berechnet PKIDRev =KA(SKRev,PKID,D) DV berechnet IDIDSec =H(KA(SKSec,PKIDRev,D)) b.z.z. ISec
ID =H(KA(SKID,PKSec,D))=! H(KA(SKSec,PKRev
ID ,D))
Revocation
Wie generiert man PKSec?
CVCA w¨ahlt SKRev und berechnet PKRev
DV w¨ahlt SKSec und berechnetPKSec =KA(SKSec,PKRev,D)
Wie widerruft man die G¨ultigkeit einer Karte?
CVCA berechnet PKIDRev =KA(SKRev,PKID,D) DV berechnet IDIDSec =H(KA(SKSec,PKIDRev,D)) b.z.z. ISec
ID =H(KA(SKID,PKSec,D))=! H(KA(SKSec,PKRev
ID ,D))