2021년 1월 23일 토요일

How to encryption options for Oracle jdbc sender channel in sap po 7.5(Not working)

SAP PO(Process Orchestration) 7.5의 JDBC Receiver 채널의 'Fail over' 관련 내용을 찾다가 어느 사이트에서 'JDBC option to encrypt the message'라는 문구를 보게되었는데 JDBC채널의 암호화 옵션이란 부분은 생소한 부분이기도 했습니다. PO에 전송되는 암복호화가 필요한 데이터는 송,수신 시스템에서 암복호화를 해줬기때문에 PO에서는 따로 암복화를 할필요가 없었는데요. 하지만 최근에 애드온 되야 사용가능한 PGP모듈로 PO안에서 암복화를 해서 소스,타겟에 송수신하는 기능이 존재하다는건 알게되었습니다.
PGP(Pretty Good Privacy) Encryption/Decryption in SAP PO 7.5 글보기

흥미로운 부분은 이런 애드온 해야 암호화 할수 있는 모듈 추가없이 표준 JDBC Sender채널의 옵션을 가지고 PO의 Payload를 암호화 할수 있을것 같다는 생각이 들어 테스트를 해봤습니다.

암호화 설정 & 테스트결과

JDBC Sender채널 > Advanced > Additional Parameters에 Name과 Value를 설정해주면 되는데 PI/PO의 기능이 아닌 JDBC 드라이버의 보안옵션이라고 말할수 있을것 같습니다.

driver:oracle.net.encryption_client / REQUIRED
driver:oracle.net.encryption_types_client / AES256
driver:oracle.net.crypto_checksum_client / REQUIRED
driver:oracle.net.crypto_checksum_types_client / SHA1

실제 인터페이스를 수행했지만 채널에 설정된 알고리즘으로 PO메시지가 암호화 되지는 않았습니다.

driver: prefixed를 제거하거나 대문자로 변경해봐도 동일한것 같습니다. 그래서 관련 자바 예제 소스를 참고로 이클립스에서 실행해보았지만 오라클 DB테이블에서 조회한 데이터는 전혀 암호화가 되어있지 않았습니다.

확인사항

암호화 기능을 사용하려면 오라클의 Advanced Security option(ASO)기능을 위한 암호화 파라미메터 설정이 필요한데 이 기능은 데이터암호화, 무결성, 타사인증 및 권한부여를 지원할수 있다고 하는군요. 그리고 JDBC Thin과 JDBC OCI 드라이버는 별도로 고려가 필요한부분이라 PO나 자바에서 JDBC 통한 Oracle Advanced Secuirty는 속성의 매개변수를 설정하여 사용가능하고 암호화기능의 동작여부는 sqlnet.log에서 확인가능하다고 합니다.
오라클 클라이언트나 서버에 OCI드라이버를 사용하는 경우는 sqnet.ora에 아래와 같은 매개변수 설정이 필요해보입니다.

클라이언트측

SQLNET.ENCRYPTION_CLIENT / REQUIRED
SQLNET.ENCRYTPION_TYPES_CLIENT /
SQLNET.CRYPTO_CHECKSUM_CLIENT /
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT /

서버측

SQLNET.CRYPTO_CHECKSUM_SERVER / ACCEPTED
SQLNET.CRYPTO_CHECKSUM_TPES_SERVER / ( MD5, SHA1 )
SQLNET.ENCRYPTION_TYPES_SERVER / ( DES40, DES, 3DES112, 3DES168 )
SQLNET. CRYPTO_SEED = 1234566778776544344

암호화 확인여부는 트레이스된 .trc 로그에서 확인이 가능한데 설정된 알고리즘으로 네트워크를 통한 암호화와 데이터 무결성이 보장된다고 합니다.

결과

자바소스나 오라클 클라이언트에서 Adavanced Security Option 기능을 사용하기 위해서는 전제조건이 오라클서버의 sqlnet.ora안에 암호화 관련 매개변수 셋팅이 필요한것으로 확인이 되며 암호화 동작하는지 여부는 현재는 알순없지만 나중에 자세하게 확인을 해봐야 될것같고 만족하는 결과를 얻을수 없어서 아쉽습니다.

출처:
Secure and Fail over Configuration for JDBC Adapter SAP PO

23 JDBC Client-Side Security Features

ORACLE 19C NETWORK ENCRYPTION

댓글 없음:

댓글 쓰기