2012-04-07 5 views
0

현재 클라이언트 - 서버 유형 채팅방에서 작업하고 있습니다. 내가 곧바로 문제에 직면하게 될 것이다. 나는 SecureString을 통해 사용자 암호를 다루고 있으며, System.Net.Sockets을 통해 서버 응용 프로그램에 정보를 보내는 데 문제가있다. 저는 "Marshal"클래스로 SecureString을 다루는 것이 다소 성공적이었습니다.하지만 한 클라이언트에서 서버로 보내는 것은 처리 방법에 따라 거의 불가능한 것처럼 보입니다. 나는 평범한 텍스트로 "노출"하지 않고 와이어를 통해 SecureString을 전송할 수 있는지 지금보고있는 며칠 동안 인터넷에서 검색을 해왔다.원격 서버에 SecureString 보내기 - 가능합니까?

기본적으로 SecureString에서 정보를 얻을 수있는 방법이 있는지, 바이트로 변환 할 수 있는지, 그리고 암호를 검색 할만큼 충분히 이해할 수 있는지 묻고 싶습니다.

답변

0

클라이언트 측에 키가있을 때마다 사용자가이 키를 얻을 수 있습니다. 그런 다음 다른 사용자의 트래픽을 가로 챌 수 있으면 서버에 보내는 모든 것을 해독하기 위해이 키를 사용할 수 있으므로 문제가 발생합니다.

따라서 각 클라이언트에 대해 별도의 키를 만들 수 있습니다. 하지만 이제는 서버에서 암호 해독 키를 찾는 성가신 오버 헤드가 있습니다.

왜 https를 사용하지 않습니까?

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 실제로 https를 고려 해왔다. 내가 완전히 암호화를 이해하지 않는다면, 키가 어떻게 사용되는지 (알고리즘 적으로) 알아 내야 할 것입니다. 단순히 일반 텍스트 암호로 스누핑하는 것보다 훨씬 힘든 작업이 될 것입니다. 그러나 https를 확실히 살펴볼 것입니다. 제 교수는 SecureString을 살펴 보라고 제안했습니다. https는 쉽게 구현할 수 있습니까? –

+0

일반적으로 매우 쉽습니다. 예 .... 웹 앱처럼 들리지만, 서버 (IIS)에 보안 인증서를 설치하고 https : //에서 앱에 액세스 할 수 있도록 구성하면됩니다. .com 대신 http://whatever.com. 다음은 Google 검색 결과입니다. http://www.google.com/search?client=safari&rls=en&q=install+secure+certificate+iis&ie=UTF-8&oe=UTF-8. 즉, 이것이 숙제 인 경우 HTTPS 사용이 쉽게 회피 할 수있는 문제를 스스로 해결할 수 있기를 원한다면 사용하지 못할 수도 있습니다. –

+0

http를 통해 웹 서비스와 통신하는 WPF 응용 프로그램입니다. 나는 이미 인터넷 검색을하고 있었고 문제에 대한 당신의 의견을 묻는 것뿐이었습니다. 그리고 이것은 대학 졸업을위한 최종 프로젝트입니다. 나는 이미 그것을 완료했습니다. 단지 보안과 같은 몇 가지 추가 "기능"을 추가하려고합니다. 저는 교수님의 충고를 모두 물어 보았습니다. 그는 어떤 방식 으로든 상관하지 않습니다. 도와 줘서 고마워! 매우 감사. –