此bounty已结束。回答此问题可获得+200声望奖励。赏金宽限期1小时后结束。mllamazares正在寻找一个答案从一个有信誉的来源。
我对在COBOL/DB2代码中直接处理加密或散列而不依赖外部安全管理器(ESM)的合法用例很好奇。
许多人可能知道,IBM大型机上的大部分安全功能都是通过ESM(如CA-ACF 2、IBM RACF或CA-Top Secret)实现的。它们控制对各种资源(如数据集、事务和子系统(包括CICS、DB2、IMS和TSO))的访问。
例如,通常不需要通过COBOL验证密码散列,因为当这样的功能已经通过如上所述的ESM管理时,创建一个临时用户系统是多余的。
根据我的经验,加密、解密和散列的过程不是在大型机内执行的,而是在之前或之后的外部系统(例如PCI-DSS)中执行的,因此,大型机上的应用程序不会直接与加密或散列的数据交互。
在网上搜索“COBOL加密”,你会发现各种特别的加密例程,在我看来,在实现和设计层面上都表现出很差的实践。
当然,可以通过COBOL CALL语句访问some ICSF utilities来加密、解密或散列数据,但是有人能想象出这种方法是合理的,并且最佳实践不是依赖于ESM或将这些任务委托给外部系统的用例吗?
2条答案
按热度按时间r7knjye21#
当您使用对称加密时,ICSF非常有用,您需要保持密钥的安全,并且不想将这项工作委托给应用程序。ICSF可以存储密钥,管理访问并使用硬件加速器执行加密以加快处理速度。
当数据被加密在REST调用或其他与COBOL应用程序的接口中的有效负载中时,这可能是有用的,并且解密的数据具有快速隐藏的策略,这是应用程序的责任。
其次,在用户方面。ESM通常用于访问大型机服务和系统,如CICS、TSO、IMS等。以及系统管理。客户通常不会(实际上我不知道任何一个用例)不被定义到ESM,而是使用其他方式(如卡号等)进行识别。ESM似乎不适用于这一讨论。
dhxwm5r42#
一些有效的用例:
对信用卡号进行散列,以便能够通过暴露号码来报告单个卡(许多国家/地区的法律的要求)。
一个应用程序(例如证券交易平台)可能有许多外部用户,您需要管理密码访问,而无需将每个客户定义到RACF。