SlideShare a Scribd company logo
1 of 39
Download to read offline
BARCELONA IOS DEVEOPERS
Ronan O Ciosoig
Show and Tell
14th May 2012
Thursday, May 16, 13
Thursday, May 16, 13
Why do we need it?
Thursday, May 16, 13
What is wrong with other solutions?
Thursday, May 16, 13
What is it that is being offered here?
Thursday, May 16, 13
FOOD SAFETY PLATFORM
• Food safety web site (for reference hospital)
• Manufacturers web site
• Web only widget to embed in manufacturer’s and food
regulatory or safety web sites
• Consumers web site
• Mobile app for iOS and Android
Thursday, May 16, 13
APP - KEY FEATURES
• Simple to read
• Downloadable database
• Customized user profile
• Allergen information provided by a leading hospital
• Apple Push to update
• Secure
Thursday, May 16, 13
DEMO
Thursday, May 16, 13
USINGTHE APP
• Use anonymously - no registration is required
• Register and define intolerances / allergies
• Download database
• Select by
• Brand
• Barcode scanning
• Text search
Thursday, May 16, 13
INTERNAL FEATURES
• English and Spanish supported
• Voice support (deactivated)
• Image cache
• System-wide logging and usage tracking
• not using any 3rd party lib.
• Encryption
Thursday, May 16, 13
SECURITY INTHE APP
Thursday, May 16, 13
SECURITY INTHE APP
Why do you need security here?
Gives manufacturers confidence in the platform
Thursday, May 16, 13
CORE DATA ENCRYPTION
Thursday, May 16, 13
CORE DATA ENCRYPTION
• Add 2 classes (from Pro Core Data book):
• EncryptedStringTransformer
• NSData+Encryption
Thursday, May 16, 13
CORE DATA ENCRYPTION
• Add 2 classes (from Pro Core Data book):
• EncryptedStringTransformer
• NSData+Encryption
• Change properties to ‘transformable’
Thursday, May 16, 13
CORE DATA ENCRYPTION
• Add 2 classes (from Pro Core Data book):
• EncryptedStringTransformer
• NSData+Encryption
• Change properties to ‘transformable’
• Set the name to “EncryptedStringTransformer”
Thursday, May 16, 13
CORE DATA ENCRYPTION
• Add 2 classes (from Pro Core Data book):
• EncryptedStringTransformer
• NSData+Encryption
• Change properties to ‘transformable’
• Set the name to “EncryptedStringTransformer”
• Set the key in the EncryptedStringTransformer.m class
Thursday, May 16, 13
CORE DATA ENCRYPTION
Thursday, May 16, 13
CORE DATA ENCRYPTION
Thursday, May 16, 13
CORE DATA ENCRYPTION
Thursday, May 16, 13
THE KEY?
Thursday, May 16, 13
THE KEY?
• Add it into the code?
Thursday, May 16, 13
THE KEY?
• Add it into the code? Not a good idea
Thursday, May 16, 13
THE KEY?
• Add it into the code?
• Can you store it in the Key Chain?
Not a good idea
Thursday, May 16, 13
THE KEY?
• Add it into the code?
• Can you store it in the Key Chain?
Not a good idea
Not secure
Thursday, May 16, 13
THE KEY?
• Add it into the code?
• Can you store it in the Key Chain?
• Don’t store it.
Not a good idea
Not secure
Generate it!
Thursday, May 16, 13
SECURE CODING
Thursday, May 16, 13
SECURE CODING
... is about increasing the complexity
demanded for an attack against the
application to succeed.
Thursday, May 16, 13
SECURE CODING
Don’t make it easy
Thursday, May 16, 13
KEY GENERATION
Complex non-
obvious operation
Seed
Seed
Seed
Read Core
Data DB
Thursday, May 16, 13
NON-OBVIOUS OPERATION
Thursday, May 16, 13
SECURITY INTHE APP
• Core Data SQLite entries are encrypted
• Key is generated and never stored
• Seed for key stored in KeyChain
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
SIMPLICITY
Thursday, May 16, 13
SIMPLICITY
Thursday, May 16, 13
SIMPLICITY
...is about subtracting the obvious and adding the
meaningful.”
Thursday, May 16, 13
QUESTIONS?
Thursday, May 16, 13
REFERENCES
Pro Core Data 2nd Edition (Michael Privat,
Robert Warner)
Hacking and securing iOS Applications, Jonathan
Zdziarski
The Laws of Simplicity, John Maeda
Thursday, May 16, 13

