Java Card 虚拟机内存组织:一项设计提案
密码学与安全
2021-10-20 v1
摘要
Java Card 虚拟机(JCVM)平台被广泛部署于安全导向的组件中。JCVM 实现主要在安全方案下被评估。然而,现有实现闭源且缺乏细节。我们认为研究如何设计 JCVM 将改进它们,并可被社区复用以提升 Java Card 安全性。2018 年,Bouffard 等人[6]引入了一种旨在运行 JCVM 兼容实现的操作系统(OS)。该 OS 与多种市售现成(COTS)组件兼容。这是设计安全 JCVM 平台的第一步。然而,设计安全导向的 Java Card 平台仍缺失一些重要细节。在本文中,我们聚焦于 JCVM 内存。该内存包含运行 JCVM 与小程序所需的一切。目前,JCVM 内存不在 Java Card 规范之内,且每位 JCVM 开发者使用自己的方法。基于现有工具与文档,我们阐释了如何从 Java Card 工具链中提取小程序与 JCVM 所需的全部数据。在识别出需存储于内存中的数据后,本文介绍了如何将这些所需数据组织到 JCVM 内存上。
引用
@article{arxiv.2110.10037,
title = {Java Card Virtual Machine Memory Organization: a Design Proposal},
author = {Guillaume Bouffard and Vincent Giraud and Léo Gaspard},
journal= {arXiv preprint arXiv:2110.10037},
year = {2021}
}