Jump to content

Simulação de Cloud Server Provider


Recommended Posts

Bom dia.

Visto não haver nenhum local especifico para questões relacionadas com cloud computing, coloco neste local a minha questão:

Alguem me sabe indicar algum serviço existente ou um forma simples de conseguir simular um serviço em nuvem (cloud server provider) que me permita enviar dados para a mesma, a partir desta enviar informação vária para terceiros e posteriormente estes terceiros individuos possam aceder aos dados presentes na nuvem ?

Obrigado.

Link to comment
Share on other sites

Depende um pouco dos terceiros. Tens o Segment.io. Como funciona ao estilo de um sistema de eventos deves conseguir implementar um sistema onde podes fazer pedidos. O problema é se é possível lidar com o assincronismo da comunicação entre as plataformas.

Já trabalhei com este serviço para causar "chain reactions" que se propagavam noutros serviços. O problema é que normalmente não eram recursivos. É relativamente simples usar o segment.io como ponto de entrada, agora para chamadas recursivas para activar outros serviços pode ser algo complexo de gerir e tens que ter bastante cuidado com os erros.

Edited by KTachyon

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Aqui os terceiros não são mais do que users que queiram aceder aos dados que se encontram na nuvem.

O que pretendo não é mais do que:

- O owner dos dados cifra os mesmos e envia-os para a nuvem, enviando ainda outra informação cifrada (chaves, certificados...).

- O CSP vai guardar os dados e envia a informação cifrada (chaves, certificados...) para o user.

- O user utiliza a informação fornecida para comunicar com o CSP e este assim possa validar o seu acesso aos dados.

Podendo ainda ser necessário ter uma DB (muito pequena) SQL para guardar informação para cada user.

Preciso assim de uma forma de simulaçao para um CSP por forma a conseguir efetuar os processos que indiquei. Todo o código que implementei é em python.

Link to comment
Share on other sites

Ah, então não estava a perceber o problema. Existem vários serviços que te permitem guardar coisas na nuvem. Um deles é o Parse, do Facebook, que te dá bastante espaço e banda gratuito para este tipo de serviços. Já tem a base de dados e permite guardar ficheiros que são referenciados na base de dados. A questão aqui é a parte da cifragem da informação. Isso é demasiado custom para achar que existe algum serviço que o faça. Mas os serviços que trabalham neste espaço utilizam todos HTTPS, ou seja, a informação já estará cifrada. Não sei se é solução para o teu problema.

De qualquer forma, se estás a enviar informação cifrada com as chaves e certificados, mesmo cifrados, com qualquer coisa estática que esteja no servidor, não estarás a criar um problema caso algum dia a chave do servidor seja descoberta? É que pode não ser muito fácil actualizar todos os teus clientes caso um dia tenhas que mudar a chave que está no teu servidor para fazer a primeira decifragem.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Aqui a intenção principal é ter uma forma em que é possivel ter informação na nuvem e o proprio CSP não consegue ter acesso a essa informação. Dai os dados serem previamente cifrados. Aqui o CSP so servira como armazenador dos dados sem nunca ter real acesso aos dados. Depois é a forma como sao acedido esses dados por parte dos users. Ou seja, uma forma segura de ter os dados na nuvem sem acesso indevido aos mesmos, tendo um controlo de acesso utilizando o metodo de utilização que indiquei anteriormente.

Mas caso o servidor seja indevidamente acedido a informaçao encontra-se cifrada.

Aqui a intenção e so mesmo tentar perceber se esta forma de disponibilizar informaçao na nuvem é util ou pelo menos permite ter um pouco mais de segurança. Isto tendo em conta o ainda existente torcer de nariz perante o se ter dados na nuvem.

Assim sendo e tendo em conta o que necessito aconselhas utilizar o Parse ? Do que pesquisei encontrei o Windows Azure, Google App Engine e o Heroku. Mas como não estou por dentro dos CSP e em particular este situaçao de simulação estou ainda um pouco perdido naquilo que possa ser o mais util para conseguir o que pretendo.

Link to comment
Share on other sites

Eu já usei vários, mas não posso dizer que tenha usado o Azure ou o App Engine. Eu já usava o Parse antes de ter sido comprado pelo Facebook e, para aquilo que queria, era adequado. Agora a tier gratuita dá 2TB de banda e 20GB de espaço para ficheiros e base de dados (cada, penso eu). Existem é outras limitações que apenas dependem da carga que pretendes servir. Depende só daquilo que pretendes pagar, e da funcionalidade que pretendes.

No teu caso, se a informação for para ser acedida pelo próprio cliente, podes ter a chave só do lado do cliente. Se for necessário que essa informação (ou alguma dessa informação) seja lida por outros clientes, precisas de fornecer a chave pública para desencriptar o conteúdo. Se colocares esta chave pública em conjunto com o conteúdo, a encriptação não serve de muito, pois qualquer um poderá ler essa informação (e não esquecendo que, num sistema de chave pública/privada, o outro cliente também não poderá escrever).

