Google Play ストア の「端末の認証: 認証されていません」問題

昨日、Gigazine でこんな記事を見つけた

Google未認証のAndroid端末でGoogle純正アプリが使えなくなる予定
https://gigazine.net/news/20180327-google-block-uncertified-device/

Google 未認証とは

Google 未認証」とは主に、Android OS を搭載しているのに Google の認証を受けて合格しないまま出荷される端末がそういう状態になるらしい

記事によると、Android ベースだが Amazon が改造しまくっている Kindleや、中華製の MIUI など一部の端末がそれに該当するそうだ

通常 Android ユーザは「Google Play ストア」からアプリをインストールするが、今後は未認証の端末ではそれかできなくなる ─というのが今回のニュースである

俺の端末は大丈夫か

端末の認証状態は次の手順で確認できる:

  1. Google Play ストアを起動する
  2. 設定を開く
  3. メニューの一番下にある「端末の認証」を確認する

そこが 認証済みになっていれば問題ないが、認証されていません になっているとアウトだ

是非一度チェックしてみてほしい

未認証になる原因はいろいろある

Kindle や中華製の端末じゃなくても、カスタムROMを導入している場合にもこれが未認証になることがある

また私の経験上、正規の Android を搭載した端末で、カスタムROMを導入していない場合でも、未認証になることがある

それは、root 化をしている場合や、Xposed フレームワークを導入している場合

認証のアルゴリズムは不明だが、おそらく何らかのシステム系ファイルが書き換えられていることが検知されると未認証になるような気がする

一般的な回避策

幸いにも、未認証の端末でも Google Play ストアを今までどおり利用する方法は公式に用意されている

その端末の識別コード「Android ID (Device ID)」を調べ、Googleホワイトリストに登録申請すると、その端末は例外的に Google Play ストアの利用が許可されるようになるそうだ

詳しいやり方: How to Fix the “Device is not Certified by Google” Error

ただ、正規の Android 端末で root 化をしているだけの場合は、こんなことをせずとも、ちょっとしたトリックで「端末の認証: 認証済み」の状態に戻ることもある

Magisk 導入後に未認証になった場合の回避策

私の場合はいつも、純正の Android に Magisk を導入すると必ず「端末の認証: 認証されていません」になっていたが、この作業をすると認証済みの状態に戻ることを確認している

  1. Android の設定を開く
  2. アプリを開く
  3. Play ストアを選択する
  4. 強制終了ボタンを押す
  5. ストレージ&キャッシュをクリアする
  6. すぐに端末をシャットダウンし、TWRP を使って Dalvik Cache / Cache パーティションをクリアする (この方法ができない場合は、Titanium Backup のようなアプリでもキャッシュパーティションをクリアできる)
  7. 端末を再起動する

あくまで私の場合だが、この方法で認証済みに復旧できなかったことはないので、同様の環境の人は試してみるといいかもしれない

もちろん、この方法がダメでも前述の 一般的な回避策 が有効だが、もし可能なら、Googleホワイトリストに登録してもらう必要のない、こちらの方法で回避するのがベストではある

企業がやってる謎のメールセキュリティ 「添付ファイルのパスワードを別メールで通知」

うちの会社では、メールのセキュリティ対策として「HDE Secure Mail for ZIP」という製品が導入されている

この製品は、社内から添付ファイルつきのメールが送信されると、自動的にその添付ファイルをパスワード付き ZIP に圧縮し、パスワードだけ別のメールで相手に通知する ─というものだ

イルカでも分かるように言うと

つまり、添付ファイルのついたメールが送信されると、次の2通のメールが自動的に送信される:

  1. オリジナルのメール (添付ファイルのみパスワード付き ZIP で圧縮済)
  2. ↑のパスワードを記載したメール

受信者は、1 の添付ファイルを解凍するために、2 のメールに記載のパスワードをコピーする必要がある

意味あるのか

はっきり言って、ない

それどころか、メールの受信者からすると鬱陶しいことこの上ない

マジでクソ不便でウザい

たとえば、添付の ZIP ファイルをとりあえずデスクトップに保存するとしよう
そして、その場で2通目のパスワードで解凍して中身を確認する

この時点では、多少面倒ではあるがそこまで問題はない

1ヶ月後、この資料をもう一度見ようと思ってデスクトップの ZIP を再び解凍しようとする…
はい、パスワード分からん!どのメールに書いてあった???毎回探さんとアカンのか!?

─ということが何度もあった

ちょっとくらいセキュリティ対策になってるのか

まったくなってない

さて、ではこの製品が想定しているケースは何だろうか? 深呼吸して考えてみよう

ハッカーがメール受信者のネットワークを傍受していて、メールを盗み見るケース

メールを盗み見れるという時点で、パスワード通知メールも見れる

意味なし

ハッカーがメール送信者の (同上) ケース

そもそもこの製品では、次のような流れで機能している:

  1. 社内の人がメールを1通送信する
  2. メールは一旦、HDE 社のゲートウェイを中継する (ここで添付ファイルにパスワードがかかり、そのパスワードを記載したメールが追加で送信される)
  3. 受信者に2通のメールが届く

