2017-12-05 15 views
1

나는 사용자 암호를 사용하여 데이터베이스에 저장된 사용자 개인 키를 암호화하는 보안 시스템을 만들었습니다. 따라서 사용자는 데이터베이스에 저장된 개인 키를 해독하는 데 사용되는 올바른 암호를 입력 한 경우에만 개인 키를 검색 할 수 있습니다.보안을 손상시키지 않으면 서 설명 된 시스템에 암호 기억 기능을 추가하는 방법은 무엇입니까?

이 시스템에는 훌륭한 보안 기능이 있지만 '잊어 버린 암호'옵션을 사용하기가 어렵다는 결함이 있습니다. 내가 생각할 수있는 유일한 방법은 모든 개인 키의 복사본을 다른 곳에 저장하고 마스터 서버 암호로 암호화하는 것입니다. 사용자가 암호를 잊어 버리면 서버는 새 암호로 개인 키를 다시 암호화 할 수 있습니다.

이 방법의 문제점은 어떻게 든 모든 계정 정보를 손상시킨 마스터 서버 암호도 함께 손상되는 경우입니다. 시스템을 많이 변경하거나 보안을 손상시키지 않고도 암호 재설정 방법을 추가 할 수 있습니까?

+0

비밀번호 복구를 지원하지 않습니다. 거대한 뱀 피치입니다. 우선 어떻게 사용자를 안전하게 확인할 것입니까? 그런 다음 저장된 개인 키의 보안이 있습니다. 이는 공격자가 서버에 대한 관리자 액세스 권한을 얻으려고 기대하는 거대한 매력입니다. – zaph

+0

@zaph - 비밀 번호 복구와 관련하여 OP가 암호 복구에 대해 말하는 지 확신하지 못합니다. –

+0

예, 미안하지만 잘못 말하면 재설정해야합니다. 비밀 번호 복구 모두 나쁜 습관이고 나는 그것을 할 수 없어 내 사용자 암호를 저장하지 마십시오 XD – Luis

답변

1

개인 키를 에스크로하는 경우 인터넷에 직접 연결되어 있지 않은 다른 서버에서 개인 키를 사용해야합니다. 그런 다음 에스크로 된 키에 대한 모든 액세스를 속도 제한 및 경고합니다. HSM도 고려해보십시오.

+0

에스크로가 무엇인지 모르겠지만, 다른 방법이 없다면 별도의 서버 아이디어가 효과가 있다고 생각합니다. – Luis

+0

여기에는 다른 당사자가 암호화 키 사본을 유지 보수하는 것을 의미합니다. 상대방입니다. – zaph

+0

이것이 내가 볼 수있는 최선의 해결책이기 때문에 잊어 버린 암호가 작동하도록 시스템을 다시 설계해야 할 수도 있습니다. 나는 좋은 해결책을 찾아낸다면 업데이트 할 것이다. – Luis