縲占ァ」遲秘溷ア縲第ュ蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ 莉、蜥鯉シ怜ケエ蠎ヲ譏・蟄」縲仙壕蠕悟撫シ薙
莉、蜥鯉シ怜ケエ縺ョ諠蝣ア蜃ヲ逅謚陦楢隧ヲ鬨薙〒縺吶
隗」隱ャ繧りィ倩シ峨@縺ヲ縺翫j縺セ縺吶ョ縺ァ隕狗峩縺励↓縺ゥ縺縺槭
- 1. 蝠3 繧ケ繝槭シ繝医ヵ繧ゥ繝ウ逕ィ繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝励Ο繧ー繝ゥ繝
- 1.1. 險ュ蝠1 縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.1.1. (1)陦ィ1荳ュ縺ョ荳狗キ1縺ォ縺、縺縺ヲ,繧「繧ッ繧サ繧ケ繧ュ繝シ繧貞叙蠕励☆繧区婿豕輔r縲∝キ菴鍋噪縺ォ遲斐∴繧医
- 1.1.2. (2)陦ィ1荳ュ縺ョ荳狗キ2縺ォ縺、縺縺ヲ,繧「繧ッ繧サ繧ケ繧ュ繝シ繧貞叙蠕励☆繧区婿豕輔r縲∝キ菴鍋噪縺ォ遲斐∴繧医
- 1.1.3. (3)陦ィ1荳ュ縺ョ荳狗キ3縺ォ縺、縺縺ヲ,繝繧ヲ繝ウ繝ュ繝シ繝峨☆繧区婿豕輔r,蜈キ菴鍋噪縺ォ遲斐∴繧医
- 1.1.4. (4)陦ィ1荳ュ縺ョ荳狗キ4縺ォ縺、縺縺ヲ,謾サ謦閠縺ョWeb繧オ繧、繝医↓繧「繧ッ繧サ繧ケ縺輔○繧九%縺ィ縺後〒縺阪k繧医≧縺ォ邏ー蟾・縺励◆URL縺ョ萓九r,謾サ謦閠縺悟叙蠕励@縺溘ラ繝。繧、繝ウ蜷阪rk-sha.co.jp縺ィ縺励◆蝣エ蜷医〒遲斐∴繧医
- 1.2. 險ュ蝠2 縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.2.1. (1)蝗ウ9荳ュ縺ョ荳狗キ5縺ォ縺、縺縺ヲ,繧オ繝シ繝占ィシ譏取嶌縺ョSubjectAlternativeName縺ョ蛟、繧偵∝キ菴鍋噪縺ォ遲斐∴繧医
- 1.2.2. (2)蝗ウ9荳ュ縺ョaス柯縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,隗」遲皮セ、縺ョ荳ュ縺九i驕ク縺ウ,險伜捷縺ァ遲斐∴繧医
- 1.2.2.1. 繧ケ繝繝繝0シ咾ONNECT繝ェ繧ッ繧ィ繧ケ繝茨シ医励Ο繧ュ繧キ邨檎罰譎ゑシ
- 1.2.2.2. 繧ケ繝繝繝1シ咾lientHelloシTLS繝上Φ繝峨す繧ァ繧、繧ッ髢句ァ具シ
- 1.2.2.3. 繧ケ繝繝繝2シ售erverHelloシ医し繝シ繝仙ソ懃ュ費シ
- 1.2.2.4. 繧ケ繝繝繝3シ哥inished繝。繝繧サ繝シ繧ク縺ィ證怜捷蛹夜壻ソ。髢句ァ
- 1.2.3. (3)譛ャ譁荳ュ縺ョ荳狗キ6縺ォ縺、縺縺ヲ,險ュ螳壹ョ蜀螳ケ繧,蜈キ菴鍋噪縺ォ遲斐∴繧医
- 1.3. 險ュ蝠3 譛ャ譁荳ュ縺ョi縺ォ蜈・繧後k險伜捷繧,蝗ウ4荳ュ縺ョ(縺)~(縺)縺九i驕ク縺ウ,遲斐∴繧医
- 1.4. 險ュ蝠4 縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.4.1. (1) 譛ャ譁荳ュ縺ョ荳狗キ7縺ォ縺、縺縺ヲ,蝠城。檎せ繧,20蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.4.2. (2) 譛ャ譁荳ュ縺ョ荳狗キ8縺ォ縺、縺縺ヲ,螳溯」縺吶k讖溯ス繧,蜈キ菴鍋噪縺ォ遲斐∴繧医
蝠3 繧ケ繝槭シ繝医ヵ繧ゥ繝ウ逕ィ繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝励Ο繧ー繝ゥ繝
險ュ蝠1 [F繧「繝励Μ縺ョ閼蠑ア諤ァ險コ譁ュ邨先棡]縺ォ縺、縺縺ヲ遲斐∴繧医
(1)陦ィ1荳ュ縺ョ荳狗キ1縺ォ縺、縺縺ヲ,繧「繧ッ繧サ繧ケ繧ュ繝シ繧貞叙蠕励☆繧区婿豕輔r縲∝キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
HTTP繝倥ャ繝縺ョ繝倥ャ繝繝シ繝輔ぅ繝シ繝ォ繝峨ョAuthorization繝倥ャ繝縺九i蜿門セ励☆繧
隗」隱ャ
HTTP繝ェ繧ッ繧ィ繧ケ繝亥縺ョ繧「繧ッ繧サ繧ケ繧ュ繝シ縺ョ譬シ邏堺ス咲スョ縺ォ髢「縺吶k險ュ蝠上〒縺吶
蝗ウ5縺ォ險倩シ峨&繧後※縺縺セ縺吶
(2)陦ィ1荳ュ縺ョ荳狗キ2縺ォ縺、縺縺ヲ,繧「繧ッ繧サ繧ケ繧ュ繝シ繧貞叙蠕励☆繧区婿豕輔r縲∝キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
F繧「繝励Μ繧定ァ」譫舌@縲√い繝励Μ蜀縺ォ菫晏ュ倥&繧後※縺繧九せ繝医Ξ繝シ繧ク蜷阪→AES-CBC譁ケ蠑上ョ蜈ア騾夐嵯縺翫h縺ウ蛻晄悄繝吶け繝医Ν繧貞叙蠕励@縺ヲ縲:繧「繝励Μ縺ォ菫晏ュ倥@證怜捷蛹悶&繧後◆繧「繧ッ繧サ繧ケ繧ュ繝シ繧貞セゥ蜿キ縺吶k縲
隗」隱ャ
F繧「繝励Μ縺ォ菫晏ュ倥&繧後※縺繧九い繧ッ繧サ繧ケ繧ュ繝シ縺ォ縺、縺縺ヲ縺ョ險倩ソー縺悟峙5縺ョ逶エ蠕後↓縺ゅj縺セ縺吶
證怜捷蛹悶@縺溘い繧ッ繧サ繧ケ繧ュ繝シ縺ィ證怜捷蛹悶↓菴ソ縺」縺溷ア騾夐嵯繧貞酔縺伜エ謇縺ォ菫晏ュ倥☆繧九%縺ィ縺ッ髱槫クク縺ォ繧サ繧ュ繝・繝ェ繝繧」繝ェ繧ケ繧ッ縺碁ォ倥>縺ァ縺吶
骰オ諠蝣ア縺ョ蜊ア谿蛹悶↓縺、縺縺ヲ縺ッ縺薙■繧峨r蜿り縺ォ縺励※縺上□縺輔>縲
(3)陦ィ1荳ュ縺ョ荳狗キ3縺ォ縺、縺縺ヲ,繝繧ヲ繝ウ繝ュ繝シ繝峨☆繧区婿豕輔r,蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
Authorization繝倥ャ繝縺ォ繧「繧ッ繧サ繧ケ繧ュ繝シ繧呈欠螳壹@縺ヲ繧「繧ッ繧サ繧ケ縺励,繧オ繝シ繝薙せ蜀縺ョ繝輔ぃ繧、繝ォ縺ォ蟇セ縺励※0000001縺九i鬆縺ォGET繝。繧ス繝繝峨〒繧「繧ッ繧サ繧ケ縺吶k
隗」隱ャ
繝昴う繝ウ繝医ッシ偵▽縺ァ縺吶
シ代▽逶ョ縺ッC繧オ繝シ繝薙せ縺ク縺ョ繧「繧ッ繧サ繧ケ縺ァ縺吶ゅ%繧後ッ(1)縺ァ繧ょ酔讒倥ョ蜀螳ケ縺悟撫繧上l縺ヲ縺翫j縺セ縺吶ョ縺ァ迚ケ縺ォ蝠城。後↑縺縺ィ諤昴>縺セ縺吶
シ偵▽逶ョ縺碁崎ヲ√ゆク狗キ3縺ォ險倩シ峨&繧後※縺繧九ョ縺ッ縲主ィ蛻ゥ逕ィ閠縺ョ蜀咏悄繧偵ム繧ヲ繝ウ繝ュ繝シ繝峨☆繧九譁ケ豕輔↓縺、縺縺ヲ蝠上o繧後※縺縺セ縺吶ゅヵ繧。繧、繝ォ繧「繧ッ繧サ繧ケ縺ォ縺、縺縺ヲ縺ッ蝗ウ5縺ョ1.繧オ繝シ繝薙せ縺ョ讎りヲ(3)縺ォ險倩シ峨&繧後※縺繧九h縺縺ォ縲ゞRL繝代せ縺ォGET繝。繧ス繝繝峨〒繧「繧ッ繧サ繧ケ縺吶k縺薙→縺ァ繝繧ヲ繝ウ繝ュ繝シ繝牙庄閭ス縺ァ縺吶
縺ァ縺ッ縲∝ィ蛻ゥ逕ィ閠縺ョ蜀咏悄繧偵ム繧ヲ繝ウ繝ュ繝シ繝峨☆繧九↓縺ッ縺ゥ縺縺吶l縺ー縺縺縺ァ縺励g縺縲
縺薙l縺ッ蝗ウ4縺ォ繝偵Φ繝医′縺ゅj縺セ縺吶よウィ驥医r繧医¥隕九※縺ソ繧九→繝輔ぃ繧、繝ォ蜷阪ッ0000001縺九i蟋九∪繧矩」逡ェ縺ァ縺ゅk縺ィ險倩シ峨&繧後※縺縺セ縺吶
縺薙ョ莉墓ァ倥r蛻ゥ逕ィ縺励騾」逡ェ縺ォ蟇セ縺励※鬆谺。繧「繧ッ繧サ繧ケ縺励※縺縺上%縺ィ縺ァ蜈ィ蛻ゥ逕ィ閠縺ョ蜀咏悄繧偵ム繧ヲ繝ウ繝ュ繝シ繝峨☆繧九%縺ィ縺悟庄閭ス縺ァ縺吶
(4)陦ィ1荳ュ縺ョ荳狗キ4縺ォ縺、縺縺ヲ,謾サ謦閠縺ョWeb繧オ繧、繝医↓繧「繧ッ繧サ繧ケ縺輔○繧九%縺ィ縺後〒縺阪k繧医≧縺ォ邏ー蟾・縺励◆URL縺ョ萓九r,謾サ謦閠縺悟叙蠕励@縺溘ラ繝。繧、繝ウ蜷阪rk-sha.co.jp縺ィ縺励◆蝣エ蜷医〒遲斐∴繧医
隗」遲
隗」隱ャ
URL繧堤エー蟾・縺吶k縺薙→縺ォ繧医j縲∵判謦閠縺ョ繧オ繧、繝医↓繧「繧ッ繧サ繧ケ縺励°縺、隱崎ィシ繝医シ繧ッ繝ウ縺悟叙蠕励&繧後k蜿ッ閭ス諤ァ縺後≠繧九→縺縺蝠城。後〒縺吶
謾サ謦閠縺ョ繧オ繧、繝医↓繧「繧ッ繧サ繧ケ縺輔○繧九↓縺ッ縲「rl=縺ョ驛ィ蛻繧呈嶌縺肴鋤縺医l縺ー縺縺縺薙→縺ッ縺吶$縺ォ繧上°繧翫∪縺吶ょ撫鬘後ッ隱崎ィシ繝医シ繧ッ繝ウ繧貞叙蠕励☆繧矩Κ蛻縺ァ縺吶
隱崎ィシ繝医シ繧ッ繝ウ縺ョ騾∽ソ。縺ォ縺ッECMAscript縺御スソ繧上l縺ヲ縺翫jURL縺ョ蜈磯ュ縺後敬ttps://www.a-sha.co.jp縲阪〒縺ゅk蠢隕√′縺ゅj縺セ縺吶
縺薙ョ譚。莉カ縺ァ縺吶′縲繧医¥隕九k縺ィ豌励▼縺上ョ縺ァ縺吶′譛蠕後↓縲/縲阪′縺ゅj縺セ縺帙s縲
繧医▲縺ヲ縺薙ョ繧医≧縺ェURL縺ァ繧りェ崎ィシ繝医シ繧ッ繝ウ縺碁∽ソ。縺輔l縺セ縺吶
k-sha.co.jp縺ョ繧オ繝悶ラ繝。繧、繝ウ縺ィ縺励※www.a-sha.co.jp繧貞叙蠕励@縺ヲ縲√%縺ョ繧オ繧、繝医↓蟇セ縺励※繧「繧ッ繧サ繧ケ縺輔○縺セ縺吶
險ュ蝠2 [閼蠑ア諤ァ1]縺ォ縺、縺縺ヲ遲斐∴繧医
(1)蝗ウ9荳ュ縺ョ荳狗キ5縺ォ縺、縺縺ヲ,繧オ繝シ繝占ィシ譏取嶌縺ョSubjectAlternativeName縺ョ蛟、繧偵∝キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
www-asha.co.jp
隗」隱ャ
(2)蝗ウ9荳ュ縺ョaス柯縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,隗」遲皮セ、縺ョ荳ュ縺九i驕ク縺ウ,險伜捷縺ァ遲斐∴繧医
隗」遲
| a | 繧ェ |
| b | 繧ア |
| c | 繧ヲ |
| d | 繧ウ |
| e | 繧「 |
| f | 繧、 |
| g | 繧ォ |
| h | 繧ュ |
隗」隱ャ
繧オ繝シ繝舌サ繧ッ繝ゥ繧、繧「繝ウ繝磯俣縺ョTSL騾壻ソ。縺ォ縺、縺縺ヲ縲∝燕蠕後ョ繧ウ繝阪け繧キ繝ァ繝ウ縺セ縺ァ蜷ォ繧√◆TLS騾壻ソ。蜈ィ菴灘ワ縺ォ髢「縺吶k蝠城。後〒縺吶
繧ケ繝繝繝0シ咾ONNECT繝ェ繧ッ繧ィ繧ケ繝茨シ医励Ο繧ュ繧キ邨檎罰譎ゑシ