Acho que, apesar de estares a tentar adicionar uma nova layer de segurança ao teu sistema, não me parece que seja efectivamente uma layer de segurança completa, porque acaba por deixar a informação que é necessária para a ler muito próxima da própria informação. Mesmo que encriptada, o que teria que ser feito com uma chave simétrica que irá estar no código que vais distribuir por todos os teus clientes, o que quer dizer que se alguém fosse fazer uma análise profunda à aplicação de cliente iria conseguir chegar à chave simétrica e acabar por ter acesso a tudo. Isto assumindo que conseguia crackar o CSP, que é a parte mais complexa de todo o processo. No fundo só estarás a dificultar o acesso à informação, não estarás efectivamente a proteger muito mais do que já está. A não ser que eu me esteja a esquecer de algum detalhe, o que é perfeitamente possível 🙂

Eu não acho que haja muita desconfiança na cloud. Os grandes serviços costumam ter as suas próprias formas de encriptar os conteúdos de forma a mitigar tentativas de acesso por parte de pessoas mal intencionadas. Claro que podes sempre achar que, lá dentro, podem estar pessoas mal intencionadas, mas aí o teu nível de desconfiança já tem que chegar a extremos em que nem podes confiar nos bancos 😛

Só para te deixar um pouco mais sossegado relativamente a este aspecto, já tive conversas com investidores sobre as empresas que têm os teus dados. Esse pessoal desconfia muito quando tu falar numa empresa que eles não conhecem, mas quando tu falas numa empresa grande que tenha um bom track record na cloud eles ficam contentes com a solução (empresas tipo Apple, IBM, Amazon, Facebook, Google, Microsoft,...). Claro que se disseres a alguém que tens os dados no Parse, podem não te levar a sério, mas se disseres que o Parse é um serviço do Facebook a desconfiança termina 🙂

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Pagar não me interessava muito 🙂 Até porque para o que preciso parece-me que as carateristicas base oferecidas são suficientes.

A informação estará disponibilizada para que qualquer user possa aceder à mesma. Os dados são encriptados utilizando uma chave simetrica do proprietario, sendo depois essa encriptação cifrada com a chave privada do proprietario, que por sua vez será encriptada com a chave publica do CSP.

A informação que irá do proprietário, para o CSP e deste será enviada para o user a fim de poder aceder aos dados, indo encriptado com a chave publica do user, que por sua vez é encriptado com a chave privada do proprietario e novamente encriptado com a chave publica do user.

Onde e como forma de simplificar as coisas, todos os intervenientes tem em sua posse as chaves publicas de cada um.

Eu estou a seguir um artigo existente (http://www.ijana.in/papers/V3I3-3.pdf), onde eles se baseiam nestes princípios e introduzem ainda um conceito de capability lists como forma de melhorar o controlo de acesso e a confidencialidade. Estou assim a tentar reproduzir o que fizeram e tentar ver se de fato é util esta solução como forma de melhorar a segurança na cloud.E precisava agora de conseguir fazer a simulação do CSP para utilizar a implementação que efetuei e poder testar se de fato a coisa funciona ou não.

Edited by Psycho_Mind
Link to comment
Share on other sites

Chego um bocadinho atrasado, mas eu tenho usado o AWS (Amazon Web Services) para vários projectos diferentes e com o serviço gratuito por um ano deves fazer tudo o que pretendes. O S3 dá-te 5GB e 20000 get/put requests por mês e o RDS dá-te 20GB para base de dados. Se depois precisares de processar dados na nuvem, o EC2 dá-te uma imagem de 30GB (que podes customizar como quiseres) e 750 horas por mês, ou seja, podes correr processos na máquina 24/7 de modo gratuito no primeiro ano.

Link to comment
Share on other sites

Chego um bocadinho atrasado, mas eu tenho usado o AWS (Amazon Web Services) para vários projectos diferentes e com o serviço gratuito por um ano deves fazer tudo o que pretendes. O S3 dá-te 5GB e 20000 get/put requests por mês e o RDS dá-te 20GB para base de dados. Se depois precisares de processar dados na nuvem, o EC2 dá-te uma imagem de 30GB (que podes customizar como quiseres) e 750 horas por mês, ou seja, podes correr processos na máquina 24/7 de modo gratuito no primeiro ano.

Ainda vens a tempo... Quantas mais ferramentas disponiveis tiver para poder simular, melhor. Vou entretanto também utilizar uma solução numa rede local e ver como a coisa resulta, mas de qualquer forma vou utilizar as ferramentas que me aconselharam e até serve para comparar resultados entre os diferentes ambientes.

Obrigado.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • 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.