Preventing inter-application message hijacking

US10616209B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10616209-B2
Application numberUS-201816191033-A
CountryUS
Kind codeB2
Filing dateNov 14, 2018
Priority dateDec 10, 2015
Publication dateApr 7, 2020
Grant dateApr 7, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various approaches discussed herein enable validation of an application on a computing device, such as a mobile computing device, prior to that application being invoked by activation of a link in another application. Upon activation of the link in a calling application, the computing device determines a target application to be invoked in response to the activation. Sensitive or confidential data, such as login credentials, may be included in the link to be passed to the target application. By validating either the calling or the target application, the data may be safeguarded by confirming an identity of an application associated with the link.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: presenting, via a presentation device associated with a mobile computing device, a selectable link including an action portion and a data portion, the link to an application on the mobile computing device; receiving an indication of the link being activated in a calling application executing on the mobile computing device; determining, in response to receiving the indication, a first target application on the mobile computing device associated with the action portion of the link; determining target certificate information identifying a code signing certificate used to sign the first target application; comparing the target certificate information to approved certificate information identifying one or more approved code signing certificates; determining, based at least in part on the comparison, that the code signing certificate used to sign the first target application is an approved code signing certificate; and causing the first target application to be invoked and the data portion of the link to be passed to the first target application. 2. The computer implemented method of claim 1 , further comprising: receiving, from the calling application, the approved certificate information; creating fingerprint data corresponding to the one or more approved code signing certificates identified by the approved certificate information; and causing the fingerprint data to be associated with the link in response to receiving an indication of the link being activated. 3. The computer implemented method of claim 1 , further comprising: receiving, from the calling application, the approved certificate information, wherein the approved certificate information identifies a code signing certificate used to sign the calling application. 4. The computer implemented method of claim 1 , further comprising: determining a second target application on the mobile computing device associated with the action portion of the link; determining second target certificate information identifying a second code signing certificate used to sign the second target application; determining that the second code signing certificate is an approved code signing certificate; causing a request for a selection of either the first target application or the second target application to be displayed on the mobile computing device; receiving an indication of a selection of the second target application; and causing the second target application to be invoked and the data portion of the link to be passed to the second target application. 5. A computer implemented method, comprising: presenting a link to an application on a computing device, the link including an action portion and a data portion; receiving an indication of a selection of the link; determining, in response to receiving the indication, that a calling application is executing on the computing device; determining that the calling application is signed with a first resource; determining a target application associated with the link on the computing device; determining, by comparing approved certificate information with a first code signing certificate used to sign the first target application, whether the target application is an authorized application to be invoked by the calling application in response to receiving the indication of the link selection; determining that the target application is signed with a second resource; and causing, based at least on a determination that the target application is an authorized application, the target application to be invoked on the computing device and the data portion of the link to be transmitted to the target application. 6. The computer implemented method of claim 5 , wherein determining whether the target application is an authorized application further comprises: determining a match between the first resource and the first code signing certificate. 7. The computer implemented method of claim 6 , wherein the first resource comprises a second code signing certificate, and wherein determining a match between the first resource and the first code signing certificate further comprises: determining that the second code signing certificate comprises an intermediary certificate; and determining that the first code signing certificate is signed by the intermediary certificate. 8. The computer implemented method of claim 6 , wherein the first resource comprises a first second signing certificate, and wherein determining a match between the first resource and the first code signing certificate further comprises: determining that the first code signing certificate and the second code signing certificate are associated with a trusted certificate authority. 9. The computer implemented method of claim 5 , further comprising: determining the calling application is executing on the computing device in which the link was provided; determining, by the calling application, that the first code signing certificate is indicated as trusted; creating fingerprint data corresponding to the trusted first code signing certificate; causing the fingerprint data to be associated with the link; and determining that the target application is an authorized application, based on a determination that the target application is signed with a code signing certificate corresponding to the fingerprint data. 10. The computer implemented method of claim 5 , further comprising: determining, in response to receiving the indication, a second target application executing on the computing device, the second target application associated with the link; determining that the second target application is an authorized application; causing a request for a selection of either the target application or the second target application to be displayed on the computing device; and receiving an indication of a selection of the target application. 11. The computer implemented method of claim 5 , further comprising: determining the calling application is executing on the computing device in which the link was provided; receiving, from the calling application, a whitelist comprising references to a plurality of code signing certificates; and determining, prior to causing the target application to be invoked on the computing device and the data portion of the link to be transmitted to the target application, that the target application is signed with one of the plurality of code signing certificates referred to in the whitelist. 12. The computer implemented method of claim 5 , further comprising: determining whether the data portion of the link includes authentication credentials; and determining, in response to determining that the data portion of the link includes authentication credentials, whether information associated with the target application satisfies at least two criteria, the at least two criteria selected from a group of criteria comprising: the target application being signed with a particular resource, a time limit associated with the link not having expired, the target application being included in an application whitelist, date of installation, or the target application having been previously executed. 13. A computing system, comprising: at least one processor; memory including instructions that, when executed by the processor, cause the computing system to: present a link to an application, the link including an action portion and a data portion; receive an indication of a selection of the link; determine, in response to receiving the indication, that a calling application is executing on the computing devic

Assignees

Inventors

Classifications

  • for controlling access to devices or network resources · CPC title

  • Access control lists [ACL] · CPC title

  • by monitoring network traffic (monitoring network traffic per se H04L43/00) · CPC title

  • using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263) · CPC title

  • Entity profiles · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10616209B2 cover?
Various approaches discussed herein enable validation of an application on a computing device, such as a mobile computing device, prior to that application being invoked by activation of a link in another application. Upon activation of the link in a calling application, the computing device determines a target application to be invoked in response to the activation. Sensitive or confidential d…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/0823. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 07 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).