Segurança e Criptografia

Slides:



Advertisements
Apresentações semelhantes
Criptografia Assimétrica
Advertisements

Rodrigo Aldegheri Thais Rachel Thiago Felix Thomas Holland Engenharia de Computação - PUC-CAMPINAS 1.
Sistemas de Informação Redes de Computadores
Segurança em Redes - Código Seguro
Curso Técnico de Informática
Conceituação de Assinatura e Certificação Digital
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Equipe: Cassiano C. Casagrande Rodrigo Pereira
Criptografia e Segurança em Redes Capítulo 15
Criptografia e segurança de redes Chapter 14
Criptografia e segurança de redes Capítulo 17
SSL (Secure Sockets Layer) SET (Secure Eletronic Transactions)
Segurança de Sistemas e Redes
Segurança em Redes Sem Fio
Sistemas Distribuídos
Fundamentos de Segurança da Informação
Segurança nas Redes Visão Geral
Autenticação de Mensagens
Função Hash e Autenticação em Redes de Computadores
Jéssica Vieira Jonathan Fried Públio Lima Graduandos Engenharia de Controle e Automação UFRJ – Escola Politécnica.
Criptografia & Hashing no PHP
Interface Básica para um Servidor Universal
Padrão de Segurança de Rede Sem Fio
Hash HTTPS SSL Certificados.
Segurança em Redes Sem fio
DigiSign A solução mais segura para proteção de direitos autorais digitais na publicação e distribuição de e-books.
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
DigiSign A solução mais segura para proteção de direitos autorais digitais na publicação e distribuição de e-books.
Seminário de Informática Teórica Henrique Borges Alencar Siqueira.
Linhas de Pesquisa FRAMESEC
Confidencialidade usando Criptografia Simétrica
Segurança Ênfase em Comércio Eletrônico. Objetivo Apresentar os principais conceitos envolvendo criptografia,Assinatura digital e Certificação digital.
Assinaturas digitais.
Segurança & Auditoria de Sistemas AULA 07 Eduardo Silvestri
Segurança e Auditoria de Sistemas
Exercício 3 Função de hash Assinatura digital
Sistemas Seguros Criptografia Simétrica e Assimétrica
Assinatura Digital kryptós + gráphein Thiago Castelló Fonseca Verônica Taquette Vaz Redes de Computadores I Prof. Otto Carlos Muniz Bandeira Duarte.
Exercícios IPsec e LDAP
Controle de Acesso Kerberos
PGP – Pretty Good Privacy Privacidade Bastante Boa
Módulo 3 Implantação do IPv6.
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
Seminário Criptografia
Tópicos Avançados em Redes de Computadores
Exercício 2 Função resumo (hash) Assinatura digital
WSJET são serviços que ficam disponíveis na Internet para os clientes autorizados pela Jet Tecnologia, ou seja, são Web Services. Os Web Services são.
Apache Autenticação por usuário e senha. Introdução O princípio da autenticação é simples. O cliente envia o seu login e sua senha para o servidor Apache.
Autenticação de Mensagens
Projeto de Banco de Dados Prof.Ms.Rodrigo Luiz Comitante Leão.
S/MIME – Secure/Multipurpose Internet Mail Extension Verônica Taquette Vaz.
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 03 Prof. André Lucio.
Segurança & Auditoria de Sistemas AULA 08 Eduardo Silvestri
Ultimos recursos Jobson Ronan
Execícios de Revisão Redes de Computadores Edgard Jamhour
3. Criptografia Assimétrica
SRC Prof. Luciano Brandão 5° Semestre ( UFA!!!)
Criptografia Assimétrica e Autenticação de Mensagens
Segurança de Redes de Computadores
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Projeto de Criptografia Jorge Ferraz (jfof) Marcus Vinicius (mvgs)
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
2007, Edgard Jamhour Professor Edgard Jamhour Exerício PPTP.
SISTEMAS OPERACIONAIS
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Conceituação de Assinatura e Certificação Digital
Cin - UFPE. GSM (Global System for Mobile Communications) Sistema utilizado por mais de 700 milhões de pessoas.Sistema utilizado por mais de 700 milhões.
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
Segurança de Rede Prof. Sales Filho Infra-estrutura de chaves públicas.
Transcrição da apresentação:

