Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CryptoKit ではじめる暗号技術 - メッセージ認証コード編 / iosdcjapan-...

Avatar for kotetu (kotetuco) kotetu (kotetuco)
September 21, 2025
61

CryptoKit ではじめる暗号技術 - メッセージ認証コード編 / iosdcjapan-2025-cryptokit

iOSDC Japan 2025 発表資料

Avatar for kotetu (kotetuco)

kotetu (kotetuco)

September 21, 2025
Tweet

More Decks by kotetu (kotetuco)

Transcript

  1. 栗山 徹 (Toru Kuriyama) STORES 株式会社 モバイル開発本部 / 決済グループ iOS

    エンジニア 2 X: @kotetu GitHub: @kotetuco ※ 暗号技術に興味を持ったきっかけ CTF (Capture The Flag) への参加 iOSDC Japan 2020 パンフレット原稿
  2. 5

  3. 11

  4. 12

  5. 16

  6. 17

  7. 19

  8. Flame 攻撃 (2012 年) MD5 の脆弱性を悪用し、偽造した 証明書を作成 偽造証明書で署名したマルウェアを Windows Update

    を利用して拡散 引用 : https://jvn.jp/ta/JVNTA12-156A/index.html “古い暗号化アルゴリズムが悪用され、 あたかもマイクロソフトが作成したかのように コードに署名するために使用される可能性がある ことを特定しました。” 26
  9. 27

  10. 28

  11. 30

  12. 31

  13. 32

  14. 43

  15. 通常、AWS が提供する SDK を利用 AWS SDK for Swift 今回は AWS

    API を直接叩いてダウンロード 引用 : https://github.com/awslabs/aws-sdk-swift Amazon S3 に格納されているファイルのダウンロード 45
  16. 1 AWS STS から認証情報を取得 Amazon S3 へアクセス可能な IAM ユーザーの一時的な認証情報を取得 2

    Amazon S3 から画像ファイルを取得 AWS STS から取得した認証情報を使って 画像ファイルをダウンロード S3 から画像ファイルをダウンロードする手順 46
  17. メッセージ送信者が正しいかどうか認証するための技術 Message Authentication Code (MAC) メッセージ + 秘密鍵を入力として MAC 値を生成

    一方向ハッシュ関数を使用して MAC 値を生成する方式は HMAC メッセージ認証コード 49
  18. 正規リクエスト (Canonical Request) の作成 署名文字列作成 Authorization ヘッダーへの署名付与 正規リクエストのハッシュ値 (SHA-256) 作成

    アクセスキーやリクエスト日等を使用して署名キー (HMAC) 生成 署名文字列・署名キーを使用してリクエストに付与する署名 (HMAC) 生成 参考 : https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_sigv-create-signed-request.html 赤字の箇所で暗号処理を実行 署名付きリクエスト作成手順 53