security_huks模块下hks_rkc.c代码评注第二部分

本篇综述

本篇是hks_rkc.c代码评注的第二部分,在security_huks模块下hks_rkc.c代码评注第一部分的基础上,进一步讲解在hks_rkc.c中从密钥库文件缓冲区提取部分信息以及读取全部信息的方法。

本篇代码架构

hks_rkc.c
├── extract
│ └── hks_rkc_extract_ksf_file_flag
│ └── hks_rkc_extract_ksf_hash
│ └── hks_rkc_extract_ksf_rk
│ └── hks_rkc_extract_ksf_mk
│ └── hks_rkc_extract_ksf_buf
├── read
│ └── hks_rkc_read_ksf
│ └── hks_rkc_read_all_ksf

关键信息提取

本部分共有5个重要的函数,都是关于根密钥组件的密钥库文件关键信息的提取,需要特别强调的一点是:信息提取源在ksf_buf中即密钥库文件缓冲区中。与填入的操作相对应,填入是将ksf_data中的数据填写到ksf_buf中,提取是从ksf_buf从提取信息到ksf_data 或其他定义的变量中。

1.hks_rkc_extract_ksf_file_flag

  • 函数功能:从ksf的缓冲区中提取ksf文件标记
    root key component - extract ksf file flag from keystore file buffer

  • 参数说明:密钥库文件缓冲区、密钥库文件缓冲区大小、密钥库文件偏移量大小
    parameter:
    ksf_buf - [in] - the buffer of keystore file.
    ksf_buf_len - [out] - the length of keystore file buffer.
    ksf_buf_offset - [in,out] - the offset of keystore file buffer.

  • 返回值:成功或错误代码
    return value:
    success or error code

代码如下:

static int32_t hks_rkc_extract_ksf_file_flag(const uint8_t *ksf_buf,
    uint32_t ksf_buf_len, uint32_t *ksf_buf_offset)
{
    //先定义并初始化文件标志位00000000
    uint8_t file_flag[HKS_RKC_KSF_FLAG_LEN] = {0};

    //调用函数hks_u8_buf_2_u8_array函数,提取文件标志,提取内容存取在file_flag中
    /* Extract file flag. */
    int32_t rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len,
        ksf_buf_offset,
        file_flag, HKS_RKC_KSF_FLAG_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //检查密钥库文件标志
    /* Check file flag. */
    if (memcmp(file_flag, g_hks_rkc_ksf_flag, HKS_RKC_KSF_FLAG_LEN)) {
        log_error("ksf file flag is invalid");
        return HKS_ERROR_READ_FILE_FAIL;
    }

    return HKS_STATUS_OK;
}

2.hks_rkc_extract_ksf_hash

  • 函数功能:从密钥库文件缓冲区提取散列字段
    root key component - extract hash field from keystore file buffer

  • 参数说明:密钥库文件缓冲区、密钥库文件缓冲区大小、密钥库文件偏移量大小
    parameter:
    ksf_buf - [in] - the buffer of keystore file.
    ksf_buf_len - [out] - the length of keystore file buffer.
    ksf_buf_offset - [in,out] - the offset of keystore file buffer.

  • 返回值:成功或错误代码
    return value:
    success or error code

代码如下:

static int32_t hks_rkc_extract_ksf_hash(uint8_t *ksf_buf, uint32_t ksf_buf_len,
    uint32_t *ksf_buf_offset)
{
    //密钥库文件缓冲区中散列字段、hash散列结果的初始化
    uint8_t ksf_hash[HKS_RKC_HASH_LEN] = {0};
    uint8_t hash_result[HKS_RKC_HASH_LEN] = {0};
    struct hks_blob hash_src = { 0, NULL, 0 };
    struct hks_blob hash = { 0, NULL, 0 };

    /* 利用SHA256计算hash散列值
     * calculate SHA256
     * skip file flag, begin with version, end with reserve field.
     */
    //hash源和hash结果的数据开始位置的设置和数据大小的设置
    hash_src.data = ksf_buf + HKS_RKC_KSF_FLAG_LEN;
    hash_src.size = *ksf_buf_offset - HKS_RKC_KSF_FLAG_LEN;
    hash.data = hash_result;
    hash.size = HKS_RKC_HASH_LEN;

    //调用hks_calc_sha256算法求取hash散列结果
    int32_t rc = hks_calc_sha256(&hash_src, HKS_RKC_KSF_HASH_SRC_NUM,
        &hash);

    if (rc != HKS_STATUS_OK)
        return rc;

    //从ksf缓冲区中提取ksf_hash的结果
    /* Extract hash from ksf buffer */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_hash, HKS_RKC_HASH_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //检查提取结果与hash_result是否一致
    /* Check hash result. */
    if (memcmp(hash_result, ksf_hash, HKS_RKC_HASH_LEN)) {
        log_error("ksf hash result is invalid");
        return HKS_ERROR_INVALID_KEY_FILE;
    }

    return HKS_STATUS_OK;
}

