1

정보보호개론 - 1

정보보호개론 - 1

노아의 블로그

    목차
반응형

간단한 용어 정리

 

암호학과 같은 곳에서 관계 혹은 역할을 나타내기 위한 가상의 이름

 

Alice and Bob - 각각 송신자 수신자를 의미한다.

 

Eve - eavesdropper(도청자) 라는 영어를 줄여서 말한것. 도청, 소극적인 공격을 하는 자를 뜻하며 송수신자간의 메시지를 도청하나 수정할수는 없다.

 

Mallory - 악의적인 공격자로 적극적인 공격자를 의미한다. 송,수신자간의 메시지를 도청하고, 그것을 수정하여 송신자의 신분을 이용해 악의적인 공격을 할 수 있다.

 

Trent - 신뢰할 수 있는 중재자, 제 3자이다.

 

Victor - 의도된 거래나 통신이 실제로 발생했다는 것을 검증할 때 등장한다.

 

어떤 사람이 정보를 보내는것을 송신이라고 하고, 보내는 주최가 바로 송신자다.

그리고 그것을 받는것을 수신이라고 하고, 받는 주최가 수신자다.

 

여기서 송신되는 정보를 총칭해서 message라고 부른다.

 

 

아까 말한것을 토대로 만약 메일을 보내는 상황이 있다고 가정할 때, 이런식으로 표현할 수 있다.

그리고 만약, 메시지가 Eve에 의해 도청당한 상황일경우 이런식으로 표현할 수 있다.

만약, 메시지가 '안녕? 우리 만나서 놀자' 와 같은 보호 수준이 떨어지는 메시지라면 도청해도 상관없을것이다.

 

하지만... 패스워드, 주민등록번호 등 보호 수준이 높아야 하는 메시지라면 위험 대상이 될것이다.

 

 

또한 Mallory의 공격으로 송신하는 Message가 조작될 위험이 있다.

 

그래서... 이런 공격을 예방하기 위해서 바로 암호화를 해야한다.

 

그럼 암호화란 무엇인가? 암호화란 메시지를 읽지 못하도록 변하게 하는것이다.

 

여기서 또 용어:

 

평문 - 암호화 하기 전, 즉 원본의 메시지

암호문 - 암호화 된 메시지

 

용어를 사용해서 다시 말하자면 평문을 암호문으로 바꾸는것을 암호화라고 한다.

반대로? 암호문을 평문으로 바꾸는것을 복호화 라고 한다.

이것은 바로 암호화의 과정이다.

 

암호화된 메시지를 상대방에게 전송하면 암호문 자체가 전송된다. 이것을 풀기 위해서는 '키' 가 필요하다.

일단은 대강 이런식으로 진행됨을 알았다.

 

그렇담..

 

도청자가 메시지를 탈취했음에도 불구하고 읽을 수 없는 암호로 되어있어 아무것도 할 수가 없었다.... 

암호를 풀려면 Key가 필요하지만 도청자는 가지고 있지 않다.. 

 

(여기서 의문점은 암호화를 적용한 송수신에서 서로간의 같은 Key를 공유해야지 송수신이 정상적으로 작동하는데, 이 Key는 또 어떻게 관리하는가? 키를 탈취해버리면??에 대한 의문점이 들지만 수업을 들어보니 나중에 배우는 것 같다. ㅎㅎ)

 

결론적으로 암호는 제 3자가 보지 못하도록 '기밀성 or 비밀성' 을 유지하기 위한 기술이다.

'기밀성' 이란 단어를 기억해두면 좋을 것 같다.

 

암호는 기밀성을 유지하지만 무결성을 유지하지 못하는듯 하다. 그래서 Eve의 공격을 방어할수는 있었으나

Malloy의 공격을 방어할수는 없었다.

 

여기서 무결성이란 원본과의 동일성을 의미한다. (훼손,변조되지 않았는지)

 

그리고 또 용어

 

암호 해독 - 암호문을 평문으로 복원하려고 시도하는 행위

암호 해독자 - 암호를 해독하려고 하는 사람(모든 사람 포함 : 나쁜사람,암호학자 등 )

 

암호해독은 뇌물,키로거,바이러스 등을 이용한 방법이 아닌 오로지 암호화 과정의 약점을 알아내는 행위만을 뜻한다. 

 

 

 

암호화를 하고 복호화를 하는 과정에 필요한 요소를 암호 시스템이라고 한다.

평문, 암호문, 암호/복호 알고리즘, 키로 구성되어 있다.

 

이러한 암호 시스템을 기호로 표현할 수 있는데..

일단 의미는 다음과 같다.  

 

평문 (plaintext) => P

암호문 (ciphertext) => C

암호 알고리즘 (encryption) =>E

복호 알고리즘 (decryption) =>D

키 (key) =>K

 

각각 영단어의 앞자리로 구분된다.

이러한 기호를 사용해서 수식을 나타낼 수 있다.

평문 P를 K를 이용해 암호화해서 C를 얻는다.

암호문 C를 K를 이용해 복호화해서 P를 얻는다.

 

 

알고리즘 Algorithm은 어떤 문제를 해결하는 일련의 과정이나 절차이다.

