Signerbox-DSTU 4145を介した認証

Signerboxは、データを署名し、DSTU 4145-2002標準(楕円曲線暗号化)の公開鍵と個人を接続するデジタル証明書を介してブラウザーで認証できるようにするWebアプリケーションです。 このような証明書は、商務省および商業CAによって無料で発行されます。



クライアントデーモンがクライアントボクサーに接続され、署名をチェックして結果を表示します。 デーモンはdstudと呼ばれます。



完成したアセンブリはppaにあります:ilya-muromec / dstud。



Signerbox自体はeusign.orgドメインでホストされ、カスタムOAuthのようなプロトコルで動作します。ページにアクセスするとリクエストを受信し、ユーザーにリクエストを承認する提案を表示し、完成した結果とともに送信します。







統合




signerbox / dstudを使用して本人確認をサイトに追加するには、次のものが必要です。







ワードプレス




これで、ワークスペース用の既製のプラグインが手に入りました 。彼はgithub.com/themao/dstu-loginに住んでいます 。 アプリケーションを登録するとき、https://:domain / wp-login.phpの形式でauth_urlを指定する必要があります。 httpsスキームのアドレスのみが受け入れられます。



プラグインを設定すると、ログインページに「eUで署名」リンクが表示されます。



ライブデモはdstu.enodev.orgで入手できます。



@niggaslifeというニックネームの下に隠れているtwitterユーザーがプラグインの開発に参加しました。



仕組み




ユーザーは、キーと証明書を要求するフォームにリダイレクトされ、NONCEとドメインからの行に署名した後、公開キー(証明書)をサーバーにアップロードし、認証を開始するサイトにgetパラメーターの形式で署名を送信します。



署名はJSライブラリを使用してクライアント上で作成されるため、秘密鍵はマシンを離れません。



署名はdstudデーモンによってチェックされるため、統合サイトはサインボックスを信頼する必要はありません。



認証




電子署名に関するウクライナの法律によると、認定または合格したソフトウェアレビューによって作成された署名は法的に重要です。 Signerboxおよび使用されているライブラリは認証または試験に合格しなかったため、訴訟の場合、ユーザーと個人の関係を証明するためにギャップが生じることがあります。 これがあなたにとって重要な場合-プロジェクトの認定を手伝うか、弁護士に相談してください。



プラグイン開発




統合プラグインの作成は非常に簡単です。 これを行うには、次のようなことをする必要があります。







フィールド1.2.804.2.1.1.1.11.1.4.1.1には、税ユーザーID(TIN)が含まれます。 このフィールドにはユーザーに関する特定の個人情報が含まれており、合成識別子ではないため、純粋な形式ではなく、塩を含むハッシュを使用することをお勧めします。



認証中に指定された状態パラメーターの内容は任意で、auth_urlに変更せずに返されます。 CSRFから保護するために、ワンタイムトークンを指定することをお勧めします。



テスト証明書




開発を容易にするために、テスト証明書とキー(user.cerおよびuser.key)はdstudデーモンとともに配布されます。 テスト証明書を使用してログオンを有効にするには、dstudデーモンを停止し、testCAディレクトリから実行する必要があります。



テスト証明書には、フィールド1.2.804.2.1.1.1.11.1.4.1.1が含まれていません。



All Articles