Criptografia - Hebert de Oliveira Silva
Criptografia - Hebert de Oliveira Silva
Criptografia - Hebert de Oliveira Silva
Sumário
Capítulo 1
Introdução à criptografia
1 Conceitos
2 História
Considerações finais
Referências
Capítulo 2
Criptografia simétrica
1 Conceitos
2 Funcionamento
3 Principais algoritmos simétricos
4 Vantagens e desvantagens
Considerações finais
Referências
Capítulo 3
Criptografia de chave pública e privada
1 Conceitos
2 Conseguindo confidencialidade
3 Conseguindo autenticação
6 Trocando chaves
Considerações finais
Referências
Capítulo 4
Troca de chaves Diffie-Hellman
1 Conceitos
4 Confidencialidade na troca
5 Falta de autenticação
Considerações finais
Referências
Capítulo 5
Hash
1 Conceitos
2 Cálculos de hash
Considerações finais
Referências
Capítulo 6
Assinaturas digitais
1 Conceitos
2 Funcionamento
3 Vantagens e desvantagens
Considerações finais
Referências
Capítulo 7
Certificados digitais
1 Conceitos
2 Blockchain
Considerações finais
Referências
Capítulo 8
Infraestrutura dos certificados digitais
1 Conceitos
Considerações finais
Referências
Sobre o autor
Capítulo 1
Introdução à criptografia
1 Conceitos
A criptografia assumiu um papel importante na segurança da
informação, sendo aplicada aos mais diversos campos da tecnologia.
Estamos, cada vez mais, familiarizados com a utilização de senhas,
tokens, assinaturas digitais, e-CPF, e-CNPJ e assim por diante.
Quando acessamos uma página da internet, buscamos pelo cadeado
ao lado da URL da página (endereço do site) como sinal de confiança
e autenticidade, porém, sabemos o que ele significa?
2 História
Historicamente, a criptografia foi utilizada para diversas
finalidades. Os espartanos, na Grécia Antiga, utilizavam um cilindro
com diâmetro específico com um papiro ou coro cortado em tira e
enrolado ao cilindro, de forma que apenas o detentor do cilindro com
o diâmetro correto pudesse enrolar a tira de pergaminho ao cilindro
para reorganizar a mensagem (FIARRESGA, 2010). Esse método de
criptografia ficou conhecido como “cítala”, ou bastão de Licurgo.
Analogamente, a cítala espartana utiliza o método de criptografia de
transposição, pois o texto claro não é modificado, é apenas
reorganizado de acordo com o diâmetro do cilindro-chave.
Posteriormente, surgiu a Cifra de César, por volta de 100 anos
a.C., e utilizava o método de cifra de substituição. Cada letra do
alfabeto no texto original era substituída por um número definido de
letras à frente de sua sequência no alfabeto da língua em que a
mensagem era cifrada. No exemplo da figura 1, a cifra de César utiliza
a substituição por três letras à frente na sequência do alfabeto
(THAWTE, 2013). Utilizando a cifra de César, a palavra
“CRIPTOANÁLISE” seria cifrada para “FULSWRDQDOLVH”.
IMPORTANTE
O que determina a força da criptografia (o quanto a criptografia é segura)
são o tempo e o poder computacional necessário para recuperar ou decifrar
o texto claro. Uma cifra resultante de uma criptografia forte é muito difícil de
se decifrar sem a posse da chave. Nem mesmo um poder computacional
que realize bilhões de verificações por segundo seria capaz de decifrar o
resultado de uma criptografia forte (PGP, 2002).
RESULTADO → CIFRA 0 1 1 0
tem sido destinado muito mais esforço para analisar as cifras de bloco,
em geral, por elas serem adequadas a uma gama maior de aplicações do
que as cifras de fluxo. A grande maioria das aplicações de criptografia
simétrica baseadas em rede utiliza cifras de bloco (2014, p. 46).
Considerações finais
Neste capítulo, foram contextualizados os principais elementos
relacionados à criptografia. Foram discutidos os aspectos históricos
que contribuíram para a evolução dos algoritmos e apresentados os
métodos de criptografia simétricos e assimétricos. Discutimos os
tipos de processamento possíveis para a criptografia através das
cifras de bloco ou cifras de fluxo, assim como alguns exemplos
históricos de cifras de substituição e transposição. Cabe destacar a
cifra de substituição de César como a precursora do uso da
criptografia. A criptografia empregada no cenário militar também foi
discutida. Em especial, a criptografia executada por hardware através
da máquina Enigma durante a Segunda Guerra Mundial.
Referências
BARKER, Elaine; BAKER, William C. Guideline for using cryptographic
standards in the federal government: directives, mandates and
policies. Gaithersburg: National Institute of Standards and
Technology, 2016. Disponível em:
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-
175A.pdf. Acesso em: 15 jan. 2020.
REEDS, Jim. The code book: the evolution of secrecy from Mary,
Queen of Scots to Quantum Cryptography. New York: Anchor, 2000.
1 Conceitos
Compreendemos anteriormente que na criptografia simétrica é
utilizada uma única chave para criptografar (codificar) e
descriptografar (decodificar). Essa é a técnica mais antiga e mais
conhecida no campo da criptografia, sendo o único método existente
até 1970 (STALLINGS, 2014). A chave secreta pode ser qualquer tipo
de caractere (numérico ou alfabético). A mensagem original (texto
claro) é alterada pelo algoritmo de criptografia simétrico, aplicando-se
a chave secreta. Para que o processo de transmissão segura da
mensagem aconteça, o remetente e o destinatário devem conhecer a
chave secreta previamente, portanto, quem a possuir poderá
descriptografar a mensagem enviada e ler o seu conteúdo.
Os ataques cibernéticos, são cada vez mais comuns na internet. Cada vez
mais, evoluem os métodos e formatos de ataques. Acesse a cartilha de
segurança da informação do CERT.br para conhecer alguns tipos de ataques
(CARTILHA, 2010).
2 Funcionamento
A implementação dos algoritmos pode ser executada tanto por
hardware quanto por software. Algumas cifras simples, como
transposição e substituição, podem ser implementadas facilmente
por circuitos eletrônicos simples. Na figura 1, podemos verificar um
exemplo de esquema para circuito eletrônico com essa finalidade. O
modelo apresentado na figura também é conhecido como cifra de
rotação, pois, em termos práticos, executa o deslocamento de bits na
caixa P (FOROUZAN, 2008).
NA PRÁTICA
RC5: faz parte da família de cifras criadas por Ron Rivest, com
tamanhos de chaves e números de ciclos diferentes.
IMPORTANTE
Quando projetamos mecanismos de segurança para redes e/ou sistemas,
devemos observar quais os requisitos desejados de segurança, as restrições
do projeto, poder de processamento disponível e o necessário, necessidade
da utilização de rede e espaço para armazenamento. Os algoritmos
escolhidos devem ser adequados ao sistema projetado para que sejam
eficientes, evitando o desperdício de processamento.
4 Vantagens e desvantagens
Como mencionado anteriormente, a principal desvantagem da
criptografia simétrica reside na complexidade do compartilhamento
da chave secreta, porém, esse fato não é impeditivo para sua
utilização. Quando existe a necessidade da distribuição de chaves
para muitos usuários (emissores e receptores), podemos utilizar
sistemas de distribuição de chaves.
Considerações finais
Neste capítulo, foram abordados os aspectos de funcionamento
da criptografia simétrica e demonstrados os detalhes de
funcionamento dos principais algoritmos que são amplamente
utilizados em organizações, governos e empresas por todo o mundo
todos. Dois estudos práticos também foram apresentados, visando
corroborar com as afirmações teóricas a respeito das vantagens, das
desvantagens e do desempenho desses algoritmos.
Referências
BAARS, Hans et al. Fundamentos de segurança da informação: com
base na ISO 27001 e na ISO 27002. 2. ed. São Paulo: Brasport, 2015.
RFC 1851. The ESP triple DES transform. Ietf.org, set. 1995.
Disponível em: https://tools.ietf.org/html/rfc1851. Acesso em: 7 fev.
2020.
1 Conceitos
Em um sistema criptográfico assimétrico, quando o texto claro é
criptografado por uma chave pública, somente seu par de chave
privado correspondente possibilitará a execução da descriptografia.
Caso outra chave, não pertencente ao par de chaves do usuário, seja
utilizada, não será possível gerar o texto claro novamente. Essa
propriedade possibilita lidar com os problemas relacionados ao
gerenciamento da troca de chaves. Não é necessário que as chaves
secretas sejam compartilhadas entre o emissor e o receptor. Cada
um dos participantes de uma comunicação mantém sua própria
chave privada e pode compartilhar apenas sua chave pública,
dispensando canais seguros para o compartilhamento das chaves
públicas.
NA PRÁTICA
2 Conseguindo confidencialidade
Em um sistema criptográfico assimétrico, a garantia da
confidencialidade está contida na chave privada. Imagine que um
usuário “A” escreve uma mensagem em texto claro, logo, cada letra
do texto claro pode ser presentada por um conjunto X (X = [x1, x2, ...,
xn]). Os “n” elementos de X são letras em algum alfabeto finito (a, b, c,
d, e, f, ... z). A mensagem do usuário A é direcionada para o usuário B.
Para tanto, gera-se um par de chaves relacionado: uma chave pública
(PUb) e uma chave privada (PRb). A chave privada é conhecida
apenas pelo usuário B, enquanto a chave pública do usuário B (PUb)
está disponível para qualquer pessoa, inclusive ao usuário A
(STALLINGS, 2014).
3 Conseguindo autenticação
Diferentemente do modelo que garantia a confidencialidade, para
obter-se autenticação faz-se o uso de duas funções incorporadas ao
cenário anterior: Y = E (PRa, X) para X = D (PUa, Y), em que Y é o texto
cifrado e X é o texto claro. Logo, a função Y criptografará o texto claro
aplicando a chave privada do usuário A (PRa) e a função X
descriptografará o texto cifrado aplicando a chave pública do usuário
A (PUa) (STALLINGS, 2014).
5 Vantagens e desvantagens da
criptografia assimétrica
Apesar da criptografia assimétrica se mostrar mais conveniente
do que a criptografia simétrica, principalmente pelo fato de não exigir
um canal seguro para troca de chaves, ela apresenta algumas
desvantagens. Em geral, a criptografia assimétrica requer tamanhos
de chaves mais longos que a criptografia simétrica, o que contribui
para sua velocidade ser mais lenta. A complexidade do cálculo
executado na criptografia assimétrica é outro fator que aumenta seu
tempo de execução. Essa complexidade é necessária para evitar que
a chave privada seja descoberta por tentativas de adivinhação da
senha ou ataques de força bruta (HUGHES, 2020).
Outra desvantagem da criptografia assimétrica é que, para
compartilhar as chaves públicas, uma infraestrutura de chave pública
precisa ser criada e disponibilizada para que os usuários consigam
trocar mensagens criptografadas entre si. Essa estrutura de chave
pública, do inglês public key infrastructure (PKI), tem como objetivo
gerenciar as chaves públicas geradas. Com isso, é necessário que
existam autoridades de certificação, que garantam a identidade da
fonte autora de uma chave pública. As autoridades de certificação
realizam a emissão, a revogação e a validação das chaves públicas
(HUGHES, 2020).
6 Trocando chaves
A criptografia assimétrica não substitui a criptografia simétrica,
pois possui maior custo computacional e tempo mais elevado para
sua execução. Em geral, a criptografia assimétrica é utilizada para
distribuir chaves simétricas, que servirão para realizar a criptografia
das mensagens. Essa chave utilizada na comunicação também é
conhecida como chave de sessão, que é obtida quando usuários
precisam se comunicar e não possuem um canal seguro para trocar
a chave simétrica.
Considerações finais
Neste capítulo, abordamos a criptografia assimétrica, também
conhecida como criptografia de chave pública e privada. Com a
criptografia de chave pública é possível criar uma estrutura para
autenticar a fonte de uma mensagem e, também, transmitir
informações confidenciais em um meio não seguro. Destacamos as
vantagens e desvantagens da criptografia de chave pública e privada
e como podem ser combinadas com a criptografia simétrica para
transmitir chaves secretas (chaves de seção). Verificamos como a
troca segura de chaves é efetuada, podendo ser utilizada sem um
canal seguro (como a internet) e entendemos os detalhes do
funcionamento do algoritmo RSA.
Referências
AMARO, George. Criptografia simétrica e criptografia de chaves
públicas: vantagens e desvantagens. 2008. Acesso em: 27 abr. 2020.
1 Conceitos
Embora Ralph C. Merkle tenha publicado o conceito da chave
pública e privada apenas em 1978, Hellman também atribui crédito a
Merkle em relação à descoberta sobre a troca de chaves (STALLINGS,
2014). Não é incomum encontrar na literatura como algoritmo ou
método de troca de chaves de Diffie-Hellman-Merkle. Sendo assim,
trataremos o método de troca de chaves de forma independente de
seus inventores.
O algoritmo de troca de chaves aborda uma solução para a
principal dificuldade da criptografia simétrica, que é a necessidade de
obter um canal seguro para o compartilhamento da chave de
criptografia/descriptografia. Quando imaginamos um cenário em que
dois usuários não estão próximos, compartilhar uma chave secreta é
uma tarefa difícil.
IMPORTANTE
A principal finalidade do processo de troca de chaves é permitir que dois
usuários troquem uma chave simétrica, de maneira segura, que será usada
para a criptografia de suas mensagens (STALLINGS, 2014).
Z = ybxa mod p
Z = (yaxb) mod p
Em que:
p é um primo grande;
q é um primo grande;
h é qualquer número inteiro com 1 < h < p-1, de modo que h {(p-1) / q}
mod p > 1;
NA PRÁTICA
A troca de chaves está presente em diversos protocolos. Quando tratamos
de ambientes seguros, o gerenciamento de chaves utiliza o protocolo
internet key exchange (IKE) (em português, troca de chaves da internet), que
é utilizado para troca de chaves na internet definido pela RFC 2409 (1998). O
IKE é utilizado no IPsec (protocolo de segurança de IP) para estabelecimento
de um túnel seguro (VPN), em uma rede de internet, implementando
autenticação, confidencialidade e gerenciamento de chaves (FOROUZAN,
2008).
3 Vantagens e desvantagens
Notadamente, a principal vantagem do processo de troca de
chaves é o uso da chave de sessão para a criptografia. Dessa forma,
nenhuma chave privada dos usuários em um sistema de
comunicação é enviada ou armazenada, contribuindo para
confidencialidade na troca de informações entre usuários ou
sistemas.
4 Confidencialidade na troca
A dificuldade na troca de uma chave simétrica deu origem à
necessidade da criação da criptografia assimétrica, criptografia de
chave pública e privada. Porém, o processo de criptografia é custoso
computacionalmente, sendo inviável para criptografar grandes
volumes de dados. O processo de troca de chaves possibilita a
criação de chaves de sessão para criptografar de forma simétrica
uma comunicação entre dois usuários.
PARA PENSAR
Se as chaves de sessão forem trocadas com frequência, maior será a
segurança de um sistema criptográfico. Dessa forma, um atacante teria
menor tempo para tentar decifrar a chave de sessão utilizada. Porém, sobre
o ponto de vista da comunicação e a capacidade de rede, o processo será
mais complexo computacionalmente. Sob esse aspecto, um profissional de
segurança da informação precisa equilibrar os requisitos de segurança e a
viabilidade de uso dos sistemas (STALLINGS, 2014).
5 Falta de autenticação
O principal problema associado ao processo de troca de chaves
é que o emissor de uma mensagem precisa confiar na chave pública
(números públicos p e g usados no exemplo da troca de chaves Diffie
Hellman) de um certo receptor. Utilizando o exemplo da comunicação
entre Alice e Bob, Alice precisa ter completa confiança de que a chave
pública de Bob, utilizada no processo para troca de chave do
processo, é legitima.
Considerações finais
Neste capítulo abordamos o processo de troca de chaves de
Diffie-Hellman. Analisamos as principais vantagens e desvantagens
do processo de troca de chaves e a sua complementariedade para
distribuição de chaves de sessão (simétrica) para criptografia de
mensagens. Assim, o processo de troca de chaves garante a
segurança na distribuição de chaves simétricas, podendo ser
diferentes a cada comunicação, assim como determinado pelo ANSI-
X9.42 e pela RFC 2631.
Referências
DIFFIE, W. Whitfield; HELLMAN, Martin E. New directions in
cryptography. IEEE Transactions on Information Theory, v. 22, n. 6, p.
644-654, nov. 1976.
RFC 2409. The internet key exchange (IKE). Ietf.org, 1998. Disponível
em: https://tools.ietf.org/pdf/rfc2409.pdf. Acesso em: 4 mar. 2020.
RFC 4419. Diffie-Hellman Group Exchange for the Secure Shell (SSH)
Transport Layer Protocol. Ietf.org, 2006. Disponível em:
https://tools.ietf.org/pdf/rfc4419.pdf. Acesso em: 2 mar. 2020.
1 Conceitos
Em diversos aspectos do campo da criptografia, é possível notar
a necessidade de utilizar uma função matemática para embaralhar os
dados de forma que seja inviável computacionalmente, tentar reverter
o processo sem uma chave, executando assim uma criptografia forte.
Porém, o objetivo de uma função de resumo hash é ser complexa ao
ponto de não ser possível desfazer o processo executado e, refletindo
sobre os requisitos que motivam esse desejo, entendemos que as
hashes executam um papel fundamental para viabilização da
autenticação e da integridade, através das assinaturas digitais e dos
sistemas de autenticação de usuários (TANENBAUM; WETHERAL,
2012).
2 Cálculos de hash
Conforme apresentado anteriormente, na saída de uma função
hash (valor hash, ou digest de uma mensagem) é obtido um valor
com tamanho predefinido, pela função. Isso ocorre porque uma
função hash recebe os dados em um comprimento fixo. Esses
valores são chamados de blocos de dados. Os tamanhos dos blocos
de dados são diferentes em cada algoritmo, mas quando utilizamos o
mesmo algoritmo os tamanhos de blocos serão mantidos. Essa
propriedade garante que outro usuário execute o mesmo algoritmo e
conseguirá validar o valor hash.
3.3 Colisões
Uma colisão hash é caracterizada quando valores diferentes de
mensagem (m) podem gerar um mesmo valor hash, em que, h(m) =
h(m’). Isso pode ocorrer, pois uma função hash pode resumir um
texto muito grande em um texto pequeno (SENDIN, 1999). Com isso,
o tratamento dessas possíveis colisões requer uma atenção especial
para um projetista. Esse requisito é fundamental para a criação de
boas funções de resumo hash, como explanado anteriormente.
Segundo Sendin (1999), é importante que a função hash tenha uma
probabilidade baixa para produção de colisões.
3.4 Quebra
As quebras, ou seja, ataques bem-sucedidos no campo das
funções hash, podem se basear nas colisões. Esse tipo de ataque
consiste na tentativa de um invasor em criar duas mensagens que
tenham o mesmo valor hash. Por exemplo, criam-se duas
mensagens: uma informa que será pago determinado valor para a
execução de alguma atividade e outra informa que o valor deverá ser
pago por executar a atividade. A primeira mensagem é apresentada à
vítima, pedindo que faça determinada ação. Posteriormente, a
primeira mensagem, é substituída pela segunda mensagem, que é
validada como inalterada pelo mesmo valor hash (disgest da
mensagem). Dessa forma, o invasor poderia exigir a compensação
financeira por vias legais (RFC 4270, 2005).
IMPORTANTE
Além de seguir as boas práticas e utilizar senhas fortes, os sistemas de
senha que adotam as funções hash devem aplicar o SALT, que nada mais é
do que a adição de bits aleatórios de dados, a função hash. O SALT é
enviado juntamente com o texto sem formatação da senha do usuário, para
gerar o valor hash de uma senha que será armazenada em um banco de
dados. Isso garante que cada valor hash gerado seja exclusivo,
inviabilizando o ataque por tabela arco-íris e outros ataques de dicionário
(RFC 8146, 2017; GILES, 2020).
FUNÇÃO DOCUMENTAÇÃO
PARA PENSAR
Apesar da constante evolução dos algoritmos que implementam as funções
hash, além dos dispositivos de proteção como a adição do SALT em bancos
de dados de senhas de usuários, uma função hash não é inquebrável. Porém,
os dispositivos implementados têm a função de atrasar o processo de
quebra de uma função. Esse atraso adicionará dificuldades ao invasor na
tentativa de quebrar o algoritmo utilizado por meio dos ataques conhecidos.
Considerações finais
Neste capítulo, estudamos as funções de resumo hash,
entendemos como elas funcionam, seus requisitos, a questão da
colisão e os métodos que comumente são utilizados para tentar
executar a sua quebra. As funções hash são utilizadas em diversos
cenários da computação, aplicadas principalmente em conjunto com
algoritmos de criptografia. Em geral, as funções hash são utilizadas
principalmente para verificação da integridade e da autenticação de
usuários.
Referências
DECODED: examples of how hashing algorithms work. Cheap SSL
Security, 2020. Disponível em:
https://cheapsslsecurity.com/blog/decoded-examples-of-how-
hashing-algorithms-work/. Acesso em: 26 mar. 2020.
DWORKIN, Morris J. SHA-3 Standard: permutation-bhsed Hash and
extendable-output functions. 2015. Disponível em:
https://csrc.nist.gov/publications/detail/fips/202/final. Acesso em: 30
mar. 2020.
1 Conceitos
Assinar um documento físico é algo comum, por isso estamos
familiarizados ao conceito. Logo, só assinamos um documento para
demonstrar que ele é de nossa autoria ou que foi aprovado por quem
o assina. A assinatura comprova, ao receptor de uma mensagem, que
foi o emissor que de fato a escreveu. Quando um usuário de uma
conta bancária assina uma folha de cheque, como no exemplo do
cheque demonstrado na figura 1, e o oferece como pagamento por
algum bem ou serviço, a pessoa que o receber descontará o cheque
em uma agência bancária. O banco, por sua vez, vai verificar se a
assinatura contida no cheque confere com a assinatura cadastrada
de forma digital em seu sistema. Se a assinatura for confirmada, ou
seja, a assinatura do cheque for igual à cadastrada no sistema, então,
o valor poderá ser pago ao detentor do cheque. De forma análoga ao
exemplo do cheque bancário, uma assinatura, verificada com
sucesso em um documento, é prova de que o documento é autêntico
(FOROUZAN, 2008).
Figura 1 – Exemplo de folha de cheque
assinada
IMPORTANTE
Não devemos utilizar uma chave simétrica para assinar um documento e
verificar a assinatura, justamente porque a chave secreta é conhecida entre
as duas partes, portanto não é possível determinar qual das partes assinou o
documento (FOROUZAN, 2008).
2 Funcionamento
Um documento pode ser assinado por inteiro, quando a
assinatura é gerada para todo o documento de “ponta a ponta”, ou
pode-se assinar o digest do documento, ou seja, podemos assinar
apenas o resultado da função hash gerada para o documento. A
forma mais fácil de se assinar o documento é a sua assinatura
integral, porém, esse método é o menos eficiente. Dessa forma, as
soluções de mercado utilizam a assinatura do digest da mensagem,
pois, apesar de mais complexo, é mais rápido (FOROUZAN, 2008).
NA PRÁTICA
Os métodos de autenticação de mensagens não necessitam de uma função
hash para funcionar, porém, são lentos para executar a verificação de textos
grandes. Dessa forma, as funções hash são utilizadas para gerar
representações compactas e únicas das mensagens, com o objetivo de que
o valor hash da mensagem (digest) seja assinado. Esse processo possibilita
que as mensagens possam ser assinadas e verificadas mais rapidamente
(SENDIN, 1999).
3 Vantagens e desvantagens
As principais vantagens da assinatura digital estão ligadas à
desmaterialização de documentos físicos, uma vez que a firma de um
documento através de uma assinatura digital possui validade legal. A
transmissão de um documento via rede de dados é de fato muito
mais rápida do que a tramitação de papéis por correio ou portadores,
logo, essa também é uma clara vantagem das assinaturas digitais.
Porém, do ponto de vista de tecnologia, existem outras vantagens e
desvantagens em seu modo de execução (SINGH; IQBAL; JAISWAL,
2015).
Considerações finais
O processo de assinatura digital é vital para a garantia da
autenticação e da integridade para mensagens trocadas entre duas
partes em uma comunicação eletrônica ou uma emissão de um
documento assinado. O funcionamento das assinaturas é possível
principalmente pelo uso dos algoritmos de criptografia associados ao
processo de assinatura e verificação. Entendemos também que o uso
das funções de resumo hash, apesar de mais complexas, tornam o
processo de assinatura e verificação mais rápidos.
Referências
BRASIL. Assinaturas digitais na ICP Brasil. Versão1.0. Instituto
Nacional de Tecnologia da Informação, 2008. Disponível em:
http://www.iti.gov.br/images/repositorio/consulta-
publica/encerradas/DOC-ICP-15-Assinaturas_digitais_na_ICP-
Brasil.pdf. Acesso em: 18 abr. 2020.
1 Conceitos
Um certificado digital, de forma resumida, é uma forma de prover
a autenticação de um documento, mensagem ou serviço através de
uma assinatura digital em ambientes computacionais. Por meio da
certificação digital, tanto pessoas físicas quanto jurídicas podem
executar transações entre sistemas e serviços com
confidencialidade, integridade, autenticação e o não repúdio. Para
obter um certificado digital com validade jurídica, uma pessoa ou
empresa precisará contratar o serviço de uma autoridade de
certificação que pertença a uma infraestrutura de chaves públicas (O
QUE É..., [s. d.]).
2 Blockchain
O blockchain (em português, cadeia de bloco) ficou
popularmente conhecido com o advento das criptomoedas. A mais
conhecida é a bitcoin. Com a estrutura de blockchain é possível
garantir a segurança das entradas financeiras ou dos registros de
transações realizadas pelos usuários dos sistemas de criptomoedas.
Cada valor transacionado pelos usuários das criptomoedas é
assinado digitalmente utilizando os métodos criptográficos já
mencionados. A assinatura digital de cada valor transacionado em
um sistema de criptomoedas possibilita verificar a integridade e
autenticação dos dados transacionados. Logo, o objetivo de utilizar
uma estrutura de blockchain é garantir que ninguém adultere
qualquer valor dentro da cadeia de blocos de transações executadas,
daí o nome blockchain. Se a verificação dos blocos da cadeia de
transações é validada com sucesso, as transações podem ser
consideradas íntegras (FORMIGONI FILHO; BRAGA; LEAL, 2018;
ZHENG et al., 2018).
IMPORTANTE
O processo de autenticação de um novo bloco, incorporado a uma estrutura
de blockchain, utilizada para criptomoedas, é conhecido como mineração
(CARVALHO, 2018).
PARA PENSAR
Uma blockchain pode substituir os cartórios convencionais, para registro de
documentos, ou até mesmo as autoridades certificadoras?
Considerações finais
Neste capítulo, foram apresentados os conceitos iniciais
relacionados aos certificados digitais. Entendemos como uma
autoridade de certificação divulga as chaves públicas de seus
usuários, quais tipos de certificados podem ser emitidos e para quais
finalidades, como o certificado SSL utilizado para páginas de website
e sistemas ou o e-CPF para pessoas físicas. Cabe relembrar que o
processo de certificação elimina a principal dúvida envolvida em uma
assinatura digital, que é garantir que a chave pública utilizada para
assinatura de um documento ou mensagem, de fato, pertence a uma
identidade em questão.
Referências
ANTUNES, Flávia. Nasce o primeiro bebê registrado de forma digital
no Brasil. Bebe.com.br, 2019. Disponível em:
https://bebe.abril.com.br/familia/nasce-o-primeiro-bebe-registrado-
de-forma-digital-no-brasil/. Acesso em: 11 maio 2020.
1 Conceitos
O uso dos centros de distribuição de chaves (key distribution
center – KDC) foi uma iniciativa para distribuição de chaves públicas,
porém, esse método se mostrou ineficiente, pois seria necessária
uma estrutura muito robusta para validar o tempo todo as chaves
públicas de usuários. Imagine a estrutura que seria necessária para
validar todos os certificados de uma cidade, estado, de um país ou
todos os usuários da internet. Além disso, a estrutura do KDC não é
escalável; caso o KDC ficasse indisponível, todas as chaves públicas
também ficariam. Ao contrário do KDC, uma infraestrutura de chave
pública (ICP), utiliza uma autoridades de certificação (AC) que não
precisa estar on-line o tempo todo. Em vez disso, uma organização
certifica chaves públicas que são utilizadas pelos usuários
(TANENBAUM; WETHERAL, 2012).
Signature algorithm
Algoritmo utilizado para assinar o certificado do usuário
(algoritmo da assinatura)
Validity period
Data de início e término da validade do certificado
(período de validade)
Subject name
Entidade para qual o certificado foi emitido
(nome de sujeito)
Issuer ID
Identificação exclusiva opcional para o emissor do certificado
(Id do emissor)
Subject ID
Identificação exclusiva opcional para entidade certificada
(Id do sujeto)
O active directory (AD) é um produto criado pela Microsoft para ser utilizado
como serviço de diretório no protocolo LDAP. O lightweight directory access
protocol (LDAP) (em português, protocolo de acesso a diretórios leves)
fornece diversos tipos de funcionalidades para usuários em rede, como
autenticação, grupos e gerenciamento de usuários. Também é possível
administrar políticas para usuários e computadores conectados em produtos
como no AD (O QUE É..., 2020). Porém, o active directory da Microsoft não é
a única opção para uso do protocolo LDAP, existem soluções como
OpenLDAP, Red Hat Serviço de Diretório, Apache Directory Server, entre
outros.
IMPORTANTE
Certificados digitais com validade de longa duração implicam em LCRs
também de longa duração. Para lidar com LCRs longas, pode-se emitir uma
lista principal com pouca frequência e emitir atualizações frequentes para a
lista (TANENBAUM; WETHERAL, 2012).
Considerações finais
Neste capítulo, entendemos que o processo de validação de um
certificado se dá pela reconstrução da hierarquia (o caminho de
certificação) partindo do certificado até a AC-Raiz. A verificação da
árvore é necessária para determinar a confiança em um certificado
emitido. Conhecemos também os principais atributos existentes em
um certificado que são especificados pela estrutura X.509.
Discutimos o funcionamento das ICPs e seus principais aspectos,
como as entidades finais (EFs), a função das autoridades
certificadoras (ACs), as autoridades registradoras (ARs) e os tipos de
certificados digitais disponíveis comercialmente. Apresentamos a
função dos repositórios de certificados (RCs) e compreendemos que
os certificados podem ser armazenados localmente (no navegador
de internet dos usuários) ou de forma centralizada. Entendemos a
importância do uso da lista de certificados revogados (LCR), para que
um certificado revogado não seja validado por uma AC.
Referências
BOFF, Marcel. O que é ICP Brasil e como funciona? Santo Contrato,
2017. Disponível em: https://www.santocontrato.com.br/o-que-e-icp-
brasil/. Acesso em: 20 maio 2020.
Gerente/Publisher
Jeane Passos de Souza
Coordenação Editorial/Prospecção
Luís Américo Tousi Botelho
Dolores Crisci Manzano
Administrativo
[email protected]
Comercial
[email protected]
Acompanhamento Pedagógico
Otacília da Paz Pereira
Designer Educacional
Hágara Rosa da Cunha Araujo
Revisão Técnica
Anderson Aparecido Alves da Silva
Projeto Gráfico
Alexandre Lemes da Silva
Emília Correa Abreu
Capa
Antonio Carlos De Angelis
Editoração Eletrônica
Michel Iuiti Navarro Moreno
Ilustrações
Michel Iuiti Navarro Moreno
Imagens
iStock Photos
Produção do ePub
Ricardo Diana
Beatriz Bevilacqua