SlideShare una empresa de Scribd logo
1 de 91
Descargar para leer sin conexión
WWDC 2017 讀書會
2017/07/21 - Antony Chuang
Outline
• Your Apps and Evolving Network Security Standards

• Privacy and Your Apps

• Advances in Networking

• What's new in Apple Pay Wallet
• Your Apps and Evolving Network Security Standards

• Privacy and Your Apps

• Advances in Networking

• What's new in Apple Pay Wallet
Your Apps and Evolving Network Security Standards
• Best Practices

• App Transport Security

• Transport Layer Security
Your Apps and Evolving Network Security Standards
Best Practices
Your Apps and Evolving Network Security Standards
Best Practices
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Online Certificate Status Protocol (OCSP)
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Online Certificate Status Protocol (OCSP)

• Additional network connection

• Compromises user privacy

• Requires app opt-in
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Online Certificate Status Protocol Stapling (OCSP Stapling)
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Online Certificate Status Protocol Stapling (OCSP Stapling)

• Slow adoption

• Malicious server
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Certificate Transparency Log
Your Apps and Evolving Network Security Standards
Best Practices - Revocation
Certificate Transparency Log

• Reduced privacy compromise

• Automatic updating

• Faster connections

Certificate in iOS: https://support.apple.com/en-us/HT204132
Your Apps and Evolving Network Security Standards
Best Practices - Trust Removals
• SHA-1 signed certificates for TLS

• Certificates using <2048-bit RSA for TLS
Your Apps and Evolving Network Security Standards
Best Practices - Trust Removals
• Not affect

- Root certificates 

- Enterprise-distributed certificates 

- User-installed certificates

- Client certificates 

• Affect

- InvalidCertChain (-9807) SSL errors with URLSession
Your Apps and Evolving Network Security Standards
Best Practices - Trust Removals
Your Apps and Evolving Network Security Standards
Best Practices - What to Do Now?
• Check implementations, libraries, and servers

• Avoid ATS exceptions
Your Apps and Evolving Network Security Standards
App Transport Security - Update
• Exceptions narrow down to per domain

• Exceptions expansion beyond WebKit (Certificate
Transparency requirement)

- AVFoundation loads

- WebView request

- Local network connection
Your Apps and Evolving Network Security Standards
ATS-Compliant Services
Your Apps and Evolving Network Security Standards
Transport Later Security
Your Apps and Evolving Network Security Standards
Enable TLS 1.3 Beta
• Not on by default

• iOS

https://developer.apple.com/go/?id=tls13-mobile-profile

• macOS

defaults write /Library/Preferences/com.apple.networkd tcp_connect_enable_tls13 1
• Your Apps and Evolving Network Security Standards

• Privacy and Your Apps

• Advances in Networking

• What's new in Apple Pay Wallet
Privacy and Your Apps
Privacy and Your Apps
Prompting with Purpose - iOS 10
Privacy and Your Apps
Prompting with Purpose - iOS 11
Privacy and Your Apps
Prompting with Purpose - Location
Privacy and Your Apps
Prompting with Purpose - Location
Support When In Use location authorization

• NSLocationWhenInUseUsageDescription

• NSLocationAlwaysAndWhenInUseUsageDescription
Privacy and Your Apps
Prompting with Purpose - Location
When In Use location authorization undefined in iOS 10
Privacy and Your Apps
Prompting with Purpose - Location
When In Use location and Always authorization both defined
in iOS 10
Privacy and Your Apps
Photo Library access in iOS 11
• Image picker without prompting for access 

• Write only support

• Authorization will be reset on upgrade
Privacy and Your Apps
Photo Library write only access in iOS 11
NSPhotoLibraryAddUsageDescription

• UIImageWriteToSavedPhotosAlbum

• UISaveVideoAtPathToSavedPhotosAlbum
Privacy and Your Apps
Core NFC
NFCReaderUsageDescription

• Scan for nearby NFC tags

• In the foreground
Privacy and Your Apps
Microphone - Watch OS
• Recording allowed to continue in the background

• Recording possible without the built-in modal UI

• Requires microphone authorization

• Indicator on watch face
Safari and other apps get their own cookies and website data

Clearing website data in Safari also clears the data in your app
Privacy and Your Apps
Safari View Controller
Privacy and Your Apps
On-Device Processing
• CoreML

• VisionKit

• ARKit

• NLP
Privacy and Your Apps
DeviceCheck
• iOS, tvOS

• Per device, per developer data
stored by Apple

• Two bits and a timestamp
Privacy and Your Apps
DeviceCheck
Update bit state
Privacy and Your Apps
DeviceCheck
Request to Apple to query bit state
Privacy and Your Apps
DeviceCheck
Response from Apple with the bit state
Privacy and Your Apps
DeviceCheck
• Handle resold or transferred devices

• Relevancy based on age

• Part of your app logic not sole source
• Your Apps and Evolving Network Security Standards

• Privacy and Your Apps

• Advances in Networking

• What's new in Apple Pay Wallet
Advances in Networking
• Explicit Congestion Notification

• IPv6

• Networking stack changes

• New Network Extension facilities

• Multipath protocols for multipath devices

• URLSession
Advances in Networking
Explicit Congestion Notification
Advances in Networking
IPv6
Advances in Networking
IPv6
Advances in Networking
Networking stack changes
Advances in Networking
New Network Extension facilities
Advances in Networking
New Network Extension facilities -NEHotspotConfiguration
Advances in Networking
New Network Extension facilities -NEHotspotConfiguration
Advances in Networking
New Network Extension facilities -NEHotspotConfiguration
Advances in Networking
New Network Extension facilities - NEDNSProxyProvider
• Receives the system’s DNS query messages

• Handles them as it wishes

- Can send to recursive resolver of its choice

- Can send using protocol of its choice

‣ DNS over TLS

‣ DNS over HTTP
Advances in Networking
Multipath protocols for multipath devices
Advances in Networking
Multipath protocols for multipath devices
• Triggered by Marginal Wi-Fi

• “Fittest Wins Out” contest
between Wi-Fi and Cell

• Wi-Fi has head start over Cell

• On a flow by flow basis, at
flow setup time
Advances in Networking
Multipath TCP
• Built on top of TCP 

- Reliability

- Congestion control

• Seamless handover from Wi-Fi to Cell

• Chooses optimal interface for latency-sensitive flows
Advances in Networking
Multipath TCP
• MPTCP schedules traffic
across the interfaces

• One “TCP subflow” per
interface

• MPTCP creates/destroys
subflows
Advances in Networking
Multipath TCP in Siri
• Implemented since iOS 7 for
Siri

• User feedback (time to first
word) 20% faster in the 95th
percentile

• 5x reduction in network
failures
Advances in Networking
Multipath TCP in iOS11
• Server support

• Multipath service types 

- Handover Mode

- Interactive Mode

• URLSession API
Advances in Networking
Multipath TCP - Server support
Advances in Networking
Multipath service types in iOS 11
• Handover Mode for high reliability

• Interactive Mode for low latency
Advances in Networking
Multipath service types - Handover
• Reliability for persistent
connections

• Minimal cell usage

• Available in Beta 1
Advances in Networking
Multipath service types - Interactive
• Low latency for low-volume
interactive flows

• Wi-Fi and cellular

• Available in an upcoming Beta
Advances in Networking
URLSession support
Advances in Networking
Multipath service types - Aggregation
• Combines link capacities

• Available through developer settings

• Starting in an upcoming Beta
Advances in Networking
URLSession - Current
• Failure causes by weak connectivity

- NSURLErrorNotConnectedToInternet

- NSURLErrorCannotConnectToHost

• Manual retry by user or monitor condition by
SCNetworkReachability
Advances in Networking
URLSession
• New URLSessionConfiguration property 

var waitsForConnectivity: Bool

• New URLSessionTaskDelegate method

urlSession(_:taskIsWaitingForConnectivity:) - optional
Advances in Networking
URLSession
• Recommendation

- Always enable waitsForConnectivity

• Exception

- Requests that must be completed immediately, like
transaction
Advances in Networking
URLSession
Advances in Networking
URLSessionTask Scheduling API
Advances in Networking
URLSessionTask Scheduling API
• New URLSessionTask property 

var earliestBeginDate: Date?

• New URLSessionTaskDelegate method called only when
earliestBeginDate been set

urlSession(_:task:willBeginDelayedRequest:completionHandler:) - optional
Advances in Networking
URLSessionTask Scheduling API
Advances in Networking
URLSessionTask Scheduling API
New property for better scheduling by system

