-
[보안] HTTPS/SSL/MAC/전자서명 - 헷갈렸던 개념 한줄 씩 정리🩸 삽질의 추억 2024. 4. 20. 00:55728x90
키
1. 보안에 필요한 키는 데이터 전송이 있기 전, 사전에 교환한다.
2. 대칭 키 방식은 키를 교환하는 과정에서 중간자가 이를 탈취하면 이후 모든 데이터를 도청 가능.
3. https 프로토콜에서 사용되는 '키'는 개발자가 직접 사용하는 것이 아니라, 데이터 통신 과정에서 SSL/TSL 계층이 이를 담당하여 암호화 복호화할 때 알아서 사용함.
4. https 통신에서 사용되는 대칭키 == 세션키. 통신이 끝나면 폐기 되기때문에 세션키라고도 불림.
5. https 에서 사용되는 '키' 와 MAC(HMAC) 에서 사용 되는 '비밀 공유 키' 는 다른 개념이다.
후자는 송신자와 수신자가 데이터 해싱에 직접 사용하는 키(=비밀값) 이다.
6. 디지털 서명에서 사용되는 키는 애플리케이션 단(=직접 사용)에서 사용하는 키이다.
HTTPS SSL/TSL
1. 유저 a 가 어플에 접속할 때 (서버는 https 에서 구동한다고 가정) https handshaking 을 시작되고, 어플을 종료하면 https session 이 끝난다.
2. 유저 a 가 접속하면 a와 서버간의 https 연결이, 유저 b가 접속하면 b와 서버간의 https 연결이 각각 생긴다. 그리고 독립적인 세션키가 생성된다. 즉, 유저 a와 b간의 세션 키는 서로 다르다.
디지털 서명
1. 전자 서명 방식 시퀀스 사진
맘에 드는게 없어서 제일 괜찮은 사진에 코멘트 추가함
2. (사진) receiver 에게 보내는 데이터는 1. 원문 2. 전자서명 3. sender 의 공개키
3. 메시지의 출저를 인증하고 부인을 방지하는데 사용된다.
= A 가 보낸 데이터가 정.말. 실.제. A가 보낸거 맞음? B가 A와 같은 데이터를 만들어낸게 아니고? 를 확인
예시)
유저 A가 자신의 QR 코드를 생성할 때, 자신의 개인 키로 해당 정보를 서명한다. 그리고 3.5 의 세 데이터를 QR에 담는다.
유저 B가 유저 A의 QR 코드를 스캔한다.
유저 B가 QR 코드를 스캔한 후에는 유저 A의 공개 키를 사용하여 서명을 확인할 수 있다.
유저 B는 QR 코드로 전송된 정보가 유저 A로부터 온 것임을 확인하면서 정보의 무결성도 보장받을 수 있다.
해시함수 / MAC(메시지 인증 코드)/ 디지털 서명
해시함수만으로는 단순히 메시지의 무결성만 검증 가능하다.
MAC 은 메시지 무결성과 송신자 인증(소스인증)이 가능하다. 그러나 부인방지 기능은 제공되지 않는다. 즉, A와 B 가 통신하는 경우, A가 보내는 데이터와 같은 데이터를 B도 만들어 낼 수 있으므로 부인방지가 되지 않는다.
디지털 서명은 메시지의 무결성, 소스 인증, 부인방지를 모두 제공한다,
다시 보니까 당연한 말뿐인데 왜 당시에는 이해를 빨리 못한거지?
흠...
진짜 아무것도 모.름. 상태일 때 도움됐던 블로그들
대칭키/비대칭키/HTTPS introduction: https://velog.io/@789456jang/공개키-개인키-대칭키
왠만한 개념 다 있음 : https://velog.io/@gs0351/대칭키-vs-공개키비대칭키
MAC/HMAC: https://kchanguk.tistory.com/137
HMAC java spring boot 예제 : https://liltdevs.tistory.com/179
728x90'🩸 삽질의 추억' 카테고리의 다른 글
[Docker Desktop] 앱 안 열림/ resume 안됨/ restart 안됨 (0) 2024.05.04 [Spring Boot] Multiple DataBases 를 사용하는 환경에서 table이 자동으로 생성되지 않음(ddl-auto) (0) 2024.04.20 [JPA SQL (JPQL)] @Query 작성했더니 빈 값 리턴 (0) 2024.04.18 [Spring Boot] swagger 로 테스트 중, body를 넘기는데 null 값이 들어왔다고 함 (0) 2024.04.17 [NCP, Docker] ssh 서버에 docker compose up 으로 Spring Boot + MongoDB 한번에 run 하기 (0) 2024.04.14