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๋ฅผ ..