<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body style="word-wrap:break-word" fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">I think identifying an app is really hard without the OS providing better support. It is probably easier and also usefull to make sure a "hacker" app cannot use a token that it
 has received.
<div><br>
</div>
<div>Somethink like Nat and John have specified here:</div>
<div><br>
</div>
<div><a href="http://tools.ietf.org/html/draft-sakimura-oauth-tcse-00" target="_blank">http://tools.ietf.org/html/draft-sakimura-oauth-tcse-00</a></div>
<div><br>
</div>
<div>which came up a few weeks ago.</div>
<div><br>
</div>
<div>Sascha
<div>
<div class="BodyFragment"></div>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF944293" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> openid-specs-native-apps-bounces@lists.openid.net [openid-specs-native-apps-bounces@lists.openid.net] on behalf of Mike Varley [mike.varley@securekey.com]<br>
<b>Sent:</b> Friday, August 08, 2014 6:24 AM<br>
<b>To:</b> John Bradley; openid-specs-native-apps@lists.openid.net<br>
<b>Subject:</b> Re: [Openid-specs-native-apps] Identifying applications.<br>
</font><br>
</div>
<div></div>
<div>Verifying an App identity on any given mobile platform seems to be a challenge - should the spec define its own mechanism for verifying an App identity? or is that too much scope creep?
<div><br>
</div>
<div>(something like the proof-of-possession spec for OAuth 2.0…)</div>
<div><br>
</div>
<div>MV<br>
<div><br>
</div>
<div><br>
</div>
<div><br>
<div>
<div>On Aug 7, 2014, at 2:46 PM, John Bradley <<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">ve7jtb@ve7jtb.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div style="word-wrap:break-word">
<div><br>
<div>
<div style="word-wrap:break-word">Hi William,
<div><br>
</div>
<div><br>
</div>
<div>Thanks that is useful information.</div>
<div><br>
</div>
<div>My concern is that a large user of this may be enterprises.  </div>
<div>A enterprise creating app x for there enterprise store might be subverted by a app in a public store.</div>
<div><br>
</div>
<div>I can see an attacker sending a email link to an employee at company x saying down load this one time free app, that impersonates the app name of some internal HR or finance application.</div>
<div><br>
</div>
<div>It will at minimum need to be a security consideration, I think.</div>
<div><br>
</div>
<div><br>
</div>
<div>Regards</div>
<div>John B.</div>
<div><br>
</div>
<div>
<div>
<div>On Aug 6, 2014, at 8:58 PM, William Denniss <<a href="mailto:wdenniss@google.com" target="_blank">wdenniss@google.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">
<div>On Wed, Aug 6, 2014 at 4:15 PM, John Bradley <span dir="ltr"><<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">ve7jtb@ve7jtb.com</a>></span> wrote:<br>
</div>
<div>
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
Can people comment on what needs to be passed to uniquely identify an app on iOS , Android and Windows mobile.<br>
</blockquote>
<div><br>
</div>
For iOS it is the bundle identifier. These are globally unique within the Apple ecosystem.  I verified this by attempting to create a new app using a known bundle identifier of another app, and got the error: "The Bundle ID you entered has already been used.".
<div><br>
</div>
<div>The bundle identifier is passed by the OS during inter-app communication in the <a href="https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:openURL:sourceApplication:annotation:" target="_blank">UIApplicationDelegate/application:openURL:sourceApplication:annotation:</a> 
 method which can be used to restrict which apps you interact with. This has applications similar to whitelisting javascript origins and redirect URIs.</div>
<div><br>
</div>
<div>On Android, the package name – very similar in concept to the iOS bundle identifier – is also globally unique (<a href="http://developer.android.com/guide/topics/manifest/manifest-element.html#package" target="_blank">docs</a>). Two apps on the Play Store
 cannot have the same package name.</div>
<div><br>
</div>
<div>As Android allows apps from unknown sources, the OS level assertion of the bundle identifier is less authoritative than on iOS, which is why it may be advisable to also verify the application signature. It is theoretically possible to distribute an iOS
 app with a conflicting bundle identifier, but it would have to be distributed outside the App Store which is hard (Enterprise, AdHoc or development builds – none which can achieve wide distribution).</div>
<div><br>
</div>
<div>William</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
<br>
</div>
_______________________________________________<br>
Openid-specs-native-apps mailing list<br>
<a href="mailto:Openid-specs-native-apps@lists.openid.net" target="_blank">Openid-specs-native-apps@lists.openid.net</a><br>
http://lists.openid.net/mailman/listinfo/openid-specs-native-apps<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>