Network

VPN

tpcable 2020. 11. 9. 14:45

VPN 아래의 3가지를 만족해야 함

authenticity - 상대방이 맞는지

integrity - 데이터가 중간에 변경되지는 않았는지

confidentiality - 데이터를 중간에 누가 훔쳐 보지 않았는지


암호화 알고리즘 = confidentiality 


1. 대칭형 암호화(Symetric Enctyption)

- 동일한 key를 가지고 암호화/복호화

- 속도가 빠름

- 주로 데이터 암호화에 사용

- DES(비권장), 3DES, AES


2. 비대칭형 암호화(Asymmetric Encryption)

- 서로 다른 key를 가지고 암호화/복호화

- 두 키 모두 암호화/복호화 가능

- 복호화에 시간이 오래걸림

- Digital Signature에 사용

- RSA Encryption(Public key & Private Key)


Hash 알고리즘 

1. Hash란?

- 데이터를 특정 함수를 통해 정해진 길이의 고유 값을 생성

- 고유 값은 중복 X

- Hash 자체로는 보안 기능이 없음


2. HMAC(Hash Message Authentication Code) = Integrity 

- Hash를 할 때 공유 key를 사용해 Hash를 돌림

- key를 모르면 Hash를 맞출 수 없음

- MD5 < SHA-1


DH(Diffie-Hellman)알고리즘

- 보안이 안된 통신채널을 통하는데 결과적으로는 둘만 알고 있는 비밀 공유키를 생성하는 알고리즘

- 이 키는 Symmetric Encryption or HMAC에서 사용됨



IKE / IPSec


Phase 1: 노출되는 과정

- Phase2를 위한 준비단계, 상대방 검증

- tunnel = SA(Security Association)

- phase1을 마치면 SA라는게 생성 됨(검증, 키?, 어떻게 암호화)

- 6개의 메세지를 완료하는 Main 모드, 3개의 메세지를 완료하는 Aggressive 모드



Phase 2: 보호되는 과정

- 데이터 암호화를 위한 준비단계

- Quick 모드



Main

1. 어떤방식을 할지(어떤암호화, 어떤해쉬방식)

2. key는 어떻게(DH)

                  3. 누군지는 키를 통해 암호화(상대방에 대한 인증정보는 DH를 통한 키값으로 암호화) ==> 이후 phase 1 터널 생성(IKE 터널)

|----------|-----|----------------|

         Phase1                Phase2

                                  1. key는? 새로 쓸지 기존에 것 쓸지 다른 키를 사용하는 방식은 Perfect Forward Security라고함(phase1 phase2 키가 다른것)                           2. 어떻게 보낼지?(암호화 되어있음) ==>IPSec 터널


참고자료: https://www.youtube.com/watch?v=0c7B1CPvVUY&feature=youtu.be