2010-11-20 3 views
3

다양한 응용 프로그램 수준 데이터의 저장 메커니즘으로 Google 기어를 사용하는 웹 사이트를 상상해보십시오. 이 데이터는 응용 프로그램이 활성화되어있는 동안 비동기 웹 서비스 호출을 사용하여 서버에 간헐적으로 복제됩니다.html 기반 웹 사이트에서 PC의 고유 한 정품 인증

문제는 구독 모니터링 메커니즘에 있습니다. 고유 한 PC를 기반으로하는이 서비스에 가입 시스템을 상상해보십시오. 웹 서비스가 데이터를 동기화하는 PC (또는 더 구체적으로 웹 브라우저)를 어떻게 식별합니까?

당연한 일이지만 로컬 데이터베이스에 GUID를 저장하고 요청과 함께 전송하는 것이 가장 좋았지 만 Google 기어 저장소 설명서를 보면 데이터베이스가 암호화되지 않고 쉽게 변조 될 수 있음을 알 수 있습니다 (첨부 sqllite 파일에 필요한 것은 모두 필요하며 다양한 도구를 사용하여 수행 할 수 있습니다.)

내가 최근에 생각해 왔던 것은 분명히 기계마다 반복 가능하지만 자바 스크립트만으로 고유 한 서명을 계산하는 것입니다. 지금까지 이것의 구현은 나를 (개인 정보 보호를 위해 많은 것을하지는 않지만 navigator.userAgent.uniqueID 만 존재한다면) 벗어났습니다.

마지막 생각은이 기능을 제공하기 위해 ActiveX 컨트롤 및 파이어 폭스 플러그인을 작성하는 분명하지만,이 모든 통찰력을 감상 할 수

엉덩이에 큰 고통 ... 될 것입니다.

답변

1

로컬 DB에서 GUID를 사용하는 것에 대한 아이디어는 좋지 않습니다. 연결시 서버가 로컬 DB에 대한 GUID를 발급 할 수 있도록하면 더 확장 할 수 있습니다. 그런 다음 유효한 GUID 복제를 서버에 저장합니다. 해당 컴퓨터가 서버의 유효한 GUID와 일치하는 GUID로 복제 프로세스를 시작하면 데이터를 보낼 수있는 권한이 부여됩니다. 또한 로컬 데이터베이스를 사용하여 GUID를 만료시키고 재발행 할 수 있습니다. 마지막으로 단일 사용자에게 릴리스되는 GUID 수를 관리하는 것이 현명합니다. 사용자가 username jdoe로 인증하면 jdoe에게 발행 된 GUID를 사용할 수있는 사람은 jdoe뿐입니다. (아마도 사용자 이름이 최상의 보조 식별자가 아니지만 이와 같은 것을 사용하면 잘못된 데이터가 시스템에 도입되는 것을 방지 할 수 있습니다)

+0

이 접근법의 문제점은 동시 사용자를 다루는 것이 아니라 고유 한 PC를 처리한다는 것입니다. , 구독 지점에서 아마도 나는 신경 쓰지 말아야한다. ... GUID를 자주 바꾸는 아이디어를 좋아한다. 내 마음을 아프게하지 않았다. 다른 모든 제안은 또한 선상에서 취했다. –