3 min to read
[Cloud]9. 보안 기술 개론
[1. Encryption - Symmetric algorithms]
Encryption - Cryptography
- 내가 가지고 있는 메시지를 key를 이용하여 암호화. 암호문을 Key를 활용하여 복호화
- 암호화key와 복호화key가 같은 경우 Symmetric Key, 다를 경우 Asymmetric Key라고 한다
Symmetric algorithms
- 같은 Key로 암호화/복호화
- 장점 :
- 암호화/복호화 시 속도가 빠름
- 단점 :
- key 분배가 어려움
- key 갯수가 늘어남
- 종류 : DES, Rijndael(AES), 3DES, Blowfish, Kerberos
DES(Data Encryption Standard)
- History of DES : LUCIFER
- IBM의 Horst Feistel이라는 프로젝트로도 개발됨
- 64-bit의 input block과 128-bit의 암호화 key로 암호화 시킴
- A Refined version of LUCIFER
- Key size가 56-bit
DES Encryption
- 64-bit의 텍스트를 56-bit의 키를 활용하여 암호화
- 텍스트를 암호화 하는데 3단계가 존재함
- 텍스트를 재배열
- 재배열을 16번 반복하여, 돌때마다 56-bit의 key를 16개 종류로 만들어냄
- 64-bit의 문자열을 쪼개며 수행, 섞어서 64-bit 암호문을 만들어냄
[2. Encryption - Asymmetric algorithms : PKI]
Encryption - Public Key Algorithms
- 모든 유저가 두개의 다른 key를 가짐(private key 1개, public key 1개)
- public key로 private key를 찾을 수 없다
- private key로 암호화 된 것은 public key로 복호화 할 수 있다
Encryption - Public Key Algorithms
- key 교환 시 비밀로 교환하지 않아도 된다(각자 가지고 있는 key가 다른 key이기 때문에)
- sender는 receiver의 public key를 사용해서 암호화. receiver는 그의 private key를 사용하여 복호화(두 기능이 서로 바뀔 수 있다)
- key 수는 O(n)개
- 종류 : Diffie-Helmann(DH), RSA
Diffie-Helmann(DH)
- prime number PN의 primitive root(원시근 : PR)을 찾는다
- find a unique exponent i
RSA
- text에 e(공개키)를 곱해서 n(소수)으로 나누면 암호화가 됨
- 암호문에 d(개인키)를 곱해서 n(소수)으로 나누면 복호화가 됨
- 두개의 소수 필요. 소수에 1씩 빼서 서로 곱함
- 소수에 1씩 빼서 곱한 것과 최대공약수 1을 만족하는 특정 수(e)를 찾아낸다
- d는 e와 곱해서 소수에 1씩 빼서 곱한것으로 나누면 1이 됨
- e와 d를 찾을 때 큰 수를 찾는게 안전할 수 있다
- 시간이 오래걸림
[3. Certificates - Digital Signatures(전자 서명)]
Certificates - One-Way Hash Functions
- 해쉬함수 H에 메시지 M이 입력되어 결과로 고정된 길이의 h가 생성된다
- h의 길이는 최소 128 bits
- M을 H함수에 넣어 h를 구할 수 있다.
- h로 M을 구할 수는 없다
- 같은 M을 H함수에 넣어도 동일한 h가 나오지 않는다
- 종류 :
- SNEFRU : hash of 128 or 256 bits
- MD4/MD5 : hash of 128 bits
- SHA(Standard FIPS) : hash of 160 bits
SHA(Secure Hash Algorithm)
- SHA는 NIST에 의해 개발됨. 1993년에 개발되어 1995년에 개정됨
- hash value 160bits를 만듬
- NIST는 새로운 버전을 만들었다 : hash value 길이에 따른 SHA, SHA-256, 384, 512
Certificates - Digital Signature
- paul이 메시지의 hash를 계산한다
- paul이 개인키를 활용하여 hash를 암호화한다. 암호화한 hash가 digital signature이다
- paul이 메시지를 john에게 보낸다
- john은 메시지의 hash를 계산하여 받은 hash와 같은지를 확인한다
- 만약 hash가 같으면 메시지는 수정되지 않은 것이다.
[4. Certificates - X.509]
X.509
- Certification Authority(CA)
- CA는 key도 만들어주고 Digital Certificates도 만들어준다(사용자나 프로그램이나 머신에게)
- Identity 체크
- 개인의 데이터 인증
- 인증서가 만료되면 취소 시킴
X.509 Certificates
- An X.509 Certificates contains
- owner’s public key
- identity of the owner
- info on the CA
- time of validity
- Serial number
- digital signature of CA
일반 보안 서비스에서 고려해야 할 항목
- 인증(Authentication)
- 접근 제어(Access Control)
- 데이터 무결성(Data Integrity)
- 데이터 기밀성
- 부인 봉쇄(Non-Repudiation)
*출처 :
- 클라우드 컴퓨팅 핵심기술 요소의 이해 사내교육 참고
Comments