Com segurança Armazenar lado sensível cliente dados

votos
2

Voltar História Eu trabalho em uma empresa de tamanho pequeno-médio e estamos refazendo o nosso cliente enfrenta portal contabilidade e meu gerente quer fazer opção de clicar pagamento único com o cartão de crédito informações armazenadas em cookies no computador dos usuários finais. Eu não estou apaixonada essa a idéia .... em tudo (na verdade eu ainda estou tentando mudar de idéia). Dito isto que estou tentando torná-lo tão seguro quanto eu posso, eu acho que eu tenho uma maneira de minimizar o risco, aqui está:

usando SSL para todas as bolsas

criptografar os dados em um número de cookies que são armazenados localmente com a cifra como uma senha de confirmação que deve ser inserido cada vez. forçando a cifra a ser forte, dizer mais de 15 caracteres mistos, e isso é confirmado por verificar um hash-lo no servidor.

Eu sei que o principal ponto fraco é a informação de cookie que é armazenado em uma criptografia de duas vias, que disse esta é uma forma razoavelmente seguro para armazenar a informação ....

A Pergunta Como ela pode ser melhorada usando este método básico.

Por favor, eu sei que não vai ser um monte NÃO FAÇA! respostas (se eu não estava pedindo, eu seria um deles) então por favor ser mais específico, você está pregando para o coro sobre isso para ser construtivo nos negativos.

Editar - Se você tem um ponto específico que você acha que eu posso usar no raciocínio com o meu gerente por favor, compartilhe. (Eu já trouxe até que talvez legalmente responsável se a informação CC é roubado de um cookie, e ele disse que iria ter um advogado olhar que mais)

Obrigado.

Publicado 01/08/2012 em 12:42
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

usando SSL para todas as bolsas

Deve ser feito, não importa qual a solução que você usa, contanto que os cartões de crédito / info pagamento está envolvido. Como você deve saber.

criptografar os dados em um número de cookies que são armazenados localmente com a cifra como uma senha de confirmação que deve ser inserido cada vez. forçando a cifra a ser forte, dizer mais de 15 caracteres mistos, e isso é confirmado por verificar um hash-lo no servidor.

Eu costumo lembrar o meu número de cartão de crédito, e eu prefiro colocar isso em (como eu já estou com a intenção de não revelar a ninguém) do que um longo e complicado chave que a maioria dos clientes iria escrever em algum lugar de qualquer maneira.

Mesmo que não estão autorizados a dizer "não faça isso!" - por que você não nos pedem boas maneiras de dissuadir seu gerente de tomar esta decisão? ;-)

O que faz você dispostos a armazenar esta do lado do servidor? Não é como lojas Amazon minha informação de cartão de crédito em um cookie. A idéia básica é a de armazenar todas as informações do usuário no servidor, e acessá-lo quando um utilizador autenticado com êxito (ou seja logado).

Cookies são, neste caso, usado para manter o registrado no -state entre sessões do navegador. A informação deste logado -session tem acesso a é armazenado no servidor. Com informações sobre os cartões de crédito isso geralmente envolve muito mais segurança do que a outra informação sensível, mas é a mesma idéia básica.

Armazenamento de números reais de cartões de crédito em cookies (criptografados ou não) poderia ser um pesadelo PR potencial quando algum cliente tech-savvy percebe o que está fazendo.

Rosca para mais leitura: Que informação é OK para armazenar em cookies?

Edit: Quanto mais eu leio através desta questão o mais estupefato que recebo. Será que o seu gerente sabe mesmo o que um cookie é? Como funciona? Qual o ponto de que é? Dizer que você deseja armazenar informações sobre os cartões de crédito em cookies é como dizer que você quiser usar sapatos como um meio para transportar Cadarços de. Ele está ativamente e intencionalmente tiro no próprio pé sem razão aparente. O que ele quer alcançar pode ser conseguir muito mais fácil com outros, técnicas muito mais seguro - sem qualquer perda de funcionalidade que seja.

De um artigo ligado por Scott Hanselman:

Armazenar cartões de crédito

Se você absolutamente deve armazenar dados de cartão de crédito deve ser armazenada de forma criptografada.

Existem vários padrões de conformidade (especificamente CSIP e PCI) que os fornecedores são obrigados a seguir que descrevem regras específicas de como as redes precisam ser protegidos e os dados armazenados. Estas regras são bastante complexos e exigem certificação muito caro. No entanto, essas normas são tão rigoroso e caro para obter verificado para que é quase impossível para as pequenas empresas a cumprir. Enquanto fornecedores menores não são susceptíveis de ser empurrado para cumprir, não cumprir essencialmente libera a empresa de cartão de crédito de qualquer responsabilidade caso haja fraude ou uma violação de segurança. Em outras palavras, você é totalmente responsável por toda a extensão do dano (realisticamente você é de qualquer maneira - eu estou apenas ecoando os conceitos difíceis de estas certificações).

(Grifo meu)

Respondeu 01/08/2012 em 12:48
fonte usuário

votos
1

Saliente que cookies são transmitidos através de cada solicitação. Se você armazenar informações de cartão de crédito em si não só é menos seguro, mas você não está realmente ganhar qualquer tipo de benefício de tempo realista. Fora de ser mais fácil de implementar, não há razão para fazê-lo desta forma. Desde que você está a implementá-lo, ele não deve se preocupar com a facilidade de implementação de qualquer maneira ...

Edit: Você também poderia apontar que, se alguma coisa der errado, ele vai ser o único ser demitido por isso. Ameaçando seu trabalho é uma ótima maneira de levá-lo para vê-lo à sua maneira.

Respondeu 01/08/2012 em 13:29
fonte usuário

votos
0

Não use a senha do usuário como a chave, ou, pelo menos, ele não deve ser a única coisa que compreende a chave. Você deve criptografar as informações de conta de cartão de crédito com uma chave privada que é armazenada no servidor (e não conhecida para o utilizador).

Você pode descriptografar as informações de cartão de crédito no servidor, mesmo que ele é armazenado no cliente. Desta forma, não há nenhuma maneira para que as informações do cartão de crédito criptografados para ser revertidas no cliente (sem conhecer a chave privada).

Você pode criptografar as informações de conta de cartão de crédito com a chave privada e senha digitada do usuário, dessa forma, eles não podem ser enviados para o servidor para ser decifrado sem a senha correta.

Respondeu 01/08/2012 em 18:12
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more