[클라우드컴퓨팅/CloudComputing] 9. Security(1)

SooYeon Yeon·2022년 6월 25일
0

Introduction

분산 시스템에서의 보안

  • 단일 설계 결함으로 인해 보안이 무용지물 될 수 있음 - 취약점(Vulnerabilities)

Security threats, Policies, and mechanisms

Goals

  • confidentiality(기밀성) : 보지못하게, 봐도 모르게 하는 것
  • integrity(무결성) : 저장,전달 과정에서 위조변조하기 못하게하고, 변조된 것 차단함
  • availability(가용성) : 서비스 요청 시 사용할 수 있게 함

보안의 목표 CIA라고도 함

Security Threats (보안 위협)

  • interception : 가로채는 것
  • interruption : 방해하는 것 (ex.디도스)
  • modification : 변조
  • fabrication : 날조 (없는 것을 만들어 냄)

Security Poicies

  • 허용 또는 금지 조치에 대한 정확한 설명

Security Mechanisms

  • encryption (암호화) : 메시지를 암호화해서 봐도 모르게 함. 이후 복호화 과정이 필요함
  • authentication (#인증) : 정말 맞는 지 확인
  • authorization (인가) : 허가
  • auditing (감사) : 정책에서 위험요인 없이 작동하는 지 리뷰, 제거

Cryptography

encryption C = Ek(P) : 평문 P → 암호 C

decrytion P = Dk(C) : 암호 C → 평문 P

알고리즘은 표준화

두사람만이 키를 공유함 (복호화키, 암호화키) → 기밀성, 무결성 유지

Symmetric & Asymmetric Cryptosystem

  1. Symmetric cryptosystem : 대칭키 암호화
  • 공유 비밀키라고도 하는 암호화 방식
  • 암호,복호 키 같음
  • 빠르게 연산 가능
  • 키 관리,분배 문제가 복잡함
  • 기밀성 유지에 주로 사용
  1. Asymmetric cryptosystem : 비대칭키 암호화
  • 공개키 암호화 방식이라고도 함
  • 암호, 복호 키가 다름
  • 공개키1, 개인키1를 짝으로 가지고 하나가 공개되어도 짝은 알 수 없음
  • 많은 양을 암호화 할 시 좋지 않음
  • 누가 보냈는지 확인(인증) 하는데 무결성 유지
  • 계산이 복잡하지만 키 관리하기 좋음
  1. Hash Function : 해시 함수
  • 연산을 통해 비트 스트림을 뽑아내는 방법
  • 메시지 크기 상관없이 해시의 크기는 일반적으로 고정

암호학적 해시

  1. one-way function : 해시로부터 역으로 유추 하지 못함
  2. 해시 값 예측하기 힘들도록 충돌 저항성이 강해야 함(strong)

strong - 임의의 메시지들이 있을 때 그 중 2개으 해시 값이 같은 걸 발견해내는게 불가능한것

weak - y를 찾는 것 불가능

DES : Symmetric Cryptosystem

  • 대칭 알고리즘의 종류

  • 64비트 데이터 블록, 56마스터 키 → 48비트 키

  • 16 Round로 돌림

  • Round에서 위치를 swapping 하는데 키 값을 일부 뽑아 연산해서 결과값을 치환 해 넣음

  • 매 Round마다 다른 Key 조합을 뽑아냄

  • 조합 규칙을 테이블로 정해서 공유

  • S-box 32bit keys

  • 56 bit key에서 매 Round에서 Sub key를 만들어냄

  • 지기ㅡㅁ computer가 성능이 좋아져서 3DES로 쓰다가 AES를 많이 쓰게 됨

RSA : Asymmetric Cryptosystem

  • 공개키 알고리즘의 대표적인 예
  • 오일러의 totient function
  • n보다 작으면서 서로소 인 것의 수. (ex 10이면 2 or 5로 나눠지지않는 1,3,7,9)
  • 예를들어 7은 1,2,3,4,5,6이 서로소이기 때문에 파이(7)=6이고
  • 파이(pq) = (p-1)(q-1)개 이다.
  • 파이(35)는 파이(5*7) = (5-1)(7-1) = 24
  • C = M^e mod n
  • M = C^d mod n = M^ed mod n
  • public Key = {e,n} , private key = {d}
  • ex) public key = {7,187}, private key = {23} 이면
  • M = 105, C = 105^7 mod 187 = 96
  • C = 96, M = 96^23 mod 187 = 105

Hash Function

  • MD5 : message digest (메시지를 소화해 조그만 크기로 만듦), 128비트 고정 길이, padding하고 일정크기 블록을 쪼개 만듦. 규칙성을 찾기 어렵게하기위해 순환함수를 초기값으로 많이 이용
  • SHA : 160~512비트 digest sizes. SHA-2를 많이 사용함

Secure Channels

1. Authentication (인증)

  • 상대방이 맞는 지 인증하는 것
  • challenge-response protocols
  1. 공유키 서로 알고있는 상황해서 A가 통보 (A)
  2. B에서 Random number로 암호화해서 A로 보냄 (RB)
  3. A→B로 보내며 맞는 지 확인함 KA,B(RB)
  4. A가 RA를 보냄 (RA)
  5. B→A로 KA,B(RA)
  • 큰 메시지 = 대칭키 이용
  • 공유 비밀키 KA,B 이용

2. Needham-Schroeder authenticatioon protocol

  • KDC (Key Distribution Center) : 키 분배 센터를 두는 방법
  • ticket : K B,KDC(K A,B)
  • A가 KDC(믿을 수 있는 기관)가고 A와 KDC가 공유하는 암호를 A에게 보냄 (티케ㅔㅅ)
  • A는 열어보지않고 그대로 B에게 전달
  • -1을 해서 확인했다는 것을 A에게 보냄
  • B가 보낸걸 확인했다는 뜻으로 -1을 빼서 B에게 보냄

3. Authentication using public-key cryptography

  • 공개키 방식 이용
  • A와 B가 서로 공개키를 가짐
  • A가 B에게 K+B(A,RA)를 보냄. B의 공개키 (A라고 주장하지만 확신은 없음)
  • B가 B가 만들어낸 키,RA(B가보낸걸 알수있음),RB 공개키를 A에게 보냄
  • KA,B(RB)를 보내 B가 A인걸 알수있게됨

0개의 댓글