연결 문자열 보호

JDBC 드라이버 다운로드

응용 프로그램 보안을 뒷받침하는 데 가장 중요한 목표 중 하나는 데이터 원본에 대한 액세스를 보호하는 것입니다. 데이터 원본에 대한 액세스를 제한하려면 사용자 ID, 비밀번호, 데이터 원본 이름과 같은 연결 정보의 보안을 뒷받침하도록 예방 조치를 취해야 합니다. 소스 코드와 같이 사용자 ID와 비밀번호를 일반 텍스트로 저장하면 심각한 보안 문제가 발생합니다. 사용자 ID와 암호 정보가 외부 원본에 들어 있는 컴파일된 버전의 코드를 제공하는 경우에도 컴파일된 코드가 디스어셈블되어 사용자 ID와 암호가 노출될 수 있습니다. 따라서 사용자 ID 및 비밀번호와 같은 중요한 정보가 코드에 없어야 합니다.

권장 사항

응용 프로그램 소스 코드에 연결 URL과 함께 비밀번호를 저장하지 않는 것이 좋습니다. 대신 액세스가 제한된 별도의 파일에 비밀번호를 저장하는 것이 좋습니다. 응용 프로그램을 실행하고 있는 컨텍스트에 해당 파일에 대한 액세스 권한을 부여할 수 있습니다.

또 다른 접근 방식은 암호화된 암호를 파일에 저장하는 것입니다. 이때 키를 특정 위치에 저장할 필요가 없으며 사용자의 암호에서 파생되지 않은 암호화 API를 사용해야 합니다. 예를 들어 인증서 기반 퍼블릭/프라이빗 키 쌍을 사용하거나 두 당사자가 키 계약 프로토콜(Diffie-Hellman 알고리즘)을 사용하여 비밀 키를 전송하지 않고도 암호화에 대해 동일한 비밀 키를 생성하는 방법을 사용할 수 있습니다.

사용자 ID와 암호를 제공하는 사용자의 경우처럼 외부 원본에서 연결 문자열 정보를 가져오는 경우 원본 입력의 유효성을 검사하여 입력이 올바른 형식을 따르며 연결에 영향을 주는 추가 매개 변수가 들어 있지 않은지 확인해야 합니다.

참고 항목

JDBC 드라이버 응용 프로그램 보안