본문 바로가기

Computer Science20

[네트워크] JWT 토큰 JWT (JSON Web Token) 인증에 필요한 정보들을 암호화 시킨 토큰 JWT 토큰 (Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별함 . 을 구분자로 나누어진 세개의 문자열의 조합 Header.Payload.Signature Header 정보를 암호화할 해싱 알고리즘 및 토큰의 타입을 지정 Payload 토큰에 담을 정보 지정 (클라이언트의 고유 ID값, 유효기간 등이 포함) key-value 형식 Signature 인코딩된 Header와 Payload를 더한 뒤 비밀키로 해싱하여 생성 토큰의 위변조 여부를 확인하는데 사용한다. Header와 Payload는 단순히 인코딩된 값이기 때문에 제 3자가 복호화 밎 조작 가능하나, Signature는 서버 측에서 관리하는 비밀.. 2023. 5. 29.
[네트워크] HTTP 쿠키(Cookie) 쿠키 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각 특징 웹서버의 사용자의 데이터를 넣을 수 있음 서버를 대신해 웹 브라우저에 저장하고 요청할 때 그 정보를 서버에 보내 사용자를 식별할 수 있음 쿠키가 있을 경우, 페이지 이동 시마다 로그인을 하지 않고, 사용자 정보를 유지할 수 있음 목적(이용) 세션 관리 서버에 저장해야할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화 사용자 선호, 테마 등의 세팅 트래킹 사용자 행동을 기록하고 분석하는 용도 쿠키는 주로 웹 서버에 의해 만들어짐 서버가 HTTP 응답 헤더(header)의 Set-Cookie 에 내용을 넣어 전달하면, 브라우저는 이 내용을 자체적으로 브라우저에 저장함 브라우저는 사용자가 쿠키를 생성하도록 한 동일 서버(사이트)에 접속.. 2023. 5. 28.
웹사이트 보안 공격 (CSRF, XSS) CSRF (Cross Site Request Forgery) 사이트간 요청 위조 사용자의 의도와 관계 없이 행해지는 공격 기법 -> 사용자의 인증된 세션(권한)을 도용하여 글쓰기, 수정, 삭제 등의 작업을 실행함 ex) 특정 웹사이트의 광고성 글을 올리는 등 CSRF 전제 조건 사용자는 보안이 취약한 서버로부터 로그인이 되어있는 상태 쿠키 기반의 서버 세션 정보를 획득할 수 있어야함 서버를 공격하기 위한 요청 방법을 미리 파악하고 있어야함 (예상치 못한 파라미터가 있을 경우 불가능) 악성 스크립트 페이지를 누르게 되면 권한을 가진 사용자일 경우 시스템에 있는 정보를 탈취할 수 있고, 광고성 글을 작성할 수 있다. ex) 옥션의 개인정보 유출 사건 동작 원리 사용자가 보안이 취약한 서버에 로그인 로그인 이.. 2023. 5. 21.
프로세스 구조 프로세스란? 컴퓨터에서 실행되고 있는 프로그램 = CPU 스케줄링의 대상이 되는 작업(Task) 프로그램이 메모리에 올라가면 인스턴스화가 일어나 프로세스가 되고, CPU 스케줄러에 따라 CPU가 프로세스를 실행함 프로세스 구성 요소 Stack Heap Data (BSS segment, Data segment) Code 힙과 스택 사이의 공간을 비워놓는 이유 스택과 힙의 메모리 영역이 겹치면 안되기 때문에 ex) 만약 함수가 함수를 재귀적으로 호출할 경우 동적으로 크기가 늘어날 수 있어 스택과 힙의 사이 공간을 비워놓는다 Stack : 지역변수, 매개변수, 함수가 저장 동적인 특징을 갖음 Heap : 코드에서 동적으로 만들어지는 데이터 저장 Data : 전역 변수, 정적 변수가 저장되고 프로그램이 종료되면.. 2023. 5. 19.