首页 > 解决方案 > ABAP 安全存储:如何存储密码?

问题描述

我从来不需要在 ABAP 系统中存储密码。现在是时候学习一些新东西了...

我需要存储一个密码,我在 ABAP 系统上使用它来连接到不同的系统,所以我不能存储(单向)哈希。

我遇到了一些功能模块,例如FIEB_PASSWORD_ENCRYPT(使用硬编码的密钥)或一些存储密码的 base64 编码版本的建议(天哪!)=> 两者都只会阻止任何人“快速读取”密码,如果它在屏幕,不阻止任何人窃取它。

我还遇到了SECSTORESAP Help Link),它显然只能被 SAP 组件使用,不能被自定义应用程序使用。

基本上,我的需要是

我认为,那里必须有可以用于此目的的东西……

更新为什么我需要它:

免责声明:我目前正在讨论这是否可以变成基本身份验证,这既不安全也不安全(标题与正文)。但是使用基本身份验证,我可以使用目标配置,而后者又使用 SECSTORE。这个讨论是一个很长的故事,因为涉及到多方并且对系统的访问是多层次的......

标签: securityabappassword-encryption

解决方案


您可以使用 SSF_KRN_ENVELOPE 函数进行加密,使用 SSF_KRN_DEVELOPE 进行解密。它使用 RSA 标准,因此结果可能很大。我更喜欢在https://github.com/Sumu-Ning/AES使用 ABAP AES 类

这些功能使用系统证书,AES 库需要 IV 和密钥,因此如果用户有调试或开发人员授权,他可以获得它。

正确的方式是使用标准的沟通方式。例如使用带有基本身份验证的 SOAP 客户端并将密码保存在 SOA 管理器中。在 SM59 配置中也可以使用 http 和 https 协议进行基本身份验证。


推荐阅读