실제로 ReactJs에 SPA 하나 + Flutter에 모바일 애플리케이션 하나 + 별도의 서버에서 실행되는 SailsJ로 개발 된 REST API 하나가 있습니다. 유효한 정보 (ID / 비밀번호)로 로그인 할 때 API에서 반환 한 Firebase 인증으로 생성 된 보안 세션 쿠키로 사용자 인증을 관리했습니다.
이제 Firestore 데이터베이스에서 매우 민감한 데이터 (의약, 치료, 환자)를 암호화하여 침입이 발생했을 때 또는 프로덕션 데이터베이스 콘솔에 대한 기본 관리자 액세스 권한으로 아무도 데이터를 명확하게 볼 수 없도록하고 싶습니다.
클라이언트와 API 서버 간의 연결이 HTTPS를 통해 이루어지고 있다는 사실을 고려하여 클라이언트 수준에서 데이터를 암호화해야합니까? 아니면 수신 된 본문을 Firestore에 저장하기 전에 API 수준에서 암호화하고 GET 엔드 포인트에서 암호화 된 데이터를 복호화 할 수 있습니까?
내 생각은 사용자 등록시 AES로 암호화 키를 생성하고 유럽 / 프랑스 호스팅 회사의 다른 데이터베이스에 저장하여 US Cloud Act 또는 기타 (Firebase 인증의 사용자 ID <-> 암호화)로 인한 위험을 방지하는 것입니다. 키). 좋은 생각인가요? 사용자의 암호화 키를 안전하게 저장하고 사용하기 위해 선택할 수있는 다른 솔루션은 무엇입니까?
당신의 도움을 주셔서 감사합니다.
클라이언트와 API 서버 간의 연결이 HTTPS를 통해 이루어지고 있다는 사실을 고려하여 클라이언트 수준에서 데이터를 암호화해야합니까? 아니면 수신 된 본문을 Firestore에 저장하기 전에 API 수준에서 암호화하고 GET 엔드 포인트에서 암호화 된 데이터를 복호화 할 수 있습니까?
사용자 지정 API의 데이터를 암호화 / 복호화하는 경우 해당 API에 암호화 키에 대한 액세스 권한이 있어야합니다. 기회는 작은 있지만, 그것은 않습니다 키가 이곳에서 촬영 할 수 있으며, 다음 데이터를 손상시킬 의미한다.
클라이언트 측 코드의 데이터를 암호화 / 복호화하는 경우 해당 코드 만 해당 키에 액세스하면됩니다. 그런 다음 서버에 저장되지 않는 일부 대역 외 메커니즘을 통해 키를 교환하면 해당 서버에 액세스 할 수있는 사람이 데이터를 해독 할 방법이 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다