2010-11-30 4 views
1

app.config는 옵션이 아닌 이유에 관계없이 사용한다고 가정합니다.app.config없이 연결 문자열을 암호화하는 방법

암호화 된 연결 문자열을 어셈블리 자체 또는 XML 파일과 같은 다른 app.config에 저장하는 방법은 무엇입니까?

(나는 그것을 중요한 생각하지 않지만, 이것이 COM 추가 기능 엑셀 2003입니다)

+0

이것은 winform 응용 프로그램입니까 ?? 웹 응용 프로그램 ?? 그렇지 않으면? – Singleton

+0

@Hansmukh : Excel 2003 용 COM 추가 기능. – Arlen

답변

0

당신은 파일을 해독/ 암호화에에서는 System.Security.Cryptography 네임 스페이스의 클래스를 사용할 수 있습니다. 그러나 다른 문제가 발생하면 키를 저장 하시겠습니까? 어셈블리에 저장하면 어셈블리는 을 탐색하여 키를 찾은 다음 다른 사람이이를 사용하여 데이터의 암호를 해독 할 수 있습니다.

는 ProtectedData 클래스에 대한 좋은 사용처럼

http://www.codeproject.com/KB/security/encryptstrings.aspx

http://sharpertutorials.com/simple-string-encryption-and-decryption/

+0

중요한 문제는 키를 보호하는 방법을 찾는 것입니다. – Arlen

+0

중요한 문제는 말할 것도없고, 불가능한 문제를 말하고 싶습니다. 어셈블리에 키가 있으면 공격자가 키를가집니다. 어렵게 만들 수는 있지만 "어둠을 통한 보안"은 연결 문자열을 암호화하는 것보다 암호화가 너무 많아서 공격자에게 충분하지 않을 정도로 키를 숨길 가능성이 높습니다. 가치가 있다면 ... 열쇠를 찾을 것입니다. –

0

소리를 체크 아웃 않습니다. 보호 호출 한 후 로컬 파일을 base64로 변환 및 저장 될 수있는 암호화 된 데이터의 바이트 배열을 (반환 연결 문자열을 포함하는 바이트 배열을 전달

http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx

.

보호 해제를 호출 암호화 된 연결 문자열을 포함하는 바이트 배열을 전달하면 일반 텍스트 연결 문자열을 포함하는 바이트 배열이 반환되고 ASCII 또는 UTF-8 등으로 변환하면됩니다.

분명히 공격자가 응용 프로그램을 실행하는 사용자 계정 그들은 할 수있을 것이다. 문자열을 복구하지만 어셈블리에 암호화 문자열을 저장하는 것보다 보안이 약간 더 깁니다 (사용자 계정에 액세스하지 않고 복구 할 수 있음).

관련 문제