본문 바로가기

전체 글34

1. git 학습하기 git에 대해서 정리할 필요를 느낀다. git의 의도와 목적 git 사용의 숙련도 git 내부원리를 이해 서브 모듈등의 실제 케이스 branch관리 방법론 이해 2023. 7. 12.
문자 인코딩 정리 1. 문자 인코딩의 구성 요소 1. 들어가며 간략하게 논리적으로 정리만 가능하고 상대방에게 설명할 수 있을 정도로만 합시다. 문자인코딩은 3가지 구성요소로 나눌 수 있다. 문자 집합 문자 인코딩 형태 문자 인코딩 구조 하나씩 정리해보겠다. 2. 문자 집합 또는 문자 셋(Charset Set) or CCS(Coded Character Set) "글자들의 집합을 정의한 것" 영어를 예로 들어보자. 영어에서 알파벳은 문자집합이라고 할 수 있다. 위의 (1)의 문자집합에 정수값을 부여하면 부호화된 문자코드 - CCS(Coded Character Set)이라고 불린다. 부호화된 문자코드(CCS)는 그 값을 직접 사용하기도 하고, 인코딩해서 값을 변환해서 사용하기도 한다. ASCII 코드는 문자집합과 그에 부여된 .. 2019. 9. 21.
[HTTPS] 0. HTTPS 개념적으로 이해하기 0. 들어가기 우리는 인터넷을 통해 많은 메시지를 주고 받습니다. 이 메시지라는 것은 유튜브로 보는 영상이기도 하고, 네이버 기사를 통한 글과 사진이기도 합니다. 또 인터넷 뱅킹을 통해서 주고받는 거래이기도 합니다. 글, 사진, 영상, 거래는 모두 메시지입니다. 우리가 인터넷을 통해 주고 받는 모든 것은 메시지라고 추상화해 볼 수 있습니다. 메시지를 정상적으로 주고 받을 수 있어야 웹 서비스를 사용하는데 불편함이 없을 것입니다. 정상적으로 주고 받는 과정에 하드웨어나 네트워크의 상태와 같은 요소가 존재하겠지만 이 글에서는 단순히 HTTPS가 주는 장점과 관련해서 알아보겠습니다. 기술을 정리하기 위한 목적의 글을 작성하려고 합니다. 다만 요소만 나열하면 머리속으로 연결하기가 어려워 글로서 예시나 이유를 연.. 2019. 5. 20.
[HTTPS] 3. TLS/SSL 소개 0. SSL/TLS 목적 SSL은 처음 넷스케이프 사에 의해서만들어 졌고 이후 표준화 과정을 거치면서 TLS로 이름을 변경했다. TLS는 클라이언트/서버 응용 프로그램이 네트워크로 통신을 하는 과정에서 도청, 간섭, 위조를 방지하기 위해서 설계되었다. 그리고 암호화를 해서 최종단의 인증, 통신 기밀성을 유지시켜준다. 1. TLS의 3단계 절차 TLS의 3단계 기본 절차: 서버와 클라이언트가 서로 지원 가능한 암호화 알고리즘 교환 키 교환, 인증 대칭키 암호로 암호화하고 메시지 인증 서로 지원 가능한 암호화 알고리즘을 정하고, 서버의 공개키를 클라이언트에 전달해 준다. 서버에 전달한 메시지들을 공개키로 암호화해서 전송하고, 서버는 비밀키로 이 메시지를 해석한다. 서버와 클라이언트가 각각 임시 생성 값을 만.. 2019. 5. 18.
[HTTPS] 2. 이해를 위한 관련용어 보기 1. 관련 용어 아래 내용들을 간략하게 이해하고 암호화(encrytion) 어떤 대상을 암호화 하는 것. 복호화(decryption) 암호화된 대상을 원본 메시지로 되돌리는 것. 해시함수(Hash Function) 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 결과물을 해쉬값이라고도 부른다. 해쉬충돌(Hash Collision) 서로 다른 두개의 데이터가 해쉬함수로 처리했을 때, 동일한 해쉬값을 출력한 상황이다. 암호 원본 데이터를 아무나 읽지 못하도록 암호화 하는 알고리즘 텍스트 또는 평문 암호화 되기 전의 원본 메시지 암호문 암호화된 원본 메시지 대칭키 서로 동일한 키를 나눠가져서 암호화와 복호화를 하는 암호화 방식 공개키 or 비대칭키 공개키와 비밀키라는 2개의 키로 암호화, 복.. 2019. 5. 18.
[HTTPS] 1. HTTPS에 이해하기 0. 웹 개발자로서 만난, 반드시 만나게될 HTTPS https는 당연해지고 있습니다. 우리가 사용하는 대부분의 사이트는 https로 주고 받는 것을 볼 수 있습니다. 게다가 크롬 브라우저(2018 6월 - Chrome 68 버전)는 HTTP로 주고받는 주소는 Not Secure 경고출력을 기본으로 설정합니다. 하지 않으면 안되는 분위기로 웹은 변해가고 있습니다. 개인적으로 웹 백엔드 개발자를 지향하는 중이고, 몇가지 웹서버 설정을 하면서 HTTPS를 접하게 되었습니다. 처음으로 웹서버에서 HTTPS를 설정하면서 만나게 되는 라이브러리, 용어들이 많기도 하고 낯설기도 합니다. 초보 개발자분들이 많이들 공감하시겠지만, 작동은 하지만 내부 원리를 대략적이라도 이해하지 못 할때, 라이브러리의 변경이나 작은 에.. 2019. 5. 17.