2010-04-19 5 views
3

Windows Mobile 6.1을 실행하는 스마트 장치 용 C# 응용 프로그램을 작성하고 있습니다. 그것은 꽤 기본입니다. 데이터베이스를 쿼리하고 결과를 얻는 것. 너무 화려하지는 않습니다..NET Compact Framework 연결 문자열 암호화/보안

이 프로그램은 내부적으로 배포 될 예정이지만 우리는 여전히 SQL 연결 정보로 보안을 유지하려고합니다.

프로그램에서 연결 문자열을 암호화/보안 설정하는 가장 좋은 방법은 무엇입니까? AppSettings를 사용하는 .NET 프로그램에 대한 예제를 보았지만 솔루션 속성에 Setting stab이 표시되지 않습니다.

C#/Visual Studio 2008에서 응용 프로그램을 처음 개발 한 것이므로 일부 설정이 누락되었을 수 있습니다.

도움 주셔서 감사합니다.

답변

3

프로그램에있는 경우 본질적으로 보안되지 않습니다. 앱에 포함 된 정보와의 보안 연결을 설정하는 기능이있는 경우, 시간과 욕구가있는 숙련 된 해커가 정보를 빼낼 수 있습니다.

하지만 위협 수준이 걱정 되십니까? 분명히 app.config 파일에이 파일을 던지면 보안 수준이 떨어집니다. 일어날 일은 누군가가 텍스트 리더와 타 - 파일로 파일을 열면, 그들은 당신의 신임장을 가지고 있다는 것입니다.

설정 파일에 암호화 된 버전을 저장하고 앱에 비공개 키를 보관해야 할 수도 있습니다. 최소한 텍스트 판독기는이를 "깨뜨릴"수 없습니다. 물론 누군가가 리플렉터를 사용하고 개인 키를 얻기 위해 앱을 디 컴파일 할 수 있습니다.

그럼 앱을 난처하게 만들 수 있습니다. 그러면 개인 키를 찾기가 더 어려워 질 것입니다. 예, 여전히 불가능한 것은 아닙니다.

아마도 개인 키가 웹 서비스 등을 통해 서버에서 제거되기를 원할 수도 있습니다. 그런 다음 누군가가 앱을 가지고 있다면 얻을 수는 없지만 웹 서비스 호출 방식을 항상 리버스 엔지니어링 할 수는 있습니다. 또는 man-in-the-middle을하고 네트워크상의 키를 살펴보십시오.

아마도 전송을 보호하기 위해 SSL을 사용할 수 있습니다. 인증되지 않은 장치가 키를 얻는 것을 더 어렵게 만들기 위해 서비스에서 MAC 필터링을 수행 할 수 있습니다.

여기에서 진행 상황을 확인할 수 있습니다. 각 보안 수준에는 점점 더 많은 작업이 필요합니다. 점점 더 많은 유지 보수. 시나리오에 따라 투자 수익이 어느 정도 될지 결정해야하며, 투자하려는 노력의 양에 대해 안심할 수있는 수준의 보안을 선택해야합니다.

0

도움이 될지 모르겠지만 VS2005 이전 Windows Mobile 5 프로젝트에서 OpenNETCF.AppSettings을 사용했습니다.

OpenNETCF 스마트 장치 프레임 워크www.opennetcf.com에서 무료로 다운로드하고 documentation을 탐색 할 수 있습니다.

VS2008/CF3.5에서는 잘 작동하는지 모르겠습니다.

+0

예, CF 3.5 및 VS '08에서 작동합니다. – ctacke

관련 문제