문제

Google Docs와 같은 일부 웹 애플리케이션은 사용자가 생성한 데이터를 저장합니다.소유자만 읽을 수 있는 데이터입니다.아니면 아닐 수도 있나요?

내가 아는 한, 이 데이터는 원격 데이터베이스에 있는 그대로 저장됩니다.따라서 원격 시스템에서 충분한 권한을 가진 사람(예: 시스템 관리자)이 내 데이터를 숨길 수 있다면 내 개인 정보가 침해될 수 있습니다.

이 데이터를 원격 데이터베이스에 암호화하여 저장하고 데이터 소유자만 해독할 수 있는 가장 좋은 솔루션은 무엇일까요?이 프로세스를 사용자에게 투명하게 만드는 방법은 무엇입니까?(사용자의 비밀번호를 알면 안 되기 때문에 사용자의 비밀번호를 데이터를 암호화하는 키로 사용할 수 없습니다.)

도움이 되었습니까?

해결책

서버에서 암호화/암호 해독이 수행되는 경우 일부 로그 파일 등의 어딘가에 일반 텍스트가 덤프되지 않았는지 확인할 수 있는 방법이 없습니다.

JavaScript/Java/ActiveX 등을 사용하여 브라우저 내에서 암호화/암호 해독을 수행해야 합니다.사용자는 암호화되지 않은 정보를 서버에 다시 보내지 않도록 웹 서비스의 클라이언트 측을 신뢰해야 합니다.

다른 팁

내 생각엔 Carl이 결정한 것 같지만 어떤 웹사이트에서든 기밀/개인/특권 정보를 제공하려면 일정 수준의 신뢰를 가져야 하며 이는 웹사이트의 책임입니다. 서비스 공급자는 이러한 신뢰를 구축합니다.이것은 처음부터 인터넷을 통해 여러 번 제기된 질문 중 하나이며, 우리 모두가 지문에 암호화된 SSL 인증서를 가질 때까지만 계속 증가할 것입니다. 그런 다음에도 질문을 해야 합니다. '손가락이 사용자에게 아직 붙어 있는지 어떻게 알 수 있나요?'

글쎄요, Amazon의 AWS와 유사한 프로세스를 고려해 보겠습니다.원격에 저장되지 않은 개인 비밀번호로 인증합니다.사용자를 확인하는 데 해시만 사용됩니다.그런 다음 오랫동안 테스트된 기본 알고리즘 중 하나를 사용하여 인증서를 생성하고 이를 보안 페이지에서 제공합니다.그런 다음 공개/개인 키 알고리즘을 사용하여 사용자를 위해 항목을 암호화할 수 있습니다.

그러나 주요 문제는 동일하게 유지됩니다.충분한 권한을 가진 사람이 데이터에 액세스할 수 있는 경우(예:서버를 해킹했습니다), 당신은 길을 잃었습니다.충분한 시간과 힘이 주어지면 모든 것이 깨질 수 있습니다.시간 문제 일뿐입니다.

하지만 GPG/PGP 등과 같은 알고리즘과 애플리케이션은 매우 잘 알려져 있으며 웹 애플리케이션을 보호하는 방식으로 구현될 수 있으며 일반 사용자가 처리할 수 있는 수준으로 유용성을 유지할 수 있다고 생각합니다.

편집하다 따라잡고 싶어 @칼 그리고 알 수 없는 기술 그리고 그들의 진술을 추가하십시오 :사이트 자체를 신뢰하지 않는다면 개인 데이터를 공개하지 마십시오.누군가가 서버를 해킹하기 전이기도 합니다...;-)

아론이 물었다.클라이언트가 데이터를 암호화/해독하기 위한 키를 어떻게 생성합니까?이 키를 어디에 저장하나요?

키는 일반적으로 사용자가 선택한 일부 비밀번호에서 파생됩니다.저장하지 않고 사용자가 기억할 것이라고 믿습니다.예를 들어 레인보우 테이블 공격에 대한 보안을 강화하기 위해 저장할 수 있는 것은 해당 사용자와 관련된 솔트 값일 수 있습니다.

암호화폐는 제대로 이해하기 어렵습니다 ;-) 이에 대한 소스 코드를 살펴보는 것이 좋습니다. 액스크립트 그리고 Xecrets' 오프라인 클라이언트.

아니요, 비밀번호는 사용할 수 없지만 비밀번호 해시는 사용할 수 있습니다.그러나 Google Docs는 공유에 관한 것이므로 이러한 방법을 사용하려면 각 사용자에 대해 문서 사본을 저장해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top