Pergunta

Possíveis Repetições:

  1. Melhores práticas para fotografar e armazenar informações de cartão de crédito com PHP
  2. Armazenar informações de cartão de crédito
  3. Armazenar Informações De Cartão De Crédito

Eu preciso para armazenar números de cartão de crédito dentro de um site de e-commerce.Eu não pretende armazenar todo o número do cartão de crédito, pois isso seria extremamente arriscado.Eu gostaria de armazenar pelo menos os primeiros cinco dígitos para que eu possa, mais tarde, identificar a instituição financeira que emitiu o cartão.Idealmente, eu gostaria de armazenar o máximo de crédito, número, como eu de forma segura, para auxiliar qualquer futuro, referências cruzadas, etc.

Como muitos dígitos, e que em particular dígitos, posso armazenar com segurança?

Por exemplo, eu imagino que não seria seguro o suficiente:

5555 5555 555* 4444

Porque você poderia calcular a falta dígitos.

Da mesma forma, este seria seguro, mas não ser tão útil:

5555 5*** **** ****

Há um bem aceito padrão para o armazenamento de crédito parcial números?

Foi útil?

Solução

O padrão de segurança dos dados do cartão de pagamento declara que, se você estiver lidando com dados do titular do cartão, estará sujeito às restrições do PCI DSS (que é muito abrangente e um desafio a cumprir). Se você deseja armazenar parte de um número de cartão e não deseja lidar com o padrão, você precisa garantir que a) você armazena Não mais que os 6 primeiros e os últimos 4 dígitos; b) Você nunca armazena, processa ou transmite mais do que isso. Isso significa que o truncamento deve ser realizado antes que os dados entrem seu controle.

Dado que você está falando sobre um site de comércio eletrônico, acho que você terá que lidar com o PCI DSS mais cedo ou mais tarde (já que se você não estiver tomando panelas completas, não poderá processar transações). Realisticamente, então, você deve evitar armazenar mais do que os 6 primeiros e os últimos 4 dígitos de uma panela; O padrão então não se importa com esses dados e você pode armazená -los em qualquer forma que achar adequada. Se você armazena, digamos, os 7 primeiros dígitos, o requisito 3 do padrão é iniciado (e você começa a realmente entender o gerenciamento das chaves na criptografia).

Espero que isso seja útil.

Outras dicas

De Março De 2013 Edição:
Muito pertinente o recurso é o PCI Security Standards Council, uma organização fundada em 2006 por cinco das maiores marcas de Cartão de Crédito global (AmEx, Visa, MasterCard, JCB International e Descoberta) e o que é de fato a autoridade em questões de Segurança para a Indústria de cartões de Pagamento (PCI).
Esta organização publica, em particular, o PCI Padrão de Segurança de Dados, que atualmente está na sua versão 2.0 edition, que abrange questões como a gestão completa ou parcial de números de cartão de crédito.Este documento se livremente disponível, mas requer um simples registo e confirmação dos termos de licença.

O seguinte é o original, c.2009 respostas, principalmente correto, mas apócrifo.
Uma prática comum (se é legal ou não, não sei) é armazenar os últimos 4 dígitos, como isso pode ser usado para ajudar o cliente confirmar que de seus cartões de crédito foram utilizados para que uma determinada transação.

Sem melhorar significativamente as chances de uma pessoa mal intencionada adivinhar o número completo, pode-se armazenar os primeiros 4 dígitoss que estão representante da instituição financeira que emitiu o cartão, como mencionado na questão.

NÃO, salvar muitos mais dígitos do que estes 8 dígitos porque, de outra forma, dada a LUHN-10 soma de verificação, você pode fornecer informações suficientes para fazer adivinhar o número completo mais plausível (se ainda relativamente difícil, mesmo com uma visão da série utilizada por uma determinada emissora, em um determinado período de tempo, mas deve-se ser cuidadoso...)

Para tornar tudo isto mais seguro, tecnicamente e legalmente, você pode considerar somente o armazenamento de tais informações se o cliente explicitamente permite que ele.Você também deve considerar o mascaramento esta informação com um simples hash para armazenar no banco de dados.

Também, o que você pode / deve armazenar a seguir uma transação particular, é o ID da transação fornecido pelo Processador de Cartão de Crédito, no momento em que o transacton é submetido.Este ID é a chave que permite localizar a maioria (todos?) as informações que você seria mesmo necessário, haveria algum problema com uma determinada transação.Este tipo de informação, normalmente, podem ser consultados a partir de um web site seguro mantido pela empresa de Processamento, juntamente com alguns relatórios agregados, o que pode incluir um agrupamento por cartão-tipo (Amex, Visa...) se é por isso que você está pensando de armazenar os quatro primeiros.

Se você não precisa armazenar todo o número do cartão de crédito, por que precisa armazená -lo? Se você deseja salvar a instituição financeira que emitiu o cartão, por que você não armazena a instituição financeira que emitiu o cartão?

O padrão aceito é não armazená -los.

Em certas jurisdições, você pode estar violando a lei armazenando -as ou em qualquer parte deles.

Em vez disso, você pode armazenar um hash unidirecional (e, portanto, irrecuperável) do número do cartão de crédito.

As empresas de cartão de crédito têm um padrão para isso. Você provavelmente o encontrará enterrado em algum lugar nos termos de serviço do seu processador de pagamento, obedecerá a este padrão. Ele responde a suas perguntas. Você pode encontrar o padrão aqui

Sua pergunta específica é respondida na seção 3.3 do documento PCI/DSS. Os seis primeiros e os últimos quatro são máximos para exibição. Os recibos do cliente (papel?) São mais restritivos. Aqueles com uma necessidade legitimada de saber podem ver dados completos do cartão.

Minha recomendação é entrar em contato com seu provedor de comerciantes e ver quais opções estão disponíveis para você. Vários gateways de transações modernos possuem recursos "cofre", onde informações confidenciais são armazenadas no provedor e você simplesmente faz referência aos clientes por um número de token quando deseja cobrá -los ou verificar as informações da conta.

Na mesma linha, o uso de tokens específicos da transação pode ser usado para fazer referência aos dados necessários armazenados no sistema de provedores.

No entanto, não posso enfatizar o suficiente a importância de ler e entender o PCI DSS. Simplesmente punir o armazenamento seguro não o obolpa magicamente de estar sujeito a requisitos de conformidade com PCI !! Isso só é possível quando o seu sistema nunca toca nos dados completos do cartão.

Aqui no Canadá, a maneira usual é armazenar os primeiros 4 dígitos (para identificar a instituição financeira) e os 4 Últimos dígitos para identificar o cartão de crédito.

Mas certifique -se de que você não quebrou nenhuma lei.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top