2009-07-17 9 views
5

RESTful 아키텍처를 사용하여 JSON 데이터를 제공하는 웹 서비스를 빌드하고 싶습니다.REST 및 JSON 보안

하지만 내 웹 서비스에서만 요청할 수있는 내 클라이언트 앱만 원합니다.

기본적으로 내 웹 서비스에는 공개적으로 사용되지 않는 중요한 데이터가 포함되어 있지만 웹 사이트에 연결하는 여러 가지 클라이언트 응용 프로그램을 구축 할 수 있도록 이러한 방식으로 구축하려고했습니다.

감사합니다. 감사합니다.

답변

5

웹 서비스 보안에있어 RESTful이거나 JSON을 사용한다는 사실은 관련 요소가 아닙니다. 모든 웹 서비스는 동일한 방식으로 보호되어야합니다. 다음과 같은 몇 가지 작업을 수행해야합니다.

  1. 가능하면 인터넷에서 웹 서비스를 호스팅하지 마십시오. 예를 들어 회사 LAN에서 웹 서비스를 호스팅하는 경우 라우터를 통해 웹 서비스를 특별히 공개하지 않는 한 공용으로 노출되지 않습니다.
  2. 인증 및 권한 부여 규칙을 설정하십시오. Windows 도메인 내부에서 웹 서비스를 호스팅하는 경우 Windows 인증을 사용하고 Active Directory 사용자 및 그룹을 기반으로 규칙을 설정하기 만하면됩니다. 다른 옵션은 HTTP 인증, 클라이언트 인증서 인증을 사용하거나 .NET에서 개발중인 경우 양식 인증을 사용하는 것입니다.
  3. 특히 웹 사이트가 인터넷에서 호스팅되는 경우 암호화 (HTTPS)를 사용하십시오.
1

이 작업을 수행하려면 몇 가지 작업 만 수행하면됩니다. 먼저 서비스 클라이언트는 HTTPS를 통해 서비스를 인증 받아 요청해야합니다. 클라이언트가 인증되면 클라이언트가이 토큰에 포함해야하는 개인 토큰을 리턴 할 수 있습니다. 합당한 시간이 지난 후에 토큰이 만료되고 보안 알고리즘을 사용하여 생성하는 경우 원하는 작업을 수행해야합니다.

더 엄격한 보안 요구 사항이있는 경우 Jakob의 제안을 따르거나 클라이언트가 요청하기 전에 VPN 세션을 시작할 수 있습니다.