目次


アプリケーションのデータをハッカーにとって使い物にならないものにする

保存中も処理中も最大限のデータ保護を保証する

Comments

機密データがセキュリティーで保護されるようにすることは誰にとっても重要な懸念事項ですが、機密性の高い健康データを扱うとなると、その重要性はさらに増してきます。IBM LinuxONE をベースに作成された Hyper Protect クラウド・サービスは、セキュリティーのレベルを一段高めます。この DBaaS サービスを利用すると、アプリケーションに一切変更を加えることなく、保存時も転送時も自動的にデータを暗号化できます。しかも、他の DBaaS クラウド・サービスとは異なり、データに対するアクセス権を持つのはサービスのユーザー本人だけです。IBM Hyper Protect Crypto Services を利用して暗号鍵管理を完全に制御すれば、クラウド管理者でさえも暗号鍵にアクセスできなくなります。

自然災害による不運な結果の 1 つは、自然災害が向こう見ずな行動や悪行につながり、貴重なデータが危険にさらされる場合があることです。個人情報 (災害の被害に見舞われた個人に関する情報、機密性の高い医療情報、財務データなど) を保管するアプリケーションを作成しているとしたら、データ・セキュリティーは選択肢ではなく、なくてはならない必須の措置です。そこで、このチュートリアルでは、鍵管理サービスを利用してアプリケーションに簡単にセキュリティーを統合し、アプリケーションのデータを、ハッカーにとって使い物にならないものにする方法を紹介します。

IBM Cloud Hyper Protect Crypto Services は、暗号化と鍵管理のサービスを包括的に揃えたサービス・ファミリーであり、いずれのサービスも LinuxONE テクノロジーに裏打ちされています。つまり銀行や金融サービスで頼りにしているこの最先端の暗号化テクノロジーを、クラウドのユーザーが利用できるということです。

ネットワーク・アドレスで接続可能な Hardware Security Module には、Java、JavaScript、Swift を含む各種のプログラミング言語で使用できる、業界標準のセキュアな PKCS#11 暗号 API インターフェースが用意されています。このインターフェースは、セキュアな鍵の処理と乱数生成を、FIPS-140-2 レベル 4 に認定された IBM Z 暗号ハードウェアでサポートしています。レベル 4 は、FIPS-140-2 で達成可能な最大レベルです。Hyper Protect Crypto Services にアクセスするには、Advanced Cryptography Service Provider (ACSP) クライアントを使用します。ACSP クライアントが ACSP サーバーと通信して、バックエンドの暗号リソースにアクセスできるようにします。これは業界初の、しかも現在のパブリック・クラウド市場では唯一の FIPS 140-2 レベル 4 認定テクノロジーです。

ほとんどのモバイル・アプリケーションでは、サービスの一元管理をサーバー・バックエンドに依存しています。このチュートリアルで取り上げるプログラミングの例で、特殊なスキルがなくても迅速、簡単に、アプリケーションに IBM Hyper Protect Crypto Services を統合する方法を紹介します。

学習の目的

以下に説明する手順に従って、独自の Hyper Protect Crypto Service Services インスタンスを作成し、そのインスタンスに暗号化リクエストを送信します。これにより、Hardware Security Module (HSM) の物理的な保護の下で処理を実行できるようになります。わかりやすく説明すると、この特殊なハードウェア内に鍵 (厳密に言うと鍵の実際の値) を隠したまま、その鍵を参照して、事前定義された一連の暗号化処理を実行できるということです。最もよく使われる処理は暗号化と復号ですが、PKCS#11 準拠の HSM では、署名、検証、鍵生成をはじめとする多種多様な処理に対応できます。さらに、さまざまな鍵のタイプとサイズの選択肢の中から、要件に最適なものを選択することもできます。

前提条件

このチュートリアルに従うための技術的な前提条件はありません。

所要時間

このアクティビティーの所要時間は約 30 分です。

手順

認定 PKCS#11 Hardware Security Module によって裏打ちされた暗号化処理とサービスは、3 つの簡単なステップで利用できます。

  1. IBM Cloud アカウントを取得する
  2. IBM Cloud Crypto をプロビジョニングする
  3. クライアント・ライブラリーをインストールして構成する

IBM Cloud アカウントを取得する

