소프트웨어 개발 보안 설계 2
1. 접근 통제 기법
구분 | 설명 |
식별 (Identification) |
자신이 누구라고 시스템에 밝히는 행위 |
인증 (Authentication) |
주체의 신원을 검증하기 위한 활동 |
인가 (Authorization) |
인증된 주체에게 접근을 허용하는 활동 |
책임추적성 (Accountability) |
주체의 접근을 추적하고 행동을 기록하는 활동 |
2. 인증 기술 유형
유형 | 설명 | 예시 |
지식기반 인증 | 사용자가 기억하고 있는지식 |
ID / 패스워드 |
소지기반 인증 | 소지하고있는 사용자 물품 | 공인인증서 |
생체기반 인증 | 고유한 사용자의 생체 정보 | 얼굴, 지문 |
특징기반 인증 | 사용자의 특징을 활용 | 발걸음, 몸짓 |
3. 서버 접근 통제 유형
유형 | 설명 |
임의적 접근 통제 (DAC : Discretionary Access Control) |
사용자/그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법 |
강제적 접근 통제 (MAC : Mandatory Access Control) |
사용자가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법 |
역할 기반 접근 통제 (RBAC : Role Based Access Control) |
중앙 관리자가 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법 |
4. 3A 구성
구성 | 설명 |
인증 (Authentication) |
접근을 시도하는 가입자 or 단말에 대한 식별 및 신분을 검증 |
권한 부여 (Authorization) |
검증된 가입자 or 단말에게 어떤 수준의 권한과 서비스를 제공 |
계정 관리 (Accounting) |
리소스 사용에 대한 정보를 수집하고 관리하는 서비스 |
4. 접근 통제 보호 모델
- 벨-라파둘라 모델 : 미 국방부 지원 모델, 기밀성 강조
- 비바 모델 : 무결성 보장
5. 암호 알고리즘
- 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
6. 암호 알고리즘 방식
알고리즘 방식 | 알고리즘 방식 종류 | 기법 | |
양방향 방식 | 대칭 키 암호 방식 | 블록 암호 방식 | DES, SEED, AES, ARIA, IDEA |
스트림 암호 방식 | RC4, LFSR | ||
일방향 암호 방식 (해시 암호 방식) |
MAC | HMAC, NMAC | |
MDC | ND5, SHA |
- 대칭 키 암호 방식 : 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘
- 블록 암호 방식 : 고정 길이의 블록을 암호화하여 반복하는 알고리즘
- 비대칭(=공개) 키 암호 방식 : 사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식 (공개키와 비밀키 존재)
- 일방향(해시) 암호 방식 : 임의 길이의 정보를 입력받아, 고정된 길이의 암호문(해시값)을 출력하는 암호방식
- MAC : 키를 사용하는 메시지 인증 코드
- MDC : 키를 사용하지 않는 변경 감지 코드
7. 대칭 키 암호화 알고리즘
종류 | 설명 |
DES | - IBM에서 개발 - 블록 크기 64bit, 키 길이 56bit인 페이스텔 구조 |
SEED | - 한국인터넷진흥원(KISA) 개발 |
AES | - 미국 표준 기술 연구소(NIST) 개발 - DES를 대체, 3 DES의 성능 문제를 극복하기 위해 개발 - 블록 크기 128bit, 키 길이 123bit, 192bit, 256bit |
ARIA | - 국가정보원 + 산학연구협회 개발 - 경량 환경 및 HW에서의 효율성 향상을 위해 개발 |
IDEA | - 스위스 연방기술 기관에서 개발 - 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호문을 만듦 |
LFSR | - 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어 있는 스트림 암호화 알고리즘 |
8. 비대칭 키 암호화 알고리즘
종류 | 설명 |
디피-헬만 | 최초의 공개키 알고리즘 |
RSA | 3명의 MIT 수학교수가 고안. 소인수 분해 수학적 알고리즘 |
ECC | RSA 암호 방식 대안. 타원 곡선 암호(ECC). 이산대수의 문제에 기초한 공개키 암호화 알고리즘 |
ElGamal | 이산대수 계산이 어려운 문제를 기본원리로 함 |
9. 해시 암호화 알고리즘
종류 | 설명 |
MD5 | MD4개선, 프로그램 or 파일의 무결성 검사에 사용 |
SHA-1 | NSA에서 미 정부 표준으로 지정. DSA에서 사용 |
SHA-256/384/512 | 256비트의 해시값을 생성하는 해시함수 |
HAS-160 | 국내 표준 서명 알고리즘(KCDSA)를 위해 개발된 해시 함수, MD5 장점 + SHA-1 장점 |
10. IPsec(Internet Protocol Security)
- IP계층에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용한 IP 보안 프로토콜
- 인증, 암호화, 키 관리 프로토콜로 구성
11. SSL (Secure Socket Layer) / TLS (Transport Layer Security)
- 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시, 데이터 무결성을 보장하는 보안 프로토콜
12. S-HTTP
- 웹 상에서 네트워크 트래픽을 암호화하는 주요 기법.
- 클라이언트와 서버 간 전송되는 모든 메시지를 각각 암호화해 전송하는 기술
13. SW 개발 보안 적용 사례
구분 | 설명 |
Seven TouchPoints |
SW 보안의 모범 사례를 SDLC에 통합한 SW 개발 보안 생명주기 방법론 |
MS SDL | 마이크로소프트사가 자사의 SW 개발에 의무적으로 적용하도록 고안한 보안강화 프레임워크 |
OWASP CLASP | 개념, 역할, 활동평가, 활동구현, 취약성 관점 등의 활동중심, 역할 기반의 프로세스로 구성된 보안 프레임워크 |
'정보처리기사 > DB' 카테고리의 다른 글
비즈니스 연속성 계획(BCP) (0) | 2023.04.04 |
---|---|
SW 개발 보안 구현 (0) | 2023.04.04 |
소프트웨어 개발 보안 설계 1 (0) | 2023.04.01 |
공통 모듈 구현 (0) | 2023.03.31 |
개발환경 구축 (0) | 2023.03.30 |