文章
· 九月 20, 2023 阅读大约需 4 分钟

基于IRISI对您的敏感数据进行令牌化/代币化

根据剑桥词典的解释,令牌化数据是“用令牌(=代表第一个数据的不同数据)替换隐私数据,以防止隐私信息被不被允许做的人看到”(https://dictionary.cambridge.org/pt/dicionario/ingles/tokenize)。如今,一些公司,尤其是金融和医疗保健领域的公司,正在将其数据令牌/代币化作为满足网络安全和数据隐私(GDPR、CCPA、HIPAA 和 LGPD)要求的重要策略。但是,为什么不使用加密呢?保护敏感数据的令牌化过程比数据加密更常用,原因如下:

  1. 更好的性能:在密集的操作处理中动态加密和解密数据会提高性能并需要更多的处理器能力。
  2. 测试:可以标记生产数据库并复制到测试数据库,并维护适合更真实的单元和功能测试的测试数据。
  3. 更好的安全性:如果黑客破解或获得密钥,所有加密数据都将可用,因为加密是一个可逆过程。令牌化过程是不可逆的。如果您需要从令牌化数据中获取原始数据,则需要维护一个安全且独立的数据库来链接到原始数据和令牌化数据。

令牌化架构

令牌化架构需要两个数据库:应用程序数据库(App DB)用于存储令牌化数据和来自业务的其他数据;令牌数据库(Token Database)用于存储原始值和令牌化值,因此当您需要时,您的应用程序可以获得原始值以向用户显示。还有一个 令牌生成器 REST API 用于标记敏感数据、存储到令牌数据库中并返回票证。应用程序将票据、令牌化数据和其他数据存储在应用程序数据库中。参见架构图:

 

分词器应用程序

了解它在令牌化应用程序中的工作原理: https://openexchange.intersystems.com/package/Tokenizator

该应用程序是一个用于标记化的 REST API:

  • 对任何数值显示为“*”号。示例:信用卡 4450 3456 1212 0050 至 4450 **** **** 0050。
  • 任何真实的IP地址都是假值。示例:192.168.0.1 到 168.1.1.1。
  • 任何人的数据都是假的。示例:地址为北京海淀的张三到地址为西藏拉萨的仓央嘉措。
  • 任何数值为假数值。示例:300.00 到 320.00。
  • 任何信用卡数据都是虚假的信用卡号码。示例:4450 3456 1212 0050 至 4250 2256 4512 5050。
  • 任何值到哈希值。示例:dfgdgasdrrrdd123 的系统架构师。
  • 正则表达式的任何值。示例:使用正则表达式规则 [AZ]{2}-\\d{5}-[az]{5} 将 EI-54105-tjfdk 转换为 AI-44102-ghdfg。

如果您需要任何其他选项,请在 github 项目上提交问题。

要对值进行标记并在之后获取原始值,请按照以下步骤操作:

  1. 打开您的 Postman 或从您的应用程序使用此 API。
  2. 使用 STARS、PERSON、NUMBER、CREDITCARD、HASH、IPADDRESS 和 REGEX 方法对此敏感数据样本创建 令牌化请求:
    • 方法:POST
    • 网址: http://localhost:8080/token/tokenize
    • 正文(JSON):
       [
           {
            	"tokenType":"STARS",
            	"originalValueString":"545049405679",
            	"settings": {
                	"starsPosition":"1",
                	"starsQuantity":"4"
            	}
           },
           {
            	"tokenType":"IPADDRESS",
            	"originalValueString":"192.168.0.1",
            	"settings": {
                	"classType":"CLASS_B",
                	"ipSize":"4"
            	}
           },
           {
        	    "tokenType":"PERSON",
        	    "originalValueString":"Yuri Marx Pereira Gomes",
        	    "settings": {
        	        "localeLanguage":"en",
        	        "localeCountry":"US",
        	        "withAddress":"true",
        	        "withEmail":"true"
           	}
        	},
           {
        	    "tokenType":"NUMBER",
        	    "originalValueNumber":300.0,
        	    "settings": {
        	        "minRange":"100.0",
        	        "maxRange":"400.0"
        	    }
        	},
           {
        	    "tokenType":"CREDITCARD",
        	    "originalValueString":"4892879268763190",
        	    "settings": {
        	        "type":"VISA"
        	    }
        	},
           {
        	    "tokenType":"HASH",
        	    "originalValueString":"System Architect"
        	},
           {
        	    "tokenType":"REGEX",
        	    "originalValueString":"EI-54105-tjfdk",
        	    "settings": {
        	        "regex":"[A-Z]{2}-\\d{5}-[a-z]{5}"
        	    }
        	}
       ]
      
    • 查看结果。您将获得一个令牌化的数值 (tokenizedValueString) 并将其存储到本地数据库中。
  3. 从响应中复制票证(将其与令牌化化值一起存储到本地数据库中)
  4. 现在凭票证即可获得原数值。创建一个请求以使用票证获取原始值:

生成的所有令牌都存储到 InterSystems IRIS Cloud SQL 中,以便您能够可靠地获得原始值。

欢迎体验!

讨论 (0)1
登录或注册以继续