2012-09-26 5 views
0

가능한 중복 :
How secure is sending sensitive data over https?
JSON data to web service- how do define expected JSON dataPHP REST 웹 서비스를 인증하는 방법은 무엇입니까?

나는 그것의 페이로드로 JSON을 받아들이는 REST 웹 서비스를 구축하고있다. 내 웹 서비스는 매우 간단합니다. 클라이언트 시스템의 데이터를 받아들이고 시스템에 주문을 작성합니다 (웹 서비스는 기본적으로 기존 기능의 래퍼입니다).

이제 응용 프로그램에서 사용자 이름과 암호를 통해 사용자를 인증합니다. 내가 보낸 JSON 데이터에 사용자 이름/비밀번호를 제공하도록 요청합니까? 이거 안전한가요?

서비스가 HTTPS를 통해 실행됩니다.

+1

결국 중복이 아닐 수도 있지만 2 분 간격으로 이름이 같은 두 개의 질문을 만드는 이유는 무엇입니까? - 질문 제목을 편집하는 것이 좋습니다. – Leigh

+0

보안은 프로세스이므로 보안 질문에 너무 구체적이지 않으므로 답변 할 수 없습니다. 필요한 보안 수준에 따라 크게 다릅니다. 기본적으로 HTTPS가 안전한지 여부를 묻습니다. – hakre

+0

안녕하세요. 무슨 일이 있었는지 확실하지 않습니다. 질문을 한 다음 다른 사람에게 물어 보았다. 그리고 내 이전 질문을 계속 했으므로 제목을 잊어 버렸다. – Lock

답변

0

나는 또한 위의 의견에 썼듯이, 당신이 알고 싶은 것이 분명하지 않습니다. 잠재적으로 많은 잠재력이 있기 때문입니다.

은의 당신이 무엇을 할 수 있는지 보자

  1. 당신이있어 HTTP, 전송 계층에서 인증을 넣을 수 있습니다. 아주 일찍 인증 할 수 있습니다. (웹) 서버 수준에서.
  2. json 페이로드로 자격 증명을 전달한 다음 응용 프로그램 내에서 인증 할 수 있습니다. 이 값은 1과 결합 할 수 있습니다.
  3. 인증 된 세션을 만들고 세션 키를 전달할 수 있습니다. API 요청은 세션이 있어야합니다. 그렇지 않으면 API 요청이 허용되지 않습니다. 이것은 2와 3을 결합 할 수 있습니다.

트랜스 포트 레이어가 충분히 안전하다면 (여기 TLS/SSL) 무엇이든 도와주세요. 어떤 패턴을 선택 하느냐에 따라해야 할 일이 더 있습니다.

또한 종종 사용자 자격 증명 옆에 웹 서비스에서 각 API 요청을 일부 엔터티에 매핑 할 수 있도록 사용되는 소위 API 키가 있으며, 이는 인증에도 일부 역할을 할 수 있습니다. 그러나 API 키는 사용자 이름과 비밀번호와 같은 것으로서 유연하지 않습니다.

+0

귀하의 의견을 보내 주셔서 감사합니다. 나는 옵션 2가 그들이 보낸 데이터에서 사용자 이름/암호를 간단하게 요청하고 있다고 생각했다. 당신은 언급하고 API 키 - 이것은 단순히 사용자가 데이터에서 제공하는 (예 : 임의의 숫자/문자) 키입니다? 그러면 서비스는이 키를 조회하여 유효한지 확인합니다. – Lock

관련 문제