Androidがバージョンアップするたびに

アンドロイドのOSアップデートは毎年のごとく行われる。
ようやく 日本にAndroidが一般的になったころは2.3ぐらいで みんなが使い始めたのが4ぐらい。
現状売られているのは7ぐらいで Googleなどから出されている端末に関しては8を実装している。
最初はTablet用として別に存在した 3というOSもあったが それ以降はTablet用とか区別がなく Androidとして バージョンが順番に上がっていった。
バージョンが上がるたびに厳しくなるのがセキュリティだ。
最初のころはシステムにかかわる部分だけは アクセスできないエリアという程度だったのだが 今はAndroidの標準的に持っているアプリケーションや付帯しているデバイスへのアクセスに関しても制限が設けられている。
中でも、通信と個人情報に関する事にはかなり厳しく制限が設けられている。
当たり前で、例えばカメラを使うアプリであれば その気になれば生活すべてを盗み見すことができるようになるわけだから 厳しくなるのも当たり前だ。
位置情報や住所録なども いまのところ「OK」を軽く押して進みますが 例えばLineでも住所録からお友達じゃないですかと教えてくれるのですが 携帯電話などでは個人と共用している人も少なくないので 取引先などからお友達申請等されたら困ってしまうわけです。
こちらだけが知るのではなく 相手に知らせてしまうわけですから困ってしまいます。
 
個人情報以外に厳しいのは前にも書いている通り通信で
携帯ネットワークだけでなく、WifiだったりBluetoothだったり それこそUSBケーブルでつなぐ有線だったりする。
これは、盗み取ったデータとしても送られることが無ければよいわけで 誰にでも送信する許可を与えないという意味ではよい仕組みです。
近くのWifiとつながってデータを送られたりすれば困ったことになるわけです。
携帯電話ネットワークは送るデータ量で課金されるのでばれ易い(知らない間に パケット制限を超えて スピードが遅くなったりすると発覚する)のだが Wifiなどではそういう制限がないので発見された時にはすごい量のデータが出て行ったあとかもしれません。
だから厳しいのです。
 
で、なのですが Bluetoothもプロファイルにネットワーク接続を持っていて Bluetooth経由でSmartPhoneをPCでインターネットに繋ぐルーターにしたりもできるわけです。
Wifiに比べて消費電力が少ないので 私はこれを好んで使います。
同様に アプリでBluetoothを使ってデータを外の機器から受けて送信するものがあるのですが もっとも個人情報を抜くのに適した接続なのです。
最近、車にもBluetoothを内蔵したものが多く SmartPhoneを接続することでハンズフリーの電話ができるようなやつです。
それが何でといわれそうですが ハンズフリーのマイクを使って 車の中の音を全部外にデジタルデータとして送ることができます。
車の中で機嫌よく歌でも歌っていた日には 外に駄々洩れの黒歴史になってしまう可能性があるのです。怖いと思いませんか?
 
ですがそれ故に困ったことも。
私の車のカーナビですが 中途半端に古いので ネットへの接続にBT-DUNというプロファイルを使います。
DUNはダイアルアップネットワークなのですが 最近の方はおそらくご存じないでしょう。
一番わかりやすいのがFAXで、機種によっては接続時に 「ピーガラガラ」という音が聞いたことがあるでしょう。
これは、デジタルデータを音に変換して音として送っています。
そんな方法があるのだと思うかもしれませんが 私がコンピューターを始めたころはプログラムを記録する方法は当たり前のようにこれで この音をカセットテープに録音してコンピューターに聞かせたりしていたわけです。
雑誌の付録にソノシートWindowsでは変換できなかった)がついていて その音を再生してプログラムをコンピューターに入れていた時代だったのです。
話はそれましたが 未だにカーナビはこの接続を使っていたりするのです。
カーナビが直接電話をかけることができないので 昔のガラケーBluetoothでつないで電話の音でデータをやり取りする規格をBT-DUNというプロファイルで定義しているのですが その接続です。
もちろん、SmartPhoneにその機能はないので アプリケーションでそのエミュレーションをしています。
カーナビと接続されると 音声のプロファイルで接続しインターネット上から得たデータを「ぴーがらがら」の音声信号としてカーナビに送って カーナビ側でそれをデータ化し利用する仕組みです。
前述の マイクからとった音を変換し外へ送るもしくは受けるというのと概念的な意味ではやっていることは変わりません。
つまり、データを盗まれているのではないかと Androidは思ってしまうのです。
それも、カーナビからの指示で突然つながって通信を始めるなど 怪しさ万歳に見えてしまうのです。
 
いままでは それらのエミュレーションプログラムはインストールすればそのまま使えていたのですが インストールするだけではだめになりました。
まず、SmartPhoneが起動したときに自動的にプログラムを起動させるというのを明示的に支持する必要が出てきました。
そして、回線へのアクセス権やBluetoothへのデータ転送権などを指示してあげる必要があります。
もちろん、アプリとしての設定やBluetoothのペアリングなどはあるとして 省エネ設定でデータが来ても自動的に起動しない状態なので 常時起動できる状態にするということも教えてあげないとできません。
おおよそはプログラムを起動したときに順番に聞かれるのですが 一部の設定は自分で設定パネルからする必要があります。
これは特に端末内で作ったデータを送受信するプログラムには厳しく扱われているように思われます。
そこまでの設定をして ようやくつながるようになるわけです。
 
プログラム的には あまり古い開発ツールを使っていないことも条件になります。
プログラム開発ツールで作られたプログラムにはよく使う処理をまとめたライブラリーが付帯されていて よくあるような処理はプログラムを書かなくてもライブラリーを使えば実行できるようになっています。
例えば 画面に文字を出すというのをビット単位で1度っとづつ設定して文字にしなくても 言葉を画面に文字を表示するライブラリーに送ってあげたら画面に文字が出るというようになっています。
そのライブラリーにも セキュリティ上の問題点などが見つかったりしますので 更新される必要があります。
中には古いものでは動いていたが新しくなると設定項目が足りなくて動かないものもあります。
そういうプログラムは新しい開発ツールで 再構成し直す必要が出てきます。
つまり、開発の止まったプログラムはいつか使えなくなってしまいます。
私の買ったプログラムの中にも 今まではChromCastに画像を送ってテレビで動画を見れていたのですが アップデートで送信する機能が無くなってしまったものがあり これらがそういう状態になったものです。アップデートしてほしいと祈るしかないのですが・・・・
 
いくつかのセキュリティのための関所となるところを作っていても
私の書いていることがわからないといわれ鵜人にとっては はいなのかいいえなのかを判断する方法もなく プログラムインストールのためにはとりあえず はいと答えておけっていう人も少なからず知っています。
どんなに 厳重なセキュリティも結果的に 人によって崩れていくってやつですね。
危ないプログラムは入れない。理解できずにYesと言わないというのが基本なんですが 守れていますか?