domingo, 19 de abril de 2009

Criptografia Digital: Conceito e Objetivo

Sabe-se que dados e informações são os principais ativos tanto de uma empresa quanto de um sujeito que a domina porque o conhecimento, e por consequência a sabedoria, advém desses dois elementos essenciais. Ora, estamos na conhecida era do conhecimento, onde o maior patrimônio particular ou organizacional é a capacidade que se tem em poder reter, gerir e adquirir, adequadamente, valores conceituais, tendo como meio os dados e informações e as pessoas que participam e compõe o capital intelectual de uma empresa.

Para poder administrar com eficiência os dados e informações existentes ganharam destaque no mundo moderno os computadores, redes, Sistemas de Informação e correlatos, compondo a estrutura básica atual para que instituições privadas não percam na “corrida da competitividade” ou para que instituições públicas não fiquem fadada ao uso de práticas obsoletas, ineficientes e impróprias à atual conjuntura. (...)

Com o amadurecimento da Internet para interligar as pessoas, as instituições privadas e as instituições públicas – B2B, B2C, C2C, B2G, B2E, G2C, etc – o canal de comunicação – a própria Internet – torna-se uma via acessível a todos, incluindo-se os criminosos virtuais.

Para impedir a identificação de dados ou informações privilegiadas ou sigilosas surge como alternativa a criptografia digital. A criptografia é uma técnica utilizada para cifrar (embaralhar ou tornar ilegível) dados ou informações de forma que somente o destinatário da mensagem consiga decifrá-los. É uma técnica muito antiga utilizada por povos como os egípcios e os romanos para comunicarem informação sigilosa que, se recebida por pessoas não autorizadas a recebê-las, seria um monte de símbolos sem nexo. Contemporaneamente está sendo utilizada por computadores que podem aproveitar as seguintes técnicas de criptografia:

Transposição: Essa técnica alterna a ordem dos elementos de uma mensagem transformando-a numa sequência adversa, por exemplo, a palavra “Janela Tecnológica” poderia ser cifrada assim: alenaJ acigólonceT ou Jaalne Taeccingoól. Para um bom estudante de criptoanálise (ciência que estuda a forma de decifrar mensagens sem o conhecimento da que técnica utilizada para cifrá-la) seria fácil deduzir que, no primeiro caso – alenaJ acigólonceT – a técnica de transposição utilizada foi inverter as palavras enquanto, no segundo caso, a técnica utilizada foi fazer com que, lendo a palavra cifrada da esquerda para a direita, cada letra, na sequência, corresponderia à primeira e a última, a segunda e a penúltima, a terceira e a antepenúltima, e assim por diante, da palavra decifrada.

Substituição: Aqui os elementos são substituídos por outros para dificultar o entendimento da mensagem. Por exemplo, a palavra “Janela Tecnológica” poderia ser cifrada assim: 10,1,14,5,12,1;20,5,3,14,15,12,15,7,9,3,1. Cada vírgula separa os caracteres da palavra, o ponto e vírgula separa as palavras e cada número corresponde à posição que a letra ocupa no alfabeto (1=A, 11=K, ..., 26=Z).

Algoritmo criptográfico: Algoritmo, para aqueles que não conhecem o termo, é uma sequência de passos a serem realizados para desempenhar uma tarefa especifica, por exemplo, um algoritmo para somar dois números numa calculadora seria: digitar um número, pressionar o sinal de soma (+), digitar outro número e pressionar o sinal igual (=). Se essa sequência de passos não for obedecida é pouco provável que alguém consiga fazer um cálculo de soma entre dois números numa calculadora tradicional.

Algoritmo criptográfico é um algoritmo feito para que uma mensagem seja cifrada ao sair da posse do remetente e somente decifrada quando recebida pelo destinatário. Se a mensagem for interceptada será difícil de ser entendida porque a convenção para cifrá-la é somente do conhecimento de quem possui o algoritmo criptográfico. A título de exemplo a palavra “Janela Tecnológica” poderia utilizar um algoritmo criptográfico que a tornasse assim:

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

0123456789@#ABCDEFGHIJKLMNOPQRSTUVXWYZ

Difícil de ser decifrada, não é mesmo? Isso porque ninguém conhece o algoritmo criptográfico para decifrá-la, o qual é descrito a seguir:

