2012-09-27 2 views
1

여러 플랫폼에서 실행되는 응용 프로그램을 가지고 있지만 모든 비즈니스 논리는 C# .net에 있습니다 - 다른 응용 프로그램을 "원격 제어"할 수 있기를 원합니다. 그 네트워크가 보안면에서 어떤 가이드 라인인지 궁금해했다. 나는 통신을 위해 소켓을 사용할 것이다. 나의 주요 관심사는 다음과 같다.네트워크를 통해 .Net 원격 응용 프로그램을 제어하는 ​​안전한 방법

1) 인증서를 설치하지 않고도 실제 네트워크 연결을 최대한 보호하고 싶습니다. (사용자 개입없이 생성되고 저장되지 않는 한)
2) 나는 다른 앱에서 제어 할 수있는 앱만 원한다. 허가가 주어졌다. 예를 들어 앱 B가 앱 B를 제어 할 수있는 권한을 요청한다는 메시지가 표시 될 수 있습니다. 이 시점에서 사용자는 예를 클릭하거나 앱 A가 생성 한 코드를 입력합니다.이 시점 이후에는 사용자에게 다시 시작 등을 묻지 않습니다 ...

답변

0

사용자가 통신을 허용하는 코드를 입력하면 채널을 사용하는 암호화 방법은 symmetric key algorithm입니다. 핵심은 본질적으로 사용자가 통신을 허용하기 위해 입력하는 것입니다.

그러나 키를 설정하려면 주요 문제는 사용자에게 전달되는 방법입니다.

응용 프로그램 A를 실행하는 운영자가 있다고 가정하고 운영자가 응용 프로그램 B의 사용자와 대화 할 수 있다고 가정하면 운영자는 단순히 코드가 무엇인지 사용자에게 알릴 수 있습니다.

그러나 앱 A 또는 앱 A의 운영자가 사용자와 직접 연락 할 수없는 경우 다른 경로를 선택해야합니다.

+0

감사합니다. 이것은 좋은 경로처럼 들립니다. 앱 A와 B의 운영자는 같은 사람입니다. 예를 들어 Tablet 버전을 사용하여 PC가 숨겨진 큰 화면에서 버전을 제어 할 수 있습니다. 키를 안전하게 저장할 수있는 방법이 있습니까? 아니면 공격자가 App A의 파일 시스템에 액세스하여 모든 내기가 꺼져 있다고 가정하는 것이 안전할까요? – Oli

+0

공격자가 App A가 실행중인 시스템에 침입 할 수있는 경우 키를 보호 할 방법이 없습니다. 이 경우 키는 두 시스템 간의 통신 전송을 보호합니다. – NotMe

관련 문제