Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Johannes Loinig is active.

Publication


Featured researches published by Johannes Loinig.


smart card research and advanced application conference | 2012

Towards the hardware accelerated defensive virtual machine: type and bound protection

Michael Lackner; Reinhard Berlach; Johannes Loinig; Reinhold Weiss; Christian Steger

Currently, security checks on Java Card applets are performed by a static verification process before executing an applet. A verified and later unmodified applet is not able to break the Java Card sand-box model. Unfortunately, this static verification process is not a countermeasure against physical run-time attacks corrupting the control or data flow of an applet. In this piece of work, designs for Java Card Virtual Machines are investigated in relation to their ability to perform run-time security checks. These security checks are accelerated by hardware units and performed in parallel to CPU instructions that are executing concurrently. Attacks on the Java operand stack and local variables, which are elementary components for the Virtual Machine, are thwarted by type and bound protection. To enable these hardware checks, different designs of a defensive Java Card Virtual Machine are compared to their overheads on a prototype platform.


international conference on communications | 2009

A first step towards energy management for network coding in wireless sensor networks

Philipp M. Glatz; Johannes Loinig; Christian Steger; Reinhold Weiss

Network coding is a suitable mean to come up against the effects of crossing information flows in wireless sensor networks (WSNs) where these areas are heavily impacted in terms of channel bandwidth, message delay and energy balance.


Evolving Security and Privacy Requirements Engineering (ESPRE), 2014 IEEE 1st Workshop on | 2014

Supporting evolving security models for an agile security evaluation

Wolfgang Raschke; Massimiliano Zilli; Philip Baumgartner; Johannes Loinig; Christian Steger; Christian Kreiner

At present, security-related engineering usually requires a big up-front design (BUFD) regarding security requirements and security design. In addition to the BUFD, at the end of the development, a security evaluation process can take up to several months. In todays volatile markets customers want to influence the software design during the development process. Agile processes have proven to support these demands. Nevertheless, there is a clash with traditional security design and evaluation processes. In this paper, we propose an agile security evaluation method for the Common Criteria standard. This method is complemented by an implementation of a change detection analysis for model-based security requirements. This system facilitates the agile security evaluation process to a high degree.


web information systems engineering | 2014

Embedding research in the industrial field: a case of a transition to a software product line

Wolfgang Raschke; Massimiliano Zilli; Johannes Loinig; Reinhold Weiss; Christian Steger; Christian Kreiner

Java Cards [4, 5] are small resource-constrained embedded systems that have to fulfill rigorous security requirements. Multiple application scenarios demand diverse product performance profiles which are targeted towards markets such as banking applications and mobile applications. In order to tailor the products to the customers needs we implemented a Software Product Line (SPL). This paper reports on the industrial case of an adoption to a SPL during the development of a highly-secure software system. In order to provide a scientific method which allows the description of research in the field, we apply Action Research (AR). The rationale of AR is to foster the transition of knowledge from a mature research field to practical problems encountered in the daily routine. Thus, AR is capable of providing insights which might be overlooked in a traditional research approach. In this paper we follow the iterative AR process, and report on the successful transfer of knowledge from a research project to a real industrial application.


Proceedings of the Confederated International Workshops on On the Move to Meaningful Internet Systems: OTM 2014 Workshops - Volume 8842 | 2014

Patterns of Software Modeling

Wolfgang Raschke; Massimiliano Zilli; Johannes Loinig; Reinhold Weiss; Christian Steger; Christian Kreiner

Software systems start small and grow in complexity and size. The larger a software system is, the more it is distributed over organizational and geographical confines. Thus, the modeling of software systems is necessary at a certain level of complexity because it can be used for communication, documentation, configuration and certification purposes. We came to the conclusion that several patterns of software modeling exist. The existence of such patterns is dependent on the history and the evolution of the system under consideration. We will show that a software system in its lifecycle has to face several crises. Such a crisis is a watershed in the application of new patterns. We provide an evolutionary view of software systems and models which helps understanding of current problems and prospective solutions.


secure software integration and reliability improvement | 2009

Java Card Performance Optimization of Secure Transaction Atomicity Based on Increasing the Class Field Locality

Johannes Loinig; Christian Steger; Reinhold Weiss; Ernst Haselsteiner

