2010-05-07 2 views
1

저는 작업중인 애플리케이션을위한 RESTful API를 구축 중이며 클라이언트 코더는 사용자를 대신하여 API에 데이터를 제출할 수 있어야합니다. 내가 사용해온 모든 인기있는 API는 사용자 대신 사용자에 대한 정보를 게시하라는 요청과 함께 사용자에게 생성 된 세션 토큰 (사용자가 로그인 할 때 생성됨)을 보내야합니다.API (예 : Facebook, last.fm 등)가 로그인 한 사용자의 세션 키를 생성하는 이유는 무엇입니까?

호기심 때문에 내 질문은 왜 이러한 API에 세션 키가 필요하며 각 요청과 함께 사용자 이름과 암호를 다시 보낼 수 있습니까?

감사합니다.

답변

2

중요한 이유는 민감한 데이터를 앞뒤로 전달할 때의 보안 문제입니다. 세션 키를 전달하면 공격자가 세션 키를 사용하는 데 제한된 수명 만 있습니다. 또한 공격자가 세션 키를 손상 시키면 해당 정보를 사용하여 사용자가 계정을 가지고있을 가능성이있는 다른 웹 사이트에 대한 공격을 시작할 수 없으며 동일한 암호를 사용하게됩니다.

세션 키를 사용하는 또 다른 이유는 사용자가 API를 사용 중일 때 암호를 변경하면 갑자기 잠기지 않기 때문입니다.

관련 문제