More Related Content

Similar to FoodLinker

Android meetup
Android meetupAndroid meetup
Android meetupTy Smith
 
Native Javascript apps with PhoneGap
Native Javascript apps with PhoneGapNative Javascript apps with PhoneGap
Native Javascript apps with PhoneGapIbuildings
 
7 things one should learn from iOS
7 things one should learn from iOS7 things one should learn from iOS
7 things one should learn from iOSPaul Ardeleanu
 
How ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in PopularityHow ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in PopularityPostman
 
CocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesCocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesMutual Mobile
 
CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...Daniel Bryant
 
Nonprofit Data: What to Visualize
Nonprofit Data: What to VisualizeNonprofit Data: What to Visualize
Nonprofit Data: What to VisualizeForum One
 
(java2days) The Anatomy of Java Vulnerabilities
(java2days) The Anatomy of Java Vulnerabilities(java2days) The Anatomy of Java Vulnerabilities
(java2days) The Anatomy of Java VulnerabilitiesSteve Poole
 
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...WSO2
 
IPSA India Price List May 2018
IPSA India Price List May 2018IPSA India Price List May 2018
IPSA India Price List May 2018Krishan Attrish
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Steve Poole
 
IOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsIOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsDavid Janes
 
Practical iOS App Security
Practical iOS App SecurityPractical iOS App Security
Practical iOS App SecurityTotem_Training
 
Ot pt apps 2012 updated
Ot pt apps 2012 updatedOt pt apps 2012 updated
Ot pt apps 2012 updatedEllen Deutsch
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)Peter Wang
 
LUISS - Deep Learning and data analyses - 09/01/19
LUISS - Deep Learning and data analyses - 09/01/19LUISS - Deep Learning and data analyses - 09/01/19
LUISS - Deep Learning and data analyses - 09/01/19Alberto Paro
 

Similar to FoodLinker (20)

Android meetup
Android meetupAndroid meetup
Android meetup
 
Finding sensitive information in text data
Finding sensitive information in text dataFinding sensitive information in text data
Finding sensitive information in text data
 
Native Javascript apps with PhoneGap
Native Javascript apps with PhoneGapNative Javascript apps with PhoneGap
Native Javascript apps with PhoneGap
 
7 things one should learn from iOS
7 things one should learn from iOS7 things one should learn from iOS
7 things one should learn from iOS
 
How ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in PopularityHow ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in Popularity
 
CocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best PracticesCocoaConf Austin 2014 | Demystifying Security Best Practices
CocoaConf Austin 2014 | Demystifying Security Best Practices
 
CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...
 
Nonprofit Data: What to Visualize
Nonprofit Data: What to VisualizeNonprofit Data: What to Visualize
Nonprofit Data: What to Visualize
 
(java2days) The Anatomy of Java Vulnerabilities
(java2days) The Anatomy of Java Vulnerabilities(java2days) The Anatomy of Java Vulnerabilities
(java2days) The Anatomy of Java Vulnerabilities
 
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...
WSO2Con ASIA 2016: Keynote: Want to Improve Customer Experience? Analytics Ca...
 
Deployments in one click!
Deployments in one click!Deployments in one click!
Deployments in one click!
 
Making Secure Choices
Making Secure ChoicesMaking Secure Choices
Making Secure Choices
 
IPSA India Price List May 2018
IPSA India Price List May 2018IPSA India Price List May 2018
IPSA India Price List May 2018
 
Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?Superman or Ironman - can everyone be a 10x developer?
Superman or Ironman - can everyone be a 10x developer?
 
IOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsIOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of Things
 
Practical iOS App Security
Practical iOS App SecurityPractical iOS App Security
Practical iOS App Security
 
Ot pt apps 2012 updated
Ot pt apps 2012 updatedOt pt apps 2012 updated
Ot pt apps 2012 updated
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)
 
LUISS - Deep Learning and data analyses - 09/01/19
LUISS - Deep Learning and data analyses - 09/01/19LUISS - Deep Learning and data analyses - 09/01/19
LUISS - Deep Learning and data analyses - 09/01/19
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

FoodLinker