华为用基于CheckPoint+RSA SecurID的解决方案 保障员工远程接入访问安全

作为当前中国最大的电信网络综合解决方案供应商,华为技术(以下简称"华为")现有员工35000多名,在全球设立了8个地区总部及80多个办事处和技术服务中心,营销及服务网络遍及全球100多个国家和地区,服务全球超过10亿用户。

为了解决现有员工(包括海外员工)通过互联网远程接入访问深圳总部的安全问题,华为技术经过对多个候选方案在安全性、健壮性、吞吐量、稳定性、可扩展性、可管理型以及总体维护成本的测试和比较,最终选择了基于CheckPointRSA SecurID的解决方案。在深圳总部部署了多套CheckPointVPN-1 Pro构建成Clusting,提供防火墙和IPSec VPN网关功能;并部署了两套RSA SecurID认证服务器,一主一备冗余;在远程客户端设备上部署了CheckPointIPSec VPN客户端软件SecuRemoteSecureClient,并为员工分配RSA SecurID认证令牌。

 

华为深圳总部的IT运营人员称实施了上述安全接入解决方案后,华为员工在通过互联网访问总部资源时,一方面利用CheckPointIPSec VPN技术使得数据在传输过程得以加密,免受窃取、篡改等威胁,另一方面利用RSASecurID双因素强认证技术使得员工的帐号口令得到保护,免受静态口令常遇到的泄漏、盗用等困扰。而且该方案的高灵活性和可扩展性,可以方便地保障华为数万员工的远程接入安全。

作为安全远程接入的推荐方案,华为已将基于CheckPointRSA SecurID的解决方案整合到他们的电信网络整体解决方案中,成功的推广到他们国内及海外的众多用户。

 

Check Point:全球首屈一指的Internet安全解决方案供应商,在全球企业级防火墙/虚拟专用网络(VPN)市场上居于领导地位。Check Point提供范围广泛的边界、内部、Web及终端安全解决方案,保护公司网络和应用程序、远程员工、分公司及合作伙伴外联网的通讯和资源的安全。Check PointZoneAlarm产品系列是Internet安全领域最值得信赖的品牌之一,它屡获奖项的终端安全解决方案为数以百万计的PC提供保护,让他们免受黑客、间谍软件及数据窃取的威胁。Check Point通过遍布88个国家及地区的2200多家合作伙伴销售及集成其解决方案,保护全球的十几万家企业、政府、金融等机构的资产安全。

 

