2020-03-23 TIL

할 일 목록

  • 코어자바 제네릭 읽기
  • 관계형 데이터베이스 1장 읽기
  • Object Orient software Engineering 책 읽기
  • 네트워크 암호화 부분 시험 보기

완료하지 못한 목록

  • 조합 알고리즘 공부

완료 목록

  • 코어자바 제네릭 읽기
  • 관계형 데이터베이스 1장 읽기
  • Object Orient software Engineering 책 읽기
  • 네트워크 암호화 부분 시험 보기

네트워크 시험

  1. 도청 가능성을 방지하기 위한 통신 암호화, 콘텐츠 암호화 각각에 대해서 설명하시오. (187~188p)

    • 통신 암호화 : 통신을 암호화 하는것으로, SSL이나 TLS이라는 다른 프로토콜을 조합하여 HTTP의 통신 내용을 암호화
    • 콘텐츠 암호화 : 컨텐츠 내용을 암호화
  2. 위장 가능성을 방지하기 위한 방법에 대하여 설명하시오. (190p)

    • 상대의 인증서를 확인한다.
  3. 변조 가능성을 방지하기 위한 방법과 그 한계점에 대하여 설명하시오. (192~193p)

    • 해쉬 알고리즘을 적용하여 무결함을 증명한다. 하지만 중간에 적절히 수정하면 유저로서는 알 수 없음.
    • 하지만 MD-5는 암호 능력이 많이 떨어지며, 변조 되더라도 받는 쪽에선 복구할 수 없다.
  4. HTTPS의 프로토콜 계층 구조를 그려보시오. (195p)

    • application 계층과 전송 계층 사이에 위치해 있다.
  5. 공통키 암호의 딜레마는 무엇인가? 그리고 이를 해결한 공개키 암호화 방식에 대하여 설명하시오. (196~197p)

    • 공통키 암호의 딜레마는 키를 어떻게 공유할 것이냐이다. 그래서 공개키 암호화 방식과 조합하여 사용한다. 공개키 개인키 한쌍이 존재하며 둘중 하나의 키로 암호화 한다면 반드시 다른 짝의 키로 복호화해야한다는 특성이 있다. 개인키는 소지하고 공개키를 목적지에 전송하여 공개키를 가진 자가 공통키를 공개키로 암호화하여 비밀키 소유자에게 전송한다. 공개키는 느리기 때문에 공통키를 사용하여 암호화를 한다.
  6. HTTPS에서 공개키 암호의 느린 처리 속도를 극복하기 위해 어떤 방식을 채택하고 있는가? (198~199p)
  7. 공개키 인증서가 필요한 이유는 무엇인가? (199p)

    • 공개키를 받더라도 통신 대상자의 공개키가 실제로 맞는지 확인을 할 수가 없다. 그렇기 때문에 제 3자 신뢰기관을 두고 대상자는 공개키를 ca로 보내 ca의 비밀키로 암호화 한 후에 인증서로 만들어 다시 반환한다. 그리고 요청자가 공개키 인증서를 요청하면 전송하고, 요청자는 자신의 컴퓨터에 미리 다운로드 되어져 있는 ca의 공개키를 사용하여 인증서로 부터 공개키를 획득하며, 실제로 대상자인지 확인한다.
  8. 인증기관의 비밀키와 공개키를 이용하여 서버 클라이언트가 메시지를 송수신하는 과정을 설명하시오. (200~201p)

    • 공개키를 ca로 넘김
    • ca는 비밀키로 공개키를 암호화 하고 인증서를 만들어 반환
    • 요청자는 서버에 공개키 인증서를 요청
    • 요청자는 소유하고 있는 유명한 ca의 비밀키를 가져와 공개키 인증서로 부터 공개키를 획득
    • 공개키로 공통키를 암호화 하여 서버로 전송
    • 공통키를 사용하여 주고받음.
  9. 클라이언트 증명서에 대해 설명하고 문제점에 대해서 모두 설명하시오. (202p)

    • 등록비가 비쌈. 설치를 따로 해야함. 쉽지않음.
  10. HTTPS의 통신 과정을 모두 설명하시오. (206~208p)

    • 클라이언트가 먼저 요청하며, 자신이 같고 있는 암호 수트로 불리는 리스트(사용하는 암호화의 알고리즘이나 키 사이즈 등), SSL 버전을 전송함.
    • 서버는 응답을 하며 암호화 목록중에 사용할 암호화수트와 SSL 버전을 전송함
    • 서버는 공개키 인증서를 전송함
    • SSL 협상이 끝났음을 알리는 메시지 전송
    • 클라이언트는 공개키 인증서로 부터 공개키를 받고, pre-master secret를 암호화 하여 다시 서버로 전송함.
    • 암호화가 끝났다는 신호를 보냄 이것을 해독하면 실제로 암호화 통신 시작
    • 암호화 통신을 맺었고 요청과 응답을 함.
    • 나중에 끊고 싶으면 둘중 하나가 끝음.
  11. SSL 통신이 지연되는 이유 2가지에 대해 모두 설명하시오. (209p)

    • https 통신과정이 http에 비해 오래걸림
    • 암호화 복호화 과정이 오래걸림.

5Fs

1. Fact

  • 코어자바 제네릭 부분을 공부했는데, 지속적으로 좋은 개발자가 되기 위해선 필요하지만 지금 당장은 필요한것 같지는 않다. 일단은 잘 이해도 안되서 여러번 보고 연습하는 방법으로 하려고 한다.
  • 관계형 데이터베이스 실전 입문 스터디를 시작했다.

2.Feelings

  • 저녁에 잠을 잘 못자서 힘들다.
  • 공부 집중 시간이 점점 적어지는것 같다. 공부 양도 많이 적어졌다.

3.Findings

  • 공변은 자신의 subtype으로 대체할 수 있음을 나타내고, 반공변은 자신의 부모로 대체할 수 있음을 나타내고, 무공변 또는 불변은 자신이 아니면 안됨을 나타낸다.
  • 대수는 symbol을 이용한 수학으로 쿼리를 대수연산이라고 할 수 있다.

4.Future Action Plan

  • 컬렉션 공부한다.
  • 데이터베이스 실전 입문 공부 범위를 모두 끝낸다.
  • 제네릭은 한번 다시 읽고 공부한다.
  • 내일 팀프로젝트 계획서 준비해야한다.

5.FeedBack


Written by@Zero1
This blog is for that I organize what I study and my thinking, feeling and experience.

GitHub