2012-03-05 3 views
1

나는 TCP 서버와 통신하는 클라이언트가있다. app.config에 사용자 이름/암호를 저장합니다. 나는 사용자 이름/암호를 암호화하고 app.config가 표준 방법 (내가 어떻게하는지 압니다)에 따라 암호화 될 것입니다.Howto- 클라이언트에서 서버로 app.config의 암호화 된 사용자 이름/암호를 인증합니다.

저는 암호화 된 사용자/통과 및 인증을받는 공급자 서버 측이 필요할 것이라고 가정합니다. 서버는 표준 멤버십 공급자를 사용하는 asp.net 애플리케이션에 의해 구동됩니다. 서버가 Sql Server를 db로 사용하거나 Sqlite/Oracle과 비슷한 기능을 사용하는 경우입니다.

그래서 질문이 있습니다.

  1. 사용자 인증에 이상적인 서버 측 공급자는 무엇입니까?
  2. 사용자/이름과 암호를 암호화하는 데 허용되는 방법은 무엇입니까?
  3. 또는 서버에 암호화 된 사용자/암호를 사용하는 사용자 정의 passw 유효성 검사기가 필요합니까?
  4. 어떻게 든 서버 사용자/패스 공급자를 asp.net 멤버 자격 공급자에 연결할 수 있습니까?
  5. 이상적인 공급자의 경우 서버에 계정을 만들어야합니까?

    상위 500 개 이상의 클라이언트가 있습니다.

    대단히 감사합니다. Bob.

답변

3

나는 TCP 서버로 통신하는 클라이언트를 가지고있다. 사용자 이름/비밀번호를 app.config에 저장합니다. 사용자 이름/비밀번호를 암호화하고 싶습니다.표준 방법 (알고있는 방법)에 따라 app.config가 암호화됩니다.

나는 확실히 원하지 않는다!

실제 비밀번호를 저장하지 마십시오! 항상 암호로 해시 된 버전을 저장하십시오! 또한, 내가 관심을 갖는 암호를 제공하지 않도록 작업중인 응용 프로그램을 알려주십시오. 보안 관련 코드를 작성하는 것을 신뢰하지 않습니다.

+0

나는 OP가 특별히 App.config에 사용자 이름과 암호의 암호화 된 버전을 저장하는 방법을 묻는 것입니다, 그리고 그것을 사용하기 위해 검색하는 방법. –

+0

이 인스턴스의 경우 클라이언트는 C# 어셈블리가되지만 나중에 linux/bsd/solaris의 원시 클라이언트가 될 수 있습니다. TCP는 ssl을 통해 tcp 서버로 통신합니다. 나를 참아주십시오. –

+0

이것을 발견 : [소금에 절인 해시 암호 만들기] (http://www.dijksterhuis.org/creating-salted-hash-values-in-c/) 해싱의 중요성과 그 문제에 대해 염두에 두십시오. 그 질문의 두 번째 부분으로 우리를 데려다줍니다. –