티스토리 뷰
기타 개발/보안
암호화 형식 (Cipher Suite) / SSL, TLS / 공개키, 대칭키 알고리즘 / 블록 암호 운용 방식 / 해시 알고리즘
beankhan 2016. 7. 24. 14:42"공개키 + 대칭키 + 해시 알고리즘" 의 집합으로써 SSL/TLS 옵션 패키지이다.
공개키(비대칭키) : 암호화키와 복호화키가 다르다.
비밀키(대칭키) : 암호화키와 복호화키가 동일하다. 따라서 송신자, 수신자 이외에는 노출되지 않도록 관리해야한다.
Ex) TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
1. SSL/TLS
2. 공개키 알고리즘 (키 교환 / 인증) (ECDHE, ECDSA)
3. 대칭키 알고리즘 (AES_256)
4. 블록 암호 운용 방식(GCM)
5. 해시 알고리즘 (SHA-384)
1. SSL/TLS
- SSL : Secure Socket Layer
- TSL : Transport Layer Security
2013년부터 SSL 은 쓰지 않는 것을 권고하고 있다.
SSL 3.0 웹 암호화 기술에서 보안 취약점 (called, 푸들 / 다운그래이드 댄스 공격을 통해 복호화 가능) 이 발견되었기 때문이다.
TLS
- 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜
- 넷스케이프가 개발한 SSL 기반 기술
- 최신 TLS 는 SSL 3.0 으로부터 발전한 업그레이드를 제공
- 아래 프로토콜 및 암호 요구사항 : 필수
- Diffie-Hellman key agreement
- Digital Signature Standard
- 3DES encryption
- HMAC 사용
SSL v3.0
- 넷스케이프가 개발, 표준 아님
- 아래 프로토콜 및 암호 요구사항 : 옵션
- Diffie-Hellman key agreement
- Digital Signature Standard
- 3DES encryption
2. 공개키 알고리즘 (키 교환 / 인증)
키 교환 방식과 인증 방식을 명시한다.
- 공개키 암호화 방식
1. RSA (Ron Adi Adleman) : 소인수 분해 문제에 기반을 둔 알고리즘
2. DSA (Digital Signature Algorithm) : 이산 대수 문제의 어려움을 이용한 알고리즘
3. ECC (Elliptic Curve Cryptography) : 유한 체 상의 타원 곡선 점들 간의 연산에서 정의되는 이산 대수 문제의 어려움을 이용한 알고리즘
- 키 교환 방식
1. RSA (Ron Adi Adleman)
2. DH (Diffie-Hellman)
3. DHE (Diffie-Hellman Ephemeral)
4. ECDH (Elliptic Curve Diffie-Hellman)
5. ECDHE (Elliptic Curve Diffie-Hellman Ephemeral)
cf) Ephemeral : 단명하는
TLS 1.2 에서 RSA 키 교환 방식은 PFS 를 지원하지 않기 때문에 DHE 혹은 ECDHE 를 선택하는 것이 좋다.
cf) PFS : 공개키로부터 대칭키를 도출하는 일이 끝나면 공개키를 파기함.
- 인증 방식
1. RSA (Ron Adi Adleman)
2. DSS (Digital Signature Standard)
3. ECDSA (Elliptic Curve Digital Signature Standard)
4. ANON (Anonymous Signature)
ex. RSA : 키 교환 / 인증 모두 처리
DH-RSA : 키 교환은 DH, 인증은 RSA
3. 대칭키 알고리즘
DES (Data Encryption Standard) : 국가 표준 암호 알고리즘으로 지정한 대칭키 암호 알고리즘
AES (Advanced Encryption Standard) : 고급 암호화 표준으로 DES 를 대체할 암호 알고리즘 (Rijndael)
ex) AES-128, AES-192, AES-256 : 뒤 숫자는 비트 크기로, 비트 크기에 따라 암호화 반복 횟수가 다르다.
4. 블록 암호 운용 방식
ECB (Electric Code Book) : 동일한 내용을 갖는 평문은 동일한 암호문 블록으로 변환 (평문 블록과 암호문 블록이 일대일 대응표를 가짐)
CBC (Cipher Block Chaining Mode) : 1단계 전에 수행되어 결과로 출력된 암호문 블록에 평문 블록을 XOR 해서 암호화를 수행함. 즉 일대일 대응표는 나올 수 없다.
5. 해시 알고리즘
- 알고리즘
RSA (Rivest-Shamir-Adleman) : 인터넷 암호화 및 인증 시스템 (대칭키)
SHA (Secure Hash Algorithm) : 해쉬 암호 알고리즘. 93년 SHA-0을 시작으로 발전해왔다. SHA-0은 해독 가능성이 있어 퇴출 수속을 밟고 있고 SHA-1, SHA-2 (SHA-224, SHA-256, ...) 도 완전히 안전하다고 보기는 어렵다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Block
- UIView
- Swift 3
- AWS
- dictionary
- NSManagedObjectModel
- NSManagedObjectContext
- EffectiveObjectiveC
- set
- ios
- CGImage
- docker
- workerThread
- 읽기 좋은 코드가 좋은 코드다
- string
- coredata
- CIImage
- thread
- Arc
- Swift3
- delegate
- RunLoop
- HTTP
- Swift 3.0
- applicationWillResignActive
- Swfit
- NSManagedObject
- optional
- Swift
- 꺼내먹어요
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함