2013-02-13 5 views
0

프론트 엔드가 javascript (백본) 및 codeigniter (PHP)의 백엔드 인 애플리케이션을 작성 중입니다. 백엔드에서 비밀 키를 사용하여 메시지를 암호화하고 동일한 비밀 키를 사용하여 자바 스크립트에서 메시지를 해독 할 수있는 방법이 필요합니다. 기본적으로 사용자 인증을 위해이 흐름이 필요합니다.PHP-Javascript 동일한 비밀 키를 사용하여 암호화 및 복호화

나는 인터넷을 통해 그런 조합을 찾을 수 없으므로 힘든 행로로 판명났다. 이 워크 플로우에 어떤 방법을 사용할 수 있습니까?

고마워

+0

SSL/TLS 기반 HTTP가 아닙니까? JavaScript 부분이 HTTPS를 통해 PHP-API와 통신하면 메시지가 암호화됩니다. –

+0

클라이언트 측에서 실제 보안 암호 해독은 없습니다. 누구나 알고리즘과 키를 볼 수 있습니다 ... – Sirko

+0

그리고 어떻게이 비밀 키를 클라이언트로 전송하겠습니까? –

답변

0

HTTPS를 사용하면 거의 의미있는 대답입니다. Javascript 암호화에 의존하는 것은 악의적 인 사용자가 프런트 엔드에서 암호를 일반 텍스트로 보내거나 공격자가 제어하는 ​​서버로 보내는 대신 스크립트를 삽입하기 위해 모든 종류의 불쾌한 작업을 수행 할 수 있기 때문에 바람직하지 않습니다.

HTTPS 및 SSL/TLS는 문제가 있지만 웹 응용 프로그램 통신 채널을 보호하기위한 표준 메커니즘입니다. 이 분야의 전문가들에 의해 광범위하게 검토되었으며 다양한 실패 모드 및 공격 시나리오에 대해 보안이 유지되었습니다.

예 : 귀하의 의견에 따르면 암호화에 하나의 정적 키를 사용하게됩니다. 클라이언트에게 키를 보내야하므로이 작업을 어떻게 안전하게 할 것입니까? 사용자가 로그인 페이지를 방문하여 합법적으로 키를 얻지 못하게 한 다음 다른 사용자의 통신을 해독하는 데 사용하는 것은 무엇입니까? 하나의 키로 충분한 메시지가 전송되면 새 키로 이동하는 메커니즘은 무엇입니까?

이러한 종류의 시나리오는 HTTPS에서 다룹니다. webapp로 "진짜"를하고 있다면 인증서에 대해 몇 달러를 지불해야 할 수도 있습니다 (실제로는 요즘 몇 달러에 불과합니다). 그러나 실제로가는 길입니다.

관련 문제