4

私が作成したい USB スマートスティック アプリケーションでは、C# でロックされたワークステーションのロックを解除できる必要があります。一意の ID を持つ USB を挿入すると、ws のロックが解除されます。これを行う最良の方法は何ですか?

Rohos Logon Key のような同様のアプリケーションを目指しています。

4

1 に答える 1

6

私が理解しているように、これを達成するには、ログオンを処理するWindowsのコンポーネントの実装に置き換える/フックする必要があります。私の知る限り、あなたが求めていることを達成する他の方法はありません-ログインする前にユーザーがセキュアアテンションシーケンス(SAS)を入力する必要がある理由は、マルウェアがログオンダイアログをスプーフィングするのを防ぐためです。古いプログラムがあなたが求めていることを実行できるとしたら、これはマルウェアが悪用できるものです。

対象とするWindowsのバージョンに応じて、これを行うには2つの異なる方法があります。

WindowsXP以前の場合

これを行うには、独自のGINA(Microsoft Graphical Identification and Authentication)の代替品を作成する必要があります。参考までに、このようなdllを.Netに実装することは、おそらく悪い考えです(.NET言語でのGINAの置き換えを参照してください)。また、これはかなり高度なものであり、以下のリンクされた記事の1つを引用します

GINAの交換は高度な技術であり、軽視すべきではありません。これは、他に選択肢がない場合にのみ行う必要があります(たとえば、Windowsがサポートしていない新しいログオンメカニズムを実装している場合)。

GINAの詳細については、次のリンクを参照してください。

Vista以降

Windows Vista以降では、 GINAは資格情報プロバイダーに置き換えられているため、代わりにICredentialProviderCredentialインターフェイスを実装する必要があります。これはCOMインターフェイスですが、これを.Net言語で実装することはお勧めできません。

詳細については、次のリンクをご覧ください。

于 2012-09-24T13:42:00.323 に答える