O algoritmo criptográfico para a mensagem apresentada absorve o seguinte princípio: cada linha representa um caractere (letra número ou símbolo) e se o caractere selecionado na linha for um símbolo (@ ou #) isso representa um espaço. Cada linha possui 38 caracteres e o sinal a ser considerado em cada linha depende da ordem de leitura que se alterna a cada minuto de cada hora do dia e, dessa mesma forma, alterna-se também a ordem dos caracteres em cada linha para cada caractere digitado. Por exemplo, no exposto acima, a mensagem foi enviada à 00h00min e, além da ordem assumida pelas linhas naquele horário, conforme se pode observar, os caracteres a serem considerados, para aquele horário, para aquela mensagem, são os seguintes: linha 1: caractere = 22, linha 2: caractere = 13, linha 3: caractere = 26, linha 4: caractere = 19, linha 5: caractere = 24, linha 6: caractere = 13, linha 7: caractere = 11, linha 8: caractere = 32, linha 9: caractere = 17, linha 10: caractere = 15, linha 11: caractere = 26, linha 12: caractere = 27, linha 13: caractere = 24, linha 14: caractere = 27, linha 15: caractere = 19, linha 16: caractere = 21 linha 17: caractere = 15, linha 18: caractere =13. Num outro horário, por exemplo, 15h32min, as linhas poderiam ser apresentadas por meio dos caracteres E2UIZN45HBDR69@LMKAW8CF#GYOJ3P7QS1TV0X com outra sequência de leitura que identificasse a mesma mensagem (“Janela Tecnológica”). A linha 1 neste caso não mais seria o caractere 22, em sim o caractere 28 para cada letra J digitada.

Chave criptográfica: A chave criptográfica utiliza um algoritmo criptográfico que, por mais que muitas pessoas detenham esse algoritmo, apresenta resultado diferente dependendo de quem a utiliza. No exemplo acima, com o uso de uma chave criptográfica, embora muitas pessoas tivessem acesso ao algoritmo, somente a que tivesse a chave criptográfica é que conseguiria decifrar a mensagem. As chaves criptográficas possuem certo número de bits que pode ser 32, 64, 128 entre outros; isso significa que quanto mais bits ela tiver, mais segura ela será porque o número de possibilidades de encontrar a sequência correta para ter acesso à mensagem aumentará exponencialmente com o aumento do número de bits da chave.

Com o uso da criptografia pode-se alcançar os seguintes objetivos: confidencialidade (ou sigilo), integridade, autenticidade, disponibilidade e não-repúdio.

Confidencialidade é a garantia de que o acesso às informações somente está sendo feito por pessoas autorizadas. Integridade é a garantia de que a mensagem original não foi alterada ou violada. Autenticidade é garantia de que ninguém se fez passar pelo remetente autêntico da mensagem. Disponibilidade é garantia de que o destinatário possa ter acesso à informação que lhe é de direito e não-repúdio é a garantia de que, após efetuada a ação de envio ou recebimento da mensagem, o envolvido não consiga negar a sua participação. Ilustremos o exposto:

Imagine um correntista que tenha conta no banco X. Ao permitir que somente o correntista tenha acesso aos movimentos efetuados em determinada conta corrente, o banco X garante confidencialidade – tanto que é crime a quebra de sigilo bancário sem ordem judicial. Ao permitir que os saques, depósitos ou movimentações sejam feitos adequadamente pelo correntista, o banco X garante integridade aos processos de negócio do cliente. Ao permitir que somente aquele correntista tenha acesso a sua conta, o banco X garante a autenticidade das operações efetuadas. Ao permitir que o correntista consiga efetuar as suas operações bancárias em vários lugares e em vários horários, o banco X garante disponibilidade e; ao controlar as operações efetuadas com meios de segurança adequados, o banco X não dá direito ao correntista de, por exemplo, negar ou afirmar que efetuou uma operação quando os registros bancários demonstram o contrário (não-repúdio).

Pode-se notar com isso a importância da criptografia e a finalidade aplicada que se pode ter deste recurso. Para a próxima postagem serão discutidos alguns tipos de algoritmos e criptografias existentes. Até lá!

Nenhum comentário: