...

MobileFirst Platform Foundation 6.3 (旧 Worklight) アップデート・セミナー セキュア統合 2014年 12月 25日

by user

on
Category: Documents
61

views

Report

Comments

Transcript

MobileFirst Platform Foundation 6.3 (旧 Worklight) アップデート・セミナー セキュア統合 2014年 12月 25日
MobileFirst Platform Foundation 6.3 (旧 Worklight)
アップデート・セミナー
セキュア統合
2014年 12月 25日
日本IBM(株)
日本IBMシステムズ・エンジニアリング(株)
© 2014 IBM Corporation
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したもの
です。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したもの
ではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよ
う努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料また
はその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとしま
す。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすこ
とを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、ま
たそのような結果を生むものでもありません。
本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可
能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の
要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能
になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販
売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むも
のでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。
ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、
入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがっ
て、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の
実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、CICS、Tivoli、WebSphere、Zseriesは、世界の多くの国で登録されたInternational Business Machines
Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。
Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。
UNIXはThe Open Groupの米国およびその他の国における登録商標です。
JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。
© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied.
IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties
or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products,
programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole
discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the
Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be
trademarks or service marks of others.
© 2014 IBM Corporation
2
ご説明順序
1. MFP Foundation セキュリティー 概要
2.ダイレクト・アップデート
• Worklight 6.2 からのダイレクト・アップデート概要
• 差分ダイレクトアップデート
• ダイレクト・アップデートの信憑性検査
3. デバイス認証
• ネイティブ iOS と Android 、Windows Phone 8 ハイブリッドに対応
4. アプリ信憑性検査
• Windows Phone 8 ハイブリッド対応
5. まとめ
© 2014 IBM Corporation
3
IBM MobileFirst Platform Foundation 6.3 - Highlights
さらなるエンタープライズ・グ
iOS 8 機能活用
レードのWindowsデバイス・ア
複雑なエンタープライズ統合を
シンプルに
プリが可能に
C# API の追加でXamarinで
Android、iOSネイティブ・ア
プリが可能に
効率的な開発
ユーザーエンゲージメント強化
•HTML5とC#をミックスしたWP8アプリ
•iOS8の新機能 - touch id、インタラクティブ/サイレント・
•Windows 8 C# API サポート
プッシュ通知、swift
•複雑な SAP service discovery
•iBeaconによるインドア・ロケーションの活用
•StudioでのHTML5サポート改善
•Android 5.0 プッシュ通知サポート
•CLI機能の拡張
•差分ダイレクト・アップデート
•iOS 64bitアーキテクチャのサポート
運用 (継続的デリバリー)
セキュリティ統合
•アプリケーション・センターの拡張 (Windows8 対応)
•ダイレクト・アップデートへの内部攻撃に対する保護機能提
•MobileFirstサーバーの設定を簡素にする方法を複数提供
供
•1つのアプリで複数のMobileFirstサーバー接続を可能に
•WP8へのアプリ信憑性チェックとデバイス認証
•Appleのプッシュ通知管理の改善
•ネイティブiOSとAndroidに対するデバイス認証
•分析サーバーのロール・ベース・アクセス
4
© 2014 IBM Corporation
MFP Foundation セキュリティー 概要
© 2014 IBM Corporation
5
「企業独自のモバイルアプリ利用」における想定リスク
クラウド
ストレージ
リスク④
情報の流出
紛失・盗難
マルウェア感染
- Jailbreakによる特権取得
アプリ脆弱性
企業
App Store
アプリ配信
企業
アプリ
データ
データ
リスク①
なりすまし・侵入
リスク⑤
アプリの改ざん
モバイルアプリ バックエンド
実行基盤
システム
データ
リスク②
盗聴
リスク③
業務データと
他データとの混在
社内ネットワーク
2014/12/14 ISE モバイルインフラ設計セミナー より
© 2014 IBM Corporation
6
MFP Foundation セキュリティー機能一覧
メカニズム
利点
詳細
暗号化された
オフライン・キャッシュ
 マルウェア感染やデバイス盗難
