데이터베이스에 암호화 된 데이터를 저장하도록 요구하는 서버 측 응용 프로그램을 구축하고 있습니다. 클라이언트가 데이터에 액세스하면 암호화 된 데이터도 전송되어야합니다. 클라이언트마다 고유 한 로그인 정보가 있습니다.암호화 된 데이터에 대한 다중 사용자 액세스
원래이 아이디어는 AES와 같은 대칭 알고리즘으로 암호화 된 데이터를 저장하는 것입니다. 따라서 클라이언트가 데이터에 액세스하려고 할 때 암호화 된 데이터는 클라이언트로 전송되는 반면 키는 클라이언트의 공개 키로 암호화됩니다.
데이터를 안전하게 저장하고 전송할 수 있습니까? 아니면이 문제에 대한 더 나은 해결책이 있습니까?
업데이트 : 각 클라이언트의 공개 키를 사용하여 암호화 된 AES 키의 복사본을 유지하려는 Søren의 제안을 따르는 경우 추가 클라이언트를 추가하기 위해 어딘가에 저장 될 키가 포함되지 않거나 어떤 방식 으로든 생성 될 수 있습니다 ?
나중에 다른 클라이언트에 데이터에 대한 액세스 권한을 부여해야하는 경우 관리 공개 키를 사용하여 대칭 키를 저장하는 것이 좋습니다. 원래 AES 키를 가져와 새 공개 키로 다시 암호화하려면 개인 키 중 하나가 필요합니다. – Thorarin
사실. 기존 클라이언트는 서버에서 AES 키를 가져온 다음 새 클라이언트의 개인 키로 서명하여 새 클라이언트에 대한 액세스 권한을 부여 할 수 있습니다. 또는 클라이언트가 하나의 개인 키를 공유 할 수 있습니다. 정확한 보안 요구 사항에 따라 달라집니다. –