2010-01-24 3 views
3

웹 응용 프로그램 용 API를 개발 중입니다. 데스크톱 클라이언트는 간단한 HTTP 게시물 (REST)을 사용하여 API와 상호 작용합니다. 나는 SSL을 사용할 것이고, 그것에 대해서는 의문의 여지가 없다. 제 질문은 이것입니다 : SSL을 통해 전송되기 전에 데이터를 암호화해야합니까? 전송되는 정보에는 기밀 정보가 포함될 수 있습니다. SSL로 충분합니까? 아니면 더 많이해야합니까? 추가 보안 레이어를 추가 할 때 유일한 우려는 사람들이 API와 상호 작용하는 것이 훨씬 더 어려워 질 것이라는 점입니다. 이것에 대한 어떤 생각이라도 대단히 감사하겠습니다.API 보안 질문 : SSL 이상?

답변

4

아니요, SSL은 그대로 강력한 암호화를 제공합니다. 클라이언트가 HTTPS를 사용하도록하고, 편집증 환자라면 암호가 충분히 강한 지 확인하십시오.

두 번째 암호화하려는 유일한 이유는 웹 응용 프로그램에서 데이터를 다른 시스템으로 직접 전달하는 경우입니다. 이 경우 웹 응용 프로그램이 실제 데이터를 모르는 상태로 유지하고 클라이언트와 최종 대상간에 종단 간 암호화를 제공 할 수 있습니다.

+0

감사합니다. 이미 SSL을 강제하고 있습니다. 서버에 데이터를 알지 못하게하고 클라이언트가 암호화 키를 유지하도록하려는 생각이 마음에 들지만 유감스럽게도 서버는 데이터에 액세스해야합니다. –

2

인증 기관을 신뢰하고 클라이언트가 수행하며 키가 충분히 안전하다면 (RSA 2048은 잠시 중단 될 수 없습니다) SSL을 사용하면 아무런 문제가 없습니다. SSL 자체가 암호화를 제공하므로 SSL을 사용하기 전에 데이터를 암호화 할 필요가 없습니다.

인터넷을 통해이 API를 사용하는 경우 인증 기관 목록 here이 유용 할 것입니다.

클라이언트가 SSL 클라이언트 인증서를 사용하여 SSL을 통해 인증되도록 할 수도 있습니다.

1

IMHO, 이미 기존 암호화의 맨 위에 다른 암호화 계층을 추가하지 않겠습니다. API에 대한 오버 헤드와 복잡성을 추가합니다. SSL은 두 노드간에 보안 데이터를 전송하기 위해 존재합니다.

+0

좋은 점, 나는 물건을 간단하게 유지하는 것을 좋아하지만, SSL을 사용하는 것은 쉬운 것처럼 보였다. 내가 뭔가를 놓친 것처럼 느껴졌다. :) –

0

Shtééf가 이미 지적했듯이 지점 간 (point-to-point) 대신 종단 간 암호화가 필요한 경우 암호화가 필요합니다. 클라이언트 응용 프로그램이 통합 서비스 및 서비스 버스를 통해 서버와 통신하는 경우 다른 경우가 해당 될 수 있습니다. 이 경우 메시지는 중간 노드에 있고 암호화되지 않은 기밀 데이터로 원하는 모든 작업을 수행 할 수 있지만 SSL 암호화는 적용되지 않습니다.

또한 클라이언트가 이러한 통합 서비스를 사용하는 경우 클라이언트와 통합 서비스간에 SSL 연결을 시행하지 않을 수도 있습니다.

매우 기밀 정보로 작업하는 동안 SSL 암호화 통신 채널 대신 종단 간 보안을 사용하는 경향이 있습니다.

0

예. SSL은 man-in-the-middle 및 도청에 도움이되지만 SSL이 재생 공격과 같이 도움이되지 않는 다른 공격이 있습니다.