-
Security & Cryptography정보보호론 2022. 3. 7. 17:22
Security & Cryptography (보안과 암호학)
Symmetric Key Cryptography(대칭 키 암호학)
Alice 가 Bob 한테 메세지를 그냥 인터넷으로 보내면, 중간의 누군가가 메세지를 볼 수 있다.
그래서 Alice와 Bob 한테 공통의 키를 준다.
다시 메세지를 보낼 때, strong box에 메세지를 넣어서 보낸다.
그러면, 키를 가지고 있는 사람만이 상자안의 내용을 볼 수 있다.
실제 Symmetric Key Cryptography 사용되는 방법
Data Encryption Standard (DES)
- 56 bits keys
어떻게 공격하는 가?
모든 경우의 수를 계산해서 공격한다. (Brute force attack)
Integrity Protection (무결성 보호)
메시지를 중간에 누군가가 의도적으로 변경할 수 있다. 이 것을 판단하기 위해서 데이터가 중간에
변경이 되었는지 안되었는지 확인이 필요하다.
Glass Box에 넣어서 메세지를 보관해서 메세지를 보호할 수 있다.
Checksums
checksums을 이용해서 메세지의 무결성을 확인한다.
Strong one-way functions
해시 함수와 비슷하다.
비밀리에 manually deliver cryptographic keys(암호화 키)를 보낼 수 있는 것인가?
The Manual Key Transportation Protocol
추상화한 키를 두개로 나눠서, 두사람이 갖지게 한다. 두 키가 합쳐야지 하나의 키로 완성된다.
Creating Key Pairs
키를 랜덤한 수로 뺴서 나눈다.
주의할 점은, 올림을 하지 않는다.
(제 생각에는 올림을 하면, 키의 수 범위를 넘어가서 버그가 날 수 있어서 올림을 하지 않는 것이라고 생각합니다.)
The Real Key Distribution Problem
연결하려는 유저 만큼 연결하는 방법이다.
n : 연결하려는 유저
1/2 * (n^2 - n) -> 모든 유저를 연결할 때, 필요한 선의 개수
Kerberos Protocol
위의 문제는 많은 용량이 필요하다는 것이다.
Kerberos Protocol이라는 것이 필요하다.
KDC : 신뢰할 수 있는 기관이나 공간을 의미한다.
이곳에서 가지고 있는 키를 보낸다. 그러면 KDC는 양쪽의 키를 알게된다.
먼져, KDC로 보낸다.
KDC로 보낸 메세지를 다시 Alice에게 보낸다.
Ka로 푼 메세지를 안에는 보내려고 하는 설정값과 Kb로 잠긴 메세지가 있다.
안에 있는 Kab를 이용해서 symmetric session key로 만든다.
Bob에게 메세지를 보낸다.
자기가 가진 키로 연다
서로 키를 가지고 있는 상태
서로 키를 가지고 있는 상태이다. 이 상태에서는 중간의 KDC를 갈 필요도 없고, 누군가 메세지를 확인 할 수 도 없다.
Public Key Cryptography
비밀키를 이용해서 공공적인 공간에서 비밀 protocol
하지만, 이론적으로 만 존재하고, 실제로는 못한다.
두 번째 방법 : 열쇠 두개로 해결하는 방법이다.
짧은 키 : 자물쇠를 잠그는 역할을 한다. S Bob 키로 열 수 있다.
긴 키 : S Bob가 잠근 자물쇠를 열 수 있다.
단점
- 송신자가 누구인지 알 수 없다
- 공개키가 바꿔치기 되었을 때,
digital signature