대칭키 (Symmetric Key) 암호화

암호화와 복호화에  같은 키를 이용하는 방식

 장점  단점
빠르게 암호화 복호화 가능
구현이 간단
 키 전달시 보안에 대한 주의 필요
◎ 송 / 수신자 간에 동일한 키를 공유해야 하므로 많은 사람들과의
정보 교환 시 많은 키를 관리해야 하는 어려움

 

사용 예

▷  jwt (Json Web Tokens)

하나의 비밀키를 사용하여 토큰을 서명하고 검증 -> 토큰을 발급한 서버와 검증해야 하는 서버가 같은 비밀키를 공유해야 함
- 이때, HMAC (Hash-based Message Authentication Code) 이용하여 구현된 알고리즘 HS256, HS384, HS512 을 사용.

 

세션 쿠키 암호화

웹 애플리케이션에서 사용자가 로그인할 때 서버는 사용자의 세션 ID를 생성하고 이를 대칭키를 사용하여 암호화하여 쿠키에 저장

 

이외에도

    - 모바일 장치에 액세스 :  비밀번호, 패턴, 지문 인식 등을 사용하여 데이터를 암호화 복호화

    - 컴퓨터나 모바일 장치 : 개인 파일이나 중요한 문서를 암호화할 때 대칭키 암호화(비밀번호)

    - 온라인거래 / ATM 거래:   사용자의 금융 정보, 개인 정보, 거래 세부정보 를 암호화

 

비대칭키 (Asymmetric Key) 암호화

암호화 복호화 할때 다른 키( 공개키, 개인키)를 이용하는 방식, 공개키 암호화라고도 함

 장점  단점
여러 송신자가 하나의 공개키로 암호화를 수행하기 때문에
사용자가 많더라도 키를 관리하는 데에 유리
복잡한 수학 연산을 사용하기 때문에, 대칭키 암호에 비해 효율성이 떨어질 수 있음

 

암호화 및 복호화 하는 방식 

  ① 송신자는 수신자의 공개키를 획득

 송신자는 수신자의 공개키로 데이터를 암호화

 송신자는 암호화된 데이터를 수신자에게 전달

 수신자는 자신의 비밀키(개인키)로 암호화된 메세지를 해독(복호화)하여 데이터를 확인

 

사용 예

▷ 전자 서명(Digital Signature)

 공개키 암호를 거꾸로 활용하는 방식,
 송·수신자의 역할이 반대로 되어, 개인키를 소유한 사람만이 전자 서명 알고리즘을 통해 *평문에 대한 서명 값을 생성가능
 생성된 서명 값에 대하여 공개키를 이용하면 평문을 검증할 수 있기 때문에, 누구나 그 서명을 검증할 수 있게 되는 방식

  *평문 (plain text) : 암호학에서 평문은 암호 알고리즘의 입력 대상으로 예정이 된 암호화되지 않은 정보를 의미

   - 소프트웨어가 변조되지 않았으며 특정 개발자에 의해 생성되었음을 보증할 때도 사용

 

HTTPS 로 통신시 SSL/TLS 인증서를 사용하는 과정

  웹 서버와 클라이언트 간의 안전한 통신을 보장하기 위해 SSL/TLS 인증서가 사용되는 과정에서 비대칭키 암호화 방식을 적용
      (인증서 제공) 서버가 웹 서버는 SSL/TLS 인증서와 함께 공개 키를 클라이언트에게 제공

       (인증서 검증) 클라이언트가 인증서에서 공개키 획득

      (대칭키 생성) 클라이언트가 무작위로 대칭키를 생성 공개키를 이용하여 암호화

      (대칭키 암호화 및 전송) 공개키를 이용하여 암호화 한 후, 암호화된 대칭키를 서버에 전송

      (대칭키 복호화)서버에서 개인키를 이용하여 복호화하여 대칭키 획득

      ⑥ (세션 쿠키 암호화) 이 키를 사용하여 통신 과정에서 데이터를 안전하게 암호화하고 복호화

           - 이 부분은 대칭키 암호화 방식

 

메시지 암호화

    발신자는 수신자의 공개 키로 메시지를 암호화하고, 수신자는 자신의 개인 키로 이를 복호화하는 방식

    메세지가 전송되는 과정에서 읽히거난 변경되는 것을 방지 : 웹 기반 이메일이나 메시징 앱에서 사용

 

jwt 비대칭키 방식 (RS256, RS384, RS512, ES256)

   토큰 발급자는 개인 키를 보유하고 비밀로 유지하며, 수신자는 공개 키를 사용하여 토큰의 서명을 검증가능

 

참고자료

https://raonctf.com/essential/study/web/asymmetric_key

 

RAON CTF - WEB Essential

DES 암호화 AES 암호화 양방향 암호, 대칭키 암호

raonctf.com

https://lesstif.gitbook.io/web-service-hardening/encryption

 

대칭키 암호화 | web service hardening

대칭키(Symmetric key) 방식은 암호문을 생성(암호화)할 때 사용하는 키와 암호문으로부터 평문을 복원(복호화)할 때 사용하는 키가 동일한 암호 시스템으로 일반적으로 알고 있는 암호 시스템입니

lesstif.gitbook.io

 

https://ko.wikipedia.org/wiki/%ED%8F%89%EB%AC%B8

 

평문 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 시호 평문(平文)에 대해서는 탁발울률 문서를 참고하십시오. 암호학에서 평문(平文)은 암호 알고리즘(보통은 암호화 알고리즘)의 입력 대상으로 예정이 된 암

ko.wikipedia.org

https://seed.kisa.or.kr/kisa/intro/EgovDefinition.do

 

+ Recent posts