2011-08-17 2 views
2

원시 데이터, 암호화되지 않은 데이터를 TCP를 통해 클라이언트 (많은 다른 언어로 프로그래밍 된 수많은 응용 프로그램)에 전달하는 서버 응용 프로그램 (C로 프로그래밍 된)에 암호화를 추가하려고합니다.사용자 정의 응용 프로그램 암호화

가장 좋은 방법은 무엇입니까? 공개 키 암호화? 그렇다면 프로세스는 어떻게 될 것입니까?

감사합니다.

답변

0

OpenSSL이 내 요구에 적합합니다! 문서와 튜토리얼에서의 빠른 견해는 나를 올바른 방향으로 가리켰다.

3

물어 보면 암호 작업을 할 수있는 자격이 없을 수도 있습니다. 대부분의 다른 버그와 달리 전체 시스템의 보안을 손상시키는 암호 처리에서 미묘한 실수를하는 것은 쉽지 않습니다. 다른 사람이 시스템을 손상시킬 때까지는 분명하지 않습니다.

그냥 SSL (일명 TLS)을 사용하십시오. SSL/TLS 스펙과 라이브러리를 설계 한 사람들은 이미 여러분을 위해 모든 노력을 기울였습니다.

+1

"특히 많은 다른 언어로 프로그래밍 된 다양한 응용 프로그램"이있는 경우 TLS는 매우 광범위하게 지원됩니다. – Thilo

+1

내가 자격이되는지 아닌지는 (나는 인정하지는 않지만) 일을해야하기 때문에 중요하지 않으며, 나는 그것을 할 사람이다. 그래서 나는 시작하는 가장 좋은 방법을 찾고 있습니다. –

+0

또한 다른 응용 프로그램 중 아직 암호화를 지원하지 않습니다. 내가 제어 할 수있는 유일한 것은 서버이므로 다른 클라이언트가이 지원을 추가 할 수있는 가장 융통성있는 최선의 방법을 찾고 있습니다. –

0

SSL : 암호화 된 데이터를 시작하고 전송하는 보안 소켓 레이어입니다.

TLS : 시작 계층을 요청하고 그 응답이 기능 목록 인 TLS : 전송 계층 보안은 상호간에 가장 적합한 암호화를 사용하여 전송을 계속할 수 있습니다.

참고 : 기능에는 일반 텍스트가 포함될 수 있습니다.

예를 들어 smtp starttls (rfc 2487)를 살펴보면 TLS를 지원하도록 기존 프로토콜을 확장하는 방법에 대해 읽는 것이 좋습니다. 투자 된 시간은 보상받을 것입니다.

관련 문제