10. Standards and Applications - Distributed System Security Protocols

Yona·2021년 12월 6일
0

🌙 CS_security

목록 보기
22/24

Security Issues in distributed systems

  • impersonation of user
  • impersonation of workstation

Kerberos 4

용어정리

  • C : client
    • PcP_c = C의 password
    • IDcID_c = C의 아이디
    • ADcAD_c = C의 네트워크 주소
  • AS : Authentication Server
  • TGS : ticket granting server
    • IDtgsID_{tgs} = Tiket granting server의 아이디
  • V : service server
    • IDvID_v = V의 아ㅣ디
  • Misc
    • TS = timestamp
    • || = concatenat
  • Sesson Keys
    • Kc,tgsK_{c,tgs} = AS에 의해 생성된 ticket-granting ticket
    • Kc,vK_{c,v} = TGS에 의해 생성된 service-granting ticket
  • Shared secret keys
    • KcK_c = C와 AS가 공유하는 secret key
    • KtgsK_{tgs} = AS와 TGS가 공유하는 secret key
    • KvK_v = TGS와 V가 공유하는 secret key

흐름

참고

  1. Client : ID+PW로 ticket-granting ticket을 request
  • client 요청 : K_c
  1. AS : ID가 DB에 존재하는지 찾아본후, 존재하는 경우 ticket, session key 리턴
  • AS 대답 : K_(c,tgs)
  1. Client : service granting ticket 을 request
  • Client 요청 : K_(c,tgs)
  1. TGS : TGT와 Session key를 복호화해서, service granting ticket 리턴
  • TGS 대답 : K_(c,v)
  1. Cleint : service server에 ticket과 정보 주며 service request
  • client 요청 : K_(c,v)
  1. SS : service server는 TGS와 통신하여, 정보가 일치하면 서비스 리턴

dialogue

  • C->AS = ID_c || P_c || ID_v

  • AS->C = Ticket = EKv[IDCADcIDv]E_{Kv}[ID_C||AD_c||ID_v]

  • C->V = ID_c || Ticket

  • 보안 강화한 버전

    • EKc[IDCIDtgsTS1]E_{Kc}[ID_C||ID_{tgs}||TS_1]
    • C->V = ID_c || Ticket

life time 문제 - time stamp 도입

Kerberos version 5

.v4v5
encryption algorithDES(vulnerable)allow a suite of encrtyption algorithm
Internet protocol dependencyneed IP addrnot only IP
ticket lifetime8-bitany length

Public Key Certificate

용어정리

  • publi key certificate = 공인인증서
  • CA = Certificate Authority
    ex) YESSIGN(금융결제원), CROSSCERT(한국전자인증)

구조

특징

  • Y<<X>> = certificate notation
    = CA Y에 의해 생성된, user X의 certificate
  • any user of CA's public key 는 can verify certified된 the user public key.
  • detected되지 않고서는, CA가 아닌 다른 party는 certificate를 modify 할 수 없다.
  • certifiacte는 Forged될 수 없기 때문에, certificate는 Public directory에 위치할 수 있다.

CA Hierarchy
X.509는 CA의 hierarchy를 제안한다.

-> chain을 이용하여 다른 certificate를 verify할 수 있다.

revocation

  • certificate는 period of validity를 가지고 있다.
  • expiry 이전에 Revoke해야한다.
  • CA는 파기리스트를 유지한다 = CRL(Certificate Revocation List)

Authentication Procedures

  • One-way
    • A(identity of A)->B
    • message 1개가 사용된다
    • intergirty and originality of message
  • Two-way
    • A(identity of B)->B & B(reply)->A
    • intergrity and originality of reply
  • Three-way
    • A->B, B->A, A->B
    • enable auth wihout synchronized clocks
      • A의 답장 = copy of nonce of B
      • sequence of events는 timestamps들이 check되지 않아도됨을 뜻함

Email System Security

PGP (pretty good privacy)

  • 주요 특징
    • compress
      • transmission, storage 에서 유리
    • compatibility
      • 문제 : arbitary 8-bit octets가 block의 일부분에 있을 수 있지만, 많은 이메일시스템은 ONLY permit ASCII 만 허용한다.
      • 해결 : RANDIIX-64 CONVERSion은 raw 8-bit binary 스트림을 ASCII로 바꿀 수 있다!
    • maximum length를 넘어갈때
      • automatically subdivides a message to segmetns message
    • unpredictable session key
      • 문제 : B가 여러 key들을 가질때, A에게 C를 받으면 어떤 Public key를 써야한다는걸 어떻게 아나?
      • 해결 1 : C와함께 public key keB를전송k_e^{B}를 전송
        • B는 자기 키중 하나라는 것을 확인가능
        • but, waste of resource
        • but, public key가 길이가 길 수도
      • 해결 2 : associate an unique ID with a public key
        • key 식별학 = "user ID"+"key ID"
        • but, 오버헤드랑 관리가 비효율적
        • key ID는 반드시 매핑되어 저장되어있어야만한다.
      • 해결3 : public key의 ID, keB=keBmod264k_e^{B} = k_e^{B}mod2^{64}로 정의된다.
        • key space도 bounded 되고, HIgh probability 제공.

key ring

key revocation

message generation


message reception

profile
Sometimes you win, sometimes you learn 🏃‍♀️

0개의 댓글