랑아
article thumbnail

05. 인터페이스 보안

01. 인터페이스 보안

1) 인터페이스 보안 기능

  1. 민감 정보 가상화 : 인터페이스 데이터 중 민감 정보를 쉽게 식별 되지 않도록 하는 기능
  2. 인증 보안 수행 : 인터페이스 수행에 필요한 인증 기능
  3. 이상 거래 감지 : 외부 불법 접근 시도, 무작위 공격 행위 탐지 기능
  4. 필드 암호화, 복호화 : 보안이 필요한 필드는 인터페이스 하기 전에 암호화, 복호화 하는 기능
  5. 파일 암호화, 복호화 : 파일 서버에 저장된 파일을 암호화, 복호화 하는 기능
  6. 암호화 키 전송 : UI 암호화, 해시를 위한 암호화 키를 반환하는 기능
  7. 필터링(Filtering) : 필터링을 통해 필수 정보만 전달하는 기능
  8. 체크섬(Checksum) : 송수신 메시지의 위조, 변조를 확인할 수 있는 기능

2) 인터페이스에 보안 기능 적용

  1. Transport Layer Network 보안
    • 상대방 인증을 고려하여 IPSec AH와 IKE 프로토콜을 적용함
    • 데이터 기밀성 보장이 필요하므로 IPSec ESP와 IPSec Transport Mode를 적용함
  2. Application Layer Network 보인
    • 서버만 공개키 인증서를 가지고 통신하기 위하여 SSL의 서버 인증 모드를 운영함
    • 연결 단위 외 메시지 단위로도 인증 및 암호화가 필요하므로 S-HTTP를 적용하여 메시지를 암호화함

3) 애플리케이션 보안 기능 적용

  1. 비인가자 접근 권한 관리
    • 객체 접근 권한을 고려하여 구현함
    • 변수를 직접 핸들링 할 수 없게 하고 접근 권한을 가진 함수만 접근할 수 있게 함
  2. 악의적 코드 삽입 금지
    • 특수 문자를 통한 SQL 변조 시도 등 악의적인 공격 패턴을 입력하지 못하도록 사전 방지함
  3. 악의적 시도 시 에러 처리
    • 악의적 공격 시도 시 사용자 정의 예외 처리를 적용하고 에러 처리 내용이 외부에서 조회 되지 않도록 권한 관리를 함

5) 데이터베이스에 보안 기능 적용

  1. 데이터베이스 접근 권한
    • 데이터베이스, 스키마, 엔티티(테이블)의 접근 권한 관리를 함
  2. 민감 데이터 관리
    • 개인정보나 업무상 민감 데이터는 암, 복호화나 익명화 처리를 통해 데이터베이스에서 관리함
  3. 악의적 시도 시 에러 처리
    • 공격 패턴에 대한 사용자 정의 예외 처리를 적용하고 에러 처리 내용이 외부에서 조회 되지 않도록 권한 관리를 함



02. 데이터베이스 보안

1) 데이터베이스 보안

  1. 데이터베이스 보안의 개념
    • 데이터베이스 내에 저장된 데이터를 허가를 받지 않거나 그러한 권한이 없는 사용자로부터의 변경, 파괴, 노출 및 일관성이 없도록 하는 행위로부터 보호하는 방법
    • 데이터베이스는 회사 내부에 존재하는 정보이고, 이미 허가된 사용자들만 접근할 수 있다는 것을 기본 조건으로 함
    • 데이터베이스 보안은 데이터베이스 관리자 등 인가 사용자들의 작업 내역에 대한 감사, 자료 유출 방지의 의미로 초점이 맞춰져야 함
    • 데이터베이스 보안으로 인해 사용자는 원하는 작업을 수행하는 데 필요한 자원 활용에 대한 허가가 있어야 함
  2. 데이터베이스 보안 설계 목표와 정책
    • 비인가 사용자를 통한 정보 노출을 방지하고, 인가된 사용자는 데이터 접근 및 수정이 가능하도록 보장하는 것
    • 데이터베이스 보안 목표를 달성하기 위해서는 보안 정책 수립에 일관성이 보장되어야 하며, 보안 정책은 보안 모델을 통해 운영체제와 DBMS를 통해서 보장되어야 함
  3. 데이터베이스 보안 정책 수립의 고려사항
    • 자원에 접근하는 사용자 식별 및 인증
      • 자원에 접근하는 사용자는 인증을 기반으로 실체가 보장되어야 함
      • 만약 타인이 사용자의 실체를 인증 받아야 하는 경우가 발생하면 타인이 사용자의 인증을 사용할 수 없어야 함
    • 보안 규칙과 권한 규칙에 대한 정의
      • 보안 규칙은 특정 사용자가 접근 가능한 데이터와 데이터에 대하여 허용된 행위나 제한된 조건을 기록하는 것이며 보안 모델을 통해 구현됨
    • 보안 규칙에 대한 검사 구현
      • 보안 규칙에 대한 검사 구현은 운영체제와 데이터베이스 관리 시스템을 활용하여 보장되어야 함
  4. 접근 통제 메커니즘
    • Value-Dependent Control(값 종속 통제)
      • 일반적인 통제 정책들의 경우 저장된 데이터 값에 영향을 받지 않지만, 상황에 따라 저장 값을 근거로 접근 통제를 관리하는 경우도 발생함
    • Multi-User Control(다중 사용자 통제)
      • 특정 객체에 대해 복수 사용자가 함께 접근 권한을 요구하는 경우 다수 사용자에 대한 접근 통제 지원 수단이 필요함
    • Context-Based Control(내용 기반 통제)
      • 특정 외부 요소에 근거하여 접근을 관리하는 방법으로 보안 정책과 결합하여 보안 시스템을 구축함