var countOfBytesClientExpectsToSend: Int64

var countOfBytesClientExpectsToReceive: Int64

NSURLSessionTransferSizeUnknown if cannot be estimated
Advances in Networking
URLSessionTask Progress
URLSessionTask implements ProgressReporting protocol 

class URLSessionTask : NSObject, NSCopying, ProgressReporting

public var progress: Progress { get }
Advances in Networking
URLSessionTask Progress
Progress state management methods change URLSessionTask state
Advances in Networking
URLSession Enhancements
• ProgressReporting

• Brotli compression

- Requires HTTPS (TLS)

• Public Suffix List updates
• Your Apps and Evolving Network Security Standards

• Privacy and Your Apps

• Advances in Networking

• What's new in Apple Pay Wallet
What's new in Apple Pay Wallet
Apple Pay for Donations
• Accept donations for your nonprofit simply and securely

• Available within apps and on the web

• New donation button style

• https://developer.apple.com/support/apple-pay-
nonprofits/
What's new in Apple Pay Wallet
Apple Pay Make Purchasing Easier
What's new in Apple Pay Wallet
Other Benefits Of Apple Pay
• Reduction in chargebacks

• No need to handle or store credit card numbers

• Trusted user experience
What's new in Apple Pay Wallet
Apple Pay - Buttons
What's new in Apple Pay Wallet
Apple Pay - Inline Setup
• Apple Pay setup is now offered automatically

• Simply present an Apple Pay sheet to a user without
cards

• Users are returned to your Apple Pay purchase
immediately after setup

• Still faster than a typical manual checkout
What's new in Apple Pay Wallet
Apple Pay - Payment Errors
• Payment instrument failed to process

• Billing address didn’t match

• Email address was invalid

• Postal address had an incorrect ZIP

• Telephone was missing an area code
What's new in Apple Pay Wallet
Apple Pay - Payment Errors
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
• Gracefully handle invalid or incorrect data directly in
Apple Pay

• Display custom error messages

• Direct users to the specific fields that need correction
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
What's new in Apple Pay Wallet
Apple Pay - Custom Errors
New callback
What's new in Apple Pay Wallet
Wallet
NFC passes

• NFC passes let you send customer information over

• NFC Only encrypted NFC passes supported from iOS 11

• Register for NFC passes at developer.apple.com/apple-
pay
What's new in Apple Pay Wallet
Wallet
Sharing

• Passes can now be opted out of sharing

• Useful for single use items like loyalty cards or tickets
Thank you

Más contenido relacionado

La actualidad más candente

Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Dennis Koch
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appicationMarcello Teodori
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateChef
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef REAN Cloud
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDustin Ruehle
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2Jaliya Udagedara
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio StruyfO365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio StruyfNCCOMMS
 
Tabtale story: Building a publishing and monitoring mobile games architecture...
Tabtale story: Building a publishing and monitoring mobile games architecture...Tabtale story: Building a publishing and monitoring mobile games architecture...
Tabtale story: Building a publishing and monitoring mobile games architecture...Tikal Knowledge
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 
Alfresco Process Services REST API - Alfresco DevCon 2018
 Alfresco Process Services REST API - Alfresco DevCon 2018 Alfresco Process Services REST API - Alfresco DevCon 2018
Alfresco Process Services REST API - Alfresco DevCon 2018Dennis Koch
 
Azure cloud for the web frontend developers
Azure cloud for the web frontend developersAzure cloud for the web frontend developers
Azure cloud for the web frontend developersMaxim Salnikov
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudPatrick Bouillaud
 
Azure functions
Azure functionsAzure functions
Azure functionsvivek p s
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless DeliveryCasey Lee
 

La actualidad más candente (20)

Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018Alfresco Process Services extension project - Alfresco DevCon 2018
Alfresco Process Services extension project - Alfresco DevCon 2018
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appication
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring Cloud
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio StruyfO365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
O365Con18 - Automate your Tasks through Azure Functions - Elio Struyf
 
