AI活用の教科書
モバイルリリース・運用ふつう3分で読了

コード署名

Code Signingこーどしょめい

ひとことで言うと

アプリに発行元の電子的なサインを付けて、改ざんやなりすましを防ぐしくみのことです。

📖 もうちょい詳しく

何が新しいの?

スマホのアプリは、ネット越しに手に入れて自分の端末で動かします。誰が作ったのか分からないものを動かすのは、ちょっと不安です。そこで「このアプリは確かに私が作りました」という電子的なサインを付けるしくみが広まりました。これがコード署名です。

どうやって動いてるの?

アプリの中身から「指紋」のような短い値(ハッシュ)を計算し、それを発行元だけが持つ秘密の鍵で暗号化して、アプリに添えます。これが署名です。受け取った端末は、公開された鍵を使ってこの署名を確かめます。中身が1文字でも書き換わると指紋が変わるので、改ざんがあればすぐに分かります。

何ができるの?

「このアプリは確かにこの発行元のもので、途中で手を加えられていない」と確認できます。iOSやAndroidでは、署名のないアプリや署名が合わないアプリは原則として動きません。あなたが意識しなくても、裏側でこのチェックが働いています。

🌱 身近なたとえ

封筒に押す封蝋(ふうろう)の印で例えると分かりやすいです。手紙を入れた封筒に、差出人だけが持つ印を押して封をします。受け取った人は、その印が本物か、封が破られていないかを見ます。コード署名も同じで、アプリに発行元だけの印を付け、開ける前に本物かどうかと、途中で開けられていないかを確かめます。

✅ まず覚えるポイント

  • コード署名は、アプリに「発行元の電子的なサイン」を付けるしくみです。
  • 目的は、改ざん(中身の書き換え)となりすましを防ぐことです。
  • 秘密の鍵で署名し、公開された鍵で確かめる、という組み合わせで成り立ちます。
  • 中身が少しでも変わると署名が合わなくなり、すぐに気づけます。
  • iOSやAndroidでは、署名がないアプリは原則として動きません。

🧭 よくある勘違い

署名があれば中身は安全ということ?

署名が確かめるのは「発行元が本物か」と「途中で書き換えられていないか」の2点です。アプリ自体が安全で良心的かどうかまでは保証しません。署名は身元と無改ざんの証明であって、品質や善意のお墨付きではない、と分けて考えると正確です。

暗号化と同じもの?

別物です。暗号化は中身を読めなくして秘密を守るしくみですが、コード署名は中身を隠さず「誰が作ったか」「変えられていないか」を示すしくみです。署名されたアプリの中身は、そのまま読めることが多いです。

🧩 関連して覚えると楽な言葉

  • iOS: アップル製スマホのOS。アプリは署名がないと原則動きません。
  • Android: グーグル中心のスマホOS。こちらも配布時にアプリ署名が必要です。
  • ネイティブアプリ: 端末に入れて動かすアプリ。配布の前に署名する流れになります。
  • アプリ内課金: アプリ内で買い物するしくみ。正規の署名済みアプリであることが前提になります。

🏁 ひとことでまとめ

コード署名は、アプリに発行元だけの電子的なサインを添えて、「本物で、手を加えられていない」と端末が確かめられるようにする土台のしくみです。