2014-09-16 4 views

답변

8

권한 부여 서버는 예를 들어, specification에 따라 SSL/TLS를 사용하는 데 필요한 : 사용자 인증의 인증 엔드 포인트 결과에 대한 요청 및 일반 텍스트 자격 증명의 전송 이후

( HTTP 응답) 인증 서버는 인증 엔드 포인트에 요청을 보낼 때 섹션 1.6에서 설명한대로 TLS 을 사용해야합니다. 받는 요청을 보낼 때 인증 서버가 TLS의 사용을 필요로한다 (HTTP 요청 및 응답) 일반 텍스트 자격 증명의 전송의 토큰 엔드 포인트 결과에 요청 이후

1.6 절에 설명 된대로 토큰 엔드 포인트.

는 클라이언트 응용 프로그램에 대한에게 그것을 필요로하지만 많이 그것을 권장하지 같은 사양 않는다 : 응답을 요청하는 경우

리디렉션 엔드 포인트는 1.6 절에 설명 으로 TLS의 사용을 요구해야한다 유형이 "코드"또는 "토큰"인 경우 이거나 리디렉션 요청으로 인해 열린 네트워크에서 민감한 자격 증명이 으로 전송 될 수 있습니다. 이 사양을 사용하면 은 TLS 사용을 요구하지 않습니다.이 글을 쓸 당시 은 클라이언트가 TLS를 배포해야하므로 많은 클라이언트 개발자에게 중요한 장애물이었습니다. TLS를 사용할 수없는 경우 승인 서버 은 리디렉션 (예 : 승인 요청 중에 메시지 표시) 전에 안전하지 않은 끝점에 대해 리소스 소유자에게 경고해야합니다.

전송 계층 보안이 부족하면 클라이언트의 보안 및 보호 된 리소스에 심각한 영향을 미쳐 에 액세스 할 수 있습니다. 승인 절차가 위임 된 최종 사용자 인증 양식 (예 : 타사 로그인 서비스)으로 사용되는 경우 전송 계층 보안을 사용하면 특히 이 중요합니다. , 운송 및 저장에 비밀로 유지해야

액세스 토큰 자격 증명 (뿐만 아니라 기밀 액세스 토큰 특성) : 자원 서버에

통화는 액세스 토큰을 포함하고 SSL/TLS를 필요로 액세스 토큰이 유효한 자원 서 v와 인 액세스 서 v간에 만 공유되는 입니다.액세스 토큰 자격 증명은 [RFC2818]에 정의 된대로 서버 인증을 사용하여 섹션 1.6에서 설명한대로 TLS 을 사용하여 전송해야합니다.

이러한 이유 중 하나는 보안 전송을 사용하지 않기 때문에 토큰이 가로 챌 수 있고 솔루션이 안전하지 않다는 것입니다.

귀하는 특히 클라이언트 응용 프로그램을 호출하는 것이 좋습니다.

클라이언트 응용 프로그램 : 리소스 서버 통신에 SSL을 사용하는 한 정말 필요한가요?

나는 당신이 클라이언트가 웹 응용 프로그램이라고 가정하고 인증이 발생한 후 브라우저와 서버 사이의 통신에 대해 이야기하고 있습니다. 나는 (당신의 구현에서)이 통신이 액세스 토큰으로 인증되지 않았기 때문에 다른 방법을 통해 질문을한다고 가정합니다.

그리고 거기에는 답이 있습니다. 통신은 어떤 방식 으로든 인증됩니다. 서버가 누가 전화를 걸 었는지 알 수 있습니까? 대부분의 웹 사이트는 세션 시작시 설정 한 세션 쿠키를 사용하고이를 사용하여 세션을 식별하고 사용자를 식별합니다. 해당 세션 쿠키를 가져올 수있는 사용자는 세션을 하이재킹하고 사용자를 가장 할 수 있습니다. 원하지 않는다면 SSL/TLS를 사용하여 브라우저와 서버 사이의 통신을 보호해야합니다.

경우에 따라 클라이언트의 브라우저 부분이 리소스 서버와 직접 대화합니다. 서버 부분은 HTML, CSS, 이미지 및 자바 스크립트와 같은 정적 컨텐츠 만 제공합니다. 어쩌면 클라이언트가 이와 같이 구성되어 있고 SSL/TLS를 통해 정적 컨텐츠를 다운로드해야하는지 궁금 할 것입니다. 그렇지 않은 경우 중간에있는 사람이 악의적 인 JavaScript를 삽입하여 사용자의 액세스 토큰을 도용 할 수 있습니다. 정적 컨텐츠의 다운로드를 보호하려고합니다.

귀하의 질문은 숨겨진 가정에 근거하여 SSL/TLS를 사용하지 않는 유효한 이유가있을 수 있습니다. 사람들은 종종 인증서 비용이 너무 높거나 암호화가 너무 많은 CPU 전력을 필요로한다고 주장하기 때문에 응용 프로그램을 실행하기 위해 더 많은 하드웨어가 필요합니다. 나는이 비용이 거의 모든 경우에 중요하다고 생각하지 않습니다. 솔루션을 구축하고 실행하는 데 드는 총 비용과 비교할 때 매우 낮습니다. 암호화를 사용하지 않을 때의 위험도에 비해 매우 낮습니다. 이 토론에 시간과 돈을 낭비하지 말고 SSL/TLS를 사용하십시오.

+0

그래서 SSL을 사용하여 사용자가 방문 할 때만 인증되기 때문에 MVC 사이트가 항상 SSL을 요구하도록하는 것이 좋습니다. – pcbliss

+0

@pcbliss 예. (IMHO) –

관련 문제