• 일반적인 암호화 기술 내용.
  • 암호화
    • 평문 -(암호화키)> 암호문 -(암호화키)>평문
      • 세계대전에서 독일군이 사용했던 암호문.
  • 대칭키와 비대칭키
    • 비대칭키 : 비밀키를 통해 암호화하고 공개키를 사용해 복호화. 역으로 공개키로 암호화하고 비밀키로 복호화를 할 수 있음. ⇒블록체인 방식.
    • 대칭키 : 암호화와 복호화를 동일한 키를 사용.
  • RSA
    • 공개키 암호시스템
      • RSA는 PKI(공개키 암호시스템)의 대표적인 알고리즘으로 1978년 처음 등장하였다.
    • 큰 수의 소인수분해
      • 큰 수의 소인수 분해가 어렵다는 수학적 특징을 이용한 알고리즘으로 양자 컴퓨터 등장 시 무용지물 될 가능성이 존재한다.
    • 비대칭키
      • 공개키와 비밀키 두 개를 사용한 비대칭키 방식으로 어떤 키를 암호화 하느냐에 따라 다른 방식을 제공한다.
    • RSA-2048
      • RSA 2048은 2048bit를 사용하는 가장 대중적인 알고리즘으로 인터넷 뱅킹의 대부분이 사용중이다.
  • 이산대수 문제의 어려움(EIGamal 방정식)
    • p가 소수이고 g가 원시원소일 때 g,xp를 이용하여 y=gxmodpy = g^x mod p를 구하기 쉽지만, g,y,p를 이용하여 지수승 x를 구하기는 어려움.
    • x를 알때에는 y 값을 쉽게 구할 수 있지만. y를 알때에는 x를 구하려면 모두 계산을 해봐야한다.
    • 1) 두 소수 p, q를 생성한다.
      2) p-1, q-1과 각각 서로소인 정수 e를 준비한다.
      3) ed를 (p-1)(q-1)으로 나눈 나머지가 1이 되도록 하는 d를 찾는
      4) N = pq를 계싼한 후, N과 e를 공개한다.
      5) p,q, (p-1),(q-1)를 파기한다.
      공개키는 e가 되고 개인키는 d가 된다.
    • 암호화) x=aemod(N)x = a^e mod(N) (평문 a을 공개키로 암호화하여 x 생성)
      복호화) a=xdmod(N)a' = x^dmod(N) (암호화문 x를 개인키 d로 복호화하여 a 생성)
    • ⇒ 공개키에서 비밀키를 구하기 어려운 이유.
  • 공인인증서
    • 공인인증서는 RSA-2048 알고리즘으로 발행된 X509표준 인증서이다. 공개키와 개인키를 포함하여 발급되며 개인키는 사용자의 PC에 저장되고 공개키는 자용자와 AD(Active Directory)에 모두 저장되는 형태이다.
    • 사용자 → 은행(RA) : 인증서 발급 요청
    • 은행(RA) → 금융결제원(CA) : 인증서발급 요청
    • 금융결제원(CA) → AD : 인증서 정보 등록
    • 사용자 → 정부 24 : 서명
    • 정부 24 → AD : OCSP 검증, 복호화
  • SSL 인증서
    • HTTPS는 HTTP Protocol위에 데이터 송수신 데이터의 안전한 전송을 위해서 진행하는 SSL 인증 전송 방식이다. SSL 인증서는 CA 기관을 통하거나 Self-Signed 방식을 통해서 발급이 누구든 가능하다.
    • Borwser → Web Service : 사용자 request
    • Web Service → Web Service : Response 암호화
    • Web Service → Broswer : Response 전달
    • Browser → Browser : 공개키 확인 (CA)
  • 사이트 비밀번호
    • RSA 암호화 방식
      • 사용자에게 비밀번호를 알려줌.
      • 복호화가 가능.
    • Hash 방식
      • 비밀번호 초기화
      • 복호화가 불가능.
profile
"프로그래밍은 저의 상상을 실현 시킬 수 있는 유일한 도구입니다."

0개의 댓글