강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yongs84253028
yongs84253028

câu hỏi đã được viết

[Cập nhật] Sách giáo khoa Node.js - Từ cơ bản đến thực hành dự án

phần mềm trung gian phiên nhanh

세션쿠키 용어 질문입니다.

Viết

·

386

0

용어에 대해서 제가 정확히 알고 있는게 맞는지 궁금하여 질문드립니다.

세션쿠키라는 용어는 단순히 "세션으로 처리하는 쿠키"라고 생각해도 될까요?

nodejsmysqlmongodbSequelize

Câu trả lời 2

0

yongs84253028님의 프로필 이미지
yongs84253028
Người đặt câu hỏi

개발자 도구에 노출이 되면 보안에 위험이 있는거 아닌가요?

또, sessionID 자체가 데이터와 관련없는 고유한 값이기 때문에 암호와는 아니지만, 보안이 된다고 생각하였습니다. 그 고유한 값에 cookie secret을 한번 더 적용하길래 혹시 이중 보안의 느낌으로 하신걸까요?

session, cookie로 검색해보았지만, 궁금증에 대한 내용을 찾지 못해 질문드립니다 ㅠㅠ

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

개발자도구에 노출되는 것은 보안에 위험이 아닙니다. 애초에 개발자도구에 노출될 수 있는 데이터에는 민감한 자료가 있으면 안 됩니다. 쿠키도 개발자도구에 노출되니까 마찬가지이고요. 그래서 sessionID같은 쿠키를 쿠키시크릿으로 암호화하는 겁니다.

yongs84253028님의 프로필 이미지
yongs84253028
Người đặt câu hỏi

제로초님이 말씀하신게 이해가 잘 안되는데... 개발자도구에 노출될 수 있는 데이터에는 민감한 자료가 있으면 안되는 이유는 보안에 위험이 있어서 그런거 아닌가요? 

그리고 처음 요청시에 데이터 노출을 https를 사용할 경우 해결가능하다고 하셨는데,  뒤에 "https를 쓰시더라도 개발자 도구에는 노출됩니다"라는 말이 이해가 잘 되지 않습니다. 개발자도구에 노출이 되는데 어떻게 해결이 된다는 의미인지 ㅠㅠ https를 사용했을 경우에 개발자도구에는 암호화 된 채로 데이터가 노출되는데 그 부분을 말씀하시는건지 ㅠㅠ

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

다시 정리하자면
기본적으로 개발자 도구에는 모든 데이터가 노출됩니다. 그래서 애초에 민감한 데이터는 노출하면 안 되고요. 그런데 sessionID같은 것은 어쩔 수 없이 노출됩니다. 민감한 데이터인데도 불구하고요. 애플리케이션 탭 보면 보이니까요. 그래서 암호화도 해두는 것이고요. 근데 문제는 암호화된 상태로 털려도 털린 그대로 악용이 가능합니다. 그래서 추가로 https를 적용해서 털리지도 않게 보호하는 겁니다.

 

yongs84253028님의 프로필 이미지
yongs84253028
Người đặt câu hỏi

암호화 된 상태에서 털어도 악용이 되는줄 몰랐네요! 정리해주셔서 너무 감사합니다!!

혹시 보안, 인증, 쿠키, 세션 이런쪽 관련해서 추천해주실 만한 책이 있으실까요? 

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

보안/인증 관련해서는 딱히 보고 공부한 책은 없습니다. 쿠키/세션 등에 대해서는 HTTP 완벽 가이드 책이 좋습니다.

yongs84253028님의 프로필 이미지
yongs84253028
Người đặt câu hỏi

답변 친절히 해주셔서 너무 감사드립니다!

0

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

서버쪽의 세션과 연결하기 위해 사용하는 프론트쪽의 쿠키입니다~

yongs84253028님의 프로필 이미지
yongs84253028
Người đặt câu hỏi

감사합니다 ㅎㅎ 질문 2가지만 더 답변 부탁드리겠습니다 ㅠㅠ

질문1.

세션을 사용하여도 맨 처음 요청에는 데이터를 쿼리스트링에 담아서 요청해야하기 때문에 개발자 도구에 데이터가 노출되는데 이 부분은 https를 사용하는 것만으로 해결이 가능한가요?

질문2. 

cookieParser("secret")이렇게 비밀키를 넣는 이유가 쿠키의 암호화를 위해서 한다고 배웠는데 express-session을 사용한다면, sessionID가 쿠키에 들어가기 때문에 이것 자체가 암호화가 되는 것이고, 그렇다면 cookieParser("secret")를 할 필요가 없는거 아닌가요? 혹시 이중 암호화로 보안을 높이기 위함인가요?

세션과 서명된 쿠키를 같이 사용하시는 이유가 무엇인지 궁금해서 질문 드립니다!

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

1. 네 해결됩니다. https를 쓰더라도 개발자도구에는 노출됩니다.

2. sessionID는 암호가 아닙니다. 이걸 cookie secret으로 암호화해야 암호가 되는 겁니다.

Hình ảnh hồ sơ của yongs84253028
yongs84253028

câu hỏi đã được viết

Đặt câu hỏi