Segurança e Criptografia

Componentes

Algoritmos de Criptografia O Palm OS Cobalt prevê suporte ao uso de diversos algoritmos de criptografia, integrados pelo Cryptographic Provider Manager (CPM)

Algoritmos de Criptografia O provider padrão, que vem com o Palm OS Cobalt, foi desenvolvido pela RSA Security e inclui um gerador de números pseudo-randômicos e suporte a RC4 de 128 bits, SHA-1 hashing e RSA public key operations Se necessário, Providers adicionais podem ser adicionados tanto estática quanto dinamicamente (DLLs assinadas) ao Cryptographic Provider Manager

Cryptographic Provider Manager (CPM) Provê uma API unificada para acesso a funções de criptografar, descriptografar, assinar e verificar assinaturas

Cryptographic Provider Manager (CPM) Seu uso é simples, abstraindo os detalhes de implementação dos algoritmos de criptografia

CPM - Funcionalidades 1. Permite ao usuário descobrir quais os Providers presentes

CPM - Funcionalidades uint32_t *providers; APProviderInfoType providerInfo; uint16_t nProviders = 0; CPMLibOpen(&nProviders); DbgPrintf("SSFD: CPMLibOpen - 0x%x providers returned\n", nProviders ); providers = MemPtrNew(sizeof(uint32_t) * nProviders ); CPMLibEnumerateProviders(providers, &nProviders ); DbgPrintf("SSFD: CPMLibEnumerateProviders - 0x%x providers returned\n", nProviders); for (i=0; i < temp; i++) { CPMLibGetProviderInfo(providers[i], &providerInfo); DbgPrintf("\t%s\n", providerInfo.name); DbgPrintf("\t%s\n", providerInfo.other); DbgPrintf("\tAlgs: %d\n",providerInfo.numAlgorithms); DbgPrintf("\tHardware?: %s\n", providerInfo.bHardware?"yes":"no"); }

CPM - Funcionalidades 2. Permite gerar chaves abstraindo o algoritmo utilizado

CPM - Funcionalidades APKeyInfoType keyInfo; uint8_t *seedData; uint32_t seedDataLength; /* KeyInfo provê as funcionalidades para as chaves do algoritmo utilizado. */ MemSet(&keyInfo, sizeof(APKeyInfoType), 0); keyInfo.type = apSymmetricTypeRijndael; keyInfo.length = 32; /* bytes */ /* Pega uma seed do gerador pseudo-randomico padrão */ GetSomeSeedData(seedData, seedDataLength); /* Gera a chave e armazena em KeyInfo */ CPMLibGenerateKey(seedData, seedDataLength, &keyInfo);

CPM - Funcionalidades 3. Permite o uso de Message Digests (hashes)

CPM - Funcionalidades status_t err; uint32_t size; uint8_t data[] = ( 'f', 'o', 'o' ); /* Aloca um buffer de 0 bytes */ uint8_t *md = NULL; size = 0; err = CPMLibHash(apHashTypeSHA1, NULL, data, sizeof(data), md, &size); /* Se o tamanho do buffer for menor que o necessário (que é o caso), o CPM modifica o valor de size para o tamanho mínimo e retorna um código de erro */ if (err == cpmErrBufTooSmall) { md = MemPtrNew(size); CPMLibHash(apHashTypeSHA1, NULL, data, sizeof(data), md, &size); }

CPM - Funcionalidades 4. Permite o uso de funções para encriptar dados a partir de uma chave gerada...

