๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”

    ์ธ์ฆ์„œ์™€ ์ „์ž ์„œ๋ช…(๋””์ง€ํ„ธ ์„œ๋ช…) ๐Ÿ”’ ๐Ÿ”‘

    1. ์ธ์ฆ์„œ ์ „๋‹ฌ ๊ณผ์ • โ‘  ์ „์ž ์„œ๋ช…๋œ ์ธ์ฆ์„œ(์ธ์ฆ์„œ ์ •๋ณด๋ฅผ Hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™” ํ›„ CA ๋น„๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ Signature๋ฅผ ํฌํ•จ)ํ•˜์—ฌ Server -> Client๋กœ ๋ณด๋‚ธ๋‹ค. โ‘ก Client๋Š” ์ „์ž ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›๊ณ  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด๊ด€์ค‘์ธ CA List์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ํ•ด๋‹น ์ธ์ฆ์„œ๊ฐ€ CA๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ธ์ฆ์„œ์ž„์„ ์‹ ๋ขฐํ•œ๋‹ค. โ‘ข Client๋Š” ์ „๋‹ฌ ๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ Hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”ํ•œ Signature๊ณผ Server๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ ๋ฐ›์€ Signature๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ธ์ฆ์„œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆํ•œ๋‹ค. 2. ์ธ์ฆ์„œ ํ™•์ธ - ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜(Signature) : SHA-256(RSA ์•”ํ˜ธํ™”) - ๊ณต๊ฐœํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ : RSA ์•”ํ˜ธํ™” 3. ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋น„๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋ž€? - ๊ณต๊ฐœํ‚ค/๋น„๊ณต๊ฐœํ‚ค ๋‘๊ฐœ์˜ ..

    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