2012-09-24 11 views
4

내가 만들고 싶은 usb-smartstick 응용 프로그램의 경우 C#에서 잠긴 워크 스테이션의 잠금을 해제 할 수 있어야합니다. 고유 ID를 사용하여 USB를 삽입하면 ws의 잠금을 해제하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?C# 워크 스테이션 잠금 해제

나는 Rohos Logon Key와 비슷한 응용 프로그램을 목표로하고 있습니다.

+0

에서 발견 할 수있다 가능한. 잠긴 워크 스테이션에서 로그인 시퀀스를 시작하는 유일한 방법은 해당 USB 키와 같은 인증 공급자가 사용할 수있는 SAS (Secure Authentication Sequence)가 필요합니다. Ctrl + Alt + Del. 인간이 소유 한 세 손가락. –

답변

6

이것을 이해하기 위해서는 로그온을 처리하는 Windows 구성 요소의 구현을 바꾸거나 후크해야합니다. 필자가 알고있는 바에 따르면 로그온하기 전에 사용자가 보안주의 시퀀스 (SAS)를 입력해야하는 이유는 맬웨어가 로그온 대화를 스푸핑하는 것을 방지하기 위해서입니다. 오래된 프로그램이 당신이 요구하는 것을 할 수 있다면, 이것은 악성 코드가 악용 할 수있는 것입니다.

대상 Windows 버전에 따라 두 가지 방법이 있습니다. 당신이 당신의 자신의 GINA (마이크로 소프트 그래픽 식별 및 인증) 교체를 작성해야이 작업을 수행하기 위해

Windows XP의

및 이전

. NET에서 이러한 DLL을 구현하는 것은 아마도 나쁜 생각입니다 (A GINA replacement in a .NET language? 참조). 또한이 상당히 고급 물건은 아래 링크 기사

GINA를 교체하는 것은 가볍게 을 가지고 가면 안된다 고급 기술입니다 중 하나 인용하고있다. 다른 선택 사항이없는 경우에만이 작업을 수행해야합니다 (예 : 의 경우 Windows에서 을 지원하지 않는 새 로그온 메커니즘을 구현하는 경우). GINA에 대한 자세한 정보는 다음 링크

  • Microsoft Graphical Identification and Authentication (GINA) (MSDN)
  • The Essentials of Replacing the Microsoft Graphical Identification and Authentication Dynamic Link Library
  • 비스타 이후

    Windows Vista에서 나중에 GINA has been replaced with Credential Providers, 그래서 대신 당신은 ICredentialProviderCredential interface를 구현해야합니다. 이것은 COM 인터페이스이지만 .Net 언어로 다시 구현하는 것은 좋지 않은 아이디어입니다.

    더 많은 세부 사항이 아니다 다음 링크

    +0

    이 답변은 XP 이전 버전에만 적용됩니다. Vista 이상에서는 ['ICredentialProvider']를 사용해야합니다 (http://support.microsoft.com/kb/925520/KO/) –

    +0

    정보 주셔서 감사 합니다만, 실제로 찾고 있습니다 ... 예제. msdn에서 5 개의 샘플을 다운로드하려고했지만 Windows의 유효성을 검사해야하지만이 도구는 더 이상 작동하지 않습니다. 누구나 매우 간단한 자격 증명 공급자가있어서 내 워크 스테이션을 잠금 해제 할 수 있습니까? 감사! – Basaa

    +0

    @ Justin이 내 문제와 관련해 살펴볼 수 있습니까? //stackoverflow.com/questions/27567811/how-to-unlock-windows-login-screen? 고맙습니다! –

    관련 문제