2017年05月30日

「Androidを支える技術U」を読んで その1

 Androidを支える技術〈U〉を読みました。


 第一巻と同様に、大変感動しました(^^


 この書籍は、Android のOSの心臓部を解説したものです。ですが、もともと想定されているのが専門的な開発者レベルなので、第一巻同様、サンデープログラマでしかない私にとっては理解できないところの方が多かった(^_^;)のですが、それでもAndroid開発大好きな私としては、感動ものでした(^^)/


 以下、感動したところを中心に…というか、それしかできませんので、書いてみますm(__)m


1.大変セキュアなアプリ環境


 Androidと言うと、iOSに比べてウィルスが多いとか、個人情報が抜かれるなどと酷評されますが、この解説を読むと、Androidは大変安全でセキュアなOSということがよくわかります。ここは是非ともAndroidのセキュリティをディスっている方に読んでほしいと思いました。


 以下、著者の言葉で説明します。


 Androidには、アプリにはそのアプリを実現するために 必要な機能にだけアクセスできるようにし、 それ以外の機能にはアクセスできないようにする仕組みがあります。


 まず、他の同様なOSと比較しながら、著者は説明していきます。 Androidは、あるアプリは別のアプリを信用していません。従ってアプリ A の書いた情報はアプリ B には読むことができません。 これが同じユーザーの走らせたソフトウェア同士は大体同じ権限で動く旧来の OSと違うところです。従来の PCは別のユーザーを信用していなかったのが、 Android では別のアプリを信用しなくなったのです。


 AndroidはもともとLinuxの上に構築されたシステムです。つまり、 Linux 上では、あるユーザーが他のユーザーの作った秘密のファイルをこっそり見ることはできない訳です。


 これをAndroidはどのように実現しているのかと言うと、 Androidはこの Linux のマルチユーザーのセキュリティモデルを、全く別の目的であるアプリ同士を信用しないセキュリティモデルを構築することに使用しています。なんと、 Android の書くアプリは Linux からは別々のユーザーと見えるようになっているのです。


 具体的には、Androidのアプリがインストールされる時、アプリに固有の秘密の情報は、個々のアプリ毎に作成した/data/data/[パッケージ名]というディレクトリに保存するため他のアプリから見ることはできません。結果として、 共有の必要のないデータは dataディレクトリの下に作成すると自身のアプリでしか見ることができないということが Linux のマルチユーザーの仕組みで担保される訳です。


 そして最終的にLinux はログインするものの中に悪意のあるユーザーがいてもセキュアに運用することができています。同様に Android においても悪意のあるアプリを入れて起動してしまっても、それだけで無制限に全ての情報を持っていかれることはありませんとなります。言い換えると このようにアプリを別々のユーザーと扱うことで、長い実績と信頼のある Linux のセキュリティモデルの強固さをそのまま Android の目的に用いることができます。

 今回、これを読んで初めて、セキュリティの素人である私でも、Androidのセキュリティに、自信をもって安心することができました(^^)



posted by 【なかま】 at 13:33 | Comment(0) | android
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: