Information Security/Info.Security

Openssl - Cipher 고르기

petitCoding 2012. 4. 12. 11:07

암호화 통신 (SSL, TLS 등)을 사용하다 보면 클라이언트 -  서버 간에 원하는 암호화 알고리즘 및 해싱 알고리즘 등을 선택하여 설정할 수 있다.

 

SSL 프로토콜을 자세히 보면, Client Hello 시에 자신이 사용 가능한 Cipher 목록을 Server 에게 전송하고, Server는 그 중에서 자신이 사용할 수 있는 cipher를 한개 골라서 Server Hello에 첨부하여 보낸다.

 

 

서버의 설정 항목에서 (Openssl을 사용하는 서버, 여기서는 Asterisk 를 예로 들자면.)

Tls Cipher 설정 항목에 다음과 같이 원하는 알고리즘을 삽입하면 된다.

 

tlscipher=AES128-SHA:AES128-MD5

tlscipher=ALL

 .... 등등등

 

 

Cipher 스트링을 입력하는 방법이 자세히 기술되어 있는

Openssl 공식 홈페이지 바로가기

 

 

위의 예 말고도 자세한 옵션이 있으며,

서버 관리자 입맛에 맞게 알고리즘을 조합하여 사용하면 된다.

 

 

그리고 추가 팁,

 

리눅스 서버에서 openssl을 설치한 경우, 다음과 같이 명령어를 입력하면,

>openssl ciphers -v

 

아래처럼 사용가능한 cipher 목록/키워드를 볼 수 있다.

이걸로 참고해서 사용해도 되니 많은 애용 바람..ㅎㅎㅎ

 

ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1


...너무 많으므로 중략 ...

 

EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export

 

* Openssl을 사용하는 어플리케이션에만 해당되는 방법이며, 다른 암호화 알고리즘을 사용하는 어플리케이션은 그 알고리즘의 사용법을 따라야 함.

 

반응형

'Information Security > Info.Security' 카테고리의 다른 글

Asterisk 1.6 - TLS 설정하기  (0) 2012.04.16
해쉬 알고리즘, SHA  (0) 2012.04.12
ARP & ARP Spoffing  (0) 2012.04.12
Information Classification  (0) 2012.04.12
The big three  (0) 2012.04.12