고유 한 장치 식별
스마트 폰 및 태블릿을 대상으로 데이터 보고서를 볼 수있는 사내 웹 기반 애플리케이션을 개발하고 있습니다. 고객은 특정 장치 만 콘텐츠에 액세스 할 수있는 가능성을 요청했습니다. 따라서 우리는 IMEI 또는 장치 uuid와 같은 고유 ID를 읽을 수없는 javascript / HTML5 기반 기술을 사용합니다. 아이디어는 위에서 언급 한 기술을 사용하여 시간 독립적 인 장치의 지문을 자동으로 생성 할 수 있다는 것입니다.
문제는 javascript / HTML5로 고유 한 장치 지문을 만들 수 있다는 것입니다.
단서는 브라우저에서 사용 가능하거나 알려진 정보 일 수 있습니다 (예 : http://browserspy.dk/ )
지문 JS2 라이브러리를 사용할 수 있으며 브라우저 지문을 계산하는 데 많은 도움이됩니다.
그건 그렇고, Panopticlick에서 이것이 일반적으로 얼마나 독특한 지 볼 수 있습니다.
phoneGap 플러그인을 사용하면 장치의 uid를 가져올 수 있습니다.
http://docs.phonegap.com/en/3.0.0/cordova_device_device.md.html#device.uuid
업데이트 : 이것은 네이티브 코드 실행에 따라 다릅니다. 우리는이 솔루션을 사용하여 우리가 만들고있는 네이티브 전화 애플리케이션 용 네이티브 코드로 컴파일되는 자바 스크립트를 작성했습니다.
이러한 액세스 장치 ID (ADID)를 처리하는 방법은 다음과 같습니다.
Gen ADID
- 신뢰할 수있는 사용자, 예를 들어 관리자가 장치에서 로그인 할 수있는 웹 페이지 https://mypage.com/manager-login 준비 -해당 페이지에 "이 장치에 대한 액세스 권한 부여"버튼이 표시되어야합니다.
- 사용자가 버튼을 누르면 페이지가 서버에 ADID 생성 요청을 보냅니다.
- 서버 생성 ADID, 화이트리스트에 저장하고 페이지로 돌아 가기
- 그런 다음 장치 localstorage 에 페이지 저장
- 신뢰할 수있는 사용자는 이제 로그 아웃합니다.
장치 사용
- 그런 다음 동일한 장치를 사용하는 직원과 같은 다른 사용자가 https://mypage.com/statistics 로 이동 하여 매개 변수 ADID (이전 localstorage에 저장 됨)를 포함한 통계를 서버로 요청 페이지 전송
- 서버는 ADID가 화이트리스트에 있는지 확인하고, 그렇다면 데이터를 반환합니다.
이 접근 방식에서는 사용자가 동일한 브라우저를 사용하고 기기를 재설정하지 않는 한 기기가 데이터에 액세스 할 수 있습니다. 누군가 장치를 재설정 한 경우 다시 신뢰할 수있는 사용자가 로그인하고 ADID를 생성해야합니다.
신뢰할 수있는 사용자를위한 일부 ADID 관리 시스템을 만들 수도 있습니다. 여기서 ADID를 생성 할 때 장치 일련 번호를 입력 할 수도 있고 나중에 장치 재설정시이 장치를 찾아서 ADID를 다시 생성 할 수 있습니다 (허용 목록 크기를 늘리지 않음). 또한 더 이상 서버 데이터에 대한 액세스 권한을 부여하지 않을 장치의 화이트리스트에서 일부 ADID를 삭제할 수 있습니다.
시스템이 많은 도메인 / 하위 도메인을 사용하는 경우 로그인 후 관리자는 "도메인 xyz.com에서이 장치로 액세스 권한 부여"버튼이 많이 표시되어야합니다. 각 버튼은 장치가 적절한 도메인, gent ADID를 수행하고 다시 리디렉션됩니다.
최신 정보
대체 Gen ADID :
- 관리자는 모든 장치를 사용하여 시스템에 로그인하고 1 회 사용 링크 https://mypage.com/access-link/ZD34jse24Sfses3J (예 : 24 시간 작동)를 생성합니다.
- 그런 다음 관리자는이 링크를 직원 (또는 다른 사람)에게 보내 해당 링크를 장치에 넣고 서버는 ADID를 로컬 저장소에 저장하는 장치에 반환합니다. 위의 링크가 작동을 멈춘 후에는 시스템과 장치 만 ADID를 알고 있습니다.
- 그러면이 장치를 사용하는 직원 은 서버 화이트리스트에있는 ADID가 있으므로 https://mypage.com/statistics 에서 데이터를 읽을 수 있습니다.
참조 URL : https://stackoverflow.com/questions/18738161/unique-device-identification
'programing' 카테고리의 다른 글
shared_mutex 향상에 해당하는 C ++ 11 (0) | 2021.01.14 |
---|---|
Vim에서 b와 B의 차이점은 무엇입니까? (0) | 2021.01.14 |
"make install"과 "make altinstall"의 세부 사항 차이 (0) | 2021.01.14 |
Xcode 5 오류 CertUIFramework.axbundle (0) | 2021.01.14 |
WebSocket 서버는 여러 수신 연결 요청을 어떻게 처리합니까? (0) | 2021.01.14 |