「HTTP」의 위험성과 「HTTPS」에 대해서
소개
배포된 웹 애플리케이션. '보호되지 않음'이라는 메시지가 표시되지 않습니까?
이는 Google Chrome에서 'HTTPS'를 지원하지 않는 사이트로 간주되기 때문입니다.
이대로는 보안면에서 큰 문제가 되는 경우가,,,
이번에는 「HTTP」의 위험성과 「HTTPS」에 대해 해설하겠습니다.
우선 "HTTP"란
HTML로 작성된 문장 등을 교환할 때 사용되는 통신 수단(프로토콜)입니다.
웹 서비스를 실현하기 위한 프로토콜로서 오랫동안 사용되어 왔지만, 보안면에서 다음과 같은 문제가 있습니다.
[문제 1] 데이터를 암호화하는 메커니즘이 없습니다.
HTML로 작성된 문장 등을 교환할 때 사용되는 통신 수단(프로토콜)입니다.
웹 서비스를 실현하기 위한 프로토콜로서 오랫동안 사용되어 왔지만, 보안면에서 다음과 같은 문제가 있습니다.
[문제 1] 데이터를 암호화하는 메커니즘이 없습니다.
[문제 2] 통신 상대를 인증하지 않음
인증에는 서버를 인증하는 서버 인증과,
클라이언트를 인증하는 클라이언트 인증의 2 종류가 있다.
【서버를 인증하지 않는 경우】
HTTP를 사용한 웹 서비스는 가짜 서버로 유도됩니다.
개인정보를 훔칠 위험이 있습니다. (피싱 사기)
【클라이언트를 인증하지 않는 경우】
마찬가지로 클라이언트도 인증하지 않으므로 웹 서버 측도 통신 상대를 확인할 수 없어 위험합니다.
[문제 3] 통신 데이터의 변조를 검출 할 수 없다.
HTTP에는 변조를 감지하는 기능이 없습니다.
예를 들어, 클라이언트가 1개 감귤을 구입한다고 합니다.
구입을 실행해 서버에 데이터가 보내지는 도중에, 공격자로부터 100개로 재기록되어 버렸습니다.
서버에는 100개로 데이터가 도착했습니다.
이것이 데이터의 변조입니다.
이와 같이 HTTP에서는 변조를 검출할 수 없기 때문에 통신 도중에 데이터를 마음대로 재기록될 위험성이 있습니다.
그 문제를 해소하기 위해 태어난 것이 "HTTPS"
「HTTP」에 「TLS(SSL)」를 짜넣은 것.
결론부터 말하면, 「HTTPS」대응으로 하는 것으로, 방금전의 「HTTP」의 문제점은 모두 클리어 할 수 있습니다.
「TLS」란
전송 계층의 보안 프로토콜.
다음 기능을 제공합니다.
"핸드 셰이크 프로토콜"이란?
"TLS"에 있는 프로토콜.
사전에 「클라이언트」와 「서버」간에 교환을 실시해, 확약하면, 암호화 키 등을 생성해 준다.
생성 된 암호화 키 등은 "클라이언트"와 "서버"간에 공유된다.
요약
이와 같이, 「HTTP」로의 통신은 꽤 무방비에 가까운 상태에서 위험이라고 하는 것을 알았습니다,,,
Web어플리케이션 제작할 때는, 「HTTPS」에 대응시키는 것이 필수군요.
Reference
이 문제에 관하여(「HTTP」의 위험성과 「HTTPS」에 대해서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuna1001/items/eb3ff77a679f98fc47e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)