Partilha segura de ficheiros disponibilizados
livremente na Internet
Nuno Matias, António Pinto
Resumo
As plataformas baseadas na nuvem (ou cloud computing) pressupõem a disponibilidade de informação, serviços e recursos independentemente do local. Um requisito comum destes ambientes consiste na capacidade dos seus utilizadores acederem aos serviços, independentemente da sua localização. Tal requisito acarreta
novas considerações de segurança, já que os utilizadores poderão utilizar PCs sobre os quais não têm completa confiança para consultar ou enviar documentos. A
inovação prende-se então com a garantia de confidencialidade, recorrendo-se para
tal à técnica de Proxy encription, em operações de livre partilha de documentos na
Internet.
1 Introdução
As plataformas baseadas na nuvem (ou cloud computing) pressupõem a disponibilidade de informação, serviços e recursos independentemente do local. Tal facilita
o acesso a aplicações e informação, mas requer novas considerações de segurança,
nomeadamente no que diz respeito à confidencialidade dos documentos colocados
pelos utilizadores em tais plataformas.
Assim sendo, é crucial desenvolver técnicas que permitam aos utilizadores terem a confiança necessária para disponibilizarem documentos confidenciais na nuvem, já que tal disponibilização vai permitir o seu acesso independentemente da
localização. Neste sentido, de forma a incentivar a troca de informação segura, entre dois quaisquer indivı́duos, sem terem a necessidade de confiar na entidade que
gere a plataforma de armazenamento online, propõe-se um serviço que, confiando
Nuno Matias
CIICESI, ESTGF-IPP, Portugal, e-mail: [email protected]
António Pinto
CIICESI, ESTGF-IPP, Portugal, e-mail: [email protected]
1
2
Nuno Matias, António Pinto
apenas numa única entidade, permite disponibilizar, de forma segura e confidencial,
documentos a qualquer outro indivı́duo. Sem, no entanto, exigir que os documentos
partilhados sejam armazenados no servidor de partilha, podendo mesmo ser armazenados em qualquer outro local na web.
A técnica utilizada para garantir a segurança dos documentos denomina-se de
proxy encription. Proxy encription consiste em transformar informação cifrada
com uma chave A, em informação cifrada com uma chave B, sem se recorrer à
informação não cifrada, nem à chave A. Desta forma, com a aplicação da técnica
de proxy encription ao serviço de cloud computing permite-se garantir a segurança,
autenticidade e integridade da informação que será disponibilizada na nuvem.
Existem neste momento soluções de cifra como o TrueCrypt. Esta solução consiste na cifra do filesystem armazenado na cloud mas não garante a partilha de
informação confidencial entre utilizadores.
Este artigo encontra-se organizado por secções. A secção 2 descreve o funcionamento da técnica de proxy encription, bem como os conceitos associados. A secção
3 apresenta a solução proposta, enumerando os seus objectivos e identificando os
seu requisitos. A secção 4 apresenta os resultados já obtidos. A secção 5 apresenta
as conclusões deste trabalho.
2 Proxy Encription
A criptografia abrange a cifra de documentos através da aplicação de algoritmos
para que os dados se tornem ilegı́veis, sendo que para os conseguir decifrar é preciso conhecer o respectivo algoritmo e a respectiva chave [4]. As propriedades de
segurança da criptografia baseia-se em:
• confidencialidade: garantir que apenas as pessoas autorizadas consigam aceder
aos respectivos dados;
• integridade: o destinatário deverá ser capaz de determinar se a mensagem foi
alterada durante a transmissão;
• autenticidade: o destinatário deverá ser capaz de identificar o remetente, validando se foi o mesmo que enviou a mensagem ou não;
Existem dois grandes tipos de criptografia, a criptografia simétrica e a criptografia assimétrica. A primeira baseia-se na cifra de um ou mais documentos envolvendo
apenas uma chave que as pessoas envolvidas necessitam conhecer. Aqui, um utilizador A cifra um documento M com uma determinada chave Z. Para que um outro utilizador B decifre o documento M, necessita obrigatoriamente de conhecer a
chave Z e o algoritmo de cifra. No caso da criptografia assimétrica, a cada utilizador
é atribuı́do um par de chaves: chave pública e chave privada. A chaves públicas são
conhecida por todos, enquanto que cada chave privada só é do conhecimento do seu
utilizador. Aqui, um documento M cifrado com a chave pública de um utilizador A,
só pode ser decifrado com chave privada do utilizador A.
Partilha segura de ficheiros disponibilizados livremente na Internet
3
Proxy encription foi introduzido pela primeira vez por Blaze, Bleumer e Strauss,
em 1998 [1]. Esta técnica consiste em transformar um bloco de dados cifrado com
chave A, noutro bloco de dados cifrado, com chave B, sem ter acesso às chaves de
decifra nem ao bloco de dados decifrado [3]. Esta técnica assenta em criptografia
assimétrica onde, uma mensagem m cifrada com a chave pública de A (PKA ), só
pode ser decifrada com a chave privada de A. Assim,
m = [{m}PKA ]SKA
Onde:
• m representa a mensagem m;
• {m}PKA representa a mensagem m cifrada com a chave pública de A;
• [{m}PKA ]SKA representa a mensagem m cifrada com a chave pública de A, a seguir
decifrada com a chave privada de A;
Se a mensagem m for cifrada com a chave publica de A, obtém-se {m}PKA , sendo
este resultado cifrado com uma CKAB (proxy key de A para B), obtém-se a mensagem m cifrada com a chave pública de B, Assim,
{{m}PKA }CKAB = {m}PKB
Onde:
• {{m}PKA }CKAB , representa a mensagem m cifrada com a chave pública de A, a
seguir cifrada pela Proxy Key de A para B (CKAB );
• {m}PKB , representa a mensagem m cifrada com a chave pública de B;
Tal é verdade, desde que:
CKAB = PKA − PKB
Uma insuficiência do proxy encription pode desde já ser identificada, sendo esta a
associada à reversibilidade das operações de soma. Ou seja, se um utilizador souber
CKAB e PKA , facilmente chega à PKB ou, se souber CKAB e PKB , facilmente chega
à PKA [2].
3 Proposta de solução
A proposta de solução é caracterizada por garantir a confidencialidade de documentos disponibilizados livremente na Internet sem requerer o estabelecimento de
relações de confiança com serviços de armazenamento online. Requer, no entanto,
que se estabeleça uma relação de confiança com o o fornecedor do serviço agora
proposto.
4
Nuno Matias, António Pinto
A cifra assimétrica de documentos requer a existência ou geração de um par de
chaves (chave pública, chave privada). O par de chaves gerado será então utilizado
para a cifra e decifra dos documentos, sendo que, quando se pretende enviar um
documento para um determinado utilizador serão utilizadas as chaves privadas de
ambos. O documento será inicialmente cifrado com a chave publica do utilizador
A, e depois cifrado novamente com a diferença da chave publica de A com a de B.
Resultando no equivalente ao documento cifrado com a chave pública de B, apenas
passı́vel de decifra com a chave privada de B. O serviço contará ainda com um
interface web, que irá permitir agilizar todo o processo.
A seguinte lista de requisitos funcionais da presente proposta de solução compreendem então:
1.
2.
3.
4.
5.
Disponibilização sob a forma serviço ou sı́tio web.
Utilização de armazenamento próprio ou externo de documentos,
Registo de utilizadores.
Pesquisa de utilizadores.
Estabelecimento de relação de confiança com o fornecedor do serviço.
Após o registo de um utilizador no sitio web do serviço, será criada uma pasta
pessoal de armazenamento de ficheiros e se o utilizador ainda não possuir um par de
chaves (pública/privada), será gerado o seu par. Os utilizadores registados poderão
pesquisar por outros utilizadores. Após a selecção de um destinatário e de um documento a partilhar entre ambos, será iniciado o processo de cifra e conversão do
documento.
Figura 1 Processo de cifra e conversão por proxy encryption
O processo de cifra e conversão, demonstrado na Figura 1, caracteriza-se por,
primeiramente, cifrar o documento com a chave pública do utilizador A, PKA 1 . Posteriormente, será gerada uma nova chave, com a diferença entre a chave pública de
A com a chave pública do destinatário, CKAB . Assim, garante-se, que o documento
1 Este primeiro passo é opcional, pois os documentos poderão ser disponibilizados pelo utilizador
como já cifrados
Partilha segura de ficheiros disponibilizados livremente na Internet
5
se encontra cifrado com CKAB e PKA e que somente estas duas pessoas poderão decifrar o respectivo documento. O documento final, a armazenar na nuvem, pode ser
descrito como:
{m}PKB = {{m}PKA }CKAB
Onde m representa o documento não cifrado, e:
PKB = PKA −CKAB
Ao utilizador destinatário, quando este decidir aceder ao conteúdo, compete
apenas a sua decifra com a sua chave privada. Tendo em vista o aumento da
confiança dos utilizadores no serviço, prevê-se ainda a possibilidade de refrescamento periódico dos pares de chaves dos vários utilizadores, bem como a conversão
dos documentos já cifrados para que possam ser acedidos com as nova chaves.
4 Resultados
A cifra assimétrica, tipicamente, requer uma quantidade significativa de poder de
computação. Muito embora a cifra em tempo real não seja propósito da solução
proposta, convém quantificar a necessidade de poder de computação, em minutos,
requerida pelo algoritmo de cifra adoptado (El Gamal). Foram considerados vários
tamanhos de chaves e de ficheiros.
O gráfico da figura 2 apresenta, em minutos, o custo computacional das operações
de cifra assimétrica pra vários tamanhos de chaves (512, 1024, 1536 e 2048) e para
vários tamanhos de ficheiros. Como podemos observar à medida que se aumenta
o tamanho do ficheiro o tempo computacional aumenta significativamente. Assim,
para cifrar um ficheiro de 1MB demora cerca de 2,1 minutos para uma chave de
512 bits; para uma chave de 1024 bits demora cerca de 6,82 bits; para uma chave
de 1536 bits demora cerca de 12,32 minutos; e para uma chave de 2048 bits demora
cerca de 21,52 minutos. Conseguimos ainda observar, que no caso dos ficheiros de
4MB para uma chave de 1024 bits demora cerca de 23,93 minutos e para uma chave
de 2048 bits demora cerca de 82,52 minutos, isto é, três vezes mais em termos de
performance.
O gráfico da figura 3 permite analisar os tempos de decifra relativos aos tempos
de cifra observados na figura2. É possı́vel observar que para decifrar um ficheiro de
1MB demora cerca de 1,3 minutos para uma chave de 512 bits; para uma chave de
1024 bits demora cerca de 4,2 minutos; para uma chave de 1536 bits demora cerca
de 8,02 minutos; e para uma chave de 2048 bits demora cerca de 12,88 minutos.
Comparando com um ficheiro de 4MB, observa-se que para uma chave de 1024 bits
demora cerca de 14,65 minutos a decifrar e para uma chave de 2048 bits demora
cerca de 56,5 minutos.
Com estes resultados podemos concluir que os algoritmos de criptografia assimétrica requerem um grande poder computacional e que demoram muito mais a
6
Nuno Matias, António Pinto
90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 512 Bits 1024 Bits 1536 Bits 2048 Bits 100KB 300KB 500KB 800KB 1MB 2MB 3MB 4MB Figura 2 Tempo necessário, em minutos, para operações de cifra para vários tamanhos de chave
e de ficheiro
90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 512 Bits 1024 Bits 1536 Bits 2048 bits 100KB 300KB 500KB 800KB 1MB 2MB 3MB 4MB Figura 3 Tempo necessário, em minutos, para operações de decifra para vários tamanhos de chave
e de ficheiro
Partilha segura de ficheiros disponibilizados livremente na Internet
7
realizar a cifra de documentos do que a decifra dos mesmos, como facilmente se
conclui com a análise dos gráficos das figuras 2 e 3.
De assinalar que estes tempos foram calculados sem a utilização da técnica de
proxy encription, devido ao facto de a mesma, ainda se encontrar em fase de testes.
5 Conclusão
A solução proposta permite adicionar uma maior segurança a operações de armazenamento e partilha de informação através da web, e em particular, quando se usam
serviços de armazenamento baseados em cloud computing. A necessidade deste tipo
de serviços possibilita a troca de documentos seguros em várias situações do quotidiano. Nomeadamente, quando a um indivı́duo que se encontra em férias, lhe é
solicitado que envie documentos confidenciais para outro elemento da instituição.
Aqui é necessário garantir que os documentos enviados apenas possam ser visualizados pelo destinatário e no seu formato original. Tal é possı́vel através da cifra do
documento e somente a pessoa de destino possuirá a chave para realizar a respectiva
decifra. Assim, se o documento for interceptado durante a troca de informação não
poderá ser visualizado.
Através do serviço proposto, é permitido aos utilizadores além da cifra e decifra
dos documentos, o armazenamento e gestão da sua informação de forma segura,
podendo ainda realizar igualmente a gestão das suas chaves, pública e privada. A
técnica de proxy encription pode então garantir uma maior segurança e tranquilidade
em cenários de disponibilização ou partilha de documentos confidenciais na web.
Referências
1. M. Blaze and M. Strauss. Atomic proxy cryptography. Feb 1998.
2. K. Chen C. Huang, Y. Chiu and C. Lei. Secure multicast in dynamic environments, Computer
Networks: The International Journal of Computer and Telecommunications Networking, pp.
2805–2817.
3. A. Ivan and Y. Dodis. Proxy cryptography revisited, Proceedings of the Network and Distributed System Security Symposium (NDSS). February 2003.
4. R. Mukherjee and J. Atwood. Proxy encryptions for secure multicast key management, Local
Computer Networks, 2003. LCN-03, Proceedings, 28th Annual IEEE International Conference
on, pp. 377-384. 2003.
Download

Partilha segura de ficheiros disponibilizados livremente na