から、センシティブ・データの漏
えいを防止
– アプリケーション情報格納用のデバイス上の暗号化ストレージに対して
AES256 および PCKS #5 を利用し、より高度なセキュリティーのために
サーバーで生成した乱数を併用
– サーバーがオフラインの時でも使用可能(鍵をデバイスで保存)
– JavaScriptで実装(高度に難読化済み)され、オプションとしてネィティブ・
モジュールによる高速化も可能
アプリ信憑性テスト
(クライアントコード
認証)
 フィッシング・アプリによるなりす
ましの防止
 マルウェアによるアプリ乗っ取り
の防止
– チャレンジ-レスポンス方式によるクライアント・アプリケーションの改ざん
防止
– 対タンパ性のある自己検査コードの利用
認証フレームワーク
 認証インフラの堅固な統合を
低コストかつシンプルに実現
– JAASおよび認証レルムをベースとしたサーバー・サイドのバックエンド
認証統合アーキテクチャー
– セッション切れの際に非同期で認証リクエストを行うためのクライアント・
サイド・フレームワーク
サーバー・サイド・
セーフガード
 SQLインジェクションの防止
 XSRFからの保護
– Prepared-statementの強制
– セッション・クッキーに対する送信データの検証
デバイス認証
 アカウントハイジャック(なりすま
し)の防止
– サーバーへの安全なデバイスID送付
– デバイスとユーザーの組合せで識別
特定バージョンや
デバイスを
遠隔アクセス無効化
 インストールベース全体に対す
るクリティカルなセキュリティー・
アップデートの迅速な伝播
– サーバー・サイドの管理コンソールによる、特定バージョンのアプリケー
ションの利用許可の設定。管理者はユーザーにネイティブ・コードのセ
キュリティー・アップデートのインストールを強制することができる。
ダイレクト・
アップデート
 インストールベース全体に対す
るクリティカルなセキュリティ・
アップデートの迅速な伝播
– アプリのアップデート作業を必要としない、新バージョンのコード配布 (現
在はJavaScript/HTMLなどWebリソースのみ)
 man-in-the-middle攻撃の防止
