티스토리 뷰

 

## 암호화(Cryptography)란..

* 코드를 쓰고 풀어내는 예술이다?

* 과학적인 공부를 토대로 한 안전을 위한 테크닉!

 

1. Flow에 따른 공격 분류 => 공격대상

- Interruption => availability(가용성)

- Modification => integrity(무결성)

- Fabrication => authenticity(확실한출처)

- Interception => Confidentiality(기밀성) // passive attack(EVE)

 

2. Kerckhoff's Principle

- 암호화 알고리즘을 숨기는데 의존되어서는 안되고 key를 숨겨야 한다.

: 일반적으로 알고리즘은 비밀을 유지하기 어렵다.

- 적들은 사용중인 시스템을 알고 있다(Claude Shannon).

- 일반적으로 알고리즘보다 key의 length가 짧기 때문에

: 이미 사용하는 알고리즘을 바꾸는 것 보다 key를 교체하는 것이 쉽다.

 

3. 공개 암호화 디자인(궁극적인 방향)

- 누구나 검토할 수 있게

- 산업스파이가 할 일이 없도록

- 표준화

 

4. 유형에 따른 공격의 분류

1) Ciphertext-only attack (COA: 암호문 단독 공격)

- 암호문들을 여러 개 훔쳐내고 그에 해당하는 암호기법을 이용해서 현재 사용되고 있는 키를 알아내는 공격이다. 가장 약한 공격.

2) Known-plaintext attack (KPA: 알려진 평문 공격)
- 한 두쌍의 평문/암호문을 알고 그 외에 여러 개의 암호문을 알고 있을 때 사용하는 암호분석 방법이다. 비밀키의 길이를 유추하고 가능한 모든 경우의 비밀키를 암호 알고리즘에 입력하여 그 결과를 보고 키를 알아내는 공격이다.

3) Chosen-plaintext attack (CPA: 선택 평문 공격)

- 공격자가 임의로 평문을 선택하여 그와 대응되는 암호문을 생성할 수 있다.

이렇게 생성한 평문과 암호문의 쌍을 기반으로 암호 시스템의 키를 알아내는 공격이다.

4) Chosen-ciphertext attack (CCA: 선택 암호문 공격)

- 공격자가 암호문을 조작할 수 있고 해독하고자 하는 암호문을 제외한 모든 암호문에 대해

평문을 획득할 수 있다. 이것을 기반으로 공격자가 암호 시스템의 키를 알아내는 공격이다.

 

5. Perfect Security

- OTP(One Time Pad)가 유일함.

- key를 한번 쓰고 버림.

- truly random

 

6. Random

- 우리가 사는 세계에도 RANDOM은 존재한다.

: Pi(π), 라디오 전파, HDD와 CPU의 소음, 전기적인 소음, clock drift 등..

 

7. Pseudorandom

- looks like a uniformly distributed(=truly random).

- 효율적인 공격자가 봤을 때 실제 확실한 random으로 보일 수 있도록 함.

- 컴퓨터로 생성할 수 있음.

=> 즉, 통계적으로 랜덤해야 하며, 각각 비슷한 확률을 가져야 하고, 관계가 없어야 한다.

unpredictable future values from previous values(이전 값으로부터 정보를 얻을 수 없게 해야 한다.)

 

8. Pseudorandom Number Generators

- Linear Congruential Generator(LCG) - rand() and random()

- Linear Feedback Shift Register(LFSR) - stream cipher

- Blum-Blum-Shub(BBS) and Fortuna - cryptographic

'study > security' 카테고리의 다른 글

CMD> netstat 명령어의 사용법과 state information의 뜻  (1) 2011.06.05
정보보호개론 기본중의 기본!  (0) 2011.04.20
Attack scenarios  (0) 2011.04.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday