인터페이스 보안
인터페이스 보안
- 모듈 컴포넌트 간 데이터 교환 시 데이터 변조 · 탈취 및 인터페이스 모듈 자체의 보안 취약점이 존재할 수 있음
데이터 통신 시 데이터 탈취 위협 | - 스니핑(Sniffing) : 네트워크 주변을 지나다니는 패킷을 엿보면서 계정(ID)과 비밀번호를 알아내는 보안 위협 - 스푸핑(Spoofing) : 일반 사용자가 인터넷상에서 통신하는 정보를 크래커의 사이트를 통하도록 하여 비밀번호를 알아내는 보안 위협 |
데이터 베이스 암호화 | - 데이터베이스의 기밀성을 유지하기 위해 중요 민감 데이터는 암호화함 - 대칭키, 해시, 비대칭키 알고리즘 사용 |
시큐어 코딩 | - OWASP( Open Web Application Security Project) Top 10을 참고하여 KISA(한국 인터넷 진흥원)에서 SW 보안 약점 가이드를 발표함 - SW 보안 취약점, 약점 및 대응 방안이 구체적으로 서술되어 있으며 이를 바탕으로 시큐어 코딩을 하도록 함 |
네트워크 보안 적용
- 인터페이스 송·수신 간 중간자에 의한 데이터 탈취 또는 위변조를 방지하기 위해서 네트워크 트래픽에 대한 암호화 적용이 요구됨
- 네트워크 구간에 암호화를 위해서는 인터페이스 아키텍처에 따라서 다양한 방식으로 보안 기능을 적용함
- 네트워크 구간 보안 기능 적용 시 고려사항
단계 | 고려사항 | 보안 기능 적용 |
Transport Layer Network 보안 |
상대방 인증을 적용 | IPSec AH(Authentication Header) 적용 IKE(Internet Key Exchange) 프로토콜 적용 |
데이터 기밀성 보장이 필요 | IPSec ESP(Encapsulation Security Payload) 적용 | |
End-to-End 보안을 적용 | IPSec Transport Mode 적용 | |
Application Layer Network 보안 |
서버만 공개키 인증서를 가지고 통신(위험 분산) | SSL(Secure Socket Layer)의 서버 인증 상태를 운영 |
연결 단위 외 메시지 단위로도 인증 및 암호화가 필요 | S-HTTP 적용하여 메시지를 암호화함(상호 인증 필요, 성능 일부 저하) |
데이터베이스 보안
데이터베이스 보안 적용
- 데이터베이스의 기밀성 유지를 위하여 중요하고 민감한 데이터는 암호화 기법을 활용하여 암호화하도록 함
- 데이터베이스의 접근 권한 및 SQL, 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 취약점을 보완하도록 함
- 민감하고 중요한 데이터는 암호화와 익명화 등을 통하여 데이터 자체 보안 방법도 고려해야 함
- 영역 : 비인가자 접근 관리, 악의적 코드 삽입 금지, 민감 데이터 관리, 악의적 시도 시 에러 처리
데이터베이스 암호화 알고리즘
구분 | 종류 |
대칭키 알고리즘 | ARIA 128/129/256. SEED |
해시 알고리즘 | SHA-256/384/512, HAS-160 |
비대칭키 알고리즘 | RSA, ECDSA, EOC |
데이터베이스 암호화 기법
구분 | API 방식 | Filter(Plug-in) 방식 | Hybrid 방식 |
개념 | 애플리케이션 레벨에서 암호 모듈(API)을 적용하는 방식 | 데이터베이스 레벨의 확장성 프로시저 기능을 이용하여 DBMS에 Plug-in 또는 Snap-in 모듈 형식으로 작성하는 방식 | API/Filter 방식을 결합하거나, Filter 방식에 추가로 SQL문에 대한 최적화를 대행해 주는 어플라이언스를 제공하는 방식 |
암호화 / 보안 방식 | 별도의 API 개발/통합 | DB 내 설치 / 연동 | 어플라이언스 / DB 내 설치 |
서버 성능 부하 | 애플리케이션 서버에서 암호화/복호화, 정책 관리, 키 관리를 하므로 부하가 발생함 | DB 서버에 암호화, 복호화, 정책 관리 키 관리를 하므로 부하가 발생함 | DB와 어플라이언스에서 부하가 분산됨 |
시스템 통합 용이성 | 애플리케이션 개발 및 통합 기간이 필요 | 애플리케이션 변경이 필요치 않아 용이성이 높음 | |
관리 편의성 | 애플리케이션 변경 및 암호화 필드를 변경하는 유지보수가 필요 | 관리자용 GUI를 이용하여 DB 통합 관리가 가능하여 편의성이 높음 |
- 중요도가 높거나 민감한 정보를 통신 채널을 통하여 전송 시에는 반드시 암·복호화 과정을 거치도록 함
- IPSec, SSL/TLS 등 보안 채널을 활용하여 전송함
인터페이스 연계 테스트
연계 테스트
- 송·수신 시스템 간 구성 요소가 정상적으로 동작하는지 테스트하는 활동
- 진행 순서 : 연계 테스트 케이스 작성 → 연계 테스트 환경 구축 → 연계 테스트 수행 → 연계 테스트 수행 결과 검증
연계 테스트 분류
- 소프트웨어 연계 테스트 구간 : 송신 시스템에서 연계 서버 또는 중계 서버를 거치고 수신 시스템까지 데이터가 전달되는가를 테스트함
- 소프트웨어 연계 단위 테스트 : 연계 자체만을 테스트함. 송신 시스템에서 연계 데이터를 추출 및 생성하고 이를 연계 테이블로 생성함. 연계 서버 또는 중계 서버가 있는 경우 연계 테이블 간 송·수신을 함
- 소프트웨어 연계 통합 테스트 : 연계 테스트보다 큰 통합 기능 테스트의 일부로서 연계 통합 테스트를 수행함
728x90
반응형