Cartão de Cidadão Portuguese Electronic

Propaganda
Cartão deCidadão
Portuguese Electronic Identity Card
(PTeID)
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
Cartão deCidadão
Cartão deidentificaçãodasdimensõesdeumcartão
decrédito
Contém váriosmétodosdefornecerinformação
identidade
◦ Informática
◦ Interação comosmartcard
◦ Visual,legível porhumanos
◦ Fotografia, números enomes
◦ Visual,legível pordispositivos
◦ MRZ(MachineReadableZone)
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
2
Atributos visuais
legíveis por humanos
Nome
◦ Sobrenome,Nomepróprio,Pais
Atributos físicos
◦ SexoeAltura
Outros
◦ Datadenascimento,nacionalidade
◦ Fotografia
◦ Assinatura caligráfica
Números
◦ NúmerodeidentificaçãoCivil(echecksum)
◦ Num:Identificação Fiscal,SistemaNacionaldeSaúde,Saúde
◦ Númerododocumentoevalidade
Versãodocartão
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
3
Atributos visuais
legíveis por dispositivos
Nome
◦ Sobrenome,Nomepróprio,Nomesadicionais
◦ Númerodenomes
Atributos Físicos
◦ Sexo
Outros
◦ Datadenascimento enacionalidade
Números
◦ Identificação Cívil (echecksum)
◦ Númerododocumento(echecksum)I<PRT000000000<<0<ZZ4<<<<<<<<2
◦ Númerodedocumentosemitidos
Validade
© André Zúquete, João Paulo Barraca
8108108F1201158PRT<<<<<<<<<<<1
AVILA<<PAULA<ANDREIA<CONCEICAO
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
4
AtributosInformáticos
Todos os anteriores,excepto assinatura caligráfica
Morada
Templatedaimpressão digitalbiométrica
2paresdechavescriptográficos(AssinaturaeAutenticação)
7certificadosdechavepública
◦ 2relativosàschavesdopróprio
◦ 5paraindicaracadeiadecertificação
1chavesecreta,simétricaparaEMV-CAP
◦ Europay,MasterCard,and VisaChipAuthentication Program
4 PINs
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
5
Atributos Visuais deSegurança
Micro Relevo
Tinta óticamente variável
Dados de Identificação
(Braille)
Padrão de fundo
Formato
MLI
Foto
(Multiple Laser Image)
Assinatura
© André Zúquete, João Paulo Barraca
Validade
DOVID
(diffractive optical variable image device)
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
6
Proteção porPIN
Possuirocartãoéinsuficientepara
◦ Obter morada
◦ Obter ou usar achave privada deautenticação
◦ Obterouusarachaveprivadadeassinatura
◦ ObterouusarachavesecretadeEMV-CAP
Operações protegidasporPIN
◦ PINde4números
◦ PINébloqueadoapós3tentativasincorretas
Excepções
◦ Forças policiais podem obter amorada sem oPIN
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
7
Certificados noSmartCard
Issuer: GTE CyberTrust Global Root
Owner: GTE CyberTrust Global Root
CA Intermédias com
duração muito limitada
Issuer: GTE CyberTrust Global Root
Owner: ECRaizEstado
Issuer: ECRaizEstado
Owner: Cartão de Cidadão 001
Issuer: Cartão de Cidadão 001
Owner: EC de Autenticação do Cartão de Cidadão 0002
Issuer: EC de Autenticação do Cartão de Cidadão 0002
Owner: Paula Andreia da Conceição Ávila
Issuer: Cartão de Cidadão 001
Owner: EC de Assinatura Digital Qualificada do Cartão de Cidadão 0002
Issuer: EC de Assinatura Digital Qualificada do Cartão de Cidadão 0002
Owner: Paula Andreia da Conceição Ávila
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
8
Certificados noSmartCard
Objectivos
Possibilita autenticar odono docartão
◦ Odonopodedistribuiroseucertificadoparaoutras
pessoas/serviçosquepassarapoderverificarasuaidentidade
Possibilitaodonoautenticaroutraspessoascomcartões
semelhantes
◦ Cadeiadecertificaçãopresentenocartão
Possibilita ocartão autenticarclientescomcertificados
semelhantes
◦ Algumasoperaçõespodemserpedidasaocartãocomcertificados
“especiais”queocartãovalida
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
9
Certificados noSmartCard:
Interoperação comoutrasaplicações
Aplicações dewatchdog detetam inserção eremoção
Inserção
◦ Aplicaçõesobtêmcertificadoseinserem-nosnosrepositórios
dosnavegadores
◦ UtilizaçãodaschavesrespetivasécondicionadapelosPIN
Remoção
◦ Aplicaçõesremovemcertificadosdosrepositóriosdos
navegadores
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
10
Smartcards:
Definição
Cartão comcapacidadesdecomputação
◦ CPU
◦ ROM
◦ EEPROM
◦ RAM
Chip card
Memory card
Interface
◦ Comcontactos
◦ Sem contactos (Contactless)
© André Zúquete, João Paulo Barraca
Smart card
(w/ µprocessor)
Chip card
Contact
Contactless
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
11
Smartcard:
Componentes
CPU
◦ 8/16bit
◦ Crypto-coprocessor(opt.)
◦ Dadostemporários
◦ Apagados quando cartão édesligado
Contactos Mecânicos
ROM
◦ SistemaOperativo
◦ Comunicação
◦ Algoritmos criptográficos
EEPROM
◦ SistemadeFicheiros
◦ Programas /applicações
◦ Chaves/passwords
© André Zúquete, João Paulo Barraca
RAM
◦ ISO7816-2
◦
◦
◦
◦
Power
Softreset
Clock
HalfduplexI/O
Segurança Física
◦ Resistente aacessos físicos diretos
◦ Resistante aataques por canais
paralelos
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
12
Aplicações emSmartCards:
Pilha protocolar decomunicação
Aplicação fora do Cartão
Aplicação no Cartão
APDU
(Application Protocol Data Unit)
APDU
(Application Protocol Data Unit)
T=0 / T=1
T=0 / T=1
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
13
AplicaçõesemSmartCards:
AplicaçõesnoCartãodeCidadão
IAS
◦ Autenticaçãoeassinaturadigital
◦ Utilizaçãodeparesdechavesassimétricas
EMV-CAP
◦ Geraçãodeone-time-passwordsparacanaisalternativos
(telefone,Fax,etc..)
Match-on-Card
◦ Validaçãodeimpressõesdigitais
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
14
Interação comoSmartcard:
APDU(ISO7816-4)
header
body
CLA INS P1 P2 Lc Optional data Le
APDUdeComando
◦ CLA(1octeto)
body
trailer
Optional data SW1SW2
APDUdeResposta
◦ SW1e SW2(2octetos)
◦ Octeto deestado
◦ 0x9000significa SUCESSO
◦ Classe dainstrução
◦ INS(1octeto)
◦ Comando
◦ P1e P2(2octetos)
◦ Parâmetros específicosdocomando
◦ Lc
◦ Comprimento dosdadosopcionais
◦ Le
◦ Comprimento dosdadosesperados na resposta
◦ Zero(0)significa todos os dadosdisponíveis
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
15
Interação comoSmartcard:
Protoclos debaixo-nível T=0eT=1
T=0
◦ Enviadoumoctetodecadavez
◦ Maislento
T=1
◦ Octetostransmitidosemblocos
◦ Maisrápido
ATR(ISO7816-3)
◦ RespostaàoperaçãodeRESET
◦ Reportaoprotocoloesperadopelocartão
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
16
Codificação deobjetos nos smartcards:
TLVeASN.1BER
Tag-Length-Value(TLV)
◦ Tag:Tipodeobjeto
◦ Length:Tamanhodoobjeto
◦ Value:Dadosdoobjeto
CadaTLVécodificadoatravésdasregrasASN.1BER
◦ AbstractSyntaxNotation, BasicEncoding Rules
DadosdeumobjetopodemconteroutrosTLV
◦ Estruturarecursiva
Permiteignorarobjetosdesconhecidos
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
17
Modelo decomputação doSmartcard
Cartões Java
Smartcardsexecutam AppletsJava
◦ Utilizam oJCRE
◦ OJCREexecuta notopodoSOnativo
JCRE(JavaCardRuntimeEnvironment)
◦ JavaVirtualMachine
◦ CardExecutive
APDU
◦ Gestão doCartão
◦ Comunicações
◦ JavaCardFramework
Card
Executive
Java
Card
Framework
Java Virtual Machine (JVM)
◦ Bibliotecas defunções
© André Zúquete, João Paulo Barraca
Applet
Applet
Applet
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
Native OS
18
Serviços criptográficos doSmartcard:
Middleware
Bibliotecas que servem deponte entreasfuncionalidades
doSmartCard easaplicações demaisaltonível
Baseado em soluções normalizadas:
◦ PKCS#11
◦ CryptographicTokenInterfaceStandard(cryptoki)
◦ Definido pela RSASecurity Inc.
◦ PKCS#15
◦ CryptographicTokenInformationFormatStandard
◦ Definidopela RSASecurityInc.
◦ CAPICSP
◦ CryptoAPICryptographicService Provider
◦ Definido pela Microsoftparasistemas Windows
◦ PC/SC
◦ Personalcomputer/SmartCard
◦ Plataforma paraacesso asmartcardsem WindowseLinux
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
19
PKCS#11:
Integração doMiddleware Cryptoki
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
20
PKCS#11:
Hierarchia deobjetos doCryptoki
Objeto
Dados
Chave
Chave Pública
Chave Private
Chave Secreta
Certificado
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
21
PKCS#11
SessõesdoCryptoki
Ligaçõeslógicasentreaplicaçõesecartões(tokens)
◦ Sessõesdeleitura
◦ Sessõesdeleituraeescrita
Operaçõesemsessõesativas
◦ Administrativas
◦ Login/logout
◦ Gestãodeobjetos
◦ Criar oudestruirumobjetonocartão
◦ Criptográficas
Objetosdesessão
◦ Objetostemporárioscriado(eválidos)duranteasessão
Tempodevidadassessões
◦ Normalmenteapenasparaumaúnicaoperação
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
22
PKCS#11:
Cryptoki Sessões deLeitura
Sessão públicadeLeitura
◦ Acesso deleitura aos objetos públicos
◦ Acessodeleitura/escrita aosobjetosdesessãopúblicos
Funções deleituradoutilizador
◦ Acesso deleitura atodos os objetos docartão (públicos ou privados)
◦ Acesso deleitura/escrita atodos os objetos desessão (públicos ou privados)
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
23
PKCS#11:
CryptokiSessõesdeleituraeescrita
SessãopúblicaeLeituraeEscrita
◦ Lereescrevertodos osobjetos
públicos
FunçõesdoSOdeLeituraeEscrita
◦ Ler/escreverobjetos públicos
◦ Nãoosobjetos privados
◦ OSOpode definir oPINdos
utilizadores
◦ SO=SecurityOfficer
FunçõesdoutilizadordeLeiturae
Escrita
◦ Lereescrevertodos osobjetos
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
24
PKCS#11:
ConceitosutilizadospeloCC
PINdeAutenticação
◦ PINdoutilizadornoPKCS#11
PINdeAssinatura
◦ NãoexpostopelointerfacePKCS#11
PINdeMorada
◦ Nãoexposto pelointerfacePKCS#11
PKCS#11SOPIN
◦ Notusedbyowners
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
25
CartãodeCidadão:
Middleware PTEIDparaWindows
Aplicações
Microsoft
Outras aplicações
CryptoAPI (CAPI)
Cryptographic
Service
Provider (CSP)
PKCS #11
PC/SC
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
26
CartãodeCidadão:
Middleware PTEIDparaUnix
libpteid
libpteidpkcs11
libpteidlibopensc
libQtCore
© André Zúquete, João Paulo Barraca
libcrypto
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
libpcsclite
27
CartãodeCidadão:
PTEIDmiddleware&SDK
Distribuiçãopública
◦ Windows
◦ MACOSXYosemite
◦ Linux
◦ CaixaMágica,Fedora,OpenSuse,RedHat,Ubuntu
Linguagens
◦ BibliotecasdinâmicasparaC/C++
◦ WrapperJava(JNI)paraasbibliotecasC/C++
◦ WrapperC#.NETparaasbibliotecasC/C++
Manuais
◦
◦
◦
◦
◦
ValidaçãodeNúmerodeDocumentodoCartãodeCidadão
AutenticaçãocomCartãodeCidadão
ManualTécnicodoMiddlewaredoCartãodeCidadão
CertificadoseEntidadesdeCertificação
Outros
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
28
CartãodeCidadão:
ServiçosdaPKI
CertificadosEmitidos
◦ LDAPeWeb
Certificadosrevogados
◦ OCSP,delta-CRLeserviçosCRL
© André Zúquete, João Paulo Barraca
SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES
29
Download