블로그 이미지
송시혁

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive


<대칭키 실습1>

● ~아래 , opnessl_practice 돌더 생성

=> mkdir openssl_practice


● /boot/loader.conf를 ~/openssl_practice/ 아래로 복사

=> cp /boot/loader.conf ~/openssl_practice/ 

   cp /boot/loader.conf ./ 


● loader.conf의 sha256 해시값을 -r 옵션을 사용하여 

  loader.conf.sha256로 저장

  

=> openssl dgst -r -sha256 loader.conf > loader.conf.sha256

   -r옵션은 해시값이외에 앞에 내용을 지운다.

  

● loader.conf를 aes 알고리즘을 사용(128비트 키, cbc모드)하여

  loader.conf.en으로 저장

=> openssl enc -aes-128-cbc -in loader.conf -out loader.conf.en

  

  

● loader.conf.en을 loader.conf.de로 복호화

=> openssl enc -aes-128-cbc -d -in loader.conf.en -out loader.conf.de



● loader.conf.de의 sha256해시값(-r옵션)을 loader.conf.de.sha256에 저장

=> openssl dgst -sha256 -r loader.conf.sha256 > loader.conf.de.sha256



● diff를 이용하여 loader.conf.sha256와 loader.conf.de.sha256을 비교

=> diff loader.conf.sha256 loader.conf.de.sha256


loader.conf               = 원본 

loader.conf.de           = loader.conf.en복호화 파일

loader.conf.de.sha256  = loader.conf.de 파일 해시값

loader.conf.en           = 원본(평문)인 loader.conf을 암호화 

loader.conf.en.sha256  = loader.conf.en에 대한 해시값          


diff명령어로 loader.conf.sha256과 loader.conf.de.sha256의 해시값은 같다. 원래 diff가 참이면 아무것도 안떠야 하지만

뒤에 *loader.conf, *loader.conf.de가 붙어있어 다르다고 인식하여 화면에 출력된다. 해시값은 아니니 무시하자!



sha256명령어를 사용하여 해당 파일에 해시값을 출력 가능하다.


<개인키 생성>

● openssl genrsa -out priv_key.pem 2048(개인키 생성)

=> 키의 비트 갯수는 2048


● openssl rsa -in priv_key.pem -text -noout

=> 암호화돠 키의 내용을 텍스트 내용으로 본다. 

    RSA는 소인수분해을 이용한다.


그 밖에 이진파일과 공개키 생성(캡쳐하지 못함 ㅜㅜ)

● openssl rsa -in priv_key.pem -outform DER -out priv_key.der 

=> priv_key.der 이진파일로 저장. 


<공개키 생성>

● openssl rsa -in priv_key.pem -des3 -out encrypted-priv_key.pem

=> RSA 개인키는 대칭키 시스템으로 암호화 하여 보관


● openssl rsa -in encrypted-priv_key.pem -pubout -out dec_priv_key.pem

=> RSA 개인키에서 공개키를 추출



● Self-signed 인증서 박릅시, 공개키 자동생성 

      

openssl req -newkey rsa:2048 -nodes -keyout privkey.pem

-x509 -days 365 -out certificate.pem


nodes        : 암호화 안함 

      rsa:2048     : 암호화 복잡도

days          :유효기간 1년 


* 아래내용은 인증서 생성시 나타나는것으로 테스트를 위한 것이므로 아무거나 입력. (실제로는 당연히

아무거나 입력해서는 안됨 )

AR                  : KR

some-state        : Busan 

Cityp               : Busan

Oranic             : Mycompany 

unit name         : CA 

Common Name   : CA_ROOT

Email              : mail@mycompany.con


<인증서 생성 명령어 >

 openssl x509 -text -noout -in certificate.pem

=> certificate.pem를 화면에 출력


openssl rsa -in privkey.pem -noout -text 

 => 인증서를 text형식으로 출력 




posted by 송시혁