Infomation_Security 11

공개키 인증서 인증과정

앞서 공개키 키 관리 기법과 PKI구조에서 사용되는 x.509 형식에 대해서도 알아보았다. 이제 이런 인증서를 얻는 방법과 인증하는것에 대해 알아보자. 인증서는 기관의 개인키로 서명되기때문에 기관만 modify 할 수 있다. 따라서 공개적인 위치에 두어도 상관이 없다. 현실적으로 생각을 해보자 대한민국의 모든 사람들이 여러개의 기관으로부터 인증서를 발급받는다. 이것에 대해 인증을 그럼 어떻게 할것인가? 서로 다른 CA로부터 발급받은 인증서는 인증 체인을 통해서 서로 간의 신뢰를 얻을 수가 있다. 용어 정리를 하자면 Ca라는 것은 ca로부터 받은 a의 인증서라는 것이다. 그리고 a의 인증서에는 a의 id와 a의 공개키가 있다. 예를 보자 만약 내 인증서에 X1이것은 X1의 개인키로 서명된 x2의 인증서를 ..

Infomation_Security 2021.08.21

X.509 인증서란

X.509 인증서가 간단하게 뭘까? 이름부터 간단해보이지가 않아서 light 하게 이해하고 싶으면 화가 날 수가 있다. https://gjwjdgnsrnlg.tistory.com/46 공개키 키 관리기법 공개키는 키 분배 관련 이슈가 존재한다. 해당 방법들을 알아보자. 1. 외부에 그냥 오픈하는 것 2. ‎공개디렉터리에해당하는 공개키에 올리겠다 ‎3. 권위있는 사이트나 기관을 통해 분배 ‎4. gjwjdgnsrnlg.tistory.com PKI라는 공개키 기반 구조가 있다. 이는 앞선 공개키 관리 기법 게시물을 보고 오면 베스트긴 하다. PKI는 공개키를 분배하는 데 있어서 사용하는 구조이다. 메일이나 우편으로 공개키를 갖다 줄 순 없으니깐 말이다. 그때 공개키를 인증서 형태로 분배하게 된다. 그 이유는..

Infomation_Security 2021.08.21

전자서명 기법 정리

* 참고 만약 전자서명의 대략적인 생성방법 정도만 알고싶으시면 https://gjwjdgnsrnlg.tistory.com/47?category=910140 메세지 인증(MAC)과 해시 함수 MAC은 Message Authentication code이다. 서명과 차이점을 이해해야 한다. 메시지 인증이 해결하려는 것은 무결성 + 보낸 이의 validate + 부인방지이다. 즉 이 메시지가 제대로 된 메시지이며, 어떤 이가 보 gjwjdgnsrnlg.tistory.com 위 글을의 밑부분을 읽어보시는게 좋습니다. 이 글은 전자서명이 생성되는 기법에 대해 원리(알고리즘)를 적어둔 글입니다. 이산수학에 대한 개념이 없으면 이해하시기가 힘들수 있습니다. 따라서 이에 대한 지식이 없으신 분은 간단히 시나리오 부분만 ..

Infomation_Security 2021.08.20

메세지 인증(MAC)과 해시 함수

MAC은 Message Authentication code이다. 서명과 차이점을 이해해야 한다. 메시지 인증이 해결하려는 것은 무결성 + 보낸 이의 validate + 부인방지이다. 즉 이 메시지가 제대로 된 메시지이며, 어떤 이가 보낸게 분명하며, 보낸 사실을 부정할수가 없어야 된다. 이러한 메세지 인증은 총 3가지 방법으로 가능하다. 1. 메세지 암호화 2. 메세지 인증을 위한 code = MAC 3. 해시 함수 첫 번째 방법부터 알아보자. 메시지 암호화.. 즉 암호화를 해서 해결하려는 것이다. 만약 대칭키 암호를 사용해서 이 키가 이미 공유가 돼있다. 그럼 이 대칭키로 암호화해서 보내면 받은 사람만 알 수 있고 만약 content가 이상하게 나온다거나 하는 것은 첨부하는 checksum, redun..

Infomation_Security 2021.08.20

공개키 키 관리기법

공개키는 키 분배 관련 이슈가 존재한다. 해당 방법들을 알아보자. 1. 외부에 그냥 오픈하는 것 2. ‎공개디렉터리에해당하는 공개키에 올리겠다 ‎3. 권위있는 사이트나 기관을 통해 분배 ‎4. 공개키 인증서를 사용 차례대로 알아보자. 첫 번째 방법은 누가 봐도 간단해 보인다. 이것은 쉽게 위조당할 위험이 있다. 공개키의 announcement에서 누군가가 다른 공개키를 전송하는 등의 공격이 예가 될 수 있다. 두 번째 방법은 사이트라던지 파일 시스템 폴더 같은 곳에 (name, public-key)와 같은 형태로 올린다. 물론 이것도 쉽게 위조될 위험이 있다. 세 번째는 있는 기관이다. 1. A가 기관에 B의 공개키를 요구한다 ( Time stamp가 찍혀 있음) 2. 기관은 기관의 개인키로 암호화해서 ..

