diff --git a/keyword/chapter07/keyword.md b/keyword/chapter07/keyword.md index 5b325ce..4c65293 100644 --- a/keyword/chapter07/keyword.md +++ b/keyword/chapter07/keyword.md @@ -9,7 +9,7 @@ - 대표적인 DBMS는 무엇이 있을까요? - MySQL, PostgreSQL 등 - 관계형 저장 방식은 무엇일까요? - - 테이블 형태로 데이터를 저장하며, 데이터 간의 관계를 외래 키(foreign key) 등을 통해 표현 + - 테이블 형태로 데이터를 저장하며, 데이터 간의 관계를 외래 키(foreign key) 등을 통해 표현 - 관계형이 아닌 저장 방식에는 무엇이 있을까요? - 데이터를 JSON 형식, Key-Value 형식 등으로 저장하며, 관계형 제약이 적음. (e.g. MongoDB) - SQL이란 무엇일까요? diff --git a/keyword/chapter08/keyword.md b/keyword/chapter08/keyword.md new file mode 100644 index 0000000..7b392c5 --- /dev/null +++ b/keyword/chapter08/keyword.md @@ -0,0 +1,46 @@ +- OAuth2 방식 + - OAuth2란 무엇일까요? + - Open Authorization 2.0, 인터넷 사용자들이 애플리케이션 또는 서비스에 접근할 수 있도록 인증을 제공하는 프로토콜. 사용자가 애플리케이션의 비밀번호를 직접 입력하지 않고, 신뢰할 수 있는 인증 기관(Google, Facebook 등)을 통해 권한을 부여 + - 우리 주변에서 OAuth2 방식이 주로 사용되는 곳은 어디일까요? (Hint: 간편 로그인) + - 간편 로그인(소셜 로그인): Google, Facebook, GitHub, Twitter 계정을 사용하여 타사 앱에 로그인 + - 토큰이란 무엇일까요? + - 토큰은 권한을 확인하기 위해 발급되는 교유한 문자열. OAuth2에서 클라이언트와 서버 간의 인증 및 데이터 요청 시 사용됨 + - OAuth2에서 사용되는 토큰은 어떤 것이 있고, 각각 어떤 용도일까요? + 1. Access Token + - 보호된 리소스에 접근하기 위한 토큰. 제한된 기간동안 유효하며, 주로 클라이언트가 서버로 요청할 때 사용됨 + 2. Refresh Token + - Access Token이 만료되었을 때 새 Access Token을 발급받기 위해 사용됨. 보통 더 긴 유효기간을 가짐 + - OAuth2 방식의 장점과 단점은 무엇일까요? + - 장점 + - 비밀번호를 공유하지 않아도 안전하게 권한을 위임할 수 있음 + - 여러 애플리케이션 간 권한 관리 용이 + - 단점 + - 구현 복잡성 + - 토큰이 탈취될 경우 보안 위험있음 +- Cookie와 Session + - Cookie란 무엇일까요? + - 쿠키는 사용자의 웹 브라우저에 저장되는 작은 데이터 조각으로, 웹사이트가 사용자의 정보를 유지하거나 사용자 추적을 위해 사용됨 + - Cookie는 어떤 형식으로 이루어져 있나요? + - Key-Value 쌍으로 이루어져 있으며 옵션으로는 유효 기간, 도메인, 경로, 보안 속성 등이 포함 + - Session이란 무엇일까요? + - 서버에 저장된 클라이언트 상태 정보를 관리하기 위한 방법. 사용자가 웹사이트에 접속하면 고유의 세션 ID가 발급되며, 서버는 해당 세션 ID를 기반으로 데이터를 식별 + - Cookie와 Session을 사용하는 이유는 무엇일까요? + - 웹이 stateless 프로토콜이기 때문에, 상태 정보를 유지하려면 추가적인 메커니즘이 필요함 + - Cookie와 Session의 차이는 무엇일까요? + - Cookie : 클라이언트(브라우저)에 저장. 데이터가 노출될 위험 있음 + - Session: 서버에 저장. 클라이언트에는 세션 ID만 전달. 더 안전함 +- JWT 방식 + - JWT (JSON Web Token)은 무엇일까요? + - JWT는 클라이언트와 서버 간의 데이터 교환에 사용되는 JSON 기반의 토큰. 클라이언트는 서버로부터 JWT를 발급받고, 이후 요청 시 이를 포함하여 인증 + - JWT 방식의 토큰은 어떤 구조로 되어있고, 각각 어떤 용도로 사용되나요? + 1. Header : 토큰의 타입과 서명 알고리즘 정보 + 2. Payload : 사용자 정보와 기타 데이터 + 3. Signature : Header와 Payload를 암호화한 값. 토큰의 무결성을 검증함 + - JWT 방식의 장점과 단점은 무엇일까요? + - 장점 + - 토큰 자체에 데이터를 포함하므로 서버에 상태 정보를 저장할 필요가 없음 + - 다양한 클라이언트(모바일, 웹 등) 에서 사용 가능함 + - 단점 + - 토큰이 길어 네트워크 대역폭이 증가할 수 있음 + - 만료 전 탈취 시 보안 위험성 있음 + - 토큰 갱신이 어려움 \ No newline at end of file