ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/二要素認証化 :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/二要素認証化

ページ内コンテンツ
  • 二要素認証化
  • 二要素認証についてお勉強
    • サービスの有効化
    • 機能を有効化
    • 二要素認証に対応していないアプリはどうするねん

二要素認証化 anchor.png[1]

2018年、コンピュータ会に激震が走りました。CPUの投機的実行、分岐予測アーキテクチャに依存するセキュリティホールSpectreMeltdown。未だに根本的解決策は提示されず、各OSベンダーが必死になって解決策を模索しています。今やクラウドやSNSは必須サービスとして定着しました。これらサービスを乗っ取られるのは非常に厳しいものがあります。そこで注目されているのが、二要素認証。二要素認証とは、通常のユーザ名、パスワードに加え、ワンタイムパスワードと呼ばれる一回のみの使い捨てパスワードを用いて認証する方式です。NextCloudにも導入してみます。

Page Top

二要素認証についてお勉強 anchor.png[2]

最初に二要素認証についてお勉強。二種類のパスワード生成方式があります。

TOTP認証
サーバから提供される秘密鍵と、時間(秒)を用いてパスワードを生成します
HOTP認証
トークンと呼ばれるハードウェアキーをサーバと結びつけ、ボタンを押した際に生成されるパスワードを用いて認証します。

TOTP認証は、秘密鍵と時間で生成出来るため、スマホ等のアプリとして提供されています。例えばGoogle認証、IIJ Smartkey、Authy等。認証を有効にすると、サーバからQRコードが表示されます。このQRコードを先程のスマホアプリからスキャンすると、各サービスのパスワード生成が登録されます。

  • 利点は、スマホ一括で管理出来るため、スマホさえ持っていれば良い。また、時間でパスワードが更新されていくため、総当り攻撃が困難
  • 欠点は、スマホの機種更新時、これらパスワードも更新しないといけないため、面倒。特にGoogle認証アプリは、パスワードのバックアップ機構も持っていないため大変です。IIJ SmartKeyは、アプリ間でエクスポートが可能なため、バックアップが便利。Authyは、複数デバイスで共用可能だけど、秘密鍵がサーバに保存されるため、セキュリティが下がります。また、通信が盗聴されている場合、30秒以内にリトライされると突破されてしまいます。その為、SSL等で保護されていることが重要となります。

HOTP認証は、トークンと呼ばれるハードウェアでパスワードを生成するタイプです。

  • 利点は、ハードウェアを奪われない限り、パスワードの流出はありません。
  • 欠点は、ハードウェアをなくすとアウト。サービス毎にトークンを管理しないといけないので大変。トークンのキーを押すたびにパスワードを更新するのですが、キーが押されない間は同一キーでログイン可能なため、総当たり攻撃に弱い

と、利点欠点があります。

さて、NextCloudでは、TOTP認証とU2J認証に対応しております。今回はTOTP認証を使用します。認証アプリとしては、アプリ間でのエクスポートが可能な、IIJ Smartkeyを選定しました。IIJさんは安心度高いし、アプリでのエクスポートも出来るので、機種変更時に安心できるので。さて、ではやってみましょう。

Page Top

サービスの有効化 anchor.png[3]

  1. NextCloudの管理者でログイン
  2. 右上の歯車マークで、「アプリ」をクリック
  3. 「セキュリティ」内に、「Two Factor TOTP Provider」があります。有効化します。
Page Top

機能を有効化 anchor.png[4]

これはユーザごとに有効/無効を設定します。まずは、二要素認証を有効化したいユーザでログインします。

  1. 右上の歯車マークで、「個人」をクリック
  2. 保険のために、「第二要素バックアップコード」をクリックします。10個のログインキーが表示されます。もし、TOTP認証アプリがない場合、この10個のログインキーでログインできますが、一回限りで消えていきます。安全な場所にメモっておきましょう。
  3. TOTP 第2認証の「有効化」をクリックします。有効化すると1回だけQRコードが表示されます。このQRコードをスマホの認証アプリでスキャンします。すると、アプリに認証キーが登録されます。
  4. QRコードの下に、ログインキーの有効性チェック窓があります。認証アプリで表示されたログインキーを入力し、正常に機能しているかをチェックします。

ここまでで二要素認証が有効化されます。

Page Top

二要素認証に対応していないアプリはどうするねん anchor.png[5]

例えば、Thunderbird Lightning、PCのNextcloud同期アプリ、QownNotes、DAVdroid。これらはに要素認証に対応していないため、エラーになります。その場合は、以下でアプリパスワードを発行し、そのパスワードで認証します。

  1. 右上の歯車マークで、「個人」をクリック
  2. アプリパスワード蘭で、アプリ名を入力し、「新規アプリパスワードを生成」をクリックします。すると、一回のみパスワードが表示されるので、これをクリップボードにコピーし、各アプリの認証画面に入力してあげます。

以上で、各サービス、二要素認証に対応したNextCloudで動作できるようになります。セキュリティも向上し、安心ですね♪


Last-modified: 2018-01-22 (月) 22:21:33 (JST) (2279d) by maruo