Security
์ธ์ฆ์ ์ฒด์ธ ๐
1. ์ธ์ฆ์ ์ฒด์ธ ์ธ์ฆ์ ์ฒด์ธ : ์ธ์ฆ์๋ฅผ ์ ๋ขฐํ ์ ์๋๋ก ์๋ช ์ ํ๋ฉฐ ๋ง๋ค์ด์ง ์ฒด์ธ์ผ๋ก ์ผ๋ฐ์ ์ผ๋ก 3๊ณ์ธต / ์ธ์ฆ์ - ์ค๊ฐ ์ธ์ฆ์ - Root ์ธ์ฆ์๋ก ๊ตฌ์ฑ - ์ธ์ฆ์(Leaf Certificate) : HTTPS ์๋น์ค๋ฅผ ์ํ์ฌ ๋ฐ๊ธ ๋ฐ์ ์ธ์ฆ์์๋ก ์๋น์ค๊ฐ ์ฌ๋ผ๊ฐ ์๋ฒ์ ์ ์ฉ, ์ค๊ฐ ์ธ์ฆ์์ ์ธ์ฆ์ ์ ๋ณด๊ฐ Hash๋ ๊ฐ์ ์ ๋ฌํ์ฌ ์๋ช (์ค๊ฐ ์ธ์ฆ์ ์๋ฒ ๋น๊ณต๊ฐํค๋ก ์ํธํ) ์์ฒญ - ์ค๊ฐ ์ธ์ฆ์(Intermediate Certificate) : ์ธ์ฆ์๋ฅผ ์๋ช ํด์ค, Root ์ธ์ฆ์์ ์ํด ์๋ช ๋ ์ํ - Root ์ธ์ฆ์(Root Certificate) : ์ค๊ฐ ์ธ์ฆ์๋ฅผ ์๋ช ํด์ค, ๋ณธ์ธ์ ์๋ฒ ๊ณต๊ฐํค๋ก Self ์๋ช ๋ ์ํ, ๋ธ๋ผ์ฐ์ ๋ค์ ์ ๋ขฐํ๋ Root ์ธ์ฆ์ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ง๊ณ ์์(์ธ์ฆ์์ ๋ฐ๋ผ..
SSL ์ธ์ฆ์ ์ข ๋ฅ
1. ์ธ์ฆ์ ๋ฐ๊ธ ๊ธฐ๊ด(CA) - ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํด์ฃผ๋ ๊ธฐ๊ด์ผ๋ก ๊ธฐ๊ด์ ๋ฐ๋ผ ์ง์ํ๋ ์ฌ์ฌ ์์ค๊ณผ ๋ณด์ ์์ค์ด ๋ค๋ฆ - DigiCert๋ ๋ฏธ๊ตญ ์ ๋ถ์์ ๊ณต์ ์ธ์ฆํ๋ ๊ธฐ๊ด ์ค ํ๋๋ก ํ์ด์๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ์ฌ ์ธ์ง๋๊ฐ ๋์ ๋ง์ด ์ฌ์ฉ 2. ์ฌ์ฌ ์์ค์ ๋ฐ๋ฅธ SSL ์ธ์ฆ์ ์ข ๋ฅ DV(Extended Validation) - ๋๋ฉ์ธ ์์ ๊ฒ์ฆ ์ ์ฐจ๋ง ์์ - ๊ฐ์ฅ ๊ฐ๋จํ๋ฉฐ ์ฝ 5๋ถ ์์๋๋ฉฐ ๋๊ตฌ๋ ๋ฐ๊ธ ๊ฐ๋ฅ OV(Organization Validation) - ๋๋ฉ์ธ ์์ ๊ฒ์ฆ ์ ์ฐจ + ์กฐ์ง ๊ฒ์ฆ ์ ์ฐจ ์์ - ์ต๋ 3์ผ์ ๋ ์์ - ์ผ๋ฐ์ ์ผ๋ก ๋๊ธฐ์ ์์ ์ฌ์ฉ EV(Domain Validation) - ๋๋ฉ์ธ ์์ ๊ฒ์ฆ ์ ์ฐจ + ๊ตฌ์ฒด์ ์ธ ์กฐ์ง ๊ฒ์ฆ ์ ์ฐจ ์์ - ์ต๋ 3์ฃผ์ ๋ ์์ - ์ผ๋ฐ์ ์ผ๋ก ๊ธ์ต๊ถ, ๊ณต๊ณต..
์ธ์ฆ์์ ์ ์ ์๋ช (๋์งํธ ์๋ช ) ๐ ๐
1. ์ธ์ฆ์ ์ ๋ฌ ๊ณผ์ โ ์ ์ ์๋ช ๋ ์ธ์ฆ์(์ธ์ฆ์ ์ ๋ณด๋ฅผ Hash ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ํธํ ํ CA ๋น๊ณต๊ฐํค๋ก ์ํธํํ Signature๋ฅผ ํฌํจ)ํ์ฌ Server -> Client๋ก ๋ณด๋ธ๋ค. โก Client๋ ์ ์ ์๋ช ๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ณ ๋ธ๋ผ์ฐ์ ์์ ๋ณด๊ด์ค์ธ CA List์ ๊ณต๊ฐํค๋ก ๋ณตํธํํ์ฌ ํด๋น ์ธ์ฆ์๊ฐ CA๋ก๋ถํฐ ๋ฐ์ ์ธ์ฆ์์์ ์ ๋ขฐํ๋ค. โข Client๋ ์ ๋ฌ ๋ฐ์ ์ธ์ฆ์๋ฅผ Hash ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ํธํํ Signature๊ณผ Server๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ Signature๋ฅผ ๋น๊ตํ์ฌ ์ธ์ฆ์์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๋ค. 2. ์ธ์ฆ์ ํ์ธ - ์๋ช ์๊ณ ๋ฆฌ์ฆ(Signature) : SHA-256(RSA ์ํธํ) - ๊ณต๊ฐํค ์๊ณ ๋ฆฌ์ฆ : RSA ์ํธํ 3. ๋น๋์นญํค ์ํธํ ๋น๊ณต๊ฐํค ์ํธํ๋? - ๊ณต๊ฐํค/๋น๊ณต๊ฐํค ๋๊ฐ์ ..
OpenSSL์ ์ด์ฉํ ๋์นญํค ์ํธํ
1. ๋์นญํค ์์ฑ - DES ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ openssl genrsa -des3 -out privatekey.pem 2. ์ํธํ - ๋น๊ณต๊ฐํค ์ฌ์ฉ openssl rsautl -encrypt -inkey privatekey.pem -in plaintext.txt -out ciphertext.txt 3. ๋ณตํธํ - ๋น๊ณต๊ฐํค ์ฌ์ฉ openssl rsautl -decrypt -inkey privatekey.pem -in ciphertext.txt -out plaintext_out.txt
OpenSSL์ ์ด์ฉํ ๋น๋์นญํค ์ํธํ
1. ๋น๋์นญํค ์์ฑ - RSA ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ openssl genrsa -out privatekey.pem openssl rsa -in privatekey.pem -out publickey.pem -pubout 2. ์ํธํ - ๊ณต๊ฐํค ์ฌ์ฉ openssl rsautl -encrypt -inkey publickey.pem -in plaintext.txt -pubin -out ciphertext.txt 3. ๋ณตํธํ - ๋น๊ณต๊ฐํค ์ฌ์ฉ openssl rsautl -decrypt -inkey privatekey.pem -in ciphertext.txt -out plaintext_out.txt
Security
๊ธฐ๋ฐ์ฑ - ๋ฐ์ดํฐ ์์์ ๋น๋ฐ์ฑ์ ์ ์งํ๋ ์ฑ์ง - ํ๊ฐ ๋ฐ์ ์ฌ์ฉ์๋ง ๋ด์ฉ์ ํ์ธํ๊ณ ์ฒ๋ฆฌํ๋ ์ฑ์ง - ํจ๋ถ๋ฌ ๋ณด์ง ๋ชปํ๊ฒ ์ํธํ ์ค์ -ํ์ณ๋ณด๋ Sniffing ๊ณต๊ฒฉ : ํ๊ฐ ๋ฐ์ง ์์ ์ฌ์ฉ์๊ฐ ํจ๋ถ๋ฌ ํ์ณ๋ณด๋ ๊ธฐ๋ฒ ๋ฌด๊ฒฐ์ฑ - ๊ฒฐํจ์ด ์๋ค๋ ๋ป - ๋ฐ์ดํฐ๊ฐ ๋ฌธ์ ์๊ฒ ๋ณ์กฐ๋์ง ์๋๋ก ํ๋ ์ค์ - ์ธ์ฆ ์ฝ๋๋ฅผ ์ฌ์ฉํด ๋ณ์กฐ ์ฌ๋ถ ํ์ธ - ๋ณ์กฐ Spoofing ๊ณต๊ฒฉ : ํค๋์ ๋ด์ฉ ๋ฐ ๋ฐ์ดํฐ์ ๋ด์ฉ์ ์์ ํ๋ ๊ธฐ๋ฒ ๊ฐ์ฉ์ฑ - ์ธ์ ๋ ์ง ์ฌ์ฉํ ์ ์๋ ์ฑ์ง - ์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์์ฒญํ ๊ฒฝ์ฐ ์ฆ์ ์๋น์ค ์ฌ์ฉ ๊ฐ๋ฅ - Dos, DDos ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ : ์ธ์ ๋ ์ง ์ ๊ทผํด์ผ ํ๋๋ฐ ๋ชปํ๋๋ก ํ๋ ๊ธฐ๋ฒ ๋คํธ์ํฌ ๋ณด์ ๋ฉ์ปค๋์ฆ 1. ๋ฐ์ดํฐ ์ํธํ(์๊ณ ๋ฆฌ์ฆ) 2. ์ ๊ทผ์ ์ด(ACL, ๋ฐฉํ๋ฒฝ) : IP, Port๋ฅผ ..