繝励Ο繧ュ繧キ繧オ繝シ繝撰シ井クュ邯呻シ峨r菴ソ縺蝣エ蜷医ョ縺ソ縲∽サ・荳九ョ繧医≧縺ェCONNECT繝ェ繧ッ繧ィ繧ケ繝医′騾√i繧後∪縺吶
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com:443
逶ョ逧シ唏TTPS逕ィ縺ョ繝医Φ繝阪Ν繧剃ス懊k
謌仙粥縺吶k縺ィ繝励Ο繧ュ繧キ縺ッ HTTP/1.1 200 Connection Established 繧定ソ斐☆
窶サ縺薙l縺ッHTTPS繝ェ繧ッ繧ィ繧ケ繝医〒縺ッ縺ェ縺縲ょ腰縺ォ證怜捷蛹悶&繧後※縺縺ェ縺УCP繝医Φ繝阪Ν縺ョ險ア蜿ッ繧呈アゅa縺ヲ縺繧区ョオ髫弱
繧ケ繝繝繝1シ咾lientHelloシTLS繝上Φ繝峨す繧ァ繧、繧ッ髢句ァ具シ

繝励Ο繧ュ繧キ邨檎罰縺ァ謗・邯壹′遒コ遶九@縺溘i縲√ヶ繝ゥ繧ヲ繧カシ医け繝ゥ繧、繧「繝ウ繝茨シ峨ッ繧オ繝シ繝舌↓ ClientHello 繧帝∽ソ。縲
- TLS縺ョ繝舌シ繧ク繝ァ繝ウシ井セ具シ啜LS 1.3シ
- 蟇セ蠢懊☆繧区囓蜿キ繧ケ繧、繝シ繝茨シ井セ具シ哂ES, ChaCha20縺ェ縺ゥシ
- 繝ゥ繝ウ繝繝縺ェ謨ー蛟、シ医そ繝繧キ繝ァ繝ウ蝗コ譛会シ
- SNIシServer Name Indicationシ会シ昴ラ繝。繧、繝ウ蜷
繧ケ繝繝繝2シ售erverHelloシ医し繝シ繝仙ソ懃ュ費シ

