高速化されたOpenLDAPの実力とOpenAMの多要素認証機能の活用
オープンソース・ソリューション・テクノロジ株式会社

2017年9月15日
技術取締役 武田 保真

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-1-

目次
• OpenAM最新動向• OpenLDAP最新動向

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-2-

OpenAMとOpenLDAP
Webサービス• OSSのシングルサインオン(SSO)サービス

SSO• Webサービスなどの認証を統合• SAML や OpenID Connectなどの認証連携（フェデレーション）に対応• OSSのLDAPサービス

認証認証• ユーザー情報を保管し認証を行う• LDAPに対応したサービスや機器が多い
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

社内設備-3-

OpenAM 2017 Topics• ForgeRockがソースコード公開ポリシーを変更• EOLの製品ソースコードのみを公開• 現在は OpenAM11系が公開対象

×CLOSED ××Maven
レポジトリ

ソースコード(GitHub )JIRA(issue tracker)

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-4-

OpenAMのFork• ForkしたOpenAM• http://wrensecurity.org/• ソースコード(wren:AM)• https://github.com/WrenSecurity/wrenam

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-5-

OSSTechのOpenAMへの取り組み• OSSTech版 OpenAMソース公開• OpenAM 13.0をベース• OSSTech版に適用しているパッチ込み
https://github.com/osstech-jp/openam• OSSTech版 OpenAM評価版
お問合せ先 : info@osstech.co.jp
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-6-

OSSTech の OpenAM最近のトレンド• 認証モジュールのカスタマイズ• ユーザーやシステムの要望に合わせた認証フロー• プロトコルハブとしての利用形態
SP/RP

SAML
OIDC
Idp/OP
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-7-

JICS 2017 展示内容
• OpenAMデモ (技術検証内容を展示)• マイナンバーカードでクライアント証明書認証• OTPコードの通知をLINEで行おう

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-8-

デモ概要１：マイナンバーカードでクライアント認証②①

クラウドサービス

NFC )))Webアプリケーション

利用者

事前準備：マイナンバーカードの認証用証明書の情報をOpenLDAPに登録*①ユーザーがNFCデバイスにマイナンバーカードをタッチ②OpenAMで認証完了！
＊保存されている情報にマイナンバー情報は含まれません

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

-9-

マイナンバーカードでクライアント認証• マイナンバーカードの構成• 署名用証明書 / 認証用証明書• OpenSCドライバによるマイナンバーカード対応• ブラウザの認証にマイナンバーカードを利用可能
マイナンバーカードをクライアント証明書のインフラとして活用

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 10 -

OpenSCとは• クロスプラットホームで動作するスマートカード用のツール・ライブラリ群• Windows / Mac / Linux など• Edge / Safari / Chrome / Firefox など
バージョン 0.17 にて JPKI ドライバとしてマイナンバーカードに対応済み

https://github.com/OpenSC/OpenSC/wiki

https://www.osstech.co.jp/~hamano/
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 11 -

マイナンバーカードによる認証(構成)Webブラウザ

クライアント証明書認証

マイナンバーカード

カードリーダー

ユーザー

OpenSCドライバオープンソースのソフトウェアのみで構成可能
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 12 -

認証の準備• マイナンバーカードに保存されている情報を事前登録• 認証用証明書の登録、もしくはCNを事前登録• 保存されている情報にマイナンバーは含まれていません

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 13 -

事前準備 －Firefox－(1)• 「セキュリティデバイス」の設定

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 14 -

事前準備 －Firefox－(2)• OpenSCデバイスを設定

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 15 -

マイナンバーカードによる認証• 証明書認証が必要なサイトへのアクセス• PINコードの入力• 失敗は連続3回まで• 正しいPINコード入力でカウントクリア• ロックされた場合は役所で再設定手続き必要

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 16 -

デモ概要２：LINE OTPモジュールで認証②①

クラウドサービス

Webアプリケーション

利用者

事前準備：初回ログイン時にLINE Notifyに連携登録①ユーザーがID/パスワードで認証後、LINEにOTPを通知②OpenAMで多要素認証完了！

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 17 -

OpenAM - LINE OTPモジュール • 多要素認証• 低コストで利便性の高い方式• LINEによるOTPコードのユーザーへの通知• LINE notify APIを利用• ユーザー単位のアクセストークン制限(1000回/h)

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 18 -

OpenAM - LINE OTPモジュール (2) 初回ログイン時にLINE notifyに登録

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 19 -

OpenAM - LINE OTPモジュール(3) 2回目以降のログインはLINE にOTPコード通知

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 20 -

