전 인사 부서에서 전직 인원에 대한 기록을 저장하고 검색하는 데 필요한 보충 웹 기반 시스템을 연구하고 있습니다. 나는 그 요구 사항과 싸웠지 만, 결국 시스템은 완전한 SSN으로 검색을 할 수 있어야하고, 완전한 SSN을 검색 할 수 있어야한다는 결론을 내렸다. 이 데이터를 보호하기 위해 일부 단계를 수행하는 것은 나의 제스처를 제쳐두고 제쳐두고 실제로 지금하고있는 일 (당신은 알고 싶지 않음)에 비해 엄청난 개선이 될 것입니다.주민등록번호로 안전하게 저장하고 검색하십시오.
나는 많은 연구를 해왔으며 합리적인 계획을 세웠다. 그러나 모든 것이 암호화/보안과 관련하여 엄청난 복잡성을 가지고 있으며 실수를하는 것은 매우 쉽다.
응용 프로그램의 처음 실행에- 이 큰 임의의 소금을 생성하고 사용하는 128 비트 AES 키는
- 응급 복구를위한 일반 텍스트 파일에이 두 가지를 쓰기 것은 RijndaelManaged 다음과 같이 내 거친 계획이다. 이 파일은 안전한 실제 위치에 오프라인으로 저장됩니다. 응용 프로그램은 파일의 존재 여부를 확인하고 경고가 아직 거기에 있으면 경고음을 울립니다.
- 소금과 열쇠를 어딘가에 안전하게 보관하십시오. 이것은 제가 훌륭한 대답을하지 못하는 부분입니다. DPAPI 사용을 계획하고 있었지만 실제로는 그 것이 얼마나 안전한지 알지 못합니다. 내가 일반 텍스트로 남겨두고 파일 시스템에 저장된 디렉토리에 대한 액세스를 제한하는 편이 낫겠습니까?
- 레코드를 데이터베이스에 쓸 때 위의 큰 소금 값과 함께 SSN을 해시하여 검색 가능한 필드를 생성합니다 (가능한 모든 SSN을 강제로 가져 오지 않고 복구 할 수는 없지만). AES는 원시 SSN을 암호화합니다 (동일한 키를 두 번 암호화하면 다른 결과가 나올 수 있기 때문에) 검색 가능한 (키/iv로) 검색 가능하지만 검색 할 수없는 필드를 생성하는 새 IV가있는 값 검색시
- 그냥 입수되면, 필요 이상/IV
기타를 AES 키를 이용하여 DB의 값을 해독 같은 염 검색 값을 해싱 및 DB
것들 :
- 는 "이 중 하나를 수행하지 마십시오"는 옵션이 아닙니다. 이 작업을 수행해야하며 수행하지 않으면 a) 우리에게 화를 낼 것이며 b) 전자 메일을 통해 일반 텍스트 문서의 모든 번호를 전달하십시오.
이 정보는 Google 네트워크의 내부 용이므로 여기에 구현 된 내용 위에 적어도 해당 보호 계층이 있습니다. 그리고 응용 프로그램 자체에 대한 액세스는 활성 디렉토리에 의해 제어됩니다.
읽고 조언 해 주셔서 감사합니다.
업데이트 # 1 : SSN 검색 필드에 대해 개인 IV를 유지하는 것은 의미가 없다는 것을 깨달았습니다. 각 레코드에 대해 새 IV를 올바르게 생성하고 암호화 된 값과 함께 저장하는 계획을 업데이트했습니다.
업데이트 # 2 : 우리가 할 수없는 물건 목록에서 하드웨어를 제거합니다. 나는 약간의 연구를했는데, 생각했던 것보다 더 쉽게 접근 할 수있는 것처럼 보인다.USB 보안 토큰 중 하나를 사용하면 키 저장에 의미있는 보안이 추가됩니까?
는 [IT 보안 (http://security.stackexchange.com/)이 물어 좋은 곳 없었을까요? – Oded
우리는 확실히 그들이 당신 – Jonesopolis
처음에는 화를하지 않으 : http://security.stackexchange.com/ 더 많은 도움이 될 수 있습니다. 둘째 : SSN이 두 곳에서 동일하면 더 잘 될지 알 수 없도록 암호화 된 ssn과 함께 각 암호화와 함께 새로운 IV를 생성하고이를 암호화 된 SSN으로 저장한다고 생각합니다. 참고로, 저는 보안 전문가가 아닙니다. 구현하기 전에 해당 옵션을 철저히 조사하십시오. –