This is an old revision of the document!
Research themes in CRoCS laboratory [crcs.cz/projects]
- Find project you like,
- Contact people involved (or visit OpenLab [crcs.cz/openlab]),
- Have fun while saving the world (of research and open-source)!
Join us! We are always looking for enthusiastic people with passion for problem solving willing to work hard yet having a good fun. Don't be afraid if you don't have previous experience in the project area you like. We are here to help you and we all learn something in the process.
Adaptive Randomness Statistical Tests
The robust generation of a truly random data or pseudo-random data indistinguishable from the truly random ones is a crucial component for many cryptographic systems. We focus on finding defects in a supposedly random data with the help of automated testing methods included in so-called randomness statistical testing batteries.
While most existing batteries focus on the predefined fixed tests, we automatically generate tests which adapt to the analyzed data - resulting in a stronger bias detection with a less amount of data required and with direct interpretability of the bias found. We also design and develop means for speedup of existing statsitical batteries - both with help of more effcient implementations as well as distributed and CUDA-supported execution.
Contact: Petr Švenda svenda@fi.muni.cz
More information, projects and resources:
- BoolTest - efficient and intepretable statistical testing battery: Github repository
- Generator of output data streams from weakened cryptographic functions: Github repository
- EACirc - statistical battery Github repository, EACirc wiki pages
- Randomness Testing Tool (RTT, STS NIST, Dieharder, TestU01) - unified interface for different statistical batteries Github repository
- Faster implementation of STS NIST testing battery: Online testing service,
- Research project internal wiki pages
- Radka Cieslarová 2015-now (heatmap analysis of function)
- Michal Hajas 2015-now (bytecode emulator, generator)
- Dušan Klinec 2015-now (polynomial representation)
- Karel Kubíček 2014-now (TEA, metaheuristics, generator)
- Matúš Nemec 2016-now (bias in RSA key generation)
- Marek Sýs 2013-now (project concept, results interpretation)
- Petr Švenda 2008-now (project lead, initial implementation)
Former participants: Martin Ukrop 2012-2017 (framework model, refactoring, SHA-3 candidates testing, supporting tools); Ľubomír Obrátil 2014-2017 (BOINC&EACirc tasks automization); Jiří Novotný 2014-2016 (CUDA programming, EACirc core); Jan Švarc 2014-2015 (CUDA programming); Zdenek Říha 2013-2016 (bytecode emulator); Milan Čermák 2012-2013 (CUDA support); Ondrej Dubovec 2011-2012 (SHA-3 candidates testing); Matěj Prišťák 2011-2012 (object model and refactoring, XML support, eStream candidates testing); Tobiáš Smolka 2011-2012 (BOINC related support);
Selected publications
- [2017] Sýs, M.; Klinec, D.; Švenda, P.: The Efficient Randomness Testing using Boolean Functions, In Proceedings of SECRYPT 2017, 14th International Conference on Security and Cryptography, 2017.
- [2015] Sýs, M.; Z. Říha, V. Matyáš, K.Márton, A. Suciu: On the Interpretation of Results from the NIST Statistical Test Suite, ROMJIST Journal, 2015.
- [2014] Sýs, M.; Z. Říha: Faster randomness testing with NIST STS,SPACE 2014, Fourth International Conference on Security, Privacy, and Applied Cryptography Engineering, 2014.
- [2014] Sýs, M.; Švenda, P.; Ukrop, M.; Matyáš, V.: Constructing empirical tests of randomness, In Proceedings of SECRYPT 2014, 11th International Conference on Security and Cryptography, 2014.
- [2014] Švenda, P.; Ukrop, M.; Matyáš, V.: Determining Cryptographic Distinguishers for eStream and SHA-3 Candidate Functions with Evolutionary Circuits, In ICETE 2013, CCIS 456, Springer, 2014. DOI: 10.1007/978-3-662-44788-8 17.
- [2013] Švenda, P.; Matyáš, V.: On the origin of yet another channel, Proceedings of Security Protocols XXI, LNCS 8263, pp. 223-237, Springer, 2013.
Cryptographic smart cards security
This projects focuses on the security of cryptographic smart cards and their interesting uses in security systems as a trusted element. We work mainly with JavaCard based cryptographic smart cards (sometimes also .NET or MULTOS cards). We maintain a large collection of JavaCards and use them to asses their performance, quality of truly random number generators, key generation algorithms as well as security improvements over the time.
We also develop tools and libraries helping open-source developers to create open, faster and more secure JavaCard applets.
Contact: Petr Švenda svenda@fi.muni.cz
More information, projects and resources:
- Research project internal wiki pages
- Analysis of properties of RSA keys generated in smartcards, software libraries and hardware security modules (HSMs)
- Classification of RSA key origin based on public key only, accurate popularity of libraries for TLS keys, online checker
- Real world use cases for classification capability
- JCAlgTest project - smartcards performance and capabilities testing
- JCAlgTest GitHub repository - tools for thorough testing of smart card capabilities
- Supported JavaCard algorithms for more then 50 different smartcards
- Smartcard remoting and Reverse engineering tools
- APDUPlay project - PC/SC APDU inspection and manipulation tool
- JavaCard development resources
- Low-level ECPoint and BigInteger library: JCMathLib
- On-card applet performance profiler: JCProfiler
- Efficient re-implementations of AES & SHA2 & OAEP for JavaCard, GitHub repo
- JavaCard implementation of selected CAESAR candidates
- JavaCard development tutorials JavaCard applet development with NetBeans IDE - tutorials, pre-prepared virtual images, links
- ECC cryptography on smart cards, GitHub repo
- Smartcards analysis, tools and other projects
- PowerTraceSimulator project GitHub repository - educational tool for generation of simulated power traces of smart card operation used for differential power analysis.
- ANONCard project SVN repository - abuse-resistant logging of data retention for operators of anonymity servers.
- Code Enhancing Security Transformation and Analysis (CesTa) project Github repository - the tool for enhancing security by program transformations of JavaCard code powered by Ant, ANTLR and StringTemplates.
- PKCS#11 testing suite for OpenSC
Involved people:
- Ján Jančár 2017-now (testing of ECC implementations)
- Matúš Němec 2015-now (analysis of software generated RSA keys)
- Peter Sekan 2015-now (on-card generated RSA keys analysis)
- Petr Švenda 2003-now (project lead, initial implementations)
Former participants: Rajesh Kumar Pal (2016-2017) (JavaCard implementation of CAESAR candidates); Rudolf Kvašňovský 2014-2017 (alignment of DPA traces, YAFU); David Komárek 2015-2016 (power analysis of RSA operation); Lukáš Šrom 2014-2015 (support tests); Lenka Kuníková 2013-2014 (performance evaluation of JavaCards) and quite a lot of other people helping us since 2002
Publications
- [2017] Nemec, M.; Sýs, M.; Švenda, P.; Klinec, D.; Matyas, V.: {The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli, In Proceedings of ACM CCS 2017, 2017. Real-world impact award
- [2017] Mavroudis, V.; Cerulli, A.; Švenda, P.; Cvrcek, D.; Klinec, D.; Danezis, G.: {A Touch of Evil: High-Assurance Cryptographic Hardware from Untrusted Components, In Proceedings of ACM CCS 2017, 2017.
- [2016] Švenda, P.; Nemec M.; Sekan P.; Kvasnovsky R.; Formanek D.; Komarek D.; Matyas V.: The Million-Key Question – Investigating the Origins of RSA Public Keys, In Proceedings of USENIX Security Symposium 2016, Usenix, 2016. Best paper award
- [2015] Cvrček, D.; Švenda, P.: Architecture Considerations for Massively Parallel Hardware Security Platform, In Proceedings of Space 2015, Fifth International Conference on Security, Privacy, and Applied Cryptography Engineering, LNCS 9354, pp 269-288, Springer, 2015.
- [2014] Švenda, P.: Nuances of the JavaCard API on the cryptographic smart cards - JCAlgTest project, In Proceedings of ASA 2014, 7th International Workshop on Analysis of Security APIs, 2014.
- [2011] Köpsell, S.; Švenda, P.: Learning from data retention logging for an anonymity service, Proceedings of Masaryk University Journal of Law and Technology 2/2011, pp. 305-320, ISSN 1802-5951. 2011.
Usability of cryptographic APIs
This project focuses on the cryptographic APIs with respect to their developer usability. Such APIs are notoriously complex and prone to usage errors – our goal is to analyze their (in)correct usage and propose precautions and guidelines to achieve better usability and security.
The current research focus is on usable interfaces of cryptographic libraries from the point of developers and administrators lacking detailed security education. We are interested in both programmable and command-line interfaces. Currently, the emphasis is placed on X.509-capable libraries, such as OpenSSL, GnuTLS and NSS, paying special attention to the process of certificate creation and validation. The goal is to enable the developers to use security APIs errorlessly and API designers create better interfaces less prone to misuse. We emphasize the necessity of a usable design even for tools targeted at experienced users.
Contact: Martin Ukrop mukrop@mail.muni.cz, Vašek Matyáš matyas@fi.muni.cz
- Research project internal wiki pages
- Martin Ukrop 2016-now
- Vašek Matyáš 2016-now
- Lydia Kraus 2018-now
Publications
- [2018] Ukrop M. and Matyas V.: Why Johnny the Developer Can't Work with Public Key Certificates, RSA Conference Crytographers' Track 2018.
Social and behavioral aspects of security
The usable security projects focus on computational security and end users' behaviour. We already finished first three-year project in a cooperation with commercial companies and Faculty of social studies, Faculty of informatics, Faculty of law. The project aimed to identify influences that make users change their risky behaviour to more secure one. Three experiments are run in cooperation with commercial companies (ESET, Netsuite and SodatSW). Every experiment was targeted at different target group and used different technique (warning, security dialogue, e-learning, user-friendly password recovery, etc.). This project was unique for for the cooperation of three different branches (Faculty of science, Faculty of informatics, Faculty of law) and three commercial companies, who want to better understand their users and to increase the overall security of their products by improving interfaces and processes used by their end users.
Currently we are preparing new project in cooperation with Faculty of social studies and Monet+ company. It aims on user testing of selected authentication methods (FIDO token, identity card, face recognition and use of code only).
Cryptoanalysis
We build and continuously extend a large database of real-world cryptographic functions (CryptoStreams project containing block and stream ciphers, hash functions, PRNGs) parametrized by the number of used internal rounds and systematic patterns in their inputs. The resulting output data are then analyzed for the presence of unwanted defects.
Contact: Marek Sýs syso@mail.muni.cz
More information, projects and resources:
- BoolTest - efficient and intepretable statistical testing battery: Github repository
- Generator of output data streams from weakened cryptographic functions: Github repository
Involved people:
- Dušan Klinec 2015-now (polynomial representation)
- Matúš Nemec 2016-now (bias in RSA key generation)
- Marek Sýs 2013-now (project concept, results interpretation)
- Petr Švenda 2008-now (project lead, initial implementation)
Selected publications
- [2017] Nemec, M.; Sýs, M.; Švenda, P.; Klinec, D.; Matyas, V.: {The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli, In Proceedings of ACM CCS 2017, 2017. Received Real-world impact award
Open Source Security tools
Contact: Lukáš Němec lukas.nemec@mail.muni.cz
More information, projects and resources:
Involved people:
- Lukáš Němec 2019-now
- Milan Brož 2019-now
- Dušan Klinec 2019-now
- Petr Švenda 2019-now
Selected publications
FIXME
Wireless Sensor Networks
This project includes providing a secure platform that is transparent for applications in wireless sensor networks (WSN) - WSNProtectLayer. Our platform includes intrusion detection system (IDS) detecting active attacks. We consider privacy issues to prevent passive attacks on the WSN. We also propose secrecy amplification protocols and evaluate key management schemes. Current work includes parametrised attacker simulated on KMSforWSN framework.
Contact: Lukáš Němec lukas.nemec@mail.muni.cz
Additionally, we are developing an optimization framework for the IDS incorporating MiXiM simulator. Evolutionary algorithms are used to optimize the IDS's performance.
- Research project internal wiki pages
- WSNProtectLayer - security middleware for TinyOS
- virtual radio is simulated and automatic packet protection, IDS and key management is provided.
- WSNProtectLayer Github repository
- Take a look at video showing WSNProtectLayer middleware in action.
- Secrecy amplification protocols
- establishing secure links in partially compromised network
- SensorSim simulator download page - fast simulator optimized for simulation of secrecy amplification protocols and probabilistic key predistribution
- KMSforWSN framework based on OMNet++ simulator together with parametrised attacker specification
- Laboratory testbed
- Laboratory tesbed with 28 TelosB and 20 JeeNode nodes
- Lukáš Němec 2013-now (Crypto and Key management in TinyOS, Arduino testbed network, Edu-hoc)
- Radim Ošťádal 2013-now (Secrecy amplification protocols, parametrised attacker in)
- Petr Švenda 2004-now (Key management schemes, secrecy amplification protocols)
Former participants: Martin Stehlík 2010-2017 (IDS, simulators, optimization); Marek Sýs 2015 (secrecy amplification protocols); Filip Jurnečka 2010-2014 (Key management schemes), Marcel Gazdík 2012-2013 (ePIR&RFID hw readers), Dušan Klinec 2008-2014 (WSNProtectLayer core developer, a lot of network experiments), Jiří Kůr 2009-2014 (Privacy protection, key establishment), Tobiáš Smolka (testbed, omnetpp experiments, secrecy amplification), Andriy Stetsko (IDS in WSN)
Selected publications
- [2019] Němec, L.; Matyáš, V;Ošťádal, R.; Švenda, P.; Palant P.-L.: Evaluating Dynamic Approaches to Key (Re-)Establishment in Wireless Sensor Networks, Sensors, 19-4, 2019
- [2018] Němec, L.; Ošťádal, R.; Švenda, P.; Matyáš, V.: Adaptive Secrecy Amplification with Radio Channel Key Extraction, 2018 14th International Conference on Distributed Computing in Sensor Systems (DCOSS), 2018.
- [2018] Němec, L.; Ošťádal, R.; Švenda, P.; Matyáš, V.: Entropy Crowdsourcing – Protocols for Link Key Updates in Wireless Sensor Networks, In 26th International Workshop on Security Protocols (SPW 2018). Lecture Notes of Computer Science. Springer.
- [2016] Ošťádal, R.; Švenda, P.; Matyáš, V.: Reconsidering Attacker Models in Ad-hoc Networks, In 24th International Workshop on Security Protocols (SPW 2016). Lecture Notes of Computer Science. Springer.
- [2015] Ošťádal, R.; Švenda, P.; Matyáš, V.: On Secrecy Amplification Protocols, In 9th WISTP International Conference on Information Security Theory and Practice, LNCS 9311, Springer, pp. 3-19, 2015.
- [2014] Ošťádal, R.; Švenda, P.; Matyáš, V.: A new approach to secrecy amplification in partially compromised networks, In 4th International Conference on Security, Privacy and Applied Cryptography Engineering, LNCS 8804, Springer, pp. 92–109, 2014.
Software Security and Secure Programming
This project focuses on usage, evaluation and extension of various tools related to secure programming, application vulnerabilities, security testing and code review. We are interested in static and dynamic analysis of applications with a special focus on security bugs, fuzzy testing, taint analysis and semi-automated review procedures and its incorporation into application development lifecycle. This project is coordinated with Y Soft Corporation, a.s., and for students participating in this project, there is a possibility to get a financial support from this company. More general information about Y Soft cooperation with students can be found here.
Contact: Andriy Stetsko xstetsko@fi.muni.cz or andriy.stetsko@ysoft.com
Financial support: Y Soft Corporation, a.s. will provide financial support (in a form of stipend at the faculty or a part-time job in the company) to students with promising results.
Possible topics for cooperation with bachelor students:
Possible topics for cooperation with master students:
- Andriy Stetsko 2012-now (Project coordinator, thesis supervisor, Y Soft Corporation, a.s.)
Previous research topics:
- 2013-2017: Tools for dynamic security analysis of web applications, financial support from Y Soft Corporation
- 2015-2016: Analysis and application of OWASP testing guide, financial support from Y Soft Corporation
- 2015-2016: Metasploit, financial support from Y Soft Corporation
- 2014-2016: Secure software development processes, financial support from Y Soft Corporation
- 2012-2016: Tools for static and dynamic code analysis, financial support from Y Soft Corporation
- 2014-2015: Security mechanisms of PDF files
- 2014-2015: Security aspects of Xamarin/Android Platform
- Cesta project - security-related transformations of JavaCard source code, financial support from Y Soft Corporation
Disk encryption
The first goal is research, and implementation of new algorithms (key derivation, authenticated encryption or integrity protection mechanism) itno existing open-source LUKS/cryptsetup disk encryption project.
The second goal is to make LUKS/libcryptsetup (and supported FDE formats) truly multiplatform tool (Windows/Linux) with focus to independent and extensible open-source software based FDE (Full Disk Encryption) solution. We are focusing on Windows7 and later and Linux 4.x and later OS versions.
Contact: Milan Brož xbroz@fi.muni.cz
- Research project internal wiki pages
- Upstream (Linux) project homepage, GitHub mirror
Join us! The possible areas for cooperation:
- Developing HMI (Human-machine interface) for storage encryption - ease of use, test cases, simple GUI, HMI usability experiments.
- Disk (sector-level) storage encryption in Windows study, existing approaches and implementations (TrueCrypt, DiskCryptor, Bitlocker, FreeOTFE, …) with focus on free and open-source solutions. Windows driver architecture for implementing similar encryption capabilities as provided in Linux dm-crypt module.
- Windows boot process analysis and possibilities to use open-source boot loaders like GRUB2 to inject boot of core Windows system from (LUKS) encrypted device.
- Using open-source multiplatform encryption libraries (gcrypt, openssl, etc) for implementation of symmetric block cipher encryption wrappe in windows environment, both in userspace and driver.
- Current status quo in RNG available in Windows7 and later systems, implementation of wrapper (or usable alternative) to Linux /dev/[u]random device.
- Milan Brož 2014-now (Project lead and coordinator, Red Hat cooperation, grumbling)
- Ondrej Mosnáček 2015-now
- Agáta Dařbujanová 2014-2016 (Student, User interface for storage encryption application)
Selected publications
- [2016] Harčár, M.: Generátory náhodných čísel v multiplatformním prostředí, FI bachelor thesis
- [2016] Dařbujanová, A.: Uživatelské rozhraní aplikace pro šifrování disku, FI bachelor thesis
- [2016] Brož M.,Kozina,O.: The Future of Disk Encryption with LUKS2, DevConf 2016
- [2015] Brož M.,Matyáš V.: Selecting a New Key Derivation Function for Disk Encryption, STM 2015
- [2015] Mosnáček, O.: Key derivation functions and their GPU implementations, FI bachelor thesis
- [2014] Brož M.,Matyáš V.: The TrueCrypt On-Disk Format—An Independent View, IEEE Security & Privacy, 2014, vol. 12, No 3, p. 74-77. ISSN 1540-7993
- [2011] Brož M.:Disk encryption (not only) in Linux, Europen.cz 2011, Red Hat DevConf 2012
Contact: Vašek Matyáš matyas@fi.muni.cz, Vlasta Šťavová 256169@mail.muni.cz, Agáta Dařbujanová xdarbuj@mail.muni.cz
Involved people:
Publications