バックナンバーはこちら

today&tomorrow

What's New in DesignWare IP?

2018 Mar. vol.109

Androidベースのモバイル端末におけるeMMC/UFSのインライン暗号化

シノプシス ASICデジタル・デザイン・エンジニア Biswanath Tayenjam

シノプシス テクニカル・マーケティング・マネージャー Licinio Sousa

デジタルカメラ、スマートフォン、タブレットなどモバイル・アプリケーションのユーザーは、端末内のフラッシュ・メモリーに大切なデータを大量に保存するようになっており、 モバイル・ストレージのセキュリティ確保が重要な課題となっています。JEDEC(Joint Electron Device Engineering Council)がモバイル・アプリケーション向けに開発したストレージ・インターフェイス規格のeMMC (embedded Multimedia Controller)とUFS(Universal Flash Storage)は、いずれもインライン暗号化によるデータ・セキュリティをサポートしています。 eMMCはメインストリームのモバイル・アプリケーションで必要とされる信頼性、スループット、および高速ブートをサポートする一方、UFSは性能と消費電力を大幅に改善しておりハイエンドのモバイル・アプリケーションに対応します。

スマートフォンでは、eMMC/UFSは次の2つのパーティションに分割されます。

  • 読み出し専用パーティション:システムはこのパーティションにAndroidオペレーティング・システムを格納します。通常、ユーザーはこのパーティションに対してプログラムも改変も行えません。
  • アプリ/データ・パーティション:システムはこのパーティションにアプリやユーザー・データ(ドキュメントやマルチメディア・ファイルなど)を格納します。

図1は32 GBの内蔵メモリーのパーティション例を示したものです。このうち25.23 GBがデバイスのストレージに使用されており、残りはオペレーティング・システム(OS)に使用されています。

画像

図1:Androidデバイスの内蔵ストレージのパーティション例。ストレージ容量のほとんどがユーザー・データの格納に使われており、この部分に対するセキュリティ保護が必要です。

携帯端末の内蔵ストレージの大半がユーザー・データ(個人情報などの秘匿データ)の格納に使用されているため、暗号化などのセキュリティ機能が必須となっています。 本稿では、Androidベースのアプリケーションでセキュリティ・タスクを実行するeMMCまたはUFSホスト・コントローラのインライン暗号化機能についてご説明します。

暗号化とは

暗号化とは、権限のあるユーザー以外がアクセスできないようにデータを符号化することを言います。
『Introduction to Cryptography』 (Barry K. Shelton著)には次のように書かれています。「暗号化アルゴリズム(暗号)とは、保護されていない情報(平文)を識別不能なフォーマット(暗号文)に変換するためにデータに適用する数式または関数を言います。 一般に、暗号化アルゴリズムには鍵と平文の2つを入力します。鍵はある決まった長さの数値です。1つ1つの鍵は完全にランダムであること、すなわちどの鍵の組み合わせも同じ確率で出現し、鍵の生成方法が予測不可能であることが理想です。 アルゴリズムおよび鍵の組み合わせは、数学的予測に基づいて突破されるまでに少なくとも数百万年かかるものが強力とされます。」

ソフトウェア暗号化とハードウェア・インライン暗号化

最近では個人データなどの秘匿情報を狙った侵害がかつてないほどに増加しており、OS開発者は暗号化の手法を導入してファイル・ベース暗号化やフルディスク暗号化などのデータ・ストレージ暗号化をサポートすることが必須となっています。

ソフトウェア・ベースの暗号化ソリューションはメイン・システム・プロセッサを使用して暗号化と復号化を実行します。このアプローチでもある程度の性能は得られますが、ストレージの更なる高速化に対するニーズには応えることができません。 こうした性能面の弱点を克服するため、JEDECなどの標準化団体はホスト・コントローラに追加するハードウェア・ベースのインライン暗号化機能を定義しています。 「インライン」とは、ハードウェア暗号化エンジンがホスト・コントローラ内部に存在することを意味しており(図2)、このエンジンがリアルタイムにデータを暗号化/復号化します。 インライン・ハードウェア暗号化エンジンで大量のセキュア・データを処理すると、レイテンシが減少しメイン・プロセッサをオフロードできるため、システムのリアルタイム性能が向上します。 また、1つのアプリケーションでハードウェア・インライン暗号化とソフトウェア暗号化を共存させることもできます。 この場合、ハードウェア・インライン暗号化で対称バルク暗号化を実行し、ソフトウェア暗号化で認証、鍵およびファイル名の暗号化を実行します。

画像

図2:暗号化エンジンを内蔵したモバイル・ストレージ・ホスト・コントローラIP

カテゴリートップ