RSA

Stormi·2022년 8월 18일
0

개발

목록 보기
19/20

TCP 통신을 할 때 어떤 위험이 있는가 ?

a가 b에게 어떤 문서를 보낼 때, c가 중간에 낚아챌 수 있다. 어떤 데이터를 보냈는지 알 수 있다. CIA!!

c가 문서를 획득을 하면 : 기밀성이 깨짐, 새로운 문서를 만들어서 b에게 전송 (문서가 변경되면 무결성이 깨짐), b가 위조된 문서를 받으니까 가용성이 깨짐

C(기밀성)
I(무결성)
A(가용성)

즉, CIA를 지켜야 보안이 유지 됨.
문서를 지키는 애들이필요함(가용성을 지킴). 문서가 뺏겼을 때 그 문서의기밀성을 유지하기위해 암호화를 해야함, 그렇다면 가용성과 기밀성을 확보할 수 있음, 하지만 아예 문서 자체를 털어가서 위조한다면 무결성이 깨지는 것인데 즉, 새로운 문서를 만든다는 것이니까 이게 딱 a의 요청에 붙어있어야만 가능하다.

a의 요청을 열기위해 b는 a의 요청을 열수있는 열쇠를 가지고 있어야한다. 결국 a는 열쇠를 b에 보내야하는데 , 이때 열쇠 전달 문제가 생긴다. c가 열쇠를 탈취할 수 있기 때문이다.

이런 문제가 있다!!

즉, 첫번째문제는 열쇠 전달의 문제이다.

2번째 문제는 문서가 누구로부터 왔는지를 알아야한다!! 누구로 부터 왔는지 모르면 중간에 응답이 잘못온걸 모를 수 있기 때문이다.문서 위조에 대해서는 이때 생각을 안해도된다. 왜냐면 중간에 누군가 낚아챈다면 문서를 위조 할 수 없기 때문이다. 열수 없으니까!!!
즉, 열쇠전달 문제를 해결해도 위조를 못한다. 즉, 이 두개의 문제를 해결하기만 하면 보안에대한 이슈를 해결할 수 있다.

해결법

RSA

문제
1. 열쇠 전달 문제
2. 누가 보냈는지, 인증의 문제

RSA

public key : 공개키
private key : 개인키

키 하나로 열고 닫으면 ? 대칭키
키 쌍으로 열고 닫으면 ?

a가 만든 공개키, 개인키가 있고 , b가 만든 공개키, 개인키가 있다. a가 b에게 데이터를 암호화해서 보낼때, b의 공개키로 잠가서 보냄, 그럼 이걸 열 수 있는사람은 b의 개인키를 가진사람만이 열 수 있다.
-> 이것으로 1번 열쇠전달문제를 해결

2번 문제 해결법
a가 b에게 보낼때, a의 개인키로 암호화를 했다고 하자. 그러면 c가 탈취해서 a의 공개키로 열어볼 수 있다. 근데 이것은 암호의 목적이아니다. 보기는 할 수 있는데 보는 것으로 끝나버린다. a의 개인키로 암호화해서 보내면 b는 a의 공개키로 열어보면된다. 그러면 아! a가 확실히 적은글이 맞구나라는 것을 알 수 있음. a의 개인키로 잠갔으니까 a의 공개키로 열수 있다는 거니까 a가 쓴것을 알 수 있다. 즉, 이것은 전자문서에서 서명으로 쓰인다. 디지털세상에서 인증방식에 사용한다.

즉, 디지털세상에서 인증방식으로 사용할때는 개인키로 잠구는 것이고,개인키로 잠갔다는 것은 전자서명!!!
암호화으로 사용되는것은 공개키!!!로 잠구는 것이다.

a가 b에게 문서를 보낼때, b공개키로 1234를 암호화해서 보낸 이것에 a의 개인키를 감싸서 보낸다.
b는 1. 문서를 받으면, 2. a의 공개키를 열어본다 -> 이때 열리면 인증이 해결된거고, 안열리면 볼 가치가 없다. 다른 사람이 갈취해서 보낸것이니까. 3. 만약 열리면 b의 개인키로 열어본다. 열어서 1234를 확인한다.
이렇게 인증에 관한것을 해결하고 암호화를 해결한다.

인프런강의 시큐리티 무료강의를 수강했습니다.

0개의 댓글