본문 바로가기

Major/Block chain

(0주차) - 정보보호개요 , (고전암호화)

정보보호 3가지 코어

 

 

 

 

 

 

  • Confidentiality(기밀성)

- 정보의 소유자가 원하는 대로 정보비밀유지되어야 한다는 원칙

- 허가되지 않은 사용자에게 민감하거나 중요한 정보가 노출되어서는 안되며, 비밀성이 노출되지 않도록 반드시 인가된 자에 의해서만 접근이 가능해야 함(접근 통제, 암호화 등)

 

그니까 이거는 정보 주인의 비밀~

 

  • Integrity (무결성)

비인가된 자에 의한 정보의 변경, 삭제, 생성 등으로부터 보호하여 정보의 정확성, 완전성보장되어야 한다는 원칙(물리적인 통제, 접근 통제 등)

 

나만 아는 다이어리 다른사람이 건들여서 내용이 바뀌면 안되지~

 

 

  • Availability(가용성)

- 정당한 방법으로 권한이 주어진 사용자에게 정보서비스를 거부하여서는 안된다는 것을 말함.(데이터의 백업, 중복성의 유지, 물리적 위협 요소로부터의 보호 등)

 

 

내가 다이어리에 자물쇠 채워놨는데 내가 못본다? 그거슨 있어서느 ㄴ안될 일~

 

 

 

 

 

 

 

보안공격의 유형

 

 

  • 방해(Interruption) - 시스템 일부가 파괴되거나 사용못하게("가용성") 공격
  • 가로채기(Interception) -  비인가자(열람,사용등이 허용되지 않은)들의 불법적인 접근에 의한 "신뢰성" 에 대한 공격
  • 변조(Modification) - 비인가자들의 불법적인 접근 뿐만 아니라 불법적인 변경에 의한 "무결성" 에 대한 공격
  • 위조(Fabrication) - 비인가자들의 시스템에 대한 위조물 삽입에 의한 인증에 대한 공격

 

 

 

 

 

 

 

(입문) 생소한 암호학 용어 정리

 

평문(plain text) - 정보이용자가 원래 가용하려 했던 메세지 (the original message)

 

암호문(ciphertext) - 다른사람(비인가자)가 가용 못하게끔 암호화된 메세지 (the coded message)

 

암호(cipher) - 평문에서 암호문으로 바꿔주는데 쓰이는 알고리즘 (algoritm for transforming plaintext to ciphertext)

 

키(key) - 송신자나 수신자만 아는 암호화하는데 쓰인 정보 (info used in cipher known only to sender/receiver)

 

암호화(encipher (encrypt)) - 평문을 암호문으로 바꾸는 과정 (converting plaintext to ciphertext)

 

복호화(decipher (decrypt)) - 암호화 반대, 암호문을 평문으로 바꾸는 과정 (recovering ciphertext from plaintext)

 

암호법(cryptography) - 암호화 하는 원칙이나 방법 (study of encryption principles/method)

 

암호해독(crptanalysis (codebreaking)) - 송수신자만 아는 "키 없이" 암호문을 푸는 원칙이나 방법(the study of principles/ methods of deciphering ciphertext without knowing key)

 

암호학(criptology) - 암호학과 암호해독 두 가지 모두의 영역 (the field of both cryptography and cryptanalysis)

 

절대 안전성(unconditionally secure) - 암호기법이 그 기법으로 생성된 암호문을 아무리 많이 주어도 그 암호에 대한 평문을 유일하게 결정해 낼 수 있는 충분한 정보를 포함하고 있지 않을 경우 반대 (ex. 일회용 암호 one-time pad)

 

계산상 안전(computationally secure) - 암호 해독 비용이 암호화된 정보의 가치 초과, 암호해독 시간이 정보의 유효 기간 초과않도록

 

관용키 - 송수신자가 같은 키를 사용(하나의 키)

 

공개키 - 송수신자가 다른 키를 사용(두개의 키)

 

블록 암호화(Block cipher) - 연산을 블럭단위로 처리

 

스트림 암호화(Stream cipher) - 입력을 연속적으로 처리

 

 

 

 

