2010-05-17 8 views
2

데이터 용 ASP.NET 웹 서비스에 액세스하는 iPhone 앱이 있습니다. 앱의 ASP.NET 끝 부분과 iPhone 부분을 모두 만들고 있기 때문에 곧 Appstore에 게시 할 예정입니다. 필요한 보안 검사를 알고 싶습니다. 다음과 같이ASP.NET 웹 서비스 API 보안

(그것에 대해 너무 많은 정보를 누설하지 않고) 프로그램의 기본 흐름은 -

. 로그인 (사용자 이름 입력, 앱 패스)
. 웹 서비스에서 데이터가로드되고 표시되는 기본 화면
. 그리고 사용자가 몇 번 업데이트 한 후 데이터를 다시 게시하십시오.

POST를 사용하여 HTTPS를 통해 Webservice로 데이터를 보내고 있습니다. 나는 입력의 길이를 점검하면서 입력을 살균하고 있지만 보안이 인 한 내 지식의 한계입니다. 다른 팁은 크게 감사드립니다!

편집 : 우리 서비스는 별도로 구독해야하며 iPhone 구성 요소는 단독으로 사용할 수 없습니다. 따라서 일반 사용자는 로그인 자격 증명을 갖지 않습니다. 앱 자체에 의료 데이터가 있으므로 로그인 페이지에서 공격을 시도하는 사람이 있으면 안됩니다.

감사합니다.
Teja.

+0

기기에 사용자 이름과 비밀번호를 저장하거나 매번 사용자가 비밀번호를 입력하도록 하시겠습니까? – Rudiger

+0

지금 당장 사용자 이름을 저장하고 매번 사용자가 암호를 입력하도록합니다. –

답변

2

살펴볼 항목이 많이 있습니다. 클라이언트와 서버 측 모두를 제어하므로 다양한 완화 조치를 취해야합니다. 올바른 접근법을 취하는 것처럼 보이지만 위험/위협에 집중하고 완화를지도에 표시해야합니다.

예 :

  1. 인증은 사용자 이름과 암호를 사용하여 수행됩니다. 여기서 무엇이 잘못 될 수 있습니까? 주요 위협 요소는 유선상의 자격 증명을 가로 채거나 장치가 유실 된 것 (또는 장치에 액세스하는 것)입니다. 이들은 자격 증명을 공격자에게 노출시킵니다. SSL을 사용하여 유선 트래픽을 암호화하면 네트워크에서이를 탐지하기가 어렵습니다. 그러나 장치에 자격 증명을 저장하면 SSL이 여기에서 사용자를 보호하지 않습니다. 고려해야 할 사항은 OAuth (위임 된 인증) 또는 자격 증명의 해시 된 버전을 일종의 만료와 함께 저장하는 것입니다. OAuth 경로가 권장되며 사용자가 응용 프로그램에 자격 증명을 입력하고 저장하는 것을 방지합니다. 대신 장치는 사용자 이름과 암호와 무관 한 "키"를 저장합니다. 그런 다음 웹 응용 프로그램에 로그온하고 응용 프로그램을 취소 할 수 있습니다. 만료 된 해시 된 자격 증명을 저장하는 것은 안전하지 않지만 OAuth가 서버 및 클라이언트 변경을 요구하므로 단기간에 구현하기가 더 쉽습니다.
  2. iPhone과 같은 장치는 국지 공격으로부터 일정 수준의 암호화 및 보호 기능을 제공하지만 응용 프로그램에 저장된 데이터 암호화는 고려해야합니다. 또한 저장된 데이터의 양을 최소한으로 유지해야합니다. 이는 구현하기가 어려울 수 있지만 사용자 및 관리와의 절충 사항을 관리해야합니다.

거기에 약간 resourcesout 읽을 수 있습니다. 안드로이드 또는 다른 모바일 플랫폼 용 자료도 유용 할 수 있습니다.

ASP 보안.NET 웹 서비스

Microsoft는 일부 guidance (및 관련 WCF security)을이 영역에 게시했지만 초점은 웹 서비스 측면에있는 경향이 있습니다. 보안에 대한보다 포괄적 인 접근 방법을 고려해야합니다. 응용 프로그램은 다른 ASP.NET 응용 프로그램과 마찬가지이므로 Beginning ASP.NET SecurityP&P Security Guidelines: ASP.NET과 같은 일반적인 ASP.NET 보안 리소스를 찾아야합니다. StackOverflow에서 more searching을 수행하고 싶을 수도 있습니다.

+0

감사합니다. 사용자가 iPhone에 저장하는 모든 콘텐츠를 이미 암호화하고 있습니다. OAuth를 살펴 보겠습니다. Webservices 끝의 데이터 및 데이터베이스 보안은 현재 다른 문제입니다. 그것에 대한 어떤 도움도 대단 할 것입니다. –

+0

일부 게시물을 웹 서비스 보안 정보로 업데이트했습니다. –