Jump to content
shumy

Mega (upload) autenticação

Recommended Posts

shumy

Estive a estudar o sistema de segurança do novo mega(upload) e não me parece assim tão seguro. A chave mestra de encriptação é guardada no server. Apesar de estar encriptada com a hash da password e user, parece que na autenticação a chave mestra é recuperada momentaneamente, sendo assim o servidor consegue desencriptar todos os ficheiros. Alguem quer dar uma opinião?


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
pedrotuga

Mmm... o que estás a dizer é uma contradição. Se a chave é encriptada como é que o servidor a saca?

Mas não, o mega.co.nz não guarda a chave, ela está no url, mas é na hashtag, não é enviada para o servidor.

Share this post


Link to post
Share on other sites
shumy

de acordo com o site https://mega.co.nz/#developers ponto 1.6 o processo de autenticação necessita de desencriptar a chave mestra com a hash. Todo o processo descrito é um pouco ridiculo. O sistema para ser seguro tem de separar o processo de autenticação do processo de encriptação, o que não parece estar a acontecer. Ou seja a chave de encriptação deveria ser guardada no cliente (browser). Mas como isto não seria muito prático, a chave é guardada no server.

No ponto 1.4 diz explicitamente que a chave é guardada no server.

Edited by shumy

Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
Rui Carlos

O objectivo do mega é ser seguro?

Fiquei com a ideia que o objectivo era essencialmente evitar processos.

Assim à primeira vista, não há garantias que quem controla o mega não consegue aceder aos nossos ficheiros (é uma questão de confiança no serviço). No entanto, o sistema parece-me suficiente para bloquear o acesso a entidades externas (nomeadamente, que tenham recorrido a ordens judiciais). É que se o mega não guardar a hash do utilizador (como espero que não guarde), seria necessário que o utilizador fizesse login no serviço, para que fosse possível obter a hash e decifrar os ficheiros. Ora, basta que, quando haja problemas com as autoridades, os utilizadores deixem de fazer login no serviço, para que os seus ficheiros sejam seguros.

Adicionalmente, o sistema permite ao mega argumentar que, por questões de privacidade, durante o período em que tem a master key decifrada esta não é usada para vigiar os ficheiros do utilizador, e como tal não têm como controlar a pirataria.

Ou seja, parece-me que o sistema está mesmo feito para complicar a vida às autoridades judiciais, e não para garantir segurança ao utilizador.

Pessoalmente, acho que um sistema seguro passa sempre por cifra/decifrar os dados localmente. E desse ponto de vista, qualquer coisa como o Dropbox, Box.net, Amazon S3, SkyDrive, etc. serve. Só precisamos de software local para ler/escrever os ficheiros cifrados.

Share this post


Link to post
Share on other sites
shumy

O que eu estava, era a tentar perceber o mecanismo de autenticação.

Se existe uma possibilidade do Mega aceder aos conteúdos, nem que seja momentaneamente, as autoridades de anti-pirataria podem alegar que os ficheiros não estão a ser auditados por falta de vontade, e não por completa impossibilidade, o que abre uma porta para mais processos judiciais.

Fora disso acho que já percebi o mecanismo de como utilizador se pode autenticar sem que nenhuma chave seja recuperada do lado do servidor. Impossibilitando qualquer auditoria do Mega. No entanto o mecanismo que imagino não é o que está explicado no site!


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
Rui Carlos

Parece-me fácil justificar a opção de não auditar os ficheiros com o argumento de defesa da privacidade (isto para ficheiros que não estejam públicos).

Já agora, qual é o método de autenticação segura afinal? :)

Share this post


Link to post
Share on other sites
shumy

Bem, agora que estava a escrever o processo todo é que reparei que a explicação do ponto 1.6 é parecido com processo que eu imaginava! Não estava a ver bem.

O método de autenticação será então (via canal seguro estabelecido com o servidor):

1. Cliente envia um pedido de autenticação (com o username).

2. Mega encripta um random token com a chave publica do cliente (RSA).

3. Mega envia o par (private/public key) RSA + token (chave privada já previamente encriptada pelo cliente)

4. Cliente recupera a chave privada com hash => [username + password + salt] que por sua vez recupera o token do server.

5. Cliente envia o token correcto para o servidor.

6. Servidor verificando que o token é correcto envia a chave mestra encriptada também com a hash => [username + password + salt]

Pontos importantes:

A hash => [username + password + salt] nunca passa pela rede.

As chaves (private RSA e AES-128) são encriptadas pela hash (no cliente) e enviadas para o servidor no momento do registo.

OK, acho que está esclarecido (dentro da minha cabeça).


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
Rui Carlos

Mas quando fazes login no site, o mega tem acesso à tua password, não? (Sendo que esta password/hash permite decifrar a master key.)

Ou tens uma password diferente para autenticação no site? (Fiquei na ideia que era uma única.)

Share this post


Link to post
Share on other sites
shumy

Pelo método que descrevi, o Mega nunca tem acesso à tua password (mas não sei se é assim que o mesmo procede, não está claro). A password é única, e é usada para decifrar a master key (no lado do cliente).


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.