시스템보안

시스템 보안 :: 2주차

2017. 9. 30. 15:38


1. 대칭암호 (Secret key), 암호화와 복호화에 사용되는 키가 동일한 경우

  • DES(64bit 8글자 단위), 3DES, AES, 국내 ( SEED ARIA 등등)



2. 비대칭암호 (public key)


대칭암호의 다양한 이름

- 공통키 암호

- 관용암호

- 비밀키 암호

- 공유키 암호


DES의 구조

- 페이스텔 구조 ( 그물 구조 )


트리플 DES-EDE2

2개의 키로 암호화 하는 것.

암호화 복호화 암호화


트리플 DES-EDE3

3번 암호화 하는 것.

암호화 복호화 암호화 (서로다른 키를 사용하기 때문에 중간에 복호화는 진짜 복호화가 아님)


---------------------------------------------------------------------------------------------------------------------------



공개키암호. ( 비대칭암호, 암호화할 때와 복호화할 때의 키가 서로 다름 )

  • 공개 키와 개인 키가 반드시 쌍으로 존재

  • 암호화 키는 공개(public key), 복호화 키는 비밀로 함(private key)

  • 상대방의 키로 암호화, 상대방은 수신하여 자신의 키로 복호화



대칭 암호의 문제점

  • 키를 나와 상대방이 모두 가져야한다.

  • 많은 키를 보관해야한다.

  • 모르는 사람과 신뢰성 있는 통신이 어렵다.



해결방법 ( 공개키암호 )

  • 키 배포 센터에 의한 키 배송

  • 디피와 헬만, 도청자가 봐도 되는 정보를 교환하고 그 정보로 키를 만드는데 이 키는 도청자가 모름, 색깔을 섞는 것은 쉽지만 원색을 뽑아내는 것은 힘듦



ㅋㅋ근데 공개키암호의 문제점도 있음.

  • 대칭 암호에 비해 처리 속도가 몇 백 배 늦음

  • 중간에 감청할 수도 있음.



RSA 암호화 알고리즘


암호화 - 평문 E승 mod N

복호화 - 암호문 D승 mod N




대칭키

공개키

평문 암호화 속도

키배송x

키 배송 문제

암호화 속도



하이브리드 암호(대칭키 + 비대칭의 장점만 뽑아 구현)

'시스템보안' 카테고리의 다른 글

시스템 보안 :: 1주차  (0) 2017.09.30

시스템 보안 :: 1주차

2017. 9. 30. 15:37

시대별 암호화 방식


1. 고대


1 - 1 스키테일 : 같은 굵기의 원통형 막대기를 나눠 갖고 종이를 감아 메시지를 적어 암호화

  ex) 내 자신에 대한 자신감을 잃으면 온 세상이 나의 적


1 - 2 시저암호 : 글자(알파벳)를 평행이동해서 암호화

 알파벳의 경우 25개의 경우의 수


1 - 3 단일 치환 암호 : 무작위의 순서의 치환표와 대응시켜 암호화

이는 평문 문자 빈도수를 참고해 쉽게 해석할 수 있다.


1 - 4 다중 치환 암호: 암호문에 나타나는 문자들의 빈도를 거의 균등하게 암호화 ( 비제네르 )

         알파벳 빈도수를 무력화


암호명

암호 알고리즘

스키테일 암호

원통형 막대기에 리본을 감은 다음 옆으로 메시지를 적는다.

원통형 막대기의 굵기

시저 암호

알파벳을 일정한 문자 수 만큼 평행 이동

평행이동한 문자의 수

단일 치환 암호

치환표를 이용해 다른 알파벳으로 치환

치환표

다중 치환 암호

평문에 키 단어를 조합

키 단어



전치암호, 문자들의 위치를 뒤섞어 만든 암호 ( 스키테일 )


치환 암호, 문자 자체를 바꿔 만든 암호 ( 시저 암호 , 단일 치환 암호, 다중 치환 암호)



전사공격 : 모든 사건을 일일이 대입


빈도분석 : 평문 출현 빈도를 이용해 분석 ( 빈도수를 균등하게 하는 비제네르에는 소용 없다)



키공간 : 키가 가질수 있는 경우의 수



2. 기계


이니그마, 1차 세계 대전 때 독일군이 썼던 암호 기계


3. 현대



1. 블록암호

2. 스트림암호


1. 블록 암호

- 고정된 크기 단위의 평문을 동일한 크기의 암호문으로 암호화, XOR


ECB 모드, Electric CodeBook mode(전자 부호표 모드)

  • XOR로 일정 단위만큼 암호화

  • 간단하면서 기밀성이 낮은모드, 암호문에 패턴이 나타나므로 빈도 분석을 통해 해독 기능


CBC 모드, Cipher Block Chaining mode(암호 블록 연쇄 모드)

  • 암호문 블록을 마치 체인처럼 연결시킴

  • 이전 암호화한 블록을 XOR을 한 후에 키를 통해 암호화를 실행해서 암호문 블록을 만듬

  • 첫번째 블록은 XOR를 할 키가 없기 때문에 초기화 벡터를 만듬. 이것은 수신자가 알아야함. 모든 사람이 알아도 상관 없다. 키가 중요


CTR 모드, CounTeR mode(카운터 모드)

  • 카운터를 키로 암호화시킨 후에, 그 값을 평문 블록에 XOR로 암호화시킴. 카운터는 1씩 증가

  • 카운터만 키로 암호화하기 때문에, 스트림 암호로 활용 가능


패딩, 일정 단위의 크기로 자르는데 마지막 부분은 일정 단위보다 작을 수 있다. 그런 경우 0으로 채우고 마지막 바이트에 패딩이 몇 바이트인지 정보를 넣는다.




2. 스트림 암호

- 입력되는 글자 하나하나를 암호화, XOR


XOR을 이용한 암호화와 복호화

  • 스트림 암호

  • 그림 mask, 2x2 그림의 키

  • 일회용 패드, 해독 불가능


'시스템보안' 카테고리의 다른 글

시스템 보안 :: 2주차  (0) 2017.09.30

+ Recent posts