<암호화 보안상식>
1) 비밀 암호 알고리즘 사용 금지 : 구조 폭로시 끝장난다.
2) 약한 암호는 암호화 하지 않은것보다 위험하다 : 잘못된 안심감을 심어주기 때문이다.
3) 어떤 암호라도 언젠가 해독된다 : trade off(밸런스) 가 중요하다
4) 암호는 보안의 아주 작은 부분이다 : phishing, Trojan horse, keylogger 과 같은 Social engineering을 조심하자.
<암호 기법 분류>
1) Substitution Cipher 치환암호
2) Transposition Cipher 전치암호
평문과 암호문의 문자 집합이 동일하고, 일대일 대응한다.
3) Block Cipher 블록암호
블록 : 특정 비트수의 집합
평문을 일정크기 ASCII 8bit, Unicode 16bit 로 잘라내고 이를 '블록'이라 정의하며, 암호화 알고리즘을 적용한다.
'Round(구성요소들의 반복적 합성암호)' 를 사용한다 => 반복적 암호화 과정 수행으로 암호화 강도를 높인다.
4) Stream Cipher 스트림 암호
한번에 1bit 또는 1byte씩 Data Stream에 따라 '순차적'으로 처리해가는 암호 알고리즘 방식이다.
Plaintext와 Key stream 을 XOR한다.
이동통신환경에서 구현이 용이하다. 안전성을 수학적으로 엄밀히 분석 가능하다. 무선데이터 보호에 적합하다.
스트림 암호 | 블록 암호 | |
장점 | 속도↑, 에러전파현상 없음 |
높은확산(P와 C사이의 관계를 감춘다.) |
단점 | 낮은확산 | 느림, 에러를 전달함 |
사례 | LFSR(선형귀환시프트레지스터), MUX | |
암호화 단위 | 비트 | 블록 (8비트,16비트) |
대상 | 음성 + 비디오 | 일반데이터 전송 |
<해석되는 위치에 따른 암호화의 구분>
1)Link Encryption : 라우터와 같은 중간장비가 다음에 어디로 보내야 하는지 알아야 하기 때문에 각 홉에서 패킷의 헤더를 해독하고 재암호화 및 전송을 진행한다. 1계층 2계층인 HUB와 L2 Switch에서도 이 과정이 일어난다.
2)End to End Encryption : 종단간 암호화 (애플리케이션 계층)
<하드웨어와 소프트웨어 암호 시스템>
전용 하드웨어 사용은 CPU의 부담없이 빠른 속도로 보안성을 확보하지만 , 컴퓨터와 통신기기의 내부버스와 외부 인터페이스에 전용 하드웨어 설치가 필요하기 때문에 확장성이 높지 않고, Cost 가 많이 발생한다.
반면 소프트웨어 이용은 저렴한 비용과 가성비 좋은 안정성을 확보하며 최근 컴퓨팅 파워의 증가로 CPU에 부담이 낮아지고 있다.
<암호학자의 도구상자 Cryptographer's Toolbox >
보안위협 | 위협받는 NIST 보안원칙 | 방어를 위한 암호기술 |
도청 | 기밀성 | 암호화 |
메시지변경 | 무결성 | 암호화, 일방향 해시함수, 메시지 인증코드, 전자서명 |
위장 | 인증 | 암호화, 메시지인증코드, 전자서명 |
부인 | 부인방지 | 전자서명 |
< DRM ,Digital Rights Management >
1)DRM 기술
finger printing |
구매자의 정보를 상품에 포함하여 불법 복제 되었을 때 그 것에 대한 책임을 추정한다. (Accountabiliry) 저작권 증명 : 上 |
watermarking |
판매자 정보를 상품에 포함한다. 저작권 증명 : 中 |
steganography |
메세지를 상품에 은닉시켜 놓는다. 저작권 증명 : 下 |
Collusion Attack : 공모공격이라고 하며, 컨텐츠들을 비교 및 분석하여 핑거프린팅의 위치를 파악하고, 핑거프린팅 비트를 지우거나 삽입하는 컨텐츠 재구성 행위를 수행한다. 또, 이를 재분배 하는 공격이다.
2)DRM 구성요소
Metadata : 각종 데이터의 구조 및 정보
Packager : 메타데이터와 콘텐츠를 Secure Container 포맷으로 패키징 하는 모듈
Identifier : 식별자
DRM Controller : 디바이스 플랫폼에서 라이선스가 명시된 콘텐츠의 프로세스 제어로 지속적인 보호를 수행.
<암호 해독>
암호학에서 해독자는 현재 사용되는 암호알고리즘을 알고있다는 전제하에 암호해독을 시도한다고 간주한다 : Kerckhoff's Principle (케르히호프 원리) *따라서 암호시스템의 안전성은 암호알고리즘의 비밀에 의존하여선 안된다.
공격유형 | 주어진 정보 |
Ciphertext Only Attack, 암호문 단독 공격 |
요구사항 : 암호알고리즘, 암호문 Eve가 단지 어떤 암호문을 얻어서 대응되는 평문과 키를 찾는 것 이다. MITM으로 도청한 암호문을 통계적성질,문장의 성격을 추정하여 해독한다. |
Known Plaintext Attack, 기지 평문 공격 |
요구사항 : 암호알고리즘, 암호문, 비밀키로 만들어진 한 쌍 이상의 평문/암호문 세트 암호문에 대응하는 일부 평문이 사용가능한 상황에서의 공격이다. *일부가 공개되면 역공학,빈도분석,무차별대입으로 완수 될 수 있다는 특성을 이용한다. |
Chosen Plaintext Attack, 선택 평문 공격 |
요구사항 : 암호알고리즘, 암호문, 해독자가 선택한 평문과 그에 해당하는 암호문 세트(Alice의 컴퓨터 또는 해당 암호화기의 사용이 가능해야한다.) Eve가 Alice의 컴퓨터에 접속 가능할 때, 어떤 평문을 선택하고 그에 해당하는 암호문을 얻어와서 키 K나 평문 P를 추정하여 얻어낸다. |
Chosen Ciphertext Attack, 선택 암호문 공격 |
요구사항 : 암호알고리즘, 암호문, 해독자가 선택한 암호문과 그에 해당하는 평문 세트(Bob의 컴퓨터 또는 해당 복호화기의 사용이 가능해야한다.) Eve가 Bob의 컴퓨터에 접속이 가능할 때, 또는 Decryption Oracle (복호화기) 사용이 가능할 때, 어떤 암호문을 선택하고 그에 해당하는 평문을 얻어와서 키 K나 평문 P를 추저아여 얻어낸다. |
<암호 알고리즘의 안전성>
1) 안전성 : 아래 두 조건 중 한가지 이상을 만족하면 안전하다고 한다.
- 암호해독 비용 > 정보의 가치
- 암호해독 시간 > 정보의 유효기간
2) 암호제품 평가체계 : Common Criteria (정보보호 제품 평가)
3) 암호기술 평가
평가종류
- 암호 알고리즘 평가: 일반적으로 알고리즘 자체의 이론적 안정성만 평가.
- 암호 모듈평가: 암호알고리즘을 '이용'해 제공되는 암호서비스(기밀성 기능모듈, 무결성기능모듈)에 대한 안정성 평가.
- 암호 모듈의 안전성 평가(CMVP): 암호 기술의 구현 적합성평가, 암호키 운용 및 관리, 물리적 보안
- 정보보호제품평가: IPS, IDS 등에 대한 평가
- 응용시스템 평가: 항공관제시스템, 체계관제시스템 등 평가
응용시스템의 안전성을 평가하는것이 가장 바람직하지만, 그에 대한 평가 기준이 확립되지 않았기 때문에 암호알고리즘부터 순서대로 평가하는것이 현실적이다. 따라서 암호 알고리즘부터 차례대로 평가하는것이 바람직하다.