속성 암호화 기능을 구현할 때에는 다음을 고려하십시오.
속성 암호화 구성을 수정할 경우 데이터를 내보내고 구성을 변경한 다음 새로 구성된 데이터를 가져오는 것이 가장 일반적인 방법입니다.
그러면 기능상의 손실 없이 모든 구성 변경이 전체적으로 적용됩니다. 이렇게 하지 않으면 일부 기능이 손실되어 데이터 보안이 손상될 수 있습니다.
기존 데이터베이스에서 속성 암호화 구성을 수정하면 시스템 성능에 중요한 영향을 미칠 수 있습니다.
예를 들어 기존 데이터가 있는 데이터베이스 인스턴스가 있다고 가정합니다. 이 데이터베이스에는 mySensitiveAttribute라는 속성을 가진 항목이 이미 저장되어 있습니다. 이 속성의 값은 데이터베이스와 색인 파일에 일반 텍스트로 저장됩니다. 나중에 mySensitiveAttribute 속성을 암호화할 경우 서버에서 데이터베이스와 색인 파일을 속성 암호화 구성으로 업데이트하려면 데이터베이스 인스턴스의 모든 데이터를 내보낸 다음 데이터베이스로 다시 가져와야 합니다. 따라서 속성이 처음부터 암호화되어 성능 저하가 방지됩니다.
데이터를 암호화되지 않은 형식으로 내보낼 경우 비밀번호가 틀리면 내보내기가 거부됩니다.
보안 조치의 일환으로, 사용자가 암호화되지 않은 형식으로 데이터를 내보내면 서버는 비밀번호를 묻는 메시지를 표시합니다. 사용자가 잘못된 비밀번호를 입력하면 서버는 암호화되지 않은 내보내기 작업을 거부합니다. 비밀번호를 직접 입력하거나 비밀번호가 들어 있는 파일 경로를 입력할 수 있습니다. 이 파일에는 SSL 비밀번호 파일과 동일한 구문이 있습니다. 인증서 데이터베이스 비밀번호 구성을 참조하십시오.
알고리즘 변경이 지원되지만 잘못 변경할 경우 색인화 기능이 손실될 수 있습니다.
데이터를 암호화하는 데 사용되는 알고리즘을 변경하려면 데이터를 내보내고 속성 암호화 구성을 수정한 다음 해당 데이터를 가져옵니다. 이 절차를 수행하지 않으면 초기 암호화 알고리즘에 따라 작성된 색인이 더 이상 작동하지 않습니다.
암호화된 속성의 앞에는 사용된 암호화 알고리즘을 나타내는 암호 태그가 있으므로 내부 서버 작업에서 데이터를 가져옵니다. 따라서 디렉토리 서버를 사용하면 알고리즘을 변경하기 전에 데이터를 암호화된 형식으로 내보낼 수 있습니다.
서버의 SSL 인증서를 변경하면 암호화된 데이터를 해독할 수 없습니다.
서버의 SSL 인증서는 속성 암호화 기능에서 암호화 및 암호 해독 작업 수행에 사용되는 자체 키를 생성하는 데 사용됩니다. 따라서 암호화된 데이터를 해독하려면 SSL 인증서가 필요합니다. 데이터를 해독하지 않고 인증서를 변경한 경우 해당 데이터의 암호를 해독할 수 없습니다. 이러한 문제를 방지하려면 데이터를 암호가 해독된 형식으로 내보내고, 인증서를 변경한 다음 데이터를 다시 가져옵니다.
데이터를 암호화된 형식으로 전송하려면 즉, 서버 인스턴스에서 다른 서버 인스턴스로 데이터를 내보내거나 가져오려면 두 서버 인스턴스가 동일한 인증서를 사용해야 합니다.
자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 관리 설명서의 "속성 값 암호화"를 참조하십시오.