[정처기 실기] 「5」 정보보안 - (5.1) 정보보안(1)
[정처기 실기] 「5」 정보보안 - (5.1) 정보보안(1)
「1」 소프트웨어 구축
「2」 데이터베이스 구축
「3」 운영체제
「4」 네트워크
> 「5」 정보보안
「6」 신기술 용어
> 1. 정보보안
1. 정보보안
SW 개발 보안 설계
정보보안
○ 정보 / 정보 시스템을 무단 접근, 변경, 삭제로부터 보호
○ 정보보안 요소
- 기밀성(Confidentiality) : 인가된 사용자만 정보에 접근
- 무결성(Integrity) : 인가된 사용자에 의해서만 정보 변경
- 가용성(Availability) : 정보 자산에 언제든지 접근
- 인증(Authentication) : 사용자가 허가받은 사용자인지 확인
- 부인방지(Non-repudiation) : 정보 전송을 부인할 수 없도록 하는 것
○ AAA(Authentication, Authorization, Accounting)
- 인증(Authentication) : 사용자의 신원 확인
- 권한부여(Authorization) : 권한과 서비스를 허용
- 계정관리(Accounting) : 사용자의 자원 사용 정보를 수집
○ 정보보안 거버넌스(Information Security Governance)
- 조직의 정보자산을 보호하고, 정보의 무결성 / 기밀성 / 가용성을 유지하기 위함
- 정보보안 거버넌스의 3요소
: 데이터 무결성(Integrity of Data)
: 서비스 연속성(Service Continuity)
: 정보자산의 보호(Protection of Information Asset)
○ 인증제도
- ISMS(정보보호 관리체계 인증) : 한국
- PIMS(개인정보보호 관리체계) : 한국
- ISMS-P(정보보호 / 개인정보보호 관리체계 인증) : 한국
- ITSEC(Information Technology Security Evaluation Criteria) : 유럽
- TCSEC(Trusted Computer System Evaluation Criteria) : 미국
- CC(Common Criteria) : 국가 별로 통합된 기준
Secure SDLC(Software Development Life Cycle)
○ SDLC에 보안 강화 프로세스를 포함한 것
○ Secure SDLC 방법론
- CLASP(Comprehensive, Lightweight Application Security Process) : SDLC 초기 단계에서 보안 강화를 위한 방법론
- MS-SDL : 마이크로소프트가 개발한 안전한 소프트웨어 개발을 위한 방법론
- Seven Touchpoints : 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론
SW 개발 보안 구현
암호 알고리즘
○ 암호 알고리즘 용어
- 평문(Plaintext) : 해독 가능한 형태의 메시지
- 암호문(Cipertext) : 해독 불가능한 형태의 메시지
- 암호화(Encryption) : 평문 > 암호문
- 복호화(Decryption) : 암호문 > 평문
- 전자서명 : 인터넷상에서 본인임을 증명하기 위해 서명을 하는 수단
- 양방향 암호화 : 평문 ↔ 암호문
- 단방향 암호문 : 평문 → 암호문
○ 대칭키 암호(Symmetric Key) : 동일한 키, 알고리즘 단순, 속도 빠름, 관리할 키 개수 많음, 키 개수 N(N-1) / 2
- 블록 암호 알고리즘 : 2 Bit 이상 연산
구분 | 블록(비트) | 키(비트) | 라운드 | 구조 | 국가 |
DES | 64 | 56 | 16 | Feistel | 미국 |
3-DES | 2개의 키 암호화, 복호화, 암호화 | Feistel | 미국 | ||
AES | 128 | 128 / 192 / 256 | 10 / 12 / 14 | SPN | 미국 |
SKIPJACK | 64 | 80 | 32 | Feistel 변형 | 미국 |
IDEA | 64 | 128 | 8 | Feistel + SPN | 스위스 |
SEED | 128 | 128 | 16 | Feistel | 한국 |
ARIA | 128 | 128 / 192 / 256 | 12 / 14 / 16 | SPN | 한국 |
LEA | 128 | 128 / 192 / 256 | 24 / 28 / 32 | SPN(경량) | 한국 |
- 스트림 암호 알고리즘 : 1 Bit 연산
: LFSR - 선형 피드백 시프트 레지스터
: RC4 - 인터넷 보안 프로토콜에서 널리 사용
: A5 - GSM 통신에서 사용
○ 비대칭키 암호 : 서로 다른 키, 알고리즘 복잡, 속도 느림, 키 분배 용이, 관리할 키 개수 적음, 키 개수 2N
- 키의 종류
: 공개키(Public Key) - 대중에게 공개된 키
: 개인키(Private Key) - 개인이 관리하는 비밀키
- 비대칭키 알고리즘
구분 | 설명 | |
소인수분해 기반 | RSA | 가장 대표적인 공개키 암호 알고리즘 |
Rabin | 1979년 Rabin이 개발, RSA보다 빠름 | |
이산대수 기반 | Diffie-Hellman | 키 관리 센터 없이 공개키를 전달 |
DSA | 미국의 전자서명 표준 | |
ELGamal | 같은 평문으로 다른 암호문 생성 | |
타원 곡선 기반 | ECC | 타원 곡선상의 이산대수 문제를 이용 |
- 전자서명 : 인증서 형태로 발급되는 자신만의 디지털 인감도장이며 안전한 디지털 서명
○ 단방향 암호화 : 해시를 이용
- 해시 값 변환 방법
: 폴딩법(중첩법) - 레코드 키를 여러 부분으로 나눠 각 숫자를 더하거나 XOR 한 값을 홈 주소
: 제산법 - 레코드 키를 해시표 크기보다 큰 수 중 가장 작은 소수로 나눈 나머지를 홈 주소
: 기수 변환법 - 키 숫자의 진수를 변환시켜 주소 크기를 초과한 높은 자릿수는 절단하여 주소 범위에 맞게 조정
: 숫자 분석법 - 키 값을 이루는 숫자의 분포를 분석하여 고른 자리를 택하여 홈 주소
: 제곱법
: 무작위법
- 해시 함수 특성
: 역상 저항성 - 주어진 해시 값으로 원래 입력값을 찾아내는 것이 불가능해야 함
: 제2역상 저항성(약한 충돌 저항성) - 동일한 해시 값을 생성하는 또 다른 입력값을 찾는 것이 어려워야 함
: 충돌 저항성 - 두 개의 다른 입력값이 동일한 해시 값을 가지지 않도록 해야 함
- 해시 함수 종류
: MD5 - 빠른 계산 속도, 취약점 발견
: SHA - NIST(미국 국립 표준기술연구소)에 의해 개발된 해시 함수
: HAS-160 - 한국에서 개발된 해시 함수, KCDSA(디지털서명)에 사용
- 암호학적 해시 함수의 결점
: 무자별 대입 공격(Brute-force Attack) : 정해진 범위 내 모든 가능한 문자열을 이용해 암호 해독
: Rainbow Table 공격 : 미리 계산된 해시 값들의 테이블을 이용하여 해시된 비밀번호를 역추적하여 암호 해독
- 암호학적 해시 함수의 보완
: 키 스트레칭(Key Stretching) - 해시 과정을 여러 번 반복하여, 무차별 대입 공격 저항력을 강화
: 솔팅(Salting) - 데이터에 임의의 값을 추가하여, Rainbow Table 공격 저항력을 강화
○ 전자우편 보안 프로토콜
- PGP : 이메일과 파일의 암호화 / 디지털 서명을 위한 프로그램, Phil Zimmermann이 개발
- PEM : 메시지 내용 보호
- S / MIME : MIME에 전자서명과 암호화 추가
- DKIM : 메일 발신자 인증, 발신 정보 위장 방지
코드 오류
○ 코드의 유형
- 순차 코드 : 순서에 의해 일련 번호를 부여
- 블록 코드 : 코드화 할 대상이 갖는 공통 특징을 중심으로 항목들을 분류
- 10진 코드 : 10진수 형태의 코드
- 그룹 분류 코드 : 대상 항목에 대한 분류 기준에 따라 분류
- 연상 코드 : 코드 대상의 명칭과 관계있는 문자, 숫자, 약어를 사용
- 표의 숫자 코드 : 코드화 대상 항목의 중량, 면적, 용량 등 사용
- 합성 코드 : 두 개 이상의 코드를 조합
○ 코드 오류(Error) 발생 형태
- 생략 오류(Omission) : 한 자리를 빼놓고 기록
- 필사 오류(Tramscription) : 한 자리를 잘못 기록
- 전위 오류(Transposition) : 좌우 자리를 바꾸어 기록
- 이중 오류(Double Transposition) : 두 번의 전위 오류
- 추가 오류(Addition) : 한 자리 추가로 기록
- 임의 오류(Random) : 두 가지 이상 결합
인증과 접근 통제
인증과 인가
○ 인증(Authentication) : 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차
- 인증의 유형
: 지식 기반 인증 : 사용자가 기억하는 정보
: 소유 기반 인증 : 사용자가 소유한 물건
: 생체 기반 인증 : 사용자의 신체적 특징
: 행위 기반 인증 : 사용자의 행동 정보
: 위치 기반 인증 : 인증을 시도하는 위치
○ 인가(Authorization) : 인증된 사용자에게 권한을 부여하는 과정
○ 인증 방식
- 계정 정보를 요청 헤더에 넣는 방식
- Cookie / Session 방식
- 토큰 기반 인증 방식(JWT, JSON Web Token)
- OAuth : 이용자의 웹 서비스에 대해 비밀번호를 제공하지 않고 제한된 접근 권한을 안전하게 부여
- SSO(Single Sign-On)
- 커버로스 : 사용자와 서비스 간 인증을 안전하게 관리하기 위한 프로토콜
- 아이핀(i-PIN) : 주민등록번호 대체 수단
접근 통제
○ 정당한 사용자에게 권한을 부여, 그 외 사용자는 접근 거부
○ 접근 통제 과정
- 식별(Identification) : ID 확인하는 과정
- 인증(Authentication) : 패스워드가 정확한지 확인
- 인가(Authorization) : 권한을 부여
○ 접근 통제 정책
정책 | MAC(강제) | DAC(임의) | RBAC(역할) |
권한 부여 | 시스템 | 데이터 소유자 | 중앙 관리자 |
접근 결정 | 보안 등급(Label) | 신분(Identity) | 역할(Role) |
정책 변경 | 고정적(변경 어려움) | 변경 용이 | 변경 용이 |
장점 | 안정적, 중앙 집중적 | 구현 용이, 유연함 | 관리 용이 |
○ 접근 통제 모델
- 벨-라파둘라 모델(BLP, Bell-LaPadula Confidentiality Model)
: 기밀성 강조
: No Read Up, No Write Down
- 비바 모델(Biba Integrity Model)
: 무결성 강조
: No Read Down, No Write Up
- 클락-윌슨 모델(Clark-Wilson Integrity Model)
: 무결성에 중점을 둔 상업용 모델
: 업무 처리 과정의 무결성 유지에 초점
- 만리장성 모델(Chinese Wall Model, Breswer-Nash Model)
: 이해 충돌 방지를 위한 모델
출처 | 흥달쌤