明けましておめでとうございます。モバイル担当のジェームズです。
今年も宜しくお願い致します。
2017年最初の記事は、「MaaS360でモバイル・アプリをセキュアに利用しよう!」というお話です。
MaaS360が提供するアプリケーション・セキュリティ機能
MaaS360の「アプリケーション・セキュリティ」というライセンスを購入すると、自社で開発したアプリ(エンタープライズ・アプリ)をセキュアに利用するための機能が提供されます。主な機能は以下の通りです。
- データ漏洩防止(DLP)
クリップボード操作の制限(切り取り/コピー/貼り付け)、ファイルのエクスポート制限 - SSO(Single Sign On)
MaaS360コンテナ内の全てのアプリで同じコンテナPIN/パスコードを適用 - 暗号化のサポート
エンタープライズ・アプリで作成したコンテンツの暗号化 - アプリのトンネリング
Mobile Enterprise Gatewayを介してアプリから企業内ネットワークへ接続 - アプリの設定情報の配信
アプリの設定情報をプッシュする機能(例:チャットアプリへサーバURL情報を設定する等) - コンプライアンスの適用
端末が企業のポリシーに準拠していない場合にアプリへのアクションを実行
モバイル・アプリの種類
MaaS360アプリケーション・セキュリティ機能を適用できるアプリの種類は限定されているため、モバイル・アプリの種類について整理しておきます。
1.一般公開アプリと非公開(プライベート)アプリ
- 一般公開アプリ
iOS向けのiTunes App StoreとAndroid向けのGoogle Play Storeの各マーケットストアにリリースされるアプリのことです。
一般公開アプリではMaaS360アプリケーション・セキュリティの実装はできません。
- 非公開(プライベート)アプリ
主に企業が自社の業務で利用するために開発したアプリのことです。これらのアプリは企業の従業員にのみデプロイして利用します。
一般的にエンタープライズ・アプリとも呼ばれ、MaaS360アプリケーション・セキュリティを実装することが可能です。
2.ネイティブ・アプリとハイブリッド・アプリ
- ネイティブ・アプリ
iOS向けのSwift/Objective-C、Android向けのJava等OSでサポートされているプログラミング言語を使用して特定のモバイルOS用に開発したアプリのことです。
アプリは特定のプラットフォーム用の開発ガイドラインを使用して開発され、OSが提供するネイティブAPIを使用することで、カメラ、Bluetooth、GPS等の内蔵デバイス機能に簡単にアクセスできます。
また、ネイティブ・アプリは一般的にパフォーマンスに優れ、より良いセキュリティを提供しますが、プラットフォーム毎に開発が必要なためリリースまで時間が掛かります。
- ハイブリッド・アプリ
基本的にはネイティブのラッパーにバンドルされているHTML5やJavascript等で開発されたWebアプリのことです。iOSとAndroidの両方で動作する様に設計することが可能です。また、全てのデータはWebサービスAPIを使用してアプリケーションサーバから取得します。このため、ネイティブ・アプリと比較して開発時間は短くなりますが、アプリのパフォーマンスは低下します。
MaaS360アプリケーション・セキュリティの実装方法
MaaS360アプリケーション・セキュリティは、App WrappingとApp SDK Integration という2つの異なる方法で実装できます。
1.App Wrapping
MaaS360を意識することなく作成したエンタープライズ・アプリに対して、アプリのアンラッピング、MaaS360のコンテナ・セキュリティコードの付加、パッケージ全体の再ラッピングを行います。このプロセスは、対象アプリをMaaS360アプリ・カタログに登録する際にApp Wrappingオプションを選択すると自動的に実行されます。App Wrappingが完了したアプリを端末にデプロイすることでMaaS360アプリケーション・セキュリティ機能を利用することが可能になります。
MaaS360はセキュリティコードを付加した後にパッケージ全体を再ラッピングするために、対象アプリ固有の情報を必要とします。(iOS:プロビジョニングプロファイル/コード署名証明書/パスワード、Android:キーストアファイル/キーストアの別名/パスワード)このため、一般公開アプリはApp Wrappingすることはできません。また、後述のApp SDK Integrationより利用できる機能は限定されます。
2.App SDK Integration
エンタープライズ・アプリ開発時にMaaS360 App Security Software Development Kit(SDK)を組み込みます。このため、アプリに適用するMaaS360アプリケーション・セキュリティ機能をより柔軟に、きめ細かく制御できます。また、上述のApp Wrappingより多くの機能を利用することが可能です。
App Wrpapping と App SDK Integration どちらを使う?
MaaS360アプリケーション・セキュリティの実装方法には、App WrappingとApp SDK Integrationの2種類あることが分かりました。では、自社のアプリはどちらの方法を採用すべきでしょうか?アプリの特性や要件によって判断するための簡単なガイドラインがあります。ご参考まで。
1.どちらも必要ないケース
デプロイするアプリに機密データがなく、データ漏洩の心配がない場合はどちらも必要ありません。アプリ・カタログに登録して管理対象アプリとすることで以下の機能を利用できます。
- アプリを遠隔操作でアンインストール
- Jailbreak/Root化の検出時や、設定したポリシーが順守されていない場合にアプリをアンインストール
- アプリのバックアップの防止やアプリデータの暗号化バックアップの強制
- アプリデータのエクスポートの制限
2.App Wrappingが適しているケース
以下の様なケースでは、App Wrappingが適しています。
- デプロイするアプリに機密データがあり、データ漏洩の心配がある場合。また、デバイス上にアプリデータの暗号化を施したい場合
- アプリがインターネットに公開していない社内ネットワーク上のリソースにアクセスする必要がある場合(App WrappingとMobile Enterprise Gatewayの組み合わせにより、アプリと社内リソース間をセキュアに接続します)
- ユーザ名、サーバURL、メールアドレス等のアプリケーション設定パラメータを配信する場合
- 端末がポリシーに準拠していない場合にアプリの使用を制限したい場合
- ラップされたすべてのアプリのロックを解除するために同じコンテナのパスワード/ PINを適用したい場合
3.App SDK Integration が適しているケース
以下の様なケースでは、App SDK Integrationが適しています。
- MaaS360アプリからユーザ名、ドメイン名、メールアドレス等を抽出する場合
- 端末のコンプライアンス・イベント等のセキュリティ・イベントのコールバックを実装し、状況に応じてアプリデータを処理したい場合
- MaaS360Secureメールを利用してアプリからメールを送信したい場合
- MaaS360Secureブラウザでアプリからリンクを開きたい場合
- MaaS360Secureビューワ/エディタでアプリからドキュメントを開きたい場合
まとめ
- MaaS360アプリケーション・セキュリティ機能を利用することで自社開発したモバイル・アプリをセキュアに利用可能
- MaaS360アプリケーション・セキュリティ機能は「App Wrapping」と「App SDK Integration」の2つの実装方法がある
- アプリの特性や要件により適切な方法を選択することが重要