Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
次世代の認証(WebAuthn/FIDO2)について説明を試みる
Search
OSCA
November 09, 2018
Technology
2
1.4k
次世代の認証(WebAuthn/FIDO2)について説明を試みる
2018年11月09日(金) に開催された「WEBエンジニア勉強会 #10」で 、Web Authentication (WebAuthn) / FIDO2 について発表しました。
OSCA
November 09, 2018
Tweet
Share
More Decks by OSCA
See All by OSCA
人工肉を食べよう / Let's eat fake meat
oscasierra
4
1.2k
WEBサイトを HTTP/2 に移行した話 / HTTP2
oscasierra
1
2.1k
WEBサイトが「できた」と安心する前に最終チェックすること
oscasierra
1
1.9k
Service Worker
oscasierra
1
1.4k
Growth of Podcast
oscasierra
0
1.3k
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
1.2k
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
930
みんなテストってどうやってるの?
oscasierra
0
490
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
oscasierra
1
3.1k
Other Decks in Technology
See All in Technology
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
760
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Music & Morning Musume
bryan
46
6.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
We Have a Design System, Now What?
morganepeng
50
7.2k
Transcript
04$" ᖛҰೋࡾ !FOHJOFFS@PTDB ࣍ੈͷೝূʹ͍ͭͯઆ໌ΛࢼΈΔ 8FC"VUIFOUJDBUJPO"1*'*%0 8&#ΤϯδχΞษڧձ
ࣗݾհ © OSCA 04$"ᖛҰೋࡾ ·ͷ͔ͣ;Έ 4*FSܠࣸਅՈ * ʮ8&#ΤϯδχΞษڧձʯΛओ࠵ *
+BWB 1)1ܥͷ8&#ΤϯδχΞ * ਓೳ "* ͷ։ൃͬͯΔ * ݸਓͰ714आΓͯ8&#αʔϏεΛӡӦ͢Δͷ͕झຯ * ເͷࠃɹెาݍॅΈ * !FOHJOFFS@PTDB!PTDBQIPUP!EJTOFZ@PTDB
© OSCA ͲΜͳ͜ͱ͢ͷʁ
ʮύεϫʔυೝূʯͷ՝Λղܾ͢Δ࣍ੈͷೝূ © OSCA ΞΧϯτ ύεϫʔυ ϩάΠϯ 8&#ͷੈքʹ͓͍ͯύεϫʔυΛར༻ͨ͠ೝূʹมΘ Δɺ৽͍͠ೝূٕज़͕ීٴ͠͡ΊΑ͏ͱ͍ͯ͠·͢ɻ
ʮύεϫʔυೝূʯͷ՝Λղܾ͢Δ࣍ੈͷೝূ © OSCA ͱ͍͏͍ͷதͰɺ ʮͲΜͳͷͳͷ͔ʯͱ͍͏֓ཁΛ͓͍͑ͨ͠ͱࢥ͍·͢ɻ
© OSCA ࠓ͢͜ͱʹؔ࿈͢Δχϡʔε
© OSCA ݄1VCMJDLFZ ύεϫʔυʹґଘ͠ͳ͍ೝূʮ8FC"VUIOʯΛ$ISPNF'JSFGPY&EHF͕࣮։ ࢝ɺ8$͕ඪ४Խɻ8FCύεϫʔυʹґଘ͠ͳ͍ΑΓ҆શͰศརͳͷ IUUQTXXXQVCMJDLFZKQCMPHXFCBVUIODISPNFGJSFGPYFEHFXDXFCIUNM l(PPHMFɺ.P[JMMBɺϚΠΫϩιϑτ͕ ʮ8FC"VUIOʯͷ࣮Λ։࢝ɻ͜ΕʹΑ ͬͯʮ'*%0ʯͷීٴ͕ظ͞Εɺ8FC ϒϥβ͔ΒࢦೝূإೝূͳͲͰ؆
୯ʹ8FCαΠτͷϩάΠϯࢧ͍ͷ ঝೝͱ͍ͬͨૢ࡞͕࣮ݱ͞Εͦ͏ͩɻz
© OSCA ݄*5NFEJBΤϯλʔϓϥΠζ ʮ'JSFGPYʯެ։ɺύεϫʔυʹґଘ͠ͳ͍ೝূʮ8FC"VUIOʯΛαϙʔτ IUUQXXXJUNFEJBDPKQFOUFSQSJTFBSUJDMFTOFXTIUNM l৽͍͠ηΩϡϦςΟػೳͱͯ͠ɺύεϫ ʔυʹґଘ͠ͳ͍ೝূํ๏ͷʮ8FC "VUIFOUJDBUJPOʢ8FC"VUIOʣʯΛα ϙʔτͨ͠ɻz
© OSCA ݄;%/FU+BQBO ʮ(PPHMF$ISPNFʯ҆ఆ൛ϦϦʔεʮ4QFDUSFʯ؇ࡦɺʮ8FC"VUIOʯର ԠͳͲ IUUQTKBQBO[EOFUDPNBSUJDMF l݅ͷηΩϡϦςΟमਖ਼Λࢪͨ͠΄ ͔ɺύεϫʔυʹґଘ͠ͳ͍৽ͨͳೝূ ํࣜʮ8FC"VUIOʯʹσϑΥϧτͰରԠ ͢Δɻ
தུ ࢦεϚʔτϑΥϯʹอ ଘ͞Εͨإը૾ͷΑ͏ͳੜମೝূใɺ ͋Δ͍:VCJLFZͷೝূσόΠεͷΑ͏ ͳ64#ϋʔυΣΞΛར༻ͯ͠Σϒα ΠτʹαΠϯΞοϓ͢ΔखஈΛఏڙ͢ Δɻz
© OSCA ݄1VCMJDLFZ ϚΠΫϩιϑτɺ8FC"VUIOΛ&EHFʹ࣮ɻύεϫʔυෆཁɺੜମೝূ1*/Ͱ 8FCαΠτϩάΠϯՄೳʹɻळͷ8JOEPXTΞοϓσʔτͰ IUUQTXXXQVCMJDLFZKQCMPHXFCBVUIOFEHFQJOXFCXJOEPXT@IUNM lϚΠΫϩιϑτɺ݄ࠒʹ༧ ఆ͞Ε͍ͯΔ8JOEPXTͷେܕΞοϓ σʔτʢ34ʣʹ͚ͯ։ൃதͷ࠷৽Ϗ ϧυɺ8JOEPXTCVJMEͰɺ
ύεϫʔυෆཁͰ8FCαΠτʹϩάΠϯ Ͱ͖Δඪ४༷ʮ8FC"VUIOʯΛ .JDSPTPGU&EHFʹ࣮ͨ͜͠ͱΛ໌Β ͔ʹ͠·ͨ͠ɻz
© OSCA ݄1VCMJDLFZ $ISPNF͔Βɺ8FC"VUIOͰ.BDͷ5PVDI*%ͱ"OESPJEͷࢦೝূ͕σϑΥϧ τͰར༻Մೳʹɻ8FCαΠτͷϩάΠϯλονͰ IUUQTXXXQVCMJDLFZKQCMPHDISPNF@XFCBVUIONBDUPVDIJEBOESPJEIUNM l(PPHMF݄ʹϦϦʔεͨ͠$ISPNF Ͱ8FC"VUIOͷରԠΛߦ͍·ͨ͠ ͕ɺ݄ʹϦϦʔε͞ΕΔ$ISPNF Ͱ࣮ΛਐԽͤ͞ɺσϑΥϧτͰ.BD
ͷ5PVDI*%ͱ"OESPJEͷࢦೝূʹରԠ ͢Δ͜ͱΛ໌Β͔ʹ͠·ͨ͠ɻz
© OSCA ݄Ϡϑʔגࣜձࣾ Ϡϑʔɺ৽ͨͳΣϒೝূͷن֨ʮ'*%0ʯͷ'*%0$FSUJGJFEʢೝఆʣΛࠃا ۀͰ།ҰऔಘɹύεϫʔυΛΘͳ͍҆શͳϩάΠϯڥͷ࣮ݱʹલਐ IUUQTBCPVUZBIPPDPKQQSSFMFBTFB lϠϑʔגࣜձࣾɺੜମೝূͳͲͷ࣍ੈ ೝূͷඪ४ԽΛఏএ͢Δۀքஂମ '*%0ʢϑΝΠυʣΞϥΠΞϯεͷ৽ͨͳ ن֨ʮ'*%0ʯͷೝఆΛɺ݄ʹ
ੈքͰॳΊͯ։࠵͞Εͨʮ'*%0ʯೝఆ ςετʹ͓͍ͯɺ͜ͷͨͼऔಘͨ͜͠ͱ Λ͓Βͤ͠·͢ɻࠃاۀͰ།Ұͷ ೝఆऔಘͱͳΓ·͢ɻz
© OSCA ݄Ϡϑʔגࣜձࣾ Ϡϑʔɺ"OESPJEεϚʔτϑΥϯͷΣϒϒϥβʔ্ͰͷϩάΠϯ͕ࢦೝূͳ ͲͷੜମೝূʹରԠ IUUQTBCPVUZBIPPDPKQQSSFMFBTFB l"OESPJEεϚʔτϑΥϯͷΣϒϒϥ βʔ্ʹ͓͍ͯɺϠϑʔͷαʔϏεʹࢦ ೝূͳͲͷੜମೝূΛ༻ͯ͠ϩάΠ ϯͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻz
l·ͣ"OESPJEͷදతͳΣϒϒϥ βʔͰ͋Δʮ(PPHMF$ISPNFʯʹରԠ ͍ͨ͠·͢ɻຊػೳɺ:BIPP+"1"/ *%ʹϩάΠϯ্ͨ͠Ͱɺੜମೝূͷઃఆ ʹɺ༻͢Δ"OESPJEεϚʔτϑΥϯΛ ొ͢Δ͜ͱͰར༻Ͱ͖·͢ɻz
© OSCA χϡʔε͔ΒಡΈऔΕΔ͜ͱʁ
֤छϒϥβ͕ʮ8FC"VUIOʯʹରԠ © OSCA ݄ 'JSFGPY ݄ (PPHMF$ISPNF ·ͳ͘ .JDSPTPGU&EHF
֤छϒϥβ͕ʮ8FC"VUIOʯʹରԠ © OSCA ݄ 'JSFGPY ݄ (PPHMF$ISPNF ·ͳ͘ .JDSPTPGU&EHF ύεϫʔυ͕ෆཁͷ
ೝূํࣜΒ͍͠
Ϡϑʔגࣜձࣾࠃ།Ұͷ'*%0ೝఆऔಘ © OSCA
© OSCA '*%0ΞϥΠΞϯε
'*%0ΞϥΠΞϯε 'BTU*%FOUJUZ0OMJOF"MMJBODF © OSCA ੜମೝূΛϕʔεͱͨ͠ศརͰ҆શͳΦϯϥΠϯೝূΛ࣮ݱ ͢ΔͨΊʹɺʹ݁͞Εͨۀքஂମɻ <Ճໍஂମൈਮ> .JDSPTPGU (PPHMF "NB[PO
.BTUFS$BSE 7*4" ࢜௨ υίϞ -*/& େຊҹ ָఱ ࡾඛ6'+ Ϡϑʔ
8FC"VUIOͷي © OSCA 8$ʹ'*%0ͷ8FC"1*෦Λఏग़ɻ 8$8FC"VUIFOUJDBUJPOϫʔΩϯάάϧʔϓൃɻ 8FC"VUIFOUJDBUJPO 8FC"VUIO "1*קࠂީิʹɻ
© OSCA Έͷ֓ཁ
ύεϫʔυೝূͷ՝ © OSCA ଟ͘ͷ8&#αΠτͰར༻͞Ε͍ͯΔʮύεϫʔυೝূʯɺ ࣍ͷΑ͏ͳ՝͕͋Γ·͢ɻ ✓ ͓͔֮͑ͯͳ͍ͱ͍͚ͳ͍ ֮͑ΒΕͳ͍ ✓
ೖྗ͕໘͍͘͞ ✓ ࿙Ӯ͍͢͠ ✓ ࠶ར༻͕Մೳ རศੑ ҆શੑ
ύεϫʔυೝূͷ՝ © OSCA ʮΞΧϯτʯͱʮύεϫʔυʯͷೝূͰɺωοτϫʔΫ தΛʮύεϫʔυʯ͕ྲྀΕͯ͠·͍ͬͯΔɻ tGb9T3hM!gLaThB14P ೝূ
ύεϫʔυೝূͷ՝ © OSCA ͬͱzศརzͰz҆શzͳΈ͕͋Εྑ͍ͷʹɾɾɾ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ tGb9T3hM!gLaThB14P
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ ➢ ೝূσόΠεଆͷzศརͳํ๏lͰߦ͏ɻ
tGb9T3hM!gLaThB14P ೝূ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ ➢ ೝূσόΠεଆͷzศརͳํ๏zͰߦ͏ɻ
➢ ೝূ݁ՌΛαʔόʔʹૹ৴͢Δɻ tGb9T3hM!gLaThB14P ೝূ݁Ռ ೝূ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ͜͜·Ͱͷઆ໌͚ͩͩͱ ʮೝূ݁ՌΛӕ͔ͭΕͨΒͲ͏͢ΔΜͩʁʯ ͱࢥ͑ͯ͠·͏͚Ͳɺ͔ͦͬ͜͠Γߟ͑ΒΕ͍ͯΔɻ
© OSCA Έ ৄࡉ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ ࢦηϯλʔ Χϝϥ 64#Ωʔ ͳͲ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ 8FC"VUIOʹ ରԠͨ͠ϒϥβ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূثͷʮൿີ伴ʯʮެ։伴ʯ ެ։伴҉߸ํࣜ ൿີ伴 ެ։伴
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূثͷʮൿີ伴ʯʮެ։伴ʯ ެ։伴҉߸ํࣜ ൿີ伴 ެ։伴 ೝূثݻ༗ͷ ൿີ伴ɾެ։伴Λ࣋ͭ
ԡ͓͖͑ͯͭ͘͞ͷॲཧ © OSCA ೝূʹར༻͢Δೝূثͷొ ೝূثΛར༻ͨ͠ೝূ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ࠓޙར༻͢Δೝূث Λڭ͑ͯʔʂ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ೝূث͝ͱͷॴఆͷ खஈͰɺϢʔβݕূ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ൿີ伴ɾެ։伴͕ੜ ͞ΕΔ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ެ։伴ͳͲΛؚΉ ใΛૹΓฦ͢ɻ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ Ϣʔβใͱެ։伴 Λඥ͚ͮΔɻ ʮྃղʂొͨ͠ʂʯ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ҎޙɺରʹͳΔʮൿີ伴ʯͰॺ໊͞Εͨσʔλɺ ొ͞Εͨೝূث͔Βͷσʔλͩͱ͍͏͜ͱʹͳΔɻ ެ։伴҉߸ํࣜͷಛʹΑΓ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূΑΖ͘͠
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূث͝ͱͷॴఆͷ खஈͰɺϢʔβݕূ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূثͰͷೝূ݁Ռ Λൿີ伴Λར༻ͯ͠ॺ ໊͢Δɻ ೝূ݁Ռ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ॺ໊͞Εͨೝূ݁Ռ ΛૹΓฦ͢ɻ ೝূ݁Ռ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ެ։伴Λར༻ͯ͠ɺ ೝূ݁ՌΛݕূ͠ɺ ͳ͚ΕϢʔβΛ ಛఆͰ͖Δɻ ೝূ݁Ռ
© OSCA ීٴʹ͚ͯ
ීٴʹ͚ͯ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϒϥβ͚͕ͩ8FC"VUIOʹରԠ͢Εྑ͍༁Ͱͳ͘ɺ ೝূثɾαʔόʔରԠͨ͠ͷ͕ඞཁͰ͋Δɻ
© OSCA ·ͱΊɾॴײ
·ͱΊ © OSCA ➢ ֤ϒϥβͰ8FC"VUIFOUJDBUJPO"1* 8FC"VUIO ͷ࣮͕ਐΊΒΕ͍ͯΔ͜ͱͰɺϒϥβͰ'*%0ೝূ͕ ࣮ݱͰ͖ΔΑ͏ʹͳ͖ͬͯͨɻ ➢
ࠃͰϠϑʔ͕͍ͪૣ͘ରԠΛߦͬͨɻ ➢ ͕ʮݩʯʹͳΔ͔ʂʁ
ؾʹͳ͍ͬͯΔ © OSCA ➢ 8FC"VUIO '*%0 ͷରԠίετ ✓ ʮνରԠ͍ͨ͠ʯͱͳͬͨͱ͖ɺͲͷ͘Β͍େมͳͷ͔ʁ ✓
'*%0ن֨ͷқʁ
ૉࡐར༻ 4*-)06&55&*--645 IUUQTXXXTJMIPVFUUFJMMVTUDPN © OSCA