3.hks_rkc_extract_ksf_rk

  • 函数功能:从密钥库文件缓冲区中提取根密钥数据放入ksf_data中
    root key component - extract root key data from keystore file buffer

  • 传入参数:密钥库文件缓冲区、密钥库文件缓冲区大小、密钥库文件偏移量大小、密钥库文件数据结构体变量
    parameter:
    ksf_buf - [in] - the buffer of keystore file.
    ksf_buf_len - [in] - the buffer length of keystore file.
    ksf_buf_offset - [in,out] - the buffer offset of keystore file.
    ksf_data - [out] - the data of keystore file.

  • 返回值:成功或错误代码
    return value:
    success or error code

代码如下:

static int32_t hks_rkc_extract_ksf_rk(const uint8_t *ksf_buf,
    uint32_t ksf_buf_len, uint32_t *ksf_buf_offset,
    struct hks_rkc_ksf_data *ksf_data)
{
    //提取根密钥版本号
    /* Extract version. */
    int32_t rc = hks_u8_buf_2_u16(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->version));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取根密钥创建时间
    /* Extract rk_creat_time */
    rc = hks_u8_buf_2_time(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->rk_created_time));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取根密钥过期时间
    /* Extract rk_expired_time */
    rc = hks_u8_buf_2_time(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->rk_expired_time));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取第一个材料
    /* Extract the first material */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->rk_material1, HKS_RKC_MATERIAL_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取第二个材料
    /* Extract the second material */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->rk_material2, HKS_RKC_MATERIAL_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取派生根主密钥(键)的迭代次数
    /* Extract iterator number */
    rc = hks_u8_buf_2_u32(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->rmk_iter));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取派生根主密钥的椒盐化参数
    /* Extract salt */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->rmk_salt, HKS_RKC_SALT_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取派生根主密钥(键)使用的hash算法信息
    /* Extract hash algorithm */
    rc = hks_u8_buf_2_u32(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->rmk_hash_alg));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取根密钥保留数据
    /* Extract reserve field */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->rk_rsv, sizeof(ksf_data->rk_rsv));
    if (rc != HKS_STATUS_OK)
        return rc;

    return rc;
}

4.hks_rkc_extract_ksf_mk

  • 从密钥库文件缓冲区中提取主密钥数据放入ksf_data中
    root key component - extract master key data from keystore file buffer

  • 参数说明:密钥库文件缓冲区、密钥库文件缓冲区大小、密钥库文件偏移量大小、密钥库文件数据结构体变量
    parameter:
    ksf_buf - [in] - the buffer of keystore file.
    ksf_buf_len - [in] - the buffer length of keystore file.
    ksf_buf_offset - [in,out] - the buffer offset of keystore file.
    ksf_data - [out] - the data of keystore file.

  • 返回值:成功或错误代码
    return value:
    success or error code

代码如下:

static int32_t hks_rkc_extract_ksf_mk(const uint8_t *ksf_buf,
    uint32_t ksf_buf_len, uint32_t *ksf_buf_offset,
    struct hks_rkc_ksf_data *ksf_data)
{
    //提取主密钥创建时间
    /* Extract mk_created_time */
    int32_t rc = hks_u8_buf_2_time(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->mk_created_time));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取主密钥过期时间
    /* Fill mk_expired_time */
    rc = hks_u8_buf_2_time(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->mk_expired_time));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取主密钥使用的加密算法
    /* Fill encrption algorithm */
    rc = hks_u8_buf_2_u32(ksf_buf, ksf_buf_len, ksf_buf_offset,
        &(ksf_data->mk_encrypt_alg));
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取主密钥的IV
    /* Fill IV */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->mk_iv, HKS_RKC_MK_IV_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取主密钥的密文
    /* Fill ciphertext */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->mk_ciphertext, HKS_RKC_MK_CIPHERTEXT_LEN);
    if (rc != HKS_STATUS_OK)
        return rc;

    //提取主密钥保留数据
    /* Fill reserve field */
    rc = hks_u8_buf_2_u8_array(ksf_buf, ksf_buf_len, ksf_buf_offset,
        ksf_data->mk_rsv, sizeof(ksf_data->mk_rsv));
    if (rc != HKS_STATUS_OK)
        return rc;

    return rc;
}

5. hks_rkc_extract_ksf_buf

  • 函数功能:利用函数的调用从密钥库文件缓冲区中提取数据写入ksf_data中(功能封装)
    root key component - extract data from keystore file buffer

  • 参数说明:密钥库文件缓冲区、密钥库文件缓冲区大小、密钥库文件数据结构体变量
    parameter:
    ksf_buf - [in] - the buffer of keystore file.
    ksf_buf_len - [in] - the buffer length of keystore file.
    ksf_data - [out] - the data of keystore file.

  • 返回值:成功或错误代码
    return value:
    success or error code

代码如下:

static int32_t hks_rkc_extract_ksf_buf(uint8_t *ksf_buf, uint32_t ksf_buf_len,
    struct hks_rkc_ksf_data *ksf_data)
{
    uint32_t ksf_buf_offset = 0;

