2012-05-08 2 views
0

내 응용 프로그램은 사용자 상호 작용을 Session에서 수집 한 암호화 된 파일에 저장합니다. 세션은 오프라인 시험과 같아서 답을 저장하는 것뿐만 아니라 마우스 클릭, 스크린 샷 등을 저장할 수도 있습니다.중요한 데이터를 앱 수명 동안 저장/변조하는 데 권장되는 방법

세션은 ATOMIC으로 유지되어야하므로 세션을 유지해야합니다. 증분 파일을 저장하고 끝까지 함께 패치합니다. 세션의 앱이 변조 된 파일의 흔적을 발견하면 세션을 실격 상태로 표시합니다.

  • 생성 된 증분 파일 만 응용 프로그램에서 액세스 할 수 :

    나는 무엇을 달성하고자하는. 다시 말해 권한 상승 권한이있는 사용자는 수정하거나 삭제할 수 없습니다.

  • 응용 프로그램에서 세션을 패키징 할 때 아무도 증분 파일을 변조하지 않았는지 Windows에 의존하지 않는 방법입니다.
  • 메모리 탬 퍼링 방지. 즉, 메모리 데이터가 강제로 수정 된 경우, 내 애플은 그것에 대해 알게 될 것입니다. 이것이 가능한가?

나는 IsolatedStorage, 해시 등을 생각했지만 이런 종류의 일을 한 다른 사람들로부터 조언을 받기를 원했습니다.

답변

0

SecureString을 사용하여 중요한 정보를 저장할 수는 있지만 메모리에만 저장하십시오. 그리고 메모리 덤프를 피하십시오.

파일 시스템에서 중요한 정보가 보이지 않도록 파일을 암호화 할 수 있습니다.

파일 삭제를 피할 수는 없지만 응용 프로그램의 수명 동안 파일을 잠글 수는 있지만 방탄은 해당되지 않습니다.

1

특히 .NET (및 Java)과 같은 관리 환경에서는 시스템을 완전히 제어 할 수있는 사용자와 동일한 컴퓨터에서 실행하는 동안이 작업을 안전하게 수행 할 수 없습니다. 보안이 필요한 응용 프로그램의 부분을 중앙 시스템 (예 : 웹 서비스)으로 이동해보십시오. 이런 식으로 아무도 그 논리에 디버깅 도구를 부착하거나 메모리 덤프를 만들 수 없습니다. 이것은 응용 프로그램을 보호하는 유일한 방법입니다.

관련 문제