SMART KARTY V LINUXU A PROČ BY VÁS MĚLY ZAJÍMAT JAKUB JELEN, RED HAT

Podobné dokumenty
Programové vybavení OKsmart pro využití čipových karet

INSTALACE SW PROID+ V OS LINUX

Testovací protokol USB Token Cryptomate

Bezpečná autentizace nezaměnitelný základ ochrany

BEZPEČNOST SLUŽEB NA INTERNETU

Testovací protokol čipová karta ACOS5

OKsmart a správa karet v systému OKbase

Triky s OpenSSH. 4. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Použití čipových karet v IT úřadu

TECHNICKÉ PODMÍNKY. Tyto podmínky stanoví technické požadavky pro poskytování vybraných Bankovních služeb. Vaše případné dotazy rádi zodpovíme.

SIM karty a bezpečnost v mobilních sítích

Technické podmínky pro uživatele služeb přímého bankovnictví

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

2 Popis softwaru Administrative Management Center

Úložiště certifikátů pro vzdálené podepisování

Testovací protokol USB token etoken PRO 32K

Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze. Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze. Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze

Důvěřujte JEN PROVĚŘENÝM Personal Identity Verification

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

Technické podmínky I. Služby: II. Technické podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a Expresní linka Plus

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a TF OnLine

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a TF OnLine

Zavádění PKI infrastruktury v organizaci - procesní aspekty. Vlastimil Červený, Kateřina Minaříková Deloitte Advisory, s.r.o.

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

Bezpečnost internetového bankovnictví, bankomaty

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Testovací protokol čipová karta etoken PRO SmartCard 32K

Čipové karty úvod, Ing. Jiří Buček. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze

Bezpečnost v Gridech. Daniel Kouřil EGEE kurz 12. prosince Enabling Grids for E-sciencE.

SSL Secure Sockets Layer

Šifrovaný disk v Linuxu

BEZPEČNOST SLUŽEB NA INTERNETU

OpenSSL a certifikáty

NOVÉ SLUŽBY CESNET PRO eidas. Jiří Bořík CESNET. konference e-infrastruktury CESNET 2019 Praha

0x5DLaBAKx5FC517D0FEA3

CASE MOBILE MOBIL JAKO AUTENTIZAČNÍ TOKEN

Návrh změn Technických podmínek

IT Bezpečnostní technologie pro systémy integrované bezpečnosti

SSH: dálková správa serveru

Podzim Boot možnosti

Pokročilé Webové služby a Caché security. Š. Havlíček

Metody zabezpečeného přenosu souborů

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

ISSS Mgr. Pavel Hejl, CSc. T- SOFT spol. s r.o.

Rozdělení šifer Certifikáty a jejich použití Podání žádosti o certifikát. Martin Fiala digri@dik.cvut.cz

Microsoft Windows Server System

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Technologie Java. Jaroslav Žáček

Zapomeňte už na FTP a přenášejte soubory bezpečně

AUTENTIZAČNÍ SERVER CASE BEZPEČNÁ A OVĚŘENÁ IDENTITA

Testovací protokol. OpenSSL 1.0.0e. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: JSignPDF 1.1.1

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a TF OnLine

MOBILNÍ ZAŘÍZENÍ JAKO AUTENTIZAČNÍ NÁSTROJ A JEHO INTEGRACE DO SYSTÉMŮ MILAN HRDLIČKA MONET+ BŘEZEN 2015

Technická bezpečnostní opatření nejen ve smyslu ZKB. Jan Zdvořáček ASKON International s.r.o.

Bakalářská práce Šifrování a dešifrování souborů s využitím čipové karty

Generování žádostí o certifikát Uživatelská příručka pro prohlížeč Apple Safari

INSTALACE SW PROID+ V OS WINDOWS

Server. Software serveru. Služby serveru

Chyby v prohlížečích, které v nich byly klidně deset let. Jiří Nápravník

Technické podmínky Služby: II. Technické podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a Expresní linka Plus Zpracovávané objemy dat

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Správa přístupu PS3-1

Doporučené nastavení prohlížeče Mozilla Firefox 3.6 pro Max Homebanking PS s využitím čipové karty

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba, Expresní linka Plus a TF OnLine

Testovací protokol. webový generátor I.CA. Windows XP Windows Vista Windows 7 Internet Explorer Mozilla Firefox Google Chrome Apple Safari Opera

Stavba operačního systému

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Manuál uživatele čipové karty s certifikátem

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2