암호학에서는 아래에서 두 가지 기준을 만족하여야 한다.

 

 

 

 

 

 

고전적인 암호화 방식

 

 

 

 

 

 

관용암호방식

( = 비밀키 암호 방식)

 : 굉장히 고전적 암호방식, 수천년부터 사용되었던,

 

 

 

(특)

 

암호화 하는 key와 복호화 하는 key가 같음.

  • 글서 key가 기밀성 유지를 위해 가장 중요하다.( *비도가 키의 비밀성에 의존)

  • key를 상대방에게 어떻게 안전하게 전달하는 지가 중요.

*비도 : security level (보안강도) 

 

 

 

 

(장점)

 

- 다양한 알고리즘 개발, 알고리즘 수행속도가 빠름.(개발 및 수행 속도가 빠르다)

 

 

(단점)

 

- 키 관리 및 키 분배의 어려움( 분배가 무슨말인지 아직 모르겠다. 관리가 어렵다는건 ㅇㅈ)

- 디지털 서명의 어려움

 

 

(Examples.)

 

- DES(1주차에 소개될), RC5, SKIPJACK, IDEA, SEAL, RC4 등.

 

 

(관용 암호 방식의 대표적 3가지)

(환자암호, 전치암호, 적암호)

 

 

 

 

 

환자암호(Substitution cipher)

 

환자암호에도

시프트 암호 - 일정한 간격으로 시프트 (ex. 시저암호 ceaser),

단순환자 암호(Simple substitution) - 평문문자를 무작위로 다른 영문자로 치환하는 방식.

동음이의 환자암호(Homephonic substitution cipher) - 암호문의 문자빈도를 균등하게 분포되도록 만드는 방식

 

이거 머선소리지? 평문 - (영어문서)에 A라는 문자는 8/100의 빈도로 등장합니다. A에는 8개의 암호를 할당합니다. B는 1/100으로 등장합니다.

이 때 B에는 1개의 암호를 할당합니다. C는 3/100의 빈도로 등장합니다. 그럼 여기에 3개의 암호를 할당합니다.

 A : 42, 35, 97, 39, 21, 6, 59, 12

 B : 22

 C : 99, 88, 77

 

 평   문 : A    C    A    B    C    A    A    C    B    C

 암호문 : 42   99   35   22   88

여기서 알파벳에 할당된 암호들을 무작위로 쳐넣어서 할당 된 거 찾아서 암호문에서 찾아서 다시알파벳으로 찾아소 복호해준다.

통계적 성질이라 남아있기 때문에 문제가 많다고하니까 이거 이해안되면 그냥 쓰루 패스 !

 

 

다표식 환자 암호(Polyalphabetic substitution) - 하나의 keyword를 정해 키와 관련지어 암호화 한다.(비제네르 표에 적어놔서  http://edipermadi.wordpress.com/2008/03/26/the-implementation-of-vigenere-cipher-on-pic16f84/)

 

철자 환자 암호(Polygram substituion cipher) - 두 문자 이상을 환자시키는 방법

단순전치암호

다중 문자 치환 암호 기법(Multiple-Letter Encryption)이런거 있는데

나는 교수가 먼말인지 모르겠다.

머 이런것들 여러가지 있다. 진짜 고전 개재미없ㅅ네용.

 

 

 

 : 평문문자를 암호문 문자로 1:1 대응 시키는 것.

ex) "a" -> "d", "b" -> "e", "c" -> "f"...

 

 

무지 쉽다.

 

happy 를 암호화 하면 kdssb가 된다.

복호도 쉽것지?

 

 

(장)

 

암호문 -> 평문 , 평문 -> 암호문의 속도가 매우 빠르다.

 

(단)

 

출현 빈도수를 이용해 평문을 유추해볼 수 있삼

 

 

 

 

 

 

'Major > Block chain' 카테고리의 다른 글

AES  (0) 2020.04.28
(0.5주차) - 암호해독  (0) 2020.04.18
(1주차) - 암호화 방식(x고전 기법)  (0) 2020.04.09