繧オ繝シ繝舌ッ ClientHello 縺ォ蠢懊§縺ヲ ServerHello 繧帝√k縲
荳玖ィ倥ョ諠蝣ア繧らカ壹¢縺ヲ騾∽ソ。縺輔l繧
- 證怜捷蛹悶&繧後◆諡。蠑オ諠蝣ア (EncryptedExtensions)
- 繧オ繝シ繝舌ョX.509險シ譏取嶌縺ェ縺ゥ (Certificate)
- 繧オ繝シ繝舌′Certificate縺ョ謇譛芽縺ァ縺ゅk縺薙→繧定ィシ譏弱☆繧九◆繧√ョ鄂イ蜷(CertificateVerify)
繧ケ繝繝繝3シ哥inished繝。繝繧サ繝シ繧ク縺ィ證怜捷蛹夜壻ソ。髢句ァ

- 繧ッ繝ゥ繧、繧「繝ウ繝医→繧オ繝シ繝舌ッ縺昴l縺槭l Finished 繝。繝繧サ繝シ繧ク繧剃コ、謠幢シ医%縺ョ譎らせ縺ァ騾壻ソ。縺ッ證怜捷蛹匁ク医∩シ
- 蜿梧婿縺悟ア譛蛾嵯繧剃スソ縺」縺ヲ騾壻ソ。繧帝幕蟋
莉・髯阪ョ騾壻ソ。シ井セ具シ唏TTP繝ェ繧ッ繧ィ繧ケ繝茨シ峨ッTLS縺ァ證怜捷蛹悶&繧後※騾∽ソ。縺輔l繧九
(3)譛ャ譁荳ュ縺ョ荳狗キ6縺ォ縺、縺縺ヲ,險ュ螳壹ョ蜀螳ケ繧,蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
騾壻ソ。隗」譫舌ヤ繝シ繝ォ縺ョ繝励Λ繧、繝吶シ繝郁ィシ譏取嶌繧剃ソ。鬆シ縺吶k繝ォ繝シ繝郁ィシ譏取嶌縺ィ縺励※繧、繝ウ繧ケ繝医シ繝ォ縺吶k
隗」隱ャ
險ュ蝠3 譛ャ譁荳ュ縺ョi縺ォ蜈・繧後k險伜捷繧,蝗ウ4荳ュ縺ョ(縺)~(縺)縺九i驕ク縺ウ,遲斐∴繧医
隗」遲
縺
隗」隱ャ
險ュ蝠4 [閼蠑ア諤ァ3]縺ォ縺、縺縺ヲ遲斐∴繧医
(1) 譛ャ譁荳ュ縺ョ荳狗キ7縺ォ縺、縺縺ヲ,蝠城。檎せ繧,20蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
webview縺ァ繝壹シ繧ク驕キ遘サ縺吶k髫帙↓繧「繝励Μ逕サ髱「縺ォ驕キ遘サ蜈URL縺瑚。ィ遉コ縺輔l縺ェ縺
隗」隱ャ
蝗ウ6縺ョ蜑阪〒繧ュ繝」繝ウ繝壹シ繝ウ繝壹シ繧ク縺ョ螳溯ィシ譁ケ豕輔→縺励※webview縺悟茜逕ィ縺輔l縺ヲ縺繧九→險倩ソー縺輔l縺ヲ縺縺セ縺吶
縺セ縺溘『ebview縺ァ逕サ髱「繧定。ィ遉コ縺吶k髫帙↓驕キ遘サ蜈医ョURL縺瑚。ィ遉コ縺輔l繧九↑縺ゥ縺ョ險倩ソー縺ッ迚ケ縺ォ縺ェ縺縺溘a縲驕キ遘サ蜈医ョ繝壹シ繧ク縺後◎縺ョ縺セ縺セ陦ィ遉コ縺輔l繧倶サ墓ァ倥→縺ェ縺」縺ヲ縺繧九%縺ィ縺後o縺九j縺セ縺吶
(2) 譛ャ譁荳ュ縺ョ荳狗キ8縺ォ縺、縺縺ヲ,螳溯」縺吶k讖溯ス繧,蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
驕キ遘サ蜈医→縺ェ繧偽RL繧偵帙Ρ繧、繝医Μ繧ケ繝医→縺励※邂。逅縺励∬ィア蜿ッ縺輔l縺溘ラ繝。繧、繝ウ莉・螟悶ョ驕キ遘サ繧堤ヲ∵ュ「縺吶k
隗」隱ャ
繧ェ繝シ繝励Φ繝ェ繝繧、繝ャ繧ッ繝郁ф蠑ア諤ァ縺ク縺ョ蟇セ遲悶〒諠蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ縺ョ隗」遲斐→縺励※豈碑シ逧繧医¥隕九k蜀螳ケ
繝ェ繝繧、繝ャ繧ッ繝亥医→縺励※螟夜Κ縺ョ繧オ繧、繝医b蛻カ髯舌↑縺乗欠螳壼庄閭ス縺ェ迥カ諷九↓縺ェ縺」縺ヲ縺繧九→縲√Θ繝シ繧カ繝シ繧貞、夜Κ縺ョ謔ェ諢上≠繧九し繧、繝医∈隱伜ー弱〒縺阪※縺励∪縺縺セ縺吶
縺薙l縺後が繝シ繝励Φ繝ェ繝繧、繝ャ繧ッ繝郁ф蠑ア諤ァ縺ァ縺吶
蟇セ遲悶→縺励※縺ッ縲驕キ遘サ蜈医ョ繝峨Γ繧、繝ウ繧偵帙Ρ繧、繝医Μ繧ケ繝医→縺励※邂。逅縺励√◎繧御サ・螟悶ョ繝峨Γ繧、繝ウ縺ォ縺ッ驕キ遘サ縺ァ縺阪↑縺繧医≧縺ォ縺吶k縺ェ縺ゥ縺ョ蟇セ遲悶′荳闊ャ逧縺ァ縺吶


