컴퓨터(Computer Science)/컴퓨터보안(Computer Security)

암호의 특성, 원리 [컴퓨터보안]

게임이 더 좋아 2020. 4. 14. 13:00
반응형
728x170

정보 보호를 생각할 때 가장 먼저 떠오르는 단어

암호

 

암호에 대해서 공부해보자

 

 

 

 

우선 암호에서 예를 들때 사람이름을 많이 쓰는데

 

 

 

Alice and Bob

데이터의 송/수신자를 뜻한다

 

Eve

소극적인 공격자로 (eavesdropper)를 한다. 도청은 하지만 정보를 수정하지는 못한다.

나중에 양자 암호에서는 통신환경을 뜻하기도 한다.

 

Mallory

적극적인 공격자, 악의적인 공격자(malicious)로 이브와는 다르게 정보를 수정하고, 자신의 메세지로 대체하여 재전송하는 등 이브보다 막기 어려운 공격을 수행한다.

 

Trent

영어로 (trusted arbitrator)로 신뢰할 수 있는 중재자를 뜻한다. 중립적 제 3자를 말하고

사용되는 프로토콜에 따라 그 역할이 달라진다

 

Victor

영어로 verifier를 뜻하고 의도된 거래나 통신이 실제도 발생했다는 것을 검증할 때 쓴다.

 

 

이 외에도 사람이름이야 있겠지만 이 정도로만 하고 넘어가자

 

 

 

 


 

우리가 암호를 만드는 것을 암호화 한다고 한다.

 

평문(plain text)를 암호화하면 암호문(cipher text)가 된다.

 

암호화에는 암호기술이 필요하다. 

 

암호기술이란 중간에서 도청자가 암호문을 가로챈다고 해도 특정 비밀 값(key)을 모른다면

암호문을 평문으로 복호화 할 수 없도록 하는 기술을 말한다.

 

정확히 이런 식으로 되는 것은 아니지만 

그림 보면서 감만 잡아가자

 

 

 

 

**  위 그림은 대칭키( 암호화와 복호화 시 같은 키를 사용하는) 암호방식이다.

 

 

정보 보호의 특성 중

 

암호는 기밀성을 유지하게 한다.

**암호문을 봐도 평문을 알 수 없다.

 

 

 


 

 

암호화의 반대는 뭘까?

 

아까 말했듯이 복호화가 있다.

복호화는 "정당한 수신자" 가 암호문을 평문으로 바꾸는 것을 말한다.

 

암호 해독이란 (cryptoanalysis)

"수신자 이외의 사람"(cryptanalyst)이 암호문을 평문으로 바꾸려고 시도하는 것을 말하낟

 

여기에는 암호 연구자, 악의적 공격자가 있겠다.

 

 

 

 


 

암호에 대해서 더 알아보자

 

암호 시스템에 더 알아보자

수식이나 기호, 단어에 대해 알아볼 것이다.

 

암호 시스템의 요소에는

 

평문

암호문

암호 알고리즘

복호 알고리즘

키 

 

5가지 정도가 있다.

 

또한 우리는 수식을 좋아하기 때문에 이런 식으로 표현하기도 한다.

 

 

여기서 C는 ciphertext     E는 encryption      K는 key         P는 plaintext    D는  decryption 을 뜻한다

 

 

 


그렇다면 암호화 시키는 방법에는 무엇이 있을까?

 

아까 key값을 이용해서 암호화 한다그랬는데 어떤 알고리즘이고 어떤 방식일까?

 

 

 

 

아까 대칭키를 말했듯이

 

암호화에도 대칭 암호, 비대칭 암호가 있다.

 

암호화 할 때와 복호화 할 때 키가 같으면 대칭 그렇지 않으면 비대칭 암호이다.

 

 

우리는 주목해야할 암호는 비대칭 암호이다.

 

비대칭 암호의 요소는

송/수신자 각각 한쌍의 키(공개키, 개인키)를 가지며 2개의 key는 밀접한 연관이 있다.

 

공개키(public key)

공개키는 공개를 하므로 이 암호 알고리즘을 공개키 암호라고 한다.

 

 

 

 

 

원리는

 

A,B가 있다고 하자 B는 공개키로 암호화 하여 A에게 보낸다.

A는 그것을 개인키로 복호화 할 수 있다.

 

 

다시 말해서 공개키: 암호화  개인키: 복호화

공개키와 개인키가 밀접한 연관이 있기에 이것이 가능하다.

 

 

 

 


 

 

이를 섞은 암호도 있는데

 

하이브리드 암호를 만들었다.

Hybrid cryptosystem

 

 

대칭 암호와 공개 키 암호를 조합한 암호 방식으로

대칭 암호의 빠른 처리 속도와 비대칭 암호의 키 배송의 편리성을 결합해서 만들었다

 

이는 대칭 암호의 키를 공개키 암호화 하여 배송하는 것이다.

 

 

원리는

A의 개인키, 공개키가 있고

B의 개인키, 공개키가 있다.

 

A의 개인키를 B의 공개키로 암호화해서 보낸다

B는 자신의 개인키로 A의 개인키를 알아낸다

 

그 후 A의 개인키로 B와 주고 받는다.

 

//따지고 보면 대칭암호와 다를 바 없다고 생각할 수 있지만

키를 한 번 더 포장한다는 개념으로 보안성을 높인다고 볼 수 있겠다.

 

 


 

 

다른 암호 기술도 있다.

 

-일방향 해시 함수는 글을 썼다.

 

기밀성이 아닌 무결성을 점검하는 것이다. 복호화 x

 

 

-메세지 인증 코드도 있다.

 메세지가 생각했던 통신 상대로부터 온 것임을 확인하는 코드이다.

 

-디지털 서명도 있다(digital signature)

 거짓 행세, 변경, 부인같은 위협을 방지하는 기술

 

** 부인이라는 것은 (repudiation) 통신 사실을 나중에 아니라고 하는 것이다.

 

 

-의사 난수 생성기(pseudo random number generator; PRNG)는 난수열을 생성하는 알고리즘이다.

 

*pseudo는 진짜 같은 가짜를 뜻한다. random은 실제로는 아니지만 random같아 보이는 난수 생성기라는 것이다.

 

 

 

 


 

 

 

그렇다면 이러한 암호기술은 어떤 특성을 이용하는 것이냐?? 

그림을 보고 살펴보자

 

 

 

 

728x90
반응형
그리드형