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