728x90
728x90
암호 알고리즘과 데이터 암호화 전송
암호 알고리즘은 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법이다.
양방향 암호 알고리즘
대칭 키 암호 방식
암호화와 복호화에 같은 암호 키를 사용하는 알고리즘
- 블록 암호 방식 : 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복
- 스트림 암호 방식 :매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식
비대칭 키 암호 방식(= 공개키 암호 방식)
사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식
일방향 암호(해시 암호) 알고리즘
임의 길이의 정보를 입력받아 고정된 길이의 암호문을 출력하는 암호 방식
해시 암호화 알고리즘이 적용된 정보는 복호화가 불가능
- MAC(Message Authentication Code) : 키를 사용하는 메시지 인증 코드로 메시지의 무결성과 송신자의 인증 보장
- MDC(Modification Detection Code) : 키를 사용하지 않는 변경 감지 코드로 메시지의 무결성 보장
대칭 키 암호화 알고리즘 상세
- DES(Data Encryption Standard) : 1975년 IBM에서 개발하고 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 암호화 알고리즘
- SEED : 1999년 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘
- AES(Advancde Encryption Standard) : 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘
- ARIA(Academy, Research Institute, Agency) : 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘
- IDEA(International Data Encrption Algorithm) : DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
- LFSR(Linear Feedback Shift register) : 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어 있는 스트림 암호화 알고리즘
비대칭 키 암호화 알고리즘 상세
- 디피-헬만(Diffie-Hellman) : 최초의 공개키 알고리즘으로 유한 필드 내에서 이산대수의 계산이 어려운 문제를 기본 원리로 하는 알고리즘
- RSA(Rivest-Shamir-Adleman) : 1977년 3명의 MIT 수학 교수가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘을 이용하는 공개키 암호화 알고리즘
- ECC(Elliptic Curve Cryptography) : 유한체 위에서 정의된 타원 곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘
- ElGamal : 1984년 ElGamal이 제안했으며 이산대수의 계산이 어려운 문제를 기본 원리로 하는 알고리즘
해시 암호화 알고리즘 상세
- MD5(Message-Digest algorithm 5) : 각각의 512비트짜리 입력 메시지 블록에 대해 차례로 동작하여 128비트의 해시값을 생성하는 해시 알고리즘
- SHA-1(Secure Hash Algorithm) : 160비트의 해시값을 생성하는 해시 알고리즘
- SHA-256/384/512(Secure Hash Algorithm) : AES의 키 길이인 128, 192, 256비트에 대응하도록 출력 길이를 늘인 해시 알고리즘
- HAS-160 : MD5와 SHA-1의 장점을 취하여 개발된 해시 알고리즘
- HAVAL : 미시지를 1024bits 블록으로 나누고 128, 160, 192, 224, 256 비트인 메시지 다이제스트를 출력하는 해시 알고리즘
데이터 암호화 전송
- IPSec(Internet Protocol Security) : IP 계층에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용한 IP 보안 프로토콜
- SSL(Secure Socket Layer) / TLS(Transport Layer Security) : 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
- S-HTTP(Secure Hypertext Transfer Protocol) : 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송하는 기술
728x90
반응형
'CS' 카테고리의 다른 글
소프트웨어 테스트 원리와 테스트 유형 (0) | 2023.04.10 |
---|---|
시큐어 코딩 가이드 (0) | 2023.04.09 |
서버 인증 및 접근 통제 (0) | 2023.04.09 |
소프트웨어 개발 보안을 위한 공격기법 개념 (0) | 2023.04.09 |
공통 모듈 구현 (0) | 2023.04.08 |
댓글