간단하게 언급을 하자면 우리가 학교에 가는것을 생각해보자. 

일어나기 -> 씼기 ->아침먹기 -> 버스타기 -> 건물 들어가기 이런식으로 될것이고 이것을 학교가는 알고리즘이라고 한다. 참 쉽죠?

 

그러니 암호화 알고리즘은 평문을 어떤 과정을 ~~~거쳐서 암호문을 뿅 하고 내놓는 모든 과정을 의미한다.

복호화는 복호화 과정을 거쳐서 평문을 뿅 하고 내놓는 모든 과정이다. 이것을 통틀어 암호 알고리즘이라 칭한다.

 

암호 알고리즘에는 Key가 필요한데... 여기서 키는 바로 숫자를 의미한다..그것도 매우~ 긴 숫자로 이루어져 있다...

긴 숫자로 이루어져 있는 이유는? 우리 도어락을 생각해보면 된다. 도어락 비밀번호가 1자리수밖에 되지 않는다고 가정해보자. 그렇다면? 우리는 10진수 체계를 쓰니까 0부터 9까지만 순차적으로 입력해보면 비밀번호가 나온다..그냥 뚫릴수밖에 없다... 자..그럼 2자리수를 입력받는다고 치자. 자릿수 하나만 추가되었는데 10 * 10 = 100가지의 경우의 수가 나온다.

 

그렇다면 공격자는 0부터 100씩 입력해야 하고 자릿수가 늘어날수록 공격하기가 쉽지 않다. 

이렇게 하나하나씩 대입해서 공격하는것을 바로 부르트포스 (무차별 대입 공격) 이라고 한다. 즉 

경우의 수가 늘어날수록 부르트포스 공격이 쉽지 않다.

 

암호 키가 숫자로 이루어져 있는 것은 아마 수학적으로 암호를 생성하기 때문이라고 생각된다...

자세히는 모르겠다.

 

교수님께서는 여기서 아스키코드를 언급하시며 결국 문자도 수로 처리되고 모든것은 수이다. 0과 1로 처리된다

(2진법,8진법,10진법,16진법 변환 및 아스키코드 8비트중 1비트는 패리티비트 - 간단 추가설명)  설명해 주셨다.

 

결국에는 근본적으로 '수' 일 수 밖에 없다 라는 것이다.

 

어쨋든.. 이러한 키는 암호과정에 반드시 필요하고, 현실에서 키를 도둑맞았을때랑 똑같이 컴퓨터 상에서도 도둑맞으면 절대 안된다.

 

암호는 키의 사용 방법에 따라서 대칭 암호와 비대칭 암호로 구분할 수 있다.

 

대칭 암호는 송신자와 수신자... 즉 암호화 할때 키와 복호화 할때 키가 서로 같은 알고리즘 방식을 사용한다.

 

비대칭 암호는 암/복호화 키가 서로 다른 알고리즘 방식을 사용한다. 공개 키 암호라고도 불리는데 이 용어를 더 많이 사용한다. 공개 키 암호는 송신자와 수신자가 한쌍의 키를 가지는데. (공개키,개인키)로 이루어진 한 쌍이다.

 

공개키는 말 그대로 공개된 키이고 개인키는 공개되지 않은 키이다. (계좌번호와 Pin을 예시로 든것을 보았다)

 

 

이 두가지를 조합한 하이브리드 암호 시스템이라는 것도 있는데, 두 시스템의 장점을 조합해서 만든 시스템이다.

 

대칭암호는 빠르지만 관리가 힘들고 (n - 1) , n(n-1)/2

공개키 암호(비대칭 암호)는 관리가 쉽지만 느리다. 이 두개 암호의 장점을 조합해 만든게 하이브리드 암호 시스템이다.

자세히는 아직 모르겠다.

 

마지막으로, 그 밖의 암호 기술에 간단히 알아보자.

 

암호는 기밀성을 유지하기 위한 기술이라고 아까 말했다.

여기서.. 무결성을 체크하기 위한 기술도 있다. 바로 일방향 해시 함수인데 

 

이것은 어떤 원본의 데이터로 해시값을 생성하는 것이다. 그래서 이 해시값을 이용해서 원본인지 구별할 수 있다.

여기서 일방향은 방향이 하나밖에 없다는 의미이다. 

 

예를 들어서 파일 압축은 압축을 해서 파일 용량을 줄이고 그것을 다시 복구할 수 있다. 이것은 양 방향성을 가진다.

하지만 일방향은 해시값이 원본이 될 수 없다.

 

메시지 인증 코드는 줄여서 MAC이라고 부른다. 전송 도중 변경되거나 송신자가 올바른지 알 수 있다. 

 

디지털 서명은 거짓 행세,부인,변경이라는 위협을 막기 위한 기술이다. 오프라인에서 사용하는 도장이나 사인을 온라인에 적용한것.

 

의사 난수 생성기는 난수열을 생성하는 알고리즘이다. 난수는 예측할수 없는 수로, 키 생성이라는 중요한 역할을 담당한다.

따라서 난수 알고리즘이 취약하면 키를 추측할 수 있다.

 

이쪽은 간단히 언급만 하고 넘어가는 내용이라서 자세히는 모르겠다.

반응형