🚀 RSA 암호화 알고리즘이란?
- 공개키 암호 시스템 중 하나
- 암호화 뿐만 아니라 전자서명이 가능한 최초의 알고리즘
- 전자상거래에서 가장 흔히 쓰이는 공개키 알고리즘
- 암호화 알고리즘의 핵심은 큰 정수의 소인수 분해가 어렵다는 점을 이용하여 암호화
암호화할 때는 마음대로지만 해독할 때는 아니다.
🚀 그렇다면 공개키(public key)는 무엇일까?
- 대칭키 암호화와 달리 암호화와 복호화에 서로 다른 키를 사용하는 암호화 방식
- 공개키 암호화는 공개키와 비밀키(private key)를 사용하여 암호화 및 복호화하는 기술
공개키를 더 알아보기전에 대칭키를 간단하게 알아보자
1. 대칭키 기법
- 비밀키 하나만 사용
- 암호화 및 복호화에 같은 키(대칭)를 사용하는 암호화 알고리즘
- 키를 안전하게 교환하는 것이 가장 중요한 부분이며, 대칭키 탈취 시 쉽게 암호화된 데이터 알 수 있음
2. 공개키 기법
- 공개키와 비밀키 두 개를 사용하여 암호화 및 복호화
- 공개키(Public Key) : 누구나 알아도 되는 키
- 비밀키(Private Key) : 소유자만 아는 키
공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고도 불린다.
암호화와 복호화에 사용하는 키가 서로 다르다.(비대칭)
- 공개키 암호화 → 비밀키 복호화
- 비밀키 암호화 → 공개키 복호화
2-1. 공개키 암호화
- 공개키는 누구나 아는 키이므로, A가 B에게 보낼 때 B의 공개키로 암호화하여 전송
- 이 때, B의 공개키로 암호화했기에 B의 비밀키로 복호화 가능
- 해커가 탈취해도 정보를 알 수 없음 (대칭키의 키값 교환 문제 해결)
- 해커가 파일 탈취하여 B의 공개키로 이상한 파일을 암호화하여 보낼 위험성 존재
2-2. 개인키(비밀키) 암호화
- A의 비밀키로 암호화하여 B에게 전송할 경우, A의 공개키로 복호화 가능
- 이 때, 모든 이가 A의 공개키를 알기에 해커가 탈취해서 열어볼 수 있음
- 누구나 열 수 있기에 보안 위험성 존재하지만, A가 보낸것이 100% 신뢰 가능하다는 점
- 즉, 누가 보냈는지에 대한 인증에 관한 문제 해결
- A의 비밀키는 A만 가지고 있으므로 A만 비밀키로 암호화 가능
- 이 기술은 전자서명 등의 공인인증체계의 기본이 되기도 함
2-3. 공개키 암호화와 비밀키 암호화 둘 다 문제점이 있는데 위험한 것 아닌가?
결론은 두 번 암호화를 하면 된다.
- A의 공개키로 안열리면 A가 보낸 것 X
- A의 공개키로 열어도 B의 비밀키로 정보를 열어야 확인 가능
- B의 비밀키는 B만 가지고 있기에 아무나 정보를 알 수 없음
- 즉, A가 보내는 정보는 안전하게 B에게 전송 가능하며 아무나 정보를 알 수 없음
'개발 etc' 카테고리의 다른 글
[CSS] 구글에서 제공하는 폰트 사용하기 (0) | 2022.07.14 |
---|---|
로그인, 로그아웃에는 무슨 HTTP 메소드를 써야할까? (0) | 2022.04.06 |
OSI 7계층 예시 (0) | 2022.03.18 |
로그인 세션 과정과 세션에 대한 문제점 (0) | 2022.03.18 |
Nginx란? (7) | 2022.02.21 |