2008-09-02 3 views
3

Google 문서 도구와 같은 일부 웹 응용 프로그램은 사용자가 생성 한 데이터를 저장합니다. 소유자 만 읽을 수있는 데이터. 아니면 아닐 수도 있습니다.웹 응용 프로그램에서 사용자의 데이터 암호화

내가 아는 한,이 데이터는 원격 데이터베이스에있는 그대로 저장됩니다. 따라서 원격 시스템 (예를 들어 sysadmin)에서 충분한 권한을 가진 사람이 내 데이터에 잠복 할 수있는 경우 내 개인 정보가 손상 될 수 있습니다.

이 데이터를 원격 데이터베이스에 저장하고 데이터 소유자 만 해독 할 수있는 최상의 솔루션은 무엇일까요? 이 프로세스를 사용자에게 투명하게 만드는 방법은 무엇입니까? (사용자의 암호를 알지 않아야하므로 사용자의 암호를 데이터 암호화 키로 사용할 수 없습니다.

답변

6

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

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

-1

아니, 당신은 사용할 수 없습니다 암호,하지만 당신은 암호 해시를 사용할 수 있습니다. 그러나 Google 문서 도구는 모두 공유에 관한 것이므로 이러한 방법을 사용하려면 각 사용자에 대해 문서 사본을 저장해야합니다.

4

Carl이 머리에 맞았다 고 생각하지만 모든 웹 사이트에서 기밀 정보/개인 정보/특권 정보를 제공하는 경우 특정 수준의 신뢰를 받아야한다고 말하고 싶습니다. 이 신뢰를 확립하기위한 서비스 제공자의 책임. 이것은 처음부터 인터넷을 통해 여러 번 질문 된 질문 중 하나이며, 우리 모두가 지문에 자체 SSL 인증서를 암호화 할 때까지 계속 성장할 것입니다. 그렇다면 질문을해야합니다. '손가락이 아직 사용자에게 부착되어 있는지 어떻게 알 수 있습니까?'

1

글쎄, 아마존 AWS와 비슷한 프로세스를 고려해 볼 수 있습니다. 원격으로 저장되지 않은 비공개 암호로 인증합니다. 해시는 사용자의 유효성을 검사하는 데 사용됩니다. 그런 다음 주 알고리즘과 장기 검증 알고리즘 중 하나를 사용하여 인증서를 생성하고 보안 페이지에서 제공합니다. 그런 다음 공개/개인 키 알고리즘을 사용하여 사용자의 사물을 암호화 할 수 있습니다.

하지만 여전히 주된 문제는 같습니다. 충분한 권한을 가진 사람이 데이터에 액세스 할 수 있다고 가정하면 (예 : 서버 해킹) 잃어 버릴 수 있습니다. 충분한 시간과 힘이 주어지면 모든 것이 망가질 수 있습니다. 그것은 단지 시간 문제입니다.

하지만 GPG/PGP와 같은 알고리즘 및 응용 프로그램은 매우 잘 알려져 있으며 웹 응용 프로그램을 보호하는 방식으로 구현 될 수 있으며 일반 사용자가 처리 할 수있는 점수에서 유용성을 유지할 수 있다고 생각합니다.

편집 나는 @CarlUnkwntech 따라 잡기 그들의 문을 추가 할 : 당신이 사이트 자체를 신뢰하지 않는 경우, 거리에 개인 정보를 제공하지 않습니다. 누군가가 서버를 해킹하기도 전에 ...-)

1

Auron 질문 : 클라이언트가 데이터를 암호화/해독 할 수있는 키를 어떻게 생성합니까? 이 열쇠는 어디에 보관합니까?

음, 일반적으로 키는 사용자가 선택한 일부 암호에서 파생됩니다. 당신은 그것을 저장하지 않는다, 당신은 그것을 기억할 것을 신뢰한다.저장할 수있는 것은 어쩌면 레인보우 테이블 공격에 대한 보안을 강화하기 위해 해당 사용자와 관련된 소금 값 일 수 있습니다.

암호가 정확하지 않으므로 AxCrypt의 소스 코드와 Xecrets의 오프라인 클라이언트를 확인하는 것이 좋습니다.

관련 문제