본문 바로가기
Data Analysis/정보처리기사

[5과목 정보시스템 구축관리] 03. 소프트웨어 개발 보안 구축

by suvii 2024. 4. 20.

[Sec 1. 소프트웨어 개발 보안 설계]

  • 정보보안의 3대 요소
    • 기밀성(Confidentiality) : 인가된 사용자만 정보에 접근 가능
    • 무결성(Integrity) : 인가된 사용자만 정보 변경 가능
    • 가용성(Availability) : 정보 자산에 언제든지 접근 가능
  • AAA(Authentication, Authorization, Accounting)
    • 인증(Authentication) : 사용자의 신원 확인
    • 권한부여(Authorization) : 검증된 사용자에게 권한 부여
    • 계정관리(Accounting) : 사용자의 정보를 수집하여 활용
  • 인증제도
    • ISMS : 우리나라, 정보보호 관리체계
    • PIMS : 우리나라, 개인정보보호 관리체계
    • ISMS-P : 우리나라, 정보보호 및 개인정보보호 관리체계 통합
    • ITSEC(Information Technology SEC) : 유럽
    • TCSEC(Trusted Computer System) : 미국
    • CC(Common Criteria) : 국가별로 상이한 평가 기준 통합, EAL 7단계
  • 정보보호 관리 체계 5단계 과정
    : 정책 수립 및 범위 설정 → 경영 조직 → 위험 관리 → 구현 → 사후 관리
  • Secure SDLC
    • CLASP : SDLC 초기 단계에서, 운용 중인 시스템에 적용
    • MS-SDL : 마이크로소프트가 개발한 안전한 소프트웨어 개발 방법론
    • Seven Touchpoints : SW 보안의 모범사례를 SDLC에 통합

 

[Sec 2. 소프트웨어 개발 보안 구현]

암호 알고리즘

  • 양방향 암호화 : 평문을 암호문으로, 암호문을 평문으로 변경할 수 있는 암호화
    • 대칭키 : 암호화와 복호화에 동일한 키 사용, 빠른 암호화 속도와 대용량 데이터 암호화에 적합
      • 블록암호 알고리즘
        • DES : 64비트 블록과 56비트 키, 16라운드, Feistel 구조
        • 3-DES : 암호화, 복호화, 암호화
        • AES : DES 보완, XOR 연산 수행, 128비트 블록과 128/192/256비트 키, 10/12/14라운드, SPN 구조
        • SEED : 128비트 키, 16라운드, Feistel 구조
        • ARIA : 128/192/256비트 키, SPN 구조
        • IDEA : 64비트 블록과 128비트 키, 8라운드, Feistel과 SPN 구조의 중간 형태
        • LEA : 한국 개발
      • 스트림암호 알고리즘
        • LFSR, RC4, A5
    • 비대칭키 : 암호화와 복호화에 서로 다른 키 사용 (공개키 암호화 기법), 키의 분배와 관리가 상대적으로 용이
      • 소인수 분해 기반 : RSA
      • 이산대수 기반 : Diffie-Hellman, DSA, ELGamal
      • 타원 곡선 : ECC
  • 단방향 암호화 : 해시를 이용한 암호화, 복호화 불가능
    • 해시 함수 특성
      • 역상 저항성
      • 제2역상 저항성(약한 충돌 저항성) : 주어진 메시지 x에 대해, 동일한 출력을 산출하는 y를 찾는 것이 계산상 매우 어려워야 한다.
      • 충돌 저항성 : 동일한 출력을 산출하는 서로 다른 두 입력을 계산적으로 찾기 어려워야 한다.
    • 해시함수 종류 : MD5, SHA
    • 암호학적 해시 함수의 결점과 보완
      • 무차별 대입 공격(문자열 범위 내 생성 가능한 모든 조합 시도) → 키 스트레칭(해시과정 여러 번 반복)
      • Rainbow Table 공격(변환 가능한 모든 해시값 매핑된 테이블 이용) → 솔팅(데이터에 임의의 값 추가)