JSSE (Java Secure Socket Extension)
=> Java Runtime 환경에서 보안 인터넷 관련된 통신을 가능하게 하는 Java API이다. SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) 프로토콜에 관련된 Java 기술을 내포하고 있다. 이를 통해 데이터 암호화, 서버 인증, 메시지 무결성 및 선택적 클라이언트 인증 기능이 포함된다. JDK 1.4부터 표준 API로 추가되었다.
(참고 : https://en.wikipedia.org/wiki/Java_Secure_Socket_Extension)
=> WebLogic 12c부터 JSSE는 지원되는 유일한 SSL이다. (Certicom 기반 SSL은 12c 기준 더 이상 지원되지 않는다)
SHA-2
=> 미국 국가안보국이 설계한 암호화 해시 함수들의 집합
=> WebLogic 11g 이전까지는 SHA-1 알고리즘만 지원됐었지만, 10.3.3 버전부터는 SHA-2 알고리즘도 지원된다.
위 SHA-2 해시 알고리즘이 있는 인증서를 사용하려면 JSSE SSL을 활성화해야하는데, 12c의 경우 자동으로 API에 포함되지만 WebLogic 11g의 경우 콘솔에서 JSSE SSL을 활성화 해줘야함.
=> 인증서는 JSSE 구현을 위해 -Dweblogic.security.SSL.enableJSSE=true 옵션이 추가된 상태에서만 작동한다.
SNI (Server Name Indication)
=> TLS의 확정으로, hand-shaking 과정 초기에 클라이언트가 어느 호스트명에 접속하려는지 서버에 알리는 역할을 한다.
SSL
=> 최초 V1.0부터 시작. 취약점 보완해서 SSL V3.0이 출시됐으며 공식적으로 표준화한것이 TSL 1.0. 현재 TLSV1.3까지 나옴
=> SSL 통신은 SSL/TLS 프로토콜을 사용하여 실제 데이터를 암호화하여 통신하게 됨.
Cipher suite
=> 전송 계층 보안에서 쓰이는 인터넷 보안 보조 알고리즘
=> 구성 : SSL/TLS_{키 교환 암호 알고리즘}_{인증 알고리즘}_WITH_{대칭 암호 알고리즘}_{블록 암호 운용 방식}_{해시 알고리즘}
ex> TLS_RSA_WITH_AES_128_CBC_SHA
- SSL/TLS : SSL이나 TLS 중 하나 선택
- 키 교환 암호 알고리즘 : server ~ client key 교환 방식
- 인증 알고리즘 : server ~ client 교환된 인증서 확인
- 대칭 암호 알고리즘 : 실제 데이터 암호화
- 블록 암호 운용 방식 : 블록 단위 암호화 패킷 조합
- 해시 알고리즘 : 암호화 상호 확인 알고리즘
=> WebLogic에서 Cipher Suites를 강제로 지정하려면 config.xml에서 다음과 같이 지정해준다.
<ssl>
<name>abcdef</name>
<enabled>true</enabled> # 순서 주의
<ciphersuite>TLS_RSA_WITH_AES_128_CBC_SHA</ciphersuite>
...
</ssl>
* 위 cipher suites는 JAVA가 지원하는 것이어야 함.
(참고 : http://1004lucifer.blogspot.com/2018/11/weblogic-httpsssltls-cipher-suites.html)
'Oracle > Weblogic' 카테고리의 다른 글
WebLogic Multicast cluster debugging (0) | 2022.09.21 |
---|---|
WebLogic JDBC connection pool 비밀번호 decryption (0) | 2022.09.06 |
JOLT (0) | 2022.07.29 |
WebLogic CLASSPATH 추가 방법 (0) | 2022.07.26 |
DemoIdentity.jks, DemoTrust.jks 갱신 (0) | 2022.07.25 |