1. 암호 알고리즘 (Encryption Algorithm) : 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
2. 암호 알고리즘 방식
1) 양방향 방식
a. 대칭키 암호 방식
- 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘이다.
블록 암호 방식 | 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법 ex) DES, AES, SEED |
스트림 암호 방식 | 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식 ex) RC4 |
b. 비대칭 키 암호 방식 (= 공개키 암호 방식)
- 사전에 개인키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식이다.
- 공개키로 암호화된 메세지는 반드시 비밀키로 복호화해야 한다.
- 비대칭 키 암호방식에서는 공개키와 비밀키가 존재하며, 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어야 한다. (공개키는 공개적으로 배포가능)
ex ) RSA(소인수 분해 알고리즘 이용), ECC(타원곡선 군에서의 이산대수 문제에 기반), Elgamal, Diffie-Hellman(최초의 공개키 알고리즘, 유한 필드 내에서 이산대수의 계산이 어려움)
2) 일방향 암호 방식 (해시 암호 방식)
임의 길이의 정보를 입력받아, 고정된 길이의 암호를 출력하는 암호 방식이다.
해시 암호화 알고리즘이 적용된 정보는 복호화가 불가능하다.
MAC(키를 사용하는 메시지 인증 코드로 메시지의 무결성과 송신자의 인증 보장), MDC(키를 사용하지 않는 변경 감지 코드로 메세지의 무결성 보장)
2. 코드 오류 : 소프트웨어 구현 단계에서 개발자가 흔하게 실수하는 오류를 예방하기 위한 점검 목록
- 코드 오류 취약점
널포인터 역참조 / 정수를 문자로 변환 / 부적절한 자원 해제 / 초기화 되지 않은 변수 사용
3. 캡슐화 : 외부에 은닉이 필요한 중요한 데이터와 필요한 기능성을 불충분하게 캡슐화했을 때 인가되지 않은 사용자에게 데이터 유출, 권한 문제 등이 발생할 수 있는 보안 취약점 예방을 위한 보안 검증 항목들
- 캡슐화 취약점
잘못된 세션에 의한 데이터 정보 노출 / 제거되지 않고 남은 디버그 코드 / 민감한 데이터를 가진 내부 클래스 사용 / 시스템 데이터 정보 노출
4. API 오용
서비스에서 제공되는 이용에 반하는 방법. API를 이용하거나 보안에 취약한 API를 오용하여 발생할 수 있는 보안 취약점 예방을 위한 보안 검증 항목들
- API 오용 취약점
DNS Lookup에 의존한 보안 결정 / 위험하다고 알려진 함수 사용 / Null 매개변수 미검사
'Computer Science > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 오답노트 2 (0) | 2022.02.20 |
---|---|
[정보처리기사] 오답노트 (0) | 2022.02.14 |
5 (3) 소프트웨어 개발 보안 구축 ( XSS/CSRF/SQL삽입 ) (0) | 2022.02.10 |
빅데이터 기술의 종류, NoSQL 개념 (0) | 2022.02.02 |
5(2) 클라우드 컴퓨팅 , 스토리지 시스템 DAS, NAS, SAN (0) | 2022.02.02 |