Companies are eager to invest in the emerging blockchain technology, but often fail to integrate this technology into real-world business applications that go beyond cryptocurrencies or pure demonstrators. The reason often lies in specific requirements related to data security and privacy. Current blockchain solutions are not able to meet these requirements, preventing a broad adoption of blockchain technology in business applications. To tackle this problem, we introduce UBI: a Universal Blockchain Integrator. UBI acts as a middleware between a company’s legacy IT infrastructure and off-the-shelf blockchain solutions. UBI enriches the functionality of these solutions so that they meet specific security and privacy requirements. Its successful implementation shows the feasibility of the proposed solution. First evaluation results demonstrate its potential for real-world business applications.
Modern times introduced a highly heterogeneous device landscape. The landscape was populated by distributed applications. These applications are used by modern multi-device users. A modern user wants to create, process, and share potentially sensitive data among her devices. For instance, start a document at the smart phone, continue on the laptop and finish the document on a tablet. A common way to protect sensitive data against disclosure and theft is cryptography. Cryptography, however, requires for all devices in question to be able to perform appropriate operations and protect the subsequent cryptographic primitives against attacks. Unfortunately, different devices have different capabilities when it comes to cryptography. Some have hardware-backed solutions available, some cannot do any cryptography at all. In general, it is hard to provide adequate (and potentially equal) cryptographic methods on every device of the modern landscape – be it rather basic and well-known schemes or new methodologies that are long awaited to stand the challenges of the cloud. In order to tackle the above mentioned status and bring cryptography to the modern multi-device user, we present CrySIL, the Cryptographic Service Interoperability Layer. CrySIL is designed as a flexible and extensible layer between the user and the cryptographic primitive. In a nutshell, CrySIL can use local key storage solutions, offers remote key storage and crypto provider deployments, and features strong authentication methodologies to constrain access to cryptographic primitives. In this work, we explain the motivation of CrySIL, describe its architecture, highlight its deployment in a typical modern use case, and reflect on achievements and shortcomings.
Today's applications need to share data and workload in heterogeneous device environments. Many of these handle sensitive data and need to make use of cryptography, which induces keys that have to be provisioned, stored and shared securely. Our Cryptographic Service Interoperability Layer (CrySIL) architecture addressed these challenges by storing the key material off-device in a central hardened service that provides cryptographic functions to arbitrary devices via standardised APIs. While CrySIL is typically deployed by a trusted entity utilising hardware-security-modules (HSMs), the setup of this central trusted instance might be too complex or not desired in SME/personal deployment scenarios. Therefore, we present MoCrySIL, an extension to CrySIL that omits the need for a thrusted third party by making use of hardware-backed key-storage facilities available in today's smart phones. We describe the MoCrySIL architectures and present a prototype that performs S/MIME based email encryption/signatures via a PKCS#11 library. We conduct a thorough security/risk analysis, and reflect on functional achievements and shortcomings.
Today’s applications need to work with a heterogeneous collection of platforms. Servers, desktops, mobile devices, and web browsers share data and workload. Many of these applications handle sensitive data or even have security as their core feature. Secure messaging, password storage, encrypted cloud storage applications or alike make use of cryptographic algorithms and protocols. These algorithms and protocols require keys. The keys in turn have to be provisioned, securely stored, and shared between various devices. Unfortunately, handling the keys and the availability of cryptographic APIs evokes non-trivial challenges in current heterogeneous platform environments. Also, the implementation of APIs supporting cryptographic protocols on arbitrary platforms require significant effort, which is a major challenge when new cryptographic protocols become available. Our approach, the Crypto Service Interoperability Layer (CrySIL), enables applications to securely store/use/share key material and supports a wide range of cryptographic protocols and algorithms on heterogeneous platforms. CrySIL complements existing solutions that mitigate the aforementioned problems through central services by allowing for more flexible deployment scenarios. In this work, we explain the motivation of CrySIL, describe its architecture, highlight its deployment in a typical heterogeneous application use case and reflect on achievements and shortcomings.
The concepts of electronic identities (eID) and legally binding electronic signatures (e-signature) are crucial for transactional e-government services in Europe. Mobile technologies facilitate secure and usable implementations of these fundamental concepts. Various European countries already rely on such implementations and have deployed mobile eID and e-signature solutions on a large scale. These deployments are used by applications from both the public and the private sector. Available deployments differ in various technical and organizational aspects yielding a heterogeneous ecosystem of European mobile eID and e-signature solutions. This makes it difficult for those in charge of developing and deploying such solutions to identify relevant trends, to follow best practices, and to make the right decisions. In order to facilitate these tasks, this paper surveys and assesses existing mobile eID and e-signature solutions that are currently available in Europe. From obtained assessment results and findings, concrete recommendations are derived that facilitate an effective and efficient adoption of mobile eID and e-signature solutions.
Key authentication as well as an intended recipient not having a key available are, among others, challenges that public key infrastructures (PKIs) still face. Trusted third parties work around these issues. However, identity-based encryption (IBE) systems and later attribute-based encryption (ABE) systems were designed to address these exact challenges. Unfortunately, such schemes became only practicable after public key infrastructures have been picked up by industry. In this work, we present our approach on standing the above mentioned challenges. We propose to utilize recent developments on centralized key storage solutions to bring the features of IBE/ABE systems to PKI-based IT infrastructures. We describe our IBE/ABE emulation approach, present our prototype and give a thorough security evaluation. We found that it is possible to emulate IBE/ABE schemes without compromising security.
Today's state-of-the-art workflow -- when encrypting data for one or more recipients -- requires for the sender to select the respective encryption keys. Naturally, it is crucial for data security to pick the correct keys with sufficient security levels. Yet, for selecting a key, the sender has to trust a recipient-chosen third party and therefore bears the hardly controllable risk of choosing a bad key. We propose to redistribute the tasks and require for a data sender to create an encryption key for himself and grant the recipient access to the key through authentication. The sender therefore can select the authentication methods, key strength, and key lifetime that suits his needs. In order to do this, we take advantage of the (semi-)centralized key storage solution CrySIL and add advanced policy enforcement options. We show the results of our prototypical implementation and present a discussion on the security of the system.
The high usability of smartphones and tablets is embraced by consumers as well as the corporate and public sector. However, especially in the non-consumer area the factor security plays a decisive role for the platform-selection process. All of the current companies within the mobile device sector added a wide range of security features to the initially consumer-oriented devices (Apple, Google, Microsoft), or have dealt with security as a core feature from the beginning (RIM, now Blackerry). One of the key security features for protecting data on the device or in device backups are encryption systems, which are available in the majority of current devices. However, even under the assumption that the systems are implemented correctly, there is a wide range of parameters, specific use cases, and weaknesses that need to be considered when deploying mobile devices in security-critical environments. As the second part in a series of papers (the first part was on iOS), this work analyzes the deployment of the Android platform and the usage of its encryption systems within a security-critical context. For this purpose, Android's different encryption systems are assessed and their susceptibility to different attacks is analyzed in detail. Based on these results a workflow is presented, which supports deployment of the Android platform and usage of its encryption systems within security-critical application scenarios.
Many systems rely on passwords for authentication. Due to numerous accounts for different services, users have to choose and remember a significant number of passwords. Password-Manager applications address this issue by storing the user’s passwords. They are especially useful on mobile devices, because of the ubiquitous access to the account passwords. Password-Managers often use key derivation functions to convert a master password into a cryptographic key suitable for encrypting the list of passwords, thus protecting the passwords against unauthorized, off-line access. Therefore, design and implementation flaws in the key derivation function impact password security significantly. Design and implementation problems in the key derivation function can render the encryption on the password list useless, by for example allowing efficient bruteforce attacks, or – even worse – direct decryption of the stored passwords. In this paper, we analyze the key derivation functions of popular Android Password-Managers with often startling results. With this analysis, we want to raise the awareness of developers of security critical apps for security, and provide an overview about the current state of implementation security of security-critical applications.
Many systems rely on passwords for authentication. Due to numerous accounts for different services, users have to choose and remember a significant number of passwords. Password-Manager applications address this issue by storing the user's passwords. They are especially useful on mobile devices, because of the ubiquitous access to the account passwords. Password-Managers often use key derivation functions to convert a master password into a cryptographic key suitable for encrypting the list of passwords, thus protecting the passwords against unauthorized, off-line access. Therefore, design and implementation flaws in the key derivation function impact password security significantly. Design and implementation problems in the key derivation function can render the encryption on the password list useless, by for example allowing efficient bruteforce attacks, or - even worse - direct decryption of the stored passwords. In this paper, we analyze the key derivation functions of popular Android Password-Managers with often startling results. With this analysis, we want to raise the awareness of developers of security critical apps for security, and provide an overview about the current state of implementation security of security-critical applications.
Smartphones and related mobile end-user devices represent key components of mobile computing based solutions and enable end users to conveniently access services and information virtually everywhere and any time. Due to their continuously growing importance and popularity, mobile devices have recently become a common target for malware. Unfortunately, capabilities of malware-detection applications on smartphones are limited, as integrated security features of smartphone platforms such as sandboxing or fine-grained permission models restrict capabilities of third-party applications. These restrictions prevent malwaredetection applications from accessing required information for the identification of malware. This renders the implementation of reliable malware-detection solutions on smartphones difficult. To overcome this problem, we propose an alternative malwaredetection method for smartphones that relies on the smartphone’s measured power consumption. We show that information contained in the measured power consumption of smartphones can in principle be used to identify certain kinds of malware by means of simple threshold-based approaches. We also propose two different machine-learning techniques that allow for a classification of applications according to their power consumption in situations, where disturbing influences prevent an application of simple threshold-based approaches. The capabilities of all proposed techniques have been assessed by means of an evaluation with real-world applications running on physical smartphones. The results of this evaluation process demonstrate the applicability of power consumption based classification and malware-detection approaches in general and of the two proposed machine-learning techniques in particular. Keywords–Android; power consumption; application classification; malware detection; machine learning.
With 6.1 trillion text messages sent in 2010 alone, short message service (SMS) is still one of the most popular mobile communication services. Due to its continuing popularity, SMS technology is nowadays used in various fields of application. This also includes security-sensitive fields such as e-banking, or e-government. In these fields, SMS technology is for instance employed to authorize financial transactions or the creation of qualified electronic signatures. Modern smartphone platforms such as Google Android provide application developers with the means to include SMS functionality. This can be beneficial in most cases but also facilitates the implementation of malware that is able to send and receive SMS messages unnoticed by the legitimate end user. In this context, SMS sniffers and SMS catchers have recently attracted attention. This kind of malware intercepts incoming SMS messages either to spy on security-sensitive data transmitted via SMS or to receive SMS-based malware control commands. For security-sensitive SMS-based applications, SMS catchers pose a serious threat. A recent attack on SMS-based e-banking systems has employed SMS catchers on smartphones to steal 36.000.000 Euro from corporate and private bank accounts in Europe. Unfortunately, security software for smartphones is still in the fledging stages and current solutions are not able to reliably detect SMS catchers. To overcome this problem, we introduce different methods to detect SMS sniffers and SMS catchers on smartphones. We discuss benefits and limitations of the proposed methods and show how these methods can be assembled to a comprehensive detection workflow for SMS-based malware. By providing means to detect SMS catchers and sniffers on smartphones, our work contributes to the security of current and future SMS-based applications.
Mobile devices in corporate IT infrastructures are frequently used to process security-critical data. Over the past few years powerful security features have been added to mobile platforms. However, for legal and organisational reasons it is difficult to pervasively enforce using these features in consumer applications or Bring-Your-Own-Device (BYOD) scenarios. Thus application developers need to integrate custom implementations of security features such as encryption in security-critical applications. Our manual analysis of container applications and password managers has shown that custom implementations of cryptographic functionality often suffer from critical mistakes. During manual analysis, finding the custom cryptographic code was especially time consuming. Therefore, we present the Semdroid framework for simplifying application analysis of Android applications. Here, we use Semdroid to apply machine-learning techniques for detecting non-standard symmetric and asymmetric cryptography implementations. The identified code fragments can be used as starting points for subsequent manual analysis. Thus manual analysis time is greatly reduced. The capabilities of Semdroid have been evaluated on 98 password-safe applications downloaded from Google Play. Our evaluation shows the applicability of Semdroid and its potential to significantly improve future application analysis processes.
For security-critical applications, the integrity and security of end-user devices is of particular importance. This especially applies to mobile applications that use smartphones to process security-critical data. Unfortunately, users often compromise the security of smartphones by disabling security features for convenience reasons or by unintentionally installing malware from untrusted application sources. Mobile device management (MDM) solutions overcome this problem by providing means to centrally manage and configure smartphones. However, MDM is mainly suitable for corporate environments but often cannot be applied in non-corporate fields of application such as m-banking or m-government. To address this problem, we propose an alternative approach to assure the security and integrity of smartphones. Our approach relies on a device assessor that evaluates the current state of a smartphone according to a security policy. Integration of this device assessor allows smartphone applications to condition the processing of security-critical data on the smartphone's compliance with a defined security policy. We have shown the practicability of the proposed approach by means of a concrete implementation for the Android platform. We have evaluated this implementation on different Android devices. Obtained results show that our approach constitutes an appropriate alternative for scenarios, in which MDM cannot be applied.
The initially consumer oriented iOS and Android platforms, and the newly available Windows Phone 8 platform start to play an important role within business related areas. Within the business context, the devices are typically deployed via mobile device management (MDM) solutions, or within the bring-your-own-device (BYOD) context. In both scenarios, the security depends on many platform security functions, such as permission systems, management capabilities, screen locks, low-level malware protection systems, and access and data protection systems. Especially, the latter play a crucial rule for the security of stored data. While the access protection part is related to the typically used passcodes that protect the smartphone from unauthorized tempering, the data protection facility is used to encrypt the core assets – the application data and credentials. The applied encryption protects the data when access to the smartphone is gained either through theft or malicious software. While all of the current platforms support these systems and market these features extensively within the business context, there are huge differences in the implemented systems that need to be considered for deployment scenarios that require high security levels. Even under the assumption, that the underlying encryption systems are implemented correctly, the heterogeneity of the systems allows for a wide range of attacks that exploit various issues related to deployment, development and configuration of the different systems. In order to address this situation, this paper presents an analysis of the access and data protection systems of the currently most popular platforms. Due to the important influence of the developer on the security of the iOS Data Protection system, we also present a tool that supports administrators in evaluating the right choice of data protection classes in arbitrary iOS applications.
Mobile computing has significantly gained importance during the past years and is expected to remain one of the most relevant future computing trends. Smartphones represent a key component of mobile computing based solutions and allow end users to conveniently access services and information. Due to their continuously growing importance and popularity, smartphones have recently become a common target for malware. Unfortunately, capabilities of malware-detection applications on smartphones are limited, as implemented security features such as sandboxing or fine-grained permission models restrict capabilities of third-party applications. These restrictions prevent malwaredetection applications from accessing information, which is required to identify malware, and hence render the implementation of reliable malware-detection solutions on smartphones difficult. To overcome this issue, we propose an alternative malwaredetection method for smartphones that relies on the smartphone’s measured power consumption. We propose two different machinelearning techniques that allow for a classification of applications according to their power consumption and hence facilitate the identification of suspicious and potentially malicious software components. The capabilities of the proposed techniques have been assessed by means of an evaluation with real-world applications running on physical smartphones. The results of this evaluation process demonstrate the applicability of power consumption based classification and malware-detection approaches in general and of the two proposed machine-learning techniques in particular. Keywords—Android; power consumption; application classification; malware detection; machine learning
Smartphones offer a great opportunity to improve governmental procedures and services in terms of efficiency and user acceptance. Unfortunately, the heterogeneity of current smartphone platforms such as Apple iOS, Google Android, or Microsoft Windows Phone 8 renders the integration of smartphones into such governmental procedures and services difficult. The choice of the most appropriate smartphone platform is crucial for the security and success of smartphone based procedures and services. Making the correct choice is a difficult task as smartphone platforms are continuously evolving. Furthermore, requirements that need to be fulfilled by the chosen platform heavily depend on the particular use case. To overcome this problem, this paper identifies use cases, in which smartphones can be used to improve governmental procedures and services. From these use cases, relevant platform properties are derived. These properties are then analyzed on current versions of the three smartphone platforms Android, iOS, and Windows Phone 8. Based on the results of this analysis, the platforms’ suitability for the identified use cases is assessed. This way, the paper provides responsible decision makers from governments and public administrations with a profound basis for choosing the correct smartphone platform for a given use case.
Recent smartphone platforms based on new operating systems, such as iOS, Android, or Windows Phone, have been a huge success in recent years and open up many new opportunities. Unfortunately, 2011 also showed us that the new technologies and the privacy-related data on smartphones are also increasingly interesting for attackers. Especially, the Android platform has been the favorite target for malware, mainly because of the openness of the platform, the ability to install applications from other sources than the Android Market, and the significant gains in market share. Although the processes of detecting and analyzing malware are well known from the PC world, where the arms race between attackers and defenders has continued for the past 15years, they cannot be directly applied to smartphone platforms because of differences in the hardware and software architectures. In this paper, we first give an overview of the current malware situation on smartphone platforms with a special focus on Android and explain relevant malware detection and analysis methods. It turns out that most of the current malware relies on the installation by the user, who represents the last line of defense in malware detection. With these conclusions, we then present a new malware detection method that focuses on the information that the user is able to see prior to the installation of an application-the metadata within the platform's software market. Depending on the platform, this includes the application's description, its permissions, the ratings, or information about the developer. To analyze these data, we use sophisticated knowledge discovery processes and lean statistical methods. By presenting a wide range of examples based on real application metadata extracted from the Android Market, we show the possibilities of the new method. With the possibilities, we argue that it should be an essential part of a complete malware analysis/detection chain that includes other well-known methods such as network traffic analysis, or static, or dynamic code inspection. Copyright © 2013 John Wiley & Sons, Ltd.
Group signature schemes enable participants to sign on behalf of a group in an anonymous manner. The upcoming ISO20008-2 standard defines seven such schemes, which differ in terms of capabilities, used crypto systems and revocation approaches. Further information about practical considerations, such as runtime performance or implementation overhead is considered useful when deciding for a certain scheme. We present a Java framework that allows for a detailed comparison of the mechanisms, of which three are already implemented. For these implemented mechanisms, a detailed performance evaluation is shown for both a notebook and Android-based mobile devices. Furthermore, significant experiences during implementing and evaluating the schemes as well as crucial bottlenecks are pointed out. We remain in the flexible Java environment, without special platform-specific optimizations. Using precomputation, we already achieve acceptable online signing timings. Signing times are considered most important given proposed application scenarios.