– クライアント・サイドのAJAXフレームワークが自動的にMobileFirstサー
バー証明書を検証
7
AJAXに対するSSL
© サーバー認証
2014 IBM Corporation
セキュリティー機能概要
能動的なセキュリ
ティアップデートを
実行
デバイス上のデータ保護
暗号化
キャッシュ
/ DB
オフライン
認証
信憑性を重視
したモバイ
ル・プラット
フォーム
認証を統合し
たフレーム
ワーク
企業のセキュリティ
承認プロセスを効率
化
© 2014 IBM Corporation
起動時のセ
キュア チャレ
ンジ・レスポ
ンス
アプリ信憑性
テスト
データ保護
レルム
ユーザーID
とデバイス
IDの結合
ジェイルブレ
イクとマル
ウェア検出
実証された
プラット
フォームセ
キュリティ
堅牢な認証とセキュア・
ユーザーへ許可を提供
遠隔アクセス
無効化
サーバー・ア
イデンティ
ティ確認によ
るSSL
ダイレクト・
アップデート
コード
難読化
既知のアプリ・セ
キュリティ脅威か
らの保護
8
ダイレクト・アップデート
© 2014 IBM Corporation
9
ハイブリッド・アプリのダイレクト・アップデート
•6.2以降は認証フレームワーク・ベース
•事前定義の認証レルムとチャレンジハンドラーが付属
•ダイレクト・アップデート・プロセスの
UI/UXは、完全なカストマイスが可能
日本語の表示
はカスタム
1. Web リソースは、アプリケーションにパッケージされ、オフラインでも利用可能
2. アプリは、ユーザー構成に基づいて更新があるかどうかを次のタイミングで検査
• セッションごと、要求ごと、無効にすることも可能
3. 更新されたWebリソースが必要に応じてダウンロード
ダイレクト・アップデート後、事前にパッケージされたリソースを使用せずアプリケーション・サンドボックス内のリソースを使用
© 2014 IBM Corporation
10
ダイレクト・アップデートの利点
· ユーザーの最新バージョン・アプリ使用を保障
· 更新の通知や、廃止されたバージョンの使用を防止することで適切に制御可能
· MobileFirst サーバーに配置された更新は自動的にデバイスに適用
· ユーザーとの対話なしでサイレント・モードでの更新も可能
ネイティブ・コード修正時の対応
スマホアプリ
テスト/ステージング
アプリ・コード
脆弱性
機能更新
Objective-C
Swift
Java
C#
コード修正
企業内 App Store
登録
Appleの場合は約1週間以上
Store登録申請/審査
Store登録申請/審査
App Store
スマホ
App Store
アプリ
アプリ
テスターが自分
で 修正版をイン
ストール
ユーザーが自分
で 修正版をイン
ストール
ダイレクト・アップデートを利用した場合
スマホアプリ
アプリ・コード
脆弱性
機能更新
HTML
JavaScript
CSS
images
Webリソース修正
© 2014 IBM Corporation
テスト/ステージング
MobileFirstサーバー
アップ
ロード
自動的に
修正版をインストール
(テスターの操作不要)
即時または
計画的な
対応可
アップロード
MobileFirstサーバー
アプリ
アプリ
サーバー接続時に修正
版を自動インストール
(ユーザーの操作不要)
11
制限
アプリケーション Web リソースのみが対象
ネイティブ・リソースの更新や新しいバージョンへの更新には、
各アプリケーション・ストアへのアップロードが必要
Androidハイブリッド: 制限なし
Windows Phone 8ハイブリッド: 制限なし
iOSハイブリッド:
B2C: 会社のサービス利用規約に準じます。通常、バグ修正は許可される*
B2E: iOS Developer Enterprise Program を介する
* MFP Foundationの機能的制約ではなく、iOS Developer Program Information
(https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_2_14.pdf)の3.3.2 記載による制限です
。3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if
all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing
is scripts and code downloaded and run by Apple's built-in WebKit framework, provided that such scripts and code do not
change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended
and advertised purpose of the Application as submitted to the App Store.
© 2014 IBM Corporation
12
差分ダイレクト・アップデート
6.3 New
良く利用するユーザーに対してダイレクト・アップデートの性能向上
• 従来全てのWebリソース・パッケージを受信していたが、変更されたWebリソース
のみを受信。
• ダウンロード時間の短縮。ネットワーク・リソースの節約
配置されているWebリソースに1回のビルド差がある時、差分アップデートを受信
他のユーザーは、フル・アップデートを受信
デフォルトで利用可能
© 2014 IBM Corporation
13
差分ダイレクト・アップデート
フル・アップデート
© 2014 IBM Corporation
差分アップデート
14
差分ダイレクト・アップデート
 Andorid と iOS をサポート
 MFP Foundation 6.3 でビルドされたクライアント・アプリ
 頻繁にアプリを利用しているユーザーにとって最も有効
 MobileFirst 6.3 サーバーは、この機能を利用しないクライアントに対して、フル
・アップデート機能を提供
 ダイレクト・アップデートの全構成とカストマイズが差分アップデートにも適用
 差分ダイレクト・アップデートの停止は、JNDIプロパティの設定
 “wl.differential.update.enabled” を false
 設定後、MobileFirst サーバーを再起動
© 2014 IBM Corporation
15
管理コンソールの表示変更 前のビルド時間
 ビルド時間に加えて、「前のビルド時間」も管理コンソールのサポートされる環境に表示
© 2014 IBM Corporation
16
(参考) 6.2 以降のダイレクト・アップデートの設定例
1.サンプルは、dWからダウンロード可
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/“
Advanced client-side development" の"Using Direct Update to quickly update your application"
2.サーバー・サイドのカストマイズ authenticationConfig.xml の次の部分を修正
下のコメントをアンコメントし、事前定義の認証レルムに変更
<mobileSecurityTest name="mobileTests">
<testAppAuthenticity/>
<testDeviceId provisioningType="none" />
<testUser realm=“myMobileLoginForm” />  wl_directUpdateRealm に修正
<testDirectUpdate mode=“perSession” />
 perRequest に変更するとアプリの停止が不要に
