사용자는 서로에게 메시지를 보내고 레일즈 앱을 통해 다른 사용자의 개인 정보를 게시합니다.레일 측 애플리케이션을위한 클라이언트 측 데이터 암호화/암호 해독
목표는 메시지 보안이므로 시스템 관리자 나 데이터베이스 누수가 데이터를 손상시킬 수 없습니다. 수신자 키로 자바 스크립트 클라이언트 측 암호화, 암호화 된 데이터는 데이터베이스에 저장되고 수신자 측에서 해독됩니다. 키는 시스템에 저장되지 않습니다.
의미가 있습니까? 해결책이 있습니까? 감사합니다.
업데이트 : 비대칭 암호화를 의미합니다. 각 사용자에 대해 두 개의 키 : 암호화를위한 공개 키, 암호 해독을위한 개인 키. 응용 프로그램 자체의 암호. 사용자는 암호를 사용하여 로그인하고 수신자 공개 키 (시스템에 저장 됨)로 암호화 된 클라이언트 측 메시지를 작성하고 데이터베이스에 저장합니다. 받는 사람은 암호를 사용하여 로그인 한 다음 개인 키를 입력하여 메시지를 디코딩합니다. 암호 해독도 클라이언트 쪽, 개인 키가 서버로 전송되지 않습니다.
키가 시스템에 저장되어 있지 않은 경우 어떻게 클라이언트가 해당 키를 계속 보유합니까? 로컬 저장소? 그런 다음 두 대의 컴퓨터 (또는 브라우저)에서 시스템에 로그인 할 수 없었습니다. 단순한 암호입니까? 무차별 적으로 강탈 당할 위험이 있습니다. ... –
@ JoachimSauer 나는 비대칭 암호를 사용합니다. 공개 키는 암호 해독에 사용할 수 없기 때문에 시스템에 저장할 수 있습니다. 질문 업데이트 : – Elder
여전히 * 클라이언트 *가 개인 키를 얻거나 유지합니까? 데이터를 해독하는데도 여전히 필요합니다. –