본문 바로가기
정보처리기사/Ⅸ. 소프트웨어 개발 보안 구축

Chapter 01. 소프트웨어 개발 보안 설계(2)

by 이잭 2022. 4. 18.

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 보안 프로토콜