</mobileSecurityTest>
3.application-desctiptor.xml のセキュリティ・テストにmobileSecurityTest名 “mobileTests”を指定
<android version="1.0" securityTest="mobileTests">
© 2014 IBM Corporation
17
(参考) ダイレクト・アップデート main.js 例
function wlCommonInit(){ WL.Client.connect({onSuccess: onConnectSuccess, onFailure: onConnectFailure});
}
function onConnectSuccess() { WL.Logger.debug ("Successfully connected to MobileFirst Server.");
}
function onConnectFailure() { WL.Logger.debug ("Failed connecting to MobileFirst Server.");
}
wl_directUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext) {
// custom WL.SimpleDialog for Direct Update
var customDialogTitle = '利用可能な更新があります';
var customDialogMessage = 'アプリケーションの更新が利用可能です。サイズは、
'+Math.floor(directUpdateData.downloadSize/1000)+'kb です。';
var customButtonText1 = '更新';
var customButtonText2 = '今は更新しない';
WL.SimpleDialog.show(customDialogTitle, customDialogMessage,
[{
text : customButtonText1,
handler : function() {
directUpdateContext.start();
}
},
{
text : customButtonText2,
handler : function() {
wl_directUpdateChallengeHandler.submitFailure();
}
}]
);
};
© 2014 IBM Corporation
18
ダイレクト・アップデートの信憑性検証
背景 MobileFirstサーバーは、毎秒 250 MB の速度でデータをプッシュ可能。
さらに高速なダイレクト・アップデートが必要な場合、CDN (コンテンツ配信ネットワ
ーク)(リバース・プロキシー) を使用する構成も可能。
機能 利用者デバイス導入前に、ダイレクト・アップデート・パッケージを信憑性検査
効果 悪意のある修正が加えられることを防止
• 電子署名を配布時に加えて、クライアントでの導入前に検証を実施
© 2014 IBM Corporation
19
セキュア・ダイレクト・アップデートの設定
設定
1. サーバーの conf/worklight.properties ファイルのキーストアを更新
• 最大 キー長 3072 bits
2. アプリの applicationDescriptor.xml に公開鍵を設定
• 公開鍵は、base64エンコーディング
• 公開鍵抽出ウィザードを提供
3. ビルドとアプリ再配置
注. 既に配布済みのアプリではセキュア・ダイレクト・アップデートは動作しません。
構成された上でのアプリ公開時に機能します。
改ざん時
アップデート・
エラー
CDN
ダイレクト・アップデートzip
を導入前に信憑性チェック
例 Akamai
MobileFirst
サーバー
管理コンソール
(WAR)
DirectUpdateApp-android-1.0-default.zip
© 2014 IBM Corporation
.wlapp
(アプリ)
MobileFirst
DB
20
(参考) セキュア・ダイレクトアップデート用ウィザード(1)
①
①アプリ名を選択し、右クリック
②「Extract public key for direct update authenticity」
をクリック
③ウィザードで、キーストア・ファイルとパスワードを入力
④「Load Keystore」をクリック
②
③
© 2014 IBM Corporation
④
21
(参考) セキュア・ダイレクトアップデート用ウィザード(2)
⑤キー・別名を選択
⑥「Next」をクリック。
キーが表示されます。
⑦「Finish」をクリック
⑤
⑥
⑦
© 2014 IBM Corporation
22
(参考) セキュア・ダイレクトアップデート用ウィザード(3)
⑧ application-descriptor.xml 内の
<directUpdateAuthenticityPublicKey>タグに
キーがコピーされます。
⑧
<directUpdateAuthenticityPublicKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsR39yvI5X0eotu1vH56LW1
RG3eSyArf9jRx04VlqJwpTEOdopMX5BcRImh+7Wch+uKl9NEZ7rvmsOBSK33Z09bOUqqa61y5iTs9wWhjui7Ulgi3kK4/z6z
H5vL9XJvlTQo9XBRDnmBu4LiA+F/65JjUHX0gtCXIitpMFp30JAAwIDAQAB</directUpdateAuthenticityPublicKey>
© 2014 IBM Corporation
23
デバイス認証
© 2014 IBM Corporation
24
認証フレームワーク全体
企業の既存/新規の認証システムと連携する柔軟なフレームワークを提供
DataCenter
(DMZ)
Backend
System 1
DataCenter
ISAM(TAM),
DataPower,
SiteMinderなど
Mobile
Device
Internet
or
Intranet
認証
プロキシ
Server
Backend
System 2
MobileFirst
Server
負荷分散
装置
MobileFirst
Server
Username/Password login form
認証フレームワーク
の稼動箇所
Server issued login form
Header/Cookie based
Custom authentication
(Adapter or Java)
MobileFirst
DB
認証
リポジトリー
(LDAP)
Device SSO
© 2014 IBM Corporation
25
認証フレームワーク
レルム
LoginModule
MobileFirst
アプリケーション
6.アダプター処理実行
1.未認証リクエスト
2.認証要求
Challenge
Handler
Authenticator
Adapter
バックエンド
システム
3.認証の為の情報
4.success(or error)
認証後セッション上に
デバイス
5.認証済リクエスト
ユーザー情報保持
7.レスポンス
MobileFirstサーバー
• MobileFirstサーバー側の認証コンポーネント
• Authenticator : 保護リソースに対するリクエスト内のユーザー認証情報有無を確認
• Login Module : Authenticatorが取得したユーザー認証情報をチェック
• MobileFirstアプリケーション側の認証コンポーネント
• Challenge Handler : Authenticatorが未認証の返答を行った場合にログイン入力などを行わせるカ
スタム・コンポーネント
• レルム:
• 保護するMobileFirstコンポーネントのスコープ。Authenticator/LoginModuleの組を関連付け
© 2014 IBM Corporation
26
(参考) 認証コンセプト
モバイル・デバイス
© 2014 IBM Corporation
MobileFirstサーバー
27
(参考) 認証設定の概要
認証の構成は、authenticationConfig.xmlで設定
authenticationConfig.xml
保護対象リソース
application-descriptor.xml
でマッピング
Security test
1
Realm 1
Authenticator 1
Login module 1
WLアプリ
(環境単位)
アダプター設定ファイル(xml)
でマッピング
Security test
2
Realm 2
Authenticator 1
Login module 2
アダプター
(関数単位)
authenticationConfig.xml
でマッピング
コンソールと
レポート用の
WLシステムWebアプリ
Security test
3
Realm 3
Authenticator 2
Login module 3
(Application Centerの認証による保護設定は異なる)
© 2014 IBM Corporation
28
(参考) 事前定義オーセンティケーター
オーセンティケーター 名
どのような情報を受け取るか
ログイン・モジュールとの組合せ
基本オーセンティケーター
HTTP Basic認証の情報を受け取る
フォーム・ベースのオーセンテ
ィケーター
FormでAction先を /j_securyt_checkに設定して送られてきた、
j_username 、j_password パラメータを受け取る
アダプター・オーセンティケー
ター
カスタムの認証ロジックをアダプターで実装する場合に使用する
構成パラメータのlogin-functionに指定されたアダプターが実行さ
れ、Request Headerがアダプターに転送される
アダプター実装では、ログイン・シーケンスの最後に、
Worklight.Server.setActiveUser (realm, identity)メソッドを呼ぶ
ヘッダー・オーセンティケータ
ー
HTTP Header情報を受け取る
非対話のオーセンティケーター
ヘッダー・ログイン・モジュールと
組み合わせる
LTPA オーセンティケーター
CookieのLTPAトークンを受け取る
Cookie名は「cookie-name」で指定
WorklightサーバーがWAS上で稼動していることが前提。
LTPAトークンが無い場合には、Form認証のデータを受信できる
WASLTPAModule ログイン・モジ
ュールと組み合わせる
永続 Cookie オーセンティケ
ーター
指定したCookieを受け取る。存在しない場合、そのCookieを作成
し、応答でset cookieする
デフォルトのCookie名は、WL_PERSISTENT_COOKIE
cookie-name構成パラメータでCookie名を変更可能
主に環境レルム内で使用
カスタム・オーセンティケーターの実装(Java)も可能
カスタムオーセンティケーターでは、HTTPヘッダー、ボディー、Cookie情報など、
任意のHTTPRequestオブジェクトのデータを使用して、認証できる
© 2014 IBM Corporation
29
(参考) 事前定義ログイン・モジュール
ログイン・モジュール
名
認証の仕組み
備考
非検証ログイン・モジュ
ール
認証を実施しない
データベース・ログイン
・モジュール
DBにクエリを発行して認証
データソースのJNDI名とSQL文はログイン・モジュールの
parameter子要素で指定する
指定するSQL文の例 :
SELECT UserID, Password, DisplayName FROM
UsersTable WHERE UserID=?
単一 ID ログイン・モジ
ュール
worklight.propertiesのconsole.username、
console.password を使用
通常、Worklightコンソールへのアクセス制限に使用
1組のユーザーID、パスワードしか指定することができない
テスト目的で使用
ヘッダー・ログイン・モ
ジュール
Headerに「user-name-header」で指定した
Headerが存在すれば認証成功
ヘッダー・オーセンティケーターと組み合わせて使用
認証プロキシからユーザー情報の伝搬に使用
WASLTPAModule ロ
グイン・モジュール
WASのLTPA認証機能を使用して認証
LTPA オーセンティケーターと組み合わせて使用
WASの認証機能を使用して、ユーザーの検証を行う。
ISAM(TAM)やDataPowerなどのIBM製認証プロキシからのユー
ザー情報の伝搬にも使用可能
LDAP ログイン・モジュ
ール
LDAPサーバーを使用してして認証
UsernamePasswordAuthenticator インターフェースを実装する
オーセンティケーターを作成する必要がある
カスタム・ログイン・モジュールの実装(Java)も可能
実装方法は、 「Custom Authenticator and Login Module」を参照ください。
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/
© 2014 IBM Corporation
30
デバイスの正当性確認
6.3 拡張
デバイスID
• デバイスを識別するための固有のID (デバイスのシリアルNoではない)
• セキュリティー、デバイス SSO、レポート、およびプッシュ通知などで使用
• 初回起動時に生成されMobileFirstサーバーに通知される
デバイス・プロビジョニング
• クライアントがセキュリティー証明書をMobileFirstサーバーから取得するプロセス
プロビジョニングのモード
No
プロビジョニングは行わない (デフォルト)
自動
MobileFirstサーバーが自動的に署名付き証明書を発行
カスタム
プロビジョニング・プロセスをユーザーコードで拡張、MDMなど外部システムとの連携も可能
証明書を外部システムで発行することも、MobileFirstサーバーに要求することも可能
* 自動およびカスタム・プロビジョニングは、ハイブリッドiOS とAndroidに加えて、
次の環境が、6.3 で追加されました。
- ネイティブ iOSと Android
- Windows Phone 8 ハイブリッド
© 2014 IBM Corporation
31
デバイス・プロビジョニングの概要
モバイル・デバイス
MobileFirst
サーバー
デバイス資格情報
に対して追加検証も
カストマイズで可
© 2014 IBM Corporation
32
初回アプリケーション始動時の自動プロビジョニング
モバイル・デバイス
MobileFirst
サーバー
認証性検査は、
アプリが真正な
もので、誰にも
改ざんされてい
ないことを保障
するMobileFIrst
のテクノロジー
注意. 証明書は、証明書を要求するすべてのデバイスに発行されます。したがって、自動プロビジョニングは、アプリケーションの
認証性検査が成功した後に使用された場合のみ、実行する意味があります。
© 2014 IBM Corporation
33
プロビジョン済みアプリケーションの 2 回目以降の始動
モバイル・デバイス
MobileFirst
サーバー
© 2014 IBM Corporation
34
アプリ認証性検査
© 2014 IBM Corporation
35
アプリ改ざんチェック
起動時にチェックサムでの改ざん検知
初回実行時
アプリケーション
実行時(毎回)
アプリケーション
を開始
チェック
サム
比較
合致
不一致
チェック
サム
Webリソースのチェックサム
を計算し、保存
アプリケーション
を停止
チェック
サム
その場で計算したチェックサムと
保存してあるチェックサムを比較
注. Integrity verification of JS codeは、iOSハイブリッド、Androidハイブリッドが対象の機能
© 2014 IBM Corporation
36
アプリケーション信憑性*
アプリケーションが改ざんされていない事をチェック(信憑性チェック)する
• Webリソース部分は対象外
アプリケーション・コードの
• アプリケーション署名が正しいことを確認
改ざん防止機能でチェック
コード内容のチェックはOSが実施
APKファイル
Worklightと通信時にCP署名に使われてい
る秘密鍵とWorklightサーバーに登録されて
いる証明書が合っているかチェックを行う
改ざんされたアプリケーションは実行できない
実行
モジュール
データ/
リソース
ファイル
チェック
CP(Contents Provider)署名
設定方法 (iOS/Android ハイブリッド・アプリケーションの場合)
• 1. authenticationConfig.xml ファイルを変更
<mobileSecurityTest> を使用する場合、 <testAppAuthenticity/> を追加
<customSecurityTest> を使用する場合、 <test realm=”wl_authenticityRealm”/>を追加
• 2. アプリケーション公開署名鍵を設定
iOSとAndroidで手順が異なる。詳細手順は、以下を参照
http://www01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.dev.doc/dev/c_ibm_worklight_app_auth
entication_overview.html
• 3. 再ビルドと再デプロイ
© 2014 IBM Corporation
* Infocenterでは、Authenticityを認証性と訳しています。この節では信憑性としました。
37
アプリケーション信憑性の管理
6.3 拡張
管理コンソールから設定 : “App Authentication”
• Enabled, blocking : デフォルト値。チェックが有効で、異常検知時にサーバー側がサービスを停止
• Enabled, servicing : チェックは有効だが、異常検知時でもサーバー側がサービスを継続する
• Access Disabled : チェックが無効(認証性チェックを実施しない)
6.3で追加
© 2014 IBM Corporation
38
その他
© 2014 IBM Corporation
39
WAS セキュリティ機能の活用
 MFP 6.3からは、アダプターは、タイムアウトと並行処理を管理するために、もう
