본문 바로가기
정보처리기사/소프트웨어 개발

인터페이스 보안

by jhwannabe 2023. 7. 13.

인터페이스 보안

인터페이스 보안

  • 모듈 컴포넌트 간 데이터 교환 시 데이터 변조 · 탈취 및 인터페이스 모듈 자체의 보안 취약점이 존재할 수 있음
데이터 통신 시 데이터 탈취 위협 - 스니핑(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
반응형

'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글

인터페이스 구현  (0) 2023.07.13
소스 코드 최적화  (0) 2023.07.13
애플리케이션 성능 개선  (0) 2023.07.13
결함 관리  (0) 2023.07.12
통합 테스트  (0) 2023.07.12