2) 데이터베이스 보안의 위협 요소

  • 데이터의 노출 - 기밀성 위협
  • 데이터의 부적절한 수정 - 무결성 위협
  • 서비스의 거부 - 가용성 위협

3) 데이터베이스 보안의 요구사항

  1. 부적절한 접근 방지
    • 허가된 사용자의 접근 요청을 DBMS에 의해 검사하도록 해야 함
  2. 추론 방지
    • 비기밀 데이터에서 기밀 데이터를 얻어내는 것을 방지해야 함
  3. 데이터베이스의 무결성 보장
    • 모든 트랜잭션은 원자적이어야 하며 수행된 작업과 트랜잭션 이후에 변화된 값들은 기록되어야 함
  4. 데이터베이스의 운영적 무결성 보장
    • 모든 트랜잭션을 병행 처리하는 동안 일관성이 보장되어야 함
    • 로킹은 데이터의 접근을 상호 배타적으로 통제하는 병행 처리 기법으로 데이터의 논리적 일관성을 보장함
  5. 데이터베이스의 의미적 무결성 보장
    • 데이터 내의 허용된 값을 통제하여 변경된 데이터의 논리적 일관성을 보장해야 함
  6. 감사 기능
    • 데이터베이스에 대한 모든 접근 사용자의 감사 기록을 생성해야 함
  7. 사용자 인증
    • DBMS 사용자의 엄격한 인증을 필요로 함
  8. 비밀 데이터의 관리 보호
    • 데이터베이스의 치명적인 영향을 줄 수 있는 중요 정보를 철저히 관리하고 보호해야 함
  9. 제한
    • 데이터베이스 시스템 간의 부적절한 정보 전송, 복사 등을 방지해야 함

4) 데이터베이스 암호화

  • 데이터베이스의 기밀성을 유지하기 위해 중요 민감 데이터는 암호화하는 기법을 사용함
  • 다양한 암호 알고리즘을 활용하여 중요 데이터는 암호화함

5) 데이터베이스 암호화 알고리즘

  • 데이터베이스 암호화 알고리즘은 크게 대칭 키, 해시, 비대칭 키 알고리즘이 사용됨
  구분     내용  
  대칭키 암호 알고리즘     ARIA 128/192/256, SEED  
  해시 알고리즘     SHA -256/384/512, HAS-160  
  비대칭 키 알고리즘     RSA, ECDSA  

6) 데이터베이스의 암호화 기법

  1. API 방식
    • 애플리케이션 레벨에서 암호화 모듈을 적용하는 애플리케이션 수정 방식
    • 암호화/보안 방식은 별도로 애플리케이션을 개발한 후 통합해야 함
    • 애플리케이션 서버에 암/복호화, 정책 관리, 키 관리할 때 서버에 부하가 발생함
    • 애플리케이션 개발 통합 기간이 필요함
    • 애플리케이션 변경 및 암호화 필드 변경에 따른 유지보수가 필요함
  2. Filter(Plug-in) 방식
    • 데이터베이스 레벨의 확장성 프로시저 기능을 이용하여 DBMS에 Plug-in 또는 Snap-in 모듈로 동작하는 방식
    • 암호화/보안 방식은 데이터베이스 내 설치하고 연동해야 함
    • 데이터베이스 서버에 암/복호화, 정책 관리, 키 관리할 때 서버에 부하가 발생함
    • 애플리케이션 변경이 불필요함
    • 관리자용 GUI 이용, 다수 데이터베이스 통합 관리가 가능하여 편의성이 높음
  3. Hybrid 방식
    • API 방식과 Filter 방식을 결합하거나, Filter 방식에 추가적으로 SQL문에 대한 최적화를 대행해 주는 어플라이언스를 제공하는 방식
    • 암호화/보안 방식은 어플라이언스/베이터베이스 내에 설치함
      • 어플라이언스 : 운영체제나 응용 소프트웨어의 설치, 설정 등을 행하지 않고 구입해서 접속하면 곧 사용할 수 있는 정보처리 장치
    • 데이터베이스와 어플라이언스를 사용하므로 서버 부하가 분산됨
    • 애플리케이션 변경이 불필요함

'정보처리기사 > 정보 시스템 구축 관리' 카테고리의 다른 글

암호 기술 7  (0) 2023.06.03
암호 기술 5  (0) 2023.06.03
암호 기술 4  (0) 2023.06.02
암호 기술 3  (1) 2023.06.02
암호 기술 2  (0) 2023.06.02
profile

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!