철수와 영희가 있다고 가정하자.
공개키: 남에게 공개하는 키.
개인키: 남에게 절대 알려서는 안되는 키.
철수 공개키: aaaa
철수 개인키: bbbb
영희 공개키: cccc
영희 개인키: dddd
aaaa로 암호화하면 bbbb로 풀 수 있다.
bbbb로 암호화하면 aaaa로 풀 수 있다.
cccc로 암호화하면 dddd로 풀 수 있다.
dddd로 암호화하면 cccc로 풀 수 있다.
이메일 주고받는 과정은 다음과 같다.
철수 -> 영희
1. 철수는 상대방 공개키(cccc)로 이메일 내용을 암호화한다.
2. 철수는 자신의 개인키(bbbb)로 이메일을 서명한다.
3. 철수는 상대방 공개키(cccc)로 이메일을 전송한다.
4. 영희는 자신의 개인키(dddd)로 암호화를 해제하고 내용을 확인한다.(ex. "안녕 영희야")
5. 영희는 상대방의 공개키(aaaa)로 이메일의 서명을 검증한다. 이로써 정말 철수가 보낸 메일임을 확인한다.
영희 -> 철수
1. 영희는 상대방 공개키(aaaa)로 이메일 내용을 암호화한다.
2. 영희는 자신의 개인키(dddd)로 이메일을 서명한다.
3. 영희는 상대방 공개키(aaaa)로 이메일을 전송한다.
4. 철수는 자신의 개인키(bbbb)로 암호화를 해제하고 내용을 확인한다.(ex. "안녕 철수야")
5. 철수는 상대방의 공개키(cccc)로 이메일의 서명을 검증한다. 이로써 정말 영희가 보낸 메일임을 확인한다.
여기서 왜 이메일 내용은 상대방 공개키로 암호화하고, 서명은 내 개인키로 하는지 궁금할 수 있다.
내 공개키로 이메일 내용 암호화: 내 개인키를 알아야 암호화를 해제할 수 있는데 상대방이 내 개인키를 모르므로 암호화를 풀 수 없어서 메일보내는 의미가 없어진다.
내 개인키로 이메일 내용 암호화: 내 개인키로 암호화할 경우 내 공개키를 이용해 암호화를 해제할 수 있다. 내 공개키는 공개되어 있으므로 개나소나 암호화를 해제할 수 있다. 그래서 암호화하는 의미가 없어진다.
상대방 개인키로 이메일 내용 암호화: 애초에 상대방 개인키를 모르므로 불가능하다.
내 공개키로 서명: 내 개인키를 알아야 서명을 검증할 수 있는데 상대방이 내 개인키를 모르므로 서명을 검증할 수 없어 서명하는 의미가 없어진다.
상대방 공개키로 서명: 내 개인키로 서명하는 것은 오직 나 자신만이 가능하지만, 상대방 공개키로 서명하는 것은 개나소나 가능하다. 그래서 이 메일보낸 사람이 나라는 것을 전혀 증명하지 못하므로 서명하는 의미가 없어진다.
상대방 개인키로 서명: 애초에 상대방 개인키를 모르므로 불가능하다.
그러므로 이메일 내용은 상대방 공개키로 암호화하고, 서명은 내 개인키로 한다.
PGP를 이해하는 데 도움이 되었길 바란다.
구독자 3408명
알림수신 19명
컴퓨터를 좋아하는 사람들의 모임
보안
PGP, GPG 간단 이해
추천
1
비추천
0
댓글
3
조회수
191
작성일
댓글
글쓰기
떠도는분재관리사
ㅇㅇ (203.226)
삭제
수정
떠도는분재관리사
최근
최근 방문 채널
최근 방문 채널
번호
제목
작성일
조회수
추천
공지
아카라이브 모바일 앱 이용 안내(iOS/Android)
27959938
공지
컴퓨터공학 채널 규칙 (2023-10-05 개정)
857
공지
빠르게 원하는 답변을 받기 위해 피해야 할 질문 방식
2188
공지
신문고
250
숨겨진 공지 펼치기(1개)
34
보안
아래 랜섬웨어 걸렸다는 글 봤는데 질문있음
[7]
192
0
33
보안
한국은 보안쪽으론 취업하기 힘들다는데 사실임?
[7]
263
0
32
보안
개인 VPS 쓸 때 팁
130
2
31
보안
시스템 해킹과 보안 이 책 괜찮음?
148
-1
30
보안
PGP, GPG 간단 이해
[3]
192
1
29
보안
옛날에 root 계정 비밀번호 toor로 할 때가 좋았는데
194
0
28
보안
django로 짠 웹 사이트 비밀번호는 안전할 듯
[5]
224
0
27
보안
백신 Reason Cybersecurity 좋은가요?
[3]
288
-2
26
보안
모든 사용자에 대해 동일한 암복호화 키를 사용하는 건 보안약점이 아닌가?
[12]
228
0
25
보안
아카 계정 탈취하는 것도 만들 수 있지 않을까
[7]
317
0
24
보안
이번에 발견된 자바 취약점 좀 어이없는 부분이 있다
[5]
399
0
23
보안
log4j 얘기 하러왔는데 아무 말 없네..
[4]
334
0
22
보안
오늘 갑자기 스팀결제되서 계정이잠겼는데 어떻게해야되나여
120
0
21
보안
비트디펜더 쓰는사람 있음?
[2]
317
0
20
보안
Bitlocker에 대해 궁금증이 있습니다
[2]
144
0
19
보안
형들... 나 좀 도와줘... (해킹)
[3]
554
0
18
보안
ip주소도 숫자 값이 1씩 올라가나?
[5]
298
0
17
보안
VPN에 대해 질문이 있습니다
[6]
356
1
16
보안
VeraCrypt
[2]
285
0
15
보안
[연구용 배포] 한국인터넷진흥원 내PC돌보미
[6]
464
2
14
보안
멀웨어 감염 대처
[13]
294
1
13
보안
포맷 스트링 공격에서 16진수 보수 연산
[1]
234
0
12
보안
host 파일 수정 질문 있습니다!
[8]
177
0
11
보안
빌어먹을 티샤크ㅡㅡㅡㅡㅡㅡㅡㅡ
157
0
10
보안
보안 프로그램보다 중요한 보안 의식
[2]
700
3
9
보안
컴퓨터 보안 관련해서 물어봐도 괜찮겠노?
[2]
553
-2
8
보안
인터넷 속도가 비대칭인데, 통신 회사가 해킹을 하기 위해 이렇게 할 가능성이 있나요?
[10]
469
2
7
보안
경찰 사이버수사대 IP 추적 회피하는 방법
[3]
8603
4
6
보안
V8 자바스크립트 엔진의 Math.random 구현
[3]
835
9
5
보안
일단 다른 글이나 올려 봐야겠네요.
189
4
사용하고 계신 브라우저가 시간대 설정을 지원하지 않으므로 GMT 시간대가 적용됩니다.