우리는 비공개로 유지하려는 일부 데이터 (웹 서버에 로컬)를 사용하는 인트라넷 응용 프로그램 (C#)을 개발 중입니다. 이 데이터는 기존 데이터 저장소를 사용하여 암호화됩니다 (AES). 우리는 기계에 물리적으로 접근하는 것을 완전히 막을 수는 없습니다..NET 응용 프로그램에서 어떻게 암호화 키를 숨 깁니까?
확실히 완벽한 보안 기능은 제공되지 않습니다. 그러나 누구든지 데이터에 대한 무단 액세스를 가능한 한 어렵게 만들고 싶습니다.
키를 저장하는 것이 가장 좋은 방법입니다. 일부 컴퓨터 고유 ID를 기반으로 암호화하는 것은 옵션이지만 해당 정보는 컴퓨터에서 진단 도구를 실행하는 모든 사람이 쉽게 사용할 수 있습니다.
응용 프로그램에서 인코딩하는 것은 옵션입니다 (응용 프로그램 제외). 그러나 .NET 어셈블리는 디 컴파일이 매우 쉽습니다. 그래서, 그것을 난독 처리하고, 암호화 발사기를 사용하고, 컴파일하는 것이 가장 좋을까요?
내가 누락 된 옵션이 있습니까?
우리는 분명히 분명합니다. 누군가가 결정되면 그것은 잃어버린 원인이 될 수 있습니다. 그러나 우리는 제약 조건에서 가능한 한 열심히하려고합니다.
이것은 내가 과거에 해낸 방법입니다. –
컴퓨터에 액세스 할 수있는 경우 암호화 된 섹션을 참조하는 응용 프로그램을 작성할 수 없으며 일반 텍스트가 전달됩니다. 나는 당신이 기계에 접근 할 수 없다면 이것이 안전하다고 생각했다. – user74824
@yahoo : 정확합니다. – NotMe