Tabtale story: Building a publishing and monitoring mobile games architecture...
Tabtale story: Building a publishing and monitoring mobile games architecture...Tabtale story: Building a publishing and monitoring mobile games architecture...
Tabtale story: Building a publishing and monitoring mobile games architecture...
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Alfresco Process Services REST API - Alfresco DevCon 2018
 Alfresco Process Services REST API - Alfresco DevCon 2018 Alfresco Process Services REST API - Alfresco DevCon 2018
Alfresco Process Services REST API - Alfresco DevCon 2018
 
Azure cloud for the web frontend developers
Azure cloud for the web frontend developersAzure cloud for the web frontend developers
Azure cloud for the web frontend developers
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with Alfresco
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
 
Azure functions
Azure functionsAzure functions
Azure functions
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless Delivery
 

Destacado

KKBOX WWDC17 Xcode IDE - Hardy
KKBOX WWDC17  Xcode IDE - HardyKKBOX WWDC17  Xcode IDE - Hardy
KKBOX WWDC17 Xcode IDE - HardyLiyao Chen
 
KKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel TienKKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel TienLiyao Chen
 
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17  SiriKit and CoreSpotlight - SeraphKKBOX WWDC17  SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17 SiriKit and CoreSpotlight - SeraphLiyao Chen
 
KKBOX WWDC17 Xcode debug - Oliver
KKBOX WWDC17  Xcode debug - OliverKKBOX WWDC17  Xcode debug - Oliver
KKBOX WWDC17 Xcode debug - OliverLiyao Chen
 
KKBOX WWDC17 WatchOS - Dada
KKBOX WWDC17  WatchOS  - DadaKKBOX WWDC17  WatchOS  - Dada
KKBOX WWDC17 WatchOS - DadaLiyao Chen
 
KKBOX WWDC17 UIKit Drag and Drop - Mario
KKBOX WWDC17  UIKit Drag and Drop - MarioKKBOX WWDC17  UIKit Drag and Drop - Mario
KKBOX WWDC17 UIKit Drag and Drop - MarioLiyao Chen
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinLiyao Chen
 
KKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQKKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQLiyao Chen
 
KKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - JeffereyKKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - JeffereyLiyao Chen
 
專利入門
專利入門專利入門
專利入門Keico Tu
 

Destacado (10)

KKBOX WWDC17 Xcode IDE - Hardy
KKBOX WWDC17  Xcode IDE - HardyKKBOX WWDC17  Xcode IDE - Hardy
KKBOX WWDC17 Xcode IDE - Hardy
 
KKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel TienKKBOX WWDC17 Core Image - Daniel Tien
KKBOX WWDC17 Core Image - Daniel Tien
 
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17  SiriKit and CoreSpotlight - SeraphKKBOX WWDC17  SiriKit and CoreSpotlight - Seraph
KKBOX WWDC17 SiriKit and CoreSpotlight - Seraph
 
KKBOX WWDC17 Xcode debug - Oliver
KKBOX WWDC17  Xcode debug - OliverKKBOX WWDC17  Xcode debug - Oliver
KKBOX WWDC17 Xcode debug - Oliver
 
KKBOX WWDC17 WatchOS - Dada
KKBOX WWDC17  WatchOS  - DadaKKBOX WWDC17  WatchOS  - Dada
KKBOX WWDC17 WatchOS - Dada
 
KKBOX WWDC17 UIKit Drag and Drop - Mario
KKBOX WWDC17  UIKit Drag and Drop - MarioKKBOX WWDC17  UIKit Drag and Drop - Mario
KKBOX WWDC17 UIKit Drag and Drop - Mario
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
 
KKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQKKBOX WWDC17 UIKit - QQ
KKBOX WWDC17 UIKit - QQ
 
KKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - JeffereyKKBOX WWDC17 Notification and Autolayout - Jefferey
KKBOX WWDC17 Notification and Autolayout - Jefferey
 
專利入門
專利入門專利入門
專利入門
 

Similar a KKBOX WWDC17 Security - Antony

Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
 
A Byte of Software Deployment
A Byte of Software DeploymentA Byte of Software Deployment
A Byte of Software DeploymentGong Haibing
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on DockerDocker, Inc.
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalaspyker
 
Future Proofing your Data Center Network
Future Proofing your Data Center NetworkFuture Proofing your Data Center Network
Future Proofing your Data Center NetworkInnoTech
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformShashi Kiran
 
