Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to store credit card info on iphone?

I have requirement to store credit card number in iPhone app. How to store the data secure manner. I have looked at keychain. Apart from it, is there anything i can use.

like image 550
turbo Avatar asked May 30 '12 16:05

turbo


2 Answers

As mentioned above, you should first look into the legality of this, especially with Apple restrictions on what goes in the app store.

That said, I have had to encrypt sensitive information before, and decided to go overboard with AES-256 encryption. Since usernames, passwords and personal data were being sent over a network, it was necessary. I used FBEncrypt for this - it's a great wrapper around CCCrypt.

https://github.com/dev5tec/FBEncryptor

That will allow you to do base-64 encoding and AES-256 encoding, among other things, and it is really convenient. Check it out if you really need it!

like image 98
anon_dev1234 Avatar answered Oct 24 '22 21:10

anon_dev1234


This question as stated is difficult to answer. It is up to author(s) of the requirement to determine the level of security needed. They may wish to get some legal advice about what, if any, liability may be incurred for leaking the data.

Once you know the appropriate level of protection, then you can start evaluating solutions. Keychain is good, but there are quite a few encryption options available.

Questions you may want to get answers to besides how to store the number include:

  • What authentication will be needed to expose the number?
  • What is the expected lifecycle of the exposed number?
    • How long can the number stay exposed?
    • How will the number be purged from memory?
  • How can the exposed number be used?
    • Can the number ever be displayed to the user?
    • Will you allow the number to be copied to the clipboard?

If you want to be serious about protecting information (any information), you need to do some serious design work.

like image 35
Jeffery Thomas Avatar answered Oct 24 '22 21:10

Jeffery Thomas