π± μ μ‘κ³μΈ΅μμμ Client/Serverμ λν μΈμ¦ λ° λ°μ΄ν° μνΈν μν
π± μ£Όμ μμ©
π± μ΅μ΄ μ μ : λ·μ€μΌμ΄νμ¬
π± SSLμ νμ€ν κΈ°μ¬ - TLS νμ€
μΈμ μ λν μΈμ μ 보μ μ°κ²° μ 보λ₯Ό 곡μ νκΈ° μν νλ‘ν μ½
client hello
ν΄λΌμ΄μΈνΈ -> μλ²
ν΄λΌμ΄μΈνΈ SSL λ²μ , ν΄λΌμ΄μΈνΈ μμ± λμ, μΈμ
μλ³μ, CipherSuit 리μ€νΈ
server hello
μλ² -> ν΄λΌμ΄μΈνΈ
μλ²μ SSL λ²μ , μλ² μμ± λμ, μΈμ
μλ³μ, ν΄λΌμ΄μΈνΈμ CipherSuit μ€ μ ν
server certificate
μλ² -> ν΄λΌμ΄μΈνΈ
μλ² μΈμ¦μ, 곡κ°ν€
certificate request
μλ² -> ν΄λΌμ΄μΈνΈ
μλ²μμ ν΄λΌμ΄μΈνΈ μΈμ¦μ μμ²(μλ΅κ°λ₯)
server hello done
μλ² -> ν΄λΌμ΄μΈνΈ
μλ²μμ νμν λ΄μ©μ λͺ¨λ μ μ‘νμμμλ¦Ό
client certificate
ν΄λΌμ΄μΈνΈ -> μλ²
μλ²μμ ν΄λΌμ΄μΈνΈ μΈμ¦μλ₯Ό μμ²ν κ²½μ° μΈμ¦μ μ‘μ (μλ΅ κ°λ₯)
client key exchange
ν΄λΌμ΄μΈνΈ -> μλ²
μΈμ
ν€ μμ±μ© pre_master_secretμ μλ² κ³΅κ°ν€λ‘ μνΈννμ¬ μ μ‘
certificate vertify
ν΄λΌμ΄μΈνΈ -> μλ²
ν΄λΌμ΄μΈνΈ μΈμ¦μλ₯Ό νμΈν μ μλλ‘ μ μμλͺ
λ°μ‘, μλ²μμ κ²μ¦
client finish
ν΄λΌμ΄μΈνΈ -> μλ²
μλ²μ change cipher specμ μ μ‘νκ³ finished μλ¦Ό
server finish
μλ² -> ν΄λΌμ΄μΈνΈ
ν΄λΌμ΄μΈνΈμ change cipher spec μ μ‘νκ³ finished μλ¦Ό
Cipher Suite
TLSλ μ μ‘ κ³μΈ΅ μμμ TLS κ³μΈ΅μ λ°λ‘ λμ΄ λμνκ² λλ€.
TLSλ₯Ό μ¬μ©νλ μ΄ν리μΌμ΄μ
νλ‘ν μ½μ λμ sκ° λΆκ² λλ€.
HTTP -> HTTPS / FTP -> FTPS
HandShake
μμͺ½ κ°μ μ°κ²°μ μ€μ ν λ 보μ νμμ μν νλ‘ν μ½
Change Cipher Spec
보μ νλΌλ―Έν°λ₯Ό λ³κ²½νκ±°λ μ μ©ν λ μ¬μ©
μλ₯Ό λ€μ΄ λμΉν€ μκ³ λ¦¬μ¦μ λ³κ²½ν λ μ΄ νλ‘ν μ½μ΄ μ¬μ©
Alert
μ€λ₯λ₯Ό μ μ‘ν λ μ¬μ©λλ νλ‘ν μ½
Application Data
μ€μ λ°μ΄ν°κ° μ μ‘λ λ μ¬μ©λλ νλ‘ν μ½
Record
νμλ 보μ νλΌλ―Έν°λ₯Ό μ΄μ©νμ¬ μ-볡νΈν, λ¬΄κ²°μ± κ²μ¦ λ±μ μννλ νλ‘ν μ½