Java Cards are embedded systems, very often implemented as smart cards. They are used in banking, e-government, telecommunication, and ticketing. Due to these use cases they have to provide a wide range of security mechanisms and a high performance in relation to the available hardware cost. One of these security features is the transaction mechanism. It ensures that data in persistent memory stays consistent in case of the execution of the application is interrupted unexpectedly by e.g. loss of power. Such transaction mechanisms are very time consuming. Therefore, we propose a caching mechanism for transactions. The mechanism uses a buffer located in RAM and reduces costly write cycles into persistent memory without any loss of security. In order to further increase the performance of this caching mechanism, we additionally introduce a concept to maximize the locality of selected Java fields which are written very often.


high performance embedded architectures and compilers | 2014

Memory-efficient on-card byte code verification for Java cards

Reinhard Berlach; Michael Lackner; Christian Steger; Johannes Loinig; Ernst Haselsteiner

Java enabled smart cards are widely used to store confidential information in a trusted and secure way in an untrusted and insecure environment, for example the credit card in your briefcase. In this environment the owner of the card can install and run any applet on his card, such as the loyalty application of your favorite store. However, every applet that runs on a trusted card has to be verified. On-card Bytecode Verification is a crucial step towards creating a trusted environment on the smart cards. The innovative verification method presented in this work comes without any additional off-card component and uses nearly the same amount of memory as the execution of the applet uses. The usage of a Control Flow Graph and Basic Blocks and the implementation of a temporary transformation of the methods reduces the complexity of this new verifier. We will show a detailed analysis of the implemented algorithm and preliminary tests of a prototype on a Java Card.


smart card research and advanced application conference | 2014

Heap \ldots Hop! Heap Is Also Vulnerable

Guillaume Bouffard; Michael Lackner; Jean-Louis Lanet; Johannes Loinig

Several logical attacks against Java based smart card have been published recently. Most of them are based on the hypothesis that the type verification was not performed, thus allowing to obtain dynamically a type confusion. To mitigate such attacks, typed stack have been introduced on recent smart card. We propose here a new attack path for performing a type confusion even in presence of a typed stack. Then we propose using a Fault Tree Analysis a way to design efficiently counter measure in a top down approach. These counter measures are then evaluated on a Java Card virtual machine


software and compilers for embedded systems | 2013

On the dictionary compression for Java card environment

Massimiliano Zilli; Wolfgang Raschke; Johannes Loinig; Reinhold Weiss; Christian Steger

Java Card is a Java running environment developed for low-end embedded systems such as smart cards. In this context of scarce resources, ROM size plays a very important role and compression techniques help reducing program sizes as much as possible. Dictionary compression is the most promising technique and has been taken in consideration in this field by several authors. Java Card can adopt a dictionary compression scheme, substituting repeated sequences of bytecodes with new macros stored into a dictionary. This approach does not break the Java Card standard, but requires the use of an ad hoc Java virtual machine and an additional custom component in the converted applet (CAP) file. This paper presents two derived compaction techniques and discusses two scenarios: the first adopts an adaptive (dynamic) dictionary, while the second uses a static one. Although the base dictionary compression technique performs better with an adaptive dictionary, the two proposed techniques perform very close to the base one with a static dictionary. Moreover, we present a different compression mechanism based on re-engineering the CAP file through subroutines. This last technique achieves a higher compression rate, but it is fully compliant with the existing Java Card environments.


workshop in information security theory and practice | 2010

Identification and verification of security relevant functions in embedded systems based on source code annotations and assertions

Johannes Loinig; Christian Steger; Reinhold Weiss; Ernst Haselsteiner

Most modern embedded systems include an operating system. Not all functions in the operating systems have to fulfill the same security requirements. In this work we propose a mechanism to identify and maintain functions that have to meet strict security needs. This mechanism is based on annotations representing security constrains and assertions to check these security annotations during the verification phase of the system under development.

Collaboration


Dive into the Johannes Loinig's collaboration.

Top Co-Authors

Avatar

Christian Steger

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Reinhold Weiss

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Massimiliano Zilli

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Wolfgang Raschke

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Christian Kreiner

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Michael Lackner

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Reinhard Berlach

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Philipp M. Glatz

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge