일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 유니티에러
- 아두이노
- 네오플
- 레지스터
- 아두이노함수
- 메모리
- MuchineRunning
- 인터럽트
- 유니티
- 반도체 취업
- 던파
- 면접
- 던전앤파이터
- 보안
- MLAgent
- 게임기획
- neople
- 반도체 엔지니어
- 암호화
- 컴퓨터구조
- 에러
- 메타마스크
- 이더리움
- 아두이노우노
- 네트워크보안
- 머신러닝
- 네트워크
- 반도체
- Unity
- memory
- Today
- Total
Dreaming Deve1oper
Cryptography_Symmetric Key_2 본문

■ 대칭키 암호화
Sender와 Reciever는 서로 Single Key를 공유한다.
Sender에서 암호화가 이루어지면, Reciever는 복호화를 진행한다. (암호화, 복호화 단계에서 동일한 키를 사용한다)
※ 대칭키 암호화에서 제일 중요한 것은 Secret Key
Secret Key를 어떤 방법으로 배포할 것인지가 가장 중요하다.
└ 하지만 서로 동일한 키를 가지고 있는 경우에만 암/복호화가 이루어지기 때문에 신뢰성을 갖는다. 키를 안전하게 배포할 수 있는 방법이 확보되지 않는다면 대칭키 암호화는 무용지물이다. 때문에 Secure Channel이 반드시 필요하다.
Secret Key Cryptosystem Vulnerabilites (대칭키 암호 시스템의 취약성)
암호화, Secure System은 인위적으로 만들어졌기 때문에 취약성은 반드시 존재한다.
해커들은 한번에 시스템을 뚫는 것이 아닌 지속적, 반복적으로 공격해 취약성을 뚫는 것이다.
└ 가장 많이 사용하는 방법 중 하나가 Shouler Attack(Shoulder Surffing)이다.
■ Passive Attacker [Eavesdropper]: 공격을하기 위한 전 단계인 트래픽을 모니터링하고 정보를 수집하는 단계.
└ Traffic Monitoring를 기반으로 한다.
- 키와 암호 시스템을 사용하여 메시지의 암호를 해독하여 공격한다.
- 전송중에 있는 암호문을 수집하거나, 수집한 암호문을 Reverse Engineering을 통해 평문화하여 키를 추론하고 추론된 키를 통해 공격한다.
■ Active Attacker: 직접적인 공격.
- 통신채널을 차단하는 방식으로 공격한다.
- 키 혹은 암호 시스템을 얻어내고 추측하여 가짜 메시지를 보내 공격한다.
- Sender / Reciever 중 하나에게 과도한 Traffic을 전송해 시스템을 다운시켜 공격한다.
Inherent Weakness of Symmetric Cryptography (대칭키 암호화 알고리즘의 약점)
- 키 배포는 은밀하게 이루어져야한다. (지리적으로 멀리 있거나 서로 모르는 경우엔 확인해야한다.)
- 사용자의 수에 맞는 키가 필요하다. → n*(n-1)/2 keys
- 비밀키(암호 시스템)가 손상된 경우 모든 트래픽을 해독하고 팩을 생성할 수 있다.
■ Basic Encryption Techniques (기본 암호화 기술)
- Sebstitution (대체) / Permutation (치환)
└ Combinations and iterations of these (조합 및 반복)
■ Simple Alphabetic Substitution (알파벳 치환)
- 장점: 26개의 key 공간
- 단점: 평문 공격, 반복된 패턴, 변경되지 않은 문자의 빈도 분포에 대해 깨지기 쉬움
각 평문의 기호에 무작위로 혹은 Key로 새로운 기호를 지정한다.
→ CodeBook: C = k | A = h | B = I
→ P = C A B | C = k h I
Q: 알파벳 대체를 여러번 사용할 경우 (C→k→□→k) 보안이 강화될까?
1) 암호문을 두번 복호화해야하기 떄문에 보안이 강화된다.
2) 한번에 대체하는 암호화 방식과 동일하기 때문에 보안이 강화되지 않는다.
3) 각 대체의 복잡성에 따라 강화가 될 수도 되지 않을 수도 있다.
A: 강화된다.
└ 연산의 복잡성을 높이기 때문에 결과적으론 보안이 강화된다. 연산하는 과정에서 시간이 오래 걸릴 수는 있지만 손쉽게 추론 가능하다는것이 단점이다.
■ Polyalphabetic Substitution (다문자 치환)
- 빈도 분포: 기본 알파벳 분포를 반영한다. 암호 분석가는 대체물을 찾음
- Need: 분포를 평평하게 유지한다.
└ 높고 낮은 분포를 병행한다.
└ t → a (odd postion), b (even position)
└ x → a (even position), b (odd position)
■ One-Time Pad (OTP)
- 인위적으로 만든 것 중 가장 안전한다.
- 키가 메시지보다 크다.
- 크고 비반복적인 키.
▶ 장점
- 대부분의 공격에 방어가 가능하다.
▶ 단점
- 시간 제한이 존재한다. (Max 2년)
- 매우 길고, 반복되지 않는 키가 필요하다.
- 키를 다시 사용할 수 없다.
- 키 관리가 필요하다: 인쇄, 저장, 설명
※ 구조: 양단의 시스템에서 물리적인 동기를 맞추어주는 것으로 공인 인증서에 OTP 번호를 넣으면 매핑되는 이유가 이 때문이다.
■ Transposition (전치)

- 메시지의 문자가 재배열 된다.
└ 전치와 같은 패턴을 깨트린다
▶ 장점
- 구현하기 쉽다.
▶ 단점
- 구현하기 쉽기 때문에 깨지기도 쉽다.
- 암호만으로 쉽게 공격할 수 있다.
※ Secure의 정의
- 얼마나 많은 System resource가 필요한가
- System resource를 사용하여 연산을 할 때 Computing time이 얼마나 걸리는가
■ Double Transposition
- 전치하는 것을 두번 꼬아 재배열 하는 것.
- 1st Transposition: 인접한 글자를 바꿈.
- 2nd Transposition: 짧은 패턴을 없앰.
Trustworthy Encryption System (신뢰할 수 있는 암호화 시스템)
- Based on sound mathematics
- Has been analyzed by experts
- Has stood the test of time
대칭키 암호화에서 사용하는 대표적인 Method
- DES: Data Encryption Standard
- AES: Advanced Encryption Standard
- RSA: River Shamir Adelman
■ Stream Ciphers
- 평문을 하나의 symbol 단위로 변환하여 처리하는 방식
- 대칭키의 암호화 알고리즘에 사용된다.
▶ 장점
연속적인 bit stream을 받아 변환하고 암호화가 이루어지기 때문에 속도가 빠르다.
에러가 다른 bit로 전파될 확률이 적다.
▶ 단점
어떤 암호화 알고리즘을 사용했는지 파악하기 쉽다.
오류가 전파될 확률은 낮지만, 오류를 끼워넣기 쉽다.
■ Block Ciphers
- 하나의 평문 그룹을 하나의 block (64bit, 128bit...)으로 만들고 암호문을 생성하는 것.
▶ 장점
어떤 암호화 알고리즘을 사용하였는지 추론하기 어렵다.하나의 Block 단위로 이루어지기 때문에 오류 정보를 끼워넣기 쉽지 않다.
▶ 단점
Block을 하나하나 암호화하고 feedback을 넣는 방식도 이루어지기 때문에 시간이 오래 걸린다.
한 Block에서 오류가 난 것들이 feedback을 통해 입력으로 들어가는 방식을 썼을 경우 에러가 손쉽게 전파될 수 있다.
DES: Data Encryption Standard
- 56 bit의 key length를 사용한다.
- 64 bit의 bit block을 통해 암호화가 이루어진다.
- Key 하나에 22시간 정도의 연산을 통해 쉽게 추론이 된다.
- 암/복호화 알고리즘이 오픈(public)되어 있다.


- DES의 보안성을 높이기 위해 개발되었다.
- 여러개의 서로 다른 3개의 키를 가지고 이루어진 알고리즘이다.
- Encrypt > Decrypt > Encrypt 통해 이루어진다.
- 고정된 56 bit가 아닌 64, 128, 192, 256 bits key size를 사용해 DES의 단점을 해소한다.

■ DES에서 사용하는 암호화 방식
- Electronic Code Book [ECB]
- Cipher Block Chaining [CBC]
- Cipher Feed Back [CFB]
- Output Feed Back [OFB]
- Counter mode:
※ CBC, CFB, OFB는 IV (Initial Vector) 값이 필요하다.
세가지 모두 chain 방식을 통해 이전의 값이 현재의 값으로 들어오는 과정이 필요하기 때문이다.
※ IV (Initial Vector) 값은 서로 공유가 되어야 한다.
Encryption, Decryption 단계에서 동일한 초기값을 처리할 수 있기 때문이다.
■ Electronic Code Book [ECB]

56 bit의 Key에 64 bit의 데이터가 들어오면 Encryption > 64 bit의 데이터를 만들어서 전송 > 56 bit의 Key를 사용해 Decryption > Original 64 bit 데이터를 추론
※ 동일한 Data block은 똑같이 암호화 된다. → 반복적인 plaintext가 들어오는 구조라면 key를 추론하기 쉽다.
■ Cipher Block Chanining [CBC]

■ Cipher Feed Back (CFB)

■ Out Feed Back (OFB)

'네트워크 보안' 카테고리의 다른 글
Key Distribution (0) | 2021.10.16 |
---|---|
Cryptography_Symmetric Key_3 (0) | 2021.10.16 |
Cryptography_Symmetric Key (0) | 2021.10.12 |
암호화 (0) | 2021.10.11 |
정보 보호의 정의와 3원칙 (0) | 2021.10.10 |