2009-10-02 4 views
4

CodingHorror blog post에서 한 주석 작성자는 예기치 않은 알고리즘이 Reflector으로 아주 쉽게 분해 될 수 있기 때문에 예전보다 프로그램에서 중요한 구성 정보 (예 : SQL Server 연결 문자열)를 숨기기가 더 어렵다는 관찰을했습니다.app.config에서 암호화 된 appSettings 요소를 얼마나 안전하게 사용하고 있습니까?

다른 주석 작성자는 암호화 된 appSettings를 대안으로 사용할 수 있다고 제안했습니다.

암호화 된 appSettings의 보안 수준은 어떻게됩니까? 그것은 은행 금고, 잠긴 문 또는 열린 창입니까? 그 이유는 무엇입니까? "민감한 정보"를 실행 파일에 저장하는 것이 안전할까요?

답변

2

암호화 알고리즘이 안전합니다. 보안을 위해 암호화를 사용하는 경우 주요 문제는 키의 안전한 관리입니다.

응용 프로그램 실행 파일의 키를 숨기는 것이 결코 안전하지는 않지만 Reflector와 같은 도구를 사용하여 관리되는 실행 파일에서 찾기 쉬운 기존의 관리되지 않는 실행 파일보다 쉽게 ​​찾을 수 있습니다.

구성 파일 암호화는 서버에서 유용 할 수 있습니다. 예를 들어 컴퓨터 키를 사용하여 DPAPI를 사용하여 web.config를 암호화하는 경우 서버에 로그인하거나 서버 디스크에 대한 쓰기 권한이있는 사용자 만 암호를 해독 할 수 있습니다.

서버 디스크를 네트워크를 통해 액세스하거나 응용 프로그램 디렉토리의 백업 사본에 액세스하면 암호를 해독 할 수 없습니다.

0

실제 질문은 누가 사용자와 암호를 차단하려고합니까? 데스크톱 응용 프로그램에서 사용자는 자신의 계정으로 데이터베이스에 액세스 할 수 있으며 pwd는 필요하지 않습니다 (신뢰할 수 있음). 웹 응용 프로그램에서 설정 파일은 (잘하면) 보호 된 장소에 있습니다. 지금까지 나는 config 파일을 암호화 할 많은 이유를 찾지 못했습니다.

+0

나는이 응용 프로그램이 있다고 가정하고, 그렇지 않은 경우 첫 번째 위치에 암호화 된 AppSettings가있는 이유는 무엇입니까? –

관련 문제