2010-07-13 4 views
1

내 웹 응용 프로그램은 기존 씩 클라이언트 응용 프로그램을 통해 실행됩니다. 실행되면 사용자 ID 및 추가 컨텍스트 정보 (기본적으로 대상 사용자 이름, 생일 등과 같은 정보)와 같은 정보를 포함하는 HTTP POST 요청이 생성됩니다.추가 컨텍스트 정보를 전달하여 보안 로그인 (안전해야 함)

인증 계획은 데이터베이스에 조회 테이블을 작성하는 것입니다. 사용자 이름이 이미 있으면 사용자를 자동으로 로그인하지만 데이터베이스에 항목이 없으면 사용자를 해당 데이터베이스 항목을 만드는 데 사용되는 초기 로그인 페이지로 리디렉션합니다.

제 질문은 MITM 및 기타 보안 구멍에 대해이를 보호하는 방법입니다. 씩 클라이언트를 통해 생성 된 요청이 SSL 연결에있을 수있는 방법은 무엇입니까? SSL 연결이 먼저 사용자 이름 (및 암호)으로 인증되어야합니까? 그렇다면 추가 컨텍스트 정보가 사용자가 로그인 할 때까지 공개적으로 노출됩니까?

죄송합니다. 기본 보안 101 질문 인 경우 죄송합니다. 보안 기초를 읽을 곳에 대한 언급도 크게 감사 할 것입니다.

답변

2

아니요, SSL에는 작동하기 위해 사용자 이름이나 암호가 필요하지 않습니다. SSL은 클라이언트와 서버 간의 데이터 만 암호화합니다. SSL을 통해 완전히 익명으로 액세스 한 사이트를 제공 할 수 있습니다. 대부분의 경우 사용자는 로그인 자격 증명과 해당 자격 증명을 사용하여 액세스 한 정보를 암호화하기 때문에 사람들은 SSL과 로그인을 동일시합니다.

방법을 사용하려면 사용자 ID 및 기타 정보를 SSL 사이트에 게시하기 만하면됩니다. 게시물과 모든 응답이 암호화됩니다. 웹 페이지를 사용하는 경우 다음과 같이 보일 것입니다.

<form method="POST" action="https://mysite.com/login"> 

응용 프로그램에서 생성하는 경우 게시 할 URL을 만들 때 https : //를 사용하십시오.

다른 보안 문제와 관련하여 계획된 배포의 전반적인 보안에 대해 충분한 정보가 없지만 위의 내용은 SSL 및 암호화에 대한 초기 질문을 처리해야합니다.