Message Digest๋ ์์์ ๊ธธ์ด๋ฅผ ๋จ๋ฐฉํฅ ํด์ฌ ํจ์์ ์ ์ฉํ์ฌ ์ผ์ ํ ๊ธธ์ด๋ก ์์ฑ๋ ๋นํธ์ด์ด๋ค.
์ฆ ํด์ฌ์ ๊ฒฐ๊ณผ ๊ฐ์ผ๋ก ๋ณด๋ฉด ๋๋ค.
ํด์ฌ ํจ์ ์ฆ ํด์ฌ ๋ผ๊ณ ๋งํ๋ ์์์ ๊ธธ์ด๋ฅผ ๊ฐ๋ ๋ฐ์ดํ์ ๋ํด ๊ณ ์ ๋ ๊ธธ์ด๋ก ๋ฐ์ดํ๋ฅผ ๋งคํํ๋ ๋จ๋ฐฉํฅ ํจ์๋ฅผ ๋งํ๋ค.
OpenSSL ์ ์ด์ฉํด ํด์ฌ ํจ์ ๊ธฐ๋ฅ์ ์ด์ฉํด Message Digest ๊ฐ์ ๊ตฌํด ๋ณด์.
์ฌ๊ธฐ์ ์์ฑํ ๊ธฐ๋ฅ์ ๋ฉ๋ด์ผ ๋ฌธ์๋ฅผ ์ฐธ์กฐ ํ์ฌ ๋ง๋ค์๋ค.
๋จผ์ ์ง์ ํ๋ ๋ฉ์ธ์ง ๋ค์ด์ ์คํธ ๋ชฉ๋ก์ ํ์ธ ํ์
openssl dgst -list
Supported digests:
-blake2b512 -blake2s256 -md5
-md5-sha1 -ripemd -ripemd160
-rmd160 -sha1 -sha224
-sha256 -sha3-224 -sha3-256
-sha3-384 -sha3-512 -sha384
-sha512 -sha512-224 -sha512-256
-shake128 -shake256 -sm3
-ssl3-md5 -ssl3-sha1
๊ทธ๋ผ ๊ฐ๋จํ ํ์ผ์ ๋ํด sha256 ๊ฐ์ ๊ตฌํด ๋ณด์
openssl dgst -sha256 content.txt
SHA2-256(content.txt)= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
์ฌ๊ธฐ์ -sha256 ๊ฐ์ ์์ ๋์จ ์ต์
์ ๋ฐ๊พธ์ด์ ๋ฝ์ ์ ์๋ค.
๋ง์ฝ์ ์ ๋ช
๋ น์ด์์ sm3 ๊ฐ์ ๋ฝ๊ณ ์ถ์ผ๋ฉด ์๋ ์ฒ๋ผ ํ๋ฉด ๋๋ค.
openssl dgst -sm3 content.txt
SM3(content.txt)= 1ab21d8355cfa17f8e61194831e81a8f22bec8c728fefb747ed035eb5082aa2b
ํด์ฌ ํจ์ ๊ฒฝ์ฐ ๊ฒ์ฆ์ ๊ฒฝ์ฐ๋ ์ฌ์ค ๋ณ๋์ ๊ฒ์ฆ ํจ์๋ฅผ ๋์ง ์๊ณ ๋๊ฐ์ด ์๋ฌธ์ ์ ๋ ฅํด ํด์ ๊ฐ์ ์์ฑํด์ ํด์ ๊ฐ์ด ๊ฐ์์ง ๋น๊ต๋ฅผ ํตํด ๊ฒ์ฆ ํ๋ค.
์ฌ๊ธฐ์ ๊ฐ์ธํค๋ฅผ ์ด์ฉ ํด ์๋ช
๊ฐ์ ์์ฑํ๊ณ ๊ฒ์ฆ ํ ์ ์๋ค.
์๋ช
์์ฑ
openssl dgst -sha256 -sign rsa_private.pem -out sign.bin content.txt
์ด ๋ช
๋ น์ด์ ์ต์
์ ๋ณด๋ฉด
rsa_private.pem ๊ฐ์ธํค๋ก contentn.txt ํ์ผ์ ๋ํด RSA_with_SHA256 ์๋ช
๊ฐ์ sign.bin ์ ์๋ช
๊ฐ์ ์์ฑ ํ๋ค.
์๋ช ๊ฒ์ฆ
openssl dgst -sha256 -verify rsa_public.pem -signature sign.bin content.txt
Verified OK
์ฌ๊ธฐ์๋ rsa_public.pem ํ์ผ์ ์ด์ฉํด content.txt ํ์ผ์ ๋ํ ์๋ช ๊ฐ sign.bin ์ ๊ฒ์ฆ ํ๋ค.
์ง๊ธ ๊น์ง ๊ฐ๋จํ OpenSSL ๋ช ๋ น์ด๋ฅผ ํตํด Hash Function ์ ์คํ ํด ๋ณด์๋ค.
[Manual/BerEditor] - [BerEditor] Message Digest (Hash) ๊ธฐ๋ฅ ์ฌ์ฉ๋ฒ
'Manual > OpenSSL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OpenSSL] asn1parse ๋ช ๋ น์ด (0) | 2023.05.15 |
---|---|
[OpenSSL] MAC ( Message Authentication Code ) ๋ช ๋ น์ด (0) | 2023.05.10 |
[OpenSSL] enc ( ์ํธํ ) ๋ช ๋ น์ด (1) | 2023.05.04 |
[OpenSSL] CA.pl ๋ช ๋ น์ด (0) | 2023.04.25 |
[OpenSSL] CMP ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ (0) | 2023.04.07 |