White paper 네트워크 장비 보안 강화 가이드 · 기본 포트 변경 네트워크 장치의 기본 포트를 통해서 스캔하거나 공격하는 경우를 막기 위해서는
Chapter 8 네트워크 보안
description
Transcript of Chapter 8 네트워크 보안
Chapter 8네트워크 보안
Computer Networking: A Top Down Approach ,5th edition. Jim Kurose, Keith RossAddison-Wesley, April 2009.
Chapter 8 목차
8.1 네트워크 보안이란 무엇인가 ?8.2 암호학의 원리8.3 메시지 무결성8.4 종단점 인증8.5 전자 메일의 보안8.6 TCP 연결의 보안 : SSL8.7 네트워크 계층의 보안 : IPsec8.8 무선 랜의 보안8.9 운영상 보안 : 방화벽과 침입 방지 시스템
네트워크 보안의 목표
기밀성 (confidentiality): 오직 송신자와 정해진 수신자만이 메시지 내용을 “ 이해” 할 수 있다 . 암호화의 과제
인증 (authentication): 송신자와 수신자는 상호 존재를 확인할 수 있어야 한다 .
무결성 (integrity): 메시지가 전송 중 ( 혹은 후에 ) 변경되지 않은 것을 보장할 수 있도록 한다 .
접근 제어 (access control) 와 가용성 (availability) :사용자는 서비스를 원할 때는 언제든지 받을 수 있어야 한다 .
친구와 적들 : Alice, Bob, Trudy
Bob 과 Alice 는 안전하게 통신을 하고 싶다 . Trudy ( 공격자 ) 는 둘 사이의 메시지를 엿보거나
제거하거나 삭제하려고 한다 .
securesender
securereceiver
channel data, control messages
data data
Alice Bob
Trudy
누가 Bob, Alice 가 될 수 있는가 ? 실제 통신하는 사람들 전자 상거래를 하는 웹 브라우저와 서버 온라인 뱅킹을 하는 client/server DNS 서버 라우팅 정보를 교환하는 라우터들 등등
공격자가 하려는 것은 ? 엿듣기 : 메시지 가로채기 적극적으로 거짓 메시지를 추가한다 . 메시지 내용 변경 이전 메시지를 새로운 메시지로 다시 전송 (replay) 위장 : 패킷의 소스 주소를 가짜 주소로 한다 .(spoof) 하이재킹 : 자신이 송신자 혹은 수신자가 되어 통신을
한다 . 서비스 거부 (denial of service): 다른 사람의
서비스를 받지 못하도록 한다 . 서버의 자원이 고갈되도록 한다 . 소프트웨어의 약점을 이용한 웜 , 바이러스 공격
Chapter 8 목차
8.1 네트워크 보안이란 무엇인가 ?8.2 암호학의 원리8.3 메시지 무결성8.4 전자 메일의 보안8.5 TCP 연결의 보안 : SSL8.6 네트워크 계층의 보안 : IPsec8.7 무선 랜의 보안8.8 운영상 보안 : 방화벽과 침입 방지 시스템
8
암호학 관련 용어
m : 평문 메시지KA(m) : 키 KA 로 암호화된 암호문
m = KB(KA(m))
평문(plaintext)
평문 (plaintext)암호문 (ciphertext)
KA
encryptionalgorithm
decryption algorithm
Alice 의 암호화 키(encryption Key)
Bob 의 복호화 키 (decryption key)
KB
9
간단한 암호화 방법대치 암호 (substitution cipher):
단일 문자 대치 암호
평문 : abcdefghijklmnopqrstuvwxyz
암호문 : mnbvcxzasdfghjklpoiuytrewq
평문 : bob. i love you. alice암호문 : nkn. s gktc wky. mgsbc
예 :
Key: the mapping from the set of 26 letters to the set of 26 letters
암호화 키 (crypto key)
암호화할 때 보통 암호화 키 (key) 를 사용한다 : 암호화 알고리즘은 모든 사람에게 알려져 있다 . 오직 키 (key) 만 비밀로 유지된다 .
왜 암호화 알고리즘을 비밀로 하지 않고 키(key) 만 비밀로 할까 ?
10
11
암호 해독 공격 방법
암호문 만으로 해독 두 가지 접근 방법 :
모든 키에 대해 다 시도해 본다 .
통계 분석
알려진 평문 공격 : 공격자는 어떤 암호문에 대한 평문의 쌍을 알고 있다 .
선택 평문 공격 : 침입자는 평문 메시지를 선택할 수 있고 이에 대응하는 암호문 형태를 얻을 수 있다 .
12
암호화 방법
대칭키 (Symmetric key) 암호화 공개키 (Public key) 암호화
13
대칭키 암호화
대칭키 : Bob 과 Alice 는 공유키를 사용한다 : K
Q: Bob 과 Alice 는 어떻게 이 키를 서로 약속해서 사용할 수 있을까 ? - 키 배분의 문제
평문암호문
K S
encryptionalgorithm
decryption algorithm
S
K S
평문 메시지 m
K (m)S m = KS(KS(m))
14
대칭키 암호화의 두 유형
스트림 암호화 (stream cipher)한 번에 한 비트씩 암호화
블록 암호화 (block cipher)평문 메시지를 동일한 크기의 블록으로
구분하여 블록 단위로 암호화한다 .
15
스트림 암호화
키 스트림 (key stream) 의 각 비트를 평문의 각 비트와 결합하여 암호문의 비트를 생성한다 .
m(i) = 평문 메시지의 i 번째 비트 ks(i) = 키 스트림의 i 번째 비트 c(i) = 암호문의 i 번째 비트 c(i) = ks(i) m(i) ( = exclusive or) m(i) = ks(i) c(i)
keystreamgeneratorkey keystream
pseudo random
16
RC4 스트림 암호화
RC4 는 널리 알려진 스트림 암호화 방법이다 . 키는 1 바이트부터 256 바이트까지 사용 802.11 의 WEP 에서 사용 SSL 에서도 사용할 수 있다 .
17
블록 암호화
메시지는 k 비트의 블록으로 나누어서 암호화한다 . ( 예 , 64-bit 블록 ).
K 비트 길이의 평문 메시지 블록과 k 비트 길이의 암호문 블록과 1 대 1 로 매핑된다 .
예 (k=3):
input output000 110001 111010 101011 100
input output100 011101 010110 000111 001
평문 010110001111 의 암호문은 ?
18
블록 암호화
블록 크기가 작을 경우 : 예를 들면 k=3? How many 3-bit inputs? 3-bit 입력값에 대한 순열 (permutation) 의 수
는 ?• 2k! mappings• 답 : 40,320 ; 너무 적다 !
블록 크기가 너무 클 경우 , 예를 들면 k=64: 입력값에 대한 순열의 수는 264! 하지만 , 64 비트의 각 스트링에 대해서 264 개의
값이 테이블에 존재해야 한다 . 테이블이 너무 커진다 .
19
블록 암호화의 예64-bit input
S1
8bits
8 bits
S2
8bits
8 bits
S3
8bits
8 bits
S4
8bits
8 bits
S7
8bits
8 bits
S6
8bits
8 bits
S5
8bits
8 bits
S8
8bits
8 bits
64-bit 뒤섞음
64-bit output
n 번 순환
8-bit to8-bitmapping
From Kaufmanet al
S-box
20
앞의 예에서 왜 n 번 반복하는가 ? 한번만한다면 입력된 1 비트는 출력문의
최대 8 비트에 영향을 준다 . 두번째 반복하면 이 8 비트는 다시 흩어져서
여러 개의 S-box 의 입력으로 들어가게 된다 . 얼마나 반복해야 하나 ?
카드를 반복해서 섞는 것과 유사한다 . n 이 증가하면 섞는 효과는 감소된다 .
One Round of DES
L
expandL
R
S-boxes(8)
P Box
L R
key
R
Compress
key
48
32 32
32
48
32
32
32
48
28
2828
28
28 28
22
큰 메시지를 암호화할 때
각 블록 마다 독립해서 암호화를 한다면 , 만약 모든 블록에 동일한 키를 사용하면 문제 :
왜냐하면 같은 내용의 블록이 다시 나온다면 암호문도 같아진다 . 그렇다면 공격자가 예측할 수 있는 정보를 제공해 준다 .
만약 각 블록마다 다른 키를 사용한다면 : 매 블록 m(i) 마다 64-bit 의 r(i) 를 랜덤하게 발생 c(i) = KS( m(i) r(i) ) 를 계산 전송 : c(i), r(i), i=1,2,… 수신자는 해독 : m(i) = KS(c(i)) r(i) 문제는 매번 암호문 ( 블록 ) 을 보낼 때 마다 다른
키를 같이 보내야 한다 : c(i) 와 r(i)
만약 모든 블록을 동일한 키를 사용하면
어떻게 이렇게 되었는가 ? 동일한 평문의 블록 동일한 암호문 !
Alice 의 압축된 파일을 암호화하여 표시할 때
24
암호 블록 연결 (CBC)
현재의 블록을 암호화할 때 이전 블록의 결과를 사용한다 . c(i) = KS( m(i) c(i-1) )
m(i) = KS( c(i)) c(i-1)
그러면 첫번째 블록을 어떻게 암호화할 것인가 ? 초기 벡터 (IV): 랜덤하게 생성된 블록 = c(0) IV 는 비밀값일 필요는 없다 .
각 메시지 마다 ( 혹은 세션마다 ) IV 값을 변경한다 . 동일한 메시지를 반복해서 전송하더라도 암호문은 매번
변경되도록 한다 .
Cipher Block Chaining(CBC) 만약 입력 블록이
동일하다면 동일한 암호문이 만들어 진다 .
t=1m(1) = “HTTP/1.1” block
cipherc(1) = “k329aM02”
…
cipher block chaining: i번째 입력 블록과 이전 암호문의 블록을 XOR
+
m(i)
c(i)
t=17m(17) = “HTTP/1.1”block
cipherc(17) = “k329aM02”
blockcipher
c(i-1)
CBC 모드로 암호화
Alice’ 의 압축되지 않은 이미지를 CBC (TEA) 를 사용하여 암호화하였다 .
왜 이렇게 되었는가 ? 동일한 평문일지라도 다른 암호문을 만들어낸
다 !
27
대표적 대칭키 암호화 방법 : DES
DES: Data Encryption Standard US 암호 알고리즘 표준 [NIST 1993] 56-bit 대칭키 사용 , 64-bit 크기의 블록 암호문 블록 연결 (cipher block chaining) DES 는 얼마나 안전한가 ?
무차별 공격 (brute force) 으로 하루 안에 암호를 풀 수 있다 .
안전의 문제는 키의 길이와 메시지의 암호를 푸는 컴퓨터의 계산 능력에 달려 있다 .
3DES 키의 길이를 DES 의 3배로 하여 암호화한다 .
28
AES: Advanced Encryption Standard
미국의 새로운 암호 알고리즘 표준 [2001]: DES 를 대체
블록 크기 : 128 bit 키의 길이 : 128, 192, or 256 bits 무차별 공격 (brute force) 으로 동일한
암호문을 풀 경우 , DES 의 경우 1초가 걸린다면 AES 는 149 trillion years 가 걸린다 .
29
공개키 암호화
대칭키 암호화는 송수신자 만이 공유하는 비밀키를 가져야 한다 .
Q: 어떻게 둘 만의 비밀키를 가질 수 있는가 ( 특히 둘이 서로 직접 만날 수 없다면 )?
공개키 암호화 완전히 다른 접근 방법
[Diffie-Hellman76, RSA78]
송신자와 수신자는 비밀키를 공유하지 않는다 .
공개키는 모두에게 공개된다 .
개인키는 오직 각 개인들만 갖고 있다 .
30
공개키 암호화
plaintextmessage, m
ciphertextencryptionalgorithm
decryption algorithm
Bob 의 공개키
plaintextmessageK (m)
B+
K B+
Bob 의 개인키 K B-
m = K (K (m))B+
B-
31
공개키 암호화 알고리즘
K 와 K 필요B B
공개키 K 에서 개인키 K 를 찾아낼 수 없다 .
BB
요구사항 :
1
2
RSA: Rivest, Shamir, Adelson algorithm
+ -
K (K (m)) = m BB
- +
+ -
32
간단한 modular arithmetic
x mod n = x 를 n 으로 나누었을 때 나머지(remainder)
법칙 :[(a mod n) + (b mod n)] mod n = (a+b) mod n[(a mod n) - (b mod n)] mod n = (a-b) mod n[(a mod n) * (b mod n)] mod n = (a*b) mod n
따라서 (a mod n)d mod n = ad mod n 예 : x=14, n=10, d=2:
(x mod n)d mod n = 42 mod 10 = 6xd = 142 = 196 xd mod 10 = 6
33
RSA: 공개키와 개인키 생성
1. 두 개의 큰 소수 p, q 를 선택한다 .
2. n 과 z 를 계산 : n = pq, z = (p-1)(q-1)
3. e (with e<n) 를 선택한다 . e 와 z 는 “서로 소” ( 공약수가 없다 ).
4. d 를 선택한다 . ed-1 는 z 로 나누어진다 . (ed mod z = 1 ).
5. 공개키 : (n,e). 개인키 : (n,d).
K B+ K B
-
34
RSA: 암호화와 복호화
0. (n,e) 과 (n,d) 를 앞에서와 같이 계산
1. m(<n) 을 다음과 같이 암호화
c = m mod n
e
2. c 를 복호화
m = c mod n
d
m = (m mod n)
e mod n
dMagichappens!
c
35
c = me mod n, cd mod n = m
for any x and y: xy mod n = x(y mod z) mod n where n= pq and z = (p-1)(q-1)
따라서 , cd mod n = (me mod n)d mod n
= med mod n = m(ed mod z) mod n = m1 mod n = m
36
RSA 예 :
p=5, q=7. Then n=35, z=24.e=5 (따라서 e 와 z 는 서로 소 ).d=29 (따라서 ed-1 는 z 로 나누어진다 ).
bit pattern m me c = m mod ne
0000l000 12 24832 17
c m = c mod nd
17 481968572106750915091411825223071697 12
cd
encrypt:
decrypt:
37
RSA: 또 다른 중요한 성질
K (K (m)) = m BB
- +K (K (m))
BB+ -
=
먼저 공개키를 적용 , 다음에
개인키를 적용
개인키를 먼저 적용 , 다음에
공개키를 적용
결과는 동일하다 !
38
다음과 같은 modular 연산에 의해서 성립 :
(me mod n)d mod n = med mod n = mde mod n = (md mod n)e mod n
K (K (m)) = m BB
- +K (K (m))
BB+ -
=왜 ?
39
왜 RSA 는 안전한가 ? Bob (n,e) 의 공개키를 알고 있을 때 , d 를 찾는
것이 얼마나 어려운가 ? 이것은 n 을 인수분해하여 두 개의 소수 p 와 q 를 얼마나 빨리 찾을 수 있느냐에 달려있다 .
커다란 수의 두 소수 p,q 를 찾는 것은 어렵다 .
RSA 키 생성 두 개의 커다란 소수 p 와 q 를 찾아야 한다 .
40
공개키의 응용
공개키 사용의 문제점 지수 연산은 계산 시간이 많이 요구된다 . DES 는 적어도 RSA 보다 100 배 빠르다 .
따라서 공개키를 긴 메시지 전체를 암호화하는데는 사용하지 않는다 .
공개키의 응용 공개키를 사용하여 대칭키를 암호화하여 전송하고
메시지의 암호화는 대칭키를 사용한다 .디지털 서명 인증
Chapter 8 목차
8.1 네트워크 보안이란 무엇인가 ?8.2 암호학의 원리8.3 메시지 무결성8.4 전자 메일의 보안8.5 TCP 연결의 보안 : SSL8.6 네트워크 계층의 보안 : IPsec8.7 무선 랜의 보안8.8 운영상 보안 : 방화벽과 침입 방지 시스템
42
메시지 무결성 (integrity) 통신 개체들이 수신한 메시지가 진짜인 것을
증명 메지지의 내용이 변경되지 않았다 . 메시지의 생성자가 내가 그런 것으로 알고 있는
개체이다 . 이전 메시지가 다시 전송되지 않았다 . 전송되는 메시지의 순서가 유지되었다 .
접근 방법 메시지 다이제스트 (message digest)
43
해쉬 함수와 메시지 다이제스트
함수 H( ) 는 임의의 길이의 메시지를 입력으로 받아서 고정된 길이의 메시지 스트링을 만들어낸다 .
H( ) : many-to-1 함수 H( ) 는 “ 해쉬 함수 (hash
function)” 라고 불리운다 .
요구되는 특성 : 계산이 용이 단방향 : H(m) 에서 m 을 찾을 수 없다 .
충돌 방지 : H(m) = H(m’)인 m 과 m’ 을 계산하는 것은 어려워야 한다 .
출력값은 랜덤해야 한다 .
large message
m
H: HashFunction
H(m)
44
checksum: 불완전한 해쉬 함수
에러 코드로 사용하는 checksum 은 해쉬 함수의 특성을 갖고 있다 : 고정된 길이의 메시지 다이제스트 (16-bit sum) 를 생성한다 . many-to-one
하지만 어떤 해쉬값을 갖는메시지가 있을 때 동일한 해쉬값을 갖는 또 다른 메시지를 쉽게 찾을 수 있다 .
예 : 단순한 체크섬 :
I O U 10 0 . 99 B O B
49 4F 55 3130 30 2E 3939 42 D2 42
message ASCII format
B2 C1 D2 AC
I O U 90 0 . 19 B O B
49 4F 55 3930 30 2E 3139 42 D2 42
message ASCII format
B2 C1 D2 AC다른 메시지하지만 동일한 checksum!
45
해쉬 함수 (hash function) 알고리즘 MD5 (RFC 1321)
널리 사용되고 있다 . 4단계의 계산으로 128-bit 메시지 다이제스트를
생성한다 . SHA-1
US 표준 [NIST, FIPS PUB 180-1]
160-bit 메시지 다이제스트
46
메시지 인증 코드 (MAC)m
ess
ag
e
H( )
s
mess
ag
e
mess
ag
e
s
H( )
compare
s = shared secret
송신자를 인증한다 (authenticate) 메시지 무결성을 증명 암호화는 없음 ! “keyed hash” 라고도 불리움 MDm = H(s||m) ; 전송 m||MDm
47
HMAC (RFC 2104)
널리 사용되고 있는 MAC 표준 MD5 나 SHA-1 해쉬 함수와 함께 사용될 수
있다 . 응용 예 : OSPF
공걱• 메시지 삽입• 메시지 제거• 메시지 수정
어떻게 라우터는 전송받은 메시지가 진짜인지 알 수 있는가 ?
종단 개체 인증(End-point authentication) Bob 이 Alice 로부터 메시지 (m) 와 함께
MAC 을 받았다 . Bob 은 이 메시지가 중간에 변경되지
않았다는 것을 확신할 수 있는가 ? Bob 은 이 메시지를 Alice 가 만들었다는
것을 확신할 수 있는가 ? Bob 은 이 메시지를 Alice 가 보냈다는 것을
확신할 수 있는가 ?
48
MACTransfer $1Mfrom Bill to Trudy
MACTransfer $1M fromBill to Trudy
메시지 재사용 (playback) 공격
MAC =f(msg,s)
“I am Alice”
R
MACTransfer $1M from Bill to Susan
MAC =f(msg,s,R)
메시지 재사용 공격에 대한 방어 : nonce
51
디지탈 서명 (digital signature)
손으로 하는 서명과 유사한 방법 . 송신자 (Bob) 는 자신이 무선의 소유자 /작성자임을
증명하는 서명을 한다 . 목표는 MAC 과 유사 , 하지만 공개키 암호화를
사용한다 . 위조 불가능 : 수신자 (Alice) 는 오직 Bob 만이 이
문서에 서명했다는 것을 증명할 수 있다 .
52
디지털 서명
메시지 m 에 대한 간단한 서명 : Bob 은 자신의 개인키로 암호화된 문서를
생성한다 .
Dear Alice
Oh, how I have missed you. I think of you all the time! …(blah blah blah)
Bob
Bob’s message, m
Public keyencryptionalgorithm
Bob’s privatekey
K B-
Bob’s message, m, signed
(encrypted) with his private key
K B-(m)
53
large message
mH: Hashfunction H(m)
digitalsignature(encrypt)
Bob’s private
key K B-
+
Bob 은 디지털 서명한 메시지를 전송한다 .
Alice 는 디지털 서명의 진위를 증명한다 .
KB(H(m))-
encrypted msg digest
KB(H(m))-
encrypted msg digest
large message
m
H: Hashfunction
H(m)
digitalsignature(decrypt)
H(m)
Bob’s public
key K B+
equal ?
메시지 다이제스트를 이용한 디지털 서명
54
디지탈 서명 Alice 는 메시지 m 과 디지털 서명 KB(m) 을 받았다고 하자 .
Alice 는 Bob 의 공개키 (KB ) 로 KB(m) 을 복호화한다 :
KB(KB(m) ) = m.
만약에 KB(KB(m) ) = m 이면 Bob 이 서명한 것을 증명할 수 있다 .
+
+
-
-
-
-
+
Alice 는 다음을 증명 : 오직 Bob 만이 m 을 서명 , 따라서 확실히 Bob 이 m
을 보냈다 . 메시지의 무결성은 ?
부인 봉쇄 (Non-repudiation): Alice 는 Bob 이 m 을 사인한 것을 부인한다면 그것이
거짓임을 증명할 수 있다 . -
부인 봉쇄 (non-repudiation)
Alice 는 Bob 으로부터 주식 100 주를 주문했다 .
Alice 는 대칭키로 MAC 을 계산했다 . 그런데 주식값이 떨어지자 , Alice 는 자신이
주문한 것을 부인했다 . Bob 은 Alice 가 주문한 것을 증명할 수 있을까 ?No! Bob역시 대칭키를 알고 있기 때문에
주문을 조작할 수 있다 . 문제 : Bob 은 Alice 가 주문한 것을 알고 있다 .
하지만 그것을 증명할 수 없다 .55
부인 봉쇄 (Non-repudiation)
Alice 는 Bob 으로부터 주식 100 주를 주문했다 .
Alice 는 자신의 개인키로 주문에 서명을 했다 . 그런데 주식값이 떨어지자 , Alice 는 자신이
주문한 것을 부인했다 . Bob 은 Alice 가 주문한 것을 증명할 수 있을까 ?Yes! Alice 의 개인키를 갖고 있는 사람 만이
주문에 서명을 할 수 있다 .물론 Alice 의 개인키가 도난당하지 않았다는
가정을 해야 한다 .( 키 폐기 문제 )56
57
공개키 인증
동기 : Bob 의 공개키라고 하는데 진짜 Bob의 공개키인지 어떻게 믿을 수 있는가 ? Trudy 는 Bob 의 이름으로 피자를 주문 : Trudy 는 자신의 개인키로 주문서를 서명한다 . Trudy 는 피자 가게에 주문서를 전달한다 . Trudy 는 피자 가게에 자신의 공개키를 주면서
Bob 의 공개키라고 알려준다 . 피자 가게는 서명을 증명하고 피자는 Bob 이
주문한 것으로 믿는다 .
58
인증 기관 (Certification Authoritie) 인증 기관 (CA): 특정 개체의 공개키가 사실인 것을
증명한다 . E (person, router) 는 CA 에 자신의 공개키를
등록한다 . E 는 CA 에 자신을 증명한다 . CA 는 E 와 E 의 공개키를 결합하는 인증서를 만든다 . 인증서는 CA 의 개인키로 암호화한다 . 만약 CA 를 신뢰할 수 있다면 E 의 공개키를 믿을 수 있다 .
Bob’s public
key K B+
Bob’s identifying informatio
n
digitalsignature(encrypt)
CA private
key K CA-
K B+
certificate for Bob’s public
key, signed by CA
59
인증 기관 Alice 가 Bob 의 공개키를 원하다면 :
Bob 의 인증서를 구한다 . Bob 의 인증서에 CA 의 공개키로 복호화하여
Bob 의 공개키를 구한다 .
Bob’s public
key K B+
digitalsignature(decrypt)
CA public
key K CA+
K B+
60
인증서
표준 : X.509 (RFC 2459) 인증서는 다음을 포함한다 .
발행자 이름 개체 이름 , 주소 , 도메인 이름 등 . 개체의 공개키 전자 서명 ( 발행자의 개인키로 서명 )
공개키 구조 (PKI) 인증서와 인증 기관의 구조를 보여 준다 .
X.509 인증서 예 (1)
다음 그림은 www.freesoft.org 의 공개키를 인증하는 인증서이다 .
인증 기관은 Thwate Thwate 는 인증서를 인증하기 위해서
인증서의 마지막 부분에 자신의 개인키로 sign 을 하였다 (signature).
이 인증서를 받는 사람은 Thwate 의 공개키로 인증서의 마지막 부분의 signature를 확인할 수 있다 .
X.509 인증서 예 (2)
그러면 , 사용자는 Thwate 의 공개키를 어떻게 알 수 있는가 ?
Thwate 는 자신의 공개키를 자신의 개인키로 서명한 인증서를 통해서 사용자에게 알려준다 .
다음 그림은 Thwate 가 자신의 공개키를 알려주는 인증서이다 .
X.509 인증서 예 (3)
그러면 이 인증서를 받은 사용자는 Thwate가 신뢰할 수 있는 인증 기관인지 어떻게 확신할 수 있는가 ?
신뢰할 수 있는 기관의 Root certificate 는 브라우저에 사전에 설치되어 있다 . 이러한 인증 기관들은 브라우저에 사전에 설치될
수 있는 특권을 사게 된다 .