데이터베이스에 공개 키와 개인 키를 안전하게 저장하려고합니다.공용/개인 키를 데이터베이스에 안전하게 저장하십시오.
따라서 개인 키를 데이터베이스에 안전하게 저장하려면 어떻게해야합니까? (공개 키는 어쨌든 안전 할 필요는 없습니다).
현재 두 가지 방법이 있습니다.
- 개인 키에 암호 (예 : 사용자의 마스터 비밀번호)를 추가하고 데이터베이스에 문자열
- 암호화 대칭 알고리즘을 사용하여 개인 키 같은 것을 저장하고 데이터베이스 의 문자열로 그 저장
이러한 방법으로 충분합니까?
어느 것이 더 낫거나 같은 것입니까?
더 좋은 방법이 있습니까?
업데이트 왜 내가 이것을하고 싶은지 혼란 스러울 수도 있습니다. 내 유스 케이스는 팀 기반 암호 관리 시스템입니다. 공용 키는 암호를 암호화하는 데 사용되며 (팀의 각 사용자에 대해 하나씩) 비밀 번호는 암호를 사용하여 암호를 해독하는 데 사용됩니다.
대칭 암호화가 작동하는 방식은 첫 번째가 두 번째와 다릅니다. 그것들은 본질적으로 동등하지만 두 번째 암호 알고리즘을 사용하면 직접 대칭 암호화 알고리즘을 선택할 수 있습니다. 둘 다 장점과 단점이 있습니다. 요구 사항을 제시하지 않았으므로 이는 의견을 기반으로합니다. –
개인 키가 안전하게 저장되어 있어야합니다 (즉 해커가 암호를 해독하면 해독 할 수 없음). 당신의 말에서 본질적으로 같은 것이지만, 두 번째 방법은 제게 더 많은 통제권을 부여합니다. 내가 맞습니까? 더 좋은 방법이 있습니까? 또한 어떤 종류의 요구 사항을 알고 싶습니까? –
네,하지만 두 번째 방법은 단점도 가지고 있습니다. 왜냐하면 모든 사람, 심지어 암호 작성자조차도 암호화를 올바르게 구현하기가 어렵 기 때문입니다. 오류가 발생할 여지는 많지 않지만 잠재적으로 안전하지 않을 수 있습니다. 제가 말했듯이, 이것은 의견에 근거한 것입니다. –