はじめに
2014年は、ハッキングされたアカウントの年と言っても過言ではありません。 Identity Theft Resource Centerによると、データは2005年以来これまでになく盗まれています。
また、 私はpwnedされている? 1億7500万件以上のアカウントが盗まれました。 そして、それは絶対にすべてのデータが漏洩した場合の1つのことであり、ユーザーアカウントのみが漏洩した場合は完全に異なります。 この出版物で議論されるのは後者です。
二要素認証
2要素認証は、本質的にはアカウントリークの使用を防ぐ業界標準です。攻撃者は2回目の認証なしでは盗まれたユーザーとしてログインできないためです。 また、パスワードの推測を無効にし、captchaの必要性を排除し、アプリケーションに応じて他のいくつかの機能を改善します。
二要素認証を実装するには、いくつかの既知の方法があります。
- 物理トークン。
- SMSゲートウェイ。
- 認証アプリケーション。
物理トークン
長所:
- とても安全です。 オーセンティケータが侵害された場合、盗まれなければならないので、すぐにそれについて知ることができます。
短所:
- お金の価値。
- 必要に応じて、認証を受ける必要があります。
- B2Cを持っている場合、トークンを全員に配布することは絶対にできません。
SMSゲートウェイ
長所:
- 安全です。
短所:
- 私たちはそれを制御しません。 絶対に。 内部で何が起こっているのか、数字のデータベースで何が起こっているのか、有効なSMSが送信されたかどうかはわかりません。 サービスがドロップするとどうなりますか?
- コスト。 Clickatellで価格を取った 。 平均して、1つのSMSの送信には0.03ドルかかります。 1か月に10万件のメッセージを送信する場合、1か月に3,000ドル(〜18万ルーブル)または1年に36,000ドル(〜200万ルーブル)かかります。 しかし、もう少し大きくなったらどうしますか? また、月に100万のメッセージが送信されますか? 月に3万ドル(年間36万ドル)かかります。 しかし、hooのサイズに成長した場合はどうなりますか? また、月に1,000万件のメッセージが送信されますか? それから、月に30万ドル、または年に36万ドル(約2億1600万ルーブル)をレイアウトするように親切にしてください。 これは悪いです。 ポケットからお金を出せば、面白いものを買うことができます。 これが投資家のお金であれば、それを使用してプロジェクトの開発、新しいサーバー、給与の引き上げなどの有用なことができます。
- ユーザーは常に、許可されたSIMカードを備えた電話を持っている必要があります。 ユーザーがSIMカードを変更したり、電話をなくしたり、バッテリーが消耗したりすると、さまざまなトラブルが発生します。
認証アプリケーション
長所:
- 安全です。
- 私たちはそれを完全にコントロールしています。
短所:
- そのようなアプリケーションの開発と保守にかかる総費用は、SMSゲートウェイを使用するよりも高い場合があります。
- ユーザーは常に許可されたデバイスを持っている必要があります。
サードパーティ認証アプリケーション
たとえば、Google AuthenticatorまたはMicrosoft Authenticator。
長所:
- 安全です。
短所:
- 私たちはそれを制御せず、内部で何が起こっているのかも知りません。
- 明日、このアプリケーションはどうなりますか? 彼らは彼を不必要に殺すでしょうか?
- ユーザーは常に許可されたデバイスを持っている必要があります。 同時に、サードパーティの認証システムをサポートする必要があります。
別の認証(サイン)
私は彼女をサインと呼びました。 ユーザーは、自分のメールとメールへのアクセス以外に何も必要としません。
次のようになります。
- ユーザーがサービスにメールを入力します。
- データベースにない場合は、データベースに追加します。
- 承認がアプリケーションにある場合、生成された承認リンクとコードを含む手紙をユーザーに送信します。
- ユーザーは、リンクまたはコードを使用してログインします。
- ...
- 利益!
プロセス図:
長所:
- 安全です。
- ユーザーは、パスワードについて考えたり、ソーシャルネットワークプロファイルへのアクセスを許可したりする必要はありません。 最初にアイデアの人気を確認するために着陸した場合、承認リンクをユーザーに送信し、承認にだまされないことは難しくありません。
- プロセス全体を完全に制御および監視します。
- ソリューションのコストは非常に低いです。
- どのデバイスでも動作します。
- ユーザーは承認されたデバイスをまったく必要とせず、メールへのアクセスのみを必要とします。
- 一度それを解決し、それを忘れてください。 サポートのみを行います。 しかし、プロジェクトで電子メールメッセージを送信するサービスを既にサポートしていますか?
- アプリケーションにコードを入力するには、SMSと同じくらいの努力をする必要があります。
短所:
- ユーザーはメールアカウントにアクセスする必要があります。
おわりに
このプロセスはまだ概念であり、ライブアプリケーションでは使用されません。 彼は時間によってテストされていません。 ちょうど1つの頭がそれを思いついたので。 それは批判によってテストされていません。 しかし、攻撃の可能性と一般的に重大な欠点は見つかりませんでした。 したがって、彼は公開討論に提出しました。 このような承認の使用が、広く使用されていないという事実以外の何かを制限するかどうかを理解したいと思います。