Infomation_Security 2021.08.19

공개키 암호와 RSA

기존의 개인키의 문제점과 공개키에 대한 내용 그리고 대표적인 공개키인 RSA에 대해 알아봅시다 공개키를 모르는 상황이라면 암호화에 쓰일 수 있는 것은 대칭키일 것이다. 이 대칭키에서의 문제점은 대칭 키의 분배에 있다. 만약 그 대칭키가 유출된다면 암/복호화는 식은죽 먹기가 된다. 그래서 해당 키를 어떻게 분배해야 하는지도 중요해진다. 공개키는 단어 뜻 그자체로 키를 공개한다? 라는 의미로 받아들여진다. 하지만 원리는 두개의 키가 존재하는 것이다. 그것은 공개키 & 비밀키로 서로 비대칭적이다. 즉 다른 것이라는 뜻이다. 이러한 공개키 비밀키의 메커니즘은 Hard problem을 기반으로 해서 만들어진다. p, np문제.. 뭐 이런 내용들은 기억이 가물가물하지만 어쨌든 풀기가 상당히 어려운 문제라는 것이다...

Infomation_Security 2021.08.19

AES

이전에 DES에 대해서 보았다. DES는 56bit key를 사용하여 보안성이 떨어지며 느리다. 따라서 새로운 블락 암호화 기법인 AES를 사용한다. AES는 key size가 128,192,256중 하나를 사용한다. AES의 구현 기준은 1. 모든 공격에 저항성을 가지며 2. 속도가 빠르고 compactness 하며 3. 심플한 디자인이다. AES의 원래 이름은 라인달이라고 불렸다. key길이는 128/192/256중 하나이며 128bit 단위의 블락 사이즈를 가지고 블락 암호화를 한다. 그리고 iterative 구조이다. 이는 앞서 배운 feistel 구조와 차이점이 있다. iterative구조의 조금 더 정확한 표현은 add and round이다. 그리고 모든 공격에 대해 안전하며 8,16,32bi..

Infomation_Security 2021.08.07

Block Cipher mode

저번 글에서 Block Cipher에 대해 알아보았다. 그런데 또 mode라는 게 있는데 이게 무엇인가? 아마 이전의 Block암호화를 이해한 정도로 예상하자면 각 Block이 각각 따로 Feistel 구조에 의해서 암호화가 되는 시나리오일 것이다. 이런 구조를 ECB구조라고 한다. 원본의 펭귄 이미지가 ECB를 거치면 각각이 동일한 암호화 수준으로 암호화가 되므로 원본이 반영되어 유추가 된다. 그래서 큰 데이터에 대해서 적용할 때는 좋지 않다. 다음은 CBC모드이다. 이름에 Chain이 들어가 있는 것을 통해 어느 정도 유추할 수 있지만 Block이 chain처럼 연결이 되어 암호화가 된다. 자세히 보면 초기 벡터(IV)와 평문이 xor가 되고 key에 의해 암호화가 된다. 이 결과는 그대로 outpu..

Infomation_Security 2021.07.17

Block Cipher(블록 암호화)

이번에는 Block Cipher와 DES에 대해 알아본다. 우선적으로 Block Cipher는 대칭키 구조를 가진다. 여기서 대칭키란 암/복호화가 같은 키로써 대칭적으로 된다는 뜻이다. Block Cipher에서는 Block 단위로 나눈 후 해당 Block에 대한 특정 연산을 취한다. Stream에서는 XOR를 했던 것처럼 말이다. 대표적으로 Feistel구조에 대해서 알아볼것이다. Feistel구조는 Shanon의 SP Network에서 아이디어를 따왔다. S-P란 Substitution-Permutation을 뜻한다. 여기서 각각이 하는 역할은 무엇일까? Substitution은 S-Box에 의해서 이루어지며 이는 Confusion을 제공한다. Permutation은 P-Box에 의해서 이루어지며 이..

Infomation_Security 2021.07.17

Stream Cipher

이번에는 Block, Stream Cipher에 대해 살펴보고 Block Cipher의 대표적인 DES에 대해 살펴볼 것이다. 쉽게 말하자면 Block은 Block단위로 암호화되고 Stream은 한 비트 또는 Byte level로 암호화된다. 물론 Byte를 하나의 Block으로 보진 않는다. 각 Cipher 과정에 들어가는 Input을 보게 되면 Stream의 경우 x0, x1... xb가 Stream 형식으로 들어가는 것을 표현하였고 Block의 경우 x0,x1 ... xb가 하나의 block으로 들어가는 것을 표현하였다. 스트림을 보면 독특한 구조를 가진다. 이는 평문의 값을 key stream과 xor 하여 암호문이 나온다는 것이다. 그리고 다시 암호문을 xor 하면 평문이 나온다. 여기서의 xo..

Infomation_Security 2021.07.16