threadpools に依存していません。現在は、全てのスレッドがWASに含まれています
。 MobileFirst Platform は、リソース消費の少ないWAS提供のセキィリティ機能を全
て利用できるようになりました。
 HTTPフレームワークに基づくHTTPアダプターでのみアダプター・タイムアウトと並行
処理はサポートされます。アダプター・プロシジャーの応用的なタイムアウトは、呼び
出すクライアントによって操作されます。
 MobileFirstサーバー v6.3 でも、前のバージョンからのアダプターも配置し実行でき
ます。
© 2014 IBM Corporation
40
セキュリティー・ドキュメント・アセット
 MFP Foundation のセキュリティーに関する能力と美点がより分かりやすく、使いや
すくするために、サンプルとドキュメントが追加されました。
 Getting Started で、デモ可能なコードのサンプルを提供
https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/
•
•
Device enrolment (デバイス登録)
Offline Authentication (オフライン認証)
© 2014 IBM Corporation
41
まとめ
© 2014 IBM Corporation
42
セキュリティ機能向上と対応環境の追加
MFP Foundation 6.3 は、次の機能と対応環境を追加しました。
iOS
ネイティブ
Android
ネイティブ
iOS
ハイブリッド
Android
ハイブリッド
Windows
Phone 8
ハイブリッド
アプリ信憑性テスト
○
○
○
○
○(6.3)
ダイレクト・アップデート信憑性
チェック
n/a
n/a
○(6.3)
○ (6.3)
○ (6.3)
差分ダイレクト・アップデート
n/a
n/a
○(6.3)
○(6.3)
○(6.3)
デバイス認証
○(6.3)
○(6.3)
○
○
○(6.3)
© 2014 IBM Corporation
43
© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind,
express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have
the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM
software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
© 2014 IBM Corporation
44
アプリケーションのセキュリティーと管理
MobileFirstは、モバイル・アプリケーションのセキュリティーと管理を提供
MobileFirstの提供範囲
モバイルアプリ
モバイル
アプリ
デバイス
セキュリティー
管理
オフライン・キャッシュの暗号化
アプリケーションの改ざん防止
認証フレームワーク
ダイレクト・アップデート
遠隔無効化
アプリケーション・バージョン管理
紛失デバイスからのアクセス制限
セキュリティー構成管理
端末画面ロック
データ消去(ワイプ)
改造検出
端末インベントリー
位置情報取得
端末構成
注) デバイスのセキュリティーと管理は Mobile Device Management (例えば、MaaS360) で実現
© 2014 IBM Corporation
45
Fly UP