[정보보안] 암호 알고리즘, 전자상거래 (전자서명, 전자봉투)

ssoxong·2024년 10월 21일

CS

목록 보기
8/13

암호화의 목적

  • 감추어서 볼 수 없게 하는 것
  • 그 자체를 보아도 알 수 없게 하는 것
  • 변조 여부를 알 수 있게 하는 것

암호 활용

  • 은행 계좌 이체 시 정보 암호화
  • VPN
  • 파일, DB 암호화, HTTPS
  • 사이버 공격 방어

대칭키

DES

64bit 블록 암호화 알고리즘
56bit 크기의 암호화 키로 암호화

  1. initial permutation
    64bit plain 초기 전치(IP) -> 위치 변경
  2. Round
    64bit/32bit로 쪼개어 L0, R0 생성
    32bit R0을 확대(E) 해서 48bit K0과 XOR
  3. 6bit씩 쪼개 8개의 S-Box -> 4bit => 32bit
  4. 32bit L0 xor 32bit R0 -> R1
  5. 연산 전 L1=R0
  6. 라운드 반복 (16)

트리플 DES

평문 -> 키1 암호화 -> 키2 암호화 -> 키1 암호화

AES

NIST 암호화 표준

  • Round에 4x4 행렬 state 형식으로 들어감
  • Pre-round에서는 AddRoundKey 단계만 존재
  • Round: SubBytes -> ShiftRows -> MixColumns -> AddRoundKey
  • 마지막 라운드: MixColumns 단계 제외

Round

  1. SubBytes
    S-Box 이용해서 Byte 단위로 변경

  2. ShiftRows

    행 하나씩 밀기

  3. MixColumns

  4. AddRoundKey

SEED

KISA 개발 암호화 국내 표준
16라운드 고정인 DES와는 달리 키에 따라 라운드 달라짐

비대칭키

디피 헬만의 키 고안 방식에 의의가 존재한다.
개인키로 암호화했어도 공개키로 복호화가 가능해야한다.

비대칭 암호화 방식 (RSA)

메세지 M에 대해
C = M^e mod N
M = C^d mod N
ed = 1 mod (g-1)(p-1) # p, q는 충분히 큰 소수

비대칭 암호화 기능

  1. 기밀성
    영희의 공개키로 암호화한 편지는 영희의 개인키로만 복호화 가능
  2. 부인 방지
    개인키로 암호화해도 공개키로 풀어야 상대방임을 확신
    A의 공개키로 풀리면 이 메세지는 A가 작성한 것을 부인할 수 없다.

해시

  • 정보의 무결성 확인
  • 단방향성
  • 데이터를 일정한 길이로 관리하는 것

대칭키: 비밀키
비대칭키: 공개키-개인키(사설키)

전자상거래 - 공개키 기반 구조

어디서든 자신의 인터넷상 신분을 인증기관 (CA)에서 공인인증서를 통해 증명 가능

  • 트리형
    PAA(정부) -> PCA(KISA, 금보원) -> CA(공인인증서 발급기관) -> RA(은행)
  • 상호 인증
    정부와 기관에도 상호인증

공인인증서

공개키와 공개키 소유자를 연결해주는 전자문서
누구나 사용자의 공인인증서와 공개키를 획득할 수 있다.

금융인증서

클라우드에 저장된다
은행마다 발급이 필요하고, 갱신 주기가 3년이다.

공동인증서

1년 이후로 자동으로 폐기된다.

민간 인증서

제휴기관에서만 동작한다.

전자서명

  1. 부인방지
    원본의 해시값을 구하고 전달할 때는 비대칭키 방식을 사용한다.
  2. 무결성
    복호화한 해시값과 원본 해시값이 일치해야한다.
  3. 원문과 원문을 해시한 뒤 개인키로 암호화
  4. 공개키로 해시 복호화 후 원문 해시하여 비교
  5. 동일하다면 메세지가 변조되지 않은 것.

위조/재사용/변경 불가
인증: 서명문의 서명자를 확인

전자봉투


1. 철수는 전자봉투를 사용하기 위해 전자서명 생성
2. 전자서명과 메세지 원문, 자신의 공개키가 있는 인증서를 대칭키 암호화
3. 2에서 사용한 대칭키를 영희의 공개키로 암호화
4. 영희는 3을 자신의 개인키로 복호화하여 대칭키 획득
5. 대칭키를 통해 2에서 암호화 해독
6. 원문, 전자서명, 철수 인증서 복호화
7. 복호화한 인증서에서 철수의 공개키를 얻어 전자서명 복호화, 원문과 해시비교

블록체인

거래가 일어나지 않았음에도 거래값이 바뀌어 블록해시값이 바뀌면 연결된 블록과 해시값이 깨지기 때문에 해당 블록 파기 or 복구

네트워크 암호화

  • 2계층
    PPTP, L2TP(터널 여러개) -> VPN
  • 3계층
    IPSec
    AH: 인증, ESP: 기밀성, IKE: 비밀키교환
  • 4계층
    SSL - 비대칭 방식으로 공유키(비밀키) 교환
    비밀키를 담은 SSL 인증서를 브라우저 공개키로 복호화한다.
profile
배운 것을 기록하는 습관

0개의 댓글