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

理解した気になるApplication Signing

Matsuda Jumpei
January 19, 2024
310

理解した気になるApplication Signing

2024/01/19 Shibuya.apk#46 で発表した内容です。

https://shibuya-apk.connpass.com/event/305120/

Matsuda Jumpei

January 19, 2024
Tweet

Transcript

  1. "1,4JHOBUVSF4DIFNFT w ॺ໊৘ใͷ࢓༷ɾදݱܗࣜ w ݱࡏW W W W Wͷ࢓༷ ࣌ܥྻॱ

     w W W W͸ಉ͡ઃܭࢥ૝ͷͨΊɺW ͱ΋ݺ͹ΕΔ w ݕূͷखॱ΋ͦΕͧΕͰࢦఆ͕͋Δ w ͨͩ͠ॺ໊ݕূػߏ͸04࣮૷ʹ͋ΔͷͰɺ࣮ߦ୺຤ʹґଘ͢Δ w $54͸͋ΔͷͰɺଟ͘ͷਓʹ͸໰୊͕ͳ͍ w ڍಈมߋ΍ෆ۩߹౳Ͱ04όʔδϣϯ͝ͱʹएׯڍಈ͕ҟͳΔ͜ͱ΋ 7
  2. "1,4JHOBUVSF4DIFNFW w +BSͷॺ໊ʹجͮ͘"1,޲͚ͷ֦ுํࣜ w 㲈;*1ϑΝΠϧͱͯ͠ͷॺ໊ w ηΩϡϦςΟతͳ໰୊ FH$7&r ͔Βݱࡏ͸ඇਪ঑ w

    վ͟ΜΛݫີʹ๷͛ΔΘ͚Ͱ͸ͳ͍FH.&5"*/'಺ͷϑΝΠϧ w ݕূ࣌ʹVODPNQSFTT͕ඞཁͳͷͰϦεΫɾίετ͕ߴ͍ w ݱࡏͰ΋"1*ҎԼͷ୺຤Ͱಈ͔͢ͱ͖͸ඞཁʹͳͬͯ͠·͏ w .JO4%,Ҏ্΁ͷઃఆΛڧ͘ਪ঑͠·͢ 9
  3. "1,4JHOBUVSF4DIFNFWҎ্ڞ௨஌ࣝ w ݱঢ়ͷجૅͰ͋ΓɺWͱ͸શ͘ҟͳΔํࣜ w ;*1Ͱ͸ͳ͘όΠφϦͱͯ͠ѻ͍ɺϑΝΠϧશମͷอޢ͕Մೳʹ w WؚΊɺ֤4DIFNFͱ૊Έ߹Θͤ͸ڞଘՄೳ Ұ෦௥Ճཁ݅༗Γ  w

    4DIFNF͝ͱʹఆٛ͞Εͨ*%Λ࣋ͭॺ໊ϒϩοΫΛԼهྖҬʹ௥Ճ͢Δ w ͦͷϒϩοΫ*%Λ஌Βͳ͍04͸ೝࣝͰ͖ͳ͍ ෆਖ਼ͱ΋ࢥΘͳ͍ 10 https://source.android.com/docs/security/features/apksigning/v2
  4. "1,4JHOBUVSF4DIFNFW w Ωʔϩʔςʔγϣϯ͕ՄೳʹͳͬͨॳΊͯͷॺ໊ํࣜ w "1* "OESPJE1 ͔Βಋೖ w ݪଇɺ"1*ҎԼ༻ʹWॺ໊ ϩʔςʔγϣϯલͷॺ໊

    Λ͢Δ w Ҏલͷॺ໊΁໭͢ SPMMCBDL ڐՄͳͲͷDBQBCJMJUZͷ؅ཧ΋Ͱ͖Δ w ෳ਺伴ʹΑΔॺ໊͸αϙʔτ͍ͯ͠ͳ͍ w "1*Ͱෆ۩߹΍ഁյతมߋ͕ೖΔͳͲɺ࢓༷͕ෆ҆ఆʹ 12
  5. "1,4JHOBUVSF4DIFNFW w ετϦʔϛϯάରԠΛͨ͠ॳΊͯͷॺ໊ํࣜͰɺݱঢ়͸།Ұ w "1* "OESPJE3 ͔Βಋೖ w W ͱิ׬తʹಈ࡞͢Δ΋ͷͰɺWͷ७ਮ֦ுͰ͸ͳ͍

    w Wͷॺ໊৘ใ͸ผϑΝΠϧ JETJH ͱͯ͠อଘ͞ΕΔ w "1,αΠζ͕େ͖͘ͳ͍ͱԸܙʹؾ͖ͮͮΒ͍͔΋ w BECJOTUBMMJODSFNFOUBM࣌ʹॺ໊ݕূ͕ૣ͘ऴΘͬͯخ͍͠ w ·ͨݱࡏɺ(PPHMF1MBZ͔ΒΠϯετʔϧ͢Δ৔߹ʹ࢖ΘΕ͍ͯΔ 13
  6. "1,4JHOBUVSF4DIFNFW w ೥ݱࡏɺΩʔϩʔςʔγϣϯΛ͢Δ৔߹ͷਪ঑ॺ໊ํࣜ w "1* "OESPJE5 Ͱಋೖ w "1*Ͱద༻͞ΕͨW΁ͷվળΛؚΜ֦ͩு w

    ॺ໊ϒϩοΫʹ5BSHFU"1*Λࢦఆग़དྷΔΑ͏ʹͳͬͨ w "1*͕࠷৽ͷݱঢ়ͩͱಛஈҙࣝ͠ͳ͍͕ɺࠓޙޮ͍ͯ͘Δ ͸ͣ 14 (API 31, API 32 ͱมߋ͕ೖͬͨͳΒ v3.3 Ͱ͸ɾɾɾ?)
  7. ॺ໊ݕূͱ࿈ಈ͢ΔՁ஋ͷྫ w Πϯετʔϧݩ FH(PPHMF1MBZ ʹΑΔΞϓϦ഑৴ऀͷ਎ݩอূ w 1MBZ"QQ4JHOJOHʹΑΔ伴ͷ؅ཧ w ࠷ऴॺ໊ʹؔΘΔൿີ伴Λ։ൃऀ͕࣋ͭඞཁ͕ͳ͘ͳΔ w

    ϩʔςʔγϣϯʹؔ͢Δ伴৘ใͳͲΛ1MBZ1SPUFDU΁ఏڙͰ͖Δ w 1MBZ1SPUFDUʹΑΔΠϯετʔϧલݕূ w ݹ͍04Ͱ΋৽͍͠ॺ໊ํࣜͷݕূ΍ࣦޮͨ͠伴ͷڋ൱Λߦ͑Δ w ةݥͳΞϓϦΛΠϯετʔϧલʹ஄͘ 17
  8. ࣗ෼Ͱ΋ͬͱֶͼ͍ͨ w ࣮ߦதͷ୺຤Ͱ1BDLBHF.BOBHFS"1*Λ࢖͏ w ͨͩ͠'JSF04͸Ұ෦"1*͕ద੾ʹಈ࡞͠ͳ͍ w 04ʹ͋Δ4JHOBUVSFؔ܎ͷΫϥε͸ษڧ޲͖Ͱ͸ͳ͍ w FHTDIFNFWFSTJPO΍MJOFBHF͕OPOQVCMJD"1* w

    CVJMEUPPMTͷBQLTJHOFSΛ࢖͏ w ΦϓγϣϯΛ͏·͘૊Έ߹Θͤͳ͍ͱॺ໊ํࣜผͷݕূ͕Ͱ͖ͳ͍ w ΞϓϦݕূΛߦ͏7FSJ fi DBUJPO4FSWJDF"QQΛ࡞Δ w 4ZTUFNQFSNJTTJPOͳͷͰ໘౗͍͘͞$54͘Β͍͔͠ࢀߟࢿྉ͸ͳ͍ 18
  9. ·ͱΊ w "QQMJDBUJPO4JHOJOH͸ϑΝΠϧͷ*OUFHSJUZΛอূ͢Δ w ͦͷੑ࣭Λར༻ͨ͠ػೳ͕͍ͭ͘΋ఏڙ͞Ε͍ͯΔ w ৴པੑ޲্΍։ൃऀ΁ͷརศੑͷͨΊɺ৭ʑͳվળ͕Ճ͑ΒΕ͖ͯͨ w WWW ௒͑ΒΕͳ͍น

    W w W͸W ͱซ༻͢ΔύϑΥʔϚϯεվળ༻్ w ݪଇɺ1MBZ"QQ4JHOJOHΛ࢖͑͹ҙࣝ͠ͳͯ͘ࡁΉ w ೉ͦ͠͏ͳΒ.JO4%, WରԠόʔδϣϯ ʹ͠Α͏ 20