CPM - Funcionalidades status_t err; uint8_t key[] = {0x7C, 0xA1, 0x10, 0x45, 0x4A, 0x1A, 0x6E,0x57}; uint8_t plain[] = {0x01, 0xA1, 0xD6, 0xD0, 0x39, 0x77, 0x67,0x42}; uint32_t index, size; uint8_t *output = NULL; APKeyInfoType keyInfo; MemSet(&keyInfo, sizeof(APKeyInfoType), 0); keyInfo.type = apSymmetricTypeDES; CPMLibImportKeyInfo(IMPORT_EXPORT_TYPE_RAW, key, 8, &keyInfo); size = 0; err = CPMLibEncrypt(&keyInfo, NULL, plain, 8, output,&size); if (err = cpmErrBufTooSmall) { output = MemPtrNew(size); if (output != NULL) { err = CPMLibEncrypt(&keyInfo, NULL, plain, 8, output, &size); MemPtrFree(output); }

CPM - Funcionalidades 5. ...E descriptografá-los.

CPM - Funcionalidades status_t err; uint8_t key[] = {0x7C, 0xA1, 0x10, 0x45, 0x4A, 0x1A, 0x6E,0x57}; uint8_t cipher[] = {0x69, 0x0F, 0x5B, 0x0D, 0x9A, 0x26, 0x93,0x9B}; uint32_t index, size; uint8_t *output = NULL; /* Obtêm ou inicializa KeyInfo */ APKeyInfoType keyInfo; (...) size = 0; err = CPMLibDecrypt(&keyInfo, NULL, cipher, 8, output,&size); if (err = cpmErrBufTooSmall) { output = MemPtrNew(size); if (output != NULL) { err = CPMLibDecrypt(&keyInfo, NULL, cipher, 8, output, &size); MemPtrFree(output); }

Certificate Manager Armazena, importa, exporta e verifica certificados DER-encoded X.509 Por ter uma funcionalidade muito específica, normalmente é usado apenas pelas APIs de SSL e Signature Verify Library Quando necessário, utiliza as funcionalidades da Data Manager para evitar mudanças nos certificados armazenados

SSL O módulo de SSL provê suporte nativo ao protocolo de rede homônimo

Signature Verify Library Provê um módulo para aplicações acessarem assinaturas e certificados de maneira simples

Autenticação e assinaturas de sistema

Código assinado Aplicações são assinadas quando a integridade do código é uma preocupação Dependendo do dispositivo, parte do código – como um patch do sistema – deve ser assinado Além disso, base de dados seguras podem ser configuradas de maneira a permitir acesso apenas a um grupo particular de aplicações assinadas

O que pode ser assinado? Applications System patches Shared libraries System components System drivers

Para que servem assinaturas? No Palm, assinaturas normalmente indicam aprovação e compatibilidade Não indicam necessariamente o autor do código ou recurso

Authentication Manager (AM) Responsável por autenticar usuários ou aplicações Responde a questão “Você é X?” através de métodos como senhas e assinaturas de código

Authentication Manager (AM) É o AM o responsável por verificar a assinatura do código, garantindo que os patches e objetos modificáveis mais importantes do sistema tenham uma assinatura de uma autoridade conhecida

Authorization Manager (AZM)

Authorization Manager (AZM) Controla árvores baseadas em autenticações A árvore ao lado, dá autorização a uma aplicação com a assinatura “A” ou “B”

Data Manager Dá suporte a banco de dados seguros Utiliza o Authorization Manager para tratar as permissões de acesso aos dados

Banco de dados seguros Quando se cria uma base de dados segura, o acesso aos dados é dado apenas ao criador, que é o único que tem permissão de modificar as regras de controle de acesso Dessa forma, uma aplicação que crie um banco de dados seguros deve modificar as regras de controle que desejar disponibilizar para outras aplicações

Banco de dados seguros AzmRuleSetType dbRuleSet; AmTokenType usertoken; UInt32 action = dbActionRead | dbActionWrite | dbActionDelete | dbActionBackup | dbActionRestore | dbActionEditSchema; // Create DB – get AZM ruleset reference DbCreateSecureDatabase(“My DB”, ‘crea’, ‘type’, numSchemas, schemaList, &dbRuleSet, &dbID); // Set user password required for ALL actions AmGetTokenBySystemId(&usertoken, SysUserToken); AzmAddRule(dbRuleSet, action , "%t", usertoken);

Componentes

Segurança e Criptografia Dúvidas?

Dúvidas