OpenLDAP 2017 Topics• OpenLDAPの開発状況• OpenLDAP 2.4 (安定版)• OpenLDAP 2.5 (開発版)… リリースプランは未定• 最近のお客様の傾向• SHA2/PBKDF2利用の増加……. パスワード漏洩対策• 商用LDAPサービスからの移行 ……. 機能・性能・コストで比較• RHEL7.4 openldap-serversパッケージが deprecated• OSSTech版OpenLDAPへ移行可能
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 21 -

OSSTech版OpenLDAPの改良• 課題•

BerkleyDB(BDB)のライセンス問題•

大規模環境におけるBDB(更新系)の限界• Community•

LMDBの開発• OSSTech•

WiredTigerバックエンドの開発•

OpenLDAP 2.5への取り込み完了

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 22 -

OpenLDAP大規模環境における問題点• エントリ数の増加に対する更新時間の増大• 一括データ投入時間• 初期投入、リストア時• 更新頻度の高い環境• ログイン時刻の記録など更新性能に起因する設計・運用上の制約

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 23 -

WiredTiger DBの特長• ファイルベース Database• マルチコア、大容量メモリ対応• ロックフリーのアルゴリズム• Core数の増加に応じた更新性能向上• コア開発者は元BDB開発者• BDBの問題点を解消

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 24 -

WiredTigerバックエンドの制約• slapd実行中のslapcat 不可• データエクスポートはldapsearchを利用• OpenLDAP 2.5の開発ソースのみで利用可能

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 25 -

OpenLDAPベンチマーク
測定環境•

CentOS 7 / OSSTech版 OpenLDAP 2.4.45•

CPU 24core / メモリ 10GB / SAS HDD (KVM 仮想ゲストOS)

LDAPサンプルエントリ
dn: uid=user1,ou=Users,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: posixAccountuid: user1
cn: user1
sn: testuser
givenName: user1
uidNumber: 100000
gidNumber: 1000
userPassword: {SSHA}u9sXy3bV21JWPwyfysqdDEkXfO/uuPAE
homeDirectory: /home/user1
loginShell: /bin/bash

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 26 -

OpenLDAPベンチマーク(１)slapadd によるデータインポート(index有り) (秒)
43
52

10万件

328
349

1026
481

100万件

9104

WiredTiger

4180

LMDB(nodbsync): 2時間

16538
7643

1000万件

16281677718
0: 4時間

20000

40000

60000
WiredTiger

80000

100000LMDB(nodbsync)

LMDB

120000140000160000LMDB(default): 45時間BDB: 21時間

180000BDB

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 27 -

OpenLDAPベンチマーク(2)LDAP操作ベンチマーク結果 (req/sec)
23568
22314

BIND

25892
21034
15861
18179

SEARCH

18241
15551

5086件/sec

5086
1842

ADD

204
194

12571件/sec

12571

1896

MODIFY

203
226
0

5000

10000
WiredTiger

15000
LMDB(nodbsync)

20000
LMDB

25000

30000

BDB

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 28 -

ベンチマーク結果 サマリー
• 参照性能• どのデータベースを選択しても大差はない• 更新性能• WiredTigerバックエンドが優秀• 更新が多いシステム• 大量エントリ(100万件以上)を管理するシステム

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 29 -

OSSTech版 OpenLDAP 2.4• WiredTigerバックエンド対応版の提供開始• 対応OS: RHEL7 / CentOS 7• OSSTech版 OpenLDAP2.4パッケージに機能追加• BDBからエクスポート・インポートで切り替え可• パートナーサイトから評価版提供開始• 評価版希望の場合は、お申込みをCopyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 30 -

LDAPcon2017への参加• ベルギー ブリュッセルで 10月に開催• OpenLDAPのmrubyバックエンドについて発表予定

https://ldapcon.org/2017/

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 31 -

協業パートナー募集のお知らせ• ユーザーフレンドリーな認証フローや、多要素認証の実現をお手伝いします• IDaaSやSaaSといったOSSTech社のサービス提供予定はございませんので、パートナーの皆様のサービスの実現に弊社製品をご活用ください
お問合せ先 : info@osstech.co.jp
Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 32 -

告知：11/1にプライベートセミナーを開催します
先着30名様のプライベートセミナー！

OpenAM/OpenLDAPの最新情報をお伝えします。
お申込みはお手元のチラシに記載のメールアドレスもしくは展示会場でも受付いたします。

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 33 -

Copyright © 2017 Open Source Solution Technology Corporation All Rights Reserved.

- 34 -