Putting the Sec into DevOps
Putting the Sec into DevOpsPutting the Sec into DevOps
Putting the Sec into DevOpsMaytal Levi
 
Export flows, group traffic, map application traffic and more: NetFlow Analyz...
Export flows, group traffic, map application traffic and more: NetFlow Analyz...Export flows, group traffic, map application traffic and more: NetFlow Analyz...
Export flows, group traffic, map application traffic and more: NetFlow Analyz...ManageEngine, Zoho Corporation
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...Indonesia Network Operators Group
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Andrés Colón Pérez
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Delivering Mobile Apps That Perform
Delivering Mobile Apps That PerformDelivering Mobile Apps That Perform
Delivering Mobile Apps That PerformRuben Goncalves
 
NetFlow Analyzer Training Part I: Getting the initial settings right
NetFlow Analyzer Training Part I: Getting the initial settings rightNetFlow Analyzer Training Part I: Getting the initial settings right
NetFlow Analyzer Training Part I: Getting the initial settings rightManageEngine, Zoho Corporation
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix RibbonBetter Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix RibbonVMware Tanzu
 
When Networks Meet Apps, Samuel Bercovici & Nati Shalom
When Networks Meet Apps, Samuel Bercovici & Nati ShalomWhen Networks Meet Apps, Samuel Bercovici & Nati Shalom
When Networks Meet Apps, Samuel Bercovici & Nati ShalomCloud Native Day Tel Aviv
 
When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)Nati Shalom
 

Similar a KKBOX WWDC17 Security - Antony (20)

Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
A Byte of Software Deployment
A Byte of Software DeploymentA Byte of Software Deployment
A Byte of Software Deployment
 
Vp ns
Vp nsVp ns
Vp ns
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on Docker
 
Ibm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinalIbm cloud nativenetflixossfinal
Ibm cloud nativenetflixossfinal
 
Future Proofing your Data Center Network
Future Proofing your Data Center NetworkFuture Proofing your Data Center Network
Future Proofing your Data Center Network
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud Platform
 
Virtual Private Network
Virtual Private NetworkVirtual Private Network
Virtual Private Network
 
Putting the Sec into DevOps
Putting the Sec into DevOpsPutting the Sec into DevOps
Putting the Sec into DevOps
 
Export flows, group traffic, map application traffic and more: NetFlow Analyz...
Export flows, group traffic, map application traffic and more: NetFlow Analyz...Export flows, group traffic, map application traffic and more: NetFlow Analyz...
Export flows, group traffic, map application traffic and more: NetFlow Analyz...
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Delivering Mobile Apps That Perform
Delivering Mobile Apps That PerformDelivering Mobile Apps That Perform
Delivering Mobile Apps That Perform
 
NetFlow Analyzer Training Part I: Getting the initial settings right
NetFlow Analyzer Training Part I: Getting the initial settings rightNetFlow Analyzer Training Part I: Getting the initial settings right
NetFlow Analyzer Training Part I: Getting the initial settings right
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix RibbonBetter Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
 
When Networks Meet Apps, Samuel Bercovici & Nati Shalom
When Networks Meet Apps, Samuel Bercovici & Nati ShalomWhen Networks Meet Apps, Samuel Bercovici & Nati Shalom
When Networks Meet Apps, Samuel Bercovici & Nati Shalom
 
When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)When networks meets apps (open stack atlanta)
When networks meets apps (open stack atlanta)
 

Más de Liyao Chen

Auto Layout part 1
Auto Layout part 1Auto Layout part 1
Auto Layout part 1Liyao Chen
 
iOS Unit testing II
iOS Unit testing IIiOS Unit testing II
iOS Unit testing IILiyao Chen
 
iOS Unit test getting stared
iOS Unit test getting starediOS Unit test getting stared
iOS Unit test getting staredLiyao Chen
 
Continuous Integration
Continuous  IntegrationContinuous  Integration
Continuous IntegrationLiyao Chen
 
iOS Design to Code - Code
iOS Design to Code - CodeiOS Design to Code - Code
iOS Design to Code - CodeLiyao Chen
 
iOS Design to Code - Design
iOS Design to Code - DesigniOS Design to Code - Design
iOS Design to Code - DesignLiyao Chen
 
Beta testing with CI
Beta testing with CIBeta testing with CI
Beta testing with CILiyao Chen
 
PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014Liyao Chen
 
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享Liyao Chen
 

Más de Liyao Chen (10)

Auto Layout part 1
Auto Layout part 1Auto Layout part 1
Auto Layout part 1
 
iOS Unit testing II
iOS Unit testing IIiOS Unit testing II
iOS Unit testing II
 
iOS Unit test getting stared
iOS Unit test getting starediOS Unit test getting stared
iOS Unit test getting stared
 
Continuous Integration
Continuous  IntegrationContinuous  Integration
Continuous Integration
 
iOS Design to Code - Code
iOS Design to Code - CodeiOS Design to Code - Code
iOS Design to Code - Code
 
iOS Design to Code - Design
iOS Design to Code - DesigniOS Design to Code - Design
iOS Design to Code - Design
 
Beta testing with CI
Beta testing with CIBeta testing with CI
Beta testing with CI
 
PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014PTTHOT x IDEAS_HACKATHON 2014
PTTHOT x IDEAS_HACKATHON 2014
 
選擇
選擇選擇
選擇
 
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
 

Último

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

KKBOX WWDC17 Security - Antony

  • 2. Outline • Your Apps and Evolving Network Security Standards • Privacy and Your Apps • Advances in Networking • What's new in Apple Pay Wallet
  • 3. • Your Apps and Evolving Network Security Standards • Privacy and Your Apps • Advances in Networking • What's new in Apple Pay Wallet
  • 4. Your Apps and Evolving Network Security Standards • Best Practices • App Transport Security • Transport Layer Security
  • 5. Your Apps and Evolving Network Security Standards Best Practices
  • 6. Your Apps and Evolving Network Security Standards Best Practices
  • 7. Your Apps and Evolving Network Security Standards Best Practices - Revocation Online Certificate Status Protocol (OCSP)
  • 8. Your Apps and Evolving Network Security Standards Best Practices - Revocation Online Certificate Status Protocol (OCSP) • Additional network connection • Compromises user privacy • Requires app opt-in
  • 9. Your Apps and Evolving Network Security Standards Best Practices - Revocation Online Certificate Status Protocol Stapling (OCSP Stapling)
  • 10. Your Apps and Evolving Network Security Standards Best Practices - Revocation Online Certificate Status Protocol Stapling (OCSP Stapling) • Slow adoption • Malicious server
  • 11. Your Apps and Evolving Network Security Standards Best Practices - Revocation Certificate Transparency Log
  • 12. Your Apps and Evolving Network Security Standards Best Practices - Revocation Certificate Transparency Log • Reduced privacy compromise • Automatic updating • Faster connections Certificate in iOS: https://support.apple.com/en-us/HT204132
  • 13. Your Apps and Evolving Network Security Standards Best Practices - Trust Removals • SHA-1 signed certificates for TLS • Certificates using <2048-bit RSA for TLS
  • 14. Your Apps and Evolving Network Security Standards Best Practices - Trust Removals • Not affect - Root certificates - Enterprise-distributed certificates - User-installed certificates - Client certificates • Affect - InvalidCertChain (-9807) SSL errors with URLSession
  • 15. Your Apps and Evolving Network Security Standards Best Practices - Trust Removals
  • 16. Your Apps and Evolving Network Security Standards Best Practices - What to Do Now? • Check implementations, libraries, and servers • Avoid ATS exceptions
  • 17. Your Apps and Evolving Network Security Standards App Transport Security - Update • Exceptions narrow down to per domain • Exceptions expansion beyond WebKit (Certificate Transparency requirement) - AVFoundation loads - WebView request - Local network connection
  • 18. Your Apps and Evolving Network Security Standards ATS-Compliant Services
  • 19. Your Apps and Evolving Network Security Standards Transport Later Security
  • 20. Your Apps and Evolving Network Security Standards Enable TLS 1.3 Beta • Not on by default • iOS https://developer.apple.com/go/?id=tls13-mobile-profile • macOS defaults write /Library/Preferences/com.apple.networkd tcp_connect_enable_tls13 1
  • 21. • Your Apps and Evolving Network Security Standards • Privacy and Your Apps • Advances in Networking • What's new in Apple Pay Wallet
  • 23. Privacy and Your Apps Prompting with Purpose - iOS 10
  • 24. Privacy and Your Apps Prompting with Purpose - iOS 11
  • 25. Privacy and Your Apps Prompting with Purpose - Location
  • 26. Privacy and Your Apps Prompting with Purpose - Location Support When In Use location authorization • NSLocationWhenInUseUsageDescription • NSLocationAlwaysAndWhenInUseUsageDescription
  • 27. Privacy and Your Apps Prompting with Purpose - Location When In Use location authorization undefined in iOS 10
  • 28. Privacy and Your Apps Prompting with Purpose - Location When In Use location and Always authorization both defined in iOS 10
  • 29. Privacy and Your Apps Photo Library access in iOS 11 • Image picker without prompting for access • Write only support • Authorization will be reset on upgrade
  • 30. Privacy and Your Apps Photo Library write only access in iOS 11 NSPhotoLibraryAddUsageDescription • UIImageWriteToSavedPhotosAlbum • UISaveVideoAtPathToSavedPhotosAlbum
  • 31. Privacy and Your Apps Core NFC NFCReaderUsageDescription • Scan for nearby NFC tags • In the foreground
  • 32. Privacy and Your Apps Microphone - Watch OS • Recording allowed to continue in the background • Recording possible without the built-in modal UI • Requires microphone authorization • Indicator on watch face
  • 33. Safari and other apps get their own cookies and website data Clearing website data in Safari also clears the data in your app Privacy and Your Apps Safari View Controller
  • 34. Privacy and Your Apps On-Device Processing • CoreML • VisionKit • ARKit • NLP
  • 35. Privacy and Your Apps DeviceCheck • iOS, tvOS • Per device, per developer data stored by Apple • Two bits and a timestamp
  • 36. Privacy and Your Apps DeviceCheck Update bit state
  • 37. Privacy and Your Apps DeviceCheck Request to Apple to query bit state
  • 38. Privacy and Your Apps DeviceCheck Response from Apple with the bit state
  • 39. Privacy and Your Apps DeviceCheck • Handle resold or transferred devices • Relevancy based on age • Part of your app logic not sole source
  • 40. • Your Apps and Evolving Network Security Standards • Privacy and Your Apps • Advances in Networking • What's new in Apple Pay Wallet
  • 41. Advances in Networking • Explicit Congestion Notification • IPv6 • Networking stack changes • New Network Extension facilities • Multipath protocols for multipath devices • URLSession
  • 42. Advances in Networking Explicit Congestion Notification
  • 46. Advances in Networking New Network Extension facilities
  • 47. Advances in Networking New Network Extension facilities -NEHotspotConfiguration
  • 48. Advances in Networking New Network Extension facilities -NEHotspotConfiguration
  • 49. Advances in Networking New Network Extension facilities -NEHotspotConfiguration
  • 50. Advances in Networking New Network Extension facilities - NEDNSProxyProvider • Receives the system’s DNS query messages • Handles them as it wishes - Can send to recursive resolver of its choice - Can send using protocol of its choice ‣ DNS over TLS ‣ DNS over HTTP
  • 51. Advances in Networking Multipath protocols for multipath devices
  • 52. Advances in Networking Multipath protocols for multipath devices • Triggered by Marginal Wi-Fi • “Fittest Wins Out” contest between Wi-Fi and Cell • Wi-Fi has head start over Cell • On a flow by flow basis, at flow setup time
  • 53. Advances in Networking Multipath TCP • Built on top of TCP - Reliability - Congestion control • Seamless handover from Wi-Fi to Cell • Chooses optimal interface for latency-sensitive flows
  • 54. Advances in Networking Multipath TCP • MPTCP schedules traffic across the interfaces • One “TCP subflow” per interface • MPTCP creates/destroys subflows
  • 55. Advances in Networking Multipath TCP in Siri • Implemented since iOS 7 for Siri • User feedback (time to first word) 20% faster in the 95th percentile • 5x reduction in network failures
  • 56. Advances in Networking Multipath TCP in iOS11 • Server support • Multipath service types - Handover Mode - Interactive Mode • URLSession API
  • 57. Advances in Networking Multipath TCP - Server support
  • 58. Advances in Networking Multipath service types in iOS 11 • Handover Mode for high reliability • Interactive Mode for low latency
  • 59. Advances in Networking Multipath service types - Handover • Reliability for persistent connections • Minimal cell usage • Available in Beta 1
  • 60. Advances in Networking Multipath service types - Interactive • Low latency for low-volume interactive flows • Wi-Fi and cellular • Available in an upcoming Beta
  • 62. Advances in Networking Multipath service types - Aggregation • Combines link capacities • Available through developer settings • Starting in an upcoming Beta
  • 63. Advances in Networking URLSession - Current • Failure causes by weak connectivity - NSURLErrorNotConnectedToInternet - NSURLErrorCannotConnectToHost • Manual retry by user or monitor condition by SCNetworkReachability
  • 64. Advances in Networking URLSession • New URLSessionConfiguration property var waitsForConnectivity: Bool • New URLSessionTaskDelegate method urlSession(_:taskIsWaitingForConnectivity:) - optional
  • 65. Advances in Networking URLSession • Recommendation - Always enable waitsForConnectivity • Exception - Requests that must be completed immediately, like transaction
  • 68. Advances in Networking URLSessionTask Scheduling API • New URLSessionTask property var earliestBeginDate: Date? • New URLSessionTaskDelegate method called only when earliestBeginDate been set urlSession(_:task:willBeginDelayedRequest:completionHandler:) - optional
  • 70. Advances in Networking URLSessionTask Scheduling API New property for better scheduling by system var countOfBytesClientExpectsToSend: Int64 var countOfBytesClientExpectsToReceive: Int64 NSURLSessionTransferSizeUnknown if cannot be estimated
  • 71. Advances in Networking URLSessionTask Progress URLSessionTask implements ProgressReporting protocol class URLSessionTask : NSObject, NSCopying, ProgressReporting public var progress: Progress { get }
  • 72. Advances in Networking URLSessionTask Progress Progress state management methods change URLSessionTask state
  • 73. Advances in Networking URLSession Enhancements • ProgressReporting • Brotli compression - Requires HTTPS (TLS) • Public Suffix List updates
  • 74. • Your Apps and Evolving Network Security Standards • Privacy and Your Apps • Advances in Networking • What's new in Apple Pay Wallet
  • 75. What's new in Apple Pay Wallet Apple Pay for Donations • Accept donations for your nonprofit simply and securely • Available within apps and on the web • New donation button style • https://developer.apple.com/support/apple-pay- nonprofits/
  • 76. What's new in Apple Pay Wallet Apple Pay Make Purchasing Easier
  • 77. What's new in Apple Pay Wallet Other Benefits Of Apple Pay • Reduction in chargebacks • No need to handle or store credit card numbers • Trusted user experience
  • 78. What's new in Apple Pay Wallet Apple Pay - Buttons
  • 79. What's new in Apple Pay Wallet Apple Pay - Inline Setup • Apple Pay setup is now offered automatically • Simply present an Apple Pay sheet to a user without cards • Users are returned to your Apple Pay purchase immediately after setup • Still faster than a typical manual checkout
  • 80. What's new in Apple Pay Wallet Apple Pay - Payment Errors • Payment instrument failed to process • Billing address didn’t match • Email address was invalid • Postal address had an incorrect ZIP • Telephone was missing an area code
  • 81. What's new in Apple Pay Wallet Apple Pay - Payment Errors
  • 82. What's new in Apple Pay Wallet Apple Pay - Custom Errors • Gracefully handle invalid or incorrect data directly in Apple Pay • Display custom error messages • Direct users to the specific fields that need correction
  • 83.
  • 84. What's new in Apple Pay Wallet Apple Pay - Custom Errors
  • 85. What's new in Apple Pay Wallet Apple Pay - Custom Errors
  • 86. What's new in Apple Pay Wallet Apple Pay - Custom Errors
  • 87. What's new in Apple Pay Wallet Apple Pay - Custom Errors
  • 88. What's new in Apple Pay Wallet Apple Pay - Custom Errors New callback
  • 89. What's new in Apple Pay Wallet Wallet NFC passes • NFC passes let you send customer information over • NFC Only encrypted NFC passes supported from iOS 11 • Register for NFC passes at developer.apple.com/apple- pay
  • 90. What's new in Apple Pay Wallet Wallet Sharing • Passes can now be opted out of sharing • Useful for single use items like loyalty cards or tickets