2017-12-08 5 views
0

최근 OracleAP 테이블 공간에서 일부 인트라넷 웹 응용 프로그램의 일부 데이터를 선택하기 위해 일부 끝점을 열어 놓은 WebAPI 프로젝트에서 작업하고 있습니다. 내 최고의 관심사 중 하나는 현재 내 API에 대한 유효하지 않은 호출로부터 WebAPI를 보호하는 것입니다.WebAPI/웹 응용 프로그램에서 HMAC 인증 접근

나는 내 API를 호출 할 수있는 다른 인증 된 웹 앱과 고유 키를 공유하는 HMAC 접근 방식을 검토하고 있습니다. 내가 웹 애플리케이션 A와 웹 애플리케이션 B와 키 B와 키 A를 공유 가정

내 질문은,
는, 웹 애플리케이션 (A)의 개발자가 내 API에 액세스하고 만들기 위해 자신의 또 다른 웹 애플리케이션 C와 키 A를 사용할 수있는 '공인' 전화? 그들에게 공유되는 열쇠는 다른 응용 프로그램에서 남용되기 쉽습니다.

답변

0

물론 모든 곳에서 키를 사용할 수 있습니다. 일반적으로 HMAC 접근법은 메시지를 인증하도록 설계되었습니다. 즉, HMAC를 사용하는 경우 키 소유자가 (키가 손상된 경우를 제외하고) 요청이 전송되었음을 100 % 확신합니다. 키 소유자가이 키를 공유하지 못하도록 할 수는 없습니다. 그러나 중요한 것은 "호스트"-API의 관점에서 볼 때 특정 키로 서명 된 모든 요청은 동일한 클라이언트과 물리적으로 동일한 응용 프로그램인지 여부와 관계없이 동일한 것으로 간주되어야합니다.

관련 문제