VirtualBox desktopová virtualizace. Zdeněk Merta

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Přihlášení do VPN Univerzity Pardubice Debian GNU/Linux Lenny 32/64-bit

D7 Uživatelský manuál Konfigurace klientských stanic

Desktop systémy Microsoft Windows

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

I.CA RemoteSeal. Ing. Filip Michl První certifikační autorita, a.s

Knot DNS Knot Resolver

Radek Krej í. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2

Certifikační autorita EET Modelové postupy vytvoření souboru žádosti o certifikát

Digitální identita. zlý pán nebo dobrý sluha? Martin Jelínek, ASKON INTERNATIONAL s.r.o.

Generování žádosti o certifikát Uživatelská příručka pro prohlížeč Opera

ČTEČKA KARET S KOMUNIKAČNÍM ROZHRANÍM USB OMNIKEY 3021

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

Hybridní čipové karty

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Bezpečnost elektronických platebních systémů

Zajímavé funkce OpenSSH

TECHNICKÉ PODMÍNKY. MS Internet Explorer 8.0 MS Internet Explorer 9.0

C2115 Praktický úvod do superpočítání

Bezpečnost platebních systémů založených na čipových kartách. Martin Henzl Vysoké učení technické v Brně

Mobilní komunikace a bezpečnost. Edward Plch, System4u

Identifikace a autentizace

Michaela Sluková, Lenka Ščepánková

Transkript:

SMART KARTY V LINUXU A PROČ BY VÁS MĚLY ZAJÍMAT JAKUB JELEN, RED HAT

AGENDA Co je to a proč? Anatomie Smart karet a software využívající je Projekt OpenSC Praktické ukázky

CO JE TO A PROČ?

SMART KARTA Plastová karta Standardní zlatý konektor Integrovaný obvod Bezpečná paměť: citlivá data Čip: Privátní klíče Certifikáty Datové položky kryptografické operace Kontrola PINu před kritickými operacemi Čtení citlivých informací Kryptografická operace

TYPY KARET SIM karty Kreditní a debetní čipové karty Občanky Estonsko Belgie Španělsko Identifikační karty vláda (PIV) armáda US (CAC)

TYPY KARET USB tokeny Yubikey Nitrokey GoldKey... Kombinace s jinou funkcionalitou U2F, OTP, OAUTH, PGP Šifrovaná USB flash pamět

ŽIVOTNÍ CYKLUS KARET Prvotní konfigurace Generování klíčů, nahrávání certifikátů, nastavení PINu Běžné použití Použití klíčů, certifikátů, změna PINu Administrativní úkony resetování zapomenutého PINu, mazání obsahu karty

VYUŽITÍ V LINUXU Nahrazení hesel, nebo privátních klíčů/certifikátů uložených jinde Autentizace k webovým službám z prohlížeče (e-government, banky) Přihlášení k lokálnímu počítači Odemčení šifrovaného disku (LUKS, dm-crypt) Autentizace k SSH serveru SSO/pkinit - mechanismus s získání kerberos ticketu Podpisy/šifrování emailů

ANATOMIE Vrstva Specifikace Nástroj/knihovna v Linuxu Aplikace Firefox, OpenSSH,... Knihovny PKCS#11, PKCS#15, PIV, GSC-IS PC/SC CCID USB Fyzická ISO/IEC 7816 NSS, engine_pkcs11+openssl OpenSC pcsc-lite pcsc-lite-ccid libusb

FYZICKÁ VRSTVA ISO/IEC 7816 Fyzické parametry kontaktu Elektrické vlastnosti Popis příkazů a výměny dat (APDU) Přístupová práva ISO standard -- uzavřené Pristupne: http://www.cardwerk.com/smartcards/smartcard_standard_iso7816-4_6_basic_interindustry_commands.aspx Popisuje také ostatní vrstvy ne vše se dnes používá: Structured Card Query Language (SCQL)

KNIHOVNY pcsc-lite CCID Open source implementace PC/SC protokolu pcscd systemovy daemon Přímo používáno OpenSC Chip card interface device Součást USB protokolu pro komunikaci se smart kartami OpenSC Ovladače pro specifické karty (desítky různých) Vystavuje PKCS#11 rozhraní pro použití v aplikacích engine_pkcs11 OpenSSL nepodporuje PKCS#11

