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

2021/02/03 発覚の COCOA Android版 不具合について

C49eed1cf04caeb4de645d6d9117708d?s=47 takuaraki
February 28, 2021

2021/02/03 発覚の COCOA Android版 不具合について

C49eed1cf04caeb4de645d6d9117708d?s=128

takuaraki

February 28, 2021
Tweet

Transcript

  1. 2021/02/03ൃ֮ͷ COCOA Android൛ ෆ۩߹ʹ͍ͭͯ

  2. None
  3. 2021/2/3 Android൛Ͱෆ۩߹͕ݟ͔ͭΔ

  4. ࠓ೔࿩͢͜ͱ • 2/3ʹൃ֮ͨ͠COCOA Android൛ͷෆ۩߹ͷ ݪҼʹ͍ͭͯͬ͘͟Γ࿩͢ • ͦͷޙͷΞοϓσʔτʹ͍ͭͯ͸஌Βͳ͍ͷ Ͱ࿩͞ͳ͍ • ʓʓ͕ѱ͍ɺΈ͍ͨͳ͓ؾ࣋ͪද໌΋͠ͳ͍

  5. ௐ΂͖͔͚ͨͬ • ஌Γ߹͍ͷ஌Γ߹͍͔ΒɺΠϯλϏϡʔΛड ͚ͨ • COCOAͷIssueΛோΊͳ͕Β౴͑ͨ • ͦͷޙ΋ؾʹͳͬͯࣗ෼ͰAPIυΩϡϝϯτͱ ͔ௐ΂ͯͨ

  6. ͬͦ͘͞IssueΛோΊͯΈΑ͏ https://github.com/cocoa-mhlw/cocoa/issues/14

  7. 🤯

  8. ͬ͘͟Γݴ͏ͱ • Android൛Ͱೱް઀৮৚݅(໿1mҎ಺Ͱ15෼Ҏ ্)Λຬ͍ͨͯͯ͠΋௨஌͞Εͳ͍ • ײછϦεΫΛܭࢉ͢ΔGoogleͷAPI͕ಛఆͷೖ ྗͰ͔ͳΒͣ1Λฦͯ͠͠·͏ • 1͕ฦ͞ΕΔ͜ͱͰϦεΫ஋͕௨஌ͷ͖͍͠஋ Λ௒͑ͳ͘ͳͬͯ͠·͏ͷͰ௨஌͞Εͳ͍

  9. ϦεΫܭࢉͷ࢓૊Έ(API v1.5) ҎԼͷ4ͭͷείΞͷֻ͚ࢉͰϦεΫ͕ٻΊΒΕΔ • TransmissionRiskScore: ࠃ͝ͱͷϦεΫϨϕϧˡࠓճ໰୊ʹ ͳͬͨͷ͸͜͜ • AttenuationScore: ײછऀͱͷڑ཭

    • DurationScore: ײછऀͱҰॹʹ͍ͨ࣌ؒ • DaysSinceLastExposureScore: ࠷ޙʹ઀৮͔ͯ͠ΒͲΕ͚ͩ೔ ͕ܦ͍ͬͯΔ͔
  10. Exposure Notification API • 4छͷϦεΫϨϕϧΛͦΕͧΕ8ஈ֊(0~7)Ͱ൑ఆ • ΫϥΠΞϯτ(COCOA)ଆ͕ઃఆͰ౉ͨ͠େ͖͞ 8ͷείΞ഑ྻʹ౰ͯ͸ΊͯείΞΛฦ͢ • ྫ)

    ϦεΫϨϕϧ 5ɺ είΞ഑ྻ scores = [1, 2, 3, 4 , 5, 6, 7, 8] → scores[5] → είΞɿ6
  11. COCOAͰͷ௨஌൑ఆ • Transmission: [7, 7, 7, 7, 7, 7, 7,

    7] • Attenuation: [1, 2, 3, 4, 5, 6, 7, 8] • Duration: [0, 0, 0, 0, 1, 1, 1, 1] • DaysSinceLastExposure: [1, 1, 1, 1, 1, 1, 1, 1] • 4ͭͷείΞͷֻ͚ࢉ͕ 21 Λ௒͑ͨΒ௨஌͢Δ = AttenuationϨϕϧ͕2Ҏ্ɺDurationϨϕϧ͕4Ҏ্
  12. configuration = new Configuration { MinimumRiskScore = 21, AttenuationWeight =

    50, TransmissionWeight = 50, DurationWeight = 50, DaysSinceLastExposureWeight = 50, TransmissionRiskScores = new int[] { 7, 7, 7, 7, 7, 7, 7, 7 }, AttenuationScores = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }, DurationScores = new[] { 0, 0, 0, 0, 1, 1, 1, 1 }, DaysSinceLastExposureScores = new[] { 1, 1, 1, 1, 1, 1, 1, 1 }, DurationAtAttenuationThresholds = new[] { 50, 70 } }; COCOAͷίʔυ (C#)
  13. Googleͷ Exposure Notification API int transmissionRiskScore = diagnosisKey.getTransmissionRiskLevel() == RiskLevel.RISK_LEVEL_INVALID

    ? 1 : configuration.getTransmissionRiskScores() [bucketRiskLevel(diagnosisKey)]; είΞ഑ྻΛ࢖Θͣʹ 1 Λฦͯ͠͠·͏ʂ
  14. COCOAͰͷ௨஌൑ఆ ԾʹAttenuationϨϕϧ2ɺDurationϨϕϧ4ͱ͢Δͱ • Transmission: [7, 7, 7, 7, 7, 7,

    7, 7] → 1 ʹͳͬͯ͠·͏ʂ • Attenuation: [1, 2, 3, 4, 5, 6, 7, 8] → 3 • Duration: [0, 0, 0, 0, 1, 1, 1, 1] → 1 • DaysSinceLastExposure: [1, 1, 1, 1, 1, 1, 1, 1] → 1 • 4ͭͷείΞͷֻ͚ࢉ 1 * 3 * 1 * 1 = 3 < 21 → ௨஌͞Εͳ͍ʂ
  15. ରࡦ • GoogleͷAPI͕TransmissionScoreΛ1Ͱฦ͞ ͳ͍Α͏ͳઃఆ஋ΛೖΕΔ • TransmissionείΞ഑ྻΛ[1, 1, 1, 1, 1,

    1, 1, 1] ʹ͓͖ͯ͠ɺ௨஌ͷ͖͍͠஋΋3ʹ͢Δ
  16. ·ͱΊ • COCOA Android൛ ෆ۩߹ʹ͍ͭͯ࿩ͨ͠ • ೱް઀৮৚݅Λຬͨͯ͠΋௨஌͞Εͳ͍ • GoogleͷAPI͕มͳڍಈΛ͢Δͷ͕ݪҼ