    //函数封装,提取密钥库文件标志
    /* Extract file flag. */
    int32_t rc = hks_rkc_extract_ksf_file_flag(ksf_buf, ksf_buf_len,
        &ksf_buf_offset);
    if (rc != HKS_STATUS_OK)
        return rc;

    //函数封装,提取根密钥数据
    /* Extract root key data */
    rc = hks_rkc_extract_ksf_rk(ksf_buf, ksf_buf_len, &ksf_buf_offset,
        ksf_data);
    if (rc != HKS_STATUS_OK)
        return rc;

    //函数封装,提取主密钥数据
    /* Extract master key data */
    rc = hks_rkc_extract_ksf_mk(ksf_buf, ksf_buf_len, &ksf_buf_offset,
        ksf_data);
    if (rc != HKS_STATUS_OK)
        return rc;

    //函数封装,提取hash散列数据
    /* Extract hash */
    rc = hks_rkc_extract_ksf_hash(ksf_buf, ksf_buf_len, &ksf_buf_offset);
    if (rc != HKS_STATUS_OK)
        return rc;

    return HKS_STATUS_OK;
}

读取密钥库文件

与从密钥库文件中提取信息、填充信息到缓冲区不同,读取密钥库文件的输入参数关键在ksf_name即密钥库文件名(地址)上,读取操作需要先把信息填充到缓冲区上,再通过提取缓冲区上的信息写入ksf_data中,因此读取是两步操作的结合。

1.hks_rkc_read_ksf

  • 函数功能:读取密钥库文件信息, 将在地址ksf_name下读到的密钥库文件信息写入ksf_data下
    root key component - read keystore file

  • 参数说明:密钥库文件名、密钥库文件数据结构体变量
    parameter:
    ksf_name - [in] - keystore filename.
    ksf_data - [out] - the data of keystore file.

  • 返回值:成功或错误代码
    return value:
    success or error code

需要注意的是文件大小的检查、缓冲区空间的开辟、信息的循环读取、以及密钥读取缓冲区空间的清理与释放,代码及详细注释如下:

static int32_t hks_rkc_read_ksf(const char *ksf_name,
    struct hks_rkc_ksf_data *ksf_data)
{
    uint32_t file_size = 0;

    //用file_size记录文件存储大小
    int32_t rc = hks_file_size(ksf_name, &file_size);

    //检查是否成功获取文件大小
    if (rc != HKS_STATUS_OK) {
        log_error("get ksf file size fail,name=%s,rc=%d", ksf_name, rc);
        return HKS_ERROR_INVALID_KEY_FILE;
    }

    //检查文件大小,正常情况下的文件大小一定比预定义缓冲区最大空间要大
    /* check the file size. */
    if (file_size < HKS_RKC_KSF_BUF_LEN) {
        log_error("file size is invalid,name=%s,size=%u",
            ksf_name, file_size);
        return HKS_ERROR_INVALID_KEY_FILE;
    }

    //申请密钥库文件缓冲区
    uint8_t *ksf_buf = (uint8_t *)HKS_MALLOC(HKS_RKC_KSF_BUF_LEN);

    if (ksf_buf == NULL) {
        log_error("malloc ksf buffer fail");
        return HKS_ERROR_MALLOC_FAIL;
    }

    //在使用前清理密钥库缓冲区数据
    /* Clear buffer data before using it. */
    (void)memset_s(ksf_buf, HKS_RKC_KSF_BUF_LEN, 0, HKS_RKC_KSF_BUF_LEN);

    //不断循环进行读写操作
    do {
        int32_t ksf_real_len = 0;

        //读取文件信息,将ksf_name地址下的信息读入ksf_buf中并且在ksf_real_len中记录读取到文件的真实长度
        rc = hks_file_read(ksf_name, HKS_FILE_OFFSET_BASE, ksf_buf,
            HKS_RKC_KSF_BUF_LEN, &ksf_real_len);
        if (rc != HKS_STATUS_OK) {
            log_error("read ksf file fail,name=%s,rc=%d",
                ksf_name, rc);
            break;
        }

        if (ksf_real_len != HKS_RKC_KSF_BUF_LEN) {
            log_error("real length is invalid,name=%s,real_len=%d",
                      ksf_name, ksf_real_len);
            rc = HKS_ERROR_INVALID_KEY_FILE;
            break;
        }

        //调用函数hks_rkc_extract_ksf_buf,将ksf_buf中的数据提取出来写入ksf_data中
        rc = hks_rkc_extract_ksf_buf(ksf_buf, ksf_real_len, ksf_data);
        if (rc != HKS_STATUS_OK) {
            log_error("extract ksf file fail,name=%s,rc=%d",
                ksf_name, rc);
            break;
        }
    } while (0);

    //根密钥数据在使用完后需要被清理
    /* the data of root key should be cleared after use */
    (void)memset_s(ksf_buf, HKS_RKC_KSF_BUF_LEN, 0, HKS_RKC_KSF_BUF_LEN);//将ksf_buf中的数据清0,接着释放ksf_buf的空间
    hks_free_ptr(ksf_buf);

