2010-02-10 9 views
23

나는 아주 잘 디자인되지 않은 중소 기업 소매 웹 사이트를 상속하고 작업하고 있습니다. 무엇보다도 가장 큰 관심사는 현재 신용 카드 처리입니다.온라인 신용 카드 저장소?

현재 소유자는 온라인 주문 양식에서 신용 카드 정보 (이름, 번호, CVV2 및 만료 날짜)를 검색하고 모든 정보를 MySQL 데이터베이스 내의 일반 텍스트로 저장합니다. 그런 다음 누군가가 주문한 이메일에 알림이 전송됩니다. 그런 다음 관리 백엔드 페이지를 통해 주문 및 신용 카드 정보를보고 자신의 판매자와 오프라인으로 처리합니다.

백엔드 페이지에서 정보를 검색하면 신용 카드 번호와 CVV2가 즉시 삭제됩니다 (PHP 스크립트가 자동으로 호출 됨). 해당 페이지가 7 일 이내에 액세스되지 않으면 정보도 삭제됩니다. 따라서 트랜잭션 처리 전 7 일 동안 모든 정보가 일반 텍스트로 데이터베이스에 저장 될 수 있습니다.

이것은 좋은 디자인 같지 않으며 불법 일 수 있습니다. 그것이 불법이라면, 나는 이것을 아직 깨닫지 못하기 때문에 이것을 깨뜨릴 것입니다.

내 질문 :이 규정은 불법이거나 이용 약관 (PCI DSS)을 위반하는 것입니까? 그리고 만약 그렇다면, 어떻게 그가 그에게 그것을 증명할 수 있도록 내가 그의 방식을 바꿀 수있게 할 것입니다 (분명히, 나는 불법적 인 것에 내 손을 넣고 싶지 않습니다.) 또한, 때로는 사용 조건의 표현이 주관적으로 보입니까?) 마지막으로,이 문제를 해결하기위한 최상의 옵션은 무엇입니까 (제 3 자 온라인 판매자, PCI DSS 준수 또는 다른 것)?

+1

거주 국가는 어디입니까? –

+0

나는 미국에 거주하고 있습니다. –

+4

프로그래밍 질문이 아닌 법적 질문이므로이 질문을 주제와 관련이없는 것으로 끝내기로 동의합니다. – durron597

답변

21

이는 PCI DSS를 위반하는 것입니다. 저장하지 않을 정보 (CVV)를 저장하고 있지만 신용 카드 번호 (또한 위반 사항)는 암호화하지 않습니다.

ECI 준수 기기 또는 소프트웨어를 사용하여 모든 온라인 거래를 처리해야한다는 Visa 및 MasterCard 가이드 라인을 위반하는 것은 더욱 악합니다. 인터넷 주문에는 별도의 판매자 계정이 있어야합니다. 그들의 신용 카드 단말기는 전혀 ECI와 호환되지 않습니다. 그들은 새로운 판매자 계정을 얻고 이러한 주문을 처리하기 위해 Authorize.Net과 같은 지불 게이트웨이를 사용해야합니다.

편집

나는 webbsite 소유자가 실제로 새로운 상인 계정을 얻거나 당신의 최선의 방법은이 정보를 저장하는 두 가지 방법으로 암호화를 사용하는 것입니다 지불 게이트웨이를 구현하는 귀찮게 의심 때문에. 그런 다음 신용 카드 정보를 검색하는 데 사용하는 페이지가 암호화되어 (SSL 인증서) 정보가 종단 간으로 안전하도록하십시오.

인터넷 상인 계정을 받고 Authorize.Net과 같은 지불 게이트웨이를 사용하는 것이 좋습니다. PCI와 ECI를 준수하고 현명한 방법으로가는 것 외에도, 비즈니스가 상인 계정을 잃을뿐만 아니라 블랙리스트에 올릴 수 있고 진정한 상인 계정을 다시 가질 수 없도록하는 가능성은 매우 높습니다. 필요한 것은 상인 계정 제공 업체가 자신이하고있는 일을 깨닫고 시작하는 데 어려움을 겪을 수있는 하나의 지불 거절입니다.

+0

ECI 준수가이 상황과 관련이 있습니까? 그는 온라인 거래를하지 않고 거래를 오프라인으로 처리하기 위해 정보를 온라인으로 가져 오는 중입니다. 그것은 거래를 수행하기 위해 전화로 신용 카드 정보를받는 것과 같습니다.그리고/또는 다른 상인 계좌가 필요하다고 말하는가? –

+2

