본문 바로가기

Programming Theory/Security

SSL

1. 해킹 방법과 암호화 기술 발전

해킹 방법

암호화 기술 발전 

암호화 규칙을 찾아서 복호화

 

 

컴퓨터 기술의 발전으로 충분히 복잡해진 암호화 규칙을 찾아낼 수 없음 

암호화키 전달 과정에서 암호화키 탈취 

 

 

암호화키를 전달하지 않음


2. 암호화키를 전달하지 않는 암호화 기술

 1) 명칭 : RSA

 2) 방식 

   a. 공개키와 비공개키 (비대칭키) 이용

     - 공개키로 암호화된 것은 비공개키로만 복호화할 수 있음 

       => 보관되어 있는 비공개키를 탈취하지 않는 이상 복호화 불가

     - 수학적으로 충분히 복잡하기 때문에 공개키로 비공개키를 알아내는 것은 불가능

       => 공개키를 탈취해도 의미가 없음

   b. 암호화 및 복호화 5단계

암복호화 주체

A (복호화 주체)

B (암호화 주체)

단계1

'공개키A'+'비공개키A' 생성

 

단계2

'공개키A' 를 B로 전달

 

단계3

 

전달받은 '공개키A' 로 암호화할 대상 암호화

단계4

 

'공개키A'로 암호화한 대상을 A로 전달

단계5

전달받은 '공개키A'로 암호화한 대상을 '비공개키A'로 복호화

 

 3) 단점 

   이론적으로 완벽하나, 암호화와 복호화에 시간이 많이 소요되어 성능이 떨어짐


3. RSA 방식을 이용해서 대칭키 전달 

  1) 명칭 : SSL (Secure Sockets Layer)

  2) 방식 

    a. RSA 방식을 이용해서 대칭키 전달

       아래 단계 중 단계1~단계5까지는 한번만 수행. 단계6~8까지는 수시로 수행 

암복호화 주체

A

B

단계1

'공개키A'+'비공개키A' 생성

 

단계2

'공개키A'를 B로 전달

 

단계3

 

'대칭키B' 생성 

단계3

 

전달받은 공개키A 로 '대칭키B' 암호화

단계4

 

'공개키A'로 암호화한 '대칭키B'를 A로 전달

단계5

전달받은 '공개키A'로 암호화한 '대칭키B'를 '비공개키A'로 복호화

 

단계6

암호화할 대상을 '대칭키B'로 암호화

 

단계7

'대칭키B'로 암호화한 대상을 B로 전달 


단계8  

'대칭키B'로 '대칭키B'로 암호화한 대상을 복호화