Develping secure applicatins fr Windws Phne SecureApps user grup meeting 12/11/2014
2 Overview Intrductin Windws n mbile devices Windws (Phne) 8.1 architecture Silverlight-based vs. WinRT-based apps WP 8.1 security Bt AppCntainer App distributin Secure data strage Secure credential strage Dem
3 Intr: Windws n mbile devices Windws CE architecture Lw-resurce devices Limited (security) feature set e.g. Windws Mbile, Pcket PC, Windws Phne 7, Zune Windws NT architecture Desktps and servers Rich (security) feature set e.g. Windws Server, Windws Vista, Windws 7 3 trends Mre pwerful smartphnes and tablets ARM-based SCs became prminent Micrsft wants t unify bth families Windws 8 and 8.1 Windws Phne 8 and 8.1
Intr: Windws (Phne) 8.1 architecture 4
5 Intr: Silverlight-based vs. WinRT-based apps Gal Silverlight apps Backwards cmpatibility with WP7 Windws Runtime apps Unified app mdel fr all devices Cde reusability Nne (nly phnes) Acrss devices 8: partly 8.1: fully Different APIs Different XAML variants Different applicatin lifecycles Incmpatible
6 WP 8.1 security: bt Secure bt Only certified bt laders TPM-backed Rt f trust: Micrsft Trusted bt Bt lader verifies kernel Kernel verifies startup cmpnents Measured bt (ptinal) exchange f bt lg with attestatin server
7 WP 8.1 security: AppCntainer Lw-privilege sandbx Only access t islated app strage N netwrking N sensrs Mre required? Declare capabilities in Package.appxmanifest Windws Stre vetting impses least-privilege
8 WP 8.1 security: app distributin Windws Stre apps Line-f-business apps Target audience General public Cmpany emplyees Distributin channel Windws Stre Cmpany prtal Only MDM-enrlled devices Vetted by 3rd party? Yes, Micrsft N N sidelading
9 WP 8.1 security: data strage Bitlcker Full filesystem encryptin TPM prtects encryptin key Extra factrs (r cmbinatin): - Nne - USB startup key - PIN WP 8 WP 8.1 Encryptin by default? External strage encrypted? N, initiated by user r MDM N, wn t decrypt n ther devices N apps installed n SD card Yes Yes, subpartitin fr app data
10 WP 8.1 security: data strage Data Prtectin API (DPAPI) 2 API calls: 1 t encrypt, 1 t decrypt Key material managed by OS Master Key 512 bytes f randm data (stred encrypted) encryptin key = PBKDF2 4000 (Windws passwrd) Sessin key derived frm master key and 16 randm bytes randm bytes stred unprtected with ciphertext N hardware backing
11 WP 8.1 security: credential strage Credential Lcker Strage f triplet: (resurceid, user name, passwrd) Prtected by DPAPI OS-enfrced app islatin Namespace Windws.Security.Credentials
12 WP 8.1 security: credential strage Certificate and private key strage Imprt f PKCS#12 stre 2 mdes CertificateEnrllmentManager App-specific stre UserCertificateEnrllmentManager User-specific stre Sharing between apps pssible User cnsent required Capability required: sharedusercertificates Namespace Windws.Security.Cryptgraphy.Certificates
13 WP 8.1 security: credential strage Virtual Smartcards TPM-emulated smartcards Functinally identical t regular cards Creatin by: app, with user cntrl (unmanaged) MDM (managed) Namespace: Windws.Devices.SmartCards Windws 8.1+ nly APDUs currently nly via Win32 API
14 WP 8.1 security: certificate trust N reliance n system trust stre Only hardware-backed certificates Rt certificate, nt website certificate
15 Dem: PhneShpper Scenari Physical stre Phne as replacement fr scanning device Supprt fr checkut Supprt fr lyalty pints
16 Dem: PhneShpper PhneShpper JSON ver HTTPS Client X509 authenticatin App trust stre with exclusive trust Secure certificate strage Shp Server
Q&A 17