RSA是全球领先的电子信息安全服务提供商,在全球双因素身份认证市场上占据领导地位。RSA SecurID® 双因素身份强认证解决方案每年为全球超过一千五百万个人提供身份保护,使个人用户可以在任何地点、任何时间、通过任何网络设备进行网络资源的安全访问。全球已经有来自运营商、金融、政府、企业等行业的17,000 多家客户采用了RSA SecurID产品。

 
使用华为云平台进行 Stable Diffusion 的实现,需要先准备好以下工具和环境: - MindSpore Lite:华为自主研发的轻量级深度学习推理框架; - Python3:Python 编程语言的最新版本; - 利用 MindSpore Lite 量化工具对模型进行量化,可以有效地减小模型大小和加速推理过程; - 利用华为云 AI 训练平台进行模型训练。 接下来是 Stable Diffusion 模型的实现代码: ```python import mindspore import mindspore.nn as nn import mindspore.ops as ops import mindspore.numpy as np import mindspore.dataset as ds import mindspore.dataset.transforms.c_transforms as c_trans import mindspore.dataset.vision.c_transforms as v_trans class StableDiffusion(nn.Cell): def __init__(self, in_channels, out_channels, hidden_channels, num_layers, num_steps): super(StableDiffusion, self).__init__() self.num_steps = num_steps self.num_layers = num_layers self.sigmoid = nn.Sigmoid() self.tanh = nn.Tanh() self.conv1 = nn.Conv2d(in_channels, hidden_channels, kernel_size=3, padding=1, stride=1, has_bias=True) self.conv2 = nn.Conv2d(hidden_channels, out_channels, kernel_size=3, padding=1, stride=1, has_bias=True) self.layers = nn.CellList() for i in range(num_layers): self.layers.append(nn.SequentialCell([ nn.Conv2d(hidden_channels, hidden_channels, kernel_size=3, padding=1, stride=1, has_bias=True), nn.BatchNorm2d(hidden_channels), nn.Tanh(), nn.Conv2d(hidden_channels, hidden_channels, kernel_size=3, padding=1, stride=1, has_bias=True), nn.BatchNorm2d(hidden_channels), nn.Sigmoid() ])) self.reshape = nn.Reshape((-1,)) self.linear = nn.Dense(out_channels * 64 * 64, out_channels * 64 * 64, has_bias=True) self.unreshape = nn.Reshape((-1, out_channels, 64, 64)) def construct(self, x): h = self.tanh(self.conv1(x)) for i in range(self.num_layers): h = h + (1.0 / self.num_layers) * self.layers[i](h) h = self.tanh(self.conv2(h)) h = self.reshape(h) h = self.sigmoid(self.linear(h)) h = self.unreshape(h) for i in range(self.num_steps): h = self.tanh(self.conv1(h)) for j in range(self.num_layers): h = h + (1.0 / self.num_layers) * self.layers[j](h) h = self.tanh(self.conv2(h)) return h # 量化模型 def quantize_model(model_path): quantizer = mindspore.QuantizationAwareTraining(bn_fold=True, per_channel=True) net = StableDiffusion(3, 3, 64, 5, 10) net.set_train(True) dataset = ds.ImageFolderDataset(dataset_dir, num_parallel_workers=8, shuffle=True) dataset = dataset.map(operations=v_trans.Resize((64, 64))) dataset = dataset.map(operations=c_trans.RandomCrop([64, 64], [0, 0, 0, 0])) dataset = dataset.map(operations=v_trans.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])) dataset = dataset.map(operations=c_trans.ToTensor()) dataset = dataset.batch(32) dataset = dataset.repeat(1) net.train(dataset) quantizer.quantize(net) mindspore.save_checkpoint(net, model_path) # 加载模型 def load_model(model_path): net = StableDiffusion(3, 3, 64, 5, 10) net.set_train(False) param_dict = mindspore.load_checkpoint(model_path) mindspore.load_param_into_net(net, param_dict) return net # 测试模型 def test_model(model_path, input_path, output_path): net = load_model(model_path) input_data = np.load(input_path) input_data = np.expand_dims(input_data, axis=0) input_tensor = mindspore.Tensor(input_data, dtype=mindspore.float32) output_tensor = net(input_tensor) output_data = output_tensor.asnumpy() output_data = np.squeeze(output_data, axis=0) np.save(output_path, output_data) ``` 在上面的代码中,`StableDiffusion` 类实现了 Stable Diffusion 模型的网络结构。在 `quantize_model` 函数中,我们使用 MindSpore Lite 的量化工具对模型进行了量化。在 `load_model` 函数中,我们加载了量化后的模型。在 `test_model` 函数中,我们使用加载后的模型进行了推理,并将结果保存到文件中。 在使用这些函数之前,我们需要准备好输入数据和输出路径。输入数据应该是一个形状为 `(3, 64, 64)` 的 NumPy 数组,它表示了一张彩色图片。输出路径是一个文件路径,用于保存模型的输出结果。 量化模型需要训练数据集,可以使用华为云 AI 训练平台进行训练。在训练过程中,我们需要将训练数据集转换为 MindSpore 支持的数据集,然后调用 `net.train(dataset)` 进行训练。训练完成后,可以调用 `quantizer.quantize(net)` 对模型进行量化,并使用 `mindspore.save_checkpoint(net, model_path)` 将模型保存到文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值