お使いのマシンにすでに Git がインストールされている場合は、躊躇なくこのステップを省略してください。そうでない場合は、次の手順に従います。

  1. アカウントを作成するために IBM Cloud ポータルにアクセスして、「Create a free account (無料アカウントを作成)」を選択します。
  2. フォームに登録データを記入し、「Create account (アカウントを作成)」を選択します。

HPCS の選択と初期起動

IBM Cloud アカウントにまだログインしていない場合は、ログインします。

  1. IBM Cloud サービス・カタログを開いて、サービスのリストを表示します。
  2. 左側の「All Categories (すべてのカテゴリー)」ナビゲーション・ペインで、「Security and Identity (セキュリティーおよび ID)」をクリックします。
  3. サービスのリストで、「Hyper Protect Crypto Services」タイルをクリックします。
  4. 「Hyper Protect Crypto Services Lite Plan (Hyper Protect Crypto Services ライト・プラン)」を選択してから「Create (作成)」をクリックし、ログイン先のアカウント、領域、リソース・グループで IBM CloudCrypto Services インスタンスをプロビジョニングします。

しばらくすると、新しい Crypto Services インスタンスが稼働中になります。この時点で、手順を半分まで完了したことになります!

アプリ・サーバーにクライアント・ライブラリーをインストールして構成する

以下の手順に従って、ローカル環境内で ACSP クライアント・ライブラリーをインストールします。

  1. GitHub リポジトリーからインストール・パッケージをダウンロードします。packages フォルダー内で、お使いのオペレーティング・システムと CPU アーキテクチャーに適したパッケージ・ファイルを選択します。例えば x86 アーキテクチャーで Ubuntu を使用している場合は、acsp-pkcs11-client_1.5-3.5_amd64.deb を選択します。
  2. dpkg コマンドを使用してパッケージと ACSP クライアント・ライブラリーをインストールします。例: dpkg -i acsp-pkcs11-client_1.5-3.5_amd64.deb

: 現在試験段階の Hyper Protect Crypto Services で提供している証明書は、自己署名証明書のみです。

ACSP クライアントを構成して、クラウト内のサービス・インスタンスに対して適切なセキュア通信チャネル (相互 TSL) を有効にします。

  1. IBM Cloud 内の Hyper Protect Crypto Services サーバー・インスタンス内で、左側のナビゲーターから「Manage (管理)」を選択します。
  2. 「Manage (管理)」画面で、「Download Config (構成のダウンロード)」をクリックして acsp_client_credentials.uue ファイルをダウンロードします。
  3. acsp_client_credentials.uue ファイルをローカル環境内の /opt/ibm/acsp-pkcs11-client/config ディレクトリーにコピーします。
  4. opt/ibm/acsp-pkcs11-client/config ディレクトリー内で、次のコマンドを使用してファイルをデコードします。
    base64 --decode acsp_client_credentials.uue > acsp_client_credentials.tar
  5. 次のコマンドを使用して、クライアント資格情報ファイルを抽出します。
    tar xf acsp_client_credentials.tar
  6. 次のコマンドを使用して、server-config ファイルをデフォルトの場所に移動します。
    mv server-config/* ./
  7. 次のコマンドを使用して、クライアント資格情報ファイルの名前を変更します。
    mv acsp.properties.client acsp.properties
  8. (省略可能) 次のコマンドを使用して、ファイルのグループ ID を変更します。
    chown root.pkcs11 *
  9. クラウド内のサービス・インスタンスに適切な構成を使用する ACSP を有効化します。
    export ACSP_P11=/opt/ibm/acsp-pkcs11-client/config/acsp.properties

ACSP クライアントが動作可能な状態になりました。これで、Hyper Protect Crypto Services を利用できます!

まとめ

IBM Hyper Protect Services ファミリーは、標準的なクラウド・コンポーネントを特別に強化されたバリアントで置き換えるために使用できる、アプリケーション・ビルディング・ブロックとして構築されています。これらのバリアントは、保存中や転送中のデータだけでなく、処理中のデータにも最大限の保護を保証するものです。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=セキュリティ, Cloud computing
ArticleID=1065658
ArticleTitle=アプリケーションのデータをハッカーにとって使い物にならないものにする
publish-date=04252019