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
Signed HTTP Exchanges (SXG)とはなにか/SXG Explained
Search
Shigeki Ohtsu
May 28, 2019
Technology
10
3.3k
Signed HTTP Exchanges (SXG)とはなにか/SXG Explained
Signed HTTP Exchange Study
https://web-study.connpass.com/event/128480/
の発表資料です。
Shigeki Ohtsu
May 28, 2019
Tweet
Share
More Decks by Shigeki Ohtsu
See All by Shigeki Ohtsu
Privacy Sandboxとはなにか/Privacy Sandbox Explained
shigeki
5
1.7k
内定者向け黒帯トーク#4/Kuroobi-Talk for fresh persons #4
shigeki
3
1.9k
Webプロトコル最前線
shigeki
0
450
運用の観点から見たTLSプロトコルの動き
shigeki
0
1.4k
祝Node-v10リリース これまでのNodeの振り返り
shigeki
7
3.4k
運用の観点から見たTLSプロトコルの動き
shigeki
14
3.7k
IETF QUICに至るプロトコルの透過性問題とその対策
shigeki
3
1.1k
QUIC WG報告
shigeki
4
1.1k
Nodeへの コード貢献の仕方
shigeki
11
5.1k
Other Decks in Technology
See All in Technology
XPを始める新人に伝えたい近道の鍵
nakasho
1
270
Understanding and Optimising INP
akshayysharma
0
150
業務ヒアリングと知識の呪い
tamai_63
0
130
クレジットカードを製造する技術
yutadayo
72
36k
ORM と向き合う
hoto17296
8
6k
リスクから学ぶKubernetesコンテナセキュリティ/k8s-risk-and-security
mochizuki875
1
280
C# 13 / .NET 9 の新機能 (RC 1 時点)
nenonaninu
1
1.2k
Hazard pointers with reference counter
ennael
PRO
0
110
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
270
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
2
160
Vista FinderMx
jtes
0
160
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
13k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
450k
Infographics Made Easy
chrislema
239
18k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
From Idea to $5000 a Month in 5 Months
shpigford
380
46k
Bash Introduction
62gerente
608
210k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Creatively Recalculating Your Daily Design Routine
revolveconf
217
12k
Design by the Numbers
sachag
278
19k
Designing for Performance
lara
604
68k
Atom: Resistance is Futile
akmur
261
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Transcript
4JHOFE)551&YDIBOHFT 49( ͱͳʹ͔ 49(ͷΈ͔Β".1࿈ܞͷಋೖ·Ͱ େൟथ 49(4UVEZ ݄̑̎̔
༰ 49(ͷ͘͠Έ 49(".1γεςϜࣄྫ BNQQBDLBHFSʹ͍ͭͯ 49(ಋೖৼΓฦΓ
49(ͷ͘͠Έ
ɿԿ͕ҧ͏ʁ 4JHOFE)551&YDIBOHFT 4JHOFE&YDIBOHF 49(
ղ 4JHOFE)551&YDIBOHFT༷ͷਖ਼໊ࣜশ 4JHOFE&YDIBOHF͍ͯ͠Δ࣌ΈΜͳ͍ͬͯΔݴ༿ 49(ɿ֦ுࢠུ͘͠শදه
Ͳ͕ͬͪ49( " #
ղ " # 49( ".1
Ͳ͕ͬͪ49( " #
ղ " # 49( )5514
)5514ͱ49(ͷҧ͍ )5514 49( %JTUSJCVUPS 1VCMJTIFS ௨৴ΛकΔ ίϯςϯπΛकΔ ηΩϡΞνϟωϧ FYBNQMFDPN FYBNQMFDPN
QVCMJTIFSͷPSJHJOͰදࣔ ॺ໊ ॺ໊
)5514ͱ49(ͷҧ͍ )5514 49( ػີੑ 㾎 /" શੑ 㾎 㾎 ೝূ
㾎 㾎 ൱ೝࢭ /" 㾎 0SJHJO ଓઌ 1VCMJTIFS อޢ͍ͯ͠Δ࣌ؒ ௨৴͍ͯ͠Δؒ ඦϛϦඵఔ ॺ໊ͷ༗ޮظؒ ࠷େ̓ؒ )551ͷ੍ݶ /" ΩϟογϡՄೳͳίϯςϯπݶఆ (&5ݶఆɺېࢭϔομ༗
49(ͷΓऔΓํ๏छ 4BNF0SJHJO DSPTTPSJHJO 4FSWFS1VTI BQQMJDBUJPO TJHOFEFYDIBOHF ϑΥʔϚοτ 1VTI 1SPNJTF DSPTTPSJHJO
4FSWFS1VTI "DDFQUBQQMJDBUJPOTJHOFEFYDIBOHFWC 4JHOBUVSF 4JHOFE)FBEFST 49(ϑΝΠϧ &/"#-&@$3044@ 03*(*/@164) &/"#-&@$3044@ 03*(*/@164) ࠓͷ
දతͳ49(ͷϢʔεέʔε ΦϑϥΠϯ ΦϯϥΠϯ දྫ49(".1 49( $FSU 1VCMJTIFS %JTUSJCVUPS )551ϦΫΤετ )551Ϩεϙϯε
)551ϦΫΤετ )551Ϩεϙϯε ύοΫͯ͠ॺ໊ ॺ໊ݕূͯ͠࠶ੜ 49(ϑΝΠϧ
49(".1γʔέϯεਤ ݕࡧαʔϏε ".1$BDIF 0SJHJO 6" 4FBSDI 4&31 1SFGFUDI 49( (&5
$FSU$IBJO 0$41 49( $FSU$IBJO 0$41 -PDBM$BDIF 7FSJGZ OBWJHBUJPO -PDBM$BDIF ".1࠷దԽ 5SBOTGPNFS 0SJHJOʹΞΫηε͠ͳ͍ ͜ͱͰ1SJWBDZΛอޢ "DDFQUBQQMJDBUJPOTJHOFEFYDIBOHFWC ".1$BDIF5SBOTGPSNHPPHMFW 7BSZ".1$BDIF5SBOTGPSN #PUΫϩʔϧ (&5 #PUΫϩʔϧ DFSUVSMॻ͖͑ JOEFYԽ %JTUSJCVUPS 1VCMJTIFS
ݕࡧ݁Ռ 4&31 ͔Β 49(Λ1SFGFUDI
49(7FSJGZͷঢ়گ EFWUPPM্ωοτϫʔΫύωϧͷ1SFWJFXͰ֬ೝͰ͖·͢
49(ͷঢ়گ w $ISPNF.ΑΓEFGBVMUͰFOBCMF όʔδϣϯC w J04൛ඇରԠɻݱঢ়ϞόΠϧڥͰ49(͕͑Δͷ "OESPJE$ISPNFͷΈ w .BD04൛*&&EHF
$ISPNJVNϕʔε Ͱ49(ಈ࡞֬ೝࡁ w (PPHMF4FBSDIͰ݄த०ΑΓ49(".1Λਖ਼ࣜରԠ w $MPVEqBSF49(ػೳఏڙ։࢝ (6*ϕʔε w ඪ४Խʜ·ͩΘ͔Γ·ͤΜɻ%*41"5$)&4$"1& 8PSLTIPQ
8FC1BDLBHJOH༷֓ཁ ESBGUZBTTLJOIUUQPSJHJO TJHOFESFTQPOTF ESBGUJFUGIUUQCJT IFBEFSTUSVDUVSF ESBGUUIPNTPO IUUQNJD ESBGUZBTTLJOXQBDL CVOEMFEFYDIBOHFT -PBEJOH4JHOFE
&YDIBOHFT 8)"58( 'FUDI #VOEMF 49( 'FUDIʹର͢Δ ϞϯΩʔύον )551ϘσΟͷ )BTI%JHFTU ΑΓѻ͍͍͢)551 ϔομͷهड़ॻࣜ 8FC1BDLBHJOH༷ 3'$ $#03 #JOBSZ+40/ͷ γϦΞϥΠζ C݄࣌ IUUQTHJUIVCDPN8*$(XFCQBDLBHF
.FSLMF*OUFHSJUZ$POUFOU&ODPEJOH )BTI "cc1SPPG#ccY " # $ " # $ )5513FTQPOTF#PEZ
ST SFDPSETJ[F ST " 1SPPG# # 1SPPG$ $ .*$& %JHFTUNJTIB'037ʜ )BTI #cc1SPPG$ccY )BTI $ccY 1SPPG$ 1SPPG# )551Ϩεϙϯεϔομ ϔομใͰ#PEZͷ શੑΛνΣοΫ 49(༷ͰSFDPSETJ[F,#ҎԼʹ੍ݶ
49(ϑΝΠϧͷத C sxg1-b3 ϚδοΫ fallbackURL 49(ݕূ͕ࣦഊͨ͠߹ʹΞ Ϋηε͢Δ63- signature ॺ໊σʔλ signedHeaders
)551Ϩεϙϯεϔομ $#03ܗࣜ payload body )551ϨεϙϯεͷϘσΟ .*$&ܗࣜ sig ॺ໊ integrity )551ϨεϙϯεϘσΟͷϋογϡΞϧΰϦ ζϜ validity-url ৽͍͠ॺ໊σʔλΛऔಘ63- ݱࡏະ࣮ cert-url ূ໌ॻσʔλͷ63- ॺ໊ର֎ cert-sh256 ূ໌ॻσʔλͷϋογϡ ed25519key ॺ໊ݕূ͢Δެ։ݤ ݱࡏະ࣮ date ॺ໊ͨ࣌ؒ͠ expire ॺ໊ͷ༗ޮظݶ ࠷େؒ sxg1-b3 (8) fallbackUrl length (2) fallbackURL sigLength (3) headerLength (3) signature signedHeaders payload body
49(Ͱॺ໊͍ͯ͠Δσʔλ Y Y YY )551&YDIBOHF Y DFSUTIB
WBMJEJUZVSMMFO WBMJEJUZVSM EBUF FYQJSFT SFRVFTU6SMMFO SFRVFTU6SM SFTQPOTF)FBEFSTMFO SFTQPOTF)FBEFST C͔ΒSFRVFTUϔομআ֎ w 49(ূ໌ॻͷൿີ伴ΛͬͯFDETBXJUI4)" TFDQS Ͱॺ໊ w 49(ূ໌ॻͷެ։伴Λͬͯॺ໊Λ7FSJGZ w ॺ໊ͷ7FSJGZ͕ޭͯ͠ϨεϙϯεϘσΟͷ.*$&νΣοΫ͕Ͱ͖ͨΒ49(͕WBMJE
49(ͷத $#03 .*$& ॺ໊
49(ͷத
$FSU$IBJO $#03ͷத $#03ܗࣜ ݱࡏͷ࣌ࠁ Ͱ༗ޮʁ 49(֦ு༗ $5 ϩά༗ʁ Ҏɺݱࡏ༗ޮʁʁ SPPU$"·Ͱ
ॺ໊ݕূ 6 '%$4DSPMM 6 %⛓$IBJOT
49(ېࢭ)551ϔομ $POOFDUJPO ,FFQ"MJWF 1SPYZ$POOFDUJPO 5SBJMFS 5SBOTGFS&ODPEJOH 6QHSBEF "VUIFOUJDBUJPO$POUSPM "VUIFOUJDBUJPO*OGP $MFBS4JUF%BUB
0QUJPOBM888"VUIFOUJDBUF 1SPYZ"VUIFOUJDBUF 1SPYZ"VUIFOUJDBUF*OGP 1VCMJD,FZ1JOT 4FD8FC4PDLFU"DDFQU 4FU$PPLJF 4FU$PPLJF 4FU1SPpMF 4USJDU5SBOTQPSU4FDVSJUZ 888"VUIFOUJDBUF )PQCZ)PQϨεϙϯεϔομ 4UBUFGVMϨεϙϯεϔομ 49(Խ͢Δ".1αʔό͔ΒͷϨεϙϯεʹ্هϔομ͕ೖ͍ͬͯͳ͍͔ҙ͢Δ BNQQLHͰ&SSPS0O4UBUFGVM)FBEFSTͷઃఆͰ੍ޚͰ͖·͢ɻ
BNQQBDLBHFS ʹ͍ͭͯ HJUIVCDPNBNQQSPKFDUBNQQBDLBHFS SFMFBTFCSBODI1SPEVDUJPO༻ϒϥϯν NBTUFSCSBODI։ൃϒϥϯν
BNQQBDLBHFSఏڙίϚϯυ w DNEBNQQLHBNQQLHຊମ w DNEBNQQLH@EM@TYH49(ͱূ໌ॻΛμϯϩʔυ w DNEBNQQLH@UFTU@DBDIF49(Λఏڙ͢Δ؆қΩϟογϡαʔό w DNEHBUFXBZ@TFSWFSH31$Ͱ49(Λੜ͢ΔήʔτΣΠαʔό w
DNEUSBOTGPSN".1࠷దԽΛߦ͏ίϚϯυ
BNQQLHUPNM NBTUFS 1PSU -JTUFOϙʔτ EFGBVMU -PDBM0OMZ MPDBMIPTUͰ-JTUFO͢Δ͜ͱΛڧ੍ EFGBVMUGBMTF $FSU'JMF 49(ূ໌ॻͷϑΝΠϧ
αʔόূ໌ॻ தؒূ໌ॻ 1&.ܗࣜ ,FZ'JMF 49(ূ໌ॻͷൿີ伴ϑΝΠϧ 1&.ܗࣜ 0$41$BDIF 0$41σʔλͷΩϟογϡϑΝΠϧͷύε 'PSXBSEFE3FRVFTU)FBEFS GFUDI͢Δࡍʹసૹ͢ΔϦΫΤετϔομ <<63-4FU>> <63-4FU4JHO> ॺ໊༻ͷઃఆ ඞਢ %PNBJO ॺ໊͢ΔυϝΠϯ 1BUI3& ॺ໊ΛڐՄ͢Δ1BUI EFGBVMU 1BUI&YDMVEF3& ॺ໊ΛڐՄ͠ͳ͍1BUI 2VFSZ3& ॺ໊ΛڐՄ͢Δ2VFSZύϥϝʔλ EFGBVMU &SSPS0O4UBUFGVM)FBEFS TUBUFGVMϔομ͕͋ͬͨΒQSPYZͤ͞Δ͔আ͢Δ͔ .BY-FOHUI 63-ͷ࠷େ EFGBVMU <63-4FU'FUDI> ".1ίϯςϯπΛ'FUDI͢Δઃఆ Φϓγϣϯ 4DIFNF GFUDIΛڐՄ͢ΔTDIFNB EFGBVMUIUUQT 4BNF1BUI ॺ໊ͱಉ͡QBUIͰGFUDI͢Δ͜ͱΛڧ੍ͤ͞Δ %PNBJO3& GFUDIΛڐՄ͢ΔυϝΠϯͷύλʔϯ %PNBJO GFUDI͢ΔυϝΠϯ 1BUI3& GFUDIΛڐՄ͢Δ1"5) EFGBVMU 2VFSZ3& GFUDIΛڐՄ͢Δ2VFSZύϥϝʔλ EFGBVMU
BNQQLH DPOpH DPOpHϑΝΠϧͷࢦఆ EFWFMPQFNFOU w $BO4JHO)551&YDIBOHF֦ு͕ͳ͍ূ໌ॻͷར༻ΛڐՄ͢Δ w MPDBMIPTUѼͷ63-͚ͩڐՄ w ".1$BDIF5SBOTGPSN"DDFQUϔομඞཁͳ͍
JOWBMJEDFSU $BO4JHO)551&YDIBOHF֦ு͕ͳ͍ূ໌ॻͷར༻ΛڐՄ͢Δ ϩάඪ४ग़ྗͷΈ ίϚϯυϥΠϯϑϥά
BNQQLHͷϦΫΤετ QSJWEPDIUUQTFYBNQMFDPNBNQ QSJWEPD GFUDIIUUQ"''JOUFSOBMDPN'BNQTJHOIUUQT"''FYBNQMFDPN'BNQ QSJWEPD TJHOIUUQT"''FYBNQMFDPN'BNQ IUUQTFYBNQMFDPNBNQ BNQQLH BNQQLH BNQQLH
IUUQTFYBNQMFDPNBNQ IUUQJOUFSOBMDPNBNQ ॺ໊υϝΠϯͱ'FUDIઌ͕ಉҰ ॺ໊υϝΠϯͱ'FUDIઌ͕ҟͳΔ BNQQLHલஈͰ5-4ऴΛͯ͠ɺ֎෦͔ΒQSJWEPDʹଓͤ͞ͳ͍͜ͱ 5 - 4 ऴ ɾ 1 B U I ม ߋ IUUQTFYBNQMFDPNBNQ IUUQTFYBNQMFDPNBNQQLH 49(ূ໌ॻཁٻϦΫΤετ BNQQLH 49(ཁٻϦΫΤετ
5SBOTGPSNFS w ͜Ε·Ͱ".1$BDIFͰ(PPHMF͕".1࠷దԽॲཧΛߦͬͯ ͖ͨ ".1ͷSVOUJNFWBMVFͷೖΕࠐΈJOMJOFԽFUD w 49(Ͱॺ໊ͨ͠ޙͰ࠷దԽ͕ෆՄೳɻ49(Խͷલʹ Δඞཁ͕͋Δɻ w
5SBOTGPSNFSͷࢦఆΛ".1$BDIF5SBOTGPSNFSϔομͰ ωΰγΤʔγϣϯ͢ΔɻόʔδϣϯिؒͰ্͕Δ༧ఆ w ".1$BDIF5SBOTGPSNHPPHMFW w ".1$BDIF5SBOTGPSNBOZ #PU IUUQTHJUIVCDPNBNQQSPKFDUBNQIUNMCMPCNBTUFSTQFDBNQDBDIFUSBOTGPSNNE 7BSZ".1$BDIF5SBOTGPSN ".1$BDIF5SBOTGPSNHPPHMFW IUUQTHJUIVCDPNBNQQSPKFDUBNQIUNMCMPCNBTUFSTQFDBNQDBDIFNPEJpDBUJPOTNE
49(ূ໌ॻ w 49(ΛαʔϏεͰఏڙ͢ΔͨΊʹඞཁෆՄܽ w ௨ৗͷ&$$ূ໌ॻ TFDQ ʹ49(֦ு͕͍ͨͷ w ௨ৗͷ)5514αʔό༻్ͷূ໌ॻʹ͏͜ͱېࢭ w
ݱࡏ%JHJDFSUࣾͷΈൃߦ w ݄ΑΓ w ূ໌ॻͷ༗ޮظݶΛʹ੍ݶ w %/4$""ϨίʔυొΛඞਢԽ 49(֦ு
$""ಋೖͷࡍͷҙࣄ߲ w $/".&͚͍ͯΔϨίʔυʹଞϨίʔυ͚Εͳ͍ w $/".&ઌͷ$""Λݟʹߦ͕͘$/".&ͷυϝΠϯΛḷΒͳ͍ 3'$&SSBUB w $/".&ઌͷ$""͕ͳ͚ΕυϝΠϯͷ$""Λࢀর͠ʹߦ͘ɻ FYBNQMFDPN$""JTTVFEJHJDFSUDPNDBOTJHOIUUQFYDIBOHFTZFT
)5514ͱ49(ͷηΩϡϦςΟͷҧ͍ ൿີ伴͕࿙Ӯͨ͠߹ ΦϑϥΠϯڥ POQBUI %/4Λม͑Εͳ͔ͬͨ Β.*5.͔͠ͳ͍ ωοτϫʔΫڥ ͍Βͳ͍ ෆਖ਼49( )5514
49( վ͟Μ ౪ௌ ͳΓ͢·͠ վ͟Μ ͳΓ͢·͠ P⒎QBUI $""Ͱূ໌ॻͷෆਖ਼ൃߦɾޡൃߦΛ͗ ظؒ ͷ49(ূ໌ॻͰةຆԽ࣌ͷϦεΫΛݮ ࿙Ӯ
49(".1 γεςϜࣄྫ
".149(γεςϜ֓ཁ ݕࡧαʔϏε ".1Ωϟογϡ 49( ݕࡧ 1SFGFUDI 0$4αʔό ".1$%/ ".1αʔό BNQQLH
49(3PVUFS )55141SPYZ
)55141SPYZ w Πϯλʔωοτ͔Βͷ)5514ଓͷऴ w Ωϟογϡػೳ w ෦αʔϏεͷৼΓ͚ BNQ".1αʔϏε BNQQLH 49(ূ໌ॻऔಘ
$SBXMFSCPU BNQ BNQQLH ".1͚ϦΫΤετ ".1Ҏ֎ϦΫΤετ 49(3PVUFS ".1Ҏ֎ͷαʔϏε
49(3PVUFS w $SBXMFSʹ49(ରԠͰ͋Δ͜ͱΛΒͤΔ 7BSZ".1 $BDIF5SBOTGPSN w 49(औಘϦΫΤετ ".1$BDIF5SBOTGPSN HPPHMFW
͕དྷͨΒBNQQLʹ;Δɻ w ϦΫΤετΛBNQQLH༻ͷRVFSZQBSBNFUFSʹมߋ )55141SPYZ 49(3PVUFS BNQQLH ".1αʔό
BNQQLH w ".1ίϯςϯπ͔Β49(Λੜ͠ఏڙ͢Δ ࠷େ.# w ΫϥΠΞϯτͷ࣌ؒͣΕΛߟྀͯ͠ॺ໊ظؒ̍લ͔Β̒ޙ w 49(ੜ࣌ʹ".1࠷దԽ 5SBOTGPSN
Λߦ͏ w 49(ূ໌ॻͱ0$41Λ·ͱΊͨσʔλ DFSU DCPS Λੜ͠ɺఏڙ ͢Δ w ύϒϦοΫΩϟογϡʹద͞ͳ͍ϔομͷνΣοΫআΛߦ͏ w TUBUVT$PEFҎ֎جຊεϧʔ QSPYZ IUUQTHJUIVCDPNBNQQSPKFDUBNQQBDLBHFS BNQQLH ".1$%/ 0$41αʔό 49(3PVUFS ".1αʔό ".1$BDIF5SBOTGPSN ͖ϦΫΤετ 49(ূ໌ॻऔಘϦΫΤετ $44 357 ࣦޮใ )551ϦΫΤετ )551Ϩεϙϯε ".1ίϯςϯπ
49(ಋೖৼΓฦΓ
49(".1γεςϜಋೖɺৼΓฦΓ طଘΠϯϑϥͷӨڹΛ࠷খݶʹͯ͠ɺಋೖ͕Մೳͩͬ ͨɻ ϢʔβͷϦΫΤετͷӨڹΛ͋·Γؾʹͤͣʹ͢ Μͩ ओཁϦΫΤετ͕#PUͷΫϩʔϦϯάͰ͋ͬͨͨΊ
ࣄલʹ4UBHJOHڥͰͷςετ͕ݶఆతͩͬͨɻ#PUΫ ϩʔϧ".1ΩϟογϡԽͷࢼݧϦϦʔεޙʹ͔͠Ͱ ͖ͳ͍ɻ
49(".1γεςϜಋೖʹؔ ͢Δҙࣄ߲ w ΩϟογϡՄೳͳίϯςϯπ͔ʁ 49(ېࢭϔομ w ݸਓใηΩϡϦςΟใ͕ೖ͍ͬͯͳ͍͔ʁ w 4BNF0SJHJOʹͳͬͨΒΤϥʔʹͳΒͳ͍͔ʁ
FH".1 JGSBNF w 4PGU OPUGPVOEΛͰฦ͢ ͱ͔͍ͯ͠ͳ͍͔ʁ
·ͱΊ PSJHJOΛೖΕସ͑Δ4JHOFE)551&YDIBOHFTɺ͜Ε·Ͱ ͷ8FCϓϩτίϧͷ֓೦Λࠜຊతʹม͑Δٕज़Ͱ͢ɻ ͜ͷٕज़ʹΑͬͯ1VCMJTIFS%JTUSJCVUPSͦΕͧΕͷ͕ؔ কདྷେ͖͘มΘΔՄೳੑ͕͋Γ·͢ɻ ࠓޙɺ49(͕ఱͱͳΔͷ͔ɺͦΕͱѱຐͱͳΔͷ͔ɺ օ͞ΜͰͦͷӨڹΛΑ͘ߟ্͑ͨͰ49(Λஅͯ͠Լ͍͞ɻ