암호화 알고리즘은 데이터를 보호하기 위한 기술로,
양방향 암호화와 단방향 암호화로 나뉩니다.
양방향 암호화는 데이터를 암호화하고 다시 복호화할 수 있는 방식이며,
단방향 암호화는 데이터를 암호화하면 복호화할 수 없는 방식입니다.
양방향 암호화
1. 개인키 암호화 (Private Key Encryption) (대칭키 암호화)
개인키 암호화는 동일한 키로 데이터를 암호화하고 복호화하는 방식으로, 대칭 암호 기법 또는 단일키 암호화 기법이라고도 합니다. 이 방식은 암호화/복호화 속도가 빠르지만, 관리해야 할 키의 수가 많다는 단점이 있습니다.
1.1 스트림 암호화 방식 (Stream Cipher)
평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화하는 방식입니다.
- 종류:
- LFSR (Linear Feedback Shift Register)
- RC4
- TKIP (Temporal Key Integrity Protocol)
1.2 블록 암호화 방식 (Block Cipher)
한 번에 하나의 데이터 블록을 암호화하는 방식입니다.
- 종류:
- DES (Data Encryption Standard)
- SEED
- AES (Advanced Encryption Standard)
- ARIA (Academy Research Institute, Agency)
- IDEA (International Data Encryption Algorithm)
- Skipjack
2. 공개키 암호화 (Public Key Encryption) (비대칭 함호화)
공개키 암호화는 비대칭 암호 기법이라고도 하며, 암호화할 때 사용하는 공개키(Public Key)는 사용자에게 공개하고, 복호화할 때 사용하는 비밀키(Secret Key)는 관리자가 비밀리에 관리합니다. 이 방식은 관리해야 할 키의 수가 적지만, 암호화/복호화 속도가 느립니다.
- 종류:
- RSA (Rivest-Shamir-Adleman)
- ECC (Elliptic Curve Cryptography)
- 디피-헬만 (Diffie-Hellman)
- Elgamal
3. 양방향 암호화 알고리즘의 종류
- SEED: 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호화 알고리즘. 블록 크기는 128비트, 키 길이는 128비트 또는 256비트.
- ARIA: 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘.
- DES (Data Encryption Standard): 1975년 미국 NBS에서 발표한 블록 암호화 알고리즘. 블록 크기 64비트, 키 길이 56비트, 16회 라운드, 2001년 AES로 대체
- AES (Advanced Encryption Standard): 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘. 블록 크기 128비트, 키 길이에 따라 AES-128, AES-192, AES-256으로 분류.
- RSA: 1978년 MIT의 Rivest, Shamir, Adleman에 의해 제안된 공개키 암호화 알고리즘. 큰 숫자를 소인수분해하기 어렵다는 것에 기반.
- IDEA (International Data Encryption Algorithm): 스위스에서 개발한 블록 암호화 알고리즘. 블록 크기 64비트, 키 길이 128비트.
- Skipjack: 국가 안전보장국에서 개발한 알고리즘. 클리퍼 칩이라는 IC칩에 내장. 주로 음성 통신 장비에 삽입되어 음성 데이터를 암호화.
- TKIP (Temporal Key Integrity Protocol): 무선랜 보안에 사용된 WEP을 보완한 보안 프로토콜. 임시 키 무결성 프로토콜.
단방향 암호화 (Hash)
단방향 암호화는 임의의 길이의 입력 데이터를 고정된 길이의 해시값으로 변환하는 방식입니다. 해시 함수로 변환된 값이나 키를 해시값 또는 해시키라고 부릅니다.
- 종류:
- SHA 시리즈: 1993년 미국 국가안보국(NSA)이 설계, 미국 국립표준기술연구소(NIST)에서 발표. SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
- MD5 (Message Digest Algorithm 5): 1991년 R.Rivest가 MD4를 대체하기 위해 고안한 해시 함수. 블록 크기 512비트, 해시값 128비트.
- N-NASH: 1989년 일본의 전신전화주식회사(NTT)에서 발표한 해시 함수.
- SNEFRU: 1990년 R.C.Merkle가 발표한 해시 함수.
안전한 데이터 전송을 위한 프로토콜
- IPSec (Internet Protocol Security): IP 계층(3계층)에서 무결성과 인증을 보장하는 프로토콜. 인증 헤더(AH)와 암호화(ESP) 기능을 제공.
- SSL/TLS (Secure Sockets Layer/Transport Layer Security): 전송계층(4계층)과 응용계층(7계층) 사이에서 데이터 암호화, 상호 인증, 무결성을 보장하는 프로토콜.
- S-HTTP (Secure Hypertext Transfer Protocol): 웹상에서 네트워크 트래픽을 암호화하여 클라이언트와 서버 간의 모든 메시지를 안전하게 전송하는 프로토콜.
2020년 정보처리기사 실기 기출문제
문제
RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로 인지를 확인하는 무결성 검사 등에 사용된다. 1991년 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안된 128비트 암호화 해시 함수는 무엇인가?
정답
MD5(Message Digest Algorithm 5)
2020년 정보처리기사 실기 기출문제
문제
1990년 R.Rivert가 MD4를 일방향 해시 함수로 개선한 알고리즘으로, 임의의 길이의 값을 입력받아서 128비트 길이의 해시값을 출력하는 알고리즘은 무엇인지 쓰시오.
정답
MD5(Message Digest Algorithm 5)
2020년 2회 정보처리기사 실기 기출문제
문제
네트워크 계층(Network Layer, 3계층)인 IP계층에서 IP패킷 단위의 데이터 변조 방지 및 암호화 기능을 제공하는 통신 규약을 을 쓰시오
정답
IPSec(Internet Protocol Security)
해설
[참고]
**IPSec(Internet Protocol Security)**은 인터넷 프로토콜(IP) 기반의 네트워크에서 안전한 데이터 전송을 보장하는 프로토콜입니다. IPSec은 3계층(IP 계층)에서 동작하며, 주요 기능은 데이터 무결성, 인증, 기밀성을 보장하는 것입니다.
- 인증 헤더(AH, Authentication Header): 데이터의 변조를 방지하고, 전송된 데이터가 인증된 발신자로부터 온 것임을 보장합니다. 하지만 암호화 기능은 제공하지 않습니다.
- 암호화(ESP, Encapsulating Security Payload): 데이터의 기밀성을 보장하며, 이를 통해 데이터를 암호화하여 전송할 수 있습니다. 또한, 데이터의 무결성과 인증도 지원합니다.
결론적으로, IPSec은 네트워크 계층에서 안전한 데이터 전송을 보장하며, 데이터 변조 방지 및 암호화 기능을 모두 제공합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] 화이트박스 테스트와 블랙박스 테스트 | 애플리케이션 테스트 유형 (1) | 2024.07.22 |
---|---|
[정보처리기사] 재귀함수 | 2022년 정보처리기사 실기 (0) | 2024.07.22 |
[정보처리기사] Python 리스트(List) 관련 주요 메서드 (0) | 2024.07.19 |
[정보처리기사] 데이터베이스 이상현상(Anomaly) : 삽입이상, 갱신이상, 삭제이상 | 정보처리기사 실기 기출문제 (0) | 2024.07.18 |
[정보처리기사] 기능 요구사항 vs 비기능 요구사항: 정의와 예시로 이해하기 (0) | 2024.07.17 |