    //检查上面一系列操作的状态
    if (rc != HKS_STATUS_OK)
        return HKS_ERROR_INVALID_KEY_FILE;

    return HKS_STATUS_OK;
}

2.hks_rkc_read_all_ksf

在读取单个密钥库文件信息的基础上,本函数将介绍读取所有密钥库文件的操作方法。

  • 函数功能:读取所有的密钥库文件
    root key component - read all keystore files.

  • 参数说明:所有密钥库文件状态、所有密钥库文件数据、第一个有效数据、第一个有效数据的索引
    parameter:
    all_ksf_rc - [out] - all reture code.
    all_ksf_data - [out] - all data.
    valid_ksf_data - [out] - the first valid data.
    valid_ksf_index - [out] - the index of first valid data.

  • 返回值:成功或错误代码
    return value:
    success or error code

需要注意的是在外层加入一个关于密钥库文件数的循环,详细代码及注释如下:

static int32_t hks_rkc_read_all_ksf(int32_t *all_ksf_rc,
    struct hks_rkc_ksf_data *all_ksf_data,
    struct hks_rkc_ksf_data **valid_ksf_data, uint32_t *valid_ksf_index)
{
    //检查根密钥组件密钥库文件数是否超过预定义的密钥库文件最大个数
    if (g_hks_rkc_cfg.ksf_attr.num > HKS_RKC_KSF_NUM) {
        log_error("invalid ksf num=%u", g_hks_rkc_cfg.ksf_attr.num);
        return HKS_ERROR_INTERNAL_UNKOWN;
    }

    //定义根密钥组件密钥库文件数
    uint32_t i = 0;

    /* Read all ksf */
    for (; i < g_hks_rkc_cfg.ksf_attr.num; ++i) {
        if (g_hks_rkc_cfg.ksf_attr.name[i] == NULL)
            continue;

        //依次读取根密钥组件的密钥库文件内容,将其写入all_ksf_data[]数组中,并记录读取状态到all_ksf_rc[]数组中
        all_ksf_rc[i] = hks_rkc_read_ksf(g_hks_rkc_cfg.ksf_attr.name[i],
            &(all_ksf_data[i]));
        if (all_ksf_rc[i] != HKS_STATUS_OK)
            continue;

        //记录第一组有效数据的地址位置,并且记录其索引
        if (*valid_ksf_data == NULL) {
            /* the first valid ksf is found, save flag and index. */
            *valid_ksf_data  = &(all_ksf_data[i]);  //赋值法
            *valid_ksf_index = i;
        }
    }

    //返回函数成功执行状态
    return HKS_STATUS_OK;
}

本篇小结

