| Literature DB >> 30672738 |
Jannis Müthing1, Raphael Brüngel1, Christoph M Friedrich1,2.
Abstract
BACKGROUND: The importance of mobile health (mHealth) apps is growing. Independent of the technologies used, mHealth apps bring more functionality into the hands of users. In the health context, mHealth apps play an important role in providing information and services to patients, offering health care professionals ways to monitor vital parameters or consult patients remotely. The importance of confidentiality in health care and the opaqueness of transport security in apps make the latter an important research subject.Entities:
Keywords: computer security; confidentiality; data protection; data security; health information technology; mobile apps; mobile health; servers
Mesh:
Year: 2019 PMID: 30672738 PMCID: PMC6364205 DOI: 10.2196/jmir.9818
Source DB: PubMed Journal: J Med Internet Res ISSN: 1438-8871 Impact factor: 5.428
Main considerations evaluated in this study.
| Security considerationsa | Description |
| Use of secured connections (SSLb/TLSc) | The use of any unsecured connections |
| SSL/TLS version | Evaluating the supported versions of SSL/TLS |
| Key exchange support | The cryptographic algorithm used to exchange the keys during the handshake for the following symmetric encryption |
| Cipher support | The cipher negotiated between client and server dictates what symmetric encryption is applied after the handshake and key exchange |
| Certificates | The security characteristics TLS offers rely on the server’s certificate. Any trust issues here are critical |
| Vulnerabilities | Certain attacks are based on specific implementations or the absence of a patch on the server |
| HSTSd | Support HSTS can prevent downgrades to HTTP |
aAll but the first one (use of unsecure connections) are tested for by the tools presented in later sections.
bSSL: Secure Socket Layer.
cTSL: Transport Layer Security.
dHSTS: Hypertext Transfer Protocol Strict Transport Security.
Qualys SSL Labs scoring for protocol support.
| Protocol | Score (%) |
| SSLa 2.0 | 0 |
| SSL 3.0 | 80 |
| TLSb 1.0 | 90 |
| TLS 1.1 | 95 |
| TLS 1.2 | 100 |
aSSL: Secure Socket Layer.
bTLS: Transport Layer Security.
Figure 1Exemplary rating and scores of a domain in the test pool. The server was downgraded mainly for offering weak Diffie-Hellmann key exchange. The scores in the distinct categories can be observed to the left. On the right, the offered cipher suites, which include the key exchange algorithms, are listed and marked as weak points.
Figure 2Workflow for tests of mobile health apps. In the app selection phase, the 6 most popular apps from each of the 5 subcategories were selected. In the app test and server identification phase, the traffic between apps and servers was observed and unique servers recorded. The servers were categorized or disregarded as facilitating irrelevant background tasks (server classification phase). The relevant servers were used as the input for the testssl script and the Qualys SSL Labs suite (server test phase). Finally, the results tables were compiled (server results).
Minimum, maximum, and median numbers of functional and other backends for iOS and Android apps.
| Statistics | Android (functional) | iOS (functional) | Android (others) | iOS (others) | Overall (functional) | Overall (others) |
| Minimum number of servers | 0 | 1 | 2 | 1 | 0 | 1 |
| Maximum number of servers | 33 | 21 | 82 | 39 | 33 | 82 |
| Median number of servers | 5 | 4 | 24.5 | 11 | 4.5 | 18.5 |
A summarized table of negative results regarding backends of Android and iOS apps. Negative observations are counted for the functional or other category on a per-app basis when it was present in at least one of the apps’ servers.
| Security issues | Android (functional), n=30 | iOS (functional), n=30 | Android (others), n=30 | iOS (others), n=30 | Total (functional), n=60, n (%) | Total (others), n=60, n (%) |
| Qualys SSL Labs non-A rating | 14 | 14 | 24 | 24 | 28 (47) | 48 (80) |
| Server only offers TLSa version <1.2 | 5 | 3 | 0 | 1 | 8 (13) | 1 (2) |
| Server without set cipher order | 7 | 5 | 4 | 1 | 12 (20) | 5 (8) |
| Certificate (chain) validation issues present | 9 | 5 | 14 | 6 | 14 (23) | 20 (33) |
| Downgrading vulnerabilities | 5 | 4 | 8 | 7 | 9 (15) | 15 (25) |
| Servers outside the EUb | 24 | 21 | 30 | 30 | 45 (75) | 60 (100) |
| Missing forward secrecy support | 2 | 2 | 1 | 1 | 4 (7) | 2 (3) |
| Unsecure connection/s observed | 10 | 10 | 10 | 8 | 20 (33) | 18 (30) |
aTLS: Transport Layer Security.
bEU: European Union.
A summarized table of positive results regarding backends of Android and iOS apps. One observation of a positive characteristic makes the functional or other category count for the app.
| Positive findings | Android (functional), n=30 | iOS (functional), n=30 | Android (others), n=30 | iOS (others), n=30 | Total (functional), n=60, n (%) | Total (others), n=60, n (%) |
| TLSa 1.3 support observed | 4 | 5 | 21 | 17 | 9 (15) | 38 (63) |
| HSTSb support observed | 12 | 15 | 28 | 25 | 27 (45) | 53 (88) |
aTLS: Transport Layer Security.
bHSTS: Hypertext Transfer Protocol Strict Transport Security.
Number of apps that communicated with a subdomain of the second-level domains listed.
| Domain | Apps, n=60, n (%) |
| *.googleapis.com | 55 (92) |
| *.google-analytics.com | 46 (77) |
| *.google.com | 38 (63) |
| *.googleapis.com | 37 (62) |
| *.doubleclick.net | 36 (60) |
| *.gstatic.com | 33 (55) |
| *.crashlytics.com | 29 (48) |
| *.google.de | 23 (38) |
| *.googleadservices.com | 23 (38) |
| *.fbcdn.net | 11 (18) |