ECI 준수는 웹 사이트에서 주문을 발신했기 때문에 문제가됩니다. 전화로 시작된 경우 ECI는 적용되지 않습니다. 기본적으로 명령을 처리하는 방법이 아니라 명령의 출처입니다. 또한 인터넷에서 시작된 주문은 비 인터넷 주문과 분리되어 있어야하기 때문에 또 다른 판매자 계정이 필요합니다. 이는 주로 지불 거절 문제 때문입니다. –

+0

그건 의미가 있습니다. 고맙습니다. –

0

확실히 PCI 규칙을 위반하는 것입니다. 그러나 저장된 데이터에 암호화를 추가하는 것이 어렵지 않아야합니다. 특히 사람이 볼 필요가없는 경우에는 특히 그렇습니다.

제 3 자 신용 카드 거래 처리 회사에서 근무한 결과 시스템이 좋지 않을 경우 적극 권장합니다. 그러나 TPP로 전송 된 후에도 정보를 암호화하거나 저장하지 않아도됩니다. TPP는 판매자에게 실제로 적용되므로 모든 규정 준수 문제를 해결하고 최고의 교환 비율을 얻을 수 있도록 도와줍니다.

2

모든 보안 및 규정 준수 문제를 다룰 많은 타사 결제 제공 업체가 있습니다.

중소기업의 경우 전문성이있는 사람들에게 확실히 아웃소싱해야하는 기능 중 하나입니다.

2

타사 신용 카드 처리 게이트웨이를 사용하면 클라이언트의 서버에 신용 정보를 저장할 필요가 없습니다. POST 된 cc 정보는 기록 보관에 사용할 수있는 트랜잭션 ID를 반환하는 처리 게이트웨이로 전달됩니다 귀하의 고객이

신용 카드 결제 게이트웨이는 Authorize.net, LinkPoint Central과 같은 회사에서 제공합니다. PayPal도 게임에 참여하고 있습니다. 모든 주요 게이트웨이에는 쇼핑 카트를 널리 사용되는 웹 프로그래밍 플랫폼 (.NET, PHP, Java 등)과 통합하는 기존 코드가 있습니다. 대부분의 주요 쇼핑 카트는 기본 게이트웨이를 즉시 지원하거나, 최소한 대부분의 게이트웨이에 설치할 수있는 모듈을 갖추고 있습니다.

그래서 클라이언트가 인터넷 지불 게이트웨이 설정을 받아야하며 기존 코드를 게이트웨이에 통합해야합니다.

1

지불 데이터를 올바르게 보호하는 것은 복잡한 주제입니다. 아주 큰 회사조차도 시스템에서 많은 수의 신용 카드를 도난당하는 경우가 있습니다. 최소한

, 여기 단계는 고려해야 할 :

  • 온라인 주문 양식 데이터를 캡처하기 위해 HTTPS를 사용하고 있는지 확인합니다.
  • DB와 웹 서버가 다른 상자 인 경우 두 상자 사이에 보안 경로를 지정하십시오.
  • DB에서 지불 데이터를 암호화하십시오. MySQL Reference.
  • 백엔드 웹 페이지에 대한 강력한 액세스 제어 (외부 세계에 실제로 액세스 할 수 있는지, 강력한 암호가 필요합니까? 아니면 HTTPS입니까?)
  • 로그가 없는지 (예 : 디버그 로그) 최종적으로 지불 정보를 파일 시스템에 기록합니다.
4

이것은 PCI 규칙의 주요한 위반 사항입니다. 여기에서 문서를 얻을 수 있습니다. https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml Google Checkout 또는 이와 유사한 제 3 자에게가는 것이 현명합니다. PCI 준수는 커다란 두통으로, 침투 테스트 등을 포함 할 수있는 연례 검토가 포함됩니다 (자체 평가 될 수 있음). 실제로 검토 한 결과, 신용 카드 정보에 액세스 할 필요가 전혀 없으며, 트랜잭션 ID. 데이터를 암호화해야 할뿐만 아니라 암호화 키를 보호하기위한 정교한 계획이 있어야합니다. 이것은 중소 기업이 들어가기를 원하는 것보다 훨씬 큽니다. 위의 조언 중 일부는 좋겠지 만 PCI 사양을 충족하지 못합니다. 문서를 읽으면 곧 큰 사업임을 알게 될 것입니다. 저는 현재 사내 PCI ​​준수 시스템을 지원하며이를 표준에 맞추기 위해 많은 노력을 기울여야했습니다. 우리는 또한 수많은 네트워크 변경을해야했습니다. 비즈니스가 제 3 자로 전환하는 것이 더 저렴할 것입니다.