送信者側で傍受されるとしたら、1 だろう
しかし、この時点では添付ファイルにパスワードはかかっていない

意味なし

ハッカーがメール受信者または送信者のパソコンを盗み見るケース

前述とほぼ同じ理由で、これも意味なし

メールが盗み見されたときに、「うちの会社はセキュリティ対策をしてた」と言い訳したいケース

結局、これだ

セキュリティ対策としてはまったく意味がなく不便なだけでしかない製品だが、ド素人が相手なら、「セキュリティ意識が高いんだなあ」と思わせることができる

お菓子工場で、延々と流れてくるクッキーを、問題がないかボーッと一日中眺めるふりをするだけの高給バイトがあるが、本質はこれと同じである

その対策に効果があるかないかはともかく、何かあったときに、「うちはこういうセキュリティ対策をしてました」と言えるのと、「何もセキュリティ対策してませんでした」しか言えないのとでは、心証がぜんぜん違うのだ

一社員でしかない私の立場からすると、本当にバカバカしいと思うし、大人たちは汚えとも思うが、こうして企業側の目線で考えると、まーしょうがねぇなと舌打ちの一つで勘弁してやる程度には心の余裕ができる

Android の root 化とは

root 化とは、大半の Android スマホに設けられているシステム的な制限を解除するような行為を言う

Linux の知識があるなら、通常は一般ユーザ権限でしか利用できないスマホで、root 権限が使えるようになる ─と言ったらいいだろうか

root 化すると何ができる?

  • カスタムROMを利用できる
  • 制限された機能をアンロックできる
  • コアな設定を変更できる (端末情報を偽装して新聞アプリを無料購読など)
  • アプリの設定を書き換えできる (LINEの年齢認証解除、ゲームのスコア変更など)
  • 非公式アプリ、モジュールを自由にインストールできる (バックグラウンド再生可能なYouTubeWiFiパスワードを閲覧するアプリなど)
  • 銀行アプリやポケモンGOのような root 禁止アプリに関しては、root 状態を隠蔽することで問題なく起動可能になるし、SafetyNet も難なくパスできる
  • ブラウザやアプリ内の広告を非表示にできる
  • 端末が起動しないときや深刻なトラブルに陥ったとき、自力で復旧作業ができる
  • パーティションやユーザデータ、アプリの完全なバックアップを作成/リカバリできる (Titanium Backup, TWRP など)
  • カメラとスクリーンショットのシャッター音を無音にできる

root 化したらインストールしたいアプリ・ツール

  • Magisk Manager

    root 化するための必須アプリ。特定のアプリに対して root 化していることを隠蔽する機能もある。

  • AdAway

    ブラウザやアプリ内の広告を除去するアプリ。root 化の恩恵を最も実感しやすいアプリのひとつ。

  • Packet Capture

    特定のアプリに対して通信内容を傍受するアプリ。ゲームのチートプレイやアプリの解析に興味がなければまったく必要ない。

  • Titanium Backup

    各アプリの完全なバックアップをとったり、そのバックアップを復元してくれるアプリ。もしものときのために、是非入れておきたいほぼ必須なアプリ。

  • XDA Labs

    様々な野良アプリをインストールするためのアプリ。Google Play ストアにはないアプリが数多く公開されていて、ここで紹介している AdAway や YouTube Vanced などもこのアプリからインストールできる。これも必須アプリのひとつ。

  • MyAndroidTools Pro

    無駄にリソースを食っているアプリの不要なサービスを停止したり、特定のアプリの設定を直接書き換えることができるアプリ。LINE の年齢認証を解除したり、しょぼいゲームのスコアを改変することもできる。

  • YouTube Vanced

    改造版の YouTube アプリ。動画をバックグラウンド再生したり、自動でリピート再生したり、広告を完全に除去したり、普通の YouTube アプリには搭載されていない便利な機能や設定が豊富に搭載されている。YouTube をよく見るなら必須のアプリ。

  • Solid Explorer

    高機能なファイルエクスプローラ。root 化した端末なら、たとえばカメラのシャッター音の音声ファイルを消すなど、通常ではアクセスすらできないシステムファイルを書き換えることも可能。

  • Xposed

    様々な野良パッチを利用できるフレームワーク。専用リポジトリが用意されていて、フレームワークさえ導入できれば、位置情報の偽装や Wi-Fiパスワードの閲覧、アプリ内の広告枠の完全除去など、通常のアプリではあり得ないような凶悪な機能を導入することができるようになる。

root 化に適した端末

基本的に、root 化する方法やツールは外人のオタクが考えたり作ったりするので、外国では販売されていない日本メーカー製のスマホやキャリア依存のスマホの場合はそもそも情報がなく root 化できないことがある。

最低条件として、外国でも販売されている SIM フリー端末が比較的 root 化しやすいだろう。

例えば Sony Xperia の同じモデルの端末でも、海外仕様のグローバル版と日本で販売されているものでは、仕様が多少異なるので、root 化したいのならグローバル版を買うことだ。