本篇主要讲解了从密钥库文件缓冲区提取部分信息以及读取全部信息的方法,下面我们将继续更新有关hks_rkc.c代码评注的第三部分和第四部分,敬请期待!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
中国十大网络安全产品 01 深信服 深信服全网行为管理AC支持全网终端、应用、数据和流量的可视可控,智能感知终 端违规接入、上网违规行为、敏感数据泄密等内部风险, 实现终端准入管控、上网管控和数据泄密管控的一体化行为安全管控。 终端准入管 控:通过终端发现识别、接入身份认证、安全检查修复、非法行为控制等建立终端 入网安全规范,降低安全隐患和数据泄露风险。上网管控:基于应用管控、流量管 控、上网安全管控等保障上网规范和体验,避免违法违规,减少上网抱怨。数据泄 密管控:通过外发通路控制、外发行为分析、业务数据安全、泄密查询追溯建立数 据外发规范,分析风险,防止敏感数据泄露。 截至目前,累计服务超过50000家用户,覆盖80%世界五百强中国企业,是国家部委 单位及五大行用户一致选择。 02 奇安信 奇安信天眼新一代安全感知系统,以攻防渗透和数据分析为核心竞争力,聚焦威胁 检测和响应,为客户提供安全服务与产品解决方案,为安全服务和分析人员提供一 套在监测预警、威胁检测、溯源分析和响应处置上得心应手的威胁检测平台。 产品具有更高的准确率和更低的误报率,在全流量检测方面采用入侵检测双向匹配 技术,基于奇安信天眼自主研发的QNA大数据人工智能威胁检测引擎,实现威胁的全 面发现、攻击结果的精准判定。其次是更强的恶意文件检测能力,天眼在沙箱技术 上进行了升级,针对可疑文件进行深度检测和分析,最大程度降低沙箱逃逸行为的 发生。第三是对新场景攻击的及时发现,天眼基于特性场景的安全分析技术,建立 覆盖全面的新场景和新威胁行为模型,从而及时有效发现新场景下的攻击行为。最 后是"天眼+安服"模式显著提升了威胁响应速度,依托超千人规模的安全运营服务团 队,不仅使产品的实战化水平和易用性迅速迈上大台阶,更是大幅度提升了威胁的 响应速度。由此可见,威胁检测与响应必须具备强大的产品联动能力。因此,奇安 信凭借强大的品牌优势以及与其他产品协同配合的整体解决方案使得威胁检测与响 应(TDR)产品在市场中具备较强的竞争力。 03 启明星辰 启明星辰集团CS系列入侵检测设备采用特征检测技术、异常行为检测技术、威胁情 报技术、黑白名单技术、基线技术、静态APT技术等多种相结合的方法,通过对网络 流量的深度包解析和流解析,实现了包括未知威胁在内的各种网络威胁的全面有效 检测。同时也可以通过配置策略方式,实现流量元数据存储和外发,告警事件原始 报文存储能力,便于进行回溯、取证、攻击链分析等工作,全面满足等保规范入侵 检测相关建设、整改要求,达到合规性工程建设的目标。 04 安 恒 安恒云是安恒推出的集多云管理和多云安全于一体的一站式平台级产品,旨在为用 户打造一个安全、平等的多云管理和多云安全管理平台。安恒云可连接国内外主流 公有云、私有云、传统IDC数据中心,帮助用户最优惠选云、便捷上云、安全用云、 统一管云等。安恒云拥有丰富的多云管理能力和完善的云上安全能力,可以满足不 同用户个性化的多云管理和多云安全需求。安恒云,让云安全腾飞。 05 天融信 天融信超融合管理系统(简称TopHC)是北京天融信网络安全技术有限公司自主研发 的云操作系统,深度集成计算、存储、网络和安全等基础设施,实现超融合架构的 横向扩展和功能组件的积木式部署,以软件定义所有关键数据中心功能,并通过统 一管理平台实现可视化集中运维管理,帮助用户快速构建安全、高效、可靠的新一 代云计算数据中心。 06 安华金和 安华金和数据库运维管理系统(DOMS)可以实现运维管理的四化:1)通过运维身份 交付、身份认证等手段统一管理复杂的运维场景,确保所有运维执行的数据库操作 、SQL语句均能定位到人或机器或工具,从而实现运维操作的透明化;2)通过定义 "事前审批、事中管控、事后追溯"的标准化流程,防止因操作失误、恶意损坏等不 可控行为导致数据资产存在安全风险,从而实现运维操作的流程化;3)通过建立详 细的数据库访问权限及操作行为的防护规则策略,再加上对数据库用户名、密码统 一管理的"两手抓"方式,有效防止因内部人员权限过大或数据库密码泄露导致的生 产数据批量外泄,从而实现运维访问标准的规范化;4)通过可扩展接口与用户现有 IT流程对接,达到DOMS产品与用户运维流程上的打通,并支持DOMS产品在用户已有 系统上的单点登录,从而实现运维操作管理的简易化;除此之外,DOMS通过"代理部 署+数据库本地访问控制",达到无后门式全面承接用户运维管理及管控工作,并对 敏感数据的访问进行动态脱敏,实现对敏感数据的有效隔离、分而治之。 07 威努特 威努特工控漏洞挖掘平台(VHunter IVM)是国内首款独立自主研发获得国际自动化协会安全合规学会ISASecure CRT Tool认证,全球范围内通过EDSA和SSA双重认证的六款
发那科数据服务器使用方法全文共8页,当前为第1页。发那科数据服务器使用方法全文共8页,当前为第1页。文件信息 发那科数据服务器使用方法全文共8页,当前为第1页。 发那科数据服务器使用方法全文共8页,当前为第1页。 技术报告 No. 文件名称 类别 发布日期 数据服务器 经验类技术文档 发布围 关键词: 数据服务器,硬件, 31i-B ,设定, Serv-U ,在线加工 发那科数据服务器使用方法全文共8页,当前为第2页。发那科数据服务器使用方法全文共8页,当前为第2页。Ver 发那科数据服务器使用方法全文共8页,当前为第2页。 发那科数据服务器使用方法全文共8页,当前为第2页。 Date Design Description Pag 1 / 11 发那科数据服务器使用方法全文共8页,当前为第3页。发那科数据服务器使用方法全文共8页,当前为第3页。数据服务器 3 发那科数据服务器使用方法全文共8页,当前为第3页。 发那科数据服务器使用方法全文共8页,当前为第3页。 硬件 3 31i-B 硬件设定 4 NC 端设 定 5 公共 5 FOCAS2 6 数据服务器 6 PING 7 设置 Serv- U 7 进行在线加工 10 进行程序传输 11 用嵌以太网进行程序传输 11 发那科数据服务器使用方法全文共8页,当前为第4页。发那科数据服务器使用方法全文共8页,当前为第4页。1.0 发那科数据服务器使用方法全文共8页,当前为第4页。 发那科数据服务器使用方法全文共8页,当前为第4页。 数据服务器 No. Ver Date Design Description Pag 2 / 11 发那科数据服务器使用方法全文共8页,当前为第5页。发那科数据服务器使用方法全文共8页,当前为第5页。数据服务器功能主要用于在线加工和程序传输,相比传统的数据服务器功能主要用于在线加工和程序传输,相比传统的数据服务器数据服务器RS-232 通讯方式,更加稳定。RS-232 通讯方式,更加稳定。 发那科数据服务器使用方法全文共8页,当前为第5页。 发那科数据服务器使用方法全文共8页,当前为第5页。 数据服务器功能主要用于在线加工和程序传输,相比传统的 数据服务器功能主要用于在线加工和程序传输,相比传统的 数据服务器 数据服务器 RS-232 通讯方式,更加稳定。 RS-232 通讯方式,更加稳定。 使用数据服务器功能,必须选配快速以太网板和数据服务器功能,电脑需要安装使用数据服务器功能,必须选配快速以太网板和数据服务器功能,电脑需要安装Serv-U 软件。 使用数据服务器功能,必须选配快速以太网板和数据服务器功能,电脑需要安装 使用数据服务器功能,必须选配快速以太网板和数据服务器功能,电脑需要安装 系统 快速以太网板 数据服务器功能 0i-D A02B-0319-J146 A02B-0320-S737 31i-A A02B-0303-J146 A02B-0307-S737 31i-B A02B-0323-J147 A02B-0327-S737 1. 硬件 首先确定在显示器后面的插槽中,是否插有快速以太网板。快速以太网板,标有首先确定在显示器后面的插槽中,是否插有快速以太网板。快速以太网板,标有ETHER ,端口 首先确定在显示器后面的插槽中,是否插有快速以太网板。快速以太网板,标有 首先确定在显示器后面的插槽中,是否插有快速以太网板。快速以太网板,标有 CD38R 。 在系统开机,快速以太网板成功初始化后,按在系统开机,快速以太网板成功初始化后,按SYSTEM 键->系统键,会显示如下画面: 在系统开机,快速以太网板成功初始化后,按 在系统开机,快速以太网板成功初始化后,按 OPTION BOARD (选项板)一栏中,已识别出 ETHER/DTSVR (快速以太网板)。 1.0 数据服务器 No. Ver Date Design Description Pag 3 / 11 发那科数据服务器使用方法全文共8页,当前为第6页。发那科数据服务器使用方法全文共8页,当前为第6页。1.1 31i-B 硬件设定 发那科数据服务器使用方法全文共8页,当前为第6页。 发那科数据服务器使用方法全文共8页,当前为第6页。 31iB 系统与 0iD 、 31iA 系统,在数据服务器的设定上不同。 31iB 系统主要是多了 970、 971 和 972 号参数,用来选择硬件(选项板)来运行功能。 参数 含义 970 选择运行以太网或数据服务器的硬件 971 选择运行第一 FL-net 功能的硬件 972 选择运行第二 FL-net 功能的硬件 设定值 硬件 -1 未使用 0 未设置 1 多功能以太网 2 (保留) 3 安装在 1 槽的快速以太网板 4 安装在 2 槽的快速以太网板 5
XXX公司 网络安全管理制度 为增强公司网络系统的安全管理,防备因偶发性事件、网络病毒等造成系统 故障,阻碍正常的工作次序,特拟订本管理方法。 一、网络系统的安全运转,是公司网络安全的一个重要内容,公司专人负责网 络系统的安全运转工作。 二、网络系统的安全运转包含四个方面; 1、是网络 系统数据 资源的安全保护; 2、是网络 硬件设施 及机房的安全运转; 3、是网络 病毒的防治管理; 4、是上网信息 的安全。 (一) 数据资源的安全保护 网络系统中存贮的各样数据信息,是生产和管理所一定的重要数据 , 数据资源的破坏将严重影响生产与管理工作的正常运转。数据资源安全保护 的主要手段是数据备份,规定以下: 1. 、办公室要做到数据一定每周一备份。 2. 、财务部要做到数据一定每天一备份。 3. 、一般用机部门要做到数据一定每周一备份 . 4. 、数据备份时一定登记以备检查,数据备份一定正确、靠谱。 5. 、严格网络用户权限及用户名口令管理。 6. 、纸质数据长久保存 , 电子数据半年更新,保存一年。 ( 二) 硬件设施及机房的安全运转 1 、硬件设施的供电电源一定保证电压及频次质量 , 一般应同时 配有不中断供电电源,防止因市电不稳固造成硬件设施破坏。 2. 、设施的检修或保护、操作一定严格按要求办理,根绝因人为要素破坏硬件设施。 3. 、网络机房一定有防盗及防火举措。 4. 、保证网络运转环境的洁净 , 防止因集灰影响设施正常运转。(三 ) 网络病毒的防治 1 、各服务器一定安装防病毒软件 , 上网电脑一定保证每台电脑要安装防病毒软件。 2. 、按期对网络系统进行病毒检查及清理。 3 、全部 U盘须检查确认无病毒后 , 方能上机使用。 4 、严格控制外来 U 盘的使用,各部门使用外来 U 盘须经查验认同,擅自 使用造成病毒损害要追查当事人责任。 5、增强上网人员的职业道德教育,禁止在网上玩游戏,看于工作没关的网站,下 载歌曲图片游戏等软件 , 一经发现将严肃办理 . ( 四)上网信息及安全 1. 、网络管理员一定按期对网信息检查,发现有关泄露公司机密及不健康信息要实时 删除,并记录 , 随时上报主管领导。 2. 、要严格履行国家有关法律法例,防备发生窃密、泄密事件。外来人员未经单位主 管领导赞同赞同,任何人不得擅自让外来人员使用我公司的网络系统作任何用途 。 3. 、要增强对各网络安全的管理、检查、监察,一旦发现问题实时上报公司负责人。 公司计算机安全负责人剖析并指导有关部门作好善后办理,对造成事故的责任人 要依照情节赐予必需的经济及行政办理。 4、未经公司负责人赞同,联络在公司网络上的所实用户,禁止在同过其余进口上 因太网或公司外单位网络 . XXX公司 年代日 ----------------------- 单位网络安全管理制度全文共2页,当前为第1页。 单位网络安全管理制度全文共2页,当前为第2页。
公安局网络安全简报全文共12页,当前为第1页。公安局网络安全简报全文共12页,当前为第1页。公安局网络安全简报 公安局网络安全简报全文共12页,当前为第1页。 公安局网络安全简报全文共12页,当前为第1页。 1.公安局网安工作怎样样 网络平安工作也称谓网络警察。 依据《中华人民共和国人民警察法》第6条的规定,人民警察应当依法履行"监督管理计算机信息系统的平安保卫工作"的职责。即此而言,目前正在从事公共信息网络平安监察工作的人民警察当称之为"网络警察"。 网络警察的消失是网络平安进展的结果,面对严峻的网络平安形势,网络警察必需担负起监督管理计算机信息系统的平安保卫工作,这就要求网络警察必需有较高的政治素养、专业素养、业务素养、文化素养、身体素养以及其他方面的素养。只要这样,网络警察才能应付日益猖撅的网络犯罪,才能真正胜任计算机信息系统的平安爱护工作。 依据中华人民共和国国务院1994年颁布的《中华人民共和国计算机信息系统平安爱护条例》第六条规定:"公安部主管中国计算机信息系统平安爱护工作",第十七条规定:"公安机关对计算机信息系统平安爱护工作行使下列权利: 监督职权 (一)监督、检查、指点计算机信息系统平安爱护工作; (二)查处危害计算机信息系统平安的违法犯罪案件; (三)履行计算机信息系统平安爱护工作的其他监督职责。 详细职责 公安局网络安全简报全文共12页,当前为第2页。公安局网络安全简报全文共12页,当前为第2页。 (一)宣扬计算机信息系统平安爱护法律、法规和规章; (二)检查计算机信息系统平安爱护工作; (三)管理计算机病毒和其他有害数据的防治工作; (四)监督、检查计算机信息系统平安公用产品销售活动; (五)查处危害计算机信息系统平安的违法犯罪案件; (六)依法应当履行的其他职责。 2.派出所的工作简报怎样写 根据下面摹版写,把详细过程和细节添加进去,不要用修饰性词汇。 为打造平安校内建设,加强警校共建,增加辖区幼儿园的防火减灾意识,提升中学校生法律学问和法制观念和自我平安爱护意识。近日,XX派出所所长A丕军带领民警先后深化XX幼儿园、XX学校给全校师生上了一堂以"防火、重平安"为主题的法制宣扬课。 "发生火灾拨打什么号码?""拨打110是干嘛的?"在街上与大人走散了怎样办"、"路上有生疏人跟着你怎样办"、及 "怎样拨打报警电话" 民警通过这些通俗易懂的提问与小伴侣互动,在轻松愉悦的气氛中与小伴侣们架起了沟通桥梁,自然而然地向他们灌输着平安学问。针对幼儿园的特别性和实际状况,派出所民警不但为老师们讲解了日常工作中应当留意的消防常识,发生火灾后的疏散逃命方法,初期火灾的扑救方法,发生火灾后的报警方法等,还认真检查了灭火器的生产日期,并现场演示灭火器的使用方法。最终,幼儿园园长公安局网络安全简报全文共12页,当前为第3页。公安局网络安全简报全文共12页,当前为第3页。XX向我们的民警表示:将进一步确保园内平安长效工作机制落到实处,全力维护校内平安稳定,最大限度地预防和削减各类事故及火灾的发生。 随后,所长A丕军来到XX学校,为全校师生上了一堂精彩的法制宣扬课。课上,A所长首先结合青少年心理特征、生活实际和接受力量,以真实案例为教材,从家庭、学校、社会三个方面,深化浅出地分析讲解了当前犯罪行为的各种诱因,有针对性地讲解了相关法律法规和平安防备学问。 3.公安局网络平安大队是干什么的 简洁说就是担任管理网络,担任国家的网络平安,爱护国家和人民的利益不受侵害。 1、协调、监督、检查、指点对本地区党政机关和金融机构等重要部门公共信息网络和互联网的平安爱护管理工作。 2、监督计算机信息系统的使用单位和国际互联网的互联单位、接入单位及有关用户建立健全平安管理制度的落实状况;检查网络平安管理及技术措施的落实状况。 3、监督、检查和指点计算机信息系统使用单位平安组织和平安员的工作。 4、监督、检查、指点要害部门计算机信息系统平安等级爱护制度的落实。 5、依据国家有关计算机机房的标准和规定,对计算机机房的建设公安局网络安全简报全文共12页,当前为第4页。公安局网络安全简报全文共12页,当前为第4页。和在计算机机房四周的施工进行监督管理。 6、依据国家有关对计算机信息系统(场所)防雷防静电的标准和规定,对计算机信息系统(场所)防雷防静电平安检测工作实行备案登记和平安审核制度。 7、对计算机信息系统平安公用产品销售许可证进行监督检查。 8、对计算机病毒和危害社会公共平安的其他有害数据的防治讨论工作进行管理。 9、查处违反计算机信息网络国际联网国际出入口信道、互联网络、接入网络管理规定的行为。 10、依据有关法律法规的规定,对"网吧"、"酒店电子商务中心"等互联网上网服务营业场所实行备案登记和平安审核制度。 11、把握计算机信息网络国际联网的互
第七章 公司服务器设计和作用 WEB 主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工 具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。  1、服务提供(provisioning)——包括向用户提供新业务和通过增加网络 设备和设施来提高网络性能。   2、维护(maintenance)——包括报警、性能监控、测试、故障修复等。   3、数据,经分、析后作出相应的控制,以优化网络资源的使用效率等。需要指出的 是,从字典上看,administration的动词形式administer的 意思是"管理"、"处理"。在网络管理领域中,anagement一词往往是网络管理 的泛指,它包括了所有网络管理的内容。而administration一词则指网 络管理中比较具体的一些有关网络管理的短期处理(三四十天以内),它属于管理ma nageent中的一部分,故译为"处理"以示区别。在某些情况下,网络管理的范围 还可扩大到网络中通信活动与资源的规划和组织。   因为如果某个网络不能很好地规划和组织,那就根本谈不上对它的监测、计费和控 制。目前,网络管理已成为涉及通信和计算机领域的全球的全球性热门课题。IEEE 通信学会下属的网络营运与管理专业委员会CNOM,从1988起每两年举办一次网 络营运与管理专题讨论会NOMS(NetworkOperationsandMa nagementSymposium)。国际信息处理联合会IFIP从1989年 开始每两年举办一次综合网络管理专题讨论会。还有网络管理与控制的专题讨论会。在 许多有影响的国际通信学术会议上,网络管理已成为必不可少的重要议题。 Mai MAI:Multiple Access Interference 即多址干扰。如果从频域或时域来观察,多个CDMA信号是互相重叠的。接收机用相关器 可以在多个CDMA信号中选出其中使用预定码型的信号。其他使用不同码型的信号因为和 接收机产生的码型不同而不能被解调。它们的存在类似于在信道中引入了噪声或干扰, 通常称之为多址干扰。 FILE File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一 样。   活动目录(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。(Active Directory不能运行在Windows Web Server上,但是可以通过它对运行Windows Web Server的计算机进行管理。)Active Directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些 信息。Active Directory使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑 的分层组织。   在计算机网络术语中,目录代表存储网络上对象信息的一种层次结构。网络上的对 象包括共享资源(例如服务器、打印机、网络用户以及计算机帐号等)、域、应用程序 、服务、安全方针等等的你的网络中的一切事物。一个最典型的例子就是一个网络目录 存储一个用户帐号时,它存储了用户的姓名、密码、电子邮件地址、电话号码等等。 目录服务区别于目录的地方在于,目录服务能够把目录中存储的信息提供给管理员,用 户,网络服务或应用程序。理想情况下,目录服务使网络的物理拓扑结构和协议对用户 来说是透明的,用户可以进入任何资源而不用知道它们之间是怎样以及在哪里连接的。 如上面提到的那个例子,正是目录服务才使得同一网络中的其它授权用户能够了解到该 用户目录中存储的信息(如电子邮件地址)。   目录服务具有广泛的接受力,可以与操作系统结合,也可以与应用程序结合。Wind ows2000成功的把目录服务与操作系统结合在一起,生成了活动目录,它提供了对用户, 计算机和共享资源的管理。就象Microsoft Exchange的email目录服务,它使用户能够查找其它用户的电子邮件地址以便于发送电子 邮件。 活动目录,Windows2000服务器版操作系统的一种新的目录服务,只能运在域控制器上, 它除了能够提供存储信息的场所,提供服务以使信息可用外,还可以保护网络对象不被 非授权用户进入,通过网络复制对象以便在域控制器崩溃时数据不会丢失。   Windows2000中的活动目录具有如下特点:   * 与DNS(域名服务器)紧密结合:Windows2000中的活动目录和DNS紧密结合在一起,这利 于在TCP/IP网络中计算机之间

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心永向阳

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值