Apparently It’s OK For iOS Apps To Ask For Your Apple ID And Password
marco.org
marco.org
"Users sometimes ask us why we require the user’s Apple ID and password in Sunrise, instead of using the local Calendar API. That’s a great question to ask, and we understand why users don’t want to share their credentials without context. We’ve thought a lot about that.
The two reasons why we are doing this are: - one, to provide a better user-experience - two, to offer a Sunrise experience everywhere, on all platforms (including web and Android)
Providing a better user-experience
Being able to access the data from our servers, instead of just client-side, has enabled us to write a better calendar app. We are working hard to make synchronization faster and more reliable, and it enables us to send push notifications or alerts to users without them having to open the app.
And this is just the beginning, a lot of new features that we are working on at Sunrise for the future will rely on our server-side infrastructure.
Sunrise everywhere
The two biggest feature requests we get from users are: “when is Sunrise going to launch on desktop” and “what about Android?”.
We understand our users, they want a unified Sunrise experience everywhere, and so we can’t use a local API for that.
How does it work? Is this secure?
When you type in your iCloud credentials, they are sent to our server only once in a secured way over SSL. We use them to generate a secure token from Apple. This secure token is the only thing we store on our servers, we never store your actual iCloud credentials.
What’s next?
In the future, we are thinking about ways to take advantage of the local Calendar API for users who don’t want to share their credentials, we understand their point of view.
We are also hoping that Apple will leverage OAuth to authenticate their calendar API, which will make things easier for everyone. We already support OAuth with Facebook, Google, Twitter, LinkedIn, Foursquare and Producteev. We support OAuth where we can.
We are a team of 7 people building a calendar with love & passion, and unfortunately we can’t always move as fast as we want, but as always, we want to address users’ issues with transparency and openness. We’re listening on @sunrise or support@sunrise.am"
http://www.theverge.com/2013/11/3/5061136/sunrise-calendar-a...
[0] https://developer.apple.com/library/ios/documentation/Networ...
But thinking about it, it's a CalDAV server which normally uses email + password to authenticate..
Sunrise doesn't have a (known) security problem. Sunrise happened to reveal a glaring problem with Apple's security policies.
http://www.theverge.com/2013/11/3/5061136/sunrise-calendar-a...
Of course, OS X Authorization Services prompts for keychain access with a standard dialog that just pinky-swears it comes with the OS's blessing, so maybe Apple's approval of this practice shouldn't come as such a surprise.
Of course you can, but you need to do extra work to store and synchronise calenders.
You are asking sensitive user names and passwords you have no right to have. Just because you don’t do anything bad with them (that you say - and not yet) means nothing. You shouldn't be asking for them. Phishing attacks do exactly the same thing you do. You are not special, your users shouldn't trust you with their appleid and password anymore than any other spam email they get.
The issue here is not that Sunrise asks for your iCloud credentials, which it needs to be able to access your iCloud data, which you as a user of their service have given them the right to. The problem is that those same credentials are tied to your iTunes account and your credit card.
OAuth and even older, Paypal, use this methodology. It is a shared deficiency between Sunrise and Apple that they don't have a better way of performing user authentication.
-----------------
Your email application is a null / void example. Email applications run on your own computer. What is going on here is that Sunrise is collecting usernames / passwords on their own server, and promising that they won't do anything wrong with them. Whether or not we should trust them is beside the point, their approach to security is terrible.
Love and passion?
From http://sunrise-product.tumblr.com/post/47802736454/why-doesn...
Why doesn’t Sunrise support iCloud/Exchange yet?
Every other calendar app seems to do it, what’s taking Sunrise so long?
To explain let’s breakdown a calendar app into two parts, the presentation layer and the storage layer. In the stock iOS Calendar app, Calendar is the presentation layer and EventKit is the storage layer, both developed by Apple. Other calendar apps in the App Store also follow this two layer design but only redevelop the presentation layer while continuing to use Apple’s EventKit storage layer. In other words, these apps quite literally take your data and dress it up in a different color. What we do at Sunrise is redevelop both the presentation layer and the storage layer.
You guys are crazy, why bother reinventing EventKit?
The storage layer is responsible for keeping your data in a structured format. If we were to use Apple’s EventKit storage layer, we would have no control over what can be stored and how to store it.
Okay, so what’s wrong with not having control over the storage layer?
The storage layer needs to be revolutionized. Why can’t my calendar store anything besides text? What if I wanted to attach a picture to an event? Better yet, why not a video? What about other rich media that I would want to be included?
Herein lies the problem, the current storage layer isn’t capable of storing anything other than basic data. Not only that, it only stores certain kinds of basic data: titles, descriptions, dates, etc. We want to break these barriers and let you store anything!
Revolutionary features are coming to your calendar. We’re working as fast as we can.
Sorry, they're not getting my credentials.
Apple ID accounts are individually configurable for most, if not all iCloud/App Store services.
People with families have known about this feature for years. The sales staff at the Apple Stores specifically bring it up.
(Yes, it's not a preference pedantically, it's an option to create multiple accounts. Still the default and most used is using one account).
Anyone with family members using their iTunes account would and has for many years. That's why it's there.
"It's pretty crazy that you need to use the same credentials to "buy" a $0 app as you have to remotely lock and wipe your iphone and mac."
I'm having no trouble remembering the context. Why are you?
How do you do it actually?
Serious Question.
First of all this has nothing to do with iOS/Android. This is an app trying to access a web service. Apple needs to provide oath or similar for accessing their iCloud services.
>> And also, for installing $0 apps you don't need any credit card details at all. Even the buttons are different "Install" v/s "Buy".
This is untrue. I couldn't download any free apps until I had setup a merchant account with credit card.
I know it's not. I was just hinting the plus sides of a competitive product, something the new users should know, and something Apple should learn from. It's less about the app, and more about what the app is allowed to do, yet.
>> This is untrue.
No, it's not. You mean Google asked you to setup a "Merchant" account for being a "customer" of $0 apps? ... Think again. :)
This probably conditions them to trust all iOS apps with their password if prompted to enter it.
But they dug themselves in a ditch by unifying extremely sensitive things (App Store access) & very sensitive things (email, calendar) under a single account.
A few ways to get out of that ditch:
- not allowing any iOS/Mac app store 3rd party app to ask for iCloud credentials. This will suck but at least protects the average Joe.
- forcing users to have a different password for the app store/anything that can take money from a credit card.
- using something like OAuth.
- use two step verification for app store purchases (of course, the mobile app store being on a phone makes it harder)
That's actually a great idea, and it wouldn't be hard at all, as long as they were to use TFA for all iCloud access. The second factor (e.g. a 6-digit number) could be displayed in the dialogue box asking for your password.
If it's a genuine dialogue box, no problem. If it's _not_ a genuine dialogue box, then the captured username/password is of no use, as you don't have the second factor. Replay and MITM attacks could be avoided by using a session identifier; the app wouldn't be able to get at it due to the sandbox.
And as for "to offer a Sunrise experience everywhere, on all platforms", but at what cost?
If I ask for your gmail user / pass is that fine because there's no API ?
I have never seen that an app requests the security questions when making an in app purchase. Granted it's been a while since I last made one. Can anyone tell me if this is supposed to be normal now?
I tried to talk to Disney's support but of course no answer there...
I experienced this on iTunes on my PC quite a while ago. And since then I have not made any purchases from the iOS device itself. I buy through the PC and then sync to my devices because of slow internet.
So now, basically when I tried to make an IAP, I got the same popup. I first thought it was the app that wanted to know my details but it really is Apple. I got this out of the way by purchasing a small, 99ct app directly from my Device. So I went into the AppStore, bought the app and the same popup came up. Since this was now in the official Apple Appstore app, I answered two of my questions, downloaded the app and now, this popup is gone and I can make IAP all I like.
I think you get 3 or 4 tries before they lock your account, I had gotten 1 question wrong 2x an didn't want the account locked because of a typo.
It just felt weird that a non Apple app suddenly asked for these things. I do use Find my Friends semi regularly in which you also login with your appleid password but so far there was never a message saying I needed to enter my security questions... weird.