PKCS#11 cryptographic token interface Vysokoúrovňové API pro HSM a Smart karty Modul je sdílený objekt (*.so) poskytující C API Definuje Vývoj: Kryptografické objekty (RSA klíče,...) Operace pro použití, generování RSA Security (1994) OASIS (od 2013), otevřené standardy

OPENSC

PROJEKT OPENSC vznik 2001, Finsko Podpora většiny dnešních karet: PIV - US vláda CAC - US armáda Atos CardOS (PKCS#15) myeid Coolkey (RHCS)... Multiplatformní Linux, Windows, macos implementace PKCS#11 API pro ostatní aplikace PKCS#15 jako nižší vrstva (kde chybí, emulováno)

MOJE ROLE Implementace, podpora a testování karet pomocí CI: CAC - US armáda Coolkey (RHCS) Opravy a vylepšení pro ostatní karty (CardOS 5, PIV), dokumentace Funkčnost C_WaitForSlot pro interaktivní aplikace RSA-PSS podpisy

PRAKTICKÉ UKÁZKY

CERTIFIKÁT Z KARTY # Get certificate from card in DER format $ pkcs11-tool -r --id 11 --type cert \ --module /usr/lib64/opensc-pkcs11.so > cert.der # Convert to more-used PEM $ openssl x509 -inform DER -in cert.der > cert.pem # List the content of the certificate $ openssl x509 -in cert.pem -text

PODEPSAT NĚJAKÁ DATA # Sign some data using key ID=1 $ cat data pkcs11-tool --id 1 -m RSA-PKCS -p 123456 \ -s --module /usr/lib64/opensc-pkcs11.so > data.sig # Verify the signature $ openssl rsautl -verify -certin -inkey cert.pem -in data.sig

OPENSSH KLIENT # List public keys on the smart card in OpenSSH format $ ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so # Attempt to connect to server example $ ssh -I /usr/lib64/pkcs11/opensc-pkcs11.so example Enter PIN for 'PIV_II (PIV Card Holder pin)': # Store permanent configuration in client config $ cat ~/.ssh/config Host shost PKCS11Provider /usr/lib64/pkcs11/opensc-pkcs11.so

OPENSSH AGENT # Make sure the ssh-agent is running # (does not work with gnome-keyring!) $ test -e "$SSH_AUTH_SOCK" eval $(ssh-agent) # Add card to the ssh-agent $ ssh-add -s /usr/lib64/pkcs11/opensc-pkcs11.so # Connect to server example $ ssh example Jaký klíč bude použit?

OPENSSH SERVER # Start ssh-agent for server and add a card $ eval $(ssh-agent -a /root/agent.sock) $ ssh-add -s /usr/lib64/pkcs11/opensc-pkcs11.so # Configure the server with the agent connection $ sudo cat /etc/ssh/sshd_config grep -i HostKeyAgent HostKeyAgent /root/agent.sock # Start the ssh server $ sudo systemctl start sshd

SUDO (PAM_SSH_AGENT_AUTH) # Start ssh-agent for server and add a card $ eval $(ssh-agent -a /root/agent.sock) $ ssh-add -s /usr/lib64/pkcs11/opensc-pkcs11.so # Configure sudo pam stack to accept ssh-agent authenticaiton $ cat /etc/pam.d/sudo... auth sufficient pam_ssh_agent_auth.so file=/etc/security/auth # Store the public key from the card to # /etc/security/authorized_keys

FIREFOX/THUNDERBIRD Preferences -> Privacy&Security -> Security -> Security Devices...

ODEMYKANÍ ŠIFROVANÉHO DISKU Vygenerujeme náhodný symetrický klíč RANDOM_KEY=`openssl rand -base64 32` Vytvoříme LUKS key-slot s tímto klíčem cryptsetup luksaddkey /dev/sda2 <(echo "$RANDOM_KEY") Tento klíč neuložíme, ale zašifrujeme pomocí veřejného klíče z karty. Výsledek uložíme na disk Vytvoříme vlastní LUKS key-script, který dešifruje předchozí soubor pomocí privátního klíče na kartě https://gist.github.com/randomoracle/5922f0f8dc6dfe17b672 Nastavíme LUKS aby tento key-script spouštěl, když má být oddíl odemčen (/etc/crypttab): home /dev/sdb1 /crypto/fde_ciphertext.bin luks,keyscript=/crypto/unlock.sh

SMART KARTY Projekt OpenSC Bezpečné uložení a použití kryptografického materiálu Může nahradit většinu použití hesel PKCS#11 rozhraní pro vývojáře Děkuji za pozornost