Applied cryptography

hong·2022년 10월 16일
0

22 정보보호

목록 보기
5/8

대칭키+비대칭키+해시를 결합한 응용 암호학


🔎 Secret sharing algorithms

  • 참여자 그룹 간에 시크릿 키를 배포
  • 참여자들이 모여서 재구성해야지만 시크릿 키 얻을 수 있음. 각 참여자들은 시크릿 키의 일부분을 알고 있음 (참여자 개별 시크릿 키는 소용x)
  • (k, n): n명의 사람이 시크릿 키 공유. k(k<=n)명이 모였을 때 해독 가능
  • k개의 부분 집합 쌍이 주어졌을 때 다항식의 계수를 찾을 수 있음
    → 즉, a0, a1, a2, ..., ak-1 알수 있음 ➡️ 비밀 키 해독 가능

🔎 Blind signatures

  • 메세지 내용이 서명되기 전에 위장되는 디지털 서명 형태
  • RSA 기반
  • 발신자 개인 정보가 중요한 어플리 케이션에서 많이 사용 ex) 비밀 투표

ex)
기본: 사용자가 은행에 전자 화폐 발급 요청 → 요청 받은 은행은 개인키로 화폐 서명하여 발급(화폐의 s# 노출. 이 s#를 이용하여 추적 가능)

Alice: 여러 개의 m (= Alice, 금액, s#) 생성하여 RSA 암호화하여 은행에 전자 화폐 발급 요청. 단, 자신이 발급 받는 화폐의 s#를 BoK가 모르길 원함.
BoK: 전달 받은 여러 개의 m 중 다수 확인하여 Alice의 요청이 거짓이 아님을 확인. 확인한 m들은 s# 노출
→ 확인하지 않은 m 중에서 전자서명 진행. s# 노출되지 않음


🔎 Kerberos

  • ticket 기반의 컴퓨터 네트워크 인증 프로토콜
  • 보안이 보장되지 않은 네트워크 환경에서 요청 보내는 클라이언트와 요청 받는 서버가 서로 신뢰성을 확보하기 위해 사용(양방향 인증)
  • 도청과 재전송 공격으로부터 보호
  • 대칭키로 키 관리 도전 O(n)

ex)
1. 본인과 KDC(Key Distribution Center) 간의 대칭키 생성
ex) Alice-KDC 대칭키: Kad
2. Alice: KDC에게 난수 n와 통신 원하는 사람 "Bob" 전송
3. KDC: 요청한 Alice에게 Kad(n, "Bob", Kab, ticket(= Kbd{Kab, "Alice", 키 유효 기간}) ) 전달
4. Alice: Bob에게 ticket(= Kbd{Kab, "Alice", 키 유효 기간})와 Kab(현재 시간) 암호화하여 전송
5. Bob: ticket Kbd로 해독하여 Kab얻음. Alice에게 Kab(현재 시간+1) 암호화하여 전송.

profile
🐶 ☕️ 🧳

0개의 댓글