2010-11-18 2 views
1

끔찍한 보안이 적용되는 API는 일반적인 장소입니다. 사례 - TechCrunch의 this story.SSL : API 성능과 보안의 균형을 유지하는 방법

그것은 질문이 SSL에 관해서 어떻게 성능과 보안의 균형 않는 남죠? 분명히 사용자 이름 및 비밀번호와 같은 민감한 정보는 SSL을 통해 전송되어야합니다. API 키를 사용하는 후속 호출은 어떻게됩니까? 신원 증명이 필요한 API 호출은 암호화되지 않은 연결을 사용하는 것이 좋습니다.

+0

SSL은 최신 컴퓨터의 성능에 큰 부담이되지 않습니다. –

+0

서버 또는 컴퓨터에는 없지만 3G 또는 그 이상의 연결에서 사이트에 액세스하는 스마트 폰은 어떻습니까? –

+0

SSL * 연결에 거의 영향을 미치지 않습니다. 네트워크 트래픽의 증가는 3G 또는 그 이하의 경우에도 사소한 것입니다. 성능 부담이 CPU에있을 것입니다. 심지어 3 세대 오래된 전화기의 경우에도 그다지 부담이되지 않습니다. – AviD

답변

1

문제는 응용 프로그램의 성능을 이해하지 않고 시도하고 측정하지 않고 응용 프로그램을 최적화 단지 잘못된 것입니다. 이것은 devs가 API를 암호화되지 않은 채로 남겨두기로 결정을 내리면 10 밀리 초의 성능을 향상시킬 수 있다고 생각하는 것입니다. 보안 문제와 성능의 균형을 유지하는 가장 좋은 방법은 먼저 보안에 대해 걱정하고 실제 고객이 부담해야하는 부분입니다 (일부 설계자는 화이트 보드 스틱을 사용하지 않음). 성능이 의심되는 경우 코드에서 실제 메트릭을 얻으십시오. 발행물. 보안과 관련이 없다는 이상한 느낌이 들었습니다. 당신이 혼합 된 컨텐츠를 허용하는 경우

2

는 다음 사람이 중간에 페이지에 이미 민감한 정보를 훔치는 JS를 주입 혼합 된 콘텐츠를 다시 작성할 수 있습니다. 무료 무선 액세스를 제공하는 카페 등에서는 중간자 공격이 그다지 어려운 것은 아닙니다.

https://www.eff.org/pages/how-deploy-https-correctly

좋은 설명입니다 :

응용 프로그램을 호스팅 HTTPS를 통해 더 혼합 된 콘텐츠가 없을 수 있습니다; 즉, 페이지의 모든 콘텐츠는 이어야하며 HTTPS를 통해 가져와야합니다. HTTPS를 통해 기본 페이지를 가져 오는 의 사이트에서 부분 HTTPS 지원을 볼 수 있지만 페이지의 요소, 스타일 시트 및 JavaScript 일부 또는 전체는 HTTP를 통해 가져옵니다.

기본 페이지로드는 활성 및 수동 네트워크 공격으로부터 보호되지만 다른 리소스는 없으므로 안전하지 않습니다. 페이지는 HTTP를 통해 일부 자바 스크립트 나 CSS 코드 를로드하는 경우, 공격자는 거짓, 악성 코드 파일을 제공 할 수 있으며이로드되면 페이지의 DOM을 통해 을. 그런 다음 사용자는 보안이없는 상황으로 돌아갑니다. 이 은 모든 주류 브라우저가 콘텐츠를로드하는 페이지에 대해 사용자에게 경고하는 이유입니다. 웹 메일 응용 프로그램에서 메시지 아이콘을 공격자 가 저장 메시지를 교환 어떤 경우 삭제 않으며 HTTP를 통해 이미지를 참조하는 것이 안전합니다?

당신은 HTTPS를 통해 전체 응용 프로그램 도메인을 제공해야합니다. HTTP HTTP 301 또는 302 요청을 HTTPS 리소스에 리디렉션합니다.

0

당신은 당신이 도약 전에 SSL 의 주장 성능 문제에 대한 몇 가지 증거를 수집해야합니다. 당신은 꽤 놀랄 수 있습니다.

관련 문제