KR102132504B1 - 컴퓨팅 장치의 보안 식별 및 보안 식별 방법 - Google Patents

컴퓨팅 장치의 보안 식별 및 보안 식별 방법 Download PDF

Info

Publication number
KR102132504B1
KR102132504B1 KR1020157008707A KR20157008707A KR102132504B1 KR 102132504 B1 KR102132504 B1 KR 102132504B1 KR 1020157008707 A KR1020157008707 A KR 1020157008707A KR 20157008707 A KR20157008707 A KR 20157008707A KR 102132504 B1 KR102132504 B1 KR 102132504B1
Authority
KR
South Korea
Prior art keywords
issuer
application
identifier
mobile device
public identifier
Prior art date
Application number
KR1020157008707A
Other languages
English (en)
Other versions
KR20150064063A (ko
Inventor
스리니바스 단두
피터 시스코브스키
톨가 아카
조아오 루카스 구베르만 라자
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20150064063A publication Critical patent/KR20150064063A/ko
Application granted granted Critical
Publication of KR102132504B1 publication Critical patent/KR102132504B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

컴퓨팅 장치에서 구현되는 방법은 이 컴퓨팅 장치 및/또는 사용자를 이 컴퓨팅 장치상의 애플리케이션에 식별시켜 주는 것을 가능하게 한다. 이 방법은 공개 식별자에 대한 함수 호출을 수신하는 단계, 함수 호출에 응답하는 단계, 해시 동작을 수행하는 단계 및 공개 식별자를 반환하는 단계를 포함한다. 함수 호출에 응답하는 단계는 장치 내의 제1 메모리 위치에 발행자 ID를 요청하는 단계 및 제2 메모리 위치에 개인 ID를 요청하는 단계를 포함한다. 발행자 ID 및 개인 ID에 대한 해시 동작의 수행은 공개 식별자를 생성한다. 공개 식별자는 애플리케이션에 반환된다. 개발자가 이동 장치 또는 에뮬레이터 상에서 애플리케이션을 테스트할 수 있게 해주는 방법도 설명된다. 애플리케이션에 공개 식별자를 반환하도록 프로그램된 이동 장치도 설명된다.

Description

컴퓨팅 장치의 보안 식별 및 보안 식별 방법{SECURE IDENTIFICATION OF COMPUTING DEVICE AND SECURE IDENTIFICATION METHODS}
컴퓨팅 장치의 식별은 컴퓨팅 애플리케이션의 발행자를 비롯하여, 콘텐츠 제공자에게 중요하다. 발행자는 특정 사용자가 어떤 콘텐츠를 희망하는지를 확인하기 위해 분석을 이용한다. 사용 패턴의 분석을 통해 발행자는 그의 애플리케이션을 개선시킬 수 있다. 그러나, 일부 경우, 너무 많은 사용 데이터, 또는 너무 광범위하게 공유되는 사용 데이터는 사용자 보안 문제를 야기할 수 있다.
본 요약부는 이하의 상세한 설명에서 더 설명되는 개념들 중 선택된 것들을 간단하게 소개하고자 하는 것이다. 본 요약부는 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구대상의 범위를 제한하려 하고자 함도 아니다.
일 실시예에서, 컴퓨팅 장치에서 구현되는 방법은 이 컴퓨팅 장치 및/또는 사용자를 이 컴퓨팅 장치상의 애플리케이션에 식별시켜 주는 것을 가능하게 한다. 방법은 공개 식별자(public identifier)에 대한 함수 호출을 수신하는 단계와, 장치 내의 제1 메모리 위치에 발행자(publisher) ID를 요청하고 장치 내의 제2 메모리 위치에 개인 데이터를 요청함으로써 함수 호출에 응답하는 단계를 포함한다. 발행자 ID 및 개인 데이터에 대해 해시 동작이 수행되어 공개 식별자를 생성한다. 공개 식별자는 애플리케이션에 반환된다.
공개 식별자는 애플리케이션의 발행자에게 고유할 수 있다.
공개 식별자는 제1 공개 식별자일 수 있고, 방법은 제2 공개 식별자를 생성하는 단계를 포함할 수 있다. 이 경우, 방법은 제3 메모리 위치에 추가의 개인 데이터를 요청함으로써 함수 호출에 응답하는 단계와, 발행자 ID 및 추가의 개인 데이터에 대해 해시 동작을 수행하는 단계와, 제2 공개 식별자를 애플리케이션에 반환하는 단계를 포함한다.
함수 호출에 응답하는 단계는 발행자 이름, 개인 장치 고유 ID 및/또는 개인 익명 식별자를 장치의 운영 체제로부터 액세스하는 단계를 포함할 수 있다. 제1 메모리 위치 및 제2 메모리 위치 중 적어도 하나는 바이너리(binary) 내의 위치를 포함할 수 있다. 발행자 ID를 요청하는 것과 개인 데이터를 요청하는 것 중 적어도 하나는 장치의 보안 영역에 액세스하는 단계를 포함할 수 있다.
또 다른 실시예에서, 방법은 발행자가 컴퓨팅 장치상의 애플리케이션을 테스트할 수 있게 해준다. 이러한 식으로, 개발자는 애플리케이션이 널리 배포되기 전에 이 애플리케이션이 의도한 대로 동작하도록 보장할 수 있다. 방법은 발행자에 의해 할당된 발행자 ID를 수신하는 단계, 발행자로부터 수신된 발행자 ID를 애플리케이션의 배포 사본(deployment copy)과 연관시키는 단계, 애플리케이션의 배포 사본을 연관된 발행자 ID를 갖는 컴퓨팅 장치에 배포하는 단계를 포함한다.
발행자 ID는 예를 들어 개발자가 적절한 자격증명을 통해 로그인할 때 개발자 도구 웹사이트를 통해 얻어질 수 있다.
또 다른 실시예에서, 이동 장치는 이동 장치 및/또는 이 장치의 사용자를 식별하려 하는 적어도 하나의 애플리케이션을 갖는다. 이동 장치는 프로세서와, 이 프로세서에 연결되고 적어도 제1 메모리 위치 및 제2 메모리 위치를 갖는 메모리를 포함한다. 발행자 ID는 제1 메모리 위치에 저장되고, 개인 데이터는 제2 메모리 위치에 저장된다. 메모리는 또한 프로세서로 하여금, 공개 식별자에 대한 함수 호출을 수신하는 동작, 제1 메모리 위치에 발행자 ID를 요청하고 제2 메모리 위치에 개인 데이터를 요청함으로써 함수 호출에 응답하는 동작 및 발행자 ID 및 개인 데이터에 대해 해시 동작을 수행하여 공개 식별자를 생성하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 갖는다. 공개 식별자는 애플리케이션에 반환된다.
본 발명의 전술한 및 다른 목적, 특징 및 장점은 첨부한 도면을 참조하여 설명되는 후속하는 상세한 설명으로부터 보다 명백해질 것이다.
도 1은 예시적인 이동 장치의 시스템도이다.
도 2는 실시예, 기법 및 기술이 구현될 수 있는 적절한 구현 환경의 일반화된 예를 나타낸다.
도 3은 적절한 컴퓨팅 환경의 또 다른 일반화된 예를 나타내는 블록도이다.
도 4는 식별 컴포넌트를 갖는 이동 장치의 블록도이다.
도 5는 개발자가 애플리케이션을 테스트할 수 있게 해주는 예시적인 구현을 나타내는 프로세스 흐름도이다.
도 6은 새로운 식별 방법을 통해 스토어로부터 애플리케이션을 다운로드하기 위한 예시적인 구현을 보여주는 프로세스 흐름도이다.
도 7은 예시적인 방법의 흐름도이다.
상세한 설명 및 청구항에서 사용되는 바와 같이, 단수의 형식은 문맥적으로 명확하게 나타내지 않는다면 복수의 형식을 포함한다. 마찬가지로, 문맥적으로 명확하게 나타내지 않는다면 "또는"이라는 단어는 "및"을 포함하려 한다. "A 또는 B를 포함한다"라는 표현은 A 또는 B, 및 A와 B를 포함하는 것을 의미한다. 또한, "갖는"은 "포함하는"을 의미한다.
도 1은 일반적으로 참조번호(102)로 도시되어 있는 다양한 선택적 하드웨어 및 소프트웨어 컴포넌트들을 포함하는 예시적인 이동 장치(100)를 나타내는 시스템도이다. 용이한 도시를 위해 모든 연결관계가 도시되어 있지는 않지만, 이동 장치의 임의의 컴포넌트(102)는 임의의 다른 컴포넌트와 통신할 수 있다. 이동 장치는 다양한 컴퓨팅 장치(예를 들어, 셀룰러폰, 스마트폰, 핸드헬드 컴퓨터, PDA 등) 중 임의의 컴퓨팅 장치일 수 있고 셀룰러 또는 위성 네트워크와 같은 하나 이상의 이동 통신 네트워크(104)와의 양방향 무선 통신을 허용할 수 있다.
도시되어 있는 이동 장치(100)는 신호 코딩, 데이터 처리, 입/출력 처리, 전력 제어 및/또는 다른 기능과 같은 작업을 수행하기 위한 제어기 또는 프로세서(110)(예를 들어, 신호 프로세서, 마이크로프로세서, ASIC 또는 다른 제어 및 처리 로직 회로)를 포함할 수 있다. 운영 체제(112)는 컴포넌트(102)의 할당 및 사용을 제어할 수 있고 하나 이상의 애플리케이션 프로그램(114)("애플리케이션")을 지원할 수 있다. 애플리케이션 프로그램은 공통 이동 컴퓨팅 애플리케이션(예를 들어, 이메일 애플리케이션, 캘린더, 연락처 관리자, 웹 브라우저, 메시징 애플리케이션), 또는 임의의 다른 컴퓨팅 애플리케이션을 포함할 수 있다. 애플리케이션(114)을 획득 및 업데이트하기 위해 애플리케이션 스토어에 액세스하는 기능(113)이 또한 사용될 수 있다.
도시되어 있는 이동 장치(100)는 메모리(120)를 포함할 수 있다. 메모리(120)는 고정식 메모리(122) 및/또는 이동식 메모리(124)를 포함할 수 있다. 고정식 메모리(122)는 RAM, ROM, 플래시 메모리, 하드디스크, 또는 다른 잘 알려져 있는 메모리 저장 기술을 포함할 수 있다. 이동식 메모리(124)는 플래시 메모리 또는 GSM 통신 시스템에 잘 알려져 있는 가입자 식별 모듈(SIM) 카드, 또는 "스마트 카드"와 같은 다른 잘 알려져 있는 메모리 저장 기술을 포함할 수 있다. 메모리(120)는 운영 체제(112) 및 애플리케이션(114)을 구동시키는 데이터 및/또는 코드를 저장하는데 사용될 수 있다. 예시적인 데이터는 하나 이상의 유선 또는 무선 네트워크를 통해 하나 이상의 네트워크 서버 또는 다른 장치로 전송되고 및/또는 그로부터 수신되는 웹 페이지, 텍스트, 이미지, 소리 파일, 비디오 데이터, 또는 다른 데이터 세트를 포함할 수 있다. 메모리(120)는 IMSI(International Mobile Subscriber Identity)와 같은 가입자 식별자, 및 IMEI(International Mobile Equipment Identifier)와 같은 장비 식별자를 저장하는데 사용될 수 있는데, 이들 식별자는 사용자 및 장비를 식별하도록 네트워크 서버로 전송된다. 이하에서는 식별에 대한 새로운 접근방식이 설명된다.
이동 장치(100)는 터치스크린(132), 마이크로폰(134), 카메라(136), 물리적 키보드(138) 및/또는 트랙볼(140)과 같은 하나 이상의 입력 장치(130), 및 스피커(152)와 디스플레이(154)와 같은 하나 이상의 출력 장치(150)를 지원할 수 있다. (도시되어 있지 않은) 다른 가능한 출력 장치는 압전 또는 다른 햅틱 출력 장치를 포함할 수 있다. 몇몇 장치는 둘 이상의 입/출력 기능을 수행할 수 있다. 예를 들어, 터치스크린(132) 및 디스플레이(154)는 하나의 입/출력 장치에서 결합될 수 있다. 입력 장치(130)는 NUI(Natural User Interface)를 포함할 수 있다. NUI는 마우스, 키보드, 원격 제어 등과 같은 입력 장치에 의해 부과되는 인공적인 제약으로부터 자유로운 "자연스런(natural)" 방식으로 사용자가 장치와 상호작용할 수 있게 해주는 임의의 인터페이스 기술이다. NUI 메소드의 예는 음성 인식, 터치 및 스타일러스 인식, 스크린 상의 또한 이 스크린에 인접한 제스처 인식, 에어(air) 제스처, 머리 및 안구 추적, 음성 및 말하기, 비전(vision), 터치, 제스처 및 머신 지능에 의존하는 NUI 메소드를 포함한다. NUI의 다른 예는 가속도계/자이로스코프, 안면 인식, 3D 디스플레이, 머리, 안구 및 시선 추적, 이머시브(immersive) 증강 현실 및 가상 증강 현실(이들 모두는 보다 자연스런 인터페이스를 제공함)을 사용하는 모션 제스처 검출, 및 전기장 감지 전극(EEG 및 관련 메소드)을 사용하여 뇌 활동을 감지하는 기술을 포함한다. 따라서, 하나의 특정 예에서, 운영 체제(112) 또는 애플리케이션(114)은 사용자가 음성 명령을 통해 장치(100)를 조작할 수 있게 해주는 음성 사용자 인터페이스의 일부로서 음성 인식 소프트웨어를 포함할 수 있다. 또한, 장치(100)는 게임 애플리케이션에 입력을 제공하기 위해 사용자의 공간 제스처를 통한 사용자 상호작용을 가능하게 하는, 예를 들어 제스처를 검출하고 해석하는 입력 장치를 포함할 수 있다.
당업계에 잘 알려져 있는 바와 같이, 무선 모뎀(160)이 안테나(미도시)에 연결될 수 있고 프로세서(110)와 외부 장치 간의 양방향 통신을 지원할 수 있다. 모뎀(160)은 일반적으로 도시되어 있고 이동 통신 네트워크(104)와 통신하는 셀룰러 모뎀 및/또는 다른 무선 기반 모뎀(예를 들어, 블루투쓰(164) 또는 Wi-Fi(162))을 포함할 수 있다. 무선 모뎀(160)은 전형적으로 단일 셀룰러 네트워크 내에서, 셀룰러 네트워크 간에, 또는 이동 장치와 공중 전화 교환망(PSTN) 간에 데이터 및 음성 통신을 위한 GSM 네트워크와 같은 하나 이상의 셀룰러 네트워크와 통신하도록 구성된다.
이동 장치는 적어도 하나의 입/출력 포트(180), 전원(182), GPS 수신기와 같은 위성 네비게이션 시스템 수신기(184), 가속도계(186), 및/또는 USB 포트, IEEE 1394(파이어와이어) 포트 및/또는 RS-232 포트와 같은 물리적 커넥터(190)를 더 포함할 수 있다. 임의의 컴포넌트가 삭제될 수 있고 다른 컴포넌트가 추가될 수 있기 때문에, 도시되어 있는 컴포넌트들(102)이 요구되는 것은 아니며, 즉 모두 포함되는 것은 아니다.
도 2는 설명되는 실시예, 기법 및 기술이 구현될 수 있는 적절한 구현 환경(200)의 일반화된 예를 나타낸다.
예시적인 환경(200)에서, 다양한 유형의 서비스(예를 들어, 컴퓨팅 서비스)가 클라우드(210)에 의해 제공된다. 예를 들어, 클라우드(210)는 인터넷과 같은 네트워크를 통해 다양한 유형의 사용자 및 장치에 클라우드 기반 서비스를 제공하는, 중앙에 위치하거나 분산될 수 있는 컴퓨팅 장치들의 모음을 포함할 수 있다. 구현 환경(200)은 컴퓨팅 작업을 완수하기 위해 다양한 방식으로 사용될 수 있다. 예를 들어, 몇몇 작업(예를 들어, 사용자 입력을 처리하고 사용자 인터페이스를 제시하는 것)은 로컬 컴퓨팅 장치들(예를 들어, 연결된 장치들(230,240,250))에서 수행될 수 있는 한편, 다른 작업(예를 들어, 후속 처리에 사용될 데이터를 저장하는 것)은 클라우드(210)에서 수행될 수 있다.
예시적인 환경(200)에서, 클라우드(210)는 다양한 스크린 기능을 갖는 연결된 장치(230,240,250)에 서비스를 제공한다. 연결된 장치(230)는 컴퓨터 스크린(235)(예를 들어, 중간 크기의 스크린)을 갖는 장치를 나타낸다. 예를 들어, 연결된 장치(230)는 데스크탑 컴퓨터, 랩탑, 노트북, 넷북 등과 같은 개인용 컴퓨터일 수 있다. 연결된 장치(240)는 이동 장치 스크린(245)(예를 들어, 소형 스크린)을 갖는 장치를 나타낸다. 예를 들어, 연결된 장치(240)는 이동 전화기, 스마트폰, PDA, 태블릿 컴퓨터 등일 수 있다. 연결된 장치(250)는 대형 스크린(255)을 갖는 장치를 나타낸다. 예를 들어, 연결된 장치(250)는 텔레비전 스크린(예를 들어, 스마트 텔레비전) 또는 텔레비전에 연결된 다른 장치(예를 들어, 셋탑 박스 또는 게임 콘솔)일 수 있다. 연결된 장치(230,240,250) 중 하나 이상은 터치스크린 기능을 포함할 수 있다. 터치스크린은 입력을 다양한 방식으로 수용할 수 있다. 예를 들어, 용량성 터치스크린은 물체(예를 들어, 손가락끝 또는 스타일러스)가 표면을 가로지르는 전류를 왜곡 또는 방해하는 경우 터치 입력을 검출한다. 또 다른 예로서, 터치스크린은 광 센서로부터의 빔이 방해를 받는 경우 터치 입력을 검출하는 광 센서를 사용할 수 있다. 몇몇 스크린에 의해 입력이 검출되도록 하는데 스크린 표면과의 물리적 접촉이 반드시 필요한 것은 아니다. 스크린 기능을 가지고 있지 않은 장치도 예시적인 환경(200)에서 사용될 수 있다. 예를 들어, 클라우드(210)는 디스플레이가 없는 하나 이상의 컴퓨터(예를 들어, 서버 컴퓨터)에 서비스를 제공할 수 있다.
서비스는 클라우드(210)에 의해, 서비스 제공자(220)를 통해, 또는 (도시되어 있지 않은) 온라인 서비스의 다른 제공자를 통해 제공될 수 있다. 예를 들어, 클라우드 서비스는 특정 연결된 장치(예를 들어, 연결된 장치(230,240,250))의 스크린 크기, 디스플레이 기능, 및/또는 터치스크린 기능에 맞춤화될 수 있다.
예시적인 환경(200)에서, 클라우드(210)는 적어도 서비스 제공자(220)를 사용하여 다양한 연결된 장치(230,240,250)에 본 명세서에 설명된 기술 및 솔루션을 제공한다. 예를 들어, 서비스 제공자(220)는 다양한 클라우드 기반 서비스에 중앙집중식 솔루션을 제공할 수 있다. 서비스 제공자(220)는 사용자 및/또는 장치(예를 들어, 연결된 장치(230,240,250) 및/또는 이들 각각의 사용자)에 대한 서비스 가입을 관리할 수 있다.
도 3은 설명되는 혁신들이 구현될 수 있는 적절한 컴퓨팅 환경(300)의 일반환된 예를 나타낸다. 컴퓨팅 환경(300)은 사용 또는 기능의 범주에 어떠한 제한도 두려하지 않는데, 그 이유는 혁신들은 다양한 범용 또는 특수 목적의 컴퓨팅 시스템에서 구현될 수 있기 때문이다. 예를 들어, 컴퓨팅 환경(300)은 다양한 컴퓨팅 장치(예를 들어, 데스크탑 컴퓨터, 랩탑 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 미디어 플레이어, 게임 시스템, 이동 장치 등) 중 임의의 컴퓨팅 장치일 수 있다.
도 3을 참조하면, 컴퓨팅 환경(300)은 하나 이상의 처리 장치(310,315) 및 메모리(320,325)를 포함한다. 도 3에서, 이러한 기본적인 구성(310)은 점선 내에 포함된다. 처리 장치(310,315)는 컴퓨터 실행가능 명령어들을 실행한다. 처리 장치는 범용 중앙 처리 장치(CPU), 주문형 집적 회로(ASIC) 내의 프로세서, 또는 임의의 다른 유형의 프로세서일 수 있다. 멀티 프로세싱 시스템에서, 처리 능력을 증가시키기 위해 다수의 처리 장치가 컴퓨터 실행가능 명령어들을 실행한다. 예를 들어, 도 3은 중앙 처리 장치 및 그래픽 처리 장치 또는 코프로세싱 장치(315)를 보여준다. 유형의 메모리(320,325)는 처리 장치(들)에 의해 액세스될 수 있는 휘발성 메모리(예를 들어, 레지스터, 캐시, RAM), 비휘발성 메모리(예를 들어, ROM, EEPROM, 플래시 메모리 등), 또는 이 둘의 몇몇 조합일 수 있다. 메모리(320,325)는 본 명세서에 설명된 하나 이상의 혁신들을 구현하는 소프트웨어(380)를, 처리 장치(들)에 의해 실행되는데 적합한 컴퓨터 실행가능 명령어들의 형태로 저장한다.
컴퓨팅 시스템은 추가의 특징을 가질 수 있다. 예를 들어, 컴퓨팅 환경(300)은 저장부(340), 하나 이상의 입력 장치(350), 하나 이상의 출력 장치(360), 및 하나 이상의 통신 연결(370)을 포함한다. 버스, 제어기, 네트워크와 같은 (도시되어 있지 않은) 상호연결 메카니즘은 컴퓨팅 환경(300)의 컴포넌트들을 상호연결한다. 전형적으로, 운영 체제 소프트웨어(미도시)는 컴퓨팅 환경(300)에서 실행되는 다른 소프트웨어에 동작 환경을 제공하고, 컴퓨팅 환경(300)의 컴포넌트들의 활동을 조정한다.
유형의 저장부(340)는 이동식 또는 고정식일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 비일시적 방식으로 정보를 저장하는데 사용될 수 있고 컴퓨팅 환경(300) 내에서 액세스될 수 있는 임의의 다른 매체일 수 있다. 저장부(340)는 본 명세서에 설명된 하나 이상의 혁신을 구현하는 소프트웨어(380)의 명령어들을 저장한다.
입력 장치(들)(350)는 키보드, 마우스, 펜 또는 트랙볼과 같은 터치 입력 장치, 음성 입력 장치, 스캐닝 장치, 또는 컴퓨팅 환경(300)에 입력을 제공하는 다른 장치일 수 있다. 비디오 인코딩의 경우, 입력 장치(들)(350)는 카메라, 비디오 카드, TV 튜너 카드, 또는 아날로그 또는 디지털 형태의 비디오 입력을 수신하는 유사한 장치, 또는 컴퓨팅 환경(300) 내로 비디오 샘플을 판독하는 CD-ROM 또는 CD-RW일 수 있다. 출력 장치(들)(360)는 디스플레이, 프린터, 스피커, CD-라이터, 또는 컴퓨팅 환경(300)으로부터의 출력을 제공하는 다른 장치일 수 있다.
통신 연결(들)(370)은 통신 매체를 통한 다른 컴퓨팅 엔티티로의 통신을 가능하게 한다. 통신 매체는 컴퓨터 실행가능 명령어, 오디오 또는 비디오 입력 또는 출력 또는 다른 데이터와 같은 정보를 변조된 데이터 신호 내에 전달한다. 변조된 데이터 신호는 신호 내에 정보를 인코딩하도록 자신의 특성들 중 하나 이상이 설정 또는 변경된 신호이다. 제한이 아닌 예로서, 통신 매체는 전기, 광학, RF 또는 다른 캐리어를 사용할 수 있다.
개시되어 있는 방법들 중 일부의 동작들이 편의를 위해 특정의 순서로 설명되어 있지만, 이하의 상세한 설명에서 특정 순서가 요구되지 않는다면 본 상세한 설명의 방식은 재정렬을 포함함을 이해해야 한다. 예를 들어, 순차적으로 설명된 동작들은 몇몇 경우 재정렬될 수 있거나 또는 동시에 수행될 수 있다. 또한, 간단함을 위해, 도면은 개시되어 있는 방법들이 다른 방법들과 연계하여 사용될 수 있는 다양한 방식을 도시하지 않을 수 있다.
개시되어 있는 임의의 방법은 하나 이상의 컴퓨터 판독가능 저장 매체(예를 들어, 하나 이상의 광학 매체 디스크, 휘발성 메모리 컴포넌트(예컨대, DRAM 또는 SRAM), 또는 비휘발성 메모리 컴포넌트(예컨대, 플래시 메모리 또는 하드 드라이브)와 같은 비일시적 컴퓨터 판독가능 매체)에 저장되고 컴퓨터(예를 들어, 컴퓨팅 하드웨어를 포함하는 스마트폰 또는 다른 이동 장치를 포함하는, 임의의 상업적으로 입수가능한 컴퓨터)에서 실행되는 컴퓨터 실행가능 명령어들로 구현될 수 있다. 쉽게 알 수 있는 바와 같이, 컴퓨터 판독가능 저장 매체라는 용어는 변조된 데이터 신호와 같은 통신 연결을 포함하지 않는다. 개시되어 있는 기법을 구현하기 위한 임의의 컴퓨터 실행가능 명령어 및 개시되어 있는 실시예를 구현하는 동안 생성 및 사용된 임의의 데이터는 하나 이상의 컴퓨터 판독가능 매체(예를 들어, 전파 신호를 배제한 비일시적 컴퓨터 판독가능 매체)에 저장될 수 있다. 컴퓨터 실행가능 명령어들은 예를 들어 전용 소프트웨어 애플리케이션 또는 웹 브라우저 또는 다른 소프트웨어 애플리케이션(예를 들어, 원격 컴퓨팅 애플리케이션)을 통해 액세스되거나 다운로드되는 소프트웨어 애플리케이션의 일부일 수 있다. 이러한 소프트웨어는 예를 들어 단일 로컬 컴퓨터(예를 들어, 임의의 적절한 상업적으로 입수가능한 컴퓨터) 상에서 실행될 수 있고, 또는 하나 이상의 네트워크 컴퓨터를 사용하여 네트워크 환경에서 (예를 들어, 인터넷, 광역 네트워크, 근거리 네트워크, 클라이언트-서버 네트워크(예를 들어, 클라우드 컴퓨팅 네트워크) 또는 이러한 다른 네트워크를 통해) 실행될 수 있다.
명료성을 위해, 소프트웨어 기반 구현의 소정의 선택된 측면만이 기술된다. 당업계에 잘 알려져 있는 다른 세부사항은 생략된다. 예를 들어, 개시되어 있는 기술이 임의의 특정 컴퓨터 언어 또는 프로그램에 국한되지 않음을 이해해야 한다. 예를 들어, 개시되어 있는 기술은 C++, 자바, 펄, 자바스크립트, 아도베 플래시, 또는 임의의 다른 적절한 프로그래밍 언어로 작성된 소프트웨어에 의해 구현될 수 있다. 마찬가지로, 개시되어 있는 기술은 임의의 특정 컴퓨터 또는 하드웨어 타입에 국한되지 않는다. 적절한 컴퓨터 및 하드웨어의 소정의 세부사항은 잘 알려져 있어 본 명세서에서 자세히 설명될 필요는 없다.
본 명세서에서 기술되어 있는 임의의 기능은 소프트웨어 대신 하나 이상의 하드웨어 로직 컴포넌트에 의해 적어도 일부 수행될 수 있다. 제한이 아닌 예로서, 사용될 수 있는 예시적인 유형의 하드웨어 로직 컴포넌트는 필드 프로그램가능 게이트 어레이(FPGA), 프로그램 특정 집적 회로(ASIC), 프로그램 특정 표준 제품(ASSP), 시스템 온 칩 시스템(SOC), 복합 프로그램가능 로직 장치(CPLD) 등을 포함한다. 또한, (예를 들어, 컴퓨터로 하여금 임의의 개시되어 있는 방법을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하는) 임의의 소프트웨어 기반 실시예는 적절한 통신 수단을 통해 업로드, 다운로드 또는 원격으로 액세스될 수 있다. 이러한 적절한 통신 수단은 예를 들어 인터넷, 월드와이드웹, 인트라넷, 소프트웨어 애플리케이션, (광섬유 케이블을 포함하는) 케이블, 자기 통신, (RF, 마이크로웨이브 및 적외선 통신을 포함하는) 전자기 통신, 전기 통신, 또는 이러한 다른 통신 수단을 포함한다.
본 명세서에서 사용되는 바와 같이, "발행자"는 적어도 하나의 애플리케이션의 발행자, 즉 고객에 대한 애플리케이션의 공개를 제어 및 지시하는 파티(party)로서 정의된다. 애플리케이션은 일반적으로 최종 사용자를 위한 프로그램 또는 프로그램들일 수 있는 것으로 이해될 수 있다. 발행자의 애플리케이션(들)은 전형적으로 온라인 스토어를 통해 최종 사용자의 컴퓨팅 장치로 다운로드되어 최종 사용자에게 입수가능하다. 이동 장치의 경우, 이러한 스토어는 마켓플레이스(윈도우 폰 Apps+Games 스토어), 아이튠즈, 구글 플레이 및 다른 유사한 사이트를 포함한다. 발행자는 그의 애플리케이션의 공개를 제어 및 지시하기 때문에, 발행자는 통상 애플리케이션에 대한 소유자 또는 권리의 라이센스인데, 이것은 반드시 요구사항은 아니다. 몇몇 경우, 애플리케이션의 발행자는 또한 애플리케이션의 개발자, 즉 애플리케이션을 작성한 개인 또는 개인들이지만, 이것 또한 요구사항은 아니다.
제1 식별 시나리오에서, 발행자의 애플리케이션(들)이 이동 장치와 연관된 경우 각 발행자가 이 이동 장치(및 이동 장치 사용자)를 식별할 수 있게 하나, 그 발행자가 발행자의 애플리케이션이 연관되지 않은 이동 장치에 대한 식별자를 쉽게 액세스하는 것을 허용하지 않는 것이 바람직하다. 또한, 발행자가 상이한 식별자를 가지기 때문에 발행자들이 서로 식별자를 의미있게 공유하지는 못한다. 각 발행자는 적절한 때에 여전히 이동 장치(및 그들의 사용자)에 콘텐츠를 겨냥할 수도 있겠지만, 그러는 동안의 발행자의 동작은 사용자의 개인 정보를 부주의로 공개되게 하지는 않을 것이다. 또한, 이동 장치의 임의의 식별자는 발행자가 제1 이동 장치 사용자와 제2 이동 장치 사용자 간을 알아볼 수 있게 해주는 익명의 식별자이지만, 이들은 발행자에게 익명으로 유지된다.
설명된 접근방식에 따르면, 이동 장치의 메모리에 저장된 개인 정보는 해싱되어 공개 식별자를 제공하고, 공개 식별자는 애플리케이션에 제공된다. 이러한 식으로, 이동 장치 및 사용자는 이동 장치의 애플리케이션에 적절히 식별될 수 있고 이동 장치 또는 사용자에게 제공되는 애플리케이션 발행자로부터의 콘텐츠는 적절히 그 목적지로 제공될 수 있다.
도 4를 참조하면, 특정 실시예가 예시되어 있다. 예시적인 이동 장치(400)에서, 운영 체제(402)는 장치상의 애플리케이션(404), 식별 컴포넌트(406) 및 메모리(408) 간의 상호작용을 제공한다. 애플리케이션(404)은 예를 들어 식별 컴포넌트(406)로 보내지는 함수 호출에서 공개 식별자를 요청한다. 식별 컴포넌트는 이동 장치 및 사용자를 식별하는 개인 데이터를 액세스하고, 그런 다음 해시 엔진(414)에서 저장된 공개 데이터와 함께 개인 데이터를 해싱하여 공개 식별자를 생성함으로써 요청에 응답한다. 하나의 적절한 알고리즘은 HMAC-SHA256이지만, 하나 이상의 다른 알고리즘도 사용될 수 있다. 해싱에 더해, 개인 정보의 보안을 보존하는 다른 동작도 사용될 수 있다. 이후 공개 식별자는 애플리케이션에 반환된다.
특정 실시예에서, 개인 데이터는 예를 들어 장치에 의해 사용되는 서비스 상의 사용자 계정에 의해 장치의 사용자를 식별하는 개인 익명 식별자를 포함한다. 개인 데이터는 장치를 식별하는 개인 장치 고유 식별자를 포함한다. 도 4에 도시되어 있는 실시예에서, 저장된 공개 데이터는 발행자 식별자(발행자 ID)를 포함한다. 이 발행자 ID는 발행자 이름 또는 발행자에 할당된 다른 지정자(designator)일 수 있다.
하나의 시퀀스에서, 그것은 공개 식별자, 이 경우 공개 장치 고유 식별자를 생성하기 위해 발행자 식별자와 함께 해싱되는 개인 장치 고유 식별자이다. 또 다른 시퀀스에서, 그것은 제2 공개 익명 식별자를 생성하기 위해 발행자 식별자와 함께 해싱되는 개인 장치 고유 식별자이다. 도시되어 있는 실시예에서, 양 시퀀스가 사용되는데, 개인 장치 고유 식별자는 하나의 메모리 위치(예를 들어, 410 또는 412)로부터 액세스되고, 개인 익명 식별자는 다른 메모리 위치(예를 들어, 412 또는 410)로부터 액세스되며, 각각은 별도의 해시 동작에서 발행자 식별자와 해싱되고, 결과적인 공개 식별자는 사실 두 개의 공개 식별자, 즉 공개 장치 고유 식별자 및 공개 익명 식별자이다.
이들 관계는 아래의 표에서 요약된다.
Figure 112015033025351-pct00001
도 7에서, 예시적인 방법의 단계들이 도시되어 있다. 단계(700)에서, 공개 식별자에 대한 함수 호출이 식별 컴포넌트에 의해 수신된다. 단계(702)에서, 식별 컴포넌트는 장치 내의 제1 메모리 위치(예를 들어, 메모리 위치(410))에 발행자 ID를 요청하고 장치 내의 제2 메모리 위치(예를 들어, 메모리 위치(412))에 개인 데이터를 요청함으로써 함수 호출에 응답한다. 단계(704)에서, 식별 컴포넌트는 발행자 ID 및 개인 데이터에 대해 해시 동작을 수행하여 공개 식별자를 생성한다. 단계(706)에서, 공개 식별자는 애플리케이션에 반환된다.
또 다른 방법에서, 개인 데이터의 제2 조각이 저장되는 제3 메모리 위치(도면에는 구체적으로 도시되어 있지 않음)가 존재한다. (제1 해시 동작과 동일할 수도 있고, 또는 다를 수도 있는) 제2 해시 동작이 발행자 ID 및 개인 데이터의 제2 조각에 수행되어, 제2 공개 식별자를 생성한다. 제2 공개 식별자도 애플리케이션에 반환된다.
제2 식별 시나리오에서, 자신의 애플리케이션을 테스트하길 희망하는 발행자는 동작하는 이동 장치상에서의 애플리케이션의 테스트가 완료될 수 있도록 식별자를 설정하는 능력을 필요로 한다. 예시적인 실시예가 도 5에 예시되어 있다. 처리 블록(500)에서, 권한자(authority)는 각 발행자에게 식별자를 할당한다. 처리 블록(502)에서, 개발자가 애플리케이션의 개발을 맡은 경우, 개발자는 소프트웨어 개발 도구에 발행자 식별자를 지정할 수 있다. 처리 블록(504)에서, 애플리케이션의 테스트가 필요하다고 개발자가 나타내는 경우, 발행자 식별자를 포함하도록 매니페스트가 업데이트된다. 처리 블록(506)에서, 애플리케이션의 사본이 발행자 식별자와 함께 식별된 이동 장치 또는 또 다른 컴퓨팅 장치에 동작하는 장치의 에뮬레이터에 배포된다. 처리 블록(508)에서, 애플리케이션의 개시는 이동 장치로 하여금 새로운 공개 식별자(들)를 수신하게 한다. 따라서, 임의의 이전 대응 공개 식별자는 업데이트된다.
처리 블록(508)에서 이동 장치 또는 에뮬레이터에 의해 수신된 발행자 식별자(들)는 애플리케이션의 테스트 사본에 대해서만 동작가능하다. 따라서, 테스팅이 완료되면, 사용자가 다운로드할 수 있는 애플리케이션으로서 완전히 공개되도록 개발자 또는 발행자가 애플리케이션을 권한자에게 제출하는 경우, 도 6의 프로세스가 진행된다.
개시되어 있는 식별 방법을 사용하여 새로운 애플리케이션을 이동 장치에 다운로드하는 예시적인 실시예가 도 6에 도시되어 있다. 처리 블록(600)에서, 권한자는 매니페스트 내의 발행자 식별자를 스토어에 전송한다. 처리 블록(602)에서, 스토어는 애플리케이션의 사본을 새로운 매니페스트와 함께 이동 장치에 전달한다. 처리 블록(604)에서, 이동 장치는 파일인 매니페스트를 열어 발행자 식별자를 판독하고 그 발행자 식별자를 장치에 저장한다. 처리 블록(606)에서, 식별 컴포넌트는 발행자 식별자를 판독하고 그것을 전술한 방법에 따라 해싱한다. 처리 블록(608)에서, 새로운 공개 장치 고유 식별자와 새로운 공개 익명 식별자가 장치상의 애플리케이션에 반환된다.
개시되어 있는 방법, 장치 및 시스템은 어떠한 식으로든 제한적인 것으로 해석되어서는 안된다. 대신, 본 개시물은 개시되어 있는 다양한 실시예의 모든 새로운 및 자명하지 않은 특징 및 측면을, 단독으로 또한 서로에 대한 다양한 조합 및 하위 조합으로 제공한다. 개시되어 있는 방법, 장치 및 시스템은 이들의 임의의 특정 측면 또는 특징에 제한되지 않고, 또한 개시되어 있는 실시예는 임의의 하나 이상의 특정 장점이 제공되거나 문제들이 해결되어야 하는 것을 요구하지 않는다.
개시되어 있는 원리들이 적용될 수 있는 다수의 가능한 실시예를 감안하면, 예시되어 있는 실시예는 바람직한 예일 뿐이고 보호 범주를 제한하는 것으로 취급되어서는 안됨을 알아야 한다. 그보다, 범주는 이하의 청구항에 의해 정의된다. 이들 청구항의 범주 및 사상 내의 모든 것을 청구한다.

Claims (16)

  1. 컴퓨팅 장치와 사용자 중 적어도 하나를 상기 컴퓨팅 장치 상의 애플리케이션에 식별시켜주기 위해, 상기 컴퓨팅 장치의 프로세서에 의해 수행되는 방법으로서,
    상기 애플리케이션은 발행자 식별자(ID)를 포함하는 매니페스트(manifest)를 가지며,
    상기 애플리케이션으로부터, 상기 컴퓨팅 장치와 사용자 중 적어도 하나의 공개 식별자에 대한 함수 호출을 수신하는 단계와,
    상기 컴퓨팅 장치의 운영 체제로부터 개인 장치 고유 ID에 액세스하는 것을 포함하여, 상기 발행자 ID를 요청함으로써 상기 함수 호출에 응답하는 단계 - 상기 발행자 ID는 상기 애플리케이션의 공개를 제어하고 지시하는 발행자의 식별자이고, 상기 발행자 ID는 권한자(authority)에 의해 복수의 발행자 중 하나에 발행되며, 각각의 발행자는 상이한 식별자를 가짐 - 와,
    상기 컴퓨팅 장치 내의 메모리 위치에 상기 컴퓨팅 장치와 사용자 중 적어도 하나를 식별하는 개인 데이터를 요청함으로써 상기 함수 호출에 응답하는 단계와,
    상기 개인 장치 고유 ID 및 상기 개인 데이터에 대해 해시 동작을 수행하여 상기 애플리케이션의 발행자에 고유한 상기 공개 식별자를 생성하는 단계와,
    상기 공개 식별자를 상기 애플리케이션에 반환하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 공개 식별자는 제1 공개 식별자이고,
    상기 방법은,
    다른 메모리 위치에 추가의 개인 데이터를 요청함으로써 상기 함수 호출에 응답하는 단계와,
    상기 발행자 ID 및 상기 추가의 개인 데이터에 대해 해시 동작을 수행하는 단계와,
    제2 공개 식별자를 상기 애플리케이션에 반환하는 단계
    를 더 포함하는
    방법.
  4. 제3항에 있어서,
    상기 제1 공개 식별자 및 상기 제2 공개 식별자 중 적어도 하나는 상기 애플리케이션의 발행자에게 특정한,
    방법.
  5. 제3항에 있어서,
    상기 제1 공개 식별자 및 상기 제2 공개 식별자 중 하나는, 다른 이동 장치 사용자들 중 제1 이동 장치 사용자를 상기 발행자에 대해 고유하게 및 익명으로 식별시켜주는 공개 익명 식별자인
    방법.
  6. 제1항에 있어서,
    상기 공개 식별자를 상기 애플리케이션에 반환하는 단계는, 상기 공개 식별자를 상기 애플리케이션의 발행자에 통신하는 단계를 포함하는
    방법.
  7. 컴퓨팅 장치와 사용자 중 적어도 하나를 상기 컴퓨팅 장치 상의 애플리케이션에 식별시켜주기 위해, 상기 컴퓨팅 장치의 프로세서에 의해 수행되는 방법으로서,
    상기 애플리케이션은 발행자 식별자(ID)를 포함하는 매니페스트를 가지며,
    상기 애플리케이션으로부터, 상기 컴퓨팅 장치와 사용자 중 적어도 하나의 공개 식별자에 대한 함수 호출을 수신하는 단계와,
    상기 컴퓨팅 장치 내의 제 1 메모리 위치에 상기 발행자 ID를 요청함으로써 상기 함수 호출에 응답하는 단계 - 상기 발행자 ID는 상기 애플리케이션의 공개를 제어하고 지시하는 발행자의 식별자이고, 상기 발행자 ID는 권한자에 의해 복수의 발행자 중 하나에 발행되며, 각각의 발행자는 상이한 식별자를 가짐 - 와,
    상기 컴퓨팅 장치의 운영 체제로부터 개인 익명 식별자에 액세스하는 것을 포함하여, 상기 컴퓨팅 장치 내의 제2 메모리 위치에 상기 컴퓨팅 장치와 사용자 중 적어도 하나를 식별하는 개인 데이터를 요청함으로써 상기 함수 호출에 응답하는 단계와,
    상기 발행자 ID 및 상기 개인 익명 식별자에 대해 해시 동작을 수행하여 상기 애플리케이션의 발행자에 고유한 상기 공개 식별자를 생성하는 단계와,
    상기 공개 식별자를 상기 애플리케이션에 반환하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 발행자 ID를 요청함으로써 상기 함수 호출에 응답하는 단계는, 상기 컴퓨팅 장치의 운영 체제로부터 발행자 이름에 액세스하는 단계를 포함하는
    방법.
  9. 이동 장치와 상기 이동 장치의 사용자 중 적어도 하나를 식별하려 하는 적어도 하나의 애플리케이션과 관련된 상기 이동 장치로서,
    상기 애플리케이션은 발행자 식별자(ID)를 포함하는 매니페스트를 가지며,
    상기 이동 장치는,
    적어도 하나의 프로세서와,
    상기 프로세서에 연결되고, 적어도 상기 발행자 ID - 상기 발행자 ID는 상기 애플리케이션의 공개를 제어하고 지시하는 발행자의 식별자이고, 상기 발행자 ID는 권한자에 의해 복수의 발행자 중 하나에 발행되며, 각각의 발행자는 상이한 식별자를 가짐 - 가 저장되는 제1 메모리 위치 및 개인 데이터가 저장되는 제2 메모리 위치를 갖는 메모리
    를 포함하되,
    상기 메모리는, 또한, 상기 프로세서로 하여금
    상기 이동 장치와 상기 이동 장치의 사용자 중 적어도 하나의 공개 식별자에 대한 함수 호출을 수신하고,
    (1) 상기 제1 메모리 위치에 고유한 발행자 지정을 포함하는 발행자 ID를 요청하는 것 혹은 (2) 상기 제2 메모리 위치에 상기 이동 장치와 상기 이동 장치의 사용자 중 적어도 하나를 식별하며 개인 익명 식별자를 포함하는 개인 데이터를 요청하는 것 중 적어도 하나에 의해 상기 함수 호출에 응답하며,
    상기 발행자 ID 및 상기 개인 데이터에 대해 해시 동작을 수행하여 상기 애플리케이션의 발행자에 고유한 상기 공개 식별자를 생성하고,
    상기 공개 식별자를 상기 애플리케이션에 반환하게 하는
    명령어들을 구비하고 있는
    이동 장치.
  10. 삭제
  11. 제9항에 있어서,
    상기 공개 식별자는 제1 공개 식별자이고,
    상기 메모리는, 상기 프로세서로 하여금,
    제3 메모리 위치에 추가의 개인 데이터를 요청함으로써 상기 함수 호출에 응답하고,
    상기 발행자 ID 및 상기 추가의 개인 데이터에 대해 해시 동작을 수행하며,
    제2 공개 식별자를 상기 애플리케이션에 반환하게 하는
    명령어들을 더 구비하고 있는
    이동 장치.
  12. 제9항에 있어서,
    상기 발행자 ID를 요청함으로써 상기 함수 호출에 응답하는 것은, 상기 이동 장치의 운영 체제로부터 개인 장치 고유 ID에 액세스하는 것을 포함하는
    이동 장치.
  13. 제9항에 있어서,
    상기 개인 익명 식별자는 상기 이동 장치의 운영 체제로부터 액세스되는
    이동 장치.
  14. 제9항에 있어서,
    발행자 ID를 요청하는 것 및 개인 데이터를 요청하는 것 중 적어도 하나는 상기 이동 장치의 보안 영역에 액세스하는 것을 포함하는
    이동 장치.
  15. 제9항에 있어서,
    상기 제1 메모리 위치와 상기 제2 메모리 위치 중 적어도 하나는 바이너리(binary) 내의 위치를 포함하는
    이동 장치.
  16. 제9항에 있어서,
    상기 메모리는, 상기 프로세서로 하여금,
    상기 공개 식별자를 상기 애플리케이션의 발행자에게 통신하게 하는
    명령어를 더 구비하고 있는
    이동 장치.
KR1020157008707A 2012-10-05 2013-09-18 컴퓨팅 장치의 보안 식별 및 보안 식별 방법 KR102132504B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/646,446 US9202039B2 (en) 2012-10-05 2012-10-05 Secure identification of computing device and secure identification methods
US13/646,446 2012-10-05
PCT/US2013/060235 WO2014055241A2 (en) 2012-10-05 2013-09-18 Secure identification of computing device and secure identification methods

Publications (2)

Publication Number Publication Date
KR20150064063A KR20150064063A (ko) 2015-06-10
KR102132504B1 true KR102132504B1 (ko) 2020-07-09

Family

ID=50102169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157008707A KR102132504B1 (ko) 2012-10-05 2013-09-18 컴퓨팅 장치의 보안 식별 및 보안 식별 방법

Country Status (6)

Country Link
US (1) US9202039B2 (ko)
EP (1) EP2904537B1 (ko)
JP (1) JP6324388B2 (ko)
KR (1) KR102132504B1 (ko)
CN (1) CN104823198B (ko)
WO (1) WO2014055241A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10999298B2 (en) 2004-03-02 2021-05-04 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US11301585B2 (en) 2005-12-16 2022-04-12 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US8151327B2 (en) 2006-03-31 2012-04-03 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US9112850B1 (en) 2009-03-25 2015-08-18 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
US10754913B2 (en) * 2011-11-15 2020-08-25 Tapad, Inc. System and method for analyzing user device information
US9633201B1 (en) 2012-03-01 2017-04-25 The 41St Parameter, Inc. Methods and systems for fraud containment
US9521551B2 (en) 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
EP2880619A1 (en) 2012-08-02 2015-06-10 The 41st Parameter, Inc. Systems and methods for accessing records via derivative locators
WO2014078569A1 (en) 2012-11-14 2014-05-22 The 41St Parameter, Inc. Systems and methods of global identification
US10902327B1 (en) 2013-08-30 2021-01-26 The 41St Parameter, Inc. System and method for device identification and uniqueness
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US20170345056A1 (en) * 2016-05-27 2017-11-30 App Annie Inc. Advertisement data metric determination within mobile applications
US10223251B2 (en) 2016-10-25 2019-03-05 International Business Machines Corporation Testing apps in micro-fluidics based devices
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
JP7210989B2 (ja) * 2018-10-04 2023-01-24 富士電機株式会社 管理サーバ、自動販売機及び装置識別情報付与方法
US11087020B2 (en) * 2018-11-28 2021-08-10 Vmware, Inc. Providing transparency in private-user-data access
CN113273159B (zh) * 2019-01-09 2023-07-18 现代自动车株式会社 用于收集和管理车辆生成数据的方法和***
CN110113170B (zh) * 2019-04-22 2021-09-14 杭州德旺信息技术有限公司 一种sha256值生成***
US11799741B2 (en) * 2019-10-29 2023-10-24 Fannie Mae Systems and methods for enterprise information technology (IT) monitoring
KR102389587B1 (ko) * 2020-10-13 2022-04-25 (주)드림시큐리티 안면인식 바이오 정보 라이브니스 검증 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825883A (en) * 1995-10-31 1998-10-20 Interval Systems, Inc. Method and apparatus that accounts for usage of digital applications
DE69704684T2 (de) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US7747531B2 (en) * 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
CA2933668C (en) 2004-04-23 2019-01-08 The Nielsen Company (Us), Llc Methods and apparatus to maintain audience privacy while determining viewing of video-on-demand programs
EP1754391A1 (en) * 2004-05-28 2007-02-21 Koninklijke Philips Electronics N.V. Privacy-preserving information distributing system
US8095803B1 (en) * 2007-03-09 2012-01-10 Hewlett-Packard Development Company, L.P. Protecting the privacy of files referenced by their hash
US20080313088A1 (en) * 2007-06-12 2008-12-18 Cahn Robert S Identification verification system
US8413261B2 (en) * 2008-05-30 2013-04-02 Red Hat, Inc. Sharing private data publicly and anonymously
US8037097B2 (en) 2008-05-30 2011-10-11 Yahoo! Inc. Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device
US20100325040A1 (en) 2009-06-23 2010-12-23 Craig Stephen Etchegoyen Device Authority for Authenticating a User of an Online Service
WO2011033259A2 (en) * 2009-09-15 2011-03-24 Eads Defence And Security Systems Limited Key generation for multi-party encryption
WO2011044710A1 (en) * 2009-10-12 2011-04-21 Safenet, Inc. Software license embedded in shell code
US20110313870A1 (en) 2009-10-13 2011-12-22 Skycore LLC, Initiating and Enabling Secure Contactless Transactions and Services with a Mobile Device
KR101733520B1 (ko) * 2009-11-27 2017-05-11 삼성전자주식회사 어플리케이션 보호 방법 및 이를 이용한 어플리케이션 실행 방법
US8438184B1 (en) * 2012-07-30 2013-05-07 Adelphic, Inc. Uniquely identifying a network-connected entity

Also Published As

Publication number Publication date
US9202039B2 (en) 2015-12-01
JP6324388B2 (ja) 2018-05-16
JP2015534691A (ja) 2015-12-03
WO2014055241A2 (en) 2014-04-10
CN104823198A (zh) 2015-08-05
US20140101731A1 (en) 2014-04-10
EP2904537A2 (en) 2015-08-12
KR20150064063A (ko) 2015-06-10
EP2904537B1 (en) 2017-10-25
WO2014055241A3 (en) 2014-06-19
CN104823198B (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
KR102132504B1 (ko) 컴퓨팅 장치의 보안 식별 및 보안 식별 방법
KR102613774B1 (ko) 애플리케이션 관련 사용자 데이터를 추출하고 공유하기 위한 시스템 및 방법
CN107750466B (zh) 使用经同步的提示信号配对附近设备
US9124575B2 (en) Self-single sign-on
US20140282460A1 (en) Enterprise device unenrollment
CN109074278B (zh) 验证移动应用中的有状态动态链接
US9280665B2 (en) Fast and accurate identification of message-based API calls in application binaries
US11196554B2 (en) Default password removal
US20160335168A1 (en) Real-time analysis of application programming interfaces
US20130339334A1 (en) Personalized search engine results
US9639526B2 (en) Mobile language translation of web content
US10754717B2 (en) Fast and accurate identification of message-based API calls in application binaries
US20140250521A1 (en) Rule based access for removable storage
CN113826097A (zh) 利用用户生物信息执行身份认证的电子装置及其操作方法
KR20160083759A (ko) 주석 제공 방법 및 장치
US20140067676A1 (en) Management of digital receipts
US10848972B2 (en) Mobile device wireless restricted peripheral sessions
US20140282836A1 (en) Enterprise device policy management
US20180035285A1 (en) Semantic Privacy Enforcement
US11074137B2 (en) File exchange by maintaining copy of file system data
CN116628773A (zh) 数据处理方法、装置、电子设备及存储介质
US20140282839A1 (en) Unified enterprise device enrollment
EP3308289B1 (en) Resource protection using tokenized information
US20180218132A1 (en) Application portability via application(s) installed on a portable storage device
US11809550B2 (en) Electronic device and control method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right