精华内容
下载资源
问答
  • 拒绝访问图形硬件
    千次阅读
    2022-01-08 11:21:00

    三级等保要求配置文档-简单配置文档-

    制度里面大部分要需要自己下载文档提供给测评公司

    一、安全物理环境要求

    1. 物理位置得选择

    机房场地应选择在具有防震、防风和防雨等能力的建筑内,机房场地应避免设在建筑物的顶层或地下室,否则应加强防水和防潮措施。
    1) 应核查所在建筑物是否具有建筑物抗震设防审批文档;
    2) 应核査机房是否不存在雨水渗漏;
    3) 应核查门窗是否不存在因风导致的尘土严重;
    4) 应核査屋顶、墙体、门窗和地面等是否不存在破损开裂。

    2. 物理访问控制

    机房出入口应配置电子门禁系统,控制、鉴别和记录进入的人员。

    3. 防盗窃和防破坏

    1) 应核查机房内设备或主要部件是否固定;
    2) 应核査机房内设备或主要部件上是否设置了明显且不易除去的标识,指贴标签;
    3) 应核査机房内通信线缆是否铺设在隐蔽安全处,如桥架中等;
    4) 应核査机房内是否配置防盗报警系统或专人值守的视频监控系统;
    5) 应核查防盗报警系统或视频监控系统是否启用。

    4. 防雷击

    1)应将各类机柜、设施和设备等通过接地系统安全接地;
    2)应采取措施防止感应雷,例如设置防雷保安器或过压保护装置等。

    5. 防火

    1)机房应设置火灾自动消防系统,能够自动检测火情、自动报警,并自动灭火;
    2)机房及相关的工作房间和辅助房应采用具有耐火等级的建筑材料;
    3)应对机房划分区域进行管理,区域和区域之间设置隔离防火措施。

    6. 防水和防潮

    1)应采取措施防止雨水通过机房窗户、 屋顶和墙壁渗透;
    2)应采取措施防止机房内水蒸气结露和地下积水的转移与渗透;
    3)应安装对水敏感的检测仪表或元件,对机房进行防水检测和报警。

    7. 防静电

    1)应采用防静电地板或地面并采用必要的接地防静电措施;
    2)应采取措施防止静电的产生,例如采用静电消除器、佩戴防静电手环等。

    8. 温湿度控制

    应设置温、湿度自动调节设施,使机房温、湿度的变化在设备运行所允许的范围之内。
    1) 应核査机房内是否配备了专用空调;
    2) 应核查机房内温湿度是否在设备运行所允许的范围之内。

    9. 电力供应

    1)应在机房供电线路上配置稳压器和过电压防护设备;
    2)应提供短期的备用电力供应,至少满足设备在断电情况下的正常运行要求,配备UPS等后备电源系统,UPS等后备电源系统是否满足设备在断电情况下的正常运行要求;
    3)应设置冗余或并行的电力电缆线路为计算机系统供电;
    4)应提供应急供电设施,建议配备柴油发电机,应急供电车等备用发电设备,有条件可以提供。

    10. 电磁防护

    1)电源线和通信线缆应隔离铺设,避免互相干扰;
    2)应对关键设备实施电磁屏蔽。

    二、安全通信网络

    1. 网络架构

    1)保证网络设备的业务处理能力满足业务高峰期需要;
    查看网络设备得CPU使用率和内存使用率是否满足要求,主要查看防火墙的性能,一般防火墙的可以直接界面查看。
    交换机查看:display cpu-usage 和display memory-usage
    宕机查看使用:display version 防火墙查看上线时间。

    满足性能查看年或者月周期的性能周期表。

    2)应保证网络各个部分的带宽满足业务高峰期需要;
    查看防火墙月和周,年的网络性能图,只要没有100%,满足要求
    3)应划分不同的网络区域;
    并按照方便管理和控制的原则为各网络区域分配地址,根据重要性、部门等因素划分不同的网络区域
    业务网络和办公网络分配不同的vlan和网段。
    交换机上使用:dis vlan 查看各个区域vlan
    dis ip inter br 查看网段信息

    4)应避免将重要网络区域部署在边界处;
    重要网络区域与其他网络区域之间应采取可靠的技术隔离手段,网络拓扑图要与实际网络运行环境一致,重要网络区域不能部署在网络边界处,要网络区域与其他网络区域之间采取可靠的技术隔离手段,如网闸、防火墙和设备访问控制列表(ACL)等
    dis acl all查看网络隔离信息。
    5)拓扑图示例;
    跟实际网络运行环境一致,区域划分,设备名称和IP地址要标注。

    6)网络设备、安全设备和关键计算设备的硬件冗余(主备或双活等)和通信线路冗余
    主要网络和安全设备要做双机热备,硬件服务器核心业务要做热备,通信线路要热备是最基本的系统保障。
    网络设备是:核心交换机堆叠或者vrrp
    安全设备:防火墙双机,WAF双机,上网行为管理双机等。
    硬件服务器:做集群
    出口:至少两条运营商线路。

    2. 通信传输

    数据传输过程中使用校验技术和密码技术来保证其完整性
    1)网站使用SSL证书,HTTP改为HTTPS访问,远程办公人员使用SSL VPN连接内部网络等。

    3. 可信验证

    可基于可信根对通信设备的系统引导程序、系统程序、重要配置参数和通信应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心
    PASS

    三、安全区域边界

    1. 边界防护

    1)网络边界出口部署访问控制设备-防火墙
    2)跨越边界的访问和数据流通过边界设备提供的受控接口进行通信-防火墙只允许指定的业务端口通信,指DNAT映射。只允许指定的业务终端和管理终端访问互联网,指SNAT。拒绝所有未指定的端口和终端内外互连。每条DNAT和SNAT要写好明细,一定是有效的策略。
    3)非授权设备私自联到内部网络的行为进行检查或限制,有条件要做802.1x,它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。.
    4)采用技术措施防止内部用户存在非法外联行为-安装上网行为管理设备,对互联网用户包括对网页访问过滤、上网隐私保护、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。
    5)限制无线网络的使用,保证无线网络通过受控的边界设备接入内部网络-有条件安装AP管理器通过防火墙进行统一管理认证登录联网。

    2. 访问控制

    1)网络边界或区域之间部署访问控制设备并启用访问控制策略;设备的最后一条访问控制策略是禁止所有网络通信。限制访问源和目的的端口的控制策略。禁止所有网络通信。

    交换机的ACL配置做端口级限制

    限制WAN区域对防火墙的外网访问,只有sslVPN可以访问防火墙,限制内网对防火墙的管理访问,只有堡垒机IP可以访问和指定的监控服务器访问防火墙。

    交换机限制访问,WAF限制访问,堡垒机限制访问等所有网络设备和安全设备限制访问源

    2)删除多余或无效的访问控制规则,优化访问控制列表,并保证访问控制规则数量最小化
    优化防火墙的NAT规则,不能有无效规则,同样的规则整合在一条规则里面,整合到最小化,最优化。

    3)对源地址、目的地址,源端口、目的端口和协议等进行检查,以允许/拒绝数数据包进出
    查看防火墙的详细NAT转换日志

    4)根据会话状态信息为进出数据流提供明确的允许/拒绝访问的能力,查看实时的会话状态功能。

    5)对进出网络的数据流实现基于应用协议和应用内容的访问控制-功能查看同上。

    3. 入侵防范

    1)关键网络节点处检测、防止或限制从外部发起的网络攻击行为。
    防火墙必须有高级威胁防护和IPS入侵检检测防护功能,及时更新最新版。

    安装有深信服全流量分析系统-NTA硬件设备,及时更新最新版。

    2)当检测到攻击行为时,记录攻击源IP、攻击类型、攻击目标、攻击时间,在发生严重入侵事件时应提供报警。

    4. 恶意代码和垃圾邮件防范

    1)关键网络节点处对恶意代码进行检测和清除,并维护恶意代码防护机制的升级和更新
    防火墙和端点防护联动,检测主机的安全和防护恶意软件入侵。

    2)关键网络节点处对垃圾邮件进行检测和防护并维护垃圾邮件防护机制的升级和更新

    5. 安全审计

    1)网络边界、重要网络节点进行安全审计,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
    所有的网络设备和安全设备的日志本地存储的同时,还要配置发送到日志审计服务器,做日志分析和实时审计。
    操作都必须通过堡垒机进行登录管理做审计。
    交换机配置日志服务器

    防火墙配置日志服务器

    所有的网络设备和安全设备都配置日志服务器。

    2)审计记录进行保护,定期备份,避免受到未预期的删除 、修改或覆盖
    所有的审计记录不仅本机存储,还要有备份服务器定期备份,保留六个月以上。
    堡垒机的日志传输到日志审计设备,然后日志审计设备需要再备份到FTP服务器。

    3)远程访问的用户行为、访问互联网的用户行为等单独进行行为审计和数据分析
    需要在防火墙上提现出远程用户的登陆记录访问日志,访问互联网的用户在上网行为管理上展现。
    防火墙和上网行为管理的的日志传输到日志审计设备,然后日志审计设备需要再备份到FTP服务器。
    6. 可信验证
    PASS

    四、安全计算环境

    1. 身份鉴别

    1)登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换,不能有空口零,复杂度12位以上,大写小字母数字+符号组合。
    Windows配置

    ---------------Linux配置账号密码期限90天立马生效-----------
    chage -M 90 root 超级用户
    chage -M 90 admin 普通管理员
    chage -M 90 sysaudit 审计用户
    chage -M 90 syssafe 安全管理员

    Linux配置账号密码期限90天,配置后新建的账号生效
    cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
    cp /etc/login.defs /etc/login.defs.bak
    vim /etc/login.defs
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 0
    PASS_MIN_LEN 12
    PASS_WARN_AGE 14
    查看 chage -l root

    Linux复杂度要求
    vim /etc/pam.d/system-auth 编辑此文件,加入下边一行。
    password requisite pam_cracklib.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
    vim /etc/pam.d/password-auth
    password requisite pam_cracklib.so minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

    数据库密码复杂度要求,定期修改账号口令,满足强策略要求
    2)具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
    Windows配置

    Windows远程桌面超时自动退出时间。

    Linux配置,300秒无操作退出,SSH配置60秒检测三次无信号退出,配置不能直接root登录。
    Vim /etc/profile
    TMOUT=300
    export TMOUT

    vim /etc/ssh/sshd_config
    ClientAliveInterval 60
    ClientAliveCountMax 3
    PermitRootLogin prohibit-password

    ------------------------------------------------账号密码错误三次锁定-----------------------------------
    以及/etc/pam.d/sshd中是否设置登录规则,如果没有可以加入:
    echo “#%PAM-1.0” >> /etc/pam.d/sshd
    echo “auth include password-auth” >> /etc/pam.d/sshd
    echo “account include password-auth” >> /etc/pam.d/sshd
    echo “password include password-auth” >> /etc/pam.d/sshd
    echo “session include password-auth” >> /etc/pam.d/sshd
    vim /etc/pam.d/system-auth
    auth required pam_tally2.so onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300
    vim /etc/pam.d/password-auth
    auth required pam_tally2.so onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300
    ------------------------------------------------账号密码错误三次锁定-----------------------------------

    交换机身份验证失败处理功能,五分钟内三次输错锁定十分钟。
    local-aaa-user wrong-password retry-interval 5 retry-time 3 block-time 10

    3)当进行远程管理时,应采取必要措施、防止鉴别信息在网络传输过程中被窃听。
    通过网页管理的使用HTTPS,linux使用SSH,交换机使用SSH,windows使用远程桌面,远程办公用户管理后台使用sslVPN连接,访问后台。
    默认安全设备都使用HTTPS访问,需要修改交换机的远程方式为SSH。

    华为交换机配置SSH登录:
    [Huawei]rsa local-key-pair create 在本地设备服务端生成秘钥对
    [Huawei]user-interface vty 0 4进入虚拟终端
    [Huawei-ui-vty0-4]authentication-mode aaa认证模式AAA
    [Huawei-ui-vty0-4]protocol inbound ssh 配置允许登录接入用户类型的协议(all | ssh | telnet)
    [Huawei]aaa 进入AAA-创建用户
    [Huawei-aaa]local-user yowladmin password cipher admin privilege level 15
    设置用户名密码、用户等级
    [Huawei]stelnet server enable打开SSH
    [Huawei]ssh user admin authentication-type password认证模式为密码模式
    [Huawei]ssh user admin service-type stelnet服务方式
    [Huawei]undo telnet server enable 关闭telnet服务

    4)采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
    想要两种身份鉴别技术,需要硬件支持,个别设备支持本机配置OTP。
    堡垒机OTP配置需要先配置NTP,时间一定要准确,时间同步后,配置OTP,关联用户。

    关联用户后,用户登陆的时候会让输入串号,先点获取OTP认证,输入密码,出现二维码使用谷歌验证器或者微软验证器扫描会出现6位数字,输入串号框里面,输入验证码登录

    防火墙配置OTP,举例SOPHOS配置,防火墙的叫一次性密码。
    身份验证-一次性密码-设置-里面的选项全部打开,除了超级管理员,普通用户断开重新登陆的时候就要使用sophos验证器或者谷歌验证器来扫描二维码进行重新登陆了。账号名称不变,密码是:原密码+6位生成的数字。

    服务器的双因素认证可能需要借助硬件设备或者配置认证服务器来验证。

    2. 访问控制

    1)对登录的用户分配账户和权限,重命名或删除默认账户,修改默认账户的默认口令
    所有网络设备和安全设备以及操作系统的三权分立配置。
    下边是交换机的配置,其余的安全设备图形化配置

    都需要配置系统普通用户和系统审计用户,系统安全用户,然后分配各自用户的权限,重命名默认账户,禁用无用的账户。
    cat /etc/passwd 查看

    2)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
    对于各个应用程序都用指定的启用用户,不能使用超级管理员启用。windows和linux 都要配置。

    3. 安全审计

    1)启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计

    Linux的所有日志发送给日志审计设备进行审计。

    2)审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
    日志审计服务器存储6个月的日志,每天再发给FTP服务器,再做归档存储,存储两份。

    4. 入侵防范

    1)服务器操作系统遵循最小安装的原则仅安装需要的组件和应用程序
    2)关闭不需要的系统服务、默认共享和高危端口
    Windows 和linux 开启防火墙,只允许业务端口通信,windows需禁止135,139,445等端口。

    3)通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制
    windows只有一种管理方式RDP,只允许堡垒机访问。

    Linux的SSH管理,只允许堡垒机IP和指定IP访问

    4)所有的服务器和网络安全设备都要限制访问源,堡垒机IP和指定的管理员IP,最多两个。
    5)提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求

    6)发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞
    恶意代码防范
    Windows和Linux服务器的漏洞需要全部打上,一个高危漏洞都不能有,可以搭建补丁服务器,及时更新,还有是linux底层的网络和安全设备也不能有漏洞,打完补丁后使用漏洞扫描设备扫描评估。
    7)够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警
    安装EDR,端点防护软件

    5. 恶意代码防范

    安装EDR,端点防护软件

    6. 可信验证

    PASS

    7. 数据完整性

    1)采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等
    数据库传输数据到存储的时候使用加密的方式进行传输。

    8. 数据保密性

    1)采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等
    数据库传输和保存数据到存储的时候使用加密的方式进行传输。

    9. 数据备份恢复

    1)提供重要数据的本地数据备份与恢复功能,测试备份数据的完整性和可用性
    数据库要每周或者每天备份,有备份策略,服务器的操作系统要备份,每天或者每月有备份策略
    使用数据备份一体机,增加虚拟机,DB2和MYSQL备份
    2)提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地
    可备份到云,或者其他物理机房实时备份。
    3)提供重要数据处理系统的热冗余,保证系统的高可用性
    包括边界路由器、边界防火墙、核心交换机、应用服务器 和数据库服务器等)是否釆用热冗余方式部署
    防火墙双机,核心交换机双机,应用服务器集群,数据库服务器双机,虚拟化的服务器也要是双机热备。
    4)应建立异地灾难备份中心,提供业务应用的实时切换
    PASS,有条件可做。

    10. 剩余信息保护

    1)保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除
    2)保证存有敏感数据的存储空间被释放或重新分配前得到完全清除
    所有服务器和终端启用配置“不显示上次登录用户名”,采取相关措施,对服务器、终端的鉴别信息所在的存储空间被释放或重新分配前得到完全清除。
    所有服务器和终端启用配置“关机前清除虚拟内存页面”,采取有效措施保证有敏感数据的存储空间被释放或重新分配前得到完全清除。

    11. 个人信息保护

    1)仅采集和保存业务必需的用户个人信息,禁止未授权访问和非法使用用户个人信息
    采集的用户个人信息是业务应用必需的;
    采用技术措施限制对用户个人信息的访问和使用;指应用系统权限控制。
    制定个人信息保护制度,对个人信息的采集、存储、使用、销毁等的具体流程及措施进行规定,并对个人信息泄露的处置流程进行具体的规定。

    12. 数据完整性和保密性

    PASS

    五、安全管理中心

    1. 系统管理

    主要网络设备、安全设备、主机通过堡垒机进行统一的管理,且在管理制度上有明确系统管理员的岗位职责,通过系统管理员对设备和主机进行统一的操作。
    管理员修改设备登录地址限制,使主要设备、主机只能通过堡垒机等设备进行登录,并对系统管理员进行身份鉴别,只允许系统管理员通过特定的命令或操作界面进行系统管理操作,并对这些操作进行审计。
    主要配置所有设备添加进堡垒机,通过堡垒机系统管理员给运维人员分发管理权限。添加系统管理员账号。

    2. 审计管理

    主要网络设备、安全设备、主机通过堡垒机进行统一的管理,且在管理制度上有明确审计管理员的岗位职责,通过审计管理员对审计记录进行分析与处理。
    管理员修改设备登录地址限制,使主要设备、主机只能通过堡垒机等设备进行登录,通过审计管理员对审计记录进行分析,并根据分析结果进行处理,包括根据安全审计策略对审计记录进行存储、管理和查询等。
    主要在堡垒机配置审计管理员账户,限制审计管理员的IP登录堡垒机,只能查看和分析日志。

    3. 安全管理

    主要网络设备、安全设备、主机通过堡垒机进行统一的管理,且在管理制度上有明确安全管理员的岗位职责,通过安全管理员对安全策略进行配置;对主体、客体进行统一安全标记,对主体进行授权,配置可信验证策略。
    管理员修改设备登录地址限制,使主要设备、主机只能通过堡垒机等设备进行登录,并对安全管理员进行身份鉴别,只允许安全管理员通过特定的命令或操作界面进行安全管理操作,并对这些操作进行审计。
    主要在堡垒机配置安全管理员账户。

    4. 集中管控

    管理员部署相应的集中监测设备,对网络链路、安全设备、网络设备和服务器等的运行状况集中监测。
    部署第三方软件,对网络中所有设备运行状况集中检测。免费的有zabbix。

    安装日志审计设备
    安装漏洞扫描设备,配置补丁服务器
    安装网络流量分析设备等。
    所有设备配置邮件报警或者短信报警或者配置集中报警。
    安装端点防护集中监控服务器状态,防止恶意代码和病毒入侵。
    安装web防火墙防止网站被恶意攻击,配置防篡改功能防止网站被篡改。

    六、安全管理制度和机构

    1. 管理制度

    应对安全管理活动中的各类管理内容建立安全管理制度
    完善外部人员相关安全管理制度内容,补充所缺的岗位职责文件,形成完整的安全管理制度体系。
    完善安全管理制度,妥善保存记录表单,形成由安全策略、管理制度、操作规程等构成的全面的信息安全管理制度体系。
    制定相关文件明确制度的发布流程,将所有安全管理制度通过正式、有效的方式发布,并对安全管理制度进行版本控制。

    2. 岗位设置

    应成立指导和管理网络安全工作的委员会或领导小组,其最高领导由单位主管领导担任或授权

    3. 安全管理人员

    应对各类人员进行安全意识教育和岗位技能培训,并告知相关的安全责任和惩戒措施
    应在外部人员接入受控网络访问系统前先提出书面申请,批准后由专人开设账户、分配权限,并登记备案
    人员录用,人员离岗,提供各类人员签署的保密协议,提供网络管理、系统管理和数据库管理等关键岗位人员签署的岗位安全协议,完善离岗人员交接手续,填写离职交接记录。
    办理严格的调离手续,关键岗位人员离岗须承诺调离后的保密义务后方可离开,提供具有相关人员调离手续的记录(如人员离岗的交接记录),提供具有调离人员签字的保密承诺文档(可以在保密条款中明确离职后的保密条款)。

    4. 沟通和合作

    提供外联单位联系列表,包括外联单位名称、合作内容、联系人和联系方式等信息

    5. 安全建设管理

    应确保网络安全产品采购和使用符合国家的有关规定
    应保证开发单位提供软件源代码,并审查软件中可能存在的后门和隐蔽信道
    应进行上线前的安全性测试,并出具安全测试报告,安全测试报告应包含密码应用安全性测试相关内容
    定期监督、评审和审核服务供应商提供的服务,并对其变更服务内容加以控制,提供针对服务商的服务进行评价的评价记录表。

    6. 审核和检查

    安全管理员定期进行安全检查,检查内容包括系统日常运行情况。
    安全管理员定期进行全面安全检查,检查内容包括现有安全技术措施的有效性、安全配置与安全策略的一致性、安全管理制度的执行情况等,并妥善保存检查报告。

    七、安全运维管理

    1. 环境管理

    对机房供配电、空调、温湿度控制等设施进行维护管理,提供机房供配电、空调、温湿度控制、消防等设施的巡检记录,提供机房出入登记记录。
    在《人员安全管理制度》中增加“明确接待来访人员的区域”相关内容。

    2. 介质管理

    对存档介质进行定期盘点,提供相关盘点记录。
    对介质的归档、查询等进行登记记录,提供相关记录。

    3. 设备维护管理

    完善设备维护相关流程对设备维修和服务的审批、维修过程等进行监督控制,并保留相关记录。
    提供设备带离机房或办公环境的审批记录(如设备维修)。

    4. 网络和系统安全管理

    1)严格控制运维工具的使用,经过审批后才可接入进行操作,操作过程中应保留不可更改的审计日志,操作结束后应删除工具中敏感数据;
    关闭所有直接连接服务器的远程工具,连上VPN后登录堡垒机账号,通过服务器清单申请需要管理的服务器,然后管理员审批后获得权限。
    普通运维人员要先下工单申请, 审批管理员登录审批,审批后普通用户可以管理申请的设备。

    2)应保证所有与外部的连接均得到授权的批准,应定期检查违反规定无线上网及其他违反网络安全策略的行为
    提供与外部连接的相关审批记录。

    严格控制远程运维的开通,经过审批后才可开通远程运维接口或通道,提供开通远程运维接口或通道的审批记录。
    完善系统外部连接管理,严格执行所有与外部连接的审批程序,并妥善保存审批记录。

    5. 配置管理

    基本配置信息改变纳入变更范畴,实施对配置信息改变的控制,并及时更新基本配置信息库,记录配置信息变更,并妥善保存记录。

    6. 安全事件处置

    提供安全事件处置记录,内容包含分析和鉴定事件产生的原因,收集证据,记录处理过程,总结经验教训等。
    安全弱点和可疑事件报告管理不完善,没有提供安全弱点和可疑事件上报记录。

    7. 恶意代码防范管理

    完善安全设备策略,提高恶意代码防范力度,及时更新终端防病毒软件的病毒库,对截获的恶意代码进行分析并形成报告。
    网络层面的防火墙和流量分析设备,主机层面的端点防护软件。

    8. 变更管理

    系统重大变更前建立变更方案,变更方案经过评审、审批后方可实施,妥善保存变更方案及相关审批记录。
    管理员提供系统变更方案及方案评审记录和变更过程记录。

    9. 备份与恢复管理

    定期进行常规安全检查,检查内容包括系统日常运行、系统漏洞和数据备份等情况;
    周期性查看系统运行情况。
    周期性对网络设备和主机设备进行漏洞扫描。
    网络设备和安全设备的配置要定期备份存储。
    其余设备的配置都是图形化,下边是交换机每次配置后自动备份配置:
    set save-configuration delay 1
    set save-configuration backup-to-server server 172.20.5.237 transport-type ftp user logbackup password %%#a9o;"t|E&Q&39+Zy"R]*Lh(GAJ~8f4UbhmL9@A+%%#(密码) path /

    10. 应急预案管理

    对系统相关的人员进行应急预案培训,应急预案的培训应至少每年举办一次,提供应急预案培训和应急演练记录。

    八、硬件配置清单

    安全设备

    安全管理与运维审计系统-堡垒机必备
    边界防火墙-业务映射,流量检测,入侵检测,高级威胁防护APT,IPSEC,SSLVPN等必备
    数据库防火墙-数据库漏洞攻击可以通过数据库防火墙的虚拟补丁功能进行防护。
    数据库审计系统-审计数据库的连接和查询信息,记录保存。
    全流量流量分析设备-一款专门面向APT(Advanced Persistent Threat)高级持续性攻击行为,提供全方位检测、发现的产品。
    上网行为管理-全网终端、应用、数据和流量的可视可控,智能感知终端违规接入、上网违规行为、敏感数据泄密等内部风险
    WEB应用防火墙-针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,网站业务必须经过web防火墙。
    支持云端部署
    远程安全评估系统-漏洞和端口扫描评估设备。
    日志审计设备-收集网络和安全设备,以及主机的日志,进行分析和归档保存,6个月以上。

    集中管控设备

    管理运维设备或软件
    zabbix等开源或者收费软件,对网络设备和服务器进行监控和故障警报。
    网页防篡改

    安全配置
    锁定需要保护的网站页面(例如敏感页面)。
    支持云端部署
    企业主机安全

    安全配置
    通过主机管理、风险预防、入侵检测、高级防御、安全运营、网页防篡改功能,全面识别并管理主机中的信息资产,实时监测主机中的风险并阻止非法入侵行为。
    支持云端部署

    端点防护软件
    安全软件
    免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。

    备份一体机
    备份设备
    对操作系统数据库,虚拟机等周期性备份
    SSL证书

    安全配置
    网站必须是HTTPS加密访问
    身份鉴别技术设备或者软件
    安全配置或者硬件设备
    身份鉴别技术详解 采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别。OTP,短信,radius服务器等

    更多相关内容
  • 如何解决linux下FTP服务器访问权限.pdf
  • 自动控制系统中的图形用户界面设计分析doc,自动控制系统中的图形用户界面设计分析
  • 1. 资源子网提供访问网络和处理数据的能力,由( D )、终端控制器和终端组成。 A. 应用软件 B. 系统软件 C. 资源软件 D. 主 2 . 关于计算机网络的分类,以下说法正确的是( A )。 A. 按网络拓扑结构划分:总线型、...
  • 主机防火墙与访问控制

    千次阅读 2020-08-14 08:58:34
    防火墙有两种,一种是网络防火墙,主要部署在网络的出口处,另外就是主机防火墙,是运行在主机上的,主机防火墙可以阻止未授权用户通过网络访问计算机来保护您的计算机,Windows和Linux都有自带的防火墙。...

    一、防火墙原理

    1. 防火墙功能

    防火墙firewall:将内网区域与外部不安全网络区域隔离开来。内部网络和外部网络之间的所有网络数据流都必须经过防火墙。

    防火墙示意图

    防火墙设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的,是不同网络或网络安全域之间信息的唯一出入口,通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,有选择地接受外部访问,对内部强化设备监管、控制对服务器与外部网络的访问,在被保护网络和外部网络之间架起一道屏障,以防止发生不可预测的、潜在的破坏性侵入。防火墙作用:
    1.强化内部网络的安全性
    防火墙可以限制非法用户,比如防止黑客、网络破坏者等进入内部网络,禁止存在安全脆弱性的服务和未授权的通信进出网络,并抗击来自各种路线的攻击。对网络存取和访问进行记录、监控作为单一的网络接入点,所有进出信息都必须通过防火墙  。
    2. 限定内部用户访问特殊站点
    防火墙通过用户身份认证来确定合法用户。防火墙通过事先确定的完全检查策略,来决定内部用户可以使用哪些服务或网站。
    3. 限制暴露用户点,防止内部攻击
    利用防火墙对内部网络的划分,可实现网络中网段的隔离,防止影响一个网段的问题通过整个网络传播,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响,同时,保护一个网段不受来自网络内部其它网段的攻击 [6]  。
    4. 网络地址转换(NAT,Network Address Translation)
    防火墙可以作为部署NAT的逻辑地址。
    5. 虚拟专用网(VPN,Virtual Private Network)
    防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN。

    2. 防火墙类型

    保护对象上的分类:

        主机防火墙:针对于单个主机进行防护,是运行在主机上的,主机防火墙可以阻止未授权用户通过网络访问计算机来保护您的计算机Windows和Linux都有自带的防火墙。
        网络防火墙:往往部署于网络边界,对流入以及流出的流量进行过滤

    网络防火墙从产品形态来说可以分为软件防火墙和硬件防火墙:

        硬件防火墙:拥有经过特别设计的硬件及芯片,性能高、成本高
        软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低、成本低

    防火墙通常使用的安全控制手段主要有包过滤、状态检测、代理服务等。

    3. 防火墙规则与配置

    防火墙的作用是防止不希望的、 未授权的通信进出被保护的网络。

    用一个防守城堡的比方:

    入城检查:入侵者想要进入一座城,它有多种方式,打扮成各种方式入城,例如,假口令、假令牌,伪装等。所以要防止这种可疑的人员入城的,另外对于城内百姓,也是禁止百姓靠近城内的主要防御设施。

    出城监视:同时为了更好保护城内百姓,守城队当然还需要打探城外的动向,了解到那些地方安全,那些地方有危险,然后规定普通百姓想要出城,有一些地方能去,有些地方有危险不能去。

    防火墙有以下两种之一的默认配置:
    (一)拒绝所有的通信。在这种情况下,内外的通信完全被阻断,是最安全但也最不适用的形式。
    (二)允许所有的通信。在这种情况下,内外可以进行无限制的通信,防火墙好象不存在。
    对于安全性要求比较高的防火墙,一般采用拒绝所有通信作为默认设置。一旦安装了防火墙,为了授予防火墙内的用户访问他们的被授权的系统,则需要打根据公司的安全策略只打开某些特定的端口以允许特定的内外通信,这就是需要进行相应的访问规则的配置。

    防火墙的规则
    访问规则定义了允许或拒绝网络之间的通信的条件。访问规则中运用的元素是防火墙中可用于创建特定访问规则的配置对象。规则元素一般可分为以下五种类型:                  

    1. 协议。此规则元素包含一些协议,可用于定义要用在访问规则中的协议。例如,您可能想要创建只允许 HTTP 通信的访问规则,则在配置时对于协议的选择则只选用HTTP即可。
    2. 用户集。用户集包含许多单独的用户或用户组。您可以使用 Active Directory 域用户或用户组、远程身份验证拨入用户服务 (RADIUS) 服务器组或 SecureID 组等创建用户集。在规则配置时则可以针对不同的用户集对网络资源的访问分别采用不同的规则进行访问控制。
    3. 内容类型。此规则元素提供您可能想要应用规则的公共内容类型。例如,您可以使用内容类型规则元素来阻止包含 .exe 或 .vbs 扩展名的所有内容下载。
    4. 计划。此规则元素允许您指定一个星期内要应用规则的小时时段。如果需要定义只允许在指定的小时时段内访问 Internet 的访问规则,则可以创建定义小时时段的计划规则元素,然后在创建访问规则时使用该计划规则元素。
    5. 网络对象。此规则元素允许您创建要应用规则的计算机集,或者将不再应用规则的计算机集。您还可以配置 URL 集和域名集,用来允许或拒绝对特定 URL 或域的访问。
    防火墙规则定义

    二、中标麒麟系统防火墙

    主机防火墙可以阻止未授权用户通过网络访问计算机来保护您的计算机Windows和Linux都有自带的防火墙。通过防火墙可以阻止大量的攻击。

    |提示|:为降低来自网络的攻击风险,按照最小化原则,应关闭不需要的系统服务、默认共享和高危端口。

    1. Linux防火墙体系

    Netfilter是位于Linux内核中的包过滤功能体系,称为Linux防火墙“内核态”。

    firewalld/iptables是Centos7默认的管理防火墙规则的工具,称为Linux防火墙的“用户态”。其角色主要为对于防火墙策略的管理,真正的防火墙执行者是位于内核中的 Netfilter。
    firewalld就是iptables的封装是为了简化操作,firewall更加灵活,提供了命令行配置工具firewall-cmd,GUI配置工具firewall-config(中标麒麟内置firewall-config图形化配置工具)。

    Linux防火墙

    防火墙的核心处理机制是过滤,而说到过滤,就必须具有“条件 & 动作”这两个关键要素,而在 iptables 中,这两种要素分别叫做“rule & target”,可以理解成符合 rule 的流量将会去往 target。
    防火墙的处理对象是网络流量,而对于网络流量来讲,标识流量的最重要的信息便是五元组,包括:S_IP, S_PORT, D_IP, DI_PORT, TCP/UDP,iptables 常用的也往往是根据五元组中的某个或某些要素进行过滤.

    iptables里有4张表(优先级递增):
    Filter(过滤器),进入Linux本机的数据包有关,是默认的表。
    NAT(地址转换),与Linux本机无关,主要与Linux主机后的局域网内计算机相关。
    Mangle(破坏者),这个表格主要是与特殊的数据包的路由标志有关(通常不用涉及到这个表的修改,慎改)。
    raw, 用于决定数据包是否被跟踪机制处理

    每张表里有多条链:
    Filter:INPUT, OUTPUT, FORWARD
    NAT:PREROUTING, POSTROUTING, OUTPUT
    Mangle:PREROUTING, OUTPUT, INPUT, FORWARD
    raw:PREROUTING, OUTPUT

    iptables的基本语法格式:
    iptables [-t 表名] 命令选项 [链名] [条件匹配] [-] 目标动作或跳转

    iptables配置可以参考相关文档。

    1. Linux中的防火墙(Netfilter、Iptables、Firewalld) https://www.pianshen.com/article/1075540693
    2. 防火墙规则 https://blog.csdn.net/Carelessly_Profound/article/details/83095679
    3. 防火墙的四表五链:https://www.pianshen.com/article/97341319016/,https://www.pianshen.com/article/6735834399/
    4. 25个常用的防火墙规则 https://blog.csdn.net/weixin_42123737/article/details/80542910

    Rhel7/centos7中默认将防火墙从iptables升级为 firewalld。firewalld相对于iptables主要的优点有:
        firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得重启服务才可以生效;
        firewalld在使用上要比iptables人性化很多,即使不明白“四张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

    firewall-cmd 命令:启动、停止、查看 firewalld 服务
    [root@localhost /]# systemctl start firewalld ##启动防火墙
    [root@localhost /]# systemctl enable firewalld ##设置为开机自启
    [root@localhost /]# systemctl status firewalld.service ##查看防火墙运行状态

     firewalld 默认有 9 个 zone(zone是firewalld的单位,相当于安全域)。一个zone就是一套过滤规则,数据包必须要经过某个zone才能入站或出站。不同zone中规则粒度粗细、安全强度都不尽相同。可以把zone看作是一个个出站或入站必须经过的安检门,有的严格、有的宽松、有的检查的细致、有的检查的粗略。可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口。默认情况下,pubilc区域是默认区域,包含所有接口(网卡)。

    见下一部分中标麒麟防火墙管理。

    2. 中标麒麟操作系统的防火墙管理

    中标麒麟操作系统中,【控制面板】→【服务】,弹出【服务配置窗口】,可以看到大量的Linux服务,和windows service类似,很多系统服务都是本地使用的,如网络、日志、dns解析等。如下图:

    中标麒麟终端中的服务列表
    中标麒麟操作系统V7服务列表

    对于终端而言,不像服务器那样提供对外的很多服务,但并不意味着什么服务都不提供,比如在局域网上的文件共享、打印共享、远程桌面服务等,这就需要开放部分端口,但是作为一项安全策略,开放的端口越少越好。中标麒麟系统中提供的服务及端口号可以通过命令“netstat -ntlp”查看。下图是中标麒麟桌面版中提供的服务,其中22是SSH服务,631是CUSP网络打印服务,445和139是用于samba服务,5900是VNC服务端口。

    查看中标麒麟终端后台网络服务

    中标麒麟内置firewall-config图形化配置工具,配置防火墙允许通过的服务、端口、伪装、端口转发、ICMP 过滤器等。从开始菜单→系统工具→防火墙,界面如图所示。点击“关闭(不推荐)”或  “启用(推荐)”时,关闭/启动防火墙服务有一定延时,该程序会弹出“正在关闭/启动服务,请等待 X秒”提示窗,计时结束,该窗口会自动消失。选择“启用(推荐)”,“高级设置”按钮高亮,点击“高级设置”按钮,弹出下图窗口。在高级设置界面中可对具体服务权限进行设置。

    中标麒麟防火墙配置程序

    图中左边定义很多区域,基于用户对网络中设备和流量所给予的信任程度,防火墙可以用来将网络分割成不同的区域,可以理解为模板,一般每个网卡配置一个区域,默认区域为public,可根据终端所处的环境进行切换区域(模板)。

    public(公共)

    在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。

    drop(丢弃)

    任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。

    block(限制)

    任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。

    external(外部)

     

    特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。

    dmz(非军事区)

    用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。

    work(工作)

    用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。

    home(家庭)

    用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。

    internal(内部)

    用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。

    trusted(信任)

    可接受所有的网络连接。

    在public模式下,可以看到,前面提到的22(SSH服务)、631(CUSP网络打印服务)、445和139(samba)、5900(VNC服务)端口是允许外部访问的,还有一些多余的端口如数据库缺省也是开放的,为了安全起见,可以关闭这些不必要的端口。修改防火墙规则一种是运行时模式:表示当前内存中运行的防火墙配置,在系统或firewalld服务重启、停止时将失效;第二种是永久模式:表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。永久配置修改后要从菜单栏【选项】→【重载防火墙】,当前永久配置将变成新的运行时配置。

    三、windows防火墙

    windows自带的防火墙,从windows7开始已经很成熟和完善,基本概念和功能也和Linux类似。

    1. 启动

    1. 控制面板\系统和安全\Windows Defender 防火墙
    2. 开始-》firewall.cpl,直接输入firewall会自动匹配

    windows防火墙管理

    2. 打开和关闭Windows防火墙

    点击左侧的打开和关闭Windows防火墙,私有网络和公用网络的配置是完全分开的,有两个选项:

    1、“阻止所有传入连接,包括位于允许程序列表中的程序”,这个默认即可,否则可能会影响允许程序列表里的一些程序使用。
    2、“Windows防火墙阻止新程序时通知我”,对于个人日常使用需要选中的,方便自己随时作出判断响应。

    启用windows防火墙

     3. 基本服务(程序)配置

    允许程序规则配置,点击图上侧的“允许程序或功能通过Windows防火墙”,以开放"文件和打印机共享"为例,如下图:

    防火墙开放某服务访问(文件和打印共享)

    1、常规配置没有端口配置,所以不需要手动指定端口TCP、UDP协议了。
    2、应用程序的许可规则可以区分网络类型,并支持独立配置。

    勾选文件和打印机共享右侧的“专用”,即表示允许在专用网络中可以访问文件和打印共享。

    如果是添加自己的应用程序许可规则,“允许其他应用”按钮进行添加。

    4. 防火墙高级设置

    如果还想对增加的允许规则进行详细定制,比如端口、协议、安全连接及作用域等等,则需要到高级设置。从防火墙左侧主菜单中选择高级设置,出现下图配置界面。

    windows防火墙高级设置

    防火墙的入站规则和出站规则:出站就是你访问外网,入站就是外网访问你。

    例如,在入站规则中可以找到与刚才专用区域开启“文件和打印共享对应”的入站规则。

    与刚才专用区域开启“文件和打印共享对应”


    用户可以创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接; 可以使用预先设置的规则,也可以创建自定义规则。
    右键点击入站规则或者出站规则,点击“新建规则”菜单项出现“新建规则向导”,向导指导用户逐步完成创建规则的步骤;用户可以将规则应用于一组程序、端口或者服务,也可以将规则应用于所有程序或者某个特定程序;可以阻挡某个软件进行所有连接、允许所有连接,或者只允许安全连接,并要求使用加密来保护通过该连接发送的数据 的安全性; 可以为入站和出站流量配置源IP地址及目的地IP地址,同样还可以为源TCP和UDP端口及目的地TCP和UPD端口配置规则。

    展开全文
  • 用于生物识别的设备需要在拒绝正确的用户(错误类型一)和允许假冒的用户(错误类型二)之间进行折衷调整。 1.指纹身份认证技术 指纹是一种由手指皮肤表层的隆起脊线和低洼细沟所构成的纹理,而指纹影像看起来就像...

    一 身份标识与鉴别

    1.身份标识与鉴别概念

    • 身份标识就是能够证明用户身份的用户独有的生物特征或行为特征,此特征要求具有唯一性,如用户的指纹、视网膜等生物特征及声音、笔迹、签名等行为特征;或他所能提供的用于识别自己身份的信息,如口令、密码等。相比较而言,后一种的安全系数较低,密码容易被遗忘或被窃取,身份可能会被冒充。
    • 鉴别是对网络中的主体进行验证的过程,证实用户身份与其声称的身份是否相符。

    2.身份认证的过程

    • 身份认证的过程根据身份认证方法的不同而不同分为:
      (1)基于信息秘密的身份认证
      (2)基于物理安全性的身份认证
      (3)基于行为特征的身份认证
      (4)利用数字签名的方法实现身份认证
    • 基于信息秘密的身份认证过程基于信息秘密的身份认证一般是指依赖于所拥有的东西或信息进行验证。分为口令认证、单向认证和双向认证。
    • 口令认证缺点:其安全性仅仅基于用户口令的保密性,而用户口令一般较短且容易猜测,因此这种方案不能抵御口令猜测攻击。攻击者可能窃听通信信道或进行网络窥探,口令的明文传输使得攻击者只要能在口令传输过程中获得用户口令,系统就会被攻破。

    在这里插入图片描述

    在这里插入图片描述

    • 基于物理安全性的身份认证过程:

      基于智能卡的身份认证机制在认证时认证方要求一个硬件如智能卡(智能卡中往往存有秘密信息,通常是一个随机数),只有持卡人才能被认证。可以有效的防止口令猜测。严重的缺陷:系统只认卡不认人,而智能卡可能丢失,拾到或窃得智能卡的人很容易假冒原持卡人的身份。综合前面提到的两类方法,即认证方既要求用户输入一个口令,又要求智能卡。

      基于生物学信息的方案包括基于指纹识别的身份认证、基于语音识别的身份认证以及基于视网膜识别的身份认证等。

      采样:生物识别系统捕捉到生物特征的样品,唯一的特征将会被提取并且转化成数字的符号存入此人的特征模板。

      抽取特征:用户在需要验证身份时,与识别系统进行交互,设备提取用户的生物信息特征。

      比较:用户的生物信息特征与特征模板中的数据进行比较。

      匹配:如果匹配,则用户通过身份验证。

    • 基于行为特征的身份认证过程:通过识别行为的特征进行验证。常见的验证模式有语音认证、签名识别等。利用签名实现的身份认证是属于模式识别认证的范畴,其过程也必然遵循模式识别的基本步骤。模式识别的工作原理:首先是构造一个签名鉴别系统,然后进行签名的鉴别

    • 利用数字签名实现身份认证:数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。数字签名主要有3种应用广泛的方法:RSA签名、DSS签名和Hash签名

    • Hash签名是最主要的数字签名方法:报文的发送方从明文中生成一个128比特的散列值(数字摘要),发送方用自己的私钥对这个散列值进行加密,形成发送方的数字签名。该数字签名将作为附件和报文一起发送给接收方。报文的接收方从接收到的原始报文中计算出128比特的散列值(数字摘要),接着用发送方的公钥对报文附加的数字签名解密。

    • 在安全性问题上,数字签名要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。

    二 口令认证方法

    1.口令管理

    • 口令又称个人识别码或通信短语,通过输入口令进行认证的方法便称为基于口令的认证方式。口令认证是最常用的一种认证技术。目前各类计算资源主要靠固定口令的方式来保护。

    在这里插入图片描述

    • 口令的存储

      (1)直接明文存储口令:直接明文存储口令是指将所有用户的用户名和口令都直接存储于数据库中,没有经过任何算法或加密过程。这种存储方法风险很大,任何人只要得到了存储口令的数据库,就可以得到全体用户的用户名及口令,冒充用户身份。

      (2)哈希散列存储口令:哈希散列函数的目的是为文件、报文或其他分组数据产生**“指纹”。从加密学的角度讲,一个好的散列函数H必须具备如下性质:H的输入可以是任意长度的**;H产生定长的输出;对于任何给定的x, H(x)的计算要较为容易;对于任何给定的码h,要寻找x,使得H(x)=h在计算上是不可行的,称为单向性;对于任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,称为弱抗冲突;寻找对任何的(x,y)对,使得H(x)=H(y)在计算上是不可行的,称为强抗冲突。优点在于黑客即使得到口令的存储文件,想要通过散列值得到用户的原始口令也是不可能的。这就相对增加了安全性。

    在这里插入图片描述

    在这里插入图片描述

    2.脆弱性口令

    • 口令的脆弱性一般体现在两个方面:登陆时候的口令加密算法的脆弱和数据库存储的口令加密算法的脆弱
    • 影响口令的因素:长度范围、成份、使用期限、来源、分配、拥有人、输入、存储、传输、认可周期。
    • 口令的明显缺点:
      (1)网络数据流窃听:由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者很容易的通过窃听网络数据,分辨出某种特定系统的认证数据,并提取出用户名和口令。
      (2)认证信息截取/重放:有些系统会将认证信息进行简单加密后进行传输,如果攻击者无法用网络数据流窃听方式推算出密码,将使用截取/重放方式,再进行分辨和提取。
      (3)字典攻击:大多数用户习惯使用有意义的单词字符或数字作为密码,如名字、生日;某些攻击者会使用字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊字符,以增加口令的安全性。
      (4)穷举尝试:这是一种属于字典攻击的特殊攻击方式,它使用字符串的全集作为字典,然后穷举尝试进行猜测。如果用户的密码较短,则很容易被穷举出来,因而很多系统都建议用户使用较长的口令,最好采用数字、字符混合的方式并加入特殊字符
      (5)窥探口令:攻击者利用与被攻击系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程,以得到口令。所以用户在输入口令时,应该注意旁边的人是否可疑。
      (6)骗取口令:攻击者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令。
      (7)垃圾搜索:攻击者通过搜索被攻击者的废弃物,得到与被攻击系统有关的信息。

    三 生物身份认证

    • 目前用于身份验证的特征主要有两类:非生物特征和生物特征。非生物特征是指用户所知道的东西(如口令、个人密码等)及所拥有的东西(如智能卡、身份证、护照、密钥盘等);生物特征是指人体本身所固有的物理特征(如指纹、掌纹、虹膜、视网膜等)及行为特征(如语音、签名等)。非生物特征虽然简单却不可靠,个人所知道的内容想获得非法访问权限的人也可能知道,如口令可能被忘记或被猜测,甚至被窃取,这是基于非生物特征认证方法的缺点。
    • 理想上,一种好的生物认证特征应具有下列条件:(1)普遍性,即每个人皆具有的特征;(2)唯一性,即没有任何二人具有完全相同的特征;(3)恒久性,即此特征必须持久且不能改变;(4)可测量性,即这种特征必须能被测量成可定量描述的数据指标。在设计实用的生物认证系统时,还有许多方面需要纳入考量,如(1)效能,即认证的速度以及结果的可靠度;(2)接受度,即民众是否愿意接受并使用此系统;(3)闪避容易度,即是否容易用其他手段来愚弄或欺骗这套系统。
    • 目前有七种生物认证技术已被广泛的使用或正在进行大规模的实验评估,他们分别是脸形、人脸热感应、指纹、掌形、视网膜、眼球虹膜和语音识别
    • 用于生物识别的设备需要在拒绝正确的用户(错误类型一)和允许假冒的用户(错误类型二)之间进行折衷调整。

    1.指纹身份认证技术

    • 指纹是一种由手指皮肤表层的隆起脊线和低洼细沟所构成的纹理,而指纹影像看起来就像一种由许多图形线条依照某种特殊排列方式所组合而成的影像。
    • 指纹识别技术就是通过分析指纹的全局特征和指纹的局部特征来确定身份,特征点如嵴、谷和终点、分叉点或分歧点,从指纹中抽取的特征值非常的详尽,足以可靠地通过指纹来确认一个人的身份。
    • 指纹识别技术主要涉及指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征入库、特征值的比对和匹配等过程。

    在这里插入图片描述

    • 优点:独一无二;复杂度高;如果想增加可靠性,还可以鉴别更多的手指;读取方法可靠;扫描的速度很快;使用方便;对人体没有任何伤害;价格低廉。
    • 缺点:某些人或某些群体的指纹特征很少,故而很难成像;一般人在使用指纹辨识系统时会有心理障碍而产生排拒现象;占用大量的硬件资源;老年人指纹的识别有障碍;每一次的使用指纹时都会在指纹采集头上留下用户的指纹印痕,而这些指纹痕迹存在被用来复制指纹的可能性。

    2.视网膜身份认证技术

    • 视网膜身份认证技术是利用视网膜终身不变性差异性的特点来识别身份的。视网膜技术与相应的算法结合,可以达到非常优异的准确度,即使全人类的视网膜信息都录入到一个数据中,出现认假和拒假的可能性也相当的小,但这项技术的无法录入问题已经成为它同其他技术抗衡的最大障碍。但是,视网膜识别技术的高精度使它能够在众多的识别技术中占有一席之地。

    • 优点:极其稳定的生物特征,不可能受到磨损、老化或是为疾病影响,精确度较高;视网膜图形具有良好的区分能力;不容易被改变、复制或伪造。

    • 缺点:扫描视网膜影像时需要使用者高度的配合,而且一般的民众会担心长期使用红外光线会影响视网膜的功能,因此这种认证技术至今还没有广泛的应用于日常生活;视网膜认证系统所需要的花销很大,而且也很难进一步降低他的成本,对于一般消费者吸引力不大;视网膜识别技术使用起来比较困难,不适用于直接数字签名和网络传输。

    在这里插入图片描述

    3.语音身份识别技术

    • 语音身份认证技术是一种基于行为特征的识别技术,这是它与视网膜、指纹识别技术本质上的不同之处。
    • 声纹是指借助一定的仪器描绘出来的人说话声音的图像,即人的声音的频谱图。任何两个人的声纹频谱图都有差异,而对于每个人而言,就可以通过声纹鉴别进行个人身份识别。
    • 语音识别的主要步骤是:首先对鉴别对象的声音进行采样,即输入语音信号,然后对采样数据进行滤波等处理,再进行特征提取和模式匹配。在声纹的鉴别过程中最主要的两部分内容就是特征提取模式匹配。特征提取,就是从声音中选取唯一表现说话人身份的有效且稳定可靠的特征;模式匹配就是对训练和鉴别时的特征模式做相似性匹配。
    • 概率统计方法:语音中说话人信息在短时内较为平稳,通过对稳态特征如基音、低阶反射系数、声门增益等的统计分析,可以利用均值、方差等统计量和概率密度函数进行分类判决。
    • 动态时间规整方法:说话人信息不仅有稳定因素(发声器官的结构和发声习惯),而且有时变因素(语速、语调、重音和韵律) 。将识别模板与参考模板进行时间对比,按照某种距离测定得出两模板间的相似程度。
    • 矢量量化方法:它最早是基于聚类分析的数据压缩编码技术。Helms首次将其用于声纹识别,把每个人的特定文本编成码本,识别时将测试文本按此码本进行编码,以量化产生的失真度作为判决标准。
    • 长时平均法:该方法对说话人身份的表征是通过将语音特征在长时间上进行平均来实现。这种方法缺乏对短时特征的描述。
    • 人工神经网络方法:它在某种程度上模拟了生物的感知特性,是一种分布式并行处理结构的网络模型,具有自组织和自学习能力、很强的复杂分类边界区分能力,其性能近似理想的分类器。其缺点是训练时间长,动态时间规整能力弱,网络规模随说话人数目增加时可能大到难以训练的程度。
    • 隐马尔可夫模型方法(HMM):它是一种基于转移概率和传输概率的随机模型,它把语音看成由可观察到的符号序列组成的随机过程,符号序列则是发声系统状态序列的输出。在使用HMM识别时,为每个说话人建立发声模型,通过训练得到状态转移概率矩阵和符号输出概率矩阵。识别时计算未知语音在状态转移过程中的最大概率,根据最大概率对应的模型进行判决。
    • 高斯混和模型:高斯混和模型可被认为是隐含马尔可夫模型的单一状态的特殊情形,对于与文本无关的身份认证,该方法能够达到很好的效果。

    四 访问控制

    • 在网络安全环境中,访问控制能够限制和控制通过通信链路对主机系统和应用的访问。为了达到这种控制,每个想获得访问的实体都必须经过鉴别或身份验证,这样才能根据个体来制定访问权利。访问控制服务用于防止未授权用户非法使用系统资源。它包括用户身份认证,也包括用户的权限确认。这种保护服务可提供给用户组。

    1.访问控制概念

    • 访问控制是通过某种途径显式地准许或限制访问能力范围的一种方法。通过限制对关键资源的访问,防止非法用户的侵入或因为合法用户的不慎操作而造成的破坏,从而保证网络资源受控地、合法地使用,它是针对越权使用资源的防御措施。
    • 访问控制技术是建立在身份认证的基础上的,简单的描述,身份认证解决的是“你是谁,你是否真的是你所声称的身份”,而访问控制技术解决的是“你能做什么,你有什么样的权限”这个问题。

    在这里插入图片描述

    • 访问控制的目的为:限制主体对访问客体的访问权限,从而使计算机系统资源能被在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序可以做什么。访问控制机制可以限制对关键资源的访问,防止非法用户进入系统及合法用户对系统资源的非法使用。

    • 目前的主流访问控制技术有:自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)。自主访问控制和强制访问控制,都是由主体和访问权限直接发生关系,主要针对用户个人授予权限

    • 较为常见的访问控制的实现方法主要有以下四种:访问控制矩阵、访问能力表、访问控制表和授权关系表:

      (1)访问控制矩阵
      从数学角度看,访问控制可以很自然的表示成一个矩阵的形式:行表示客体(各种资源),列表示主体(通常为用户),行和列的交叉点表示某个主体对某个客体的访问权限(比如读、写、执行、修改、删除等)。
      在这里插入图片描述

      (2)访问能力表
      实际的系统中虽然可能有很多的主体和客体,但主体和客体之间的关系可能并不多,这样的话就存在着很多的空白项。为了减轻系统开销与浪费,我们可以从主体(行)出发,表达矩阵某一行的信息,这就是访问能力表(capability)。也可以从客体(列)出发,表达矩阵某一列的信息,这便成了访问控制表(access
      control list)。

      在这里插入图片描述

      (3)在一个安全系统中,正是客体本身需要得到可靠的保护,访问控制服务也应该能够控制可访问某一客体的主体集合,能够授予或取消主体的访问权限,于是出现了以客体为出发点的实现方式——ACL(访问控制表),现代的操作系统都大体上采用基于ACL的方法。
      在这里插入图片描述

      ACL的优点:表述直观、易于理解,而且比较容易查出对某一特定资源拥有访问权限的所有用户,有效地实施授权管理。

      ACL的缺点:①ACL需要对每个资源指定可以访问的用户或组以及相应的权限。访问控制的授权管理费力而繁琐,且容易出错。②单纯使用ACL,不易实现最小权限原则及复杂的安全策略。

      (4)授权关系表:基于ACL和基于访问能力表的方法都有自身的不足与优势,下面我们来看另一种方法——授权关系表(authorization relations)。每一行(或称一个元组)表示了主体和客体的一个权限关系,因此Jack访问file1的权限关系需要3行。如果表按客体进行排序的话,我们就可以拥有访问能力表的优势,如果按主体进行排序的话,那我们又拥有了访问控制表的好处。这种实现方式也特别适合采用关系数据库。
      主体	访问权限	客体 Jack	own	file1 Jack	r	file1 Jack	w	file1 Jack	own	file3Jack	r	file3 Jack	w	file3

    2.自主访问控制

    • 自主访问控制DAC(discretionary access control)是目前计算机系统中实现最多的访问控制机制。所谓自主,是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体那里收回他所授予的访问权限。其基本思想是:允许某个主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问以及可执行的访问类型。DAC将访问规则存储在访问控制矩阵中,通过访问控制矩阵可以很清楚地了解DAC。
    • 优点:其自主性为用户提供了极大的灵活性,从而使之适合于许多系统和应用。
    • 缺点:由于这种自主性,在DAC中,信息总是可以从一个实体流向另一个实体,即使对于高度机密的信息也是如此,因此自主访问控制的安全级别较低。另外,由于同一用户对不同的客体有不同的存取权限,不同的用户对同一客体有不同的存取权限,用户、权限、客体间的授权管理复杂
    • 局限性:首先,DAC将赋予或取消访问权限的一部分权力留给用户个人,管理员难以确定哪些用户对那些资源有访问权限,不利于实现统一的全局访问控制。其次,在许多组织中,用户对他所能访问的资源并不具有所有权,组织本身才是系统中资源的真正所有者。而且,各组织一般希望访问控制与授权机制的实现结果能与组织内部的规章制度相一致,并且由管理部门统一实施访问控制,不允许用户自主地处理。显然DAC已不能适应这些需求。

    3.强制访问控制

    • 强制访问控制MAC(mandatory access control)依据主体和客体的安全级别来决定主体是否有对客体的访问权。最典型的例子是Bell and LaPadula提出的BLP模型

    • BLP模型:在BLP模型中,所有的主体和客体都有一个安全标签,它只能由安全管理员赋值,普通用户不能改变。这个安全标签就是安全级,客体的安全级表现了客体中所含信息的敏感程度,而主体的安全级别则反映了主体对敏感信息的可信程度

    • 在一般情况下,安全级是线性有序的。用λ标志主体或客体的安全标签,当主体访问客体时,需满足如下两条规则:

      (1)简单安全属性:如果主体s能够读客体o,则λ(s)≥λ(o)

      (2)保密安全属性:如果主体λ(s)能够写客体o,则λ(s)≤λ(o)

    • BLP模型中,主体按照“向下读,向上写”的原则访问客体,即只有当主体的密级不小于客体的密级并且主体的范围包含客体的范围时,主体才能读取客体中的数据;只有当主体的密级不大于客体的密级,并且主体的范围包括客体的范围时,主体才能向客体中写数据。

    • BLP模型保证了客体的高度安全性,它的最大优点是:它使得系统中的信息流程为单向不可逆的,保证了信息流总是低安全级别的实体流向高安全级别的实体。MAC能有效地阻止特洛伊木马。

    • MAC策略优点:由于MAC策略是通过梯度安全标签实现信息的单向流通,从而很好地阻止特洛伊木马的泄漏,也因此而避免了在自主访问控制中的敏感信息泄漏的情况。

    • MAC策略缺点:缺点是限制了高安全级别用户向非敏感客体写数据的合理要求,而且由高安全级别的主体拥有的数据永远不能被低安全级别的主体访问,降低了系统的可用性。BLP模型的“向上写”的策略使得低安全级别的主体篡改敏感数据成为可能,破坏了系统的数据完整性。另外强制访问控制MAC由于过于偏重保密性,造成实现工作量太大,管理不便,灵活性差。

    展开全文
  • 硬件防火墙选购十要素. 病毒和黑客攻击作为网络安全的主要隐患,时时刻刻在威胁着进行互联网应用的计算机系统的安全。网络防火墙作为防止黑客入侵的主要手段,也已经成为网络安全建设的必选设备.
  • CPT205 计算机图形 笔记

    千次阅读 2021-09-07 11:17:48
    CPT205 计算机图形 笔记 week1 介绍课程

    CPT205 计算机图形 笔记
    函数查阅:windows 开发文档

    week1

    介绍课程
    什么是computer graphics
    ‘Computer Graphics’ is concerned with all aspects of producing pictures or images using a computer. There are three closely related meanings, each representing a different perspective on the same thing.

    • the images that you see on the computer screen
    • the computer code that is used to create the images
    • a mathematical model of the real-world (which is sometimes
      called the virtual world)

    什么是framebuffer
    A block of memory, dedicated to graphics output, that holds the contents of what will be displayed.

    什么是pixel
    an element of the framebuffer.
    The most basic addressable image element in a screen

    什么是bit depth
    number of bits allocated per pixel in a buffer.

    计算机图形学的硬件软件:

    Graphics HardwareGraphics Software
    Input, Processing and Output DevicesT echniques (Algorithms, Procedures)
    FramebuffersProgramming Library / API (OpenGL, JOGL and so on)
    Pixels and Screen ResolutionHigh level Interactive Systems (Maya, Studio Max, Unity, AutoCAD and so on)

    Image quality issues:
    • Screen resolution • Colour • Refresh rate • Brightness • Contrast • Sensitivity of display to viewing • angle

    什么是opengl:
    The OpenGL graphics system is a software interface to graphics hardware (GL stands for Graphics Library).
    OpenGL is designed as a streamlined, hardware-independent interface to be implemented on many different hardware platforms.

    week2

    数学几何基本概念

    week3

    计算机绘制图像时的坐标轴只能是整数,所以要尽量拟合实际的线条
    在这里插入图片描述

    Digital Differential Algorithm

    1. 当斜线斜率小于一时,沿着x轴进行逐像素采样
      在这里插入图片描述
    2. 当斜线斜率大于一时,沿着y轴逐像素采样,防止线条断开
      在这里插入图片描述

    在这里插入图片描述

    The Bresenham line algorithm 布雷森汉姆直线算法

    优点之一是使用整数型计算,而不是DDA方法使用的浮点类型
    PPT一页纸讲完了。。。贴个代码实现的帖子
    Bresenham算法
    在这里插入图片描述

    deltax = x2 - x1;           // The difference in the x's
    deltay = y2 - y1;           // The difference in the y's
    y = y1;                     // Start y off at the first pixel value
    ynum = deltax / 2;          // The starting value for the numerator
    for (x = x1; x <= x2; x++)
    {
      PutPixel(x, y);           // Draw the current pixel
      ynum += deltay;           // Increase the numerator by the top of the fraction
      if (ynum >= deltax)       // Check if numerator >= denominator
      {
        ynum -= deltax;         // Calculate the new numerator value
        y++;                    // Increase the value in front of the numerator (y)
      }
    }
    

    画圆

    方法一:简单通过勾股计算描点,但这个是沿着x轴采样,在圆的左右两侧会出现断层。
    解决方法是在切线斜率大于1的地方,再计算一遍沿着y轴采样的坐标。
    在这里插入图片描述
    方法二:采用极坐标画圆
    原理:先用极坐标公式对圆进行大致描点(逐角度描点,一般步长设置为1/r),然后调用直线绘制两两点之间的直线去近似表现圆
    在这里插入图片描述

    tips:由于圆的对称,通常计算四分之一或八分之一个圆的坐标即可
    在这里插入图片描述

    Polygon fill 填充多边形图案

    详阅:区域填充算法和多边形填充

    rasterization光栅化

    方法一,洪水填充算法:
    1)在内部选择一像素点
    2)递归地访问并填充这个像素点周围的点,不访问边界像素

    方法二,扫描线填充算法:
    用水平或垂直的扫描线对多边形进行扫描,对于每次扫描
    1)求扫描线与多边形的交点
    2)筛选落在多边形内部的那些线段
    3)填充落在多边形内部的线段

    week4 利用矩阵及gl函数变化对象

    这里引用OpenGL学习专栏里的一段话解释openGL里的变换:
    我们生活在一个三维的世界——如果要观察一个物体,我们可以:
    1、从不同的位置去观察它。(视图变换Viewing Transformation)
    2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它。(模型变换Modelling Transformation)
    3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪裁)。(投影变换Projection Transformation)
    4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,而不是全部。(视口变换Viewport Transformation)
    这些,都可以在OpenGL中实现.

    5, 计算机图形需要表现在二维的电脑屏幕上(Device Transformation)

    矩阵变换Transformations

    三维变换是二维变换的扩展,这里只展示三维的矩阵变换

    1. Rotation旋转:
      旋转可以分步骤进行,但是当顺序发生变化时,旋转的角度需要改变
      在这里插入图片描述
      关于(x,y)旋转到(x’,y’)的推导
      在这里插入图片描述

    2. Translation平移:
      改变常数项
      如x向正方向移动5,tx=5
      在这里插入图片描述

    3. Scaling放缩:
      改变比例项大小
      如修改长宽高为原来的0.8,将三个1全改为0.8

    4. Reflection翻转:
      改变比例项为负值,如按照x-y平面反转,将z的比例项改为-1.

    在这里插入图片描述
    5. shearing倾斜:
    物体沿着x轴倾斜在这里插入图片描述

    Tips:
    回顾上面矩阵相乘图

    1. 物体平移只体现在常数项tx,ty,tz上,比例项变化不影响常数项,旋转不影响全局坐标下的平移
    2. 物体旋转时以物体自身原点为旋转中心,如果想相对一个固定点(x,y,x)旋转。
      可先将物体移动(-x,-y,-z),然后相对物体原点旋转,然后再把物体移动(x,y,z)回到原来位置,平移影响旋转结果
    3. 当物体放缩时也以原点为中心,每个点相对于原点的距离都会变化,不影响平移。
    4. 变化矩阵Current transformation matrix(CTM) 采用栈的方式存储(先入后出,后入先出)

    gl函数模型变换

    函数:

    //设置当前操作矩阵为模型视图矩阵
    glMatrixMode(GL_MODELVIEW);
    //设置当前矩阵为单位矩阵
    glLoadIdentity();
    //将栈顶矩阵设置为m
    glLoadMatrixf(m);
    //将栈顶矩阵右乘以m
    glMultMatrixf(m);
    //将当前操作矩阵入栈
    glPushMatrix();
    //从栈中出栈矩阵
    glPopMatrix();
    //以浮点数形式取出栈顶矩阵,存储为m
    double m[16];
    glGetFloatv(GL_MODELVIEW, m);

    其他函数:
    在这里插入图片描述
    旋转样例:
    Rotation about the z axis by 30 degrees with a fixed point of (1.0, 2.0, 3.0)

    //模型视图变换
    glMatrixMode(GL_MODELVIEW);
    glPushMatrix(); //将当前矩阵的副本压入栈
    glTranslatef(1.0, 2.0, 3.0); //操作栈顶矩阵
    glRotatef(30.0, 0.0, 0.0, 1.0);  
    glTranslatef(-1.0, -2.0, -3.0);  
    //画图
    drawsth();
    glPopMatrix(); //移除栈顶矩阵,回到之前状态
    
    

    由于gl采用栈和矩阵右乘存储变换矩阵,所以当程序执行画图并变换时,
    依次执行的是
    先移动(-1,-2,-3),旋转30度,移动(1,2,3)
    详细可看链接

    week5

    视图三要素:

    1. 一个或多个被观察物体 One or more objects
    2. 一个含有投影平面的观察者 A viewer with a projection surface
    3. 从被观察物体到投影平面的投影方式 Projectors that go from the object(s) to the projection surface

    Classic projection

    平面几何投影 planar geometric projections

    1. 平行投影 parallel
      1. 多视图正交 (multiview) orthographic
      2. 三向投影 axonometric
        1. 等角投影 isometric
        2. 正方投影 dimetric
        3. 三度投影 trimetric
      3. 斜轴投影 oblique
    2. 透视投影 perspective
      1. 一点透视
      2. 两点透视
      3. 三点透视

    在这里插入图片描述

    Computer viewing and projection

    只为完成三件事:

    1. Positioning the camera放摄像机
      -Setting the model-view matrix
    2. Selecting a lens设置投影矩阵
      -Setting the projection matrix
    3. Clipping裁切视平面
      -Setting the view volume

    步骤:

    1. 在世界坐标系中设立摄像机的坐标 (view port, viewing position , camera position or viewiing origini )
    2. 控制摄像机瞄准的方向,垂直于这个方向的平面叫做视平面(viewing plane),再设定视野和深度裁切视平面后组成一个视景体(viewing volume)
    3. 将视景体观察到的图像映射到显示屏窗口上

    从物体上的参考点(look-at point)指向摄像机的向量叫做(viewing direction)

    接下来根据openGL函数来分析不同视景体:
    opengl默认的坐标系是,水平方向向右为x轴正向,竖直向上为y轴正向,由屏幕指向外面为z轴正向。
    参考

    1.决定摄像机坐标

    函数:gluLookAt(eye_x, eye_y, eye_z, look_x, look_y, look_z, up_x, up_y, up_z)

    1. eye_x,yz: 决定摄像机自身所在世界坐标系中的位置
    2. look_x,y,x: 决定摄像机镜头超向方向上的物体的世界坐标系位置
      摄像机位置和朝向确定后会以摄像机自己为原点,生成摄像机坐标系,摄像机坐标系的z轴是由物体指向摄像机,摄像机坐标系的y轴指向世界坐标系的z轴。
      Tips: 摄像机越过物体头顶时,摄像机坐标系的z轴反向,物体的右变成了摄像机视野里的左。
    3. up_x,y,z: 决定视景体摄像机坐标系下的头顶方向,决定了画面的正上方是什么方向,如(0,0,1)表示摄像机坐标系的z轴朝上
      在这里插入图片描述

    2.视景体 View Volume / View Frustum

    摄像机架好之后开始搭建视景体,视景体决定了相机看物体的方法(有没有透视,看多大的画面,看多深的深度)

    2.1.平行视景体 Orthogonal / Parallel projection

    函数: glOrtho(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far)
    各个参数决定相机能看多宽,多高,多远。视景体是个长方体

    1. left, right 指定视景体左右看多少距离
    2. bottim, top 指定视景体上下看多少距离
    3. near, far指定视景体近远看多少距离
      这样会生成一个长发体,在这个长方体之外的物体不会被看见。

    在这里插入图片描述

    2.2.透视型视景体 Frustum perspective projection

    各个参数决定相机看多宽,多高,多远。视景体是个平截头体
    以下两个函数通过长度和角度两种方式定义平截头体
    平截头体内的物体根据映射关系,被投影到近截平面上,在这个平截头体之外的物体不会被看见。

    函数: glFrustum(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far)

    1. left, right, bottim, top 指定近截平面的宽度,高度
    2. near, far指定近截平面和远截平面到视点的距离

    函数:gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)

    1. fovy指定眼睛睁开的角度
    2. aspect指定视景体的宽高比
    3. zNear, zFar指定近截面和远截面到相机距离

    在这里插入图片描述

    摄像机坐标=视点=view point=view origiin=projection reference point
    显示器区域=视口=viewport

    3.将计算机视图投影到显示器上

    近截平面Near Clipping Plane的像素与显示器窗口的像素数量不同
    将裁剪平面映射到显示器窗口的某个区域(全屏部分屏幕)该区域被称为视口viewport

    函数:glViewport(GLint x,GLint y,GLsizei width,GLsizei height)

    1. x,y指定显示器窗口中视口的左下角坐标
    2. width,height指定视口的宽高
      在这里插入图片描述

    Tips:openGL中,切换矩阵类型后,先指定视景体,最后指定摄像机坐标。(因为openGL矩阵是右乘的,A x B x C=A x (B x C),计算过程是和添加过程反过来的。得到摄像机坐标后才能确定视景体在世界坐标的位置然后看东西)

    glMatrixMode(GL_PROJECTION);  //projection transformation 
    glLoadIdentity();             // clear the matrix 
    glOrtho / glFrustum / gluPerspective();   //视景体
    gluLookAt(x_p, 0, z_p, 0, 0, 0, 0, 1, 0);  //摄像机
    

    week6 Parametric Curves and Surfaces

    参数化曲线

    为什么需要参数曲线:形容更贴切,两个变量比隐函数(implicit function)易于表现

    参数化直线,三次曲线 cubic curve,圆:
    在这里插入图片描述
    A curve description should be used, which allows rapid computation, a polynomial can therefore be used

    使用多项式描述曲线 -polynomial:

    x(t) = a0 + a1t + a2t2 + a3t3, + … + antn

    如果描述k个点,只需要n=k-1个参数a:

    1. k=2,表示直线(straight line
    2. k=3,表示抛物线(parabola
    3. k很大时,参数需要很多,高次多项式在直线末端剧烈振荡,不适用
      high-degree polynomials (i.e. with a large n) oscillate wildly, particularly near the ends of the line, and are not suitable

    对于需要描述许多点的情况,使用样条splines

    使用样条描述曲线 -splines:

    将点分成许多独立的部分(通常最少四个控制点),每部分使用低次多项式拟合,再平滑地拼接到一起

    要求:

    1. continuity of the curve 曲线连续-无中断
    2. continuity of tangent 斜率连续-无明显角
    3. continuity of curvature 曲率连续-避免光影缺陷

    分类:

    1. 插值曲线 interpolation curve-曲线必须经过数据点(data point),曲线由数据点控制(或者说控制点=数据点)
    2. 设计曲线 design curve-曲线表现数据点所呈现的大体趋势,曲线由控制点(control point)直接控制

    local control局部控制:设计曲线在完成一部分曲线后,在调整其他部分时,应当保持这一部分不动,the adjustment should influence only a small / local part of the curve。
    {Natural splines,Bezier curves}不需要局部控制,{B-Splines,NURBS}需要局部控制。

    在这里插入图片描述

    调整曲线

    除了移动控制点的位置控制曲线,还可以固定控制点并改变其他参数控制曲线,如张力和偏差(tension and bias)
    在这里插入图片描述

    参数化曲面

    种类:

    1. Revolved surface旋转曲面 - 二维曲线绕轴旋转
    2. Extruded surface挤压曲面 - 二维曲线垂直自身平面移动
    3. Swept surface扫描曲面 - 根据二维曲线,定义三维空间中的扫描方式

    Tensor product surfaces张量积曲面

    组合两条参数曲线
    在这里插入图片描述
    分类:

    1. 插值曲面 interpolation surfaces
    2. 设计曲面 design surfaces

    由控制点的矩形阵列组合成控制网格(control grid),曲面将会被分解为曲面片(surface patches),通常最少片包含4 x 4=16个控制点,曲面片越多越曲面越精细。将曲面片拼接时需要考虑拼合处的连续性

    曲面和曲线一样可以考移动点和控制张力等参数控制曲线

    week8 3D Modelling

    3D modelling techniques
    • Wireframe
    • Surface
    • Solid

    Wireframe线框图

    模型被认为是由复数的点与线的集合构成的
    曲面表达(参数表示Parametric representation):
    x = x(t), y = y(t), z = z(t)
    曲面表达(隐式表示Implicit representation):
    s1(x,y,z) = 0, s2(x,y,z) = 0
    在这里插入图片描述
    在这里插入图片描述

    由面的组合可以表示3d物体
    缺点: 模型的模糊性和验证模型困难性,此外,没法提供表面和体积信息
    the ambiguity of the model and the severe difficulty in validating the model, does not provide surface and volume-
    related information

    Surface modelling

    由封闭环绕的曲线表示2d或3d的面
    除了缺少与体积相关的信息外,曲面模型通常定义其相应对象的“几何属性geometric properties”。
    在这里插入图片描述

    Solid modelling

    可以同时表现几何属性和物理属性

    geometric propertiesphysical properties
    points, curves, surfaces, volume, centre of shapemass, centre of gravity and inertia

    有好多种方案,主要是CSG,B-Rep
    在这里插入图片描述

    CSG

    由二叉树的形式表达:
    the non-terminal nodes : the operators 非叶子节点是操作符
    the terminal nodes : the primitives or transformation 叶子节点代表物体原语或变换
    在这里插入图片描述
    操作符包含:rigid motions(刚体运动,旋转等) and regular Boolean operations(正则布尔运算,取相交等)
    正则布尔运算包含:并,减,交

    在这里插入图片描述
    如果物体只能被一个特定的数据集表示,则称这种表达是唯一的
    实体物体的表示通常是明确的,但很少有唯一的。
    CSG没法只用唯一集表达一个物体。
    在这里插入图片描述

    Boundary representation 边界表示(B-Rep)

    B-Rep模型通过将实体的边界分割为有限个有界子集来表示实体。
    它基本上是一种拓扑显式表示。几何和拓扑信息都存储在数据结构中。
    几何图形关于边界图元(点、曲线和曲面 )的形状和大小
    而拓扑topology保持了边界图元的连接性

    在这里插入图片描述
    同一拓扑可能会表示不同的几何图形,所以需要拓扑和几何数据一起确定唯一的物体。

    B-Rep可以被分为以下两种:

    1. manifold流形:一条边连结两个面,一个点至少被三个边交
    2. nonmanifold非流形:可能会有悬垂图元(dangling faces, edges and vertices), 可表现不真实物体

    在这里插入图片描述
    欧拉定理

    VEFRHS
    verticesedgesfacesrings (inner loops on faces)passages/holes(genus)shells(disjoint bodies)

    对于任意流形:
    V - E + F - R + 2H = 2S
    V - E + F = 2

    B-Rep的实现:
    将拓扑表示为指针,图形表示为存储信息,即可在编程语言中实现
    在这里插入图片描述
    Baugmart’s winged edge data structure:
    The edge has pointers to the vertices at its ends, and to the next edges.
    The vertices have pointers to their coordinates (x, y, z)
    在这里插入图片描述
    Euler-operators欧拉算子:
    These modify the face-edge-vertex pointer structure in such a way that the Euler formula is always kept true.
    是一些数据操作,可以生成面,改变物体几何,使得欧拉公式保持为真

    Lab:
    什么是深度测试
    深度缓冲区(DepthBuffer)和颜色缓冲区(ColorBuffer)是对应的,颜色缓冲区是存储像素的颜色信息,而深度缓冲区存储像素的深度信息。在确定是否绘制一个物体表面的时候,首先要将表面对应的像素深度值与当前深度缓冲区中的值进行比较,如果大于深度缓冲区的值,则丢弃这部分。否则利用这个像素对应的深度值和颜色值分别更新深度缓冲区和颜色缓冲区,这个过程称为深度测试

    函数说明:

    1. void glEnable(GL_DEPTH_TEST)
    2. 用来开启更新深度缓冲区的功能,也就是,如果通过比较后深度值发生变化了,会进行更新深度缓冲区的操作。启动它,OpenGL就可以跟踪再Z轴上的像素,这样,它只会再那个像素前方没有东西时,才会绘画这个像素。
    3. void glColorMask(GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha);
      glColorMask指定是否可以写入帧缓冲区中的各个颜色分量。 例如,如果红色为GL_FALSE,则无论是否尝试绘制操作,都不会对任何颜色缓冲区中任何像素的红色分量进行任何更改。
    4. void glCullFace(GLenum mode); mode 指定应剔除多边形的哪一个面,不是GL_FRONT就是GL_BACK。
      本函数可以禁用多边形正面或背面上的光照、阴影和颜色计算及操作,消除不必要的渲染计算是因为无论对象如何进行旋转或变换,都不会看到多边形的背面。用GL_CULL_FACE参数调用glEnable()和glDisable()可以启用或禁用剔除。
    5. void glDepthMask(GLboolean flag);
      指定是否可以写入启用深度缓冲区。 如果flag为GL_FALSE,则禁用深度缓冲区写入。 否则,它可以启用。 初始状态为启用深度缓冲区写入。
    6. glEnable(GL_STENCIL_TEST);
      glStencilFunc(GL_ALWAYS, 0, 0);
      glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);

    week9 线性模型和层次化模型

    现实世界中没有原点,所有原点都是设出来的局部原点local origin:
    Local basis,Local transformation,Local/model frame of reference等操作都是相对于正在被处理的大世界的的局部原点而言。

    什么是local frame(局部框架):通过旋转由局部原点定义的局部框架,可以旋转所有基于此的世界
    什么是relative motion(相对运动):相对于局部原点的运动,(同时局部原点可能相对于更大的参考系而运动)

    Linear modelling

    从symbol(prototype)开始,作为一个实例instance,通过缩放定向和定位( scale, orient and position)来定义变换,以实现实例转变(instance transformation)

    什么是symbol:例如盒子,球体,茶壶,三棱锥等
    Copy和Instance的区别:copy创建一个与原型互不影响的克隆体,instance创建一个可影响原型的实例化对象。

    代码实现:
    Set up appropriate transformations from the model frame (frame of symbols) to the world frame
    在这里插入图片描述
    模型的存储:
    存储在一张表中,以给每个Symbol标号,并记录相对局部原点缩放旋转平移操作,表内不记录物体的实际结构
    在这里插入图片描述

    缺点:
    当遇到一个复杂的由多个部分组成的物体,没法确定部件之间的相对关系(因为该表每个标号代表的物件之间是毫不相关的)

    Hierarchical models

    考虑物件之间的相对关系后,易于讨论物件的摆放
    对象被分组到一个层次化的树结构中 —》 **Direct Acyclic Graph (DAG)**有向无环图
    在这里插入图片描述
    Articulated model铰接模型是层次化模型的一种应用,选取中心点作为根,各个可移动部件作为节点。限制各个零部件之间的自由移动角度(degrees of freedom (DOFs) )以约束模型姿态
    在这里插入图片描述

    层次变换Hierarchical transformations
    树中的每个节点代表所有在这个节点之下的节点的局部世界,对父节点进行变换,会影响其所有子节点。
    每个节点存储一个局部变换矩阵,维护相对于其父节点的变换。
    为了计算某一节点的世界空间矩阵,需要根据根节点至该节点的路径上的局部变换矩阵进行推导
    使用深度优先遍历计算所有节点的世界空间矩阵,进入子树时glPushMatrix(),退出时glPopMatrix()

    一些例子
    A:列举了一个机械操作臂的例子

    1. 机械臂和底座是绑定的
    2. 机械臂可以在基座上滑动平移
    3. 机械手和底座/机械臂是绑定的
    4. 此外机械手可以以机械臂为支撑点滑动平移。

    基于此,实现的opengl绘图函数
    因为东西太少,是度为1的树所以不必push和pop matrix

    在这里插入图片描述
    树结构在实现中,每个节点需要存储{指向该节点模型的绘图函数,对于父节点的变换矩阵,指向子节点的指针}

    B:举了一个机器人的例子,通过深度优先遍历每个部分,使用矩阵栈存储矩阵队列,采用出入栈代替一系列矩阵乘逆操作在这里插入图片描述

    week10

    光影和材质(MC党狂喜

    Lighting sources

    1. Point light 点光源:
      点光源的光线从光源位置向周围发散产生
    2. Directional light 平行光:
      也被称作定向光或无限距离光(directional light/ infinitely distant light),可理解为超远距离的点光源,光线从光源位置向物体近乎平行产生
    3. Spot lights 射灯:
      只会照射一定角度范围的灯,光线从光源位置在一定张角范围内产生(directional limits)。

    surface lighting effects

    表面照明效果surface lighting effects:光经过物体的反射,会产生方向,颜色上的变化。

    The effect is a general background non-directed illumination. Each object is displayed using an intensity intrinsic to it, i.e. a world of non-reflective, self-luminous object.
    Consequently each object appears as a monochromatic silhouette, unless its constituent parts are given different shades when the object is created.
    一般来说,光线在物体表面没有反射,物体自身向摄像机发射光线

    1. Ambient light 环境光:
      环境光分量(ambient component)指光经过环境中的各种表面反射,最终摄入摄像机的部分
      The light has been scattered so much by the environment that it is impossible to determine its direction - it seems to come from all directions.环境光的光线过于分散以至于没法区分方向,看起来来自四面八方
      户外的spot light的环境光分量十分少,大部分光线反射到远处而不是摄像机里。
    2. Diffuse reflectance 漫反射:
      光线由点光源向所有方向散射,根据材料漫反射系数,角度,光强度进行漫反射。
    3. Specular reflectance 镜面反射:
      摄像机处在反射出角路径上时,镜面反射强度达到最大值。如果是完美镜面,则只有在该路径上才能看到反射光

    Attenuation 光的衰减:
    平行光应当无衰减,点光源和位置光源应当按照距离进行衰减光强
    在这里插入图片描述

    什么是Lighting model 照明模型:
    用于计算对象表面上某个位置的颜色,使用指定曲面的各种光学特性(例如透明度、颜色反射系数和纹理参数)计算曲面的照明效果。
    对于曲面,可以高精度采样或低精度采样然后插值。
    曲面渲染方法(surface rendering method)使用来自照明模型的颜色计算来确定场景中所有投影位置的像素颜色。

    Phong model:

    是一个简化,计算快捷的照明模型,维护以下系数:
    在这里插入图片描述
    表示物体:
    漫反射Diffuse Lighting,镜面反射Specular Lighting,环境光Ambient Lighting
    光源,摄像机,面法线,完美反射系数

    表示点光源:
    Idr, Idg, Idb, Isr, Isg, Isb, Iar, Iag, Iab
    表示材料特性:

    1. 9 absorption coefficients:
      kdr, kdg, kdb, ksr, ksg, ksb, kar, kag, kab
    2. Shininess coefficient α

    计算三种光源到材质的结果:
    I = kd Id l · n + ks Is (v · r )α + ka Ia
    对于每个材质的采样点,叠加所有光源到该店的计算结果

    Polygonal Shading多边形着色

    又分为 顶点着色(Flat (constant) shading),平滑着色(Smooth (interpolative) shading),高洛德着色(Gouraud shading)
    他们的区别可以看这:各种着色

    材质 Material

    控制三个量:环境光,漫反射,镜面反射
    颜色通常由环境光,漫反射控制
    表面的高光通常由镜面反射控制

    光源和材质间的RGB

    if a light has components (RL, GL, BL), and a material has corresponding components (RM, GM, BM); then, ignoring all other reflectivity effects, the light that arrives at the eye is given by (RLRM, GLGM, BL*BM).

    Similarly, if two lights, (R1, G1, B1) and (R2, G2, B2) are sent to the eye, these components are added up, giving (R1+R2, G1+G2, B1+B2). 大于1的算作1

    week11 Texure Mapping

    什么是纹理贴图,纹理投影:
    The method for incorporating object detail into a scene is called texture mapping or pattern mapping.
    有时候需要将一个矩形纹理映射到非矩形区域中,投影在屏幕上的纹理也会因为各种变换而扭曲。
    在这里插入图片描述
    纹理贴图的种类:

    1. 纹理贴图 Texture Mapping 关于物体本身看起来外观
    2. 环境贴图 Environment Mapping 关于物体所处环境
    3. 凹凸贴图 Bump Mapping 关于物体本身的表面法向量

    纹理类型:

    1. 图像image:2d图像
    2. 程序procedural:程序生成纹理

    纹理中包含:

    四个RGBA分量,三个RGB分量,阴影的强度值,对颜色表的索引,或单个亮度值
    纹理数组中的单个值被称为texel

    Magnification and minification放大和缩小:
    放大:一个texel映射到多个pixel
    缩小:一个pixel被多个texel覆盖
    边界的越界需要对齐进行平均以拟合真实效果。
    在这里插入图片描述
    什么时候纹理映射:

    在rendering pipeline渲染管道的末尾。减少通过裁切的多边形,比较高效
    在这里插入图片描述

    投影中涉及到的坐标系:

    1. Parametric co-ordinates
      may be used to model curves and surfaces 识别建模曲面
    2. Texture co-ordinates
      used to identify points in the image to be mapped 识别被映射的贴图的点
    3. Object or world co-ordinates
      conceptually, where the mapping takes place 计算机世界中映射发生的位置
    4. Window co-ordinates
      where the final image is finally produced 图像窗口中最终图像的坐标

    在这里插入图片描述
    材质投影的方法:
    一般会想材质投影是建立三个各个维度上从二维贴图到三维曲面的映射函数,但这样很难找到一个完美的函数如x=x(s,t)来拟合。不妨反向投影backward mapping,渲染三维曲面时去找二维贴图上的点,s=s(x,y,z),不过这个函数也很难找。

    1. Cylindrical mapping
      先将材质投影到一个简单的中间面上(simple intermediate surface),然后,构造投影方程。
      在这里插入图片描述
    2. Spherical mapping,用于环境投影
      在这里插入图片描述
    3. Box mapping,适用于二维投影和环境投影
      在这里插入图片描述
    4. Second mapping二次投影
      从中间物体投影到真实物体
      在这里插入图片描述

    Aliaseing混叠:
    纹理的点采样可能会导致锯齿。
    在这里插入图片描述

    Area averaging面积采样
    可减少锯齿,但是会慢一点。把一个面积的纹理投影到曲面上,
    在这里插入图片描述

    opengl使用纹理

    opengl纹理和几何渲染是分开的,最后在fragment processor处合并
    三个步骤:

    1. Specify the texture
      • read or generate image
      • assign to texture
      • enable texturing
    2. Assign texture coordinates to vertices
      Proper mapping function is left to application
    3. Specify texture parameters
      • mode
      • filtering
      • wrapping

    week12 Clipping

    Clipping 裁切– Remove objects or parts of objects that are outside the clipping window.
    Rasterization光栅化 (scan conversion) – Convert high level object descriptions to pixel colours in the framebuffer.

    为什么需要裁切:
    光栅化耗费资源,创建的碎片越多,耗费资源越多。如果只光栅化实际可查看的内容,可以节省计算。
    在这里插入图片描述

    Rasterization meta algorithms

    讨论不透明物体的渲染:

    1. 对于每个显示器上的像素,确定投影到像素上的哪个对象最靠近摄影机,然后计算该像素的着色。
    2. 对于每个对象,确定它覆盖哪些像素并对这些像素进行着色–需要跟踪对象深度

    裁剪窗口与视口的区别:
    裁剪窗口选择渲染空间中的显示范围,视口指示显示器窗口内查看图像的位置。

    2D point clipping

    考虑点与裁切区域的包含与否
    在这里插入图片描述

    2D line clipping

    可以先考虑两个是否都在裁切区域内,如果有一个点不在或都不在,就应该考虑线中间某部分在裁切区域内–计算与裁切区域的两个交点

    爆算,联立方程得解,需要多个变量,要4步:
    在这里插入图片描述

    Cohen-Sutherland 2D line clipping:比爆算好

    为每个端点创建一个输出代码,其中包含该点相对于剪裁窗口的位置信息,使用两个端点的out codes来确定线相对于剪裁窗口的配置,如有必要,计算新的端点。

    分情况讨论:

    1. 两个端点都在裁切区域内-直接画
    2. 两个端点都在裁切区域外且在同一侧–忽略这些裁切区域外的点
    3. 一个在外,一个在内
      需要计算一个交点
    4. 两个都在外(线的部分可能在内)
      需要计算一个交点

    算法中的out code的定义:
    将平面切成9个区域,每个区域有自己的out code,【<x】【>x】【<y】【>y】
    在这里插入图片描述

    考虑五种情况:

    1. AB,outcode(A)=outcode(B)=0000 接受全部线段
    2. CD, outcode © = 0000, outcode(D) ≠ 0000
      计算交点,outcode中1的位置决定与哪条边相交,如果D点中有两个1,则需要计算两次交
    3. EF, outcode(E) AND cotcode(F) ≠ 0. 拒绝线段
    4. GH and IJ,这两种情况的out code相同,不全是0,取和结果也是0. 需要计算交点的outcode,重新执行算法

    算法还可以用于三维裁切,这种情况需要6bit状态码。

    Liang-Barsky (Parametric line formulation)

    如果有线的向量形式表现,可以求解两个方向上的交点的先后顺序考虑截断或拒绝线段。
    p(α) = (1-α)p1+ αp2, 0≤α≤1
    or two scale expressions
    x(α) = (1-α)x1+ αx2
    y(α) = (1-α)y1+ αy2
    在这里插入图片描述

    Plane-line intersections

    p(α) = (1-α)p1+ αp2, 0≤α≤1
    n⋅(p(α) – p0) = 0

    在这里插入图片描述

    Normalised form归一化

    是预裁剪的一部分,不过归一化后,将对右平行六面体裁切
    在这里插入图片描述

    多面体裁切

    对于多面体的裁切,有两种:

    1. One strategy is to replace non-convex (concave) polygons with a set of triangular polygons (a tessellation).
      在这里插入图片描述
    2. clipping as black box,依次考虑多面体中线的两个端点。

    pipieline clipping

    可以分别依次考虑窗口顶部裁切,底部裁切,右侧裁切,左侧裁切,每个方向设立一个裁切器
    在这里插入图片描述

    Bounding box

    对于复杂的多面形,可以设立一个边界框,来大概判断接受拒绝还是继续讨论
    在这里插入图片描述

    week13 Back-fave culling

    去除不可见的面与上周讲的裁切相似,都是在渲染管道前期尽可能去掉没用的区域,分为两种方法:Object-space methods and Image-space methods

    Object-space methods

    检测处在其他对象之前的对象,利于静态场景,较难抉择
    Determine which object are in front of others. Resize does not require recalculation; works for static scenes; may be difficult to determine.
    在多边形对象之间成对测试,复杂度O(n2)

    Painter’s algorithm:

    通过按照深度值对多边形排序,按从后到前的顺序渲染多边形,使位于其他物体之后的多边形只需简单绘制。
    首先需要按照深度值排序,复杂度O(nlogn)。
    在这里插入图片描述
    按照各个各个多边形到COP(Centre Of Projection)的距离,对齐排序。

    1. 一个维度重叠overlap,其他维度不重叠的物体可以被独立绘制
    2. 多个维度重叠
    3. 循环重叠cyclic overlap
    4. 插入penetration

    Back-face culling

    背面剔除把多边形的位置和方向与观察方向v进行比较,消除了背离摄影机的多边形(保留右手定则指向摄像头的多边形)。如果整个多边形朝向面背向于摄像机,则整个多边形面被删除
    单个物体检测过程:叉乘多边形上两非平行线,得向量n,n与视角向量v之间夹角如果在-90到90度之间,则称可见。如果对象坐标已经是相对摄像机坐标,则只需接下来比较z轴
    多个物体检测过程:对于每个多边形Pi,找到向量n,视角向量v,如果v·n<0,则消去该多边形
    在这里插入图片描述

    Image-space methods

    检测每个像素位置的可见对象,可用于动态场景
    Determine which object is visible at each pixel. Resize requires recalculation; Works for dynamic scenes.
    对于每个宽m高n像素后的k个多边形,找到距离摄像机最近的多边形所持的像素属性并绘制。复杂度O(nmk)

    Z-buffer algorithm

    设置一个二维数组内存,记录每个像素点的深度信息。深度将以0-1表示,从近裁剪平面到远裁剪平面
    最初,z-buffer被初始化为非常远的裁切平面。
    随后,对于每个多边形,我们知道其覆盖的像素属性,对于每个像素,计算其z-value深度,与z-buffer上相应的值比较。如果z-value小于已有值,则将这个新的像素属性覆盖现在的帧缓冲区里的像素,同时更新z-buffer这个位置的值。
    在这里插入图片描述

    Scan-line algorithm

    深度信息的变化公式a∆x + b∆y + c∆z = 0
    如果将沿着x轴扫描:
    在这里插入图片描述
    物体在扫描线处不重合,不需要深度信息。如果有物体在扫描线的位置重合,则需要深度信息。减少资源访问。

    Binary Spatial Partition (BSP) tree

    bsp二叉空间分割树
    尽可能减少物体以:

    1. reduce burden on pipeline
    2. reduce traffic on bus

    使用BSP数据结构

    bsp的介绍

    在这里插入图片描述
    过程:

    1. Choose polygon (arbitrary)
    2. Split the cell using the plane on which the polygon lies
    3. Continue until each cell contains only one polygon fragment
    4. Splitting planes could be chosen in other ways, but there is no efficient optimal algorithm for building BSP trees

    不难观察树左下角的节点一定在其右侧节点之前

    bsp的使用

    空间划分后绘制多面体的顺序(这里分割线成节点了:
    At each node (for back to front rendering):

    • Recurse down the side of the sub-tree that does not contain the viewpoint
      Test viewpoint against the split plane to decide the polygon
    • Draw the polygon in the splitting plane
      Paint over whatever has already been drawn
    • Recurse down the side of the tree containing the viewpoint
      在这里插入图片描述
    展开全文
  • 一、硬件类(Hardware) 二、软件类(Software) 三、网络类(Network) 四、其它 CPU(Center Processor Unit)中央处理单元 mainboard主板 RAM(random access memory)随机存储器(内存) ROM(Read Only Memory)只读存储器 ...
  • 操作系统概述.pptx

    2022-06-22 20:15:37
    一、什么是操作系统 操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源、是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 操作系统概述全文...
  • 出现此问题是因为虚拟机火墙中的域不允许,为了解决这个问题,我们需要可以利用图形管理firewalld的方式进行后面的操作,以此来让访问发布文件。 三、使用图形界面管理firewalld防火墙 1. 首先了解firewalld域中...
  • GPS、俄罗斯全球导航卫星系、欧洲伽利略导航卫星系统、中国北斗导航系统 2-2二维条形识别码的基本原理 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记 录数据符号信息的。
  • 管理员界面具有以下功能:授权管理员可以添加或删除与钥匙扣或卡有关的任何数据,以访问拒绝人员进入。管理员还具有通过保护系统密码来保护RFID读取器不受任何未经授权的人修改数据的好处。 如何在树莓派上运行考勤...
  • 图形学名词解释

    千次阅读 2011-10-16 23:21:28
    图形学名词解释  3D 三维(three dimension)。客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体。 3D modeling 3D建模。用三维坐标来描述物体的形状。在...
  • 最后夸一下这个厂,对待人才很有诚意,不像有的公司承诺给一个让你“无法拒绝”的薪资然后白菜的一批,而且真不怎么加班,喜欢物联网的同学可以考虑。 芯原微电子:9.16清水河笔试/9.17一上午5轮面试/9.18通过/9.21...
  • 物联网导论总结.doc

    2022-06-23 19:12:23
    设计传感器的硬件平台和软件程序时应注意几个方面:低成本与微型化、低功耗、灵 活性和扩展性、鲁棒性 8.传感器的分类(常见传感器):温度、湿度、压强、声音、烟、光、磁传感器。 9.操作系统:TinyOS ContikiOS 10...
  • 这种随机环境的含义是,操作系统不能 对所运行的程序的行为以及硬件设备的情况做出任何事先的假定。 操作系统的功能 1.处理机管理 进程管理的实质是对中央处理器进行管理,所以进程管理往往又被称为处理器管理。 (1)...
  • 然后,用户可以访问单个设备,也可以完全拒绝访问。 该权限窗口已经确保不良行为人不会使用此进行指纹识别,因为他们希望这样做而不提醒用户。此外,由于它使数据不可靠,因此无法保证用户每次都会给予许可。也不...
  • [译]Android图形系统 II 图形架构

    千次阅读 2015-11-09 09:44:22
    首 页 阅览室 馆友 我的图书馆 登录 注册 ...[译]Android图形系统 II 图形架构 收藏人:老匹夫     2015-06-30 | 阅: 转:
  • 中国娱乐网站的项目解决方案.doc
  • 信息化基础环境标准.doc
  • 信息化基础环境标准_(2).doc
  • linuxFTP服务器安全设置.pdf
  • 网站建设方案-娱乐网站策划书.pdf网站建设方案-娱乐网站策划书.pdf网站建设方案-娱乐网站策划书.pdf网站建设方案-娱乐网站策划书.pdf网站建设方案-娱乐网站策划书.pdf网站建设方案-娱乐网站策划书.pdf网站建设方案-...
  • Ubuntu-入门学习图文全攻略.doc
  • 嵌入式Linux系统开发教程 教学资料.rar
  • 计算机图形学课件,一本完整的电子书,有丰富的flash演示
  • Java EE图书管理系统测试计划Test Plan.pdfJava EE图书管理系统测试计划Test Plan.pdfJava EE图书管理系统测试计划Test Plan.pdfJava EE图书管理系统测试计划Test Plan.pdfJava EE图书管理系统测试计划Test Plan.pdf...
  • CVE-CWE概念与理解介绍

    2022-05-20 11:12:30
    CVE-CWE概念与理解介绍。什么是CVE?什么是CWE?他们之间的关联与评分标准。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,679
精华内容 5,071
关键字:

拒绝访问图形硬件