加えて、最適なのが Nexus や Pixel シリーズのような Google 謹製のスマホである。これらは、過去から最新までの純正ファクトリーイメージを Google がウェブ上で無料で公開しており、いつでも自分で好きなバージョンの OS を端末に導入することができる。また、他のメーカー製スマホのように root 化するにあたって変な独自のプロテクトもかかっていないので、強引にクラックまがいなことをして root 化する必要なく、設定から OEM ロック解除許可 → ブートローダから OEM ロック解除 → TWRP リカバリ起動 → Magisk インストール …という至極シンプルな最低限の作業だけで root 化ができる。新しい バージョンの OS はGoogle が最優先で即リリースしてくれてすぐ試せるし、他のメーカー製スマホのように新 OS リリースの度に外人オタクの作る新しいクラックパッチを気長に待つ必要もない。何かトラブルがあっても、最悪の場合でも Google のファクトリーイメージをダウンロードして適用すれば、まっさらな Android にいつでもリセットすることができて、他のメーカー製スマホのように root 化に失敗して文鎮化するリスクもかなり低い。

アイフォン?それどんなアプリ?

リスクはある

  • root 化の作業は素人にはそれほど簡単なことではない。とりあえずパソコンがいるし、最低でもパソコンをコマンドで操作したり英語をそこそこ読める必要がある。
  • root 化の作業に失敗すると、端末内のデータが全部消えたり、最悪の場合、起動ループに陥ったり初期化すらできないスマホの形をした文鎮になる可能性がある。
  • root 化は、失敗しても成功しても、一度でもやるとたいがいメーカーの保証外になってしまう。

root 化するデメリット

  • システムの自動アップデート(OTA)は、root 化したままだとできないと思った方がいい。システムアップデートをしたければ、面倒でも手動で、root 化を解除して新しい OS を導入して再度 root 化する―といった作業を毎回する必要がある。(端末によってやり方は異なる) ただ、システムアップデートというのはそれほど頻繁にあるわけでもなく、メーカー製スマホなら1年に1回あれば良い方なので、それほど煩わしいものでもない。

root 化に適した人

前述(リスク)のとおり、root 化の作業にはそれなりの IT スキル、英語の読解力、自己解決能力、そして責任感が必要だ。過去に幾度も経験した私でも、慣れているつもりが、うっかりとほんの些細なミスをして窮地に陥ったことがよくあった。奇跡的に復旧できたこともあれば、データが全部消えてしまったり、完全に文鎮化したこともあった。

そういうリスクと root 化による恩恵をきちんと理解して天秤にかけたうえで、もし失敗しても復旧できるような対策をとれるような人間が望ましい。

若い女性なら、自称 IT に詳しいやや根暗な友達や彼氏か夫か父親にやってもらうといいだろう。ミスってもそいつが責任をとってくれる。ただし、友人や彼氏であっても、外人やストーカー気質な異性にだけは頼まない方がいい。高確率でスパイウェアを仕込まれて今後の私生活を24時間監視されることになる。root 化には何でもできるようになる反面、そういう側面もあるので注意が必要だ。また、前述(デメリット)のとおり root 化の作業はシステムのアップデートの度に必要になるので、他人にやってもらう場合は今後のことも考慮して人選をすべきである。

Slack で常にオンライン状態にする方法

LINE から Slack へ

昨今、日本でも IT 企業はコミュニケーションツールに Slack を使っているところが増えてきたのではないだろうか

うちの会社もそのひとつで、去年までは LINE をなんとなく使っていたのが、「プライベートと仕事がごっちゃになるから、最近 LINE を開くのが怖くなった」という声を受け、業務連絡は Slack に変わった

Slack を使うとサボれない

Slack は、業務で使うには便利だが、ひとつだけ個人的な問題がある

Skype のように自分のオンライン(active)状態を固定することができない、ということだ

30分ほど席を離れると、いつのまにか自分がオフラインになっている

つまり、サボっている ─もとい30分以上離席しているのが同僚に丸バレということである

設定をくまなく見ても、やはり常時オンライン状態に固定するようなオプションは見当たらない

これはもう、就業中は素直に働くしかないのか…と思えたそのとき、ダメ元で slack keep active とググってみると、とても素晴らしいサービスが見つかった

刮目せよ

Presence Scheduler for Slack
http://slackpresence.com

これは、あらかじめ自分の Slack アカウントを登録しておくと、定期的に勝手にログインを繰り返してくれて、自分はまったく Slack に触らなくても常にオンライン状態を維持してくれる画期的なオンラインサービスだ

2018年3月23日現在、嬉しいことに無料サービスとなっている
有料にしてくれてもぜんぜん良いけど

Slack の公式サービスではないので、正直セキュリティとかどうなっているのか不安もあるが、これで仕事をサボれるならセキュリティなんて鼻毛よりどうでもいい話である

優秀なエンジニアほどサボる能力に長けている、と言うとおり、我々にはうってつけのツールではないだろうか

おわり