๐ฅ
[SSL] SSL ์ธ์ฆ์์ ๋ํด์.. (HTTPS) ๋ณธ๋ฌธ
๋๋ฉ์ธ ์ฌ์ฉ์ ์ํด ssl ์ธ์ฆ์๋ฅผ ์ ์ฉํ๊ฒ ๋์๋ค.
์ ๋ง 1๋ ๋ชฐ๋ผ์ ๋ ํ๋ค์๋ค
๊ทธ๋์ ์ ์ฉ ๊ณผ์ ์ค์ ์๊ฒ ๋ ๋ช๊ฐ์ง๋ฅผ ์ ๋ฆฌํด๋ดค๋ค.
SSL/TLS
https ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ค๋ฉด ์ธ์ฆ์ด ํ์ํ๋ค.
https๋ ์์ฒญ/์๋ต์ ๋ณด๋ผ ๋ ์ํธํ๋ฅผ ํ๊ฒ ๋๋๋ฐ, ์ด๋ ์ ๊ณต๋๋ ๋ณด์๊ณ์ธต์ด SSL์ด๋ค.
SSL ๊ฐ๋ฐ ํ์ ํ์คํ๋๋ฉด์ TLS๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ๋์๋ค. ๋ ์ฉ์ด ๋ชจ๋ ํผ์ฉํด์ ์ฌ์ฉ๋์ง๋ง SSL๋ก ๋ ๋ง์ด ๋ถ๋ฆฌ๋ ๋ฏ ํ๋ค.
SSL 3.0 = TLS 1.0
CA (= Certificate Authority)
ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ๋ ค๋ ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋์ง๋ฅผ ๋ณด์ฆํด์ค์ผํ๋๋ฐ, ์ด ๋ณด์ฆ์ ํด์ฃผ๋ ๋ฏผ๊ฐ ๊ธฐ์ ์ด๋ค. ๊ณต์ธ๋ ์ ๋ขฐ๋์๋ ๊ธฐ์ ๋ค๋ง CA๊ฐ ๋ ์ ์๋ค.
๋ธ๋ผ์ฐ์ ์์๋ ์ด ๋ณด์ฆ๋ CA ๋ชฉ๋ก๊ณผ CA์ ๊ณต๊ฐํค๋ฅผ ์ด๋ฏธ ์๊ณ ์๋ค๊ณ ํ๋ค. (์์ค์ฝ๋์ ๋ฆฌ์คํธ๊ฐ ๋ค์ด์์)
SSL ์ํธํ ๋ฐฉ๋ฒ
- ๋์นญํค
์ํธํ๋ฅผ ํ ๋ key๊ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ.
์ํธํํ ๋ ์ฌ์ฉํ key๋ฅผ ์์์ผ ๋ณตํธํ๋ฅผ ํ ์ ์๋ค.
์ฅ์ ์ปดํจํ ํ์๊ฐ ์ ๊ฒ ํ์
๋จ์ ์ํธ๋ฅผ ํ ๋ ์ผ์ผ์ด ์ฌ์ฉ์๋ค์๊ฒ ํค๋ฅผ ๊ณต์ ํ๊ธฐ๊ฐ ์ด๋ ต๊ณ , ์ ์ถ๋๋ค๋ฉด ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ์ํธ๋ฅผ ๋ณตํธํํ ์ ์์ → ๊ณต๊ฐํค ๋ฐฉ์ ๋ฑ์ฅ
- ๊ณต๊ฐํค
๋ ๊ฐ์ key ์์ผ๋ก ์/๋ณตํธํ๋ฅผ ํ๋ ๋ฐฉ๋ฒ.
์ฅ์ ์์ ํจ
๋จ์ ์ปดํจํ ํ์๊ฐ ๋ง์ด ํ์
SSL ์ธ์ฆ์
ํต์ ์ ์ 3์(CA)๊ฐ ๋ณด์ฆํด์ฃผ๋ ๋ฌธ์.
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ํ ๋ ์๋ฒ์์ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ค.
- ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ CA๊ฐ ๋ฆฌ์คํธ์ ์๋์ง ๋ธ๋ผ์ฐ์ ์์ ํ์ธํ๋ค.
- ๋ธ๋ผ์ฐ์ CA ๋ฆฌ์คํธ์ ์๋ค๋ฉด CA์ ๊ณต๊ฐํค๋ก ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.
→ ๋ณตํธํ ์ฑ๊ณต: CA์ ๋น๊ณต๊ฐํค(private key)์ ์ํด ์ํธํ ๋๋ค๋ ๋ป = ์๋ฒ๊ฐ ์ ๊ณตํ ์ธ์ฆ์๊ฐ CA์ ์ํด์ ๋ฐ๊ธ๋ ์ธ์ฆ๋ ๋ฌธ์์์ ํ์ธ = ์ ๋ขฐํ ์ ์์
→ ๋ณตํธํ ์คํจ: CA์ ๋น๊ณต๊ฐํค์ ์ํด ์ํธํ๋์ง ์์๋ค๋ ๋ป = ์ ๋ขฐํ ์ ์์
SSL ํต์ ๋ฐฉ๋ฒ
๋คํธ์ํฌ ํต์ ๊ณผ์ : ํธ๋์์ดํฌ → ์ธ์ → ์ธ์ ์ข ๋ฃ
์ด๋ถ๋ถ์ ์๋์ ์ ์ ๋ฆฌ๋์ด ์๋ค.
https://opentutorials.org/course/228/4894
https://wayhome25.github.io/cs/2018/03/11/ssl-https/
- ํธ๋์์ดํฌ ๊ณผ์ : ๊ณต๊ฐํค ๋ฐฉ์
- ์ธ์ ๋จ๊ณ: ๋์นญํค ๋ฐฉ์(session key ์ฌ์ฉ)
๊ณต๊ฐํค ๋ฐฉ์์ ๊ฒฝ์ฐ ์์์๋ชจ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ํธ๋์์ดํฌ์์๋ง ๊ณต๊ฐํค ๋ฐฉ์์ ์ฌ์ฉํ๊ณ , ์ ๋ขฐํ ์ ์๋ ์๋ฒ๋ก ๋ณด์ฆ๋ ๋ค์ ๋จ๊ณ์ธ ์ธ์ ๋จ๊ณ์์๋ ํธ๋์์ดํฌ ๊ณผ์ ์์ ์์ฑ๋ session key๋ฅผ ์ฌ์ฉํด ๋์นญํค ๋ฐฉ์์ผ๋ก ํต์ ์ ํ๋ค.
SSL ์ธ์ฆ์ ์ฒด์ธ
์ธ์ฆ์ ์ฒด์ธ์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ์๋์ ๊ฐ์ด 3๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์ธ์ฆ์ - ์ค๊ฐ ์ธ์ฆ์(intermediate certificate) - Root ์ธ์ฆ์
- ์ธ์ฆ์: ์ค๊ฐ ์ธ์ฆ์ ์๋ฒ ๊ณต๊ฐํค๋ก signature๋ฅผ ๋ณตํธํํ์ฌ ์ ๋ขฐ์ฑ ๊ฒ์ฆ
- ์ค๊ฐ ์ธ์ฆ์: Root ์ธ์ฆ์ ์๋ฒ ๊ณต๊ฐํค๋ก signature๋ฅผ ๋ณตํธํํ์ฌ ์ ๋ขฐ์ฑ ๊ฒ์ฆ
- Root ์ธ์ฆ์: ์๋ฒ ๊ณต๊ฐํค๋ก signature๋ฅผ ๋ณตํธํํ์ฌ ์ ๋ขฐ์ฑ ๊ฒ์ฆ
Hue์์ SSL ์ธ์ฆ์ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์ ์ ์ ๊ธ์ด ์๋๋ฐ, ์ ๋ด์ฉ ์ดํด ํ์ ๊ฐ ์ค์ ๊ฐ์ด ์ด๋ค๊ฑด์ง ์ดํดํ ์ ์์๋ค.
https://quackstudy.tistory.com/entry/Hue-SSL-%EC%A0%81%EC%9A%A9-%EB%B0%A9%EB%B2%95
๋๊ฐ์ ๊ฒฝ์ฐ๋ CA์ธ์ฆ์๊ฐ ๋ญ์ง ๋ญ์ง ์ข ํค๋งธ์๋ค ใ
๋ณดํต CA์ธ์ฆ์ ๋ด์ Root ์ธ์ฆ์๊น์ง ํฌํจ๋์ด ์๋๋ฐ(์ถ์ธก์), ๋ด๊ฐ ์ฒ์์ ์ ๋ฌ๋ฐ์ ์ธ์ฆ์๊ฐ intermediate ์ธ์ฆ์์ฌ์ ๊ณ์ verify failed๊ฐ ๋ด์๋ค. ์ธ์ฆ๊ธฐ๊ด ์ฌ์ดํธ(?)์์ Root ์ธ์ฆ์๋ฅผ ๋ค์ด๋ฐ๊ณ , intermediate์ root๋ฅผ ํฉ์น ํ์ผ์ ๋ฑ๋ก ํ์ ์ฑ๊ณตํ ์ ์์๋ค.
'๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค์ ์ง์ค์ ๋ก๊น ์์คํ (EFK stack) (3) | 2024.10.09 |
---|---|
[Apache Nifi] Mysql DB ์ฐ๊ฒฐํ๊ธฐ (0) | 2024.07.15 |
[Kubernetes] NodeSelector ์ค์ (0) | 2024.04.09 |
window vscode c++ ๊ฐ๋ฐํ๊ฒฝ ์ธํ (0) | 2022.03.15 |
Windows์ฉ PIP ์ค์นํ๊ธฐ (0) | 2022.03.03 |