1. 소프트웨어 개발 보안 설계
- 암호 알고리즘 방식(대비해) : 대칭 키, 비대칭 키, 해시 함수
- 대칭키 암호 방식 : 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘
- 대칭 키 암호화 알고리즘 종류
DES(Data Encryption Standard) | - 1975년 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 암호화 알고리즘 - 블록크기는 64bit, 키 길이는 56bit인 페이스텔(Feistel)구조 |
SEED | - 1999년 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘 - 블록크기는 128bit이며, 키 길이에 따라 128bit, 256bit로 분류 |
AES(Advanced Encryption Standard) | - 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘 - AES의 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShiftRows, MixColumns, AddRoundKey의 4가지 계층으로 구성 |
ARIA(Academy, Research Institute, Agency) | - 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘 - ARIA는 학계(Academy), 연구기관(Research Institute), 정부(Agency)의 영문 앞글자로 구성 |
- 비 대칭키 암호 방식(공개키 암호 방식) : 사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식 (암호화와 복호화에 다른 암호 키를 쓰는 알고리즘)
- 비대칭 키 암호화 알고리즘 종류
디피-헬만 (Diffie-Hellman) |
공개키 암호 방식의 개념을 이용하여 두 사용자 간에 공통의 암호화 키를 안전하게 공유할 방법을 제시하였으며, 많은 키 분배 방식에 관한 연구의 기본이 됨(최초의 비밀키 교환 프로토콜) |
RS (Rivest-Shamir-Adleman) |
1977년 3명의 MIT 수학교수(Rivest, Shamir, Adleman)가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘 이용하는 공개키 암호화 알고리즘 |
EC (Elliptic Curve Cryptography) |
타원 곡선 암호(ECC)는 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘 |
ElGamal | 이산대수의 계산이 어려운 문제를 기본 원리로 하고 있으며, RSA와 유사하게 전자서명과 데이터 암.복호화에 함께 사용 가능 |
- 일방향 암호 방식(해시 암호 방식) : 임의 길이의 정보를 입력받아, 고정된 길이의 암호문 (해시값)을 출력하는 암호 방식
- 해시 암호화 알고리즘 종류
MD5 | 1991년 R.rivest가 MD4를 개선한 암호화 알고리즘으로 프로그램이나 파일의 무결성 검사에 사용 |
SHA-1 (Secure Hash Algorithm) |
1993년 NSA에서 미 정부 표준으로 지정되었고, DSA(Digital Signature Algorithm)에서 사용 |
SHA-256/384/512 (Secure Hash Algorithm) |
AES(Advanced Encryption Standard, 미연방 표준 알고리즘)의 키 길이인 128, 192, 256비트에 대응하도록 출력 길이를 늘인 해시 알고리즘 |
HAS-160 | 국내 표준 서명 알고리즘 KCDSA(Korean Certificate-based Digital Signature Algorithm)를 위하여 개발된 해시함수 |
- IPSec 개념 : IP계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜
'정보처리기사 > Ⅸ. 소프트웨어 개발 보안 구축' 카테고리의 다른 글
Chapter 02. 소프트웨어 개발 보안 구현 (0) | 2022.04.26 |
---|---|
Chapter 01. 소프트웨어 개발 보안 설계(1) (0) | 2022.04.18 |