2010-03-16 1 views
3

여기에 CC의 세부 정보를 저장하는 데 사용하는 모델이 얼마나 안전합니까?신용 카드 세부 정보를 저장하는 보안 모델에 대한 생각

우리의 모든 정보는 공개 키 암호화를 사용하여 암호화되며 키 쌍은 사용자에 따라 다릅니다 (서버에서 생성되며 개인 키는 데이터베이스에서 해시 된 사용자 비밀번호를 사용하여 대칭 암호화됩니다). 그래서 기본적으로 사용자가 SSL 연결을 통해 자신의 암호를 보내고 소금을 사용하여 MD5 해시를 생성하고 암호를 사용하여 개인 키를 암호화하고 개인 키가 서버에 저장됩니다. 사용자가 지불하기를 원하면 암호를 보냅니다. 암호는 개인 키를 암호 해독하고, 개인 키는 CC 세부 사항을 암호 해독하고 CC 세부 사항에 요금을 부과합니다.

+0

1) MD5는 보안]을 위해 사용해서는 안됩니다, 해시 충돌을 현실 세계에서 생성되었습니다 .2)이 시스템에 신뢰 관계가 없으므로 비대칭 암호화의 작업이 아닙니다 (SSL을 제외하고는 모두 유효합니다). – rook

답변

4

개인 키를 보호 할만큼 사용자의 암호가 안전하다면 개인 키를 건너 뛰고 비밀번호 (a suitable key derivation algorithm 통해)를 사용하여 신용 카드 번호를 암호화하지 않으시겠습니까? 불필요한 합병은 확실히 이 아니며은 보안을 향상시킵니다.

이 체계는 공개 키를 사용하지 않으며 비대칭 알고리즘이 여기에 적합하지 않음을 나타냅니다.

3

이것은 신용 카드의 보안을 사용자의 암호 강도와 연결하며 사용자마다 다르며 일반적으로 약합니다. 자신의 대칭 암호화 키를 작성하여 안전하게 유지 한 다음 doing a bunch of complicated stuff that experts invented, involving initialisms like CBC, CTR, and IV을 작성하는 것이 좋습니다.

+0

링크에서 논의 된 내용은 문제는 여기에서의 문제가 암호 문제가 아닌 키 관리 문제이기 때문에 문제에 대한 해결책을 찾아야합니다. – Henri

0

공개 키를 사용하지 않으면 비대칭 암호를 수행 할 필요가 없다는 것에 동의합니다.

항상 그렇듯이 여기서의 문제는 키 관리 문제입니다. 보안이 취약한 이유는 데이터를 해독하는 키를 안전하게 숨기는 방법을 알지 못하기 때문입니다.

확실하지는 않지만 하드웨어 보안 모듈을 구입하여 HSM에서 키를 관리하거나 HSM 마스터 키로 모든 고객 (개인) 키를 암호화 할 수있는 경우에는 확실하지 않습니다.

"마스터"키를 저장할 적절한 장소를 찾아야합니다. 가능한 경우 Windows 스토어를 예로들 수 있습니다. 그러나, 나는 창문 저장이 얼마나 안전한지를 정말로 모른다.

1

카드 번호와 개인 키 파일을 함께 저장하는 것이 확실하지 않습니다. 암호화 된 개인 키 파일을 사용할 수있는 경우 개인 스타일 키 공격을위한 문을 여는 개인 키 파일을 암호화하기 위해 사용자 비밀번호를 사용하는 것처럼 보입니다.

공개 키 암호화를 사용하려는 이유가 확실하지 않습니다. 속도가 매우 느릴 수 있습니다. 또한 사용자 당 1 키 쌍의 모델은 확장 할 수 없습니다 (공개 키 조작을위한 매개 변수를 생성 할 수있는 파일 수는 몇 개인 지). 도난당한 카드 목록이 양호한 지 확인하는 사람들은 폭력적인 행동을 할 수 있습니다.

사용자가 없을 때 자신의 마스터 암호를 추가하고 조합에서 주요 일정을 추출하여 카드 번호 사용을 방지 할 수 있습니다. 일반적으로 사용자가없는 경우 카드 번호를 사용할 필요가 있으므로 대부분의 판매자는이 엄격한 요구 사항을 따르지 않습니다.

사용자 별 키를 원할 때마다 (매번 다른 IV를 사용해야하는 경우) openssl EVP_BytesToKey 경로로 이동하여 매번 암호화 키와 iv가 적용될 마스터 비밀 키로 다른 소금을 전달할 수 있습니다 파생 될 것입니다 (그리고 그들은 각 사용자마다 다를 것입니다).

마지막으로 결제 수단 사용은 설명 된대로 사용자 비밀번호만으로 보호됩니다.일부 사용자는 약한 암호를 선택합니다. 따라서 사용자가 카드를 소유하고 있는지 확인하기 위해 추가적인 교정을 사용하고 싶을 수 있습니다.이 중 일부는 실수로 인한 사기 진료와 싸우고 실제 사기 충원을 낮추는 데 유용합니다.