목차
1. SSL 이론
2. 개인키, 공개키 설정
3. SSL 인증서 생성하기
- 개인키 + 인증요청서
4. 와이어샤크, winpcap, hexedit 설치
5. FTP에 SSL 적용
6. WEB에 SSL 적용
SSL 이론
- 전송하는 데이터 암호화
- 종단간 신뢰성 확보 (공인인증서만 가능)
- 사설인증서로는 불가능(보증해 줄 수 있는 제 3자(기관)가 없어서)
- 경고 메세지가 나오지만 사용해도 무방(전송 데이터는 암호화 되므로)
- 제 3자 공인인증기관(KISA - 위임받은 6개 중간인증기관)
- 왼쪽이 기본적인 HTTP의 구조이며, 4계층 위 SSL이 얹어진 구조가 HTTPS
- 암호화키와 복호화키가 같은 암호화 방식
- 키 관리, 키 전송의 문제점이 발생
- 쓰는 사람이 많아지면 관리가 매우 힘들어 진다
- 남들이 모르게 해커가 암호화키를 훔쳐가는 문제가 발생할 수 있다
- 원본의 데이터를 위조하여 통신하는 사람 간 문제가 발생할 수 있다
- 암호화 키와 복호화 키가 다른 암호화 방식
- 공개키로 암호화 된 것을 개인키로 풀 수 있지만, 반대는 X
- 소인수분해 어려움을 가지고 만듬(1과 자기 자신으로만 나눠지는 수)
- 소인수 자체가 엄청 길다(컴퓨터로도 100년 정도 걸림)
- 양자컴퓨터의 발달로 인해 위험해지고 있다
- 전자서명은 Hash값을 이용한다
- 원본에서 한 글자만 바뀌게 되어도 Hash값이 확 바뀐다
- md5sum : 32개의 16진수로 이루어진 Hash값을 확인 가능
- 개인키로 해쉬값에 대해 암호화를 함
- 이 암호화 키를 가지고 데이터를 암호화함
- 암호화된 데이터를 공개키로 풀어볼 수는 없으나 해쉬값 같은지 다른지는 확인 가능
- 중요한 부분이다
개인키, 공개키 설정
- Host PC에서 VM으로 모든 SSH key 접속이 가능해야 한다
- CentOS7-1에서 다른 VM으로 SSH key 접속이 가능해야 한다
- 배운 것이므로 간단히 포스팅 할께요!
- 권한을 꼭 변경해줘야 접속이 된다
- id_rsa에서 키를 자동으로 업로드할 수 있는데 그 키로 인스턴스에 접속이 가능
- 인증서 필요 없이 바로 접속이 가능하다
SSL 인증서 생성
- ca.key는 개인키 이름이므로 원하는대로 바꿔도 상관 없다
- 한 번 만들고 후에 쓸 일 없다
- x509 : 인증서 표준 방식
- days : 유효기간(보통 5년으로 많이 만든다)
- 둘 다 위험한 위치이므로 위치를 변경해준다
와이어샤크, Winpcap, hexedit 설치
- 구글 검색 후 설치 진행
- 와이어샤크 : 패킷 분석 프로그램
- Winpcap : 패킷 캡쳐 라이브러리
- hexedit : 원시코드를 16진수로 분석
- Winpcap, hexedit에서 설치의 어려움은 없으니 생략
- Winpcap을 대신 설치하여 진행하는 이유이다
FTP(SSL 적용)
- 시작 전 와이어샤크 실행
와이어샤크 사용 및 Hexedit에 적용
- 파일 형식을 .pcap으로 저장
- default 값은 와이어샤크에서밖에 사용이 안되므로
- 아무 패킷에서 우클릭 후 Follow - TCP Stream으로 확인
- FTP 접속이나 업로드 한 것 등 전부 확인 가능
- 매우 해킹 공격에 취약
- hexedit을 사용해 보기 위해 진행(50이라는 이름으로 저장)
- 다시 Hexedit에서 저장하면 1.png와 똑같은 png 파일로 생겨난다
FTP - SSL 설정
- SSL이 적용되었지만, 사설 인증서이므로 중간 인증기관의 인증서가 없기
때문에 알 수 없는 인증서라고 나오게 된다
- 하지만, 인증서에 있는 회사정보 빼고는 다 암호화되어 식별할 수 없는 상태가 된다
- 1.png와 같은 파일이다(테스트용으로 이름만 변경해서 진행)
WEB(SSL 적용)
- 와이어샤크 실행 후 진행
와이어샤크로 WEB 사용 패킷 분석
- 각각의 웹 서버의 index.html에 1.png 이미지 추가
- 빨간색 : 클라이언트가 서버에 요청
- 파란색 : 서버의 응답
WEB - SSL 설정
- 매우 중요한 작업이다(주석 푸는게 다지만 위치 제대로 확인하자!)
- 비공개 연결 : 루트 인증서로 확인이 안되므로 나오게 되는 것
- 중간 인증기관의 인증서가 없어서 생기는 일이다(사설 인증서로 진행하므로)
- 고급 정보 클릭 후, 아래 url을 클릭하면 진행이 된다
- 암호화 보안 프로토콜인 tls로 대신 검색해도 같은 결과이다
- https라는 검색 키워드가 없으므로 해당 방법으로 진행해야만한다