今更聞けないPlayアプリ署名
View Slide
自己紹介● 大西泰司● FiNC Technologies株式会社 ● Androidエンジニア 4年目
背景● 「Andoridのアプリ署名教えて」● 僕「はい!!!(よくわかってない)」
背景● 「Andoridのアプリ署名教えて」● 僕「はい!!!(よくわかってない)」普段のリリースでほとんど意識したことない!!!!(公開はさすがにもっと緊張しますが)
背景公式ドキュメント読んでも一回ではピンとこない> Play アプリ署名を使用すると、Google によって署名鍵が安全に管理され、アプリが正しく署名されていることが保証されます。またAPK 配信時の署名を Google に委託することができます。https://developer.android.com/studio/publish/app-signing?hl=ja#sign_release
目次● 背景● 署名とは● デジタル署名とは● Playアプリ署名とは○ アプリ署名とは○ アップロード鍵とか
署名とは「アプリケーションが勝手に変更されていない」ことを証明するための仕組み完全性(Integrity)を担保する
デジタル署名とは公開鍵・秘密鍵を用いて暗号化し送受信するため、偽造・変造のおそれがほとんどなく、セキュリティ性が高い暗号化技術引用 : https://www.ipa.go.jp/security/pki/
電子署名が悪用され同一署名者になりすまされると・・・● アプリのアップグレード○ アプリのアップグレードによる上書き● アプリのモジュール性実現○ 同一モジュールの悪用● コードとデータの共有○ パーミッション悪用引用 : https://www.jnsa.org/seminar/pki-day/2018/data/180417_pm1_kanaoka.pdf
Playアプリ署名
Playアプリ署名とは> Play アプリ署名を使用すると、Google によって署名鍵が安全に管理され、アプリが正しく署名されていることが保証されます。またAPK 配信時の署名を Google に委託することができます。引用 https://developer.android.com/studio/publish/app-signing?hl=ja
アプリ署名とは> アプリ署名鍵 : ユーザーのデバイスにインストールされる APK の署名に使用する鍵。Android の安全な更新モデルの一部である署名鍵は、アプリの全期間にわたって変更されることがありません。2021以前に公開済みのアプリはオプトインすることで委託できる、秘密鍵的なもの
アップロード鍵とはGoogle Play アプリ署名用にアップロードする前に、App Bundle または APK への署名に使用する鍵。公開鍵的なもの
Playアプリ署名を使わないことも可能2021以前に公開済みのアプリは、署名鍵とアップロード鍵を同一にできる>Play アプリ署名へのオプトインを選択しない場合は、2021 年 8 月より前に作成されたアプリについてのみ、自分専用のアプリ署名鍵とキーストアを管理できます。 ただし、鍵とキーストアの保護は自分の責任で行う必要があります。また、Android App Bundle、Play Feature Delivery、Play Asset Delivery をサポートできなくなります。
まとめ● Googleさんはやってくれてるんやなぁ● Google Play Store以外だとどういう運用なんだろうか○ HUAWEI AppGalleryとか