モバイルIDテクノロジー



こんにちは

Mobile-IDとは何か、ソフトウェアでこのサービスを使用する方法についてお話しします。



背景



過去10年間に、IDカード、電子選挙、電子学校(e-kool)、デジタル処方(digiretsept)、公共交通機関の電子チケット、市民のポータル、病院の患者、メーターの測定値を提出するためのポータルなど、さまざまな電子nyashkiがエストニアに登場しました電気代の支払いなど。



これらの電子nyashkiの1つはMobile-IDです。これは、携帯電話を使用してユーザーを識別する手段です。 大まかに言って、正しいカードを携帯電話に持っていれば、インターネット銀行、州のポータル、および一般的にMobile-ID経由の認証をサポートするサイトに簡単にログインできます。 あなたのサイトでこれを行う方法は、最後に教えます。





ユーザーが見るように



最初に、Mobile-IDを介した認証がユーザーの観点からどのように見えるかを見てみましょう。



まず、携帯電話会社に行き、適切な契約を締結する必要があります。 特別なアプリケーションを実行し、特定の種類のSMSを処理できる魔法のカードと通常のSIMカードと交換されます。 これからはすべて、モバイルIDサービスの幸せなユーザーであり、月額約1ドルかかります。



次に、目的のポータル、たとえばエストニア最大の銀行www.swedbank.eeに移動し 、ユーザー番号と電話番号を入力します。



図1:インターネットバンキングのログイン











「制御コード」がページに表示されます。ランダムに生成された4桁の数字で、数秒以内にこのコードを含む特別なメッセージが電話に届きます。



写真2:コードの確認











画面の番号がメッセージの番号と一致することを確認し、同意することを確認します。 4桁のPINコードを入力します。 この技術の美しさは、覚えておく必要がある唯一のコードであるということです。 各サイトのパスワード、オンラインバンキング用のコードのカードはありません!



写真3:パスワードを入力してください











これは、マジックSIMカードでマジックが発生する場所です。 それはあなたの同意についてサーバーに信号を送り、銀行は警告を受け取り、出来上がり-あなたは承認されました!



写真4:銀行に着く











仕組み



操作スキームを下の図に示します。

システムには3つのアクターがあります。

  1. サイトにログインする必要があるユーザー
  2. Webサイト(銀行、オンラインストア、州のポータルなど-一般に、任意のWebサイト)
  3. 認定センター(sertifitseerimiskekus、SK)は、州および電話プロバイダーから信頼されている特定の組織です。 彼女は、すべてのモバイルIDユーザー、電話番号、個人コードのデータベースを持っています(ロシアのTINと同様)。












開発者が見ているように



あなたが、ユーザーがMobile-IDを介してログインできるようにしたいサイトの開発者であるとします。 たとえば、オンラインストアを作成します。 あなたがする必要があるのは、ウェブサービスを通してSKに連絡することです。 Webサービスの呼び出しはかなり面倒です。さまざまなパラメーターがたくさんあります。 Javaでサイトを構築する場合、ほとんどの場合、指定されたWSDLに基づいてクラス全体を生成し、AXISライブラリなどを呼び出す必要があります。 (なぜ私はこれをすべて書いているのですか!)



次のようになります。

MobileIDAuthenticator mid = new MobileIDAuthenticator("https://www.openxades.org:8443/"); MobileIDSession session = mid.startLogin(phoneNumber); showMessage(",    SMS   " + session.challenge + ".  OK   ."); mid.waitForLogin(session);
      
      







以上です。 3行。 startLoginを呼び出し、ユーザーにコード(チャレンジ)を表示し、 waitForLoginを呼び出します 。 ユーザーが同意すると、メソッドは自分のデータ(名前、姓、個人コード)を返します。 ユーザーが電話を拒否またはオフにすると、対応する例外が発生します。



ここでは、Mobile-IDを使用した本格的なSwingアプリケーションHelloWorldを見ることができます。



コードでMobileIDライブラリを使用するには、次の依存関係を含めるだけです。
  <dependency org="com.codeborne" name="mobileid" rev="0.9.2"/>
      
      







ところで、Pythonでは、Mobile-ID Webサービスを使用する方がはるかに簡単です。その方法を説明しています。



合計



承認に加えて、Mobile-IDを使用すると、デジタル署名を行うことができます。 たとえば、文書に署名したり、インターネット銀行で送金を確認したりします。 確かに、このためには、2番目のPINコード(5桁)を覚えておく必要があります。



一般に、Mobile-IDテクノロジーには大きな未来があります。 たとえば、店舗でのMobile-IDを介した購入の支払い方法などの計画がすでに作成されています。 このビデオでは、アイデアの詳細を説明しています。



それは本当です、私はエストニア以外のどの国にそのようなことがあるかわかりません。 リトアニアにあると聞いたようですが、ロシアにはまだないようです。



そのようなこと。



面白かったと思います。






All Articles